IP Library Granted Patent US 11,102,513
Granted Patent B2
US 11,102,513 · App. 16/694,338 · Granted Aug 24, 2021

One-level transform split and adaptive sub-block transform

Inventors: Xin Zhao (San Diego, CA); Liang Zhao (Sunnyvale, CA); Xiang Li (Los Gatos, CA); Shan Liu (San Jose, CA)
Assignee: TENCENT AMERICA LLC
H04N19/647H04N19/132H04N19/137H04N19/159H04N19/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 11,102,513
App. No.
16/694,338
Granted
Aug 24, 2021
Kind
B2
Abstract

A method of partitioning a coding unit (CU) into one or more transform units (TUs) for encoding a video sequence using at least one processor includes determining a height of the CU; determining a width of the CU; determining a TU size of each of the one or more TUs based on the height of the CU and the width of the CU; determining one or more TU positions of the one or more TUs based on the height of the CU and the width of the CU; and partitioning the CU into the one or more TUs based on the determined size of the one or more TUs and the one or more positions of the one or more TUs.

Claims (71)

1. A method of partitioning a coding unit (CU) into one or more transform units (TUs) for encoding a video sequence using at least one processor, the method comprising:

determining a height of the CU;

determining a width of the CU;

determining at least one from among a virtual residual block (VRB) corresponding to the CU and a virtual prediction block corresponding to the CU;

determining a TU size of each of the one or more TUs based on the height of the CU and the width of the CU;

determining one or more TU positions of the one or more TUs based on the height of the CU and the width of the CU; and

partitioning the CU into the one or more TUs based on the determined TU size of the one or more TUs and the one or more TU positions of the one or more TUs,

wherein at least one from among the TU size and the one or more TU positions is further determined based on the at least one from among the VRB and the virtual prediction block.

2. The method of claim 1 , wherein the height of the CU is equal to the width of the CU,

wherein a number of the one or more TUs is four,

wherein a height of the each of the one or more TUs is half of the height of the CU, and

wherein a width of the each of the one or more TUs is half of the width of the CU.

3. The method of claim 1 , wherein the width of the CU is greater than the height of the CU,

wherein a number of the one or more TUs is two,

wherein a height of each of the one or more TUs is equal to the height of the CU, and

wherein a width of the each of the one or more TUs is half of the width of the CU.

4. The method of claim 1 , wherein the height of the CU is greater than the width of the CU,

wherein a number of the one or more TUs is two,

wherein a height of each of the one or more TUs is half of the height of the CU, and

wherein a width of the each of the one or more TUs is equal to the width of the CU.

5. The method of claim 1 , wherein an order of transform types available to a TU of the one or more TUs is determined based on a position of the TU from among the one or more TU positions.

6. The method of claim 1 , wherein the one or more TUs are not partitioned into smaller TUs.

7. The method of claim 1 , further comprising:

determining that multiple prediction blocks are used to perform inter prediction coding of the CU; and

determining at least one from among the TU size and the one or more TU positions based on prediction sample values of the multiple prediction blocks.

8. The method of claim 7 , wherein the multiple prediction blocks comprise a first prediction block and a second prediction block, and

wherein the method further comprises:

calculating the VRB by subtracting the second prediction block from the first prediction block; and

determining the at least one from among the TU size and the one or more TU positions based on a residual energy distribution of the VRB.

9. The method of claim 7 , wherein the one or more TU positions are selected from a subset of potential TU positions.

10. The method of claim 9 , wherein the subset is signaled in one from among a sequence parameter set, a picture parameter set, a slice header, or a tile header.

11. The method of claim 1 , further comprising:

determining that a single prediction block is used to perform inter prediction coding of the CU;

locating the virtual prediction block; and

determining at least one from among the TU size and the one or more TU positions based on the prediction block and the virtual prediction block.

12. The method of claim 11 , wherein the virtual prediction block is derived by mirroring a motion vector of the CU and locating the virtual prediction block in a reference picture which is different from a reference picture of the prediction block.

