# US 11,308,648 B2 · Compressing texture data on a per-channel basis

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

- Number: US 11,308,648 B2
- Document ID: US11308648B2
- Status: Granted
- Kind: B2
- Application number: 17/030,048
- Filed: 2020-09-23
- Published: 2022-03-24
- Granted: 2022-04-19
- Earliest claimed: 2020-09-23
- Assignees: Advanced Micro Devices, Inc.; ATI Technologies ULC
- Applicants: Advanced Micro Devices, Inc.; Ati Technologies Ulc
- Inventors: Saurabh Sharma; Laurent Lefebvre; Sagar Shankar Bhandare; Ruijin Wu
- Web page: https://patentgrep.com/patent/US11308648B2

## CPC

- G06T 9/00: Image coding (bandwidth or redundancy reduction for static pictures H04N1/41; coding or decoding of static colour picture signals H04N1/64; methods or arrangements for coding, decoding, compressing or decompressing digital video signals H04N19/00)
- G06T 1/60: Memory management
- H04N 19/115: Selection of the code volume for a coding unit prior to coding
- H04N 19/136: Incoming video signal characteristics or properties
- 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/423: characterised by memory arrangements (H04N19/433 takes precedence)
- G06T 2200/04: involving 3D image data
- H04N 19/124: Quantisation
- H04N 19/436: using parallelised computational arrangements
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Sampling circuitry independently accesses channels of texture data that represent a set of pixels. One or more processing units separately compress the channels of the texture data and store compressed data representative of the channels of the texture data for the set of pixels. The channels can include a red channel, a blue channel, and a green channel that represent color values of the set of pixels and an alpha channel that represents degrees of transparency of the set of pixels. Storing the compressed data can include writing the compress data to portions of a cache. The processing units can identify a subset of the set of pixels that share a value of a first channel of the plurality of channels and represent the value of the first channel over the subset of the set of pixels using information representing the value, the first channel, and boundaries of the subset.

## Claims

### Claim 1

A method for compressing images at a processor, the method comprising:
independently accessing a plurality of channels of texture data that represent a set of pixels from a first storage component coupled to the processor;
separately compressing the plurality of channels of the texture data; and
storing compressed data at a second storage component coupled to the processor, the compressed data representative of the plurality of channels of the texture data for the set of pixels.

### Claim 2 (depends on 1)

The method of claim 1, wherein independently accessing the plurality of channels of the texture data comprises independently accessing at least a red channel, a blue channel, and a green channel that represent color values of the set of pixels and an alpha channel that represents degrees of transparency of the set of pixels.

### Claim 3 (depends on 1)

The method of claim 1, wherein:
the first storage component comprises a memory; and
independently accessing the plurality of channels of the texture data comprises accessing the plurality of channels of the texture data from memory partitions of the memory, the memory partitions associated with the plurality of channels.

### Claim 4 (depends on 3)

The method of claim 3, wherein:
the first storage component comprises a cache; and
independently accessing the plurality of channels of the texture data comprises accessing the plurality of channels of the texture data from portions of the cache, and wherein the portions of the cache are associated with the memory partitions.

### Claim 5 (depends on 4)

The method of claim 4, wherein:
the second storage component comprises the cache; and
storing the compressed data comprises writing the compressed data representative of the plurality of channels to the portions of the cache associated with the plurality of channels.

### Claim 6 (depends on 1)

The method of claim 1, wherein separately compressing the plurality of channels of the texture data comprises compressing the plurality of channels of the texture data at different compression ratios determined by at least one of entropy in the plurality of channels of the texture data, locality in the plurality of channels of the texture data, or an amount of high-frequency texture data in the plurality of channels.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
identifying a subset of the set of pixels that share a value of a first channel of the plurality of channels.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
representing the value of the first channel over the subset of the set of pixels based on information representing the value, the first channel, and boundaries of the subset.

### Claim 9

An apparatus comprising:
sampling circuitry configured to independently access a plurality of channels of texture data that represent a set of pixels; and
at least one processing unit configured to separately compress the plurality of channels of the texture data and store compressed data representative of the plurality of channels of the texture data for the set of pixels.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the sampling circuitry is configured to independently access a red channel, a blue channel, and a green channel that represent color values of the set of pixels and an alpha channel that represents degrees of transparency of the set of pixels.

### Claim 11 (depends on 9)

The apparatus of claim 9, wherein the sampling circuitry is configured to access the plurality of channels of the texture data from memory partitions associated with the plurality of channels.

### Claim 12 (depends on 11)

The apparatus of claim 11, further comprising:
a cache that is partitioned into portions associated with the memory partitions, wherein the sampling circuitry is configured to access the plurality of channels of the texture data from the portions.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein the at least one processing unit is configured to write the compressed data representative of the plurality of channels to the portions of the cache associated with the plurality of channels.

### Claim 14 (depends on 9)

The apparatus of claim 9, wherein the at least one processing unit is configured to compress the plurality of channels of the texture data at different compression ratios determined by at least one of entropy in the plurality of channels of the texture data, locality in the plurality of channels of the texture data, or an amount of high-frequency texture data in the plurality of channels.

### Claim 15 (depends on 9)

The apparatus of claim 9, wherein the at least one processing unit is configured to identify a subset of the set of pixels that share a value of a first channel of the plurality of channels.

### Claim 16 (depends on 15)

The apparatus of claim 15, wherein the at least one processing unit is configured to represent the value of the first channel over the subset of the set of pixels using information representing the value, the first channel, and boundaries of the subset.

### Claim 17

A method comprising:
sampling first values of a first channel of a plurality of channels of texture data that represent a set of pixels;
compressing the first sampled values;
sampling second values of a second channel of the plurality of channels independently of sampling the first values;
compressing the second sampled values separately from compressing the first sampled values; and
storing the compressed first and second sampled values.

### Claim 18 (depends on 17)

The method of claim 17, wherein sampling the first values of the first channel comprises sampling the first values from a first partition of memory, and wherein sampling the second values of the second channel comprises sampling the second values from a second partition of the memory.

### Claim 19 (depends on 18)

The method of claim 18, further comprising:
reading the first and second values from first and second portions of a cache, respectively; and
writing the compressed first and second sampled values to the first and second portions of the cache, respectively.

### Claim 20 (depends on 17)

The method of claim 17, further comprising:
identifying a subset of the first values that are the same as each other; and
representing the subset of the first values based on information representing the first value, the first channel, and boundaries of the subset.
