450 likes | 577 Vues
This paper presents innovative techniques for lossless compression of floating-point geometry data, addressing the challenges posed by varying precision and alignment issues in the data. We explore predictive coding methods, corrective measures for inaccuracies, and the results of applying advanced compression algorithms on complex geometric meshes. The study evaluates both classic and recent approaches for efficient geometry compression, demonstrating significant data reduction while preserving essential detail. Our findings suggest promising pathways for improved data transmission and storage in applications such as 3D graphics and scientific computing.
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! ขอบคุณมาก,ครับ!