Office Action 1: Non-Final Rejection (2024-01-18)
Rejection types: 102 - Lack of Novelty

CLAIMS:
What is claimed is:

1\. A method for processing video data, the method comprising:
extracting a data block from the video data;
scanning a first number of data items in the data block following a first scan order to generate a first data sequence;
performing a non-separable transform to the first data sequence to obtain a second data sequence having a second number of data items; and
replacing at least a portion of the first number of data items in the data block with a portion or all of the second data sequence following a second scan order.

2\. The method of claim 1, wherein:
the data block comprises primary transform coefficient;
the non-separable transform comprises a forward non-separable secondary transform; and
replacing at least a portion of the first number of data items in the data block comprises replacing the second number of data items within the first number of data items in the data block with the second sequence following the second scan order.

3\. The method of claim 2, wherein the first scan order is determined based on at least one of:
an intra prediction mode associated with the data block;
a type of the forward non-separable secondary transform; or
a size of the data block.

4\. The method of claim 2, wherein the second scan order is determined based on at least one of: an intra prediction mode associated with the data block;
a type of the forward non-separable secondary transform; or
a size of the data block.

5\. The method of claim 2, wherein the first scan order or the second scan order comprises one of:
a zig-zag scan order;
a diagonal scan order; or
a row and column scan order.

6\. The method of claim 2, wherein:
the first scan order or second scan order is determined based on an intra prediction mode associated with the data block when a same set of transform kernels are shared by multiple intra prediction modes with respect to the video data.

7\. The method of claim 2, wherein the first number and the second number are integers between 0 to 127, inclusive.

8\. The method of claim 2, wherein the first scan order and the second scan order are:
a zig-zag scan order when the data block is a square block; or
a diagonal scan order when the data block is a non-square block.

9\. The method of claim 1, wherein:
the data block comprises residual samples; the non-separable transform comprises a forward non-separable primary transform; and
replacing at least a portion of the first number of data items in the data block comprises replacing the second number of data items within the first number of data items in the data block with the second sequence following the second scan order.

10\. The method of claim 9, wherein the first scan order is determined based on at least one of:
an intra prediction mode associated with the data block;
a type of the forward non-separable secondary transform; or
a size of the data block.

11\. The method of claim 9, wherein the second scan order is determined based on at least one of:
an intra prediction mode associated with the data block;
a type of the forward non-separable secondary transform; or
a size of the data block.

12\. The method of claim 9, wherein the first scan order or the second scan order comprises one of:
a zig-zag scan order;
a diagonal scan order; or
a row and column scan order.

13\. The method of claim 9, wherein: the first scan order or second scan order is determined based on an intra prediction mode associated with the data block when a same set of transform kernels are shared by multiple intra prediction modes with respect to the video data.

14\. The method of claim 9, wherein the first number and the second number are integers between 0 to 127, inclusive.

15\. The method of claim 9, wherein the first scan order and the second scan order are:
a zig-zag scan order when the data block is a square block; or
a diagonal scan order when the data block is a non-square block.

16\. The method of claim 9, wherein the first scan order is a horizontal or vertical scan order.

17\. A method for entropy encoding transform coefficients associated with video data, the method comprising:
in response to a transform associated with the transform coefficients being non-separable, scanning the transform coefficient when performing entropy encoding of the transform coefficients using a first scanning order being one of:
a horizontal scan order; or
a vertical scan order; and
in response to the transform associated with the transform coefficients being separable, scanning the transform coefficient in a second scanning order different from the first scanning order when performing entropy encoding of the transform coefficients.

18\. The method of claim 17, wherein the transform comprises one of:
a primary transform; or
a secondary transform.

19\. A device comprising a circuitry configured to implement the method of claim 1.

20\. A method for processing video data, the method comprising:
receiving the video data;
determining whether a non-separable transform is applied as a secondary transform to the video data;
in response to the non-separable transform being applied as the secondary transform to the video data:
scanning a first number of primary transform coefficients, wherein the primary transform coefficients follow a first scanning order;
performing a non-separable transform using the first number of primary transform coefficients as an input to obtain a second number of secondary transform coefficients as an output, wherein the secondary transform coefficients follow a second scanning order;
replacing at least the second number of primary transform coefficients with the secondary transform coefficients following the second scanning order;
performing an inverse secondary transform corresponding to the non-separable transform using the second number of secondary transform coefficients as an input to obtain the first number of primary transform coefficients as an output; and
replacing at least the first number of secondary transform coefficients with the primary transform coefficients following the first scanning order.

