martin isenburg uc berkeley jack snoeyink unc chapel hill early split coding of triangle mesh...

162
Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Post on 21-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Martin IsenburgUC Berkeley

Jack SnoeyinkUNC Chapel Hill

Early Split Coding ofTriangle Mesh Connectivity

Page 2: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Geometry

Connectivity

– Efficient Rendering

– Progressive Transmission

– Compact Storage

Mesh Compression“Geometry Compression” [Deering, 95]

• Surface Meshes– triangular

– polygonal

• Volume Meshes– tetrahedral, hexahedral

storage / network

main memory

Page 3: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Connectivity

Triangle Mesh Connectivityv -9.7 1.6 -0.2v -6.6 1.4 3.3v -1.6 1.4 2.3v -3.3 -1.4 3.0v 5.6 1.7 4.5v -6.6 1.4 6.1v -3.3 –4.4 3.7v -1.6 1.4 2.1v -5.4 -1.6 6.4...

f 1 2 3f 3 2 4f 2 1 5f 2 5 4f 6 4 5f 6 5 7f 5 1 8f 4 8 7f 7 8 9f 9 8 10f 10 11 7...

Geometry

each index uses log2 (v) bits

6 log2 (v) bpv

3.24 bpv

enumeration of triangulatedplanargraphs

[Tutte 62]

Page 4: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

“Out-of-Core Compression” [Isenburg & Gumhold ‘03]

“Delphi Coding” [Coors and Rossignac ‘04]

“FreeLence” [Kälberer et al. ‘05]

Compression Schemes“Cut-Border Machine” [Gumhold & Strasser ‘98]

“Triangle Mesh Compression” [Touma & Gotsman ‘98]

“Edgebreaker” [Rossignac ‘99]

“Face Fixer” [Isenburg & Snoeyink ‘00]

“Angle Analyzer” [Lee, Alliez & Desbrun ‘02]

“Degree Duality Coder” [Isenburg ‘02]

“Near-optimal Coding” [Khodakovsky et al. ‘02]

“Valence-Driven Encoding” [Alliez & Desbrun ‘01]ComputerGraphics

“Succinct encodings of planar graphs” [He, Yao, & Hu ‘99]

“Short encodings of planar graphs” [Keeler & Westbrook ‘95]

“Succinct Representations of Graphs” [Turan ‘84]

“Optimal Coding” [Poulahlon & Schaeffer ‘03]

PlanarGraphCoding

Page 5: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Connectivity Graph Traversal

split offset

Page 6: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Connectivity Graph Traversal

Page 7: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM – Edgebreaker – TG coder• label-based

split offset

“Cut-Border Machine” [Gumhold & Strasser ‘98]

“Edgebreaker” [Rossignac ‘99]

“Early Split Coding” [this paper]

C R C R R S. . . R C R E R C . . .

• degree-based

“Triangle Mesh Compression” [Touma & Gotsman ‘98]

3. . . . . .64 4 44 5 44S

split offset

Page 8: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

Page 9: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

Page 10: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

C

C

Page 11: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

C C

Page 12: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

R

C C R

Page 13: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

C C R C

Page 14: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

R

C C R C R

Page 15: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

C C R C R S

12

3

4

5

6

7

89

10

11

offset = 11

Page 16: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

L

C C R C R S L

offset = 11

Page 17: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

L C

C C R C R S L C

offset = 11

Page 18: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

L CR

C C R C R S L C R

offset = 11

Page 19: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

L CR C

C C R C R S L C R C

offset = 11

Page 20: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

L CR C

R

C C R C R S L C R C R

offset = 11

Page 21: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

L CR C

R C

C C R C R S L C R C R C

offset = 11

Page 22: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

L CR C

R C

R

C C R C R S L C R C R C R

offset = 11

Page 23: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

L CR C

R C

R R

C C R C R S L C R C R C R R

offset = 11

Page 24: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

L CR C

R C

R R

R

C C R C R S L C R C R C R R R

offset = 11

Page 25: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

L CR C

R C

R R

RL

C C R C R S L C R C R C R R R L

offset = 11

Page 26: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

L CR C

R C

R R

RL

C

C C R C R S L C R C R C R R R L C

offset = 11

