# US 11,310,508 B2 · Motion vector precision in merge with motion vector difference mode

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

- Number: US 11,310,508 B2
- Document ID: US11310508B2
- Status: Granted
- Kind: B2
- Application number: 17/203,604
- Filed: 2021-03-16
- Published: 2021-07-01
- Granted: 2022-04-19
- Earliest claimed: 2018-12-21
- Assignees: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Applicants: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Inventors: Hongbin Liu; Li Zhang; Kai Zhang; Jizheng Xu; Yue Wang
- Web page: https://patentgrep.com/patent/US11310508B2

## CPC

- H04N 19/103: Selection of coding mode or of prediction mode
- H04N 19/137: Motion inside a coding unit, e.g. average field, frame or block difference
- 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/132: Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
- H04N 19/159: Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/46: Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence)
- H04N 19/513: Processing of motion vectors
- H04N 19/52: by predictive encoding
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 19/54: using feature points or meshes
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method of video processing is provided to include: performing a conversion between one or more video blocks of a video and a coded representation of the video, wherein a first field in the coded representation indicates whether fractional sample precision is used for indicating motion distances in a merge with motion vector difference (MMVD) mode used during the conversion, and wherein the MMVD mode includes a motion vector expression that includes a starting point, a motion distance and a motion direction for the current video block.

## Claims

### Claim 1

A method of processing video data, comprising:
constructing a merge candidate list for a current video unit of a video;
generating a first motion vector from the merge candidate list;
determining a motion vector difference offset based on a motion distance and a motion direction, wherein the motion distance is determined based on a motion distance index and a sample precision;
determining, a motion vector difference (MVD) based on the motion vector difference offset;
determining, a second motion vector based on the MVD and the first motion vector; and
performing a conversion between the current video unit and a bitstream of the video based on the second motion vector;
wherein a first flag in the bitstream indicates whether only integer sample precision is used for indicating the motion distance,
wherein the first flag is included in the bitstream in a case that a merge mode with motion vector difference enablement flag indicates that the merge mode with motion vector difference is enabled,
wherein an element in a first column of a motion distance table is a product of a factor and a corresponding element with a same motion distance index in a second column of the motion distance table, wherein the first column is used to derive the motion distance when the first flag indicate that only integer sample precision is used for indicating the motion distance, and the second column is used to derive the motion distance when the first flag indicates that not only integer sample precision is used for indicating the motion distance, wherein the factor is 4.

### Claim 2 (depends on 1)

The method of claim 1, wherein the motion distance index is binarized by a truncated rice process.

### Claim 3 (depends on 1)

The method of claim 1, wherein the first flag is a picture header level.

### Claim 4 (depends on 3)

The method of claim 3, wherein a second flag in the bitstream indicates whether only integer sample precision is enabled for indicating the motion distance, and wherein the second flag is a sequence parameter set (SPS) level.

### Claim 5 (depends on 4)

The method of claim 4, wherein the first flag is not included in the bitstream in response to the second flag indicating false.

### Claim 6 (depends on 4)

The method of claim 4, wherein the first flag is included in the bitstream in response to the second flag indicating true.

### Claim 7 (depends on 1)

The method of claim 1, wherein the conversion includes encoding the current video unit into the bitstream.

### Claim 8 (depends on 1)

The method of claim 1, wherein the conversion includes decoding the current video unit from the bitstream.

### Claim 9

An apparatus for processing video data comprising a processor and a non-transitory memory with instructions thereon, wherein the instructions upon execution by the processor, cause the processor to:
construct a merge candidate list for a current video unit of a video;
generate a first motion vector from the merge candidate list;
determine a motion vector difference offset based on a motion distance and a motion direction, wherein the motion distance is determined based on a motion distance index and a sample precision;
determine, a motion vector difference (MVD) based on the motion vector difference offset;
determine, a second motion vector based on the MVD and the first motion vector; and
perform a conversion between the current video unit and a bitstream of the video based on the second motion vector;
wherein a first flag in the bitstream indicates whether only integer sample precision is used for indicating the motion distance,
wherein the first flag is included in the bitstream in a case that a merge mode with motion vector difference enablement flag indicates that the merge mode with motion vector difference is enabled,
wherein an element in a first column of a motion distance table is a product of a factor and a corresponding element with a same motion distance index in a second column of the motion distance table, wherein the first column is used to derive the motion distance when the first flag indicate that only integer sample precision is used for indicating the motion distance, and the second column is used to derive the motion distance when the first flag indicates that not only integer sample precision is used for indicating the motion distance, wherein the factor is 4.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the motion distance index is binarized by a truncated rice process.

