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

Slides:



Advertisements
Similar presentations
Real-time Geometry Caches
Advertisements

Least-squares Meshes Olga Sorkine and Daniel Cohen-Or Tel-Aviv University SMI 2004.
Geometry Compression Michael Deering, Sun Microsystems SIGGRAPH (1995) Presented by: Michael Chung.
High-Pass Quantization for Mesh Encoding Olga Sorkine, Daniel Cohen-Or, Sivan Toledo Eurographics Symposium on Geometry Processing, Aachen 2003.
Inter-Surface Mapping John Schreiner, Arul Asirvatham, Emil Praun (University of Utah) Hugues Hoppe (Microsoft Research)
Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.
1 Outline  Introduction to JEPG2000  Why another image compression technique  Features  Discrete Wavelet Transform  Wavelet transform  Wavelet implementation.
Progressive Encoding of Complex Isosurfaces Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.
Frédéric Payan PhD Thesis Supervisor : Marc Antonini

Compression opportunities using progressive meshes Hugues Hoppe Microsoft Research SIGGRAPH 98 course: “3D Geometry compression”
1 Displaced Subdivision Surfaces Aaron Lee Princeton University Henry Moreton Nvidia Hugues Hoppe Microsoft Research.
Compressing Texture Coordinates Martin IsenburgJack Snoeyink University of North Carolina at Chapel Hill with h Selective Linear Predictions.
Max-Plank Institut für Informatik systematic error parallelogram rule polygonal rules exact prediction Geometry Prediction for High Degree Polygons Martin.
Spectral bases for 3D shapes representation. Spectral bases – reminder Last week we spoke of Fourier analysis  1D sine/cosine bases for signals:
Compressing Hexahedral Volume Meshes Martin Isenburg UNC Chapel Hill Pierre Alliez INRIA Sophia-Antipolis.
Department of Computer Engineering University of California at Santa Cruz Data Compression (3) Hai Tao.
Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.
Martin Isenburg Jack Snoeyink University of North Carolina Chapel Hill Mesh Collapse Compression.
Martin Isenburg University of North Carolina at Chapel Hill Triangle Fixer: Edge-based Connectivity Compression.
Face Fixer Compressing Polygon Meshes with Properties Martin Isenburg Jack Snoeyink University of North Carolina at Chapel Hill.
Martin Isenburg Jack Snoeyink University of North Carolina at Chapel Hill Reverse Decoding of the Edgebreaker Encoding S PIRALE R EVERSI.
Spatial and Temporal Data Mining
Surface Simplification & Edgebreaker Compression for 2D Cel Animations Vivek Kwatra & Jarek Rossignac GVU Center, College of Computing Georgia Institute.
With Parallelogram Prediction Compressing Polygon Mesh Geometry Martin Isenburg UNC Chapel Hill Pierre Alliez INRIA Sophia-Antipolis.
Compressing the Property Mapping of Polygon Meshes Martin Isenburg Jack Snoeyink University of North Carolina at Chapel Hill.
Compressing Polygon Mesh Connectivity
Streaming Compression of Triangle Meshes Martin Isenburg University of California at Berkeley Jack Snoeyink University of North Carolina at Chapel Hill.
Frederic Payan, Marc Antonini
Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity.
Progressive Encoding of Complex Iso-Surfaces Peter Schröder Caltech ASCI Alliance Center for Simulation of Dynamic Response of Materials Joint work with:
Coding with ASCII: compact, yet text-based 3D content Martin Isenburg Jack Snoeyink University of North Carolina at Chapel Hill and INRIA Sophia-Antipolis.
An Introduction to 3D Geometry Compression and Surface Simplification Connie Phong CSC/Math April 2007.
Consistent Parameterizations Arul Asirvatham Committee Members Emil Praun Hugues Hoppe Peter Shirley.
Topological Surgery Progressive Forest Split Papers by Gabriel Taubin et al Presented by João Comba.
Out-of-Core Compression for Gigantic Polygon Meshes Martin IsenburgStefan Gumhold University of North CarolinaWSI/GRIS at Chapel Hill Universität Tübingen.
Lossy Compression Based on spatial redundancy Measure of spatial redundancy: 2D covariance Cov X (i,j)=  2 e -  (i*i+j*j) Vertical correlation   
Computer Vision – Compression(2) Hanyang University Jong-Il Park.
 Coding efficiency/Compression ratio:  The loss of information or distortion measure:
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Audio Compression Usha Sree CMSC 691M 10/12/04. Motivation Efficient Storage Streaming Interactive Multimedia Applications.
Estimation-Quantization Geometry Coding using Normal Meshes
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
CIS679: Multimedia Basics r Multimedia data type r Basic compression techniques.
RACBVHs: Random-Accessible Compressed Bounding Volume Hierarchies Tae-Joon Kim Bochang Moon Duksu Kim Sung-Eui Yoon KAIST (Korea Advanced Institute of.
3D Geometry Coding using Mixture Models and the Estimation Quantization Algorithm Sridhar Lavu Masters Defense Electrical & Computer Engineering DSP GroupRice.
Semi-regular 3D mesh progressive compression and transmission based on an adaptive wavelet decomposition 21 st January 2009 Wavelet Applications in Industrial.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
Random-Accessible Compressed Triangle Meshes Sung-eui Yoon Korea Advanced Institute of Sci. and Tech. (KAIST) Peter Lindstrom Lawrence Livermore National.
Click to edit Master title style HCCMeshes: Hierarchical-Culling oriented Compact Meshes Tae-Joon Kim 1, Yongyoung Byun 1, Yongjin Kim 2, Bochang Moon.
Spectral Compression of Mesh Geometry (Karni and Gotsman 2000) Presenter: Eric Lorimer.
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
Introduction to Digital Signals
1 Compressing TINs Leila De Floriani, Paola Magillo University of Genova Genova (Italy) Enrico Puppo National Research Council Genova (Italy)
04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,
Chapter 8 Lossy Compression Algorithms. Fundamentals of Multimedia, Chapter Introduction Lossless compression algorithms do not deliver compression.
CASA 2006 CASA 2006 A Skinning Approach for Dynamic Mesh Compression Khaled Mamou Titus Zaharia Françoise Prêteux.
Streaming Compressed 3D Data on the Web using JavaScript and WebGL Université de Lyon, INSA-Lyon LIRIS UMR CNRS 5205 Guillaume Lavoué Florent Dupont Velvet.
JPEG Compression What is JPEG? Motivation
CSI-447: Multimedia Systems
Discrete Cosine Transform
A Brief History of 3D MESH COMPRESSION ORAL, M. ELMAS, A.A.
Huffman Coding, Arithmetic Coding, and JBIG2
Cache-Efficient Layouts of BVHs and Meshes
Turnstile Streaming Algorithms Might as Well Be Linear Sketches
Efficient Edgebreaker for surfaces of arbitrary topology
Standards Presentation ECE 8873 – Data Compression and Modeling
Wavelet-based Compression of 3D Mesh Sequences
Govt. Polytechnic Dhangar(Fatehabad)
Chap 10. Geometric Level of Detail
Presentation transcript:

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

127 MB 12,748,510triangles 11,070,509vertices Meshes and Compression connectivity face face face 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

Floating-Point Numbers have varying precision largest exponent  least precise x - axis bits of precision

Samples per Millimeter 16 bit18 bit 20 bit22 bit24 bit m cm m

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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, , ) prediction prediction rule

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, , ) position ( 1.276, , ) prediction ?

