IP Library Granted Patent US 10,205,956
Granted Patent B2
US 10,205,956 · App. 15/237,134 · Granted Feb 12, 2019

Texture compression techniques

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 10,205,956
App. No.
15/237,134
Granted
Feb 12, 2019
Kind
B2
Abstract

A texture compression method is described. The method comprises splitting an original texture having a plurality of pixels into original blocks of pixels. Then, for each of the original blocks of pixels, a partition is identified that has one or more disjoint subsets of pixels whose union is the original block of pixels. The original block of pixels is further subdivided into one or more subsets according to the identified partition. Finally, each subset is independently compressed to form a compressed texture block.

Claims (35)

1. A method for performing texture compression comprising:

splitting an original texture into one or more original partitions of pixels, wherein the size of the original partitions of pixels is variable;

selecting one or more subsets within each of the one or more original partitions of pixels that defines a further split for each of the original partitions of pixels, wherein each of the subsets define a plurality of disjoint subsets of pixels that comprise each original partition of pixels, wherein the size, shape, and arrangement of the plurality of disjoint subsets within each of the one or more original partitions is variable; and

individually compressing each subset within each original partition of pixels to form a compressed texture block in response to determining that each of the one or more original partitions of pixels is associated with a quality parameter that meets a pre-selected threshold.

2. The method of claim 1 , wherein the size and arrangement of the one or more subsets within each of the one or more original partitions are defined by a number of bits and selected from a predefined set of partitions.

3. The method of claim 1 , wherein the size of the one or more subsets within each of the one or more original partitions of pixels are different.

4. The method of claim 1 , wherein a union of the one or more original partitions of pixels is the original texture.

5. The method of claim 1 , wherein the determining that each of the one or more original partitions of pixels is associated with a quality parameter that meets a pre-selected threshold comprises:

decompressing each compressed texture block to obtain an approximation of each original partition of pixels;

comparing each original partition of pixels to each approximation of the original partition of pixels; and

obtaining a quality parameter for each of the one or more original partitions of pixels.

6. The method of claim 5 , further comprising:

selecting a final subset for each of the one or more original partitions of pixels where the quality parameter meets a pre-selected threshold; and

individually compressing each final subset within each original partition of pixels to form a final compressed texture block.

7. The method of claim 6 , wherein the final subset for each of the one or more original partitions of pixels is selected for the original partition of pixels if the quality parameter for an identified subset meets a pre-selected threshold and the final subset is selected that either meets the pre-selected threshold or is closest to the pre-selected threshold when none of the subsets meet the pre-selected threshold.

8. The method of claim 1 , wherein the individually compressing each subset within each original partition of pixels uses two explicit endpoint parameters and a number of intermediate points defining a ramp in the color space.

9. The method of claim 1 , wherein the individually compressing each subset within each original partition of pixels compresses each of the subsets using a palletization technique.

10. A computer processing system comprising:

a processor and a memory, wherein the processor is configured to:

split an original texture into one or more original partitions of pixels, wherein the size of the original partitions of pixels is variable;

select one or more subsets within each of the one or more original partitions of pixels that defines a further split for each of the original partitions of pixels, wherein each of the subsets define a plurality of disjoint subsets of pixels that comprise each original partition of pixels, wherein the size, shape, and arrangement of the plurality of disjoint subsets within each of the one or more original partitions is variable; and

individually compress each subset within each original partition of pixels to form a compressed texture block in response to a determination that each of the one or more original partitions of pixels is associated with a quality parameter that meets a pre-selected threshold.

11. The computer processing system of claim 10 , wherein the size and arrangement of the one or more subsets within each of the one or more original partitions are defined by a number of bits and selected from a predefined set of partitions.

12. The computer processing system of claim 10 , wherein the size of the one or more subsets within each of the one or more original partitions of pixels are different.

13. The computer processing system of claim 10 , wherein a union of the one or more original partitions of pixels is the original texture.

14. The computer processing system of claim 10 , wherein the processor is further configured to:

decompress each compressed texture block to obtain an approximation of each original partition of pixels;

compare each original partition of pixels to each approximation of the original partition of pixels; and

obtain a quality parameter for each of the one or more original partitions of pixels in order to determine whether each of the one or more original partitions of pixels is associated with a quality parameter that meets the pre-selected threshold.

15. The computer processing system of claim 14 , wherein the processor is further configured to:

select a final subset for each of the one or more original partitions of pixels where the quality parameter meets a pre-selected threshold; and

individually compress each final subset within each original partition of pixels to form a final compressed texture block.

16. The computer processing system of claim 15 , wherein the final subset for each of the one or more original partitions of pixels is selected for the original partition of pixels if the quality parameter for an identified subset meets a pre-selected threshold and the final subset is selected that either meets the pre-selected threshold or is closest to the pre-selected threshold when none of the subsets meet the preselected threshold.

17. The computer processing system of claim 10 , wherein the processor uses two explicit endpoint parameters and a number of intermediate points defining a ramp in the color space when individually compress each subset within each original partition of pixels.

18. The computer processing system of claim 10 , wherein the processor is configured to compress each of the subsets using a palletization technique when individually compressing each subset within each original partition of pixels.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2024
From: ADVANCED MICRO DEVICES, INC.
To: ONESTA IP, LLC
Reel/Frame 069381/0951 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2024
From: ATI TECHNOLOGIES ULC
To: ONESTA IP, LLC
Reel/Frame 069379/0556 →