CABAC Significance Map Coding Using Zero-Run Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing CABAC engine for the H.264 video coding standard has limited throughput due to its binarization scheme, which generates a large number of bins that need to be encoded, and its arithmetic coding engine is limited to encoding a single bin per cycle, making it power-intensive and inefficient for processing high-definition video bit-streams.

Innovation Solution

The method involves scanning transform coefficients, calculating runs of zeros, and coding them using variable length coding techniques such as Exp-Golomb coding, reducing the number of bins required to represent significance map information, thereby increasing throughput by using run-length encoding across larger blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the existing CABAC binarization scheme is used, then the significance map information is represented, but the number of bins generated is large, leading to limited throughput and high power consumption

Engineering Contradiction:
ImprovethroughputVSAvoidnumber of bins
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent combines multiple significance map flags (significant_coeff_flag and last_coeff_flag) into a single run-length encoded representation. Instead of encoding each coefficient position separately as individual bins, the invention merges consecutive zero coefficients into run-length pairs, dramatically reducing the total number of bins that need to be processed by the arithmetic coding engine.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The invention changes the encoding parameter from individual coefficient flags to run-length representations. By transforming the data structure from discrete binary flags to compressed run-length pairs (representing sequences of zeros followed by non-zero coefficients), the system reduces the parameter count that the arithmetic coder must process, thereby increasing throughput and reducing power consumption.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If the arithmetic coding engine encodes a single bin per cycle, then the encoding is simple, but the throughput is limited and power consumption is high for HD video

Engineering Contradiction:
ImprovethroughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent merges multiple significance map encoding operations into fewer run-length encoded bins. By combining the information from multiple coefficient positions into single run-length representations, the arithmetic coding engine processes fewer bins per macroblock, reducing the total compute cycles required and thereby lowering power consumption while maintaining HD video throughput requirements.

Inventive Principle:
Principle #5Merging (Combining)

3Loss of substance

If variable length coding is used for runs of zeros, then the compression is improved and bin count is reduced, but the coding complexity increases

Engineering Contradiction:
Improvecompression efficiencyVSAvoidcoding complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The patent segments the significance map encoding into distinct run-length pairs, where each pair represents a specific number of zero coefficients followed by a non-zero coefficient. This segmentation creates a regular, predictable structure that simplifies the variable-length coding process compared to encoding individual flags, as the encoder and decoder can use pre-computed lookup tables for run-length values.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention performs preliminary run-length calculation during the scanning phase, before the actual variable-length coding occurs. By pre-processing the coefficient data to identify and count zero runs, the system prepares the data in an optimized format that reduces the complexity of the subsequent coding stage, allowing for efficient variable-length encoding without significant increases in overall system complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8068043B2Method and apparatus for video processing in context-adaptive binary arithmetic coding
Publication Date: 2011.11.29 TEXAS INSTRUMENTS INC
  • US8068043B2 patent drawing
  • US8068043B2 patent drawing
  • US8068043B2 patent drawing

AI summary

A method and apparatus of a digital signal processor for coding of a significant map. The method for coding of a significant map includes carrying out a scan of at least a portion of a block of transform coefficients; calculating runs of zeros of the scanned data; and coding runs of zeros with variable length coding.