# US 11,115,657 B2 · Checking order of motion candidates in LUT

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

- Number: US 11,115,657 B2
- Document ID: US11115657B2
- Status: Granted
- Kind: B2
- Application number: 17/005,574
- Filed: 2020-08-28
- Published: 2020-12-17
- Granted: 2021-09-07
- Earliest claimed: 2018-06-20
- 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/US11115657B2

## CPC

- 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/137: Motion inside a coding unit, e.g. average field, frame or block difference
- H04N 19/157: Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N 19/159: Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
- 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/436: using parallelised computational arrangements
- H04N 19/52: by predictive encoding
- H04N 19/61: in combination with predictive coding
- 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

A method of video processing includes maintaining tables, wherein each table includes a set of motion candidates and each motion candidate is associated with corresponding motion information; and performing a conversion between a first video block and a bitstream representation of a video including the first video block based on at least some of tables, the performing including checking motion candidates in a table in an order defined in a rule until a checking termination criteria is met.

## Claims

### Claim 1

A video processing method, comprising:
maintaining one or more tables, wherein each table includes one or more candidates derived from one or more video blocks that have been coded;
constructing a candidate list for a current video block of a video, wherein at least one candidate in the table is checked in an order of at least one index of the at least one candidate;
determining motion information of the current video block using the candidate list; and
coding the current video block based on the determined motion information, and
wherein K candidates from the table which have indices equal to a0, a0−T0, a0−T0−T1−T2, . . . a0−T0−T1−T2− . . . −TK−1 are checked in an order of K indices wherein a0 and Ti are integer values, i being 0 . . . K−1.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 1)

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

### Claim 4 (depends on 1)

The method of claim 1, wherein arrangement of the candidates in the each table is based on a sequence of addition of the candidates into the table, wherein indices of the candidates in the table is related with the sequence of addition of the candidates into the table.

### Claim 5 (depends on 4)

The method of claim 4, wherein when a new candidate is added into the table, the new candidate has an index greater than other candidates in the table.

### Claim 6 (depends on 1)

The method of claim 1, wherein the K candidates correspond to at least one of the one or more candidates with K largest indices or K smallest indices.

### Claim 7 (depends on 1)

The method of claim 1, wherein the at least one candidate in the table is checked based on a descending order of the at least one index.

### Claim 8 (depends on 1)

The method of claim 1, wherein a0 is an index of the last candidate with a maximum index in the table.

### Claim 9 (depends on 1)

The method of claim 1, wherein Ti has a same value for each of i=0 . . . K−1.

### Claim 10 (depends on 7)

The method of claim 7, wherein the candidate list is a merge candidate list.

### Claim 11 (depends on 1)

The method of claim 1, wherein the at least one candidate in the table is checked based on an ascending order of at least one index.

### Claim 12 (depends on 1)

The method of claim 1, the multiple tables comprise at two tables which are checked in different orders during constructing a candidate list.

### Claim 13 (depends on 1)

The method of claim 1, wherein the at least one candidate to be checked is determined based on coded information of the current video block.

### Claim 14 (depends on 13)

The method of claim 13, wherein the coded information includes at least one of a coding mode of the current video block, a number of candidates in the table, a number of candidates in a candidate list before adding a new one from the table, distances between the current video block and positions associated with the candidates in the table, a block shape of the current video block, a block size of the current video block.

### Claim 15 (depends on 14)

The method of claim 14, wherein the coding mode of the current video block is one of an AMVP mode, a merge mode, an affine mode, a non-affine AMVP mode, a non-affine merge mode, an affine AMVP (inter) mode, an affine merge mode, a current picture reference (CPR) mode, or a non-CPR mode.

### Claim 16 (depends on 1)

The method of claim 1, wherein the checking is terminated when a checking termination criteria is met wherein the checking termination criteria depends on at least one of: a coding mode of the current video block, a maximum number of allowed candidates to be checked from a table, a maximum number of allowed candidates in the candidate list.

### Claim 17 (depends on 1)

The method of claim 1, wherein a maximum number of candidates in the table to be checked depends on at least one of a coding mode of the current video block, a number of candidates in the table, a maximum number of allowed candidates to be added from the table, or a number of available candidates in a candidate list before checking the candidates from the table, a block size of the current video block, a block shape of the current video block, or a slice type.

### Claim 18 (depends on 1)

The method of claim 1, wherein a maximum number of candidates in the table to be checked is not greater than 4, if a coding mode of the current video block is AMVP mode.

### Claim 19 (depends on 1)

The method of claim 1, wherein a maximum number of candidates in the table to be checked is predefined or signaled.

### Claim 20 (depends on 1)

The method of claim 1, wherein if the current video block is coded with an AMVP mode, a maximum number of allowed candidates to be added into the candidate list from the table is one of 1, 2 or 4.

### Claim 21 (depends on 1)

The method of claim 1, wherein a candidate in the table is associated with motion information including at least one of: a prediction direction, a reference picture index, motion vector values, an intensity compensation flag, an affine flag, a motion vector difference precision, or motion vector difference value.

### Claim 22 (depends on 1)

The method of claim 1, wherein whether to update the candidate list based on the checked candidate is based on the checking result.

### Claim 23

A video processing apparatus 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 more tables, wherein each table includes one or more candidates derived from one or more video blocks that have been coded;
construct a candidate list for a current video block of a video, wherein at least one candidate in the table is checked in an order of at least one index of the at least one candidate;
determine motion information of the current video block using the candidate list; and
code the current video block based on the determined motion information, and
wherein K candidates from the table which have indices equal to a0, a0−T0, a0−T0−T1−T2, . . . a0−T0−T1−T2− . . . −TK−1 are checked in an order of K indices wherein a0 and Ti are integer values, i being 0 . . . K−1.

### Claim 24

A non-transitory computer-readable storage medium storing instructions that cause a processor to:
maintain one or more tables, wherein each table includes one or more candidates derived from one or more video blocks that have been coded;
construct a candidate list for a current video block of a video, wherein at least one candidate in the table is checked in an order of at least one index of the at least one candidate;
determine motion information of the current video block using the candidate list; and
code the current video block based on the determined motion information, and
wherein K candidates from the table which have indices equal to a0, a0−T0, a0−T0−T1−T2, . . . a0−T0−T1−T2− . . . −TK−1 are checked in an order of K indices wherein a0 and Ti are integer values, i being 0 . . . K−1.

### Claim 25

A non-transitory computer-readable recording medium storing a bitstream representation which is generated by a method with a video processing apparatus, wherein the method comprises:
maintaining one or more tables, wherein each table includes one or more candidates derived from one or more video blocks that have been coded;
constructing a candidate list for a current video block of a video, wherein at least one candidate in the table is checked in an order of at least one index of the at least one candidate;
determining motion information of the current video block using the candidate list; and
coding the current video block based on the determined motion information, and
wherein K candidates from the table which have indices equal to a0, a0−T0, a0−T0−T1−T2, . . . a0−T0−T1−T2− . . . −TK−1 are checked in an order of K indices wherein a0 and Ti are integer values, i being 0 . . . K−1.
