×

System and method for compressing video based on latency measurements and other feedback

  • US 9,192,859 B2
  • Filed: 08/07/2009
  • Issued: 11/24/2015
  • Est. Priority Date: 12/10/2002
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method for performing video compression and delivery of video from an online hosted video game comprising:

  • receiving a request by a first server from a client device over a network for playing a low latency video game at a hosting service center comprised of a plurality of hosting servers including the first server;

    receiving control signals by the first server, the control signals being received from the client device over the network to a first the first server, the control signals indicating user input to the client device as the user is playing the video game and responsively executing the video game by the first server to generate video output comprising sequences of video images of the video game;

    detecting an initial channel characteristic of a first network communication channel between the first server and the client device, the initial channel characteristic including a detected latency and a supported data rate of the first network communication channel;

    encoding the video output to generate a first plurality of compressed video frames or portions thereof based on the initial channel characteristic;

    transmitting the first plurality of compressed video frames or portions thereof to the client device over the first network communication channel, the compressed video frames or portions thereof configured to be decoded by a decoder on the client device and configured to be rendered on the client device as the user plays the video game;

    wherein the operations of receiving control signals by the first server, executing the video game, encoding the video output and transmitting the first plurality of compressed video frames to the client device, and decoding the first plurality of compressed video frames on the client device is performed with a latency such that the user has the perception that the selected video game is responding instantly to the control signals received from the client device;

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

    encoding the video output to generate a second plurality of compressed video frames or portions thereof based on the current channel characteristic, the second plurality of video frames being compressed differently than the first plurality of video frames based on the differences between the initial channel characteristic and the current channel characteristic;

    transmitting the second plurality of compressed video frames or portions thereof to the client device over the first network communication channel, the second plurality of compressed video frames or portions thereof being configured to be decoded by the decoder on the client device and configured to be rendered by the client device as the user plays the video game;

    wherein the operations of receiving control signals by the first server, executing the video game, encoding the video output to generate the second plurality of compressed video frames and transmitting the second plurality of compressed video frames to the client device over the first network communication channel, and decoding the second plurality of compressed video frames on the client device is also performed with the latency such that the user has the perception that the selected video game is responding instantly to the control signals received from the client device; and

    wherein transmitting the first plurality of compressed video frames and the second plurality of compressed video frames includes mitigating a channel bandwidth peak by distributing large compressed video frames over a sequence of successive frame times including dividing each one of the lame compressed video frames into a plurality of tiles including at least one I tile and at least one P tile and all of the remaining tiles of the plurality of tiles being only P tiles.

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