OFFICE ACTION:
DETAILED ACTION
This Office Action is a response to an application filed on 01/28/2022, in which claims 1-20 are pending and ready for examination.
Notice of Pre-AIA  or AIA  Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 06/23/2022 is in compliance with the provisions of 37 CFR 1.97.  Accordingly, the information disclosure statement is being considered by the examiner.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1-20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Zhao (US 2017/0094314 A1).
Regarding claim 1, Zhao discloses: A method for processing video data (see Fig. 1), the method comprising:
extracting a data block from the video data (see Fig. 5, residual block 101);
scanning a first number of data items in the data block following a first scan order to generate a first data sequence (see paragraph 136);
performing a non-separable transform to the first data sequence to obtain a second data sequence having a second number of data items (see paragraph 136); and
replacing at least a portion of the first number of data items in the data block with a portion or all of the second data sequence following a second scan order (see paragraph 147, the respective 4×4 transform coefficient sub-block B may be replaced by a respective derived secondary 4×4 transform coefficient block F).
Regarding claim 2, Zhao discloses: The method of claim 1, wherein:
the data block comprises primary transform coefficient (see paragraph 136);
the non-separable transform comprises a forward non-separable secondary transform (see paragraph 110 and 136 and Fig. 3A, fwdR); and
replacing at least a portion of the first number of data items in the data block comprises replacing the second number of data items within the first number of data items in the data block with the second sequence following the second scan order (see paragraph 147).
Regarding claim 3, Zhao discloses: The method of claim 2, wherein the first scan order is determined based on at least one of:
an intra prediction mode associated with the data block (see paragraph 140);
a type of the forward non-separable secondary transform (see paragraph 139); or
a size of the data block.
Regarding claim 4, Zhao discloses: The method of claim 2, wherein the second scan order is determined based on at least one of:
an intra prediction mode associated with the data block (see paragraph 142);
a type of the forward non-separable secondary transform (see paragraph 142); or
a size of the data block.
Regarding claim 5, Zhao discloses: The method of claim 2, wherein the first scan order or the second scan order comprises one of:
a zig-zag scan order (see paragraph 145);
a diagonal scan order (see paragraph 145); or
a row and column scan order.
Regarding claim 6, Zhao discloses: The method of claim 2, wherein:
the first scan order or second scan order is determined based on an intra prediction mode associated with the data block when a same set of transform kernels are shared by multiple intra prediction modes with respect to the video data (see paragraph 138).
Regarding claim 7, Zhao discloses: The method of claim 2, wherein the first number and the second number are integers between 0 to 127, inclusive (see paragraph 146).
Regarding claim 8, Zhao discloses: The method of claim 2, wherein the first scan order and the second scan order are:
a zig-zag scan order when the data block is a square block (see paragraph 127 and 137); or
a diagonal scan order when the data block is a non-square block (see paragraph 127 and 137).
Regarding claim 9, Zhao discloses: The method of claim 1, wherein:
the data block comprises residual samples (see paragraph 136);
the non-separable transform comprises a forward non-separable primary transform (see paragraph 110 and 136 and Fig. 3A, fwdR); and
replacing at least a portion of the first number of data items in the data block comprises replacing the second number of data items within the first number of data items in the data block with the second sequence following the second scan order (see paragraph 147).
Regarding claim 10, Zhao discloses: The method of claim 9, wherein the first scan order is determined based on at least one of:
an intra prediction mode associated with the data block (see paragraph 140);
a type of the forward non-separable secondary transform (see paragraph 139); or
a size of the data block.
Regarding claim 11, Zhao discloses: The method of claim 9, wherein the second scan order is determined based on at least one of:
an intra prediction mode associated with the data block (see paragraph 142);
a type of the forward non-separable secondary transform (see paragraph 142); or
a size of the data block.
Regarding claim 12, Zhao discloses: The method of claim 9, wherein the first scan order or the second scan order comprises one of:
a zig-zag scan order (see paragraph 145);
a diagonal scan order (see paragraph 145); or
a row and column scan order.
Regarding claim 13, Zhao discloses: The method of claim 9, wherein:
the first scan order or second scan order is determined based on an intra prediction mode associated with the data block when a same set of transform kernels are shared by multiple intra prediction modes with respect to the video data (see paragraph 138).
Regarding claim 14, Zhao discloses: The method of claim 9, wherein the first number and the second number are integers between 0 to 127, inclusive (see paragraph 146).
Regarding claim 15, Zhao discloses: The method of claim 9, wherein the first scan order and the second scan order are:
a zig-zag scan order when the data block is a square block (see paragraph 127 and 137); or
a diagonal scan order when the data block is a non-square block (see paragraph 127 and 137).
Regarding claim 16, Zhao discloses: The method of claim 9, wherein the first scan order is a horizontal or vertical scan order (see paragraph 145).
Regarding claim 17, Zhao discloses: A method for entropy encoding transform coefficients associated with video data, the method comprising:
in response to a transform associated with the transform coefficients being non-separable (see paragraph 93 and 145), scanning the transform coefficient when performing entropy encoding of the transform coefficients using a first scanning order being one of:
a horizontal scan order (see paragraph 145); or
a vertical scan order (see paragraph 145); and
in response to the transform associated with the transform coefficients being separable, scanning the transform coefficient in a second scanning order different from the first scanning order when performing entropy encoding of the transform coefficients (see paragraph 91).
Regarding claim 18, Zhao discloses: 18. The method of claim 17, wherein the transform comprises one of:
a primary transform (see Fig. 5); or
a secondary transform (see Fig. 5).
Regarding claim 19, Zhao discloses: A device comprising a circuitry configured to implement the method of claim 1 (see paragraph 57).
Regarding claim 20, Zhao discloses: A method for processing video data, the method comprising:
receiving the video data (see Fig. 5, residual block 101);
determining whether a non-separable transform is applied as a secondary transform to the video data (see paragraph 91-93, separable and non-separable transform is performed);
in response to the non-separable transform being applied as the secondary transform to the video data (see paragraph 93):
scanning a first number of primary transform coefficients, wherein the primary transform coefficients follow a first scanning order (see paragraph 136);
performing a non-separable transform using the first number of primary transform coefficients as an input to obtain a second number of secondary transform coefficients as an output (see paragraph 136), wherein the secondary transform coefficients follow a second scanning order (see paragraph 145);
replacing at least the second number of primary transform coefficients with the secondary transform coefficients following the second scanning order (see paragraph 147, the respective 4×4 transform coefficient sub-block B may be replaced by a respective derived secondary 4×4 transform coefficient block F);
performing an inverse secondary transform corresponding to the non-separable transform using the second number of secondary transform coefficients as an input to obtain the first number of primary transform coefficients as an output  (see Fig. 5, step 158); and
replacing at least the first number of secondary transform coefficients with the primary transform coefficients following the first scanning order (see Fig. 5, step 166 and paragraph 147).
Conclusion


