Huffman Block Compression Without End-of-Block Symbols
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The addition of an end-of-block (EOB) symbol in dictionary-based compression and entropy coding decreases the throughput and increases the data amount in data compression and decompression processes, particularly when all symbols in a Huffman block are literal symbols.
Innovation Solution
A data compression device and decompression device that omits adding an EOB symbol when all symbols in a Huffman block are literal, and instead detects block boundaries based on symbol type or data size, allowing for efficient entropy coding and decoding without the overhead of EOB symbols.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If an end-of-block (EOB) symbol is added in dictionary-based compression and entropy coding, then block boundaries can be clearly marked for decoding, but the throughput decreases and the data amount increases
Solution Approach 1:
The patent extracts and removes the EOB symbol from the compression process. When all symbols in a Huffman block are literal symbols, the EOB symbol is omitted entirely, eliminating the overhead that reduces throughput and increases data amount while maintaining reliable block boundary detection through alternative means.
Solution Approach 2:
The patent applies different handling strategies based on the local characteristics of the data block. When a block contains only literal symbols, EOB is omitted; when it contains match symbols, EOB is included. This localized adaptation optimizes throughput for literal-heavy blocks while maintaining reliability for blocks requiring EOB.
2Reliability
If an end-of-block (EOB) symbol is added in dictionary-based compression and entropy coding, then block boundaries can be clearly marked for decoding, but the data amount increases
Solution Approach 1:
The patent extracts and removes the EOB symbol from the compression process. When all symbols in a Huffman block are literal symbols, the EOB symbol is omitted entirely, eliminating the overhead that reduces throughput and increases data amount while maintaining reliable block boundary detection through alternative means.
Solution Approach 2:
The patent applies EOB symbol addition partially rather than universally. EOB is added only when necessary (when the block contains match symbols), and omitted when not needed (when all symbols are literal). This partial application reduces the total data amount while maintaining reliability where required.
3Reliability
If an end-of-block (EOB) symbol is added in dictionary-based compression and entropy coding, then block boundaries can be clearly marked for decoding, but the device complexity increases
Solution Approach 1:
The patent applies different handling strategies based on the local characteristics of the data block. When a block contains only literal symbols, EOB is omitted; when it contains match symbols, EOB is included. This localized adaptation optimizes throughput for literal-heavy blocks while maintaining reliability for blocks requiring EOB.
Solution Approach 2:
The patent enables the compression system to self-determine whether EOB is needed based on the content of each block. The system automatically detects whether a block contains only literal symbols and makes the appropriate decision to omit or include EOB, reducing the need for external control logic and simplifying the overall device complexity.
Data Source
AI summary
According to one embodiment, a data compression device includes all-literal determination circuitry and end-of-block symbol addition circuitry. In a case where dictionary-based compression on a first data block is performed, the all-literal determination circuitry determines whether all one or more symbols in a second data block are literal symbols. The symbols are obtained by performing the dictionary-based compression on the first data block. When all the symbols are literal symbols, end-of-block symbol addition circuitry does not add an end-of-block symbol to an end of the second data block. When at least one symbol among the symbols is not a literal symbol, the end-of-block symbol addition circuitry adds the end-of-block symbol to the end of the second data block.


