Title: Compressing Polygon Mesh Connectivity
1CompressingPolygon Mesh Connectivity
withDegree DualityPrediction
- Martin Isenburg
- University of North Carolinaat Chapel Hill
2Overview
- Background
- Connectivity Compression
- Coding with Degrees
- Duality Prediction
- Adaptive Traversal
- Example Run
- Conclusion
3Background
4Polygon Meshes
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
5Mesh Compression
- Geometry Compression Deering, 95
- Fast Rendering
- Progressive Transmission
- Maximum Compression
- Geometry
- Connectivity
- Triangle Meshes
- Polygon Meshes
Maximum Compression
Connectivity
Polygon Meshes
6Not Triangles Polygons!
Face Fixer Isenburg Snoeyink, 00
7Results
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
2.115 2.595 2.841 2.611 2.213 1.
669
44 19 11 ... 14 20 33
min / max / average gain 11 / 55 / 26
8Connectivity Compression
9Connectivity Compression
- assumption
- order of vertices does not matter
- advantage
- no need to preserve indices
- approach
- code only the connectivity graph
- re-order vertices appropriately
10Connectivity 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
11Spanning 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
12Region 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
13Classification
- code symbols are associated with edges, faces, or
vertices
14Edge-BasedCompression Schemes
15Edge-Based
- Dual Graph Approach, Lee Kuo, 99
- Face Fixer, Isenburg Snoeyink, 00
processed region
unprocessedregion
focus
. . .
16Edge-Based
- Dual Graph Approach, Lee Kuo, 99
- Face Fixer, Isenburg Snoeyink, 00
processed region
unprocessedregion
. . .
17Edge-Based
- Dual Graph Approach, Lee Kuo, 99
- Face Fixer, Isenburg Snoeyink, 00
processed region
unprocessedregion
. . .
18Edge-Based
- Dual Graph Approach, Lee Kuo, 99
- Face Fixer, Isenburg Snoeyink, 00
processed region
unprocessedregion
. . .
19Edge-Based
- Dual Graph Approach, Lee Kuo, 99
- Face Fixer, Isenburg Snoeyink, 00
processed region
unprocessedregion
. . .
20Edge-Based
- Dual Graph Approach, Lee Kuo, 99
- Face Fixer, Isenburg Snoeyink, 00
processed region
unprocessedregion
. . .
21Edge-Based
- Dual Graph Approach, Lee Kuo, 99
- Face Fixer, Isenburg Snoeyink, 00
processed region
unprocessedregion
. . .
. . .
22Face-BasedCompression Schemes
23Face-Based
- Cut-Border Machine, Gumhold Strasser, 98
- Edgebreaker, Rossignac, 99
processed region
unprocessedregion
focus
. . .
24Face-Based
- Cut-Border Machine, Gumhold Strasser, 98
- Edgebreaker, Rossignac, 99
processed region
unprocessedregion
. . .
25Face-Based
- Cut-Border Machine, Gumhold Strasser, 98
- Edgebreaker, Rossignac, 99
processed region
unprocessedregion
. . .
26Face-Based
- Cut-Border Machine, Gumhold Strasser, 98
- Edgebreaker, Rossignac, 99
processed region
unprocessedregion
. . .
27Face-Based
- Cut-Border Machine, Gumhold Strasser, 98
- Edgebreaker, Rossignac, 99
processed region
unprocessedregion
. . .
. . .
28Vertex-BasedCompression Schemes
29Vertex-based
- Triangle Mesh Compression, Touma
Gotsman, 98
processed region
unprocessedregion
focus
. . .
30Vertex-based
- Triangle Mesh Compression, Touma
Gotsman, 98
processed region
unprocessedregion
. . .
31Vertex-based
- Triangle Mesh Compression, Touma
Gotsman, 98
processed region
unprocessedregion
. . .
32Vertex-based
- Triangle Mesh Compression, Touma
Gotsman, 98
processed region
unprocessedregion
. . .
33Vertex-based
- Triangle Mesh Compression, Touma
Gotsman, 98
processed region
unprocessedregion
. . .
. . .
34Coding with Vertex and Face Degrees
35Coding 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
36Example Traversal
37add free vertex
processed region
unprocessed region
. . .
. . .
38free vertex splits boundary
unprocessed region
processed region
. . .
. . .
39free vertex merges boundary
boundary in stack
unprocessed region
processed region
stack focus
processed region
. . .
. . .
40Resulting Code
- two symbol sequences
- vertex degrees ( split / merge)
- face degrees
- compress with arithmetic coder
- ? converges to entropy
. . .
. . .
. . .
. . .
41Entropy
- for a symbol sequence of t types
t
1
?
Entropy pi log2( ) bits
pi
i 1
of type t
pi
total
42Average Distributions
43Adaptation to Regularity
44Worst-case Distribution
3
3
Alliez Desbrun, 01 ? 3.241 bpv Tutte, 62
4
5
6
7
8
9
vertex degrees
face degrees
? ?
45Compressing with Duality Prediction
46Degree Correlation
- high-degree faces are likely to be
surroundedby low-degreevertices - and vice-versa
- ? mutual degree prediction
47Face Degree Prediction
3
focus (widened)
4
3
average degree offocus vertices
3 4 3
fdc
3.333
3
face degree context
48Vertex Degree Prediction
6
degree offocus face
vdc
vertex degree context
49Compression 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
50Reducing the Number of Splits
51Occurance of splits
52Occurance of splits
53Occurance of splits
54Occurance of splits
55Occurance of splits
unprocessed region
processed region
56Occurance of splits
unprocessed region
processed region
57Occurance of splits
unprocessed region
processed region
58Occurance of splits
unprocessed region
processed region
59Occurance of splits
unprocessed region
processed region
60Adaptive Traversal
- Valence-driven connectivity encoding for 3D
meshes Alliez Desbrun, 01 - ? avoid creation of cavities
exitfocus
61Compression Gain
without
with
model
25 1.189 18 2.093 28 2.543
32 2.258 13 1.781 3 1.127
triceratops galleon cessna tommygun
cow teapot
53 1.311 78 2.309 172 2.882
131 2.449 154 2.313 10 1.167
bpv
splits
bpv
splits
min / max / average gain 4 / 23 / 10
62Example Decoding Run
63Example Decoding Run
. . .
. . .
64Example Decoding Run
4
. . .
. . .
65Example Decoding Run
6
. . .
. . .
66Example Decoding Run
3
. . .
. . .
67Example Decoding Run
6
. . .
. . .
68Example Decoding Run
5
. . .
. . .
69Example Decoding Run
3
5
. . .
. . .
70Example Decoding Run
3
5
. . .
. . .
71Example Decoding Run
4
. . .
. . .
72Example Decoding Run
4
. . .
. . .
73Example Decoding Run
5
4
. . .
. . .
74Example Decoding Run
4
. . .
. . .
75Example Decoding Run
. . .
. . .
76Example Decoding Run
4
. . .
. . .
77Example Decoding Run
4
5
. . .
. . .
78Example Decoding Run
focus (widened)
. . .
. . .
79Example Decoding Run
4
. . .
. . .
80Example Decoding Run
4
. . .
. . .
81Example Decoding Run
3
. . .
. . .
82Example Decoding Run
4
. . .
. . .
83Example Decoding Run
focus (widened)
. . .
. . .
84Example Decoding Run
6
. . .
. . .
85Example Decoding Run
2
6
. . .
. . .
86Example Decoding Run
4
6
. . .
. . .
87Example Decoding Run
4
. . .
. . .
88Example Decoding Run
focus (widened)
. . .
. . .
89Example Decoding Run
5
. . .
. . .
90Conclusion
91Summary
- degree coding for polygonal connectivity
- duality prediction
- adaptive traversal
- proof-of-conceptimplementationusing Shout3D
http//www.cs.unc.edu/isenburg/degreedualitycoder
/
92Similar Result
- Near-Optimal Connectivity Coding of 2-manifold
polygon meshes Khodakovsky, Alliez, Desbrun,
Schröder
? analysis of worst-case face degree and
vertex degree distribution
entropy ? Tuttes bounds
Martin ? France
93Current Work (w. Pierre Alliez)
- use polygons for better predictive geometry
coding - extend degree coding to volume mesh connectivity
fairly planar convex
edge degrees
94