SEPARABLE DIRECTIONAL TRANSFORMS
First Claim
1. A method of decoding video data, the method comprising:
- decoding, from an encoded video bitstream, data associated with a predicted video block having a partition size, wherein the data comprises a prediction mode for predicting pixel values of the predicted video block and a plurality of transform coefficients indicative of a residual associated with the predicted video block, wherein the prediction mode comprises one of a plurality of prediction modes for predicting pixel values in a specified direction;
selecting, based on the prediction mode, one or more separable transforms from a plurality of separable transforms for the partition size,wherein for a first one of the prediction modes having a first prediction direction and a second one of the prediction modes having a second, different, prediction direction, different transforms are selected based on the prediction mode, and wherein, for the first one of the prediction modes, selecting the one or more transforms comprises selecting a combination of a separable DCT transform and at least one other separable transform;
applying the selected transforms to the plurality of transform coefficients to generate a block of residual values;
generating predicted pixel values of the predicted video block based on the prediction mode; and
generating the predicted video block based on the predicted pixel values and the generated block of residual values.
1 Assignment
0 Petitions
Accused Products
Abstract
This disclosure describes techniques for transforming residual blocks of video data. In particular, a plurality of different transforms selectively applied to the residual blocks based on the prediction mode of the video blocks. At least a portion of the plurality of transforms are separable directional transform specifically trained for a corresponding prediction mode to provide better energy compaction for the residual blocks of the given prediction mode. Using separable directional transforms offers the benefits of lower computation complexity and storage requirement than use of non-separable directional transforms. Additionally, a scan order used to scan the coefficients of the residual block may be adjusted when applying separable directional transforms. In particular, the scan order may be adjusted based on statistics associated with one or more previously coded blocks to better ensure that non-zero coefficients are grouped near the front of the one-dimensional coefficient vector to improve the effectiveness of entropy coding.
76 Citations
20 Claims
-
1. A method of decoding video data, the method comprising:
-
decoding, from an encoded video bitstream, data associated with a predicted video block having a partition size, wherein the data comprises a prediction mode for predicting pixel values of the predicted video block and a plurality of transform coefficients indicative of a residual associated with the predicted video block, wherein the prediction mode comprises one of a plurality of prediction modes for predicting pixel values in a specified direction; selecting, based on the prediction mode, one or more separable transforms from a plurality of separable transforms for the partition size, wherein for a first one of the prediction modes having a first prediction direction and a second one of the prediction modes having a second, different, prediction direction, different transforms are selected based on the prediction mode, and wherein, for the first one of the prediction modes, selecting the one or more transforms comprises selecting a combination of a separable DCT transform and at least one other separable transform; applying the selected transforms to the plurality of transform coefficients to generate a block of residual values; generating predicted pixel values of the predicted video block based on the prediction mode; and generating the predicted video block based on the predicted pixel values and the generated block of residual values. - View Dependent Claims (2, 3, 4)
-
-
5. A method of encoding video data, the method comprising:
-
generating predicted pixel values of a video block having a partition size based on a prediction mode, wherein the prediction mode comprises one of a plurality of prediction modes for predicting pixel values in a specified direction; generating a block of residual values based on the video block and the predicted pixel values; selecting, based on the prediction mode, one or more separable transforms from a plurality of separable transforms for the partition size, wherein for a first one of the prediction modes having a first prediction direction and a second one of the prediction modes having a second, different, prediction direction, different transforms are selected based on the prediction mode, and wherein, for the first one of the prediction modes, selecting the one or more transforms comprises selecting a combination of a separable DCT transform and at least one other separable transform; applying the selected transforms to the plurality of transform coefficients to generate a plurality of transform coefficients; and entropy encoding data indicative of the prediction mode and the transform coefficients. - View Dependent Claims (6, 7, 8)
-
-
9. A device for coding video data, the device comprising:
-
a memory configured to store a plurality of separable transforms for use in transforming between residual pixel values of a video block and residual transform coefficients of the video block, each of the plurality of separable transforms being associated with a partition size; and a processor configured to; generate predicted pixel values of a video block having a partition size based on a prediction mode, wherein the prediction mode comprises one of a plurality of prediction modes for predicting pixel values in a specified direction; select, based on the prediction mode, one or more separable transforms from the plurality of separable transforms for the partition size, wherein for a first one of the prediction modes having a first prediction direction and a second one of the prediction modes having a second, different, prediction direction, different transforms are selected based on the prediction mode, and wherein, for the first one of the prediction modes, selecting the one or more transforms comprises selecting a combination of a separable DCT transform and at least one other separable transform; and apply the selected separable transforms to transform between residual pixel values associated with the predicted pixel values and residual transform coefficients. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable medium upon which is stored instructions that upon execution in a device cause the device to code video blocks, wherein the instructions cause the device to:
-
generate predicted pixel values of a video block having a partition size based on a prediction mode, wherein the prediction mode comprises one of a plurality of prediction modes for predicting pixel values in a specified direction; select, based on the prediction mode, one or more separable transforms from a plurality of separable transforms for use in transforming between residual pixel values of a video block and residual transform coefficients of the video block, each of the plurality of separable transforms being associated with a partition size, wherein for a first one of the prediction modes having a first prediction direction and a second one of the prediction modes having a second, different, prediction direction, different transforms are selected based on the prediction mode, and wherein, for the first one of the prediction modes, selecting the one or more transforms comprises selecting a combination of a separable DCT transform and at least one other separable transform; and apply the selected separable transforms to transform between residual pixel values associated with the predicted pixel values and residual transform coefficients;
-
-
18. A device for coding video data, the device comprising:
-
means for storing a plurality of separable transforms for use in transforming between residual pixel values of a video block and residual transform coefficients of the video block, each of the plurality of separable transforms being associated with a partition size; and means for processing video data configured to; generate predicted pixel values of a video block having a partition size based on a prediction mode, wherein the prediction mode comprises one of a plurality of prediction modes for predicting pixel values in a specified direction; select, based on the prediction mode, one or more separable transforms from the plurality of separable transforms for the partition size, wherein for a first one of the prediction modes having a first prediction direction and a second one of the prediction modes having a second, different, prediction direction, different transforms are selected based on the prediction mode, and wherein, for the first one of the prediction modes, selecting the one or more transforms comprises selecting a combination of a separable DCT transform and at least one other separable transform; and apply the selected separable transforms to transform between residual pixel values associated with the predicted pixel values and residual transform coefficients; - View Dependent Claims (19, 20)
-
Specification