IP Library › Granted Patent US 12,075,060
Granted Patent B2
US 12,075,060 · App. 17/946,498 · Granted Aug 27, 2024

Alternative merge mode with motion vector difference by using template-matching

Inventors: Lien-Fei Chen (Hsinchu, TW); Xiang Li (Saratoga, CA); Shan Liu (San Jose, CA)
Assignee: TENCENT AMERICA LLC
H04N19/137H04N19/105H04N19/176H04N19/46H04N19/88
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,075,060
App. No.
17/946,498
Granted
Aug 27, 2024
Kind
B2
Abstract

Aspects of the disclosure provide a method, an apparatus, and non-transitory computer-readable storage medium for video decoding. The apparatus includes processing circuitry configured to decode prediction information of a current block in a coded bitstream. The prediction information indicates a merge mode with motion vector difference (MMVD) with a template matching (TM) mode and motion vector difference (MVD) information of the current block. The processing circuitry can determine one or more MVD candidates based on the MVD information. The processing circuitry can perform TM to search for a matched MVD between a current template of the current block and a reference template of a reference block of the current block based on the one or more MVD candidates. The processing circuitry can reconstruct the current block based on a motion vector (MV) that is a summation of a motion vector predictor (MVP) and the matched MVD.

Claims (86)

1. A method for video decoding in a video decoder, comprising:

decoding prediction information of a current block in a coded bitstream, the prediction information indicating that template matching (TM) is applied with a merge mode with motion vector difference (MMVD) mode and indicating motion vector difference (MVD) information of the current block;

determining, using the MMVD mode, one or more MVD candidates based on the MVD information and a first plurality of distances;

performing TM to search for a matched MVD between a current template of the current block and a reference template of a reference block of the current block based on the one or more MVD candidates determined using the MMVD mode; and

reconstructing the current block based on a motion vector (MV) that is a summation of a motion vector predictor (MVP) and the matched MVD, wherein

the first plurality of distances used in the MMVD mode to determine the one or more MVD candidates when the TM is enabled is different from a second plurality of distances used in the MMVD mode when the TM is not enabled.

2. The method of claim 1 , wherein

the one or more MVD candidates is one MVD candidate;

the MVD information includes distance information indicating a magnitude of the one MVD candidate that is one of the first plurality of distances and direction information indicating a direction of the one MVD candidate;

the determining the one or more MVD candidates includes determining the one MVD candidate based on the magnitude of the one MVD candidate and the direction of the one MVD candidate; and

the performing the TM includes performing the TM around the one MVD candidate.

3. The method of claim 2 , wherein

the coded bitstream further includes a TM flag, and

the TM flag indicates that the TM is enabled for the current block.

4. The method of claim 3 , wherein

the distance information includes a distance index pointing to a distance in the first plurality of distances, the distance being the magnitude of the one MVD candidate; and

the first plurality of distances is based on a search range of the TM.

5. The method of claim 4 , wherein

the search range of the TM is in a range of [−L, +L] in a horizontal direction and in a vertical direction, L being a positive integer; and

the smallest distance in the first plurality of distances is equal to L or L/2.

6. The method of claim 3 , wherein

the distance information includes a distance index pointing to a distance in the first plurality of distances, the distance being the magnitude of the one MVD candidate; and

the first plurality of distances is in an arithmetic progression.

7. The method of claim 1 , wherein

the one or more MVD candidates include a plurality of MVD candidates that have a same direction;

the MVD information includes direction information indicating the direction of the plurality of MVD candidates;

the determining the one or more MVD candidates includes determining the plurality of MVD candidates based on the direction of the plurality of MVD candidates and the first plurality of distances, the plurality of MVD candidates being ordered based on the first plurality of distances; and

the performing the TM includes:

applying, for each of the plurality of MVD candidates, the TM to the respective MVD candidate to obtain a TM cost and a corresponding updated MVD candidate corresponding to the respective MVD candidate; and

determining the matched MVD based on the TM costs and the corresponding updated MVD candidates.

8. The method of claim 7 , wherein

the MVD information includes a distance index; and

the performing the TM includes:

reordering the plurality of MVD candidates according to the TM costs of the plurality of MVD candidates; and

determining the matched MVD to be the updated MVD candidate corresponding to the MVD candidate indicated by the distance index in the plurality of reordered MVD candidates.

9. The method of claim 7 , wherein the performing the TM comprises:

determining the matched MVD to be the updated MVD candidate that corresponds to the smallest TM cost of the TM costs of the plurality of MVD candidates.

10. The method of claim 1 , wherein

the one or more MVD candidates include a plurality of MVD candidates that have a same magnitude;

the MVD information includes distance information indicating that the magnitude of the plurality of MVD candidates is one of the first plurality of distances;

