CABAC Context Memory Layout for Parallel H.264 Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video decoding technologies using Context Adaptive Binary Arithmetic Coding (CABAC) face limitations in throughput due to computational intensity and limited utility of parallel hardware architectures, primarily because of sequential processing and inefficient memory access.

Innovation Solution

The Rearranged Uniform Context Memory (RUCM) approach restructures the decoder's context memory into a uniform format, enabling pipelining and parallel processing, with a 512×64 bit ROM and replicated arithmetic logic to facilitate concurrent initialization of context models, reducing overhead and increasing throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sequential multi-step processing is used for CABAC decoding, then computational accuracy is maintained, but throughput is limited and processing speed is slow

Engineering Contradiction:
ImprovethroughputVSAvoidcomputational intensity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The context memory is segmented into multiple banks (first context memory bank, second context memory bank, etc.) that can operate in parallel. Each bank handles specific context models, allowing simultaneous processing of multiple syntax elements without computational conflicts, thereby increasing throughput while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension to the processing architecture by implementing pipelined stages (initialization stage, decoding stage, updating stage) that operate simultaneously at different clock cycles. This allows multiple decoding operations to be in progress at once, transforming sequential processing into parallel execution across time dimensions.

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

2Productivity

If context memory is initialized sequentially for each slice, then memory access logic is simple, but initialization overhead increases decoding time

Engineering Contradiction:
Improveinitialization speedVSAvoidmemory access logic
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The context memory initialization is segmented across multiple banks that can be initialized concurrently. Each memory bank receives initialization data independently through dedicated access paths, allowing parallel initialization operations that reduce overall initialization time while keeping individual bank access logic relatively simple.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Context memory banks are pre-loaded with initial context values before actual decoding begins. This preliminary initialization action prepares the memory banks in advance, so when decoding starts, the context models are already ready, eliminating initialization delays during the critical decoding path.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If parallel hardware architectures are implemented for CABAC decoding, then throughput should improve, but the sequential nature of CABAC limits parallel processing utility

Engineering Contradiction:
ImprovethroughputVSAvoidparallel processing capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the context modeling functionality into independent, parallelizable units organized in multiple memory banks. Each bank can be accessed and updated independently, creating parallel processing pathways that work around the sequential dependencies inherent in CABAC algorithms. This segmentation enables hardware parallelism without violating the algorithmic sequence requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The context memory banks are designed with universal functionality to handle different types of context models (bypass mode, non-bypass mode, various syntax elements) through the same hardware structure. This multi-functionality allows a single parallel hardware architecture to adapt to various CABAC decoding scenarios, maximizing parallel processing utility across different video data types.

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

Data Source

PatentUS7443318B2High speed context memory implementation for H.264
Publication Date: 2008.10.28 HONG KONG APPLIED SCI & TECH RES INST
  • US7443318B2 patent drawing
  • US7443318B2 patent drawing
  • US7443318B2 patent drawing

AI summary

Disclosed is a context modeller (103) used in decoding data (202) encoded using Context Adaptive Binary Arithmetic Coding, said context modeler (103) comprising a Read Only Memory (1001) for storing uninitialized context model values, said uninitialized context model values being stored in the Read Only Memory (1001) in a manner that enables a plurality of uninitialized context model values to be read from the Read Only Memory (1001) in a single clock cycle, an Arithmetic Logic Module (1003) comprising a plurality of parallel processing paths (2202-2207), each said processing path comprising a plurality of pipeline stages, a Random Access Memory (1005) and a memory controller (1008) for determining, using the Arithmetic Logic Module (1005) operating on said plurality of uninitialized context model values read from the Read Only Memory (1001) in each clock cycle, initialized context model values for storage in the Random Access Memory (1001) based upon header information in said incoming encoded data (202).