Local Range Texture Compression for Memory-Limited Color Fidelity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The limited availability of memory storage space in computer systems, particularly in applications like video games that require large texture data, necessitates more efficient data compression techniques to reduce memory size while maintaining high quality.

Innovation Solution

The use of locally varying numerical ranges in data compression, where each region of the data set has its own local minimum and maximum values, allows for encoding data as interpolation values between these extremes, reducing the number of bits required for storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If conventional data compression schemes (e.g., BC7) are used, then memory storage space is reduced, but image quality and color precision are compromised

Engineering Contradiction:
Improvememory storage spaceVSAvoidcolor precision
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent applies local quality by determining separate minimum and maximum color values for each block region rather than using global extremes. This allows each region to use a customized numerical range tailored to its specific color characteristics, preserving color precision locally while enabling more aggressive compression overall. The block-by-block approach ensures that regions with limited color variation can use fewer bits, while regions with high variation maintain adequate precision.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of numerical range by allowing texture data to be encoded outside the traditional 0-1 range. By using locally determined min/max values, the system can represent high dynamic range and wide gamut colors that exceed conventional specifications. This parameter change enables more efficient use of available bits while maintaining or exceeding original color fidelity.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If aggressive compression schemes (e.g., BC1) are used, then memory storage space is significantly reduced, but image quality deteriorates

Engineering Contradiction:
Improvememory storage spaceVSAvoidimage quality
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent enables use of aggressive compression schemes like BC1 by applying local quality adjustments. Each block's color data is encoded relative to its own local min/max range rather than the global 0-1 range. This local normalization allows BC1's limited 2-bit precision to effectively represent the actual color variations within each block, maintaining image quality while achieving the space savings of aggressive compression.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the texture into multiple blocks and applies independent compression parameters to each segment. By dividing the texture data into manageable blocks and treating each separately with its own numerical range, the system can use highly aggressive compression on each segment while the collective effect maintains overall image quality through localized precision.

Inventive Principle:
Principle #1Segmentation

3Ease of manufacture

If fixed numerical ranges (0-1) are used for all texture data, then encoding is simple, but high dynamic range and wide gamut data cannot be represented

Engineering Contradiction:
Improveencoding simplicityVSAvoiddata range flexibility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamics by transitioning from fixed numerical ranges to locally varying ranges. Instead of a static 0-1 encoding scheme applied uniformly, the system dynamically determines min/max values for each block based on the actual color data present. This dynamic adaptation allows the encoding scheme to flexibly accommodate high dynamic range and wide gamut data while maintaining relatively simple encoding logic.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the numerical range parameter from fixed to variable. By allowing each block to have its own min/max values rather than enforcing a universal 0-1 range, the system gains the versatility to represent colors outside conventional specifications. This parameter change maintains encoding simplicity by using the same basic compression algorithm while adapting the numerical context to each local region's requirements.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250173908A1Locally varying numerical ranges for data compression
Publication Date: 2025.05.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20250173908A1 patent drawing
  • US20250173908A1 patent drawing
  • US20250173908A1 patent drawing

AI summary

Data compression techniques are described for saving memory space by using fewer bits to store information while achieving high fidelity. A data set may be partitioned into a plurality of regions. Locally varying numerical ranges of data values (e.g., the minimum and maximum extents) may be determined for the plurality of regions. The data in the individual regions may be encoded using a lower number of bits as interpolation values in reference to the local extents rather than being encoded using a higher number of bits as absolute values. Where there are multiple channels of data in the regions, the number of available bits for encoding the data may be dynamically allocated per region based on the relative degrees of variance in data among the multiple channels.