Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lossless Compression of Floating-Point Geometry Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Jack Snoeyink UNC Chapel Hill.

Similar presentations


Presentation on theme: "Lossless Compression of Floating-Point Geometry Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Jack Snoeyink UNC Chapel Hill."— Presentation transcript:

1 Lossless Compression of Floating-Point Geometry Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Jack Snoeyink UNC Chapel Hill

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

3 127 MB 12,748,510triangles 11,070,509vertices Meshes and Compression connectivity face 1 1 2 3 face 2 2 1 4 face 3 3 2 5 face m 3m * 32 bits 3n * 32 bits 146 MB UNC power-plant 3 MB 25 MB 20 uniform quantization vertex 1 ( x, y, z ) vertex 2 ( x, y, z ) vertex 3 ( x, y, z ) vertex n geometry

4 Floating-Point Numbers have varying precision largest exponent  least precise - 4.095 190.974 01286432 x - axis 1684 23 bits of precision

5 Samples per Millimeter 16 bit18 bit 20 bit22 bit24 bit 97388 15532.7 m 3271311 20 cm 5 22 86 195 m

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 Geometry Compression [ Deering, 95 ] – Fast Rendering – Progressive Transmission – Maximum Compression Geometry Compression [ Deering, 95 ] Mesh Compression Maximum Compression

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

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

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

11 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 ] Java3DMPEG - 4Virtue3D

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 Geometry Compression Classic approaches [ 95 – 98 ]: – linear prediction Recent approaches [ 00 – 03 ]: – spectral – re-meshing – space-dividing – vector-quantization – angle-based – delta coordinates Spectral Compression of Mesh Geometry [ Karni & Gotsman, 00 ] expensive numerical computations

14 Geometry Compression Classic approaches [ 95 – 98 ]: – linear prediction Recent approaches [ 00 – 03 ]: – spectral – re-meshing – space-dividing – vector-quantization – angle-based – delta coordinates Progressive Geometry Compression [ Khodakovsky et al., 00 ] modifies mesh prior to compression

15 Geometry Compression Classic approaches [ 95 – 98 ]: – linear prediction Recent approaches [ 00 – 03 ]: – spectral – re-meshing – space-dividing – vector-quantization – angle-based – delta coordinates Geometric Compression for interactive transmission [ Devillers & Gandoin, 00 ] poly-soups; complex geometric algorithms

16 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 compression for triangle meshes [ Lee & Ko, 00 ] local coord-system + vector-quantization

17 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 ] dihedral + internal = heavy trigonometry

18 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 for Mesh Encoding [ Sorkine et al., 03 ] basis transformation with Laplacian matrix

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

20 Predictive Coding 1.quantize positions with b bits 2.predict from neighbors 3.compute difference 4.compress with entropy coder ( 1.314, -0.204, 0.704 ) ( 1008, 68, 718 ) floating point integer

21 Predictive Coding 1.quantize positions with b bits 2.predict from neighbors 3.compute difference 4.compress with entropy coder prediction rule ( 1004, 71, 723 ) prediction ( 1.276, -0.182, 0.734 ) prediction prediction rule

22 Predictive Coding 1.quantize positions with b bits 2.predict from neighbors 3.compute difference 4.compress with entropy coder ( 1004, 71, 723 )( 1008, 68, 718 ) position ( 4, -3, -5 ) correctorprediction ( 1.314, -0.204, 0.704 ) position ( 1.276, -0.182, 0.734 ) prediction ?

23 Predictive Coding 1.quantize positions with b bits 2.predict from neighbors 3.compute difference 4.compress with entropy coder 0 10 20 30 40 50 60 70 position distribution 0 500 1000 1500 2000 2500 3000 3500 corrector distribution

24 Arithmetic Entropy Coder for a symbol sequence of t types # of type t pi =pi =  i = 1 t Entropy = p i log 2 ( ) bits pipi 1 # total 2.0 bits 1.3 bits 0.2 bits

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

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

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

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

