IP Library Granted Patent US 12,250,399
Granted Patent B2
US 12,250,399 · App. 17/811,239 · Granted Mar 11, 2025

Method, device, and system for determining prediction weight for merge mode

Inventors: Jie Chen (San Mateo, CA); Ru-Ling Liao (San Mateo, CA); Yan Ye (San Mateo, CA)
Assignee: Alibaba Group Holding Limited
H04N19/573
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 12,250,399
App. No.
17/811,239
Granted
Mar 11, 2025
Kind
B2
Abstract

Systems, devices, and methods for determining prediction weight for sub-block are provided. One exemplary method includes: partitioning a coding unit into a plurality of sub-blocks; determining a weight of a sub-block of the plurality of sub-blocks based on weights of control points, wherein the control points are neighboring corners of the coding unit; and bi-predicting the sub-block based on the determined weight.

Claims (107)

1. A method for processing video data, the method comprising:

partitioning a coding unit into a plurality of sub-blocks, wherein the coding unit is associated with a first weight;

determining a second weight of a sub-block of the plurality of sub-blocks based on weights of control points, wherein the control points are neighboring corners of the coding unit; and

bi-predicting the sub-block based on the second weight.

2. The method according to claim 1 , wherein the determining the second weight of the sub-block within the coding unit comprises:

in response to the sub-block comprising one of the control points, using a weight of the one of the control points as the second weight of the sub-block, or in response to the sub-block not comprising the control points, determining the second weight of the sub-block according to a pre-defined rule.

3. The method according to claim 1 , wherein:

the coding unit is partitioned into four sub-blocks and has two control points; and

the determining the second weight of the sub-block within the coding unit comprises:

in response to the sub-block comprising one of the two control points, using a weight of the one of the two control points as the second weight of the sub-block, or

in response to the sub-block not comprising the two control points, setting the second weight of the sub-block to be one of:

a weight of one of the two control points with a shorter distance to the sub-block, or

a default value.

4. The method according to claim 1 , wherein:

the coding unit is partitioned into two sub-blocks and has three control points; and

the determining the second weight of the sub-block within the coding unit comprises:

in response to the sub-block including only one of the three control points, using a weight of the one of the control points as the second weight of the sub-block, or

in response to the sub-block comprising at least two of the three control points, using a default value or a weight of one of the two control points as the second weight of the sub-block.

5. The method according to claim 1 , wherein:

the coding unit is partitioned into four sub-blocks and has three control points, the three control points having a first control point weight, a second control point weight, and a third control point weight, respectively; and

the determining the second weight of the sub-block within the coding unit comprises:

in response to the sub-block comprising at least one of the three control points, using a weight of the one of the control points as the second weight of the sub-block, or

in response to the sub-block not comprising the three control points, setting the second weight of the sub-block to be one of:

an average value of the first control point weight, the second control point weight, and the third control point weight,

a middle value of the first control point weight, the second control point weight, and the third control point weight,

an equal weight of the coding unit,

one of the first control point weight, the second control point weight, and the third control point weight which has a smallest difference from the equal weight,

one of the first control point weight and second control point weight which has a smaller difference from the equal weight, or

a default value.

6. The method according to claim 1 , wherein the coding unit has two control points, and

the partitioning a coding unit into a plurality of sub-blocks comprises:

partitioning the coding unit into two sub-blocks, wherein each sub-block includes one control point; and

the determining the second weight of the sub-block of the plurality of sub-blocks based on weights of control points comprises:

using a weight of the control point included in the sub-block as the second weight of the sub-block.

7. The method according to claim 1 , wherein the coding unit has four control points, and

the partitioning a coding unit into a plurality of sub-blocks comprises:

partitioning the coding unit into four sub-blocks, wherein each sub-block includes one control point;

the determining the second weight of the sub-block of the plurality of sub-blocks based on weights of control points comprises:

using a weight of the control point included in the sub-block as the second weight of the sub-block.

8. A video processing apparatus, comprising:

a memory storing instructions; and

one or more processors configured to execute the instructions to cause the apparatus to perform:

partitioning a coding unit into a plurality of sub-blocks, wherein the coding unit is associated with a first weight;

determining a second weight of a sub-block of the plurality of sub-blocks based on weights of control points, respectively, wherein the control points are neighboring corners of the coding unit; and

bi-predicting the sub-block based on the second weight.

9. The apparatus according to claim 8 , wherein in determining the second weight of the sub-block within the coding unit, the one or more processors are further configured to execute the instructions to cause the apparatus to perform:

in response to the sub-block comprising one of the control points, using a weight of the one of the control points as the second weight of the sub-block, or

in response to the sub-block not comprising the control points, determining the second weight of the sub-block according to a pre-defined rule.

10. The apparatus according to claim 8 , wherein:

the coding unit is partitioned into four sub-blocks and has two control points; and

in determining the second weight of the sub-block within the coding unit, the one or more processors are further configured to execute the instructions to cause the apparatus to perform:

in response to the sub-block comprising one of the two control points, using a weight of the one of the two control points as the second weight of the sub-block, or

