Residual Bit Partitioning for Memory-Efficient Lossless Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing lossless compression systems using majority logic for determining partition sizes in memory allocation inefficiently utilize memory space and decrease overall compression efficiency.
Innovation Solution
Implementing a method where residual values are grouped into size partitions based on magnitude ranges, with a lower partition for common sizes and an upper partition for maximum sizes, and storing a mask indicating the partition size for accurate data decompression.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If majority logic is used to determine partition sizes, then data can be divided into upper and lower partitions for storage, but more residual storage is used than needed and compression efficiency decreases
Solution Approach 1:
The patent applies dynamics by making the partition size determination adaptive rather than static. Instead of using fixed majority logic thresholds, the system dynamically adjusts partition sizes based on the actual distribution characteristics of residual values in the current data block. This allows the compression system to adapt to varying data patterns, optimizing both memory usage and compression efficiency for different types of input data.
Solution Approach 2:
The patent changes the parameter of partition size determination from a fixed algorithmic approach to a distribution-based approach. By analyzing the magnitude range and statistical distribution of residual values, the system adjusts partition boundaries to match the actual data characteristics. This parameter change enables more efficient packing of residual values into partitions, reducing wasted storage space while maintaining decompression accuracy.
2Ease of operation
If fixed partition sizes are allocated for residual storage, then memory allocation is simplified, but compression efficiency is reduced due to unnecessary storage allocation
Solution Approach 1:
The patent applies preliminary action by performing a distribution analysis of residual values before allocating storage partitions. The system first examines the magnitude ranges and statistical properties of the residuals, then uses this information to pre-determine optimal partition sizes and boundaries. This preliminary characterization enables the system to allocate memory efficiently without requiring complex dynamic adjustment mechanisms during compression, thus maintaining ease of operation while improving compression efficiency.
3Device complexity
If uniform storage allocation is used for all residual values, then memory management is straightforward, but storage space is wasted on values that could be compressed more efficiently
Solution Approach 1:
The patent applies local quality by treating different ranges of residual values differently based on their magnitude and frequency characteristics. Instead of applying a uniform storage allocation strategy, the system divides the residual value space into multiple partitions with different size allocations optimized for local characteristics. Low-magnitude residuals that occur frequently are allocated smaller partitions, while high-magnitude residuals are allocated larger partitions, optimizing overall storage efficiency while keeping management complexity moderate.
Data Source
AI summary
Examples described herein relate to a manner of determining a number of bits to encode compression data. Some examples include: compressing pixel data of a region of pixels in a frame; determining a number of bits associated with at least two partitions; utilizing the determined number of bits to encode residual values generated from the compressing the pixel data; and storing the encoded residual values. In some examples, the at least two partitions comprise a first partition and a second partition. Some examples include: encoding residuals in the first partition using a number of bits associated with the first partition and encoding residuals in the second partition using a number of bits associated with the second partition. Some examples include: determining a distribution of bins of residuals, wherein each different bin represents a number of bits used to encode a residual value and determining a midpoint of a total number of residuals as a bin that stores a residual that is approximately 50 percentile of the total number of residuals of the distribution.


