Partitioned Entropy Coding for Time-Varying Syntax Statistics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing entropy coding schemes face challenges in achieving a balance between coding complexity and compression efficiency, particularly when dealing with time-varying source statistics and higher-order probability modeling, with Huffman codes being complex to adapt and arithmetic coding being computationally intensive.
Innovation Solution
The proposed solution involves decomposing the value range of syntax elements into a sequence of partitions, where components within each partition are coded separately using Variable-Length Coding (VLC) and Arithmetic Coding, allowing for a more efficient trade-off between coding complexity and compression efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If Huffman codes are used for entropy coding, then implementation is efficient with VLC tables, but adaptation to time-varying source statistics is complex and redundant for dominant alphabet values
Solution Approach 1:
The patent segments the probability distribution into multiple discrete probability levels (e.g., 8 levels from 0.00 to 0.99). Each level has its own pre-computed VLC table. This segmentation allows the system to adapt to time-varying statistics by simply switching between pre-computed tables rather than dynamically adapting a single table, thus maintaining implementation efficiency while improving adaptability.
Solution Approach 2:
The patent performs preliminary action by pre-computing multiple VLC tables for different probability levels before actual encoding. These pre-computed tables are stored and ready for use. When the source statistics change, the system can immediately switch to the appropriate pre-computed table without performing complex real-time adaptation, thus resolving the contradiction between implementation efficiency and adaptability.
2Adaptability or versatility
If arithmetic coding is used for entropy coding, then handling of time-varying statistics and higher-order modeling is consistent and adequate, but implementation complexity is substantially higher than VLC
Solution Approach 1:
The patent segments the continuous probability range into discrete levels and uses separate VLC tables for each level. This segmentation transforms the complex continuous arithmetic coding problem into multiple simpler discrete VLC problems, maintaining adaptability to time-varying statistics while significantly reducing implementation complexity.
Solution Approach 2:
The patent creates multiple copies of VLC tables, each optimized for a specific probability level. Instead of implementing one complex arithmetic coding engine, the system uses simpler VLC table copies that can be selected based on the current probability estimate, thus reducing implementation complexity while maintaining versatility.
3Device complexity
If PIPE coding is used as alternative to arithmetic coding, then complexity is reduced, but compression efficiency is lower than arithmetic coding
Solution Approach 1:
The patent applies local quality by using different coding strategies for different probability levels. For each local probability level, the optimal VLC table is selected. This localized optimization ensures that each segment of the probability space is handled with the most appropriate coding method, improving overall compression efficiency while keeping complexity manageable through the use of pre-computed tables.
4Ease of manufacture
If Huffman codes are used for dominant alphabet values with p > 0.5, then simple VLC tables can be used, but redundancy becomes substantial
Solution Approach 1:
The patent introduces dynamics by making the VLC table selection adaptive to the actual probability level. Instead of using a fixed VLC table that assumes uniform or worst-case distributions, the system dynamically selects from multiple pre-computed tables based on the actual probability estimate. This allows optimal table selection for dominant alphabet values, reducing redundancy while maintaining simplicity.
Data Source
Figure 1A
Figure 1B~1C
Figure 2A
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 VCL 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, in accordance with embodiments, 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 (1401-3) 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.