Video Bitstream Tranches for Parallel CABAC Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current parallel processing techniques for HEVC encoding and decoding, such as wavefront processing and tile processing, 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 approach involves segmenting data into smaller tranches within WPP substreams or tiles, allowing for continued context-adaptive binary arithmetic coding (CABAC) probability adaptation across tranche boundaries, enabling earlier transmission and decoding of these tranches, which are interleaved and packetized to match maximum transfer unit sizes, thereby reducing delay without compromising entropy coding efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is segmented into smaller tranches within WPP substreams or tiles for parallel processing, then transmission speed and decoding start time are improved, but coding efficiency is worsened due to interrupted CABAC probability adaptation
Solution Approach 1:
The patent divides the video data into smaller segments called tranches within WPP substreams or tiles. Each tranche can be transmitted and decoded independently, enabling parallel processing and reducing transmission delay. The segmentation is performed at the byte level within the entropy-coded bitstream, allowing fine-grained control over data division without compromising the overall coding structure.
Solution Approach 2:
The patent maintains continuous CABAC probability adaptation across tranche boundaries by preserving the context state. Instead of resetting or interrupting the probability adaptation process at tranche boundaries, the decoder continues the adaptation using the same context from the previous tranche, ensuring that the coding efficiency is maintained despite the segmentation for parallel processing.
2Productivity
If parallel processing is implemented using wavefront processing or tile processing, then decoding speed is improved, but end-to-end delay is worsened due to data locality compromise
Solution Approach 1:
The patent prepares the data structure in advance by organizing the entropy-coded bitstream into tranches that are ready for immediate parallel processing. Each tranche is self-contained with necessary information for independent decoding, allowing multiple decoder threads to start processing simultaneously without waiting for data reorganization, thus reducing end-to-end delay while maintaining decoding speed.
3Adaptability or versatility
If CABAC probability adaptation is interrupted at slice or tile boundaries for parallel decoding, then parallel processing capability is improved, but coding efficiency is worsened
Solution Approach 1:
The patent segments the video data into tranches that can be processed in parallel while maintaining the continuity of CABAC probability adaptation. The segmentation is performed at a granularity that allows independent processing of each tranche while preserving the statistical context across boundaries, thus enabling parallel processing without sacrificing coding efficiency.
Solution Approach 2:
The patent uses the context state as an intermediary that carries the CABAC probability information across tranche boundaries. By preserving and transmitting the context state between tranches, the system enables parallel processing of multiple tranches while maintaining the continuity of probability adaptation, effectively mediating between the needs for parallelism and coding efficiency.
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.


