摘要:
A computer-implemented system and method are described for online gaming. For example, a system according to one embodiment comprises: a video game server receiving user inputs related to an online video game and responsively executing program code of the video game to render a sequence of video images; a first stream encoder to compress the sequence of video images and generate a live video stream during a live gaming session with a user of a client device, the first stream encoder receiving channel feedback signals from the client device and responsively adapting compression of the sequence of video images based on the channel feedback signals, the first stream encoder continually transmitting the live video stream to the client device during the live gaming session with the user; a second stream encoder to compress the sequence of video images at a specified video quality and/or compression ratio unrelated to the channel feedback signal during the live gaming session with the user, thereby generating a High Quality (HQ) video stream, the HQ video stream having a relatively higher video quality and/or lower compression ratio than the live video stream; and a storage device for storing the HQ video stream for subsequent playback to the user of the client device and to other users upon request.
摘要:
A computer-implemented system and method for performing video compression are described. 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 been successfully received and/or decoded; in response to detecting that one or more video frames or portions thereof have not been successfully received and/or decoded, determining a number of video frames or portions thereof which have not been successfully received and/or decoded and: (1) if the number of video frames or portions thereof which have not been successfully received and/or decoded is above a specified threshold, then encoding a new video frame or portion thereof according to a second encoding format, the second encoding format comprising a format which is not dependent on previously-transmitted video frames or portions thereof; or (2) if the number of video frames or portions thereof which have not been successfully received and/or decoded is below a specified threshold, then encoding a new video frame or portion thereof according to the first encoding format, the new video frame encoded to be dependent on a last known successfully received video frame or portion thereof; and transmitting the new video frame or portion thereof to the client device.
摘要:
A computer-implemented system and method for streaming video from a server to a client are described. For example, a method according to one embodiment comprises: receiving at the server a request for video content from the client; in response to the request, determining the hardware/software configuration of the client; generating and/or selecting a temporary decoder based on the hardware/software configuration of the client; transmitting the temporary decoder to the client, the client installing the temporary decoder; encoding and streaming the requested video content from the server to the client, the video content being encoded based on the capabilities of the temporary decoder, the video content being decoded by the temporary decoder and rendered on the client; detecting that the client has ended the session with the server; and in response to detecting that the client has ended the session, temporarily disabling and/or removing the temporary decoder from the client.
摘要:
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.
摘要:
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 one or more video frames or portions thereof have not been successfully received and/or decoded, then either encoding a new video frame or portion thereof according to a second encoding format or encoding the new video frame to be dependent on the last video frame or portion thereof known to have been successfully received and/or decoded, and: (1) if no forward error correction (FEC) coding is used to transmit the plurality of encoded video frames or portions, then encoding a new video frame or portion thereof using FEC coding; or (2) if a first FEC coding is used to transmit the plurality of encoded video frames or portions, then encoding a new video frame or portion thereof using a second FEC coding, the second FEC coding being a relatively stronger FEC coding than the first FEC coding; and transmitting the new video frame or portion thereof to the client device.
摘要:
A computer-implemented system and method for streaming video from a server to a client are described. For example, a method according to one embodiment comprises: receiving at the server a request for video content from the client; in response to the request, determining the hardware/software configuration of the client; generating and/or selecting a temporary decoder based on the hardware/software configuration of the client; transmitting the temporary decoder to the client, the client installing the temporary decoder; encoding and streaming the requested video content from the server to the client, the video content being encoded based on the capabilities of the temporary decoder, the video content being decoded by the temporary decoder and rendered on the client; detecting that the client has ended the session with the server; and in response to detecting that the client has ended the session, temporarily disabling and/or removing the temporary decoder from the client.
摘要:
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, the first encoding format being optimized for transmission to a client device over a current communication channel; transmitting the plurality of encoded video frames or portions to the client device over the communication channel; concurrently encoding the first plurality of video frames according to a second encoding format, the second encoding format having a relatively higher-quality compressed video and/or a lower compression ratio than the first encoding format; storing the first plurality of video frames encoded in the second encoding format on a storage device; and making the first plurality of video frames encoded in the second encoding format available to the client device and other client devices for playback of the video stream.
摘要:
A system and method for performing video compression and streaming video from an online hosted video game or application. The online hosted video game or application is streamed to the client with a latency such that the user has the perception that the selected video game or application is responding instantly to the control signals received from the client device. In addition, feedback information received from the client device is used to determine characteristics of a communication channel between a server and the client. The video stream encoding is adjusted based on the detected communication channel characteristics, while maintaining a latency such that the user has the perception that the selected video game or application is responding instantly.
摘要:
A computer-implemented system and method are described for managing the state of an online video game. For example, a method according to one embodiment comprises: initiating a new online video game in response to user input from a client device, the online video game being in a first state on a first server when initiated; executing the online video game on the server, thereby causing the online video game to enter into a second state; pausing or terminating the online video game; determining differences between the first state and the second state and generating difference data containing the differences; transmitting the difference data over a network to a second server, the second server; and recreating the second state from the difference data and the first state in response to user input indicating that the user wishes to resume the online video game and in response to the second server being selected as the server on which to execute the video game.
摘要:
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, the first encoding format being optimized for transmission to a client device over a current communication channel; transmitting the plurality of encoded video frames or portions to the client device over the communication channel; concurrently encoding the first plurality of video frames according to a second encoding format, the second encoding format having a relatively higher-quality compressed video and/or a lower compression ratio than the first encoding format; storing the first plurality of video frames encoded in the second encoding format on a storage device; and making the first plurality of video frames encoded in the second encoding format available to the client device and other client devices for playback of the video stream.