Compressing Polygon Mesh Geometry - PowerPoint PPT Presentation

About This Presentation
Title:

Compressing Polygon Mesh Geometry

Description:

'Non-triangular faces in. the mesh can be exploited for more efficient ... triceratops. galleon. cessna. tommygun. cow. teapot. within. prediction type: model ... – PowerPoint PPT presentation

Number of Views:95
Avg rating:3.0/5.0
Slides: 81
Provided by: martini5
Learn more at: http://www.cs.unc.edu
Category:

less

Transcript and Presenter's Notes

Title: Compressing Polygon Mesh Geometry


1
CompressingPolygon Mesh Geometry
withParallelogramPrediction
















Martin Isenburg UNCChapel Hill
Pierre Alliez INRIASophia-Antipolis
2
Take this home
  • Non-triangular faces inthe mesh can be
    exploited for more efficientpredictive
    compressionof vertex positions.
  • Non-triangular faces tend tobe planar and
    convex.

3
Overview
  • Background
  • Previous Work
  • Linear Prediction Schemes
  • within versus across
  • Example Run
  • Can we do better ?
  • Conclusion

4
Background
5
Polygon Meshes
  • connectivity
  • geometry

face1 1 2 3 4 face2 3 4 3 face3 5
2 1 3 facef
2832 vertices
vertex1 ( x, y, z ) vertex2 ( x, y, z
) vertex3 ( x, y, z ) vertexv
5647
? size 79296 bytes
6
Mesh Compression
  • Geometry Compression Deering, 95
  • Fast Rendering
  • Progressive Transmission
  • Maximum Compression

Geometry Compression Deering, 95
Maximum Compression
7
Mesh Compression
  • Geometry Compression Deering, 95
  • Fast Rendering
  • Progressive Transmission
  • Maximum Compression
  • Connectivity
  • Geometry

Geometry Compression Deering, 95
Maximum Compression
Geometry
8
Mesh Compression
  • Geometry Compression Deering, 95
  • Fast Rendering
  • Progressive Transmission
  • Maximum Compression
  • Connectivity
  • Geometry
  • Triangle Meshes
  • Polygon Meshes

Geometry Compression Deering, 95
Maximum Compression
Geometry
Polygon Meshes
9
Triangle Mesh Compression
Triangle Mesh Compression Touma Gotsman,
Graphics Interface 98
  • Connectivity Coder
  • stores the connectivity as sequence of vertex
    degrees
  • Geometry Coder
  • stores the geometry as sequence of vectors
    each corrects the prediction of a vertex position

10
Not Triangles Polygons!
Face Fixer Isenburg Snoeyink, 00
11
Generalization of TG coder
  • Connectivity Coder

12
Results
bits per vertex
model
TG
IA
triceratops galleon cessna tommygun
cow teapot
14.8 18.4 12.5 12.5 20.6 16.1
20.0 24.1 19.1 19.6 20.4 21.0
min / max / average 9 / 41 / 23
13
Previous Work
14
Previous Work
  • Classic approaches 95 98
  • linear prediction

Geometry Compression Deering, 95
Geometric Compression through topological
surgery Taubin Rossignac, 98
Triangle Mesh Compression Touma Gotsman, 98
15
Previous Work
  • Classic approaches 95 98
  • linear prediction
  • Recent approaches 00 02
  • spectral
  • re-meshing
  • space-dividing
  • vector-quantization
  • feature discovery
  • angle-based

16
Previous Work
  • Classic approaches 95 98
  • linear prediction
  • Recent approaches 00 02
  • spectral
  • re-meshing
  • space-dividing
  • vector-quantization
  • feature discovery
  • angle-based

Spectral Compressionof Mesh Geometry Karni
Gotsman, 00
17
Previous Work
  • Classic approaches 95 98
  • linear prediction
  • Recent approaches 00 02
  • spectral
  • re-meshing
  • space-dividing
  • vector-quantization
  • feature discovery
  • angle-based

Progressive GeometryCompression Khodakovsky et
al., 00
18
Previous Work
  • Classic approaches 95 98
  • linear prediction
  • Recent approaches 00 02
  • spectral
  • re-meshing
  • space-dividing
  • vector-quantization
  • feature discovery
  • angle-based

