Adaptive Delta Encoding for Compression Without DPCM Drift
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data compression methods, such as Differential Pulse Code Modulation (DPCM), face inefficiencies in reducing the number of bits required for transmission and storage, particularly due to drift caused by errors in delta values and the inability to effectively encode values outside a default bit range.
Innovation Solution
The method involves encoding the magnitude of change between a reference value and subsequent data samples into a reduced number of bits, using an adaptive encoding scheme that includes an indicator to signal when the change exceeds the default bit range, allowing for encoding into non-default bit values such as 9, 10, or 11 bits, thereby reducing data volume and minimizing drift.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If DPCM compression is used to reduce bits for transmission and storage, then data volume is reduced, but drift caused by errors in delta values occurs and values outside default bit range cannot be effectively encoded
Solution Approach 1:
The patent implements dynamic bit allocation where the number of bits used to encode delta values is not fixed but adapts based on the magnitude of change detected. When the change magnitude exceeds a threshold, the system dynamically increases bit allocation to accommodate larger values, preventing overflow and reducing drift errors while maintaining compression efficiency for smaller changes.
Solution Approach 2:
The system changes the parameter of bit allocation dynamically based on the magnitude of change between consecutive data values. By monitoring the delta magnitude and adjusting the number of bits allocated accordingly, the system optimizes between compression ratio and accuracy, reducing drift errors without sacrificing data volume reduction benefits.
2Ease of manufacture
If a fixed number of bits is used to encode delta values, then encoding is simple, but values outside the default bit range cannot be effectively encoded
Solution Approach 1:
The encoding system transitions from static to dynamic bit allocation, where the number of bits used to represent delta values is adjusted in real-time based on the magnitude of change. This dynamic approach maintains encoding simplicity through standardized procedures while achieving adaptability to handle values across a wide range of magnitudes.
Solution Approach 2:
The patent segments the encoding process into multiple stages: first detecting the magnitude of change, then selecting an appropriate bit allocation level based on predetermined thresholds. This segmentation allows the system to maintain simple encoding routines for each segment while achieving overall versatility through conditional selection of encoding parameters.
3Adaptability or versatility
If adaptive bit allocation is implemented to handle values outside default range, then bit range flexibility is improved, but encoding complexity increases
Solution Approach 1:
The adaptive encoding system is segmented into modular components: a magnitude detection module, a threshold comparison module, and a conditional encoding module. Each segment performs a specific function with simple logic, reducing overall complexity despite the adaptive nature of the system. The segmentation allows independent optimization of each component.
Solution Approach 2:
The system implements partial adaptivity by using fixed bit allocation for the majority of cases where delta values fall within the default range, and only activates the more complex adaptive logic when threshold violations are detected. This approach minimizes the impact of increased complexity on overall system performance while maintaining the necessary flexibility.
Data Source
AI summary
A method of encoding data includes determining a magnitude of change between a first value associated with first data and a second value associated with second data based on a comparison of the first value and the second value. The first value is encoded into a first set of bits having a first number of bits. The method includes determining, based on the comparison of the first value and the second value, a second number of bits (that is less than the first number of bits) to be used to encode the magnitude of change. The method includes encoding the magnitude of change into a second set of bits having the second number of bits. The method further includes sending the second set of bits and a first indicator, with the first indicator indicating that the magnitude of change is encoded into the second number of bits.


