Dynamic Symbol Dictionary Caching for JBIG2 Text Image Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current JBIG2 standard-based text image coding and decoding systems face challenges in achieving high compression ratios without exceeding memory limits and maintaining computational speed, particularly due to inefficient management of symbol dictionaries in pattern matching systems.
Innovation Solution
A dynamic symbol caching method that updates the symbol dictionary by adding new symbols and removing the least used ones, using caching algorithms like LRU to manage memory effectively, allowing for efficient storage and retrieval of symbols within limited memory spaces.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If a Global Dictionary method is used to encode multi-page documents, then compression ratio is improved, but memory usage increases and computation time increases
Solution Approach 1:
The patent divides the global dictionary into multiple page-level dictionaries, where each page has its own dictionary that can be independently managed. This segmentation allows the system to achieve global dictionary compression ratios on a per-page basis while avoiding the need to load all symbols from all pages into memory simultaneously, thus reducing peak memory usage.
Solution Approach 2:
The patent implements dynamic dictionary management where dictionaries are created, updated, and discarded based on the processing stage. Page-level dictionaries are dynamically allocated when needed and freed after use, allowing the system to maintain high compression ratios while keeping memory usage bounded and manageable throughout the encoding process.
2Loss of information
If a Global Dictionary method is used to encode multi-page documents, then compression ratio is improved, but computation time increases
Solution Approach 1:
By segmenting the encoding process into page-level operations with separate dictionaries, the patent reduces the search space for pattern matching at each step. Instead of searching through a massive global dictionary containing all symbols from all pages, the system performs multiple smaller searches across page-specific dictionaries, reducing overall computation time while maintaining compression effectiveness.
Solution Approach 2:
The patent performs preliminary processing to identify and extract unique symbols for each page before the main encoding phase. This preliminary action prepares optimized page-level dictionaries in advance, so that during the actual encoding process, pattern matching can proceed efficiently without the overhead of managing a large global dictionary structure.
3Loss of time
If an Independent Dictionary method is used for each stripe, then computation time is reduced, but compression ratio deteriorates
Solution Approach 1:
The patent makes page-level dictionaries universal across multiple stripes within the same page. Instead of creating completely independent dictionaries for each stripe, the system maintains a shared page dictionary that can be reused across all stripes of a page, enabling pattern matching benefits across stripe boundaries while keeping computation manageable through the page-level scope.
4Loss of time
If a Local Dictionary method is used to manage symbols in consecutive stripes, then computation time is reduced, but compression ratio deteriorates
Solution Approach 1:
The patent implements dynamic dictionary management at the page level, where the page dictionary is actively updated and maintained throughout the encoding of all stripes within that page. This dynamic approach allows the system to capture symbols that appear across multiple stripes within the same page, improving compression ratios compared to static local dictionaries while avoiding the computational overhead of global dictionaries.
Data Source
AI summary
An apparatus of a text image coding and decoding system includes a decomposer to decompose image data to extract a stripe image having one or more symbols, a matching unit to match the symbols with reference symbols of a symbol dictionary, and a dynamic symbol caching unit to generate one or more new symbols when the one or more new symbols of the symbols are not included in the symbol dictionary, and to remove the least used one or more of the reference symbols, so that the symbol dictionary is updated as an updated symbol dictionary with the one or more new symbols and without the least used one or more reference symbols.


