State of the Art in Geometry Compression

State of the Art in Geometry Compression Dinesh Shikhare National Centre for Software Technology Abstract Very large 3D models documenting architectu...
Author: Julianna French
6 downloads 2 Views 102KB Size
State of the Art in Geometry Compression Dinesh Shikhare National Centre for Software Technology

Abstract Very large 3D models documenting architectural designs, heritage monuments, power plants and mechanical CAD designs are being increasingly deployed in various applications involving interactive visualization and network-based access. More often than not, the complexity of these 3D models far exceeds the limits of what can be quickly downloaded at popular connection speeds and what can be easily stored and rendered for interactive exploration on personal desktops, even when additionally fitted with affordable 3D accelerator hardware. Compression schemes for such very large 3D geometric models have thus become a subject of intense study in recent years. In this report, we present: (a) an overview of the state of the art in compression of 3D polygonal models, (b) a classification scheme for large 3D polygonal models, (c) a classification of strategies for compression of these models, (d) a scheme for evaluation of geometry compression algorithms, and (e) a detailed survey of the relevant work reported in the literature till date.

1 INTRODUCTION Polygonal meshes remain the primary representation for visualization of 3D data in a wide range of industries, including manufacturing, architecture, geographic information systems, medical imaging, robotics, entertainment, and military applications. Because of its widespread use, it is desirable to compress polygonal meshes stored in file servers and exchanged over computer networks to reduce storage and transmission time requirements. While a number of surface representations such as quadrics, bipolynomials, NURBS, sweeps, Boolean operations etc. may be used during the initial creation of the 3D models, the final evaluated and stored representation is usually in the form of polygonal meshes, most commonly, triangulated meshes. Triangulated meshes are easily derived from other surface representations, are widely supported by 3D graphics rendering accelerator hardware, are an excellent choice for model portability, and are also optimal for directly channelling down the rendering pipeline. Most compression techniques have therefore focused on such triangulated mesh representations. Quite naturally, specific compression schemes are best suited to specific classes of such complex 3D models with well distinguishable shape characteristics. There have been a few attempts to classify 3D models. This is normally based on some definition for measuring the complexity of the shape and its representation. An early attempt is by Forrest [9] in which he classifies geometric models along three axes: geometric complexity (lines, planes, curves, surfaces, etc.), combinatorial complexity (number of components, edges, faces, etc.) and dimensional complexity (2D, 2.5D, 3D). More recent attempts have tried to relate polygonal representations to shape factors [35, 2, 10, 16, 22]. The shape factor addresses the complexity measure along the geometric complexity dimension of Forrest’s



Graphics & CAD Division, N ATIONAL C ENTRE FOR S OFTWARE T ECHNOLOGY, Gulmohar Cross Road 9, Juhu, Mumbai 400049, India. [email protected]

Combinatorial Complexity

Detailed machine models like aircraft, automobile

Architectural models

CAD models of machine parts

SMALL MODELS

Terrain models

Digital Michelangelo

Geometric Complexity

Figure 1: Classification of 3D models: Geometric complexity versus Combinatorial complexity formulation. For the study being reported in this paper, Forrest’s formulation is more applicable. This is because earlier methods address compression of the inherent shape complexity in single surfaces, where as our scheme addresses compression of geometric models with higher combinatorial complexity. Some of the very large 3D geometric models presently being worked upon in various computer graphics research laboratories around the world are shown in Figure 1 positioned in Forrest’s model classification space. Typical mechanical CAD models are moderately complex in their geometric complexity, but can be substantally complex in their combinatorial complexity. The automobile and aircraft models have been known to be very complex in geometric dimension in terms of representation of elements for modeling smooth surfaces, blends, etc. and are also complex along the combinatorial dimension due to the presence of a high number of components and their inter-relationships.

1.1 Motivation and Methodology of this Study This study is being carried out to evaluate various geometry compression techniques reported in the literature for selecting a suite of suitable compression schemes that will have the following characteristics: (a) high compression ratios, (b) high speeds of compression and decompression, (c) scalability in terms of complexity of the 3D polygonal models, and (d) possible extension to streaming of geometry. Scenario of interest: The focus of this study is on engineering 3D models that are in the top layer of the classification space show in Figure 1. The applications in mind are based on sharing of large models over a networked collaborative environment, where the participants can modify the models asynchronously and these changes must be “quickly” transferred and reflected in the other participants’ view of the models. In order to improve fast updation of models, this study wishes to gain a thorough understanding of the existing geometry compression techniques and evaluate them – as far as possible quantitatively and otherwise qualitatively. Many of the techniques that can be eliminated based on their qualitative analysis will not be considered in detail for quantitative studies.





The methodology for this study takes the following approach. We first define the domain of 3D geometric models we wish to work with for compression and progressive transmission. Then we state and describe the evaluation parameters for rating the schemes. This is followed by an abstract description of the various reported strategies for compression of 3D polygonal models. Finally we present an detailed description of the relevant compression schemes.

