DEFLATE Decompression Code-Length Generation for Higher Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data decompression using the DEFLATE format, the generation of code lengths for dictionary match length symbols can be a bottleneck, leading to delayed decoding and reduced throughput due to the need for extensive lookup tables and complex calculations.
Innovation Solution
A data decompression device is configured with a prefix length generation ALU unit that calculates prefix lengths through arithmetic calculations and an extra bit length generation LUT unit that uses a compact table to generate extra bits, allowing for parallel operation and reduced circuit area, thereby speeding up code length generation without increasing the circuit size.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If code length generation uses extensive lookup tables and complex calculations, then decoding accuracy is improved, but decoding throughput deteriorates
Solution Approach 1:
The code length generation process is divided into two separate units: a prefix length generation unit that handles prefix code lengths, and an extra bit length generation unit that handles extra bit lengths. This segmentation allows each unit to be optimized independently, with the prefix unit focusing on accuracy and the extra bit unit on speed, thereby resolving the contradiction between decoding accuracy and throughput
Solution Approach 2:
The patent combines the prefix length generation and extra bit length generation into a unified code length generation process, where both components work together to produce the final code length. This merging allows the system to maintain high accuracy through the prefix unit while achieving high throughput through the optimized extra bit unit, as they operate in a coordinated manner
2Measurement precision
If extensive lookup tables are used for code length generation, then decoding accuracy is improved, but circuit area increases
Solution Approach 1:
The lookup tables are segmented into two parts: a prefix length lookup table and an extra bit length lookup table. This segmentation reduces the size of each individual table while maintaining the overall accuracy required for decoding, as each table handles a specific aspect of code length generation rather than storing all possible code length information in a single large table
Solution Approach 2:
Different parts of the code length generation process use different table sizes and complexities optimized for their specific functions. The prefix length unit uses a table optimized for prefix codes, while the extra bit length unit uses a table optimized for extra bits. This local optimization reduces the total circuit area while maintaining decoding accuracy, as each table is sized appropriately for its specific purpose rather than using a uniformly large table throughout
Data Source
AI summary
According to one embodiment, a data decompression device decodes a code included in compressed data into a symbol. The data decompression device includes a first code length generation unit and a second code length generation unit. The first code length generation unit generates a first code length of a first code included in the compressed data by arithmetic calculation. The second code length generation unit generates a second code length of a second code by using a table. The second code is included in the compressed data. The second code is subsequent to the first code. The table indicates at least the first code and the second code length that is associated with the first code.


