1 / 80

Compressing Polygon Mesh Geometry

Compressing Polygon Mesh Geometry. with Parallelogram Prediction. 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.”

jameg
Download Presentation

Compressing Polygon Mesh Geometry

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 Geometry withParallelogramPrediction Martin Isenburg UNCChapel Hill Pierre Alliez INRIASophia-Antipolis

  2. Take this home: “Non-triangular faces inthe mesh can be exploited for more efficientpredictive compressionof vertex positions.” “Non-triangular faces tend tobe planar and convex.”

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

  4. Background

  5. log2(v) ~4v 32 bits 12 29736 3v *32 bits Polygon Meshes • connectivity • geometry face1 1 2 3 4 face2 3 4 3 face3 5 2 1 3 facef 2832 vertices vertex1 ( x, y, z ) vertex2 ( x, y, z ) vertex3 ( x, y, z ) vertexv 5647 size: 79296 bytes

  6. Mesh Compression • Geometry Compression [Deering,95] • Fast Rendering • Progressive Transmission • Maximum Compression Geometry Compression[Deering, 95] Maximum Compression

  7. Mesh Compression • Geometry Compression [Deering,95] • Fast Rendering • Progressive Transmission • Maximum Compression • Connectivity • Geometry Geometry Compression[Deering, 95] Maximum Compression Geometry

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

  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. Compressing Polygon Connectivity withDegree Duality Prediction, [Isenburg, 02] Near-optimal connectivity coding ofPolygon meshes, [Khodakovsky, Alliez, Desbrun & Schroeder, 02] • Geometry Coder  this paper [Isenburg & Alliez, 02] Generalization of TG coder • Connectivity Coder

  12. gain 26 % 26 % 35 % ... 36 % -1 % 24 % Results bits per vertex model TG IA triceratops galleon cessna … tommygun cow teapot 14.8 18.4 12.5 … 12.5 20.6 16.1 20.0 24.1 19.1 … 19.6 20.4 21.0 min / max / average [%] = 9 / 41 / 23

  13. Previous Work

  14. Java3D MPEG-4 Virtue3D 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]

  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. expensive numericalcomputations Previous Work • Classic approaches [95 – 98]: • linear prediction • Recent approaches [00 – 02]: • spectral • re-meshing • space-dividing • vector-quantization • feature discovery • angle-based Spectral Compressionof Mesh Geometry [Karni & Gotsman, 00]

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

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

  19. 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 Vertex data compressionfor triangle meshes [Lee & Ko, 00]

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

  21. dihedral + internal =heavy trigonometry 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]

  22. Linear Prediction Schemes

  23. integer floating point (1008,68,718) (1.2045,-0.2045,0.7045) Linear Prediction Schemes • quantize positions with b bits • traverse positions • linear prediction from neighbors • store corrective vector

  24. use traversal order implied bythe connectivity coder Linear Prediction Schemes • quantize positions with b bits • traverse positions • linear prediction from neighbors • store corrective vector

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

  26. corrector distribution position distribution 3500 70 3000 60 2500 50 2000 40 1500 30 1000 20 500 10 position prediction corrector 0 0 (1008,68,718) (1004,71,723) (4,-3,-5) Linear Prediction Schemes • quantize positions with b bits • traverse positions • linear prediction from neighbors • store corrective vector

  27. P = A P A Deering, 95 Prediction: Delta-Coding processed region unprocessed region

  28. P = αA + βB + γC + δD + εE + … P A B C D E Taubin & Rossignac, 98 Prediction: Spanning Tree processed region unprocessed region

  29. P = A – B + C P A B C Touma & Gotsman, 98 Prediction: Parallelogram Rule processed region unprocessed region

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

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

  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” versus “across”  within-predictions avoid creases across-prediction within-prediction  within-predictions often find existing parallelograms ( quadrilaterals)

  37. diff 31 % 37 % 45 % ... 44 % - 34 % Bitrates: “within” vs. “across” bits per vertex model triceratops galleon cessna … tommygun cow teapot within across 20.5 26.8 19.8 … 19.5 20.6 22.7 14.1 16.9 11.1 … 10.9 - 14.9 min / max / average [%] = 13 / 47 / 32

  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. Traversal Order we’re lucky:  process vertices in order dictated by our connectivity coder Compressing Polygon Connectivity withDegree Duality Prediction[Isenburg, 02]  avoid “splits” byadaptive traversal Valence-driven Connectivity Encodingfor 3D meshes[Alliez & Desbrun, 01]

  41. “splits”

  42. “splits”

  43. “splits”

  44. “splits”

  45. “splits” processed region

  46. “splits” processed region

  47. “splits” processed region

  48. “splits” processed region

  49. “splits” processed region

  50. split “splits” processed region

More Related