Code Alphabet Merging for Efficient Variable-Length Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data compression techniques, such as Huffman coding and Streaming Lossless Data Compression (SLDC), require large code alphabets with variable length codings that can be cumbersome to implement and maintain, especially when aiming for efficient compression with fewer symbols.
Innovation Solution
A method to generate a first code alphabet with symbols that produce codewords of average length less than the original word length, followed by merging these symbols into a second code alphabet with fewer symbols, maintaining similar average codeword length and compression efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a large code alphabet with variable length codings is used for data compression, then compression efficiency is improved, but implementation complexity and difficulty of maintenance increase
Solution Approach 1:
The patent merges multiple symbols from a first code alphabet into a second code alphabet with fewer symbols. Specifically, it combines less frequently occurring symbols into grouped representations, reducing the total number of symbols in the code alphabet while preserving compression efficiency through the merging process that maintains optimal coding properties.
2Productivity
If a large code alphabet with many symbols is used to achieve better compression, then compression quality is improved, but ease of operation and implementation difficulty worsen
Solution Approach 1:
The patent applies merging by combining multiple symbols from the first code alphabet into a reduced set of symbols in the second code alphabet. This reduction makes the code alphabet easier to implement and operate while maintaining compression quality through careful selection of which symbols to merge and how to represent them.
Data Source
AI summary
Provided are a computer program product, system, and method for generating a code alphabet for use by a deployed program to determine codewords for words. A first code alphabet is generated having a first number of symbols that provide variable length codings of the words. The symbols in the first code alphabet are merged into a second number of groups of the symbols in the first code alphabet, where the second number is less than the first number. A second code alphabet is generated having the second number of symbols, wherein a second average codeword length of the codewords produced using the symbols in the second code alphabet is smaller than the codeword length (b) of the words, and wherein the second code alphabet comprises the code alphabet used by the deployed program.


