Method and apparatus for compression of multi-sampled anti-aliasing color data
First Claim
1. A method for compressing image data, comprising:
- retrieving tiles of pixel data from a main memory;
resizing said tiles;
compressing said resized tiles, wherein said compressed tiles are stored in cache memory after compression;
processing said compressed tiles in a graphics processorreturning said compressed tiles from said graphics processor to cache memory;
resizing said compressed tiles in cache memory for storage in said main memory; and
returning said resized tiles to main memory.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a scheme for compressing the color components of image data, and in particular, data used in multi-sampled anti-aliasing applications. Adjacent pixels are grouped into rectangular tiles, with the sample colors stored in compressed formats accessible via an encoded pointer. In one embodiment, duplicate colors are stored once. Unlike prior compression schemes that rely on pixel to pixel correlation, the present invention takes advantages of the sample to sample correlation that exists within the pixels. A memory and graphics processor configuration incorporating the tile compression schemes is also provided. The configuration defines the tile sizes in main memory and cache memory. In one embodiment, graphics processor relies on a Tile Format Table (TFT) to process incoming tiles in compressed formats. The present invention reduces memory consumption and speeds up essential and oft-repeated operations in rendering. Thus it is valuable in the design and manufacture of graphic sub-systems.
-
Citations
57 Claims
-
1. A method for compressing image data, comprising:
-
retrieving tiles of pixel data from a main memory; resizing said tiles; compressing said resized tiles, wherein said compressed tiles are stored in cache memory after compression; processing said compressed tiles in a graphics processor returning said compressed tiles from said graphics processor to cache memory; resizing said compressed tiles in cache memory for storage in said main memory; and returning said resized tiles to main memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A graphics processing apparatus comprising:
-
a retrieving unit configured to retrieve tiles of pixel data from a main memory; a resizing unit configured to resize said tiles; a compression unit configured to compress said resized tiles if said resized tiles are deemed suitable for said compression, wherein said compressed tiles are stored in cache memory after compression; a processing unit configured to process said compressed tiles in a graphics processor; and a first TFT comprising a compression format entry for each of said tiles in said main memory, wherein said entry comprises an encoding for a plurality of states for each of said resized tiles, said states comprising; a full compression state; a partial compression state; an uncompressed state; and a clear state. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 55)
-
-
36. A computer program product comprising:
-
A non-transitory computer readable medium having computer readable program code embodied therein configured for data compression, comprising; computer readable code configured to cause a computer to retrieve tiles of pixel data from a main memory; computer readable code configured to cause a computer to resize said tiles; computer readable code configured to cause a computer to compress said resized tiles, wherein said compressed tiles are stored in cache memory after compression; computer readable code configured to cause a computer to process said compressed tiles in a graphics processor; computer readable code configured to cause a computer to return said compressed tiles from said graphics processor to cache memory; computer readable code configured to cause a computer to resize said compressed tiles in cache memory for storage in said main memory; and computer readable code configured to cause a computer to return said resized tiles to main memory. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
56. A graphics processing apparatus comprising:
a graphics processor operative to; retrieve tiles of pixel data from a main memory; resize said tiles; compress said resized tiles if said resized tiles are deemed suitable for said compression, wherein said compressed tiles are stored in cache memory after compression; process said compressed tiles in a graphics processor; return said compressed tiles from said graphics processor to cache memory; resize said compressed tiles in cache memory for storage in said main memory; and return said resized tiles to main memory.
-
57. A method for compressing image data, comprising:
-
retrieving tiles of pixel data from a main memory; resizing said tiles; compressing said resized tiles, wherein said compressed tiles are stored in cache memory after compression; processing said compressed tiles in a graphics processor; accessing color information of samples in each of said pixel in said resized tiles, wherein duplicate color information is accessed once; and combining color information samples to obtain one color for said pixel.
-
Specification