Abstract:
A video encoder generates a bitstream that includes a residual quad tree (RQT) for a coding unit (CU). The CU is larger than a maximum-allowable transform unit (TU) size and the RQT includes a hierarchy of nodes. A root node of the RQT corresponds to the CU as a whole and leaf nodes of the RQT correspond to TUs of the CU. The root node is associated with a coded block flag (CBF) for a chroma component. The CBF for the chroma component indicates whether any of the TUs of the CU are associated with a significant coefficient block that is based on samples of the particular chroma component. A video decoder receives the bitstream and determines, based on the CBF, whether coefficient blocks associated with TUs that correspond to the leaf nodes include non-zero coefficients.
Abstract:
A video encoding device comprises a memory configured to store video data and at least one processor configured to: select one of a full rate-distortion (RD) checking scheme or a fast RD checking scheme, determine an RD cost associated with encoding a block of the video data based on the selected full RD checking scheme or fast RD checking scheme, determine a partitioning scheme for the block based on the determined RD cost, and encode the block using the determined partitioning scheme based on the determined RD cost.
Abstract:
A video coding device configured according to some aspects of this disclosure includes a memory configured to store a plurality of motion vector candidates. Each motion vector candidate can corresponding to at least one of a plurality of prediction units (PUs) partitioned in a parallel motion estimation region (MER). The video coding device also includes a processor in communication with the memory. The processor is configured to select a subset of the plurality of motion vector candidates to include in a merge candidate list. The selection can be based on a priority level of each motion vector candidate. The processor can be further configured to generate the merge candidate list to include the selected motion vector candidates.
Abstract:
A video coding device generates a motion vector (MV) candidate list for a prediction unit (PU) of a coding unit (CU) that is partitioned into four equally-sized PUs. The video coding device converts a bi-directional MV candidate in the MV candidate list into a uni-directional MV candidate. In addition, the video coding device determines a selected MV candidate in the merge candidate list and generates a predictive video block for the PU based at least in part on one or more reference blocks indicated by motion information specified by the selected MV candidate.
Abstract:
Systems, methods, and devices for coding video data are described herein. In some aspects, a memory is configured to store the video data associated with a base layer and an enhancement layer. The base layer may comprise a reference block and base layer motion information associated with the reference block. The enhancement layer may comprise a current block. A processor operationally coupled to the memory is configured to determine a position of the base layer motion information in a candidate list based on a prediction mode in a plurality of prediction modes used at the enhancement layer. The processor is further configured to perform a prediction of the current block based at least in part on the candidate list.
Abstract:
This disclosure relates to techniques for performing sample adaptive offset (SAO) processes in a video coding process. A video coder may store sets of SAO information. The SAO information may include data indicative of offset values. The video coder may also store mapping information that maps at least some of the sets of SAO information for one or more sequence partitions of a frame of video data. Additionally, the video coder may perform the SAO processes for one of the partitions of the frame based on the stored SAO information and the stored mapping information.
Abstract:
A video coding device is configured to obtain an array of sample values. The sample values may be formatted according to a 4:2:0, 4:2:2, or 4:4:4 chroma format. The video coding device determines whether to apply a first filter to rows of chroma sample values associated with defined horizontal edges within the array. The video coding device determines whether to apply a second filter to columns of chroma sample values associated with defined vertical edges. The horizontal and vertical edges may be separated by a number of chroma samples according to a deblocking grid.
Abstract:
In one example, an apparatus for coding video data comprises a video coder configured to, for a parallel motion estimation (PME) region comprising a plurality of blocks of video data within the PME region, identify a common set of spatial candidate blocks outside of and adjacent to the PME region, each of the common set of spatial candidate blocks at a respective, predefined location relative to the PME region and, for each of the blocks within the PME region for which motion information prediction is performed, generate a respective motion information candidate list, wherein, for at least some of the blocks within the PME region for which motion information prediction is performed, generating the motion information candidate list comprises evaluating motion information of at least one of the common set of spatial candidate blocks for inclusion in the motion information candidate list for the block.
Abstract:
A computing device determines whether a prediction unit (PU) in a B slice is restricted to uni-directional inter prediction. In addition, the computing device generates a merge candidate list for the PU and determines a selected merge candidate in the merge candidate list. If the PU is restricted to uni-directional inter prediction, the computing device generates a predictive video block for the PU based on no more than one reference block associated with motion information specified by the selected merge candidate. If the PU is not restricted to uni-directional inter prediction, the computing device generates the predictive video block for the PU based on one or more reference blocks associated with the motion information specified by the selected merge candidate.
Abstract:
In one example, an apparatus for coding video data comprises a video coder configured to obtain a motion vector for predicting a video block with a non-4:2:0 chroma format, determine a video block size for the video block, modify the motion vector to generate a modified motion vector for obtaining samples of at least one reference picture with which to predict the video block if the video block size meets a size criterion, and generate a prediction block for the video block using the samples of the at least one reference picture and the modified motion vector.