Download presentation
Presentation is loading. Please wait.
1
with Parallelogram Prediction Compressing Polygon Mesh Geometry Martin Isenburg UNC Chapel Hill Pierre Alliez INRIA Sophia-Antipolis
2
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.”
3
Overview Background Previous Work Linear Prediction Schemes “within” versus “across” Example Run Can we do better ? Conclusion
4
Background
5
Polygon Meshes connectivity geometry vertex 1 ( x, y, z ) vertex 2 ( x, y, z ) vertex 3 ( x, y, z ) vertex v face 1 1 2 3 4 face 2 3 4 3 face 3 5 2 1 3 face f ~ 4v 32 bits 3v * 32 bits size: 79296 bytes 29736 5647 12 log 2 ( v ) 2832 vertices
6
Geometry Compression [ Deering, 95 ] – Fast Rendering – Progressive Transmission – Maximum Compression Geometry Compression [ Deering, 95 ] Mesh Compression Maximum Compression
7
Geometry Compression [ Deering, 95 ] – Fast Rendering – Progressive Transmission – Maximum Compression Connectivity Geometry Geometry Compression [ Deering, 95 ] Mesh Compression Maximum Compression Geometry
8
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
9
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
10
Not Triangles … Polygons! Face Fixer [ Isenburg & Snoeyink, 00 ]
11
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
12
triceratops galleon cessna … tommygun cow teapot 14.8 18.4 12.5 … 12.5 20.6 16.1 Results TG bits per vertex model IA 20.0 24.1 19.1 … 19.6 20.4 21.0 min / max / average [ % ] = 9 / 41 / 23 26 % 35 %... 36 % -1 % 24 % gain
13
Previous Work
14
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
15
Previous Work Classic approaches [ 95 – 98 ]: – linear prediction Recent approaches [ 00 – 02 ]: – spectral – re-meshing – space-dividing – vector-quantization – feature discovery – angle-based
16
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
17
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
18
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
19
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
20
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
21
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
22
Linear Prediction Schemes
23
1.quantize positions with b bits 2.traverse positions 3.linear prediction from neighbors 4.store corrective vector ( 1.2045, -0.2045, 0.7045 ) ( 1008, 68, 718 ) floating point integer
24
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
25
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
26
Linear Prediction Schemes 1.quantize positions with b bits 2.traverse positions 3.linear prediction from neighbors 4.store corrective vector 0 10 20 30 40 50 60 70 position distribution 0 500 1000 1500 2000 2500 3000 3500 corrector distribution ( 1004, 71, 723 )( 1008, 68, 718 ) position ( 4, -3, -5 ) correctorprediction
27
Deering, 95 Prediction: Delta-Coding A processed region unprocessed region P P = A
28
Taubin & Rossignac, 98 Prediction: Spanning Tree A B C D E processed region unprocessed region P P = α A + βB + γC + δD + εE + …
29
Touma & Gotsman, 98 Prediction: Parallelogram Rule processed region unprocessed region P P = A – B + C A B C
30
Parallelogram Rule “good” prediction “bad” prediction “non-convex” “bad” prediction “non-planar”
31
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 )
32
Polygon Meshes … ? TG coder triangulate compress resulting triangle mesh IA coder do NOT triangulate use polygons for better predictions within versus across
33
“within” versus “across”
34
Non-triangular Faces Question:Why would a mesh have a non-triangular face?
35
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
36
within-predictions often find existing parallelograms ( quadrilaterals ) “within” versus “across” within-predictions avoid creases within-prediction across-prediction
37
triceratops galleon cessna … tommygun cow teapot 20.5 26.8 19.8 … 19.5 20.6 22.7 Bitrates: “within” vs. “across” within bits per vertex model across 14.1 16.9 11.1 … 10.9 - 14.9 min / max / average [ % ] = 13 / 47 / 32 31 % 37 % 45 %... 44 % - 34 % diff
38
Maximizing the number of within-predictions
39
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
40
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
41
“splits”
45
processed region
46
“splits” processed region
47
“splits” processed region
48
“splits” processed region
49
“splits” processed region
50
“splits” processed region split
51
Adaptive Traversal
54
% of within-predictions triceratops galleon cessna … tommygun cow teapot within prediction type: model min / max / average [ % ] = 74 / 91 / 84 across 255725721 20073242412 30916212211 ………… 33766787839 0270121 101617021 lastcenter 90 % 85 % 83 % … 81 % 0 % 85 % within % of
55
Example Decoding Run
56
center-prediction: no parallelogram rule possible predict this position as center of the bounding box center
57
Example Decoding Run 0 last last-prediction: no parallelogram rule possible predict this position as the last position
58
Example Decoding Run 1 0 last last-prediction: no parallelogram rule possible predict this position as the last position
59
Example Decoding Run across-prediction: parallelogram rule possible predict across two polygons across 1 0 2
60
Example Decoding Run within-prediction: use parallelogram rule predict within a polygon within 1 0 2 3
61
Example Decoding Run 1 0 within 4 3 2
62
Example Decoding Run 3 1 2 across 5 4 0
63
Example Decoding Run 3 1 0 2 within 6 4 5
64
Example Decoding Run 7 5 1 0 2 within 6 4 3
65
Example Decoding Run 7 6 5 1 0 4 within 7 2 3
66
Can we do better ? ( and keep it simple )
67
Keep it simple Constraints: single linear prediction use connectivity traversal order Possibilities: floating point coefficients use more than three vertices
68
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
69
Switch “within” Coefficients if ( deg == 4 ) { α = 1.000;β = -1.000;γ = 1.000; } else if ( deg == 5 ) { α = 1.024;β = -0.527;γ = 0.503; } else if ( deg == 6 ) { α = 1.066;β = -0.315;γ = 0.249; } else … How did we pick these numbers?
70
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
71
Switch “within” Coefficients if ( deg == 4 ) { α = 1.000;β = -1.000;γ = 1.000; } else if ( deg == 5 ) { α = 1.024;β = -0.527;γ = 0.503; } else if ( deg == 6 ) { α = 1.066;β = -0.315;γ = 0.249; } else … on average 70 % of predictionsparallelogram prediction within a quadrilateral is optimal
72
assuming equal edge length better across-predictions 33333434353536363838 43434444454546464848 adjacent polygons are coplanar
73
assuming equal edge length better across-predictions 33333434353536363838 43434444454546464848 adjacent polygons are not coplanar crease angle: 60°
74
Switch “across” Coefficients if ( deg == 3 3 ) { α = 0.917;β = - 0.833;γ = 0.916; } else if ( deg == 3 4 ) { α = 0.621;β = - 0.504;γ = 0.883; } else if ( deg == 3 5 ) { α = 0.557;β = - 0.334;γ = 0.777; } else … … } else if ( deg == 4 3 ) { α = 1.153;β = - 0.354;γ = 0.201; } else if ( deg == 4 4 ) { α = 1.001;β = - 0.648;γ = 0.647; } else … …
75
Conclusion
76
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
77
Summary ( 2 ) proof-of-concept implementation in form of a Web java-applet compression software will soon be made available http://www.cs.unc.edu/~isenburg/pmc/
78
Future Work a scientific way to find numbers for this “coefficient switching” polygonification: – turn triangle meshes into polygon meshes for better compression
79
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
80
Thank You! http://www.cs.unc.edu/~isenburg/pmc/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.