Segmented Data Compression with Run-Length and Flag Switching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data compressing/decompressing devices face inefficiencies in throughput when dealing with large or small numbers of consecutive data pieces, requiring frequent analysis and comparison, which reduces operating frequency.
Innovation Solution
A data compressing/decompressing apparatus that divides input data into segments and selects between run length, flag, and non-compression methods based on data block ratios, using IEEE754 half-precision floating-point expressions to identify compression methods in compressed data, allowing for efficient decompression without multiple field comparisons.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a fixed-length run length system is used for high-speed decompression, then operating frequency is improved, but compression efficiency deteriorates when the number of consecutive data pieces is considerably great or small
Solution Approach 1:
The patent employs multiple run length formats with different field lengths (16-bit, 24-bit, 32-bit) that can be dynamically selected based on the magnitude of the run length value. This dynamic format selection allows the system to maintain high operating frequency by choosing appropriate formats while preserving compression efficiency for both small and large consecutive data sequences.
Solution Approach 2:
The system changes the parameter of run length field length (16, 24, or 32 bits) depending on the compression ratio requirements and the magnitude of consecutive data pieces. By adjusting the field length parameter, the system optimizes both decompression speed and compression efficiency for different data patterns.
2Productivity
If multiple run-length data pieces are analyzed in one cycle to ensure throughput, then data processing capability is improved, but operating frequency reduces due to multiple additions and comparisons
Solution Approach 1:
The patent performs preliminary classification of run length values into different magnitude ranges before decompression. By pre-categorizing data into appropriate format groups, the system reduces the number of comparisons needed during actual decompression cycles, thereby maintaining high operating frequency while ensuring adequate throughput.
Solution Approach 2:
The decompression process is segmented into separate handling paths for different run length formats (16-bit, 24-bit, 32-bit). Each segment has optimized processing logic that requires minimal comparisons, allowing the system to process multiple data pieces per cycle without significantly reducing operating frequency.
3Loss of information
If a plurality of formats of compressed data are used to improve compression efficiency, then compression ratio is improved, but device complexity increases
Solution Approach 1:
Different parts of the compressed data stream use different run length formats based on local requirements. The system applies 16-bit format for small run lengths, 24-bit for medium run lengths, and 32-bit for large run lengths, optimizing compression efficiency locally while keeping the overall system manageable through clear format selection rules.
Data Source
Figure 1
Figure 2A~2C
Figure 3
AI summary
A data compressing device according to an embodiment includes a data cutting unit configured to divide continuously inputted data into W-bit data blocks and to output the data blocks in segments such that each of the segments is composed of N data blocks, and a compression-method determining unit configured to select, as a compression portion for each of the segments, a run length system, a flag system, or no compression, according to a ratio of data blocks of specific data in any of the segments. The data compressing device further includes an RL compression unit configured to execute, on any of the segments, a run length system of storing a consecutive amount of the specific data into compressed data, and a flag compression unit configured to execute, on any of the segments, a flag system of storing positional information of the specific data into compressed data.