IP Library Granted Patent US 11,290,722
Granted Patent B2
US 11,290,722 · App. 16/815,729 · Granted Mar 29, 2022

Method and apparatus for video encoding or decoding

Inventors: Xin Zhao (San Diego, CA); Xiaozhong Xu (State College, PA); Xiang Li (Los Gatos, CA); Shan Liu (San Jose, CA)
Assignee: TENCENT AMERICA LLC
H04N19/137H04N19/119H04N19/159H04N19/176H04N19/186H04N19/80H04N19/96
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,290,722
App. No.
16/815,729
Granted
Mar 29, 2022
Kind
B2
Abstract

A method and apparatus for encoding or decoding a video sequence includes encoding or decoding the video sequence using a 4:4:4 chroma format, or encoding or decoding the video sequence using a 4:2:2 chroma format, wherein when encoding or decoding the video sequence using the 4:4:4 chroma format, copying an affine motion vector of one 4×4 luma block using an operation other than an averaging operation and associating the affine motion vector to a co-located 4×4 chroma block, and when encoding or decoding the video sequence using the 4:2:2 chroma format, associating each 4×4 chroma block with two 4×4 co-located luma blocks such that an affine motion vector of one 4×4 chroma block is an average of the motion vectors of the two co-located luma blocks.

Claims (52)

1. A method for encoding or decoding a video sequence, the method comprising:

encoding or decoding the video sequence using one of a 4:4:4 chroma format and a 4:2:2 chroma format,

wherein when encoding or decoding the video sequence using the 4:4:4 chroma format, the method further comprises copying an affine motion vector of one 4×4 luma block using an operation other than an averaging operation and associating the affine motion vector to a co-located 4×4 chroma block,

wherein when encoding or decoding the video sequence using the 4:2:2 chroma format, the method further comprises associating each 4×4 chroma block with two 4×4 co-located luma blocks such that an affine motion vector of one 4×4 chroma block is an average of the motion vectors of the two co-located luma blocks,

wherein a maximum allowed transform size is the same for different color components, and

wherein when encoding or decoding the video sequence using the 4:2:2 chroma format, a maximum vertical transform size is the same among different color components, and a maximum horizontal transform size for color components is half of a maximum horizontal transform size for luma components.

2. The method of claim 1 , further comprising,

regardless of the chroma format, dividing a current 4×4 chroma block into four 2×2 sub-blocks,

deriving a first affine motion vector of a co-located luma block for a top-left 2×2 chroma sub-block,

deriving a second affine motion vector of the co-located luma block for a bottom-right 2×2 chroma block, and

deriving an affine motion vector of the current 4×4 chroma block using the average of the first affine motion vector and the second affine motion vector.

3. The method of claim 1 , further comprising

aligning an interpolation filter used for motion compensation between luma and chroma components.

4. The method of claim 3 , wherein when a video sequence is input using a 4:2:0 chroma format, applying an 8-tap interpolation filter for luma components and chroma components.

5. The method of claim 1 , further comprising,

coding as three separate trees, components Y, Cb, and Cr, and

wherein each tree of the three separate trees codes one component of the components Y, Cb, and Cr.

6. The method of claim 5 , wherein the coding as three separate trees is performed for an I slice or an I tile group.

7. The method of claim 1 , wherein at least one of a Position-Dependent Predictor combination (PDPC), a Multiple Transform Selection (MTS), a Non-Separable Secondary Transform (NSST), an Intra-Sub Partitioning (ISP), and a Multiple reference line (MRL) intra prediction is applied to both a luma component and a chroma component.

8. The method of claim 7 , wherein

when the Multiple reference line (MRL) intra prediction is applied to both the luma component and the chroma component, and when encoding or decoding the video sequence is performed using the 4:4:4 chroma format, the method further comprises selecting an Nth reference for intra prediction, and using a same reference line without explicit signaling for chroma components,

when the Intra-Sub Partitioning (ISP) is applied to both the luma component and the chroma component, the method further comprises applying the Intra-Sub Partitioning (ISP) at a block level for a current block for components Y, Cb, and Cr, and

when different trees are used for different color components, the method further comprises implicitly deriving coding parameters for U and V components from collocated Y components without signaling.

9. A device for encoding or decoding a video sequence, the device comprising;

at least one memory configured to store program code;

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

first encoding or decoding code configured to cause the at least one processor to encode or decode the video sequence using at least one of a 4:4:4 chroma format and a 4:2:2 chroma format,

wherein when the first encoding or decoding code is configured to cause the at least one processor to encode or decode the video sequence using the 4:4:4 chroma format, the first encoding or decoding code further comprises code configured to cause the at least one processor to copy an affine motion vector of one 4×4 luma block using an operation other than an averaging operation and to associate the affine motion vector to a co-located 4×4 chroma block,