### Claim 11 (depends on 9)

The apparatus of claim 9, wherein the first flag is a picture header level.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein a second flag in the bitstream indicates whether only integer sample precision is enabled for indicating the motion distance, and wherein the second flag is a sequence parameter set (SPS) level.

### Claim 13

A non-transitory computer-readable storage medium storing instructions that cause a processor to:
construct a merge candidate list for a current video unit of a video;
generate a first motion vector from the merge candidate list;
determine a motion vector difference offset based on a motion distance and a motion direction, wherein the motion distance is determined based on a motion distance index and a sample precision;
determine, a motion vector difference (MVD) based on the motion vector difference offset;
determine, a second motion vector based on the MVD and the first motion vector; and
perform a conversion between the current video unit and a bitstream of the video based on the second motion vector;
wherein a first flag in the bitstream indicates whether only integer sample precision is used for indicating the motion distance,
wherein the first flag is included in the bitstream in a case that a merge mode with motion vector difference enablement flag indicates that the merge mode with motion vector difference is enabled,
wherein an element in a first column of a motion distance table is a product of a factor and a corresponding element with a same motion distance index in a second column of the motion distance table, wherein the first column is used to derive the motion distance when the first flag indicate that only integer sample precision is used for indicating the motion distance, and the second column is used to derive the motion distance when the first flag indicates that not only integer sample precision is used for indicating the motion distance, wherein the factor is 4.

### Claim 14

A non-transitory computer-readable recording medium storing a bitstream of a video which is generated by a method performed by a video processing apparatus, wherein the method comprises:
constructing a merge candidate list for a current video unit of a video;
generating a first motion vector from the merge candidate list;
determining a motion vector difference offset based on a motion distance and a motion direction, wherein the motion distance is determined based on a motion distance index and a sample precision;
determining, a motion vector difference (MVD) based on the motion vector difference offset;
determining, a second motion vector based on the MVD and the first motion vector; and
generating the bitstream based on the second motion vector;
wherein a first flag in the bitstream indicates whether only integer sample precision is used for indicating the motion distance,
wherein the first flag is included in the bitstream in a case that a merge mode with motion vector difference enablement flag indicates that the merge mode with motion vector difference is enabled,
wherein an element in a first column of a motion distance table is a product of a factor and a corresponding element with a same motion distance index in a second column of the motion distance table, wherein the first column is used to derive the motion distance when the first flag indicate that only integer sample precision is used for indicating the motion distance, and the second column is used to derive the motion distance when the first flag indicates that not only integer sample precision is used for indicating the motion distance, wherein the factor is 4.

### Claim 15 (depends on 13)

The non-transitory computer-readable storage medium of claim 13, wherein the motion distance index is binarized by a truncated rice process.

### Claim 16 (depends on 13)

The non-transitory computer-readable storage medium of claim 13, wherein the motion distance index is binarized by a truncated rice process.

### Claim 17 (depends on 13)

The non-transitory computer-readable storage medium of claim 13, wherein the first flag is a picture header level.

### Claim 18 (depends on 17)

The non-transitory computer-readable storage medium of claim 17, wherein a second flag in the bitstream indicates whether only integer sample precision is enabled for indicating the motion distance, and wherein the second flag is a sequence parameter set (SPS) level.

### Claim 19 (depends on 18)

The non-transitory computer-readable storage medium of claim 18, wherein the first flag is not included in the bitstream in response to the second flag indicating false.

### Claim 20 (depends on 18)

The non-transitory computer-readable storage medium of claim 18, wherein the first flag is included in the bitstream in response to the second flag indicating true.
