CABAC Significance Map Coding Using Zero-Run Encoding
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
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.
Data Source
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.


