An Hermitian Approach for Multiresolution Splines

0 downloads 0 Views 255KB Size Report
P3k. P3k+5. P3k+1. P3k+2. P3k+3. P3k+4. Figure 2: A segment of a quintic HB-spline. Uniform knot spacing guarantees that the set of blending functions fp(s) is ...
An Hermitian Approach for Multiresolution Splines Laurent Grisoni, Christophe Schlick, Carole Blanc

LaBRI,1 351 cours de la Liberation, 33405 Talence (France) [grisonijschlickjblanc]@labri.u-bordeaux.fr

Abstract: This paper presents an alternative to the semi-orthogonal spline wavelets classi-

cally used for multiresolution representation in the eld of computer aided design. This new approach involves less computation, is more modular, and is potentially more exible than the classical approach. This multiresolution scheme is presented through the use of HB-splines, a speci c subset of particular B-splines that include some interesting properties for CAD. The new approach is nally compared to the classical one, on this particular example.

Keywords : splines, multiresolution, wavelets, lifting scheme

1 Laboratoire Bordelais de Recherche en Informatique (Universite Bordeaux I et Centre

National de la Recherche Scienti que). This work is also granted by the Conseil Regional d'Aquitaine.

1

An Hermitian Approach for Multiresolution Splines Abstract: This paper presents an alternative to the semi-orthogonal spline wavelets classi-

cally used for multiresolution representation in the eld of computer aided design. This new approach involves less computation, is more modular, and is potentially more exible than the classical approach. This multiresolution scheme is presented through the use of HB-splines, a speci c subset of particular B-splines that include some interesting properties for CAD. The new approach is nally compared to the classical one, on this particular example.

Keywords : splines, multiresolution, wavelets, lifting scheme

1 Introduction In the eld of Computer Graphics or Computer Aided Design, a very useful property for a given spline model is to have locally supported basis functions, in order to allow localized modi cations of the shape. Unfortunately this property can also become a serious disadvantage when the user wishes to edit the global shape of a complex object: the great number of mandatory manipulations makes the process time wasting and precision hazardous. Multiresolution is a possible solution to this problem, because it allows the user to edit objects at di erent resolution levels. Several approaches have been proposed for multiresolution representation of splines (see section 6 for details), mostly based on wavelets. All these approaches require expensive precalculation and, in the case of opened curves or surfaces, often demand speci c treatment of boundary control points. Moreover these approaches strongly depend on the given spline model they manipulate: the whole scheme has to be rede ned when manipulating other spline models, only the \philosophy" of the calculus can potentially be reused. This paper presents a new multiresolution spline technique, that we call the Hermitian approach, which is modular, exible, and easily adaptable to many di erent spline models. The article is organized as follows. First, we present some basic notions required to understand the theoretical frame of spline wavelet multiresolution. Second, we recall the principle of Sweldens' Lifting Scheme [12], a stepby-step process to generate hierarchical representations. After that, we present our approach, that associates the HB-spline model [5] (a special case of B-splines that presents some speci c features) with the Lifting Scheme, to provide an easy-to-implement model for multiresolution splines. Finally, we show that our technique compares favorably with the classical approach of multiresolution splines, based on semi-orthogonal wavelets [7][10].

2 Introduction to wavelets This section presents the theoretical notions involved in this paper: multiresolution analysis and biorthogonal wavelets. The presentation is relatively brief, the reader may refer to [11] or [15] for additional details on the subject.

2.1 Multiresolution Analysis A multiresolution analysis of L2 ( ) is a sequence of nested spaces V i , such that the union of all the V i is dense in L2 ( ). For each V i , we de ne a column matrix of basis functions IR

IR

2

h

it

i (u) = 'i1 (u);    ; 'iki (u) where the set f'ik g is a basis of V i . Functions 'ik are classically called scaling functions. As V i are nested spaces, there exists a matrix H i that ful ls i = H i i+1 . Under such conditions, the scaling functions are said to be re nable. For each space V i , we de ne W i as the complement of V i in V i+1 : V i  W i = V i+1 . Each space W i can be viewed as the space containing the information needed to reconstruct a function f i+1 in V i+1 from its projection f i on V ii. For each W i , we de ne a column matrix of basis functions h t i (u) = 1i (u);    ; ki i+1 ?ki (u) where the set f ki g is a basis of W i. Functions ki are called detail functions, or wavelets. As W i is included in V i+1 , there also exists a matrix Gi that ful ls i = Gi i+1 .

