IP Library › Granted Patent US 12,519,963
Granted Patent B2
US 12,519,963 · App. 18/540,756 · Granted Jan 6, 2026

Methods and devices for geometric partition mode with motion vector refinement

Inventors: Xiaoyu Xiu (San Diego, CA); Wei Chen (San Diego, CA); Che-Wei Kuo (San Diego, CA); Hong-Jheng Zhu (San Diego, CA); Ning Yan (San Diego, CA); Yi-wen Chen (San Diego, CA); Xianglin Wang (San Diego, CA); Bing Yu (Beijing, CN)
Assignee: BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO., LTD.
H04N19/44H04N19/105H04N19/132H04N19/137H04N19/176H04N19/70
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,519,963
App. No.
18/540,756
Granted
Jan 6, 2026
Kind
B2
Abstract

Provided is a method for video decoding including: receiving a control variable enabling adaptive switch between motion vector refinement (MVR) offset sets; receiving an indication variable enabling adaptive switch between codeword tables that binarize offset magnitudes in the MVR offset sets under the coding level; partitioning the video block into a first and a second geometric partition; selecting an MVR offset set based on the control variable; receiving syntax elements to determine a first and second MVR offsets applied to the first and second geometric partitions from the selected MVR offset set; obtaining a first and second MVs from a candidate list for the first and the second geometric partition; calculating a first and second refined MVs based on the first and second MVs and the first and second MVR offsets; and obtaining prediction samples based on the first and second refined MVs.

Claims (126)

1 . A method of decoding a video block in geometry partition mode (GPM), comprising:

receiving a control variable associated with the video block, wherein the control variable enables adaptive switch between a plurality of motion vector refinement (MVR) offset sets and the control variable is applied at a coding level;

receiving an indication variable associated with the video block, wherein the indication variable enables adaptive switch between a plurality of codeword tables that binarize a plurality of offset magnitudes in the plurality of MVR offset sets under the coding level;

partitioning the video block into a first geometric partition and a second geometric partition;

selecting an MVR offset set from the plurality of MVR offset sets based on the control variable;

receiving one or more syntax elements to determine a first MVR offset and a second MVR offset that are applied to the first geometric partition and the second geometric partition from a selected MVR offset set;

obtaining a first motion vector (MV) and a second MV from a candidate list for the first geometric partition and the second geometric partition;

calculating a first refined MV and a second refined MV based on the first MV, the second MV, the first MVR offset, and the second MVR offset; and

obtaining prediction samples for the video block based on the first refined MV and the second refined MV;

wherein the plurality of MVR offset sets comprise a first MVR offset set and a second MVR offset set, and the second MVR offset set comprises at least one offset magnitude of the first MVR offset set.

2 . The method of claim 1 , wherein the coding level comprises a sequence level, a picture level, a coding tree unit level, or a coding block level.

3 . The method of claim 1 ,

wherein the plurality of codeword tables comprises a first codeword table and a second codeword table.

4 . The method of claim 3 , further comprising:

in response to determining that the control variable is equal to 0, determining that the first MVR offset set is applied; and

in response to determining that the control variable is equal to 1, determining that the second MVR offset set is applied.

5 . The method of claim 4 , further comprising:

in response to determining that the indication variable is equal to 0, determining that the first codeword table is applied; and

in response to determining that the indication variable is equal to 1, determining that the second codeword table is applied.

6 . The method of claim 5 , wherein the first MVR offset set comprises a plurality of default offset magnitudes comprising:

a first default offset magnitude indicating a distance of ¼ pixel from the video block,

a second default offset magnitude indicating a distance of ½ pixel from the video block,

a third default offset magnitude indicating a distance of 1 pixel from the video block,

a fourth default offset magnitude indicating a distance of 2 pixels from the video block,

a fifth default offset magnitude indicating a distance of 4 pixels from the video block,

a sixth default offset magnitude indicating a distance of 8 pixels from the video block,

a seventh default offset magnitude indicating a distance of 16 pixels from the video block, and

an eighth default offset magnitude indicating a distance of 32 pixels from the video block; and

wherein the second MVR offset set comprises a plurality of alternative offset magnitudes comprising:

a first alternative offset magnitude indicating a distance of ¼ pixel from the video block,

