Texture Compression via Segmented Recompression for GPU Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvestorage requirementsVSAvoidcomputational resources
Core Design Contradiction:
Quantity of substanceVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #35Parameter changes

2Manufacturing precision

If texture maps are compressed using modern compression formats, then image quality is improved, but network download sizes and loading times increase

Engineering Contradiction:
Improveimage qualityVSAvoidloading times
Core Design Contradiction:
Manufacturing precisionVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If a wide range of compression modes are used for each pixel block, then compression efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvecompression efficiencyVSAvoidcompression algorithm complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11568572B2Texture compression
Publication Date: 2023.01.31 ELECTRONIC ARTS INC
  • US11568572B2 patent drawing
  • US11568572B2 patent drawing
  • US11568572B2 patent drawing

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.