IP Library Granted Patent US 12,047,592
Granted Patent B2
US 12,047,592 · App. 18/447,929 · Granted Jul 23, 2024

Texture decompression techniques

Inventors: Konstantine Iourcha (Santa Clara, CA); Andrew S. C. Pomianowski (Bellevue, WA)
Assignee: ATI Technologies ULC
H04N19/426G06T9/00H04N19/119H04N19/154H04N19/176H04N19/182H04N19/46H04N19/54H04N19/60H04N19/96
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 12,047,592
App. No.
18/447,929
Granted
Jul 23, 2024
Kind
B2
Abstract

A system and method for texture decompression is described. The method comprises receiving a compressed texture block including two or more disjoint subsets of data and decompressing the compressed texture block. The decompressing includes decompressing each of the two or more disjoint subsets in the compressed texture block to form texels. The two or more disjoint subsets include a first disjoint subset having a first set of color endpoints and a first index value for a first texel, and a second disjoint subset having a second set of color endpoints.

Claims (53)

1. A method for performing texture decompression comprising:

receiving a first compressed texture block, wherein the first compressed texture block includes two or more disjoint subsets, wherein the two or more disjoint subsets include a first disjoint subset having a first set of color endpoints and a first index value for a first texel, and a second disjoint subset having a second set of color endpoints; and

decompressing each of the two or more disjoint subsets to form texels, wherein the decompressing includes:

determining a first texel color for the first texel by interpolating between color endpoints of the first set of color endpoints based on the first index value.

2. The method of claim 1 , wherein the two or more disjoint subsets have different sizes.

3. The method of claim 1 , wherein the two or more disjoint subsets have different shapes.

4. The method of claim 1 , wherein a first portion of the first disjoint subset is separated from a second portion of the first disjoint subset by at least a portion of the second disjoint subset.

5. The method of claim 1 , wherein a number of texels formed decompressing the first disjoint subset is different than a number of texels formed decompressing the second disjoint subset.

6. The method of claim 1 , wherein the first disjoint subset further includes an index value for each texel of the first disjoint subset and the second disjoint subset further includes an index value for each texel of the first disjoint subset.

7. The method of claim 1 , further comprising decompressing a received second compressed texture block, wherein the received second compressed texture block has a different number of disjoint subsets than the first compressed texture block and each of the disjoint subsets has a set of color endpoints and an index value for at least one texel.

8. The method of claim 1 , wherein the first disjoint subset includes a second index value for a second texel, and the decompressing further includes determining a second texel color for the second texel by interpolating between the color endpoints of the first set of color endpoints based on the second index value.

9. The method of claim 1 , wherein the second disjoint subset includes a second index value for a second texel, and the decompressing further includes determining a second texel color for the second texel by interpolating between color endpoints of the second set of color endpoints based on the second index value.

10. The method of claim 1 , further comprising:

applying the texels to a rendered surface for display; and

displaying the rendered surface on a monitor.

11. A graphics processing system comprising:

a graphics processor unit including at least one rendering pipeline; and

a memory,

wherein the graphics processor unit is adapted to:

receive a first compressed texture block, wherein the first compressed texture block includes two or more disjoint subsets, wherein the two or more disjoint subsets include a first disjoint subset having a first set of color endpoints and a first index value for a first texel, and a second disjoint subset having a second set of color endpoints; and

decompress each of the two or more disjoint subsets to form texels,

wherein the decompressing includes:

determining a first texel color for the first texel by interpolating between color endpoints of the first set of color endpoints based on the first index value.

12. The graphics processing system of claim 11 , wherein the two or more disjoint subsets have different sizes.

13. The graphics processing system of claim 11 , wherein the two or more disjoint subsets have different shapes.

14. The graphics processing system of claim 11 , wherein a first portion of the first disjoint subset is separated from a second portion of the first disjoint subset by at least a portion of the second disjoint subset.

15. The graphics processing system of claim 11 , wherein a number of texels formed decompressing the first disjoint subset is different than a number of texels formed decompressing the second disjoint subset.

