LZW Decompression Using a Reverse Order Stack

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

LZW based decompression algorithms are computationally inefficient due to the need for additional data transformation when using a push-down stack to resolve symbols in the decompression process.

Innovation Solution

Implementing a reverse order stack that stores and outputs decoded byte characters in the correct order, eliminating the need for additional transformation and enhancing computational efficiency by directly outputting the decompressed data set.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a push-down stack is used to resolve symbols during LZW decompression, then symbols can be stored and combined, but the decoded values are retrieved in reversed order requiring additional transformation

Engineering Contradiction:
Improvesymbol resolution processVSAvoidcomputational efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent inverts the traditional push-down stack approach by using a stack that outputs values in the correct order rather than reversed order. Instead of pushing symbols onto a stack and then popping them off in reverse sequence, the system uses a stack structure that maintains the correct sequential order of decoded values, eliminating the need for post-decompression transformation operations.

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

2Device complexity

If decoded values are retrieved from the stack in reversed order, then the stack structure is simple, but additional transformation is required to achieve correct order

Engineering Contradiction:
Improvestack structureVSAvoidtransformation time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system performs preliminary action by pre-organizing the stack structure to output values in the correct order from the beginning of the decompression process. Rather than allowing values to be stored in reverse order and then transforming them later, the stack is designed upfront to maintain correct sequencing, so that no additional transformation time is needed.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If a reverse order stack is used to store decoded byte characters, then output order is correct, but the stack must be filled in reverse order starting at the last memory address

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidstack memory management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies asymmetry by using a non-standard stack filling approach where the stack is filled in reverse order starting at the last memory address rather than the conventional first-to-last approach. This asymmetric memory management strategy allows the stack to naturally output values in the correct sequential order, trading unconventional memory access patterns for elimination of transformation operations.

Inventive Principle:
Principle #4Asymmetry

Data Source

PatentUS9054730B2Method and system for LZW based decompression
Publication Date: 2015.06.09 COMPART
  • US9054730B2 patent drawing
  • US9054730B2 patent drawing
  • US9054730B2 patent drawing

AI summary

A computer implemented method, computer program product, and system for decompressing compressed data. The system (400) has an interface component (420) configured to access and read a compressed data set (310) encoded with a LZW based compression algorithm. The compressed data set (310) includes a sequence of elements including byte characters (B) and symbols (S1/S2), each symbol corresponding to an encoded subset of the data set, and each symbol having a first portion (S1) including a previous symbol or a byte character and having a second portion (S2) including a byte character. The system further has a decoder (410) configured to generate a decompressed data set (320) by applying a LZW based decompression algorithm to the compressed data set (310) The decoder (410) makes use of a reverse order stack (440) configured for intermediate storage of byte characters decoded by the decoder (410) from the compressed data set (310). In one embodiment the system further has a dictionary which can store the full content values of symbols.