Dynamic Entropy Coding With Rank-Swapping LUT Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing dynamic entropy coding techniques are computationally intensive and inefficient when the image statistics do not match well with the assumed probability distribution, leading to higher compressed file sizes.
Innovation Solution
A method that involves a two-stage mapping process from symbols to binary codes, where symbols are first mapped to ranks dynamically and then the ranks are mapped to binary codes statically, using look-up tables that are synchronized between the encoder and decoder without sharing additional data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If dynamic entropy coding techniques are used to adapt to changing symbol frequencies, then compression efficiency is improved, but computational complexity increases significantly
Solution Approach 1:
The patent segments the dynamic coding process into two independent stages: (1) symbol-to-rank mapping using a first LUT, and (2) rank-to-binary-code mapping using a second LUT. This segmentation allows the system to maintain dynamic adaptation benefits while reducing computational complexity by separating the adaptive component from the static component.
Solution Approach 2:
The patent pre-computes and stores the rank-to-binary-code mapping in a second LUT before the actual encoding process. This preliminary action eliminates the need for complex real-time calculations during encoding, as the binary codes for each rank are predetermined and simply looked up during the encoding phase.
2Device complexity
If static mapping of symbols to binary codes is used, then computational complexity is reduced, but compression efficiency deteriorates when image statistics do not match assumed probability distribution
Solution Approach 1:
The patent introduces dynamics into the system through the first LUT, which maps symbols to ranks based on observed frequencies. This dynamic component adapts to changing symbol distributions in the input data, allowing the system to maintain high compression efficiency even when image statistics differ from assumed probability distributions, while the static second LUT keeps computational complexity low.
3Productivity
If look-up tables are updated dynamically to reflect changing symbol frequencies, then compression efficiency is improved, but synchronization between encoder and decoder becomes more difficult
Solution Approach 1:
The patent introduces ranks as an intermediary between symbols and binary codes. The first LUT maps symbols to ranks (adaptive part), while the second LUT maps ranks to binary codes (static part). This intermediary structure simplifies synchronization because the second LUT remains static and identical at both encoder and decoder, while only the first LUT needs to be updated dynamically and transmitted to the decoder.
4Reliability
If constraint violations are resolved by swapping ranks in the LUT, then encoding correctness is maintained, but additional operations increase processing overhead
Solution Approach 1:
The patent implements a self-correcting mechanism where the system automatically detects constraint violations (when a symbol's frequency exceeds its rank position) and resolves them by swapping ranks in the first LUT. This self-service approach maintains encoding correctness without external intervention, and the swapping operation is computationally simple, minimizing additional processing overhead.
Data Source
AI summary
A system and a method are disclosed for encoding data for transmission, including determining a rank of a first obtained symbol of the plurality of symbols, encoding, at an encoder, the rank of the first symbol, generating a new frequency entry for the first obtained symbol by incrementing an initial histogram frequency entry of the first obtained symbol, determining, based on the new frequency entry of the first obtained symbol, that the rank of the first obtained symbol of the plurality of symbols has a constraint violation with a rank of a first violating symbol in the first encoder LUT, swapping the rank of the first obtained symbol and the rank of the first violating symbol in the first encoder LUT so the constraint violation is resolved, and generating a compressed bit-stream by iteratively applying an encoding function to each symbol of the plurality of symbols.


