Normal Map Compression via Center-Extent Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The octahedral transform used for normal map encoding can cause XYZ values that are close together in the original map to become far apart in octahedral space, making them difficult to compress accurately using existing GPU block compression formats like BC5.
Innovation Solution
Instead of storing the endpoints explicitly, the proposed solution stores 'center' and 'extents' values for the normal map components, allowing values outside the range [−1,1] to be represented. This transformation is invertible and allows for accurate reconstruction of the original endpoint values.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If the octahedral transform is used to convert XYZ normal map values to 2-component XY values, then the data can be compressed using existing GPU block compression formats like BC5, but XYZ values that are close together in the original map become far apart in octahedral space, reducing compression accuracy
Solution Approach 1:
The patent changes the parameter representation from storing endpoint values to storing center and extent values. This allows the normal map data to be represented in a way that maintains spatial relationships better during compression, as the center and extent representation is more resilient to the octahedral transform's distortion effects
Solution Approach 2:
Instead of transforming the original endpoint values directly and accepting the distortion, the patent inverts the approach by transforming center and extent values. This inversion allows for better preservation of spatial relationships because the center-point representation is less affected by the octahedral projection's distortion
2Manufacturing precision
If endpoint values are stored explicitly for normal map compression, then the compression format is simple to implement, but values outside the range [−1,1] cannot be represented, limiting compression accuracy
Solution Approach 1:
The patent changes the storage parameters from endpoint values to center and extent values. This parameter change enables representation of values outside the traditional [−1,1] range while maintaining a storage format that is still compatible with existing GPU compression pipelines
Solution Approach 2:
The center and extent values serve as an intermediary representation that bridges the gap between the octahedral transform output and the compression format requirements. This intermediary representation allows for extended value ranges while maintaining compatibility with compression algorithms
Data Source
AI summary
Techniques are described for encoding a normal map of a computer graphics texture. identify a normal map associated with a computer graphics texture. X and Z components of the normal map are associated with respective first and second channels with each channel being represented as two respective pair of endpoint values and 6-bits of interpolation indices. The channels including negative Z values are projected to octahedral space with interpolated index values being allowed outside the range of [−1, 1], and a symmetry operation executed to bring the interpolation indices values into the range [−1, 1].


