FIFO Buffer Interleaved Encoding for Faster Entropy Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current entropy coding methods, such as CAVLC and CABAC in H.264/AVC, are computationally demanding, making them inefficient for devices with limited processing power, particularly in high-quality video decoding applications.

Innovation Solution

The proposed solution employs encoding trees with primary and secondary codewords, using a first-in-first-out buffer to manage codewords and a context model for probability-based encoding and decoding, allowing for efficient encoding and decoding of binary sequences by traversing trees based on estimated probabilities and using codeword type indicators to optimize bitstream structure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If CABAC (Context Adaptive Binary Arithmetic Coding) is used for entropy coding, then compression efficiency is improved, but computational complexity increases

Engineering Contradiction:
Improvecompression efficiencyVSAvoidcomputational complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The patent segments the encoding process into multiple independent parallel encoding trees, each handling a specific probability range. This allows the complex CABAC-style arithmetic coding to be divided into simpler, parallelizable segments that can be processed simultaneously, reducing overall computational complexity while maintaining compression efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent pre-generates multiple encoding trees with different probability models before the actual encoding process. These pre-computed trees are stored and selected during encoding based on the input data characteristics, eliminating the need for complex real-time probability calculations and reducing computational burden during actual compression.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If multiple encoding trees with different probability models are used, then encoding accuracy is improved, but memory requirements increase

Engineering Contradiction:
Improveencoding accuracyVSAvoidmemory requirements
Core Design Contradiction:
Measurement precisionVSVolume of stationary object

Solution Approach 1:

The patent applies different encoding tree structures optimized for specific probability ranges to different portions of the input data. Each encoding tree is tailored to handle a specific local characteristic (probability range), improving overall encoding accuracy without requiring all trees to be equally complex, thus optimizing memory usage.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent generates a limited set of encoding trees covering the most probable probability ranges encountered in practice, rather than creating trees for all possible probability values. This partial action approach provides sufficient encoding accuracy for typical video data while significantly reducing memory requirements compared to a complete set of trees.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If parallel encoding processes are implemented, then encoding speed is improved, but synchronization complexity increases

Engineering Contradiction:
Improveencoding speedVSAvoidsynchronization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the input data stream into multiple segments that can be encoded in parallel using different encoding trees. Each segment is processed independently by a separate encoding thread, and the results are concatenated in the original order. This segmentation approach enables parallel processing while minimizing synchronization requirements, as each segment can be encoded independently without requiring complex coordination between threads.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8638247B2Method and device for buffer-based interleaved encoding of an input sequence
Publication Date: 2014.01.28 MALIKIE INNOVATIONS LTD
  • US8638247B2 patent drawing
  • US8638247B2 patent drawing
  • US8638247B2 patent drawing

AI summary

A method for encoding an input sequence of symbols. The method includes, sequentially, for each symbol in the input sequence, determining an estimated probability for that symbol based on a context model, identifying a codeword associated with a sequence of symbols resulting from appending that symbol to a previous sequence of symbols associated with that estimated probability, using an encoding tree associated with that estimated probability, and storing the codeword in a buffer element of a first-in-first-out buffer, wherein the buffer element is associated with the estimated probability. Stored codewords are output from the buffer in a first-in-first-out order.