H04N19/179

COMPLEXITY AWARE ENCODING
20230027742 · 2023-01-26 ·

This disclosure describes systems, methods, and devices related to complexity aware encoding. A device may generate a list of encodes based on pairs of resolution and quantization parameters (QP) pairs associated with one or more video segments received from a source. The device may generate an estimated bit rate associated with the one or more video segments based on an analysis of the one or more video segments. The device may determine distortion values associated with the one or more video segments. The device may apply a weighting mechanism to the distortion values using the estimated bit rate. The device may select a subset of encodes based on the weighting mechanism. The device may perform the subset of encodes on the one or more video segments for transmission.

Load balancing method for video decoding in a system providing hardware and software decoding resources

A load balancing method for video decoding. The load balancing includes first determining which hardware devices are suitable for the new decoding process, and determining the current load of each of the suitable hardware devices. From the suitable devices potential devices are selected having a current load less than a threshold and overloaded devices are selected having a load greater than or equal to the threshold. If there are no suitable devices, then the decoding process is implemented by software decoding. If the list of potential hardware devices includes only one potential hardware device, then the decoding process is implemented on the hardware device. If the list of potential hardware devices includes more than one potential hardware device, then it is determined how many decoding processes are currently running on each potential hardware device, and the new decoding process is implemented on the potential hardware device having the fewest processes.

General constraint information syntax in video coding

A method of processing video data comprises performing a bitstream conformance process that determines whether a bitstream that comprises an encoded representation of the video data conforms to a video coding standard, wherein the bitstream conformance process determines that the bitstream does not conform to the video coding standard when at least one of: a chroma-related constraint flag is equal to 0 and when there are no chroma components for pictures in the bitstream, or an inter prediction-related constraint flag is equal to 0 when all slices of the bitstream are I slices.

Optimal multi-codec ABR ladder design

Techniques are disclosed for the creation of multi-codec encoding profiles (or encoding ladders), which define quality and bitrate for each of the streams made available to clients for streaming a video. In particular, optimization techniques may take into account a quality rate function of each of the codecs when determining the encoding ladder. Additional considerations may include a network bandwidth distribution and/or a distribution of client types.

BIT-RATE-BASED VARIABLE ACCURACY LEVEL OF ENCODING

This disclosure describes systems, methods, and devices related to bit-rate-based variable accuracy level encoding. A device may generate a list of encodes based on pairs of resolutions and quantization parameters (QP) associated with one or more video segments received from a source. The device may generate an estimated bit rate associated with the one or more video segments based on an analysis of the one or more video segments. The device may utilize an accuracy level of encoding for an encoder based on the estimated bit rate. The device may encode the one or more video segments based on the accuracy level of encoding.

BIT-RATE-BASED HYBRID ENCODING ON VIDEO HARDWARE ASSISTED CENTRAL PROCESSING UNITS

This disclosure describes systems, methods, and devices related to bit-rate-based hybrid encoding. A device may generate a list of encodes based on pairs of resolution and quantization parameters (QP) pairs associated with one or more video segments received from a source. The device may generate an estimated bit rate associated with the one or more video segments based on an analysis of the one or more video segments. The device may compare the estimated bit rate to a threshold. The device may switch between a software encoder and a hardware encoder based on the comparison of the estimated bit rate to the threshold. The device may encode each of the one or more video segments for transmission using the hardware encoder or the software encoder.

Optimizing and assigning video encoding ladders

Techniques are described for optimizing and assigning video encoding ladders.

Optimizing and assigning video encoding ladders

Techniques are described for optimizing and assigning video encoding ladders.

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.