IP Library › Granted Patent US 11,895,302
Granted Patent B2
US 11,895,302 · App. 17/847,942 · Granted Feb 6, 2024

Adaptive bilateral matching for decoder side motion vector refinement

Inventors: Han Huang (San Diego, CA); Vadim Seregin (San Diego, CA); Wei-Jung Chien (San Diego, CA); Zhi Zhang (Munich, DE); Chun-Chi Chen (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/137H04N19/105H04N19/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 11,895,302
App. No.
17/847,942
Granted
Feb 6, 2024
Kind
B2
Abstract

Systems and techniques are provided for processing video data. For example, the systems and techniques can include obtaining a current picture of video data and obtaining reference pictures for the current picture from the video data. A merge mode candidate can be determined for the current picture. First and second motion vectors can be identified for the merge mode candidate. A motion vector search strategy can be selected for the merge mode candidate from a plurality of motion vector search strategies. The selected motion vector search strategy can be associated with one or more constraints corresponding to at least one of the first motion vector or the second motion vector. The selected motion vector search strategy can be used to determine refined motion vectors based on the first motion vector, the second motion vector, and the reference pictures. The merge mode candidate can be processed using the refined motion vectors.

Claims (48)

1. An apparatus for processing video data, comprising:

at least one memory; and

at least one processor coupled to the at least one memory, the at least one processor configured to:

obtain one or more reference pictures for a current picture;

identify a first motion vector and a second motion vector for a merge mode candidate;

determine a selected motion vector search strategy for the merge mode candidate from a plurality of motion vector search strategies, wherein the selected motion vector search strategy is associated with one or more constraints based on at least one of the first motion vector or the second motion vector, wherein the one or more constraints are associated with at least one of a first motion vector difference associated with the first motion vector or a second motion vector difference associated with the second motion vector, and wherein the one or more constraints include a zero value constraint for at least one of the first motion vector difference or the second motion vector difference;

determine, using the selected motion vector search strategy, one or more refined motion vectors based on at least one of the first motion vector or the second motion vector and the one or more reference pictures wherein, to determine the one or more refined motion vectors and based on the zero value constraint, the at least one processor is further configured to maintain a first one of the first motion vector difference or the second motion vector difference as a fixed value and search relative to a second one of the first motion vector difference or the second motion vector difference; and

process the merge mode candidate using the one or more refined motion vectors.

2. The apparatus of claim 1 , wherein the one or more constraints are determined for a block of the video data based on a syntax element signaled for the block.

3. The apparatus of claim 1 , wherein the one or more refined motion vectors include a first refined motion vector or a second refined motion vector, and wherein the at least one processor is configured to:

determine the first motion vector difference as a difference between the first refined motion vector and the first motion vector; or

determine the second motion vector difference as a difference between the second refined motion vector and the second motion vector.

4. The apparatus of claim 1 , wherein the selected motion vector search strategy is a bilateral matching (BM) motion vector search strategy.

5. The apparatus of claim 4 , wherein the at least one processor is configured to determine the one or more refined motion vectors based on one or more constraints associated with the selected motion vector search strategy, and wherein, to determine the one or more refined motion vectors based on the one or more constraints, the at least one processor is configured to:

determine a first refined motion vector by searching a first reference picture around the first motion vector based on the selected motion vector search strategy; and

determine a second refined motion vector by searching a second reference picture around the second motion vector based on the selected motion vector search strategy;

wherein the one or more constraints include a motion vector difference constraint.

6. The apparatus of claim 3 , wherein, to determine the first refined motion vector and the second refined motion vector, the at least one processor is configured to:

minimize a difference between a first reference block associated with the first refined motion vector and a second reference block associated with the second refined motion vector.

7. The apparatus of claim 1 , wherein the plurality of motion vector search strategies includes at least two of a multi-pass decoder side motion vector refinement strategy, a fractional sample refinement strategy, a bi-directional optical flow strategy, or a sub-block based bilateral matching motion vector refinement strategy.

8. The apparatus of claim 1 , wherein the selected motion vector search strategy comprises a multi-pass decoder side motion vector refinement strategy.

9. The apparatus of claim 8 , wherein the multi-pass decoder side motion vector refinement strategy includes at least one of one or more block based bilateral matching motion vector refinement passes or one or more sub-block based motion vector refinement passes.

10. The apparatus of claim 9 , wherein the at least one processor is configured to:

perform the one or more block based bilateral matching motion vector refinement passes using a first constraint associated with at least one of a third motion vector difference or a fourth motion vector difference; and

perform the one or more sub-block based motion vector refinement passes using a second constraint associated with at least one of the third motion vector difference or the fourth motion vector difference, wherein the first constraint is different than the second constraint.

11. The apparatus of claim 9 , wherein the one or more sub-block based motion vector refinement passes include at least one of a sub-block based bilateral matching motion vector refinement pass or a sub-block based bi-directional optical flow motion vector refinement pass.

12. The apparatus of claim 1 , wherein the apparatus is a wireless communication device.

13. The apparatus of claim 1 , wherein the at least one processor is configured to determine the one or more refined motion vectors for a block of the video data, and wherein the merge mode candidate includes a neighboring block of the block.

14. A method for processing video data, comprising:

obtaining one or more reference pictures for a current picture;

identifying a first motion vector and a second motion vector for a merge mode candidate;

determining a selected motion vector search strategy for the merge mode candidate from a plurality of motion vector search strategies, wherein the selected motion vector search strategy is associated with one or more constraints based on at least one of the first motion vector or the second motion vector, wherein the one or more constraints are associated with at least one of a first motion vector difference associated with the first motion vector or a second motion vector difference associated with the second motion vector, and wherein the one or more constraints include a zero value constraint for at least one of the first motion vector difference or the second motion vector difference;

determining, using the selected motion vector search strategy, one or more refined motion vectors based on at least one of the first motion vector or the second motion vector and the one or more reference pictures and by maintaining, based on the zero value constraint, a first one of the first motion vector difference or the second motion vector difference as a fixed value and searching relative to a second one of the first motion vector difference or the second motion vector difference; and

processing the merge mode candidate using the one or more refined motion vectors.

15. The method of claim 14 , wherein the one or more constraints are determined for a block of the video data based on a syntax element signaled for the block.

16. The method of claim 14 , wherein the one or more refined motion vectors include a first refined motion vector or a second refined motion vector, the method further comprising:

determining the first motion vector difference as a difference between the first refined motion vector and the first motion vector; or

determining the second motion vector difference as a difference between the second refined motion vector and the second motion vector.

17. The method of claim 14 , wherein the selected motion vector search strategy is a bilateral matching (BM) motion vector search strategy, wherein the one or more refined motion vectors are determined based on one or more constraints associated with the selected motion vector search strategy, and wherein determining the one or more refined motion vectors based on the one or more constraints comprises:

determining a first refined motion vector by searching a first reference picture around the first motion vector based on the selected motion vector search strategy; and

determining a second refined motion vector by searching a second reference picture around the second motion vector based on the selected motion vector search strategy;

wherein the one or more constraints include a motion vector difference constraint.

18. The method of claim 17 , wherein determining the first refined motion vector and the second refined motion vector comprises:

minimizing a difference between a first reference block associated with the first refined motion vector and a second reference block associated with the second refined motion vector.

19. The method of claim 14 , wherein the selected motion vector search strategy comprises a multi-pass decoder side motion vector refinement strategy, the multi-pass decoder side motion vector refinement strategy including at least one of one or more block based bilateral matching motion vector refinement passes or one or more sub-block based motion vector refinement passes.

20. The method of claim 19 , further comprising:

performing the one or more block based bilateral matching motion vector refinement passes using a first constraint associated with at least one of a third motion vector difference or a fourth motion vector difference; and

performing the one or more sub-block based motion vector refinement passes using a second constraint associated with at least one of the third motion vector difference or the fourth motion vector difference, wherein the first constraint is different than the second constraint.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: HUANG, HAN; SEREGIN, VADIM; CHIEN, WEI-JUNG; ZHANG, ZHI; CHEN, CHUN-CHI; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 060810/0842 →
Continuity (3)
Provisional Application 63263754 · Nov 8, 2021
Provisional Application 63216468 · Jun 29, 2021
Related Publication 20220417522A1 · Dec 29, 2022