Progressive disclosure is the process of deriving a new representation of a given polygonal mesh model , which enables one to transmit a coarse representation of the model first and subsequently transmit the details to refine it. Compression strategies have been used in the progressive representation of models to also make the entire transmission data compact. Many groups have developed compression schemes incorporating progressive disclosure capabilities [6, 27, 31, 32]. The schemes that combine compression and progressive disclosure always have a trade-off between compression and the additional data needed for progressive representation of the models.

2 DEFINITIONS AND NOTATION Polygon mesh models are typically defined in terms of (a) geometry – the coordinate values of vertices of the meshes making up the model, (b) connectivity – the relationship among the vertices which defines the polygonal faces of the mesh (also called as topology) of the mesh, and (c) attributes - such as colour, normal and texture coordinates at the vertices. In addition, more attributes such as texture images and material properties are also commonly present as a part of the models, usually associated with meshes or groups of meshes. As already mentioned earlier, while a large majority of models consist of triangle meshes, often there are meshes having elements that are quadrilateral, higher order polygons and sometimes a mix of different types of polygons. consists of a set of polygon A polygonal mesh model meshes and associated non-geometric properties. A polygon mesh consists of a set of vertices, a set of edges and a set of polygons. Each vertex corresponds to a point position from the . An edge is represented as a pair set of references into the list of vertices. A polygon is represented as a sequence of references into the list of vertices. A triangle mesh is a special case having all triangular polygons. Generally in the actual representation, edges are implied and not explicitly stored. A mesh having each edge shared by at most two polygons forms a manifold. A mesh having an edge shared by more than two polygons represents a non-manifold. A mesh representing a manifold surface is closed if all edges are shared by 2 polygons, otherwise it is open. A connected component in a polygonal mesh model is a subset of polygons such that each polygon shares at least one edge with a polygon in the subset . Note that a given mesh model may have multiple connected components. When deriving a compact encoding for very large 3D models, there are three processes that work on a polygonal mesh model and are in some sense related. Compression is the process of deriving a new encoding for a given polygonal mesh model such that the total number of bits needed in the new encoding is much lower than the number needed and denote the for the uncompressed representation. If number of bits for the uncompressed and the compressed versions respectively, then the compression ratio is defined by the formula:







   $#%&'()()() &*'"

+





3 EVALUATION PARAMETERS For evaluation of the geometry compression techniques the following parameters are used wherever applicable: 1. Lossiness: 2. Compression ratio: 3. Speed of compression, uncompression: 4. Pre-processing versus real-time, on the fly working:

  !#"



5. Availability of implementation: 6. Integration overhead: 7. Legal restrictions: (that is, IPR issues) 8. Scope for extension to streaming: FIXME: more detailed description of these parameters please.

4 COMPRESSION STRATEGIES Most of the geometry compression strategies have two distinct components:



+

1. Compression of topology or the connectivity information: basically reducing repeated references to vertices that are shared by many polygons/triangles.





2. Compression of geometric data: reducing the precision with which coordinate values, normal vector components, etc. are represented or removing highly detailed features using techniques from signal processing.

,-." +/."

Connectivity Compression: A large body of geometry compression research has concentrated on clever encoding of the connectivity among the vertices in the mesh. Typically, the number of triangles in a mesh is roughly twice the number of vertices and each vertex is referenced in 5 to 7 triangles, which means that large part of the representation of the model is the definition of connectivity among the vertices. Schemes that minimize repeated references to vertices obviously result in compression. Almost all of the connectivity compression techniques [13, 18, 29, 33, 34] encode triangle/polygon connectivity in a lossless manner. Triangle-triangle adjacency is exploited by arriving at a suitable ordering of the triangles, such as triangle strips, triangle fans and triangle spirals [36]. Recent techniques [34, 13] construct a spiraling triangle spanning tree in which vertices are labeled in the order in which they are first encountered in the triangle tree. By

+0 -, .-, "213.+/" ." (

Compression is said to be lossy if the decompression process cannot give back the original polygon mesh model exactly. Simplification is the process of deriving a new representation , often referred to as an imposter, for a given polygonal mesh model by which becomes simpler to deal with normally for rendering purposes. This is usually in the form of lesser number of meshes or polygons or vertices and the elimination of fine detail in geometry and associated information, etc. Clearly simplification is a kind of lossy compression. A comprehensive review of simplification techniques may be found in [15].



4

4

2

5

