WO2000045237A2 - Progressive compression of triangular meshes - Google Patents

Progressive compression of triangular meshes Download PDF

Info

Publication number
WO2000045237A2
WO2000045237A2 PCT/IL2000/000053 IL0000053W WO0045237A2 WO 2000045237 A2 WO2000045237 A2 WO 2000045237A2 IL 0000053 W IL0000053 W IL 0000053W WO 0045237 A2 WO0045237 A2 WO 0045237A2
Authority
WO
WIPO (PCT)
Prior art keywords
mesh
vertex
vertices
patch
hole
Prior art date
Application number
PCT/IL2000/000053
Other languages
French (fr)
Other versions
WO2000045237A3 (en
Inventor
Daniel Cohen-Or
Offir Remez
Original Assignee
Enbaya Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Enbaya Ltd. filed Critical Enbaya Ltd.
Priority to JP2000596429A priority Critical patent/JP2002535791A/en
Priority to AU23165/00A priority patent/AU2316500A/en
Priority to EP00901872A priority patent/EP1194860A2/en
Publication of WO2000045237A2 publication Critical patent/WO2000045237A2/en
Publication of WO2000045237A3 publication Critical patent/WO2000045237A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame

Definitions

  • the present invention relates to compact representation of 3D geometric models and, more particularly, to a progressive mesh compression and reconstruction method.
  • the geometry is represented by the set of coordinates of the mesh's vertices. To enable effective compression of the geometry, the coordinate values are first quantized to a fixed number of bits.
  • the connectivity data is the vertex/triangle adjacency list, sometimes also referred to as the topology. In a naive representation, the connectivity data is about twice as large as the geometry data.
  • Mesh compression algorithms are normally required to use a lossless compression of the connectivity data.
  • Current mesh compression methods are based on the triangle-strips technique, in which the triangular mesh is traversed along sequences of triangles, which look like peeled strips.
  • the progressiveness property is important to compensate for low network bandwidth and transmission latency.
  • the compression method of the present invention is based on a multiresolution decomposition, which inherently has a progressive property. However, unlike the progressive meshes, here the size of the data that is required to faithfully recover the original mesh is comparable to any known technique of mesh compression. Recently, Renato Pajarola and Jarek Rossignac ("Compressed progressive meshes", Technical Report GIT-GNU-99-05, Georgia Institute of Technology Washington, 1999) have developed a new progressive meshes technique, where a batch of vertex-split operations are encoded efficiently to yield a compressed progressive mesh representation. Multiresolution analysis and wavelets have matured as a versatile tools for representing functions and analyzing features at multiple levels of detail.
  • Multiresolution analysis methods for the compression of 3D meshes have been applied only in terms of the number of triangles representing the mesh at various levels of detail.
  • lossless compression methods of 3D meshes which compress in terms of the total number of bits required to represent the mesh, have not been reported.
  • the present invention includes a multiresolution analysis for which the representation of a given mesh is compact at every level of detail, and in particular for the original mesh.
  • Traditional wavelets are constructed over regular structures. The construction of wavelets over arbitrary meshes is currently an interesting challenge [10].
  • Pioneering work by Michael Lounsbery, Tony D. DeRose and Joe Warren Multiresolution analysis for surfaces of arbitrary topological type", ACM Transactions on Graphics, Vol. 16 No. 1 pp.
  • this two-step technique does not provide the means to fully restore the original mesh. It should be emphasized that mesh compression techniques are required to restore the original connectivity. Indeed, most of the efforts of the mesh compression methods have been invested in a compact encoding of the unstructured connectivity of the triangulation.
  • a method for compressing and reconstructing a mesh representation of an object including a plurality of mesh vertices connected by edges
  • the method including the steps of:(a) selecting at least one mesh vertex to be removed from the mesh; (b) for each selected vertex, computing an approximation of the selected vertex and a difference between the approximation and the selected vertex; (c) removing, from the mesh representation, the at least one selected vertex and the edges whereto the at least one selected vertex is connected, thereby creating, for each selected vertex, a hole in the mesh representation, the hole including a plurality of hole vertices; and (d) triangulating each at least one hole, thereby replacing each at least one hole with a corresponding patch, and thereby producing a compressed mesh.
  • a method of compressing a mesh representation, of an object, that is to be transmitted from a server to a client, the mesh representation including a plurality of mesh vertices connected by edges the method including the steps of: (a) selecting at least one mesh vertex to be removed from the mesh; (b) for each selected vertex, computing an approximation of the selected vertex and a difference between the approximation and the selected vertex; (c) removing, from the mesh representation, the at least one selected vertex and the edges whereto the at least one selected vertex is connected, thereby creating, for each selected vertex, a hole in the mesh representation, the hole including a plurality of hole vertices; and (d) triangulating each at least one hole, thereby replacing each at least one hole with a corresponding patch, and thereby producing a compressed mesh.
  • the present invention is a lossless compression method based on a multiresolution decomposition where the detail coefficients have a compact representation and thus smaller entropy than the original mesh.
  • the present invention uses a hierarchical simplification scheme, which generates a multiresolution model of the given triangular mesh. By reversing the process a hierarchical progressive refinement process is defined, where a simple prediction plus a correction is used for reconstructing vertices to form a finer level.
  • the connectivity of triangulation is encoded efficiently and recovered incrementally during the progressive reconstruction of the original mesh.
  • the original mesh Mn can be decomposed into M n _j and W n by applying a decimation algorithm over its vertices, where W n consists of the set of removed vertices, and M n _, is the simplified mesh. Then by interpolating over the triangles of M n _, we create a set of points P(c), which serves as a prediction for the set W n .
  • the displacement vectors between the removed vertices and the interpolated points are the shorter coefficients watty
  • the key idea is to construct a multiresolution of an arbitrary mesh with irregular connectivity. Unlike traditional wavelets, here the domain is unstructured, and therefore the refinement is not applied uniformly during the reconstruction stage.
  • An interpolation scheme predicts a point to which we add a displacement vector to recover a vertex ?. This new vertex is inserted into the triangulation while restoring its connectivity in M l+ _. Note that recovering the original connectivity is necessary to correctly decode the data encoded over the representation of M l+ _. This is made clearer below where we show how to encode and decode a given mesh.
  • FIG. 1 illustrates the 4-color encoding scheme of the present invention
  • FIGs. 2 and 3 illustrate the 2-color encoding technique of the present invention
  • FIG. 4 illustrates the prediction of the vertex corresponding to a patch
  • FIG. 5 illustrates the first four steps of progressive compression of a 3D mesh
  • FIG. 6 illustrates four more initial 3D meshes
  • FIG. 7 illustrates a system to which the present invention may be applied.
  • the present invention is of a progressive compression and reconstruction method which can be used to compress and reconstruct 3D triangular meshes with no loss of information.
  • the principles and operation of mesh compression and reconstruction according to the present invention may be better understood with reference to the drawings and the accompanying description.
  • patches are interpolated to predict a set of points, which serves as a base for the displacement vector to the removed vertices.
  • the predicted points are quantized so the displacement vectors can be represented by a small number of bits, with smaller entropy than the original vertices.
  • one displacement vector is stored.
  • the key idea is to encode the triangles of a patch by means of coloring them, such that the decoder can detect the patches during the reconstruction stage based on the triangle colors.
  • adjacent patches cannot be assigned the same color, where two patches are said to be adjacent if they share an edge.
  • the triangles of M_ are recursively traversed and each patch is assigned a color that is different from the colors assigned to its adjacent patches. Because the patches do not tessellate the entire mesh, we use a null color for the triangles that are not included in any patch. The rest of the triangles are colored in only three colors.
  • Figure 1A shows a mesh 10 of vertices 12 connected by edges 14.
  • Three colors are not always enough, but in practice such cases are rare, and can be avoided by giving up the removal of some vertices.
  • the coloring technique illustrated in Figure 1 requires 2 bits per triangle.
  • the cost of encoding a vertex is the cost of coloring the triangles of the patch created by its removal. Assuming the degree of a vertex is 6, then its removal requires coloring four triangles, that is, 8 bits per vertex removal. Note that there is some overhead because some triangles are not included in any patch. To reduce this overhead, when selecting the vertices to be removed we strive to create a maximal independent set.
  • the above coloring technique can be improved by triangulating the patches by a dependent triangulation that can be encoded with only one bit per triangle.
  • a hexagonal patch 20 (the most popular patches in common triangulation) is triangulated by the three edges 22 of the shape of the letter Z.
  • the two middle triangles 24 of patch 20 are encoded with a '1' bit (shaded) and the two external triangles 26 with a '0' bit (unshaded).
  • Pentagons are triangulated with three triangles where the middle one is encoded with a T and the others two with a '0'.
  • the middle triangle T m must be selected such that the two other triangles share a vertex with the smallest angle in T m
  • the sequences of "alternating' triangles 32 are colored with 'l's and the two externals 34 with 'O's. While encoding adjacent patches we need to avoid edge- adjacent '1 '-encoded triangles. Recovery of the patches is guaranteed since the sequence of adjacent 'l's has a known shape, from which the two external 'O'-encoded triangles are uniquely recovered and, as a consequence, the boundary of the patch is also uniquely recovered. Note that with this technique, a quadrilateral cannot be encoded.
  • Figure 3 illustrates a 2-coloring (light gray and dark gray) of mesh 10.
  • a sequential order of the triangles of is defined by a breadth- first traversal of the triangles.
  • One bit is associated with each triangle and stored in a binary vector, which represents the colors of the triangles.
  • the length of the vector is [M_ ] the number of triangles of the mesh, M_.
  • the vector is then compressed by some lossless compression technique.
  • the preferred lossless compression technique is an LZ encoder.
  • the patches can be colored by using either four colors or two.
  • the 4-color technique requires 2 bits per triangle and the 2-color technique only 1 bit per triangle. Denoting by m the number of bits used to color the triangles, the cost of encoding a d- vertex is m(d-2) bits, because the patch created by removing a d- degree vertex consists of only d-2 triangles.
  • the removal of a 6-degree vertex requires 4 bits, and a 5-degree vertex only 3 bits.
  • the average of the degrees is always close to six.
  • the distribution of the vertex's degrees can vary. If the mesh of a given level of detail consists mainly of vertices of degree 5 and higher, the 2-color technique is very effective. However, if the mesh consists mainly of vertices of degree 4 and 3, the 4-color technique is more effective since the 2-color technique cannot be applied to low degree vertices.
  • the patches created by the removal of low degree vertices consists of one or two triangles only, the cost of 2 bits per triangle means that the cost of encoding the insertion is only 2-4 bits.
  • the encoding of the connectivity requires no more than 4 bits per vertex. Because the independence set is not optimal, there are many triangles that are not included in any of the patches. Thus, in practice the cost is higher than 4 bits per vertex. In any case the stream of bits that colors the mesh is further compressed by an LZ encoder.
  • the coloring technique is selected according to the distribution of degrees in the given level of detail.
  • Figure 5 shows the coloring of the first four intermediate levels of the progressive compression of a mesh that defines a typical 3D object. The first two levels use a 4-coloring, because most of the vertices are of degree three or four. The second two levels use a 2-coloring.
  • the 2-coloring encoding technique of the present invention requires only one bit per triangle. However, in terms of the number of bits per vertex the cost is at least 4 bits per vertex, or 2 bits per triangle. Note that the number of triangles in the entire hierarchy is about three times the number of triangles in the original mesh. This cost is about that reported by Gabriel Taubin et al., "Progressive forest split compression", SIGGRAPH 98 Conference Proceedings, pp. 123-132, ASM SIGGRAPH, July 1998, almost twice more than reported by C. Touma and C. Gotsman, "Triangle mesh compression", Graphics Interface '98, pp. 26-34, June 1998, and eight times better than the cost of a vertex split of the progressive mesh of Hugues Hoppe, "Progressive meshes", SIGGRAPH 96 Conference Proceedings, pp. 99-108, August 1996.
  • the stream of the displacement preferably is encoded using Huffman encoding.
  • Huffman encoding We have tested the results with 12-bit precision per coordinate. The following tables compare our results with those of Touma and Gotsman's technique, which are the best published so far, for the 3D meshes illustrated in Figures 5 and 6.
  • Table 1 connectivity compression results
  • FIG. 7 illustrates a system in which the present invention is particularly useful.
  • a server 50 stores representations of 3D objects as triangular meshes and transmits these representations to a client 52 over a communications line 54 that suffers from low bandwidth and/or high transmission latency.
  • the 3D objects whose representations are stored in server 50, may be sculptures in a virtual museum.
  • the user of client 52 wishes to perform an interactive walkthrough of the museum. This is done by changing the viewpoint of client 52.
  • server 50 compresses the triangular mesh representation of the new sculpture, following the principles of the present invention.
  • Server 50 transmits the compressed representation to client 52, and client 52 reconstructs the full triangular mesh representation from the compressed representation, also following the principles of the present invention.
  • Server 50 transmits the compressed representation of the sculpture in the order ⁇ M 0 ,w_,w 2 ,... ⁇ , i.e., in order of increasing resolution.
  • Client 52 first receives the lowest resolution of the sculpture, set 0 , and displays a low resolution representation of the sculpture based on 0 .
  • client 52 adds these difference sets to its representation of the sculpture and displays the sculpture at successively higher resolutions.
  • the lowest resolution is adequate for a realistic rendition of the sculpture when the sculpture first comes into view.
  • sufficient difference sets w_ have arrived at client 52 to enable client 52 to render the sculpture at the necessary level of resolution.

Abstract

A method of compressing and reconstructing a mesh (10) representation of an object. Selected vertices (12, 16) and the associated edges (14) are removed from the mesh (10) and the resulting holes are patched with triangles. For each patch, an approximation of the removed vertex is computed and the difference between the removed vertex and its approximation is saved. In addition, the patch triangles are color-coded. This compression algorithm is iterated as needed. To reconstruct the original mesh (10) representation, for each patch, the approximation of the removed vertex is computed, the difference between the approximation and the removed vertex is computed to reconstruct the vertex (12 or 16), and the reconstructed vertex is connected to the vertices of the patch to reconstruct the removed edges (14).

Description

PROGRESSIVE COMPRESSION OF TRIANGULAR MESHES
FIELD AND BACKGROUND OF THE INVENTION
The present invention relates to compact representation of 3D geometric models and, more particularly, to a progressive mesh compression and reconstruction method.
The most common representation of 3D geometric models is triangular meshes. Although they have had prominent representation in computer graphics for a long time, only recently has more attention been devoted to their compression. With the increasing popularity of Web-based applications, compression and streaming techniques are today more important than ever. The rich knowledge available for data compression, and in particular for images, cannot be directly applied to triangular meshes, mainly because arbitrary triangular meshes have no regular structure, as is the case in image data for example.
Mesh compression algorithms are required to compress both the geometry data and the connectivity data. The geometry is represented by the set of coordinates of the mesh's vertices. To enable effective compression of the geometry, the coordinate values are first quantized to a fixed number of bits. The connectivity data is the vertex/triangle adjacency list, sometimes also referred to as the topology. In a naive representation, the connectivity data is about twice as large as the geometry data. Mesh compression algorithms are normally required to use a lossless compression of the connectivity data. Current mesh compression methods are based on the triangle-strips technique, in which the triangular mesh is traversed along sequences of triangles, which look like peeled strips. The vertices along the strips are encoded as displacement vectors from a point extrapolated from previous vertices along the strips. C. Touma and C. Gotsman, in "Triangle mesh compression", Graphics Interface '98, pp. 26-34, June 1998, and independently Jarek Rossignac, in "Edgebreaker: Compressing the incidence graph of triangle meshes", Technical Report GIT-GNU-98-17, Georgia Institute of Technology Washington, July 1998, developed methods that compress the connectivity data to less than 2 bits per vertex on average. However, a successful compression of the connectivity alone is not enough because then the compression of geometric data dominates the results. Indeed, M. Denny and C. Sohler, in "Encoding a triangulation as a permutation of its point set", Canadian Conference on Computational Geometry, pp. 39-43 (1997), have shown that the connectivity of a given graph can be encoded in zero bits by a permutation of a sufficiently large set of vertices. This is an interesting theoretical result; encoding an arbitrary permutation of coordinates is, however, too expensive for a space-efficient encoding of a mesh. Current mesh compression methods are basically "flat", or can be applied to refine one discrete level of detail to the next. They do not have the desired property of a progressive mesh, in which every prefix of the encoded data is a progressive approximation of the original 3D shape. The progressiveness property is important to compensate for low network bandwidth and transmission latency. The compression method of the present invention is based on a multiresolution decomposition, which inherently has a progressive property. However, unlike the progressive meshes, here the size of the data that is required to faithfully recover the original mesh is comparable to any known technique of mesh compression. Recently, Renato Pajarola and Jarek Rossignac ("Compressed progressive meshes", Technical Report GIT-GNU-99-05, Georgia Institute of Technology Washington, 1999) have developed a new progressive meshes technique, where a batch of vertex-split operations are encoded efficiently to yield a compressed progressive mesh representation. Multiresolution analysis and wavelets have matured as a versatile tools for representing functions and analyzing features at multiple levels of detail. In recent years they have gained attention in the computer graphics community, among various applications, also as a mechanism to analyze 3D meshes. The basic idea is to recursively filter, or decompose a given shape into a lower resolution segment and a higher resolution detailed segment (known as detail coefficients). The motivation is that the low-resolution coarser versions of the shape are a good approximation of the original shape, while the detail coefficients locally perturb the shape to contribute the small details. If the decomposition is successful, many of the detail coefficients are small and their contribution to the final shape is minor. Many image compression methods are based on a thresholding scheme that eliminates the insignificant detail coefficients.
Multiresolution analysis methods for the compression of 3D meshes have been applied only in terms of the number of triangles representing the mesh at various levels of detail. However, lossless compression methods of 3D meshes, which compress in terms of the total number of bits required to represent the mesh, have not been reported. The present invention includes a multiresolution analysis for which the representation of a given mesh is compact at every level of detail, and in particular for the original mesh. Traditional wavelets are constructed over regular structures. The construction of wavelets over arbitrary meshes is currently an interesting challenge [10]. Pioneering work by Michael Lounsbery, Tony D. DeRose and Joe Warren ("Multiresolution analysis for surfaces of arbitrary topological type", ACM Transactions on Graphics, Vol. 16 No. 1 pp. 34-73, January 1997) introduced subdivision wavelets defined over arbitrary surfaces, but require the mesh to have a subdivision connectivity. To overcome this prerequisite, M. Eck et al., "Multiresolution analysis of arbitrary meshes", SIGGRAPH 95 Conference Proceedings, pp. 173-182, ACM SIGGRAPH, 1995, and recently also A. F. W. Lee et al., "Maps: multiresolution adaptive parametrization of surfaces", Computer Graphics Proceedings (SIGGRAPH 98), pp. 95-104 (1998), have developed remeshing techniques by which an arbitrary mesh can be retriangulated into a subdivision connectivity, where the refined mesh is guaranteed to converge to the original shape within a specified tolerance. Yet, this two-step technique does not provide the means to fully restore the original mesh. It should be emphasized that mesh compression techniques are required to restore the original connectivity. Indeed, most of the efforts of the mesh compression methods have been invested in a compact encoding of the unstructured connectivity of the triangulation.
SUMMARY OF THE INVENTION
According to the present invention there is provided a method for compressing and reconstructing a mesh representation of an object, the mesh representation including a plurality of mesh vertices connected by edges, the method including the steps of:(a) selecting at least one mesh vertex to be removed from the mesh; (b) for each selected vertex, computing an approximation of the selected vertex and a difference between the approximation and the selected vertex; (c) removing, from the mesh representation, the at least one selected vertex and the edges whereto the at least one selected vertex is connected, thereby creating, for each selected vertex, a hole in the mesh representation, the hole including a plurality of hole vertices; and (d) triangulating each at least one hole, thereby replacing each at least one hole with a corresponding patch, and thereby producing a compressed mesh.
According to the present invention there is provided a method of compressing a mesh representation, of an object, that is to be transmitted from a server to a client, the mesh representation including a plurality of mesh vertices connected by edges, the method including the steps of: (a) selecting at least one mesh vertex to be removed from the mesh; (b) for each selected vertex, computing an approximation of the selected vertex and a difference between the approximation and the selected vertex; (c) removing, from the mesh representation, the at least one selected vertex and the edges whereto the at least one selected vertex is connected, thereby creating, for each selected vertex, a hole in the mesh representation, the hole including a plurality of hole vertices; and (d) triangulating each at least one hole, thereby replacing each at least one hole with a corresponding patch, and thereby producing a compressed mesh.
The present invention is a lossless compression method based on a multiresolution decomposition where the detail coefficients have a compact representation and thus smaller entropy than the original mesh. Similarly to L. Kobbelt et al, "Interactive multi-resolution modeling on arbitrary meshes", SIGGRAPH 98 Conference Proceedings, pp. 105-14, ACM SIGGRAPH, July 1998, the present invention uses a hierarchical simplification scheme, which generates a multiresolution model of the given triangular mesh. By reversing the process a hierarchical progressive refinement process is defined, where a simple prediction plus a correction is used for reconstructing vertices to form a finer level. Furthermore, the connectivity of triangulation is encoded efficiently and recovered incrementally during the progressive reconstruction of the original mesh.
Assume that we start with an abstract set Mn of samples. The set can be partitioned into two sets Mn_, and W„, which are referred to as wavelet subsets. By assembling the two subsets, the original set Mn can be recovered. Using the correlation that exists in the set, one can try to predict the set Wn, using an abstract predictor P, in the hope that P(Mn.,) is close to W„. Then, we can define new wavelet coefficients as the difference set wn = Wn-P(Mn.j) Now, the original set Mn is
reassembled by
Figure imgf000008_0001
By iterating this process the original set can
be represented by the set {MQ,w_...wn}. If the prediction is successful, the coefficients w„ have a small magnitude and the new representation has a smaller entropy than the representation of the original set M„ Such a prediction technique is used as one of the building blocks in W. Sweldens, "The lifting scheme: a new philosophy in biorthogonal wavelet constructions", Wavelet Applications in Signal and Image Processing III, pp. 68-79, Proc. SPIE 2569, 1995, as well as in multigrid methods.
Assuming the original mesh has a subdivision connectivity, different subdivision schemes can be used as good prediction operators. The original mesh Mn can be decomposed into Mn_j and Wn by applying a decimation algorithm over its vertices, where Wn consists of the set of removed vertices, and Mn_, is the simplified mesh. Then by interpolating over the triangles of Mn_, we create a set of points P(c), which serves as a prediction for the set Wn. The displacement vectors between the removed vertices and the interpolated points are the shorter coefficients w„
The key idea is to construct a multiresolution of an arbitrary mesh with irregular connectivity. Unlike traditional wavelets, here the domain is unstructured, and therefore the refinement is not applied uniformly during the reconstruction stage. An interpolation scheme predicts a point to which we add a displacement vector to recover a vertex ?. This new vertex is inserted into the triangulation while restoring its connectivity in Ml+_. Note that recovering the original connectivity is necessary to correctly decode the data encoded over the representation of Ml+_. This is made clearer below where we show how to encode and decode a given mesh.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention is herein described, by way of example only, with reference to the accompanying drawings, wherein: FIG. 1 illustrates the 4-color encoding scheme of the present invention;
FIGs. 2 and 3 illustrate the 2-color encoding technique of the present invention;
FIG. 4 illustrates the prediction of the vertex corresponding to a patch;
FIG. 5 illustrates the first four steps of progressive compression of a 3D mesh; FIG. 6 illustrates four more initial 3D meshes;
FIG. 7 illustrates a system to which the present invention may be applied. DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention is of a progressive compression and reconstruction method which can be used to compress and reconstruct 3D triangular meshes with no loss of information. The principles and operation of mesh compression and reconstruction according to the present invention may be better understood with reference to the drawings and the accompanying description.
The series of vertex insertion operations, which reconstruct a given mesh, is found by reversing a mesh decimation procedure. Given a mesh M_ we apply a simplification algorithm that iteratively removes sets of vertices ul to yield a simplified version M___. However, at each iteration the selected set u, must be an independent set, that is, there is no edge connecting any two vertices in u_ Removing a vertex from a triangulation requires removing all the edges connected to the vertex and retriangulating the hole with a new set of triangles. Let us define the triangles that cover a given hole as a patch. Once all the holes are triangulated, patches are interpolated to predict a set of points, which serves as a base for the displacement vector to the removed vertices. The predicted points are quantized so the displacement vectors can be represented by a small number of bits, with smaller entropy than the original vertices. For each patch, one displacement vector is stored. The key idea is to encode the triangles of a patch by means of coloring them, such that the decoder can detect the patches during the reconstruction stage based on the triangle colors. Thus, adjacent patches cannot be assigned the same color, where two patches are said to be adjacent if they share an edge. The triangles of M_ are recursively traversed and each patch is assigned a color that is different from the colors assigned to its adjacent patches. Because the patches do not tessellate the entire mesh, we use a null color for the triangles that are not included in any patch. The rest of the triangles are colored in only three colors.
Referring now to the drawings, Figure 1A shows a mesh 10 of vertices 12 connected by edges 14. To compress mesh 10, selected vertices 16 and the edges 14 that are attached thereto are removed, and the resulting holes are filled by triangulated patches 18, as shown in Figure IB. Three colors are not always enough, but in practice such cases are rare, and can be avoided by giving up the removal of some vertices. The coloring technique illustrated in Figure 1 requires 2 bits per triangle.
Thus, the cost of encoding a vertex is the cost of coloring the triangles of the patch created by its removal. Assuming the degree of a vertex is 6, then its removal requires coloring four triangles, that is, 8 bits per vertex removal. Note that there is some overhead because some triangles are not included in any patch. To reduce this overhead, when selecting the vertices to be removed we strive to create a maximal independent set.
The above coloring technique can be improved by triangulating the patches by a dependent triangulation that can be encoded with only one bit per triangle. As shown in Figures 2A and 2B, a hexagonal patch 20 (the most popular patches in common triangulation) is triangulated by the three edges 22 of the shape of the letter Z. Then the two middle triangles 24 of patch 20 are encoded with a '1' bit (shaded) and the two external triangles 26 with a '0' bit (unshaded). Pentagons are triangulated with three triangles where the middle one is encoded with a T and the others two with a '0'. Here the middle triangle Tm must be selected such that the two other triangles share a vertex with the smallest angle in Tm As shown in Figure 2C, for an n-gon 30 the concept is the same; the sequences of "alternating' triangles 32 are colored with 'l's and the two externals 34 with 'O's. While encoding adjacent patches we need to avoid edge- adjacent '1 '-encoded triangles. Recovery of the patches is guaranteed since the sequence of adjacent 'l's has a known shape, from which the two external 'O'-encoded triangles are uniquely recovered and, as a consequence, the boundary of the patch is also uniquely recovered. Note that with this technique, a quadrilateral cannot be encoded. However, this encoding requires only one bit per triangle. Figure 3 illustrates a 2-coloring (light gray and dark gray) of mesh 10. A sequential order of the triangles of , is defined by a breadth- first traversal of the triangles. One bit is associated with each triangle and stored in a binary vector, which represents the colors of the triangles. The length of the vector is [M_ ] the number of triangles of the mesh, M_. The vector is then compressed by some lossless compression technique. The preferred lossless compression technique is an LZ encoder.
During reconstruction, for each recovered patch we remove its triangles and predict the location of the vertex that was removed when the patch was created. By adding the associated displacement vector to the predicted point, the original location of the vertex is recovered. Then we simply connect the vertices of the patch to the inserted vertex.
Given a patch the prediction operator predicts the location of a new vertex based on the known vertices of the patch {v_} and their immediate neighbors. Lacking any prior knowledge, the best guess is to assume the surface to be smooth and use a prediction based upon a local polynomial interpolant with respect to a local reference plane. The basic idea is illustrated in Figure 4; let vc = —Y\" v, and let R be the n '-1 predicted point "above" vc. If the encoded vertex v is indeed closer to c than to vc, then encoding v-R is better than v-vc . However, this is not necessarily the case. Assume the patch has a diameter h and the surface is locally smooth, \\P-vc\\=0(h ), while ||v-R|| as well as ||v-vc|| is 0(h). Therefore, the prediction of the polynomial interpolant does not pay off whenever h is either small or large. Because the decompression time is an important factor, we make a simple and effective prediction by means of vc.
As discussed above, the patches can be colored by using either four colors or two. The 4-color technique requires 2 bits per triangle and the 2-color technique only 1 bit per triangle. Denoting by m the number of bits used to color the triangles, the cost of encoding a d- vertex is m(d-2) bits, because the patch created by removing a d- degree vertex consists of only d-2 triangles. Using the 2-color technique, the removal of a 6-degree vertex requires 4 bits, and a 5-degree vertex only 3 bits.
From the Euler formula we know that the average of the degrees is always close to six. However, the distribution of the vertex's degrees can vary. If the mesh of a given level of detail consists mainly of vertices of degree 5 and higher, the 2-color technique is very effective. However, if the mesh consists mainly of vertices of degree 4 and 3, the 4-color technique is more effective since the 2-color technique cannot be applied to low degree vertices. On the other hand, because the patches created by the removal of low degree vertices consists of one or two triangles only, the cost of 2 bits per triangle means that the cost of encoding the insertion is only 2-4 bits. Thus, roughly speaking, if the mesh consists of either 5-6 degree vertices or 3-4 degree vertices, the encoding of the connectivity requires no more than 4 bits per vertex. Because the independence set is not optimal, there are many triangles that are not included in any of the patches. Thus, in practice the cost is higher than 4 bits per vertex. In any case the stream of bits that colors the mesh is further compressed by an LZ encoder. In the preferred implementation the coloring technique is selected according to the distribution of degrees in the given level of detail. Figure 5 shows the coloring of the first four intermediate levels of the progressive compression of a mesh that defines a typical 3D object. The first two levels use a 4-coloring, because most of the vertices are of degree three or four. The second two levels use a 2-coloring.
The 2-coloring encoding technique of the present invention requires only one bit per triangle. However, in terms of the number of bits per vertex the cost is at least 4 bits per vertex, or 2 bits per triangle. Note that the number of triangles in the entire hierarchy is about three times the number of triangles in the original mesh. This cost is about that reported by Gabriel Taubin et al., "Progressive forest split compression", SIGGRAPH 98 Conference Proceedings, pp. 123-132, ASM SIGGRAPH, July 1998, almost twice more than reported by C. Touma and C. Gotsman, "Triangle mesh compression", Graphics Interface '98, pp. 26-34, June 1998, and eight times better than the cost of a vertex split of the progressive mesh of Hugues Hoppe, "Progressive meshes", SIGGRAPH 96 Conference Proceedings, pp. 99-108, August 1996.
Regarding the compression of geometry, the stream of the displacement preferably is encoded using Huffman encoding. We have tested the results with 12-bit precision per coordinate. The following tables compare our results with those of Touma and Gotsman's technique, which are the best published so far, for the 3D meshes illustrated in Figures 5 and 6. Table 1 : connectivity compression results
Figure imgf000015_0001
Table 2: Compression results
Figure imgf000015_0002
On average our results are only about 8% higher than those achieved by Touma and Gotsman. It should be emphasized that the exact compression values are dependent on the specific implementation of the Huffman encoder. However, we believe that the exact compression ratios are not crucial as the superiority of our technique is in its progressiveness. We should emphasize that with respect to the original VRML models, Touma and Gotsman's and our technique achieve an average of 3.1% and 3.4% compression ratios, respectively.
Figure 7 illustrates a system in which the present invention is particularly useful. A server 50 stores representations of 3D objects as triangular meshes and transmits these representations to a client 52 over a communications line 54 that suffers from low bandwidth and/or high transmission latency. For example, the 3D objects, whose representations are stored in server 50, may be sculptures in a virtual museum. The user of client 52 wishes to perform an interactive walkthrough of the museum. This is done by changing the viewpoint of client 52. As a new sculpture comes into view, server 50 compresses the triangular mesh representation of the new sculpture, following the principles of the present invention. Server 50 then transmits the compressed representation to client 52, and client 52 reconstructs the full triangular mesh representation from the compressed representation, also following the principles of the present invention. The progressive nature of the present invention is particularly advantageous in this regard. Server 50 transmits the compressed representation of the sculpture in the order {M0,w_,w2,...}, i.e., in order of increasing resolution. Client 52 first receives the lowest resolution of the sculpture, set 0, and displays a low resolution representation of the sculpture based on 0. As successive difference sets w, arrive at client 52, client 52 adds these difference sets to its representation of the sculpture and displays the sculpture at successively higher resolutions. The lowest resolution is adequate for a realistic rendition of the sculpture when the sculpture first comes into view. By the time a more realistic rendition of the sculpture is needed, sufficient difference sets w_ have arrived at client 52 to enable client 52 to render the sculpture at the necessary level of resolution. While the invention has been described with respect to a limited number of embodiments, it will be appreciated that many variations, modifications and other applications of the invention may be made.

Claims

WHAT IS CLAIMED IS:
1. A method for compressing and reconstructing a mesh representation of an object, the mesh representation including a plurality of mesh vertices connected by edges, the method comprising the steps of:
(a) selecting at least one mesh vertex to be removed from the mesh;
(b) for each said selected vertex, computing an approximation of said each selected vertex and a difference between said approximation and said each selected vertex;
(c) removing, from the mesh representation, said at least one selected vertex and the edges whereto said at least one selected vertex is connected, thereby creating, for each said selected vertex, a hole in the mesh representation, said hole including a plurality of hole vertices; and
(d) triangulating each said at least one hole, thereby replacing each said at least one hole with a corresponding patch, and thereby producing a compressed mesh.
2. The method of claim 1, wherein a plurality of mesh vertices are selected for removal, and wherein said selected vertices are mutually independent.
3. The method of claim 1, wherein each said patch includes a plurality of patch triangles, the method further comprising the step of:
(e) labeling each said patch triangle with a respective color.
4. The method of claim 3, wherein each said respective color is represented by at most two bits.
5. The method of claim 4, wherein each said respective color is represented by a single bit.
6. The method of claim 1, wherein said selecting, said computing, said removing and said triangulating are iterated at least twice.
7. The method of claim 1, further comprising the step of:
(e) reconstructing the mesh representation from said compressed mesh by: (i) for each said patch:
(A) computing said approximation of said corresponding selected vertex; and
(B) adding said difference to said approximation to recover said corresponding selected vertex.
8. The method of claim 7, further comprising the step of:
(ii) for each said patch, connecting said corresponding selected vertex to corresponding said hole vertices, thereby recovering said edges whereto said corresponding selected vertex is connected.
9. The method of claim 1, wherein, for each said selected vertex, said approximation is an average of corresponding said hole vertices.
10. A method of compressing a mesh representation, of an object, that is to be transmitted from a server to a client, the mesh representation including a plurality of mesh vertices connected by edges, the method comprising the steps of:
(a) selecting at least one mesh vertex to be removed from the mesh;
(b) for each said selected vertex, computing an approximation of said each selected vertex and a difference between said approximation and said each selected vertex;
(c) removing, from the mesh representation, said at least one selected vertex and the edges whereto said at least one selected vertex is connected, thereby creating, for each said selected vertex, a hole in the mesh representation, said hole including a plurality of hole vertices; and
(d) triangulating each said at least one hole, thereby replacing each said at least one hole with a corresponding patch, and thereby producing a compressed mesh.
PCT/IL2000/000053 1999-01-27 2000-01-27 Progressive compression of triangular meshes WO2000045237A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000596429A JP2002535791A (en) 1999-01-27 2000-01-27 Progressive compression of triangular mesh
AU23165/00A AU2316500A (en) 1999-01-27 2000-01-27 Progressive compression of triangular meshes
EP00901872A EP1194860A2 (en) 1999-01-27 2000-01-27 Progressive compression of triangular meshes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11742699P 1999-01-27 1999-01-27
US60/117,426 1999-01-27

Publications (2)

Publication Number Publication Date
WO2000045237A2 true WO2000045237A2 (en) 2000-08-03
WO2000045237A3 WO2000045237A3 (en) 2000-11-02

Family

ID=22372869

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2000/000053 WO2000045237A2 (en) 1999-01-27 2000-01-27 Progressive compression of triangular meshes

Country Status (4)

Country Link
EP (1) EP1194860A2 (en)
JP (1) JP2002535791A (en)
AU (1) AU2316500A (en)
WO (1) WO2000045237A2 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002039380A2 (en) * 2000-11-13 2002-05-16 Siemens Aktiengesellschaft Method and system for reconstructing a surface
US6901310B2 (en) 2000-11-06 2005-05-31 Siemens Aktiengesellschaft Method and system for approximately reproducing the surface of a workpiece
US7157422B2 (en) 2000-01-03 2007-01-02 Tel Aviv University Future Technology Development L.P. Glycogen synthase kinase-3 inhibitors
US7378432B2 (en) 2001-09-14 2008-05-27 Tel Aviv University Future Technology Development L.P. Glycogen synthase kinase-3 inhibitors
US7446092B2 (en) 2002-12-12 2008-11-04 Tel Aviv University Future Technology Development L.P. Glycogen synthase kinase-3 inhibitors
EP2533202A3 (en) * 2011-06-09 2015-04-15 Visual Technology Services Ltd. Color mesh compression
US9589318B2 (en) 2014-08-25 2017-03-07 Ge Aviation Systems Llc Method and system for generating airport surface map graphics in aircraft cockpit displays
US9787321B1 (en) 2016-11-17 2017-10-10 Google Inc. Point cloud data compression using a space-filling curve
US10313673B2 (en) 2016-10-19 2019-06-04 Google Llc Methods and apparatus to encode and/or decode normals of geometric representations of surfaces
US10430975B2 (en) 2016-11-17 2019-10-01 Google Llc Advanced k-D tree encoding for point clouds by most significant axis selection
US10496336B2 (en) 2016-11-17 2019-12-03 Google Llc K-D tree encoding for point clouds using deviations
US10553035B2 (en) 2017-06-02 2020-02-04 Google Llc Valence based implicit traversal for improved compression of triangular meshes
US10733766B2 (en) 2016-10-19 2020-08-04 Google, Llc Methods and apparatus to encode and/or decode normals of geometric representations of surfaces
US10891758B2 (en) 2018-07-23 2021-01-12 Google Llc Geometry encoder
CN112419178A (en) * 2020-11-18 2021-02-26 芯勍(上海)智能化科技股份有限公司 Broken hole repairing method, terminal device and computer readable storage medium
US10950042B2 (en) 2017-06-02 2021-03-16 Google Llc Guided traversal in compression of triangular meshes

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3967626B2 (en) * 2002-04-30 2007-08-29 独立行政法人科学技術振興機構 Image data compression processing method and image processing apparatus

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905502A (en) * 1995-08-04 1999-05-18 Sun Microsystems, Inc. Compression of three-dimensional graphics data using a generalized triangle mesh format utilizing a mesh buffer
US5905507A (en) * 1996-01-16 1999-05-18 International Business Machines Corporation Compression of geometric models using spanning trees

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905502A (en) * 1995-08-04 1999-05-18 Sun Microsystems, Inc. Compression of three-dimensional graphics data using a generalized triangle mesh format utilizing a mesh buffer
US5905507A (en) * 1996-01-16 1999-05-18 International Business Machines Corporation Compression of geometric models using spanning trees

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7157422B2 (en) 2000-01-03 2007-01-02 Tel Aviv University Future Technology Development L.P. Glycogen synthase kinase-3 inhibitors
US7348308B2 (en) 2000-01-03 2008-03-25 Tel Aviv University Future Technology Development L.P. Glycogen synthase kinase-3 inhibitors
US6901310B2 (en) 2000-11-06 2005-05-31 Siemens Aktiengesellschaft Method and system for approximately reproducing the surface of a workpiece
WO2002039380A2 (en) * 2000-11-13 2002-05-16 Siemens Aktiengesellschaft Method and system for reconstructing a surface
WO2002039380A3 (en) * 2000-11-13 2003-06-12 Siemens Ag Method and system for reconstructing a surface
US7062353B2 (en) 2000-11-13 2006-06-13 Siemens Aktiengesellschaft Method and system for reconstructing a surface
CN1318929C (en) * 2000-11-13 2007-05-30 西门子公司 Method and system for reconstructing surface
US8088941B2 (en) 2001-09-14 2012-01-03 Tel Aviv University Future Technology Development L.P. Glycogen synthase kinase-3 inhibitors
US7378432B2 (en) 2001-09-14 2008-05-27 Tel Aviv University Future Technology Development L.P. Glycogen synthase kinase-3 inhibitors
US7446092B2 (en) 2002-12-12 2008-11-04 Tel Aviv University Future Technology Development L.P. Glycogen synthase kinase-3 inhibitors
US7833974B2 (en) 2002-12-12 2010-11-16 Tel Aviv University Future Technology Development L.P. Glycogen synthase kinase-3 inhibitors
EP2533202A3 (en) * 2011-06-09 2015-04-15 Visual Technology Services Ltd. Color mesh compression
US9589318B2 (en) 2014-08-25 2017-03-07 Ge Aviation Systems Llc Method and system for generating airport surface map graphics in aircraft cockpit displays
US10313673B2 (en) 2016-10-19 2019-06-04 Google Llc Methods and apparatus to encode and/or decode normals of geometric representations of surfaces
US10733766B2 (en) 2016-10-19 2020-08-04 Google, Llc Methods and apparatus to encode and/or decode normals of geometric representations of surfaces
US9787321B1 (en) 2016-11-17 2017-10-10 Google Inc. Point cloud data compression using a space-filling curve
US10430975B2 (en) 2016-11-17 2019-10-01 Google Llc Advanced k-D tree encoding for point clouds by most significant axis selection
US10496336B2 (en) 2016-11-17 2019-12-03 Google Llc K-D tree encoding for point clouds using deviations
US10553035B2 (en) 2017-06-02 2020-02-04 Google Llc Valence based implicit traversal for improved compression of triangular meshes
US10950042B2 (en) 2017-06-02 2021-03-16 Google Llc Guided traversal in compression of triangular meshes
US10891758B2 (en) 2018-07-23 2021-01-12 Google Llc Geometry encoder
CN112419178A (en) * 2020-11-18 2021-02-26 芯勍(上海)智能化科技股份有限公司 Broken hole repairing method, terminal device and computer readable storage medium

Also Published As

Publication number Publication date
AU2316500A (en) 2000-08-18
WO2000045237A3 (en) 2000-11-02
JP2002535791A (en) 2002-10-22
EP1194860A2 (en) 2002-04-10

Similar Documents

Publication Publication Date Title
Cohen-Or et al. Progressive compression of arbitrary triangular meshes
EP1194860A2 (en) Progressive compression of triangular meshes
Valette et al. Wavelet-based progressive compression scheme for triangle meshes: Wavemesh
US6262737B1 (en) 3D mesh compression and coding
Taubin et al. Progressive forest split compression
US6438266B1 (en) Encoding images of 3-D objects with improved rendering time and transmission processes
Peng et al. Technologies for 3D mesh compression: A survey
US20130114910A1 (en) Method for compressing/decompressing a three-dimensional mesh
JP5414121B2 (en) Compression and coding of 3D mesh networks
JP2006502604A (en) Image compression method for arbitrarily shaped objects
Li et al. A dual graph approach to 3D triangular mesh compression
JP3790728B2 (en) Image encoding apparatus, image decoding apparatus and methods thereof
US6791543B2 (en) Forming method for structuring polygonal mesh data and apparatus, and storage medium
CN110383696B (en) Method and apparatus for encoding and decoding super-pixel boundaries
Park et al. Error resilient 3-D mesh compression
CN115102934B (en) Decoding method, encoding device, decoding equipment and storage medium for point cloud data
Isenburg Triangle Fixer: Edge-based connectivity compression
WO1998054905A1 (en) Image mapping device and method, and image generating device and method
CN113240788A (en) Three-dimensional data transmission and reception method, apparatus, and computer-readable storage medium
Ertürk et al. Efficient Representation of 3D Human Head Models.
Lee et al. New methods for progressive compression of colored 3D Mesh
Pancholi et al. Tutorial review on existing image compression techniques
Shikhare et al. Compression Techniques for Distributed Use of 3D Data--An Emerging Media Type on the Internet
KR100387559B1 (en) Fractal image compression method
Sappa et al. Geometric and topological lossy compression of dense range images

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 09869914

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2000901872

Country of ref document: EP

ENP Entry into the national phase

Ref country code: JP

Ref document number: 2000 596429

Kind code of ref document: A

Format of ref document f/p: F

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 2000901872

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2000901872

Country of ref document: EP