Block-Based File Compression Using Per-Block Algorithms

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data compression technologies are limited in their ability to apply different compression algorithms to different portions of a file, often restrict data size limits, and cannot efficiently compress large files, leading to suboptimal compression and potential file path damage during restoration.

Innovation Solution

A method and apparatus that divide a file into blocks, allowing each block to be compressed using the most suitable algorithm, generating a compression file with block headers and bodies, and restoring the original file by parsing block headers and bodies, while encoding file path information to prevent damage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If one compression algorithm is applied to the entire file, then the compression process is simple, but different portions cannot be compressed with optimal algorithms and compression efficiency is reduced

Engineering Contradiction:
Improvecompression efficiencyVSAvoidcompression process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The file is divided into multiple blocks, allowing different compression algorithms to be applied to different blocks. Each block can be independently compressed with the most suitable algorithm, improving overall compression efficiency while maintaining manageable complexity through modular processing

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different compression algorithms are selected for different portions (blocks) of the file based on their specific characteristics. This allows each block to be compressed with locally optimal algorithms, achieving high compression efficiency for diverse file contents without requiring a single complex algorithm for the entire file

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If compression algorithms are applied to large files, then more data can be compressed, but data size limits prevent compression of files exceeding the limit

Engineering Contradiction:
Improvedata sizeVSAvoidcompression capability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

Large files are divided into multiple smaller blocks that each fall within the compression algorithm's data size limits. This allows files of arbitrary size to be compressed by processing them in manageable segments, effectively removing the data size limitation while maintaining reliable compression

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The problem of data size limitation is solved by transitioning from processing the entire file as a single unit to processing it as multiple independent blocks. This dimensional change from whole-file processing to block-level processing enables compression of files exceeding traditional size limits

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If file path information is not encoded during compression, then the compression process is simpler, but file path damage occurs during restoration

Engineering Contradiction:
Improvefile path integrityVSAvoidcompression process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

File path information is encoded and stored in the block header during the compression process before restoration occurs. This preliminary action ensures that the original file path is preserved and can be correctly restored later, preventing file path damage while adding minimal complexity to the compression process

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8593312B2Method and apparatus for compressing and decompressing block unit data
Publication Date: 2013.11.26 ESTSOFT CORP
  • US8593312B2 patent drawing
  • US8593312B2 patent drawing
  • US8593312B2 patent drawing

AI summary

An apparatus for compressing and decompressing data is disclosed. The apparatus for compressing data includes a block setting unit that divides data of at least one original file into two or more blocks, a compression unit that generates block compression data by applying a compression algorithm to data corresponding to at least one block among blocks divided by the block setting unit, and a compression file generation unit that generates a block header and the block body of the block for each block divided by the block setting unit, in which the block body includes the block compression data if the block is compressed by the compression unit or includes the original data of the block if the block is not compressed the by compression unit.