Abstract:
Methods, systems and computer program products that may improve the efficiency of the video encoding process. Mode decision processing and bit stream packing may be performed in parallel for various frames in a sequence. This reduces the amount of idle time for both the mode decision processing logic and the bit stream packing logic, improving the overall efficiency of the video encoder.
Abstract:
Described herein are techniques related to motion estimation for video encoding. In particular, integer estimation is performed on a reference video frame, and a best size macro block is determined. A fractional estimation is performed on that best size macro block. Based on the fractional estimation, a determination is made if an improvement occurs over the macro block from the integer estimation. If such an improvement occurs, then all sub shapes of the best size macro block from the integer search/estimation are updated. Furthermore, the new sub macro block is chosen as the final macro block to be used for video encoding.
Abstract:
Described herein are techniques related to motion and quality adaptive rolling intra (I) macro-block (MB) that is used to encode a particular image frame. In particular, the rolling I MB configuration may be based upon global motion direction, quantization parameter (QP) value, complexity based roll, and/or QP saturation based roll.
Abstract:
Methods, systems and computer program products that may improve the efficiency of the video encoding process. Mode decision processing and bit stream packing may be performed in parallel for various frames in a sequence. This reduces the amount of idle time for both the mode decision processing logic and the bit stream packing logic, improving the overall efficiency of the video encoder.
Abstract:
Described herein are techniques related to motion estimation for video encoding. In particular, integer estimation is performed on a reference video frame, and a best size macro block is determined. A fractional estimation is performed on that best size macro block. Based on the fractional estimation, a determination is made if an improvement occurs over the macro block from the integer estimation. If such an improvement occurs, then all sub shapes of the best size macro block from the integer search/estimation are updated. Furthermore, the new sub macro block is chosen as the final macro block to be used for video encoding.
Abstract:
Described herein are techniques related to motion and quality adaptive rolling intra (I) macro-block (MB) that is used to encode a particular image frame. In particular, the rolling I MB configuration may be based upon global motion direction, quantization parameter (QP) value, complexity based roll, and/or QP saturation based roll.
Abstract:
Systems, devices and methods are described including applying nonlinear scaling to a current image frame and a reference image frame to generate at least a corresponding current image layer and a corresponding reference image layer. Hierarchical motion estimation may then be performed using the nonlinearly scaled image layers. Further, source block size may be adaptively determined in a downsampled image layer and hierarchical motion estimation may be performed using the adaptively sized source blocks.
Abstract:
Systems, devices and methods are described for performing hierarchical motion estimation by downsampling a current frame to generate a downsampled current frame, specifying a downsampled block in the downsampled current frame, where the downsampled block corresponds to a block of the current frame, and specifying a source block associated with the downsampled block, where the source block is larger than the downsampled block. Motion estimation may then be performed in a downsampled reference frame using the source block.
Abstract:
Systems, devices and methods are described including applying nonlinear scaling to a current image frame and a reference image frame to generate at least a corresponding current image layer and a corresponding reference image layer. Hierarchical motion estimation may then be performed using the nonlinearly scaled image layers. Further, source block size may be adaptively determined in a downsampled image layer and hierarchical motion estimation may be performed using the adaptively sized source blocks.
Abstract:
Systems, devices and methods are described including using a motion search engine of a video encoder to obtain search results for a motion predictor where the search results include a best motion vector result for each of a set of macroblock and/or sub-macroblock shape candidates of a source macroblock. The engine may then provide the search results including motion vector results for all the shape candidates as output to a motion search controller. The controller may then provide the first search results back to the search engine when the controller requests that the engine obtain second search results for another motion predictor. When doing so, the engine may use the first search results as initial conditions for performing a motion search using the other motion predictor.