With Parallelogram Prediction Compressing Polygon Mesh Geometry Martin Isenburg UNC Chapel Hill Pierre Alliez INRIA Sophia-Antipolis.

Slides:



Advertisements
Similar presentations
Surface Simplification Using Quadric Error Metrics Speaker: Fengwei Zhang September
Advertisements

2D/3D Shape Manipulation, 3D Printing
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Least-squares Meshes Olga Sorkine and Daniel Cohen-Or Tel-Aviv University SMI 2004.
S. J. Shyu Chap. 1 Introduction 1 The Design and Analysis of Algorithms Chapter 1 Introduction S. J. Shyu.
High-Pass Quantization for Mesh Encoding Olga Sorkine, Daniel Cohen-Or, Sivan Toledo Eurographics Symposium on Geometry Processing, Aachen 2003.
MATHIEU GAUTHIER PIERRE POULIN LIGUM, DEPT. I.R.O. UNIVERSITÉ DE MONTRÉAL GRAPHICS INTERFACE 2009 Preserving Sharp Edges in Geometry Images.
Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
CS CS 175 – Week 4 Mesh Decimation General Framework, Progressive Meshes.
Progressive Encoding of Complex Isosurfaces Haeyoung Lee Mathieu Desbrun Peter Schröder USC USC Caltech.

Light Field Compression Using 2-D Warping and Block Matching Shinjini Kundu Anand Kamat Tarcar EE398A Final Project 1 EE398A - Compression of Light Fields.
CENG 789 – Digital Geometry Processing 05- Smoothing and Remeshing
Compressing Texture Coordinates Martin IsenburgJack Snoeyink University of North Carolina at Chapel Hill with h Selective Linear Predictions.
Cutting a surface into a Disk Jie Gao Nov. 27, 2002.
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.
Bounded-distortion Piecewise Mesh Parameterization
1 -1 Chapter 1 Introduction Why Do We Need to Study Algorithms? To learn strategies to design efficient algorithms. To understand the difficulty.
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.
Lossless Compression of Floating-Point Geometry Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Jack Snoeyink UNC Chapel Hill.
Compressing the Property Mapping of Polygon Meshes Martin Isenburg Jack Snoeyink University of North Carolina at Chapel Hill.
Visualization and graphics research group CIPIC January 30, 2003Multiresolution (ECS 289L) - Winter MAPS – Multiresolution Adaptive Parameterization.
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.
Code and Decoder Design of LDPC Codes for Gbps Systems Jeremy Thorpe Presented to: Microsoft Research
Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity.
Mesh Parameterization: Theory and Practice Non-Planar Domains.
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.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
1 MESHCOMPRESSIONMESHCOMPRESSION EG99 Tutorial Mesh Compression.
Modeling and representation 2 – the economics of polygon meshes 3.1 Compressing polygonal models 3.2 Compressing the geometry (information per vertex)
Compressing Multiresolution Triangle Meshes Emanuele Danovaro, Leila De Floriani, Paola Magillo, Enrico Puppo Department of Computer and Information Sciences.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Succinct Geometric Indexes Supporting Point Location Queries Prosenjit Bose, Eric Y. Chen, Meng He, Anil Maheshwari, Pat Morin.
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.
Computer Graphics Some slides courtesy of Pierre Alliez and Craig Gotsman Texture mapping and parameterization.
Semi-regular 3D mesh progressive compression and transmission based on an adaptive wavelet decomposition 21 st January 2009 Wavelet Applications in Industrial.
Random-Accessible Compressed Triangle Meshes Sung-eui Yoon Korea Advanced Institute of Sci. and Tech. (KAIST) Peter Lindstrom Lawrence Livermore National.
1 Compressing Triangle Meshes Leila De Floriani, Paola Magillo University of Genova Genova (Italy) Enrico Puppo National Research Council Genova (Italy)
Computer Graphics Basic 3D Geometry CO2409 Computer Graphics Week 5-1.
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.
1 Building Models Ed Angel Professor Emeritus of Computer Science University of New Mexico Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley.
1 Compressing TINs Leila De Floriani, Paola Magillo University of Genova Genova (Italy) Enrico Puppo National Research Council Genova (Italy)
Graphics Graphics Korea University cgvr.korea.ac.kr 1 7. Speed-up Techniques Presented by SooKyun Kim.
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,
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.
© The McGraw-Hill Companies, Inc., Chapter 1 Introduction.
CASA 2006 CASA 2006 A Skinning Approach for Dynamic Mesh Compression Khaled Mamou Titus Zaharia Françoise Prêteux.
Mesh Resampling Wolfgang Knoll, Reinhard Russ, Cornelia Hasil 1 Institute of Computer Graphics and Algorithms Vienna University of Technology.
Rendering Large Models (in real time)
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.

Variational Tetrahedral Meshing
A Brief History of 3D MESH COMPRESSION ORAL, M. ELMAS, A.A.
Wavelet-based Compression of 3D Mesh Sequences
Chap 10. Geometric Level of Detail
Presentation transcript:

with Parallelogram Prediction Compressing Polygon Mesh Geometry Martin Isenburg UNC Chapel Hill Pierre Alliez INRIA Sophia-Antipolis

