# US 12,002,246 B2 · Systems for digital image compression using context-based pixel predictor selection

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

- Number: US 12,002,246 B2
- Document ID: US12002246B2
- Status: Granted
- Kind: B2
- Application number: 17/148,928
- Filed: 2021-01-14
- Published: 2022-07-14
- Granted: 2024-06-04
- Earliest claimed: 2021-01-14
- Assignees: Adobe Inc.
- Applicants: Adobe Inc.
- Inventors: Stefano Petrangeli; Viswanathan Swaminathan; Haoliang Wang
- Web page: https://patentgrep.com/patent/US12002246B2

## CPC

- G06T 9/40: Tree coding, e.g. quadtree, octree
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06T 3/40: Scaling of whole images or parts thereof, e.g. expanding or contracting
- H04N 19/13: Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
- H04N 19/136: Incoming video signal characteristics or properties
- H04N 19/182: the unit being a pixel
- H04N 19/186: the unit being a colour or a chrominance component
- 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/96: Tree coding, e.g. quad-tree coding
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

In implementations of systems for digital image compression using context-based pixel predictor selection, a computing device implements a compression system to receive digital image data describing pixels of a digital image. The compression system groups first differences between values of the pixels and first prediction values of the pixels into context groups. A pixel predictor is determined for each of the context groups based on a compression criterion. The compression system generates second prediction values of the pixels using the determined pixel predictor for pixels corresponding to the first differences included in each of the context groups. Second differences between the values of the pixels and the second prediction values of the pixels are grouped into different context groups. The compression system compresses the digital image using entropy coding based on the different context groups.

## Claims

### Claim 1

In a digital medium environment for compressing digital images, a method implemented by a computing device, the method comprising:
receiving, by the computing device, digital image data describing pixels of a digital image;
grouping, by the computing device, first differences between values of the pixels and first prediction values of the pixels into context groups;
determining, by the computing device, a pixel predictor for each of the context groups based on a compression criterion;
generating, by the computing device, second prediction values of the pixels using the determined pixel predictor for pixels corresponding to the first differences included in each of the context groups; and
grouping, by the computing device, second differences between the values of the pixels and the second prediction values of the pixels into different context groups.

### Claim 2 (depends on 1)

The method as described in claim 1, further comprising compressing the digital image using entropy coding based on the different context groups.

### Claim 3 (depends on 2)

The method as described in claim 2, wherein compressing the digital image is a lossless compression.

### Claim 4 (depends on 2)

The method as described in claim 2, wherein compressing the digital image is a lossy compression.

### Claim 5 (depends on 2)

The method as described in claim 2, wherein the entropy coding is context adaptive binary arithmetic coding.

### Claim 6 (depends on 1)

The method as described in claim 1, wherein the compression criterion is an average number of bits usable to describe the second differences between the values of the pixels and the second prediction values of the pixels.

### Claim 7 (depends on 1)

The method as described in claim 1, further comprising converting a color space of the pixels from RGB(A) to YCoCg(A) for color decorrelation before grouping the first differences into the context groups.

### Claim 8 (depends on 1)

The method as described in claim 1, wherein grouping the first differences into the context groups is performed using a binary tree.

### Claim 9 (depends on 1)

The method as described in claim 1, wherein grouping the first differences into the context groups is performed using a quadtree.

### Claim 10 (depends on 1)

The method as described in claim 1, wherein grouping the first differences into the context groups is performed using an octree.

### Claim 11 (depends on 1)

The method as described in claim 1, wherein grouping the first differences into the context groups is performed using Gaussian mixture model clustering.

### Claim 12 (depends on 1)

The method as described in claim 1, further comprising:
determining an additional pixel predictor for each of the different context groups based on the compression criterion;
generating third prediction values of the pixels using the determined additional pixel predictor for pixels corresponding to the second differences included in each of the different context groups; and
grouping third differences between the values of the pixels and the third prediction values of the pixels into additional context groups.

### Claim 13

In a digital medium environment for compressing digital images, a system comprising:
a grouping module implemented at least partially in hardware of a computing device to:
receive digital image data describing pixels of a digital image; and
group first differences between values of the pixels and first prediction values of the pixels into context groups;
a prediction module implemented at least partially in the hardware of the computing device to:
determine a pixel predictor for each of the context groups based on a compression criterion; and
generate second prediction values of the pixels using the determined pixel predictor for pixels corresponding to the first differences included in each of the context groups;
a regrouping module implemented at least partially in the hardware of the computing device to group second differences between the values of the pixels and the second prediction values of the pixels into different context groups; and
an entropy coding module implemented at least partially in the hardware of the computing device to compress the digital image using entropy coding based on the different context groups.

### Claim 14 (depends on 13)

The system as described in claim 13, wherein the compression criterion is an average number of bits usable to describe the second differences between the values of the pixels and the second prediction values of the pixels.

### Claim 15 (depends on 13)

The system as described in claim 13, wherein the entropy coding is context adaptive binary arithmetic coding.

### Claim 16 (depends on 13)

The system as described in claim 13, wherein the grouping module is implemented to group the first differences into the context groups using a binary tree, a quadtree, or an octree.

### Claim 17 (depends on 13)

The system as described in claim 13, wherein the grouping module is implemented to group the first differences into the context groups using Gaussian mixture model clustering.

### Claim 18

One or more computer-readable storage media comprising instructions stored thereon that, responsive to execution by a computing device, causes the computing device to perform operations including:
receiving digital image data describing pixels of a digital image;
generating first prediction values of the pixels;
grouping first differences between values of the pixels and the first prediction values of the pixels into context groups;
determining a pixel predictor for each of the context groups based on a compression criterion;
generating second prediction values of the pixels using the determined pixel predictor for pixels corresponding to the first differences included in each of the context groups; and
grouping second differences between the values of the pixels and the second prediction values of the pixels into different context groups.

### Claim 19 (depends on 18)

The one or more computer-readable storage media as described in claim 18, the operations further including compressing the digital image using entropy coding based on the different context groups.

### Claim 20 (depends on 18)

The one or more computer-readable storage media as described in claim 18, wherein compressing the digital image is a lossless compression.
