Arithmetic Decoding with Prefix-Suffix Parallelization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The sequential nature of contextual arithmetic decoding methods, such as CABAC in the H.264 video coding standard, hinders efficient decoding of syntax elements like motion vectors, requiring complex processes that can be improved by parallelization to reduce decoding time and memory usage.

Innovation Solution

A method and device for parallel decoding of binary streams using predefined decoding parameters to separate the stream into a prefix and suffix, with the pivot element, allowing for efficient determination of the prefix and suffix values based on consecutive bits, utilizing on-silicon dividers for calculation and shifting the stream to reconstruct syntax elements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If sequential contextual arithmetic decoding method is used, then decoding accuracy is maintained, but decoding time and computational complexity increase

Engineering Contradiction:
Improvedecoding accuracyVSAvoiddecoding time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The binary stream is segmented into a prefix portion and a suffix portion, allowing parallel processing of different parts of the decoding task while maintaining the sequential dependencies required for accurate arithmetic decoding

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The prefix of the binary stream is decoded in advance using parallel computations to determine decoding parameters (CodIOffset0 and CodIRange) before processing the suffix, enabling optimized parallel decoding of the remaining elements

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If sequential decoding process is used, then memory requirements are reduced, but device complexity and processing overhead increase

Engineering Contradiction:
Improvememory sizeVSAvoiddecoding process complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The decoding process transitions from a single-threaded sequential approach to a multi-threaded parallel approach, utilizing additional computational dimensions (multiple processing units operating simultaneously) to reduce overall processing complexity and time

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

3Productivity

If parallel decoding is implemented, then decoding speed increases, but computational complexity and resource requirements increase

Engineering Contradiction:
Improvedecoding speedVSAvoidcomputational complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The binary stream is divided into prefix and suffix portions that can be processed in parallel, with the prefix decoded first to establish parameters for suffix decoding, enabling speedup while managing computational complexity through structured division of work

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Decoding parameters (CodIOffset0 and CodIRange) are dynamically determined from the prefix portion and used to guide the parallel decoding of the suffix, allowing the system to adapt computational resources based on the actual data characteristics

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7876240B2Arithmetic decoding method and device
Publication Date: 2011.01.25 INTERDIGITAL MADISON PATENT HLDG
  • US7876240B2 patent drawing
  • US7876240B2 patent drawing
  • US7876240B2 patent drawing

AI summary

A method for decoding elements is disclosed. The method decodes at least a part of the binary stream into a set of elements on the basis of first and second decoding parameters CodlOffset0 and CodIRange, the set of elements comprising a prefix composed of n first elements and a suffix comprising m second elements, the prefix and the suffix being separated by an element called a pivot. The method comprises:determining the value of n on the basis of the first and second decoding parameters and of the values of k consecutive bits of the binary stream, termed k first bits, so as to deduce therefrom the prefix and the value of m; anddetermining the suffix on the basis of the first and second decoding parameters and of the values of m consecutive bits which follow the n first bits of the k first bits.