IP Library Granted Patent US 12,647,600
Granted Patent B2
US 12,647,600 · App. 18/737,821 · Granted Jun 2, 2026

Merge mode with motion vector differences

Inventors: Xiaoyu Xiu (Beijing, CN); Wei Chen (Beijing, CN); Yi-Wen Chen (Beijing, CN); Tsung-Chuan Ma (Beijing, CN); Hong-Jheng Jhu (Beijing, CN); Xianglin Wang (Beijing, CN); Bing Yu (Beijing, CN)
Assignee: BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO., LTD.
H04N19/52H04N19/132H04N19/139H04N19/17H04N19/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,647,600
App. No.
18/737,821
Granted
Jun 2, 2026
Kind
B2
Abstract

An electronic apparatus performs a method of decoding video data. The method comprises: receiving, from a bitstream, a first control flag that indicates merge mode with motion vector difference (MMVD) is enabled for one or more coding units in a video sequence; receiving a first syntax from the video data that identifies a set of motion vector difference (MVD) offsets from a plurality sets of MVD offsets; receiving, a second control flag corresponding to a respective coding unit of the one or more coding units, which indicates the MMVD is applied to the coding unit; receiving a second syntax that selects an MVD offset from the identified set of MVD offsets, and a third syntax that selects an MVD direction; forming MVD based on the selected MVD offset and MVD direction; and reconstructing the coding unit by applying the formed MVD to generate motion vectors to the coding unit.

Claims (43)

1 . A method of encoding video data, comprising:

in response to a determination that merge mode with motion vector difference (MMVD) is enabled for one or more coding units in a video sequence,

generating a first syntax element, wherein the first syntax element identifies a set of motion vector difference (MVD) offsets from a plurality sets of MVD offsets, wherein each set of the plurality sets of MVD offsets comprises a plurality of MVD offsets and the plurality sets of MVD offsets comprise a first set of MVD offsets and a second set of MVD offsets, wherein a first set of binarization codewords is assigned to the first set of MVD offsets, and a second set of binarization codewords is assigned to the second set of MVD offsets, and wherein a codeword for an offset value in the first set of binarization codewords is different from a codeword for the offset value in the second set of binarization codewords; and

in response to a determination that the MMVD is applied to a respective coding unit of the one or more coding units,

generating a second syntax element, which is different from the first syntax element, for the respective coding unit that selects an MVD offset from the identified set of MVD offsets, and a third syntax element, which is different from the first syntax element, for the respective coding unit that selects an MVD direction corresponding to the selected MVD offset; and

reconstructing the respective coding unit by applying the selected MVD offset and MVD direction to generate motion vectors for the respective coding unit.

2 . The method according to claim 1 , wherein the first set of MVD offsets is a subset of the second set of MVD offsets.

3 . The method according to claim 1 , wherein the first set of MVD offsets includes offset values (in unit of sample) of ¼, ½, 1, 2, 4.

4 . The method according to claim 1 , wherein the second set of MVD offsets includes offset values (in unit of sample) of ¼, ½, 1, 2, 4, 8, 16, and 32.

5 . The method according to claim 1 , wherein the first set of MVD offsets includes offset values (in unit of sample) of ¼, ½, 1, 2, 4 and their corresponding binarization codewords of 1, 01, 001, 0001 and 0000, respectively.

6 . The method according to claim 1 , wherein the second set of MVD offsets includes offset values (in unit of sample) of ¼, ½, 1, 2, 4, 8, 16, and 32 and their corresponding binarization codewords of 000, 001, 011, 010, 10, 110, 1110, and 1111, respectively.

7 . The method according to claim 1 , wherein the first syntax element is signaled at one or more of different coding levels including sequence-level, picture-level or slice level.

8 . The method according to claim 1 , further comprising:

generating a first control flag, wherein the first control flag indicates whether the MMVD is enabled for the one or more coding units, and the first control flag is equal to 1 when the MMVD is enabled.

9 . An electronic apparatus comprising:

one or more processing units;

memory coupled to the one or more processing units; and

a plurality of programs stored in the memory that, when executed by the one or more processing units, cause the electronic apparatus to perform a method of encoding video data comprising:

in response to a determination that merge mode with motion vector difference (MMVD) is enabled for one or more coding units in a video sequence,

generating a first syntax element, wherein the first syntax element identifies a set of motion vector difference (MVD) offsets from a plurality sets of MVD offsets, wherein each set of the plurality sets of MVD offsets comprises a plurality of MVD offsets and the plurality sets of MVD offsets comprise a first set of MVD offsets and a second set of MVD offsets, wherein a first set of binarization codewords is assigned to the first set of MVD offsets, and a second set of binarization codewords is assigned to the second set of MVD offsets, and wherein a codeword for an offset value in the first set of binarization codewords is different from a codeword for the offset value in the second set of binarization codewords; and

in response to a determination that the MMVD is applied to a respective coding unit of the one or more coding units,

generating a second syntax element, which is different from the first syntax element, for the respective coding unit that selects an MVD offset from the identified set of MVD offsets, and a third syntax element, which is different from the first syntax element, for the respective coding unit that selects an MVD direction corresponding to the selected MVD offset; and

reconstructing the respective coding unit by applying the selected MVD offset and MVD direction to generate motion vectors for the respective coding unit.

10 . The electronic apparatus according to claim 9 , wherein the first set of MVD offsets is a subset of the second set of MVD offsets.

11 . The electronic apparatus according to claim 9 , wherein the first set of MVD offsets includes offset values (in unit of sample) of ¼, ½, 1, 2, 4.

12 . The electronic apparatus according to claim 9 , wherein the second set of MVD offsets includes offset values (in unit of sample) of ¼, ½, 1, 2, 4, 8, 16, and 32.

13 . The electronic apparatus according to claim 9 , wherein the first set of MVD offsets includes offset values (in unit of sample) of ¼, ½, 1, 2, 4 and their corresponding binarization codewords of 1, 01, 001, 0001 and 0000, respectively.

14 . The electronic apparatus according to claim 9 , wherein the second set of MVD offsets includes offset values (in unit of sample) of ¼, ½, 1, 2, 4, 8, 16, and 32 and their corresponding binarization codewords of 000, 001, 011, 010, 10, 110, 1110, and 1111, respectively.

15 . The electronic apparatus according to claim 9 , wherein the first syntax element is signaled at one or more of different coding levels including sequence-level, picture-level or slice level.

16 . The electronic apparatus according to claim 9 , the method of encoding video data further comprising:

generating a first control flag, wherein the first control flag indicates whether the MMVD is enabled for the one or more coding units, and the first control flag is equal to 1 when the MMVD is enabled.

17 . A method for storing a bitstream, comprising:

generating a bitstream by performing an encoding method; and

storing the bitstream,

wherein the encoding method comprises:

in response to a determination that merge mode with motion vector difference (MMVD) is enabled for one or more coding units in a video sequence,

generating a first syntax element, wherein the first syntax element identifies a set of motion vector difference (MVD) offsets from a plurality sets of MVD offsets, wherein each set of the plurality sets of MVD offsets comprises a plurality of MVD offsets and the plurality sets of MVD offsets comprise a first set of MVD offsets and a second set of MVD offsets, wherein a first set of binarization codewords is assigned to the first set of MVD offsets, and a second set of binarization codewords is assigned to the second set of MVD offsets, and wherein a codeword for an offset value in the first set of binarization codewords is different from a codeword for the offset value in the second set of binarization codewords; and

in response to a determination that the MMVD is applied to a respective coding unit of the one or more coding units,

generating a second syntax element, which is different from the first syntax element, for the respective coding unit that selects an MVD offset from the identified set of MVD offsets, and a third syntax element, which is different from the first syntax element, for the respective coding unit that selects an MVD direction corresponding to the selected MVD offset; and

reconstructing the respective coding unit by applying the selected MVD offset and MVD direction to generate motion vectors for the respective coding unit.

18 . The method according to claim 17 , wherein the first set of MVD offsets is a subset of the second set of MVD offsets.

19 . The method according to claim 17 , wherein the first set of MVD offsets includes offset values (in unit of sample) of ¼, ½, 1, 2, 4.

