IP Library › Granted Patent US 12,432,374
Granted Patent B2
US 12,432,374 · App. 18/387,817 · Granted Sep 30, 2025

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 (Beijing, CN); Hong-Jheng Jhu (Beijing, CN); Ning Yan (Beijing, CN); Yi-Wen Chen (San Diego, CA); Xianglin Wang (San Diego, CA); Bing Yu (Beijing, CN)
Assignee: BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO., LTD.
H04N19/52H04N19/105H04N19/119H04N19/132H04N19/139H04N19/159H04N19/176H04N19/1887H04N19/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,432,374
App. No.
18/387,817
Granted
Sep 30, 2025
Kind
B2
Abstract

Methods and devices for video decoding are provided. The method includes: receiving a control variable associated with the video block at a coding level, where the control variable enables adaptive switch between a plurality of motion vector refinement (MVR) offset sets, and the video block comprises first and second geometric partitions; receiving one or more syntax elements to determine a first MVR offset for the first geometric partition and a second MVR offset for 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 and second geometric partitions; 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.

Claims (107)

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

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

receiving one or more syntax elements to determine a first MVR offset for the first geometric partition and a second MVR offset for 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 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, wherein the first MVR offset set comprises a plurality of default MVR offsets comprising a plurality of default offset magnitudes, wherein the second MVR offset set comprises a plurality of alternative MVR offsets comprising a plurality of alternative offset magnitudes, and wherein the plurality of alternative offset magnitudes comprise more offset magnitudes than the plurality of default offset magnitudes;

wherein the plurality of default offset magnitudes and the plurality of alternative offset magnitudes are respectively binarized using variable-length codewords; and

wherein the plurality of default offset magnitudes comprises:

a first default offset magnitude indicating a distance of ¼ pixel from the video block and binarized as 001,

a second default offset magnitude indicating a distance of ½ pixel from the video block and binarized as 1,

a third default offset magnitude indicating a distance of 1 pixel from the video block and binarized as 01,

a fourth default offset magnitude indicating a distance of 2 pixels from the video block and binarized as 0001,

a fifth default offset magnitude indicating a distance of 4 pixels from the video block and binarized as 00001,

a sixth default offset magnitude indicating a distance of 8 pixels from the video block and binarized as 000001,

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

an eight default offset magnitude indicating a distance of 32 pixels from the video block and binarized as 0000000.

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 default MVR offsets further comprises a plurality of default MVR directions, and

wherein the plurality of alternative MVR offsets further comprises a plurality of alternative MVR directions.

4. The method of claim 1 ,

wherein the second MVR offset set comprises at least one offset magnitudes and at least one MVR directions of the first MVR offset set.

5. The method of claim 1 , 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.

6. The method of claim 3 ,

wherein the second MVR offset set comprises more MVR directions in addition to the plurality of default MVR directions.

7. The method of claim 1 , wherein the plurality of alternative offset magnitudes comprises:

a first alternative offset magnitude indicating a distance of ¼ pixel from the video block and binarized as 001,

a second alternative offset magnitude indicating a distance of ½ pixel from the video block and binarized as 1,

a third alternative offset magnitude indicating a distance of 1 pixel from the video block and binarized as 01,

a fourth alternative offset magnitude indicating a distance of 2 pixels from the video block and binarized as 0001,

a fifth alternative offset magnitude indicating a distance of 3 pixels from the video block and binarized as 00001,

a sixth alternative offset magnitude indicating a distance of 4 pixels from the video block and binarized as 000001,

a seventh alternative offset magnitude indicating a distance of 6 pixels from the video block and binarized as 0000001,

an eight alternative offset magnitude indicating a distance of 8 pixels from the video block and binarized as 00000001, and

a ninth alternative offset magnitude indicating a distance of 16 pixels from the video block and binarized as 00000000.

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

receiving a first geometric partition enable syntax element that indicates whether the 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 indicating direction of the first MVR offset for the first geometric partition that is determined based on the selected MVR offset set and a first magnitude syntax element indicating magnitude of the first MVR offset of the first geometric partition that is 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 indicating direction of the second MVR offset for the second geometric partition that is determined based on the selected MVR offset set and a second magnitude syntax element indicating magnitude of the second MVR offset of the second geometric partition that is determined based on the selected MVR offset set.

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

wherein the first direction syntax element comprises gpm_mvr_partIdx0_direction_idx and the first magnitude syntax element comprises gpm_mvr_partIdx0_distance_idx;

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

wherein the second direction syntax element comprises gpm_mvr_partIdx1_direction_idx and the second magnitude syntax element comprises gpm_mvr_partIdx1_distance_idx.

10. 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 operations comprising:

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

receiving one or more syntax elements to determine a first MVR offset for the first geometric partition and a second MVR offset for 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 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, wherein the first MVR offset set comprises a plurality of default MVR offsets comprising a plurality of default offset magnitudes, wherein the second MVR offset set comprises a plurality of alternative MVR offsets comprising a plurality of alternative offset magnitudes, and wherein the plurality of alternative offset magnitudes comprises more offset magnitudes than the plurality of default offset magnitudes;

wherein the plurality of default offset magnitudes and the plurality of alternative offset magnitudes are respectively binarized using variable-length codewords; and

wherein the plurality of default offset magnitudes comprises:

a first default offset magnitude indicating a distance of ¼ pixel from the video block and binarized as 001,

a second default offset magnitude indicating a distance of ½ pixel from the video block and binarized as 1,

a third default offset magnitude indicating a distance of 1 pixel from the video block and binarized as 01,

