LZ77 Matching String Segmentation for Overlap-Free Decompression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In the LZ77 data compression algorithm, when a copy source overlaps a copy destination, high-speed multi-byte copying is hindered, requiring a complicated process for individual byte copying, and it is necessary to confirm whether a copy source overlaps a copy destination before decompression can proceed efficiently.

Innovation Solution

The algorithm subdivides and encodes matching strings such that the relative position is greater than the matching length, preventing overlap between the copy source and destination, allowing for high-speed decompression without conditional branch processing by dividing the matching string in a way that the copy source does not overlap the copy destination.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the LZ77 algorithm is used for data compression, then data can be compressed by replacing repeated symbol strings with pointers, but when a copy source overlaps a copy destination during decompression, high-speed multi-byte copying is hindered and complicated individual byte copying is required

Engineering Contradiction:
Improvedecompression speedVSAvoidprocessing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the matching string into multiple parts by introducing a division point. The matching string is divided such that the copy source and copy destination do not overlap, allowing independent processing of each segment. This segmentation enables the use of efficient multi-byte copying operations without conditional branch processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary division of the matching string during the compression phase, establishing division points that prevent overlap between copy source and destination. This preliminary action ensures that during decompression, the copy operations can proceed directly without needing to check for overlaps or take conditional branches, thereby achieving high-speed decompression.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If conditional branch processing is used to handle overlapping copy source and destination, then correct decompression can be achieved, but decompression speed is reduced due to the need for conditional checks

Engineering Contradiction:
Improvedecompression correctnessVSAvoiddecompression speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent performs preliminary division of the matching string during compression to establish division points that guarantee non-overlapping copy source and destination. This preliminary action eliminates the need for conditional branch processing during decompression, as the structure is already optimized to prevent overlaps, thereby achieving both correctness and high speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent converts the potential harm of overlapping copy operations into a benefit by deliberately introducing division points that prevent overlaps. This design choice transforms what could be a problematic situation into an optimized structure that enables faster, simpler decompression operations without conditional checks.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

3Device complexity

If the matching string is not divided, then the compression structure is simple, but the copy source may overlap the copy destination requiring complex processing

Engineering Contradiction:
Improvecompression structureVSAvoiddecompression efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the matching string by introducing division points that split it into multiple parts. This segmentation prevents overlap between copy source and destination, enabling efficient decompression. The segmentation is performed in a way that maintains compression effectiveness while eliminating the need for complex overlap handling during decompression.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary division of the matching string during compression, establishing division points that prevent overlap. This preliminary action simplifies the decompression process by ensuring that copy operations can proceed directly without conditional checks, thereby improving decompression efficiency while maintaining a manageable compression structure.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9438271B2Data compression apparatus and method
Publication Date: 2016.09.06 FUJITSU LTD
  • US9438271B2 patent drawing
  • US9438271B2 patent drawing
  • US9438271B2 patent drawing

AI summary

A data compression apparatus includes a memory and a processor. The processor extracts a second character string as a matching string from a character string after a first character string in a character string of data before compression that is stored in the memory, the second character string being identical with the first character string, and identifies a length of the matching string, and a relative position indicating how many addresses the first character string precedes the second character string by. The processor extracts a third character string having a length that is less than the relative position from the extracted second character string. The processor encodes a length of the third character string. The processor encodes the relative position.