Pre-Expanded Decompression Dictionaries for Lower CPU Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional data compression techniques focus primarily on compression efficiency, neglecting decompression efficiency, which can lead to increased CPU processing overhead during decompression, especially in lossless compression methods like the Ziv-Lempel algorithm.
Innovation Solution
The method involves pre-expanding a decompression dictionary to create a second decompression dictionary with uncompressed data portions and inserting instructions for self-decompression, allowing for efficient recovery of original data by applying compressed data to the second dictionary.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If traditional compression algorithms are used to achieve high compression efficiency, then data size is reduced, but CPU processing overhead during decompression increases
Solution Approach 1:
The patent applies preliminary action by pre-expanding the decompression dictionary before actual decompression operations. The dictionary is pre-populated with uncompressed data portions and chain structures, so that during decompression, the system can directly retrieve and assemble data without performing complex expansion operations in real-time, thereby reducing CPU processing overhead during the actual decompression process
Solution Approach 2:
The patent implements self-service through self-decompressing data elements that contain embedded instructions and pointers. The compressed data structure includes metadata that enables it to direct its own decompression process by pointing to relevant dictionary chains and data portions, reducing the need for external decompression logic and minimizing CPU intervention
2Ease of manufacture
If traditional decompression methods are used, then implementation is simple, but decompression time increases
Solution Approach 1:
The decompression dictionary is pre-expanded with all necessary chain structures and data portions organized before decompression. This preliminary organization allows the decompression process to simply follow pre-computed pointers and assemble data directly, dramatically reducing decompression time while maintaining implementation feasibility through the structured approach
Solution Approach 2:
The patent segments the decompression dictionary into multiple chains, where each chain contains specific uncompressed data portions. This segmentation allows parallel processing and direct access to specific data segments during decompression, reducing overall decompression time while keeping each segment's structure simple and manageable
Data Source
AI summary
According to one embodiment, a computer-implemented method of decompressing compressed data is described. A first decompression dictionary is analyzed, the first decompression dictionary including a plurality of chains each with uncompressed data portions distributed in a non-contiguous manner within the first decompression dictionary based on an addressing scheme, where the uncompressed data portions of each chain form a corresponding uncompressed version of compressed data. A second decompression dictionary is generated by combining the uncompressed data portions of each of the chains in the first decompression dictionary to form uncompressed versions of compressed data and instructions are inserted within the second decompression dictionary to decompress compressed data. The compressed data are decompressed by applying the compressed data to the second decompression dictionary. Embodiments further include a system and computer program product for decompressing compressed data in substantially the same manner described above.


