# US 2020/0288154 A1 · Hybrid palette-dpcm coding for image compression

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

- Number: US 2020/0288154 A1
- Document ID: US20200288154A1
- Status: Published application
- Kind: A1
- Application number: 16/297,522
- Filed: 2019-03-08
- Published: 2020-09-10
- Earliest claimed: 2019-03-08
- Assignees: Sony Corporation
- Applicants: Sony Corporation
- Inventors: Mohammed Golam Sarwer; Ali Tabatabai
- Web page: https://patentgrep.com/patent/US20200288154A1

## CPC

- H04N 19/186: the unit being a colour or a chrominance component
- H04N 19/124: Quantisation
- H04N 19/136: Incoming video signal characteristics or properties
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 19/90: using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N 19/91: Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A hybrid palette-DPCM coding implementation generates a palette for the most dominant colors in an image block and an index block based on the palette. Additionally, for pixels that are not in the palette, DPCM coding is utilized. By combining palette coding and DPCM coding, the image encoding process is optimized.

## Claims

### Claim 1

A method programmed in a non-transitory memory of a device comprising:
generating a palette for an image block;
generating an index block for the image block;
transmitting the palette and the index block; and
encoding escape pixels using differential pulse-code modulation.

### Claim 2 (depends on 1)

The method of claim 1 wherein generating the palette includes: for a palette size of N, determining N most common colors in the image block and assigning an index to each color of the N most common colors.

### Claim 3 (depends on 2)

The method of claim 2 wherein determining the N most common colors includes counting a number of pixels of each color.

### Claim 4 (depends on 2)

The method of claim 2 wherein the index block is the same size as the image block, further wherein generating the index block includes placing indexes from the palette in the index block to represent pixel values, wherein an index of N+1 is placed in the locations for the escape pixels.

### Claim 5 (depends on 1)

The method of claim 1 wherein encoding the escape pixels includes quantizing the escape pixels, applying the differential pulse-code modulation to the escape pixels, and entropy coding the escape pixels.

### Claim 6 (depends on 1)

The method of claim 1 wherein transmitting the palette and the index block and encoding the escape pixels generate a bitstream including a palette size, an entropy coded index array, bits for the palette and differential pulse-code modulation bits for the escape pixels.

### Claim 7 (depends on 1)

The method of claim 1 further comprising decoding the palette and the index block, decoding the escape pixels using inverse differential pulse-code modulation and combining the decoded palette, index block and escape pixels to generate a decoded image.

### Claim 8

An apparatus comprising:
a non-transitory memory for storing an application, the application for:
generating a palette for an image block;
generating an index block for the image block;
transmitting the palette and the index block; and
encoding escape pixels using differential pulse-code modulation; and
a processor coupled to the memory, the processor configured for processing the application.

### Claim 9 (depends on 8)

The apparatus of claim 8 wherein generating the palette includes: for a palette size of N, determining N most common colors in the image block and assigning an index to each color of the N most common colors.

### Claim 10 (depends on 9)

The apparatus of claim 9 wherein determining the N most common colors includes counting a number of pixels of each color.

### Claim 11 (depends on 9)

The apparatus of claim 9 wherein the index block is the same size as the image block, further wherein generating the index block includes placing indexes from the palette in the index block to represent pixel values, wherein an index of N+1 is placed in the locations for the escape pixels.

### Claim 12 (depends on 8)

The apparatus of claim 8 wherein encoding the escape pixels includes quantizing the escape pixels, applying the differential pulse-code modulation to the escape pixels, and entropy coding the escape pixels.

### Claim 13 (depends on 8)

The apparatus of claim 8 wherein transmitting the palette and the index block and encoding the escape pixels generate a bitstream including a palette size, an entropy coded index array, bits for the palette and differential pulse-code modulation bits for the escape pixels.

### Claim 14 (depends on 8)

The apparatus of claim 8 wherein the application is further for decoding the palette and the index block, decoding the escape pixels using inverse differential pulse-code modulation and combining the decoded palette, index block and escape pixels to generate a decoded image.

### Claim 15

A system comprising:
a first computing device configured for:
generating a palette for an image block;
generating an index block for the image block;
transmitting the palette and the index block; and
encoding escape pixels using differential pulse-code modulation; and
a second computing device configured for:
decoding the palette and the index block, decoding the escape pixels using inverse differential pulse-code modulation and combining the decoded palette, index block and escape pixels to generate a decoded image.

### Claim 16 (depends on 15)

The system of claim 15 wherein generating the palette includes: for a palette size of N, determining N most common colors in the image block and assigning an index to each color of the N most common colors.

### Claim 17 (depends on 16)

The system of claim 16 wherein determining the N most common colors includes counting a number of pixels of each color.

### Claim 18 (depends on 16)

The system of claim 16 wherein the index block is the same size as the image block, further wherein generating the index block includes placing indexes from the palette in the index block to represent pixel values, wherein an index of N+1 is placed in the locations for the escape pixels.

### Claim 19 (depends on 15)

The system of claim 15 wherein encoding the escape pixels includes quantizing the escape pixels, applying the differential pulse-code modulation to the escape pixels, and entropy coding the escape pixels.

### Claim 20 (depends on 15)

The system of claim 15 wherein transmitting the palette and the index block and encoding the escape pixels generate a bitstream including a palette size, an entropy coded index array, bits for the palette and differential pulse-code modulation bits for the escape pixels.
