Parallel Entropy Decoding with Payload Segmentation Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data compression techniques, such as H.264, face challenges in achieving efficient entropy coding due to their serial nature, which can be computationally demanding and inefficient, especially in high-speed video decoding applications with limited processing power.
Innovation Solution
The implementation of a parallel entropy coding and decoding architecture that uses context modeling to assign bits to multiple sources based on estimated probabilities, allowing for parallel entropy coding and decoding of subsequences, which are then interleaved to reconstruct the input sequence, along with load balancing to distribute computational burden across multiple decoders.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If serial entropy coding is used, then compression efficiency is maintained, but processing speed deteriorates and computational load increases
Solution Approach 1:
The patent divides the input data sequence into multiple subsequences that can be processed in parallel. Each subsequence is assigned to a separate entropy coder, allowing simultaneous encoding operations. This segmentation enables multiple processing units to work concurrently, significantly improving processing speed while distributing computational load across multiple devices or cores.
Solution Approach 2:
The patent transitions from single-threaded serial processing to multi-threaded parallel processing by introducing a new dimension of concurrency. Multiple entropy coders operate simultaneously on different subsequences, effectively moving from one-dimensional sequential execution to multi-dimensional parallel execution, thereby improving productivity without proportionally increasing device complexity.
2Speed
If parallel entropy coding is implemented, then processing speed improves, but synchronization complexity increases
Solution Approach 1:
The patent performs preliminary actions by pre-organizing the input data into distinct subsequences before parallel processing begins. Each subsequence is prepared and assigned to specific coders in advance, establishing clear boundaries and dependencies. This preliminary organization simplifies synchronization during decoding, as the parallel structures are already established and can be reconstructed systematically without complex runtime coordination.
3Loss of substance
If CABAC is used instead of CAVLC, then compression ratio improves, but computational complexity increases
Solution Approach 1:
The patent segments the computationally intensive CABAC encoding process into multiple parallel entropy coders, each handling a specific subsequence. This segmentation distributes the high computational complexity of CABAC across multiple processing units, making the enhanced compression algorithm practically implementable without overwhelming a single processor, thus achieving better compression ratios with manageable complexity through parallelization.
Data Source
AI summary
Devices and methods for entropy decoding a bitstream of encoded data by extracting a plurality of encoded subsequences from a payload field of the bitstream for parallel decoding on a set of parallel entropy decoders. The method includes dividing the payload of concatenated encoded subsequences into segments using a distribution function and distributing the segments amongst the set of parallel entropy decoders to balance the computational load among the parallel entropy decoders. The received bitstream includes auxiliary information inserted by the encoder to enable the decoder to entropy decode segments that begin with a portion of an encoded subsequence.


