# US 11,445,199 B2 · Mode dependent motion vector difference precision set

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

- Number: US 11,445,199 B2
- Document ID: US11445199B2
- Status: Granted
- Kind: B2
- Application number: 16/940,959
- Filed: 2020-07-28
- Published: 2020-11-12
- Granted: 2022-09-13
- Earliest claimed: 2018-06-19
- 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; Yue Wang
- Web page: https://patentgrep.com/patent/US11445199B2

## CPC

- H04N 19/139: Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
- H04N 19/107: between spatial and temporal predictive coding, e.g. picture refresh
- H04N 19/176: the region being a block, e.g. a macroblock
- 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/523: with sub-pixel accuracy
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method of processing a video bitstream includes determining a motion precision set based on coding information of a current block. A conversion between a video block and a coded representation of the video block is performed based on the motion precision set. The conversion corresponds to a reconstruction of the current block. In some example aspects, a motion vector difference (MVD) precision of a current block from a motion precision set is determined based on a selected motion precision set and a MVD precision index. A conversion between a video block and a coded representation of the video block using an MVD is performed based on the MVD precision. The MVD represents a difference between a predicted motion vector and an actual motion vector used during motion compensation processing.

## Claims

### Claim 1

A method of video processing, comprising:
determining a coding mode of a current block, wherein the coding mode of the current block is an affine mode or an intra-block copy (IBC) mode;
determining, for motion information of the current block, a motion precision from a motion precision set comprising multiple motion precisions; wherein the motion precision set is based on the coding mode, wherein the motion precision set for blocks coded with the affine mode is different from that for blocks coded with the IBC mode, the motion precision set for blocks coded with the affine mode is different from that for blocks coded with a non-affine mode and the motion precision set for blocks coded with the IBC mode is different from that for blocks coded with a non-IBC mode; and
coding the current block using the determined mode and the determined motion precision,
wherein the motion precision set for blocks coded with the affine mode comprises only 1/16-pel, ¼-pel and 1-pel, wherein 1/16-pel is a precision of motion vectors stored for prediction of other blocks than the current block; and
wherein responsive to the coding mode of the current block being the affine mode, a coding tool is disabled, wherein the coding tool is used for bi-prediction with a motion vector from a previous reference picture and another motion vector from a future reference picture to refine the motion vectors.

### Claim 2 (depends on 1)

The method of claim 1, wherein the motion information comprises at least one of a motion vector difference (MVD), a motion vector predictor (MVP), or a motion vector (MV).

### Claim 3 (depends on 1)

The method of claim 1, wherein motion precision set corresponds at least one of a precision set of MVDs, a precision set of MVPs, or a precision set of MVs.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining, for motion information of the current block, a motion precision from a set of allowed multiple motion precisions comprises:
determining, based on a signaled motion precision index, the motion precision from the motion precision set.

### Claim 5 (depends on 1)

The method of claim 1, wherein the motion precision set comprises at least one of 6-pel resolution, 4-pel resolution, 2-pel resolution, 1-pel resolution, ½-pel resolution, ¼-pel resolution.

### Claim 6 (depends on 1)

The method of claim 1, wherein the motion precision set comprises at least one of 4-pel resolution, 3-pel resolution, 2-pel resolution, 1-pel resolution, ½-pel resolution, ¼-pel resolution.

### Claim 7 (depends on 1)

The method of claim 1, wherein the coding comprises: decoding the current block from a video bitstream.

### Claim 8 (depends on 1)

The method of claim 1, wherein the coding comprises: encoding the current block into a video bitstream.

### Claim 9

An apparatus for video processing comprising a processor and a non-transitory memory with instructions thereon, wherein the instructions upon execution by the processor, cause the processor to:
determine a coding mode of a current block, wherein the coding mode of the current block is an affine mode or an intra-block copy (IBC) mode;
determine, for motion information of the current block, a motion precision from a motion precision set comprising multiple motion precisions; wherein the motion precision set is based on the coding mode, and wherein the motion precision set for blocks coded with the affine mode is different from that for blocks coded with the IBC mode, the motion precision set for blocks coded with the affine mode is different from that for blocks coded with a non-affine mode and the motion precision set for blocks coded with the IBC mode is different from that for blocks coded with a non-IBC mode; and
code the current block using the determined mode and the determined motion precision,
wherein the motion precision set for blocks coded with the affine mode comprises only 1/16-pel, ¼-pel and 1-pel, wherein 1/16-pel is a precision of motion vectors stored for prediction of other blocks than the current block; and
wherein responsive to the coding mode of the current block being the affine mode, a coding tool is disabled, wherein the coding tool is used for bi-prediction with a motion vector from a previous reference picture and another motion vector from a future reference picture to refine the motion vectors.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the motion information comprises at least one of a motion vector difference (MVD), a motion vector predictor (MVP), or a motion vector (MV).