NEXT OFFICE ACTION: DETAILED ACTION
This Office Action is a response to an amendment filed on 04/30/2024, in which claims 1-19 and 21 are pending and ready for examination.
Notice of Pre-AIA  or AIA  Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Information Disclosure Statement
The information disclosure statements (IDS) submitted on 05/15/2024 and 06/06/2024 are in compliance with the provisions of 37 CFR 1.97.  Accordingly, the information disclosure statement is being considered by the examiner.
Response to Arguments
Applicant's arguments with respect to claims 1-19 and 21 have been considered but are not persuasive.
In regards to claims 1 and 21 applicant argues as follows:
The interpretation of “data block” is inconsistent in the rejection of claim 1 and 21.
Zhao fails to disclose the limitation of “in response to a transform associated with the transform coefficients being non-separable, scanning the transform coefficient when performing entropy encoding of the transform coefficients using a first scanning order” and “in response to the transform associated with the transform coefficients being separable, scanning the transform coefficient in a second scanning order” as recited in claim 17
However, examiner respectfully disagrees.
a.	As shown in Fig. 5 of Zhao, primary transform is applied to the residual block 101 to produce a 2-dimensional coefficient block 102. Please note that both blocks 101 and 102 contain the same information in different domains. Block 101 is in pixel domain and block 102 is in frequency domain (see paragraph 136), but both blocks contain certain data and can be read on the term “data block” in claim 1 and 21. Hence, for further clarification Examiner notes that coefficient block 102 containing transform coefficients is read on “data block”. Therefore, Zhao fully and clearly discloses all elements of claims 1 and 21.
b.	As disclosed in paragraph 92 of Zhao, horizontal and vertical transform is used for the separable transform, however, as disclosed in paragraph 143-145, horizontal, vertical, diagonal, or zigzag scanning order is used for non-separable transform. Thus, the scanning order used for non-separable transform is different from scanning order used for sparable transform.
Claims 1-19 and 21 remain rejected since the system disclosed by the applicant is taught by the prior arts.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1-19 and 21 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Zhao (US 2017/0094314 A1).
Regarding claim 1, Zhao discloses: A method for processing video data (see Fig. 1), the method comprising:
extracting a data block from the video data (see Fig. 5, apply primary transform to residual block 101 to generate a 2D coefficient block);
scanning a first number of data items in the data block following a first scan order to generate a first data sequence (see paragraph 136);
performing a non-separable transform to the first data sequence to obtain a second data sequence having a second number of data items (see paragraph 136); and
replacing at least a portion of the first number of data items in the data block with a portion or all of the second data sequence following a second scan order (see paragraph 147, the respective 4×4 transform coefficient sub-block B may be replaced by a respective derived secondary 4×4 transform coefficient block F).
Regarding claim 2, Zhao discloses: The method of claim 1, wherein:
the data block comprises primary transform coefficient (see paragraph 136);
the non-separable transform comprises a forward non-separable secondary transform (see paragraph 110 and 136 and Fig. 3A, fwdR); and
replacing at least a portion of the first number of data items in the data block comprises replacing the second number of data items within the first number of data items in the data block with the second sequence following the second scan order (see paragraph 147).
Regarding claim 3, Zhao discloses: The method of claim 2, wherein the first scan order is determined based on at least one of:
an intra prediction mode associated with the data block (see paragraph 140);
a type of the forward non-separable secondary transform (see paragraph 139); or
a size of the data block.
Regarding claim 4, Zhao discloses: The method of claim 2, wherein the second scan order is determined based on at least one of:
an intra prediction mode associated with the data block (see paragraph 142);
a type of the forward non-separable secondary transform (see paragraph 142); or
a size of the data block.
Regarding claim 5, Zhao discloses: The method of claim 2, wherein the first scan order or the second scan order comprises one of:
a zig-zag scan order (see paragraph 145);
a diagonal scan order (see paragraph 145); or
a row and column scan order.
Regarding claim 6, Zhao discloses: The method of claim 2, wherein:
the first scan order or second scan order is determined based on an intra prediction mode associated with the data block when a same set of transform kernels are shared by multiple intra prediction modes with respect to the video data (see paragraph 138).
Regarding claim 7, Zhao discloses: The method of claim 2, wherein the first number and the second number are integers between 0 to 127, inclusive (see paragraph 146).
Regarding claim 8, Zhao discloses: The method of claim 2, wherein the first scan order and the second scan order are:
a zig-zag scan order when the data block is a square block (see paragraph 127 and 137); or
a diagonal scan order when the data block is a non-square block (see paragraph 127 and 137).
Regarding claim 9, Zhao discloses: The method of claim 1, wherein:
the data block comprises residual samples (see paragraph 136);
the non-separable transform comprises a forward non-separable primary transform (see paragraph 110 and 136 and Fig. 3A, fwdR); and
replacing at least a portion of the first number of data items in the data block comprises replacing the second number of data items within the first number of data items in the data block with the second sequence following the second scan order (see paragraph 147).
Regarding claim 10, Zhao discloses: The method of claim 9, wherein the first scan order is determined based on at least one of:
an intra prediction mode associated with the data block (see paragraph 140);
a type of the forward non-separable secondary transform (see paragraph 139); or
a size of the data block.
Regarding claim 11, Zhao discloses: The method of claim 9, wherein the second scan order is determined based on at least one of:
an intra prediction mode associated with the data block (see paragraph 142);
a type of the forward non-separable secondary transform (see paragraph 142); or
a size of the data block.
Regarding claim 12, Zhao discloses: The method of claim 9, wherein the first scan order or the second scan order comprises one of:
a zig-zag scan order (see paragraph 145);
a diagonal scan order (see paragraph 145); or
a row and column scan order.
Regarding claim 13, Zhao discloses: The method of claim 9, wherein:
the first scan order or second scan order is determined based on an intra prediction mode associated with the data block when a same set of transform kernels are shared by multiple intra prediction modes with respect to the video data (see paragraph 138).
Regarding claim 14, Zhao discloses: The method of claim 9, wherein the first number and the second number are integers between 0 to 127, inclusive (see paragraph 146).
Regarding claim 15, Zhao discloses: The method of claim 9, wherein the first scan order and the second scan order are:
a zig-zag scan order when the data block is a square block (see paragraph 127 and 137); or
a diagonal scan order when the data block is a non-square block (see paragraph 127 and 137).
Regarding claim 16, Zhao discloses: The method of claim 9, wherein the first scan order is a horizontal or vertical scan order (see paragraph 145).
Regarding claim 17, Zhao discloses: A method for entropy encoding transform coefficients associated with video data, the method comprising:
in response to a transform associated with the transform coefficients being non-separable (see paragraph 93 and 145), scanning the transform coefficient when performing entropy encoding of the transform coefficients using a first scanning order being one of:
a horizontal scan order (see paragraph 145); or
a vertical scan order (see paragraph 145); and
in response to the transform associated with the transform coefficients being separable, scanning the transform coefficient in a second scanning order different from the first scanning order when performing entropy encoding of the transform coefficients (see paragraph 91-92).
Regarding claim 18, Zhao discloses: 18. The method of claim 17, wherein the transform comprises one of:
a primary transform (see Fig. 5); or
a secondary transform (see Fig. 5).
Regarding claim 19, Zhao discloses: A device comprising a circuitry configured to implement the method of claim 1 (see paragraph 57).
Regarding claim 21, claim 21 is drawn to a method having limitations similar to the method claimed in claims 1 and 12 treated in the above rejections. Therefore, method claim 21 corresponds to method claims 1 and 12 and is rejected for the same reasons of anticipation as used above.
Conclusion
THIS ACTION IS MADE FINAL.  Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action.  In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action.  In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.