2.2 A remark about orthogonality The ideal case is obtained when the basis of V i and W i are fully orthogonal, i.e. when 8j; k; h'ij ; 'ik i = h ji ; ki i = j;k and 8j; k; h'ij ; ki i = 0. The wavelets are then called orthogonal wavelets, and are useful for their numerous mathematical properties, including optimal representation and ecient projection on function basis by scalar product. Yet, the most obvious scaling functions for a given model are not necessarily mutually orthogonal (B-spline basis functions, for example). Some orthogonalization schemes exist (Battle-Lemarie wavelets in the case of uniform B-splines, for instance), but the resulting wavelets are generally less intuitive and less numerically stable. For that reason, a more exible theoretical frame, called biorthogonal wavelets, has been developped, which does no longer require orthogonality between the basis functions. This theoretical frame is used in our approach and will be detailed in section 2.3. In some special cases of biorthogonal wavelets (B-spline wavelets for example), we can de ne the basis functions so that W i and V i remain orthogonal to each other. This particular case is called semi-orthogonal wavelets and is sometimes useful, in that it guarantees that the projection of a function f on V i is the best least-square approximation of f in this space. The classical approach of multiresolution splines used in computer graphics [7][10] is based on this kind of wavelets.

2.3 Biorthogonal wavelets In the case of biorthogonal wavelets, a dual scaling function '~ik is de ned for each scaling function 'ik , such that h'jh ; '~ik i = i;j k;h . Dual wavelets ~ki are de ned similarly. Thus, beside the rst multiresolution analysis, a second one is constructed, called dual multiresolution analysis, using the notations V~ i , W~ i , ~ i , ~ i , H~ i and G~i . The four spaces V i , W i , V~ i , and W~ i ful ll two orthogonality properties: V i ?W~ i and V~ i ?W i. The lters H~ i and G~ i allow the user to compute the scaling functions at level i + 1 from scaling and detail functions at level i by i+1 = H~ i i + G~ i i , where H~ i stands for the transpose of H i . The four lters obey the following conditions: # " " # ~ i h i i i H 1 0 H G = 0 1 (1) ~i G and

h

H i Gi

i

"

~i H ~i G

#

=1

(2)

One can note that the case of semi-orthogonal wavelets presented above, is obtained when the set fi ; i ; ~i ; ~i g is de ned so that W i = W~ i and V i = V~i . 3

At this point, the question that matters is how to apply these theoretical results in practical applications. Let hus consider ia given space V n in which we have a function f n, de ned by its coordinates n = n1 ;    ; nkn . Its projections on V n?1 and W n?1 are de ned by the averages n?1 = H~ n?1 n and the details n?1 = G~ n?1n . This operation is called decomposition. The lters H~ n?1 and G~ n?1 are called analysis lters. The inverse transform, called reconstruction, involves the synthesis lters H n?1 and Gn?1 to generate n from n?1 and n?1 by: n = H n?1 n?1 + Gn?1 n?1 Thus, step by step, one can decompose an initial set n into a coarsest set 0 and a sequence of detail sets f 0 ; 1 ;    ; n?1 g. This process is called the discrete wavelet transform.

3 The Lifting Scheme The lifting scheme, recently introduced by Wim Sweldens [12], is a new tool to construct multiresolution analysis step by step. The idea of the lifting scheme is to construct new biorthogonal lters, starting from existing biorthogonal lters.

3.1 De nition j ; Gjold ; The Lifting Scheme theorem, derivated by Sweldens, says that if a set of lters fHold j ~ old ~ jold g ful ls equations (1) and (2), then the set of lters fH j ; Gj ; H~ j ; G~ j g obtained by H ;G equation (3), called the lifting step, ful ls the same two equations. j ~ j = H~ old + S j G~ jold H ~ j = G~ jold G

