System and method for compressing video frames or portions thereof based on feedback information from a client device
First Claim
1. A computer-implemented method for performing video compression by an online video game service, comprising:
- receiving user input by a server, the user input received from a client device over a network established between the client device and the server, the user input being from an input device associated with the client device, the client device and the input device used to access the server to play a video game, the network including a communication channel between the client device and the server;
executing the video game on the server while receiving user input from the input device, the video game producing a video output including a sequence of video images of the video game;
encoding each of the sequence of video images in a video encoding resource of the server to generate a sequence of encoded video frames;
transmitting the sequence of encoded video frames by the server over the communication channel to the client device for decoding to produce a corresponding sequence of decoded video frames, the sequence of decoded video frames are configured to be rendered on a display device associated with the client device;
detecting a change in a communication channel characteristic of the communication channel, wherein the detected change is based on feedback information received by the server, the feedback information being received from the client device; and
dynamically adjusting a compression ratio for said encoding of the sequence of encoded video frames based on the detected change in the communication channel characteristic.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer-implemented system and method are described for performing video compression by an online video game service is provided. One example method includes receiving user input by a server and the user input is received from a client device over a network established between the client device and the server. The user input is from an input device associated with the client device and the client device and the input device are used to access the server to play a video game. The method further includes executing the video game on the server while receiving user input from the input device, and the video game produces a video output including a sequence of video images of the video game. Encoding each of the sequence of video images in a video encoding resource of the server to generate a sequence of encoded video frames and transmitting the sequence of encoded video frames by the server over the communication channel to the client device for decoding to produce a corresponding sequence of decoded video frames. The sequence of decoded video frames is configured to be rendered on a display device associated with the client device. The method further includes detecting a change in a communication channel characteristic of the communication channel, and the detected change is based on feedback information received by the server. The feedback information is received from the client device and dynamically adjusting a compression ratio for said encoding of the sequence of encoded video frames based on the detected change in the communication channel characteristic.
19 Citations
19 Claims
-
1. A computer-implemented method for performing video compression by an online video game service, comprising:
-
receiving user input by a server, the user input received from a client device over a network established between the client device and the server, the user input being from an input device associated with the client device, the client device and the input device used to access the server to play a video game, the network including a communication channel between the client device and the server; executing the video game on the server while receiving user input from the input device, the video game producing a video output including a sequence of video images of the video game; encoding each of the sequence of video images in a video encoding resource of the server to generate a sequence of encoded video frames; transmitting the sequence of encoded video frames by the server over the communication channel to the client device for decoding to produce a corresponding sequence of decoded video frames, the sequence of decoded video frames are configured to be rendered on a display device associated with the client device; detecting a change in a communication channel characteristic of the communication channel, wherein the detected change is based on feedback information received by the server, the feedback information being received from the client device; and dynamically adjusting a compression ratio for said encoding of the sequence of encoded video frames based on the detected change in the communication channel characteristic. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method for performing video compression by an online video game service, comprising:
-
receiving user input by a server, the user input received from a client device over a network established between the client device and the server, the user input being from an input device associated with the client device, the client device and the input device used to access the server to play a video game, the network including a communication channel between the client device and the server; executing the video game on the server while receiving user input from the input device, the video game producing a video output including a sequence of video images of the video game; encoding each of the sequence of video images in a video encoding resource of the server to generate a sequence of encoded video frames; transmitting the sequence of encoded video frames by the server over the communication channel to the client device for decoding to produce a corresponding sequence of decoded video frames, the sequence of decoded video frames are configured to be rendered on a display device associated with the client device; detecting a change in a communication channel characteristic of the communication channel, wherein the detected change is based on feedback information received by the server, the feedback information being received from the client device; and dynamically adjusting an image resolution of the sequence of encoded video frames based on the detected change in the communication channel characteristic; and transmitting an instruction to the client device to scale a display of each one of the sequence of decoded video frames having said adjusted image resolution to maintain an image size corresponding to the display device associated with the client device. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A computer-implemented method for performing video compression by an online video game service, comprising:
-
receiving user input by a server, the user input received from a client device over a network established between the client device and the server, the user input being from an input device associated with the client device, the client device and the input device used to access the server to play a video game, the network including a communication channel between the client device and the server; executing the video game on the server while receiving user input from the input device, the video game producing a video output including a sequence of video images of the video game; encoding each of the sequence of video images in a video encoding resource of the server to generate a sequence of encoded video frames; transmitting the sequence of encoded video frames by the server over the communication channel to the client device for decoding to produce a corresponding sequence of decoded video frames, the sequence of decoded video frames are configured to be rendered on a display device associated with the client device; determining a maximum data rate capacity of the communication channel by sending an increasingly greater data rate stream of the sequence of encoded video frames to the client device until at least one of a packet loss or an increased latency indicates the maximum data rate capacity of the communication channel has been exceeded; and continuing to transmit the sequence of encoded video frames during a session of playing the video game. - View Dependent Claims (17, 18, 19)
-
Specification