# US 11,115,675 B2 · Conditions for updating LUTS

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

- Number: US 11,115,675 B2
- Document ID: US11115675B2
- Status: Granted
- Kind: B2
- Application number: 16/998,258
- Filed: 2020-08-20
- Published: 2021-01-14
- Granted: 2021-09-07
- Earliest claimed: 2018-06-29
- 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/US11115675B2

## CPC

- H04N 19/513: Processing of motion vectors
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/94: Vector quantisation
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Devices, systems and methods for processing video are described. In a representative aspect, a video processing method is provided to comprise: maintaining tables, wherein each table includes a set of motion candidates and each motion candidate is associated with corresponding motion information; performing a conversion between a first video block and a bitstream representation of a video including the first video block based on the tables; and updating, after performing of the conversion, zero or more tables, based on an update rule.

## Claims

### Claim 1

A method of coding video data, comprising:
maintaining one or multiple tables, wherein each table includes one or more motion candidates derived from one or more video blocks that have been coded, and arrangement of the motion candidates in the each table is based on a sequence of addition of the motion candidates into the table;
constructing a motion candidate list for a current video block;
determining motion information of the current video block using the motion candidate list; and
coding the current video block based on the determined motion information;
wherein whether the determined motion information is used to update a table of the one or multiple tables is based on coded information of the current video block, wherein the table, after updating, is used to construct a motion candidate list of a subsequent video block, and
wherein using the table to construct the motion candidate list comprises checking at least one motion candidate of the table to determine whether to add the checked motion candidate from the table to the motion candidate list of the subsequent video block, and the coded information comprises a coding mode of the current video block.

### Claim 2 (depends on 1)

The method of claim 1, wherein the coded information further includes at least one of: a position of the current video block, or a size of the current video block.

### Claim 3 (depends on 1)

The method of claim 1, wherein if at least one condition is satisfied, the determined motion information is used to update a table of the one or multiple tables, wherein the at least one condition is based on the coded information.

### Claim 4 (depends on 1)

The method of claim 1, wherein if at least one condition is not satisfied, the determined motion information is not used to update a table of the one or multiple tables, wherein the at least one condition is based on the coded information.

### Claim 5 (depends on 3)

The method of claim 3, wherein the at least one condition comprises:
a coding mode of the current video block belonging to at least one specific mode.

### Claim 6 (depends on 5)

The method of claim 5, wherein the at least one specific mode comprises at least one of an intra-block copy (IBC) mode or an inter coding mode.

### Claim 7 (depends on 5)

The method of claim 5, wherein the at least one specific mode excludes a sub-block based inter coding mode.

### Claim 8 (depends on 7)

The method of claim 7, wherein the sub-block based inter coding mode comprises at least one of an affine mode or an Alternative Temporal Motion Vector Prediction (ATMVP) mode.

### Claim 9 (depends on 3)

The method of claim 3, wherein the at least one condition comprises:
a size of the current video block satisfying a size requirement.

### Claim 10 (depends on 2)

The method of claim 2, wherein the position of the video block comprises a top-left coordinate (x, y) of the current video block.

### Claim 11 (depends on 1)

The method of claim 1, wherein the coded information includes whether the table is used to construct the motion candidate list.

### Claim 12 (depends on 1)

The method of claim 1, wherein if the determined motion information is used to update a table of the one or multiple tables, the table to be updated is selected based on at least one of which table being used to construct the motion candidate list of the current video block, a position of the current video block, a position a Coding Tree Unit (CTU) comprising the current video block.

### Claim 13 (depends on 1)

The method of claim 1, wherein if the determined motion information is used to update a table of the one or multiple tables, the table to be updated is the same as that used to construct the motion candidate list of the current video block.

### Claim 14 (depends on 1)

The method of claim 1, wherein if the determined motion information is used to update a table of the one or multiple tables, the table is updated by adding motion information derived from the current video block to the table.

### Claim 15 (depends on 1)

The method of claim 1, wherein the motion candidate in the table is associated with motion information which includes at least one of: block position information indicating source of the motion information, a prediction direction, a reference picture index, motion vector values, intensity compensation flag, affine flag, motion vector difference precision, or motion vector difference value, a filter parameter used in a filtering process.

### Claim 16 (depends on 1)

The method of claim 1, wherein using the table to construct the motion candidate list comprises:
checking one or more candidates in the table during constructing the motion candidate list.

### Claim 17

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:
maintain one or multiple tables, wherein each table includes one or more motion candidates derived from one or more video blocks that have been coded, and arrangement of the motion candidates in the each table is based on a sequence of addition of the motion candidates into the table;
constructing a motion candidate list for a current video block;
determine motion information of the current video block using the motion candidate list; and
code the current video block based on the determined motion information;
wherein whether the determined motion information is used to update a table of the one or multiple tables is based on coded information of the current video block, wherein the table, after updating, is used to construct a motion candidate list of a subsequent video block, and
wherein using the table to construct the motion candidate list comprises checking at least one motion candidate of the table to determine whether to add the checked motion candidate from the table to the motion candidate list of the subsequent video block, and the coded information comprises a coding mode of the current video block.

### Claim 18 (depends on 17)

The apparatus of claim 17, wherein the coded information further includes at least one of: a position of the current video block, or a size of the current video block.

### Claim 19 (depends on 17)

The apparatus of claim 17, wherein if at least one condition is satisfied, the determined motion information is used to update a table of the one or multiple tables, wherein the at least one condition is based on the coded information.

### Claim 20

A non-transitory computer-readable storage medium storing instructions that cause a processor to:
maintain one or multiple tables, wherein each table includes one or more motion candidates derived from one or more video blocks that have been coded, and arrangement of the motion candidates in the each table is based on a sequence of addition of the motion candidates into the table;
construct a motion candidate list for a current video block;
determine motion information of the current video block using the motion candidate list; and
code the current video block based on the determined motion information;
wherein whether the determined motion information is used to update a table of the one or multiple tables is based on coded information of the current video block, wherein the table, after updating, is used to construct a motion candidate list of a subsequent video block, and
wherein using the table to construct the motion candidate list comprises checking at least one motion candidate of the table to determine whether to add the checked motion candidate from the table to the motion candidate list of the subsequent video block, and the coded information comprises a coding mode of the current video block.

### Claim 21 (depends on 1)

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

### Claim 22 (depends on 1)

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

### Claim 23

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:
maintaining one or multiple tables, wherein each table includes one or more motion candidates derived from one or more video blocks that have been coded, and arrangement of the motion candidates in the each table is based on a sequence of addition of the motion candidates into the table;
constructing a motion candidate list for a current video block;
determining motion information of the current video block using the motion candidate list; and
encoding the current video block based on the determined motion information,
wherein whether the determined motion information is used to update a table of the one or multiple tables is based on coded information of the current video block, wherein the table, after updating, is used to construct a motion candidate list of a subsequent video block, and
wherein using the table to construct the motion candidate list comprises checking at least one motion candidate of the table to determine whether to add the checked motion candidate from the table to the motion candidate list of the subsequent video block, and the coded information comprises a coding mode of the current video block.
