Binary Arithmetic Coding Scan Order for Pipelined Significance Maps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current video encoding standards, such as H.264/AVC and developing HEVC, face challenges in maximizing throughput due to the computational intensity of determining contexts for significance maps, particularly with larger transform units like 16x16 and 32x32, which leads to BAC engine stalls and inefficient pipelining.

Innovation Solution

The implementation of multi-level significance maps with modified scan orders that adjust the processing of significant-coefficient flags to avoid data dependencies, allowing for efficient pipelining by reordering the scan to include context determination at the beginning of each cycle, thereby preventing stalls and optimizing BAC engine utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a conventional scan order is used for decoding significance maps in larger transform units, then the context determination for current flags depends on neighboring flags, but this creates data dependencies that lead to BAC engine stalls and reduced throughput

Engineering Contradiction:
Improvecontext determination accuracyVSAvoidthroughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The significance map is divided into coefficient groups, and the scan order is segmented to process certain flags (like bottom-right and upper-left corner flags) as outliers separate from their respective groups. This segmentation allows the BAC engine to process flags independently without waiting for neighboring flags, eliminating stalls while maintaining accurate context determination for each flag based on its appropriate neighbors.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent reorders the scan sequence to advance the processing of certain flags (such as upper-left corner flags of coefficient groups) before their neighboring flags are processed. This preliminary action ensures that context determination for current flags does not depend on unprocessed neighboring flags, preventing BAC engine stalls and improving throughput while maintaining decoding accuracy.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the processing order is modified to advance certain flags before their neighbors, then pipelining efficiency improves and stalls are reduced, but the scan order becomes more complex

Engineering Contradiction:
Improvepipelining efficiencyVSAvoidscan order complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The significance map processing is segmented into coefficient groups with clearly defined scan orders. Within each group, flags are processed in a systematic sequence that advances certain flags (like upper-left corner flags) before their neighbors, while treating corner outliers separately. This structured segmentation makes the complex scan order manageable and implementable without excessive complexity.

Inventive Principle:
Principle #1Segmentation

3Productivity

If neighboring flags are processed after current flags, then data dependencies are avoided and throughput increases, but context determination accuracy may be compromised

Engineering Contradiction:
ImprovethroughputVSAvoidcontext determination accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the significance map into coefficient groups and identifies outlier flags (bottom-right and upper-left corner flags) that can be processed independently. These outliers are separated from their respective groups and processed with adjusted scan orders that advance them before neighboring flags, eliminating data dependencies while preserving context determination accuracy by using appropriate neighboring flags for context modeling.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different scan order strategies are applied to different regions of the significance map. Corner outlier flags use advanced processing before their neighbors to avoid stalls, while interior flags follow conventional scan orders that process neighbors before current flags to maintain accurate context determination. This localized quality approach optimizes throughput for outliers while preserving reliability for interior flags.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP2618571A1Methods and devices for pipelining within binary arithmetic coding and decoding
Publication Date: 2013.07.24 BLACKBERRY LTD
  • EP2618571A1 patent drawingFigure 1
  • EP2618571A1 patent drawingFigure 2
  • EP2618571A1 patent drawingFigure 3

AI summary

Methods of encoding and decoding for video data are described for encoding or decoding multi-level significance maps whilst enabling pipelining of the BAC engine. In one example, coefficient groups are redefined to remove the significant-coefficient flags of the first and last position of a block and replace them with significant-coefficient flags of the last position in the previous block and the first position in the next block. A modified scan order is applied to each coefficient group. In another example, the coefficient groups remain block-based, but the scan order is modified to interleave the encoding and decoding sequential coefficient groups.