Geometric Compressionfor interactive
transmission Devillers Gandoin, 00
19
Previous Work
  • Classic approaches 95 98
  • linear prediction
  • Recent approaches 00 02
  • spectral
  • re-meshing
  • space-dividing
  • vector-quantization
  • feature discovery
  • angle-based

Vertex data compressionfor triangle meshes Lee
Ko, 00
20
Previous Work
  • Classic approaches 95 98
  • linear prediction
  • Recent approaches 00 02
  • spectral
  • re-meshing
  • space-dividing
  • vector-quantization
  • feature discovery
  • angle-based

21
Previous Work
  • Classic approaches 95 98
  • linear prediction
  • Recent approaches 00 02
  • spectral
  • re-meshing
  • space-dividing
  • vector-quantization
  • feature discovery
  • angle-based

Angle-Analyzer A triangle-quad mesh
codec Lee, Alliez Desbrun, 02
22
Linear Prediction Schemes
23
Linear Prediction Schemes
  1. quantize positions with b bits
  2. traverse positions
  3. linear prediction from neighbors
  4. store corrective vector

24
Linear Prediction Schemes
  1. quantize positions with b bits
  2. traverse positions
  3. linear prediction from neighbors
  4. store corrective vector

25
Linear Prediction Schemes
  1. quantize positions with b bits
  2. traverse positions
  3. linear prediction from neighbors
  4. store corrective vector

26
Linear Prediction Schemes
  1. quantize positions with b bits
  2. traverse positions
  3. linear prediction from neighbors
  4. store corrective vector

27
Deering, 95
  • Prediction Delta-Coding
























processed region

unprocessed region





28
Taubin Rossignac, 98
  • Prediction Spanning Tree

processed region
unprocessed region
29
Touma Gotsman, 98
  • Prediction Parallelogram Rule

processed region
unprocessed region
30
Parallelogram Rule




good prediction
badprediction
badprediction
non-convex
non-planar
31
More good Predictions
Multi-way geometry encoding. Cohen-Or, Cohen
Irony, 02
  • average multiple predictions

Optimized compression of triangle mesh
geometryusing prediction trees. Kronrod
Gotsman, 02
  • search for best prediction
  • direct the traversal (prediction tree)

32
Polygon Meshes ?
  • TG coder
  • triangulate
  • compress resulting triangle mesh
  • IA coder
  • do NOT triangulate
  • use polygons for better predictions
  • within versus across

33
within versus across
34
Non-triangular Faces
  • Question Why would a mesh have a
    non-triangular face?

35
Non-triangular Faces
  • Question Why would a mesh have a
    non-triangular face?

Answer Because there was no reason to
triangulate it! This face was
convex and planar.
? use this info for good predictions
36
within versus across
across-prediction
within-prediction











  • ? within-predictions avoid creases

? within-predictions often find existing
parallelograms (? quadrilaterals)
37
Bitrates within vs. across
bits per vertex
model
triceratops galleon cessna tommygun
cow teapot
within
across
20.5 26.8 19.8 19.5 20.6 22.7
14.1 16.9 11.1 10.9 - 14.9
min / max / average 13 / 47 / 32
38
Maximizing the number of within-predictions
39
Greedy Strategy
  • always try to
  • (A) pick a vertex whose position can be
    within-predicted
  • otherwise
  • (B) do an across-prediction, but pick a vertex
    that creates (A)for the next iteration

40
Traversal Order
  • were lucky
  • ? process vertices in order dictated by our
    connectivity coder

Compressing Polygon Connectivity withDegree
Duality Prediction Isenburg, 02
  • ? avoid splits by adaptive traversal

Valence-driven Connectivity Encodingfor 3D
meshes Alliez Desbrun, 01
41
splits
42
splits
43
splits
44
splits
45
splits
processed region
46
splits
processed region
47
splits
processed region
48
splits
processed region
49
splits
processed region
50
splits
processed region
51
Adaptive Traversal






































52
Adaptive Traversal






































53
Adaptive Traversal






































