Block Image Compression Mode Selection for Low-Bandwidth Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing image compression techniques, such as S3TC, are not well-suited for mobile devices with limited memory bandwidth and processing power, requiring multiple memory accesses and being computationally expensive due to interpolation operations and fixed encoding modes.

Innovation Solution

A multi-mode image processing method that decomposes images into blocks, determines two codewords and an index sequence based on block properties, and selects the best compression mode to achieve efficient encoding and decoding, suitable for devices with limited resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If S3TC compression is used, then compression rate is improved (4 bpp), but memory bandwidth requirements increase and processing power consumption increases

Engineering Contradiction:
Improvecompression rateVSAvoidprocessing power consumption
Core Design Contradiction:
Loss of informationVSPower

Solution Approach 1:

The patent changes the compression parameters by using 256-color palettes instead of the standard 4-color palettes in S3TC, achieving 16 bpp compression ratio. This parameter change reduces the number of memory accesses and processing operations required, directly addressing the power consumption issue while maintaining high compression efficiency

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent segments the image into 4x4 pixel blocks and processes each block independently with custom color palettes, allowing optimized compression for different image regions. This segmentation enables adaptive compression that reduces overall processing power requirements compared to applying a fixed high-compression algorithm to the entire image

Inventive Principle:
Principle #1Segmentation

2Loss of information

If S3TC compression is used, then compression rate is improved (4 bpp), but memory bandwidth requirements increase

Engineering Contradiction:
Improvecompression rateVSAvoidmemory bandwidth
Core Design Contradiction:
Loss of informationVSPower

Solution Approach 1:

By changing from 4-color to 256-color palettes, the patent achieves 16 bpp compression which reduces memory bandwidth requirements. The larger palette size allows for more efficient color representation that reduces the number of memory accesses needed during rendering

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent divides the image into 4x4 blocks and applies custom palettes to each block, creating a segmented compression approach that optimizes memory access patterns. This segmentation allows the system to use smaller, more efficient memory structures for each block while maintaining overall image quality

Inventive Principle:
Principle #1Segmentation

3Manufacturing precision

If S3TC interpolation is used, then color palette is generated, but computational complexity increases and hardware implementation becomes difficult

Engineering Contradiction:
Improvecolor palette generationVSAvoidhardware implementation complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent uses simple, pre-defined 256-color palettes that can be efficiently stored and applied in hardware, replacing the complex real-time interpolation required by S3TC. These disposable palette structures are easy to implement in hardware and provide sufficient color accuracy without requiring complex computational operations

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent replaces the mechanical multiplication and interpolation operations required by S3TC with simpler color lookup operations using pre-computed palettes. This substitution of complex computational mechanics with simpler data lookup mechanisms enables practical hardware implementation

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Loss of information

If S3TC decoding is used, then compressed data is decompressed, but decoding time increases making it unsuitable for mobile devices

Engineering Contradiction:
Improvedecompression qualityVSAvoiddecoding time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent uses simplified decoding that relies on copying pre-computed palette information rather than performing complex interpolation calculations. This copying approach maintains decoding quality while significantly reducing decoding time, making it suitable for mobile devices with limited processing power

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs color palette computation during the encoding stage rather than during decoding, so that the decoding process only needs to apply pre-computed palettes. This preliminary action eliminates the need for time-consuming interpolation operations during decoding, dramatically reducing decoding time

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7734105B2Multi-mode image processing
Publication Date: 2010.06.08 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US7734105B2 patent drawing
  • US7734105B2 patent drawing
  • US7734105B2 patent drawing

AI summary

An image encoding and decoding scheme operable according two different modes depending on properties of the processed image is disclosed. In the encoding, an image is decomposed into image blocks (600) comprising image elements (610). The blocks (600) are compressed into block representations (700A, 700B) according to one of two compression modes. A block representation (700A; 700B) comprises two codewords (720A, 730A; 720B, 730B) representing properties of the image elements (610) in the block (600) and a sequence (740A; 740B) of image element associated indices indicative of one of the codewords (720B, 730B) or a property representation generated based on a codeword (730A). The block representation (700A; 700B) also includes a mode index representing the mode, according to which the block representation (700A; 700B) was compressed. This mode index can be provided before, during or after generation of the codewords (720A, 730A; 720B, 730B) and index sequence (740A; 740B). In the decoding, the codewords (720A, 730A; 720B, 730B) and index sequence (740A; 740B) are used to decompress the block representation (700A; 700B) according a decompression mode determined by the mode index (710A; 710B).