j H j = Hold j Gj = Gjold ? S j Hold

(3)

where S j is any ki  (ki+1 ? ki ) matrix. In particular, we have j = jold ? S j jold , which means that the lifting step allows the user to add new properties to the wavelets, while preserving the old ones. The resulting modi cations on the averages and the details are: j j (4)

j = old j = jold + S j old Just as there is a dual multiresolution analysis in the case of biorthogonal wavelets, there is j j ~ old ~ jold g a dual lifting scheme theorem which says that, if a set of biorthogonal lters fHold ; Gjold ; H ;G j j j j ful ls equations (1) and (2), then the set of lters fH ; G ; H~ ; G~ g obtained by equation (5), called the dual lifting step, ful ls the same two equations. j j ~ j = H~ old + S~j Gjold H H j = Hold (5) j j j ~ j = G~ old ? S~j H~ old Gj = Gold G where S~j is any ki  (ki+1 ? ki ) matrix. This time, we have ~ j = ~ jold ? S~j ~ jold , which means that the dual lifting step allows the user to add new properties to the dual wavelets, while preserving the old ones. This time, the modi cations on the coordinates are: j (6) ? S~j jold

j = old j = jold 4

3.2 Cakewalk constructions Hence, the lifting and dual lifting schemes can be used to develop more sophisticated multiresolution analysis, starting from simple ones. The rst step can be generated by the most simple multiresolution analysis, at least from the implementation point of view, called Lazy Wavelet [12], that consists only in splitting the coordinates n into odd and even components: kn?1

kn?1

= n2k

= n2k+1

Then one can alternate lifting and dual lifting steps (this process is called a cakewalk) to construct the nal decomposition scheme [12][16]. The global scheme obtained by the cakewalk is a kind of \ladder" construction (see the left hand of Figure 1). γ n-1

λ

n

Split

~ * n-1

S

Sn-1

S

n-1

~ * n-1

S

Merge

λn

λn-1

Figure 1: Decomposition (left) and Reconstruction (right) Scheme This cakewalk construction o ers two main advantages. First, because of the ladder structure, it can be easily inverted to generate the reconstruction scheme (see the right hand of Figure 1). Second, this process allows the user to build the multiresolution analysis he really needs, by adding adequate properties. Looking at this technique from the spline point of view, the main diculty stays in the fact that the cakewalk construction implies to manipulate samples of the curve, whereas traditional spline wavelets rather use control points as coordinates. A possible solution would be to use any classical interpolating spline model, but it is well-known that this kind of splines present some major weaknesses, including the lack of convex hull, and the apparition of unwanted oscillations. We propose to use Hermitian B-splines (or HB-splines, for short), a spline model that we have proposed elsewhere [5] and that we brie y recall in the next section.

4 Hermitian B-splines An HB-spline is simply a B-spline with a speci c form of the knot vector. More precisely, a HB-spline curve C composed of  segments joined together with a C n continuity, is de ned as the B-spline of degree 2n + 1 formed on the knot vector T = (t0 ; t1 ;    ; t(n+1)(+3)?1 ) where the knots tk are de ned by: 8 > < > :

t0 = t1 =    = tn 8 i = 0    ; t(n+1)(i+1) = t(n+1)(i+1)+1 =    = t(n+1)(i+1)+n t(n+1)(+2) = t(n+1)(+2)+1 =    = t(n+1)(+2)+n = t0 + 

= t0 + i

In words, this means that the di erent values of the knots are separated by a constant step , and that each values are repeated n + 1 times. We call such a knot vector a pseudo-uniform 5

knot vector. One nice feature of this model lays in the fact that the derivative properties at segment boundaries only involve n + 1 consecutive control points. Let us take an example, and from now on, consider the case of quintic HB-splines, which may be the most useful case for CAD applications because it provides C 2 continuous curves. In that case, each segment of the curve is de ned by 6 control points P3k P3k+1 P3k+2 P3k+3 P3k+4 P3k+5 (see Figure 2). The reparametrization s = (t ? tk )=(tk+1 ? tk ) provides: 8k 2 f1; 2;    ;  ? 2g; 8s 2 [0; 1] Ck (s) = f0(s)P3k + ::: + f5(s)P3k+5 P3k+1

