Programmable Priority Encoder for Fast Huffman Decoding Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The process of recreating a codebook and decoding bit streams using canonical Huffman encoding requires significant processing resources and time, particularly in data recipients, which can delay system responsiveness due to the need for creating decoding tables using software.

Innovation Solution

A system utilizing a programmable priority encoder to create a canonical Huffman decoding table in a ternary content-addressable memory (TCAM), where lengths associated with an encoding scheme are received and programmed into registers, allowing for efficient scanning and determination of encoding values and letters, thereby reducing processing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a decoding table is created using software, then the decoding process can be performed, but the processing time increases and system responsiveness is delayed

Engineering Contradiction:
Improvedecoding functionalityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent replaces the software-based decoding table creation process with a hardware-based priority encoder circuit. The priority encoder is configured to automatically generate the decoding table in hardware memory, eliminating the need for software processing and significantly reducing the time required to prepare for decoding operations.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The priority encoder is pre-configured with the Huffman code structure and bit length information before decoding operations begin. This preliminary configuration allows the decoding table to be rapidly generated in hardware without requiring time-consuming software processing during actual decoding operations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a decoding table is created using software, then the decoding functionality is achieved, but the processing resources are consumed

Engineering Contradiction:
Improvedecoding functionalityVSAvoidprocessing resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent substitutes the software-based decoding table creation with a dedicated hardware priority encoder circuit. This hardware implementation performs the table generation function more efficiently, consuming fewer processing resources and energy compared to general-purpose software execution.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The priority encoder is designed to automatically generate and maintain the decoding table without requiring software intervention or processing resources. The hardware circuit self-manages the table creation process using its internal logic and pre-configured parameters.

Inventive Principle:
Principle #25Self-service

3Productivity

If canonical Huffman encoding is used for data compression, then data transmission efficiency is improved, but the decoding process becomes more complex

Engineering Contradiction:
Improvedata transmission efficiencyVSAvoiddecoding process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces complex software-based decoding logic with a dedicated hardware priority encoder circuit. This hardware implementation simplifies the decoding process by using fixed logic circuits that automatically handle the canonical Huffman decoding based on pre-configured bit lengths, reducing the perceived complexity for the system.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The priority encoder is configured with specific parameters including bit length information and code structure definitions. By changing and fixing these parameters in hardware, the system optimizes the decoding process for canonical Huffman encoding while maintaining simplicity through dedicated circuit design.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9923576B2Decoding techniques using a programmable priority encoder
Publication Date: 2018.03.20 CISCO TECHNOLOGY INC
  • US9923576B2 patent drawing
  • US9923576B2 patent drawing
  • US9923576B2 patent drawing

AI summary

A system, computer-readable media, and methods are disclosed for building a decoding table. The system may include one or more registers configured to store a data value based on an order in which one or more lengths were obtained. The system may also include a programmable priority encoder configured to scan the one or more registers for the data value. Further, the system may include a memory configured to store, based on locations of the data value in the one or more registers, at least one of encoding values or letters.