Video Bitstream Tranches for Parallel CABAC Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetransmission speedVSAvoidcoding efficiency
Core Design Contradiction:
SpeedVSLoss of energy

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #20Continuity of useful action

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

Engineering Contradiction:
Improvedecoding speedVSAvoidend-to-end delay
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidcoding efficiency
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10880578B2Coding concept allowing parallel processing, transport demultiplexer and video bitstream
Publication Date: 2020.12.29 DOLBY VIDEO COMPRESSION LLC
  • US10880578B2 patent drawing
  • US10880578B2 patent drawing
  • US10880578B2 patent drawing

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.