# US 11,122,266 B2 · Table maintenance for HMVP candidate storage

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

- Number: US 11,122,266 B2
- Document ID: US11122266B2
- Status: Granted
- Kind: B2
- Application number: 17/019,581
- Filed: 2020-09-14
- Published: 2021-01-07
- Granted: 2021-09-14
- Earliest claimed: 2018-11-02
- Assignees: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Applicants: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Inventors: Li Zhang; Kai Zhang; Hongbin Liu; Yue Wang
- Web page: https://patentgrep.com/patent/US11122266B2

## CPC

- H04N 19/119: Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
- H04N 19/52: by predictive encoding
- 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 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/58: Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one (H04N19/23 takes precedence)
- H04N 19/593: involving spatial prediction techniques
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

The disclosure relates to table maintenance for HMVP candidate storage. A method for processing video, comprising: determining, during a conversion between a first block of visual media data and a corresponding coded representation of the visual media data, the first block being coded with geometry partition mode; determining, based on at least one table storing history based motion vector prediction (HMVP) candidates which include motion information based on previously coded blocks, motion information of at least one sub-portion of the first block; performing the conversion of the first block using the determined motion information.

## Claims

### Claim 1

A method for coding video data, comprising:
determining, during a conversion between a first block of visual media data and a corresponding bitstream of the visual media data, the first block which is a coding unit being coded with a geometric partitioning mode which is a prediction mode for the coding unit;
constructing, based on a table storing one or multiple motion candidates which are associated with motion information based on previously coded blocks, a motion candidate list which corresponds to a merge candidate list, wherein the table includes a history based motion vector prediction (HMVP) table;
determining a geometric partitioning mode merge index for geometric partitions of the first block being included in the corresponding bitstream, wherein the geometric partitioning mode merge index and the motion candidate list are related to motion information of the first block; and
performing the conversion of the first block using the motion information of the first block.

### Claim 2 (depends on 1)

The method of claim 1, wherein the motion information used by the first block is refrained from being stored in the table.

### Claim 3 (depends on 1)

The method of claim 1, wherein the table is not updated after the conversion of the first block.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
determining, during a conversion between a second block of the visual media data and the corresponding bitstream of the visual media data, motion information of the second block based on the same table that is used for the first block,
wherein the second block is not coded using the geometric partitioning mode.

### Claim 5 (depends on 1)

The method of claim 1, wherein constructing the motion candidate list further comprises constructing the motion candidate list based on motion candidates derived from spatial and/or temporal blocks.

### Claim 6 (depends on 1)

The method of claim 1, wherein the constructing, based on the table storing one or multiple motion candidates which are associated with motion information based on previously coded blocks, the motion candidate list which corresponds to the merge candidate list comprising:
adding at least one motion candidate derived from the table for the first block.

### Claim 7 (depends on 6)

The method of claim 6, wherein the adding motion candidates derived from the table for the first block, comprising:
adding at least one motion candidate derived from the table to the motion candidate list after motion candidates derived from one or both of spatial blocks or temporal blocks.

### Claim 8 (depends on 6)

The method of claim 6, wherein the derived at least one motion candidate from the table is set equal to corresponding at least one motion candidate in the table.

### Claim 9 (depends on 6)

The method of claim 6, wherein a checking order of motion candidates in the table to be added to the motion candidate list is based on indices of motion candidates in the table.

### Claim 10 (depends on 1)

The method of claim 1, wherein the geometric partitioning mode includes multiple partition schemes and at least one partition scheme divides the first block in to two geometric partitions, at least one of which is non-square and non-rectangular.

### Claim 11 (depends on 1)

The method of claim 1, wherein the geometric partitioning mode comprises a triangular partitioning mode.

### Claim 12 (depends on 1)

The method of claim 1, wherein the conversion comprises decoding the first block from the corresponding bitstream.

### Claim 13 (depends on 1)

The method of claim 1, wherein the conversion comprises encoding the first block into the corresponding bitstream.

### Claim 14

An apparatus for coding 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, during a conversion between a first block of visual media data and a corresponding bitstream of the visual media data, the first block which is a coding unit being coded with a geometric partitioning mode which is a prediction mode for the coding unit;
construct, based on a table storing one or multiple motion candidates which are associated with motion information based on previously coded blocks, a motion candidate list which corresponds to a merge candidate list, wherein the table includes a history based motion vector prediction (HMVP) table;
determine a geometric partitioning mode merge index for geometric partitions of the first block being included in the corresponding bitstream, wherein the geometric partitioning mode merge index and the motion candidate list are related to motion information of the first block; and
perform the conversion of the first block using the motion information of the first block.

### Claim 15

A non-transitory computer-readable storage medium storing instructions that cause a processor to:
determine, during a conversion between a first block of visual media data and a corresponding bitstream of the visual media data, the first block which is a coding unit being coded with a geometric partitioning mode which is a prediction mode for the coding unit;
construct, based on a table storing one or multiple motion candidates which are associated with motion information based on previously coded blocks, a motion candidate list which corresponds to a merge candidate list, wherein the table includes a history based motion vector prediction (HMVP) table;
determine a geometric partitioning mode merge index for geometric partitions of the first block being included in the corresponding bitstream, wherein the geometric partitioning mode merge index and the motion candidate list are related to motion information of the first block; and
perform the conversion of the first block using the motion information of the first block.

### Claim 16

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, during generating a corresponding bitstream of visual media data from a first block of the visual media data, the first block which is a coding unit being coded with a geometric partitioning mode which is a prediction mode for the coding unit;
constructing, based on a table storing one or multiple motion candidates which are associated with motion information based on previously coded blocks, a motion candidate list which corresponds to a merge candidate list, wherein the table includes a history based motion vector prediction (HMVP) table;
determining a geometric partitioning mode merge index for geometric partitions of the first block being included in the corresponding bitstream, wherein the geometric partitioning mode merge index and the motion candidate list are related to motion information of the first block; and
generating the corresponding bitstream from the first block using the motion information of the first block.
