Hierarchical Dictionary Compression for Multi-Page Binary Documents
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing image compression methods for multi-page binary documents, such as JBIG2, do not effectively utilize information redundancy between pages, leading to suboptimal compression ratios due to memory constraints and inefficiencies in dictionary management.
Innovation Solution
A dynamic hierarchical dictionary design that builds and updates dictionaries dynamically, utilizing conditional entropy estimation to retain and reuse dictionary entries across pages, while managing memory constraints by discarding least distinct entries when necessary.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a dictionary is built to store information redundancy among multi-page binary document images, then compression ratio is improved, but memory consumption increases
Solution Approach 1:
The dictionary is segmented into multiple hierarchical levels (first level, second level, third level dictionaries), where each level stores symbols with increasing frequency. This segmentation allows the system to manage memory consumption by distributing symbol storage across multiple levels rather than storing all symbols in a single large dictionary.
Solution Approach 2:
The patent introduces a hierarchical dimension to the dictionary structure, organizing symbols across multiple levels based on their frequency of occurrence. This dimensional organization enables efficient memory management by allowing the system to access frequently used symbols at lower levels while maintaining the ability to store less frequent symbols at higher levels.
2Productivity
If dictionary size is increased to capture more information redundancy, then compression ratio improves, but file size penalty increases
Solution Approach 1:
Different levels of the hierarchical dictionary are assigned different qualities based on symbol frequency. The first level dictionary stores high-frequency symbols with direct encoding, while subsequent levels store less frequent symbols with reference encoding. This local quality differentiation optimizes the balance between compression ratio and file size by applying appropriate encoding strategies to different symbol sets.
Solution Approach 2:
The patent changes the encoding parameters dynamically based on symbol frequency and dictionary level. Symbols at different hierarchical levels use different encoding methods (direct encoding vs. reference encoding), allowing the system to adapt the compression parameters to the specific characteristics of each symbol set, thereby improving overall compression efficiency.
3Ease of operation
If a static dictionary is used for compression, then implementation is simpler, but compression ratio is suboptimal due to inability to adapt to different pages
Solution Approach 1:
The patent implements a dynamic hierarchical dictionary that is constructed and updated during the encoding process. The dictionary structure adapts to the specific characteristics of each page by dynamically adding symbols to appropriate levels based on their frequency of occurrence. This dynamic approach maintains implementation simplicity while significantly improving compression ratio compared to static dictionaries.
Solution Approach 2:
The hierarchical dictionary structure is pre-established with multiple levels before encoding begins, with the first level dictionary initialized with common symbols. This preliminary setup provides a foundation that simplifies the encoding process while allowing the dictionary to be dynamically populated and refined during compression, balancing simplicity with adaptability.
Data Source
AI summary
A method of creating a hierarchical dictionary comprises, with a processor, extracting a number of symbols from a first image, constructing a number of refinement dictionary entries based on the symbols, the refinement dictionary entries forming a refinement dictionary, grouping a number of the refinement dictionary entries into clusters to form a number of refinement dictionary entry clusters, and constructing a number of direct dictionary entries for each of the refinement dictionary entry clusters, the direct dictionary entries forming a direct dictionary.