Page 27: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

L CR C

R C

R R

RL

CR

C C R C R S L C R C R C R R R L C R

offset = 11

Page 28: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

L CR C

R C

R R

RL

CR

R

C C R C R S L C R C R C R R R L C R R

offset = 11

Page 29: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

L CR C

R C

R R

RL

CR

RR

C C R C R S L C R C R C R R R L C R R R

offset = 11

Page 30: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

L CR C

R C

R R

RL

CR

RR

S

C C R C R S L C R C R C R R R L C R R R S

1

2

offset = 3

offset = 11

Page 31: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

R

C C R C R S L C R C R C R R R L C R R R S R

S

L CR C

R C

R R

RL

CR

RR

SR

offset = 3

offset = 11

Page 32: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

L CR C

R C

R R

RL

CR

RR

SE

R

C C R C R S L C R C R C R R R L C R R R S R E

offset = 3

offset = 11

Page 33: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

L CR C

R C

R R

RL

CR

RR

SE

R

E

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

offset = 3

Page 34: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

CBM and Edgebreaker

5

processedregion

unprocessed region

compressionboundary

CC

RC

RS

L CR C

R C

R R

RL

CR

RR

SE

R

E

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

offset = 11

offset = 3

+1 +3

+1 -1 +1 +1 +1 +1 +1 +1 +1 +1 +1 -1 +1 +3 +3-1 -1 -1

= 4

= 12

C

...

Page 35: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Subsequences of Labels areself-contained Encodings

Page 36: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

reversible

… …

Page 37: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

… …

Page 38: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

reversible

E

E

… …

Page 39: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

… …

Page 40: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

… …

Page 41: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

… …

Page 42: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

… …

Page 43: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

… …

Page 44: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

S

… …

Page 45: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

S

R

… …

Page 46: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

S

R R

… …

Page 47: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

S

R R

R

… …

Page 48: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

S

R R

R

C

… …

Page 49: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

S

R R

R

C

L

… …

Page 50: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

S

R R

R

C

LR

… …

Page 51: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

S

R R

R

C

LR

R

… …

Page 52: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

S

R R

R

C

LR

RR

… …

Page 53: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

S

R R

R

C

LR

RR

C

… …

Page 54: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

S

R R

R

C

LR

RR

CR

… …

Page 55: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

S

R R

R

C

LR

RR

CR

C

… …

Page 56: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

S

R R

R

C

LR

RR

CR

CR

… …

Page 57: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

S

R R

R

C

LR

RR

CR

CR

… …

C

Page 58: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

S L C R C R C R R R L C R R R S R E E

Subsequences are self-contained

E

reversible

RE

S

R R

R

C

LR

RR

CR

CR

… …

CL

we did not needsplit offsets !!!

Page 59: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

Page 60: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

slot counts

Page 61: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

7

Page 62: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

7 6

zero slot

Page 63: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

7 6

Page 64: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

7 6 5

zero slot

Page 65: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

7 6 5

Page 66: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S 24

6

7

8

11

12

1315

16

18

offset = 18

7 6 5 S

Page 67: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7 6 5 S

offset = 18

Page 68: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7

7 6 5 S 7

offset = 18

Page 69: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7

7 6 5 S 7

offset = 18

zero slot

Page 70: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7

7 6 5 S 7

offset = 18

zero slot

Page 71: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7

7 6 5 S 7

offset = 18

Page 72: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7

6

7 6 5 S 7 6

offset = 18

Page 73: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7

6

7 6 5 S 7 6

offset = 18

Page 74: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7

6

5

7 6 5 S 7 6 5

offset = 18

Page 75: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7

6

5

7 6 5 S 7 6 5

offset = 18

Page 76: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7

6

5

7 6 5 S 7 6 5

offset = 18

Page 77: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7

6

5

7 6 5 S 7 6 5

offset = 18

Page 78: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7

6

5

7 6 5 S 7 6 5

offset = 18

Page 79: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7

6

5

6

7 6 5 S 7 6 5 6

offset = 18

Page 80: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7

6

5

6

7 6 5 S 7 6 5 6

offset = 18

Page 81: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7

6

5

6

7 6 5 S 7 6 5 6

offset = 18

