Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

29
Angle-Analyzer: Angle-Analyzer: A Triangle-Quad Mesh Codec A Triangle-Quad Mesh Codec Haeyoung Lee Haeyoung Lee USC USC Mathieu Mathieu Desbrun Desbrun USC USC Pierre Pierre Alliez Alliez INRIA INRIA

Transcript of Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

Page 1: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

Angle-Analyzer:Angle-Analyzer:A Triangle-Quad Mesh CodecA Triangle-Quad Mesh Codec

Angle-Analyzer:Angle-Analyzer:A Triangle-Quad Mesh CodecA Triangle-Quad Mesh Codec

Haeyoung LeeHaeyoung LeeUSCUSC

Mathieu Mathieu DesbrunDesbrunUSCUSC

Pierre Pierre AlliezAlliezINRIAINRIA

Page 2: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

2

Introduction: 3D Introduction: 3D CompressionCompressionIntroduction: 3D Introduction: 3D CompressionCompression

Page 3: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

3

FocusFocusFocusFocus

A Single-rate, Lossy Compression

Single-rate vs progressive compression

Lossy vs. lossless compression

Contribution: Better Bitrates 40% better in connectivity, 20% better in geometry

Improves transmission time, storage space, …

Page 4: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

4

Previous Work: Previous Work: ConnectivityConnectivityPrevious Work: Previous Work: ConnectivityConnectivity

3 main approaches, based on:

» Triangle strips

» Edge/gate traversal» Valence

Page 5: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

5

Edge/Gate Traversal IEdge/Gate Traversal IEdge/Gate Traversal IEdge/Gate Traversal I[Rossignac 99] & follow-ups: EdgeBreaker 5 symbols (+2 for arbitrary genus)

Spiraling depth-first spanning tree traversal

Connectivity: ~4 b/v

Page 6: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

6

Edge/Gate Traversal II Edge/Gate Traversal II Edge/Gate Traversal II Edge/Gate Traversal II [Gumhold 00] : CutBorder Machine 6 Symbols

Breadth-first traversal

Connectivity: ~3.55 b/v

[Isenburg & Snoeyink 00]

Polygon meshes

Overall, 2V symbols

Page 7: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

7

0

1000

2000

3000

4000

5000

6000

7000

8000

1 2 3 4 5 6 7 8 9 101112 1314

Valence

Occu

rre

nce

s

Valence-based Valence-based Approaches IApproaches IValence-based Valence-based Approaches IApproaches I[Touma & Gotsman 98]

Deterministic traversal by pivoting around vertices

[Isenburg & Snoeyink 99] Edge collapses

One valence symbol per removed vertex

Page 8: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

8

0

1000

2000

3000

4000

5000

6000

7000

8000

1 2 3 4 5 6 7 8 9 101112 1314

Valence

Occu

rre

nce

s

Valence-based Valence-based Approaches IIApproaches IIValence-based Valence-based Approaches IIApproaches II[Alliez & Desbrun 01]

Improvements upon [TG98]: Adaptive traversal Worst case: 3.24b/v

[Li & Kuo 98] &

[Khodakovsky, Alliez, Desbrun, Schröder 02]

Polygon meshes using duality

Overall, only V symbols

Page 9: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

9

Previous Work: GeometryPrevious Work: GeometryPrevious Work: GeometryPrevious Work: GeometryDelta Encoding [Deering 95]

Predictions [Taubin & Rossignac 98]

Global Quantization [Touma & Gotsman 98]

Vector Quantization [Lee & Ko 00]

Occurrence [Devillers & Gandoin 00, 02]

Wavelet-based compression [KWS 00]

Page 10: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

10

Our Algorithm: Angle-Our Algorithm: Angle-AnalyzerAnalyzerOur Algorithm: Angle-Our Algorithm: Angle-AnalyzerAnalyzer

Our Goal:Triangle, Quad, and Hybrid Meshes

(most common!)

+ Easiness of implementation Mix edge/gate traversal & valence approach!

Our Contribution: 20% better than [TG98]

40% better in connectivity

19% better in geometry

Page 11: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

11

