IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0672707
(2003-09-26)
|
등록번호 |
US-8111928
(2012-02-07)
|
발명자
/ 주소 |
- Van Hook, Timothy J.
- Fouladi, Farhad
- Elder, Gordon
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
14 인용 특허 :
83 |
초록
▼
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 poin
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.
대표청구항
▼
1. A method of data compression comprising: grouping a plurality of pixel data into a plurality of tiles;prior to compression, evaluating said tiles for compression suitability to determine if said tile is to be fully compressed, partially compressed or uncompressed, wherein said full or partial com
1. A method of data compression comprising: grouping a plurality of pixel data into a plurality of tiles;prior to compression, evaluating said tiles for compression suitability to determine if said tile is to be fully compressed, partially compressed or uncompressed, wherein said full or partial compression recognizes duplicate data and reduces amount of duplicate data stored within said tiles and wherein evaluating prior to compression comprises determining whether partial compression will result in memory space saving compared to uncompressed pixel data; andfully or partially compressing said tiles if said tiles are deemed suitable for said full or partial compression;wherein said evaluating further comprises: determining that a tile is suitable for partial compression when the tile is covered by a plurality of primitives;designating said tile for partial compression if it is deemed to be suitable and wherein partial compression comprises employing at least two color designations for subsamples of a same tile to compress data for the tile;partially compressing the tile using a single bit to represent each of the at least two color designations; andwherein the tile is stored in an uncompressed format when it is covered by more than two primitives. 2. The method of claim 1 wherein said pixel data is color information. 3. The method of claim 1 wherein said evaluating further comprises: determining whether a tile is suitable for full compression;designating said tile for full compression if it is deemed to be suitable. 4. The method of claim 3 wherein said determining whether the tile is suitable for full compression further comprises: determining whether said tile is wholly covered by a triangle primitive. 5. The method of claim 3 wherein said fully compressing further comprises; storing a single color entry for each pixel in said tile. 6. The method of claim 3 wherein said full compression compresses said pixel data into one word per pixel. 7. The method of claim 1 wherein said determining that a tile is suitable for partial compression further comprises: determining whether said tile is covered by no more than two triangle primitives. 8. The method of claim 1 wherein said partial compressing further comprises: assigning an order to triangle primitives covering said tile;determining the color type of each sample of said tile;creating a compressed format of color entries out of said pixel data;creating a pointer to said compressed format. 9. The method of claim 8 wherein said pointer comprises a bit encoding associated with each sample in said tile, wherein each bit represents an index to entries in said compressed format. 10. The method of claim 9 wherein said pointer further comprises a short-hand bit encoding scheme for encoding a pixel with no replacement colors. 11. The method of claim 1 wherein said partial compression compresses said pixel data into two words per pixel. 12. The method of claim 1 wherein said tiles are 2×2 in size. 13. A graphics processing apparatus comprising: a grouping unit configured to group a plurality of pixel data into a plurality of tiles;an evaluation unit configured to evaluate said tiles for compression suitability prior to compression to determine if a tile is to be fully compressed, partially compressed or uncompressed, wherein said full or partial compression recognizes duplicate data and reduces amount of duplicate data stored within said tiles and determines whether a tile is suitable for partial compression when the tile is covered by a plurality of primitives and wherein evaluating prior to compression comprises determining whether partial compression will result in memory space saving compared to uncompressed pixel data and determining that a tile is to be stored in an uncompressed format when it is covered by more than two primitives;a compression unit configured to partially compress tiles if they are suitable for partial compression and wherein partial compression comprises employing at least two color designations for subsamples of a same tile to compress data for the tile and wherein the compression unit is operative to partially compress the tile using a single bit to represent each of the at least two color designations. 14. The graphics processing apparatus of claim 13, wherein said pixel data is color information. 15. The graphics processing apparatus of claim 13 wherein said tiles are 2×2 in size. 16. 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 group a plurality of pixel data into a plurality of tiles;computer readable code configured to cause a computer to evaluate said tiles, prior to compression, for compression suitability to determine if said tile is to be fully compressed, partially compressed or uncompressed, wherein said partial or full compression recognizes duplicate data and reduces amount of duplicate data stored within said tiles and wherein evaluating prior to compression comprises determining whether partial compression will result in memory space saving compared to uncompressed pixel data;wherein said computer readable code configured to cause a computer to evaluate further causes the computer to: determine whether a tile is suitable for partial compression when the tile is covered by a plurality of primitives;designate said tile for partial compression if it is deemed to be suitable and wherein partial compression comprises employing at least two color designations for subsamples of a same tile to compress data for the tile;partially compress the tile using a single bit to represent each of the at least two color designations; anddetermine that the tile is to be stored in an uncompressed format when it is covered by more than two primitives. 17. The computer program product of claim 16 wherein said pixel data is color information. 18. The computer program product of claim 16 wherein said computer readable code configured to cause a computer to evaluate further comprises: computer readable code configured to cause a computer to determine whether a tile is suitable for full compression;computer readable code configured to cause a computer to designate said tile for full compression if it is deemed to be suitable. 19. The computer program product of claim 18 wherein said computer readable code configured to cause a computer to determine whether the tile is suitable for full compression further comprises: computer readable code configured to cause a computer to determine whether said tile is wholly covered by a triangle primitive. 20. The computer program product of claim 18 wherein sa id computer readable code configured to cause a computer to fully compress further comprises: computer readable code configured to cause a computer to store a single color entry for each pixel in said tile. 21. The computer program product of claim 18 wherein said full compression compresses said pixel data into one word per pixel. 22. The computer program product of claim 16 wherein said computer readable code configured to cause a computer to determine if a tile is suitable for partial compression further comprises: computer readable code configured to cause a computer to determine whether said tile is covered by no more than two triangle primitives. 23. The computer program product of claim 16 wherein said computer readable code configured to cause a computer to compress further comprises: computer readable code configured to cause a computer to assign an order to triangle primitives covering said tile;computer readable code configured to cause a computer to determine the color type of each sample of said tile;computer readable code configured to cause a computer to create a compressed format of color entries out of said pixel data;computer readable code configured to cause a computer to create a pointer to said compressed format. 24. The computer program product of claim 23 wherein said pointer comprises a bit encoding associated with each sample in said tile, wherein each bit represents an index to entries in said compressed format. 25. The computer program product of claim 24 wherein said pointer further comprises a short-hand bit encoding scheme for encoding a pixel with no replacement colors. 26. The computer program product of claim 16 wherein said partial compression compresses said pixel data into two words per pixel. 27. The computer program product of claim 16 wherein sail tiles are 2×2 in size. 28. A method of data compression comprising: grouping a plurality of pixel data into a plurality of tiles;evaluating said tiles for compression suitability, wherein said compression suitability recognizes duplicate data and reduces amount of duplicate data stored within said tiles and wherein evaluating comprises determining whether partial compression will result in memory space saving compared to uncompressed pixel data;partially compressing said tiles if said tiles are deemed suitable for said partial compression;wherein said evaluating further comprises: determining whether a tile is suitable for full compression by determining whether said tile is wholly covered by a triangle primitive;designating said tile for full compression if it is deemed to be suitable;designating said tile for partial compression if it is deemed to be suitable for partial compression wherein partial compression comprises creating a compressed format of color entries out of said pixel data and creating a pointer to compressed format, wherein the pointer comprises a bit encoding associated with each sample in the tile; andstoring the tile in an uncompressed format when it is determined to be covered by more than two primitives. 29. 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: group a plurality of pixel data into a plurality of tiles;evaluate said tiles for compression suitability, wherein said compression suitability recognizes duplicate data and reduces amount of duplicate data stored within said tiles;partially or fully compress said tiles if said tiles are deemed suitable for partial or full compression;wherein evaluating further comprises: determining whether a tile is suitable for full compress on by determining whether said tile is wholly covered by a triangle primitive;designating said tile for full compression if it is deemed to be suitable;designating said tile for partial compression if it is deemed to be suitable for partial compression wherein partial compression comprises creating a compressed format of color entries out of said pixel data and creating a pointer to said compressed format, wherein the pointer comprises a bit encoding associated with each sample in the tile; andstoring the tile in an uncompressed format when it is covered by more than two primitives. 30. A method of data compression comprising: grouping a plurality of pixel data into a plurality of tiles;evaluating said tiles for compression suitability, wherein said compression suitability recognizes duplicate data and reduces an amount of duplicate data stored within said tiles and wherein evaluating comprises determining whether partial compression will result in memory space saving compared to uncompressed pixel data;partially compressing said tiles if said tiles are deemed suitably for said partial compression;wherein said evaluating further comprises: determining whether a tile is suitable for partial compression by determining whether said tile is covered by no more than two triangle primitives;designating said tile for partial compression if it is deemed to be suitable; andstoring the tile in an uncompressed format when it is covered by more than two primitives. 31. 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:group a plurality of pixel data into a plurality of tiles;evaluate said tiles for compression suitability, wherein said compression suitability recognizes duplicate data and reduces amount of duplicate data stored within said resized tiles and wherein evaluating comprises determining whether partial compression will result in memory space saving compared to uncompressed pixel data;partially compress said tiles if said tiles are deemed suitable for said partial compression;wherein evaluating further comprises: determining whether a tile is suitable for partial compression by determining whether said tile is covered by no more than two triangle primitives;designating said tile for partial compression if it is deemed to be suitable andstoring the tile in an uncompressed format when it is covered by more than two primitives. 32. 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:group a plurality of pixel data into a plurality of tiles;evaluate said tiles for compression suitability, wherein said compression suitability recognizes duplicate data and reduces an amount of duplicate data stored within said tiles and wherein evaluating prior to compression comprises determining whether partial compression will result in memory space saving compared to uncompressed pixel data;compress said tiles if said tiles are deemed suitable for said compression;wherein evaluating further comprises: determining whether a tile is suitable for partial compression;designating said tile for partial compression if it is deemed to be suitable;wherein partial compressing further comprises: assigning an order to triangle primitives covering said tile;determining the color type of each sample of said tile;creating a compressed format of color entries out of said pixel data;creating a pointer to said compressed format; andstoring the tile in an uncompressed format when it is covered by more than two primitives. 33. The method of claim 1 wherein partial compression comprises employing pointers to designate samples that correspond to an original color designation and a replacement color designation. 34. The method of claim 1 wherein the method is carried out by a graphics processor. 35. The method of claim 28 wherein the method is carried out by a graphics processor. 36. The method of claim 30 wherein the method is carried out by a graphics processor. 37. A method of data compression comprising: grouping a plurality of pixel data into a plurality of tiles;evaluating said tiles for compression suitability, wherein said compression suitability recognizes duplicate data and reduces amount of duplicate data stored within said tiles; andpartially compressing said tiles if said tiles are deemed suitable for said partial compression;wherein said evaluating further comprises: determining whether a tile is suitable for partial compression; anddesignating said tile for partial compression if it is deemed to be suitable;wherein said partial compressing further comprises: assigning an order to triangle primitives covering said tile;determining the color type of each sample of said tile;creating a compressed format of color entries out of said pixel data; andcreating a pointer to said compressed format;wherein said pointer comprises a bit encoding associated with each sample in said tile, wherein each bit represents an index to entries in said compressed format;wherein said pointer further comprises a short-hand bit encoding scheme for encoding a pixel with no replacement colors; andwherein the tile is stored in an uncompressed format when it is covered by more than two primitives. 38. 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 group a plurality of pixel data into a plurality of tiles;computer readable code configured to cause a computer to evaluate said tiles for compression suitability, wherein said compression suitability recognizes duplicate data and reduces amount of duplicate data stored within said tiles;computer readable code configured to cause a computer to partially compress said tiles if said tiles are deemed suitable for said partial compression;wherein said computer readable code configured to cause a computer to evaluate further comprises: determining whether a tile is suitable for partial compression; anddesignating said tile for partial compression if it is deemed to be suitable;wherein said computer readable code configured to cause a computer to partially compress further comprises: computer readable code configured to cause a computer to assign an order to triangle primitives covering said tile;computer readable code configured to cause a computer to determine the color type of each sample of said tile;computer readable code configured to cause a computer to create a compressed format of color entries out of said pixel data;computer readable code configured to cause a computer to create a pointer to said compressed format;wherein said pointer comprises a bit encoding associated with each sample in said tile, wherein each bit represents an index to entries in said partial compressed format;wherein said pointer further comprises a short-hand bit encoding scheme for encoding a pixel with no replacement colors; andwherein the tile is stored in an uncompressed format when it is covered by more than two primitives.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.