P3k+2 P3k+5

Qk Q k+1 P3k P3k+3

P3k+4

Figure 2: A segment of a quintic HB-spline Uniform knot spacing guarantees that the set of blending functions fp(s) is symmetric: fp(s)= f5?p (1 ? s). By expliciting the B-spline polynomials, the blending functions can be expressed in the monomial basis: f0 (s) = f5 (1 ? s) f5 (s) = s5 = 4 f1 (s) = f4 (1 ? s) f4 (s) = (10s4 ? 8s5 ) = 4 f2 (s) = f3 (1 ? s) f3 (s) = (40s3 ? 70s4 +31s5 ) = 4 When evaluating the derivative conditions at the boundaries of the segments, we obtain: Ck (0) = Ck?1(1) = (P3k + 2P3k+1 + P3k+2) = 4 Ck0 (0) = Ck0 ?1(1) = 5 (P3k+2 ? P3k ) = 4 Ck00 (0) = Ck00?1(1) = 5 (P3k ? 2P3k+1 + P3k+2) and, for the boundaries of the curves: 8 8 > > < C0 (0) = P0 < C?1 (1) = P3+2 0 C0 (0) = ?5P0 + 5P1 and > C0 ?1 (1) = ?5P3+1 + 5P3+2 > : 00 : 00 C0 (0) = 20P0 ? 40P1 + 20P2 C?1 (1) = 20P3 ? 40P3+1 + 20P3+2 which means that the behaviour of the curve in the neighbourhood of each boundary point Qk is de ned by exactly 3 control points P3k , P3k+1 and P3k+2 . Hence, we get a bijection between the derivative conditions at the segments boundaries (n + 1 conditions in the C n case) and a local set of control points (n + 1 points in the C n case). Thus, the only thing we need is a graphic tool that allows the user to interactively edit the boundary conditions in an intuitive way. We proposed in [5], for the case of C 2 curves, a widget called control sail, that is a small triangle Qk Q k Q^ k put on each boundary point Qk (see Figure 3). Qk

Qk Qk

Figure 3: Control sail for a curve at point Qk 6

The control sail allows the user to edit the position (by translating the sail), the tangent direction (by rotating the sail) and the curvature (by scaling the sail). Figure 4 illustrates di erent possibilities of manipulation o ered by the control sail widget.

Figure 4: Edition of HB-spline curve with control sails. From left to right: original curve, translation of the third sail, rotation of the right-most sail, and nally scaling of the second sail to increase the local curvature.

5 Multiresolution HB-splines 5.1 Changing the analysis space The main problem when manipulating spline wavelets is that the coordinates used for the multiresolution analysis are the control points. This does not make the use of the cakewalk easy, because this process requires samples of the signal. At this stage, HB-splines appear to have a major advantage: instead of considering a curve C as part of the space spanned by its basis functions (control points being the coordinates), we can consider C as part of a space where the coordinates become a vector, whose components are the derivative values at the boundaries of the segments Ck (s) (s 2 [0; 1]). In other words, when considering a C p curve C n , projection of an original curve C on the space of level n, the coordinates are 3 2 n(0) (0) C k 7 6 n(1) 6 C (0) 77 6 k n k = 6 .. 77 6 . 5 4 n(p) Ck (0) From these coordinate vectors, one can easily go back to control points when needed, as shown in section 4.

5.2 Decomposition scheme In this section, we describe the decomposition scheme, step by step. More precisely, we show how to get n?1 and n?1 from an initial vector n , composed of the nk de ned above. Once the decomposition scheme has been detailed, the reconstruction scheme can then be easily obtained by reversing the process, as shown by Figure 1. Notice also that, as previously, we restrict our presentation to quintic HB-splines which appears to be the most useful case for geometric modeling.

7

5.2.1 Splitting step We use lazy wavelets to start the decomposition scheme. As explained in section 3, this splitting step creates a rst temporary set fn?1 ; n?1 g, de ned by: kn?1 = n2k

