IP Library › Granted Patent US 12,368,860
Granted Patent B2
US 12,368,860 · App. 18/638,087 · Granted Jul 22, 2025

Adaptive resolution for motion vector difference

Inventors: Liang Zhao (Sunnyvale, CA); Xin Zhao (San Jose, CA); Shan Liu (San Jose, CA)
Assignee: Tencent America LLC
H04N19/137H04N19/105H04N19/159H04N19/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,368,860
App. No.
18/638,087
Granted
Jul 22, 2025
Kind
B2
Abstract

This disclosure relates to encoding and decoding of motion vector difference for inter-predicting a video block. An example is disclosed for decoding an inter-predicted video block of a video stream. The method may include determining that a motion vector associated with the inter-predicted video block is encoded as a motion vector difference (MVD) between the motion vector and a reference motion vector; obtaining, from the video stream, an indication of a magnitude range of the MVD among a plurality of predefined magnitude ranges for motion vector differences; determining a pixel resolution for the MVD according to the magnitude range; identifying additional MVD information in the video stream based on the pixel resolution; extracting the additional MVD information from the video stream; and decoding the inter-predicted video block based on the pixel resolution, the additional MVD information, the reference motion vector, and a reference frame associated with the motion vector.

Claims (55)

1. A method for decoding an inter-predicted video block of a video bitstream, comprising:

receiving the video bitstream;

determining that the inter-predicted video block is encoded in a compound inter-prediction mode;

determining that only one motion vector difference (MVD) relative to one reference motion vector associated with the inter-predicted video block is signaled in the video bitstream;

obtaining, from the video bitstream, an indication of a magnitude range of the one MVD among a plurality of predefined magnitude ranges for motion vector differences;

determining a pixel resolution for the MVD according to the magnitude range; and

decoding the MVD from the video bitstream based on the pixel resolution for the one MVD.

2. The method of claim 1 , wherein determining the pixel resolution for the one MVD according to the magnitude range comprises:

determining whether the magnitude range of the one MVD is higher than a predetermined MVD magnitude range threshold level; and

when the magnitude range of the one MVD is higher than the predetermined MVD magnitude range threshold level, determining that the pixel resolution is of an integer number of pixels, otherwise determining that the pixel resolution is a fraction of a pixel.

3. The method of claim 2 , wherein decoding the one MVD from the video bitstream based on the pixel resolution for the one MVD comprises:

extracting a set of second syntax elements from the video bitstream for the one MVD, wherein a number of the set of second syntax elements depends on the pixel resolution for the one MVD; and

deriving the one MVD from the set of second syntax elements.

4. The method of claim 2 , wherein the predetermined MVD magnitude range threshold level comprises a lowest or a second lowest of a predefined set of MVD magnitude ranges.

5. The method of claim 1 , wherein obtaining the indication of the magnitude range of the one MVD comprises:

extracting a first predefined syntax element from the video bitstream indicating an MVD class of the one MVD among a predefined set of MVD classes, a lower MVD class corresponding to a smaller MVD magnitude range; and

determining the magnitude range of the one MVD according to the MVD class.

6. The method of claim 5 , wherein determining the pixel resolution for the MVD according to the magnitude range comprises:

determining whether the MVD class of the one MVD is higher than a predetermined MVD class threshold level; and

when the MVD class of the one MVD is higher than the predetermined MVD class threshold level, determining that the pixel resolution is of an integer number of pixels, otherwise determining that the pixel resolution is a fraction of a pixel.

7. The method of claim 6 , wherein decoding the MVD from the video bitstream based on the pixel resolution for the one MVD comprises:

extracting a set of second syntax elements from the video bitstream for the one MVD, wherein a number of the set of second syntax elements depends on the pixel resolution for the one MVD; and

deriving the one MVD from the set of second syntax elements.

8. The method of claim 6 , wherein each of the predefined set of MVD classes having magnitude range higher than the predetermined MVD class threshold level is associated with a single allowed integer MVD pixel value.

9. The method of claim 1 , wherein the plurality of predefined magnitude ranges for motion vector differences are associated, in a predefined manner, with pixel resolutions in a non-ascending order, wherein a higher pixel resolution is associated with a smaller pixel resolution value.

10. An electronic device comprising a memory for storing computer instructions and at least one processor for executing the computer instructions to cause the electronic device to:

determine that a video block is to be predicted under a compound inter-prediction mode using two motion vectors, and that one of the two motion vectors is to be predicted based on a motion vector difference (MVD) relative to a reference motion vector;

determine a magnitude range of the MVD among a plurality of predefined magnitude ranges for motion vector differences;

determine a pixel resolution for the MVD according to the magnitude range; and

encode the MVD into a video bitstream as a single signaled MVD for the video block based on the pixel resolution for the one MVD.

11. The electronic device of claim 10 , wherein the at least one processor is configured to execute the computer instructions to further cause the electronic device to:

generate an indication of the magnitude range of the MVD; and

encode the indication into the video bitstream.

12. The electronic device of claim 11 , wherein the at least one processor is configured to execute the computer instructions to determine the pixel resolution for the MVD according to the magnitude range by:

determining whether the magnitude range of the one MVD is higher than a predetermined MVD magnitude range threshold level; and

when the magnitude range of the MVD is higher than the predetermined MVD magnitude range threshold level, determining that the pixel resolution is of an integer number of pixels, otherwise determining that the pixel resolution is a fraction of a pixel.

13. The electronic device of claim 12 , wherein the at least one processor is configured to execute the computer instructions to encode the MVD into the video bitstream based on the pixel resolution for the MVD by:

determining a set of second syntax elements for the MVD, wherein a number of the set of second syntax elements depends on the pixel resolution for the MVD; and

encoding the set of second syntax elements into the video bitstream.

14. The electronic device of claim 12 , wherein the predetermined MVD magnitude range threshold level comprises a lowest or a second lowest of a predefined set of MVD magnitude ranges.

15. The electronic device of claim 11 , wherein the at least one processor is configured to execute the computer instructions to generate the indication of the magnitude range of the MVD by:

determining an MVD class of the one MVD among a predefined set of MVD classes, a lower MVD class corresponding to a smaller MVD magnitude range; and

generating the indication for signaling the MVD class.

16. The electronic device of claim 15 , wherein the at least one processor is configured to execute the computer instructions to determine the pixel resolution for the MVD according to the magnitude range by:

determining whether the MVD class of the one MVD is higher than a predetermined MVD class threshold level; and

when the MVD class of the one MVD is higher than the predetermined MVD class threshold level, determining that the pixel resolution is of an integer number of pixels, otherwise determining that the pixel resolution is a fraction of a pixel.

17. The electronic device of claim 16 , wherein the at least one processor is configured to execute the computer instructions to encode the MVD into the video bitstream based on the pixel resolution for the MVD by:

determining a set of second syntax elements for the MVD, wherein a number of the set of second syntax elements depends on the pixel resolution for the MVD; and

encoding the set of second syntax elements into the video bitstream.

18. The electronic device of claim 16 , wherein each of the predefined set of MVD classes having magnitude range higher than the predetermined MVD class threshold level is associated with a single allowed integer MVD pixel value.

19. The electronic device of claim 10 , wherein the plurality of predefined magnitude ranges for motion vector differences are associated, in a predefined manner, with pixel resolutions in a non-ascending order, wherein a higher pixel resolution is associated with a smaller pixel resolution value.

20. A method for processing an inter-predicted video block in a compound inter-prediction mode, comprising converting the inter-predicted video block to a video bitstream, wherein the video bitstream comprises:

a first syntax element for indicating that only one motion vector difference (MVD) relative to o reference motion vector associated with the inter-predicted video block is signaled in the video bitstream;

a second syntax element for indicating a magnitude range of the one MVD among a plurality of predefined magnitude ranges for motion vector differences and for indicating an MVD pixel resolution for the one MVD among a plurality of predefined MVD pixel resolutions; and

a third set of syntax elements for encoding the one MVD, the third set of syntax elements being dependent on the MVD pixel resolution for the one MVD.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2024
From: ZHAO, LIANG; ZHAO, XIN; LIU, SHAN
To: TENCENT AMERICA LLC
Reel/Frame 067148/0554 →
Continuity (4)
Continuation 17708801 · Mar 30, 2022
Provisional Application 63289122 · Dec 13, 2021
Provisional Application 63270397 · Oct 21, 2021
Related Publication 20240267526A1 · Aug 8, 2024
References Cited (19)
US 10547847B2 · Jang et al. · 2020 [cited by applicant]
US 20170318297A1 · Puri et al. · 2017 [cited by applicant]
US 20190110063A1 · Mukherjee · 2019 [cited by examiner]
US 20220078488A1 · Leleannec · 2022 [cited by examiner]
JP 2018533298A · 2018 [cited by applicant]
WO WO2020131659A2 · 2020 [cited by applicant]
WO WO2020138997A1 · 2020 [cited by applicant]
Office Action issued in Japanese Patent Application No. 2023-553176 dated Sep. 11, 2024, 9 pages. [cited by applicant]
Jicheng et al, “Progressive MV Resolution” Joint Collaborative on Video Coding (JCT-VC), JCTV-F125, Jul. 15, 2011, 7 pages. [cited by applicant]
Chinese Office Action with English translation, Jul. 25, 2024, pp. 1-29, issued in Chinese Patent Application No. 202280007737.9, State Intellectual Property Office, Beijing, China. [cited by applicant]
Office Action issued on European application 22854148.8 on Jan. 9, 2024, 10 pages. [cited by applicant]
International Search Report and Written Opinion mailed Aug. 18, 2022 for International Application No. PCT/US2022/024633. [cited by applicant]
Bross et al.; “Versatile Video Coding Editorial Refinements on Draft 10”; Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 20 [cited by applicant]
Chen et al.; “An Overview of Core Coding Tools in the AV1 Video Codec”; 2018 Picture Coding Symposium (PCS); IEEE; Jun. 24, 2018; (pp. 41-45). [cited by applicant]
Han, Jingning et al., “A Technical Overview of AV1”, arxiv.org, Cornell University Library, 201 Olin Library Cornell University Ithaca, NY, Feb. 8, 2021, XP081876357. [cited by applicant]
Karpilovsky et al.; “Proposal: New Inter Modes for AV2”; Alliance for Open Media, Codec Working Group; Document CWG-B018_v1; Feb. 24, 2021; 6 pages. [cited by applicant]
De Rivaz et al.; “AV1 Bitstream & Decoding Process Specification”; The Alliance for Open Media; Mar. 2018; 681 pages. [cited by applicant]
Zhang, Yan et al., “CE4.3.3: Locally adaptive motion vector resolution and MVD coding”, 11. JVET Meeting; 20180711020180718; Ljubljana; (The Joint Video Exploration Team of ISO/IEC JTC1/SC29/WG11 and ITU-tSG. 16). [cited by applicant]
Japanese-language Office Action issued in Japanese Application No. 2023-553176 dated Mar. 14, 2025 with English translation (7 pages). [cited by applicant]