# US 2019/0320197 A1 · Limitation of the mvp derivation based on decoder-side motion vector derivation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0320197 A1
- Document ID: US20190320197A1
- Status: Published application
- Kind: A1
- Application number: 16/384,044
- Filed: 2019-04-15
- Published: 2019-10-17
- Earliest claimed: 2018-04-17
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Yi-Wen Chen; Wei-Jung Chien; Hsiao-Chiang Chuang; Marta Karczewicz
- Web page: https://patentgrep.com/patent/US20190320197A1

## CPC

- H04N 19/52: by predictive encoding
- H04N 19/521: {for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors}
- H04N 19/105: Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
- H04N 19/139: Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A video decoder is configured to determine a first motion vector for a first block of video data; perform motion vector refinement on the first motion vector for the first block to determine a refined motion vector for the first block of video data; determine that a second block of video data is coded in a mode that utilizes a motion vector associated with the first block as a motion vector predictor; in response to determining that the second block of video data is coded in the mode that utilizes the motion vector associated with the first block as a motion vector predictor and in response to performing the motion vector refinement on the first motion vector for the first block, use a different motion vector than the first refined motion vector as the motion vector predictor associated with the first block.

## Claims

### Claim 1

A method of decoding video data, the method comprising:
determining a first block of video data is coded in an inter prediction mode;
determining a first motion vector for the first block of video data;
performing motion vector refinement on the first motion vector for the first block to determine a refined motion vector for the first block of video data;
locating a first reference block in a first reference picture using the refined motion vector;
generating a first predictive block for the first block of video data based on the first reference block;
determining that a second block of video data is coded in a mode that utilizes a motion vector associated with the first block as a motion vector predictor;
in response to determining that the second block of video data is coded in the mode that utilizes the motion vector associated with the first block as a motion vector predictor and in response to performing the motion vector refinement on the first motion vector for the first block, using a different motion vector than the first refined motion vector as the motion vector predictor associated with the first block;
based on the different motion vector, determining a second motion vector for the second block;
locating a second reference block in a second reference picture using the second motion vector; and
decoding a picture of video data based on the first reference block and the second reference block.

### Claim 2 (depends on 1)

The method of claim 1, wherein performing the motion vector refinement on the first motion vector for the first block comprises:
determining that a decoder-side motion vector derivation (DMVD) mode is enabled for the first block of video data; and
performing the motion vector refinement on the first motion vector for the first block in accordance with the DMVD mode.

### Claim 3 (depends on 2)

The method of claim 2, wherein the DMVD mode comprises one of frame-rate up conversion (FRUC) template matching, FRUC bilateral matching, and bilateral template matching.

### Claim 4 (depends on 1)

The method of claim 1, wherein the different motion vector comprises the first motion vector for the first block.

### Claim 5 (depends on 1)

The method of claim 1, wherein the different motion vector comprises a default motion vector.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
determining that the second block is coded in a merge mode;
generating a candidate list for the second block, wherein generating the candidate list for the second block comprises, in response to determining that the first block is coded using bilateral template matching, adding the different motion vector to the candidate list.

### Claim 7 (depends on 1)

The method of claim 1, wherein:
determining the first motion vector for the first block of video data comprises determining a first motion vector prediction and a first motion vector difference;
performing motion vector refinement on the first motion vector for the first block comprises refining the first motion vector predictor to determine a first refined motion vector predictor;
setting the refined motion vector for the first block of video data equal to the first refined motion vector predictor plus the first motion vector difference; and
setting the motion vector predictor equal to the first motion vector predictor plus the first motion vector difference.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
adding first residual data to the first predictive block to generate a first reconstructed block of video data;
processing the first reconstructed block of video data to generate a first decoded block of video data;
using the second motion vector, locating a second reference block in a second reference picture;
generating a second predictive block for the second block of video data based on the second reference block;
adding second residual data to the second predictive block to generate a second reconstructed block of video data;
processing the second reconstructed block of video data to generate a second decoded block of video data; and
outputting a picture comprises the first decoded block of video data and the second decoded block of video data.

### Claim 9 (depends on 8)

The method of claim 8, wherein outputting the picture comprises one or both of:
storing a copy of the picture in a decoded picture buffer for use as reference picture in decoding subsequent pictures of video data; and
outputting the picture to a display device.

### Claim 10 (depends on 1)

The method of claim 1, wherein the method of decoding is performed as part of a reconstruction loop of a video encoding process.

### Claim 11

