Texture Compression using Wavelet Decomposition

Pavlos Mavridis     Georgios Papaioannou
Department of Informatics, Athens University of Economics & Business

Computer Graphics Forum (Proceedings of Pacific Graphics 2012), Volume 31, Number 7, September 2012
Wavelet Texture Compression
Figure 1. Our method encodes grayscale and color textures at various bitrates, improving the flexibility of existing texture compression formats. The already available decompression hardware is used to make the decoding efficient on existing GPUs and APIs.

Abstract

In this paper we introduce a new fixed-rate texture compression scheme based on the energy compaction properties of a modified Haar transform. The coefficients of this transform are quantized and stored using standard block compression methods, such as DXTC and BC7, ensuring simple implementation and very fast decoding speeds. Furthermore, coefficients with the highest contribution to the final image are quantized with higher accuracy, improving the overall compression quality. The proposed modifications to the standard Haar transform, along with a number of additional optimizations, improve the coefficient quantization and reduce the compression error. The resulting method offers more flexibility than the currently available texture compression formats, providing a variety of additional low bitrate encoding modes for the compression of grayscale and color textures.

Source Code

Since our method requires arbitrary weights for the RGB channels, we did some slight modifications in the BC7 encoder of the open source NVIDIA Texture Tools. We provide here the modified source that was used in our tests. Please read the INSTRUCTIONS.txt file for a detailed description on how to use this code.

Bibtex

@article{MP12b,
  author       = "Mavridis, Pavlos and Papaioannou, Georgios",
  title        = "Texture Compression using Wavelet Decomposition",
  journal      = "Computer Graphics Forum (Proceedings of Pacific Graphics 2012)",
  number       = "7",
  volume       = "31",
  month        = "September",
  year         = "2012",
}

Note: An earlier work-in-progress version of this method has been accepted as a poster in i3D 2012:

Acknowledgements

We would like to thank all the anonymous reviewers and industry experts for their helpfull comments. Their insights helped us to improve our method. The first author would also like to thank Nikos Karampatziakis (Cornell University) for his insights on statistical analysis.