# US 11,451,801 B2 · Methods for coding video data in palette mode

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

- Number: US 11,451,801 B2
- Document ID: US11451801B2
- Status: Granted
- Kind: B2
- Application number: 17/110,858
- Filed: 2020-12-03
- Published: 2021-07-01
- Granted: 2022-09-20
- Earliest claimed: 2019-12-26
- Assignees: Alibaba Group Holding Limited
- Applicants: Alibaba Group Holding Limited
- Inventors: Ru-Ling Liao; Mohammed Golam Sarwer; Jie Chen; Yan Ye; Jiancong Luo
- Web page: https://patentgrep.com/patent/US11451801B2

## CPC

- H04N 19/186: the unit being a colour or a chrominance component
- H04N 19/103: Selection of coding mode or of prediction mode
- H04N 19/124: Quantisation
- H04N 19/182: the unit being a pixel
- H04N 19/46: Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

The present disclosure provides systems and methods for performing palette coding of video data. According to certain disclosed embodiments, the methods include: classifying pixels of a coding unit into a first plurality of clusters; and determining, according to the first plurality of clusters, a palette table for the coding unit.

## Claims

### Claim 1

A palette coding method, comprising:
classifying pixels of a coding unit into a first plurality of clusters; and
determining, according to the first plurality of clusters, a palette table for the coding unit,
wherein classifying the pixels of the coding unit into the first plurality of clusters comprises:
determining a second plurality of clusters, the second plurality of clusters corresponding to palette entries in a palette predictor of the coding unit, respectively; and
classifying, according to the second plurality of clusters, the pixels of the coding unit into the first plurality of clusters.

### Claim 2 (depends on 1)

The method of claim 1, wherein classifying the pixels of the coding unit into the first plurality of clusters comprises:
performing the classifying in a plurality of iterations, wherein in a (N+1)-th iteration, the pixels of the coding unit are classified according to clusters classified in a N-th iteration, N being an integer.

### Claim 3 (depends on 2)

The method of claim 2, wherein performing the classifying in the plurality of iterations comprises:
terminating the plurality of iterations when a change caused by the iterations to the first plurality of clusters is below a preset threshold.

### Claim 4 (depends on 2)

The method of claim 2, further comprising:
determining, from the plurality of iterations, a first iteration at which a cost associated with the classifying reaches a minimum value; and
determining, according to classification results of the first iteration, palette entries in the palette table.

### Claim 5 (depends on 2)

The method of claim 2, wherein each of the plurality of iterations is performed using a different quantization parameter (QP) threshold.

### Claim 6 (depends on 1)

The method of claim 1, wherein classifying the pixels of the coding unit into the first plurality of clusters comprises:
dividing the pixels of the coding unit into a first group of pixels and a second group of pixels;
classifying the first group of pixels according to both luma and chroma components of the first group of pixels; and
classifying the second group of pixels according to only luma components of the second group of pixels.

### Claim 7 (depends on 6)

The method of claim 6, wherein the coding unit has a 4:2:2 or 4:2:0 color format.

### Claim 8 (depends on 1)

The method of claim 1, wherein classifying the pixels of the coding unit into the first plurality of clusters comprises:
determining whether a first pixel of the coding unit has chroma components; and
in response to the first pixel having chroma components, classifying the first pixel according to both luma and chroma components of the first pixel, or
in response to the first pixel having no chroma components, classifying the first pixel according to a luma component of the first pixel.

### Claim 9 (depends on 8)

The method of claim 8, wherein the coding unit has a 4:2:2 or 4:2:0 color format.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
mapping the pixels of the coding unit to palette entries in the palette table;
determining, in the palette table, a first palette entry to which no pixel of the coding unit is mapped; and
removing the first palette entry from the palette table.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
determining a palette index for a pixel in the coding unit, by using a rate-distortion (RD) cost function.

### Claim 12

An apparatus for processing video content, comprising:
a memory storing a set of instructions; and
a processor coupled to the memory and configured to execute the set of instructions to cause the apparatus to perform:
classifying pixels of a coding unit into a first plurality of clusters; and
determining, according to the first plurality of clusters, a palette table for the coding unit,
wherein classifying the pixels of the coding unit into the first plurality of clusters comprises:
determining a second plurality of clusters, the second plurality of clusters corresponding to palette entries in a palette predictor of the coding unit, respectively; and
classifying, according to the second plurality of clusters, the pixels of the coding unit into the first plurality of clusters.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein in classifying the pixels of the coding unit into the first plurality of clusters, the processor is configured to execute the set of instructions to cause the apparatus to further perform:
performing the classifying in a plurality of iterations, wherein in a (N+1)-th iteration, the pixels of the coding unit are classified according to clusters classified in a N-th iteration, N being an integer.

### Claim 14 (depends on 13)

The apparatus of claim 13, wherein the processor is configured to execute the set of instructions to cause the apparatus to further perform:
terminating the plurality of iterations when a change caused by the iterations to the first plurality of clusters is below a preset threshold.

### Claim 15 (depends on 13)

The apparatus of claim 13, wherein the processor is configured to execute the set of instructions to cause the apparatus to further perform:
determining, from the plurality of iterations, a first iteration at which a cost associated with the classifying reaches a minimum value; and
determining, according to classification results of the first iteration, palette entries in the palette table.

### Claim 16 (depends on 13)

The apparatus of claim 13, wherein each of the plurality of iterations is performed using a different quantization parameter (QP) threshold.

### Claim 17

A non-transitory computer-readable storage medium storing a set of instructions that are executable by one or more processors of a device to cause the device to perform a method for processing video content, the method comprising:
classifying pixels of a coding unit into a first plurality of clusters; and
determining, according to the first plurality of clusters, a palette table for the coding unit,
wherein classifying the pixels of the coding unit into the first plurality of clusters comprises:
determining a second plurality of clusters, the second plurality of clusters corresponding to palette entries in a palette predictor of the coding unit, respectively; and
classifying, according to the second plurality of clusters, the pixels of the coding unit into the first plurality of clusters.
