IP Library › Granted Patent US 10,986,334
Granted Patent B2
US 10,986,334 · App. 16/812,000 · Granted Apr 20, 2021

Method and apparatus for video coding

Inventors: Xin Zhao (San Diego, CA); Xiang Li (Los Gatos, CA); Shan Liu (San Jose, CA)
Assignee: Tencent America LLC
H04N19/105H04N19/176
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,986,334
App. No.
16/812,000
Granted
Apr 20, 2021
Kind
B2
Abstract

Aspects of the disclosure provide methods and apparatuses for video encoding/decoding. In some examples, an apparatus for video decoding includes processing circuitry. The processing circuitry can decode coding information of a coefficient block from a coded video bitstream. The coding information can indicate a size of the coefficient block. The processing circuitry can determine, based on the size of the coefficient block, an order in which inverse horizontal and inverse vertical transforms of an inverse primary transform are to be performed on transform coefficients of the coefficient block to obtain residual data of a residual block. When the size of the coefficient block satisfies a condition, the inverse vertical transform is performed after the inverse horizontal transform is performed on the transform coefficients of the coefficient block. The processing circuitry can reconstruct a sample in the residual block based on the residual data.

Claims (62)

1. A method for video decoding in a decoder, comprising:

decoding coding information of a coefficient block from a coded video bitstream, the coding information indicating a size of the coefficient block;

determining, based on the size of the coefficient block, whether to reduce a number of calculations in one of inverse horizontal and inverse vertical transforms of an inverse primary transform, the inverse vertical transform transforming transform coefficients of the coefficient block to intermediate data of an intermediate block, and the inverse horizontal transform transforming the intermediate data to residual data in a residual block;

performing the inverse primary transform, wherein:

when the number of calculations in the inverse vertical transform is determined to be reduced, top 16 rows of the intermediate data in the intermediate block are calculated by the inverse vertical transform and the remaining intermediate data in the intermediate block are zero; and

when the number of calculations in the inverse horizontal transform is determined to be reduced, left 16 columns of the residual data in the residual block are calculated by the inverse horizontal transform and the remaining residual data in the residual block are zero; and

reconstructing a sample in the residual block based on the residual data.

2. The method of claim 1 , wherein

the size of the coefficient block is 32×64;

the one of the inverse horizontal and inverse vertical transforms is the inverse vertical transform;

the determining includes determining that the number of calculations in the inverse vertical transform is to be reduced when the size of the coefficient block is 32×64; and

the performing the inverse primary transform includes performing the inverse primary transform, the top 16 rows of the intermediate data in the intermediate block being calculated by the inverse vertical transform and the remaining intermediate data in the intermediate block being zero.

3. The method of claim 1 , wherein

the size of the coefficient block is 32×64;

the one of the inverse horizontal and inverse vertical transforms is the inverse horizontal transform;

the determining includes determining that the number of calculations in the inverse horizontal transform is to be reduced when the size of the coefficient block is 32×64; and

the performing the inverse primary transform includes performing the inverse primary transform, the left 16 columns of the residual data in the residual block being calculated by the inverse horizontal transform and the remaining residual data in the residual block being zero.

4. The method of claim 1 , wherein:

the size of the coefficient block is 32×32;

the one of the inverse horizontal and inverse vertical transforms is the inverse horizontal transform;

the determining includes determining that the number of calculations in the inverse horizontal transform is to be reduced when the size of the coefficient block is 32×32; and

the performing the inverse primary transform includes performing the inverse primary transform, the left 16 columns of the residual data in the residual block being calculated by the inverse horizontal transform, the remaining residual data in the residual block being zero, and the intermediate data in the intermediate block being calculated by the inverse vertical transform.

5. The method of claim 1 , wherein

the size of the coefficient block is 32×32;

the one of the inverse horizontal and inverse vertical transforms is the inverse vertical transform;

the determining includes determining that the number of calculations in the inverse vertical transform is to be reduced when the size of the coefficient block is 32×32; and

the performing the inverse primary transform includes performing the inverse primary transform, the top 16 rows of the intermediate data in the intermediate block being calculated by the inverse vertical transform, the remaining intermediate data in the intermediate block being zero, and the residual data in the residual block being calculated by the inverse horizontal transform.

6. An apparatus for video decoding, comprising processing circuitry configured to:

decode coding information of a coefficient block from a coded video bitstream, the coding information indicating a size of the coefficient block;

determine, based on the size of the coefficient block, whether to reduce a number of calculations in one of inverse horizontal and inverse vertical transforms of an inverse primary transform, the inverse vertical transform transforming transform coefficients of the coefficient block to intermediate data of an intermediate block, and the inverse horizontal transform transforming the intermediate data to residual data in a residual block;

perform the inverse primary transform, wherein:

when the number of calculations in the inverse vertical transform is determined to be reduced, top 16 rows of the intermediate data in the intermediate block are calculated by the inverse vertical transform and the remaining intermediate data in the intermediate block are zero; and

when the number of calculations in the inverse horizontal transform is determined to be reduced, left 16 columns of the residual data in the residual block are calculated by the inverse horizontal transform and the remaining residual data in the residual block are zero; and

reconstruct a sample in the residual block based on the residual data.

7. The apparatus of claim 6 , wherein

the size of the coefficient block is 32×64;

the one of the inverse horizontal and inverse vertical transforms is the inverse vertical transform; and

the processing circuitry is further configured to:

determine that the number of calculations in the inverse vertical transform is to be reduced when the size of the coefficient block is 32×64; and

perform the inverse primary transform, wherein

the top 16 rows of the intermediate data in the intermediate block are calculated by the inverse vertical transform and the remaining intermediate data in the intermediate block are zero.

8. The apparatus of claim 6 , wherein

the size of the coefficient block is 32×64;

the one of the inverse horizontal and inverse vertical transforms is the inverse horizontal transform; and

the processing circuitry is further configured to:

determine that the number of calculations in the inverse horizontal transform is to be reduced when the size of the coefficient block is 32×64; and

perform the inverse primary transform, wherein

the left 16 columns of the residual data in the residual block are calculated by the inverse horizontal transform and the remaining residual data in the residual block are zero.

9. The apparatus of claim 6 , wherein:

the size of the coefficient block is 32×32;

the one of the inverse horizontal and inverse vertical transforms is the inverse horizontal transform; and

the processing circuitry is further configured to:

determine that the number of calculations in the inverse horizontal transform is to be reduced when the size of the coefficient block is 32×32; and

perform the inverse primary transform, wherein

the left 16 columns of the residual data in the residual block are calculated by the inverse horizontal transform, the remaining residual data in the residual block are zero, and the intermediate data in the intermediate block are calculated by the inverse vertical transform.

10. The apparatus of claim 6 , wherein

the size of the coefficient block is 32×32;

the one of the inverse horizontal and inverse vertical transforms is the inverse vertical transform; and

the processing circuitry is further configured to:

determine that the number of calculations in the inverse vertical transform is to be reduced when the size of the coefficient block is 32×32; and

perform the inverse primary transform, wherein

the top 16 rows of the intermediate data in the intermediate block are calculated by the inverse vertical transform, the remaining intermediate data in the intermediate block are zero, and the residual data in the residual block are calculated by the inverse horizontal transform.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2020
From: ZHAO, XIN; LI, XIANG; LIU, SHAN
To: TENCENT AMERICA LLC
Reel/Frame 052043/0318 →
Continuity (2)
Provisional Application 62816124 · Mar 9, 2019
Related Publication 20200288121A1 · Sep 10, 2020