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 comprising:
- receiving control signals by a first server, the control signals received from a client device over a network to the first server, the control signals corresponding to user input from an input device of the client device being actuated by a user as the user is playing an online video game;
executing the video game on the first server at a first hosting service center in response to the received control signals to generate video output comprising sequences of video frames of the video game;
receiving feedback information by the first server, the feedback information received from the client device, the feedback information configured to be usable to determine whether data contained in the video frames or portions thereof has not been successfully received or decoded at the client device;
encoding each of the video frames or portions thereof including;
dividing each of the video frames into a plurality of tiles;
selecting one of the plurality of tiles according to the feedback information received by the first server;
encoding the selected one of the plurality of tiles using a first encoding format, the first encoding format being independent of previously encoded video frames;
encoding remaining ones of the plurality of tiles using a second encoding format, the second encoding format being dependent on a previously encoded video frame;
generating a sequence of low-latency video frames, each video frame having the encoded plurality of tiles;
transmitting the sequence of low-latency video frames or portions thereof by the first server over the network to the client device.
6 Assignments
0 Petitions
Accused Products
Abstract
A computer-implemented system and method are described for performing video compression. For example, a method according to one embodiment comprises: encoding a plurality of video frames or portions thereof according to a first encoding format; transmitting the plurality of encoded video frames or portions to a client device; receiving feedback information from the client device, the feedback information usable to determine whether data contained in the video frames or portions has not been successfully received and/or decoded; in response to detecting that a video frame or portion thereof has not been successfully received and/or decoded, encoding a video frame or portion thereof according to a second encoding format; and transmitting the video frames or portions thereof to the client device.
448 Citations
31 Claims
-
1. A computer-implemented method for performing video compression comprising:
-
receiving control signals by a first server, the control signals received from a client device over a network to the first server, the control signals corresponding to user input from an input device of the client device being actuated by a user as the user is playing an online video game; executing the video game on the first server at a first hosting service center in response to the received control signals to generate video output comprising sequences of video frames of the video game; receiving feedback information by the first server, the feedback information received from the client device, the feedback information configured to be usable to determine whether data contained in the video frames or portions thereof has not been successfully received or decoded at the client device; encoding each of the video frames or portions thereof including; dividing each of the video frames into a plurality of tiles; selecting one of the plurality of tiles according to the feedback information received by the first server; encoding the selected one of the plurality of tiles using a first encoding format, the first encoding format being independent of previously encoded video frames; encoding remaining ones of the plurality of tiles using a second encoding format, the second encoding format being dependent on a previously encoded video frame; generating a sequence of low-latency video frames, each video frame having the encoded plurality of tiles; transmitting the sequence of low-latency video frames or portions thereof by the first server over the network to the client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 31)
-
-
25. A system for playing an online video game comprising:
a hosting service center including a plurality of servers, the plurality of servers including a first server, the first server including; a memory system, a processor, a video frame encoder, the first server hosting and executing a video game according to a control signal received by the first server from a client device, the control signal corresponding to a user input to the client device, the client device coupled to the first server by a network, the first server configured to output a sequence of video frames of the executed video game and transmit to the client device, the first server configured to receive feedback information from the client device, the video frame encoder configured for encoding the sequence of video frames transmitted to the client device according to the feedback information wherein encoding the sequences of video frames includes; dividing each of the sequence of video frames into a plurality of tiles, selecting one of the plurality of tiles according to the feedback information received by the first server, encoding the selected one of the plurality of tiles using a first encoding format, the first encoding format being independent of previously encoded video frames, encoding remaining ones of the plurality of tiles using a second encoding format the encoded plurality of tiles , the second encoding format being dependent on a previously encoded video frame, and generating a sequence of low-latency video frames with the encoded plurality of tiles. - View Dependent Claims (28, 29, 30)
Specification