Variable Bit Rate GPU Texture Decompression

Variable bit rate compression can achieve better quality and compression rates than fixed bit rate methods. None the less, GPU texturing uses lossy fixed bit rate methods like DXT to allow random access and on‐the‐fly decompression during rendering. Changes in games and GPUs since DXT was developed make its compression artifacts less acceptable, and texture bandwidth less of an issue, but texture size is a serious and growing problem. Games use a large total volume of texture data, but have a much smaller active set. We present a new paradigm that separates GPU decompression from rendering. Rendering is from uncompressed data, avoiding the need for random access decompression. We demonstrate this paradigm with a new variable bit rate lossy texture compression algorithm that is well suited to the GPU, including a new GPU‐friendly formulation of range decoding, and a new texture compression scheme averaging 12.4:1 lossy compression ratio on 471 real game textures with a quality level similar to traditional DXT compression. The total game texture set are stored in the GPU in compressed form, and decompressed for use in a fraction of a second per scene.

[1]  G. Nigel Martin,et al.  * Range encoding: an algorithm for removing redundancy from a digitised message , 1979 .

[2]  Alan C. Bovik,et al.  A Statistical Evaluation of Recent Full Reference Image Quality Assessment Algorithms , 2006, IEEE Transactions on Image Processing.

[3]  Eero P. Simoncelli,et al.  Image compression via joint statistical characterization in the wavelet domain , 1999, IEEE Trans. Image Process..

[4]  Martin Pettersson,et al.  ETC2: texture compression using invalid combinations , 2007, GH '07.

[5]  Maneesh Agrawala,et al.  Rendering from compressed textures , 1996, SIGGRAPH.

[6]  Alistair Moffat,et al.  Binary codes for non-uniform sources , 2005, Data Compression Conference.

[7]  Glen G. Langdon,et al.  Universal modeling and coding , 1981, IEEE Trans. Inf. Theory.

[8]  Eero P. Simoncelli,et al.  Image quality assessment: from error visibility to structural similarity , 2004, IEEE Transactions on Image Processing.

[9]  Touradj Ebrahimi,et al.  The JPEG 2000 still image compression standard , 2001, IEEE Signal Process. Mag..

[10]  Pengwei Hao,et al.  Comparative study of color transforms for image coding and derivation of integer reversible color transform , 2000, Proceedings 15th International Conference on Pattern Recognition. ICPR-2000.

[11]  Tomas Akenine-Möller,et al.  High dynamic range texture compression for graphics hardware , 2006, ACM Trans. Graph..

[12]  Jonathan D. Cohen,et al.  On-the-fly decompression and rendering of multiresolution terrain , 2010, I3D '10.

[13]  Ian H. Witten,et al.  Arithmetic coding for data compression , 1987, CACM.

[14]  Wayne H. Wolf,et al.  Random access decompression using binary arithmetic coding , 1999, Proceedings DCC'99 Data Compression Conference (Cat. No. PR00096).

[15]  Shao-Yi Chien,et al.  CFU: multi-purpose configurable filtering unit for mobile multimedia applications on graphics hardware , 2009, High Performance Graphics.

[16]  Jon Y. Hardeberg,et al.  A New Spatial Hue Angle Metric for Perceptual Image Difference , 2009, CCIW.

[17]  Lance Williams,et al.  Pyramidal parametrics , 1983, SIGGRAPH.

[18]  Martin Isenburg,et al.  Fast and Efficient Compression of Floating-Point Data , 2006, IEEE Transactions on Visualization and Computer Graphics.

[19]  Peter Elias,et al.  Universal codeword sets and representations of the integers , 1975, IEEE Trans. Inf. Theory.

[20]  Gregory K. Wallace,et al.  The JPEG still picture compression standard , 1991, CACM.

[21]  Paul S. Heckbert Color image quantization for frame buffer display , 1982, SIGGRAPH.

[22]  Michael D. McCool,et al.  Compressed lossless texture representation and caching , 2006, GH '06.

[23]  David A. Huffman,et al.  A method for the construction of minimum-redundancy codes , 1952, Proceedings of the IRE.

[24]  Tomas Akenine-Möller,et al.  iPACKMAN: high-quality, low-complexity texture compression for mobile phones , 2005, HWWS '05.

[25]  J. M. P. van Waveren Real-Time YCoCg-DXT Compression , 2007 .

[26]  Jerome M. Shapiro,et al.  Embedded image coding using zerotrees of wavelet coefficients , 1993, IEEE Trans. Signal Process..

[27]  Abraham Lempel,et al.  A universal algorithm for sequential data compression , 1977, IEEE Trans. Inf. Theory.

[28]  Tomas Akenine-Möller,et al.  High quality normal map compression , 2006, GH '06.

[29]  Kimmo Roimela,et al.  High dynamic range texture compression , 2006, ACM Trans. Graph..

[30]  HeckbertPaul Color image quantization for frame buffer display , 1982 .