# US 12,764,309 B2 · Constraints for video coding and decoding

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

- Number: US 12,764,309 B2
- Document ID: US12764309B2
- Status: Granted
- Kind: B2
- Application number: 18/508,721
- Filed: 2023-11-14
- Published: 2024-03-28
- Granted: 2026-10-13
- Earliest claimed: 2020-01-12
- Assignees: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Applicants: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Inventors: Kai Zhang; Zhipin Deng; Hongbin Liu; Li Zhang; Jizheng Xu; Ye-kui Wang
- Web page: https://patentgrep.com/patent/US12764309B2

## CPC

- H04N 19/186: the unit being a colour or a chrominance component
- 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/159: Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
- H04N 19/167: Position within a video image, e.g. region of interest [ROI]
- 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/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 provided that includes performing a conversion between a block of a video and a bitstream of the video. The bitstream conforms to a formatting rule specifying that a size of a merge estimation region (MER) is indicated in the bitstream and the size of the MER is based on a dimension of a video unit. The MER comprises a region used for deriving a motion candidate for the conversion.

## Claims

### Claim 1

A method of processing video data, comprising:
determining, for a conversion between a current block of a video and a bitstream of the video, that a first prediction mode is applied to the current block;
maintaining a predictor palette table;
constructing, in the first prediction mode, a current palette comprising one or more palette predictors for the current block based on the predictor palette table; and
performing the conversion based on the first prediction mode,
wherein in the first prediction mode, reconstructed samples of the current block are represented by a set of representative color values, and the set of representative color values comprises at least one of 1) palette predictors derived from the current palette, 2) escaped samples, or 3) palette information included in the bitstream,
wherein a maximum number of entries in the current palette is restricted to m×8, and a maximum number of entries in the predictor palette table are restricted to n×8, and wherein m and n are positive integers, and m and n are equal to 8;
wherein a syntax element indicating a parallel merge estimation level is included in the bitstream, and wherein a maximum value of the syntax element depends on a size of a coding tree unit (CTU);
wherein the maximum value of the syntax element is not allowed to be larger than the size of the CTU;
wherein the predictor palette table is initialized at beginning of each slice or each tile, otherwise the predictor palette table is initialized when a first set of conditions are satisfied and at least that a variable indicating availability of a spatial neighbouring block is not equal to 1; and
wherein the predictor palette table is initialized when the first set of conditions are not satisfied.

### Claim 2 (depends on 1)

The method of claim 1, wherein the syntax element is coded by an exponential Golomb code.

### Claim 3 (depends on 1)

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

### Claim 4 (depends on 1)

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

### Claim 5 (depends on 1)

The method of claim 1, wherein the first set of conditions comprise that an entropy coding synchronization enabled flag is equal to 1.

### Claim 6

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 block of a video and a bitstream of the video, that a first prediction mode is applied to the current block;
maintain a predictor palette table;
construct, in the first prediction mode, a current palette comprising one or more palette predictors for the current block based on the predictor palette table; and
perform the conversion based on the first prediction mode,
wherein in the first prediction mode, reconstructed samples of the current block are represented by a set of representative color values, and the set of representative color values comprises at least one of 1) palette predictors derived from the current palette, 2) escaped samples, or 3) palette information included in the bitstream,
wherein a maximum number of entries in the current palette is restricted to m×8, and a maximum number of entries in the predictor palette table are restricted to n×8, and wherein m and n are positive integers, and m and n are equal to 8;
wherein a syntax element indicating a parallel merge estimation level is included in the bitstream, and wherein a maximum value of the syntax element depends on a size of a coding tree unit (CTU);
wherein the maximum value of the syntax element is not allowed to be larger than the size of the CTU;
wherein the predictor palette table is initialized at beginning of each slice or each tile, otherwise the predictor palette table is initialized when a first set of conditions are satisfied and at least that a variable indicating availability of a spatial neighbouring block is not equal to 1; and
wherein the predictor palette table is initialized when the first set of conditions are not satisfied.

### Claim 7 (depends on 6)

The apparatus of claim 6, wherein the syntax element is coded by an exponential Golomb code.

### Claim 8 (depends on 6)

The apparatus of claim 6, wherein the conversion includes encoding the current block into the bitstream.

### Claim 9 (depends on 6)

The apparatus of claim 6, wherein the conversion includes decoding the current block from the bitstream.

### Claim 10

A non-transitory computer-readable storage medium storing instructions that cause a processor to:
determine, for a conversion between a current block of a video and a bitstream of the video, that a first prediction mode is applied to the current block;
maintain a predictor palette table;
construct, in the first prediction mode, a current palette comprising one or more palette predictors for the current block based on the predictor palette table; and
perform the conversion based on the first prediction mode,
wherein in the first prediction mode, reconstructed samples of the current block are represented by a set of representative color values, and the set of representative color values comprises at least one of 1) palette predictors derived from the current palette, 2) escaped samples, or 3) palette information included in the bitstream,
wherein a maximum number of entries in the current palette is restricted to m×8, and a maximum number of entries in the predictor palette table are restricted to n×8, and wherein m and n are positive integers, and m and n are equal to 8;
wherein a syntax element indicating a parallel merge estimation level is included in the bitstream, and wherein a maximum value of the syntax element depends on a size of a coding tree unit (CTU);
wherein the maximum value of the syntax element is not allowed to be larger than the size of the CTU;
wherein the predictor palette table is initialized at beginning of each slice or each tile, otherwise the predictor palette table is initialized when a first set of conditions are satisfied and at least that a variable indicating availability of a spatial neighbouring block is not equal to 1; and
wherein the predictor palette table is initialized when the first set of conditions are not satisfied.

### Claim 11 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the syntax element is coded by an exponential Golomb code.

### Claim 12

A method for storing a bitstream of a video, comprising:
determining that a first prediction mode is applied to a current block of a video;
maintaining a predictor palette table;
constructing, in the first prediction mode, a current palette comprising one or more palette predictors for the current block based on the predictor palette table;
generating the bitstream based on the first prediction mode; and
storing the bitstream in a non-transitory computer-readable recording medium,
wherein in the first prediction mode, reconstructed samples of the current block are represented by a set of representative color values, and the set of representative color values comprises at least one of 1) palette predictors derived from the current palette, 2) escaped samples, or 3) palette information included in the bitstream,
wherein a maximum number of entries in the current palette is restricted to m×8, and a maximum number of entries in the predictor palette table are restricted to n×8, and wherein m and n are positive integers, and m and n are equal to 8;
wherein a syntax element indicating a parallel merge estimation level is included in the bitstream, and wherein a maximum value of the syntax element depends on a size of a coding tree unit (CTU);
wherein the maximum value of the syntax element is not allowed to be larger than the size of the CTU;
wherein the predictor palette table is initialized at beginning of each slice or each tile, otherwise the predictor palette table is initialized when a first set of conditions are satisfied and at least that a variable indicating availability of a spatial neighbouring block is not equal to 1; and
wherein the predictor palette table is initialized when the first set of conditions are not satisfied.
