Binary Arithmetic Coding Pipelining Through Scan Order Modification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

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

Innovation Solution

The implementation of a modified scan order for encoding and decoding significance maps, where the processing of certain flags is timed to avoid data dependencies, allowing for efficient pipelining by reordering the scan to include the upper-left flag from the previous block and the bottom-right flag from the next block, thereby ensuring that contexts can be determined at the beginning of each cycle, preventing stalls and maximizing throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a non-pipelined BAC engine processes binary symbols sequentially completing all three stages before starting the next symbol, then context determination accuracy is maintained, but throughput is limited and processing time increases

Engineering Contradiction:
ImprovethroughputVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the significance map processing into multiple independent pipelines, where each pipeline processes a specific region or set of coefficients simultaneously. This segmentation allows parallel processing of multiple binary symbols through different stages of the BAC engine at the same time, thereby increasing throughput while maintaining context determination accuracy through proper pipeline isolation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary context determination and probability estimation before the actual binary arithmetic coding/decoding operation. By pre-computing context values and probability estimates for upcoming symbols, the system eliminates waiting time during the three-stage processing, allowing continuous pipeline operation without stalls and significantly improving throughput.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If context for significance flags is determined by looking at values of neighboring flags, then accurate context modeling is achieved, but costly memory access operations occur and processing becomes computationally intense

Engineering Contradiction:
Improvecontext modeling accuracyVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent pre-determines context values for significance flags based on neighboring flag values before the actual encoding/decoding process. By calculating and storing context information in advance, the system avoids costly real-time memory access operations during the critical BAC processing stages, reducing computational complexity while preserving context modeling accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copies of context information and probability estimates that can be used by multiple pipelines simultaneously. Instead of repeatedly accessing the same neighboring flag values from memory during each BAC operation, the system replicates the necessary context data in registers or fast memory, eliminating repeated memory access overhead and reducing processing complexity.

Inventive Principle:
Principle #26Copying

3Productivity

If attempts are made to pipeline within the BAC engine, then throughput is improved, but stalls occur due to data dependencies between neighboring flags

Engineering Contradiction:
ImprovethroughputVSAvoidpipeline stall time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the significance map into multiple independent processing regions that can be handled by separate pipelines. By dividing the work into spatially separated segments with minimal inter-segment dependencies, the system allows multiple pipelines to operate concurrently without stalling, as each pipeline processes its segment independently through all three BAC stages.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary context determination and data preparation for pipeline stages before the actual BAC encoding/decoding begins. By pre-computing context values, probability estimates, and neighboring flag dependencies in advance, the system eliminates data dependency bottlenecks during pipeline execution, allowing continuous forward progression through all pipeline stages without stalls.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9172962B2Methods and systems for pipelining within binary arithmetic coding and decoding
Publication Date: 2015.10.27 MALIKIE INNOVATIONS LTD
  • US9172962B2 patent drawing
  • US9172962B2 patent drawing
  • US9172962B2 patent drawing

AI summary

Methods of encoding and decoding for video data are described for encoding or decoding multi-level significance maps while 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.