defining a small set of operators to encode the traversal over the triangles high compression ratios have been achieved for connectivity encoding, typically a few bits per vertex [29]. Most of the above referenced compression schemes concentrate on triangle mesh models representing manifold surfaces. However, as mentioned earlier, many models created and acquired have nontriangular polygonal facets and non-manifold topologies. Some researchers have devised/extended compression algorithms to handle such general polyhedral models. Isenburg [18] extends Rossignac’s Edgebreaker [29], an edge-based traversal scheme, for encoding of polygonal manifold meshes. King et al [21] have dealt with irregular quadrilateral meshes and Guiziec et al [12] have also extended their earlier efforts to handle non-manifolds by decomposing a non-manifold model into multiple manifold surfaces which are then compressed independently.

We must also note here, that both predictive encoding and the signal processing approach works best on meshes representing smooth surfaces with dense meshes of small triangles. Signal processing techniques also rely heavily on the specific connectivity of the mesh for deriving the basis functions. Very large 3D geometric models of the engineering class usually have a large number of meshes, with less number of large triangles, often with irregular connectivity. The architectural and mechanical CAD models typically have many non-smooth meshes making these methods not the best suited.

5 SURVEY OF TECHNIQUES Geometry compression algorithms have evolved in the last five years and they are becoming increasingly sophisticated. However, the currently known geometry compression algorithms are specialised in handling meshes with specific characteristics. These characteristics are:

Geometric Data Compression: Deering [7] used quantization of coordinate values from 32 bits to 16 bits, 9-bit index into a global list of values for normals and a 15 bit representation of colour values. Although this strategy of reducing data is blatantly lossy, it may be still be usable as long as the results for interactive visualization are not deteriorated. Use of Predictors: Quantization of coordinates and colour values leads to an indiscriminate truncation of the accuracy regardless of the features in the geometric models. Predictive encoders perform much better by taking advantage of the coherence in the data to predict the value of the next element in the sequence. Depending on the condition of the data and the characteristics of the predictor the prediction errors vary. Predictors are designed so that most of the error values are small and only a few are large. These error values can then be quantized effectively and then entropy coded for compact representation. Taubin and Rossignac [33] use linear predictors; Touma and Gotsman [34] use the parallelogram rule to predict subsequent vertex positions in triangle sequences; and Pajarola and Rossignac [27] have introduced a butterfly predictor scheme. Signal Processing Techniques: Signal processing based techniques which have been in use for surface fairing [30] and multiresolution analysis [14] are based on construction of a set of basis functions for decomposition of a triangle mesh into signals. These signals have components across a spectrum of frequencies. The low frequency components in the signals correspond to smooth features and high frequency components correspond to discontinuities such as creases, folds and corners. Retaining just a few frequency components suffices to capture the overall perceptual shape of the model. This compression scheme is analogous to the JPEG image compression algorithm [26]. The spectral compression effort of Karni and Gottsman [19] and wavelet based technique of Khodakovsky et al [20] achieves compression by using this basic idea.

1. Regularity of the triangulation: Some algorithms work extremely well if the mesh has triangulation with each vertex having valency of six. However, for irregular triangulations, these algorithms are very unsuitable. 2. Manifold meshes: Many algorithms can deal with only manifolds. To handle non-manifold geometry, substantial preprocessing is required. 3. Large, contiguous meshes: Most of the algorithms reported in the literature rely on decomposing the meshes into long triangle strips. These strips are then encoded compactly to achieve compression. However, in many models, it is not possible to get triangle strips longer than a few triangles. In such cases, these algorithms perform very poorly. 4. Predictable patterns in model: Some algorithms use predictive encoding of geometry for predicting the position of the next vertex in the mesh. The prediction errors are then stored. These error tend to be small in smooth surfaces. However in meshes having large discontinuities, the magnitudes of these errors are uniformly distributed over a large spectrum and hence compact encoding is not possible. 5. Many medium to small sized meshes: Some models have hundreds of meshes, each having a few tens of triangles. Many of these meshes are multiple copies of the same shape appearing in different positions and orientations. Triangle-strip based approaches do not perform very well on these models. Thus, so far, there is no general purpose algorithm for compression of any given polygonal model. The algorithm must be chosen depending on the characteristics of the models. While the first four classes of data sets have been addressed extensively by researchers with innovative ideas and good compression ratios work, the class of large scenes consisting of many small to medium sized meshes remains largely unaddressed. Large body of geometry compression research has concentrated on clever encoding of the connectivity among the vertices in the meshes. These encodings minimise and localise the repeated references to vertices, thereby achieving a compact description of topology. An interesting observation made in the typical meshes is that, on an average, the number of triangles is twice the number of vertices, and each vertex is referenced in 5 to 7 triangles. This fact has encouraged a lot of work to minimise the repeated referencing of vertices in the mesh.

4.1 Applicability to Large Engineering 3D Models Almost all of the above research has concentrated on the compression of large models having a few connected components – often a single mesh of a complex surface with continuously varying curvature– formed by a dense collection of a large number of small polygons (mostly triangles). The graph traversal techniques are best suited when we have very long traversals. Longer the traversal sequence, smaller is the average cost of representation. In most models such as architectural, urban planning, entertainment, etc., meshes have associated texture maps. In order to capture different texture mapping coordinates at the shared vertices, the vertices are repeated. Due to this condition of the data reducing repeated references to vertices and creating long graph traversals does not generally become possible.