Our Algorithm: Angle-Our Algorithm: Angle-AnalyzerAnalyzerOur Algorithm: Angle-Our Algorithm: Angle-AnalyzerAnalyzer

Our Connectivity Encoder: Small number of fixed symbols, easy to

code Adaptive traversal & low-entropy

sequence

Our Geometry Encoder: Local coordinate system Intrinsic & extrinsic angles Entropy-driven quantization

Page 12: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

12

Angle-Analyzer: Angle-Analyzer: DefinitionsDefinitionsAngle-Analyzer: Angle-Analyzer: DefinitionsDefinitions

Gate Front Vertices Back Face Front Face

Active Gate List Gate Lists in a Stack

V0V1

front face

back face

front vertex

gate

left front right front

gateV0V1V0V1

front face

back face

front vertex

gate

left front right front

gate

V0V1

Blue: visitedGrey: to be visited

Page 13: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

13

Triangle Mesh Triangle Mesh ConnectivityConnectivityTriangle Mesh Triangle Mesh ConnectivityConnectivityOnly 5 symbols: C, CW, CCW, S, J

C (Create) CW (Mesh Clockwise) CCW (Mesh Counterclockwise)

S (Skip) J (Join)

V0V1

V0

V1

V0

V1

V0V1

V0

V1

Page 14: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

14

Quad Mesh ConnectivityQuad Mesh ConnectivityQuad Mesh ConnectivityQuad Mesh Connectivity8 symbols: C2, CR, CL, Mesh, DCCW, DCW, S, JQ

C2(Create 2)

CR (Create Right Front)

CL (Create Left Front)

JQ (Join for Quad)

Mesh (just mesh)

DCW (Double -

Clockwise)

DCCW (Double -Counterclockwis

e)

Red: new, Grey: old

Yellow: possibly new

Page 15: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

15

Hybrid Mesh ConnectivityHybrid Mesh ConnectivityHybrid Mesh ConnectivityHybrid Mesh Connectivity12 symbols, depending on the front face:

C, CW, CCW, S, J,

C2, CR, CL, Mesh, DCCW, DCW, JQ

V0V1

front face

front vertex left front right front

V0V1

back face

Page 16: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

16

Adaptive Traversal - Adaptive Traversal - HeuristicHeuristicAdaptive Traversal - Adaptive Traversal - HeuristicHeuristic

Minimize #J(JQ) by choosing best gate: min angle between two successive gates

Geometry-driven adaptive traversal

J

CW

with [AD01]:

with new heuristic:

Page 17: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

17

Geometry-Driven Geometry-Driven TraversalTraversalGeometry-Driven Geometry-Driven TraversalTraversal

Model #V #J based on deterministic

traversal

#J based

on [AD01]

#J based on minimum

angle

Feline 49864 8700 1951 106

Maxplanck 25445 4373 808 13

Horse 19851 3460 694 20

Egea_tf2 14169 2181 106 18

Dinosaur 14070 2536 571 59

Nefertiti_u 10413 1497 1 0

Foot 10016 1761 301 14

Venus 8268 1479 727 149

Egea_u 5315 782 4 0

Body 711 114 11 4

Nefertiti 299 31 7 0

Improvements due to new heuristic:

Page 18: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

18

Connectivity for Triangle Connectivity for Triangle MeshesMeshesConnectivity for Triangle Connectivity for Triangle MeshesMeshes

40% better on average

model #V TG98

LAD02

Feline 49864

2.38 1.50

Maxplanck

25445

2.31 1.45

Horse 19851

2.34 1.35

Egea_tf2 14169

1.62 0.82

Dinosaur 14070

2.39 1.69

Nefertiti_u 10413

1.59 0.65

Foot 10016

2.33 1.56

Venus 8268 2.82 1.95

Egea_u 5315 1.73 0.82

Body 711 2.62 1.96

Bit rates in b/v

Page 19: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

19

Connectivity for Quad Connectivity for Quad MeshesMeshesConnectivity for Quad Connectivity for Quad MeshesMeshes

Model #V LAD02

Feline.quad 205210

0.65

Head.quad 48099 0.36

