Abstract:
In general, techniques are described for reducing the complexity of mode selection when selecting from multiple, different prediction modes. A video coding device comprising a processor may perform the techniques. The processor may compute approximate costs for a pre-defined set of intra-prediction modes identified in a current set. The current set of intra-prediction modes may include fewer modes than a total number of intra-prediction modes. The processor may compare approximate costs computed for one or more most probable intra-prediction modes to a threshold and replace one or more of the intra-prediction modes of the current set with one or more most probable intra-prediction modes. The processor may perform rate distortion analysis with respect to each intra-prediction mode identified in the current set and perform intra-prediction coding with respect to the current block using a mode of the current set.
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:
In an example, a method of decoding video data includes determining a prediction partitioning structure for predicting pixel values associated with a block of video data. The method also includes determining a transform partitioning structure for applying one or more transforms to the predicted pixel values. Determining the transform split structure includes splitting a parent transform unit, upon determining the transform partitioning structure comprises splitting the parent transform unit into one or more square transforms, determining one or more square transforms such that each of the one or more square transforms correspond to exactly one prediction partition, and upon determining the transform partitioning structure comprises splitting the parent transform unit into one or more non-square transforms, determining whether to split the one or more non-square transforms based at least in part on the one or more non-square transforms being non-square.
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 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:
A video decoding device receives an array of transform coefficients for a chroma component of video data. The video decoding device receives entropy encoded data representing the value of a split flag associated with the chroma component. The value of the split flag indicates whether the array of transform coefficients is divided into smaller transform blocks. The video decoding device determines a context for the entropy encoded data representing the split flag. The context is based on the value of a split flag associated with another component of video data. The video decoding device entropy decodes the data representing the value of the split flag based on the determined context using context adaptive binary arithmetic coding (CABAC). The luma and chroma components have independent residual quadtree (RQT) structures.
Abstract:
A method for decoding video data is described. The method may comprise receiving an indication of a size of a parallel motion estimation (PME) area, performing a motion vector prediction process on coding units having a size smaller than or equal to the PME area using a PME style candidate list construction process and the PME area, deriving an implicit PME area for coding units having a size larger than the PME area, and performing the motion vector prediction process on coding units having the size larger than the PME area using the PME style candidate list construction process and the implicit PME area.
Abstract:
The techniques of this disclosure may be generally related to temporal motion vector prediction candidate. A video coder may determine a temporal motion vector prediction candidate for a plurality of blocks only once. Each of the plurality of blocks may include different spatial motion vector prediction candidates, but the temporal motion vector prediction candidate for the plurality of blocks may be the same.
Abstract:
A video coding device configured according to some aspects of this disclosure includes a memory configured to store an initial list of motion vector candidates and a temporal motion vector predictor (TMVP). The video coding device also includes a processor in communication with the memory. The processor is configured to obtain a merge candidate list size value (N) and identify motion vector candidates to include in a merge candidate list having a list size equal to the merge candidate list size value. The merge candidate list may be a merge motion vector (MV) candidate list or a motion vector predictor (MVP) candidate list (also known as an AMVP candidate list). The processor generates the merge candidate list such that the merge candidate list includes the TMVP, regardless of the list size.
Abstract:
Aspects of this disclosure relate to coding video data. In an example, a method of coding video data includes determining a first residual quadtree (RQT) depth at which to apply one or more first transforms to residual video data based on at least one characteristic of the residual of video data. The method also includes determining a second RQT depth at which to apply one or more second transforms to the residual video data based on the at least one characteristic. The method also includes coding the residual video data using the one or more first transforms and the one or more second transforms.