Texture Data Encoding Block Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing texture data compression techniques in computer graphics systems face challenges in balancing image quality with storage and bandwidth requirements, particularly in mobile devices, where they often result in reduced image quality or increased data processing needs.

Innovation Solution

A method of encoding texture data as blocks, where each block includes data to generate and interpolate texture values, allowing for flexible and efficient compression by using a shared palette of data values and interpolation methods across sub-blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If texture data is stored in full resolution for high image quality, then image quality is improved, but storage requirements and bandwidth consumption increase

Engineering Contradiction:
Improveimage qualityVSAvoidstorage requirements
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The texture data is divided into 4x4 pixel blocks, with each block independently encoded using 2 base colors. This segmentation allows compression at the block level while maintaining local color accuracy, resolving the contradiction between storage efficiency and image quality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the representation of texture data from storing individual pixel colors to storing 2 base color values per block. This parameter change reduces storage requirements while maintaining image quality through color interpolation and selection algorithms.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If texture data is compressed using block truncation coding, then storage requirements are reduced, but image quality deteriorates

Engineering Contradiction:
Improvestorage requirementsVSAvoidimage quality
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent introduces dynamic selection of color representation modes for each block, allowing the system to adaptively choose between different encoding strategies (2-color mode, 4-color mode, or gradient mode) based on the local texture characteristics, thereby maintaining image quality while achieving compression.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies partial color information (2 base colors per block) and combines it with interpolation and selection algorithms to reconstruct full-color texture data. This partial action approach achieves compression while maintaining perceptual image quality.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If more color values are stored per block to improve image quality, then image quality is improved, but data processing requirements increase

Engineering Contradiction:
Improveimage qualityVSAvoiddata processing requirements
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent enables the texture data to serve itself by embedding generation algorithms directly in the compressed format. The base colors and mode indicators in each block automatically generate the full color set during decompression, eliminating the need for external processing and reducing device complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8102402B2Method of and apparatus for encoding data
Publication Date: 2012.01.24 ARM NORWAY
  • US8102402B2 patent drawing
  • US8102402B2 patent drawing
  • US8102402B2 patent drawing

AI summary

An array of texture data elements (texels) is subdivided into a plurality of 8×4 texture element blocks, each of which 8×4 texture element blocks encodes two 4×4 texture element sub-blocks 3, 4. Each encoded texture data block includes data indicating a method to be used to generate a set of color values to be used for the texture elements that the encoded data block represents, and data indicating a method to be used for generating the colors of the individual texture elements using that generated set of colors. As well as the individual texture data blocks, a header data block encoding a base set of colors is generated. This base color set defines a set of colors that is used to generate the colors to be used when reproducing each individual encoded texture data block.