in response to the sub-block not comprising the two control points, setting the second weight of the sub-block to be one of:

a weight of one of the two control points with a shorter distance to the sub-block, or

a default value.

11. The apparatus according to claim 8 , wherein:

the coding unit is partitioned into two sub-blocks and has three control points; and

in determining the second weight of the sub-block within the coding unit, the one or more processors are further configured to execute the instructions to cause the apparatus to perform:

in response to the sub-block including only one of the three control points, using a weight of the one of the control points as the second weight of the sub-block, or

in response to the sub-block comprising at least two of the three control points, using a default value or a weight of one of the two control points as the second weight of the sub-block.

12. The apparatus according to claim 8 , wherein:

the coding unit is partitioned into four sub-blocks and has three control points, the three control points having a first control point weight, a second control point weight, and a third control point weight, respectively; and

in determining the second weight of the sub-block within the coding unit, the one or more processors are further configured to execute the instructions to cause the apparatus to perform:

in response to the sub-block comprising at least one of the three control points, using a weight of the one of the control points as the second weight of the sub-block, or

in response to the sub-block not comprising the three control points, setting the second weight of the sub-block to be one of:

an average value of the first control point weight, the second control point weight, and the third control point weight,

a middle value of the first control point weight, the second control point weight, and the third control point weight,

an equal weight of the coding unit,

one of the first control point weight, the second control point weight, and the third control point weight which has a smallest difference from the equal weight,

one of the first control point weight and the second control point weight which has a smaller difference from the equal weight, or

a default value.

13. The apparatus according to claim 8 , wherein:

the coding unit has two control points; and

in partitioning a coding unit into a plurality of sub-blocks, the one or more processors are further configured to execute the instructions to cause the apparatus to perform:

partitioning the coding unit into two sub-blocks, wherein each sub-block includes one control point; and

in determining the second weight of the sub-block of the plurality of sub-blocks based on weights of control points, the one or more processors are further configured to execute the instructions to cause the apparatus to perform:

using a weight of the control point included in the sub-block as the second weight of the sub-block.

14. The apparatus according to claim 8 , wherein:

the coding unit has four control points; and

in partitioning a coding unit into a plurality of sub-blocks, the one or more processors are further configured to execute the instructions to cause the apparatus to perform:

partitioning the coding unit into four sub-blocks, wherein each sub-block includes one control point; and

in determining the second weight of the sub-block of the plurality of sub-blocks based on weights of control points, the one or more processors are further configured to execute the instructions to cause the apparatus to perform:

using a weight of the control point included in the sub-block as the second weight of the sub-block.

15. A non-transitory computer readable medium storing a bitstream, wherein the bitstream comprises a flag indicating a coding unit being partitioned into a plurality of sub-blocks, wherein the flag causes a decoder to:

determine a second weight of a sub-block of the plurality of sub-blocks based on weights of control points, respectively, wherein the control points are neighboring corners of the coding unit; and

bi-predict the sub-block based on the second weight.

16. The non-transitory computer readable medium according to claim 15 , wherein the flag further indicates the coding unit being partitioned into four sub-blocks and having two control points, and the flag further causes the decoder to:

in response to the sub-block comprising one of the two control points, use a weight of the one of the two control points as the second weight of the sub-block, or

in response to the sub-block not comprising the two control points, set the second weight of the sub-block to be one of:

a weight of one of the two control points with a shorter distance to the sub-block, or

a default value.

17. The non-transitory computer readable medium according to claim 15 , wherein the flag further indicates the coding unit being partitioned into two sub-blocks and having three control points, and the flag further causes the decoder to:

in response to the sub-block including only one of the three control points, use a weight of the one of the control points as the second weight of the sub-block, or

in response to the sub-block comprising at least two of the three control points, use a default value or a weight of one of the two control points as the second weight of the sub-block.

18. The non-transitory computer readable medium according to claim 15 , wherein the flag further indicates the coding unit being partitioned into four sub-blocks and having three control points, the three control points having a first control point weight, a second control point weight, and a third control point weight, respectively, and the flag further causes the decoder to:

in response to the sub-block comprising at least one of the three control points, use a weight of the one of the control points as the second weight of the sub-block, or

in response to the sub-block not comprising the three control points, set the second weight of the sub-block to be one of:

an average value of the first control point weight, the second control point weight, and the third control point weight,

a middle value of the first control point weight, the second control point weight, and the third control point weight,

an equal weight of the coding unit,

one of the first control point weight, the second control point weight, and the third control point weight which has a smallest difference from the equal weight,

one of the first control point weight and the second control point weight which has a smaller difference from the equal weight, or

a default value.

19. The non-transitory computer readable medium according to claim 15 , wherein the flag further indicates the coding unit having two control points and the coding unit being partitioned into two sub-blocks, each sub-block including one control point, and the flag further causes the decoder to:

use a weight of the control point included in the sub-block as the second weight of the sub-block.

