450 likes | 559 Views
Lossless Compression of Floating-Point Geometry. Martin Isenburg UNC Chapel Hill. Peter Lindstrom LLNL Livermore. Jack Snoeyink UNC Chapel Hill. Overview. Motivation Geometry Compression Predictive Schemes Corrections in Floating-Point Results Conclusion. connectivity.
E N D
Lossless CompressionofFloating-Point Geometry Martin Isenburg UNCChapel Hill Peter Lindstrom LLNLLivermore Jack Snoeyink UNCChapel Hill
Overview • Motivation • Geometry Compression • Predictive Schemes • Corrections in Floating-Point • Results • Conclusion
connectivity face1 1 2 3 face2 2 1 4 face3 3 2 5 facem 3m*32 bits • geometry vertex1 ( x, y, z ) vertex2 ( x, y, z ) vertex3 ( x, y, z ) vertexn 3n*32 bits 20 uniform quantization Meshes and Compression 146 MB 3 MB UNCpower-plant 127 MB 12,748,510 triangles 11,070,509 vertices 25 MB
23 bits ofprecision 23 bits ofprecision 23 bits ofprecision Floating-Point Numbers • have varying precision • largestexponentleastprecise 0 4 8 16 32 64 128 x - axis -4.095 190.974
327 1311 20cm 97 388 2.7 m 1553 5 86 22 195 m Samples per Millimeter 16 bit 18 bit 20 bit 22 bit 24 bit
No 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
Mesh Compression • Geometry Compression [Deering,95] • Fast Rendering • Progressive Transmission • Maximum Compression Geometry Compression[Deering, 95] Maximum Compression
Mesh Compression • Geometry Compression [Deering,95] • Fast Rendering • Progressive Transmission • Maximum Compression • Connectivity • Geometry Geometry Compression[Deering, 95] Maximum Compression Geometry
Mesh Compression • Geometry Compression [Deering,95] • Fast Rendering • Progressive Transmission • Maximum Compression • Connectivity • Geometry • lossy • lossless Geometry Compression[Deering, 95] Maximum Compression Geometry lossless
Overview • Motivation • Geometry Compression • Predictive Schemes • Corrections in Floating-Point • Results • Conclusion
Java3D MPEG-4 Virtue3D Geometry 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]
Geometry Compression • Classic approaches [95 – 98]: • linear prediction • Recent approaches [00 – 03]: • spectral • re-meshing • space-dividing • vector-quantization • angle-based • delta coordinates
expensive numericalcomputations Geometry 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]
modifies mesh priorto compression Geometry 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]
poly-soups; complexgeometric algorithms Geometry 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]
local coord-system +vector-quantization Geometry 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]
dihedral + internal =heavy trigonometry Geometry 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]
basis transformationwith Laplacian matrix Geometry 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]
Overview • Motivation • Geometry Compression • Predictive Schemes • Corrections in Floating-Point • Results • Conclusion
integer floating point (1008,68,718) (1.314,-0.204,0.704) Predictive Coding • quantize positions with b bits • predict from neighbors • compute difference • compress with entropy coder
prediction prediction rule (1.276,-0.182,0.734) prediction prediction rule (1004,71,723) Predictive Coding • quantize positions with b bits • predict from neighbors • compute difference • compress with entropy coder
position prediction corrector (1008,68,718) (1004,71,723) (4,-3,-5) position prediction ? (1.314,-0.204,0.704) (1.276,-0.182,0.734) Predictive Coding • quantize positions with b bits • predict from neighbors • compute difference • compress with entropy coder
corrector distribution position distribution 3500 70 3000 60 2500 50 2000 40 1500 30 1000 20 500 10 0 0 Predictive Coding • quantize positions with b bits • predict from neighbors • compute difference • compress with entropy coder
0.2 bits 1.3 bits 2.0 bits Arithmetic Entropy Coder for a symbol sequence of t types t 1 Entropy = pi• log2( ) bits pi i =1 # of type t pi= # total
P = A P A Deering, 95 Prediction: Delta-Coding processed region unprocessed region
P = αA + βB + γC + δD + εE + … P A B C D E Taubin & Rossignac, 98 Prediction: Spanning Tree processed region unprocessed region
P = A – B + C P A B C Touma & Gotsman, 98 Prediction: Parallelogram Rule processed region unprocessed region
Talk Overview • Motivation • Geometry Compression • Predictive Schemes • Corrections in Floating-Point • Results • Conclusion
position prediction (1008,68,718) (1004,71,723) corrector (4,-3,-5) position prediction (1.314,-0.204,0.704) (1.276,-0.182,0.734) compute differencevector withfloating-point arithmetic ? corrector (0.038,-0.022,-0.030) Corrective Vectors ? compute difference vectorwith integer arithmetic
1 1 0 1 0 1 0 0 1 0 7E 82 81 80 7E 7D 82 81 80 7D … … … … … … … … … … corrector corrector position prediction 12.74 -12.8 -0.06 0 1 82 82 4bd708 4ccccd 1 7a 75c28f 32-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 23 bit mantissa 8 bit exponent 0 -½ ½ -1 1 -2.0 2.0 -4.0 4.0 8.0 -8.0 16.0 -16.0
0 0 0 0 0 1 1 1 1 1 7D 82 7E 7E 81 80 81 82 7D 80 … … … … … … … … … … -7.9 0.14 -0.06 -8.1 12.8 12.6 1 1 0 1 0 0 82 82 7c 82 7a 81 7ccccd 4ccccd 75c284 0f5c29 01999a 49999a -0.2 -0.2 -0.2 position prediction position prediction position prediction 32-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 23 bit mantissa 8 bit exponent 0 -½ ½ -1 1 -2.0 2.0 -4.0 4.0 8.0 -8.0 16.0 -16.0 1 82 01999a 1 7a 75c284 0 82 49999a
0 82 49999a 0 82 4ccccd compress use context 82 82 0 0 0 12.6 12.8 use context 82 0 0 82 82 49999a 4ccccd -033333 49999a 4ccccd Floating-Point Corrections (1) position prediction
compress use context 81 82 0 1 1 -8.1 -7.9 use context 82 1 1 82 81 01999a 7ccccd 01999a 01999a 0 Floating-Point Corrections (2) position prediction 1 82 01999a 1 81 7ccccd
compress use context 7c 7a 1 1 0 -0.06 0.14 use context 7a 0 1 7a 7c 75c284 0f5c29 75c284 75c284 0 Floating-Point Corrections (3) position prediction 1 7a 75c284 0 7c 0f5c29
Talk Overview • Motivation • Geometry Compression • Predictive Schemes • Corrections in Floating-Point • Results • Conclusion
ours ratio 49.9 34.7 29.1 44.4 0.90 0.62 1.21 0.56 Results [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
543,652 vertices 11,070,509 vertices 228,402 differentz-coordinates 226,235 differentz-coordinates Percentage 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
bit-rate [bpv] 24 bit lossless 20 bit 32.2 23.2 18.5 26.5 44.0 34.1 24.2 39.1 49.9 34.7 29.1 44.4 buddha david power plant lucy compression ratio [%] 54 39 31 44 61 47 34 54 52 36 30 46 45 26 24 30 Completing, not competing !!! model buddha david power plant lucy 16 bit 21.8 12.5 11.6 14.6
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 4 symbols, each ranging from 0 to 63 32 symbols, each ranging from 0 to 1 8 symbols, each ranging from 0 to 15 B 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 X X C 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 X X buddha david power plant lucy model A B C ours 76.5 53.9 61.7 68.1 76.4 52.3 56.4 68.6 49.9 34.7 29.1 44.4 78.9 58.4 67.3 69.5 Simpler Scheme (Non-Predictive) A
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 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 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 X X B 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 X X C 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 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 X X X X buddha david power plant lucy model A B C ours 55.6 38.2 38.5 45.4 53.1 36.1 33.6 44.8 49.9 34.7 29.1 44.4 59.4 44.0 44.9 48.8 Simpler Scheme (Predictive) A
Talk Overview • Motivation • Geometry Compression • Predictive Schemes • Corrections in Floating-Point • Results • Conclusion
Summary • 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
Current / 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
Acknowledgments funding: • LLNL • DOE contract No. W-7405-Eng-48 models: • Digital Michelangelo Project • UNC Walkthru Group • Newport News Shipbuilding
Thank You! ขอบคุณมาก,ครับ!