Secondary Codeword Entropy Coding for Low-Complexity Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data compression technologies, such as H.264/AVC, face challenges in achieving efficient entropy coding while balancing compression efficiency and computational demands, particularly for devices with limited processing power, where CABAC is too computationally demanding.

Innovation Solution

The proposed solution involves using encoding trees with primary and secondary codewords, where the encoder selects an encoding tree based on estimated probabilities and outputs primary or secondary codewords depending on the context, and the decoder uses context models to decode the bitstream, ensuring efficient encoding and decoding processes.

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 making it too demanding for devices with limited processing power

Engineering Contradiction:
Improvedata compression efficiencyVSAvoidcomputational complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The encoding process is segmented into two distinct paths: a first encoding path for contexts where the current symbol equals the most probable symbol (MPS), and a second encoding path for contexts where the current symbol differs from MPS. This segmentation allows each path to use optimized, simpler coding operations appropriate to its specific case, reducing overall computational complexity while maintaining compression efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different encoding strategies are applied locally to different contexts based on the relationship between the current symbol and MPS. The first encoding path uses a simplified binary arithmetic coding approach for MPS cases, while the second path uses a different coding scheme for non-MPS cases. This local adaptation of encoding quality optimizes the balance between compression efficiency and computational demand for each specific context.

Inventive Principle:
Principle #3Local quality

2Device complexity

If CAVLC (Context Adaptive Variable Length Coding) is used for entropy coding, then computational complexity is reduced, but compression efficiency is lower compared to CABAC

Engineering Contradiction:
Improvecomputational complexityVSAvoiddata compression efficiency
Core Design Contradiction:
Device complexityVSLoss of substance

Solution Approach 1:

The encoding method dynamically adapts its approach based on the context and the relationship between the current symbol and MPS. Rather than using a fixed coding scheme, the system dynamically selects between two different encoding paths, adjusting the coding strategy to match the statistical properties of the current context. This dynamic adaptation allows the system to achieve better compression than static methods like CAVLC while maintaining lower complexity than full CABAC.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If a single encoding tree is used, then device complexity is reduced, but adaptability to different probability contexts is limited

Engineering Contradiction:
Improveencoding structure complexityVSAvoidcontext adaptability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The encoding system uses a universal binary arithmetic coding framework that can handle multiple contexts through a single unified structure. The same basic coding mechanism is used for both MPS and non-MPS cases, but with different parameter settings and operation sequences. This multi-functional approach allows the system to adapt to different probability contexts without requiring separate encoding trees or complex data structures for each context.

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

Data Source

PatentUS8638246B2Encoding and decoding methods and devices using a secondary codeword indicator
Publication Date: 2014.01.28 MALIKIE INNOVATIONS LTD
  • US8638246B2 patent drawing
  • US8638246B2 patent drawing
  • US8638246B2 patent drawing

AI summary

A method for encoding an input sequence of symbols as a plurality of codewords including primary codewords and secondary codewords, and a method of decoding the plurality of codewords. The codewords are output as a bitstream including an associated codeword type indicator, which specifies whether its associated plurality of consecutive codewords includes at least one secondary codeword and, if so, the location of the first of the at least one secondary codewords. The decoder selects between a primary codeword decoding tree and a secondary codeword decoding tree, and decodes one of the plurality of codewords using the selected decoding tree.