On the Optimality of Valence-based Connectivity Coding - CiteSeerX

6 downloads 3049 Views 38KB Size Report
Computer Science Department, Technion — Israel Institute of Technology, Haifa, Israel .... connectivity code for the class of closed manifold triangle meshes, and ...
COMPUTER GRAPHICS

Volume 22 (2003), number 1 pp. 99–102

for um

On the Optimality of Valence-based Connectivity Coding Craig Gotsman Computer Science Department, Technion — Israel Institute of Technology, Haifa, Israel [email protected]

Abstract We show that the average entropy of the distribution of valences in valence sequences for the class of manifold 3D triangle meshes and the class of manifold 3D polygon meshes is strictly less than the entropy of these classes themselves. This implies that, apart from a valence sequence, another essential piece of information is needed for valence-based connectivity coding of manifold 3D meshes. Since there is no upper bound on the size of this extra piece of information, the result implies that the question of optimality of valence-based connectivity coding is still open.

The TG coder performs a conquest of the mesh by starting with an arbitrary triangle — a cut-border of three edges — and extends this cut-border by conquering a new vertex adjacent to the cut-border and one more triangle at a time. The code associated with the new vertex is its valence, called the add operation. Since the cut-border might intersect itself during the conquest, so-called split operations are used by the TG coder to describe this event. The effect of a split operation is to split the cut-border into two, and then conquer these two recursively. In practice, the number of split operations tends to be very small, and the code is dominated by the add operations. This means that the code is essentially a sequence of the valences of all the mesh vertices (in the order prescribed by the mesh conquest). Such a sequence is called a valence sequence for the mesh. For this reason, the TG method is called “valence-based coding”. By Euler’s formula, the average valence of a triangle mesh is 6, and the valences tend to cluster around this value, hence the more regular meshes will typically have very short codes when entropy coding of the valences is employed.

1. Introduction 3D meshes are used for a variety of applications in entertainment, e-commerce, CAD and medicine. For Internetbased applications, where bandwidth is at a premium, efficient coding of the content is crucial. This content consists primarily of the connectivity data of the mesh, and the geometry of the vertices. Over the past few years, many algorithms have been described to code both of these components. In particular, a multitude of connectivity coding algorithms have been published. Some of the codes guarantee an upper bound on the size of the code, which is traditionally measured in bits per vertex (bpv). For manifold triangle meshes, Turan [1] established 12 bpv, Keeler and Westbrook [2] 4.6 bpv, Rossignac [3] 4 bpv, King and Rossignac [4] 3.67 bpv and Gumhold [5] 3.552 bpv. For the more general manifold polygon meshes, where performance is measured in bits per edge (bpe), Keeler and Westbrook [2] achieved 18 bpe and Chuang et al. [6] 2.377 bpe. The triangle mesh compression code of Touma and Gotsman [7], (also known as the TG coder), does not provide an upper bound on the code length, and, in fact, for pathological connectivities, this can be arbitrarily long. However, for “typical” triangulations drawn from a “natural” distribution favoring the more regular meshes found in practice in manifold 3D mesh data sets, the TG code actually achieves a very good average length (1.8 bpv). c The Eurographics Association and Blackwell Publishing Ltd  2003. Published by Blackwell Publishing, 9600 Garsington Road, Oxford OX4 2DQ, UK and 350 Main Street, Malden, MA 02148, USA.

Khodakovsky et al. [8] and Isenburg [9] described a generalization of the TG coder for general polygon meshes. In their method, the code consists of a vertex valence sequence and the corresponding polygon degree sequence, along with a small number of split operations. Valence-based coding is widely considered to be the best connectivity coding method available, so an interesting

99

100

C. Gotsman / On the Optimality of Valence-based Connectivity Coding

question is whether it can still be improved, or, in other words, how close it is to optimal. This paper explores that question. In the next section we bound from above the average entropy of the distribution of valences in a valence sequence of a triangle mesh, where the average is taken over the class of all triangle meshes, in the limit when the number of vertices tends to infinity. We do something similar for the class of polygon meshes. We show that these average entropies are strictly less than the entropy of the classes of meshes being coded, and draw conclusions. From now on we deal only with meshes that are closed, manifold and genus-0.

2. Triangle Meshes The class of triangle meshes is equivalent to the class of planar triangulations with a boundary of size 3. In 1962, Tutte [10] showed that the size of this class on n vertices is 2(4n + 1)! n = (3n + 2)!(n + 1)! which, using Sterling’s formula for large n, is asymptotically n   16 3 − 5 256 n ≈ (1) n 2 27 2π 27 so the entropy of this uniform distribution,  which is 1 log ( ) bits per vertex, tends to log 256 bpv for 2 n 2 27 n large n. This is a lower bound on the average length of any connectivity code for the class of closed manifold triangle meshes, and we call it the Tutte entropy: E Tutte = Entropy(triangle meshes) = 3.245112 . . . bpv

