Abstract:
To encode video data, a video encoder partitions a 2N×2N block of video data into four N×N blocks, determines encoding modes for each of the four N×N blocks, calculates values representative of encoded versions of the four N×N blocks using the encoding modes for each of the four N×N blocks, determines whether to skip testing of at least one non-square partitioning mode for the 2N×2N block based on the calculated values, and encodes the 2N×2N block based at least in part on the determination of whether to skip testing of the at least one non-square partitioning mode.
Abstract:
This disclosure provides systems and methods for low complexity quarter pel generation in motion search for video coding. The method can include storing full-pixel position information related to a plurality of rows of video information of a reference frame in a memory. The method can also include applying a vertical interpolation filter to the full-pixel position information for video information related to the reference frame to determine a first sub-pel position information. The method can also include applying a horizontal interpolation filter to the first sub-pel position information to determine a second sub-pel position information for the every other row of video data. The method can also include generating a syntax element indicating pixel motion of a current frame based on the first sub-pel position information. The method can also include encoding a block based on the generated syntax element.
Abstract:
Systems and methods for low complexity forward transforms using zeroed-out coefficients are described herein. One aspect of the subject matter described in the disclosure provides a video encoder comprising a memory configured to store a video block. The video encoder further comprises a processor in communication with the memory. The processor is configured to determine a full power value of the video block. The processor is further configured to determine a reduced transform coefficient matrix, wherein the reduced transform coefficient matrix comprises an inner region of zero or non-zero values of the same inner region of a full transform coefficient matrix and an outer region of zero values, wherein the reduced transform coefficient matrix and the full transform coefficient matrix have the same size. The processor is further configured to determine a partial power value of the video block using the reduced transform coefficient matrix. The processor is further configured to transform the video block from a pixel domain to a coefficient domain using the reduced transform coefficient matrix based on the full power value and partial power value. The processor is further configured to encode the transformed video block.
Abstract:
In some embodiments of a video coder, if some prediction information is not available for a first block in a current layer, the video coder uses corresponding information (e.g., intra prediction direction and motion information), if available, from the first block's co-located second block in the base layer as if it were the prediction information for the first block. The corresponding information can then be used in the current layer to determine the prediction information of succeeding blocks in the current layer.
Abstract:
An apparatus for coding video information according to certain aspects is disclosed. Multi-layer video steams including a base layer and an enhancement layer can be coded. Predictors generated for the base layer and the enhancement layer can be combined to form a final predictor of the enhancement layer. Each predictor can be weighted such that those predictors which are more likely to produce high quality results can be factored more heavily in the final predictor. The conditions upon which the respective weights for enhancement layer predictors and base layer predictors are determined may be implicitly derived from the predictors or characteristics thereof. Alternatively, data may be generated explicating indicating the weights or providing information from which the weights can be determined.
Abstract:
An apparatus for coding video data using a single-loop decoding approach may include a memory unit and a processor in communication with the memory unit. In an example, the memory unit stores the video data, the video data including a base layer and an enhancement layer. The base layer includes a base layer block, a non-constrained INTRA mode block, and an INTER mode block. The base layer block includes a sub-block located at least partially within one of the non-constrained INTRA mode block or the INTER mode block. The enhancement layer includes an enhancement layer block located at a position in the enhancement layer corresponding to a position of the base layer block in the base layer. The processor approximates pixel values of the sub-block and determines, based at least in part on the approximated pixel values, pixel values of the enhancement layer block.
Abstract:
Systems and methods for low complexity encoding and background detection are described herein. One aspect of the subject matter described in the disclosure provides a video encoder comprising a memory configured to store a video block. The video encoder further comprises a processor in communication with the memory. The processor is configured to determine whether the video block is background by comparing the video block to a corresponding block located in a previous temporal frame. The processor is further configured to determine, when the video block is not background, whether one or more sub-blocks of the video block are background by comparing the sub-blocks to corresponding sub-blocks located in the previous temporal frame.
Abstract:
Techniques for coding video data include coding sample adaptive offset (SAO) offset values as part of performing a video coding process. In particular, the techniques include determining the SAO offset values according to a SAO process. The techniques further include storing a codebook defining a plurality of codes for coding different variations of SAO offset values. The techniques also include coding the SAO offset values in accordance with the codebook so as to specify the SAO offset values as one of the plurality of codes defined by the codebook.