IP Library › Granted Patent US 11,153,597
Granted Patent B2
US 11,153,597 · App. 16/821,833 · Granted Oct 19, 2021

Decoder side MV derivation and refinement

Inventors: Meng Xu (San Jose, CA); Xiang Li (Los Gatos, CA); Shan Liu (San Jose, CA)
Assignee: Tencent America LLC
H04N19/52H04N19/103H04N19/124H04N19/132H04N19/169
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,153,597
App. No.
16/821,833
Granted
Oct 19, 2021
Kind
B2
Abstract

In a method for video decoding in a decoder, a first motion vector and a second motion vector for a first block in a current picture are received. The first motion vector is indicative of a first reference block in a first picture, and the second motion vector is indicative of a second reference block in a second picture. A bilateral template is generated based on a weighted combination of the first reference block and the second reference block. A refined first motion vector and a refined second motion vector are determined based on the bilateral template, reference blocks in the first picture and reference blocks in the second picture respectively. An initial motion vector of a second block that is coded after the first block is determined according to at least one of the first motion vector and the second motion vector for the first block.

Claims (68)

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

receiving a first motion vector and a second motion vector for a first block in a current picture of a video, the first motion vector being indicative of a first reference block in a first picture, and the second motion vector being indicative of a second reference block in a second picture;

generating a bilateral template based on a weighted combination of the first reference block and the second reference block;

determining a refined first motion vector based on the bilateral template and a first set of reference blocks in the first picture;

determining a refined second motion vector based on the bilateral template and a second set of reference blocks in the second picture; and

reconstructing, by applying a final motion compensation interpolation filter, the first block according to (i) the refined first motion vector, and (ii) the refined second motion vector,

wherein, prior to the reconstructing, the method comprises determining an initial motion vector of a second block that is coded after the first block according to at least one of the first motion vector and the second motion vector for the first block, and

the final motion compensation interpolation filter has a filter length based on a search range used to determine the first set of reference blocks or the second set of reference blocks.

2. The method of claim 1 , wherein the first block is included in a process of constructing a candidate list of candidate motion vector predictors for the second block.

3. The method of claim 1 , wherein the first set of reference blocks includes the first reference block and eight reference blocks at different positions of the first reference block in the first picture, and the second set of reference blocks includes the second reference block and eight reference blocks at different positions of the second reference block in the second picture.

4. The method of claim 1 , wherein

the determining the refined first motion vector includes determining a first minimum cost measure in the first set of reference blocks, and

the determining the refined second motion vector includes determining a second minimum cost measure in the second set of reference blocks.

5. The method of claim 4 , wherein a cost measure for determining the first minimum cost measure and the second minimum cost measure comprises at least one of a sum of absolute difference (SAD) measure, a mean square error (MSE) measure, a mean absolute difference (MAD) measure, or a matching-pixel count (MPC) measure.

6. The method of claim 1 , wherein

the determining the refined first motion vector and the determining the refined second motion vector are performed by applying a refinement interpolation filter, and

the refinement interpolation filter and the final motion compensation interpolation filter have respective filter lengths determined based on

the search range to determine the first set of reference blocks or the second set of reference blocks, and

a filter length of a regular motion compensation interpolation filter that is applied when the first block is reconstructed based on the first motion vector and the second motion vector.

7. The method of claim 6 , wherein

the filter length of the refinement interpolation filter is Tap_ MC−DMVR ,

the filter length of the final motion compensation interpolation filter is Tap_ SR ·

2×SR+ Tap_ MC−DMVR /2+ Tap_ SR /2=Tap_ MC ,

SR is the search range to determine the first set of reference blocks or the second set of reference blocks, and

Tap_ MC is the filter length of the regular motion compensation interpolation filter that is applied when the first block is reconstructed based on the first motion vector and the second motion vector.

8. The method of claim 6 , wherein

the refinement interpolation filter has a vertical filter length and a horizontal filter length, and

the vertical filter length is different from the horizontal filter length.

9. The method of claim 6 , wherein the search range to determine the first or second set of reference blocks is an adaptive search range that is defined based on a block size of the first block.

10. The method of claim 6 , wherein a size of the search range is defined based on an area of the first block.

11. An apparatus, comprising:

processing circuitry configured to:

receive a first motion vector and a second motion vector for a first block in a current picture of a video, the first motion vector being indicative of a first reference block in a first picture, and the second motion vector being indicative of a second reference block in a second picture;

generate a bilateral template based on a weighted combination of the first reference block and the second reference block:

determine a refined first motion vector based on the bilateral template and a first set of reference blocks in the first picture;

determine a refined second motion vector based on the bilateral template and a second set of reference blocks in the second picture;

reconstruct, by application of a final motion compensation interpolation filter, the first block according to (i) the refined first motion vector and (ii) the refined second motion vector,

wherein, prior to reconstructing the first block, the processing circuitry is configured to determine an initial motion vector of a second block that is coded after the first block according to at least one of the first motion vector and the second motion vector for the first block, and

the final motion compensation interpolation filter has a filter length based on a search range used to determine the first set of reference blocks or the second set of reference blocks.

12. The apparatus of claim 11 , wherein the first block is included in a process of constructing a candidate list of candidate motion vector predictors for the second block.

13. The apparatus of claim 11 , wherein the processing circuitry is further configured to:

determine the refined first motion vector based on a first determination that the refined first motion vector is associated with a first minimum cost measure in the first set of reference blocks, and

determine the refined second motion vector based on a second determination that the refined second motion vector is associated with a second minimum cost measure in the second set of reference blocks.

14. The apparatus of claim 13 , wherein a cost measure for determining the first minimum cost measure and the second minimum cost measure comprises at least one of a sum of absolute difference (SAD) measure, a mean square error (MSE) measure, a mean absolute difference (MAD) measure, or a matching-pixel count (MPC) measure.

15. The apparatus of claim 11 , wherein

the processing circuitry determines the refined first motion vector and the refined second motion vector by applying a refinement interpolation filter, and

the refinement interpolation filter and the final motion compensation interpolation filter have respective filter lengths determined based on

the search range to determine the first set of reference blocks or the second set of reference blocks, and

a filter length of a regular motion compensation interpolation filter that is applied when the first block is reconstructed based on the first motion vector and the second motion vector.

16. The apparatus of claim 15 , wherein

the filter length of the refinement interpolation filter is Tap_ MC−DMVR ,

the filter length of the final motion compensation interpolation filter is Tap_ SR ·

2×SR+ Tap_ MC−DMVR/ 2Tap SR/ 2=Tap_ MC ,

SR is the search range to determine the first set of reference blocks or the second set of reference blocks, and

Tap_ MC is the filter length of the regular motion compensation interpolation filter that is applied when the first block is reconstructed based on the first motion vector and the second motion vector.

17. The apparatus of claim 15 , wherein

the refinement interpolation filter has a vertical filter length and a horizontal filter length, and

the vertical filter length is different from the horizontal filter length.

18. The apparatus of claim 15 , wherein the search range to determine the first or second set of reference blocks is an adaptive search range that is defined based on a block size of the first block.

19. The apparatus of claim 15 , wherein a size of the search range is defined based on an area of the first block.

20. A non-transitory computer-readable storage medium storing instructions, which, when executed by a computer for video decoding, cause the computer to perform a method comprising:

receiving a first motion vector and a second motion vector for a first block in a current picture of a video, the first motion vector being indicative of a first reference block in a first picture, and the second motion vector being indicative of a second reference block in a second picture:

generating a bilateral template based on a weighted combination of the first reference block and the second reference block:

determining a refined first motion vector based on the bilateral template and a first set of reference blocks in the first picture;

determining a refined second motion vector based on the bilateral template and a second set of reference blocks in the second picture; and

reconstructing, by applying a final motion compensation interpolation filter, the first block according to (i) the refined first motion vector, and (ii) the refined second motion vector,

wherein, prior to the reconstructing, the method comprises determining an initial motion vector of a second block that is coded after the first block according to at least one of the first motion vector and the second motion vector for the first block, and

the final motion compensation interpolation filter has a filter length based on a search range used to determine the first set of reference blocks or the second set of reference blocks.

Continuity (3)
Continuation 16235545 · Dec 28, 2018
Provisional Application 62693060 · Jul 2, 2018
Related Publication 20200221118A1 · Jul 9, 2020