Local Numerical Range Compression for High-Fidelity Image Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data compression techniques are inefficient in reducing memory size while maintaining high quality, especially in applications like computer graphics where large texture data requires significant storage space and bandwidth, and are limited in handling high dynamic range or wide gamut data.

Innovation Solution

The use of locally varying numerical ranges allows for more aggressive compression by encoding data within smaller, region-specific ranges, using minmax maps and interpolation values, which dynamically allocate bits based on data variance, enabling higher precision and quality with reduced memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If conventional data compression techniques are used, then memory storage space is reduced, but image quality and precision deteriorate

Engineering Contradiction:
Improvememory storage spaceVSAvoidimage quality
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent applies local quality by dividing the image into multiple blocks and determining separate minimum and maximum values for each block. This allows each block to have its own customized numerical range, enabling more efficient compression for blocks with low variance while maintaining high precision for blocks with high variance, thus resolving the contradiction between compression ratio and image quality

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent uses dynamic bit allocation where the number of bits allocated to each block's minimum and maximum values is determined based on the actual variance of pixel values in that block. This dynamic approach allows the compression scheme to adapt to local image characteristics, achieving better overall compression while maintaining quality where needed

Inventive Principle:
Principle #15Dynamics

2Device complexity

If uniform numerical ranges are used for compression, then encoding is simplified, but precision is lost in regions with low data variance

Engineering Contradiction:
Improveencoding complexityVSAvoiddata precision
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

Instead of using a uniform numerical range for the entire image, the patent determines local minimum and maximum values for each block. This local approach ensures that each block uses the tightest possible numerical range, maximizing precision while still maintaining manageable encoding complexity through systematic processing

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If aggressive compression is applied, then memory usage is reduced, but the ability to represent high dynamic range or wide gamut data is limited

Engineering Contradiction:
Improvememory usageVSAvoidhigh dynamic range capability
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent employs dynamic bit allocation that adapts to the actual data characteristics in each block. By allocating bits based on local variance rather than using a fixed scheme, the system can efficiently compress low-variance regions while preserving the dynamic range and gamut information in high-variance regions, thus achieving both compression and versatility

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12165369B2Locally varying numerical ranges for data compression
Publication Date: 2024.12.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12165369B2 patent drawing
  • US12165369B2 patent drawing
  • US12165369B2 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.