3

4

2

3

2

0 5 1

4

1 0

3 0 1 2 3 4 5 ... 0 2 2 4

1 1 3 3

2 3 4 5

Triangle strip

0 0 0 0

1 2 3 4

2 3 4 5

5

Triangle fan

Figure 2: Triangle strip and triangle fan as used in OpenGL

5.1 Triangle-strip Based Strategy A representation based on triangle strips, supported in OpenGL [36] and other graphics libraries, is used to reduce the number of times the same vertex is transferred and processed by the graphics subsystem. Basically, in a triangle strip, a triangle is formed by combining a new vertex description with the descriptions of the two previously sent vertics. Each new triangle shares an edges with the previous triangle in the strip. Using a convention to orient the surface of the strip, we can label the other two “free” edges of the triangle as the left and the right edge. One bit per triangle suffices to indicate whether the next triangle is incident upon the left or the right edge of the previous triangle. The first two vertices are the overhead for each strip, so it is desirable to build long strips, but the automation of this task remains a challenging problem. Encoding and decoding processes of such triangle strips are illustrated in Figure 2.

Figure 3: Generalised triangle strip

The shortcoming of OpenGL triangle strip is that it must proceed in a zigzag fashion to continue. In most meshes, such a strip must break due to the connectivity in the mesh. To avoid breaking of strips and having to incur the cost of reinitializing a new strip, some more operators must be incoporated in the encoding scheme. Deering’s compressed format [7] was designed for decompression by a hardware graphics adapter with very limited memory. Thus, random access to previously decompressed vertices was out of the question. Instead, Deering uses a 16-register cache to store 16 of the previously decoded vertices for subsequent references. When a previously decoded vertex no longer in cache is needed, a new instance of it must be decoded. Deering also introduces scheme for continuing the triangle strip by introducing “generalised triangle strip” (see Figure 3). He extends the mesh encoding further by defining “generalised triangle mesh” scheme for better encoding (see Figure 4). This scheme is now used in Java 3D’s Compressed Object node [25]. Chow [5] has proposed a technique for traversing the triangles of a mesh in an order that exploits Deering’s architecture. He sweeps a front of edges in a spiraling pattern to avoid creating isolated vertices. To build such long triangle strips, a set of operators is used to let the decoder understand how to interpret the connectivity among the stream of vertices defining the mesh geometry. Since these operators are small in number, they require very few bits to encode. Also, to get best results with these schemes, the vertices in the original meshes are reordered to make the vertex references in the vertex list as local as possible. The relative local references are then encoded as offsets from the first reference within the strip. The offsets are then encoded using small integers.

Figure 4: Generalised triangle mesh

4

5.2 More Sophisticated Encoding of Connectivity Taubin and Rossignac’s work on topological surgery of triangle meshes [33] encodes the mesh connectivity in a lossless manner. The encoding of an arbitrary polygonal manifold in threedimensional space is a generalization of the encoding of planar geometric graph. Taubin and Rossignac’s algorithm encodes the connectivity information of meshes in an average of 4-bits per vertex in the demonstrated examples. Touma and Gotsman [34] extend Taubin’s algorithm by using the following observation: In a polygonal mesh representing an orientable manifold, the vertices incident on any mesh vertex may be ordered in a clockwise orientation. A consequence of this is the separation property of genus-0 meshes, that the removal of any vertex cycle and all associated edges separates the mesh into two disjoint sub-meshes – those inside the cycle and those outside it (in the degenerate case, one of these meshes may be empty). On completion of a cycle, the as of not removed edge of the last triangle traversed is used for further traversal of the triangle sequence. This leads to a very simple algorithm for encoding and decoding of triangle meshes. With this algorithm, Touma et. al. claim to encode the edge information of mesh connectivity in less than 1.5 bits per vertex on an average. Rossignac’s Edgebreaker algorithm [29] uses a half-edge datastructure and traverses the mesh from one triangle to a neighbouring one, recording the history: a list of opcodes, each referring to one of five operations. This algorithm is suitable for manifold triangle meshes and connectivity is encoded in 1.5 to 2 bits per triangle. Additional preprocessing is required for extending the technique for mesh with holes and handles. Gumhold and Strasser’s [13] scheme for compression of mesh connectivity has a similar strategy for compact encoding, though these results have been independently reported. The connectivity compression schemes based on triangle strip encoding strategies have one common weakness: These schemes cannot handle non-manifold meshes without carrying out special pre-processing of the triangle mesh data. Gueziec et. al. [11] present an algorithm for cutting non-manifold meshes into manifold components and then stitching them together to reconstruct the original non-manifold mesh. All algorithms aiming to compactly encode connectivity of triangle meshes are lossless schemes for compression. These schemes deal with integer references to the vertex lists and minimise the redundancy present in the form of repeated references to vertices. The remaining subsections are dedicated to inherently lossy techniques for compression of geometry and other attributes associated with the meshes.