kn?1 = n2k+1

If necessary, we introduce a local subdivision of the segment at the end of the curve C n (see section 6.1.2), to preserve an even number of segments, and the same boundary conditions as the average set n?1 (otherwise curves with an odd number of segments would be truncated at the end). At this stage we have a rst set of averages and details, but there is no link between them: the details do not t the intuitive de nition (i.e. the di erence between C n and its projection C n?1 on V n?1). The next step will solve this problem.

5.2.2 Dual lifting step During this step, the details given by the splitting step are modi ed to account for the in uence of the averages. As we consider here dyadic decompositions (i.e. decompositions where one segment at level n ? 1 generates two segments at level n), it then becomes natural to store in the details the di erence between the old detail values and the derivative conditions of the HBspline curve C n?1 at the middle of the corresponding segment. In the case of quintic HB-splines, we get: # " h i kn?1 n?1 (7)

k ? = a b n?1 k+1

with 2

10 1 1 6 ?32 120 ? 28 ?2 a= 4 64 0 ?96 ?16

2

3

3

32 ?10 1 1 6 120 7 7 4 5 and b = 64 0 ?9628 ?216 5.

The interesting point here is that a and b are the same for all the segments of the curves, including those at the curve boundaries. This is very di erent from endpoint interpolating Bsplines wavelets, for instance [7],[10] which require speci c treatment for the boundary segments. In fact, the management of extremity segments totally relies on the bijection between derivative conditions and control points. Thus, when using the control-sail interface, the implementation of this multiresolution scheme is very easy; one can even imagine a hardware implementation. But there is still one problem left: two curves with the same derivative conditions n0 and n 1 but di erent details 0n will have the same projection on Vn?1 . In other words, the process is prone to aliasing. The last step is intended to correct this weakness.

5.2.3 Lifting step In order to cancel the aliasing e ects introduced by the previous step, we have to account for the details n?1 to modify the averages n?1 . The problem we have to face here is the following: given an average component kn?1 , and the corresponding detail components kn??11 and kn?1 , how do we modify kn?1 so that the result is closer to the original curve? 8

The solution we propose is to construct a quadratic Bezier curve from each couple of components of kn??11 and kn?1 . At the middle of these segments, for an order k derivative, we use the information given by the Bezier curve built on the k-th components of the details, and the information given by the rst derivative of the Bezier curve built on the (k ? 1)-th components. By averaging the two information we obtain the nal modi cation of the kn?1 . In the case of quintic HB-splines, we get: kn?1

h

+ = a0 a0

with 2

i

"

kn??11

kn?1

2 0 0 1 6 0 a = 4 ?4 1 0 8 0 ?4 1

#

3 7 5

.

Once this step is nally settled, the decomposition scheme is complete. The reconstruction scheme uses the same lters, as shown by Figure 1. Figure 5 shows an example of quintic HBspline curve at di erent edition levels.

(a)

(b)

(c)

(d)

Figure 5: A HB-spline hierarchical representation using the hermitian approach. The curve (a) has 48 segments, (b) 24, (c) 12, and (d) 6 segments.

6 Comparison with the classical multiresolution spline approach This section compares the hermitian approach presented in the previous section with the classical spline multiresolution approach, based on semi-orthogonal B-splines wavelets. We 9

start by presenting the principle of this scheme, before balancing out the pros and cons of both approaches.

