Partitioned Entropy Encoding for Skewed Syntax Element Statistics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing entropy coding methods face challenges in achieving a balance between coding complexity and compression efficiency, particularly when dealing with time-varying source statistics and skewed probability distributions, with Huffman codes being inefficient and arithmetic coding being too complex.
Innovation Solution
The proposed entropy coding scheme decomposes syntax elements into multiple partitions, using variable-length coding (VLC) for suitable elements and arithmetic coding for others, with a hybrid approach that includes a subdivider to separate syntax elements based on their statistical properties.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If Huffman codes are used for entropy coding, then implementation is simple with VLC tables, but compression efficiency deteriorates when dealing with time-varying source statistics and skewed probability distributions
Solution Approach 1:
The invention segments the probability distribution into multiple bins, with each bin handled by a dedicated VLC table. This allows the system to adapt to time-varying statistics by selecting appropriate VLC tables for different probability ranges, resolving the contradiction between simple implementation and compression efficiency for skewed distributions
Solution Approach 2:
The invention introduces dynamic adaptation by maintaining multiple VLC tables that can be selected based on current source statistics. This dynamic selection mechanism allows the system to adjust to changing probability distributions while keeping individual VLC tables simple, thereby maintaining both low complexity and high compression efficiency
2Productivity
If arithmetic coding is used for entropy coding, then compression efficiency improves for adaptive and higher-order probability modeling, but implementation complexity increases substantially
Solution Approach 1:
The invention uses multiple pre-computed VLC tables that can be quickly switched between based on current statistics, replacing the need for complex arithmetic coding operations. Each VLC table is a simple, disposable structure that can be generated or selected efficiently, achieving arithmetic coding-like adaptability without the computational burden
Solution Approach 2:
The invention performs preliminary computation by pre-calculating VLC tables for different probability scenarios. This preliminary action stores the complex mapping relationships in advance, allowing the actual encoding process to use simple table lookups instead of complex arithmetic operations, thus reducing real-time complexity while maintaining compression efficiency
3Device complexity
If PIPE coding is used as an alternative to arithmetic coding, then coding complexity is reduced, but compression efficiency is still lower than arithmetic coding and higher than VLC coding
Solution Approach 1:
The invention creates a universal VLC table structure that can handle both simple and skewed probability distributions effectively. By designing VLC tables that are universally applicable across different distribution types, the system achieves compression efficiency comparable to PIPE coding while maintaining the simplicity of traditional VLC approaches
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.