1 / 94

Compressing Polygon Mesh Connectivity

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.

Download Presentation

Compressing Polygon Mesh Connectivity

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CompressingPolygon Mesh Connectivity withDegree DualityPrediction Martin Isenburg University of North Carolinaat Chapel Hill

  2. Overview • Background • Connectivity Compression • Coding with Degrees • Duality Prediction • Adaptive Traversal • Example Run • Conclusion

  3. Background

  4. 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

  5. Mesh Compression • Geometry Compression [Deering,95] • Fast Rendering • Progressive Transmission • Maximum Compression • Geometry • Connectivity • Triangle Meshes • Polygon Meshes Maximum Compression Connectivity Polygon Meshes

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

  7. 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

  8. Connectivity Compression

  9. 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

  10. 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

  11. 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

  12. 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]

  13. 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:

  14. Edge-BasedCompression Schemes

  15. R F F Edge-Based • Dual Graph Approach, [Lee & Kuo, 99] • Face Fixer, [Isenburg & Snoeyink, 00] processed region unprocessedregion focus . . .

  16. R F F F F Edge-Based • Dual Graph Approach, [Lee & Kuo, 99] • Face Fixer, [Isenburg & Snoeyink, 00] processed region unprocessedregion . . .

  17. R F F F F F F Edge-Based • Dual Graph Approach, [Lee & Kuo, 99] • Face Fixer, [Isenburg & Snoeyink, 00] processed region unprocessedregion . . .

  18. 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 . . .

  19. 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 . . .

  20. 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 . . .

  21. ? ? ? ? ? 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 . . . . . .

  22. Face-BasedCompression Schemes

  23. C R Face-Based • Cut-Border Machine, [Gumhold & Strasser, 98] • Edgebreaker, [Rossignac, 99] processed region unprocessedregion focus . . .

  24. C R C C Face-Based • Cut-Border Machine, [Gumhold & Strasser, 98] • Edgebreaker, [Rossignac, 99] processed region unprocessedregion . . .

  25. C R C R C R Face-Based • Cut-Border Machine, [Gumhold & Strasser, 98] • Edgebreaker, [Rossignac, 99] processed region unprocessedregion . . .

  26. C R C R R C R R Face-Based • Cut-Border Machine, [Gumhold & Strasser, 98] • Edgebreaker, [Rossignac, 99] processed region unprocessedregion . . .

  27. ? ? ? ? ? 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 . . . . . .

  28. Vertex-BasedCompression Schemes

  29. 6 Vertex-based • Triangle Mesh Compression, [Touma & Gotsman, 98] processed region unprocessedregion focus . . .

  30. 6 5 5 Vertex-based • Triangle Mesh Compression, [Touma & Gotsman, 98] processed region unprocessedregion . . .

  31. 6 5 5 Vertex-based • Triangle Mesh Compression, [Touma & Gotsman, 98] processed region unprocessedregion . . .

  32. 6 5 5 Vertex-based • Triangle Mesh Compression, [Touma & Gotsman, 98] processed region unprocessedregion . . .

  33. ? ? ? ? ? 6 6 5 6 5 4 4 6 3 5 . . . . . . Vertex-based • Triangle Mesh Compression, [Touma & Gotsman, 98] processed region unprocessedregion . . . . . .

  34. Coding with Vertex and Face Degrees

  35. Coding with Degrees while ( unprocessed faces ) move focus to a faceface degree for ( free vertices ) case switch ( case )“add”: vertex degree“split”: offset“merge”: index, offset

  36. Example Traversal

  37. 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 . . . . . .

  38. 4 4 focus splitoffset 5 4 4 3 3 5 S free vertex “splits” boundary unprocessed region processed region . . . . . .

  39. 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 . . . . . .

  40. 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 . . . . . . . . . . . .

  41. 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

  42. 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

  43. 6 3 3 6 4 4 ... ... ... ... ... ... ... ... ... ... ... ... vertexdegrees vertexdegrees vertexdegrees facedegrees facedegrees facedegrees Adaptation to Regularity

  44.  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  

  45. Compressing with Duality Prediction

  46. Degree Correlation • high-degree faces are “likely” to be surroundedby low-degreevertices • and vice-versa  mutualdegree prediction

  47. 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”

  48. vdc = 3 vdc = 4 4 vdc = 5 6 6 3 5 vdc  6 Vertex Degree Prediction 6 degree offocus face vdc = “vertex degree context”

  49. 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

  50. Reducing the Number of Splits

More Related