System and method for selecting a video encoding format based on feedback data
First Claim
1. A computer-implemented method for processing instructions by an online video game hosting system comprising:
- receiving a control signal for a video game, the control signal being received by a server of the online video game hosting system, the control signal being transmitted from a client device to the server over a network;
executing the online video game by the server while receiving the control signal, the executing causes generation of a sequence of video frames;
encoding the sequence of video frames to generate a first compressed sequence of video frames and generate a second compressed sequence of video frames;
transmitting the first compressed sequence of video frames to the client device over the network for decoding by the client device to produce a first decoded sequence of video frames for displaying on a display of the client device;
receiving feedback information from the client device, the feedback information used to determine whether one or more of the first compressed sequence of video frames has been successfully decoded at the client device;
modifying the encoding of the sequence of video frames in response to the feedback information, wherein the second compressed sequence of video frames being generated with a quality that is independent of the feedback information received from the client device for the first compressed sequence of video frames; and
directing the second compressed sequence of video frames to a storage associated with the server and wherein the quality of the second compressed sequence of video frames is higher than a quality of the first compressed sequence of video frames.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for processing instructions by an online video game hosting system are provided. One example method includes receiving a control signal for a video game. The control signal is received by a server of the online video game hosting system, and the control signal is transmitted from a client device to the server over a network. Then, executing the online video game by the server while receiving the control signal. The executing causes generation of a sequence of video frames and encoding the sequence of video frames to generate a first compressed sequence of video frames and generate a second compressed sequence of video frames. Transmitting the first compressed sequence of video frames to the client device over the network for decoding by the client device to produce a first decoded sequence of video frames for displaying on a display of the client device. Receiving feedback information from the client device, the feedback information used to determine whether one or more of the first compressed sequence of video frames has been successfully decoded at the client device and modifying the encoding of the sequence of video frames in response to the feedback information. The second compressed sequence of video frames are directed to a storage associated with the server and wherein the quality of the second compressed sequence of video frames is higher than a quality of the first compressed sequence of video frames.
-
Citations
19 Claims
-
1. A computer-implemented method for processing instructions by an online video game hosting system comprising:
-
receiving a control signal for a video game, the control signal being received by a server of the online video game hosting system, the control signal being transmitted from a client device to the server over a network; executing the online video game by the server while receiving the control signal, the executing causes generation of a sequence of video frames; encoding the sequence of video frames to generate a first compressed sequence of video frames and generate a second compressed sequence of video frames; transmitting the first compressed sequence of video frames to the client device over the network for decoding by the client device to produce a first decoded sequence of video frames for displaying on a display of the client device; receiving feedback information from the client device, the feedback information used to determine whether one or more of the first compressed sequence of video frames has been successfully decoded at the client device; modifying the encoding of the sequence of video frames in response to the feedback information, wherein the second compressed sequence of video frames being generated with a quality that is independent of the feedback information received from the client device for the first compressed sequence of video frames; and directing the second compressed sequence of video frames to a storage associated with the server and wherein the quality of the second compressed sequence of video frames is higher than a quality of the first compressed sequence of video frames. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method for processing instructions by an online video game hosting system comprising:
-
receiving a first control signal for a video game, the first control signal being received by a server of the online video game hosting system, the first control signal being transmitted from a first client device to the server over a network; executing the online video game by the server while receiving the control signal, the executing causes generation of a sequence of video frames; encoding the sequence of video frames to generate a first compressed sequence of video frames and generate a second compressed sequence of video frames, wherein a quality of the second compressed sequence of video frames is higher than a quality of the first compressed sequence of video frames; transmitting the first compressed sequence of video frames to the first client device over the network for decoding by the first client device to produce a first decoded sequence of video frames for displaying on a first display of the first client device; directing the second compressed sequence of video frames to a storage associated with the server; receiving a second control signal by the server, the second control signal being from a second client device; retrieving the second compressed sequence of video frames from the storage in response to the second control signal; and transmitting the second compressed sequence of video frames to the second client device for decoding by the second client device to produce a second decoded sequence of video frames for display on a second display of the second client device, wherein the second client device is a spectating client device. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. An online video game hosting system comprising:
-
a hosting service including a server, the server for executing a video game while receiving a control signal for the video game, the control signal being from a first client device to the server over a network, wherein executing the video game includes; generating a sequence of video frames; encoding the sequence of video frames by a shared compression resource to generate a first compressed sequence of video frames and generate a second compressed sequence of video frames, wherein a quality of the second compressed sequence of video frames is higher than a quality of the first compressed sequence of video frames; transmitting the first compressed sequence of video frames to the first client device over the network for decoding by the first client device to produce a first decoded sequence of video frames for displaying on a first display of the first client device; directing the second compressed sequence of video frames to a delay buffer associated with the server; receiving a spectating request by the server, the spectating request being from a second client device, wherein the second client device is a spectating client device; retrieving the second compressed sequence of video frames from the delay buffer in response to the spectating request; and transmitting the second compressed sequence of video frames to the second client device for decoding by the second client device to produce a second decoded sequence of video frames for display on a second display of the second client device.
-
Specification