2.1. Valence Coding If E TG is the average code length of the TG coder, then obviously, E Tutte  E TG . Note that this does not contradict the 1.8 bpv average quoted in Section 1 for the TG coder. This is because the Tutte entropy is based on the assumption of a uniform distribution on all possible triangle meshes, even pathological ones, whereas the performance of 1.8 bpv for the TG coder was measured on just a “natural” subset of the meshes, which turns out to be more amenable to valence coding. The TG code for triangle meshes consists primarily of a valence sequence and a small number of other symbols. We now bound the average entropy of the valence sequence portion of the code, denoted by E val . The average is taken over all meshes in the class. Obviously, E val  E TG . Denote by pi the relative frequency of valence i among the vertices of all triangle meshes on n vertices. An analysis of Litskovets [11], based on results of Bender and Wormald

[12], shows that, as n goes to infinity pi =

16(i − 2) i



2i − 2 i −1



 3 i , 16

(2)

which, asymptotically, for large i, is pi ≈ 4(πi)−1/2

 i 3 . 4

An analytic calculation of the entropy Ent[ p] ∞ − i=3 pi log pi of the distribution (2) yields:

(3) =

E all−val = Entropy(all tri mesh valences) = 3.236404 . . . bpv

So E all−val < E Tutte . But E all−val is the entropy of the distribu-tion of the valences in all the valence codes of all triangle meshes, whereas we are interested in E val — the average entropy of the distribution of the valences in the code of a single triangle mesh, where the average is taken over all meshes. By the concavity of the entropy function E val  E all−val . So beyond the obvious E Tutte  E TG , we now have E val  E all−val < E Tutte , implying that E val < E TG . These results are consistent with calculations performed by Alliez and Desbrun [13], who proved the weaker bound E val  E Tutte , without calculating E val explicitly. 2.2. Optimality The results of Section 2.1 indicate that a triangle mesh cannot be coded using only the valence sequence, as this would imply that E val  E Tutte , which is false. This is not surprising, as valence coding requires additional (split) operations, and Isenburg [9] has shown that it is impossible to do without these operations. It has been empirically observed that the number of split operations is very small, and Alliez and Desbrun [13] describe an optimization of the basic TG algorithm which reduces the number of split operations even further. Despite this, the only way to explain the positive gap between E Tutte and E val is if valence coding requires a linear number (in the number of vertices) of split operations, namely E TG = E val + E sp , where E sp > 0 is the entropy due to the splits. However, there is no way to tell whether E sp = E Tutte − E val , so E TG may satisfy E TG > E Tutte , meaning that the TG coder (or its variants) might not be optimal. 3. Polygon Meshes We perform calculations similar to those of Section 2 for the non-triangular case. It is more convenient to measure the coding efficiency for arbitrary polygon meshes in bits per edge (bpe), as opposed to bits per vertex. Tutte [14] showed c The Eurographics Association and Blackwell Publishing Ltd 2003 

C. Gotsman / On the Optimality of Valence-based Connectivity Coding

that the number of different 3-connected polygon meshes with m edges is asymptotically  9 6 −5 m m ≈ m 24 , 2 π so the entropy of the connectivity information of a random polygon mesh is log2 4 bpe. We call this the Tutte entropy for polygon meshes. E Tutte = Entropy(polygon meshes) = 2.000000 . . . bpe

A number of works have addressed the problem of coding general polygon meshes (e.g. [15,16]). Khodakovsky et al. [8] showed that the TG triangle mesh code may be generalized to general polygon meshes by also coding a face degree sequence, which is just a valence sequence of the dual mesh. Here again split operations are needed, so the obvious E val  E K and E Tutte  E K hold. Here E val is the average entropy of the distribution of valences in the mesh valence sequences, the average taken over all meshes. E K is the entropy of the codes generated by the algorithm of Khodakovsky et al. Khodakovsky et al. showed that also for the polygonal case, E val  E Tutte . We now show, similarly to the triangular case, that E val < E Tutte by computing the analogous E all−val explicitly. Random polygon meshes in the limit, as the number of vertices tends to infinity were treated by Bender and Canfield [17]. There is no closed form for the valence frequencies qi . It is known that qi = 4ri−1 /i, where ri are the coefficients of the following generating function: 8



ri t i = 5 − t −

i=2



(2 − t)3/2 (50 − t)1/2 4+t

27t (12 − 20t + t 2 ) . (4 + t)(2 − t)3/2 (50 − t)1/2

The various ri can be evaluated by derivatives of this generating function at t = 0, yielding q1 = q2 = 0, q3 = 243/500 = 0.486, q4 = 6561/25000 = 0.2624, q5 = 162567/1250000 = 0.1301 . . ., q6 = 0.0630 . . ., q7 = 0.0303 . . . and asymptotically, for large i,   i 1 3 (πi)−1/2 . qi ≈ 18 2 2

