Texture Compression via Segmented Recompression for GPU Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern image compression technologies, such as BC7 and BC6H, require significant storage and computational resources for texture maps in video games, leading to high storage requirements, network download sizes, and loading times.
Innovation Solution
A method that involves compressing texture maps using a first compressor to a JPEG2000 format and generating an array of compression parameters for a second compressor, allowing for efficient recompression into modern block compression formats like BC7 or BC6H, enabling selective access and reduced storage needs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If modern texture block compression formats (BC7, BC6H) are used to achieve high-quality image data compression, then image quality and compression ratio are improved, but storage requirements and computational resources increase
Solution Approach 1:
The texture map is divided into multiple pixel blocks, and each block is independently compressed using the most appropriate compression mode from a wide range of available modes. This segmentation allows the system to apply different compression strategies to different regions, optimizing the balance between storage requirements and computational resources for each block individually.
Solution Approach 2:
The system utilizes a wide range of compression modes with different parameters to compress each pixel block. By selecting and applying the most appropriate compression mode for each block based on its specific characteristics, the system achieves high-quality compression while managing computational resources more efficiently through parameter optimization rather than uniform complex processing.
2Manufacturing precision
If texture maps are compressed using modern compression formats, then image quality is improved, but network download sizes and loading times increase
Solution Approach 1:
The texture maps are compressed into modern block compression formats (BC7, BC6H) during the preprocessing stage, before being stored on persistent storage devices. This preliminary compression action ensures that when the textures are loaded during runtime, they are already in an optimized format, reducing loading times while maintaining high image quality.
3Productivity
If a wide range of compression modes are used for each pixel block, then compression efficiency is improved, but device complexity increases
Solution Approach 1:
Different compression modes are applied to different pixel blocks based on their local characteristics. Each block is analyzed and compressed using the most appropriate mode from the available range, allowing the system to achieve high compression efficiency for each local region while avoiding the need to apply the most complex algorithms uniformly across the entire texture map.
Data Source
AI summary
A computer-implemented method comprises receiving a first compressed representation of a texture map in a first compression format, wherein the first compressed representation has been compressed using a first compressor, and receiving an array of compression parameters for a second compressor, the array of compression parameters including one or more respective compression parameters for each of a plurality of pixel regions of the texture map. The method further comprises decompressing the first compressed representation of the texture map to obtain the texture map, and compressing, using the second compressor, the texture map to a second compressed representation in a second compression format, comprising compressing each of said plurality of pixel regions of the texture map in accordance with the respective one or more compression parameters. The method further comprises storing the second compressed representation of the texture map to one or more memories accessible by a graphics processing unit, and selectively decompressing portions of the second compressed representation of the texture map using the graphical processing unit.