20. The non-transitory computer readable medium according to claim 15 , wherein the flag further indicates the coding unit having four control points and the coding unit being partitioned into four sub-blocks, each sub-block including one control point, and the flag further causes the decoder to:

use a weight of the control point included in the sub-block as the second weight of the sub-block.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2026
From: ALIBABA INNOVATION PRIVATE LIMITED
To: HFI INNOVATION INC.
Reel/Frame 075499/0876 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: ALIBABA INNOVATION PRIVATE LIMITED
Reel/Frame 074832/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2022
From: CHEN, JIE; LIAO, RU-LING; YE, YAN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 060452/0707 →
Continuity (3)
Continuation 16805573 · Feb 28, 2020
Provisional Application 62816879 · Mar 11, 2019
Related Publication 20220345741A1 · Oct 27, 2022
References Cited (41)
US 11394999B2 · Chen · 2022 [cited by examiner]
US 20170374379A1 · Chen et al. · 2017 [cited by applicant]
US 20180098063A1 · Chen et al. · 2018 [cited by applicant]
US 20180184126A1 · Zhang et al. · 2018 [cited by applicant]
US 20180270500A1 · Li et al. · 2018 [cited by applicant]
US 20180332298A1 · Liu et al. · 2018 [cited by applicant]
US 20190182503A1 · Tsai · 2019 [cited by examiner]
US 20200059651A1 · Lin · 2020 [cited by examiner]
US 20200177911A1 · Aono et al. · 2020 [cited by applicant]
US 20200204807A1 · Ye · 2020 [cited by examiner]
US 20200213585A1 · Huang · 2020 [cited by examiner]
US 20200221120A1 · Robert · 2020 [cited by examiner]
US 20200228815A1 · Xu · 2020 [cited by examiner]
US 20200244979A1 · Li · 2020 [cited by examiner]
US 20200359049A1 · Zhao et al. · 2020 [cited by applicant]
US 20210195177A1 · Zhang · 2021 [cited by examiner]
US 20210258575A1 · Zhang · 2021 [cited by examiner]
CN 108605137A · 2018 [cited by applicant]
WO WO2017148345A1 · 2017 [cited by applicant]
WO WO2017197146 · 2017 [cited by applicant]
WO WO2018067848A1 · 2018 [cited by applicant]
WO WO2018097692A2 · 2018 [cited by applicant]
WO WO2018097692A3 · 2018 [cited by applicant]
WO WO2019002215A1 · 2019 [cited by applicant]
WO WO2020084511A1 · 2020 [cited by examiner]
WO WO2020098782 · 2020 [cited by applicant]
WO WO2020147747A1 · 2020 [cited by examiner]
“Generalized Bi-prediction Method for Future Video Coding”—Chen et al., 2016 Picture Coding Symposium (PCS), Date of Conference: Dec. 4-7, 2016. (Year: 2016). [cited by examiner]
“Generalized Bi-prediction Method for Future Video Coding”—Chun-Chi Chen, Xiaoyu Xiu, Yuwen He, and Yan Ye; 2016 Picture Coding Symposium (PCS); Date of Conference: Dec. 4-7, 2016 (Year: 2016). [cited by examiner]
European Patent Office Communication issued for Application No. 20769820.0 which encloses the extended European Search Report which includes pursuant to Rule 62 EPC, the Supplementary European Search Report (Art. 153(7)… [cited by applicant]
Bross et al., “Versatile Video Coding (Draft 4), ”JVET-M1001-6, 13 [cited by applicant]
Chen et al., “Non-CE2: Gbi inheritance for constructed affine merge candidate,” JVET-N0481-v1, 14 [cited by applicant]
Chen et al., “Algorithm description for Versatile Video Coding and Test Model 4 (VTM 4),” JVET-M1002-v1, 13 [cited by applicant]
Su et al., “CE4-related: Generallized bi-prediction improvements combined from JVET-L0197 and JVET-L0296,” JVET-L0646-v2, 12 [cited by applicant]
PCT International Search Report and Written Opinion mailed May 20, 2020, issued in corresponding International Application No. PCT/US2020/020483 (14 pgs.). [cited by applicant]
Chen et al., “Generalized Bi-prediction Method for Future Video Coding,” 2016 Picture Coding Symposium (PCS), 5 pages, 2016. [cited by applicant]
European Patent Office Communication issued for Application No. 20769820.0 which encloses the extended European Search Report dated Oct. 12, 2022, 15 pages. [cited by applicant]
Li et al., “CE4-related: Constraint on GBi index inheritance in Merge Mode,” JVET-M0433, 13 [cited by applicant]
Bross et al., “Versatile Video Coding (Draft 4),” JVET-M1001-v7, 13 [cited by applicant]
Chen et al., “Test Model 4 of Versatile Video Coding (VTM 4),” JVET-M1002-v2, 13 Meeting: Marrakech, MA, Jan. 9-18, 2019, 63 pages. [cited by applicant]
Chinese Search Report issued in corresponding Chinese Application No. 202080016124.2 (3 pages), Aug. 15, 2023. [cited by applicant]