angle-analyzer: a triangle-quad mesh codec haeyoung lee usc mathieu desbrun usc pierre alliez inria

Post on 18-Dec-2015

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

2

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

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, …

4

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

3 main approaches, based on:

» Triangle strips

» Edge/gate traversal» Valence

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

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

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

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

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]

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

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

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

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

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

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

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:

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:

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

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

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

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

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

23

Discussion on GeometryDiscussion on GeometryDiscussion on GeometryDiscussion on Geometry

Distortion computed with Metro

Bit Rate

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)

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!

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

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)

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…

29

AcknowledgementsAcknowledgementsAcknowledgementsAcknowledgements• IMSC, NSF

• Yiying Tong

• Laehyun Kim

• Anna Kyrikou

top related