Parallel Entropy Decoding with Payload Segmentation Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data compression techniques, such as H.264, face challenges in achieving efficient entropy coding due to their serial nature, which can be computationally demanding and inefficient, especially in high-speed video decoding applications with limited processing power.

Innovation Solution

The implementation of a parallel entropy coding and decoding architecture that uses context modeling to assign bits to multiple sources based on estimated probabilities, allowing for parallel entropy coding and decoding of subsequences, which are then interleaved to reconstruct the input sequence, along with load balancing to distribute computational burden across multiple decoders.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If serial entropy coding is used, then compression efficiency is maintained, but processing speed deteriorates and computational load increases

Engineering Contradiction:
Improveprocessing speedVSAvoidcomputational load
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the input data sequence into multiple subsequences that can be processed in parallel. Each subsequence is assigned to a separate entropy coder, allowing simultaneous encoding operations. This segmentation enables multiple processing units to work concurrently, significantly improving processing speed while distributing computational load across multiple devices or cores.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from single-threaded serial processing to multi-threaded parallel processing by introducing a new dimension of concurrency. Multiple entropy coders operate simultaneously on different subsequences, effectively moving from one-dimensional sequential execution to multi-dimensional parallel execution, thereby improving productivity without proportionally increasing device complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Speed

If parallel entropy coding is implemented, then processing speed improves, but synchronization complexity increases

Engineering Contradiction:
Improvedecoding speedVSAvoidsynchronization complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by pre-organizing the input data into distinct subsequences before parallel processing begins. Each subsequence is prepared and assigned to specific coders in advance, establishing clear boundaries and dependencies. This preliminary organization simplifies synchronization during decoding, as the parallel structures are already established and can be reconstructed systematically without complex runtime coordination.

Inventive Principle:
Principle #10Preliminary action

3Loss of substance

If CABAC is used instead of CAVLC, then compression ratio improves, but computational complexity increases

Engineering Contradiction:
Improvedata sizeVSAvoidcomputational complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The patent segments the computationally intensive CABAC encoding process into multiple parallel entropy coders, each handling a specific subsequence. This segmentation distributes the high computational complexity of CABAC across multiple processing units, making the enhanced compression algorithm practically implementable without overwhelming a single processor, thus achieving better compression ratios with manageable complexity through parallelization.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8174414B2Methods and devices for load balancing in parallel entropy coding and decoding
Publication Date: 2012.05.08 MALIKIE INNOVATIONS LTD
  • US8174414B2 patent drawing
  • US8174414B2 patent drawing
  • US8174414B2 patent drawing

AI summary

Devices and methods for entropy decoding a bitstream of encoded data by extracting a plurality of encoded subsequences from a payload field of the bitstream for parallel decoding on a set of parallel entropy decoders. The method includes dividing the payload of concatenated encoded subsequences into segments using a distribution function and distributing the segments amongst the set of parallel entropy decoders to balance the computational load among the parallel entropy decoders. The received bitstream includes auxiliary information inserted by the encoder to enable the decoder to entropy decode segments that begin with a portion of an encoded subsequence.