Abstract:
In general, this disclosure describes techniques for coding video blocks using a color-space conversion process. A video coder, such as a video encoder or a video decoder, may determine a bit-depth of a luma component of the video data and a bit-depth of a chroma component of the video data. In response to the bit-depth of the luma component being different than the bit depth of the chroma component, the video coder may modify one or both of the bit depth of the luma component and the bit depth of the chroma component such that the bit depths are equal. The video coder may further apply the color-space transform process in encoding the video data.
Abstract:
A method for motion estimation for screen and non-natural content coding is disclosed. In one aspect, the method may include selecting a candidate block of a first frame of the video data for matching with a current block of a second frame of the video data, calculating a first partial matching cost for matching a first subset of samples of the candidate block to the current block, and determining whether the candidate block has a lowest matching cost with the current block based at least in part on the first partial matching cost.
Abstract:
A video encoder generates a bitstream that includes a reference picture list modification (RPLM) command. The RPLM command belongs to a type of RPLM commands for inserting short-term reference pictures into reference picture lists. The RPLM command instructs a video decoder to insert a synthetic reference picture into the reference picture list. The video decoder decodes, based at least in part on syntax elements parsed from the bitstream, one or more view components and generates, based at least in part on the one or more view components, the synthetic reference picture. The video decoder modifies, in response to the RPLM commands, a reference picture list to include the synthetic reference picture. The video decoder may use one or more pictures in the reference picture list as reference pictures to perform inter prediction on one or more video blocks of a picture.
Abstract:
A prediction unit (PU) of a coding unit (CU) is split into two or more sub-PUs including a first sub-PU and a second sub-PU. A first motion vector of a first type is obtained for the first sub-PU and a second motion vector of the first type is obtained for the second sub-PU. A third motion vector of a second type is obtained for the first sub-PU and a fourth motion vector of the second type is obtained for the second sub-PU, such that the second type is different than the first type. A first portion of the CU corresponding to the first sub-PU is coded according to advanced residual prediction (ARP) using the first and third motion vectors. A second portion of the CU corresponding to the second sub-PU is coded according to ARP using the second and fourth motion vectors.
Abstract:
In one example, a device for coding (e.g., encoding or decoding) video data includes a memory configured to store video data and a video coder configured to determine a value for an advanced residual prediction (ARP) weighting factor of a current block of the video data and to skip coding of an illumination compensation syntax element for the current block and to code the current block when the value of the ARP weighting factor is not equal to zero. The video coder may further be configured to code the illumination compensation syntax element for the current block and code the current block based at least in part on the value of the illumination compensation syntax element when the value of the ARP weighting factor is equal to zero.
Abstract:
An example video coding device is configured to compare an inter-view predicted motion vector candidate (IPMVC) to a motion vector inheritance (MVI) candidate, where the IPMVC and the MVI candidate are each associated with a block of video data in a dependent depth view, and where the IPMVC is generated from a corresponding block of video data in a base depth view. The video coding device may be further configured to perform one of adding the IPMVC to a merge candidate list based on the IPMVC being different from the MVI candidate, or omitting the IPMVC from the merge candidate list based on the IPMVC being identical to the MVI candidate.
Abstract:
A device for coding three-dimensional video data includes a video coder configured to determine a first block of a first texture view is to be coded using a block-based view synthesis mode; locate, in a depth view, a first depth block that corresponds to the first block of the first texture view; determine depth values of two or more corner positions of the first depth block; based on the depth values, derive a disparity vector for the first block; using the disparity vector, locate a first block of a second texture view; and, inter-predict the first block of the first texture view using the first block of the second texture view.
Abstract:
In one example of the disclosure, a method of coding video data comprises coding video data using texture-first coding, and performing an NBDV derivation process for a block of the video data using a plurality of neighboring blocks. The NBDV derivation process comprises designating a motion vector associated with a neighboring block of the plurality of neighboring blocks coded with a block-based view synthesis prediction (BVSP) mode as an available disparity motion.
Abstract:
This disclosure describes techniques for improving coding efficiency of motion prediction in multiview and 3D video coding. In one example, a method of decoding video data comprises deriving one or more disparity vectors for a current block, the disparity vectors being derived from neighboring blocks relative to the current block, converting a disparity vector to one or more of inter-view predicted motion vector candidates and inter-view disparity motion vector candidates, adding the one or more inter-view predicted motion vector candidates and the one or more inter-view disparity motion vector candidates to a candidate list for a motion vector prediction mode, and decoding the current block using the candidate list.
Abstract:
In one example, a video coder, such as a video encoder or a video decoder, is configured to code a value for a layer identifier in a slice header for a current slice in a current layer of multi-layer video data, and, when the value for the layer identifier is not equal to zero, code a first set of syntax elements in accordance with a base video coding standard, and code a second set of one or more syntax elements in accordance with an extension to the base video coding standard. The second set of syntax elements may include a syntax element representative of a position for an identifier of an inter-layer reference picture of a reference layer in a reference picture list, and the video coder may construct the reference picture list such that the identifier of the inter-layer reference picture is located in the determined position.