Reverse Decompression for Partial Access to LZ-Compressed Files

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

LZ-based decompression methods require reading the entire file to decompress data, which is inefficient when only partial data is needed, as they rely on previously decompressed blocks to decompress the remainder of the data.

Innovation Solution

Implementing reverse decompression by starting from the end of the file and traversing backwards to identify and decompress only the necessary blocks, using techniques like Lempel-Ziv algorithms with static or dynamic dictionaries, allowing for partial decompression without decompressing the entire file.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If LZ-based decompression is performed sequentially from the beginning of the file, then the decompression process is simple and reliable, but the entire file must be read even when only partial data is needed

Engineering Contradiction:
Improvedecompression speed for partial data accessVSAvoidtime to read unnecessary data
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies reverse decompression by traversing the compressed file from the end towards the beginning, allowing the system to locate and decompress only the necessary blocks containing required data. This inversion of the traditional forward decompression approach enables partial file access without reading the entire file, directly resolving the contradiction between decompression simplicity and partial data access efficiency

Inventive Principle:
Principle #13The other way round (Inversion)

2Reliability

If the entire file is decompressed to ensure all data is available, then data completeness is guaranteed, but computational overhead and processing time increase

Engineering Contradiction:
Improvedata completenessVSAvoidcomputational overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts and processes only the specific blocks containing necessary data by traversing from the end of the compressed file and identifying valid blocks using block type markers. This extraction approach ensures data completeness for the required portions while avoiding the computational overhead of decompressing the entire file, effectively resolving the contradiction between data completeness and computational efficiency

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If forward decompression is used, then the decompression process is straightforward, but access time for critical information at the end of the file is increased

Engineering Contradiction:
Improvedecompression process simplicityVSAvoidaccess time for critical information
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements reverse decompression that traverses the compressed file from end to beginning, allowing critical information located at the end of the file to be accessed immediately. While the process is more complex than forward decompression, it dramatically reduces access time for end-critical information by eliminating the need to process preceding blocks, thus resolving the contradiction between operational simplicity and access time

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS11995039B2Partial decompression for rapid file or sub-file access
Publication Date: 2024.05.28 MICRO FOCUS IP DEV
  • US11995039B2 patent drawing
  • US11995039B2 patent drawing
  • US11995039B2 patent drawing

AI summary

Embodiments of the present disclosure provide systems and methods for reverse decompression. According to one embodiment of the present disclosure, the method for reverse decompression includes receiving encoded and compressed input data in a form of one or more data blocks and locating an end of block marker for a last block of the one or more data blocks of the input data. The method also includes traversing the input data, bit by bit, in a reverse direction starting from a last bit of the end of block marker of the last block of the one or more data blocks of the input data towards a beginning of the input data, determining if one block of the one or more blocks of the input data can be designated as a valid block, designating the one block as a valid block and decompressing the valid block in a forward direction.