Page 82: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7

6

5

6

7 6 5 S 7 6 5 6

offset = 18

Page 83: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7

6

5

6

7 6 5 S 7 6 5 6

offset = 18

Page 84: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7

6

5

6

7 6 5 S 7 6 5 6

offset = 18

Page 85: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

TG coder

5

processedregion

unprocessed region

compressionboundary

7

6

5

S

7

6

5

6

7 6 5 S 7 6 5 6 7

offset = 18

7

E

Page 86: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Subsequences of Degrees arenot self-contained Encodings

Page 87: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Subsequences are not self-contained

… S 7 6 5 6 E …

5

S

Page 88: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

… S 7 6 5 6 E …

5

S

Subsequences are not self-contained

Page 89: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

… S 7 6 5 6 E …

5

S

Subsequences are not self-contained

Page 90: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

… S 7 6 5 6 E …

5

S

Subsequences are not self-contained

Page 91: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

… S 7 6 5 6 E …

5

S

Subsequences are not self-contained

Page 92: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

… S 7 6 5 6 E …

5

S

Subsequences are not self-contained

Page 93: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Not unique without split offsets

… S 4 3 E 4 3 E

4

3

34 4

34

3

6 6 5 6 6 5 6 … 5 7 5 6 6 6 5 …

Page 94: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Early Split Coder

Page 95: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Early 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

Page 96: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

RCR

CCR

The new label W

Page 97: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

R

C

CRCC

R

The new label W

Page 98: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

R

C

CRCC

R

The new label W

C

Page 99: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

R

CC R

CRCC

R

The new label W

wart

wart

RCR

CCR

Page 100: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The new label W

RCR

CCR

C

R

CC R

CRCC

R

wart

wart

zero slot

Page 101: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The new label W

RCR

CCR

CW

R

CC R

CRCC

R

wart

wart

Page 102: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The new label W

RCR

CCR

CWC

R

CC R

CRCC

R

wart

wart

Page 103: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The new label W

RCR

CCR

CWC R

R

CC R

CRCC

R

wart

wart

Page 104: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The “early split” operation

RR

CRC

Page 105: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The “early split” operation

S

RR

CRC

Page 106: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The “early split” operation

S

RR

CRC

R

Page 107: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The “early split” operation

S

RR

CRC

RL

Page 108: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The “early split” operation

S

RR

CRC

RL R

Page 109: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The “early split” operation

S

RR

CRC

RL R

Lzero slot

Page 110: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The “early split” operation

S

RR

CRC

RL R

L

Page 111: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The “early split” operation

S

RR

CRC

RL R

L

Page 112: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The “early split” operation

S

RR

CRC

RL R

L

Page 113: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The “early split” operation

S

RR

CRC

RL R

L

RR

CRC

Page 114: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The “early split” operation

S

RR

CRC

RL R

L

RR

CRC

C

Page 115: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The “early split” operation

S

RR

CRC

RL R

L

RR

CRC

C

Szero slot

Page 116: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The “early split” operation

S

RR

CRC

RL R

L

RR

CRC

C

SW

zero slot

Page 117: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The “early split” operation

S

RR

CRC

RL R

L

RR

CRC

C

WS W

Page 118: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The “early split” operation

S

RR

CRC

RL R

L

RR

CRC

C

WS W

C

Page 119: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The “early split” operation

S

RR

CRC

RL R

L

RR

CRC

C

WS W

CR

Page 120: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The “early split” operation

S

RR

CRC

RL R

L

RR

CRC

C

WS W

CR

R

zero slot

Page 121: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

The “early split” operation

S

RR

CRC

RL R

L

RR

CRC

C

WS W

CR

R

W

Page 122: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Complete Example

Page 123: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

One Scheme & Four Encodings

label-based

degree-based

Page 124: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Forward Decodingwith offsets

Page 125: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Forward Decoding with offsets

V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0

C C C C R C R C R W C R C S1 C R R E C R E

Page 126: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Forward Decoding with offsets

V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0

C C C C R C R C R W C R C S1 C R R E C R E

Page 127: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Forward Decoding with offsets

V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0

C C C C R C R C R W C R C S1 C R R E C R E

Page 128: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Forward Decoding with offsets

