Method and apparatus for compression of multi-sampled anti-aliasing color data
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06K-009/36
G06T-009/00
H04N-001/64
출원번호
US-0352455
(2012-01-18)
등록번호
US-8774535
(2014-07-08)
발명자
/ 주소
Van Hook, Timothy J.
Fouladi, Farhad
Elder, III, Gordon
출원인 / 주소
ATI Technologies ULC
대리인 / 주소
Faegre Baker Daniels LLP
인용정보
피인용 횟수 :
0인용 특허 :
94
초록▼
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 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
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; andreturning said resized tiles to main memory. 2. The method of claim 1 wherein said graphics processor comprises: a first Tile Format Table (TFT), wherein said graphics processor uses information from said TFT to process said compressed tiles. 3. The method of claim 2 wherein said first TFT comprises: a compression format entry for each of said tiles in said main memory. 4. The method of claim 3 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; anda clear state. 5. The method of claim 2 wherein said graphics processor comprises: a second TFT, wherein said second TFT comprises a compression format entry for each of said compressed tiles in said cache memory. 6. The method of claim 5 wherein said entry in said second TFT 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; anda clear state. 7. The method of claim 6 wherein said size of tiles in said main memory and size of compressed tiles in said cache memory differ. 8. The method of claim 6 wherein tiles in said main memory is of size 4×4 and compressed tiles in said cache memory is of size 2×2. 9. The method of claim 8 wherein said resizing said compressed tiles in cache memory for storage in said main memory further comprises: combining four 2×2 tiles in said cache memory into a 4×4 tile;choosing a lowest common compression level from among said four 2×2 tiles; andusing said lowest common compression level to compress said 4×4 tile, wherein said 4×4 is returned for storage in said main memory. 10. The method of claim 6 wherein said processing further comprises: clearing entries in said cache memory by setting each entry of said second TFT to said clear state; andwriting a clear color storied on said graphics processor in said entries in said cache memory. 11. The method of claim 1 wherein said processing does not decompress said compressed tiles prior to processing said compressed tiles in a graphics processor. 12. The method of claim 1 further comprising: accessing color information of samples in each of said pixel in said resized tiles, wherein duplicate color information is accessed once; andcombining color information samples to obtain one color for said pixel. 13. The method of claim 1 wherein said compressing further comprise: evaluating said resized tiles for compression suitability, wherein said compression recognizes duplicate data and reduces amount of duplicate data stored within said resized tiles; andcompressing said resized tiles if said resized tiles are deemed suitable for said compression. 14. The method of claim 13 wherein said evaluating further comprises: determining whether a resized tile is suitable for full compression; anddesignating said resized tile for full compression if it is deemed to be suitable. 15. The method of claim 14 wherein said determining further comprises: determining whether said resized tile is wholly covered by a triangle primitive. 16. The method of claim 14 wherein said compressing further comprises: storing a single color entry for each pixel in said resized tile. 17. The method of claim 13 wherein said evaluating further comprises: determining whether a resized tile is suitable for partial compression; anddesignating said resized tile for partial compression if it is deemed to be suitable. 18. The method of claim 17 wherein said determining further comprises: determining whether said resized tile is covered by less than two triangle primitives. 19. The method of claim 17 wherein said compressing further comprises: assigning an order to triangle primitives covering said resized tile;determining the color type of each sample of said resized tile;creating a compressed format of color entries out of said pixel data; andcreating a pointer to said compressed format. 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; anda 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; anda clear state. 21. The graphics processing apparatus of claim 20 wherein said graphics processor comprises: a second TFT, wherein said second TFT comprises a compression format entry for each of said compressed tiles in said cache memory. 22. The graphics processing apparatus of claim 21 wherein said entry in said second TFT 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; anda clear state. 23. The graphics processing apparatus of claim 22 wherein said size of tiles in said main memory and size of compressed tiles in said cache memory differ. 24. The graphics processing apparatus of claim 22 wherein tiles in said main memory is of size 4×4 and compressed tiles in said cache memory is of size 2×2. 25. The graphics processing apparatus of claim 24 wherein said compression unit is configured to: combine four 2×2 tiles in said cache memory into a 4×4 tile;choose a lowest common compression level from among said four 2×2 tiles; anduse said lowest common compression level to compress said 4×4 tile, wherein said 4×4 is returned for storage in said main memory. 26. The graphics processing apparatus of claim 22 wherein said graphics processor is configured to clear entries in said cache memory by setting each entry of said second TFT to said clear state and write a clear color storied on said graphics processor in said entries in said cache memory. 27. The graphics processing apparatus of claim 20 wherein said compressed tiles are not decompressed prior to being processed by said graphics processor. 28. The graphics processing apparatus of claim 20 wherein said evaluation unit is further configured to determine whether a resized tile is suitable for full compression and designate said resized tile for full compression if it is deemed to be suitable. 29. The graphics processing apparatus of claim 28 wherein said evaluation unit is further configured to determine whether said resized tile is wholly covered by a triangle primitive. 30. The graphics processing apparatus of claim 29 wherein said compression unit is further configured to store a single color entry for each pixel in said resized tile. 31. The graphics processing apparatus of claim 20 wherein said evaluation unit is further configured to determine whether a resized tile is suitable for partial compression and designate said resized tile for partial compression if it is deemed to be suitable. 32. The graphics processing apparatus of claim 31 wherein said evaluation unit is further configured to determine whether said resized tile is covered by less than two triangle primitives. 33. The graphics processing apparatus of claim 31 wherein said compression unit is further configured to: assign an order to triangle primitives covering said resized tile;determine the color type of each sample of said resized tile;create a compressed format of color entries out of said pixel data; andcreate a pointer to said format. 34. The graphics processing apparatus of claim 33 wherein said pointer comprises a bit encoding associated with each sample in said resized tile, wherein each bit represents an index to entries in said compressed format. 35. The graphics processing apparatus of claim 34 wherein said pointer further comprises a short-hand bit encoding scheme for encoding a pixel with no replacement colors. 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; andcomputer readable code configured to cause a computer to return said resized tiles to main memory. 37. The computer program product of claim 36 wherein said graphics processor comprises: a first Tile Format Table (TFT), wherein said graphics processor uses information from said TFT to process said compressed tiles. 38. The computer program product of claim 37 wherein said first TFT comprises: a compression format entry for each of said tiles in said main memory. 39. The computer program product of claim 38 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; anda clear state. 40. The computer program product of claim 36 wherein said graphics processor comprises: a second TFT, wherein said second TFT comprises a compression format entry for each of said compressed tiles in said cache memory. 41. The computer program product of claim 40 wherein said entry in said second TFT 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; anda clear state. 42. The computer program product of claim 41 wherein said size of tiles in said main memory and size of compressed tiles in said cache memory differ. 43. The computer program product of claim 41 wherein tiles in said main memory is of size 4×4 and compressed tiles in said cache memory is of size 2×2. 44. The computer program product of claim 43 wherein said computer readable code configured to cause a computer to resize said compressed tiles in cache memory for storage in said main memory further comprises: computer readable code configured to cause a computer to combine four 2×2 tiles in said cache memory into a 4×4 tile;computer readable code configured to cause a computer to choose a lowest common compression level from among said four 2×2 tiles; andcomputer readable code configured to cause a computer to use said lowest common compression level to compress said 4×4 tile, wherein said 4×4 is returned for storage in said main memory. 45. The computer program product of claim 41 wherein said computer readable code configured to cause a computer to process further comprises: computer readable code configured to cause a computer to clear entries in said cache memory by setting each entry of said second TFT to said clear state; andcomputer readable code configured to cause a computer to write a clear color storied on said graphics processor in said entries in said cache memory. 46. The computer program product of claim 36 wherein said computer readable code configured to cause a computer to process does not decompress said compressed tiles prior to processing said compressed tiles in a graphics processor. 47. The computer program product of claim 36 further comprising: computer readable code configured to cause a computer to access color information of samples in each of said pixel in said resized tiles, wherein duplicate color information is accessed once; andcomputer readable code configured to cause a computer to combine color information samples to obtain one color for said pixel. 48. The computer program product of claim 36 wherein said computer readable code configured to cause a computer to compress further comprise: computer readable code configured to cause a computer to evaluate said resized tiles for compression suitability, wherein said compression recognizes duplicate data and reduces amount of duplicate data stored within said resized tiles; andcomputer readable code configured to cause a computer to compress said resized tiles if said resized tiles are deemed suitable for said compression. 49. The computer program product of claim 48 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 resized tile is suitable for full compression; andcomputer readable code configured to cause a computer to designate said resized tile for full compression if it is deemed to be suitable. 50. The computer program product of claim 49 wherein said computer readable code configured to cause a computer to determine further comprises: computer readable code configured to cause a computer to determine whether said resized tile is wholly covered by a triangle primitive. 51. The computer program product of claim 49 wherein said computer readable code configured to cause a computer to compress further comprises: computer readable code configured to cause a computer to store a single color entry for each pixel in said resized tile. 52. The computer program product of claim 48 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 resized tile is suitable for partial compression; andcomputer readable code configured to cause a computer to designate said resized tile for partial compression if it is deemed to be suitable. 53. The computer program product of claim 52 wherein said computer readable code configured to cause a computer to determine further comprises: computer readable code configured to cause a computer to determine whether said resized tile is covered by less than two triangle primitives. 54. The computer program product of claim 52 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 resized tile;computer readable code configured to cause a computer to determine the color type of each sample of said resized tile;computer readable code configured to cause a computer to create a compressed format of color entries out of said pixel data; andcomputer readable code configured to cause a computer to create a pointer to said compressed format. 55. The graphics processing apparatus of claim 20 wherein said graphics processor further comprises: an evaluation unit configured to evaluate said resized tiles for compression suitability, wherein said compression recognizes duplicate data and reduces amount of duplicate data stored within said resized tiles. 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; andreturn 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; andcombining color information samples to obtain one color for said pixel.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (94)
Barkans Anthony C., Antialiasing system and method that minimize memory requirements and memory accesses by storing a reduced set of subsamp.
Peterson, Heidi; Lee, Jungwoo, Apparatus and method for optimizing encoding and performing automated steerable image compression in an image coding system using a perceptual metric.
Sullivan James R. (Spencerport NY) Smith Craig M. (Rochester NY), Block adaptive linear predictive coding with multi-dimensional adaptive gain and bias.
Ratakonda Krishna ; Sezan M. Ibrahim, Block matching-based method for estimating motion fields and global affine motion parameters in digital video sequences.
Ryan Lawrence D. (Princeton Junction NJ) Sherrill James V. (Andersonville TN) Shedd Robert D. (Swarthmore PA) Caracciolo Gerald T. (Bordentown NJ), Display processors accommodating the description of color pixels in variable-length codes.
Tsang Wai M. (North Point HKX) Chan Ching K. (Yuen Long HKX), Encoding and decoding color image data based on mean luminance and an upper and a lower color value.
Canfield Barth Alan ; Lam Wai-Man ; Beyers ; Jr. Billy Wesley, MPEG system which decompresses and then recompresses MPEG video data before storing said recompressed MPEG video data in.
Kirani,Shekhar; Gerlach,Matthew H.; Genske,Timothy W.; Vogel,David; Swinton,William G.; Easwar,Venkat V.; Bodnar,Eric O., Media spooler system and methodology providing efficient transmission of media content from wireless devices.
Iourcha, Konstantine; Pomianowski, Andrew S. C.; Koduri, Raja, Method and apparatus for block based image compression with multiple non-uniform block encodings.
Miura, Takashi; Itagaki, Fumihiko; Kawashima, Miyuki, Method and apparatus for coding moving image and medium for recording program of coding moving image.
Jouppi Norman P. ; McCormack Joel J. ; Chang Chun-Fa, Method and apparatus for compositing colors of images with memory constraints for storing pixel data.
Hoffert Eric M. (San Francisco CA) Miller Gavin S. P. (Mountain View CA) Mighdoll Lee S. (Chagrin Falls OH) Winner Stephanie L. (Santa Clara CA), Method and apparatus for compressing and decompressing color video data with an anti-aliasing mode.
Steven Morein ; Michael T. Wright, Method and apparatus for controlling compressed Z information in a video graphics system that supports anti-aliasing.
Hickman Charles B. (2890 Topaz Ave. Simi Valley CA 93063), Method and apparatus for electronic image color modification using hue and saturation levels.
Hsieh Hsien-Cheng E. ; Huff Thomas R. ; Pentkovski Vladimir ; Roussel Patrice ; Thakkar Shreekant S., Method and apparatus for parallel conversion of color values from a single precision floating point format to an integer.
Chui Charles K. (College Station TX) Yuen Pak-Kay (College Station TX), Method and apparatus for video image compression and decompression using boundary-spline-wavelets.
Hoffert Eric M. (San Francisco CA) Mighdoll Lee S. (Chargin Falls OH), Method for compresssing and decompressing color video data that uses luminance partitioning.
Bergman Lawrence David ; Gerth John Alan ; Robinson John Timothy ; Rogowitz Bernice Ellen, Method, system and program products for displaying multiple types of data in single images.
Hudson,John E.; Steer,David G.; Hashem,Bassam M.; Boudreau,Daniel; Teo,Koon Hoo, Methods and apparatus for transmitting and receiving data over a communications network in the presence of interference.
Gleicher Michael K. (Albuquerque NM) Conley Robert W. (Tijeras NM), Raster image lossless compression and decompression with dynamic color lookup and two dimensional area encoding.
Toksvig, Michael; Donovan, Walter; Alben, Jonah M.; Rao, Krishnaraj S.; Lew, Stephen D., System and method for filtering graphics data on scanout to a monitor.
Toksvig,Michael; Donovan,Walter; Alben,Jonah M.; Rao,Krishnaraj S.; Lew,Stephen D., System and method for filtering graphics data on scanout to a monitor.
Molnar, Steven E.; Schneider, Bengt-Olaf; Montrym, John; Van Dyke, James M.; Lew, Stephen D., System and method for real-time compression of pixel colors.
Wong Wai-sing,HKX ; Chao Kam-chi,HKX ; Fong Chi-ming,HKX, Video display system including graphic layers with sizable, positionable windows and programmable priority.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.