Abstract:
This disclosure proposes techniques for motion vector scaling. In particular, this disclosure proposes that both an implicit motion vector scaling process (e.g., the POC-based motion vector scaling process described above), as well as an explicit motion vector (e.g., a motion vector scaling process using scaling weights) may be used to perform motion vector scaling. This disclosure also discloses example signaling methods for indicating the type of motion vector scaling used.
Abstract:
A video encoder generates a first and a second candidate list. The first candidate list includes a plurality of motion vector (MV) candidates. The video encoder selects, from the first candidate list, a MV candidate for a first prediction unit (PU) of a coding unit (CU). The second MV candidate list includes each of the MV candidates of the first MV candidate list except the MV candidate selected for the first PU. The video encoder selects, from the second MV candidate list, a MV candidate for a second PU of the CU. A video decoder generates the first and second MV candidate lists in a similar way and generates predictive sample blocks for the first and second PUs based on motion information of the selected MV candidates.
Abstract:
The techniques described in this disclosure may be generally related to identifying when motion vector difference (MVD) is skipped for one or both reference picture lists. The techniques may further relate to contexts for signaling MVD values. The techniques may also be related to syntax that indicates when at least one of the MVD values is zero.
Abstract:
In an example, aspects of this disclosure relate to a method for coding video data that includes predicting a first non-square partition of a current block of video data using a first intra-prediction mode, where the first non-square partition has a first size. The method also includes predicting a second non-square partition of the current block of video data using a second intra-prediction mode, where the second non-square partition has a second size different than the first size. The method also includes coding the current block based on the predicted first and second non-square partitions.
Abstract:
A video encoding device is configured to obtain an N by N array of residual values for a luma component and a corresponding N/2 by N array of residual values for a chroma component. The video encoding device may partition the N/2 by N array of residual values for the chroma component into two N/2 by N/2 sub-arrays of chroma residual values. The video encoding device may further partition the sub-arrays of chroma residual values based on the partitioning of the array of residual values for the luma component. Video encoding device may perform a transform on each of the sub-arrays of chroma residual values to generate transform coefficients. A video decoding device may use data defining sub-arrays of transform coefficients to perform a reciprocal process to generate residual values.
Abstract:
Techniques for coding video data include coding a plurality of blocks of video data, wherein at least one block of the plurality of blocks of video data is coded using a coding mode that is one of an intra pulse code modulation (IPCM) coding mode and a lossless coding mode. In some examples, the lossless coding mode may use prediction. The techniques further include assigning a non-zero quantization parameter (QP) value for the at least one block coded using the coding mode. The techniques also include performing deblocking filtering on one or more of the plurality of blocks of video data based on the coding mode used to code the at least one block and the assigned non-zero QP value for the at least one block.
Abstract:
This disclosure proposes techniques to allow more flexibility in filtering chroma components in the adaptive loop filter. In one example, a method for adaptive loop filtering includes performing luma adaptive loop filtering based for luma components of a block of pixels, and performing chroma adaptive loop filtering for chroma components of the block of pixels, wherein filter coefficients for both the luma adaptive loop filtering and chroma adaptive loop filtering are derived from a block-based mode or a region-based mode. The method may further include determining to perform luma adaptive loop filtering on the block of pixels, and determining to perform chroma adaptive loop filtering on the block of pixels, wherein the determining to perform chroma adaptive loop filtering is performed independently of determining to perform luma adaptive loop filtering.
Abstract:
A video coder can be configured to determine an intra-prediction mode for a block of video data, identify a most probable transform based on the intra-prediction mode determined for the block of video data, and code an indication of whether the most probable transform is a transform used to encode the block of video data. The most probable transform can be a non-square transform.
Abstract:
This disclosure describes techniques for coding significant coefficient information for a video block in a transform skip mode. The transform skip mode may provide a choice of a two-dimensional transform mode, a horizontal one-dimensional transform mode, a vertical one-dimensional transform mode, or a no transform mode. In other cases, the transform skip mode may provide a choice between a two-dimensional transform mode and a no transform mode. The techniques include selecting a transform skip mode for a video block, and coding significant coefficient information for the video block using a coding procedure defined based at least in part on the selected transform skip mode. Specifically, the techniques include using different coding procedures to code one or more of a position of a last non-zero coefficient and a significance map for the video block in the transform skip mode.
Abstract:
An example device for accessing image data includes a memory configured to store image data, the memory comprising a first region and a second region, and one or more processing units implemented in circuitry and configured to code most significant bits (MSBs) of a plurality of residuals of samples of a block of an image, each of the residuals representing a respective difference value between a respective raw sample value and a respective predicted value for the respective raw sample value, access the coded MSBs in the first region of the memory, determine whether to represent the residuals using both the MSBs and least significant bits (LSBs) of the plurality of residuals of the samples, and in response to determining not to represent the residuals using the LSBs, prevent access of the LSBs in a second region of the memory.