the determining the one or more MVD candidates includes determining the plurality of MVD candidates based on the magnitude of the plurality of MVD candidates and a plurality of directions, the plurality of MVD candidates being ordered according to the plurality of directions; and

the performing the TM includes:

applying, for each of the plurality of MVD candidates, the TM to the respective MVD candidate to obtain a TM cost and a corresponding updated MVD candidate corresponding to the respective MVD candidate; and

determining the matched MVD based on the TM costs and the corresponding updated MVD candidates.

11. The method of claim 10 , wherein

the MVD information includes a direction index; and

the performing the TM includes:

reordering the plurality of MVD candidates according to the TM costs of the plurality of MVD candidates; and

determining the matched MVD to be the updated MVD candidate corresponding to the MVD candidate indicated by the direction index in the plurality of reordered MVD candidates.

12. The method of claim 10 , wherein the performing the TM comprises:

determining the matched MVD to be the updated MVD candidate corresponding to the smallest TM cost of the TM costs of the plurality of MVD candidates.

13. A method for video encoding in a video encoder, comprising:

determining, using a merge mode with motion vector difference (MMVD) mode, one or more motion vector difference (MVD) candidates of a current block based on a first plurality of distances when template matching (TM) is to be applied with the MMVD mode to encode the current block;

performing TM to search for a matched MVD between a current template of the current block and a reference template of a reference block of the current block based on the one or more MVD candidates determined using the MMVD mode; and

encoding the current block in a coded bitstream based on a motion vector (MV) that is a summation of a motion vector predictor (MVP) and the matched MVD, wherein

the first plurality of distances used in the MMVD mode to determine the one or more MVD candidates when the TM is enabled is different from a second plurality of distances used in the MMVD mode when the TM is not enabled.

14. The method of claim 13 , wherein

the one or more MVD candidates is one MVD candidate;

the determining the one or more MVD candidates includes determining the one MVD candidate based on a magnitude of the one MVD candidate that is one of the first plurality of distances and a direction of the one MVD candidate; and

the performing the TM includes performing the TM around the one MVD candidate.

15. The method of claim 14 , wherein

the coded bitstream further includes a TM flag, and

the TM flag indicates that the TM is enabled for the current block.

16. The method of claim 15 , wherein

the coded bitstream includes distance information, the distance information including a distance index pointing to a distance in the first plurality of distances, the distance being the magnitude of the one MVD candidate; and

the first plurality of distances is based on a search range of the TM.

17. The method of claim 16 , wherein

the search range of the TM is in a range of [−L, +L] in a horizontal direction and in a vertical direction, L being a positive integer; and

the smallest distance in the first plurality of distances is equal to L or L/2.

18. The method of claim 15 , wherein

the coded bitstream includes distance information, the distance information including a distance index pointing to a distance in the first plurality of distances, the distance being the magnitude of the one MVD candidate; and

the first plurality of distances is in an arithmetic progression.

19. The method of claim 13 , wherein

the one or more MVD candidates include a plurality of MVD candidates that have a same direction;

the determining the one or more MVD candidates includes determining the plurality of MVD candidates based on the direction of the plurality of MVD candidates and the first plurality of distances, the plurality of MVD candidates being ordered based on the first plurality of distances; and

the performing the TM includes:

applying, for each of the plurality of MVD candidates, the TM to the respective MVD candidate to obtain a TM cost and a corresponding updated MVD candidate corresponding to the respective MVD candidate; and

determining the matched MVD based on the TM costs and the corresponding updated MVD candidates.

20. A method of processing visual media data, the method comprising:

performing a conversion between a visual media file and a bitstream of visual media data according to a format rule, wherein

the bitstream includes prediction information of a current block, the prediction information indicating that template matching (TM) is applied with a merge mode with motion vector difference (MMVD) and motion vector difference (MVD) information of the current block; and

the format rule specifies that:

one or more MVD candidates are determined using the MMVD mode based on the MVD information and a first plurality of distances,

TM is performed to search for a matched MVD between a current template of the current block and a reference template of a reference block of the current block based on the one or more MVD candidates determined using the MMVD mode,

the current block is reconstructed based on a motion vector (MV) that is a summation of a motion vector predictor (MVP) and the matched MVD, and

the first plurality of distances used in the MMVD mode to determine the one or more MVD candidates when the TM is enabled is different from a second plurality of distances used in the MMVD mode when the TM is not enabled.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2022
From: CHEN, LIEN-FEI; LI, XIANG; LIU, SHAN
To: TENCENT AMERICA LLC
Reel/Frame 061122/0241 →
Continuity (2)
Provisional Application 63252579 · Oct 5, 2021
Related Publication 20230109532A1 · Apr 6, 2023
Cited By (1)
US 12,464,134