16. The graphics processing system of claim 11 , wherein the first disjoint subset further includes an index value for each texel of the first disjoint subset and the second disjoint subset further includes an index value for each texel of the first disjoint subset.

17. The graphics processing system of claim 11 , wherein the graphics processor unit is further adapted to decompress a received second compressed texture block, wherein the received second compressed texture block has a different number of disjoint subsets than the first compressed texture block and each of the disjoint subsets has a set of color endpoints and an index value for at least one texel.

18. The graphics processing system of claim 11 , wherein the first disjoint subset includes a second index value for a second texel, and the decompressing further includes determining a second texel color for the second texel by interpolating between the color endpoints of the first set of color endpoints based on the second index value.

19. The graphics processing system of claim 11 , wherein the second disjoint subset includes a second index value for a second texel, and the decompressing further includes determining a second texel color for the second texel by interpolating between color endpoints of the second set of color endpoints based on the second index value.

20. The graphics processing system of claim 11 , further comprising a monitor, wherein the graphics processor unit is further adapted to:

apply the texels to a rendered surface for display; and

output the rendered surface on the monitor.

21. A computer processing system comprising:

a graphics processor unit; and

a memory;

wherein the graphics processor unit comprises a texture decompression engine capable of:

receiving a compressed texture block including two or more disjoint subsets, wherein the two or more disjoint subsets include a first disjoint subset including a first set of color endpoints and a second disjoint subset including a second set of color endpoints; and

decompressing the compressed texture block, wherein decompressing the compressed texture block comprises:

determining a first texel color for a first texel that is part of the first disjoint subset by at least interpolating between color endpoints of the first set of color endpoints based on a first index value for the first texel; and

determining a second texel color for a second texel that is part of the second disjoint subset by at least interpolating between color endpoints of the second set of color endpoints based on a second index value for the second texel.

22. The computer processing system of claim 21 , wherein the texture decompression engine is part of a rendering pipeline.

23. The computer processing system of claim 21 , wherein decompressing the compressed texture block further comprises decompressing the two or more disjoint subsets in the compressed texture block to form texels.

24. The computer processing system of claim 21 , wherein decompressing the compressed texture block further comprises determining a third texel color for a third texel that is part of the first disjoint subset by at least interpolating between the color endpoints of the first set of color endpoints based on a third index value for the third texel.

25. The computer processing system of claim 21 , wherein decompressing the compressed texture block further comprises determining a fourth texel color for a fourth texel that is part of the second disjoint subset by at least interpolating between the color endpoints of the second set of color endpoints based on a fourth index value for the fourth texel.

26. The computer processing system of claim 21 , wherein the compressed texture block represents an original texture block.

27. The computer processing system of claim 21 , wherein the compressed texture block provides an indication regarding a subdivision of an uncompressed texture block into disjoint subsets.

28. The computer processing system of claim 21 , wherein the first disjoint subset has a different shape than the second disjoint subset.

29. The computer processing system of claim 21 , wherein the first disjoint subset has a different size than the second disjoint subset.

30. The computer processing system of claim 21 , wherein the texture decompression engine is capable of extracting information from the compressed texture block that is required to decompress the compressed texture block.

31. The computer processing system of claim 21 , wherein the texture decompression engine is capable of independently decompressing each of the two or more disjoint subsets such that decompressing a first disjoint subset of the two or more disjoint subsets is performed independently of decompressing a second disjoint subset of the two or more disjoint subsets.

32. The computer processing system of claim 23 , wherein the graphics processor unit is capable of applying the texels to a rendered surface for display.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2024
From: ATI TECHNOLOGIES ULC
To: ONESTA IP, LLC
Reel/Frame 069379/0556 →
Continuity (6)
Continuation 18099095 · Jan 19, 2023
Continuation 17514164 · Oct 29, 2021
Continuation 16257500 · Jan 25, 2019
Continuation 15237134 · Aug 15, 2016
Continuation 11513190 · Aug 31, 2006
Related Publication 20230388527A1 · Nov 30, 2023