Data Array Encoding With Adaptive Rounding Mode Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data compression schemes for graphics processing systems, particularly in portable devices, face challenges in efficiently storing and accessing image and texture data, leading to high demands on storage and bandwidth resources, and result in coarse steps or artefacts in decoded data due to aggressive truncation of bit sequences.
Innovation Solution
A method that selects a rounding mode from available options to add rounding bit sequences to truncated data values during decoding, improving data fidelity and granularity by determining a representative value for each block and comparing it across different rounding modes to choose the best reconstruction approach.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is compressed using aggressive truncation of bit sequences, then storage and bandwidth requirements are reduced, but coarse steps and artefacts appear in decoded data
Solution Approach 1:
The patent applies preliminary action by calculating a rounding mode indicator during encoding before the actual compression. This indicator is stored alongside the truncated data and used during decoding to guide the rounding process, thereby preventing quality loss before it occurs rather than attempting to fix it afterward.
Solution Approach 2:
The patent changes the parameter of rounding behavior by introducing multiple rounding modes (e.g., round toward zero, round away from zero, round to nearest even, round to nearest odd). The encoder selects the most appropriate rounding mode for each data element and encodes this selection as a compact indicator, allowing the decoder to reconstruct values with minimal error despite aggressive truncation.
2Productivity
If fixed-size data packets are used for compression, then bandwidth is guaranteed, but information is lost when packets are full
Solution Approach 1:
The patent applies partial action by selectively applying different rounding modes to different data elements based on their individual characteristics. Rather than uniformly truncating all data to fit fixed-size packets, the system uses compact rounding mode indicators to preserve essential precision information for elements that need it, while accepting coarser approximation for others, thereby maximizing information retention within bandwidth constraints.
3Quantity of substance
If lossy compression is applied to reduce data size, then storage requirements are reduced, but reconstruction accuracy deteriorates
Solution Approach 1:
The patent fundamentally changes the parameter of rounding behavior by introducing multiple rounding modes and selecting the most appropriate one for each data element. This allows the system to maintain high reconstruction accuracy for critical data elements while still achieving significant compression, thereby breaking the traditional trade-off between compression ratio and reconstruction accuracy.
Solution Approach 2:
The system performs preliminary analysis during encoding to determine the optimal rounding mode for each data element before compression. This advance preparation allows the decoder to reconstruct values with minimal error, effectively preventing quality loss before reconstruction occurs rather than attempting to fix it afterward.
Data Source
AI summary
When encoding a block of data elements in an array of data elements, the data values for data elements in the block are represented and stored in a data packet as truncated data values using a subset of one or more most significant bits of the respective bit sequences for the data values of the data elements. A rounding mode is selected from a plurality of available rounding modes that can be applied when decoding the block of data elements and an indication of the selected rounding mode is provided along with the encoded data packet. The rounding mode is associated with one or more rounding bit sequence(s) that can then be applied to the truncated data values when decoding the data packet to obtain decoded data values for the data elements in the block.


