Nodeless Huffman Tree Branch Sizing for Variable Character Sets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional 2N-branch nodeless Huffman trees have limitations in specifying the maximum branch number, which restricts their size and efficiency in compressing character data with non-integer multiples of 2, 3, and 4 types, leading to suboptimal compression code lengths and larger tree sizes when dealing with character data types exceeding these multiples.

Innovation Solution

A computer-readable medium stores a generating program that tabulates character data types based on occurrence probabilities, corrects the number of character data types for a determined upper limit compression code length, and constructs a 2N-branch nodeless Huffman tree with a maximum branch number defined by this upper limit, optimizing the tree's structure and compression efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If the maximum branch number 2N is specified by integer multiples of 2, 3, and 4, then the Huffman tree structure is simplified and generation is easier, but the tree size becomes larger and compression efficiency deteriorates when character data types do not fit these multiples

Engineering Contradiction:
ImproveHuffman tree generation easeVSAvoidHuffman tree size
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The patent applies dynamics by making the maximum branch number 2N adjustable rather than fixed to specific multiples. The system dynamically determines the appropriate 2N value based on the actual number of character data types, allowing the Huffman tree structure to adapt to different data characteristics and optimize compression efficiency without sacrificing generation simplicity

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of maximum branch number from fixed values (multiples of 2, 3, 4) to a flexible parameter that can be set to any 2N value. This parameter change enables the system to match the Huffman tree size to the actual number of character data types, reducing tree size when the number of character types is not a multiple of 2, 3, or 4

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If the maximum branch number 2N is increased to accommodate more character data types, then the compression code length coverage improves, but the Huffman tree size increases leading to higher memory usage and processing overhead

Engineering Contradiction:
ImproveCharacter data type coverageVSAvoidHuffman tree size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts the maximum branch number 2N to match the actual number of character data types. Instead of always using a large fixed 2N value, the system calculates the minimum required 2N based on the data characteristics, achieving both adaptability and memory efficiency

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies partial action by using only the necessary portion of the Huffman tree capacity. Rather than allocating memory for all possible 2N branches, the system allocates resources proportional to the actual number of character data types, avoiding excessive memory usage while maintaining full adaptability coverage

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9542427B2Computer product, generating apparatus, and generating method for generating Huffman tree, and computer product for file compression using Huffman tree
Publication Date: 2017.01.10 FUJITSU LTD
  • US9542427B2 patent drawing
  • US9542427B2 patent drawing
  • US9542427B2 patent drawing

AI summary

A computer-readable recording medium stores a program causing a computer to determine the size of an applied 2N-branch non-contact Huffman tree depending on where in a range the total number of types (X) of character information groups exists. The size of the 2N-branch non-contact Huffman tree has the maximum number of branches, 2N. The radicand N is an upper limit of the length of a compression code. Thus, when the size of the 2N-branch non-contact Huffman tree is determined, the radicand (N) may be determined depending on the total number of types (X) of character information groups. Specifically, when the total number of types (X) of character information groups is 2x−2<X≦2x−1, if the maximum number of branches (2N) is at least 2x−1, a Huffman tree can be established. To minimize the size, N=x−1 may be adopted. Further, when the total number of types (X) of character information groups is 2x−1<X≦2x, if the maximum number of branches (2N) is at least 2x, a Huffman tree can be established. To minimize the size, N=x may be adopted.