Entropy Decoder Lookup Pipeline for Faster CABAC Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Productivity

If CABAC is used for entropy coding, then compression efficiency is improved, but computational complexity increases

Engineering Contradiction:
Improvecompression efficiencyVSAvoidcomputational complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the entropy decoding process into multiple parallel decoding engines, each handling a portion of the code stream. This segmentation allows CABAC's complex arithmetic operations to be distributed across multiple units, maintaining high compression efficiency while reducing the computational burden on any single processing unit.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from sequential processing to parallel processing by introducing multiple decoding engines operating simultaneously. This dimensional change from time-sequential to space-parallel architecture enables the system to maintain CABAC's computational intensity while achieving real-time performance through concurrent operations.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Device complexity

If serial processing is used for entropy decoding, then implementation simplicity is maintained, but processing speed deteriorates

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprocessing speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent divides the code stream into multiple segments that can be processed in parallel by separate decoding engines. Each engine maintains a simplified serial processing architecture, but the overall system achieves high processing speed through the concurrent processing of multiple segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-organizing the code stream into parallelizable segments and pre-configuring multiple decoding engines. This preparation enables the system to transition from simple serial processing to accelerated parallel processing without increasing the complexity of individual processing units.

Inventive Principle:
Principle #10Preliminary action

3Speed

If parallel processing is implemented for entropy decoding, then processing speed is improved, but implementation complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidimplementation complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments both the code stream and the processing architecture into identical, reusable units. This uniform segmentation allows parallel processing to be implemented by simply replicating the same decoding engine multiple times, reducing implementation complexity compared to designing complex inter-connected processing units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal decoding engine that can process any segment of the code stream. This multi-functional unit can be replicated and configured in parallel, achieving high processing speed while keeping individual unit complexity low. The same engine design serves multiple purposes across different parallel channels.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP2381687B1Method and apparatus for entropy decoding
Publication Date: 2016.12.14 CERTICOM CORP
  • EP2381687B1 patent drawingFigure 1
  • EP2381687B1 patent drawingFigure 2a
  • EP2381687B1 patent drawingFigure 2b

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.