Palette Compression in Encoders for Low-Overhead Image Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional encoding and decoding methods do not effectively compress palette data, leading to significant data overhead, especially when the size of the image is small or the number of palette entries is large, in formats like GIF and PNG.
Innovation Solution
A method that compresses palette entry values consecutively within the encoded data, using interleaved, planar, or 1-dimensional look-up-table formats, along with availability information, to efficiently represent and decompress palette data in a lossless manner.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If palette data is delivered uncompressed in conventional formats (GIF, PNG), then the implementation is simple and straightforward, but the data overhead becomes significant especially when image size is small or number of palette entries is large
Solution Approach 1:
The palette data is segmented into individual palette entries, each representing a specific color or data value. This segmentation allows each entry to be independently compressed using run-length encoding, where consecutive identical entries are replaced with a single value and a count, significantly reducing the overall data overhead while maintaining simple implementation
Solution Approach 2:
The patent changes the representation parameters of palette data by transitioning from uncompressed raw format to a compressed format using run-length encoding. This parameter change involves encoding consecutive identical palette entries as (value, count) pairs, which reduces the number of bits required to represent the palette data while keeping the compression algorithm straightforward
2Loss of information
If a large number of bits are used for palette delivery to ensure complete information, then the data integrity is maintained, but the compression efficiency deteriorates
Solution Approach 1:
The patent uses run-length encoding to create a compressed representation of the palette data that preserves all necessary information. Instead of delivering every palette entry individually, the encoder creates a compact copy using (value, count) pairs that can be decompressed to reconstruct the original palette exactly, maintaining information completeness while reducing bit usage
Solution Approach 2:
The patent applies partial encoding action by only encoding the necessary information to reconstruct the palette. Rather than transmitting all raw palette entries, it transmits a partial representation using run-length encoding that contains exactly the information needed for lossless reconstruction, avoiding excessive bit usage while maintaining completeness
3Adaptability or versatility
If palette entries are delivered separately as interleaved data for each entry, then the format is compatible with conventional standards, but the compression ratio remains poor
Solution Approach 1:
The patent merges consecutive identical palette entries into single run-length encoded representations. Instead of delivering each palette entry separately as in conventional formats, it combines adjacent entries with the same value into (value, count) pairs, significantly improving compression ratio while maintaining adaptability to various palette structures and formats
Data Source
AI summary
A method of encoding input data to generate corresponding encoded data is provided. The method includes encoding the input data into a plurality of symbols in the encoded data, wherein the plurality of symbols represent data as defined by at least one palette included in the encoded data. The method further includes compressing data representative of the at least one palette into compressed palette data in a lossless manner for inclusion into the encoded data, wherein palette entry values of the at least one palette are provided consecutively within the encoded data.


