1 / 45

Lossless Compression of Floating-Point Geometry

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.

zamora
Download Presentation

Lossless Compression of Floating-Point Geometry

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lossless CompressionofFloating-Point Geometry Martin Isenburg UNCChapel Hill Peter Lindstrom LLNLLivermore Jack Snoeyink UNCChapel Hill

  2. Overview • Motivation • Geometry Compression • Predictive Schemes • Corrections in Floating-Point • Results • Conclusion

  3. 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

  4. 23 bits ofprecision 23 bits ofprecision 23 bits ofprecision Floating-Point Numbers • have varying precision • largestexponentleastprecise 0 4 8 16 32 64 128 x - axis -4.095 190.974

  5. 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

  6. 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

  7. Mesh Compression • Geometry Compression [Deering,95] • Fast Rendering • Progressive Transmission • Maximum Compression Geometry Compression[Deering, 95] Maximum Compression

  8. Mesh Compression • Geometry Compression [Deering,95] • Fast Rendering • Progressive Transmission • Maximum Compression • Connectivity • Geometry Geometry Compression[Deering, 95] Maximum Compression Geometry

  9. Mesh Compression • Geometry Compression [Deering,95] • Fast Rendering • Progressive Transmission • Maximum Compression • Connectivity • Geometry • lossy • lossless Geometry Compression[Deering, 95] Maximum Compression Geometry lossless

  10. Overview • Motivation • Geometry Compression • Predictive Schemes • Corrections in Floating-Point • Results • Conclusion

  11. 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]

  12. Geometry Compression • Classic approaches [95 – 98]: • linear prediction • Recent approaches [00 – 03]: • spectral • re-meshing • space-dividing • vector-quantization • angle-based • delta coordinates

  13. 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]

  14. 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]

  15. 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]

  16. 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]

  17. 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]

  18. 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]

  19. Overview • Motivation • Geometry Compression • Predictive Schemes • Corrections in Floating-Point • Results • Conclusion

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. P = A P A Deering, 95 Prediction: Delta-Coding processed region unprocessed region

  26. P = αA + βB + γC + δD + εE + … P A B C D E Taubin & Rossignac, 98 Prediction: Spanning Tree processed region unprocessed region

  27. P = A – B + C P A B C Touma & Gotsman, 98 Prediction: Parallelogram Rule processed region unprocessed region

  28. Talk Overview • Motivation • Geometry Compression • Predictive Schemes • Corrections in Floating-Point • Results • Conclusion

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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

  34. 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

  35. Talk Overview • Motivation • Geometry Compression • Predictive Schemes • Corrections in Floating-Point • Results • Conclusion

  36. 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

  37. 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

  38. 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

  39. X X X X X X X X 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

  40. X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X 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

  41. Talk Overview • Motivation • Geometry Compression • Predictive Schemes • Corrections in Floating-Point • Results • Conclusion

  42. 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

  43. 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

  44. Acknowledgments funding: • LLNL • DOE contract No. W-7405-Eng-48 models: • Digital Michelangelo Project • UNC Walkthru Group • Newport News Shipbuilding

  45. Thank You! ขอบคุณมาก,ครับ!

More Related