a second alternative offset magnitude indicating a distance of ½ pixel from the video block,

a third alternative offset magnitude indicating a distance of 1 pixel from the video block,

a fourth alternative offset magnitude indicating a distance of 2 pixels from the video block,

a fifth alternative offset magnitude indicating a distance of 3 pixels from the video block,

a sixth alternative offset magnitude indicating a distance of 4 pixels from the video block,

a seventh alternative offset magnitude indicating a distance of 6 pixels from the video block,

an eighth alternative offset magnitude indicating a distance of 8 pixels from the video block, and

a ninth alternative offset magnitude indicating a distance of 16 pixels from the video block.

7 . The method of claim 6 , further comprising:

in response to determining that the control variable is equal to 0 and the indication variable is equal to 0, determining that the first MVR offset set is applied and determining that the plurality of default offset magnitudes are binarized using the first codeword table,

wherein determining that the plurality of default offset magnitudes are binarized using the first codeword table comprises determining:

the first default offset magnitude is binarized as 1,

the second default offset magnitude is binarized as 10,

the third default offset magnitude is binarized as 110,

the fourth default offset magnitude is binarized as 1110,

the fifth default offset magnitude is binarized as 11110,

the sixth default offset magnitude is binarized as 111110,

the seventh default offset magnitude is binarized as 1111110, and

the eighth default offset magnitude is binarized as 1111111.

8 . The method of claim 6 , further comprising:

in response to determining that the control variable is equal to 0 and the indication variable is equal to 1, determining that the first MVR offset set is applied and determining that the plurality of default offset magnitudes are binarized using the second codeword table,

wherein determining that the plurality of default offset magnitudes are binarized using the second codeword table comprises determining:

the first default offset magnitude is binarized as 111110,

the second default offset magnitude is binarized as 1,

the third default offset magnitude is binarized as 10,

the fourth default offset magnitude is binarized as 110,

the fifth default offset magnitude is binarized as 1110,

the sixth default offset magnitude is binarized as 11110,

the seventh default offset magnitude is binarized as 1111110, and

the eighth default offset magnitude is binarized as 11111111.

9 . The method of claim 6 , further comprising:

in response to determining that the control variable is equal to 1 and the indication variable is equal to 0, determining that the second MVR offset set is applied and determining that the plurality of alternative offset magnitudes are binarized using the first codeword table,

wherein determining that the plurality of alternative offset magnitudes are binarized using the first codeword table comprises determining:

the first alternative offset magnitude is binarized as 1,

the second alternative offset magnitude is binarized as 10,

the third alternative offset magnitude is binarized as 110,

the fourth alternative offset magnitude is binarized as 1110,

the fifth alternative offset magnitude is binarized as 11110,

the sixth alternative offset magnitude is binarized as 111110,

the seventh alternative offset magnitude is binarized as 1111110,

the eighth alternative offset magnitude is binarized as 11111110, and

the ninth alternative offset magnitude is binarized as 11111111.

10 . The method of claim 6 , further comprising:

in response to determining that the control variable is equal to 1 and the indication variable is equal to 1, determining that the second MVR offset set is applied and determining that the plurality of alternative offset magnitudes are binarized using the second codeword table,

wherein determining that the plurality of alternative offset magnitudes are binarized using the second codeword table comprises determining:

the first alternative offset magnitude is binarized as 111110,

the second alternative offset magnitude is binarized as 1,

the third alternative offset magnitude is binarized as 10,

the fourth alternative offset magnitude is binarized as 110,

the fifth alternative offset magnitude is binarized as 1110,

the sixth alternative offset magnitude is binarized as 11110,

the seventh alternative offset magnitude is binarized as 1111110,

the eighth alternative offset magnitude is binarized as 11111110, and

the ninth alternative offset magnitude is binarized as 11111111.

11 . The method of claim 1 , wherein the plurality of MVR offset sets comprise a first MVR offset set and a second MVR offset set,

wherein the second MVR offset set comprises at least one offset direction of the first MVR offset set, and

wherein offset directions in the first MVR offset set and the second MVR offset set are respectively binarized using fixed-length codeword.

12 . The method of claim 1 , wherein receiving the one or more syntax elements to determine the first MVR offset and the second MVR offset that are applied to the first geometric partition and the second geometric partition from the selected MVR offset set comprises:

receiving a first geometric partition enable syntax element that indicates whether an MVR is applied to the first geometric partition or not;

in response to determining that the first geometric partition enable syntax element is equal to 1, receiving a first direction syntax element and a first magnitude syntax element that indicate offset direction and offset magnitude of the first MVR offset of the first geometric partition that are determined based on the selected MVR offset set;

receiving a second geometric partition enable syntax element that indicates whether the MVR is applied to the second geometric partition or not; and

in response to determining that the second geometric partition enable syntax element is equal to 1, receiving a second direction syntax element and a second magnitude syntax element that indicate offset direction and offset magnitude of the second MVR offset of the second geometric partition that are determined based on the selected MVR offset set.

13 . The method of claim 12 , wherein the first geometric partition enable syntax element comprises gpm_mvr_partIdx0_enable_flag;

wherein the first direction syntax element and the first magnitude syntax element comprise gpm_mvr_partIdx0_direction_idx and gpm_mvr_partIdx0_distance_idx respectively;

wherein the second geometric partition enable syntax element comprises gpm_mvr_partIdx1_enable_flag; and

wherein the second direction syntax element and the second magnitude syntax element comprise gpm_mvr_partIdx1_direction_idx and gpm_mvr_partIdx1_distance_idx respectively.

14 . An apparatus for video decoding, comprising:

one or more processors; and

a memory configured to store instructions executable by the one or more processors,

wherein the one or more processors, upon execution of the instructions, are configured to perform a method of decoding a video block in geometry partition mode (GPM), comprising:

receiving a control variable associated with the video block, wherein the control variable enables adaptive switch between a plurality of motion vector refinement (MVR) offset sets and the control variable is applied at a coding level;

receiving an indication variable associated with the video block, wherein the indication variable enables adaptive switch between a plurality of codeword tables that binarize a plurality of offset magnitudes in the plurality of MVR offset sets under the coding level;

partitioning the video block into a first geometric partition and a second geometric partition;

selecting an MVR offset set from the plurality of MVR offset sets based on the control variable;

receiving one or more syntax elements to determine a first MVR offset and a second MVR offset that are applied to the first geometric partition and the second geometric partition from a selected MVR offset set;

obtaining a first motion vector (MV) and a second MV from a candidate list for the first geometric partition and the second geometric partition;

calculating a first refined MV and a second refined MV based on the first MV, the second MV, the first MVR offset, and the second MVR offset; and

obtaining prediction samples for the video block based on the first refined MV and the second refined MV;

wherein the plurality of MVR offset sets comprise a first MVR offset set and a second MVR offset set, and the second MVR offset set comprises at least one offset magnitude of the first MVR offset set.

15 . A method of encoding a video block in geometry partition mode (GPM), comprising:

determining a control variable associated with the video block, wherein the control variable enables adaptive switch between a plurality of motion vector refinement (MVR) offset sets and the control variable is applied at a coding level;

determining an indication variable associated with the video block, wherein the indication variable enables adaptive switch between a plurality of codeword tables that binarize a plurality of offset magnitudes in the plurality of MVR offset sets under the coding level;

partitioning the video block into a first geometric partition and a second geometric partition;

selecting an MVR offset set from the plurality of MVR offset sets based on the control variable;

determining a first MVR offset and a second MVR offset that are applied to the first and second geometric partitions from the selected MVR offset set;

obtaining a first motion vector (MV) and a second MV from a candidate list for the first geometric partition and the second geometric partition;

calculating a first refined MV and a second refined MV based on the first and second MVs and the first and second MVR offsets; and

obtaining prediction samples for the video block based on the first and second refined MVs;

wherein the plurality of MVR offset sets comprise a first MVR offset set and a second MVR offset set, and the second MVR offset set comprises at least one offset magnitude of the first MVR offset set.

16 . An apparatus for video encoding, comprising:

one or more processors; and

a memory configured to store instructions executable by the one or more processors,

wherein the one or more processors, upon execution of the instructions, are configured to perform the method of claim 15 .

17 . A method of storing a bitstream, comprising:

performing the method of claim 15 to generate a bitstream; and

