# US 11,909,989 B2 · Number of motion candidates in a look up table to be checked according to mode

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

- Number: US 11,909,989 B2
- Document ID: US11909989B2
- Status: Granted
- Kind: B2
- Application number: 17/365,843
- Filed: 2021-07-01
- Published: 2021-10-28
- Granted: 2024-02-20
- 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/US11909989B2

## CPC

- H04N 19/176: the region being a block, e.g. a macroblock
- 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/139: Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
- H04N 19/159: Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
- H04N 19/513: Processing of motion vectors
- H04N 19/52: by predictive encoding
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Devices, systems and methods for encoding and decoding digital video using a table containing coding candidates are described. In a representative aspect, a video processing method is provided to include maintaining a set of tables, wherein each table includes motion candidates and each motion candidate is associated with corresponding motion information; and performing a conversion between a bitstream representation of a video including a current block and the current block, and wherein the performing of the conversion includes checking at most N motion candidates in a table based on a rule.

## Claims

### Claim 1

A video processing method, comprising:
maintaining a set of tables, wherein each table includes one or more motion candidates derived from one or more video blocks that have been coded, wherein an arrangement of motion candidates in each table in the set of tables is based on a coding order of the one or more video blocks;
constructing a motion candidate list for a current video block, wherein N motion candidates are checked in one table of the set of tables during the constructing to determine whether to add a checked candidate into the motion candidate list, N being an integer smaller than a size of the one table and depending on a coding mode of the 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 the one table is used for coding of video blocks each of which is coded with a merge mode or an Advanced Motion Vector Prediction (AMVP) mode,
wherein N depends on whether the coding mode is the merge mode or the AMVP mode, and
wherein N further depends on at least one of a size of the one table or a maximum number of allowable candidates in the motion candidate list.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 1)

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

### Claim 4 (depends on 1)

The method of claim 1, wherein N further depends on at least one of a block size, or a block shape of the current video block.

### Claim 5 (depends on 1)

The method of claim 1, wherein N is signaled in a bitstream.

### Claim 6 (depends on 1)

The method of claim 1, wherein N is smaller when the current video block is coded with the AMVP mode as compared to when the current video block is coded with the merge mode.

### Claim 7 (depends on 1)

The method of claim 1, wherein N is same when the current video block is coded with the AMVP mode and when the current video block is coded with the merge mode.

### Claim 8 (depends on 1)

The method of claim 1, wherein a motion candidate in the one 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 a motion vector difference value.

### Claim 9 (depends on 1)

The method of claim 1, further comprising updating the one table using the determined motion information.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
coding a subsequent video block based on the updated table.

### Claim 11 (depends on 1)

The method of claim 1, wherein the one table is updated using motion information of video blocks each of which is coded with a coding mode belonging to at least one specific coding mode.

### Claim 12 (depends on 11)

The method of claim 11, wherein the at least one specific mode comprises at least one of the AMVP mode or the merge mode.

### Claim 13

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 a set of tables, wherein each table includes one or more motion candidates derived from one or more video blocks that have been coded, wherein an arrangement of motion candidates in each table in the set of tables is based on a coding order of the one or more video blocks;
construct a motion candidate list for a current video block, wherein N motion candidates are checked in one table of the set of tables during the constructing to determine whether to add a checked candidate into the motion candidate list, N being an integer smaller than a size of the one table and depending on a coding mode of the 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 the one table is used for coding of video blocks each of which is coded with a merge mode or an Advanced Motion Vector Prediction (AMVP) mode,
wherein N depends on whether the coding mode is the merge mode or the AMVP mode, and
wherein N further depends on at least one of a size of the one table or a maximum number of allowable candidates in the motion candidate list.

### Claim 14 (depends on 13)

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

### Claim 15 (depends on 13)

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

### Claim 16 (depends on 13)

The apparatus of claim 13, wherein N further depends on at least one of a block size, or a block shape of the current video block.

### Claim 17 (depends on 13)

The apparatus of claim 13, wherein N is signaled in a bitstream.

### Claim 18 (depends on 13)

The apparatus of claim 13, wherein N is smaller when the current video block is coded with the AMVP mode as compared to when the current video block is coded with the merge mode.

### Claim 19

A non-transitory computer-readable storage medium storing instructions that cause a processor to:
maintain a set of tables, wherein each table includes one or more motion candidates derived from one or more video blocks that have been coded, wherein an arrangement of motion candidates in each table in the set of tables is based on a coding order of the one or more video blocks;
construct a motion candidate list for a current video block, wherein N motion candidates are checked in one table of the set of tables during the constructing to determine whether to add a checked candidate into the motion candidate list, N being an integer smaller than a size of the one table and depending on a coding mode of the 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 the one table is used for coding of video blocks each of which is coded with a merge mode or an Advanced Motion Vector Prediction (AMVP) mode,
wherein N depends on whether the coding mode is the merge mode or the AMVP mode, and
wherein N further depends on at least one of a size of the one table or a maximum number of allowable candidates in the motion candidate list.

### Claim 20

A method for storing a bitstream of a video, wherein the method comprises:
maintaining a set of tables, wherein each table includes one or more motion candidates derived from one or more video blocks that have been encoded, wherein arrangement of motion candidates in each table in the set of tables is based on a coding order of the one or more video blocks;
constructing a motion candidate list for a current video block, wherein N motion candidates are checked in one table of the set of tables during the constructing to determine whether to add a checked candidate into the motion candidate list, N being an integer smaller than a size of the one table and depending on a coding mode of the current video block;
determining motion information of the current video block using the motion candidate list;
encoding the current video block into the bitstream based on the determined motion information; and
storing the bitstream in a non-transitory computer-readable recording medium,
wherein the one table is used for coding of video blocks each of which is coded with a merge mode or an Advanced Motion Vector Prediction (AMVP) mode,
wherein N depends on whether the coding mode is the merge mode or the AMVP mode, and
wherein N further depends on at least one of a size of the one table or a maximum number of allowable candidates in the motion candidate list.
