CABAC Binarization Reordering for Higher Intra Decoding Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The encoding and decoding throughput for Context-Based Adaptive Binary Arithmetic Coding (CABAC) in video processing is limited due to the complex derivation process of probabilities in the regular coding mode, especially when dealing with interleaved regular and bypass bins, which hinders efficient hardware-based acceleration.

Innovation Solution

Reordering the binarization results to collect bypass bins together for syntax elements like last_significant_coeff_x and last_significant_coeff_y, as well as for other syntax elements and their neighboring blocks, to facilitate improved encoding and decoding throughput by processing bypass bins sequentially.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If bypass bins and regular bins are interleaved in the binarization sequence, then the encoding can represent syntax elements with both probability models, but the encoding and decoding throughput cannot be efficiently accelerated in hardware

Engineering Contradiction:
Improveencoding and decoding throughputVSAvoidcomplexity of probability derivation process
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The binarization sequence is segmented into two distinct parts: regular bins and bypass bins. This segmentation allows the encoder to process each type of bin with its appropriate probability model separately, improving hardware efficiency by avoiding interleaved processing while maintaining the ability to represent both syntax element types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The binarization process performs preliminary ordering of bins to collect all regular bins together and all bypass bins together before encoding. This preliminary reordering action enables the subsequent encoding stage to process contiguous sequences of bins with uniform probability models, facilitating hardware acceleration through predictable processing patterns.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the binarization results are reordered to collect bypass bins together, then the throughput is improved, but the binarization process becomes more complex

Engineering Contradiction:
ImprovethroughputVSAvoidbinarization process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The binarization process includes a preliminary reordering step that collects bypass bins together and regular bins together before passing them to the encoding stage. This preliminary action, while adding a step to binarization, enables significant throughput improvement in the subsequent encoding and decoding processes by creating a more favorable input sequence for the arithmetic coding engine.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9838034B2Method and apparatus for reordered binarization of syntax elements in CABAC
Publication Date: 2017.12.05 HFI INNOVATION INC
  • US9838034B2 patent drawing
  • US9838034B2 patent drawing
  • US9838034B2 patent drawing

AI summary

A method of context-based adaptive binary arithmetic decoding for syntax elements of a coding unit coded by intra prediction is disclosed. The method includes receiving binary arithmetic coded bins associated with the coding unit, the coded bins includes a first part comprising regular bins associated with prediction units (PUs) partitioned from the coding unit and a second part comprising bypass bins associated with each PU, wherein the regular bins relate to an indication of intra prediction mode selection associated with each PU and the bypass bins relate to an index for a most probable mode and/or a remaining prediction mode associated with each PU; determining a first codeword comprising the regular bins and corresponding to a first syntax element for each PU; determining a second codeword comprising the bypass bins and corresponding to a second syntax element for each PU; and providing the first and second syntax elements for each PU.