Arithmetic Decoding with Prefix-Suffix Parallelization
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Measurement precision
If sequential contextual arithmetic decoding method is used, then decoding accuracy is maintained, but decoding time and computational complexity increase
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
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
2Quantity of substance
If sequential decoding process is used, then memory requirements are reduced, but device complexity and processing overhead increase
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
3Productivity
If parallel decoding is implemented, then decoding speed increases, but computational complexity and resource requirements increase
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
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
Data Source
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.