storing the bitstream on a non-transitory computer-readable storage medium.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2023
From: XIU, XIAOYU; CHEN, WEI; KUO, CHE-WEI; JHU, HONG-JHENG; YAN, NING; CHEN, YI-WEN; WANG, XIANGLIN; YU, BING
To: BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO., LTD.
Reel/Frame 065881/0084 →
Continuity (3)
Continuation PCTUS2022033473 · Jun 14, 2022
Provisional Application 63210484 · Jun 14, 2021
Related Publication 20240146945A1 · May 2, 2024
References Cited (27)
US 11070820B2 · Zhang et al. · 2021 [cited by applicant]
US 20160277762A1 · Zhang · 2016 [cited by examiner]
US 20210006790A1 · Zhang · 2021 [cited by examiner]
US 20220329824A1 · Liao · 2022 [cited by examiner]
US 20230144567A1 · Panusopone · 2023 [cited by examiner]
US 20230283786A1 · Zhang · 2023 [cited by examiner]
US 20230421773A1 · Chen · 2023 [cited by examiner]
US 20240205414A1 · Deng · 2024 [cited by examiner]
WO 2020096426A1 · 2020 [cited by applicant]
WO 2020106189A1 · 2020 [cited by applicant]
WO 2020139059A1 · 2020 [cited by applicant]
WO 2020143774A1 · 2020 [cited by applicant]
WO 2020094049A1 · 2023 [cited by applicant]
“Geometric Partitioning Merge Mode with Motion Vector Refinement”—Panusopone et al.; 2020 IEEE 22nd International Workshop on Multimedia Signal Processing (MMSP) (Year: 2020). [cited by examiner]
“Geometric Partitioning Mode in Versatile Video Coding: Algorithm Review and Analysis”—Gao et al.; IEEE Transactions on Circuits and Systems for Video Technology, vol. 31, No. 9, Sep. 2021 (Year: 2021). [cited by examiner]
“Decoder-Side Motion Vector Refinement in VVC: Algorithm and Hardware Implementation Considerations”—Gao et al.; IEEE Transactions on Circuits and Systems for Video Technology, vol. 31, No. 8, Aug. 2021 (Year: 2021). [cited by examiner]
International Search Report of PCT Application No. PCT/US2022/033473 dated Sep. 27, 2022, (3p). [cited by applicant]
Xiaoyu Xiu et al., “AHG12: Evaluation of GPM with MMVD for coding efficiency improvement over VVC”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 22nd Meeting, by teleconference, Apr. 20-28… [cited by applicant]
Krit Panusopone et al., “Geometric Partitioning Merge Mode with Motion Vector Refinement”, 2020 IEEE 22nd International Workshop on Multimedia Signal Processing (MMSP), Sep. 21-24, 2020, INSPEC Accession No. 20278371 DO… [cited by applicant]
Jens-Rainer Ohm et al., “Algorithm description for Versatile Video Coding and Test Model 1 Associated Resources (VTM 11)”, Joint Video Experts Team (JVET) Document: JVET-T2002-v2 of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC… [cited by applicant]
First Office Action of Japanese Application No. 2023-577272 dated Feb. 12, 2025, (8p). [cited by applicant]
Second Office Action of Japanese Application No. 2023-577272 dated Jul. 8, 2025, (5p). [cited by applicant]
Extended European Search Report of EP Application No. 22825690.5 dated Jul. 21, 2025, (12p). [cited by applicant]
Zhang (Bytedance) K et al: “Geometric prediction mode with motion vector differences”, 130. MPEG Meeting; Apr. 20, 2020-Apr. 24, 2020; Alpbach; (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11), No. m53431 ; JVET-… [cited by applicant]
Deng (Bytedance) Z et al: “AHG12: Geometric prediction mode with motion vector differences”, 22. JVET Meeting; Apr. 20, 2021-Apr. 28, 2021; Teleconference; (The Joint Video Exploration Team of ISO/IEC JTC1/SC29/WG11 and… [cited by applicant]
Notice of Grant of Japanese counterpart Application No. 2023-577272 dated Nov. 11, 2025 with English translation, (6p). [cited by applicant]
Deng, Zhipin et al., “EE2-3.3: Gpm with Mmvd (JVET-V0103 and JVET-V025)” Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, JVET-W0088-v2, 23rd Meeting by teleconference Jul. 7-16, 2021, (3p). [cited by applicant]