A device for decoding video data, the device comprising:
a memory configured to store video data;
one or more processors configured to:
determine a first block of the video data is coded in an inter prediction mode;
determine a first motion vector for the first block of the video data;
perform motion vector refinement on the first motion vector for the first block to determine a refined motion vector for the first block of the video data;
locate a first reference block in a first reference picture using the refined motion vector;
generate a first predictive block for the first block of the video data based on the first reference block;
determine that a second block of the video data is coded in a mode that utilizes a motion vector associated with the first block as a motion vector predictor;
in response to determining that the second block of the video data is coded in the mode that utilizes the motion vector associated with the first block as a motion vector predictor and in response to performing the motion vector refinement on the first motion vector for the first block, use a different motion vector than the first refined motion vector as the motion vector predictor associated with the first block;
based on the different motion vector, determine a second motion vector for the second block; and
locate a second reference block in a second reference picture using the second motion vector; and
decode a picture of the video data based on the first reference block and the second reference block.

### Claim 12 (depends on 11)

The device of claim 11, wherein to perform the motion vector refinement on the first motion vector for the first block, the one or more processors are further configured to:
determine that a decoder-side motion vector derivation (DMVD) mode is enabled for the first block of the video data; and
perform the motion vector refinement on the first motion vector for the first block in accordance with the DMVD mode.

### Claim 13 (depends on 12)

The device of claim 12, wherein the DMVD mode comprises one of frame-rate up conversion (FRUC) template matching, FRUC bilateral matching, and bilateral template matching.

### Claim 14 (depends on 11)

The device of claim 11, wherein the different motion vector comprises the first motion vector for the first block.

### Claim 15 (depends on 11)

The device of claim 11, wherein the different motion vector comprises a default motion vector.

### Claim 16 (depends on 11)

The device of claim 11, wherein the one or more processors are further configured to:
determine that the second block is coded in a merge mode;
generate a candidate list for the second block, wherein generating the candidate list for the second block comprises, in response to determining that the first block is coded using bilateral template matching, adding the different motion vector to the candidate list.

### Claim 17 (depends on 11)

The device of claim 11, wherein the one or more processors are further configured to:
determine the first motion vector for the first block of the video data comprises determining a first motion vector prediction and a first motion vector difference;
perform motion vector refinement on the first motion vector for the first block comprises refining the first motion vector predictor to determine a first refined motion vector predictor;
set the refined motion vector for the first block of the video data equal to the first refined motion vector predictor plus the first motion vector difference; and
set the motion vector predictor equal to the first motion vector predictor plus the first motion vector difference.

### Claim 18 (depends on 11)

The device of claim 11, wherein the one or more processors are further configured to:
add first residual data to the first predictive block to generate a first reconstructed block of video data;
process the first reconstructed block of video data to generate a first decoded block of video data;
use the second motion vector, locating a second reference block in a second reference picture;
generate a second predictive block for the second block of the video data based on the second reference block;
add second residual data to the second predictive block to generate a second reconstructed block of video data;
process the second reconstructed block of video data to generate a second decoded block of video data; and
output a picture comprises the first decoded block of video data and the second decoded block of video data.

### Claim 19 (depends on 18)

The device of claim 18, wherein to output the picture, the one or more processors are further configured to one or both of:
store a copy of the picture in a decoded picture buffer for use as reference picture in decoding subsequent pictures of video data; and
output the picture to a display device.

### Claim 20 (depends on 11)

The device of claim 11, wherein the one or more processors are further configured to perform decoding as part of a reconstruction loop of a video encoding process.

### Claim 21 (depends on 11)

The device of claim 11, wherein the device comprises a wireless communication device, further comprising a receiver configured to receive encoded video data.

### Claim 22 (depends on 21)

The device of claim 21, wherein the wireless communication device comprises a telephone handset and wherein the receiver is configured to demodulate, according to a wireless communication standard, a signal comprising the encoded video data.

### Claim 23 (depends on 11)

The device of claim 11, wherein the device comprises a wireless communication device, further comprising a transmitter configured to transmit encoded video data.

### Claim 24 (depends on 23)

The device of claim 23, wherein the wireless communication device comprises a telephone handset and wherein the transmitter is configured to modulate, according to a wireless communication standard, a signal comprising the encoded video data.

### Claim 25

A computer-readable storage medium storing instructions that when executed by one or more processors causes the one or more processors to:
determine a first block of video data is coded in an inter prediction mode;
determine a first motion vector for the first block of video data;
perform motion vector refinement on the first motion vector for the first block to determine a refined motion vector for the first block of video data;
locate a first reference block in a first reference picture using the refined motion vector;
generate a first predictive block for the first block of video data based on the first reference block;
determine that a second block of video data is coded in a mode that utilizes a motion vector associated with the first block as a motion vector predictor;
in response to determining that the second block of video data is coded in the mode that utilizes the motion vector associated with the first block as a motion vector predictor and in response to performing the motion vector refinement on the first motion vector for the first block, use a different motion vector than the first refined motion vector as the motion vector predictor associated with the first block;
based on the different motion vector, determine a second motion vector for the second block;
locate a second reference block in a second reference picture using the second motion vector; and
decode a picture of video data based on the first reference block and the second reference block.