Figure 5: Uniform quantization of vertex normals

;'=

information theoretically could be used to represent different normals, spread evenly over the surface of a radians in any unit sphere. This is a normal every direction. Such angles are so exact that spreading out angles evenly in every direction from earth, you could point to any rock on Mars with sub-centimeter accuracy.” “... Even 24-bit normal components are still much higher in angular accuracy than the (repaired) Hubble space telescope. Indeed, in some systems, 16-bit normal components are used.”

;?@ =

Various known quantization techniques can also be used from the large body of knowledge of colour quantization. Some of these include the median-cut algorithm and octree-based quantization method.

5.4 Predictive Encoding Quantization of coordinate and colour values leads to an indiscriminate truncation of the accuracy regardless of the features in the geometric models. More effective techniques for better distribution of storage space across the data are available by the use of predictive encoding of the data streams. The predictive encoders take advantage of the coherence in the data to predict the value of the next element in the stream. Depending on the condition of the data and the quality of the predictor the prediction errors vary. Predictors can be designed so that most error values are small and only a few are large. These error values can then be quantized effectively and then entropy coded for compact representation. We can represent the frequently occuring error values with small number of bits and more bits can be used for less frequent error values. Various geometry compression schemes deploy different kinds of predictors. To extract good performance out of the predictor, it is important to condition the data stream. Taubin and Rossignac [33] construct vertex runs from the mesh while building long triangle strips. They use a predictor that minimises the least-squares error. The predictors can be formulated as follows. A linear predictor is defined by the vertex position predictor function:

5.3 Quantization of Geometry and Attributes Besides compactly encoding the topological relationships between vertices in the meshes, most of the work reported also uses lossy techniques for reducing the number of bits used for represeting vertex coordinates, normals and colour values. For example, Deering -bit representation for XYZ-values for points, 9-bit [7] uses index into a global list of values for normals and 15-bit representation for colour values. Vertex normals are quantized to a global table of representative normal directions. The normals are then represented as indices into this global table. Deering’s implementation of geometry compression uses a uniform tessellation of a unit sphere to obtain buckets of normal directions (see Figure 5). Deering justifies quantization of normals as follows:

A CBD>'E ? #F(G()() 'E ?IH "8 J LHKM BC'E ?  where BN OCBD()()()PB " is a vector of integers, and ' are the H coordinate values of the vertices in the stream. Note that Deering [7] uses a predictor with QR S9 and BDT S9 . The variables Q and BD#()(G()PB H can be chosen in many different ways. The compression ratio depents on this choice. Taubin and Rossignac [33] estimate B vector my minimising the least square arror U EJ V WPX E W H

.6879#:&"

“Traditionally, 96-bit normals (three 32-bit floatingpoint numbers) are used in calculations to determine 8bit colour intesities [for eventual rendering]. 96-bits of

5

Y

where the sum is over all the vertices in the run. The concatenation of predictor errors are ordered according to the connectivity description. These error streams are then encoded using entropy encoding technique such as Huffman or arithmetic coding [26]. The predictor used by Touma and Gotsman [34] takes advantage of the geometric structure of the triangle strips for predicting the position of the next vertex in the stream. In a triangle strip, a triangle and the succeeding triangle form a quadrilaterial. The position of the fourth vertex of the part of the stream corresponding to this structure of two triangles is predicted using the parallelogram rule. This rule predicts the position of the next vertex assuming a planar extension, and the error in prediction is used for further encoding. Pajarola and Rossignac [27], in their work on compressed progressive meshes, use a predictor that is based on the particular connectivity of neighbouring vertices around the edge being collapsed to simplify the geometry or vertex being split to refine the geometry. They call this method butterfly predictor due to the structure formed by an edge and its adjoining triangle. In most cases, the triangle-strip generation scheme and geometry predictors are closely coupled. Isolated use of predictors usually cannot give large benefits. In addition to triangle strip generation and predictive encoding, the references to the vertices belonging to a single strip of the mesh are kept local by reorganising the shared vertex array. This way, small integers can be used for referencing of vertices. Within a strip, delta encoding of indices helps in keeping the index values small. These deltas can also be further encoded using either a dictionary based algorithm or an entropy coding method.

in magnitude. These small values can be encoded efficiently using very small number of bits. Also, many higher order detail coefficients can be ignored due to their negligible values. The limitation of this approach is that it only works for manifold surfaces and has a strong requirement of a regular connectivity in the mesh. In progressive forest split (PFS) compression by Taubin et. al. [31] a manifold triangle mesh is also represented as a low resolution polygonal model followed by a sequence of refinement operations. But the forest split operation, which can be seen as a grouping of several consecutive edge split operations into a set instead of a sequence, provides tradeoff between compression ratio and granularity. The highest compression ratios are achieved by reducing a large number of levels of detail produced using the progressive meshes scheme [17], which are usually not required. Best compression ratios are achieved in PFS when the size grows exponentially with bits to double the the level of detail, because it requires only size of the mesh with vertices.

