CABAC Decoding with Parallel Syntax Parsing and Context Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

CABAC decoding is inefficient on general-purpose processors due to data dependencies and lack of parallelism, limiting its ability to utilize multiple processor cores and computational units, which results in poor performance for high-bitrate video streams.

Innovation Solution

The method involves separating the CABAC engine from the syntax parser, allowing for parallel processing by using a finite state machine to determine context probabilities independently, enabling CABAC decoding on multiple CPU cores or GPU units without relying on video standards' parallel decoding tools or constraints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If CABAC decoding is implemented as a tight loop with syntax parser dependency, then decoding accuracy is maintained, but parallelism is lost and processing speed deteriorates

Engineering Contradiction:
Improvedecoding accuracyVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the decoding process into independent parallel threads, each handling a specific bin range. The syntax parser and CABAC engine are separated into independent modules that can operate concurrently, eliminating the sequential dependency while maintaining decoding accuracy through synchronized context updates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from single-threaded sequential processing to multi-threaded parallel processing by adding the dimension of thread-level parallelism. Multiple computational units process different bin ranges simultaneously, achieving instruction-level parallelism while maintaining the contextual dependencies required for accurate decoding.

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

2Productivity

If multiple processor cores are used for CABAC decoding, then processing throughput is improved, but inter-thread communication delay increases due to data dependencies

Engineering Contradiction:
Improvedecoding throughputVSAvoidinter-thread communication delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the context management functionality from the sequential syntax parser and places it in a shared context update mechanism that multiple threads can access concurrently. This allows parallel threads to operate independently on their bin ranges while sharing context information without requiring frequent synchronization, reducing inter-thread communication delay.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent pre-allocates bin ranges to specific threads and pre-initializes context states before parallel decoding begins. This preliminary organization minimizes runtime synchronization requirements and reduces communication overhead during the actual decoding process, improving throughput while minimizing delay.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If CABAC decoding uses sequential processing to maintain context accuracy, then decoding precision is preserved, but utilization of multiple computational units is reduced

Engineering Contradiction:
Improvecontext accuracyVSAvoidparallelism capability
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent creates a universal context management structure that serves both sequential accuracy requirements and parallel processing needs. The shared context update mechanism and probability table can be accessed by multiple threads simultaneously, allowing the same data structure to support both precise context tracking and multi-unit parallel operation.

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

Data Source

PatentUS20240357146A1Multi-threaded cabac decoding
Publication Date: 2024.10.24 SONY INTERACTIVE ENTERTAINMENT LLC
  • US20240357146A1 patent drawing
  • US20240357146A1 patent drawing
  • US20240357146A1 patent drawing

AI summary

A method, system, and computer readable medium for improved decoding CABAC encoded media are described. A decoded binary string is output using two or more previously decoded elements at an end state for a decoding loop and on a first processing thread. A syntax of the decoded binary string is parsed on a second processing thread and a decoded symbol from the parsed syntax is generated on the second processing thread.