Rockerarm.quad 41312 0.74

Venus.quad 34104 0.89

David.quad 24599 1.08

Genus3.quad 6796 0.44

Body.quad 2891 0.64

Uglybox.quad 1432 1.36

Tiger.quad 1254 0.94

Nefertiti.quad 1191 0.81

Page 20: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

20

Angle-Analyzer: Geometry Angle-Analyzer: Geometry (1)(1)Angle-Analyzer: Geometry Angle-Analyzer: Geometry (1)(1)

Local Coordinate Based Geometry

2-pass algorithm:

Range search

Transform global to Local Coordinate system then Quantize

(x,y,z)Front vertex

V0

V1

X-axis

Z-axis

Y-axis

Front face

Page 21: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

21

Angle-Analyzer: Geometry Angle-Analyzer: Geometry (2)(2)Angle-Analyzer: Geometry Angle-Analyzer: Geometry (2)(2)

Angle-based Geometry

Single-pass algorithm:

Just quantize angles!

Predefined ranges for angles:

(0, ) for

(-) for

Front vertex

Front face

V0

V1

Page 22: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

22

Angle-Analyzer: Angle-Analyzer: Geometry(3)Geometry(3)Angle-Analyzer: Angle-Analyzer: Geometry(3)Geometry(3)

Entropy-Driven Geometry Encoding

Choose one among 8 candidates on a cube with lowest local entropy

Easy to extend: pick whatever vertex is the cheapest for an equivalent geometric error…

Front vertex

V1

Front face

V0

Page 23: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

23

Discussion on GeometryDiscussion on GeometryDiscussion on GeometryDiscussion on Geometry

Distortion computed with Metro

Bit Rate

Page 24: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

24

Discussion on GeometryDiscussion on GeometryDiscussion on GeometryDiscussion on GeometryBetter visual results (i.e., distortion) for less bits!

Original TG-9bit (7.32b/v)

Angle–Analyzer (6.88b/v)

Page 25: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

25

Discussion on GeometryDiscussion on GeometryDiscussion on GeometryDiscussion on Geometry

Original TG-10bit (7.94b/v)

Angle–Analyzer (6.58b/v)

Better visual results (i.e., distortion) for less bits!

Page 26: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

26

Result OverviewResult OverviewResult OverviewResult Overviewmodel Orig

File(KB)

Comp (KB)

TG-12bits(b/v)

Angle (b/v)

vs. TG-12bits

feline 5,127 90 16.55 14.68 -11%

maxplanck

2,699 44 18.74 14.17 -24%

Horse 2,091 34 17.51 14.25 -19%

Egea_tf2 1,202 26 16.53 15.19 -8%

Nefertiti_u

1,056 12 15.02 10.21 -32%

Sphere 1,061 7 6.98 5.14 -26%

Egea_u 541 10 18.23 16.26 -11%

random 445 7 16.07 11.77 -27%20% better in overall ratios than TG98 with 12bit

Page 27: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

27

Work DoneWork DoneWork DoneWork DoneA single-rate compression algorithm

for 3D triangle-quad meshes

Contribution to connectivity Fixed number of Symbols (smaller than previous) New geometry-driven adaptive traversal (40% better)

Contribution to geometry New intrinsic and extrinsic angle encoding New local coordinate frame New entropy-driven quantization (19% better)

Competitive compression ratios (20%better)

Page 28: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

28

Future WorkFuture WorkFuture WorkFuture WorkGoal:

• Extending Angle-Analyzer to handle polygonal meshes and non-manifold meshes

• Reducing bit rate further on geometry

Why:

• Many non-manifold meshes in practice

• Comparatively little work on non-manifold mesh compression (Devillers & Gandouin)

• Seems like geometry compression is not optimal…

Page 29: Angle-Analyzer: A Triangle-Quad Mesh Codec Haeyoung Lee USC Mathieu Desbrun USC Pierre Alliez INRIA.

29

AcknowledgementsAcknowledgementsAcknowledgementsAcknowledgements• IMSC, NSF

• Yiying Tong

• Laehyun Kim

• Anna Kyrikou