Run-Length Data Compression for Continuous Binary Image Values

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data compression methods, such as PackBits, are inefficient in compressing data with continuous numerical values, leading to redundant encoded data and suboptimal bulk compressibility, especially in binary data representing images with uniform density.

Innovation Solution

A data compression apparatus and program that detect continuous numerical values and encode them differently based on their frequency, using a combination of differential coding, run-length coding, and Huffman coding to express the number of continuities with varying bit lengths, improving compressibility by directly outputting non-compression subject numerical values and encoding subject values with their continuity counts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If PackBits compression is applied to binary data with continuous numerical values, then the data is encoded, but the compression ratio is poor (1/64) and redundancy increases

Engineering Contradiction:
Improvedata compression ratioVSAvoiddata redundancy
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

The patent segments the binary data into continuous numerical value patterns and isolated values. By detecting sequences of identical values (e.g., multiple consecutive 0s or 1s), the method applies different encoding strategies to different segments: run-length encoding for continuous patterns and direct output for isolated values, thereby achieving superior compression compared to uniform PackBits encoding

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the encoding parameter based on the detected pattern type. When continuous numerical values are detected, it uses variable-bit encoding where the number of bits used to represent the count varies according to the length of the continuous sequence, achieving adaptive compression that optimizes the compression ratio for each specific data pattern

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If conventional compression methods are used, then the processing is simple, but the bulk compressibility is suboptimal for data with continuous numerical values

Engineering Contradiction:
Improvebulk compressibilityVSAvoidcompression processing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent performs preliminary detection of continuous numerical value patterns before encoding. By scanning the data in advance to identify sequences of identical values and marking them for special encoding, the method prepares the data structure to enable highly efficient compression in the subsequent encoding phase, achieving better bulk compressibility than methods that encode without preliminary analysis

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The compression algorithm serves itself by using the detected pattern information to automatically select the appropriate encoding method. The system identifies its own data characteristics (continuous patterns vs. isolated values) and applies the corresponding encoding strategy without external intervention, optimizing compression efficiency adaptively

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7684629B2Data compression apparatus, and data compression program storage medium
Publication Date: 2010.03.23 FUJIFILM CORP
  • US7684629B2 patent drawing
  • US7684629B2 patent drawing
  • US7684629B2 patent drawing

AI summary

According to a data compression apparatus for compressing data such as image data, there is determined a difference between adjacent numerical values on the continuity of numerical values constituting data to be compressed. Of the numerical values appearing in the difference data, only the numerical value “YY” is encoded. There is performed such a coding that a continued number Z of the numerical value “YY” is expressed with different bit numbers in accordance with Z<128 or z≧128. In the coding, when data to be compressed is concerned with the binary data represented by only two sorts of numerical values, there is created new data to be compressed, which consists of continued numerical values represented by a unit bit number, in such a manner that the two sorts of numerical values are discriminated in one bit and the continuity of the one bit is expressed for unit bit number on a batch basis, and the created new data is transferred to the first data compression section.