Parallel Entropy Coding with Shared Lookup Tables for Real-Time Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data compression technologies face bottlenecks due to the serial nature of entropy encoding and decoding processes, which hinder real-time compression efficiency, especially in applications like video encoding standards like H.264.

Innovation Solution

A parallel implementation of entropy encoders and decoders using multiple encoding/decoding elements connected to shared or dedicated search tree lookup tables, with load balancing mechanisms to distribute computational workload evenly across processing engines, allowing for simultaneous processing of multiple probabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If serial entropy encoding/decoding is used, then implementation simplicity is maintained, but processing speed and real-time compression efficiency deteriorate

Engineering Contradiction:
Improveprocessing speedVSAvoidencoder/decoder structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the entropy encoding/decoding process into multiple parallel processing elements (encoding elements and decoding elements). Each processing element handles a specific probability or subset of probabilities, allowing simultaneous processing of multiple data streams. This segmentation transforms the single-threaded serial operation into multi-threaded parallel operation, directly addressing the speed bottleneck while maintaining manageable complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a parallel processing dimension by deploying multiple encoding elements and decoding elements that operate simultaneously on different probability spaces. Instead of processing probabilities sequentially in time (1D), the system processes multiple probabilities concurrently across multiple processing elements (transitioning to 2D/parallel space), thereby achieving real-time compression performance.

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

2Loss of substance

If CABAC is used instead of CAVLC, then compression ratio is improved, but computational complexity and processing time increase

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

Solution Approach 1:

The patent segments the computationally intensive CABAC decoding process into multiple parallel decoding elements, each handling specific probability intervals. This parallelization maintains the high compression ratio benefits of CABAC while distributing the computational burden across multiple elements, reducing the processing time and complexity burden on any single processing unit.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent pre-organizes the probability space into discrete intervals assigned to different decoding elements before processing begins. This preliminary organization of probability ranges allows each decoding element to operate independently with pre-computed probability models, eliminating the need for sequential probability updates and reducing computational complexity during actual decoding operations.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If more encoding/decoding elements are added for parallel processing, then processing capacity increases, but resource requirements and system complexity increase

Engineering Contradiction:
ImprovethroughputVSAvoidhardware resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent designs encoding elements and decoding elements as universal processing units that can handle multiple probability intervals. Each element is configured to process a specific range of probabilities, and the system dynamically assigns probability intervals to available elements. This multi-functionality allows the same hardware architecture to be reused across multiple processing elements, increasing throughput without proportionally increasing total hardware resource requirements.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8576100B2Parallel entropy encoder and parallel entropy decoder
Publication Date: 2013.11.05 MALIKIE INNOVATIONS LTD
  • US8576100B2 patent drawing
  • US8576100B2 patent drawing
  • US8576100B2 patent drawing

AI summary

An entropy encoder block for use in a context adaptive encoder and an entropy decoder block for use in a context adaptive decoder is presented. The encoder block includes a plurality of encoding elements, for processing encoding search tree look tables corresponding to encoding probabilities used by the context adaptive encoder, at least two of the encoding elements servicing the same probability. In an embodiment, at least one of the encoding search tree lookup tables comprises a set of shared encoding search tree lookup tables, accessible by at least two of the encoding elements. The decoder block includes a plurality of decoding elements, for processing decoding search tree lookup tables corresponding to the decoding probabilities used by the context adaptive decoder, at least two of the decoding elements servicing the same probability. In an embodiment, at least one of the decoding search tree lookup tables comprises a set of shared decoding search tree lookup tables, accessible by at least two of the decoding elements.