20 . The method according to claim 17 , wherein the second set of MVD offsets includes offset values (in unit of sample) of ¼, ½, 1, 2, 4, 8, 16, and 32.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2024
From: XIU, XIAOYU; CHEN, WEI; CHEN, YI-WEN; JHU, HONG-JHENG; MA, TSUNG-CHUAN; WANG, XIANGLIN; YU, BING
To: BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO., LTD.
Reel/Frame 069488/0295 →
Continuity (4)
Continuation 17566139 · Dec 30, 2021
Continuation PCTUS2021022606 · Mar 16, 2021
Provisional Application 62989900 · Mar 16, 2020
Related Publication 20240333963A1 · Oct 3, 2024
References Cited (45)
US 10448025B1 · Xu et al. · 2019 [cited by applicant]
US 10462483B1 · Xu et al. · 2019 [cited by applicant]
US 11509925B2 · Jeong · 2022 [cited by examiner]
US 20030108099A1 · Nagumo · 2003 [cited by examiner]
US 20050053294A1 · Mukerjee · 2005 [cited by examiner]
US 20050206741A1 · Raber · 2005 [cited by examiner]
US 20060126962A1 · Sun · 2006 [cited by examiner]
US 20080231483A1 · He et al. · 2008 [cited by applicant]
US 20100124286A1 · Wang · 2010 [cited by examiner]
US 20140192862A1 · Flynn et al. · 2014 [cited by applicant]
US 20150382010A1 · Rapaka et al. · 2015 [cited by applicant]
US 20160227214A1 · Rapaka et al. · 2016 [cited by applicant]
US 20180035123A1 · Wennersten et al. · 2018 [cited by applicant]
US 20180098089A1 · Chen et al. · 2018 [cited by applicant]
US 20200077106A1 · Jhu et al. · 2020 [cited by applicant]
US 20200112727A1 · Xu · 2020 [cited by examiner]
US 20200169757A1 · Chiang · 2020 [cited by examiner]
US 20200275115A1 · Chiang · 2020 [cited by examiner]
US 20200288175A1 · Chang · 2020 [cited by examiner]
CA 3117479A1 · 2020 [cited by applicant]
CN 103096065A · 2013 [cited by applicant]
CN 105493505A · 2016 [cited by applicant]
CN 108028931A · 2018 [cited by applicant]
CN 108028939A · 2018 [cited by applicant]
CN 109547790A · 2019 [cited by applicant]
CN 109792532A · 2019 [cited by applicant]
CN 110545424A · 2019 [cited by applicant]
CN 110809164A · 2020 [cited by applicant]
GB 2585017A · 2020 [cited by applicant]
GB 2585018A · 2020 [cited by applicant]
GB 2585019A · 2020 [cited by applicant]
JP 2009159466A · 2009 [cited by applicant]
KR 20120010367A · 2012 [cited by applicant]
WO 2019002615A1 · 2019 [cited by applicant]
WO 2019013434A1 · 2019 [cited by applicant]
WO 2020009086A1 · 2020 [cited by applicant]
WO 2020017841A1 · 2020 [cited by applicant]
WO 2020043061A1 · 2020 [cited by applicant]
WO 2020050752A1 · 2020 [cited by applicant]
WO 2020051324A1 · 2020 [cited by applicant]
Li, Jingya, “CE4-Related: Improvement on Ultimate Motion Vector Expression,” Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 12th Meeting: Macao, CN, Oct. 3-12, 2018, 4 pages. [cited by applicant]
Seungsoo, Jeong, “CE4-3, 1: MMVD Binarization,” Joint Video Experts Team (JVET) of ITU-T SG WP3 and ISO/IEC JTC 1/SC 29/WG 11, 14th Meeting: Geneva, CH, Mar. 19-27, 2019, 6 pages. [cited by applicant]
Seungsoo, Jeong, “CE4-Related: MMVD Improvements,” Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 13th Meeting: Marrakech, MA, Jan. 9-18, 2019, 4 pages. [cited by applicant]
Bross et al., “Versatile Video Coding (Draft 8)”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 17th Meeting: Brussels, BE, Jan. 7-17, 2020, 13 pages. [cited by applicant]
Park, Naeri et al., “Non-CE4: Cleanup of the MMVD Offset Derivation”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 17th Meeting: Brussels, BE, Jan. 7-17, 2020, 5 pages. [cited by applicant]