Image Decompression with Difference-Value Encoding for Low-Power GPUs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data compression techniques for image data in graphics processing units (GPUs) struggle to guarantee a specific compression ratio without significant data loss, especially in low-power mobile devices, where high-end lossy algorithms are unsuitable due to complexity and resource constraints.
Innovation Solution
A method and unit for decompressing image data using difference values and origin values, ensuring a target compression ratio is achieved through lossless or lossy compression based on integer operations, reducing hardware size and power consumption by using a single compression/decompression unit.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If high-end lossy compression algorithms are used, then compression ratio is improved, but device complexity and power consumption increase making them unsuitable for mobile devices
Solution Approach 1:
The patent changes the parameter of compression approach by using difference value encoding where each pixel is represented as an offset from a reference pixel value. This transforms the compression problem from complex lossy algorithms to simple arithmetic operations on differences, achieving compression ratio improvement without increasing device complexity
Solution Approach 2:
The patent replaces complex mechanical/computational compression algorithms with simpler arithmetic operations. Instead of using sophisticated lossy compression mechanics, the system uses basic subtraction to compute difference values and simple addition during decompression, significantly reducing computational complexity while maintaining compression effectiveness
2Adaptability or versatility
If separate compression and decompression units are implemented, then functionality is improved, but hardware size and power consumption increase
Solution Approach 1:
The patent implements a single compression/decompression unit that can perform both compression and decompression operations. The same hardware circuitry is used bidirectionally: during compression it calculates difference values, during decompression it adds reference values to difference values. This multi-functional approach reduces hardware size and power consumption while maintaining full compression and decompression functionality
Solution Approach 2:
The patent merges the separate compression unit and decompression unit into a single integrated hardware component. By combining these two previously separate functions into one physical unit, the patent reduces the overall silicon area and power consumption while maintaining the ability to perform both compression and decompression operations
3Measurement precision
If more bits are used to represent difference values, then data accuracy is improved, but compression ratio decreases
Solution Approach 1:
The patent implements dynamic bit allocation for difference values based on the actual range of differences encountered in the image data. Rather than using a fixed bit width for all difference values, the system determines the maximum difference value and allocates the minimum necessary bits to represent it, achieving optimal balance between data accuracy and compression ratio by adapting to the specific characteristics of each image block
Data Source
AI summary
A method of decompression to determine data values from compressed data comprising representations of one or more difference values for the data values being decompressed, each difference value representing a difference between the respective data value and an origin value, wherein the representations of the one or more difference values are included in the compressed data using a second number of bits. Based on the representations of the one or more difference values in the compressed data and a first number of bits for representing the one or more difference values for the one or more data values, for each of the one or more data values being decompressed, a difference value is determined in accordance with the first number of bits. Each of the one or more data values being decompressed is determined using: (i) the origin value, and (ii) the determined difference value for the data value.