6.1 Semi-orthogonal spline wavelets Spline wavelets are very often used as an ecient mathematical tool to develop multiresolution spline objects (though there exist several multiresolution schemes which are not based on wavelets [8][3]). Finkelstein and Salesin [7] presented the application of wavelet theory to the case of endpoint-interpolating cubic B-splines. Stollnitz, De Rose and Salesin [10] presented spline wavelets for endpoint-interpolating B-spline up to degree 3. Lyche and Morken [9] presented a construction of a basis of the orthogonal complement of any nite univariate spline space in a spline space of the same degree. The general case of non-uniform B-splines has also been studied but its complexity makes it impossible to get usable results without some ad-hoc heuristics [4][14]. In this section we present the traditional approach when manipulating B-spline wavelets, following [17] and [7],[10]. One can also nd a more theoretical presentation in [1] (for B-spline re nement) and [9]. The frame of the problem is to consider a family of nested B-spline spaces, i.e. a polynomial degree and a sequence of knot-vectors indexed by an integer i (such as the one presented in Figure 6 which corresponds to endpoint-interpolating quintic Hermitian B-splines). The knot vectors are noted T i , the generated B-spline spaces are noted V i and the corresponding B-spline basis functions are noted 'ik . The problem we have to solve is to design the wavelets, and compute the four lters fH i ; Gi ; H~ i ; G~ i g for each i.

6.1.1 Principle The rst step of the scheme computes matrices H i . The biorthogonal wavelets theory says that matrices H i express how the basis functions of V i can be de ned as linear combinations of the basis functions of V i+1 . Hence matrices H i can be computed with the well-known Oslo algorithm [1], by inserting the corresponding knots from T i to T i+1 . T0 T1 T2 T3 . . .

Figure 6: Sequence of knot vectors generating nested quintic HB-splines (associated tags represent multiple knots)

For endpoint-interpolating quintic HB-splines, we get:

10

2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 H i0 = 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4

1 1 2 1 4 1 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .. .

0 1 2 1 2 3 8 1 8 0 0 0 0 0 0 0 0 0 0 0 0 0 .. .

0 0 1 4 3 8 3 8 1 8 0 0 0 0 0 0 0 0 0 0 0 0 .. .

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 8 0 0 0 0 7 1 16 16 0 0 0 19 1 1 0 0 32 4 32 9 3 1 16 8 16 0 0 3 5 3 16 8 16 0 0 1 3 9 16 8 16 0 0 1 1 19 1 32 4 32 8 0 0 161 167 167 161 1 0 0 81 19 32 4 0 0 0 169 83 0 0 0 163 85 0 0 0 161 83 0 0 0 321 41 0 0 0 0 161 0 0 0 0 0 .. .. .. .. .. . . . . .

0 0 0 0 0 0 0 0 0 0 0 1 32 1 16 3 16 9 16 19 32 7 16 1 8 .. .

                  .. .

3 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 5

.

The second step computes the matrices Gi that de ne the wavelets [9]. If no care is taken, the semi-orthogonality condition would lead to a system of linear equations involving all the basis functions, and the result would be a set of non-compactly supported wavelets. Fortunately as there are k2 unknowns for k equations, there is a huge degree of freedom to select compactly supported wavelets by de ning each wavelet with only a given subset of the linear system [9]. Moreover, since all the scalar products calculated between the basis functions are exact and rational, the resulting coordinates of the wavelets will also be rational. In the case of endpointinterpolating quintic Hermitian B-splines, we get:

11

2

2 6 6 6 6 6 6 6 6 G0 = 6 6 6 6 6 6 6 6 6 4

2 11 ?8 11 1 ?5 11 15 44 ?3 22 1 22 0 0

0 ?1 5 7 10 ?3 4 1 ?3 4 7 10 ?1 5 0

0 0 1 22 ?3 22 15 44 ?5 11 1 ?8 11 2 11

2 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6  i  2 G =6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4

3 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 5

6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 G1 = 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 4

465 2389 ?3621 4778 1 ?71333 172008 94711 344016 ?59063 688032 319 38224 ?193 114672 7 38224 ?1 688032 0 0 0 0 0

0 ?124416 452453 410328 452453 ?394408 452453 1 ?260457 452453 96828 452453 ?47892 452453 11244 452453 ?879 452453 155 452453 0 0 0 0

0 0 78 523 ?3202 7845 28031 31380 ?10073 10460 1 ?521 523 263 523 ?1727 10460 2369 31380 ?36 2615 0 0 0

0 0 0 ?36 2615 2369 31380 ?1727 10460 263 523 ?521 523 1 ?10073 10460 28031 31380 ?3202 7845 78 523 0 0

