IP Library › Granted Patent US 11,308,648
Granted Patent B2
US 11,308,648 · App. 17/030,048 · Granted Apr 19, 2022

Compressing texture data on a per-channel basis

Inventors: Saurabh Sharma (Santa Clara, CA); Laurent Lefebvre (Markham, CA); Sagar Shankar Bhandare (San Diego, CA); Ruijin Wu (San Diego, CA)
Assignees: Advanced Micro Devices, Inc.; ATI TECHNOLOGIES ULC
G06T9/00G06T1/60G06T2200/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,308,648
App. No.
17/030,048
Granted
Apr 19, 2022
Kind
B2
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 (43)

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.

2. 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.

3. 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.

4. 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.

5. 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.

6. 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.

7. 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.

8. 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.

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.

10. 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.

11. 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.

12. 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.

13. 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.

14. 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.

15. 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.

16. 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.

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.

18. 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.

19. 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.

20. 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.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2021
From: SHARMA, SAURABH; BHANDARE, SAGAR SHANKAR; WU, RUIJIN
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 057565/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2021
From: LEFEBVRE, LAURENT
To: ATI TECHNOLOGIES ULC
Reel/Frame 057565/0195 →
Continuity (1)
Related Publication 20220092826A1 · Mar 24, 2022