Variable Copy Pointer Encoding for Higher Data Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data compression techniques, such as SLDC, face limitations in achieving optimal compression ratios due to inefficiencies in encoding consecutive data units and displacement counts, leading to suboptimal output data streams.

Innovation Solution

The implementation of variable length code tables, specifically Huffman coding, to generate copy pointer and literal data symbols, where the encoding scheme is determined based on relative displacement counts and match counts, allowing for more efficient representation of consecutive data units in the compressed output.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If fixed-length encoding is used for displacement counts and match counts, then the encoding scheme is simple and easy to implement, but the compression ratio is suboptimal due to inefficient bit representation

Engineering Contradiction:
Improveease of implementationVSAvoidcompression ratio
Core Design Contradiction:
Ease of manufactureVSLoss of substance

Solution Approach 1:

The patent implements dynamic encoding by selecting between different code tables (first code table for small displacement counts, second code table for large displacement counts) based on the actual displacement count value. This dynamic adaptation allows the system to use the most efficient encoding for each specific case, improving overall compression ratio while maintaining implementation feasibility through clear selection criteria.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the encoding parameters (code table selection) based on the displacement count value and match count value. By switching between different encoding schemes (fixed-length vs. variable-length, different bit allocations) according to the data characteristics, the system achieves better compression efficiency without significantly complicating the implementation.

Inventive Principle:
Principle #35Parameter changes

2Loss of substance

If variable length code tables are used for encoding, then the compression ratio improves by reducing bits required, but the device complexity increases due to multiple code tables and selection logic

Engineering Contradiction:
Improvecompression ratioVSAvoidencoding scheme complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The patent segments the encoding space into multiple code tables, where the first code table handles small displacement counts (e.g., 0-255) and the second code table handles large displacement counts (e.g., 256-65535). This segmentation allows each code table to be optimized for its specific range, achieving better compression while keeping each individual code table relatively simple and manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary classification by comparing the displacement count against thresholds before encoding. This preliminary action determines which code table to use, allowing the system to prepare the appropriate encoding scheme in advance, which simplifies the actual encoding process and reduces runtime complexity despite having multiple code tables.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If absolute displacement counts are encoded, then the encoding is straightforward, but the number of bits required is larger compared to relative displacement counts

Engineering Contradiction:
Improveencoding simplicityVSAvoidbits required
Core Design Contradiction:
Ease of manufactureVSLoss of substance

Solution Approach 1:

The patent changes the encoding parameter from absolute displacement count to relative displacement count (difference between current and previous displacement counts). This parameter transformation significantly reduces the number of bits required, especially when displacement counts change gradually, while maintaining encoding simplicity through straightforward subtraction and encoding of the difference value.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9041567B2Using variable encodings to compress an input data stream to a compressed output data stream
Publication Date: 2015.05.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9041567B2 patent drawing
  • US9041567B2 patent drawing
  • US9041567B2 patent drawing

AI summary

Provided are a computer program product, system, method, and data structure for compressing an input data stream. A determination is made of consecutive data units in the input data stream that match consecutive data units in a history buffer. A copy pointer symbol indicates a copy pointer symbol referencing previously received data units in the history buffer. A determination is made of a relative displacement count in the history buffer at which the number of matching consecutive data units start. A determination is made of a range of relative displacement counts comprising one of a plurality of ranges of displacement counts including the determined relative displacement count. A determination is made of the encoding scheme associated with the determined range. An encoding of the relative displacement count is determined from the determined encoding scheme. The determined encoding of the relative displacement count is indicated in the copy pointer.