wherein when the first encoding or decoding code is configured to cause the at least one processor to encode or decode the video sequence using the 4:2:2 chroma format, the first encoding or decoding code further comprises code configured to cause the at least one processor to associate each 4×4 chroma block with two 4×4 co-located luma blocks such that an affine motion vector of one 4×4 chroma block is an average of the motion vectors of the two co-located luma blocks,

wherein the first encoding or decoding code further comprises code configured to cause the at least one processor to allow a maximum transform size to be the same for different color components, and

wherein when the first encoding or decoding code is configured to cause the at least one processor to encode or decode the video sequence using the 4:2:2 chroma format, the first encoding or decoding code further comprises code configured to cause the at least one processor to set a maximum vertical size to be the same among different color components, and set a maximum horizontal transform size for color components to be half of a maximum horizontal transform size for luma components.

10. The device of claim 9 , wherein the first encoding or decoding code further comprises code configured to cause the at least one processor to:

divide a current 4×4 chroma block into four 2×2 sub-blocks,

derive a first affine motion vector of a co-located luma block for a top-left 2×2 chroma sub-block,

derive a second affine motion vector of the co-located luma block for a bottom-right 2×2 chroma block, and

derive an affine motion vector of the current 4×4 chroma block using the average of the first affine motion vector and the second affine motion vector.

11. The device of claim 9 , wherein the first encoding or decoding code further comprises code configured to cause the at least one processor to:

align an interpolation filter used for motion compensation between luma and chroma components.

12. The device of claim 11 , wherein when the first encoding or decoding code is configured to cause the at least one processor to encode or decode the video sequence using the 4:2:2 chroma format, the first encoding or decoding code further comprises code configured to cause the at least one processor to

apply an 8-tap interpolation filter for luma components and chroma components.

13. The device of claim 9 , wherein the first encoding or decoding code further comprises code configured to cause the at least one processor to:

code as three separate trees, components Y, Cb, and Cr, and

wherein each tree of the three separate trees codes one component of the components Y, Cb, and Cr.

14. The device of claim 13 , wherein the configuration to code as three separate trees is configured to be performed for an I slice or an I tile group.

15. The device of claim 9 , wherein the first encoding or decoding code further comprises code configured to cause the at least one processor to:

apply at least one of a Position-Dependent Predictor combination (PDPC), a Multiple Transform Selection (MTS), a Non-Separable Secondary Transform (NSST), an Intra-Sub Partitioning (ISP), and a Multiple reference line (MRL) intra prediction to both a luma component and a chroma component.

16. A non-transitory computer-readable medium storing program code, the program code comprising one or more instructions that, when executed by one or more processors of a device, cause the one or more processors to:

encode or decode the video sequence using at least one of a 4:4:4 chroma format and a 4:2:2 chroma format,

wherein when the instructions, when executed by the one or more processors of the device cause the one or more processors to encode or decode the video sequence using the 4:4:4 chroma format, the instructions, when executed by the one or more processors of the device, further cause the one or more processors to copy an affine motion vector of one 4×4 luma block using an operation other than an averaging operation and associating the affine motion vector to a co-located 4×4 chroma block,

wherein when the instructions, when executed by the one or more processors of the device cause the one or more processors to encode or decode the video sequence using the 4:2:2 chroma format, the instructions, when executed by the one or more processors of the device, further cause the one or more processors to associate each 4×4 chroma block with two 4×4 co-located luma blocks such that an affine motion vector of one 4×4 chroma block is an average of the motion vectors of the two co-located luma blocks,

wherein a maximum allowed transform size is the same for different color components, and

wherein when encoding or decoding the video sequence using the 4:2:2 chroma format, a maximum vertical transform size is the same among different color components, and a maximum horizontal transform size for color components is half of a maximum horizontal transform size for luma components.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2020
From: XU, XIAOZHONG
To: TENCENT AMERICA LLC
Reel/Frame 053935/0107 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2020
From: ZHAO, XIN
To: TENCENT AMERICA LLC
Reel/Frame 053872/0238 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2020
From: LI, XIANG
To: TENCENT AMERICA LLC
Reel/Frame 053872/0432 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2020
From: LIU, SHAN
To: TENCENT AMERICA LLC
Reel/Frame 053872/0749 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2020
From: ZHAO, XIN; XU, XIAOZHONG; LI, XIANG; LIU, SHAN
To: TENCENT AMERICA LLC
Reel/Frame 052087/0557 →
Continuity (2)
Provisional Application 62817517 · Mar 12, 2019
Related Publication 20200296382A1 · Sep 17, 2020
Cited By (1)
US 12,192,472