Enhanced multiple transforms for prediction residual
First Claim
Patent Images
1. A method of decoding video data, the method comprising:
- determining a plurality of transform subsets for transforming a current coefficient block of a video block encoded according to one of a plurality of prediction modes, the prediction modes comprising a plurality of intra-prediction modes and a plurality of inter prediction modes, each subset identifying one or more candidate transforms, wherein at least one transform subset identifies a plurality of candidate transforms, wherein determining the plurality of transform subsets comprises determining either a first, same, one of the plurality of transform subsets for each of the intra-prediction modes, or a second, same, one of the plurality of transform subsets for each of the inter-prediction modes, wherein the plurality of transform subsets is the same for each of the intra-prediction modes, and wherein the plurality of transform subsets is the same for each of the inter-prediction modes;
selecting a first transform subset from the determined plurality of transform subsets for a first transform for the current coefficient block of the video data;
selecting a second transform subset from the determined plurality of transform subsets for a second transform for the current coefficient block of the video data;
determining the first transform from the selected first transform subset;
determining the second transform from the selected second transform subset;
determining a current transform block based on applying, to coefficients in the current coefficient block, a basis function defined by the first transform and a basis function defined by the second transform; and
reconstructing the video block based on an addition of values of the current transform block to corresponding values of a predictive block.
1 Assignment
0 Petitions
Accused Products
Abstract
Example techniques are described to determine transforms to be used during video encoding and video decoding. A video encoder and a video decoder may select transform subsets that each identify one or more candidate transforms. The video encoder and the video decoder may determine transforms from the selected transform subsets.
156 Citations
60 Claims
-
1. A method of decoding video data, the method comprising:
-
determining a plurality of transform subsets for transforming a current coefficient block of a video block encoded according to one of a plurality of prediction modes, the prediction modes comprising a plurality of intra-prediction modes and a plurality of inter prediction modes, each subset identifying one or more candidate transforms, wherein at least one transform subset identifies a plurality of candidate transforms, wherein determining the plurality of transform subsets comprises determining either a first, same, one of the plurality of transform subsets for each of the intra-prediction modes, or a second, same, one of the plurality of transform subsets for each of the inter-prediction modes, wherein the plurality of transform subsets is the same for each of the intra-prediction modes, and wherein the plurality of transform subsets is the same for each of the inter-prediction modes; selecting a first transform subset from the determined plurality of transform subsets for a first transform for the current coefficient block of the video data; selecting a second transform subset from the determined plurality of transform subsets for a second transform for the current coefficient block of the video data; determining the first transform from the selected first transform subset; determining the second transform from the selected second transform subset; determining a current transform block based on applying, to coefficients in the current coefficient block, a basis function defined by the first transform and a basis function defined by the second transform; and reconstructing the video block based on an addition of values of the current transform block to corresponding values of a predictive block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of encoding video data, the method comprising:
-
determining a plurality of transform subsets for transforming a current transform block of a video block encoded according to one of a plurality of prediction mode, the prediction modes comprising a plurality of intra-prediction modes and a plurality of inter-prediction modes, each subset identifying one or more candidate transforms, wherein at least one transform subset identifies a plurality of candidate transforms, wherein determining the plurality of transform subsets comprises determining either a first, same, one of the plurality transform subsets for each of the intra-prediction modes, or a second, same, one of the plurality of transform subsets for each of the inter-prediction modes, wherein the plurality of transform subsets is the same for each of the intra-prediction modes, and wherein the plurality of transform subsets is the same for each of the inter-prediction modes; selecting a first transform subset from the determined plurality of transform subsets for a first transform for the current transform block of the video block of the video data; selecting a second transform subset from the determined plurality of transform subsets for a second transform for the current transform block of the video block of the video data; determining the first transform from the selected first transform subset; determining the second transform from the selected second transform subset; determining a current coefficient block based on applying, to the current transform block, a basis function defined by the first transform and a basis function defined by the second transform; and generating a video bitstream that includes information indicative of coefficients of the current coefficient block used for reconstruction of the video block. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A device for video decoding video data, the device comprising:
-
a video data memory configured to store the video data and transform subsets, each subset identifying one or more candidate transforms, wherein at least one transform subset identifies a plurality of candidate transforms; and a video decoder comprising integrated circuitry, the video decoder configured to; determine a plurality of transform subsets from the stored transform subsets for transforming a current coefficient block of a video block encoded according to one of a plurality of prediction modes, the prediction modes comprising a plurality of intra-prediction modes and a plurality of inter-prediction modes, wherein to determine the plurality of transform subsets, the video decoder is configured to determine either a first, same, one of the plurality of transform subsets for each of the intra-prediction modes or a second, same, one of the plurality of transform subsets for each of the inter-prediction modes, wherein the plurality of transform subsets is the same for each of the intra-prediction modes, and wherein the plurality of transform subsets is the same for each of the inter-prediction modes; select a first transform subset from the determined plurality of transform subsets for a first transform for the current coefficient block of the video data; select a second transform subset from the determined plurality of transform subsets for a second transform for the current coefficient block of the video data; determine the first transform from the selected first transform subset; determine the second transform from the selected second transform subset; determine a current transform block based on applying, to the coefficients in the current coefficient block, a basis function defined by the first transform and a basis function defined by the second transform; and reconstruct the video block based on an addition of values of the current transform block to corresponding values of a predictive block. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
-
44. A device for encoding video data, the device comprising:
-
a video data memory configured to store the video data and transform subsets, each subset identifying one or more candidate transforms, wherein at least one transform subset identifies a plurality of candidate transforms; and a video encoder configured to; determine a plurality of transform subsets from the stored transform subsets for transforming a current transform block of a video block encoded according to one of a plurality of prediction mode, the prediction modes comprising a plurality of intra-prediction modes and a plurality of inter-prediction modes, wherein to determine the plurality of transform subsets the video encoder is configured to determine either a first, same, one of the plurality transform subsets for each of the intra-prediction modes, or a second, same, one of the plurality of transform subsets for each of the inter-prediction modes, wherein the plurality of transform subsets is the same for each of the intra-prediction modes, and wherein the plurality of transform subsets is the same for each of the inter-prediction modes; select a first transform subset from the determined plurality of transform subsets for a first transform for the current transform block of the video block of the video data; select a second transform subset from the determined plurality of transform subsets for a second transform for the current transform block of the video block of the video data; determine the first transform from the selected first transform subset; determine the second transform from the selected second transform subset; determine a current coefficient block based on applying, to the current transform block, a basis function defined by the first transform and a basis function defined by the second transform; and generate a video bitstream that includes information indicative of coefficients of the current coefficient block used for reconstruction of the video block. - View Dependent Claims (45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56)
-
-
57. A device for decoding video data, the device comprising:
-
means for determining a plurality of transform subsets for transforming a current coefficient block of a video block encoded according to one of a plurality of prediction modes, the prediction modes comprising a plurality of intra-prediction modes and a plurality of inter prediction modes, each subset identifying one or more candidate transforms, wherein at least one transform subset identifies a plurality of candidate transforms, wherein the means for determining the plurality of transform subsets comprises means for determining either a first, same, one of the plurality of transform subsets for each of the intra-prediction modes, or a second, same, one of the plurality of transform subsets for each of the inter-prediction modes, wherein the plurality of transform subsets is the same for each of the intra-prediction modes, and wherein the plurality of transform subsets is the same for each of the inter-prediction modes; means for selecting a first transform subset from the determined plurality of transform subsets for a first transform for the current coefficient block of the video data; means for selecting a second transform subset from the determined plurality of transform subsets for a second transform for the current coefficient block of the video data; means for determining the first transform from the selected first transform subset; means for determining the second transform from the selected second transform subset; means for determining a current transform block based on applying, to coefficients in the current coefficient block, a basis function defined by the first transform and a basis function defined by the second transform; and means for reconstructing the video block based on an addition of values of the current transform block to corresponding values of a predictive block.
-
-
58. A non-transitory computer-readable storage medium storing instructions that when executed cause a video decoder of a device for video decoding to:
-
determine a plurality of transform subsets for transforming a current coefficient block of a video block encoded according to one of a plurality of prediction modes, the prediction modes comprising a plurality of intra-prediction modes and a plurality of inter prediction modes, each subset identifying one or more candidate transforms, wherein at least one transform subset identifies a plurality of candidate transforms, wherein the instructions that cause the video decoder to determine the plurality of transform subsets comprise instructions that cause the video decoder to determine either a first, same, one of the plurality of transform subsets for each of the intra-prediction modes, or a second, same, one of the plurality of transform subsets for each of the inter-prediction modes, wherein the plurality of transform subsets is the same for each of the intra-prediction modes, and wherein the plurality of transform subsets is the same for each of the inter-prediction modes; select a first transform subset from the determined plurality of transform subsets for a first transform for the current coefficient block of the video data; select a second transform subset from the determined plurality of transform subsets for a second transform for the current coefficient block of the video data; determine the first transform from the selected first transform subset; determine the second transform from the selected second transform subset; determine a current transform block based on applying, to coefficients in the current coefficient block, a basis function defined by the first transform and a basis function defined by the second transform; and reconstruct the video block based on an addition of values of the current transform block to corresponding values of a predictive block.
-
-
59. A device for encoding video data, the device comprising:
-
means for determining a plurality of transform subsets for transforming a current transform block of a video block encoded according to one of a plurality of prediction mode, the prediction modes comprising a plurality of intra-prediction modes and a plurality of inter-prediction modes, each subset identifying one or more candidate transforms, wherein at least one transform subset identifies a plurality of candidate transforms, wherein the means for determining the plurality of transform subsets comprises means for determining either a first, same, one of the plurality transform subsets for each of the intra-prediction modes, or a second, same, one of the plurality of transform subsets for each of the inter-prediction modes, wherein the plurality of transform subsets is the same for each of the intra-prediction modes, and wherein the plurality of transform subsets is the same for each of the inter-prediction modes; means for selecting a first transform subset from the determined plurality of transform subsets for a first transform for the current transform block of the video block of the video data; means for selecting a second transform subset from the determined plurality of transform subsets for a second transform for the current transform block of the video block of the video data; means for determining the first transform from the selected first transform subset; means for determining the second transform from the selected second transform subset; means for determining a current coefficient block based on applying, to the current transform block, a basis function defined by the first transform and a basis function defined by the second transform; and means for generating a video bitstream that includes information indicative of coefficients of the current coefficient block used for reconstruction of the video block.
-
-
60. A non-transitory computer-readable storage medium storing instructions that when executed cause a video encoder of a device for video encoding to:
-
determine a plurality of transform subsets for transforming a current transform block of a video block encoded according to one of a plurality of prediction mode, the prediction modes comprising a plurality of intra-prediction modes and a plurality of inter-prediction modes, each subset identifying one or more candidate transforms, wherein at least one transform subset identifies a plurality of candidate transforms, wherein the instructions that cause the video encoder to determine the plurality of transform subsets comprise instructions that cause the video encoder to determine either a first, same, one of the plurality transform subsets for each of the intra-prediction modes, or a second, same, one of the plurality of transform subsets for each of the inter-prediction modes, wherein the plurality of transform subsets is the same for each of the intra-prediction modes, and wherein the plurality of transform subsets is the same for each of the inter-prediction modes; select a first transform subset from the determined plurality of transform subsets for a first transform for the current transform block of the video block of the video data; select a second transform subset from the determined plurality of transform subsets for a second transform for the current transform block of the video block of the video data; determine the first transform from the selected first transform subset; determine the second transform from the selected second transform subset; determine a current coefficient block based on applying, to the current transform block, a basis function defined by the first transform and a basis function defined by the second transform; and generate a video bitstream that includes information indicative of coefficients of the current coefficient block used for reconstruction of the video block.
-
Specification