Two-Stage Decompression Circuit for LZMA Dependency Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In LZMA decompression, the use of data associated with the distance-length pair reduces decompression efficiency as it requires previous literals for decompressing the next literal, leading to slower processing.
Innovation Solution
A decompression circuit and method that separates the decompression process into two units, where the first unit performs initial decompression without using data from the distance-length pair, allowing the second unit to handle the distance-length pair independently, thereby enhancing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If data associated with the distance-length pair is used when decompressing the next literal, then decompression accuracy is improved, but decompression speed deteriorates
Solution Approach 1:
The decompression process is segmented into two independent stages: first decompressing the distance-length pair to obtain reference literals, then decompressing the next literal using those reference literals. This segmentation allows parallel processing and eliminates waiting dependencies, resolving the contradiction between accuracy (requiring reference literals) and speed (requiring independent processing).
Solution Approach 2:
The distance-length pair is decompressed in advance before the next literal is processed. By performing this preliminary action, the reference literals are ready beforehand, allowing the next literal decompression to proceed independently without waiting, thus improving decompression speed while maintaining accuracy.
2Measurement precision
If the decompression process waits for data from the LZ77 unit, then decompression accuracy is improved, but overall decompression time increases
Solution Approach 1:
The decompression circuit is divided into two independent units: a first decompression unit for the distance-length pair and a second decompression unit for the next literal. This segmentation eliminates the sequential dependency where the second unit had to wait for the first unit, reducing overall decompression time while maintaining accuracy through proper data flow design.
Solution Approach 2:
Both decompression units operate continuously and independently without idle waiting periods. The first unit processes the distance-length pair while the second unit simultaneously processes the next literal using pre-available reference data, ensuring continuous useful action and minimizing total decompression time.
Data Source
AI summary
A decompression circuit for decompressing data includes a first decompression unit and a second decompression unit. The data sequentially includes a compressed first string, a compressed distance-length pair and a compressed second string. The first decompression unit performs a first decompression on the data to obtain a first string, a distance-length pair and a second string. The second decompression unit receives and decompresses the first string, the distance-length pair and the second string. The first decompression unit does not involve data associated with the distance-length pair when decompression the second string.


