A Brief History of 1 Outline 3D Models and Polygonal Mesh Usage Areas Polygonal Mesh Basics Representation and Storage Compression Single Rate Mesh Compression Geometry Compression Connectivity Compression ID: 1044529
Download Presentation The PPT/PDF document "3D MESH COMPRESSION ORAL, M. ELMAS, A.A." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
1. 3D MESH COMPRESSIONORAL, M. ELMAS, A.A.A Brief History of1
2. Outline3D Models and Polygonal Mesh Usage AreasPolygonal Mesh BasicsRepresentation and StorageCompressionSingle Rate Mesh CompressionGeometry CompressionConnectivity CompressionPioneering AlgorithmsPerformance ResultsConclusion2AlgorithmsGeometry CompressionTopological SurgeryEdgeBreakerTriangle Mesh Compression
3. Movies“Rustboy” animated short by Brian Taylor 3
4. Engineering“Audi A8” created by Roland Wolf4
5. Architectural Visualization“Atrium” created by Karol Myszkowski and Frederic Drago 5
6. Product Catalogues“Bedroom set-model Assisi” created by Stolid6
7. Historical Study scanning of “Michelangelo’s David” courtesy of Marc Levoy 7
8. Computer Gamesscreenshot of “The village of Gnisis”, The Elder Scrolls III8
9. Polygonal Mesh & Mesh Basics9
10. Polygonal Mesh & Mesh BasicsMesh with HolesSimple MeshMesh with HandlesMesh with Holes & Handles10
11. Manifold & Non-manifold MeshesNon-manifold vertex (left)A non-manifold edge (center) has more than two incident faces(right) non-manifold but can be handled by most of the data structures11
12. 3D Polygonal MeshIsenberg12
13. list of verticesx0 y0 z0x1 y1 z1x2 y2 z2x3 y3 z3x4 y4 z4 . . . . .xn yn znStandard MESH Representationlist of faces1 4 213
14. list of verticesx0 y0 z0x1 y1 z1x2 y2 z2x3 y3 z3x4 y4 z4 . . . . .xn yn znStandard MESH Representationlist of faces1 4 22 3 04 0 53 4 55 0 2. . .14
15. Geometry and Connectivity InformationMinimal information need to be stored is:Where are the vertices located? => Mesh GeometryHow are the vertices connected? => Mesh Connectivity15
16. Basic Ingredients for MeshConnectivityface1 1 2 3 4face2 3 4 3face3 5 2 1 3..facef 725 6291 6293Geometryvertex1 ( x1 y1 z1 )vertex2 ( x2 y2 z2 )vertex3 ( x3 y3 z3 )..vertexv ( xv yv zv )16
17. Optional Ingredients for MeshMappingface1 1 2 3 4face2 3 4 5face3 5 6 1 7..facef 9152 123 271Valuestexcoord1 (u1 v1)texcoord2 (u2 v2)texcoord3 (u3 v3)..texcoordt (ut vt)17
18. Uncompressed Connectivity info.180110234567891112 0 4 5 0 5 1 5 6 1 1 6 2 2 6 3 4 8 5 8 9 5 5 9 6 9 11 6 6 11 7 6 7 3 8 10 9 9 10 11 11 12 76 log(n) bpv
19. Pioneering Compression AlgorithmsGeometry Compression (GC)Geometry Compression Through Topological Surgery (TS)Edgebreaker (EB)Triangle Mesh Compression (TG98)19Java3DMPEG - 4Virtue3D
20. Other triangle based connectivity driven single-rate mesh compression algorithms Geometry Compression, [Deering, 95] Topological Surgery, [Taubin & Rossignac, 98]Cut-Border Machine, [Gumhold & Strasser, 98]Triangle Mesh Compression, [Touma & Gotsman, 98]Edgebreaker, [Rossignac, 99]Spectral Compression of Geometry, [Karni & Gotsman, 00]Face Fixer, [Isenburg & Snoeyink, 00]Valence-driven Connectivity Coding, [Alliez & Desbrun, 01]Near-Optimal Coding, [Khodakovsky, Alliez, Desbrun &Degree Duality Coder, [Isenburg, 02]Polygonal Parallelogram Prediction, [Isenburg & Alliez, 02]20
21. Geometry CompressionDeering ‘9521Convert triangle data to generalized triangle meshQuantization of positions, colors, normalsDelta encoding of quantized valuesHuffman tag-based variable-length encoding of deltasOutput binary output stream with Huffman table initializations and geometry compression instructions
22. Geometry CompressionDeering ‘9522FastLocalwell suited for hw8-11 bpv for connectivityGeometry: highly variableIntegrated in JAVA3DRedundancy ~ 2One symbol per face 2V symbols
23. Topological Surgery23The idea is to cut a given mesh along a selected set of edges to make a planar mesh. The mesh connectivity is then represented by these cuts and planar mesh.TS encodes a triangular mesh withabout 2.5 to 6 b/vSpanning trees: a vertex and atriangle spanning treeConnectivity encoding is lossless.Geometry is predictively encoded.The correction vectors areentropy encoded.Normals, and colors are quantized.Obtaining the optimal spanning treeis an NP-hard combinatorial problem.
24. EdgeBreakerLossless compression for a triangle mesh, using ≈2 bits per triangle for simple meshes. Only a slight increase for meshes with holes and handles.Destroy triangles of the mesh one-by-one, starting from the boundary and spiraling inwardsFor each destruction operation, store an opcode indicating the type of the operationSequence of opcodes is called “history”Length of history = number of triangles, hence linear size encodingCompression scheme: remove X, store the operation (C, L, E, R or S), update the bounding loop and advance the gate24
25. Edgebreaker in Action5processedregionunprocessed regioncompressionboundary
26. 5processedregionunprocessed regioncompressionboundary CC
27. 5processedregionunprocessed regioncompressionboundary CCC C
28. 5processedregionunprocessed regioncompressionboundary CCRC C R
29. 5processedregionunprocessed regioncompressionboundary CCRCC C R C
30. 5processedregionunprocessed regioncompressionboundary CCRCRC C R C R
31. 5processedregionunprocessed regioncompressionboundary CCRCRSC C R C R S1234567891011offset = 11
32. 5processedregionunprocessed regioncompressionboundary CCRCRSLC C R C R S L offset = 11
33. 5processedregionunprocessed regioncompressionboundary CCRCRSLCC C R C R S L C offset = 11
34. 5processedregionunprocessed regioncompressionboundary CCRCRSLCRC C R C R S L C R offset = 11
35. 5processedregionunprocessed regioncompressionboundary CCRCRSLCRCC C R C R S L C R Coffset = 11
36. 5processedregionunprocessed regioncompressionboundary CCRCRSLCRCRC C R C R S L C R C Roffset = 11
37. 5processedregionunprocessed regioncompressionboundary CCRCRSLCRCRCC C R C R S L C R C R Coffset = 11
38. 5processedregionunprocessed regioncompressionboundary CCRCRSLCRCRCRC C R C R S L C R C R C Roffset = 11
39. 5processedregionunprocessed regioncompressionboundary CCRCRSLCRCRCRRC C R C R S L C R C R C R Roffset = 11
40. 5processedregionunprocessed regioncompressionboundary CCRCRSLCRCRCRRRC C R C R S L C R C R C R R Roffset = 11
41. 5processedregionunprocessed regioncompressionboundary CCRCRSLCRCRCRRRLC C R C R S L C R C R C R R R Loffset = 11
42. 5processedregionunprocessed regioncompressionboundary CCRCRSLCRCRCRRRLCC C R C R S L C R C R C R R R L Coffset = 11
43. 5processedregionunprocessed regioncompressionboundary CCRCRSLCRCRCRRRLCRC C R C R S L C R C R C R R R L C Roffset = 11
44. 5processedregionunprocessed regioncompressionboundary CCRCRSLCRCRCRRRLCRRC C R C R S L C R C R C R R R L C R Roffset = 11
45. 5processedregionunprocessed regioncompressionboundary CCRCRSLCRCRCRRRLCRRRC C R C R S L C R C R C R R R L C R R Roffset = 11
46. 5processedregionunprocessed regioncompressionboundary CCRCRSLCRCRCRRRLCRRRSC C R C R S L C R C R C R R R L C R R R S12offset = 3offset = 11
47. 5processedregionunprocessed regioncompressionboundary CCRCRC C R C R S L C R C R C R R R L C R R R S RSLCRCRCRRRLCRRRSRoffset = 3offset = 11
48. 5processedregionunprocessed regioncompressionboundary CCRCRSLCRCRCRRRLCRRRSERC C R C R S L C R C R C R R R L C R R R S R E offset = 3offset = 11
49. 5processedregionunprocessed regioncompressionboundary CCRCRSLCRCRCRRRLCRRRSEREC C R C R S L C R C R C R R R L C R R R S R E Eoffset = 11offset = 3
50. Triangle Mesh CompressionTouma & Gotsman ‘98The idea: Deterministic edge conquering from successive pivot vertices along an active edge listConnectivity: Output one valence symbol per vertex, + Huffman encoding of valencesFeatures:Average: 2 b/v for connectivityBit-rate vanishes to zero when regularNot seriously challenged since ‘9850
51. TG coder5processedregionunprocessed regioncompressionboundary slot counts
52. TG coder5processedregionunprocessed regioncompressionboundary 77
53. TG coder5processedregionunprocessed regioncompressionboundary 767 6 zero slot
54. TG coder5processedregionunprocessed regioncompressionboundary 767 6
55. TG coder5processedregionunprocessed regioncompressionboundary 7657 6 5 zero slot
56. 5processedregionunprocessed regioncompressionboundary 7657 6 5TG coder
57. 5processedregionunprocessed regioncompressionboundary 765S24678111213151618offset = 187 6 5 STG coder
58. 5processedregionunprocessed regioncompressionboundary 765S7 6 5 Soffset = 18TG coder
59. 5processedregionunprocessed regioncompressionboundary 765S77 6 5 S 7offset = 18TG coder
60. 5processedregionunprocessed regioncompressionboundary 765S77 6 5 S 7offset = 18zero slotTG coder
61. 5processedregionunprocessed regioncompressionboundary 765S77 6 5 S 7offset = 18zero slotTG coder
62. 5processedregionunprocessed regioncompressionboundary 765S77 6 5 S 7offset = 18TG coder
63. 5processedregionunprocessed regioncompressionboundary 765S767 6 5 S 7 6offset = 18TG coder
64. 5processedregionunprocessed regioncompressionboundary 765S767 6 5 S 7 6offset = 18TG coder
65. 5processedregionunprocessed regioncompressionboundary 765S7657 6 5 S 7 6 5offset = 18TG coder
66. 5processedregionunprocessed regioncompressionboundary 765S7657 6 5 S 7 6 5offset = 18TG coder
67. 5processedregionunprocessed regioncompressionboundary 765S7657 6 5 S 7 6 5offset = 18TG coder
68. 5processedregionunprocessed regioncompressionboundary 765S7657 6 5 S 7 6 5offset = 18TG coder
69. 5processedregionunprocessed regioncompressionboundary 765S7657 6 5 S 7 6 5offset = 18TG coder
70. 5processedregionunprocessed regioncompressionboundary 765S76567 6 5 S 7 6 5 6offset = 18TG coder
71. 5processedregionunprocessed regioncompressionboundary 765S76567 6 5 S 7 6 5 6offset = 18TG coder
72. 5processedregionunprocessed regioncompressionboundary 765S76567 6 5 S 7 6 5 6offset = 18TG coder
73. 5processedregionunprocessed regioncompressionboundary 765S76567 6 5 S 7 6 5 6offset = 18TG coder
74. 5processedregionunprocessed regioncompressionboundary 765S76567 6 5 S 7 6 5 6offset = 18TG coder
75. 5processedregionunprocessed regioncompressionboundary 765S76567 6 5 S 7 6 5 6 offset = 18TG coder
76. 5processedregionunprocessed regioncompressionboundary 765S76567 6 5 S 7 6 5 6 7offset = 187…ETG coder
77. 77Deering 958-11Redundancy ~ 2Connectivity(b/v)Triangle stripsNoteMethodTaubin & Rossignac 98Touma & Gotsman 98Rossignac 99King & Rossignac 99Gumhold 00Alliez & Desbrun 01~ 4Spanning trees~ 2 (~0 when regular)V symbolsValence4 guaranteed3.67 grntd.3.55 grntd.2V symbols, upper boundBetter upper boundEven better upper boundGate traversal~1.8[Tutte 62]Near optimalValence + adaptive conquestRecap
78. ConclusionsThe valence approach guarantees: Optimality in the regular case (6. . . .6) *Near* optimality in the irregular case