29 Corrective Vectors ? ( 1008, 68, 718 ) position ( 1004, 71, 723 ) prediction ( 4, -3, -5 ) corrector compute difference vector with integer arithmetic ( 1.314, -0.204, 0.704 ) position ( 1.276, -0.182, 0.734 ) prediction ( 0.038, -0.022, -0.030 ) corrector compute difference vector with floating-point arithmetic ?

30 32-bit IEEE Floating-Point 0 - 1- 1 -½ - 2.0 - 4.0 - 8.0 -16.0 ½ 1 2.0 4.0 8.0 16.0 XX X X 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 182… 181… 180… 17E… 17D… 0 … 07E… 080… 081… 082… 17a75c28f -0.06 position 1824ccccd -12.8 prediction corrector 0824bd708 12.74 corrector

31 01999a 32-bit IEEE Floating-Point 0 - 1- 1 -½ - 2.0 - 4.0 - 8.0 -16.0 ½ 1 2.0 4.0 8.0 16.0 XX X X 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 182… 181… 180… 17E… 17D… 0 … 07E… 080… 081… 082… 175c2847a149999a820 1 01999a -8.1 1817ccccd -7.9 positionprediction -0.2 17a75c284 -0.06 07c0f5c29 0.14 positionprediction -0.2 08249999a 12.6 0824ccccd 12.8 positionprediction -0.2

32 Floating-Point Corrections ( 1 ) 08249999a 12.6 position 0824ccccd 12.8 prediction 08249999a 0824ccccd 00 0 49999a4ccccd -033333 use context 82 use context 82 compress

33 Floating-Point Corrections ( 2 ) 18201999a -8.1 position 1817ccccd -7.9 prediction 18201999a1817ccccd 11 0 01999a0 use context 82 use context 81 82 compress

34 Floating-Point Corrections ( 3 ) 17a75c284 -0.06 position 07c0f5c29 0.14 prediction 17a75c28407c0f5c29 10 1 75c2840 use context 7a use context 7c 7a compress

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

36 gzip -9 buddha david power plant lucy 55.8 56.1 23.7 78.7 Results [ bpv ] raw model 96.0 ours 49.9 34.7 29.1 44.4 0.90 0.62 1.21 0.56 ratio

37 Percentage of Unique Floats buddhadavid lucy powerplant x y z x y z x y z x y z 49.0 % 82.4 % 77.2 % 40.2 % 28.9 % 42.0 % 53.4 % 37.6 % 22.2 % 4.4 % 1.5 % 2.0 % 228,402 different z-coordinates 543,652 vertices 226,235 different z-coordinates 11,070,509 vertices

38 Completing, not competing !!! buddha david power plant lucy model 16 bit bit-rate [bpv] buddha david power plant lucy 54 39 31 44 45 26 24 30 61 47 34 54 52 36 30 46 compression ratio [ % ] 20 bit 32.2 23.2 18.5 26.5 21.8 12.5 11.6 14.6 24 bit 44.0 34.1 24.2 39.1 lossless 49.9 34.7 29.1 44.4

39 Simpler Scheme ( Non-Predictive ) A XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX buddha david power plant lucy A ours 76.5 53.9 61.7 68.1 78.9 58.4 67.3 69.5 76.4 52.3 56.4 68.6 49.9 34.7 29.1 44.4 BC model 32 symbols, each ranging from 0 to 1 B X X XX 8 symbols, each ranging from 0 to 15 X X X X X X C 4 symbols, each ranging from 0 to 63

40 Simpler Scheme ( Predictive ) A X X X X X X X X C XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX B X X XX XX buddha david power plant lucy 55.6 38.2 38.5 45.4 59.4 44.0 44.9 48.8 53.1 36.1 33.6 44.8 49.9 34.7 29.1 44.4 A ours BC model

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 completing, not competing – predict in floating-point – break predicted and actual float into several components – compress differences separately – use exponent to switch contexts

43 Current / Future Work investigate trade-offs – compression versus throughput improve scheme for “sparse” data quantize without bounding box – guarantee precision – learn bounding box optimize implementation – run faster / use less memory

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

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


Download ppt "Lossless Compression of Floating-Point Geometry Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Jack Snoeyink UNC Chapel Hill."

Similar presentations


Ads by Google