Patent classifications
H04N19/436
REGION SPECIFIC ENCODING AND SAO-SENSITIVE-SLICE-WIDTH-ADAPTATION FOR IMPROVED-QUALITY HEVC ENCODING
A method provides for encoding a frame of video using an edge map made up of one or more edge-blocks detected in the frame. When the edge-blocks are contiguous, at least one slice partition is formed using the edge-blocks and the slice partition is encoded using a sample adaptive offset (SAO) filter, wherein the slice partition is formed with an adaptive slice width, and the sample adaptive offset (SAO) filter is turned on or off during the encoding based on whether the edge-blocks are being encoded. When the edge-blocks are not contiguous, edge-block processing is performed around edges in the frame during encoding of the edge-blocks. The edge-block processing involves configuring one or more of: an intra block size, a transform block size, an inter prediction block size, a quantization parameter, candidate modes for intra prediction, pyramid level for motion estimation, and fractional pixel motion estimation search.
REGION SPECIFIC ENCODING AND SAO-SENSITIVE-SLICE-WIDTH-ADAPTATION FOR IMPROVED-QUALITY HEVC ENCODING
A method provides for encoding a frame of video using an edge map made up of one or more edge-blocks detected in the frame. When the edge-blocks are contiguous, at least one slice partition is formed using the edge-blocks and the slice partition is encoded using a sample adaptive offset (SAO) filter, wherein the slice partition is formed with an adaptive slice width, and the sample adaptive offset (SAO) filter is turned on or off during the encoding based on whether the edge-blocks are being encoded. When the edge-blocks are not contiguous, edge-block processing is performed around edges in the frame during encoding of the edge-blocks. The edge-block processing involves configuring one or more of: an intra block size, a transform block size, an inter prediction block size, a quantization parameter, candidate modes for intra prediction, pyramid level for motion estimation, and fractional pixel motion estimation search.
Lossless Compression for Multisample Render Targets Alongside Fragment Compression
Described herein is a data processing system having a multisample antialiasing compressor coupled to a texture unit and shader execution array. In one embodiment, the data processing system includes a memory device to store a multisample render target, the multisample render target to store color data for a set of sample locations of each pixel in a set of pixels; and general-purpose graphics processor comprising a multisample antialiasing compressor to apply multisample antialiasing compression to color data generated for the set of sample locations of a first pixel in the set of pixels and a multisample render cache to store color data generated for the set of sample locations of the first pixel in the set of pixels, wherein color data evicted from the multisample render cache is to be stored to the multisample render target.
Lossless Compression for Multisample Render Targets Alongside Fragment Compression
Described herein is a data processing system having a multisample antialiasing compressor coupled to a texture unit and shader execution array. In one embodiment, the data processing system includes a memory device to store a multisample render target, the multisample render target to store color data for a set of sample locations of each pixel in a set of pixels; and general-purpose graphics processor comprising a multisample antialiasing compressor to apply multisample antialiasing compression to color data generated for the set of sample locations of a first pixel in the set of pixels and a multisample render cache to store color data generated for the set of sample locations of the first pixel in the set of pixels, wherein color data evicted from the multisample render cache is to be stored to the multisample render target.
PARALLEL CODING USING HISTORY-BASED MOTION VECTOR PREDICTION WITH SHARED ROW BUFFERS
A method of video encoding includes, prior to encoding a first tile of s plurality of tiles of a current picture, initializing a shared row buffer that is shared among multiple processor threads associated with the first tile. The method also includes encoding a first unit of a plurality of units in a first row of the first tile by a first processor thread and using a corresponding first HMVP buffer. The method also includes, when all of the plurality of blocks in the first unit have been encoded, copying contents of the first HMVP buffer into the shared row buffer, copying contents of the shared row buffer into a second HMVP buffer, starting encoding of a unit in a second row of the plurality of rows by the second processor thread using the second HMVP buffer, and resetting the first HMVP buffer.
PARALLEL CODING USING HISTORY-BASED MOTION VECTOR PREDICTION WITH SHARED ROW BUFFERS
A method of video encoding includes, prior to encoding a first tile of s plurality of tiles of a current picture, initializing a shared row buffer that is shared among multiple processor threads associated with the first tile. The method also includes encoding a first unit of a plurality of units in a first row of the first tile by a first processor thread and using a corresponding first HMVP buffer. The method also includes, when all of the plurality of blocks in the first unit have been encoded, copying contents of the first HMVP buffer into the shared row buffer, copying contents of the shared row buffer into a second HMVP buffer, starting encoding of a unit in a second row of the plurality of rows by the second processor thread using the second HMVP buffer, and resetting the first HMVP buffer.
Ultra Light Models and Decision Fusion for Fast Video Coding
Ultra light models and decision fusion for increasing the speed of intra-prediction are described. Using a machine-learning (ML) model, an ML intra-prediction mode is obtained. A most-probable intra-prediction mode is obtained from amongst available intra-prediction modes for encoding the current block. As an encoding intra-prediction mode, one of the ML intra-prediction mode or the most-probable intra-prediction mode is selected, and the encoding intra-prediction mode is encoded in a compressed bitstream. A current block is encoded using the encoding intra-prediction mode. Selection of the encoding intra-prediction mode is based on relative reliabilities of the ML intra-prediction mode and the most-probable intra-prediction mode.
Ultra Light Models and Decision Fusion for Fast Video Coding
Ultra light models and decision fusion for increasing the speed of intra-prediction are described. Using a machine-learning (ML) model, an ML intra-prediction mode is obtained. A most-probable intra-prediction mode is obtained from amongst available intra-prediction modes for encoding the current block. As an encoding intra-prediction mode, one of the ML intra-prediction mode or the most-probable intra-prediction mode is selected, and the encoding intra-prediction mode is encoded in a compressed bitstream. A current block is encoded using the encoding intra-prediction mode. Selection of the encoding intra-prediction mode is based on relative reliabilities of the ML intra-prediction mode and the most-probable intra-prediction mode.
METHODS AND APPARATUS FOR PERFORMING REAL-TIME VVC DECODING
Apparatus and methods for implementing a real-time Versatile Video Coding (VVC) decoder use multiple threads to address the limitation with existing parallelization techniques and fully utilizes the available CPU computation resource without compromising on the coding efficiency. The proposed Multi-threaded (MT) framework uses CTU level parallel processing techniques without compromising on the memory bandwidth. Picture level parallel processing separates the sequence into temporal levels by considering the picture's referencing hierarchy. Embodiments are provided using various optimization techniques to achieve real-time VVC decoding on heterogenous platforms with multi-core CPUs, for those bitstreams generated using a VVC reference encoder with a default configuration.
METHODS AND APPARATUS FOR PERFORMING REAL-TIME VVC DECODING
Apparatus and methods for implementing a real-time Versatile Video Coding (VVC) decoder use multiple threads to address the limitation with existing parallelization techniques and fully utilizes the available CPU computation resource without compromising on the coding efficiency. The proposed Multi-threaded (MT) framework uses CTU level parallel processing techniques without compromising on the memory bandwidth. Picture level parallel processing separates the sequence into temporal levels by considering the picture's referencing hierarchy. Embodiments are provided using various optimization techniques to achieve real-time VVC decoding on heterogenous platforms with multi-core CPUs, for those bitstreams generated using a VVC reference encoder with a default configuration.