Title: Early Split Coding of Triangle Mesh Connectivity
1Early Split Coding ofTriangle Mesh Connectivity
Martin Isenburg UC Berkeley
Jack Snoeyink UNC Chapel Hill
2Mesh Compression
Geometry Compression Deering, 95
- Efficient Rendering
- Progressive Transmission
- Compact Storage
main memory
- Surface Meshes
- triangular
- polygonal
- Volume Meshes
- tetrahedral, hexahedral
storage / network
3Triangle Mesh Connectivity
v -9.7 1.6 -0.2 v -6.6 1.4 3.3 v -1.6 1.4
2.3 v -3.3 -1.4 3.0 v 5.6 1.7 4.5 v -6.6 1.4
6.1 v -3.3 4.4 3.7v -1.6 1.4 2.1 v -5.4
-1.6 6.4 ...f 1 2 3 f 3 2 4 f
2 1 5 f 2 5 4 f 6 4 5 f 6
5 7 f 5 1 8 f 4 8 7 f 7 8
9 f 9 8 10f 10 11 7 ...
Geometry
? 6 log2 (v) bpv
Connectivity
4Compression Schemes
Cut-Border Machine Gumhold Strasser 98
Triangle Mesh Compression Touma Gotsman 98
Edgebreaker Rossignac 99
Face Fixer Isenburg Snoeyink 00
Valence-Driven Encoding Alliez Desbrun 01
Computer Graphics
Angle Analyzer Lee, Alliez Desbrun 02
Degree Duality Coder Isenburg 02
Near-optimal Coding Khodakovsky et al. 02
Out-of-Core Compression Isenburg Gumhold 03
Delphi Coding Coors and Rossignac 04
FreeLence Kälberer et al. 05
5Connectivity Graph Traversal
split offset
6Connectivity Graph Traversal
7CBM Edgebreaker TG coder
Cut-Border Machine Gumhold Strasser 98
Edgebreaker Rossignac 99
Early Split Coding this paper
8CBM and Edgebreaker
9CBM and Edgebreaker
5
unprocessed region
processedregion
10CBM and Edgebreaker
C
5
compression boundary
C
unprocessed region
processedregion
11CBM and Edgebreaker
C C
5
compression boundary
C
C
unprocessed region
processedregion
12CBM and Edgebreaker
C C R
5
compression boundary
R
C
C
unprocessed region
processedregion
13CBM and Edgebreaker
C C R C
5
compression boundary
C
R
C
C
unprocessed region
processedregion
14CBM and Edgebreaker
C C R C R
5
compression boundary
R
C
R
C
C
unprocessed region
processedregion
15CBM and Edgebreaker
C C R C R S
5
compression boundary
S
R
C
R
C
C
unprocessed region
processedregion
16CBM and Edgebreaker
C C R C R S L
offset 11
5
compression boundary
L
S
R
C
R
C
C
unprocessed region
processedregion
17CBM and Edgebreaker
C C R C R S L C
offset 11
5
compression boundary
C
L
S
R
C
R
C
C
unprocessed region
processedregion
18CBM and Edgebreaker
C C R C R S L C R
offset 11
5
compression boundary
C
L
R
S
R
C
R
C
C
unprocessed region
processedregion
19CBM and Edgebreaker
C C R C R S L C R C
offset 11
5
compression boundary
C
L
C
R
S
R
C
R
C
C
unprocessed region
processedregion
20CBM and Edgebreaker
C C R C R S L C R C R
offset 11
5
compression boundary
C
L
C
R
S
R
R
C
R
C
C
unprocessed region
processedregion
21CBM and Edgebreaker
C C R C R S L C R C R C
offset 11
5
compression boundary
C
L
C
R
S
R
C
R
C
R
C
C
unprocessed region
processedregion
22CBM and Edgebreaker
C C R C R S L C R C R C R
offset 11
5
compression boundary
C
L
C
R
S
R
C
R
R
C
R
C
C
unprocessed region
processedregion
23CBM and Edgebreaker
C C R C R S L C R C R C R R
offset 11
5
compression boundary
C
L
C
R
S
R
C
R
R
R
C
R
C
C
unprocessed region
processedregion
24CBM and Edgebreaker
C C R C R S L C R C R C R R R
offset 11
5
compression boundary
C
L
C
R
S
R
R
C
R
R
R
C
R
C
C
unprocessed region
processedregion
25CBM and Edgebreaker
C C R C R S L C R C R C R R R L
offset 11
5
compression boundary
C
L
C
R
L
S
R
R
C
R
R
R
C
R
C
C
unprocessed region
processedregion
26CBM and Edgebreaker
C C R C R S L C R C R C R R R L C
offset 11
5
compression boundary
C
C
L
C
R
L
S
R
R
C
R
R
R
C
R
C
C
unprocessed region
processedregion
27CBM and Edgebreaker
C C R C R S L C R C R C R R R L C R
offset 11
5
compression boundary
R
C
C
L
C
R
L
S
R
R
C
R
R
R
C
R
C
C
unprocessed region
processedregion
28CBM and Edgebreaker
C C R C R S L C R C R C R R R L C R R
offset 11
R
5
compression boundary
R
C
C
L
C
R
L
S
R
R
C
R
R
R
C
R
C
C
unprocessed region
processedregion
29CBM and Edgebreaker
C C R C R S L C R C R C R R R L C R R R
offset 11
R
R
5
compression boundary
R
C
C
L
C
R
L
S
R
R
C
R
R
R
C
R
C
C
unprocessed region
processedregion
30CBM and Edgebreaker
C C R C R S L C R C R C R R R L C R R R S
offset 11
R
R
5
S
compression boundary
R
C
C
L
C
R
L
S
R
R
C
R
R
R
C
R
C
C
unprocessed region
processedregion
31CBM and Edgebreaker
offset 3
C C R C R S L C R C R C R R R L C R R R S R
offset 11
R
R
R
5
S
compression boundary
R
C
C
L
C
R
L
S
R
R
C
R
R
R
C
R
C
C
unprocessed region
processedregion
32CBM and Edgebreaker
offset 3
C C R C R S L C R C R C R R R L C R R R S R E
offset 11
R
R
R
5
S
compression boundary
R
E
C
C
L
C
R
L
S
R
R
C
R
R
R
C
R
C
C
unprocessed region
processedregion
33CBM and Edgebreaker
offset 3
C C R C R S L C R C R C R R R L C R R R S R E E
offset 11
R
R
R
5
S
compression boundary
R
E
E
C
C
L
C
R
L
S
R
R
C
R
R
R
C
R
C
C
unprocessed region
processedregion
34CBM and Edgebreaker
offset 3
1
3
4
C C R C R S L C R C R C R R R L C R R R S R E E C
...
1
-1
1
1
1
1
1
1
1
1
1
-1
1
3
3
-1
-1
-1
12
offset 11
R
R
R
5
S
compression boundary
R
E
E
C
C
L
C
R
L
S
R
R
C
C
R
R
R
C
R
C
C
unprocessed region
processedregion
35Subsequences of Labels areself-contained
Encodings
36Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
37Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
E
38Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
E
E
39Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
E
E
40Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
E
E
41Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
E
E
42Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
E
E
43Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
E
E
44Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
S
E
E
45Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
R
S
E
E
46Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
R
R
S
E
E
47Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
R
R
S
R
E
E
48Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
R
R
S
R
E
E
C
49Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
R
R
S
R
E
E
C
L
50Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
R
R
S
R
E
E
C
L
R
51Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
R
R
S
R
E
E
C
L
R
R
52Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
R
R
S
R
E
E
C
L
R
R
R
53Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
R
R
S
R
E
E
C
L
R
C
R
R
54Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
R
R
S
R
E
E
C
L
R
R
C
R
R
55Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
R
R
S
R
E
E
C
C
L
R
R
C
R
R
56Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
R
R
S
R
E
E
C
C
R
L
R
R
C
R
R
57Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
R
R
R
S
R
E
E
C
C
C
R
L
R
R
C
R
R
58Subsequences are self-contained
S L C R C R C R R R L C R R R S R E E
reversible
we did not needsplit offsets !!!
R
R
R
S
R
E
E
C
C
L
C
R
L
R
R
C
R
R
59TG coder
60TG coder
5
compression boundary
unprocessed region
processedregion
61TG coder
7
5
compression boundary
unprocessed region
7
processedregion
62TG coder
7 6
5
compression boundary
6
unprocessed region
7
processedregion
63TG coder
7 6
5
compression boundary
6
unprocessed region
7
processedregion
64TG coder
7 6 5
5
compression boundary
5
6
unprocessed region
7
processedregion
65TG coder
7 6 5
5
compression boundary
5
6
unprocessed region
7
processedregion
66TG coder
7 6 5 S
5
compression boundary
S
5
6
unprocessed region
7
processedregion
67TG coder
7 6 5 S
offset 18
5
compression boundary
S
5
6
unprocessed region
7
processedregion
68TG coder
7 6 5 S 7
offset 18
5
compression boundary
7
S
5
6
unprocessed region
7
processedregion
69TG coder
7 6 5 S 7
offset 18
5
compression boundary
7
S
5
6
unprocessed region
7
processedregion
70TG coder
7 6 5 S 7
offset 18
5
compression boundary
7
S
5
6
unprocessed region
7
processedregion
71TG coder
7 6 5 S 7
offset 18
5
compression boundary
7
S
5
6
unprocessed region
7
processedregion
72TG coder
7 6 5 S 7 6
offset 18
5
compression boundary
7
6
S
5
6
unprocessed region
7
processedregion
73TG coder
7 6 5 S 7 6
offset 18
5
compression boundary
7
6
S
5
6
unprocessed region
7
processedregion
74TG coder
7 6 5 S 7 6 5
offset 18
5
compression boundary
7
6
S
5
5
6
unprocessed region
7
processedregion
75TG coder
7 6 5 S 7 6 5
offset 18
5
compression boundary
7
6
S
5
5
6
unprocessed region
7
processedregion
76TG coder
7 6 5 S 7 6 5
offset 18
5
compression boundary
7
6
S
5
5
6
unprocessed region
7
processedregion
77TG coder
7 6 5 S 7 6 5
offset 18
5
compression boundary
7
6
S
5
5
6
unprocessed region
7
processedregion
78TG coder
7 6 5 S 7 6 5
offset 18
5
compression boundary
7
6
S
5
5
6
unprocessed region
7
processedregion
79TG coder
7 6 5 S 7 6 5 6
offset 18
5
6
compression boundary
7
6
S
5
5
6
unprocessed region
7
processedregion
80TG coder
7 6 5 S 7 6 5 6
offset 18
5
6
compression boundary
7
6
S
5
5
6
unprocessed region
7
processedregion
81TG coder
7 6 5 S 7 6 5 6
offset 18
5
6
compression boundary
7
6
S
5
5
6
unprocessed region
7
processedregion
82TG coder
7 6 5 S 7 6 5 6
offset 18
5
6
compression boundary
7
6
S
5
5
6
unprocessed region
7
processedregion
83TG coder
7 6 5 S 7 6 5 6
offset 18
5
6
compression boundary
7
6
S
5
5
6
unprocessed region
7
processedregion
84TG coder
7 6 5 S 7 6 5 6
offset 18
5
6
compression boundary
7
6
S
5
5
6
unprocessed region
7
processedregion
85TG coder
7 6 5 S 7 6 5 6 7
offset 18
5
6
compression boundary
7
6
S
5
5
7
6
unprocessed region
7
processedregion
86Subsequences of Degrees arenot self-contained
Encodings
87Subsequences are not self-contained
S 7 6 5 6 E
5
S
88Subsequences are not self-contained
S 7 6 5 6 E
5
S
89Subsequences are not self-contained
S 7 6 5 6 E
5
S
90Subsequences are not self-contained
S 7 6 5 6 E
5
S
91Subsequences are not self-contained
S 7 6 5 6 E
5
S
92Subsequences are not self-contained
S 7 6 5 6 E
5
S
93Not unique without split offsets
6 6 5 6 6 5 6
5 7 5 6 6 6 5
S 4 3 E 4 3 E
94Early Split Coder
95Early Split Coder
- encode with labels or degrees
- traverse triangles in same order
- new label W
- earlier split operations
- one-to-one mapping ? insights
- how to turn degree subsequences into
self-contained encodings
- decoding strategy decides success
96The new label W
C
C
R
R
C
R
97The new label W
C
C
C
R
R
C
R
98The new label W
C
C
C
C
R
R
C
R
99The new label W
C
R
C
C
C
R
R
C
R
100The new label W
wart
C
R
C
C
C
R
R
C
R
wart
C
C
C
R
R
C
R
101The new label W
wart
C
R
C
C
C
R
R
C
R
wart
W
C
C
C
R
R
C
R
102The new label W
C
W
C
C
C
R
R
C
R
103The new label W
C
W
R
C
C
C
R
R
C
R
104The early split operation
C
R
C
R
R
105The early split operation
S
C
R
C
R
R
106The early split operation
S
R
C
R
C
R
R
107The early split operation
L
S
R
C
R
C
R
R
108The early split operation
L
R
S
R
C
R
C
R
R
109The early split operation
L
L
R
S
R
C
R
C
R
R
110The early split operation
L
L
R
S
R
C
R
C
R
R
111The early split operation
L
L
R
S
R
C
R
C
R
R
112The early split operation
L
L
R
S
R
C
R
C
R
R
113The early split operation
L
L
R
S
R
C
R
C
R
R
114The early split operation
L
L
R
S
R
C
R
C
R
R
C
C
R
C
R
R
115The early split operation
L
L
R
S
R
C
R
C
R
R
S
C
C
R
C
R
R
116The early split operation
L
L
R
S
R
C
R
C
R
R
W
S
C
C
R
C
R
R
117The early split operation
L
L
R
S
R
C
R
C
R
R
W
W
S
C
C
R
C
R
R
118The early split operation
L
L
R
S
R
C
R
C
R
R
W
W
S
C
C
C
R
C
R
R
119The early split operation
L
L
R
S
R
C
R
C
R
R
W
W
S
C
R
C
C
R
C
R
R
120The early split operation
L
L
R
S
R
C
R
C
R
R
W
W
S
C
R
R
C
C
R
C
R
R
121The early split operation
L
L
R
S
R
C
R
C
R
R
W
W
S
W
C
R
R
C
C
R
C
R
R
122Complete Example
123One Scheme Four Encodings
124Forward Decodingwith offsets
125Forward Decoding with offsets
C C C C R C R C R W C R C S1 C R R E C R E
V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0
126Forward Decoding with offsets
C C C C R C R C R W C R C S1 C R R E C R E
V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0
127Forward Decoding with offsets
C C C C R C R C R W C R C S1 C R R E C R E
V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0
128Forward Decoding with offsets
C C C C R C R C R W C R C S1 C R R E C R E
V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0
129Forward Decoding with offsets
C C C C R C R C R W C R C S1 C R R E C R E
V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0
130Forward Decoding with offsets
C C C C R C R C R W C R C S1 C R R E C R E
V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0
131Forward Decoding with offsets
C C C C R C R C R W C R C S1 C R R E C R E
V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0
132Forward Decoding with offsets
C C C C R C R C R W C R C S1 C R R E C R E
V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0
133Forward Decoding with offsets
C C C C R C R C R W C R C S1 C R R E C R E
V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0
134Forward Decoding with offsets
C C C C R C R C R W C R C S1 C R R E C R E
V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0
135Forward Decoding with offsets
C C C C R C R C R W C R C S1 C R R E C R E
V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0
136Forward Decoding with offsets
C C C C R C R C R W C R C S1 C R R E C R E
V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0
137Forward Decoding with offsets
C C C C R C R C R W C R C S1 C R R E C R E
V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0
138Forward Decoding with offsets
C C C C R C R C R W C R C S1 C R R E C R E
V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0
139Forward Decoding with offsets
C C C C R C R C R W C R C S1 C R R E C R E
V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0
140Forward Decoding with offsets
C C C C R C R C R W C R C S1 C R R E C R E
V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0
141Forward Decoding with offsets
C C C C R C R C R W C R C S1 C R R E C R E
V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0
142Reverse Decodingwithout offsets
143Reverse Decoding w/o offsets
E R C E R R C S C R C W R C R C R C C C C
E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5
144Reverse Decoding w/o offsets
E R C E R R C S C R C W R C R C R C C C C
E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5
145Reverse Decoding w/o offsets
E R C E R R C S C R C W R C R C R C C C C
E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5
146Reverse Decoding w/o offsets
E R C E R R C S C R C W R C R C R C C C C
E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5
147Reverse Decoding w/o offsets
E R C E R R C S C R C W R C R C R C C C C
E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5
148Reverse Decoding w/o offsets
E R C E R R C S C R C W R C R C R C C C C
E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5
149Reverse Decoding w/o offsets
E R C E R R C S C R C W R C R C R C C C C
E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5
150Reverse Decoding w/o offsets
E R C E R R C S C R C W R C R C R C C C C
E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5
151Reverse Decoding w/o offsets
E R C E R R C S C R C W R C R C R C C C C
E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5
152Reverse Decoding w/o offsets
E R C E R R C S C R C W R C R C R C C C C
E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5
153Reverse Decoding w/o offsets
E R C E R R C S C R C W R C R C R C C C C
E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5
154Reverse Decoding w/o offsets
E R C E R R C S C R C W R C R C R C C C C
E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5
155Reverse Decoding w/o offsets
E R C E R R C S C R C W R C R C R C C C C
E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5
156Reverse Decoding w/o offsets
E R C E R R C S C R C W R C R C R C C C C
E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5
157Reverse Decoding w/o offsets
E R C E R R C S C R C W R C R C R C C C C
E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5
158Reverse Decoding w/o offsets
E R C E R R C S C R C W R C R C R C C C C
E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5
159Results
160Compression Results
161Improving the TG coder
5
Valence-Driven Encoding Alliez Desbrun 01
162Thank You