Block Image Compression Mode Selection for Low-Bandwidth Decoding
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Loss of information
If S3TC compression is used, then compression rate is improved (4 bpp), but memory bandwidth requirements increase
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
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
3Manufacturing precision
If S3TC interpolation is used, then color palette is generated, but computational complexity increases and hardware implementation becomes difficult
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
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
4Loss of information
If S3TC decoding is used, then compressed data is decompressed, but decoding time increases making it unsuitable for mobile devices
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
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
Data Source
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).


