Hybrid Fixed-Rate Codec Switching Under Tight Bit Budgets
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data compression technologies face challenges in achieving mathematically lossless performance while meeting bitrate constraints and minimizing memory usage, especially in applications like display panels where overdrive algorithms require efficient data handling.
Innovation Solution
A hybrid data compression codec system that switches between lossless and lossy codecs based on a bit budget, using differential pulse coded modulation (DPCM) codecs without quantization for lossless performance and with quantization for lossy compression, to encode data in a fixed-rate format without additional memory buffers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If a lossless codec is used to ensure mathematically lossless performance, then data accuracy is improved, but the bitrate increases beyond constraints
Solution Approach 1:
The system dynamically switches between lossless and lossy codecs based on real-time bit budget status. The rate controller monitors the bit budget and transitions from lossless DPCM to lossy DPCM with quantization when the bit budget is exhausted, enabling adaptive adjustment of compression aggressiveness to meet bitrate constraints while maximizing data accuracy when possible
Solution Approach 2:
The system changes the quantization parameter of the DPCM codec to transition between lossless and lossy modes. When operating in lossy mode, quantization is applied to reduce the bitrate while maintaining acceptable data accuracy. This parameter change allows the same codec framework to operate across different compression regimes
2Quantity of substance
If a hybrid codec switching mechanism is implemented, then bitrate control is improved, but device complexity increases
Solution Approach 1:
The encoding process is segmented into distinct phases: an initial lossless encoding phase followed by a lossy encoding phase if needed. This segmentation allows the system to guarantee lossless performance for representative data while providing a fallback mechanism for non-representative data that exceeds the bit budget, resolving the contradiction between bitrate control and complexity
Solution Approach 2:
A rate controller acts as an intermediary between the lossless and lossy codec paths. This mediator monitors the bit budget consumption and triggers the switch between encoding modes, simplifying the overall control logic compared to more complex adaptive systems while still achieving effective bitrate control
3Adaptability or versatility
If additional memory buffers are added to handle codec switching, then encoding flexibility is improved, but memory usage increases
Solution Approach 1:
The system processes data in a single pass through the encoding pipeline, with the rate controller making real-time decisions about codec selection based on bit budget status. This self-service approach eliminates the need for additional memory buffers to store intermediate results for later processing, maintaining encoding flexibility while minimizing memory usage
Data Source
Figure 1
Figure 2A~2B
Figure 3
AI summary
A method for encoding data includes: receiving a frame of data including subunits; initializing a remaining bit budget for the frame; setting a current codec to a lossless codec having a lossless codec bitrate; and sequentially encoding the subunits, including: encoding a first subunit using the lossless codec to compute a first encoded subunit; subtracting a length of the first encoded subunit from the remaining bit budget; determining whether the remaining bit budget exceeds a first lossy bits required to encode a plurality of remaining subunits using a first lossy codec having a first lossy codec bitrate lower than the lossless codec bitrate; in response to determining that the remaining bit budget is less than or equal to the first lossy bits required, setting the current codec to the first lossy codec; and encoding a second subunit using the first lossy codec to compute a second encoded subunit.