Video Bitstream Tranche Coding for Low-Delay Parallel Decoding

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

VSEngineering 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

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

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveprocessing capacityVSAvoidend-to-end delay
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

3Ease of operation

If CABAC probability adaptation is interrupted at slice or tile boundaries, then parallel decoding is enabled, but coding efficiency is reduced

Engineering Contradiction:
Improveparallel decoding capabilityVSAvoidcoding efficiency
Core Design Contradiction:
Ease of operationVSLoss of energy

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.

Inventive Principle:
Principle #16Partial or excessive action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10880579B2Coding concept allowing parallel processing, transport demultiplexer and video bitstream
Publication Date: 2020.12.29 DOLBY VIDEO COMPRESSION LLC
  • US10880579B2 patent drawing
  • US10880579B2 patent drawing
  • US10880579B2 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 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.