Title: Lossless Compression of FloatingPoint Geometry
1Lossless CompressionofFloating-Point Geometry
Martin Isenburg UNCChapel Hill
Peter Lindstrom LLNLLivermore
Jack Snoeyink UNCChapel Hill
2Overview
- Motivation
- Geometry Compression
- Predictive Schemes
- Corrections in Floating-Point
- Results
- Conclusion
3Meshes and Compression
146 MB
3 MB
UNCpower-plant
127 MB
12,748,510 triangles 11,070,509 vertices
25 MB
4Floating-Point Numbers
- have varying precision
- largest exponent ? least precise
0
128
64
32
16
8
4
x - axis
- 4.095
190.974
5Samples per Millimeter
16 bit
18 bit
20 bit
22 bit
24 bit
6No quantizing possible
- stubborn scientists / engineers
- Do not touch my data !!!
- data has varying precision
- specifically aligned with origin
- not enough a-priori information
- no bounding box
- unknown precision
- streaming data source
7Mesh Compression
- Geometry Compression Deering, 95
- Fast Rendering
- Progressive Transmission
- Maximum Compression
Geometry Compression Deering, 95
Maximum Compression
8Mesh Compression
- Geometry Compression Deering, 95
- Fast Rendering
- Progressive Transmission
- Maximum Compression
- Connectivity
- Geometry
Geometry Compression Deering, 95
Maximum Compression
Geometry
9Mesh Compression
- Geometry Compression Deering, 95
- Fast Rendering
- Progressive Transmission
- Maximum Compression
- Connectivity
- Geometry
- lossy
- lossless
Geometry Compression Deering, 95
Maximum Compression
Geometry
lossless
10Overview
- Motivation
- Geometry Compression
- Predictive Schemes
- Corrections in Floating-Point
- Results
- Conclusion
11Geometry Compression
- Classic approaches 95 98
- linear prediction
Geometry Compression Deering, 95
Geometric Compression through topological
surgery Taubin Rossignac, 98
Triangle Mesh Compression Touma Gotsman, 98
12Geometry Compression
- Classic approaches 95 98
- linear prediction
- Recent approaches 00 03
- spectral
- re-meshing
- space-dividing
- vector-quantization
- angle-based
- delta coordinates
13Geometry Compression
- Classic approaches 95 98
- linear prediction
- Recent approaches 00 03
- spectral
- re-meshing
- space-dividing
- vector-quantization
- angle-based
- delta coordinates
Spectral Compressionof Mesh Geometry Karni
Gotsman, 00
14Geometry Compression
- Classic approaches 95 98
- linear prediction
- Recent approaches 00 03
- spectral
- re-meshing
- space-dividing
- vector-quantization
- angle-based
- delta coordinates
Progressive GeometryCompression Khodakovsky et
al., 00
15Geometry Compression
- Classic approaches 95 98
- linear prediction
- Recent approaches 00 03
- spectral
- re-meshing
- space-dividing
- vector-quantization
- angle-based
- delta coordinates
Geometric Compressionfor interactive
transmission Devillers Gandoin, 00
16Geometry Compression
- Classic approaches 95 98
- linear prediction
- Recent approaches 00 03
- spectral
- re-meshing
- space-dividing
- vector-quantization
- angle-based
- delta coordinates
Vertex data compressionfor triangle meshes Lee
Ko, 00
17Geometry Compression
- Classic approaches 95 98
- linear prediction
- Recent approaches 00 03
- spectral
- re-meshing
- space-dividing
- vector-quantization
- angle-based
- delta coordinates
Angle-Analyzer A triangle-quad mesh
codec Lee, Alliez Desbrun, 02
18Geometry Compression
- Classic approaches 95 98
- linear prediction
- Recent approaches 00 03
- spectral
- re-meshing
- space-dividing
- vector-quantization
- angle-based
- delta coordinates
High-Pass Quantization forMesh
Encoding Sorkine et al., 03
19Overview
- Motivation
- Geometry Compression
- Predictive Schemes
- Corrections in Floating-Point
- Results
- Conclusion
20Predictive Coding
- quantize positions with b bits
- predict from neighbors
- compute difference
- compress with entropy coder
21Predictive Coding
- quantize positions with b bits
- predict from neighbors
- compute difference
- compress with entropy coder
22Predictive Coding
- quantize positions with b bits
- predict from neighbors
- compute difference
- compress with entropy coder
23Predictive Coding
- quantize positions with b bits
- predict from neighbors
- compute difference
- compress with entropy coder
24Arithmetic Entropy Coder
- for a symbol sequence of t types
t
1
?
Entropy pi log2( ) bits
pi
i 1
of type t
pi
total
25Deering, 95
processed region
unprocessed region
26Taubin Rossignac, 98
processed region
unprocessed region
27Touma Gotsman, 98
- Prediction Parallelogram Rule
processed region
unprocessed region
28Talk Overview
- Motivation
- Geometry Compression
- Predictive Schemes
- Corrections in Floating-Point
- Results
- Conclusion
29Corrective Vectors ?
compute difference vectorwith integer arithmetic
3032-bit IEEE Floating-Point
X
X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X
1 bit sign
8 bit exponent
23 bit mantissa
0
-½
½
- 1
1
- 2.0
2.0
- 4.0
4.0
- 8.0
8.0
16.0
-16.0
3132-bit IEEE Floating-Point
X
X X X X X X X X
X X X X X X X X X X X X X X X X X X X X X X X
1 bit sign
8 bit exponent
23 bit mantissa
0
-½
½
- 1
1
- 2.0
2.0
- 4.0
4.0
- 8.0
8.0
16.0
-16.0
01999a
82
1
75c284
7a
1
49999a
82
0
32Floating-Point Corrections (1)
position
prediction
33Floating-Point Corrections (2)
position
prediction
1
82
01999a
1
81
7ccccd
34Floating-Point Corrections (3)
position
prediction
1
7a
75c284
0
7c
0f5c29
35Talk Overview
- Motivation
- Geometry Compression
- Predictive Schemes
- Corrections in Floating-Point
- Results
- Conclusion
36Results bpv
model
buddha david power plant lucy
raw
gzip -9
55.8 56.1 23.7 78.7
96.0 96.0 96.0 96.0
37Percentage of Unique Floats
82.4
77.2
y
z
53.4
49.0
42.0
x
40.2
37.6
x
z
28.9
x
y
22.2
y
z
4.4
2.0
1.5
x
z
y
buddha
david
powerplant
lucy
38Completing, not competing !!!
model
buddha david power plant lucy
16 bit
21.8 12.5 11.6 14.6
39Simpler Scheme (Non-Predictive)
A
40Simpler Scheme (Predictive)
A
41Talk Overview
- Motivation
- Geometry Compression
- Predictive Schemes
- Corrections in Floating-Point
- Results
- Conclusion
42Summary
- efficient predictive compression of
floating-point in a lossless manner
- predict in floating-point
- break predicted and actual float into several
components - compress differences separately
- use exponent to switch contexts
- completing, not competing
43Current / Future Work
- investigate trade-offs
- compression versus throughput
- optimize implementation
- run faster / use less memory
- improve scheme for sparse data
- quantize without bounding box
- guarantee precision
- learn bounding box
44Acknowledgments
- funding
- LLNL
- DOE contract No. W-7405-Eng-48
- models
- Digital Michelangelo Project
- UNC Walkthru Group
- Newport News Shipbuilding
45- Thank You!
- ?????????,????!