Weighted Run-Length Encoding for Bitmap Mask Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing compression methods for bitmaps in limited capacity devices, such as IoT devices, are inefficient due to high memory requirements and processing power needed, especially for image masks and glyphs, which are not adequately compressed for small form factor displays with limited resources.
Innovation Solution
A weighted run-length encoding and decoding method that uses nybbles to represent skip, solid, and quote commands, optimizing pixel representation by prioritizing transparent and opaque pixels, reducing the bitstream size significantly.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If traditional run-length encoding is used to compress bitmap masks, then compression ratio improves, but further compression is needed for limited capacity devices with restricted RAM and storage
Solution Approach 1:
The patent applies local quality by differentiating the encoding treatment for different pixel types within the same bitstream. Transparent pixels (fully off) are encoded with 2-bit indices, while semi-transparent pixels (partially on) are encoded with full 8-bit values. This localized differentiation optimizes compression for the dominant transparent pixels while preserving necessary detail for semi-transparent regions, achieving superior compression ratios compared to uniform encoding schemes.
Solution Approach 2:
The patent changes the parameter representation from uniform 8-bit per pixel to a hybrid scheme where transparent pixels use 2-bit indices into a palette and semi-transparent pixels use 8-bit values. This parameter transformation enables the compression system to adapt to the statistical properties of the image data, significantly reducing bitstream size for images with large transparent regions while maintaining visual quality.
2Quantity of substance
If PNG compression algorithm is used, then compression ratio improves, but processing power and memory requirements become impractical for embedded devices
Solution Approach 1:
The patent replaces the complex PNG decoder (requiring approximately 45 KB overhead) with a simple custom decoder that requires minimal memory. The solution uses lightweight palettized run-length encoding with fixed 2-bit and 8-bit representations, eliminating the need for sophisticated compression algorithms. This disposable approach prioritizes simplicity and low memory overhead over maximum compression, making it suitable for resource-constrained embedded devices.
Solution Approach 2:
The patent extracts only the essential compression functionality needed for bitmap masks, removing unnecessary complexity from standard compression algorithms like PNG. By focusing solely on run-length encoding with palettization for transparent pixels, the solution eliminates the heavy computational and memory overhead of general-purpose image compression, achieving practical deployment on embedded devices.
3Reliability
If uncompressed 8-bit mask is used, then image quality is preserved, but memory consumption becomes too large for embedded devices with limited RAM
Solution Approach 1:
The patent applies local quality by preserving full 8-bit precision for semi-transparent pixels while using compressed 2-bit indices for fully transparent pixels. This selective precision maintenance ensures that regions requiring visual detail (semi-transparent areas) retain high quality, while transparent regions achieve maximum compression. The approach balances memory efficiency with visual fidelity based on the local requirements of different image regions.
Solution Approach 2:
The patent applies partial action by encoding only the necessary information for each pixel type. Fully transparent pixels require minimal information (2-bit index), while semi-transparent pixels require full precision (8-bit value). This partial encoding strategy avoids the excessive memory consumption of uniform 8-bit per pixel storage while maintaining sufficient quality for display, achieving an optimal trade-off for embedded device constraints.
Data Source
AI summary
A weighed run-length encoding and decoding method and related devices and encoded bitstream. The encoded bitstream can comprise one or more of the following: a skip command packed into a nybble, the skip command indicating how many transparent pixels which are inserted into the bitstream, wherein there is up to a maximum number of transparent pixels; a solid command packed into a nybble, the solid command indicating how many solid pixels should be inserted into the decoded bitstream, wherein there are up to the maximum number of solid pixels; and a quote command packed into a nybble, the quote command indicating how many quoted pixels should be inserted into the decoded bitstream, wherein there are up to the maximum number of quoted pixels.


