940 likes | 962 Views
Compressing Polygon Mesh Connectivity. with Degree Duality Prediction. Martin Isenburg University of North Carolina at Chapel Hill. Overview. Background Connectivity Compression Coding with Degrees Duality Prediction Adaptive Traversal Example Run Conclusion. Background.
E N D
CompressingPolygon Mesh Connectivity withDegree DualityPrediction Martin Isenburg University of North Carolinaat Chapel Hill
Overview • Background • Connectivity Compression • Coding with Degrees • Duality Prediction • Adaptive Traversal • Example Run • Conclusion
k v log2 (v) :k ~ 4 :k ~ 6 4 5 24 ~ 96 v Polygon Meshes • connectivity • geometry face1 1 2 3 4 face2 3 4 3 face3 5 2 1 3 facef vertex1 ( x, y, z ) vertex2 ( x, y, z ) vertex3 ( x, y, z ) vertexv
Mesh Compression • Geometry Compression [Deering,95] • Fast Rendering • Progressive Transmission • Maximum Compression • Geometry • Connectivity • Triangle Meshes • Polygon Meshes Maximum Compression Connectivity Polygon Meshes
Not Triangles … Polygons! Face Fixer [Isenburg & Snoeyink,00]
Results bits per vertex (bpv) model gain Face Fixer Degree Duality triceratops galleon cessna … tommygun cow teapot 1.189 2.093 2.543 … 2.258 1.781 1.127 44 % 19 % 11 % ... 14 % 20 % 33 % 2.115 2.595 2.841 … 2.611 2.213 1.669 min / max / average gain [%] = 11 / 55 / 26
Connectivity Compression assumption • order of vertices does not matter advantage • no need to “preserve” indices approach • code only the “connectivity graph” • re-order vertices appropriately
Connectivity Graphs • connectivity of simple meshes is homeomorphic to planar graph enumeration asymptotic bounds [William Tutte 62 / 63] number of planar triangulations withv vertices << 6 log2 (v) bpv 3.24 bpv
Spanning Tree • Succinct Representationsof Graphs[Turan, 84] • Short encodings of planargraphs and maps[Keeler & Westbrook, 95] • Geometric CompressionthroughTopological Surgery[Taubin & Rossignac, 98] extends to meshes of non-zero genus
Region Growing • Triangle Mesh Compression[Touma & Gotsman, 98] • Cut-Border Machine[Gumhold & Strasser, 98] • Edgebreaker[Rossignac, 99] • Simple Sequential Encoding [de Floriani et al., 99] • Dual Graph Approach[Lee & Kuo, 99] • Face Fixer[Isenburg & Snoeyink, 00]
boundary boundary boundary processed region unprocessed region focus focus focus face-based edge-based vertex-based Classification • code symbols are associated with edges, faces, or vertices:
R F F Edge-Based • Dual Graph Approach, [Lee & Kuo, 99] • Face Fixer, [Isenburg & Snoeyink, 00] processed region unprocessedregion focus . . .
R F F F F Edge-Based • Dual Graph Approach, [Lee & Kuo, 99] • Face Fixer, [Isenburg & Snoeyink, 00] processed region unprocessedregion . . .
R F F F F F F Edge-Based • Dual Graph Approach, [Lee & Kuo, 99] • Face Fixer, [Isenburg & Snoeyink, 00] processed region unprocessedregion . . .
R R R F F F F F F Edge-Based • Dual Graph Approach, [Lee & Kuo, 99] • Face Fixer, [Isenburg & Snoeyink, 00] processed region unprocessedregion . . .
R R R F F F F F F F F Edge-Based • Dual Graph Approach, [Lee & Kuo, 99] • Face Fixer, [Isenburg & Snoeyink, 00] processed region unprocessedregion . . .
R R R R R F F F F F F F F Edge-Based • Dual Graph Approach, [Lee & Kuo, 99] • Face Fixer, [Isenburg & Snoeyink, 00] processed region unprocessedregion . . .
? ? ? ? ? 4 4 6 3 5 R R R R R F F F F F F F F F F . . . . . . Edge-Based • Dual Graph Approach, [Lee & Kuo, 99] • Face Fixer, [Isenburg & Snoeyink, 00] processed region unprocessedregion . . . . . .
C R Face-Based • Cut-Border Machine, [Gumhold & Strasser, 98] • Edgebreaker, [Rossignac, 99] processed region unprocessedregion focus . . .
C R C C Face-Based • Cut-Border Machine, [Gumhold & Strasser, 98] • Edgebreaker, [Rossignac, 99] processed region unprocessedregion . . .
C R C R C R Face-Based • Cut-Border Machine, [Gumhold & Strasser, 98] • Edgebreaker, [Rossignac, 99] processed region unprocessedregion . . .
C R C R R C R R Face-Based • Cut-Border Machine, [Gumhold & Strasser, 98] • Edgebreaker, [Rossignac, 99] processed region unprocessedregion . . .
? ? ? ? ? 4 4 6 3 5 R C C R C R C C R R . . . . . . Face-Based • Cut-Border Machine, [Gumhold & Strasser, 98] • Edgebreaker, [Rossignac, 99] processed region unprocessedregion . . . . . .
6 Vertex-based • Triangle Mesh Compression, [Touma & Gotsman, 98] processed region unprocessedregion focus . . .
6 5 5 Vertex-based • Triangle Mesh Compression, [Touma & Gotsman, 98] processed region unprocessedregion . . .
6 5 5 Vertex-based • Triangle Mesh Compression, [Touma & Gotsman, 98] processed region unprocessedregion . . .
6 5 5 Vertex-based • Triangle Mesh Compression, [Touma & Gotsman, 98] processed region unprocessedregion . . .
? ? ? ? ? 6 6 5 6 5 4 4 6 3 5 . . . . . . Vertex-based • Triangle Mesh Compression, [Touma & Gotsman, 98] processed region unprocessedregion . . . . . .
Coding with Degrees while ( unprocessed faces ) move focus to a faceface degree for ( free vertices ) case switch ( case )“add”: vertex degree“split”: offset“merge”: index, offset
boundary end slot free vertices exit focus 3 focus 4 4 4 5 4 4 focus (widened) 4 3 3 3 boundary slots 5 5 5 start slot “add” free vertex processed region unprocessed region . . . . . .
4 4 focus splitoffset 5 4 4 3 3 5 S free vertex “splits” boundary unprocessed region processed region . . . . . .
4 4 mergeoffset 5 4 4 3 3 5 M free vertex “merges” boundary boundary in stack unprocessed region processed region stack focus processed region . . . . . .
4 4 4 4 4 4 6 5 4 4 4 4 4 4 4 4 4 3 6 3 5 M S Resulting Code • two symbol sequences • vertex degrees (+ “split” / “merge”) • face degrees • compress with arithmetic coder converges to entropy . . . . . . . . . . . .
0.2 bits 1.3 bits 2.0 bits Entropy for a symbol sequence of t types t 1 Entropy = pi• log2( ) bits pi i =1 # of type t pi= # total
add 4 4 3 merge split 3 5 6 5 7 8 8 6 2 9+ 7 9+ vertex degrees case face degrees Average Distributions
6 3 3 6 4 4 ... ... ... ... ... ... ... ... ... ... ... ... vertexdegrees vertexdegrees vertexdegrees facedegrees facedegrees facedegrees Adaptation to Regularity
pi =1 i =3 i •pi =6 i =3 “Worst-case” Distribution 3 3 [Alliez & Desbrun, 01] 3.241… bpv [Tutte, 62] 4 5 6 7 8 9 … … … vertex degrees face degrees
Degree Correlation • high-degree faces are “likely” to be surroundedby low-degreevertices • and vice-versa mutualdegree prediction
fdc 3.3 3.3 fdc 4.3 4.3 fdc 4.9 4.9 fdc Face Degree Prediction 3 focus (widened) 4 3 average degree offocus vertices 3 + 4 + 3 fdc 3.333 = = 3 “face degree context”
vdc = 3 vdc = 4 4 vdc = 5 6 6 3 5 vdc 6 Vertex Degree Prediction 6 degree offocus face vdc = “vertex degree context”
Compression Gain without with model triceratops galleon cessna … tommygun cow teapot bits per vertex bits per vertex 1.189 2.093 2.543 … 2.258 1.781 1.127 1.192 2.371 2.811 … 2.917 1.781 1.632 min / max / average gain [%] = 0 / 31 / 17