CITED REFERENCE SUMMARIES: Ref US20170094314A1: Claims:
A method for decoding video data, the method comprising: reorganizing a first 2-dimensional coefficient block as a first 1-dimensional coefficient vector according to a coefficient scanning order; applying a first inverse transform to the first 1-dimensional coefficient vector to generate a second 1-dimensional coefficient vector, the first inverse transform being a non-separable transform; reorganizing the first 1-dimensional coefficient vector as a second 2-dimensional coefficient block; applying a second inverse transform to the second 2-dimensional coefficient block to generate a residual video block, the second inverse transform converting the second 2-dimensional coefficient block from a frequency domain to a pixel domain; and forming a decoded video block, wherein forming the decoded video block comprises summing the residual video block with one or more predictive blocks.
reorganizing a first 2-dimensional coefficient block as a first 1-dimensional coefficient vector according to a coefficient scanning order;
applying a first inverse transform to the first 1-dimensional coefficient vector to generate a second 1-dimensional coefficient vector, the first inverse transform being a non-separable transform;
reorganizing the first 1-dimensional coefficient vector as a second 2-dimensional coefficient block;
applying a second inverse transform to the second 2-dimensional coefficient block to generate a residual video block, the second inverse transform converting the second 2-dimensional coefficient block from a frequency domain to a pixel domain; and
forming a decoded video block, wherein forming the decoded video block comprises summing the residual video block with one or more predictive blocks.
The method of claim 1 , wherein: the first 2-dimensional coefficient block is a 4Ã4 coefficient group, the method further comprises determining the coefficient scanning order for the 4Ã4 coefficient group, and reorganizing the first 2-dimensional coefficient block as the first 1-dimensional coefficient vector comprises reorganizing the first 2-dimensional coefficient block as the first 1-dimensional coefficient vector based on the determined coefficient scanning order.
the first 2-dimensional coefficient block is a 4Ã4 coefficient group,
the method further comprises determining the coefficient scanning order for the 4Ã4 coefficient group, and
reorganizing the first 2-dimensional coefficient block as the first 1-dimensional coefficient vector comprises reorganizing the first 2-dimensional coefficient block as the first 1-dimensional coefficient vector based on the determined coefficient scanning order.
The method of claim 1 , wherein the first 2-dimensional coefficient block is a first 4Ã4 coefficient block, the first 1-dimensional coefficient vector is a 16Ã1 coefficient vector, and the second 2-dimensional coefficient block is a second 4Ã4 coefficient block, the method further comprising: reorganizing the first 2-dimensional coefficient block according to the coefficient scanning order in which coefficients in the first 2-dimensional coefficient block with smaller index values are placed at smaller scanning index positions in the first 1-dimensional coefficient vector.
reorganizing the first 2-dimensional coefficient block according to the coefficient scanning order in which coefficients in the first 2-dimensional coefficient block with smaller index values are placed at smaller scanning index positions in the first 1-dimensional coefficient vector.
The method of claim 1 , wherein: the first 2-dimensional coefficient block is a 4Ã4 coefficient group, and reorganizing the first 2-dimensional coefficient block as the first 1-dimensional coefficient vector is based on decoded information, the decoded information comprising one or more of an intra prediction mode, a Coding Unit (CU) level Enhanced Multiple Transforms (EMT) index, a Transform Unit (TU) level EMT index, a residual quadtree depth, or quantized coefficients.
the first 2-dimensional coefficient block is a 4Ã4 coefficient group, and
reorganizing the first 2-dimensional coefficient block as the first 1-dimensional coefficient vector is based on decoded information, the decoded information comprising one or more of an intra prediction mode, a Coding Unit (CU) level Enhanced Multiple Transforms (EMT) index, a Transform Unit (TU) level EMT index, a residual quadtree depth, or quantized coefficients.
The method of claim 1 , wherein applying the first inverse transform to the first 1-dimensional coefficient vector is based on the quantity of non-zero coefficients of the second 2-dimensional coefficient block being no greater than a threshold.
The method of claim 5 , wherein the threshold is different for different block sizes, different intra prediction modes, or a combination thereof for the video data.
The method of claim 1 , further comprising: determining that an index of the first inverse transform is signaled in a bitstream of the video data, based on a sum of a total number, a total absolute sum, or sum of squared values of nonzero coefficients of a plurality of color components sharing the index of the first inverse transform being no greater than the threshold; decoding a block level syntax element comprising the index of the first inverse transform, wherein the index is used for each of the plurality of color components; and applying the first inverse transform to the first 1-dimensional coefficient vector comprises performing the first inverse transform to the first 1-dimensional coefficient vector based on the index of the first inverse transform.
determining that an index of the first inverse transform is signaled in a bitstream of the video data, based on a sum of a total number, a total absolute sum, or sum of squared values of nonzero coefficients of a plurality of color components sharing the index of the first inverse transform being no greater than the threshold;
decoding a block level syntax element comprising the index of the first inverse transform, wherein the index is used for each of the plurality of color components; and
applying the first inverse transform to the first 1-dimensional coefficient vector comprises performing the first inverse transform to the first 1-dimensional coefficient vector based on the index of the first inverse transform.
The method of claim 1 , further comprising: determining, based on a transform unit being coded in a transform skip mode, that an index of the first inverse transform is signaled in a bitstream of the video data; decoding the index of the first inverse transform from the bitstream, wherein applying the first inverse transform to the first 1-dimensional coefficient vector comprises performing the first inverse transform to the first 1-dimensional coefficient vector based on the index of the first inverse transform.
determining, based on a transform unit being coded in a transform skip mode, that an index of the first inverse transform is signaled in a bitstream of the video data;
decoding the index of the first inverse transform from the bitstream,
wherein applying the first inverse transform to the first 1-dimensional coefficient vector comprises performing the first inverse transform to the first 1-dimensional coefficient vector based on the index of the first inverse transform.
The method of claim 1 , further comprising: dividing a MÃN coefficient block into a plurality of non-overlapped 4Ã4 sub blocks, the plurality of non-overlapped 4Ã4 sub-blocks including the first 2-dimensional coefficient block, M and N are each greater than 4, M and N are each multiples of 4, and M is not equal to N; and performing, for each 4Ã4 sub-block of the multiple non-overlapped 4Ã4 sub blocks, the first inverse transform to generate a plurality of 2-dimension coefficient blocks, the plurality of 2-dimensional coefficient blocks including the second 2-dimensional coefficient block.
dividing a MÃN coefficient block into a plurality of non-overlapped 4Ã4 sub blocks, the plurality of non-overlapped 4Ã4 sub-blocks including the first 2-dimensional coefficient block, M and N are each greater than 4, M and N are each multiples of 4, and M is not equal to N; and
performing, for each 4Ã4 sub-block of the multiple non-overlapped 4Ã4 sub blocks, the first inverse transform to generate a plurality of 2-dimension coefficient blocks, the plurality of 2-dimensional coefficient blocks including the second 2-dimensional coefficient block.
The method of claim 1 , wherein applying the first inverse transform comprises multiplying a 2-dimensional transform matrix by the first 1-dimensional coefficient vector.
The method of claim 10 , wherein the first 2-dimensional coefficient block is a 4Ã4 block and the 2-dimensional transform matrix is a 16Ã16 non-separable transform matrix selected by a luma intra prediction mode and a coding unit-level index.
The method of claim 1 , further comprising: inverse quantizing the first 2-dimensional coefficient block.
inverse quantizing the first 2-dimensional coefficient block.
A method for encoding video data, the method comprising: forming a residual video block, wherein forming the residual video block comprises subtracting one or more predictive blocks from a video block being coded; applying a first transform to at least part of the residual video block to generate a first 2-dimensional coefficient block, the first transform converting the residual video block from a pixel domain to a frequency domain; reorganizing the first 2-dimensional coefficient block as a first 1-dimensional coefficient vector; applying a second transform to at least part of the first 1-dimensional coefficient vector to generate a second 1-dimensional coefficient vector, the second transform being a non-separable transform; and reorganizing the second 1-dimensional coefficient vector as a second 2-dimensional coefficient block according to a coefficient scanning order.
forming a residual video block, wherein forming the residual video block comprises subtracting one or more predictive blocks from a video block being coded;
applying a first transform to at least part of the residual video block to generate a first 2-dimensional coefficient block, the first transform converting the residual video block from a pixel domain to a frequency domain;
reorganizing the first 2-dimensional coefficient block as a first 1-dimensional coefficient vector;
applying a second transform to at least part of the first 1-dimensional coefficient vector to generate a second 1-dimensional coefficient vector, the second transform being a non-separable transform; and
reorganizing the second 1-dimensional coefficient vector as a second 2-dimensional coefficient block according to a coefficient scanning order.
The method of claim 13 , wherein: the second 2-dimensional coefficient block is a 4Ã4 coefficient group, the method further comprises determining a coefficient scanning order for the 4Ã4 coefficient group, and reorganizing the second 1-dimensional coefficient vector as the second 2-dimensional coefficient block comprises reorganizing the second 1-dimensional coefficient vector as the second 2-dimensional coefficient block based on the determined coefficient scanning order.
the second 2-dimensional coefficient block is a 4Ã4 coefficient group,
the method further comprises determining a coefficient scanning order for the 4Ã4 coefficient group, and
reorganizing the second 1-dimensional coefficient vector as the second 2-dimensional coefficient block comprises reorganizing the second 1-dimensional coefficient vector as the second 2-dimensional coefficient block based on the determined coefficient scanning order.
The method of claim 13 , wherein the first 2-dimensional coefficient block is a first 4Ã4 coefficient block, the second 1-dimensional coefficient vector is a 16Ã1 coefficient vector, and the second 2-dimensional coefficient block is a second 4Ã4 coefficient block, the method further comprising: reorganizing the second 1-dimensional coefficient vector according to the coefficient scanning order in which coefficients in the second 1-dimensional coefficient vector with smaller index values are placed at smaller scanning index positions in the second 2-dimensional coefficient block.
reorganizing the second 1-dimensional coefficient vector according to the coefficient scanning order in which coefficients in the second 1-dimensional coefficient vector with smaller index values are placed at smaller scanning index positions in the second 2-dimensional coefficient block.
The method of claim 13 , wherein: the second 2-dimensional coefficient block is a 4Ã4 coefficient group, and reorganizing the second 1-dimensional coefficient vector as the second 2-dimensional coefficient block is based on one or more of an intra prediction mode, a Coding Unit (CU) level Enhanced Multiple Transforms (EMT) index, a Transform Unit (TU) level EMT index, a residual quadtree depth, or quantized coefficients.
the second 2-dimensional coefficient block is a 4Ã4 coefficient group, and
reorganizing the second 1-dimensional coefficient vector as the second 2-dimensional coefficient block is based on one or more of an intra prediction mode, a Coding Unit (CU) level Enhanced Multiple Transforms (EMT) index, a Transform Unit (TU) level EMT index, a residual quadtree depth, or quantized coefficients.
The method of claim 13 , further comprising: determining whether a quantity of non-zero coefficients of the second 2-dimensional coefficient block is no greater than a threshold, wherein applying the second transform to at least part of the first 2-dimensional coefficient block is in response to determining that the quantity of non-zero coefficients of the second 2-dimensional coefficient block is no greater than the threshold.
determining whether a quantity of non-zero coefficients of the second 2-dimensional coefficient block is no greater than a threshold,
wherein applying the second transform to at least part of the first 2-dimensional coefficient block is in response to determining that the quantity of non-zero coefficients of the second 2-dimensional coefficient block is no greater than the threshold.
The method of claim 17 , wherein the threshold is different for different block sizes, different intra prediction modes, or a combination thereof for the video data.
The method of claim 13 , further comprising: determining whether to encode an index of the second transform in a bitstream of the video data, wherein, a determination is made that that the index of the second transform is not encoded in the bitstream based on a sum of a total number, a total absolute sum, or sum of squared values of nonzero coefficients of a plurality of color components sharing the index of the second transform is no greater than the threshold, wherein: the index of the second transform is signaled at a block level and shared for the plurality of color components, and applying the second transform to at least part of the first 2-dimensional coefficient block comprises performing the second transform to at least part of the first 2-dimensional coefficient block based on the index of the second transform being signaled in the bitstream.
determining whether to encode an index of the second transform in a bitstream of the video data, wherein, a determination is made that that the index of the second transform is not encoded in the bitstream based on a sum of a total number, a total absolute sum, or sum of squared values of nonzero coefficients of a plurality of color components sharing the index of the second transform is no greater than the threshold, wherein:
the index of the second transform is signaled at a block level and shared for the plurality of color components, and
applying the second transform to at least part of the first 2-dimensional coefficient block comprises performing the second transform to at least part of the first 2-dimensional coefficient block based on the index of the second transform being signaled in the bitstream.
The method of claim 13 , further comprising: determining whether to encode an index of the second transform in a bitstream of the video data based on a transform unit being coded in a transform skip mode, wherein applying the second transform to at least part of the first 2-dimensional coefficient block comprises performing the second transform to at least part of the first 2-dimensional coefficient block based on the index of the second transform being signaled in the bitstream.
determining whether to encode an index of the second transform in a bitstream of the video data based on a transform unit being coded in a transform skip mode,
wherein applying the second transform to at least part of the first 2-dimensional coefficient block comprises performing the second transform to at least part of the first 2-dimensional coefficient block based on the index of the second transform being signaled in the bitstream.
The method of claim 13 , further comprising: dividing a MÃN coefficient block into a plurality of non-overlapped 4Ã4 sub blocks, the plurality of non-overlapped 4Ã4 sub-blocks including the first 2-dimensional coefficient block, M and N are each greater than 4, M and N are each multiples of 4, and M is not equal to N; and performing, for each 4Ã4 sub-block of the multiple non-overlapped 4Ã4 sub blocks, the second transform to generate a plurality of 2-dimension coefficient blocks, the plurality of 2-dimensional coefficient blocks including the second 2-dimensional coefficient block.
performing, for each 4Ã4 sub-block of the multiple non-overlapped 4Ã4 sub blocks, the second transform to generate a plurality of 2-dimension coefficient blocks, the plurality of 2-dimensional coefficient blocks including the second 2-dimensional coefficient block.
The method of claim 13 , wherein applying the second transform comprises multiplying a 2-dimensional transform matrix by the first 1-dimensional coefficient vector.
The method of claim 22 , wherein the first 2-dimensional coefficient block is a 4Ã4 block and the 2-dimensional transform matrix is a 16Ã16 non-separable transform matrix selected by a luma intra prediction mode and a coding unit-level index.
The method of claim 13 , further comprising: quantizing the second 2-dimensional coefficient block.
quantizing the second 2-dimensional coefficient block.
An apparatus for decoding video data comprising: a memory configured to store the video data; and a video decoder configured to: reorganize a first 2-dimensional coefficient block as a first 1-dimensional coefficient vector according to a coefficient scanning order; apply a first inverse transform to the first 1-dimensional coefficient vector to generate a second 1-dimensional coefficient vector, the first inverse transform being a non-separable transform; reorganize the first 1-dimensional coefficient vector as a second 2-dimensional coefficient block; apply a second inverse transform to the second 2-dimensional coefficient block to generate a residual video block, the second inverse transform converting the second 2-dimensional coefficient block from a frequency domain to a pixel domain; sum the residual video block with one or more predictive blocks; and form a decoded video block based on the sum of the residual video block with one or more predictive blocks.
a memory configured to store the video data; and
a video decoder configured to: reorganize a first 2-dimensional coefficient block as a first 1-dimensional coefficient vector according to a coefficient scanning order; apply a first inverse transform to the first 1-dimensional coefficient vector to generate a second 1-dimensional coefficient vector, the first inverse transform being a non-separable transform; reorganize the first 1-dimensional coefficient vector as a second 2-dimensional coefficient block; apply a second inverse transform to th
[Truncated to input limit]