# US 11,451,819 B2 · Clipping of updated MV or derived MV

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

- Number: US 11,451,819 B2
- Document ID: US11451819B2
- Status: Granted
- Kind: B2
- Application number: 17/098,962
- Filed: 2020-11-16
- Published: 2021-03-04
- Granted: 2022-09-20
- Earliest claimed: 2018-08-04
- 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/US11451819B2

## CPC

- H04N 19/109: among a plurality of temporal predictive coding modes
- H04N 19/52: by predictive encoding
- 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/137: Motion inside a coding unit, e.g. average field, frame or block difference
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/184: the unit being bits, e.g. of the compressed video stream
- H04N 19/513: Processing of motion vectors
- H04N 19/523: with sub-pixel accuracy
- H04N 19/56: Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
- H04N 19/577: Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 19/96: Tree coding, e.g. quad-tree coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Devices, systems and methods for digital video coding, which includes motion prediction based on updated motion vectors generated using two-step inter-prediction, are described. Methods for clipping of updated MV or derived MV are described. An exemplary method for video coding includes: determining original motion information for a current block; updating original motion vectors of the original motion information for the current block based on a refining method; clipping the updated motion vectors to be within a range; and performing a conversion between the current block and a bitstream representation of a video including the current block, based on the clipped updated motion vectors.

## Claims

### Claim 1

A video processing method, comprising:
determining original motion information for a current block;
updating original motion vectors of the original motion information based on a decoder-side motion vector refinement (DMVR) method;
clipping the updated motion vectors to be within a first range; and
performing a conversion between the current block and a bitstream representation of a video including the current block, based on the clipped updated motion vectors,
wherein the performing a conversion comprises: decoding the current block from the bitstream representation or encoding the current block into the bitstream representation,
wherein the updating original motion vectors and the clipping the updated motion vectors are performed for each sub-block of the current block, and
wherein in case that a width and/or a height of the video block, to which the sub-block belongs, is larger than a fourth threshold, the current block is split into multiple sub-blocks.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first range is same as an allowed range of the original motion vectors.

### Claim 3 (depends on 1)

The method of claim 1, wherein the performing a conversion comprises:
determining reference samples based on the updated motion vectors; and
adjusting the reference samples based on a motion vector field (vx, vy) derived during a bi-directional optical flow refinement;
wherein in the bi-directional optical flow refinement, at least one of vx and vy in the motion vector field is clipped to a second range.

### Claim 4 (depends on 3)

The method of claim 3, wherein at least one of vx and vy is constrained to the second range as:
−Mx<vx<Nx, and/or −My<vy<Ny,
wherein Mx, Nx, My, Ny are none-negative integers.

### Claim 5 (depends on 3)

The method of claim 3, wherein the motion vector field (vx, vy) is determined based on at least one gradient value corresponding to the reference sample.

### Claim 6 (depends on 1)

The method of claim 1, wherein the method is not applied in case that the current block meets a certain condition, wherein the certain condition specifies at least one of: a size of the current block, a slice type of the current block, a picture type of the current block and a tile type of the current block.

### Claim 7 (depends on 6)

The method of claim 6, wherein the certain condition specifies at least one of:
a sample number that the current block contains is smaller than a first threshold,
a width of the current block is smaller than or no larger than a second threshold, or
a height of the current block is smaller than or no larger than a third threshold.

### Claim 8 (depends on 1)

The method of claim 1, wherein each of the multiple sub-blocks undergoes decoder-side motion vector refinement or/and bi-directional optical flow in the same way as a normal video block with size equal to the sub-block size.

### Claim 9 (depends on 7)

The method of claim 7, wherein at least one of the first threshold, the second threshold, or the third threshold is pre-defined.

### Claim 10 (depends on 1)

The method of claim 1, wherein the determining original motion information comprises:
constructing a candidate list for the current block; and
determining the original motion information from the candidate list.

### Claim 11 (depends on 1)

The method of claim 1, wherein the performing a conversion comprises:
decoding the current block from the bitstream representation.

### Claim 12 (depends on 1)

The method of claim 1, wherein the performing a conversion comprises:
encoding the current block into the bitstream representation.

### Claim 13

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:
determine original motion information for a current block;
update original motion vectors of the original motion information based on a decoder-side motion vector refinement (DMVR) method;
clip the updated motion vectors to be within a first range; and
perform a conversion between the current block and a bitstream representation of a video including the current block, based on the clipped updated motion vectors,
wherein the performing a conversion comprises: decoding the current block from the bitstream representation or encoding the current block into the bitstream representation,
wherein the updating original motion vectors and the clipping the updated motion vectors are performed for each sub-block of the current block, and
wherein in case that a width and/or a height of the video block, to which the sub-block belongs, is larger than a fourth threshold, the current block is split into multiple sub-blocks.

### Claim 14 (depends on 13)

The apparatus of claim 13, wherein the first range is same as an allowed range of the original motion vectors.

### Claim 15 (depends on 13)

The apparatus of claim 13, wherein the instructions upon execution by the processor further cause the processor to:
decode the current block from the bitstream representation.

### Claim 16 (depends on 13)

The apparatus of claim 13, wherein the instructions upon execution by the processor further cause the processor to:
encode the current block into the bitstream representation.

### Claim 17

A non-transitory computer-readable storage medium storing instructions that cause a processor to:
determine original motion information for a current block;
update original motion vectors of the original motion information based on a decoder-side motion vector refinement (DMVR) method;
clip the updated motion vectors to be within a first range; and
perform a conversion between the current block and a bitstream representation of a video including the current block, based on the clipped updated motion vectors,
wherein the performing a conversion comprises: decoding the current block from the bitstream representation or encoding the current block into the bitstream representation,
wherein the updating original motion vectors and the clipping the updated motion vectors are performed for each sub-block of the current block, and
wherein in case that a width and/or a height of the video block, to which the sub-block belongs, is larger than a fourth threshold, the current block is split into multiple sub-blocks.

### Claim 18

A non-transitory computer-readable recording medium storing a bitstream representation which is generated by a method performed by a video processing apparatus, wherein the method comprises:
determining original motion information for a current block;
updating original motion vectors of the original motion information based on a decoder-side motion vector refinement (DMVR) method;
clipping the updated motion vectors to be within a first range; and
encoding the current block into the bitstream representation of a video including the current block, based on the clipped updated motion vectors,
wherein the performing a conversion comprises: decoding the current block from the bitstream representation or encoding the current block into the bitstream representation,
wherein the updating original motion vectors and the clipping the updated motion vectors are performed for each sub-block of the current block, and
wherein in case that a width and/or a height of the video block, to which the sub-block belongs, is larger than a fourth threshold, the current block is split into multiple sub-blocks.
