Separable directional transforms
First Claim
1. 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 corresponding partition size, wherein the plurality of separable transforms each comprise a column transform matrix of size N×
N and a row transform matrix of size N×
N, where N×
N is a dimension of a partition size of a predicted video block; 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 separable transforms comprises selecting a combination of a separable DCT transform and at least one other different separable transform; and
apply the selected separable transforms to transform between residual pixel values associated with the predicted pixel values and residual transform coefficients.
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.
-
Citations
11 Claims
-
1. 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 corresponding partition size, wherein the plurality of separable transforms each comprise a column transform matrix of size N×
N and a row transform matrix of size N×
N, where N×
N is a dimension of a partition size of a predicted video block; anda 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 separable transforms comprises selecting a combination of a separable DCT transform and at least one other different 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 (2, 3, 4, 5, 6, 7)
-
-
8. 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 corresponding partition size, wherein the plurality of separable transforms each comprise a column transform matrix of size N×
N and a row transform matrix of size N×
N, where N×
N is a dimension of a partition size of a predicted video block, 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 separable transforms comprises selecting a combination of a separable DCT transform and at least one other different separable transform; andapply the selected separable transforms to transform between residual pixel values associated with the predicted pixel values and residual transform coefficients.
-
-
9. 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 corresponding partition size, wherein the plurality of separable transforms each comprise a column transform matrix of size N×
N and a row transform matrix of size N×
N, where N×
N is a dimension of a partition size of a predicted video block; andmeans 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 separable transforms comprises selecting a combination of a separable DCT transform and at least one other different 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)
-
Specification