CABAC Entropy Decoding With SIMD Data Packing for Real-Time Video

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The process of CABAC decoding in AVC(H.264) video streams presents a computational bottleneck due to its sequential nature, which hinders real-time decoding on devices like the Cell processor, even with its high computing power, as it does not fully utilize the SIMD structure for parallel processing.

Innovation Solution

The implementation of a vector-type data packing scheme for entropy decoding, which packs data into registers to facilitate SIMD processing, avoids branch instructions and renormalization loops, allowing for independent processing of most probable and least probable signal cases, thereby enhancing decoding efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional sequential CABAC decoding is used, then decoding accuracy is maintained, but processing speed is insufficient for real-time high definition video decoding

Engineering Contradiction:
Improvedecoding speedVSAvoidreal-time processing capability
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent segments the sequential CABAC decoding process into independent parallel processing paths by organizing context models and probability states into vectors that can be processed simultaneously using SIMD instructions, thereby increasing decoding speed while maintaining accuracy

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the traditional scalar sequential decoding approach into a vectorized parallel processing model, adding a dimensional transformation that enables simultaneous processing of multiple probability states and context models through SIMD architecture

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

2Productivity

If special hardware is designed for CABAC decoding, then real-time decoding performance is achieved, but device cost increases

Engineering Contradiction:
Improvereal-time decoding performanceVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces specialized hardware circuits with software-based vectorized algorithms that can execute on general-purpose processors with SIMD capabilities, eliminating the need for dedicated CABAC decoding hardware while achieving comparable real-time performance

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent creates a universal decoding framework that can process multiple context models and probability states using the same vectorized instruction set, allowing a single processor to handle various video coding scenarios without requiring specialized hardware for each case

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

3Productivity

If vector-type data packing scheme is implemented, then SIMD processing efficiency is improved, but memory access patterns become more complex

Engineering Contradiction:
ImproveSIMD processing efficiencyVSAvoiddata packing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary data packing and organization into vector formats before the main decoding operation, preparing context models and probability states in SIMD-compatible structures in advance, which simplifies the actual decoding process and maximizes processor efficiency

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUSRE44923E1Entropy decoding methods and apparatus using most probable and least probable signal cases
Publication Date: 2014.06.03 SONY INTERACTIVE ENTERTAINMENT LLC
  • USRE44923E1 patent drawing
  • USRE44923E1 patent drawing
  • USRE44923E1 patent drawing

AI summary

Methods and apparatus for entropy decoding are disclosed. Compressed input data representing one or more signals is loaded into one or more registers. A first candidate value for a most probable signal case is prepared from the input data. A second candidate value for a least probable signal case is prepared from the input data. A final signal value for the one or more signals is selected from the first and second candidate values and an output bin value is generated based on the final signal value. A processor readable medium having embodied therein processor readable instructions for implementing the method for entropy decoding is also disclosed. In addition, a method of avoiding a branch instruction in an electronic processing algorithm is disclosed.