Predictive Coding 1.quantize positions with b bits 2.predict from neighbors 3.compute difference 4.compress with entropy coder position distribution corrector distribution

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

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

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

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

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

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

32-bit IEEE Floating-Point ½ ½ 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 position 1824ccccd prediction corrector 0824bd corrector

01999a 32-bit IEEE Floating-Point ½ ½ 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… 175c2847a149999a a ccccd -7.9 positionprediction a75c c0f5c positionprediction a ccccd 12.8 positionprediction -0.2

Floating-Point Corrections ( 1 ) a 12.6 position 0824ccccd 12.8 prediction a 0824ccccd a4ccccd use context 82 use context 82 compress

Floating-Point Corrections ( 2 ) a -8.1 position 1817ccccd -7.9 prediction a1817ccccd a0 use context 82 use context compress

Floating-Point Corrections ( 3 ) 17a75c position 07c0f5c prediction 17a75c28407c0f5c c2840 use context 7a use context 7c 7a compress

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

gzip -9 buddha david power plant lucy Results [ bpv ] raw model 96.0 ours ratio

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

Completing, not competing !!! buddha david power plant lucy model 16 bit bit-rate [bpv] buddha david power plant lucy compression ratio [ % ] 20 bit bit lossless

Simpler Scheme ( Non-Predictive ) A XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX buddha david power plant lucy A ours 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

Simpler Scheme ( Predictive ) A X X X X X X X X C XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX B X X XX XX buddha david power plant lucy A ours BC model

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

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

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

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

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