Take this home: “Non-triangular faces in the mesh can be exploited for more efficient predictive compression of vertex positions.” “Non-triangular faces tend to be planar and convex.”

Overview Background Previous Work Linear Prediction Schemes “within” versus “across” Example Run Can we do better ? Conclusion

Background

Polygon Meshes connectivity geometry vertex 1 ( x, y, z ) vertex 2 ( x, y, z ) vertex 3 ( x, y, z ) vertex v face face face face f ~ 4v 32 bits 3v * 32 bits  size: bytes log 2 ( v ) 2832 vertices

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 – Triangle Meshes – Polygon Meshes Geometry Compression [ Deering, 95 ] Mesh Compression Polygon Meshes Maximum Compression Geometry

Triangle Mesh Compression Connectivity Coder – stores the connectivity as sequence of vertex degrees Triangle Mesh Compression [ Touma & Gotsman, Graphics Interface 98 ] Geometry Coder – stores the geometry as sequence of vectors; each corrects the prediction of a vertex position

Not Triangles … Polygons! Face Fixer [ Isenburg & Snoeyink, 00 ]

Connectivity Coder Generalization of TG coder Compressing Polygon Connectivity with Degree Duality Prediction, [ Isenburg, 02 ] Near-optimal connectivity coding of Polygon meshes, [ Khodakovsky, Alliez, Desbrun & Schroeder, 02 ]  this paper [ Isenburg & Alliez, 02 ] Geometry Coder

triceratops galleon cessna … tommygun cow teapot … Results TG bits per vertex model IA … min / max / average [ % ] = 9 / 41 / % 35 % % -1 % 24 % gain

Previous Work

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

Previous Work Classic approaches [ 95 – 98 ]: – linear prediction Recent approaches [ 00 – 02 ]: – spectral – re-meshing – space-dividing – vector-quantization – feature discovery – angle-based

Previous Work Classic approaches [ 95 – 98 ]: – linear prediction Recent approaches [ 00 – 02 ]: – spectral – re-meshing – space-dividing – vector-quantization – feature discovery – angle-based Spectral Compression of Mesh Geometry [ Karni & Gotsman, 00 ] expensive numerical computations

Previous Work Classic approaches [ 95 – 98 ]: – linear prediction Recent approaches [ 00 – 02 ]: – spectral – re-meshing – space-dividing – vector-quantization – feature discovery – angle-based Progressive Geometry Compression [ Khodakovsky et al., 00 ] modifies mesh prior to compression

Previous Work Classic approaches [ 95 – 98 ]: – linear prediction Recent approaches [ 00 – 02 ]: – spectral – re-meshing – space-dividing – vector-quantization – feature discovery – angle-based Geometric Compression for interactive transmission [ Devillers & Gandoin, 00 ] poly-soups; complex geometric algorithms

Previous Work Classic approaches [ 95 – 98 ]: – linear prediction Recent approaches [ 00 – 02 ]: – spectral – re-meshing – space-dividing – vector-quantization – feature discovery – angle-based Vertex data compression for triangle meshes [ Lee & Ko, 00 ] local coord-system + vector-quantization

Previous Work Classic approaches [ 95 – 98 ]: – linear prediction Recent approaches [ 00 – 02 ]: – spectral – re-meshing – space-dividing – vector-quantization – feature discovery – angle-based certain 3D models + expensive matching Compression of engineering models by repeated feature [ Shikhare et al., 01 ] discovery

Previous Work Classic approaches [ 95 – 98 ]: – linear prediction Recent approaches [ 00 – 02 ]: – spectral – re-meshing – space-dividing – vector-quantization – feature discovery – angle-based Angle-Analyzer: A triangle- quad mesh codec [ Lee, Alliez & Desbrun, 02 ] dihedral + internal = heavy trigonometry

Linear Prediction Schemes

1.quantize positions with b bits 2.traverse positions 3.linear prediction from neighbors 4.store corrective vector ( , , ) ( 1008, 68, 718 ) floating point integer

Linear Prediction Schemes 1.quantize positions with b bits 2.traverse positions 3.linear prediction from neighbors 4.store corrective vector use traversal order implied by the connectivity coder

Linear Prediction Schemes 1.quantize positions with b bits 2.traverse positions 3.linear prediction from neighbors 4.store corrective vector ( 1004, 71, 723 ) apply prediction rule prediction

Linear Prediction Schemes 1.quantize positions with b bits 2.traverse positions 3.linear prediction from neighbors 4.store corrective vector position distribution corrector distribution ( 1004, 71, 723 )( 1008, 68, 718 ) position ( 4, -3, -5 ) correctorprediction

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

Parallelogram Rule “good” prediction “bad” prediction “non-convex” “bad” prediction “non-planar”

More “good” Predictions average multiple predictions Multi-way geometry encoding. [ Cohen-Or, Cohen & Irony, 02 ] Optimized compression of triangle mesh geometry using prediction trees. [ Kronrod & Gotsman, 02 ] search for best prediction direct the traversal ( prediction tree ) average gain of 11 %average gain of 8 % ( smooth ) & 42 % ( CAD )