### Claim 11 (depends on 9)

The apparatus of claim 9, wherein motion precision set corresponds at least one of a precision set of MVDs, a precision set of MVPs, or a precision set of MVs.

### Claim 12 (depends on 9)

The apparatus of claim 9, wherein the instructions upon execution by the processor, cause the processor further to:
determine, based on a signaled motion precision index, the motion precision from the motion precision set.

### Claim 13 (depends on 9)

The apparatus of claim 9, wherein the motion precision set comprises at least one of 6-pel resolution, 4-pel resolution, 2-pel resolution, 1-pel resolution, ½-pel resolution, ¼-pel resolution.

### Claim 14

A non-transitory computer-readable storage medium storing instructions that cause a processor to:
determine a coding mode of a current block, wherein the coding mode of the current block is an affine mode or an intra-block copy (IBC) mode;
determine, for motion information of the current block, a motion precision from a motion precision set comprising multiple motion precisions; wherein the motion precision set is based on the coding mode, and wherein the motion precision set for blocks coded with the affine mode is different from that for blocks coded with the IBC mode, the motion precision set for blocks coded with the affine mode is different from that for blocks coded with a non-affine mode and the motion precision set for blocks coded with the IBC mode is different from that for blocks coded with a non-IBC mode; and
code the current block using the determined mode and the determined motion precision,
wherein the motion precision set for blocks coded with the affine mode comprises only 1/16-pel, ¼-pel and 1-pel, wherein 1/16-pel is a precision of motion vectors stored for prediction of other blocks than the current block; and
wherein responsive to the coding mode of the current block being the affine mode, a coding tool is disabled, wherein the coding tool is used for bi-prediction with a motion vector from a previous reference picture and another motion vector from a future reference picture to refine the motion vectors.

### Claim 15

A non-transitory computer-readable recording medium storing a bitstream which is generated by a method performed by a video processing apparatus, wherein the method comprises:
determining a coding mode of a current block, wherein the coding mode of the current block is an affine mode or an intra-block copy (IBC) mode;
determining, for motion information of the current block, a motion precision from a motion precision set comprising multiple motion precisions; wherein the motion precision set is based on the coding mode, wherein the motion precision set for blocks coded with the affine mode is different from that for blocks coded with the IBC mode, the motion precision set for blocks coded with the affine mode is different from that for blocks coded with a non-affine mode and the motion precision set for blocks coded with the IBC mode is different from that for blocks coded with a non-IBC mode; and
coding the current block using the determined mode and the determined motion precision,
wherein the motion precision set for blocks coded with the affine mode comprises only 1/16-pel, ¼-pel and 1-pel, wherein 1/16-pel is a precision of motion vectors stored for prediction of other blocks than the current block; and
wherein responsive to the coding mode of the current block being the affine mode, a coding tool is disabled, wherein the coding tool is used for bi-prediction with a motion vector from a previous reference picture and another motion vector from a future reference picture to refine the motion vectors.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the motion information comprises at least one of a motion vector difference (MVD), a motion vector predictor (MVP), or a motion vector (MV).

### Claim 17 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein motion precision set corresponds at least one of a precision set of MVDs, a precision set of MVPs, or a precision set of MVs.

### Claim 18 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the instructions upon execution by the processor, cause the processor further to:
determine, based on a signaled motion precision index, the motion precision from the motion precision set.

### Claim 19 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the motion precision set comprises at least one of 6-pel resolution, 4-pel resolution, 2-pel resolution, 1-pel resolution, ½-pel resolution, ¼-pel resolution.

### Claim 20 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the motion precision set comprises at least one of 4-pel resolution, 3-pel resolution, 2-pel resolution, 1-pel resolution, ½-pel resolution, ¼-pel resolution.
