Pipelined Entropy Decoder Using Parallel Tree Lookup Tables
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing entropy decoding processes are bottlenecked by their serial nature, particularly in real-time compression applications, due to the computational demands of entropy encoding/decoding components.
Innovation Solution
A hardware-based entropy decoding engine utilizing N search tree lookup tables processes code words and probability information in a pipelined architecture, where branch and leaf node blocks operate simultaneously across clock cycles to decode code words into phrase words, improving efficiency by parallel processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of substance
If CABAC (Context Adaptive Binary Arithmetic Coding) is used for entropy coding, then compression efficiency is improved, but computational complexity increases
Solution Approach 1:
The patent segments the entropy decoding process into multiple parallel decoding units, each handling a portion of the bitstream. This segmentation allows CABAC's high compression efficiency to be maintained while distributing the computational complexity across multiple simpler units that can operate simultaneously, reducing the burden on any single processing element.
Solution Approach 2:
The patent introduces a parallel processing dimension to the traditionally serial entropy decoding process. By organizing multiple decoding units to operate concurrently on different segments of the compressed data, the system achieves both high compression efficiency (through CABAC) and reduced computational complexity (through parallel distribution of work across multiple processing dimensions).
2Speed
If entropy decoding is performed in real-time applications, then processing speed is improved, but the serial nature of decoding creates a bottleneck
Solution Approach 1:
The patent divides the incoming bitstream into multiple segments that can be decoded in parallel by separate decoding units. This segmentation breaks the serial processing bottleneck while maintaining real-time processing capability, as multiple segments are processed simultaneously rather than sequentially.
Solution Approach 2:
The patent implements preliminary buffering and segmentation of the input bitstream before decoding begins. This preliminary action prepares the data in a format that enables parallel processing, allowing the decoding units to start working simultaneously on different segments without waiting for sequential processing to complete, thereby improving both speed and throughput in real-time applications.
Data Source
AI summary
An entropy decoder and method for decoding code words with an indication of associated probability for each code word. The decoder may include an input buffer in communication with a branch node block, the branch node block in communication with a leaf node block. The input buffer operable to receive code words and the indication of associated probability. The branch node block comprising one or more branch node lookup tables and branch node control logic. The branch node control logic operable to process a code word in the input buffer using a selected table from the one or more branch node lookup tables to obtain leaf node information and a bit count of a code word size, the branch control logic further operable to refresh the input buffer to replace the bit count of the code word size and to make the leaf node information and the table selection available to the leaf node block. The leaf node block may include one or more leaf node lookup tables and leaf node control logic. The leaf node control logic operable to process the leaf node information and the table selection made available by the branch node block to obtain leaf node contents.


