Video Bitstream Tranche Coding for Low-Delay Parallel Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current parallel processing techniques for HEVC video coding, such as wavefront processing and tile-based approaches, face challenges in reducing coding delay while maintaining coding efficiency, especially in multi-threaded decoding environments where data locality is compromised, leading to increased end-to-end delays in video transmission.
Innovation Solution
The implementation of segmenting video data into smaller tranches within WPP substreams or tiles, allowing for continued context-adaptive binary arithmetic coding (CABAC) probability adaptation across tranche boundaries, enables earlier transmission and decoding of smaller, independent data packets, reducing overall delay without compromising entropy coding efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If video data is segmented into smaller tranches within WPP substreams or tiles, then transmission speed and decoding start time are improved, but coding efficiency deteriorates due to interrupted CABAC probability adaptation
Solution Approach 1:
The video data is divided into smaller tranches within WPP substreams or tiles, allowing independent transmission and decoding of each tranche. This segmentation enables parallel processing and reduces transmission delay, as each tranche can be transmitted and decoded separately without waiting for the entire picture data.
Solution Approach 2:
CABAC probability adaptation is continued across tranche boundaries by adopting probabilities from previous tranches. This preliminary action of maintaining probability state allows the decoder to resume coding efficiently after receiving each tranche, minimizing the impact of segmentation on overall coding efficiency.
2Productivity
If parallel processing is implemented using multi-core architectures, then processing capacity 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 or tiles that can be processed in parallel by different cores. Each substream or tile is further divided into tranches that can be independently decoded, enabling effective utilization of multi-core architectures while maintaining reasonable data locality within each parallel processing unit.
Solution Approach 2:
Each tranche within a WPP substream or tile maintains local coding context by continuing CABAC probability adaptation from previous tranches. This local quality preservation allows parallel processing units to work independently with minimal synchronization overhead, reducing end-to-end delays while maintaining processing capacity.
3Ease of operation
If CABAC probability adaptation is interrupted at slice or tile boundaries, then parallel decoding is enabled, but coding efficiency is reduced
Solution Approach 1:
Instead of completely interrupting CABAC probability adaptation at boundaries, the invention applies partial action by continuing probability adaptation across tranche boundaries within WPP substreams or tiles. This approach enables parallel decoding capability while minimizing the loss of coding efficiency by maintaining probability state continuity where possible.
Solution Approach 2:
The tranche boundary acts as an intermediary that allows parallel processing while maintaining CABAC state continuity. By adopting probabilities from previous tranches at each boundary, the system mediates between the need for parallel decoding independence and the desire to maintain coding efficiency through continuous probability adaptation.
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 with a 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 to be able to, in parallel, serve a multi-threaded decoder with the corresponding substreams or tiles.


