Tile-based system and method for compressing video
First Claim
1. A computer-implemented method comprising:
- receiving at a server a request for playing a low latency video game or executing an application over a network, at least a portion of which includes public network components;
in response to the request, establishing a video game or application session;
generating control signals at a client in response to an input device of the client being actuated by a user as the user is playing the low latency video game or using the application;
transmitting the control signals from the client to the server;
receiving the control signals at the server indicating user input as the user is playing the video game or using the application and responsively executing the video game or application on the server to generate video output comprising sequences of video images of the video game or application;
detecting channel characteristics of a communication channel between the server and the client over the network;
encoding the video output using low latency compression on the server to generate a low latency sequence of compressed video images, the video output encoded at a bitrate or compression ratio based on the detected channel characteristics, wherein the low latency compression comprises;
subdividing each video image of a sequence of video images of the video output into a first set of one or more image portions and a second set of one or more 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;
analyzing the sequences of video images to detect motion and responsively sequencing certain image portions with the first type of encoding more frequently than other image portions based on detected motion within the image portions;
wherein subdividing each video image into image portions and encoding the first set of image portions using the first encoding format and the second set of image portions using the second encoding format produces a more consistent bitrate for the video images and lower latency for the end user than if entire video images were compressed using the first type of encoding and the second type of encoding;
transmitting the low latency sequence of compressed video images from the server to the client over the network, the low latency sequence of compressed video images being decoded by a decoder on the client and rendered on a display of the client;
wherein the operations of generating and transmitting the control signals, receiving the control signals, executing the video game or application, encoding and transmitting the low latency sequence of compressed video images to the client over the network, and decoding and rendering the low latency video stream on a display of the client is 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.
5 Assignments
0 Petitions
Accused Products
Abstract
A system and method are described below for encoding interactive low-latency video using interframe coding. For example, one embodiment of a computer-implemented method for performing video compression comprises: logically subdividing each of a sequence of images into a plurality of tiles, each of the tiles having a defined position within each of the sequence of images, the defined position remaining the same between successive images; encoding one of the tiles at a first defined position in a first image of the sequence of images using a first compression format and encoding the reminder of the tiles in the first image using the second compression format; and encoding one of the tiles at a second defined position in a second image of the sequence of images using the first compression format and encoding the reminder of the tiles in the first image using the second compression format; wherein the second compression format is dependent on previously-encoded tiles encoded according to the first compression format and/or the second compression format.
-
Citations
44 Claims
-
1. A computer-implemented method comprising:
-
receiving at a server a request for playing a low latency video game or executing an application over a network, at least a portion of which includes public network components; in response to the request, establishing a video game or application session; generating control signals at a client in response to an input device of the client being actuated by a user as the user is playing the low latency video game or using the application; transmitting the control signals from the client to the server; receiving the control signals at the server indicating user input as the user is playing the video game or using the application and responsively executing the video game or application on the server to generate video output comprising sequences of video images of the video game or application; detecting channel characteristics of a communication channel between the server and the client over the network; encoding the video output using low latency compression on the server to generate a low latency sequence of compressed video images, the video output encoded at a bitrate or compression ratio based on the detected channel characteristics, wherein the low latency compression comprises; subdividing each video image of a sequence of video images of the video output into a first set of one or more image portions and a second set of one or more 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; analyzing the sequences of video images to detect motion and responsively sequencing certain image portions with the first type of encoding more frequently than other image portions based on detected motion within the image portions; wherein subdividing each video image into image portions and encoding the first set of image portions using the first encoding format and the second set of image portions using the second encoding format produces a more consistent bitrate for the video images and lower latency for the end user than if entire video images were compressed using the first type of encoding and the second type of encoding; transmitting the low latency sequence of compressed video images from the server to the client over the network, the low latency sequence of compressed video images being decoded by a decoder on the client and rendered on a display of the client; wherein the operations of generating and transmitting the control signals, receiving the control signals, executing the video game or application, encoding and transmitting the low latency sequence of compressed video images to the client over the network, and decoding and rendering the low latency video stream on a display of the client is 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. - 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)
-
-
25. A computer-implemented system comprising:
-
a client for receiving input signals from a user indicating that the user wishes to play an online video game or execute an online application; a server receiving a request from the client over a network, at least a portion of which includes public network components to play the online video game or execute the application; the server, in response to the request, establishing a video game or application session with the client; the client generating control signals 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; the client transmitting the control signals to the server; the server receiving control signals transmitted from the client or another client indicating user input to the client or other client as the user is playing the video game or using the application and responsively executing the video game or application on the server to generate video output comprising sequences of video images of the video game or application; the server detecting channel characteristics of a communication channel between the server and the client over the network and encoding the video output using low latency compression on the server to generate a low latency sequence of compressed video images, the video output encoded at a bitrate or compression ratio based on the detected channel characteristics; wherein the low latency compression comprises;
lay an online video game or execute an online application;subdividing each video image of a sequence of video images of the video output into a first set of one or more image portions and a second set of one or more 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; analyzing the sequences of video images to detect motion and responsively sequencing certain image portions with the first type of encoding more frequently than other image portions based on detected motion within the image portions; wherein subdividing each video image into image portions and encoding the first set of image portions using the first encoding format and the second set of image portions using the second encoding format produces a more consistent bitrate for the video images and lower latency for the end user than if entire video images were compressed using the first type of encoding and the second type of encoding; the server transmitting the low latency sequence of compressed video images from the server to the client over the network, the low latency sequence of compressed video images being decoded by a decoder on the client and rendered on a display of the client; wherein the operations of generating and transmitting the control signals, receiving the control signals, executing the video game or application, encoding and transmitting the low latency sequence of compressed video images to the client over the network, and decoding and rendering the low latency video stream on a display of the client is 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. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
Specification