Parallel CABAC Decoding with FIFO Re-Encoding for Stable Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The H264 video compression standard's context-based adaptive binary arithmetic coding (CABAC) scheme poses challenges in decoding efficiency, particularly in achieving one bit per clock rate due to its complexity and variable processing rates, leading to pipeline stalls and increased hardware costs.

Innovation Solution

A method and apparatus for decoding context-based adaptive arithmetic entropy coded data using parallel encoding schemes, where N-bit symbols are divided into multiple streams and encoded in parallel using arithmetic encoding units, allowing for efficient storage in a FIFO and subsequent decoding, thereby achieving a higher compression ratio and consistent decode/encode rate.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If context-based adaptive binary arithmetic coding (CABAC) is used to achieve high compression ratio, then compression efficiency is improved, but decoding complexity and hardware cost increase significantly

Engineering Contradiction:
Improvecompression ratioVSAvoiddecoding complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The patent divides the decoding process into two separate stages: a first decoder that performs CABAC decoding to produce intermediate decoded data, and a second decoder that performs VLC decoding to produce final decoded data. This segmentation allows each decoder to be optimized for its specific task, reducing the complexity of individual decoding units while maintaining the high compression benefits of CABAC.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary component (FIFO buffer and re-encoder) between the first decoder and the second decoder. The first decoder outputs intermediate decoded data that is re-encoded using a simpler scheme before being decoded by the second decoder. This intermediary step transforms the complex CABAC output into a form that can be efficiently processed by simpler decoding hardware.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If CABAC decoding is performed at one bit per clock rate, then processing speed is improved, but variable processing rates cause pipeline stalls

Engineering Contradiction:
Improveprocessing speedVSAvoidprocessing rate consistency
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent segments the decoding process into two independent decoding stages, each operating at consistent rates. The first decoder processes CABAC-encoded bits at a steady pace, and the second decoder processes the re-encoded VLC data at another steady pace, eliminating the variable rate problem that causes pipeline stalls in single-stage CABAC decoding.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system uses the output of the first decoder to feed into a re-encoder that automatically transforms the data into a format suitable for the second decoder. This self-service mechanism ensures that the intermediate data is always in the correct format for the next stage, maintaining stable processing rates without requiring complex rate control logic.

Inventive Principle:
Principle #25Self-service

3Productivity

If parallel encoding schemes are used to achieve one symbol per clock rate, then decode/encode rate is improved, but hardware cost increases

Engineering Contradiction:
Improvedecode/encode rateVSAvoidhardware cost
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the encoding/decoding workload into two separate parallel streams: one stream handles CABAC encoding/decoding and the other handles VLC encoding/decoding. Each stream can operate independently at optimized speeds, achieving high overall throughput without requiring a single complex parallel processing unit that would be prohibitively expensive.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7796065B2Method of decoding data and apparatus therefor
Publication Date: 2010.09.14 IMAGINATION TECH LTD
  • US7796065B2 patent drawing
  • US7796065B2 patent drawing
  • US7796065B2 patent drawing

AI summary

Incoming decoded data (1), for example from an H264 decoder, is fed to an encoder unit (2) that entropy encodes the decoded data using a parallel encoding scheme that includes context-based arithmetic encoding. The syntax is chosen so that the context does not depend on the immediately previously encoded symbol. The output of the encoder (2) is fed to a FIFO memory whose output is fed to a complimentary decoder (4) whose output produces a delayed copy of the incoming decoded data (1).