摘要:
This disclosure describes techniques for calculating values of sub-integer pixels applied by an encoder and a decoder to encode blocks of video data. In one example, a video encoder is configured to receive values for a full integer pixel positions of a reference sample, apply an interpolation filter to a first set of the values for the full integer pixel positions to calculate a value for a first sub-integer pixel of one of the full integer pixel positions, apply the interpolation filter to a second, different set of the values for the full integer pixel positions to calculate a value for a second, different sub-integer pixel of the one of the full integer pixel positions, encode a current block of pixels using a motion vector that points to one of the first sub-integer pixel and the second sub-integer pixel.
摘要:
This disclosure describes techniques for calculating values of sub-integer pixels applied by an encoder and a decoder to encode blocks of video data. In one example, a video encoder is configured to receive values for a full integer pixel positions of a reference sample, apply an interpolation filter to a first set of the values for the full integer pixel positions to calculate a value for a first sub-integer pixel of one of the full integer pixel positions, apply the interpolation filter to a second, different set of the values for the full integer pixel positions to calculate a value for a second, different sub-integer pixel of the one of the full integer pixel positions, encode a current block of pixels using a motion vector that points to one of the first sub-integer pixel and the second sub-integer pixel.
摘要:
During a video encoding process, a video encoder may transform the residual data of a coding unit (CU) using a single transform if the CU only has a single prediction unit (PU). If the CU has multiple PUs, the video encoder may transform the residual data using multiple transforms. The video encoder outputs an indication of the size of a transform used to transform residual data of the CU only when the CU has more than one PU. If a video decoder receives such an indication, the video decoder may reconstruct residual data of the CU using a transform of the indicated size. Otherwise, the video decoder may reconstruct the residual data of the CU using a transform having same size as the CU.
摘要:
This disclosure relates to techniques for efficient coding of video parameters for weighted motion compensated prediction in video encoding and decoding. A video coding device may code a video block using weighted motion compensated prediction with respect to prediction data generated based on at least one motion vector and video parameter values. The video parameter values may include scale and/or offset parameter values. The techniques reduce signaling overhead by only signaling video parameter values when the motion vector points to a predefined sub-pixel position of a reference block. The techniques include storing a list of predefined sub-pixels associated with the video parameters. When the motion vector points to a sub-pixel position included in the list of predefined sub-pixels, the video coding device may code the video parameter values. The list of predefined sub-pixels may be signaled to a video decoder at a video coding unit or higher level.
摘要:
In one example, an encoder may apply a plurality of pre-defined interpolation filters to units of video data, such as frames of reference video, in order to generate a plurality of different interpolated prediction data. The encoder may also at times determine that a new interpolation filter or set of interpolation filters might improve coding quality by either improving video compression or improving reconstructed image quality. The encoder may also signal to a video decoder whether one of the pre-defined interpolation filters was used or a new set of interpolation filters was used. The encoder may also signal to a video decoder whether to continue using the new set of interpolation filters, or whether to revert back to using the pre-defined set of interpolation filters. A video decoder can decode video data based on data received from the video encoder.
摘要:
This disclosure describes scalable video coding techniques. In particular, the techniques may be used to encode refinements of a video block for enhancement layer bit streams in a single coding pass, thereby reducing coding complexity, coding delay and memory requirements. In some instances, the techniques encode each nonzero coefficient of a coefficient vector of the enhancement layer without knowledge of any subsequent coefficients. Coding the enhancement layer in a single pass may eliminate the need to perform a first pass to analyze the coefficient vector and a second pass for coding the coefficient vector based on the analysis.
摘要:
In one example, an encoder may apply a plurality of pre-defined interpolation filters to units of video data, such as frames of reference video, in order to generate a plurality of different interpolated prediction data. The encoder may also at times determine that a new interpolation filter or set of interpolation filters might improve coding quality by either improving video compression or improving reconstructed image quality. The encoder may also signal to a video decoder whether one of the pre-defined interpolation filters was used or a new set of interpolation filters was used. The encoder may also signal to a video decoder whether to continue using the new set of interpolation filters, or whether to revert back to using the pre-defined set of interpolation filters. A video decoder can decode video data based on data received from the video encoder.
摘要:
In one aspect of this disclosure, techniques are described for the decoupling of uni-directional and bi-directional prediction weights, particularly for explicit weighted predictions of video blocks within a B-unit. According to this disclosure, explicit weights communicated in the bitstream may be applied by a decoder for explicit bi-directional prediction, but different weights (which may be default weights or separately defined explicit uni-directional weights) may be used for explicit uni-directional prediction. The described techniques may improve video quality relative to techniques that use the same explicit weights for explicit bi-directional prediction and explicit uni-directional prediction within a B-unit.
摘要:
In one example, this disclosure describes video encoding and decoding techniques applicable to bi-directional prediction. For signaling from an encoder to a decoder a block type for a video block, an encoder can transmit to the decoder two or more separate syntax elements, where one of the two or more separate syntax elements identifies a partition size for the video block and another of the two or more separate syntax elements identifies a prediction direction for a partition of the video block. The separate syntax elements can be individually encoded and transmitted from the encoder to the decoder.
摘要:
Techniques are described for efficient transcoding from a first format that supports I-units, P-units and B-units to a second format that supports I-units and P-units but does not support the B-units. In particular, techniques are described for converting B-frames or B-slices of the first format into P-frames or P-slices of the second format. The techniques avoid the need to decode and re-encode that frames or slices. Instead, residuals associated with the B-video blocks in the first format are augmented and made to be dependent upon only one of the two lists associated with the B-video blocks so that such B-video blocks in the first format can be redefined as P-video blocks in the second format.