MIP Map Compression Using Difference Texture Maps
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing image compression techniques, such as DXT1, struggle with maintaining image quality when encoding low spatial frequency details like smooth lighting gradients, often resulting in visible noise and increased storage or processing overhead.
Innovation Solution
The proposed method generates a MIP map using difference texture maps, where each scale is compressed using DXT1, and interpolates between these scales to produce a required texture map, reducing visible noise and maintaining image quality with minimal increase in memory or processing overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If DXT1 compression is used to compress texture maps, then compression ratio is improved, but image quality of low spatial frequency details deteriorates
Solution Approach 1:
The image is divided into multiple frequency components using a Laplacian pyramid representation. The image is segmented into a coarse approximation (low-frequency component) and detailed corrections (high-frequency components). This segmentation allows different compression strategies to be applied to different frequency bands, preserving low-frequency quality while maintaining compression efficiency.
Solution Approach 2:
Different compression techniques are applied to different parts of the frequency spectrum. The low-frequency approximation is compressed with DXT1, while the high-frequency detail components are handled separately. This local quality approach ensures that each frequency band receives appropriate compression treatment, maintaining overall image quality.
2Adaptability or versatility
If more texture maps at different scales are stored to handle object scaling, then adaptability is improved, but storage requirements deteriorate
Solution Approach 1:
A Laplacian pyramid is pre-computed and stored in compressed form, containing the image at multiple scales in a hierarchical structure. This preliminary action allows real-time decomposition at any required scale without needing to store separate full-resolution texture maps for each scale, reducing storage requirements while maintaining adaptability.
Solution Approach 2:
Instead of storing multiple complete texture maps at different scales (2D expansion), the solution uses a Laplacian pyramid structure that adds a hierarchical dimension. The pyramid stores difference images at each level, allowing reconstruction of any scale from the compressed hierarchical data, effectively managing storage in a third dimensional space.
3Speed
If real-time decompression is required for hardware-accelerated 3D CG systems, then processing speed is improved, but compression technique complexity deteriorates
Solution Approach 1:
The Laplacian pyramid is pre-computed and stored in compressed form during asset creation. This preliminary action moves the complex decomposition calculations to offline processing, allowing simple and fast decompression operations during real-time rendering. The hardware only needs to perform straightforward operations on the pre-prepared compressed data.
Solution Approach 2:
The complex image processing and decomposition operations are extracted from the real-time rendering pipeline and performed offline during pyramid construction. This extraction allows the runtime system to use simpler, faster decompression operations while still achieving high-quality results through the pre-computed hierarchical structure.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method of image compression in which multiple versions of an image are compressed, each version having a different image resolution, comprises the steps of: for one or more compressed versions of the image: decompressing that compressed version to generate decompressed image data; detecting image differences between a higher resolution version of the image and the decompressed image data; and compressing difference data dependent upon the detected image differences.