# US 12,120,302 B2 · Coded representation of history-based motion vector prediction tables

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

- Number: US 12,120,302 B2
- Document ID: US12120302B2
- Status: Granted
- Kind: B2
- Application number: 17/652,184
- Filed: 2022-02-23
- Published: 2022-08-18
- Granted: 2024-10-15
- Earliest claimed: 2020-08-24
- Assignees: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Applicants: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Inventors: Jizheng Xu; Li Zhang; Kai Zhang; Hongbin Liu; Yue Wang
- Web page: https://patentgrep.com/patent/US12120302B2

## CPC

- 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/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/176: the region being a block, e.g. a macroblock
- H04N 19/1883: {the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]}
- H04N 19/52: by predictive encoding
- H04N 19/56: Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method of video processing is described. The method of video processing includes: constructing, for a conversion between a current video block of a current picture of a video and a coded representation of the video, a history-based motion vector predictor (HMVP) table according to a rule, and performing the conversion using the HMVP table, wherein the current video block is coded in the coded representation using a block vector that represents a displacement between the current video block and a region in the current picture used for predicting the current video block; wherein the rule specifies that the constructing uses block vector information of previously processed video blocks in the HMVP table.

## Claims

### Claim 1

A method of video processing, comprising:
determining, for a conversion between a current video block of a video and a bitstream of the video, a first prediction mode is applied to the current video block,
maintaining, for the first prediction mode, a first history-based motion vector predictor (HMVP) table, and
performing the conversion based on the first prediction mode,
wherein in the first prediction mode, a vector predictor of the current video block is determined based on the first HMVP table, and prediction samples of the current video block is obtained based on the vector predictor,
wherein the first HMVP table comprises one or more vector predictor candidates derived from previously processed video blocks,
wherein a number of vector predictor candidates in the first HMVP table is included in the bitstream, and
wherein when the number of vector predictor candidates in the first HMVP table is smaller than N, the first prediction mode is disallowed for the current video block, wherein N is a predefined integer number.

### Claim 2 (depends on 1)

The method of claim 1, wherein each vector predictor candidate of the first HMVP table represents a vector predictor with an integer precision.

### Claim 3 (depends on 1)

The method of claim 1, wherein the first HMVP table comprises one or more block vector predictor candidates referring to a current picture and does not comprise a motion vector predictor candidate referring to a reference picture other than the current picture,
wherein a second HMVP table is further maintained independently from the first HMVP table, and
wherein the second HMVP table comprises one or more motion vector predictor candidates referring to a reference picture other than the current picture.

### Claim 4 (depends on 1)

The method of claim 1, wherein a block vector used for obtaining prediction samples of the current video block is derived based on the vector predictor and a difference between the block vector of the current video block and the vector predictor, and wherein one or more syntax elements indicating the difference are included in the bitstream.

### Claim 5 (depends on 4)

The method of claim 4, wherein a clip operation is applied to the block vector before being used for obtaining prediction samples of the current video block.

### Claim 6 (depends on 5)

The method of claim 5, wherein the block vector is clipped to a range of [−32768, 32767].

### Claim 7 (depends on 4)

The method of claim 4, wherein the vector predictor is modified into a valid vector before being used to derive a first vector.

### Claim 8 (depends on 7)

The method of claim 7, wherein a modified vector predictor is generated by modifying the vector predictor to fall within a coding tree unit comprising the current video block.

### Claim 9 (depends on 7)

The method of claim 7, wherein an invalid block vector is disallowed to be used to obtain prediction samples of the current video block.

### Claim 10 (depends on 1)

The method of claim 1, wherein N=2.

### Claim 11 (depends on 1)

The method of claim 1, wherein when the number of vector candidates in the first HMVP table is smaller than N, a default vector predictor is used to predict the current video block.

### Claim 12 (depends on 11)

The method of claim 11, wherein the default vector predictor has a value corresponding to (0, 0).

### Claim 13 (depends on 1)

The method of claim 1, wherein an index used to derive the vector predictor in the first HMVP table is included in the bitstream.

### Claim 14 (depends on 1)

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

### Claim 15 (depends on 1)

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

### Claim 16

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, for a conversion between a current video block of a video and a bitstream of the video, a first prediction mode is applied to the current video block,
maintain, for the first prediction mode, a first history-based motion vector predictor (HMVP) table, and
perform the conversion based on the first prediction mode,
wherein in the first prediction mode, a vector predictor of the current video block is determined based on the first HMVP table, and prediction samples of the current video block is obtained based on the vector predictor,
wherein the first HMVP table comprises one or more vector predictor candidates derived from previously processed video blocks,
wherein a number of vector predictor candidates in the first HMVP table is included in the bitstream, and
wherein when the number of vector predictor candidates in the first HMVP table is smaller than N, the first prediction mode is disallowed for the current video block, wherein N is a predefined integer number.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein each vector predictor candidate of the first HMVP table represents a vector predictor with an integer precision.

### Claim 18

A non-transitory computer-readable storage medium storing instructions that cause a processor to:
determine, for a conversion between a current video block of a video and a bitstream of the video, a first prediction mode is applied to the current video block,
maintain, for the first prediction mode, a first history-based motion vector predictor (HMVP) table, and
perform the conversion based on the first prediction mode,
wherein in the first prediction mode, a vector predictor of the current video block is determined based on the first HMVP table, and prediction samples of the current video block is obtained based on the vector predictor,
wherein the first HMVP table comprises one or more vector predictor candidates derived from previously processed video blocks,
wherein a number of vector predictor candidates in the first HMVP table is included in the bitstream, and
wherein when the number of vector predictor candidates in the first HMVP table is smaller than N, the first prediction mode is disallowed for the current video block, wherein N is a predefined integer number.

### Claim 19

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:
determining a first prediction mode is applied to a current video block of the video,
maintaining, for the first prediction mode, a first history-based motion vector predictor (HMVP) table, and
generating the bitstream based on the first prediction mode,
wherein in the first prediction mode, a vector predictor of the current video block is determined based on the first HMVP table, and prediction samples of the current video block is obtained based on the vector predictor,
wherein the first HMVP table comprises one or more vector predictor candidates derived from previously processed video blocks,
wherein a number of vector predictor candidates in the first HMVP table is included in the bitstream, and
wherein when the number of vector predictor candidates in the first HMVP table is smaller than N, the first prediction mode is disallowed for the current video block, wherein N is a predefined integer number.