V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0

C C C C R C R C R W C R C S1 C R R E C R E

Page 129: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Forward Decoding with offsets

V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0

C C C C R C R C R W C R C S1 C R R E C R E

zero slot

Page 130: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Forward Decoding with offsets

V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0

C C C C R C R C R W C R C S1 C R R E C R E

Page 131: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Forward Decoding with offsets

V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0

C C C C R C R C R W C R C S1 C R R E C R E

zero slot

Page 132: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Forward Decoding with offsets

V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0

C C C C R C R C R W C R C S1 C R R E C R E

Page 133: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Forward Decoding with offsets

V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0

C C C C R C R C R W C R C S1 C R R E C R E

zero slot

Page 134: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Forward Decoding with offsets

V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0

C C C C R C R C R W C R C S1 C R R E C R E

zero slot

Page 135: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Forward Decoding with offsets

V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0

C C C C R C R C R W C R C S1 C R R E C R E

Page 136: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Forward Decoding with offsets

V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0

C C C C R C R C R W C R C S1 C R R E C R E

Page 137: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Forward Decoding with offsets

V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0

C C C C R C R C R W C R C S1 C R R E C R E

Page 138: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Forward Decoding with offsets

V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0

C C C C R C R C R W C R C S1 C R R E C R E

Page 139: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Forward Decoding with offsets

V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0

C C C C R C R C R W C R C S1 C R R E C R E

Page 140: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Forward Decoding with offsets

V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0

C C C C R C R C R W C R C S1 C R R E C R E

Page 141: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Forward Decoding with offsets

V5 V4 V5 V5 V6 V6 V4 V8 V5 V5 S1,0,0

C C C C R C R C R W C R C S1 C R R E C R E

Page 142: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Reverse Decodingwithout offsets

Page 143: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Reverse Decoding w/o offsets

E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5

E R C E R R C S C R C W R C R C R C C C C

Page 144: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Reverse Decoding w/o offsets

E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5

E R C E R R C S C R C W R C R C R C C C C

Page 145: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Reverse Decoding w/o offsets

E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5

E R C E R R C S C R C W R C R C R C C C C

Page 146: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Reverse Decoding w/o offsets

E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5

E R C E R R C S C R C W R C R C R C C C C

Page 147: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Reverse Decoding w/o offsets

E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5

E R C E R R C S C R C W R C R C R C C C C

Page 148: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Reverse Decoding w/o offsets

E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5

E R C E R R C S C R C W R C R C R C C C C

Page 149: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Reverse Decoding w/o offsets

E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5

E R C E R R C S C R C W R C R C R C C C C

Page 150: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Reverse Decoding w/o offsets

E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5

E R C E R R C S C R C W R C R C R C C C C

Page 151: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Reverse Decoding w/o offsets

E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5

E R C E R R C S C R C W R C R C R C C C C

Page 152: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Reverse Decoding w/o offsets

E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5

E R C E R R C S C R C W R C R C R C C C C

Page 153: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Reverse Decoding w/o offsets

E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5

E R C E R R C S C R C W R C R C R C C C C

Page 154: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Reverse Decoding w/o offsets

E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5

E R C E R R C S C R C W R C R C R C C C C

Page 155: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Reverse Decoding w/o offsets

E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5

E R C E R R C S C R C W R C R C R C C C C

Page 156: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Reverse Decoding w/o offsets

E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5

E R C E R R C S C R C W R C R C R C C C C

Page 157: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Reverse Decoding w/o offsets

E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5

E R C E R R C S C R C W R C R C R C C C C

Page 158: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Reverse Decoding w/o offsets

E V3 E V4 S V5 V5 W V8 V4 V6 V6 V5 V5

E R C E R R C S C R C W R C R C R C C C C

Page 159: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Results

Page 160: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Compression Results

Page 161: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Improving the TG coder

5

“Valence-Driven Encoding” [Alliez & Desbrun ‘01]

degree of vertexmust beat least 5

(at least 6 for early-split)

degree of vertexmust beat least 4

(at least 5 for early-split)

Page 162: Martin Isenburg UC Berkeley Jack Snoeyink UNC Chapel Hill Early Split Coding of Triangle Mesh Connectivity

Thank You