Floating-Point Residual Encoding for Stable CAD File Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for compressing CAD files with floating-point data fail to ensure stability across different platforms, leading to inconsistencies in data representation and inefficient storage optimization.

Innovation Solution

A computer-implemented method that computes a floating-point predicted value for each target value in a structured set of floating-point actual values, using integer operations to store a bit sequence representing the difference between the target and predicted values, ensuring lossless and stable compression across platforms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If floating-point values are stored directly in CAD files, then data integrity is maintained, but storage size increases and compression efficiency decreases

Engineering Contradiction:
Improvestorage sizeVSAvoiddata integrity
Core Design Contradiction:
Quantity of substanceVSLoss of information

Solution Approach 1:

The patent applies preliminary action by computing predicted values for floating-point data before storage. The method calculates expected values based on spatial relationships and stores only the differences (residuals) between actual and predicted values. This preprocessing step enables efficient compression while maintaining data integrity, as the original values can be perfectly reconstructed by adding the stored residuals to the predicted values.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If compression algorithms are applied to CAD data, then storage optimization improves, but platform stability and data consistency deteriorate

Engineering Contradiction:
Improvestorage sizeVSAvoidplatform stability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent substitutes the conventional compression approach with a prediction-based method that uses spatial relationships and mathematical models to predict floating-point values. Instead of applying generic compression algorithms that may introduce platform-specific variations, the method uses deterministic predictions based on geometric relationships, ensuring consistent results across different platforms while achieving high compression ratios.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If prediction-based compression is used, then compression rate increases, but computational complexity increases

Engineering Contradiction:
Improvecompression rateVSAvoidcomputational complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the computational task into two distinct phases: a compression phase that computes predicted values and stores residuals, and a decompression phase that reconstructs original values by adding residuals to predicted values. This segmentation allows the system to achieve high compression rates while managing computational complexity through efficient algorithms in each phase, avoiding the need for complex real-time processing.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8963748B2Compression and decompression of numerical data
Publication Date: 2015.02.24 DASSAULT SYSTEMES SA
  • US8963748B2 patent drawing
  • US8963748B2 patent drawing
  • US8963748B2 patent drawing

AI summary

The invention relates to a computer-implemented method for compressing numerical data comprising a structured set of floating point actual values. A floating point value is defined by a sign, an exponent and a mantissa. The method comprises computing a floating point predicted value related to a target actual value of the set. The computing includes performing operations on integers corresponding to the sign, to the exponent and/or to the mantissa of actual values of a subset of the set. The method also comprises storing a bit sequence representative of a difference between integers derived from the target actual value and the predicted value. Such a method is particularly efficient for reducing the storage size of a CAD file.