Huffman Code Length Adjustment Under Maximum Length Limits

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing dynamic Huffman coding methods struggle to restrict code lengths within a specified maximum limit while ensuring the generated codes are perfect, leading to inefficiencies and additional processing requirements.

Innovation Solution

A variable length coding device that generates a frequency table based on symbol occurrences, constructs a Huffman tree, and restricts code lengths by swapping code lengths between symbols, ensuring all code lengths are within the maximum limit and that the codes remain perfect.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dynamic Huffman coding is used to generate code words based on symbol frequency, then coding efficiency is improved, but code word length may exceed the specified maximum limit

Engineering Contradiction:
Improvecoding efficiencyVSAvoidcode word length
Core Design Contradiction:
ProductivityVSLength of moving object

Solution Approach 1:

The patent changes the code length parameter by swapping code lengths between symbols. When a symbol's code length exceeds the maximum limit, the system identifies such symbols and exchanges their code lengths with other symbols that have shorter code lengths, thereby adjusting the code length parameter to satisfy the maximum limit constraint while maintaining the Huffman coding structure.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Instead of directly modifying the Huffman tree structure to reduce code lengths (which would compromise coding efficiency), the patent inverts the approach by swapping code lengths between symbols. This indirect method allows the system to enforce the maximum code length constraint without restructuring the tree, thus preserving coding efficiency while satisfying the length constraint.

Inventive Principle:
Principle #13The other way round (Inversion)

2Reliability

If code length restriction is applied to ensure perfect codes, then code validity is improved, but processing complexity increases

Engineering Contradiction:
Improvecode validityVSAvoidprocessing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically detecting symbols with code lengths exceeding the maximum limit and autonomously performing code length swaps. This self-correcting mechanism ensures code validity without requiring external intervention or complex validation procedures, thereby maintaining reliability while minimizing additional processing complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements a feedback mechanism where the system continuously monitors code lengths during the Huffman coding process. When code length violations are detected, the system triggers code length swaps and verifies the results, creating a closed-loop control system that ensures code validity while managing processing complexity through targeted corrections rather than exhaustive validation.

Inventive Principle:
Principle #23Feedback

3Length of moving object

If traditional methods are used to restrict code lengths, then maximum code length constraint is satisfied, but processing time increases

Engineering Contradiction:
Improvemaximum code length constraintVSAvoidprocessing time
Core Design Contradiction:
Length of moving objectVSLoss of time

Solution Approach 1:

The patent applies preliminary action by proactively identifying symbols with excessive code lengths early in the coding process and performing code length swaps before final code generation. This preventive approach avoids the need for time-consuming post-processing corrections and ensures that the maximum code length constraint is satisfied without extending overall processing time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system efficiently processes code length restrictions by skipping unnecessary intermediate steps. Instead of iteratively adjusting the Huffman tree structure or performing multiple validation passes, the patent directly swaps code lengths between symbols in a single operation, rushing through the constraint satisfaction process and minimizing processing time while still ensuring the maximum code length constraint is met.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS20250077417A1Variable length coding device and memory system
Publication Date: 2025.03.06 KIOXIA CORP
  • US20250077417A1 patent drawing
  • US20250077417A1 patent drawing
  • US20250077417A1 patent drawing

AI summary

According to one embodiment, a variable length coding device includes circuitry. The circuitry determines N code lengths corresponding to respective N symbols, based on a Huffman tree. In a case where the N code lengths include a first code length longer than a maximum code length, the circuitry selects a first symbol corresponding to the first code length from the N symbols, selects, from the N symbols, a second symbol corresponding to a second code length shorter than the maximum code length, changes the second code length corresponding to the second symbol to a code length obtained by adding one to the second code length, and changes the first code length corresponding to the first symbol to a code length equal to the changed second code length.