AC-"



5.6 Signal Processing Based Approach Signal processing based techniques have been in use for handling triangle mesh data for applications such as surface fairing [30], multiresolution analysis [14]. These techniques are based on construction of a set of basis functions for decomposition of the a triangle mesh into signals. These signals have components across a spectrum of frequences. The low frequency components in the signals correspond to smooth features in meshes and high frequency components correspond to discontinuities in the meshes such as creases, folds and corners. Karni and Gottsman [19] propose a spectral compression technique for triangle mesh data. For spectral decomposition of the mesh geometry, they construct a set of orthonormal basis functions from the connectivity relationship within the mesh. Using a mesh as: having vertices, they construct a matrix of size

5.5 Progressive Compression Schemes In recent years, researchers have investigated the area of geometry compression [7, 5, 34, 13, 29] and progressive transmission of large scale models [17, 28, 31, 27, 12]. As a natural extension of the progress so far in this field, there are some efforts towards progressive compression schemes and streaming of compressed geometric models. Progressive compression techniques aim to create a compressed representation for polygonal models such that the early part of the compressed file represents a coarse version of the model and subsequent part adds details to refine the model progressively. Thus the viewer of the model does not have to wait till the entire model has been loaded – the experience with the model can start as soon as the initial data has been read/loaded/receieved. The progressive mesh (PM) scheme introduced by Hoppe [17] was the first method to address progressive transmission of multiresolution manifold triangle meshes. PM is an adaptive refinement scheme where new faces are inserted in between existing faces. Every triangular mesh can be represented as a base mesh followed by a sequence of vertex split refinements. Each vertex split is specified for the current level of detail by identifying two edges and a shared vertex. Pajarola and Rossignac [27] extended progressive meshes. Instead of encoding every vertex split operation individually, this scheme groups simplification and refinement operations into groups to increase the connectivity encoding efficiency. As a result, the selective refinement property of progressive meshes is sacrificed. Khodakovsky et. al. [20] introduce a wavelet based technique for progressive compression of geometry. This algorithm requires the source mesh to have a regular structure. They have defined wavelet basis over manifold surfaces for multi-resolution analysis. The multi-resolution analysis of the the surface naturally provides levels of detail progressively. The data stored to represent the model begins with a coarse model and subsequent data stores the detail coefficients to refine the model. Compression is achieved since the detail coefficients are incrementally stored and are much smaller

Z

Z[7\Z ] ^_1a`cb where, ^ is the identity matrix; b is the adjacency matrix of the mesh with d>Cef" -th element set to 9 if there is an edge between vertices d and e , g otherwise; and ` , a diagonal matrix ] with hG set to the degree of d -th vertex. Karni and Gottsman call the Laplacian operator. The eigenvectors of this symmetric matrix give an orthonormal basis of an Z -dimensional space and the corresponding eigenvalues can be considered as “frequencies” of the the basis functions. The spectral analysis is achieved by taking inner product of each of the i -, j - and k - vertex coordinate vectors with basis vectors. Note that there are separate spectra for each of i -, j - and k -

components of the geometry and they behave differently depending on the directional geometric properties (e.g. curvature) of the mesh. For smooth meshes, the high frequency components of these spectra will have very insignificant values, which can either be truncated or be quantized among a small number of discrete values. This provides a novel geometry compression idea which can be employed with any connectivity compression scheme. This compression scheme is analogous to the JPEG image compression algorithm that decomposes the discrete image signal in terms of coefficients of cosine basis functions. The DCT algorithm happens to model the human visual perception system within the lower frequency harmonics. Hence the higher frequency components may be omitted for high lossy compression. However, for handling very large meshes using a signal processing techniques, many compromises must be made. For example, computing eigenvectors ( operation) of a Laplacian matrix of order greater than 1000 is practically impossible. To handle large data, these approaches must rely on effective mesh partitioning. These partitions should be small enough for making the compu-

AZlm"

6

5

the strips cannot be extended beyond a few vertices, since the strip must be reinitialised too often. In case of the architectural models, there are always large number of small meshes – leading to poor compression ratios. Clearly, these models require special algorithms for effective compression.

tation efficient. Compression is then achieved on smaller partitions of the mesh.

5.7 Standardization Efforts Various groups of researchers are also trying to standardize the compressed geometry encoding techniques into file formats that can be used across a large number of applications. The representative efforts are listed in this section.