### Claim 26 (depends on 25)

The computer-readable storage medium of claim 25, wherein performing the motion vector refinement on the first motion vector for the first block comprises:
determining that a decoder-side motion vector derivation (DMVD) mode is enabled for the first block of video data; and
performing the motion vector refinement on the first motion vector for the first block in accordance with the DMVD mode.

### Claim 27 (depends on 26)

The computer-readable storage medium of claim 26, wherein the DMVD mode comprises one of frame-rate up conversion (FRUC) template matching, FRUC bilateral matching, and bilateral template matching.

### Claim 28 (depends on 25)

The computer-readable storage medium of claim 25, wherein the different motion vector comprises the first motion vector for the first block.

### Claim 29 (depends on 25)

The computer-readable storage medium of claim 25, wherein the different motion vector comprises a default motion vector.

### Claim 30 (depends on 25)

The computer-readable storage medium of claim 25, further comprising:
determining that the second block is coded in a merge mode;
generating a candidate list for the second block, wherein generating the candidate list for the second block comprises, in response to determining that the first block is coded using bilateral template matching, adding the different motion vector to the candidate list.

### Claim 31 (depends on 25)

The computer-readable storage medium of claim 25, wherein:
determining the first motion vector for the first block of video data comprises determining a first motion vector prediction and a first motion vector difference;
performing motion vector refinement on the first motion vector for the first block comprises refining the first motion vector predictor to determine a first refined motion vector predictor;
setting the refined motion vector for the first block of video data equal to the first refined motion vector predictor plus the first motion vector difference; and
setting the motion vector predictor equal to the first motion vector predictor plus the first motion vector difference.

### Claim 32 (depends on 25)

The computer-readable storage medium of claim 25, further comprising:
adding first residual data to the first predictive block to generate a first reconstructed block of video data;
processing the first reconstructed block of video data to generate a first decoded block of video data;
using the second motion vector, locating a second reference block in a second reference picture;
generating a second predictive block for the second block of video data based on the second reference block;
adding second residual data to the second predictive block to generate a second reconstructed block of video data;
processing the second reconstructed block of video data to generate a second decoded block of video data; and
outputting a picture comprises the first decoded block of video data and the second decoded block of video data.

### Claim 33 (depends on 32)

The computer-readable storage medium of claim 32, wherein outputting the picture comprises one or both of:
storing a copy of the picture in a decoded picture buffer for use as reference picture in decoding subsequent pictures of video data; and
outputting the picture to a display device.

### Claim 34 (depends on 25)

The computer-readable storage medium of claim 25, wherein the method of decoding is performed as part of a reconstruction loop of a video encoding process.

### Claim 35

An apparatus for decoding video data, the apparatus comprising:
means for determining a first block of video data is coded in an inter prediction mode;
means for determining a first motion vector for the first block of video data;
means for performing motion vector refinement on the first motion vector for the first block to determine a refined motion vector for the first block of video data;
means for locating a first reference block in a first reference picture using the refined motion vector;
means for generating a first predictive block for the first block of video data based on the first reference block;
means for determining that a second block of video data is coded in a mode that utilizes a motion vector associated with the first block as a motion vector predictor;
means for using a different motion vector than the first refined motion vector as the motion vector predictor associated with the first block in response to determining that the second block of video data is coded in the mode that utilizes the motion vector associated with the first block as a motion vector predictor and in response to performing the motion vector refinement on the first motion vector for the first block;
means for determining a second motion vector for the second block based on the different motion vector;
means for locating a second reference block in a second reference picture using the second motion vector; and
means for decoding a picture of video data based on the first reference block and the second reference block.

### Claim 36 (depends on 35)

The apparatus of claim 35, wherein the means for performing the motion vector refinement on the first motion vector for the first block comprises:
means for determining that a decoder-side motion vector derivation (DMVD) mode is enabled for the first block of video data; and
means for performing the motion vector refinement on the first motion vector for the first block in accordance with the DMVD mode.

### Claim 37 (depends on 36)

The apparatus of claim 36, wherein the DMVD mode comprises one of frame-rate up conversion (FRUC) template matching, FRUC bilateral matching, and bilateral template matching.

### Claim 38 (depends on 35)

The apparatus of claim 35, wherein the different motion vector comprises the first motion vector for the first block.

### Claim 39 (depends on 35)

The apparatus of claim 35, wherein the different motion vector comprises a default motion vector.