101

whose number of edges is double the number of vertices, the entropy is E all−val = Entropy(all poly mesh valences) = 1.998832 . . . bpe

Again, the concavity of the entropy function implies E val  E all−val . Hence E val < E Tutte and E val < E K . Similarly to the arguments of Section 2.2, there is no way to contradict E K > E Tutte , meaning that valence coding of polygonal meshes might not be optimal.

4. Conclusion The fact that the entropy of the valence and degree sequences for triangle and polygon meshes is strictly less than the respective Tutte entropy of these classes indicates that some of the bits (per vertex) in the valence-based connectivity code must be due to the split operations (or some other essential piece of information). In other words, the number of split operations in the code is linear in the size of the mesh, albeit with a very small constant. This means that the empirical observation [8,13] that the number of split operations is negligible is incorrect, and is probably due to the experiments being performed on a small subset of relatively “well-behaved” mesh connectivities. At present we have no way of bounding this number, meaning that even if the coding algorithms minimizes the number of split operations, there is no way for us to eliminate the possibility that the size of the code may actually exceed the Tutte entropy (due to these split operations). The question of the optimality of valence-based coding of 3D meshes will remain open until more concrete information on the expected number of split operations incurred during the mesh conquest is available. We do believe, nonetheless, that even if valence-based coding is not optimal, it is probably not far from this.

Acknowledgements Thanks to Danny Keren for sharing his knowledge of Maple, and the anonymous reviewers for some important remarks which greatly improved the quality of this paper. This research was supported by Technion V.P.R. Fund — E. Deutsch Fund for CAM-CAM Research.

Here we have ∞

i=3

qi = 1



i · qi = 4

i=3

and an entropy of 1.998832 . . . bpv. Since the entropy of this sequence and its dual are equal, the total entropy of both sequences is double this. But for this class of meshes

References 1. G. Turan. On the succinct representation of graphs. Disc. Appl. Math., 8:289–294, 1984. 2. K. Keeler and J. Westbrook. Short encodings of planar graphs and maps. Disc. Appl. Math., 58:239–252, 1995. c The Eurographics Association and Blackwell Publishing Ltd 2003 

102

C. Gotsman / On the Optimality of Valence-based Connectivity Coding

3. J. Rossignac. Edgebreaker: Connectivity compression for triangle meshes. IEEE Transactions on Visualization and Computer Graphics. 5(1),1999. 4. D. King and J. Rossignac. Guaranteed 3.67v bit encoding of planar triangle graphs. In Proceedings of 11th Canadian Conference on Computation Geometry, pp. 146–149. 1999. 5. S. Gumhold. Improved cut-border machine for triangle mesh compression. In Proceedings of Erlangen Workshop ’99 on Vision, Modeling and Visualization. IEEE. 1999.

10. W. Tutte. A census of planar triangulations. Canadian Journal of Math, 14:21–38, 1962. 11. V. A. Liskovets. A pattern of asymptotic vertex valency distributions in planar maps. Journal of Combinatorial Theory B, 75:116–13, 1999. 12. E. A. Bender and N. C. Wormald. The number of loopless planar maps. Discrete Maths, 54:235–237, 1985. 13. P. Alliez and M. Desbrun. Valence-driven connectivity encoding of 3D meshes. In Proceedings of Eurographics, pp. 480–489. 2001.

6. R. C. Chuang, A. Garg, X. He and M. Kao. Compact encodings of planar graphs via canonical orderings and multiple parantheses. In Lecture Notes in Computer Science 1443. 1998.

14. W. Tutte. A census of planar maps. Canadian Journal of Math, 15:249–271, 1963.

7. C. Touma and C. Gotsman. Triangle mesh compression. In Proceedings of Graphics Interface ’98, pp. 26–34. 1998.

15. M. Isenburg and J. Snoeyink. Face Fixer: Compressing polygon meshes with properties. In Proceedings of SIGGRAPH. 2000.

8. A. Khodakovsky, P. Alliez, M. Desbrun and P. Schroeder. Near-optimal connectivity encoding of 2-manifold polygon meshes. Graphical Models, 64(3/4):147–168, 2002.

16. B. Kronrod and C. Gotsman. Efficient coding of nontriangular mesh connectivity. Graphical Models, 63:263– 275, 2001.

9. M. Isenburg. Compressing polygon mesh connectivity with degree duality prediction. In Proceedings of Graphics Interface. 2002.

17. E. A. Bender and A. R. Canfield. Face sizes of 3polytopes. Journal of Combinatorial Theory B, 46:58– 65, 1989.

c The Eurographics Association and Blackwell Publishing Ltd 2003 

Suggest Documents