Floating-Point Mantissa Prediction for Higher Compression Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current lossless compression methods for floating-point data, particularly in HDR images, face challenges due to the high entropy of mantissa values caused by large jumps between neighboring values, which limits compression efficiency since predictions in entropy coding are rarely true, and existing methods fail to effectively account for the correlation between exponent and mantissa.

Innovation Solution

The proposed method reduces mantissa entropy by generating an estimated value for each mantissa using extrapolation based on neighborhood values, specifically using linear or higher-order extrapolation to predict trends and minimize deviations, thereby reducing the impact of exponent jumps and enhancing compression efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional entropy coding methods are used to compress floating-point data, then the compression process is simple, but the compression ratio is poor due to high entropy of mantissa values

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

Solution Approach 1:

The patent applies preliminary action by performing mantissa prediction before the actual entropy coding process. The predicted mantissa values are calculated in advance based on neighboring values, and the residuals (differences between actual and predicted values) are then encoded. This pre-processing step reduces the entropy of the data to be encoded, significantly improving compression ratio while adding manageable complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary element - the mantissa prediction mechanism - that mediates between the original high-entropy mantissa values and the entropy coding process. By predicting mantissa values from neighboring data and encoding only the residuals, the prediction mechanism acts as an intermediary that transforms the data into a more compressible form without losing information.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If mantissa values are encoded directly without prediction, then the encoding process is straightforward, but large jumps between neighboring mantissa values cause high entropy and reduce compression efficiency

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

Solution Approach 1:

The patent applies preliminary action by performing mantissa prediction before the actual entropy coding process. The predicted mantissa values are calculated in advance based on neighboring values, and the residuals (differences between actual and predicted values) are then encoded. This pre-processing step reduces the entropy of the data to be encoded, significantly improving compression ratio while adding manageable complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter being encoded - instead of encoding the original mantissa values directly, it encodes the residuals (differences between actual and predicted mantissa values). This parameter transformation converts high-entropy mantissa values with large jumps into low-entropy residuals that vary smoothly, dramatically improving compression efficiency.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If the correlation between exponent and mantissa is not considered, then the coding process is simpler, but compression performance is limited due to ignored dependencies

Engineering Contradiction:
Improvebit rate gainVSAvoidcontext modeling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the parameter being encoded - instead of encoding the original mantissa values directly, it encodes the residuals (differences between actual and predicted mantissa values). This parameter transformation converts high-entropy mantissa values with large jumps into low-entropy residuals that vary smoothly, dramatically improving compression efficiency.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies feedback by using previously decoded mantissa values to predict current mantissa values. The prediction process uses neighboring mantissa values as feedback to estimate the current value, and the residuals are then encoded. This feedback mechanism exploits the correlation between neighboring values to improve compression performance.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP2294825B1Device and method for encoding and decoding a plurality of floating point values
Publication Date: 2014.10.08 FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
  • EP2294825B1 patent drawingFigure 1A
  • EP2294825B1 patent drawingFigure 1B
  • EP2294825B1 patent drawingFigure 2A

AI summary

The invention relates to a device and a method for encoding and decoding a plurality of floating point values (F) by predicting the contained mantissa values on the basis of the context. The invention allows the very erratic behavior of the mantissas of typical floating point values to be attenuated while making encoding efficient. Exemplary embodiments describe a device for encoding a plurality of floating point values (F), comprising an extrapolation unit (110), a determination unit (120), and an encoding unit (130). The extrapolation unit (110) extrapolates floating point values (F) from a vicinity of a predetermined floating point value of the plurality of floating points values (F) in order to obtain an estimated value (S) for the predetermined floating point value (I). The determination unit (120) determines a residual value of the mantissa from a difference between the estimated value and the predetermined floating point value (I). The encoding unit (130) encodes the predetermined floating point value by encoding the exponent of the predetermined floating point value (F) and of the residual value of the mantissa.