2. Control of the lossiness in compression of meshes: The lossy compression is achieved via quantization of vertex coordinates, colour values and vertex normals. The metrics for lossiness and means of control over the lossiness are required. These measures should be local in parts of a model as well as global across the triangle mesh model. King and Rossignac [21] have reported their work on optimal bit allocation for representing the connectivity and geometry information when lossiness of two types must be balanced: reduction of the number of vertices by simplification and reduction in the number of bits of resolution used per vertex coordinate via quantization. This work defines metrics for quantization error, shape complexity, and algorithms for computing number of vertices in the reduced mesh ( ) and number of bits to be allocated ( ) for the quantized representation of the vertex coordinates.

1. Java 3D Compressed Geometry: Michael Deering’s work [7] on geometry compression has been incorporated into Java 3D API by Sun Microsystems. The Java 3D implementes import, export of the binary file format of compressed geometry data. This specification is available at online on the website: http://java.sun.com/products/javamedia/3D. The implementation has several layers of compression techniques built into the system: generalised triangle meshes, vertex position quantization, colour quantization, normal quantization and modified Huffman encoding.

n

2. VRML Compressed geometry format: Numerous proposals have been made for incorporating binary compressed format into the VRML. The current state of the efforts can be seen on the website [1]. However, the efforts seem to have stopped after October 1997. This work has borrowed the Topological Surgery algorithm of Taubin and Rossignac [33] for compression of geometric models.



3. Measure of complexity of mesh, entropy, estimates of optimal compression ratio for a given model: We do not yet have answers to questions like: (a) How much compression can we expect to achieve on a given triangle-mesh model? (b) Given a model, can we determine automatically which compression algorithm will work best on the model? While the first question is not answered fully, there is some seed of work towards the goal: Miquel Feixas et. al. [8] introduce an information theoretic framework for estimation of complexity of geometric models. Their work concentrates on estimation of time required to compute visibility among the meshes for constructing the form factors matrix required for radiosity computations. The framework has also been used to estimate the time required to carry out Monte Carlo simulation for global illumination computation till a steady-state is reached. The second question has not been addressed much yet. Possibly it is too early to ask this question since the field developing fast. To answer the question, on one hand, one must know the strengths and weaknesses of the specific geometry compression algorithms and also some performance metrics. This is needed to know the characteristics of the data that are best suited for the compression strategy. On the other hand, one will need an extensive framework of geometry and topology analysis tools. These tools would be required to make measurements on the 3D models for identifying characteristics of the meshes.

3. MPEG-4: Encoding of mesh geometry using the Topological Surgery method [33] and progressive forest split algorithm [31] has become a part of the MPEG-4 standard [23, 4]. However, other improvements suggested by other researchers have also been incorporated. These include: (a) connectivity encoding for progressive transmission proposed by Bossen [3], (b) non-manifold encoding proposed by Gueziec et. al. [11], (c) parallelogram prediction proposed by Touma and Gotsman [34], and (d) error encoding proposed by Li and Kou [24]. It allows encoding of any polygonal mesh (including non-manifolds) with no loss of connectivity information and no repetition of of geometry and property data assiciated to singular vertices as a progressive single-resolution bitstream.

6 UNEXPLORED DIRECTIONS In this section, we list the issues in the area of geometry compression that have not been addressed extensively. For each issue we describe why the currently known methods will not perform to our satisfaction. 1. Algorithms for compression of large models consisting of multiple meshes of small to medium complexity: Much of the hitherto reported work on geometry compression concentrates on compact storage of the connectivity of a single large mesh. However, in practice many models authored in CAD packages to document designs of architectural, heritage and engineering plants have many meshes of small to medium complexity. These models cannot be compressed very well using the triangle-strip based methods for encoding the connectivity. This is because: The algorithms based on triangle strips rely on existence of long triangle strip traversals in the meshes to avoid repeated references to vertices. This way, the average number of bits used per triangle in the mesh is reduced. This average goes on reducing for large strips, but suffers if the

7 CONCLUSION This is report is still under development. The conclusion is still pending.

References [1] VRML compressed binary http://www.research.ibm.com/vrml/binary/.

format.

[2] N. Amenta, M. Bern, and M. Kamvysselis. A New Voronoibased Surface Reconstruction. In SIGGRAPH 98, pages 415– 421, 1998.

7

[3] Frank Bossen. On the Art of Compressing Three-Dimensional Polygonal Meshes and their Associated Properties. PhD thesis, Ecole Polytechnique Federal de Lausanne (EPFL), June 1999.

[21] D. King and J. Rossignac. Connectivity compression irregular quadrilateral meshes. Technical Report GIT-GVU-99-36, GVU Center, Georgia Tech., Atlanta, USA, 1999.

page.

[22] Davis King and Jarek Rossignac. Optimal Bit Allocation in Compressed 3D Models. Computational Geometry, 14:91– 118, 1999.

[5] Mike Chow. Optimized Geometry Compression for Real-time Rendering. In IEEE Visualization’97, pages 347–354, 1997.

