×

System and method for compressing video by allocating bits to image tiles based on detected intraframe motion or scene complexity

  • US 9,155,962 B2
  • Filed: 01/23/2009
  • Issued: 10/13/2015
  • Est. Priority Date: 12/10/2002
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method for hosting online applications or video games, performing video compression, and streaming video comprising:

  • receiving a request from a user for playing a low latency video game or executing an application;

    generating control signals from a client in response to an input device of the client being actuated by the user as the user is playing the low latency video game or using the application;

    receiving the control signals, the control signals transmitted over a network, at least a portion of which comprises a public network, as the user is playing the low latency video game or using the application;

    routing the control signals to a server on which the requested video game or application is being executed;

    responsively executing the low latency video game or application on the server to generate video output comprising a sequence of images of the low latency video game or application;

    compressing the sequence of images of the low latency video game or application to generate a compressed video stream, wherein compressing the sequence of images comprises the operations of;

    subdividing each of a sequence of images into a plurality of image portions;

    detecting motion across the sequence of images occurring at positions of each of the image portions;

    allocating the plurality of image portions to a first set of one or more image portions or to a second set of one or more image portions, wherein the frequency with which an image portion is allocated to the first set is based on the detected amount of motion at the position of each image portion across the sequence of images and a number of images that have been compressed since a particular image portion was in the first set of image portions;

    encoding image portions in the first set using a first type of encoding;

    encoding image portions in the second set using a second type of encoding; and

    wherein each image portion within each image of the sequence of images is encoded using a number of bits selected based on the detected amount of motion at the position of each image portion across the sequence of images;

    transmitting the compressed video stream to the client over the network,decompressing the compressed video stream on the client;

    rendering the sequence of video images on a display of the client;

    wherein the operations of generating the control signals, receiving the control signals transmitted over the network, routing the control signals to a server, executing the low latency video game or application on the server to generate the sequence of images, compressing the sequence of images, transmitting the compressed video stream, decompressing the compressed video stream on the client, and rendering the sequence of video images on the display are performed with a latency such that the user has the perception that the selected video game or application is responding instantly to the control signals;

    receiving feedback information from the client over the network, the feedback information usable to determine at least one characteristic of a communication channel between the server and the client; and

    in response to determining the at least one characteristic of the communication channel, then adjusting the compression of the video images while maintaining the latency such that the user has the perception that the selected video game or application is responding instantly to the control signals, wherein adjusting the compression comprises;

    adjusting the frequency with which an image portion is allocated to the first set based on the at least one characteristic of the communication channel; and

    adjusting the number of bits selected to encode each image portion based on the at least one characteristic of the communication channel.

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