Multi-Mode Data Compression for Repeated Pattern Encoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional lossless data compression algorithms often fail to efficiently compress data by not effectively utilizing repeated patterns, leading to suboptimal compression ratios and increased computational overhead.
Innovation Solution
An encoder is configured to switch between Lempel-Ziv encoding mode and run-length encoding mode, using an escape code to switch between modes when a repeated pattern is detected, allowing for efficient compression by counting the number of repetitions and delaying buffer updates until the pattern stops repeating.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional lossless data compression algorithms use statistical modeling to map input data to bit sequences, then non-repeated data can be encoded efficiently, but repeated patterns are not effectively utilized leading to suboptimal compression ratios
Solution Approach 1:
The encoder dynamically switches between two encoding modes: Lempel-Ziv mode for non-repeated symbols and run-length encoding mode for repeated patterns. This dynamic adaptation allows the system to optimize compression for the current data characteristics, improving overall compression efficiency while maintaining effectiveness for both repeated and non-repeated data
Solution Approach 2:
The invention changes the encoding parameter (encoding mode) based on the detected data pattern. When repeated patterns are detected, the system transitions from Lempel-Ziv encoding to run-length encoding, effectively utilizing the repetition information to achieve better compression ratios
2Reliability
If the encoder continuously updates the buffer with encoded symbols, then the statistical model remains current for non-repeated data, but this creates computational overhead and increases the critical path for processing repeated patterns
Solution Approach 1:
The invention extracts the buffer update operation from the main encoding loop when run-length encoding is active. By suspending buffer updates during RLE mode, the system reduces computational overhead and shortens the critical path, while maintaining model accuracy through selective updates only when necessary
3Productivity
If the encoder processes each symbol individually through Lempel-Ziv encoding, then non-repeated symbols are encoded with minimal bits, but repeated patterns require multiple individual encodings leading to increased processing time
Solution Approach 1:
The encoder dynamically selects between individual symbol encoding (Lempel-Ziv) and batch pattern encoding (run-length) based on the detected data characteristics. This dynamic switching enables the system to process repeated patterns efficiently while maintaining optimal encoding for non-repeated symbols
Data Source
AI summary
The present disclosure includes apparatus, systems and techniques relating to lossless data compression. In some implementations, an apparatus includes a memory module to store data. The memory module includes a first buffer portion to store encoded symbols of the data, and a second buffer portion to store symbols of the data to be encoded. The apparatus includes an encoder to compare the symbols stored in the second buffer portion with the encoded symbols stored in the first buffer portion and to compress the data. The encoder can operate in a first encoding mode to encode the symbols in the second buffer portion with corresponding codewords until detecting a repeated pattern of symbols in the second buffer portion that matches the encoded symbols in the first buffer portion. The encoder can operate in a second encoding mode responsive to detecting the repeated pattern.


