CABAC Tranche Coding for Low-Latency Parallel Video Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current parallel processing techniques for HEVC encoding and decoding, such as wavefront processing and tile-based approaches, face challenges in reducing coding delay while maintaining coding efficiency, especially in multi-threaded environments where data locality is compromised, leading to increased end-to-end delays in video transmission.
Innovation Solution
The implementation of tranches within WPP substreams or tiles, allowing for continued CABAC probability adaptation across tranche boundaries, enables efficient segmentation and transmission of video data, facilitating earlier decoding start times and reduced transmission delays without compromising entropy coding efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If video data is segmented into tranches within WPP substreams, then transmission speed and decoding start time are improved, but coding efficiency may be compromised due to interrupted CABAC probability adaptation
Solution Approach 1:
The video bitstream is divided into tranches that can be transmitted and decoded independently. Each tranche contains a subset of WPP substreams, allowing parallel transmission and decoding. This segmentation enables faster transmission start times and allows different tranches to be processed concurrently, directly improving transmission speed without requiring complete picture data.
Solution Approach 2:
The CABAC probability state is preserved and carried forward across tranche boundaries. By maintaining the probability adaptation state from previous tranches, the system enables earlier decoding start times for subsequent tranches without losing coding efficiency. This preliminary preservation of state information allows the decoder to continue probability adaptation seamlessly.
2Productivity
If parallel processing is implemented using multiple cores, then decoding speed is improved, but data locality is compromised leading to increased end-to-end delays
Solution Approach 1:
The picture is divided into multiple WPP substreams that can be processed in parallel by different decoder cores. Each substream is further divided into tranches that can be independently decoded. This hierarchical segmentation allows efficient utilization of multi-core architectures while maintaining data locality within each tranche, reducing cache miss penalties and improving overall decoding throughput.
Solution Approach 2:
The patent introduces a new dimension of parallelization by creating tranches across the temporal dimension rather than only spatial partitioning. Multiple tranches can be decoded in parallel across different cores, while within each tranche, the WPP substreams maintain spatial locality. This dimensional approach to parallelization improves decoding speed without sacrificing data locality.
3Productivity
If wavefront processing or tile-based parallelization is used, then encoding and decoding can be parallelized, but coding efficiency is reduced due to slice boundaries and entropy state initialization
Solution Approach 1:
The patent segments the bitstream into tranches at a finer granularity than traditional slices or tiles. Each tranche contains complete WPP substream data that can be independently decoded. This fine-grained segmentation enables more flexible parallel processing while minimizing the impact on coding efficiency by maintaining continuous CABAC probability adaptation within each tranche.
Solution Approach 2:
The CABAC probability adaptation is maintained continuously across tranche boundaries, unlike traditional slice-based approaches where probability states are reset at each slice boundary. This continuity preserves coding efficiency by avoiding repeated initialization of entropy coding states, while still enabling parallel processing of multiple tranches. The useful action of probability adaptation continues uninterrupted across the segmented structure.
Data Source
AI summary
A raw byte sequence payload describing a picture in slices, WPP substreams or tiles and coded using context-adaptive binary arithmetic coding is subdivided into tranches with continuing the context-adaptive binary arithmetic coding probability adaptation across tranche boundaries. Thereby, tranche boundaries additionally introduced within slices, WPP substreams or tiles do not lead to a reduction in the entropy coding efficiency of these entities. However, the tranches are smaller than the original slices, WPP substreams or tiles and accordingly they may be transmitted earlier, i.e. with lower delay, than the un-chopped original entities. According to another aspect combinable with the first aspect, substream marker NAL units are used within a sequence of NAL units of a video bitstream to enable a transport demultiplexer to assign data of slices within NAL units to the corresponding substreams or tiles so as to be able to, in parallel, serve a multi-threaded decoder with the corresponding substreams or tiles.


