800 likes | 848 Views
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.”
E N D
CompressingPolygon Mesh Geometry withParallelogramPrediction Martin Isenburg UNCChapel Hill Pierre Alliez INRIASophia-Antipolis
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.”
Overview • Background • Previous Work • Linear Prediction Schemes • “within” versus “across” • Example Run • Can we do better ? • Conclusion
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
Mesh Compression • Geometry Compression [Deering,95] • Fast Rendering • Progressive Transmission • Maximum Compression Geometry Compression[Deering, 95] Maximum Compression
Mesh Compression • Geometry Compression [Deering,95] • Fast Rendering • Progressive Transmission • Maximum Compression • Connectivity • Geometry Geometry Compression[Deering, 95] Maximum Compression Geometry
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
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
Not Triangles … Polygons! Face Fixer[Isenburg & Snoeyink,00]
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
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
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]
Previous Work • Classic approaches [95 – 98]: • linear prediction • Recent approaches [00 – 02]: • spectral • re-meshing • space-dividing • vector-quantization • feature discovery • angle-based
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]
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]
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]
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]
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
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]
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
use traversal order implied bythe connectivity coder Linear Prediction Schemes • quantize positions with b bits • traverse positions • linear prediction from neighbors • store corrective vector
prediction apply prediction rule (1004,71,723) Linear Prediction Schemes • quantize positions with b bits • traverse positions • linear prediction from neighbors • store corrective vector
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
P = A P A Deering, 95 Prediction: Delta-Coding processed region unprocessed region
P = αA + βB + γC + δD + εE + … P A B C D E Taubin & Rossignac, 98 Prediction: Spanning Tree processed region unprocessed region
P = A – B + C P A B C Touma & Gotsman, 98 Prediction: Parallelogram Rule processed region unprocessed region
Parallelogram Rule “good” prediction “bad”prediction “bad”prediction “non-convex” “non-planar”
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)
Polygon Meshes … ? TG coder • triangulate • compress resulting triangle mesh IA coder • do NOT triangulate • use polygons for better predictions • within versus across
Non-triangular Faces Question: Why would a mesh have a non-triangular face?
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
“within” versus “across” within-predictions avoid creases across-prediction within-prediction within-predictions often find existing parallelograms ( quadrilaterals)
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
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
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]
“splits” processed region
“splits” processed region
“splits” processed region
“splits” processed region
“splits” processed region
split “splits” processed region