Patent classifications
H04N19/154
Methods for providing access to recordings of game play and generation of custom camera views of the game play
A computer-implemented method is provided. The method includes executing a game application on one or more servers of a data center. The game application is for a game and the game is played by a first user of a first client device remote to the data center. The one or more servers interfaced with one or more encoders for compressing interactive video from the game application responsive to input from the first client device and streaming of the interactive video in a compressed format to the first client device for decompression and rendering to a display of the first client device. The method includes storing, at the data center, a recording of at least part of the game played by the first user using the first client device. The method includes storing, at the data center, state data for at least part of the game played by the first user using the first client device. The method includes generating a replay of the recording responsive to input from a second user device. The replay is generated with a different camera view from a camera view in the recording. The replay is executed using as input the state data.
Methods for providing access to recordings of game play and generation of custom camera views of the game play
A computer-implemented method is provided. The method includes executing a game application on one or more servers of a data center. The game application is for a game and the game is played by a first user of a first client device remote to the data center. The one or more servers interfaced with one or more encoders for compressing interactive video from the game application responsive to input from the first client device and streaming of the interactive video in a compressed format to the first client device for decompression and rendering to a display of the first client device. The method includes storing, at the data center, a recording of at least part of the game played by the first user using the first client device. The method includes storing, at the data center, state data for at least part of the game played by the first user using the first client device. The method includes generating a replay of the recording responsive to input from a second user device. The replay is generated with a different camera view from a camera view in the recording. The replay is executed using as input the state data.
DEVICE AND METHOD FOR DECODING VIDEO DATA
A method of decoding video data by an electronic device is provided. The electronic device determines a block unit from an image frame according to the video data. The electronic device determines, for the block unit, a first mode list including intra candidate modes selected from intra default modes, and predicts at least one template region adjacent to the block unit to generate template predictions based on intra template modes. Each of the intra template modes indicates one of the intra candidate modes and one of template reference lines, and the template reference lines include at least one template neighboring line nonadjacent to the at least one template region. The electronic device determines a template cost value between the at least one template region and each of the template predictions, and reconstructs the block unit based on a second mode list determined based on the template cost values.
Perceptual three-dimensional (3D) video coding based on depth information
A method for encoding a multi-view frame in a video encoder is provided that includes computing a depth quality sensitivity measure for a multi-view coding block in the multi-view frame, computing a depth-based perceptual quantization scale for a 2D coding block of the multi-view coding block, wherein the depth-based perceptual quantization scale is based on the depth quality sensitive measure and a base quantization scale for the 2D frame including the 2D coding block, and encoding the 2D coding block using the depth-based perceptual quantization scale.
Perceptual three-dimensional (3D) video coding based on depth information
A method for encoding a multi-view frame in a video encoder is provided that includes computing a depth quality sensitivity measure for a multi-view coding block in the multi-view frame, computing a depth-based perceptual quantization scale for a 2D coding block of the multi-view coding block, wherein the depth-based perceptual quantization scale is based on the depth quality sensitive measure and a base quantization scale for the 2D frame including the 2D coding block, and encoding the 2D coding block using the depth-based perceptual quantization scale.
Systems and methods for player input motion compensation by anticipating motion vectors and/or caching repetitive motion vectors
Systems and methods for reducing latency through motion estimation and compensation techniques are disclosed. The systems and methods include a client device that uses transmitted lookup tables from a remote server to match user input to motion vectors, and tag and sum those motion vectors. When a remote server transmits encoded video frames to the client, the client decodes those video frames and applies the summed motion vectors to the decoded frames to estimate motion in those frames. In certain embodiments, the systems and methods generate motion vectors at a server based on predetermined criteria and transmit the generated motion vectors and one or more invalidators to a client, which caches those motion vectors and invalidators. The server instructs the client to receive input from a user, and use that input to match to cached motion vectors or invalidators. Based on that comparison, the client then applies the matched motion vectors or invalidators to effect motion compensation in a graphic interface. In other embodiments, the systems and methods cache repetitive motion vectors at a server, which transmits a previously generated motion vector library to a client. The client stores the motion vector library, and monitors for user input data. The server instructs the client to calculate a motion estimate from the input data and instructs the client to update the stored motion vector library based on the input data, so that the client applies the stored motion vector library to initiate motion in a graphic interface prior to receiving actual motion vector data from the server. In this manner, latency in video data streams is reduced.
Per-Title Encoding Using Spatial and Temporal Resolution Downscaling
Techniques relating to per-title encoding using spatial and temporal resolution downscaling is disclosed. A method for per-title encoding includes receiving a video input comprised of video segments, spatially downscaling the video input, temporally downscaling the video input, encoding the video input to generate an encoded video, then temporally and spatially upscaling the encoded video. Spatially downscaling may include reducing a resolution of the video input, and temporally downscaling may include reducing a framerate of the video input. Objective metrics for the upscaled encoded video show improved quality over conventional methods.
Video encoding method, video decoding method, video encoding apparatus, and video decoding apparatus
A video encoding method of performing scalable encoding on input video includes: determining a total number of layers of the scalable encoding to be less than or equal to a maximum layer count determined according to a frame rate; and performing the scalable encoding on the input video to generate a bitstream, using the determined total number of layers.
Video encoding method, video decoding method, video encoding apparatus, and video decoding apparatus
A video encoding method of performing scalable encoding on input video includes: determining a total number of layers of the scalable encoding to be less than or equal to a maximum layer count determined according to a frame rate; and performing the scalable encoding on the input video to generate a bitstream, using the determined total number of layers.
Dynamic codec adaptation
Embodiments are described for dynamically adapting video encoding to maintain a nearly stable frame rate based on processor capabilities and bandwidth, for example, by varying a quantization parameter. The quality of the encoded video can be varied to maintain the nearly constant frame rate, which may be measured from the number of encoded video frames being transmitted over a network interface.