[23] R. Koenen. MPEG-4: Multimedia for our time. IEEE Spectrum, 36(2):26–33, February 1999.

[6] D. Cohen-Or, D. Levin, and O. Remez. Progressive Compression of Arbitrary Triangle Meshes. In IEEE Visualization 99, pages 67–72, 1999.

[24] J. Li. and C. C. Kuo. Progressive coding of 3D graphics models. Proceedings of the IEEE, 86(6):1052–1063, June 1998.

[4] L. Chiariglione. MPEG http://www.cselt.it/mpeg.

home

[25] Sun Microsystems. Java3d API Specification. http://java.sun.com/products/java-media/3D, June 1999.

[7] Michael Deering. Geometry Compression. In SIGGRAPH 95, pages 13–22, 1995.

[26] Mark Nelson. Data Compression Handbook. M & T Publishing, Inc., 1991.

[8] Miquel Feixas, Esteve del Acebo, Philippe Bekaert, and Mateu Sbert. An information theory framework for the analysis of scene complexity. In Proceeding of Eurographics’99 Conference, September 1999.

[27] Renato Pajarola and Jarek Rossignac. Compressed Progressive Meshes. Technical Report GIT-GVU-99-05, GVU Center, Georgia Tech., Atlanta, USA, 1999.

[9] A. Robin Forrest. Computational geometry - achievements and problems. In R.E. Barnhill and R.F. Riesenfeld, editors, Computer Aided Geometric Design, pages 17–44. Academic Press, 1974.

[28] Jovan Popovi´c and Hugues Hoppe. Progressive Simplicial Complexes. In SIGGRAPH 97, pages 217–224, 1997. [29] Jarek Rossignac. Edgebreaker: Connectivity Compression for Triangle Meshes. IEEE Transactions on Visualization and Computer Graphics, 5(1):47–61, January-March 1998.

[10] Michael Garland. Quadric-based Polygonal Surface Simplification. PhD thesis, Carnegie Mellon University, 1998.

[30] Gabriel Taubin. A Signal Processing Approach to Fair Surface Design. In SIGGRAPH 95, pages 351–358, 1995.

[11] Andre Guiziec, Frank Bossen, Gabriel Taubin, and Claudio Silva. Efficient Compression of Non-manifold Polygonal Meshes. In IEEE Visualization 1999, pages 73–80, 1999.

[31] Gabriel Taubin, Andre Gueziec, William Horn, and Francis Lazarus. Progressive Forest Split Compression. In SIGGRAPH 98, pages 123–132, 1998.

[12] Andre Guiziec, Gabriel Taubin, Francis Lazarus, and William Horn. A Framework for Streaming Geometry in VRML. IEEE Computer Graphics & Applications, 19(2), March/April 1999.

[32] Gabriel Taubin, William Horn, and Paul Borrel. Compression and Transmission of Multi-resolution Clustered Meshes. Technical Report RC21398-(96630)-2FEB1999, IBM T.J. Watson Research Centre, New York, USA, 1999.

[13] Stefan Gumhold and Wolfgang Strasser. Real-time Compression of Triangle Mesh Connectivity. In SIGGRAPH 98, pages 133–140, 1998.

[33] Gabriel Taubin and Jarek Rossignac. Geometry Compression through Topological Surgery. ACM Transactions on Graphics, 17(2):84–115, April 1998.

[14] I. Guskov, W. Sweldens, and P. Schroeder. Multiresolution Signal Processing for Meshes. In SIGGRAPH 99, pages 325– 334, 1999.

[34] Costa Touma and Craig Gotsman. Triangle Mesh Compression. In Proceeding of Graphics Interface 98, June 1998.

[15] Paul Heckbert and Michael Garland. Survey of polygonal simplification algorithms. In Multi-resolution Surface Modeling Couse. ACM SIGGRAPH Course Notes, 1997.

[35] Greg Turk. Re-tiling Polygonal Surfaces. In SIGGRAPH 92, pages 55–64, 1992. [36] M. Woo, J. Neider, and T. Davis. OpenGL Programming Guide. Addison-Wesley Publishing Company, 1996.

[16] Paul Heckbert and Michael Garland. Optimal Triangulation and Quadric-based Surface Simplification. Computational Geometry, 14:49–65, 1999. [17] Hugues Hoppe. Progressive meshes. In SIGGRAPH 96, pages 99–108, 1996. [18] Martin Isenbueg and Jack Snoeyink. Face Fixer: Compressing Polygon Meshes with Properties. In SIGGRAPH 2000, pages 263–270, 2000. [19] Z. Karni and C. Gotsman. Spectral Compression of Mesh Geometry. In SIGGRAPH 2000, pages 279–286, 2000. [20] Andrei Khodakovsky, Peter Schroeder, and Win Sweldens. Progressive Geometry Compression. In SIGGRAPH 2000, pages 271–278, 2000.

8