0 0 0 0 155 452453 ?879 452453 11244 452453 ?47892 452453 96828 452453 ?260457 452453 1 ?394408 452453 410328 452453 ?124416 452453 0

465 0 0 0 0 0 0  2389 ?3621 ?124416 0 0 0 0 0  4778 452453 78 410328 0 0 0 0  1 452453 523 ?71333 ?394408 ?3202 12265 0 0 0  172008 452453 7845 864906 ? 1209329 223 28031 94711 0 0  344016 1 31380 15568308 465532 13 ?59063 ?260457 ?10073 2640175 ?2527 0  688032 452453 10460 15568308 931064 2594718 319 96828 16035 ? 13 ? 664021 0  38224 452453 1 1297359 465532 20593 2509 ? 67599 ?193 ?47892 ?521 1 0  114672 452453 523 465532 432453 7 11244 263 ?181247 132843 ?4147 0  38224 452453 523 185337 465532 144151 12265    ?1 ?879 ?1727 13389953 ?626009 329104 688032 452453 10460 15568308 931064 1297359 864906 155 2369 ?10998823 1 ?10998823 ?1209329    0 452453 31380 15568308 15568308 15568308 ?36 329104 ?626009 13389953 2640175    0 0 2615 1297359 931064 15568308 15568308 ?4147 132843 ?181247 ?664021 0 0 0 144151 465532 185337 1297359    2509 ?67599 0 0 0 1 1  432453 465532 16035 ? 664021 ? 181247 ? 13 0 0 0 20593 465532 1297359 185337    13 ?2527 2640175 13389953 0 0 0 2594718 931064 15568308 15568308    223 ?1209329 ?10998823 0 0 0 0 465532 15568308 15568308    329104 12265 0 0 0 0 0 864906 1297359    ?4147 0 0 0 0 0 0 144151    .. .. .. .. .. .. .. .. . . . . . . . .

0 0 0 0 0 ?1 688032 7 38224 ?193 114672 319 38224 ?59063 688032 94711 344016 ?71333 172008 1 ?3621 4778 465 2389

3 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 5

