IP Library › Granted Patent US 11,979,596
Granted Patent B2
US 11,979,596 · App. 17/869,232 · Granted May 7, 2024

Joint coding for adaptive motion vector difference resolution

Inventors: Liang Zhao (Sunnyvale, CA); Xin Zhao (San Jose, CA); Shan Liu (San Jose, CA)
Assignee: Tencent America LLC
H04N19/52H04N19/105H04N19/109H04N19/139H04N19/159H04N19/176H04N19/30H04N19/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 11,979,596
App. No.
17/869,232
Granted
May 7, 2024
Kind
B2
Abstract

This disclosure relates generally to video coding and particularly to methods and systems for providing signaling schemes for jointly coding of motion vector difference with adaptive resolution in compound-reference inter-prediction. An example method for processing a current video block of a video stream is disclosed. The method includes receiving the video stream; determining from the video stream whether joint motion vector difference (MVD) coding is applied to the current video block; determining from the video stream whether adaptive MVD pixel resolution is applied to the current video block; and decoding the current video block based on whether joint MVD coding and whether adaptive MVD pixel resolution are applied to the current video block.

Claims (54)

1. A method for processing a current video block of a video stream, comprising;

receiving the video stream;

determining from the video stream whether joint motion vector difference (MVD) coding is applied to the current video block;

determining from the video stream whether adaptive MVD pixel resolution is applied to the current video block; and

decoding the current video block based on whether joint MVD coding and whether adaptive MVD pixel resolution are applied to the current video block,

wherein determining whether joint MVD coding and whether adaptive MVD pixel resolution are applied to the current video block comprises:

determining that the current video block is inter-coded in a compound-reference mode based at least two reference blocks associated with at least two corresponding motion vectors; and

in response to determining that the current video block is inter-coded in the compound-reference mode, extracting at least one syntax element from the video stream, the at least one syntax element indicating whether motion vector differences associated with the at least two corresponding motion vectors are jointly signaled or decoded and/or whether adaptive MVD pixel resolution is applied to coding the motion vector differences.

2. The method of claim 1 , when the at least one syntax element indicates that the motion vector differences are jointly signaled or decoded and that adaptive MVD pixel resolution is applied, the method further comprising:

extracting an MVD class or magnitude of a joint MVD from the video stream;

determining a current MVD pixel resolution for the joint MVD based on the MVD class or magnitude;

extracting the joint MVD from the video stream based on the current MVD pixel resolution; and

deriving the at least two corresponding motion vectors based on the joint MVD.

3. The method of claim 1 , when the at least one syntax element indicates that the motion vector differences are jointly signaled or decoded and that adaptive MVD pixel resolution is not applied, the method further comprising:

extracting a joint MVD from the video stream based on a fixed MVD pixel resolution; and

deriving the at least two corresponding motion vectors based on the joint MVD.

4. The method of claim 1 , when the at least one syntax element indicates that the motion vector differences are not jointly signaled or decoded and that adaptive MVD pixel resolution is applied, the method further comprising:

separately extracting MVD classes or magnitudes associated with the at least two corresponding motion vectors from the video stream;

separately determining current MVD pixel resolutions for the at least two corresponding motion vectors based on the MVD classes or magnitudes;

extracting separate MVDs from the video stream based on the current MVD pixel resolutions; and

separately deriving the at least two corresponding motion vectors based at least on the separate MVDs.

5. The method of claim 1 , when the at least one syntax element indicates that the motion vector differences are not jointly signaled or decoded and that adaptive MVD pixel resolution is not applied, the method further comprising:

extracting separate MVDs from the video stream based on a fixed MVD pixel resolutions; and

separately deriving the at least two corresponding motion vectors based at least on the separate MVDs.

6. The method of claim 1 , wherein the at least one syntax element comprises a first flag and a second flag, the first flag indicating whether the motion vector differences of the current video block are jointly signaled or decoded and the second flag indicating whether adaptive MVD pixel resolution is applied to the current video block.

7. The method of claim 6 , wherein the first flag is signaled before the second flag in the video stream.

8. The method of claim 7 , wherein a single context is used for singling the second flag in the video stream, wherein the second flag comprises one of an amvd_flag, a jmvd_flag, or a joint amvd_flag.

9. The method of claim 8 , wherein a context for signaling the second flag depends on coded information of the current video block and/or neighboring video block of the current video block.

10. The method of claim 9 , wherein the coded information comprises at least one of value of the second flag, a reference frame index, or an MVD candidate index of a neighboring video block of the current video block.

11. The method of claim 6 , wherein the second flag is signaled before the first flag in the video stream.

12. The method of claim 1 :

wherein the video stream comprises an inter-prediction syntax element indicating one of at least the following compound inter-prediction coding modes for the current video block:

a first mode for compound-reference inter-prediction with joint MVD coded in adaptive MVD pixel resolution;

a second mode for compound-reference inter-prediction with joint MVD coded in fixed MVD pixel resolution;

a third mode for compound-reference inter-prediction with independent MVDs coded in adaptive MVD pixel resolution; or

a fourth mode for compound-reference inter-prediction with independent MVDs coded in fixed MVD pixel resolution; and

wherein determining whether joint MVD coding and whether adaptive MVD pixel resolution are applied to the current video block comprise extracting and determining a value of the inter-prediction syntax element from the video stream.

13. The method of claim 1 , the method further comprising:

when joint MVD coding and adaptive MVD pixel resolution is applied to the current video block, always applying an optical flow refinement to the current video block if a set of predefined conditions are met.

14. The method of claim 13 , wherein the set of predefined conditions comprise a video block size constraint.

15. The method of claim 1 , the method further comprising:

when joint MVD coding is applied or both joint MVD coding and adaptive MVD pixel resolution are applied to the current video block, disallowing position-dependent compound prediction.

16. The method of claim 15 , wherein the position-dependent compound prediction comprises a compound wedge-based prediction.

17. The method of claim 1 , the method further comprising:

when joint MVD coding is applied or both joint MVD coding and adaptive MVD pixel resolution are applied to the current video block, disallowing interpolation filters other than REGULAR, SMOOTH, or SHARP filters.

18. The method of claim 1 , wherein a frame or sequence level syntax element overrides lower level signaling in determining whether joint MVD coding or whether adaptive MVD pixel resolution is applied to the current video block.

19. A device for processing a current video block of a video stream, comprising a memory for storing computer instructions and a processor for executing the computer instructions to:

receive the video stream;

determine from the video stream whether joint motion vector difference (MVD) coding is applied to the current video block;

determine from the video stream whether adaptive MVD pixel resolution is applied to the current video block; and

decode the current video block based on whether joint MVD coding and whether adaptive MVD pixel resolution are applied to the current video block,

wherein the processor is configured to determine whether joint MVD coding and whether adaptive MVD pixel resolution are applied to the current video block by:

determining that the current video block is inter-coded in a compound-reference mode based at least two reference blocks associated with at least two corresponding motion vectors; and

in response to determining that the current video block is inter-coded in the compound-reference mode, extracting at least one syntax element from the video stream, the at least one syntax element indicating whether motion vector differences associated with the at least two corresponding motion vectors are jointly signaled or decoded and/or whether adaptive MVD pixel resolution is applied to coding the motion vector differences.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2022
From: ZHAO, LIANG; ZHAO, XIN; LIU, SHAN
To: TENCENT AMERICA LLC
Reel/Frame 060567/0943 →
Continuity (2)
Provisional Application 63307413 · Feb 7, 2022
Related Publication 20230254502A1 · Aug 10, 2023
Cited By (1)
US 12,432,372