Repr´ esentations succinctes optimales pour les maillages
Luca Castelli Aleardi
(en collaboration avec Olivier Devillers et Gilles Schaeffer)
19 octobre 2006, ENST Paris
Projet Geometrica LIX
INRIA Sophia-Antipolis Ecole Polytechnique
Succinct and compact representations
Given a class Cm of objects of size m, the goal is to design a space efficient data structure such that:
• queries on objects are answered in constant time;
• the encoding is succinct: the cost of an object R ∈ Cm
matches asymptotically the entropy of the class size(R) = log2 kCmk(1 + o(1))
• or compact: we content of a cost
size(R) = O(log2 kCmk)
• for dynamic data structures: updates are supported in O(lgc m) amortized time
Compact representations: an example
Rooted trees with n vertices
enumeration of binary trees with n vertices:
kBnk = 1 n + 1
2n
n
≈ 22nn−32 (1)
Example
Optimal (implicit) encoding for compression
• size: log2 kBnk = 2n + O(lg n) bits
• no efficient navigation
11101010001101001100
Example: explicit representation
Pointers-based representation
• size: 2n lg n bits
• constant time navigation between nodes
Clef t Cright
/
Cright
parent
Clef tCright
parent
/ /
parent
/ /
parent Clef tCright
parent
/ /
parent
/ /
parent /
lgn
lgn lgn
lgn
lgn
Compact and succinct representations
(Jacobson Focs89, Munro et Raman Focs97)
• size: O(n) bits - adjacency queries in O(lg n) time
• size: 2n + o(n) bits - adjacency queries in O(1) time
01100 01000 11010
11101
lgn
Motivation
Combinatorial information describing incidence relations
Which information?
Connectivity
Motivation
Geometry information (vertex coordinates)
Geometric object
Geometric information
x y z
between 30 and 96 bits (192 bits ?)
Motivation
Usual triangle-based mesh representation
Geometric object
Connectivity information Geometric information
vertex:
triangle:
1 reference to triangle 3 references to vertices 3 references to triangles
logn to 32 bits
Motivation
Mesh compression algorithms
Touma Gotsman Edgebreaker [Rossignac]
Poulhalon Schaeffer General underlying idea
Encoding strategies based on a local (global) conquest
Graph encoding
(Similarities between spanning-tree based methods, Isenburg and Snoeyink)
Edgebreaker
CCCRCCRCCRECRRELCRE
C CC
R C
C R
C C R
S C
R R L E
C E R
V5V5V6V5V4V5V8V5V5V4S4V3V4
T ouma Gotsman(′98)
Canonical orderings and multiple parentheses Chuang et al. (Icalp 98) - Chiang et al. (Soda 01)
( [ [ [ ) ( ] ( ] ( ] [ [ [ ) [ ) ( ] ] [ ) . . .
1101000110000010010000011001000000000
P oulalhon Schaef f er(2003)
Motivation
Mesh compression algorithms
Mesh
comp ress ion
Compact representation
VRML, 288 or 114 bits/vertex
[Touma Gotsman] 2bits/vertex (near-optimal)
Pointer based representation: 208 bits/triangle 2.175 bits/triangle
[Poulalhon Schaeffer] 3.24bits/vertex (optimal)
Tutte’s entropy (triangulations)
(information theory asymptotic lower bound)
enumeration of rooted planar triangulations on n vertices:
Ψn = 2(4n + 1)!
(3n + 2)!(n + 1)! ≈ 16 27
r 3
2πn−5/2(256 27 )n Tutte’s entropy (1962):
e = 1
n log2 Ψn ≈ log2(256
27 ) ≈ 3.2451 bits/vertex
Planar Triangulations with a boundary
n + 1 internal vertices, m = 2n + k faces f(n, k) = 2 · (2k − 3)! (2k + 4n − 1)!
(k − 1)! (k − 3)! (n + 1)! (2k + 3n)!
f′(m, k) = 2 · (2k − 3)! (2m − 1)!
(k − 1)! (k − 3)! (m2−k + 1)!
counting planar triangulations with m faces F(m) = lg(
m
X
k≥3
f′(m, k)) ≈ 2.175m
3.24 bits/vertex = 1.62 bits/face < 2.17 bits/face
Triangulations with a boundary
(Castelli Aleardi, Devillers and Schaeffer, WADS 2005) Theorem. For planar triangulations with a boundary having m faces, there exists an optimal succinct
representation supporting efficient navigation in O(1) time, requiring
2.175m + O(mlg lg m
lg m ) = 2.175m + o(m) bits
For triangulations of genus g surfaces (g = o(lgmm)) the same representation requires
2.175m + 36(g − 1) lg m + O(mlg lg m
lg m + g lg lg m) bits
Comparison: space efficiency
graphs with n vertices, e edges, m faces, genus g
Encoding queries 3-conn. triangl. g > 0 dynamic Jacobson (Focs89) O(lg n) 64n 64n no
Munro Raman (Focs97) O(1) 8n + 2e 7m no Chuang et al. (Icalp98) O(1) 2e + 2n 3.5m no Chiang et al. (Soda01) O(1) 2e + 2n 4m no Blandford et al. (Soda03) O(1) O(n) O(m) O(n) Castelli et al. (Wads05
Cccg05)
O(1) no 2.175m 2.175m +O(g lg m Castelli et al. (SoCG06) O(1) 2e 1.62m no
Literary digression ”La le¸con”, (Eug`ene Ionesco, 1951)
Au cours d’une le¸con priv´ee en pr´eparation du doctorat total, une jeune fille discute d’arithm´etique avec son professeur.
(le professeur)Ecoutez-moi, Mademoiselle, si vous n’arrivez pas `a´ comprendre profond´ement ces principes, ces arch´etypes
arithm´etiques, vous n’arriverez jamais `a faire correctement un travail de polytechnicien... combien font, par exemple,
3.755.918.261 multipli´e par 5.162.303.508?
(l’´el`eve, tr`es vite) Ca fait 193891900145...¸
(le professeur, de plus en plus ´etonn´e calcule mentalement)Oui... Vous avez
raison... le produit est bien... (il bredouille inintelligiblement)...
Mais comment le savez-vous, si vous ne connaissez pas les principes du raisonnement arithm´etique?
(l’´el`eve) C’est simple. Ne pouvant me fier `a mon raisonnement, j’ai appris par coeur tous les r´esultats possibles de toutes les multiplications possibles.
Decomposing T into sub-triangulations
• compute small triangulations of size bewteen 13 lg2 m and lg2 m;
• decompose into tiny triangulations of size between
1
12 lg m and 14 lg m.
Initial triangulation with m triangles Tiny triangulations with Θ(lgm) triangles Small triangulations with Θ(lg2m) triangles
Decomposing T into sub-triangulations
• we compute small triangulations having between 13 lg2 m and lg2 m triangles;
• we decompose small triangulations into tiny
triangulations containing between 121 lg m and 14 lg m triangles.
Graph G linking tiny triangulations having Θ(lgmm) nodes
A sub-graph Gi linking Θ(lgm) tiny triangulations lying in the same small
Graph F linking small triangulations with Θ(lgm2m) nodes
Overview: representation of a small triangulation
• adjacency relations are described by map Gi;
• internal connectivity is implicitly represented (variable size pointers)
• boundary neighboring relations are represented by boundary coloring (variable length bit-vector)
pointer to tiny triangulation of size t
pointer to rank-select of size b and weight s t, b, s
split small into tiny
first vertex
0
1 0
0 1 1
1
1 0
0
0 0
0
Graph G
ilinking adjacent tiny triangulations
• Gi has a node for each tiny triangulation and an arc for each pair of adjacent tiny triangulations;
• Gi is a planar map, having faces of degree at least 3, multiple edges and loops are allowed;
i
adjacency relations between tiny triangulations
• Because of Euler’s formula, the overall number of arcs in maps Gi is:
X
i
kE(Gi)k = O( m lg m)
Dominant cost analysis
The Catalog Ar contains all triangulations with r triangles A reference to an element in Ar costs 2.17r bits
k A k = 2
2.17rr
2.17r bits referenceTotal space used
• Catalog of all different tiny triangulations
O(m412.17 lg2 m lg lg m) = o(m)
• catalog of bit-vectors (with Rank/Select)
O(m412.17 lg m lg lg m) = o(m)
• representation of graph F: O( m
lg2 m lg m) = o(m)
• graphs Gi
2.17m + O(mlg lg m lg m )
Optimality
(SoCG 2006)
Proposition (Castelli Aleardi, Devillers and Schaeffer).
For planar maps (triangulations and 3-connected graphs) it is possible to design two optimal succinct representations, supporting efficient navigation in O(1) time, whose storage requirements match asymptotically the entropy of the
respective classes. More precisely, our representations use:
• 1.62m bits, for triangulations (without boundary) with m faces;
• 2e bits, for 3-connected graphs with e edges.
Optimal encodings
(Poulalhon/Schaeffer 03, Fusy/Poulalhon/Schaeffer 05)
Original local closures
New ”color-based” closures
”color-based” closure for triangulations
11010001010000100000000000 00100100100001
n nodes, 2n stems
n nodes, 2n stems n nodes, 2n stems
n nodes, 2n stems
n nodes, 2n stems n nodes, 2n stems n nodes, 2n stems n nodes, 2n stems
New splitting strategies
carte G
New splitting strategies
Dominant cost analysis
The Catalog Ar contains all triangulations with r triangles A reference to an element in Ar costs 2.17r bits
k A k = 2
2.17rr
2.17r bits referenceDominant cost analysis
Catalog Ar,w: all trees with r nodes, 2r stems and w false stems A reference to an element in Ar,w costs 2.17r + w lg r bits
kAr,wk = 23.24r · 2wr
3.24r + w lg r bits index
Future and related works
• Design of a practical efficient implementation (joint work with A. Mebarki and O. Devillers, CCCG ’06)
• extension: realizers, canonical orderings and ”spanning tree” encodings for higher genus surfaces
Graph encodings
(higher genus triangulations)
Edgebreaker
CCCRCCRCCRECRRELCRE
C CC
R C
C R
C C R
S C
R R L E
C E R
V5V5V6V5V4V5V8V5V5V4S4V3V4
T ouma Gotsman(′98)
Edgebreaker on a torus
Canonical orderings and multiple parentheses Chuang et al. (Icalp 98) - Chiang et al. (Soda 01)
( [ [ [ ) ( ] ( ] ( ] [ [ [ ) [ ) ( ] ] [ ) . . .
1101000110000010010000011001000000000
P oulalhon Schaef f er(2003)
?
Repr´esentations succinctes optimales pour les maillages – p.35/35