Title: Compressing Hexahedral Volume Meshes
1CompressingHexahedral Volume Meshes
- Martin Isenburg
- UNCChapel Hill
Pierre Alliez INRIASophia-Antipolis
2Overview
- Volume Meshes
- Related Work
- Compressing Connectivity
- Coding with Edge Degrees
- Boundary Propagation
- Adaptive Traversal
- Compressing Geometry
- Parallelogram Prediction
- Demo
3Take this home
- The connectivity of a hexahedral mesh can be
coded through asequence of its edge degrees. - This encoding naturallyexploits the regularity
commonlyfound in such data sets.
4Volume Meshes
5Volume Meshes
- scientific industrial applications
- thermodynamics
- structural mechanics
-
- visualization simulation
- unstructured / irregular ( ? not on a
grid ) - tetrahedral, hexahedral, polyhedral
6Hexahedral Volume Meshes
- have numerical advantages in finite element
computations - challenging to generate
- their internal structure looks nice compared to
tetrahedral meshes
7Ingredients
- geometry positions of vertices
- connectivity which vertices form a hexahedron
- properties attached to vertices density,
pressure, heat, ...
8Standard Representation
hex1 1 3 6 4 7 8 9 2 hex2 4 5 8 2 9 1 6 7 hex3
7 5 hexh
less than84 KB
vtx1 ( x, y, z ) vtx2 ( x, y, z ) vtx3 ( x, y,
z ) vtxv
71572 hexahedra 78618 vertices
? size 3.23 MB
9Related Work
10Surface Mesh Compression
- Geometry Compression, Deering, 95
- Topological Surgery, Taubin Rossignac, 98
- Cut-Border Machine, Gumhold Strasser, 98
- Triangle Mesh Compression, Touma Gotsman, 98
- Edgebreaker, Rossignac, 99
- Spectral Compression of Geometry, Karni
Gotsman, 00 - Face Fixer, Isenburg Snoeyink, 00
- Valence-driven Connectivity Coding, Alliez
Desbrun, 01 - Near-Optimal Coding, Khodakovsky, Alliez,
Desbrun - Degree Duality Coder, Isenburg, 02
- Polygonal Parallelogram Prediction, Isenburg
Alliez, 02
Schröder, 02
11Volume Mesh Compression
- Grow Fold, Szymczak Rossignac, 99
- Cut-Border Machine, Gumhold, Guthe Strasser,
99
- Rendering of compressed volume data, Yang et
al., 01
- Simplification
- Simplification of tetrahedral meshes, Trotts et
al., 98 - Progressive Tetrahedralizations, Staadt Gross,
98
- Progressive Compression
- Implant Sprays, Pajarola, Rossignac Szymczak,
99
!! only for tetrahedral meshes !!
12Surface / Volume Connectivity
- a mesh with v vertices has maximal
- surfaces
- 2v-2 triangles ? 6v indices
- v-1 quadrilaterals ? 4v indices
volumes O(v2) tetrahedra ? 12v
indices O(v2) hexahedra ? 8v indices
? connectivity dominates geometry even more
for volume meshes
13Degree Coding for Connectivity
- Triangle Mesh Compression, Touma Gotsman, 98
- Valence-driven Connectivity Coding, Alliez,
Desbrun, 01 - Degree Duality Coder, Isenburg, 02
- Near-Optimal Connectivity Coding, Khodakovsky,
Alliez, Desbrun, Schröder, 02
compressed with arithmetic coder ?
converges to entropy
14Entropy
- for a symbol sequence of t types
t
1
?
Entropy pi log2( ) bits
pi
i 1
of type t
pi
total
15Average Distribution
over a set of 11 polygonal meshes
16Worst-case Distribution
3
4
5
Alliez Desbrun, 01 ? 3.241 bpv Tutte, 62
6
7
8
9
vertex degrees
17Adaptation to Regularity
18Degree Coding for Volumes ?
tri ? tet
vertex degrees ? edge degrees
19Regular Volume Meshes?
- elements for regular 2D tiling
- regular triangle
- regular quadrilateral
- regular hexagon
20Compressing Connectivity
21Space Growing
- similar in spirit to region growing
- algorithm maintains hull enclosing processed
hexahedra
?
- initialize hull with a border face
- iterate until done
22Coding with Edge Degrees
23Coding with Edge Degrees
focus face
24Coding with Edge Degrees
slots
focus face
25Coding with Edge Degrees
26Coding with Edge Degrees
27Coding with Edge Degrees
28Coding with Edge Degrees
29Coding with Edge Degrees
30Coding with Edge Degrees
31Coding with Edge Degrees
32Coding with Edge Degrees
33Coding with Edge Degrees
34Coding with Edge Degrees
35Coding with Edge Degrees
36Coding with Edge Degrees
37Coding with Edge Degrees
38Coding with Edge Degrees
39Coding with Edge Degrees
40Coding with Edge Degrees
41Coding with Edge Degrees
42Coding with Edge Degrees
43Coding with Edge Degrees
44Coding with Edge Degrees
45Coding with Edge Degrees
46Coding with Edge Degrees
47Resulting Symbols
- border edge degrees
- interior edge degrees
. . .
. . .
. . .
. . .
48Average Distributions
no
no
4
3
2
3
4
5
5
6
6
7
2
yes
yes
border degrees
interior degrees
border?
join?
49Possible Configurations
50Possible Configurations
51Configuration hut
hut
52Configuration step
step
0
53Configuration bridge
bridge
0
0
54hut or roof
roof ? join operation
?
55other join operations
- free vertex already on hull
- free edge already on hull
hut
step
56Adaptive traversalto avoid joinoperations
57Reason for join operations
hull
58Reason for join operations
hull
59Reason for join operations
hull
60Reason for join operations
hull
61Reason for join operations
unprocessed region
hull
processed region
62Reason for join operations
unprocessed region
hull
processed region
63Reason for join operations
unprocessed region
hull
processed region
64Reason for join operations
unprocessed region
hull
processed region
65Reason for join operations
unprocessed region
hull
processed region
66Adaptive Traversal
- Valence-driven connectivity encoding for 3D
meshes Alliez Desbrun, 01
? avoid creation of cavities
67Propagating theborder information
68Explaining Example
69Explaining Example
70Explaining Example
71Explaining Example
72Results (Connectivity)
bits per hexahedron (bph)
model
ratio
raw
compressed
hanger ra bump warped hutch c
1
5.3 2.9 2.1 0.2 0.3 0.6
72.0 80.0 88.0 112.0 112.0
136.0
1 14 1 28 1 42 ... 1 621 1
361 1 226
average compression ratio 1 163
73Results (Connectivity)
bits per hexahedron (bph)
model
ratio
raw
compressed
hanger ra bump warped hutch c
1
5.3 2.9 2.1 0.2 0.3 0.6
72.0 80.0 88.0 112.0 112.0
136.0
1 14 1 28 1 42 ... 1 621 1
361 1 226
average compression ratio 1 163
74Compressing Geometry
75Predictive Compression
- quantize positions with b bits
76Predictive Compression
- quantize positions with b bits
- traverse positions
77Predictive Compression
- quantize positions with b bits
- traverse positions
- predict position from neighbors
prediction
(1004, 71, 723)
78Predictive Compression
- quantize positions with b bits
- traverse positions
- predict position from neighbors
- store corrective vector
corrector
prediction
(4, -3, -5)
(1004, 71, 723)
79Parallelogram Rule
Triangle Mesh Compression, Touma Gotsman, 98
across non-convex triangles
across non-planar triangles
80Position Predictions
init
vertex prediction rule
v0 0 v1 v0 v2 v1 v3 v0 - v1 v2 v4
2v0 v8 (or v0 ) v5 v1 v0 v4 v6
v2 v1 v5 v7 v3 v2 v6
1
2
3
0
hut
81Results (Geometry)
bits per vertex (bpv)
model
ratio
raw
compressed
hanger ra bump warped hutch c
1
23.2 30.8 24.4 10.5 19.9 5.9
48.0 48.0 48.0 48.0 48.0 48.0
1 2.1 1 1.6 1 2.0 ... 1
4.6 1 2.4 1 8.1
average compression ratio 1 3.7
82Demo
83Summary
- degree coding for volume mesh connectivity
- edge degrees
- boundary propagation
- adaptive traversal
- parallelogram prediction for volume mesh geometry
- within predictions
84Current / Future Work
- Mixed Volume Meshes
- hex tet prism pyramid cells
- Universal Connectivity Coder
- face, vertex, and edge degrees
- tri / quad / poly surfaces
- tet / hex / poly volumes
- surface mesh cell of volume mesh
- bit-rate like specialized coder
85Acknowledgements
- data sets
- Alla Sheffer
- Steven Owen
- Scott Mitchell
- Claudio Silva
- financial support
- ARC TéléGéo grant from INRIA
86 87Old Beijing Duck
- Whoever had expressed interest in going to eat
duck in the ancient-style hutong area - meet me 10-15 minutes after
- end of PG in front of hotel
- bring
- map
- address card of your hotel
- 100 yuan (smaller bills for subway / bus)
88(No Transcript)
89(No Transcript)
90(No Transcript)
91Configurations roof
roof
zero-slots 0 adjacent faces 1 free
faces 4free edges 4free vertices --
92Configurations tunnel
tunnel
0
0
0
0
zero-slots 2 adjacent faces 4 free
faces 2free edges --free vertices --
93Configuration corner
corner
0
0
0
zero-slots 2 adjacent faces 3 free
faces 3free edges 3free vertices 1
94Configuration gap
gap
0
0
0
0
0
zero-slots 3 adjacent faces 4 free
faces 2free edges 1free vertices --
95Configurations pit
pit
0
0
0
0
0
0
0
0
zero-slots 4 adjacent faces 5 free
faces 1free edges --free vertices --
96Configurations den
den
0
0
0
0
0
0
zero-slots 4 adjacent faces 6 free
faces --free edges --free vertices --