54
of within-predictions
prediction type
model
triceratops galleon cessna tommygun
cow teapot
within
across
last
center
2557 257 2 1 2007 324 24 12 3091 621 22 11
3376 678 78 39 0 2701 2 1 1016 170 2 1

min / max / average 74 / 91 / 84
55
Example Decoding Run
56
Example Decoding Run
  • center-prediction
  • no parallelogram rule possible
  • predict this position as center ofthe bounding
    box


57
Example Decoding Run
  • last-prediction
  • no parallelogram rule possible
  • predict this position as the lastposition

0


58
Example Decoding Run
  • last-prediction
  • no parallelogram rule possible
  • predict this position as the lastposition

0


1

59
Example Decoding Run
  • across-prediction
  • parallelogram rule possible
  • predict across two polygons




0

2

1

60
Example Decoding Run
  • within-prediction
  • use parallelogram rule
  • predict within a polygon



3

0

2

1

61
Example Decoding Run
4


3

0

2

1

62
Example Decoding Run


4

5

3

0

2

1

63
Example Decoding Run
6


4

5

3

0

2

1

64
Example Decoding Run
6

7

4

5


3

0

2

1

65
Example Decoding Run
6

7

4

5

7

3

0

2


1

66
Can we do better ?(and keep it simple)
67
Keep it simple
  • Constraints
  • single linear prediction
  • use connectivity traversal order
  • Possibilities
  • floating point coefficients
  • use more than three vertices

68
better within-predictions
assuming ideal (? regular) polygons
deg 4
A


B
C


perfect
P A B C
a 1, ß -1, ? 1
P aA ßB ?C
69
Switch within Coefficients
if (deg 4) a 1.000 ß -1.000 ?
1.000 else if (deg 5) a 1.024 ß
-0.527 ? 0.503 else if (deg 6) a
1.066 ß -0.315 ? 0.249 else
How did we pick these numbers?
70
Finding the Coefficients
  • no obvious scientific way
  • use Matlab ?
  • for each degree separately
  • sum all possible prediction errors as function
    of a and ß
  • optimize a and ß for minimal error

N

A


C
B


71
Switch within Coefficients
if (deg 4) a 1.000 ß -1.000 ?
1.000 else if (deg 5) a 1.024 ß
-0.527 ? 0.503 else if (deg 6) a
1.066 ß -0.315 ? 0.249 else
72
better across-predictions
  • assuming equal edge length

adjacent polygonsare coplanar















3?3
3?4
3?5
3?6
3?8




















4?3
4?4
4?5
4?6
4?8





73
better across-predictions
  • assuming equal edge length

adjacent polygonsare not coplanar















3?3
3?4
3?5
3?6
3?8





creaseangle 60















4?3
4?4
4?5
4?6
4?8





74
Switch across Coefficients
if (deg 3?3) a 0.917 ß - 0.833 ?
0.916 else if (deg 3?4) a 0.621 ß -
0.504 ? 0.883 else if (deg 3?5) a
0.557 ß - 0.334 ? 0.777 else
else if (deg 4?3) a 1.153 ß - 0.354 ?
0.201 else if (deg 4?4) a 1.001 ß
- 0.648 ? 0.647 else
75
Conclusion
76
Summary (1)
  • polygon information can improve predictive
    geometry compression
  • using parallelogram rule within rather than
    across polygons
  • average improvement of 23 over TG coder
  • has simple and straight-forward implementation

77
Summary (2)
  • proof-of-conceptimplementationin form of a
    Webjava-applet
  • compression software will soon be made available

http//www.cs.unc.edu/isenburg/pmc/
78
Future Work
  • a scientific way to find numbers for this
    coefficient switching
  • polygonification
  • turn triangle meshes into polygon meshes for
    better compression

79
Acknowledgments
  • funding
  • ARC Télégéo grant of INRIA at Sophia-Antipolis
  • logistics
  • Jack Snoeyink
  • Olivier Devillers
  • Agnès Clément Bessière
  • Jean-Daniel Boissonnat

80
  • Thank You!

http//www.cs.unc.edu/isenburg/pmc/
Write a Comment
User Comments (0)
About PowerShow.com