Entropy Slice Coding for Low-Delay Parallel Video Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The increased processing requirements of the HEVC standard and rising video resolution necessitate efficient methods for utilizing multi-core architectures in video coding, but existing parallelization techniques suffer from coding efficiency losses and high delay penalties.
Innovation Solution
A decoder is configured to entropy decode entropy slices in a specific order, adapting probability estimations using previously decoded parts and neighboring slices to minimize coding efficiency losses and enable low-delay processing, while maintaining parallelization capabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If parallelization techniques (wavefront processing) are used to enable multi-core architectures, then processing speed and productivity are improved, but coding efficiency losses increase and delay penalties worsen
Solution Approach 1:
The picture is divided into multiple entropy slices that can be processed in parallel. Each slice is further subdivided into chunks that can be decoded independently by different processing cores, enabling efficient parallelization while maintaining manageable data dependencies
Solution Approach 2:
Probability estimations are initialized using data from spatially neighboring slices before parallel processing begins. This preliminary action allows each processing core to start with optimized probability values without waiting for sequential processing of all neighboring data
Solution Approach 3:
Probability estimations are adapted using feedback from previously decoded parts and spatially neighboring slices. The decoder continuously updates probability models based on decoded data, improving coding efficiency while enabling parallel processing of subsequent chunks
2Productivity
If parallelization techniques are used to utilize multi-core architectures, then processing capacity is improved, but delay increases
Solution Approach 1:
By dividing the entropy data into multiple slices and chunks, the decoder can process different segments simultaneously on multiple cores without waiting for sequential completion, reducing overall processing delay while maintaining parallelization benefits
Solution Approach 2:
Probability estimations are prepared in advance using neighboring slice data before parallel decoding begins. This eliminates the need for cores to wait for probability initialization during processing, reducing idle time and overall delay
Solution Approach 3:
The parallel processing architecture maintains continuous decoding operations across multiple cores without idle waiting periods. Each core continuously processes assigned chunks while probability estimations are continuously updated, maximizing utilization of processing resources and minimizing delay
3Loss of energy
If probability estimations are adapted using previously decoded parts, then coding efficiency is improved, but processing complexity increases
Solution Approach 1:
The probability adaptation process is segmented to operate independently on different slices and chunks. Each processing core maintains its own probability state and adapts it locally using feedback from its assigned data, avoiding the need for complex global coordination while improving coding efficiency
Solution Approach 2:
Each processing core independently adapts its own probability estimations using feedback from the data it processes. This self-service approach eliminates the need for complex inter-core communication and coordination, reducing processing complexity while maintaining adaptive probability modeling
Data Source
Figure 1
Figure 2~3
Figure 4
AI summary
The entropy coding of a current part of a predetermined entropy slice is based on, not only, the respective probability estimations of the predetermined entropy slice as adapted using the previously coded part of the predetermined entropy slice, but also probability estimations as used in the entropy coding of a spatially neighboring, in entropy slice order preceding entropy slice at a neighboring part thereof. Thereby, the probability estimations used in entropy coding are adapted to the actual symbol statistics more closely, thereby lowering the coding efficiency decrease normally caused by lower-delay concepts. Temporal interrelationships are exploited additionally or alternatively.