Secondary Codeword Entropy Coding for Low-Complexity Decoding
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Device complexity
If a single encoding tree is used, then device complexity is reduced, but adaptability to different probability contexts is limited
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.
Data Source
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.