Polygon Meshes … ? TG coder triangulate compress resulting triangle mesh IA coder do NOT triangulate use polygons for better predictions within versus across

“within” versus “across”

Non-triangular Faces Question:Why would a mesh have a non-triangular face?

Non-triangular Faces Question:Why would a mesh have a non-triangular face? Answer:Because there was no reason to triangulate it! This face was “convex” and “planar”.  use this info for “good” predictions

 within-predictions often find existing parallelograms (  quadrilaterals ) “within” versus “across”  within-predictions avoid creases within-prediction across-prediction

triceratops galleon cessna … tommygun cow teapot … Bitrates: “within” vs. “across” within bits per vertex model across … min / max / average [ % ] = 13 / 47 / % 37 % 45 % % - 34 % diff

Maximizing the number of within-predictions

Greedy Strategy always try to: ( A )pick a vertex whose position can be within-predicted otherwise: ( B )do an across-prediction, but pick a vertex that creates ( A ) for the next iteration

we’re lucky:  process vertices in order dictated by our connectivity coder Traversal Order Compressing Polygon Connectivity with Degree Duality Prediction [ Isenburg, 02 ] Valence-driven Connectivity Encoding for 3D meshes [ Alliez & Desbrun, 01 ]  avoid “splits” by adaptive traversal

“splits”

processed region

“splits” processed region

“splits” processed region

“splits” processed region

“splits” processed region

“splits” processed region split

Adaptive Traversal

% of within-predictions triceratops galleon cessna … tommygun cow teapot within prediction type: model min / max / average [ % ] = 74 / 91 / 84 across ………… lastcenter 90 % 85 % 83 % … 81 % 0 % 85 % within % of

Example Decoding Run

center-prediction: no parallelogram rule possible predict this position as center of the bounding box center

Example Decoding Run 0 last last-prediction: no parallelogram rule possible predict this position as the last position

Example Decoding Run 1 0 last last-prediction: no parallelogram rule possible predict this position as the last position

Example Decoding Run across-prediction: parallelogram rule possible predict across two polygons across 1 0 2

Example Decoding Run within-prediction: use parallelogram rule predict within a polygon within

Example Decoding Run 1 0 within 4 3 2

Example Decoding Run across 5 4 0

Example Decoding Run within 6 4 5

Example Decoding Run within 6 4 3

Example Decoding Run within 7 2 3

Can we do better ? ( and keep it simple )

Keep it simple Constraints: single linear prediction use connectivity traversal order Possibilities: floating point coefficients use more than three vertices

better within-predictions perfect systematic error deg = 4 assuming ideal (  regular ) polygons P = A – B + C P = α A + βB + γC α = 1, β = -1, γ = 1 deg = 6 A BC deg = 8 B C A C B A deg = 5 A C B

Switch “within” Coefficients if ( deg == 4 ) { α = 1.000;β = ;γ = 1.000; } else if ( deg == 5 ) { α = 1.024;β = ;γ = 0.503; } else if ( deg == 6 ) { α = 1.066;β = ;γ = 0.249; } else … How did we pick these numbers?

Finding the Coefficients no obvious “scientific” way use Matlab – for each degree separately – sum all possible prediction errors as function of α and β – optimize α and β for minimal error Err = len ( N – α A + βB + γC ) with 1 = α + β + γ B A C N

Switch “within” Coefficients if ( deg == 4 ) { α = 1.000;β = ;γ = 1.000; } else if ( deg == 5 ) { α = 1.024;β = ;γ = 0.503; } else if ( deg == 6 ) { α = 1.066;β = ;γ = 0.249; } else … on average 70 % of predictionsparallelogram prediction within a quadrilateral is optimal

assuming equal edge length better across-predictions 33333434353536363838 43434444454546464848 adjacent polygons are coplanar

assuming equal edge length better across-predictions 33333434353536363838 43434444454546464848 adjacent polygons are not coplanar crease angle: 60°

Switch “across” Coefficients if ( deg == 3  3 ) { α = 0.917;β = ;γ = 0.916; } else if ( deg == 3  4 ) { α = 0.621;β = ;γ = 0.883; } else if ( deg == 3  5 ) { α = 0.557;β = ;γ = 0.777; } else … … } else if ( deg == 4  3 ) { α = 1.153;β = ;γ = 0.201; } else if ( deg == 4  4 ) { α = 1.001;β = ;γ = 0.647; } else … …

Conclusion

Summary ( 1 ) polygon information can improve predictive geometry compression using parallelogram rule “within” rather than “across” polygons average improvement of 23 % over TG coder has simple and straight-forward implementation

Summary ( 2 ) proof-of-concept implementation in form of a Web java-applet compression software will soon be made available

Future Work a scientific way to find numbers for this “coefficient switching” polygonification: – turn triangle meshes into polygon meshes for better compression

Acknowledgments funding: ARC Télégéo grant of INRIA at Sophia-Antipolis logistics: Jack Snoeyink Olivier Devillers Agnès Clément Bessière Jean-Daniel Boissonnat

Thank You!