Merged Code Alphabet for Simpler 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 are complex to implement and use, especially when aiming for average codeword lengths less than the original word length, which complicates compression and decompression processes.
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 while simplifying implementation by reducing the number of symbols needed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If Huffman coding with variable length code table is used to achieve average codeword length less than original word length, then compression efficiency is improved, but code alphabet size and implementation complexity increase
Solution Approach 1:
The code alphabet is segmented into multiple subsets, each subset containing a limited number of codewords. This segmentation allows the compression system to use smaller, more manageable code tables while maintaining the compression efficiency benefits of variable-length coding. The patent divides the original large code alphabet into smaller subsets that can be processed and stored more efficiently.
Solution Approach 2:
The patent introduces a new dimension to the coding scheme by using subset identifiers in addition to the codeword values. Instead of using a single large code table, the system uses multiple small code tables organized in a hierarchical structure, adding a subset selection layer that enables efficient access and reduces the complexity of any single code table.
2Productivity
If large code alphabets with variable length codings are used to achieve compression, then average codeword length decreases, but ease of operation and implementation becomes more difficult
Solution Approach 1:
The implementation complexity is reduced by segmenting the large code alphabet into smaller subsets. Each subset can be independently processed and stored, making the implementation more manageable. The patent organizes codewords into multiple subsets, each with a limited size, which simplifies the data structures and algorithms needed for compression and decompression operations.
Solution Approach 2:
The code alphabet is pre-organized into multiple subsets with predetermined structures before compression operations begin. This preliminary organization allows the compression system to quickly select appropriate subsets and access codewords without complex real-time calculations, significantly easing the operational burden during actual compression tasks.
3Device complexity
If code alphabet symbols are reduced in number, then device complexity and ease of operation improve, but ability to achieve average codeword length less than original word length may be compromised
Solution Approach 1:
Multiple small code subsets are merged into a unified code alphabet structure that maintains the compression efficiency of the original large code table. The patent combines several subsets, each optimized for specific codeword ranges, into a cohesive system where the subset selection mechanism enables the overall structure to achieve the same average codeword length as a single large code table would provide.
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 has a first number of symbols that provide variable length codings of the words. A second code alphabet is generated having a second number of symbols formed by merging the symbols in the first code alphabet, wherein the second code alphabet comprises the code alphabet used by the deployed program.


