# US 10,321,141 B2 · Method and apparatus for palette initialization and management

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

- Number: US 10,321,141 B2
- Document ID: US10321141B2
- Status: Granted
- Kind: B2
- Application number: 15/105,136
- Filed: 2014-12-18
- Published: 2016-11-03
- Granted: 2019-06-11
- Earliest claimed: 2013-12-18
- Assignees: Hfi Innovation Inc.
- Applicants: HFI Innovation Inc.
- Inventors: Tzu-Der Chuang; Wang-Lin Lai; Yu-Chen Sun; Shan Liu; Xiaozhong Xu; Yu-Wen Huang; Ding-Yun Chen
- Web page: https://patentgrep.com/patent/US10321141B2

## CPC

- H04N 19/197: {including determination of the initial value of an encoding parameter (H04N19/56 takes precedence)}
- 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/13: Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
- 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/186: the unit being a colour or a chrominance component
- H04N 19/436: using parallelised computational arrangements
- H04N 19/593: involving spatial prediction techniques
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method and apparatus for palette coding of a block of video data by initializing the palette or triplet palette or using a selected palette or triplet palette from a preceding image area for the beginning block of the current image area are disclosed. The method receives input data associated with a current image area consisting of multiple blocks. For the beginning block, the palette predictor is determined based on an initial palette or triplet palette or based on a selected palette or triplet palette associated with a selected block located at a location before the end of a preceding image area. For blocks of the current image area, palette coding is applied to the blocks, where at least one block uses the palette predictor for the beginning block as the palette predictor.

## Claims

### Claim 1

A method of coding a block of video data using palette coding in a video coding system, wherein a picture is partitioned into multiple image areas, the method comprising:
receiving input data associated with a current image area consisting of multiple blocks;
determining a palette predictor for a beginning block of the current image area based on an initial palette or triplet palette or based on a selected palette or triplet palette associated with a selected block located at a location before end of a preceding image area, wherein when the selected palette or triplet palette is used as the palette predictor, the selected block corresponds to a last coding unit (CU) of a selected coding tree unit (CTU) in a preceding CTU row located at an above-right corner of a beginning CTU in a current CTU row, wherein the beginning CTU containing the beginning block of the current image area, and the selected palette or triplet palette corresponds to a last coded palette or triplet palette of the last CU of the selected CTU; and
applying palette coding to the blocks of the current image area, wherein at least one block of the current image area uses the palette predictor for the beginning block of the current image area as the palette predictor,
wherein the beginning block of the current image area using the initial palette or triplet palette or using the selected palette or triplet palette as palette predictor is performed if wavefront parallel processing (WPP) is ON for the video data and is not performed if the WPP is OFF for the video data, and
wherein if the WPP is OFF for the video data, the beginning block of the current image area uses a last coded palette or triplet palette of a last coded block in the preceding image area as a palette predictor.

### Claim 2 (depends on 1)

The method of claim 1, wherein the image area corresponds to a CTU row or a tile or a slice.

### Claim 3 (depends on 1)

The method of claim 1, wherein the beginning block of the current image area using the initial palette or triplet palette as palette prediction or using the selected palette or triplet palette is performed if wavefront parallel processing (WPP) is ON for the video data and is skipped if the WPP is OFF for the video data.

### Claim 4 (depends on 1)

The method of claim 1, wherein when the selected palette or triplet palette is used as the palette predictor, the selected block corresponds to a selected CU in a selected CTU in the preceding image area located above a beginning CTU in the current image area, wherein the beginning CTU containing the beginning block and the selected palette or triplet palette corresponds to a last coded palette or triple palette of the selected CU of the selected CTU.

### Claim 5 (depends on 4)

The method of claim 4, wherein the selected CU in the selected CTU is predefined.

### Claim 6 (depends on 4)

The method of claim 4, wherein the selected CU corresponds to a nearest CU with respect to the beginning block.

### Claim 7 (depends on 1)

The method of claim 1, wherein when the initial palette or triplet palette is used as the palette predictor, the initial palette or triplet palette corresponds to pre-defined values or derived values.

### Claim 8 (depends on 7)

The method of claim 7, wherein the pre-defined values correspond to zero.

### Claim 9 (depends on 1)

The method of claim 1, wherein palette coding of the blocks of the current image area and palette coding of the blocks of the preceding image area progress forward at a same pace after palette coding of the beginning block of the current image area is started upon completion of palette coding of the selected block in the preceding image area.

### Claim 10 (depends on 9)

The method of claim 9, wherein one or more syntax elements of each block of the current image are coded using arithmetic coding, and states of arithmetic coding for the beginning block of the current image area inherit the states of the selected block in the preceding image area.

### Claim 11 (depends on 10)

The method of claim 10, wherein the arithmetic coding corresponds to context adaptive binary arithmetic coding (CABAC).

### Claim 12

An apparatus of coding a block of video data using palette coding in a video coding system, wherein a picture is partitioned into multiple image areas, the apparatus comprising:
one or more electronic circuits configured to:
receive input data associated with a current image area consisting of multiple blocks;
determine a palette predictor for a beginning block of the current image area based on an initial palette or triplet palette or based on a selected palette or triplet palette associated with a selected block located at a location before end of a preceding image area, wherein when the selected palette or triplet palette is used as the palette predictor, the selected block corresponds to a last coding unit (CU) of a selected coding tree unit (CTU) in a preceding CTU row located at an above-right corner of a beginning CTU in a current CTU row, wherein the beginning CTU containing the beginning block of the current image area, and the selected palette or triplet palette corresponds to a last coded palette or triplet palette of the last CU of the selected CTU; and
apply the palette coding to the blocks of the current image area, wherein at least one block of the current image area uses the palette predictor for the beginning block of the current image area as the palette predictor,
wherein the beginning block of the current image area using the initial palette or triplet palette or using the selected palette or triplet palette as palette predictor is performed if wavefront parallel processing (WPP) is ON for the video data and is not performed if the WPP is OFF for the video data, and
wherein if the WPP is OFF for the video data, the beginning block of the current image area uses a last coded palette or triplet palette of a last coded block in the preceding image area as a palette predictor.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein the image area corresponds to a CTU row, a tile or a slice.

### Claim 14 (depends on 12)

The apparatus of claim 12, wherein palette coding of the blocks of the current image area and palette coding of the blocks of the preceding image area progress forward at a same pace after palette coding of the beginning block of the current image area is started upon completion of palette coding of the selected block in the preceding image area.
