×

Temporary decoder apparatus and method

  • US 9,061,207 B2
  • Filed: 08/07/2009
  • Issued: 06/23/2015
  • Est. Priority Date: 12/10/2002
  • Status: Expired due to Term
First Claim
Patent Images

1. A computer-implemented method for streaming video from a server to a client comprising:

  • receiving at the server a request for playing a low latency video game or application from the client over a network which includes public network components;

    in response to the request, establishing a video game or application session with the client, determining the hardware/software configuration of the client and executing the requested video game or application on the server;

    generating and/or selecting a temporary decoder based on the hardware/software configuration of the client;

    transmitting the temporary decoder to the client, the client installing the temporary decoder;

    receiving control signals transmitted from the client indicating user input to the client as the user is playing the video game or using the application and responsively executing the video game or application on the server to generate uncompressed video images output from the video game or application;

    receiving feedback information over the network, the feedback information usable to determine current channel characteristics of a communication channel between the first server and the client over the network;

    encoding the uncompressed video images using encoding parameters selected based on the detected channel characteristics and the capabilities of the temporary decoder on the client to generate low latency compressed video images, the encoding parameters selected to achieve a latency such that the user has the perception that the selected video game or application is responding instantly to the control signals, wherein the encoding comprises;

    subdividing each uncompressed video image into a first set of one or more frame portions and a second set of one or more frame portions, wherein the total number of frame portions depends upon the encoding parameters, and the particular frame portions in the first set and particular frame portions in the second set depend upon the encoding parameters and the number of video images that have been compressed since a particular frame portion was in the first set of frame portions;

    encoding frame portions in the first set using a first type of encoding, wherein the first type of encoding is not dependent on prior images or frame portions;

    encoding frame portions in the second set using a second type of encoding, wherein the second type of encoding is dependent on prior images or frame portions;

    wherein subdividing each video image into frame portions and encoding the first set of frame portions using the first encoding format and the second set of frame portions using the second encoding format produces a more consistent bitrate for the video images and lower latency for the end user than if entire video images were compressed using the first type of encoding and the second type of encoding;

    transmitting the low latency compressed video images from the server to the client over the network, the low latency video stream being decoded by the temporary decoder and rendered on the client;

    wherein the operations of receiving control signals transmitted from the client, executing the video game or application to generate the uncompressed video images, encoding the uncompressed video images to generate low latency compressed video images and streaming the low latency compressed video images to the client over the network which includes public network components, and decoding the low latency compressed video images is performed with a combined latency such that the user has the perception that the selected video game or application is responding instantly to the control signals received from the client, the combined latency being achieved, at least in part, based on the encoding parameters;

    detecting that the client has ended the session with the server; and

    in response to detecting that the client has ended the session, temporarily disabling and/or removing the temporary decoder from the client.

View all claims
  • 6 Assignments
Timeline View
Assignment View
    ×
    ×