a fourth default offset magnitude indicating a distance of 2 pixels from the video block and binarized as 0001,

a fifth default offset magnitude indicating a distance of 4 pixels from the video block and binarized as 00001,

a sixth default offset magnitude indicating a distance of 8 pixels from the video block and binarized as 000001,

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

an eight default offset magnitude indicating a distance of 32 pixels from the video block and binarized as 0000000.

11. The apparatus of claim 10 , wherein the coding level comprises a sequence level, a picture level, a coding tree unit level or a coding block level.

12. The apparatus of claim 10 ,

wherein the first MVR offset set comprises a plurality of default MVR offsets further comprises a plurality of default MVR directions, and

wherein the second MVR offset set comprises a plurality of alternative MVR offsets further comprises a plurality of alternative MVR directions.

13. The apparatus of claim 10 ,

wherein the second MVR offset set comprises at least one offset magnitudes and at least one MVR directions of the first MVR offset set.

14. The apparatus of claim 10 , wherein the one or more processors, upon execution of the instructions, are further configured to perform operations 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.

15. The apparatus of claim 10 , wherein the plurality of alternative offset magnitudes comprises:

a first alternative offset magnitude indicating a distance of ¼ pixel from the video block and binarized as 001,

a second alternative offset magnitude indicating a distance of ½ pixel from the video block and binarized as 1,

a third alternative offset magnitude indicating a distance of 1 pixel from the video block and binarized as 01,

a fourth alternative offset magnitude indicating a distance of 2 pixels from the video block and binarized as 0001,

a fifth alternative offset magnitude indicating a distance of 3 pixels from the video block and binarized as 00001,

a sixth alternative offset magnitude indicating a distance of 4 pixels from the video block and binarized as 000001,

a seventh alternative offset magnitude indicating a distance of 6 pixels from the video block and binarized as 0000001,

an eight alternative offset magnitude indicating a distance of 8 pixels from the video block and binarized as 00000001, and

a ninth alternative offset magnitude indicating a distance of 16 pixels from the video block and binarized as 00000000.

16. A non-transitory computer-readable storage medium storing computer-executable instructions that, when executed by one or more computer processors, causing the one or more computer processors to store a video bitstream to be decoded in the non-transitory computer-readable storage medium and to perform operations to decode the video bitstream, wherein the operations comprising:

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

receiving one or more syntax elements to determine a first MVR offset for the first geometric partition and a second MVR offset for 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 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, wherein the first MVR offset set comprises a plurality of default MVR offsets comprising a plurality of default offset magnitudes, wherein the second MVR offset set comprises a plurality of alternative MVR offsets comprising a plurality of alternative offset magnitudes, and wherein the plurality of alternative offset magnitudes comprise more offset magnitudes than the plurality of default offset magnitudes;

wherein the plurality of default offset magnitudes and the plurality of alternative offset magnitudes are respectively binarized using variable-length codewords; and

wherein the plurality of default offset magnitudes comprises:

a first default offset magnitude indicating a distance of ¼ pixel from the video block and binarized as 001,

a second default offset magnitude indicating a distance of ½ pixel from the video block and binarized as 1,

a third default offset magnitude indicating a distance of 1 pixel from the video block and binarized as 01,

a fourth default offset magnitude indicating a distance of 2 pixels from the video block and binarized as 0001,

a fifth default offset magnitude indicating a distance of 4 pixels from the video block and binarized as 00001,

a sixth default offset magnitude indicating a distance of 8 pixels from the video block and binarized as 000001,

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

an eight default offset magnitude indicating a distance of 32 pixels from the video block and binarized as 0000000.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the coding level comprises a sequence level, a picture level, a coding tree unit level or a coding block level.

18. The non-transitory computer-readable storage medium of claim 16 ,

wherein the first MVR offset set comprises a plurality of default MVR offsets further comprises a plurality of default MVR directions, and

wherein the second MVR offset set comprises a plurality of alternative MVR offsets further comprises a plurality of alternative MVR directions.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2025
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 071634/0367 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2023
From: XIU, XIAOYU; CHEN, WEI; KUO, CHE-WEI; JHU, HONG-JHENG; YAN, NING; CHEN, YI-WEN; WANG, XIANGLING; YU, BING
To: BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO., LTD.
Reel/Frame 065495/0286 →
Continuity (3)
Continuation PCTUS2022031661 · May 31, 2022
Provisional Application 63195179 · May 31, 2021
Related Publication 20240073440A1 · Feb 29, 2024
References Cited (12)
US 12200220B2 · Xiu · 2025 [cited by examiner]
US 20180376166A1 · Chuang et al. · 2018 [cited by applicant]
US 20230344985A1 · Sun · 2023 [cited by examiner]
US 20240146945A1 · Xiu · 2024 [cited by examiner]
US 20240388712A1 · Li · 2024 [cited by examiner]
JP 20211082913A · 2021 [cited by applicant]
KR 20180123041A · 2018 [cited by applicant]
WO 2020094049A1 · 2020 [cited by applicant]
WO 20200141911A1 · 2020 [cited by applicant]
WO 20200232355A1 · 2020 [cited by applicant]
International Search Report of PCT Application No. PCT/US2022/031661 dated Sep. 19, 2022, (2p). [cited by applicant]
Kenneth Vermeirsch et al., Ghent University—IBBT, “Report of complexity analysis of geometric partitioning”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and 1S0/IEC JTC1/SC29/WG11, JCTVC-C236, WG… [cited by applicant]