13. The method of claim 11 , wherein the CU is associated with a first reference frame, and

wherein the method further comprises:

determining a neighboring block associated with a second reference frame which is different from the first reference frame; and

deriving the virtual prediction block based on a position of the CU, a motion vector of the neighboring block, and the second reference frame.

14. A device for partitioning a coding unit (CU) into one or more transform units (TUs) for encoding a video sequence, the device comprising:

at least one memory configured to store program code; and

at least one processor configured to read the program code and operate as instructed by the program code, the program code including:

first determining code configured to cause the at least one processor to determine a height of the CU;

second determining code configured to cause the at least one processor to determine a width of the CU;

third determining at least one from among a virtual residual block (VRB) corresponding to the CU and a virtual prediction block corresponding to the CU;

fourth determining code configured to cause the at least one processor to determine a TU size of each of the one or more TUs based on the height of the CU and the width of the CU;

fifth determining code configured to cause the at least one processor to determine one or more TU positions of the one or more TUs based on the height of the CU and the width of the CU; and

partitioning code configured to cause the at least one processor to partition the CU into the one or more TUs based on the determined TU size of the one or more TUs and the one or more TU positions of the one or more TUs,

wherein at least one from among the TU size and the one or more TU positions is further determined based on the at least one from among the VRB and the virtual prediction block.

15. The device of claim 14 , wherein an order of transform types available to a TU of the one or more TUs is determined based on a position of the TU from among the one or more TU positions.

16. The device of claim 14 , wherein the one or more TUs are not partitioned into smaller TUs.

17. The device of claim 14 , wherein the program code further comprises:

sixth determining code configured to cause the at least one processor to determine that multiple prediction blocks are used to perform inter prediction coding of the CU;

seventh determining code configured to cause the at least one processor to determine at least one from among the TU size and the one or more TU positions based on prediction sample values of the multiple prediction blocks.

18. The device of claim 17 , wherein the multiple prediction blocks comprise a first prediction block and a second prediction block, and

wherein the program code further comprises:

calculating code configured to cause the at least one processor to calculate the VRB by subtracting the second prediction block from the first prediction block; and

eighth determining code configured to cause the at least one processor to determine the at least one from among the TU size and the one or more TU positions based on a residual energy distribution of the VRB.

19. The device of claim 14 , wherein the program code further comprises:

sixth determining code configured to cause the at least one processor to determine that a single prediction block is used to perform inter prediction coding of the CU;

locating code configured to cause the at least one processor to locate the virtual prediction block; and

seventh determining code configured to cause the at least one processor to determine at least one from among the TU size and the one or more TU positions based on the prediction block and the virtual prediction block.

20. A non-transitory computer-readable medium storing instructions, the instructions comprising: one or more instructions that, when executed by one or more processors of a device for partitioning a coding unit (CU) into one or more transform units (TUs) for encoding a video sequence, cause the one or more processors to:

determine a height of the CU;

determining a width of the CU;

determine at least one from among a virtual residual block (VRB) corresponding to the CU and a virtual prediction block corresponding to the CU;

determine a TU size of each of the one or more TUs based on the height of the CU and the width of the CU;

determine one or more TU positions of the one or more TUs based on the height of the CU and the width of the CU; and

partition the CU into the one or more TUs based on the determined TU size of the one or more TUs and the one or more TU positions of the one or more TUs,

wherein at least one from among the TU size and the one or more TU positions is further determined based on the at least one from among the VRB and the virtual prediction block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2019
From: ZHAO, XIN; ZHAO, LIANG; LI, XIANG; LIU, SHAN
To: TENCENT AMERICA LLC
Reel/Frame 051107/0032 →
Continuity (3)
Provisional Application 62785681 · Dec 27, 2018
Provisional Application 62776354 · Dec 6, 2018
Related Publication 20200186838A1 · Jun 11, 2020