Floating-Point CAD Compression Using Integer Delta Prediction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for compressing CAD files face challenges in achieving lossless and stable compression across different platforms, particularly due to issues with floating-point arithmetic operations, which can lead to varying results on different hardware and software configurations, and often result in inefficient compression rates and storage size optimization.
Innovation Solution
A computer-implemented method that iteratively computes and stores bit sequences representing differences between target actual values and predicted values, using integer operations to emulate floating-point arithmetic, ensuring stability and losslessness across platforms, and applies this method to structured sets of floating-point values in CAD files.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If floating-point arithmetic operations are used for compression, then compression algorithms can be implemented, but results vary across different hardware and software platforms leading to instability
Solution Approach 1:
The patent replaces floating-point arithmetic operations with integer arithmetic operations. Integer operations are used to manipulate the exponent and mantissa components of floating-point numbers, eliminating platform-specific floating-point behavior while maintaining compression functionality. This substitution ensures deterministic results across all platforms.
Solution Approach 2:
The patent introduces an intermediary representation by decomposing floating-point numbers into their component parts (sign, exponent, mantissa) and performing operations on these components as integers. This intermediary approach allows the compression algorithm to work with floating-point data while using only stable integer arithmetic operations.
2Quantity of substance
If traditional compression methods are used on CAD files, then some compression is achieved, but lossless compression with high compression rates is difficult to achieve
Solution Approach 1:
The patent changes the parameters being compressed by focusing on the differences between consecutive floating-point values rather than compressing the values directly. By encoding the delta between adjacent values using integer arithmetic, the patent achieves both lossless compression and higher compression rates, as the differences are typically much smaller than the original values.
Solution Approach 2:
The patent segments the floating-point number into its component parts (sign, exponent, mantissa) and processes each component separately using integer operations. This segmentation allows for precise control over the compression process while maintaining the ability to reconstruct the original value exactly, achieving lossless compression.
3Productivity
If floating-point values are compressed directly, then compression can be performed, but platform-specific floating-point arithmetic leads to inconsistent results
Solution Approach 1:
The patent substitutes floating-point arithmetic with integer arithmetic throughout the compression process. By representing floating-point numbers as combinations of integer components and performing all calculations using integer operations, the patent eliminates platform-specific floating-point behavior while maintaining compression productivity.
Solution Approach 2:
The patent changes from operating on floating-point values directly to operating on the integer components (exponent and mantissa) that make up floating-point representations. This parameter transformation enables consistent cross-platform operation while preserving the ability to compress floating-point data effectively.
Data Source
Figure 1
Figure 2
Figure 3
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.