Run-Length Bitmap Encoding Using Probability-Based Integer Decomposition
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for compressing bitmaps, particularly those containing consecutive runs of the same value, such as those used in kanji characters, do not achieve sufficient compression due to low frequency of consecutive runs and high frequency of deviations in probabilities, limiting the effectiveness of run length encoding (RLE) and entropy coding.
Innovation Solution
The proposed solution involves decomposing the count of consecutive runs into integers belonging to a predetermined integer group, calculating the probability of occurrence of these integers, and encoding them with shorter codes for higher probability integers, enhancing compressibility by applying techniques like Huffman coding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If run length encoding is applied to bitmap data with consecutive runs of the same value, then the data can be represented more compactly, but sufficient compression effects cannot be achieved due to low frequency of consecutive runs
Solution Approach 1:
The patent segments the run length values into multiple integer components that can be independently encoded. Instead of encoding the entire run length as a single value, it decomposes it into segments that can be handled by the probability-based encoding system, allowing for more efficient representation of varying run lengths.
Solution Approach 2:
The patent changes the encoding parameter from direct run length values to probability-based coded values. By calculating occurrence probabilities of different run length patterns and assigning shorter codes to more frequent patterns, it transforms the encoding approach to achieve better compression ratios.
2Quantity of substance
If entropy coding is applied directly to RLE codes, then compression can be performed, but sufficient compression effects cannot be achieved due to large deviations in probabilities of occurrence
Solution Approach 1:
The patent performs preliminary analysis to calculate the probability of occurrence for different run length values before applying entropy coding. This preliminary probability calculation allows for optimized code assignment where the most frequent run lengths receive the shortest codes, maximizing compression efficiency.
Solution Approach 2:
The patent introduces probability calculation as an intermediary step between RLE and entropy coding. This intermediary process analyzes the actual distribution of run lengths in the data and uses this information to guide the encoding process, bridging the gap between simple RLE and probability-based entropy coding.
3Quantity of substance
If simple RLE and entropy coding are combined, then compression can be performed, but the compression effectiveness is limited by the nature of bitmap data with kanji characters
Solution Approach 1:
The patent makes the encoding process dynamic by calculating probabilities based on the actual data being encoded. Rather than using fixed encoding schemes, it adapts the code assignments based on the observed frequency distribution of run lengths in the specific bitmap data, making the compression more effective for different types of bitmap content.
Data Source
AI summary
A first encoding unit encodes, within the compression target data, each part with a sequence of the same value into the number of consecutive runs of the value. A decomposing unit decomposes the number of consecutive runs of the same value into an addition of integers belonging to a predetermined integer group. A calculating unit calculates the probability of occurrence of each integer obtained by the decomposition. A second encoding unit encodes each integer by assigning shorter codes to integers with higher probabilities of occurrence.


