Incremental Delta Compression With Dynamic Reference Values

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data compression methods are inefficient in terms of memory usage and bandwidth, especially for data sets with monotonic or sequential values, as they store each value separately rather than utilizing incremental differences.

Innovation Solution

The method employs a variable reference value that is updated as values are added to the compressed data set, calculating deltas between consecutive values and storing only these deltas, with the last value stored as the reference, allowing for more compact representation and faster access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If each value is stored separately in the data set, then the data can be easily accessed and retrieved, but the storage requirements and bandwidth usage increase significantly

Engineering Contradiction:
Improvestorage requirementsVSAvoiddata access
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The patent segments the data storage into two distinct components: a reference value stored separately and delta values stored in a compressed format. This segmentation allows the reference value to be accessed directly while delta values consume minimal space, resolving the contradiction between reduced storage requirements and maintained data accessibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces delta values as an intermediary representation between the original data values and the stored format. Instead of storing actual values, the system stores differences (deltas) from a reference point, which significantly reduces storage requirements while enabling efficient data reconstruction through simple arithmetic operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If incremental deltas are used to compress the data set, then storage efficiency and bandwidth usage improve, but the complexity of data compression and decompression increases

Engineering Contradiction:
Improvebandwidth usageVSAvoidcompression algorithm
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent changes the parameter representation from absolute values to relative differences (deltas). By storing the difference between consecutive values rather than the values themselves, the system achieves significant compression for sequential or monotonic data while keeping the compression algorithm simple—essentially a matter of subtracting the reference value from each subsequent value.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If a single reference value is used for compression, then the compression structure remains simple, but the ability to handle large variations in data values is limited

Engineering Contradiction:
Improvecompression structureVSAvoiddata value range handling
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic reference value system where the reference value can be updated as new data arrives or as the data distribution changes. This dynamic approach allows the compression system to adapt to varying data ranges and patterns while maintaining a relatively simple compression structure, resolving the contradiction between structural simplicity and adaptability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10055135B2Method and apparatus for compressing a data set using incremental deltas and a variable reference value
Publication Date: 2018.08.21 INTEL CORP
  • US10055135B2 patent drawing
  • US10055135B2 patent drawing
  • US10055135B2 patent drawing

AI summary

An apparatus comprises a processor to receive a plurality of values of a data set, the data set comprising a first value, a second value, and a third value; calculate and store a first delta corresponding to the first value, wherein the first delta is equal to the difference between the first value and the second value; and calculate and store a second delta corresponding to the second value, wherein the second delta is equal to the difference between the second value and the third value.