Palette Compression Encoding for Low-Overhead Indexed Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing image and data compression methods, such as those used in GIF and PNG formats, do not effectively compress palette data, leading to significant data overhead, especially when the size of the image is small or the number of index values is large.

Innovation Solution

The method involves encoding input data using a palette-based encoder that compresses palette entry values consecutively within the encoded data, utilizing interleaved, planar, or 1-dimensional look-up-table formats, along with entropy-encoding methods to achieve lossless compression.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If palette data is delivered uncompressed in conventional formats (GIF, PNG), then the implementation is simple and widely compatible, but the data overhead becomes significant especially when image size is small or number of index values is large

Engineering Contradiction:
Improvepalette data sizeVSAvoidcompression algorithm complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The palette data is segmented into individual palette entries, each representing a color or data value. This segmentation allows each entry to be independently compressed using entropy encoding, enabling efficient representation of repeated patterns in palette data while maintaining compatibility with existing image formats.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies entropy encoding algorithms that dynamically adjust compression parameters based on the statistical properties of the palette data. By analyzing the frequency distribution of palette entries and adapting encoding strategies accordingly, the system achieves optimal compression ratios while maintaining lossless reconstruction of the original palette data.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If the number of index values in the palette is increased to represent more colors or data values, then the data representation capability is improved, but the amount of palette data and associated overhead increases

Engineering Contradiction:
Improvedata representation capabilityVSAvoidpalette data volume
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

Instead of storing complete palette entries for every possible index value, the patent uses differential encoding where only changed palette entries are stored. This copying approach allows the system to represent large numbers of colors or data values by referencing previously defined entries, significantly reducing the volume of palette data required while maintaining full representation capability.

Inventive Principle:
Principle #26Copying

3Reliability

If lossless compression is applied to palette data, then the data integrity is maintained, but the processing time and computational resources required increase

Engineering Contradiction:
Improvedata integrityVSAvoidcompression processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary analysis of the palette data to identify patterns, repetitions, and statistical properties before applying compression. This preliminary action includes sorting palette entries by frequency, identifying consecutive runs of identical values, and pre-calculating encoding strategies, which significantly reduces the computational complexity and processing time of the subsequent lossless compression step while ensuring complete data integrity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12581097B2Encoder, decoder and method employing palette compression
Publication Date: 2026.03.17 GL IP PROTECT LLC
  • US12581097B2 patent drawing
  • US12581097B2 patent drawing
  • US12581097B2 patent drawing

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.