Context-Aware Image Compression With Faster Entropy Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional image compression algorithms are computationally inefficient and time-consuming due to extensive processing in context modeling and entropy coding, particularly in decision tree navigation and virtual context evaluation.
Innovation Solution
Implementing a probabilistic context evaluation module to reduce virtual context evaluation, a modified tree-traversal module using binary masks or speculative methods, and a modified ANS entropy coding module for faster encoding and decoding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If conventional image compression algorithms use extensive context modeling and virtual context evaluation, then compression ratio is improved, but processing time and computational efficiency deteriorate
Solution Approach 1:
The patent applies partial action by evaluating only a portion (e.g., 10-50%) of virtual contexts during the modeling phase rather than all possible contexts. This selective evaluation maintains acceptable compression performance while significantly reducing computational burden and processing time during encoding operations.
Solution Approach 2:
The patent performs preliminary context evaluation and tree construction during an offline training phase, so that the decision tree structure is pre-computed and stored. During actual compression, the encoder only needs to traverse the pre-built tree without performing extensive real-time context evaluation, thus reducing online processing time.
2Reliability
If conventional algorithms perform exhaustive tree traversal during decoding, then decoding accuracy is maintained, but computational efficiency and speed deteriorate
Solution Approach 1:
The decision tree structure is pre-computed and stored during an offline training phase, containing all necessary context information and probability models. During decoding, the algorithm only needs to traverse the pre-built tree using stored probability values, eliminating the need for real-time context evaluation and significantly accelerating decoding speed while maintaining accuracy.
Solution Approach 2:
The patent creates a copied representation of the context model in the form of a decision tree with pre-computed probability values and context assignments. This copied structure allows the decoder to quickly determine context without re-evaluating pixel characteristics, thus maintaining decoding accuracy while improving speed.
3Measurement precision
If conventional entropy coding processes each symbol individually, then coding precision is maintained, but processing speed deteriorates
Solution Approach 1:
The patent merges multiple individual entropy coding operations into a single Asymmetric Numeral Systems (ANS) coding pass. Instead of encoding each pixel or symbol separately with individual probability table updates, the ANS coder processes a stream of symbols more efficiently with a unified coding mechanism, improving throughput while maintaining compression precision.
Data Source
AI summary
The context-aware optimization method includes training a context model by determining whether to split each node in the context by identifying a first subset of virtual context to evaluate by identifying a second subset of virtual contexts to evaluate and obtaining an encoding cost of splitting of the context model for each virtual context in the second subset and identifying the first subset of virtual contexts to evaluate by selecting a predetermined number of virtual contexts from the second subset based on the encoding cost such that the predetermined number of virtual contexts with lowest encoding cost are selected. The modified tree-traversal method includes encoding a mask or performing a speculative-based method. The modified entropy coding method includes representing data into an array of bits, using multiple coders to process each bit in the array and combining the output from the multiple coders into a data range.