3 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 5

  The last step computes the dual lters, H~ i and G~ i, by inverting H i Gi (see equations (1) and (2).

12

6.1.2 Number of curve segments It is usually practical to consider curves with 2i segments: the nested spaces are then obviously indexed by i. Yet, for the implementation, this constraint can be slightly reduced. For the re nement step, no special number of segments is required, since each segment is simply divided in two new segments. For the analysis step, the classical approach is to produce one segment by grouping two segments of the curve. Hence, having an even number of segments is sucient to achieve the analysis step. This way, by using a local subdivision when needed (odd number of segments), one can easily adapt the scheme to any number of segments.

6.1.3 Comparison with our Hermitian approach The semi-orthogonality is a nice property for a set of wavelets because it guarantees that each of the successive projections is the best least-square approximation for this space. Figure 7 shows the result of the multiresolution for the same example used in Figure 5.

(a)

(b)

(c)

(d)

Figure 7: HB-spline hierarchical representation with semi-orthogonal wavelets. The original curve (a) is the same as in Figure 5.

The results in Figure 7 are slightly smoother than in Figure 5, especially for very low resolution, but the approximation generated by Hermitian wavelets is not really di erent from the one generated by semi-orthogonal wavelets. We think that this slightly better approximation does not balance out the two major drawbacks of semi-orthogonal wavelets. First, the computation involved is quite heavy, and mainly relies on the structure of the knot vector, making the implementation of an automatic process hard to achieve. Moreover, for the case of non-uniform knot vectors, or at least for multiple knots, the calculus becomes even more heavy, even if it remains always theoretically possible. For Hermitian approach, the computation is very simple, and easy to implement. Moreover, the step-by-step construction 13

potentially allows portability from one spline model to another. The second drawback of semi-orthogonal wavelets comes from the fact that they are constructed to be compactly supported, and of minimal support. Thus, dual functions are totally  ignored during the calculus: dual lters are simply obtained by inverting the matrix H i Gi . The resulting dual lters are generally dense, though they still allow linear-time computation, by using some tricks [7]. Yet, it would be much more ecient to sacri ce the minimal support property to the property of compactly supported dual functions. To our knowledge, this is still an opened problem. By comparison, in the case of Hermitian wavelets, dual functions are immediately obtained, by reversing the ladder structure.

7 Conclusion and Future Work In this paper we have shown how the Lifting Scheme o ers new ways of developping hierarchical representations for spline curves. It is particularly ecient and easy to implement in the case of HB-splines. Moreover, the locality of this approach permits an easy extension to objects of higher dimensions (surfaces, volumes). The basic idea is to weaken the semiorthogonality property used in traditional spline wavelets, in order to gain an easy and ecient formulation, and a very exible construction done step by step. This should open the way to ecient user interfaces, especially when applying the idea of multiresolution to additional dimensions for graphic objects, such as color, thickness, roughness, transparency, etc. A direction that might be interesting to study is to introduce some kind of orthogonality in the scheme. We think that a possible solution would be to introduce some local criteria that would be quite a good compromise, between the full semi-orthogonality, and the complete loss of the best least square approximation.

References [1] R. Bartels, J. Beatty, B. Barsky, An Introduction to Splines for Computer Graphics and Geometric Modeling, Morgan Kaufmann, 1987. [2] C. Blanc, C. Schlick, X-Splines: a Spline Model Designed for the End-User, Proc. SIGGRAPH'95, p377-386, 1995. [3] Gershon Elber and Craig Gotsman. Multiresolution Control for Nonuniform Bspline Curve Editing. CRC-HP Israel Science Center, Technion City, Haifa 32000, Israel. e-mail: [email protected]. [4] R. Kazinnik and G. Elber. Orthogonal Decomposition of Non-Uniform Bspline Spaces using Wavelets. Eurographics 97. CRC-HP Israel Science Center, Technion City, Haifa 32000, Israel. e-mail: [email protected]. [5] C. Blanc & C. Schlick. HB-Splines: a Blend between Bezier Curves and B-Splines. technical report, LaBRI, 1996. (submitted for publication). [6] I. Daubechies, W. Sweldens, Factoring wavelet transforms into Lifting steps, Bell Laboratories, September 1996. [7] A. Finkelstein & D.H. Salesin, Multiresolution Curves, Computer Graphics, 28(4), p. 261-268, 1994. [8] David R. Forsey and Richard H. Bartels, Hierarchical B-Spline Re nement, Computer Graphics, 22(4), p. 205-212, August 1988. 14

[9] T. Lyche, K. Morken, Spline Wavelets of Minimal Support, Numerical Methods of Approximation Theory, 9, p. 177-194, 1992. [10] Eric J. Stollnitz, Tony D. DeRose, and David H. Salesin, Wavelets for Computer Graphics: A Primer, Part 2, Computer Graphics and Applications, p. 75-85, July 1995. [11] W. Sweldens, P. Schroder, Building Your Own Wavelets at Home, Course Notes of SIGGRAPH 96, 1996. [12] W. Sweldens, The Lifting Scheme: A custom-design construction of second generation wavelets, Appl. Comput. Harmon. Anal., 2(3), p. 186-200, 1996. [13] Wim Sweldens, The Construction and Application of Wavelet in Numerical Analysis, PhD thesis, Katholieke Universiteit Leuven, Belgium, 1995. [14] M. Daehlen, T. Lyche, Decomposition of Splines, Mathematical Methods in Computer Aided Geometric Design II, p. 135-160, 1992. [15] I. Daubechies, Ten Lectures on Wavelets, CBMSF-NSF Regional Conf. Series in Appl. Math.w, vol. 61, Society for Industrial and Applied Mathematics, Philadelphia, PA, 1992. [16] Fernandez, Periaswamy, Sweldens, LIFTPACK: A Software Package For Wavelet Transforms using Lifting, in Unser, Aldroubi, Laine editors, Wavelet Applications in Signal and Image Processing IV, Proc. SPIE 2825, 1996. [17] C. K. Chui, E. Quak, Wavelets on a Bounded Interval, Numerical Methods of Approximation Theory,9, p. 53-75, 1992.

15

Suggest Documents