摘要:
A video coding unit may be configured to encode or decode chrominance blocks of video data by reusing motion vectors for corresponding luminance blocks. A motion vector may have greater precision for chrominance blocks than luminance blocks, due to downsampling of chrominance blocks relative to corresponding luminance blocks. The video coding unit may interpolate values for a reference chrominance block by selecting interpolation filters based on the position of the pixel position pointed to by the motion vector. For example, a luminance motion vector may have one-quarter-pixel precision and a chrominance motion vector may have one-eighth-pixel precision. There may be interpolation filters associated with the quarter-pixel precisions. The video coding unit may use interpolation filters either corresponding to the pixel position or neighboring pixel positions to interpolate a value for the pixel position pointed to by the motion vector.
摘要:
This disclosure describes video encoding and decoding techniques in which a first order prediction process and a second order prediction process are used in combination to generate predictive video blocks for video coding. First order prediction may be similar to conventional motion estimation and motion compensation that generates residual video blocks. The second order prediction may involve a process similar to conventional intra-prediction, but is performed on the residual video blocks. The techniques of this disclosure may pre-define the second order prediction to a specific mode, such as a mode similar to the intra-DC mode used in intra coding. In addition, the techniques of this disclosure may combine aspects of the first order and second order prediction into a single process so that the effects of second order prediction on the residuals are taken into account during the first order prediction process, which may improve compression.
摘要:
In one example, an apparatus includes a video encoder configured to partition a block of video data into a first partition and a second partition using a geometric motion partition line, calculate a slope value and a y-intercept value of the geometric motion partition line, wherein the slope value and the y-intercept value comprise integer values, calculate a mask indicative of pixels of the block in the first partition and pixels of the block in the second partition, encode the first partition and the second partition based on the mask, and output the encoded first partition, the encoded second partition, the slope value, and the y-intercept value. This may allow for a fixed point implementation. A video decoder may receive the slope and y-intercept values to calculate the mask and decode the block based on the mask.
摘要:
A video encoder may encode video data by adaptively selecting between one-eighth-pixel and one-quarter-pixel precision motion vectors, and signal the selected precision. In one example, an apparatus includes a video encoder to encode a block of video data using a one-eighth-pixel precision motion vector when use of the one-eighth-pixel precision motion vector is determined to be preferable for the block over a one-quarter-pixel precision motion vector, and to generate a signal value indicative of the use of the one-eighth-pixel precision motion vector for the block, and an output interface to output the encoded block and the signal value. A video decoder may be configured to receive the signal value and the encoded block, analyze the signal value to determine whether the block was encoded using one-eighth-pixel precision or one-quarter-pixel precision, and decode the block based on the determination.
摘要:
This disclosure relates to techniques for reducing a cost of coding prediction information in video coding. Video blocks in a generalized P/B (GPB) frame are encoded using up to two motion vectors calculated from reference pictures in two separate reference picture lists that are identical. Video blocks of a GPB frame may, therefore, be encoded using a bidirectional prediction mode with a first motion vector from a reference picture in a first reference picture list and a second motion vector from the same or substantially similar reference picture in a second reference picture list. The techniques include jointly coding the first and second motion vectors for a video block of a GPB frame. The techniques include coding the first motion vector relative to a first motion predictor generated from a motion vector of a neighboring block, and coding the second motion vector relative to the first motion vector.
摘要:
A video encoder may encode video data by adaptively selecting between one-eighth-pixel and one-quarter-pixel precision motion vectors, and signal the selected precision. In one example, an apparatus includes a video encoder to encode a block of video data using a one-eighth-pixel precision motion vector when use of the one-eighth-pixel precision motion vector is determined to be preferable for the block over a one-quarter-pixel precision motion vector, and to generate a signal value indicative of the use of the one-eighth-pixel precision motion vector for the block, and an output interface to output the encoded block and the signal value. A video decoder may be configured to receive the signal value and the encoded block, analyze the signal value to determine whether the block was encoded using one-eighth-pixel precision or one-quarter-pixel precision, and decode the block based on the determination.
摘要:
A method of coding video data includes determining a candidate motion vector for each of one or more candidate portions of a video frame and determining a current motion vector for a current portion of a current frame. The current motion vector identifies a portion of a reference frame that at least partially matches the current portion of the current frame. The method also includes calculating a motion vector difference between the current motion vector and each of the candidate motion vectors, selecting one of the candidate motion vectors based on the calculated motion vector differences, signaling an index identifying the candidate portion having the selected one of the candidate motion vectors, and signaling the corresponding motion vector difference calculated with respect to the selected one of the candidate motion vectors.
摘要:
The example techniques described in this disclosure provide for an efficient manner to encode or decode a video block of a picture using a single reference picture list. The single reference picture list may include identifiers for reference picture or pictures used to encode or decode the video block. In some examples, a video encoder or decoder may encode or decode a video block that is predicted from two reference pictures using the single reference picture list, and encode or decode a video block that is predicted from one reference picture using the same, single reference picture list.
摘要:
A video block syntax element indicates whether all of the partitions of a video block are predicted based on a same reference list and no greater than quarter-pixel accuracy is used. If the video block syntax element is set, partition-level signaling of the reference lists is avoided. If the video block syntax element is not set, partition-level signaling of the reference lists occurs. If the video block syntax element is set, partition-level syntax elements may be used for each of the partitions of the video block, wherein the partition-level syntax elements each identify one of the reference lists and motion vector accuracy for a given one of the partitions.
摘要:
In one example, a device for coding video data includes a video coder configured to configured to code information representative of whether an absolute value of an x-component of a motion vector difference value for a current block of video data is greater than zero, code information representative of whether an absolute value of a y-component of the motion vector difference value is greater than zero, when the absolute value of the x-component is greater than zero, code information representative of the absolute value of the x-component, when the absolute value of the y-component is greater than zero, code information representative of the absolute value of the y-component, when the absolute value of the x-component is greater than zero, code a sign of the x-component, and when the absolute value of the y-component is greater than zero, code a sign of the y-component.