Abstract:
A device may determine, based on data in a bitstream, a luma sample (Y) of a pixel, a Cb sample of the pixel, and the Cr sample of the pixel. Furthermore, the device may obtain, from the bitstream, a first scaling factor and a second scaling factor. Additionally, the device may determine, based on the first scaling factor, the Cb sample for the pixel, and Y, a converted B sample (B) for the pixel. The device may determine, based on the second scaling factor, the Cr sample for the pixel, and Y, a converted R sample (R) for the pixel. The device may apply an electro-optical transfer function (EOTF) to convert Y, R, and B to a luminance sample for the pixel, a R sample for the pixel, and a B sample for the pixel, respectively.
Abstract:
In an example, method of encoding video data may include receiving a block of video data having a size. The method may include determining the size of the block of video data. The method may include disabling palette mode encoding for the block of video data based on the determined size of the block of video data.
Abstract:
Techniques are described for palette-based video coding. In palette-based coding, a video coder may form a "palette" as a table of colors for representing video data of a particular area. Rather than coding actual pixel values (or their residuals), the video coder may code palette index values for one or more of the pixels that correspond to entries in the palette representing the colors of the pixels. A palette may be explicitly encoded, predicted from previous palette entries, or a combination thereof. In this disclosure, techniques are described for coding a block of video data that has a single color value using a single color mode as a sub-mode of a palette coding mode. The disclosed techniques enable a block having a single color value to be coded with a reduced number of bits compared to a normal mode of the palette coding mode.
Abstract:
Techniques are described for palette-based video coding. In palette-based coding, a video coder may form a "palette" as a table of colors for representing video data of a particular area. Rather than coding actual pixel values (or their residuals), the video coder may code palette index values for one or more of the pixels that correspond to entries in the palette representing the colors of the pixels. A palette may be explicitly encoded, predicted from previous palette entries, or a combination thereof. In this disclosure, techniques are described for coding a block of video data that has a single color value using a single color mode as a sub-mode of a palette coding mode. The disclosed techniques enable a block having a single color value to be coded with a reduced number of bits compared to a normal mode of the palette coding mode.
Abstract:
Systems and methods for low complexity forward transforms using mesh-based calculations are described herein. One aspect of the subject matter described in the disclosure provides a video encoder comprising a memory configured to store video information. The video encoder further comprises a processor in communication with the memory. The processor is configured to decompose a transform into multiple transform stages. The processor is further configured to transform the video information using the multiple stages to determine a transform stage output at each transform stage. The processor is further configured to constrain the transform stage output at each transform stage to a predetermined bit depth. The processor is further configured to perform operations on the constrained transform output of a last stage of the multiple stages, wherein the operations are only available for use with data having the predetermined bit depth.
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:
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.
Abstract:
An apparatus for coding video information according to certain aspects includes a memory unit and a processor in communication with the memory unit. The memory unit stores video information associated with a reference layer and a corresponding enhancement layer. The processor determines a value of a video unit positioned at a position within the enhancement layer based at least in part on an intra prediction value weighted by a first weighting factor, wherein the intra prediction value is determined based on at least one additional video unit in the enhancement layer, and a value of a co-located video unit in the reference layer weighted by a second weighting factor, wherein the co-located video unit is located at a position in the reference layer corresponding to the position of the video unit in the enhancement layer. In some embodiments, the at least one of the first and second weighting factors is between 0 and 1.
Abstract:
This disclosure pertains to video coding. Prediction information for a current block in an enhancement layer may be determined based at least in part on base layer information obtained by coding a base block in a base layer beneath the enhancement layer. This base block may occur in a position in the base layer such that it is co-located with a non-causal block in the enhancement layer (e.g., a block that occurs after the current block in the coding order of the enhancement layer). The prediction information determined for the current block may be used to code the current block (e.g., encoding or decoding the current block).
Abstract:
A video decoder determines whether a first condition is satisfied. The first condition is satisfied when any sibling residual quad tree (RQT) node of a current RQT node is associated with a significant luma coefficient block. In addition, the video decoder determines whether a second condition is satisfied. The second condition is satisfied when a chroma transform block of a parent RQT node of the current RQT node is significant and is split along with a luma transform block of the parent RQT node. In response to determining that neither the first nor the second condition is satisfied, the video decoder determines that a luma coded block flag (CBF) for the current RQT node is omitted from the bitstream.