WO2001052182A1 - Compression of 3d surfaces using progressive geometry - Google Patents

Compression of 3d surfaces using progressive geometry Download PDF

Info

Publication number
WO2001052182A1
WO2001052182A1 PCT/US2001/001215 US0101215W WO0152182A1 WO 2001052182 A1 WO2001052182 A1 WO 2001052182A1 US 0101215 W US0101215 W US 0101215W WO 0152182 A1 WO0152182 A1 WO 0152182A1
Authority
WO
WIPO (PCT)
Prior art keywords
mesh
regular
transform
semi
forming
Prior art date
Application number
PCT/US2001/001215
Other languages
French (fr)
Other versions
WO2001052182A9 (en
Inventor
Peter Schroeder
Original Assignee
California Institute Of Technology
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 California Institute Of Technology filed Critical California Institute Of Technology
Priority to AU2001227910A priority Critical patent/AU2001227910A1/en
Publication of WO2001052182A1 publication Critical patent/WO2001052182A1/en
Publication of WO2001052182A9 publication Critical patent/WO2001052182A9/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding

Definitions

  • An arbitrary topology surface can be three dimensionally characterized by descriptions of vertices on the surface and their connectivity. The detail of the surface depends on the number of points that are described, and the amount of information describing each point.
  • Rate-distortion curves require the computation of errors or "distortion" between the original surface and a surface that has been estimated.
  • an error may be computed using techniques that measure the distance between the geometric shapes.
  • the original and compressed meshes may have very different sample locations and connectivity. Progressive compression provides an early, coarse approximation of the geometry. This is subsequently improved through additional information.
  • a new progressive geometry compression method is disclosed which is based on smooth semi-regular meshes.
  • the Semi-regular meshes may be used with wavelet transforms and zerotree coders. Missing geometry information may be filled in with smooth subdivision patches. Hence even highly compressed surfaces can be smooth and visually pleasing.
  • Figures 1A - ID show views of progressive compressions of a Venus head
  • Figures 2A-2C shows triangulations of a sphere
  • Figure 4 shows a flowchart of an operation of compressing a 3D image
  • Figure 5 shows histograms of wavelet coefficients
  • Figure 6 shows histograms of polar angles of wavelet coefficients
  • Figure 7 shows subdivisions of surfaces.
  • Any source geometry is continuous.
  • Any digital representation such as a triangle mesh, has some error E associated with it.
  • This error E has three components - due to sampling, discretization, and quantization.
  • Sampling error Es arises from acquisition noise.
  • Discretization error Ed is due to the fact that a triangulation with edge length h can approximate a smooth geometry no better than 0(h 2 ).
  • a finite bit representation for the continuous vertex positions leads to the quantization error Eq.
  • Sampling and triangulation of the model fix Es and Ed.
  • a standard floating point representation inside the computer typically leads to a quantization error much smaller than Es+Ed.
  • Single rate coders quantize the vertex positions more coarsely, leading to a quantization error Eq «Es + Ed. They then losslessly encode the connectivity and quantized vertex positions. Existing progressive coders aim to eventually recover the quantized sample locations and original connectivity.
  • the information contained in the sample locations is, parameter information. For example, by letting the vertices slide within the surface, only the parameter information is changed and not the geometric fidelity.
  • Meshes can be built by successive triangle quadrisection starting from a coarse irregular mesh. This is done to eliminate certain parameter and connectivity information. Almost all vertices in a semi- regular mesh have valence six. Their sample locations can be estimated well. Parameter and connectivity information make up a considerable fraction of the bit budget in existing coders, but do not contribute at all to reducing geometric error. Consequently, the rate- distortion curves of this method can be better than those of existing coders. For most models, the error of the present system is about four times smaller at comparable bit rates, a 12 dB improvement.
  • the present application builds on the observation that parameter information makes up a significant fraction of the bit budget while not contributing to error reduction at all.
  • the technique of the present application starts with a defined irregular mesh describing a 2-manifold, without or with boundary. It produces successive approximations employing semi-regular meshes, that is, meshes which are as regular as possible. Since the meshes are more regular, less parameter and connectivity information can be used.
  • the coder first produces a hierarchical approximation of the surface. This expression is subsequently encoded with a coder, e.g., a zerotree progressive coder.
  • a Loop based wavelet transform can be used for high order decorrelation and subdivision based reconstruction.
  • a special zero tree hierarchy can be used for primal semi-regular triangle meshes of arbitrary topology.
  • Zero Tree Coders are wavelet based progressive coders based on zero trees. They are described, for example, in Said, A., and Pearlman, . A New, Fast, and Efficient Image Codec Based on Set Partitioning in Hierarchical Trees. IEEE Transaction on Circuits and Systems for Video Technology 6, 3 (1996), 243-250;
  • Zero tree coders effectively exploit the fact that wavelet coefficients at finer scales tend to be smaller in magnitude than coefficients at coarser scales in the same region.
  • a zero tree coder encodes the location of coefficients below threshold in subtrees.
  • the present application handles three components: connectivity, geometry, and parameter information separately.
  • the parameter information captures the sample locations within the surface.
  • the geometry information captures the geometry independent of the sample locations used.
  • parameter and geometry information have been treated together. Consider a vertex of a particular Venus head triangulation in Figure 1A-1D. Moving this vertex slightly within the surface does not change the discretization error or the geometry information — It only affects the parameter information. Alternatively, moving the vertex in a direction normal to the surface changes the error and geometry information. However, it leaves parameter information unchanged. This illustrates that while geometry and parameter information are globally intertwined, they ⁇ disconnect locally. Parameter information is described by displacements in the tangent plane to the surface.
  • Geometry information is normal to the surface. This implies that from a rate distortion point of view, bits should be allocated preferentially to the local normal direction. For smooth parameterizations, this may occur naturally, since prediction residuals in the tangent plane will be small.
  • the non-progressive curves are dashed since these points are not achievable in a progressive manner.
  • the TG coder correctly noticed that it contains almost no connectivity information (0.1 b/v) and almost no parameter information. Its performance is essentially limited by the quality of the predictor used.
  • the TG coder for the non-smooth semi-regular sphere is worse, thereby illustrating the bit penalty for parameter information.
  • the TG coder for the irregular mesh (right) illustrates the additional overhead from irregular connectivity. This example demonstrates that reducing both connectivity and parameter information in a mesh can have advantages.
  • the small curve near the y-axis shows the result of applying our coder to the smooth semi-regular mesh. It can approximate the sphere with a relative error of 5xl0- 5 using 166 bytes or approximately 0.5 b/v. This is because a sphere has very little geometric information and smooth semi-regular mesh is essentially optimal for the coder. This is where the high order decorrelation and subdivision based reconstruction really pays off. This same effect is used in smooth, regularly sampled regions of more general surfaces.
  • An arbitrary connectivity 2-manifold with boundary triangulation is taken as input at 400.
  • a smooth global parameterization is calculated using the "MAPS" technique at 405.
  • Successive adaptive approximations with semi- regular connectivity are calculated at 410.
  • These semi- regular approximations are subsequently wavelet transformed at 415 and progressively compressed using zerotrees at 420.
  • the coarsest level connectivity is encoded using a standard non-progressive mesh encoder. The decoder may produce intermediate approximations from any prefix of the bitstream.
  • Error is based on the distance d(X,Y) between two surfaces X and Y. Let d(x,Y) be the Euclidean distance from a point x on X to the closest point on Y. Then the L 2 distance d(X,Y) is given by
  • This distance is not in general symmetric but can be symmetrized by taking the max of d(X,Y) and d(Y,X). For triangulations this distance can be computed using the publicly available METRO tool described in Cumblei, P., Rocchini, C., and Scopigno, R. Metro: Measuring Error on Simplified Surfaces. Computer Graphics Forum 17, 2 (1998), 167-174. The L 2 errors reported here are relative with respect to the bounding box diagonal on a scale of
  • MAPS Multiresolution Adaptive Parameterization of Surfaces, Proceedings of SIGGRAPH 98 (1998), 95-104.
  • MAPS allows for automatic alignment of iso-parameter lines of the semi-regular mesh with sharp features of the original input surface. This can avoid large wavelet coefficients near any creases.
  • MAPS builds a bijective map between the input mesh T and a coarse base domain B. Regular triangle quadrisection is applied in the base domain B for additional detail. The mapping is used to build semi- regular approximations of T. These approximations have some remeshing error Er with respect to T. While this error can be made arbitrarily small, the remeshing error Er maybe of the same size as the discretization error Ed. This roughly occurs when the triangles from the se i- regular mesh are about the same size as the triangles of the input mesh. Using smaller triangles only serves to produce a better approximation of the input mesh, not necessarily of the original unknown geometry. An order estimate of Ed may be computed to determine when to complete the operation.
  • the distance between the input mesh T and a much finer mesh S obtained by Butterfly subdividing T may be used for this purpose.
  • the latter serves as a proxy for the unknown original geometry.
  • the semi-regular mesh error Er is below the estimated discretization error Ed, there is no need to further refine the semi-regular mesh.
  • the wavelet transform of 415 replaces the original mesh with a coarsest mesh and a sequence of wavelet coefficients expressing the difference between successive more detailed levels. Neighboring vertices of these piecewise smooth models, can be highly correlated.
  • the wavelet transform removes a large amount of this correlation.
  • the distribution of wavelet coefficients is centered around zero. Their magnitude decays at finer levels with the rate of decay related to the smoothness of the original surface.
  • a zerotree coder may be used for the bit encoding of coefficients.
  • a Loop wavelet transform has the advantage that the inverse transform uses Loop subdivision. Experimentally, we found it has rate distortion curves similar to Butterfly, but typically better visual appearance.
  • Loop subdivision fixes the low pass reconstruction filter P in a wavelet construction with a high pass reconstruction filter Q. Together they define the inverse wavelet transform
  • the forward wavelet transform which goes from finer to coarser levels, is defined as the solution [p ⁇ d 3 ] of the linear system in Equation 1 for a given p 3"1"1 .
  • the forward wavelet transform is computed as the solution of a sparse linear system.
  • a bi-conjugate gradient solver with diagonal preconditioning may be used. Solving a linear system may make the forward transform slower than the inverse transform. This is acceptable as encoding is typically done once off-line as compared with decoding which happens frequently and in real time.
  • the Loop forward transform takes 30 sec. on a 650Mhz Pentium III while the inverse transform takes 5 sec. In case symmetry is important, one can use the Butterfly transforms for which both forward and inverse transforms can be performed in 2.5 sec.
  • the decorrelating power of the wavelet transform is illustrated in Figure 5.
  • the left shows the histogram of the magnitude of the Venus model vertex positions.
  • the right shows- a histogram of the magnitude of the wavelet coefficients. This demonstrates that a large amount of correlation is removed and the first order entropy is decreased considerably.
  • the wavelet transform results in wavelet coefficients which may be vector valued. These coefficients may be represented in a local frame induced by the surface tangent plane. This causes the variance of normal wavelet components to be on average twice as large as the variance of the tangential components. Recalling the earlier geometry versus parameter distinction, this is exactly what we want. In a smooth semi-regular mesh, the geometry information (normal component) is much larger than the parameter information (tangential component) . Figure 6 illustrates this by showing the histograms of the polar angles q (the angle from the z of normal axis) of the wavelet coefficients in global and local coordinate frames.
  • the f angle is the angle along the equator. This is fairly uniformly distributed and does not change much in the local frame. Consequently any two basis vectors may be used in the tangent plane.
  • parameter i.e., tangential
  • the tangential wavelet components can still contain some geometric information.
  • the error metric is less sensitive to quantization error of tangential versus normal wavelet components.
  • the error curves can be improved by more coarsely quantizing the tangential component .
  • a basic operation in a scalar zerotree coder is the coefficient significance test, i.e., checking its magnitude against a threshold. If it is below the threshold, the coefficient is added to a zerotree, else the location and sign of the coefficient needs to be transmitted. For the vector case, this becomes more difficult.
  • Three quantization options are contemplated. (1) Spherical cells allow the magnitude to be used for the significance test. The quantized angular components become ⁇ generalized'' signs. (2) For cubical cells, the cube is divided into 64 subcubes. Coefficients in the 8 internal cubes become insignificant and the others become significant. The cell number again is an analog of angular component. (3) Each vector component can be handled independently and encoded separately. This reduces the vector case to three independent scalar passes.
  • Scalar quantization uses, three independent zerotree coders.
  • the bits from the three coders can be interleaved to maintain progressivity.
  • a general principle of wavelet coefficient encoding is to send the highest order bits of the largest magnitude coefficients first, since they make the most significant contributions towards reducing error.
  • T 0 max ⁇
  • the decoder can reconstruct the geometry associated with any prefix of the bitstream by running an inverse wavelet transform on the coefficient bits it has seen so far.
  • the present system may use a different construction of the zerotrees.
  • For images one associates the coefficients with a quadrilateral face (pixel) and the trees follow immediately from the face (pixel) quadtree. While this works also for dual, i.e., face based subdivision schemes, our triangular transform is primal, i.e, vertex based.
  • Scale coefficients are associated with vertices.
  • wavelet coefficients may be put into a one to one association with edges of the coarser mesh.
  • Each edge can then be the parent of four edges of the same orientation in the finer mesh as indicated in Figure 7.
  • each edge of the base domain forms the root of a zerotree; it groups all the wavelet coefficients of a fixed wavelet subband from its two incident base domain triangles. The grouping is consistent even for a semi- regular mesh.
  • Scale coefficients from the coarsest level are quantized uniformly. Experimentally, it is believed that it may be best to send 4 bit planes initially with the base domain connectivity. Each remaining bitplane is sent as the zerotrees descends another bit plane.
  • the zerotree technique may be effective at exploiting parent-child coefficient correlations, minimizing the amount of encoded significance bits.
  • the output of the zerotree coder can still be compressed further through techniques such as arithmetic coding, which may allow for a fractional number of bits per symbol.
  • the zerotree coder output has three different types of information, including significance bits, refinement bits and sign bits. Refinement and sign bits tend to be uniformly distributed; hence they are not entropy coded. Significance bits on the other hand can be further entropy coded. For early bitplanes, coefficients may be insignificant resulting in mostly zero bits. For later bitplanes, many coefficients become significant, resulting in mostly one bits. An arithmetic coder naturally takes advantage of this.

Abstract

A new progressive compression scheme is presented for arbitrary topology, highly detailed and densely sampled meshes arising from geometry scanning (Fig. 1A). Meshes may have three distinct components: geometry, parameter, and connectivity information (Fig. 1B). The latter two do not contribute to the reduction of error in a compression setting. Using semi-regular meshes, parameter and connectivity information can be virtually eliminated (Fig. 1D). The semi-regular meshes may be used with semi-regular wavelet transforms, zerotree coding, and subdivision based reconstruction.

Description

Compression of 3D Surfaces Using Progressive Geometry
This application claims the benefit of U.S. Provisional Application Serial No .60/175, 155, filed on January 14, 2000.
Background An arbitrary topology surface can be three dimensionally characterized by descriptions of vertices on the surface and their connectivity. The detail of the surface depends on the number of points that are described, and the amount of information describing each point.
The amount of information describing these models can be extensive. The information, however, can be compressed to reduce some of the load. Compression in general is a tradeoff between accuracy and bit rate, i.e., bits per vertex. This tradeoff is captured in rate-distortion curves. Rate-distortion curves require the computation of errors or "distortion" between the original surface and a surface that has been estimated. For geometry, an error may be computed using techniques that measure the distance between the geometric shapes. The original and compressed meshes may have very different sample locations and connectivity. Progressive compression provides an early, coarse approximation of the geometry. This is subsequently improved through additional information.
SUMMARY
A new progressive geometry compression method is disclosed which is based on smooth semi-regular meshes. The Semi-regular meshes may be used with wavelet transforms and zerotree coders. Missing geometry information may be filled in with smooth subdivision patches. Hence even highly compressed surfaces can be smooth and visually pleasing.
BRIEF DESCRIPTION OP THE DRAWINGS
Figures 1A - ID show views of progressive compressions of a Venus head; Figures 2A-2C shows triangulations of a sphere;
Figure 3 shows rate distortion curves;
Figure 4 shows a flowchart of an operation of compressing a 3D image;
Figure 5 shows histograms of wavelet coefficients; Figure 6 shows histograms of polar angles of wavelet coefficients; and
Figure 7 shows subdivisions of surfaces.
DETAILED DESCRIPTION
Any source geometry is continuous. Any digital representation, such as a triangle mesh, has some error E associated with it. This error E has three components - due to sampling, discretization, and quantization.
Sampling error Es arises from acquisition noise. Discretization error Ed is due to the fact that a triangulation with edge length h can approximate a smooth geometry no better than 0(h2). A finite bit representation for the continuous vertex positions leads to the quantization error Eq. Sampling and triangulation of the model fix Es and Ed. A standard floating point representation inside the computer typically leads to a quantization error much smaller than Es+Ed. Single rate coders quantize the vertex positions more coarsely, leading to a quantization error Eq«Es + Ed. They then losslessly encode the connectivity and quantized vertex positions. Existing progressive coders aim to eventually recover the quantized sample locations and original connectivity.
Since distortion is measured as geometric distance, the sample locations and connectivity can be treated as additional degrees of freedom to improve the rate- distortion performance. As long as the final result has a geometric error on the order of the original E, the actual sample locations and connectivity do not matter. The information contained in the sample locations is, parameter information. For example, by letting the vertices slide within the surface, only the parameter information is changed and not the geometric fidelity.
Meshes can be built by successive triangle quadrisection starting from a coarse irregular mesh. This is done to eliminate certain parameter and connectivity information. Almost all vertices in a semi- regular mesh have valence six. Their sample locations can be estimated well. Parameter and connectivity information make up a considerable fraction of the bit budget in existing coders, but do not contribute at all to reducing geometric error. Consequently, the rate- distortion curves of this method can be better than those of existing coders. For most models, the error of the present system is about four times smaller at comparable bit rates, a 12 dB improvement.
The present application builds on the observation that parameter information makes up a significant fraction of the bit budget while not contributing to error reduction at all.
The technique of the present application starts with a defined irregular mesh describing a 2-manifold, without or with boundary. It produces successive approximations employing semi-regular meshes, that is, meshes which are as regular as possible. Since the meshes are more regular, less parameter and connectivity information can be used.
The coder first produces a hierarchical approximation of the surface. This expression is subsequently encoded with a coder, e.g., a zerotree progressive coder.
Advantages include the following. Parameter information can be reduced. A Loop based wavelet transform can be used for high order decorrelation and subdivision based reconstruction. A special zero tree hierarchy can be used for primal semi-regular triangle meshes of arbitrary topology. Zero Tree Coders are wavelet based progressive coders based on zero trees. They are described, for example, in Said, A., and Pearlman, . A New, Fast, and Efficient Image Codec Based on Set Partitioning in Hierarchical Trees. IEEE Transaction on Circuits and Systems for Video Technology 6, 3 (1996), 243-250;
Shapiro, J. Embedded Image-Coding using Zerotrees of Wavelet Coefficients. IEEE Transactions on Signal Processing 41, 12 (1993), 3445-3462; Davis, G., and Chawla, S. Image Coding Using Optimized Significance Tree Quantization, in Proceedings Data Compression Conference, 387-396, 1997.
Zero tree coders effectively exploit the fact that wavelet coefficients at finer scales tend to be smaller in magnitude than coefficients at coarser scales in the same region. A zero tree coder encodes the location of coefficients below threshold in subtrees.
Previous compression approaches have typically treated triangle meshes as having two distinct components: connectivity and vertex positions. State of the art coders are able to encode connectivity of irregular meshes with 2 bits/vertex ("b/v") or even less. Hence, it is argued, vertex positions are much more expensive and their coding needs further advancement, for example through better predictors.
The present application handles three components: connectivity, geometry, and parameter information separately. The parameter information captures the sample locations within the surface. The geometry information captures the geometry independent of the sample locations used. In the prior art, parameter and geometry information have been treated together. Consider a vertex of a particular Venus head triangulation in Figure 1A-1D. Moving this vertex slightly within the surface does not change the discretization error or the geometry information — It only affects the parameter information. Alternatively, moving the vertex in a direction normal to the surface changes the error and geometry information. However, it leaves parameter information unchanged. This illustrates that while geometry and parameter information are globally intertwined, they ^disconnect locally. Parameter information is described by displacements in the tangent plane to the surface. Geometry information, on the other hand, is normal to the surface. This implies that from a rate distortion point of view, bits should be allocated preferentially to the local normal direction. For smooth parameterizations, this may occur naturally, since prediction residuals in the tangent plane will be small.
The distinction between geometry, parameter, and connectivity information can be seen from three triangulations of a sphere shown in Figures 2A-2C. All three meshes have the same geometry information and carry the same discretization error Ed with no sampling noise. The first two meshes have semi-regular connectivity but different parameter information. The middle sphere in figure 2B was generated by moving the sample locations within the sphere, thereby adding extra parameter information. The rightmost sphere in Figure 2C has irregular connectivity .and parameter information. Figure 3 shows the respective resulting rate-distortion curves when using the state of the art non-progressive coder of Touma, C., and Gotsman, C. Triangle Mesh Compression. Graphics Interface '98 (1998), 26-34, herewith "the TG coder". The non-progressive curves are dashed since these points are not achievable in a progressive manner. In case of the smooth semi-regular mesh, the TG coder correctly noticed that it contains almost no connectivity information (0.1 b/v) and almost no parameter information. Its performance is essentially limited by the quality of the predictor used. The TG coder for the non-smooth semi-regular sphere is worse, thereby illustrating the bit penalty for parameter information. The TG coder for the irregular mesh (right) illustrates the additional overhead from irregular connectivity. This example demonstrates that reducing both connectivity and parameter information in a mesh can have advantages.
Finally, the small curve near the y-axis shows the result of applying our coder to the smooth semi-regular mesh. It can approximate the sphere with a relative error of 5xl0-5 using 166 bytes or approximately 0.5 b/v. This is because a sphere has very little geometric information and smooth semi-regular mesh is essentially optimal for the coder. This is where the high order decorrelation and subdivision based reconstruction really pays off. This same effect is used in smooth, regularly sampled regions of more general surfaces.
Components of the surface compression technique are described with reference to the flowchart of Figure 4A° . An arbitrary connectivity 2-manifold with boundary triangulation is taken as input at 400. A smooth global parameterization is calculated using the "MAPS" technique at 405. Successive adaptive approximations with semi- regular connectivity are calculated at 410. These semi- regular approximations are subsequently wavelet transformed at 415 and progressively compressed using zerotrees at 420. The coarsest level connectivity is encoded using a standard non-progressive mesh encoder. The decoder may produce intermediate approximations from any prefix of the bitstream.
Error is based on the distance d(X,Y) between two surfaces X and Y. Let d(x,Y) be the Euclidean distance from a point x on X to the closest point on Y. Then the L2 distance d(X,Y) is given by
Figure imgf000012_0001
This distance is not in general symmetric but can be symmetrized by taking the max of d(X,Y) and d(Y,X). For triangulations this distance can be computed using the publicly available METRO tool described in Cignoni, P., Rocchini, C., and Scopigno, R. Metro: Measuring Error on Simplified Surfaces. Computer Graphics Forum 17, 2 (1998), 167-174. The L2 errors reported here are relative with respect to the bounding box diagonal on a scale of
10~4, while rate is reported in bits per vertex (b/v) with respect to the number of vertices in the original input mesh. Other error measures could of course be used. 410 represents computation of a smooth parameterization of the input triangulation using the MAPS described in Lee, et al., A. W. F., Sweldens, W., Schroder, P., Cowsar, L., and Dobkin, D. MAPS: Multiresolution Adaptive Parameterization of Surfaces, Proceedings of SIGGRAPH 98 (1998), 95-104. MAPS allows for automatic alignment of iso-parameter lines of the semi-regular mesh with sharp features of the original input surface. This can avoid large wavelet coefficients near any creases.
MAPS builds a bijective map between the input mesh T and a coarse base domain B. Regular triangle quadrisection is applied in the base domain B for additional detail. The mapping is used to build semi- regular approximations of T. These approximations have some remeshing error Er with respect to T. While this error can be made arbitrarily small, the remeshing error Er maybe of the same size as the discretization error Ed. This roughly occurs when the triangles from the se i- regular mesh are about the same size as the triangles of the input mesh. Using smaller triangles only serves to produce a better approximation of the input mesh, not necessarily of the original unknown geometry. An order estimate of Ed may be computed to determine when to complete the operation. The distance between the input mesh T and a much finer mesh S obtained by Butterfly subdividing T may be used for this purpose. The latter serves as a proxy for the unknown original geometry. Once the semi-regular mesh error Er is below the estimated discretization error Ed, there is no need to further refine the semi-regular mesh. Hence the rate distortion curves may converge to the Ed estimate. The wavelet transform of 415 replaces the original mesh with a coarsest mesh and a sequence of wavelet coefficients expressing the difference between successive more detailed levels. Neighboring vertices of these piecewise smooth models, can be highly correlated. The wavelet transform removes a large amount of this correlation. The distribution of wavelet coefficients is centered around zero. Their magnitude decays at finer levels with the rate of decay related to the smoothness of the original surface. A zerotree coder may be used for the bit encoding of coefficients.
Several methods for building wavelet transforms on semi-regular meshes exist as described in Lounsbery, M., DeRose, T. D., and Warren, J. Multiresolution Analysis for Surfaces of Arbitrary Topological Type. ACM Transactions on Graphics 16, 1 (1997), 34-73. Originally available as TR-93-10-05, October, 1993, Department of Computer Science and Engineering, University of Washington; and Schroder, P., and Sweldens, W. Spherical Wavelets: Efficiently Representing Functions on the
Sphere. Proceedings of SIGGRAPH 95 (1995), 161-172. These are typically based on interpolating subdivision schemes such as the Butterfly scheme. Lifted Butterfly wavelets are known. The advantage of lifted wavelets is that both forward and inverse transform can be computed with finite filters.
A Loop wavelet transform has the advantage that the inverse transform uses Loop subdivision. Experimentally, we found it has rate distortion curves similar to Butterfly, but typically better visual appearance.
The choice of Loop subdivision fixes the low pass reconstruction filter P in a wavelet construction with a high pass reconstruction filter Q. Together they define the inverse wavelet transform
+i : (P Q) J1
where pD are the usual control points and dj the wavelet coefficients at level j. For performance reasons, Q should have small support. One way to achieve this is to apply the quadrature mirror construction to derive a high pass filter from a low pass filter. The result is shown in the regular case in Figure 4. Around irregular vertices, P is modified as usual. For edges immediately adjacent to an "irregular" vertex, that is, one where the valence is other than six, Q is modified as well. The only taps of the Q filter that can fall onto irregular vertices are the two -6 coefficients left and right from the center. If one of them is irregular, that part of the filter is relaxed and the coefficients are parameterized by edge number, counting from the N 10''. (See the right of Figure 4) Note that if an irregular vertex has valence less than six, this leads to the stencil folding over on itself. If the valence is larger than six, a gap remains. This does not impact the numerically computed condition numbers of the transform.
The forward wavelet transform, which goes from finer to coarser levels, is defined as the solution [p^d3] of the linear system in Equation 1 for a given p3"1"1. The forward wavelet transform is computed as the solution of a sparse linear system. A bi-conjugate gradient solver with diagonal preconditioning may be used. Solving a linear system may make the forward transform slower than the inverse transform. This is acceptable as encoding is typically done once off-line as compared with decoding which happens frequently and in real time. For the Venus head model, the Loop forward transform takes 30 sec. on a 650Mhz Pentium III while the inverse transform takes 5 sec. In case symmetry is important, one can use the Butterfly transforms for which both forward and inverse transforms can be performed in 2.5 sec.
The decorrelating power of the wavelet transform is illustrated in Figure 5. The left shows the histogram of the magnitude of the Venus model vertex positions. The right shows- a histogram of the magnitude of the wavelet coefficients. This demonstrates that a large amount of correlation is removed and the first order entropy is decreased considerably.
The wavelet transform results in wavelet coefficients which may be vector valued. These coefficients may be represented in a local frame induced by the surface tangent plane. This causes the variance of normal wavelet components to be on average twice as large as the variance of the tangential components. Recalling the earlier geometry versus parameter distinction, this is exactly what we want. In a smooth semi-regular mesh, the geometry information (normal component) is much larger than the parameter information (tangential component) . Figure 6 illustrates this by showing the histograms of the polar angles q (the angle from the z of normal axis) of the wavelet coefficients in global and local coordinate frames. The distribution becomes relatively non-uniform in the local frame with peaks around 0 and π indicating that most of the wavelet vectors lie in the normal direction. The f angle is the angle along the equator. This is fairly uniformly distributed and does not change much in the local frame. Consequently any two basis vectors may be used in the tangent plane. As demonstrated above, parameter, i.e., tangential, information does not contribute to the error metric. The tangential wavelet components can still contain some geometric information. However, the error metric is less sensitive to quantization error of tangential versus normal wavelet components. Thus, the error curves can be improved by more coarsely quantizing the tangential component .
A basic operation in a scalar zerotree coder is the coefficient significance test, i.e., checking its magnitude against a threshold. If it is below the threshold, the coefficient is added to a zerotree, else the location and sign of the coefficient needs to be transmitted. For the vector case, this becomes more difficult. Three quantization options are contemplated. (1) Spherical cells allow the magnitude to be used for the significance test. The quantized angular components become ^generalized'' signs. (2) For cubical cells, the cube is divided into 64 subcubes. Coefficients in the 8 internal cubes become insignificant and the others become significant. The cell number again is an analog of angular component. (3) Each vector component can be handled independently and encoded separately. This reduces the vector case to three independent scalar passes.
It is believed that three scalar passes results in the best rate distortion curves for all models. Experimentally, it was found that quantization cells for the tangential component were best taken to be 4 times larger than those for the normal component.
Scalar quantization uses, three independent zerotree coders. The bits from the three coders can be interleaved to maintain progressivity. A general principle of wavelet coefficient encoding is to send the highest order bits of the largest magnitude coefficients first, since they make the most significant contributions towards reducing error. Let T0 = max{|ci|} be the maximum magnitude of all coefficients. Then, in a first pass the coder should send the locations (index i) of newly significant coefficients, | ci | > T0/2. Doing so naively is expensive. However, if source and receiver agree on a canonical traversal order, the source only has to send the result of the significance test S(i) = ( I ci I > T) and, if true, the sign bit of Cj.. If coefficients can be organized into canonical sets such that with high probability all coefficients in a given set are simultaneously below threshold, a few set-based significance tests can enumerate the locations of the relevant coefficients. The decay properties of wavelet coefficients make their hierarchical tree organization the natural set structure. Coding consists of a number of passes with exponentially decreasing thresholds Tj+i = Tj/2. In each pass, significance bits are sent for newly significant coefficients. Additionally, refinement bits are sent for those coefficients which became significant in an earlier pass. Since source and receiver already agreed on locations of the latter, no location bits have to be sent for them. The number of such bit plane passes depends on the final quantization level. The decoder can reconstruct the geometry associated with any prefix of the bitstream by running an inverse wavelet transform on the coefficient bits it has seen so far.
The present system may use a different construction of the zerotrees. For images, one associates the coefficients with a quadrilateral face (pixel) and the trees follow immediately from the face (pixel) quadtree. While this works also for dual, i.e., face based subdivision schemes, our triangular transform is primal, i.e, vertex based.
Scale coefficients are associated with vertices. However, wavelet coefficients may be put into a one to one association with edges of the coarser mesh. Each edge can then be the parent of four edges of the same orientation in the finer mesh as indicated in Figure 7. Hence, each edge of the base domain forms the root of a zerotree; it groups all the wavelet coefficients of a fixed wavelet subband from its two incident base domain triangles. The grouping is consistent even for a semi- regular mesh.
Scale coefficients from the coarsest level are quantized uniformly. Experimentally, it is believed that it may be best to send 4 bit planes initially with the base domain connectivity. Each remaining bitplane is sent as the zerotrees descends another bit plane.
The zerotree technique may be effective at exploiting parent-child coefficient correlations, minimizing the amount of encoded significance bits. However, the output of the zerotree coder can still be compressed further through techniques such as arithmetic coding, which may allow for a fractional number of bits per symbol.
The zerotree coder output has three different types of information, including significance bits, refinement bits and sign bits. Refinement and sign bits tend to be uniformly distributed; hence they are not entropy coded. Significance bits on the other hand can be further entropy coded. For early bitplanes, coefficients may be insignificant resulting in mostly zero bits. For later bitplanes, many coefficients become significant, resulting in mostly one bits. An arithmetic coder naturally takes advantage of this.
Encoding of the significance bits in groups may further improve performance of entropy coding. Children of any node appear together during a zerotree pass. Their significance bits may be grouped to form symbols of a 2j alphabet (j = 4,3,2,1). The actual number of bits of the alphabet is the nuraber of children which were left insignificant at the previous pass. This grouping exploits correlations between magnitudes of spatially close wavelet coefficients.
Other embodiments are contemplated. For example, although coding with zerotrees is described, other types of coding may be used.
All such modifications are intended to be encompassed within the following claims.

Claims

What is claimed is
1. A method of compression of an arbitrary topology surface, comprising: obtaining an input representation of the topology; forming a semi-regular mesh representing a geometry of the surface where at least one vertex of the semi- regular mesh is in a different location then a vertex of the original input representation; and forming a compressed version of the semi-regular mesh.
2. A method as in claim 1, wherein said forming a semi-regular mesh comprises sliding at least one vertex within a surface of the topology, to a location where better compression can be obtained.
3. A method as claim 1, wherein said obtaining a semi-regular mesh comprises changing a location of samples .
4. A method as in claim 1, wherein said compression comprises changing connectivity between vertices.
5. A method as in claim 1, wherein said forming comprises carrying out a wavelet transform to replace the original mesh with a coarse semi-regular mesh, and a sequence of wavelet coefficients.
6. A method as in claim 5, wherein said wavelet coefficients define a difference between a current mesh and a more detailed mesh.
7. A method as in claim 1, wherein said forming a semiregular mesh and said forming a compressed version further comprises forming a coarsest mesh, and carrying out a transform which removes correlation between vertices of remaining portions of the mesh.
8. A method as in claim 7, wherein said transform includes a Loop based wavelet transform.
9. A method as in claim 7, wherein said transform is one used for high order decorrelation and subdivision based reconstruction.
10. A method, comprising: obtaining information on a three dimensional part, including parameter information that is described by displacements in the tangent plane to the surface and geometry information, that is normal to the surface; and compressing said information by allocating bits preferentially to the local- normal direction.
11. A method as in claim 10 wherein said compressing comprises first forming a mesh of parameter information that is more regular than an original.
12. A method as in claim 11, wherein said compressing comprises uneven scaling of tangential and normal components of said residuals.
13. A method as in claim 11, wherein said more regular meshes have subs.tantially only normal prediction residuals .
14. A method as in claim 11 wherein said compressing comprises Subsequent hierarchical transformation of such meshes through a hierarchical transform.
15. A method as in claim 14, wherein said transform is based on subdivision methods.
16. A method as in claim 14, wherein said transform includes a wavelet transform.
17. A method as in claim 15, wherein said transform is a wavelet coefficients with a zero tree style coder.
PCT/US2001/001215 2000-01-14 2001-01-12 Compression of 3d surfaces using progressive geometry WO2001052182A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001227910A AU2001227910A1 (en) 2000-01-14 2001-01-12 Compression of 3d surfaces using progressive geometry

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US17615500P 2000-01-14 2000-01-14
US60/176,155 2000-01-14
US09/658,214 US6995761B1 (en) 2000-01-14 2000-09-08 Compression of 3D surfaces using progressive geometry
US09/658,214 2000-09-08

Publications (2)

Publication Number Publication Date
WO2001052182A1 true WO2001052182A1 (en) 2001-07-19
WO2001052182A9 WO2001052182A9 (en) 2002-08-08

Family

ID=26871936

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/001215 WO2001052182A1 (en) 2000-01-14 2001-01-12 Compression of 3d surfaces using progressive geometry

Country Status (3)

Country Link
US (1) US6995761B1 (en)
AU (1) AU2001227910A1 (en)
WO (1) WO2001052182A1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7324105B1 (en) * 2003-04-10 2008-01-29 Nvidia Corporation Neighbor and edge indexing
US7529418B2 (en) * 2004-05-20 2009-05-05 Hewlett-Packard Development Company, L.P. Geometry and view assisted transmission of graphics image streams
US20070064099A1 (en) * 2004-06-18 2007-03-22 Raphaele Balter Method of representing a sequence of pictures using 3d models, and corresponding devices and signals
FR2876821A1 (en) * 2004-10-14 2006-04-21 France Telecom METHOD FOR LOCALLY DECODING A BINARY TRAIN OF WAVELET COEFFICIENTS
US8339395B2 (en) * 2008-07-08 2012-12-25 Lockheed Martin Corporation Method and apparatus for model compression
US9147283B1 (en) 2011-10-30 2015-09-29 Lockhead Martin Corporation Water surface visualization during a simulation
US9123160B1 (en) 2011-10-30 2015-09-01 Lockheed Martin Corporation Concurrent mesh generation in a computer simulation
WO2014062934A1 (en) * 2012-10-19 2014-04-24 Visa International Service Association Digital broadcast methods using secure meshes and wavelets
US9734595B2 (en) 2014-09-24 2017-08-15 University of Maribor Method and apparatus for near-lossless compression and decompression of 3D meshes and point clouds
US11568575B2 (en) 2019-02-19 2023-01-31 Google Llc Cost-driven framework for progressive compression of textured meshes
US10977773B2 (en) * 2019-02-19 2021-04-13 Google Llc Cost-driven framework for progressive compression of textured meshes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905507A (en) * 1996-01-16 1999-05-18 International Business Machines Corporation Compression of geometric models using spanning trees
US6088034A (en) * 1995-08-04 2000-07-11 Sun Microsystems, Inc. Decompression of surface normals in three-dimensional graphics data
US6144773A (en) * 1996-02-27 2000-11-07 Interval Research Corporation Wavelet-based data compression

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6525722B1 (en) * 1995-08-04 2003-02-25 Sun Microsystems, Inc. Geometry compression for regular and irregular mesh structures
EP0836784B1 (en) * 1996-05-06 2003-09-17 Koninklijke Philips Electronics N.V. Segmented video coding and decoding method and system
JP3199231B2 (en) * 1997-05-27 2001-08-13 日本アイ・ビー・エム株式会社 Method and system for embedding information in three-dimensional shape model
US6285372B1 (en) * 1998-05-08 2001-09-04 Lawrence C. Cowsar Multiresolution adaptive parameterization of surfaces
US6879324B1 (en) * 1998-07-14 2005-04-12 Microsoft Corporation Regional progressive meshes
US6771264B1 (en) * 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
FR2784211B1 (en) * 1998-10-02 2000-12-15 France Telecom METHOD FOR CODING STILL OR MOVED IMAGES WITH REDUCTION AND ADJUSTMENT OF THROUGHPUT
US6271856B1 (en) * 1998-11-19 2001-08-07 Paraform, Inc. Creating and modifying parameterizations of surfaces
US6366279B1 (en) * 1998-12-29 2002-04-02 Intel Corporation Triangle mesh compression
US6738062B1 (en) * 2001-01-10 2004-05-18 Nvidia Corporation Displaced subdivision surface representation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088034A (en) * 1995-08-04 2000-07-11 Sun Microsystems, Inc. Decompression of surface normals in three-dimensional graphics data
US5905507A (en) * 1996-01-16 1999-05-18 International Business Machines Corporation Compression of geometric models using spanning trees
US6144773A (en) * 1996-02-27 2000-11-07 Interval Research Corporation Wavelet-based data compression

Also Published As

Publication number Publication date
AU2001227910A1 (en) 2001-07-24
WO2001052182A9 (en) 2002-08-08
US6995761B1 (en) 2006-02-07

Similar Documents

Publication Publication Date Title
Khodakovsky et al. Progressive geometry compression
Li et al. Progressive coding of 3-D graphic models
EP0883864B1 (en) Wavelet based data compression
US6573890B1 (en) Compression of animated geometry using geometric transform coding
Ochotta et al. Compression of point-based 3D models by shape-adaptive wavelet coding of multi-height fields
Ochotta et al. Image‐based surface compression
Khodakovsky et al. Normal mesh compression
CA2285427A1 (en) 3d mesh compression and coding
US6995761B1 (en) Compression of 3D surfaces using progressive geometry
Attene et al. Swingwrapper: Retiling triangle meshes for better edgebreaker compression
CN113284250A (en) Geometric encoding method and decoding method and device for point cloud
Morán et al. Comparison of wavelet-based three-dimensional model coding techniques
Park et al. Multiscale representation and compression of 3-D point data
El Sayeh Khalil et al. Scalable Feature‐Preserving Irregular Mesh Coding
Taubin BLIC: Bi-level isosurface compression
JP4398785B2 (en) Multidimensional data encoding method, multidimensional data decoding method, texture image creation method, apparatus for realizing the methods, and program for realizing the methods
Tosic et al. Progressive coding of 3-D objects based on overcomplete decompositions
Kolarav et al. Compression of functions defined on surfaces of 3D objects
Payan et al. Model-based bit allocation for normal mesh compression
Moran et al. Hierarchical coding of 3d models with subdivision surfaces
Xue et al. Directly operable image representation of multiscale primal sketch
Norkin et al. Wavelet-based multiple description coding of 3-D geometry
Yusov et al. JPEG2000-based compressed multiresolution model for real-time large scale terrain visualization
Payan et al. MSE approximation for model-based compression of multiresolution semiregular meshes
Köse et al. 3D model compression using connectivity-guided adaptive wavelet transform built into 2D SPIHT

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ 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 MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ 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 TR 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
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: C2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ 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 MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): GH GM KE LS MW MZ 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 TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: PAGES 1/7-7/7, DRAWINGS, REPLACED BY NEW PAGES 1/5-5/5; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP