Hybrid Entropy Coding for Time-Varying Syntax Statistics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing entropy coding methods, such as Huffman codes and arithmetic coding, face challenges in adapting to time-varying source statistics and higher-order probability modeling, leading to inefficiencies in compression efficiency and complexity.
Innovation Solution
The proposed solution involves an entropy encoding apparatus that decomposes syntax elements into multiple source symbols, with one subsequence being VLC encoded and another subsequence being PIPE or arithmetic encoded, allowing for better adaptation to syntax element statistics and improved compression efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If Huffman codes with VLC tables are used, then implementation is efficient and simple, but adaptation to time-varying source statistics is demanding in terms of algorithmic complexity and implementation costs
Solution Approach 1:
The source symbols are divided into two separate subsequences: one subsequence is encoded using VLC tables for simple implementation, while the other subsequence is encoded using arithmetic coding for better adaptability to time-varying statistics. This segmentation allows each encoding method to be applied where it is most effective, resolving the contradiction between implementation simplicity and adaptability.
2Adaptability or versatility
If arithmetic coding is used, then adaptability to time-varying source statistics and higher-order probability modeling is improved, but implementation complexity increases substantially compared to VLC
Solution Approach 1:
The source symbol sequence is segmented into two subsequences with different statistical characteristics. The first subsequence (with lower adaptability requirements) is encoded using simple VLC tables, while the second subsequence (requiring higher adaptability) is encoded using arithmetic coding. This reduces the overall complexity compared to applying arithmetic coding to the entire sequence, while still providing adaptability where needed.
Solution Approach 2:
Different encoding methods are applied to different parts of the data based on their local statistical properties. The VLC encoder handles portions of the data where simple probability models suffice, while the arithmetic encoder handles portions requiring more sophisticated probability modeling. This local differentiation optimizes the balance between complexity and adaptability.
3Device complexity
If PIPE coding is used, then complexity is reduced compared to arithmetic coding, but compression efficiency for highly skewed probability distributions is not optimal
Solution Approach 1:
The invention applies arithmetic coding specifically to the second subsequence of source symbols, which is selected based on its probability distribution characteristics. This ensures that portions of the data with highly skewed distributions (where PIPE coding would be insufficient) receive the superior compression performance of arithmetic coding, while maintaining lower overall complexity by using VLC for the first subsequence.
Data Source
AI summary
Decomposing a value range of the respective syntax elements into a sequence of n partitions with coding the components of z laying within the respective partitions separately with at least one by VLC coding and with at least one by PIPE or entropy coding is used to greatly increase the compression efficiency at a moderate coding overhead since the coding scheme used may be better adapted to the syntax element statistics. Accordingly, syntax elements are decomposed into a respective number n of source symbols si with i=1 . . . n, the respective number n of source symbols depending on as to which of a sequence of n partitions into which a value range of the respective syntax elements is sub-divided, a value z of the respective syntax elements falls into, so that a sum of values of the respective number of source symbols si yields z, and, if n>1, for all i=1 . . . n−1, the value of si corresponds to a range of the ith partition.


