progressive texture synthesis on geometric surfaces parametrised by biquadratic rational bezier...

10
PROGRESSIVE TEXTURE SYNTHESIS ON GEOMETRIC SURFACES PARAMETRISED BY BI-QUADRATIC RATIONAL B ´ EZIER PATCHES Rupesh N. Shet 1 , H. E. Bez 1 , E. A. Edirisinghe 1 1 Department of Computer Science, Loughborough University, UK Keywords:Texture Synthesis, Progressive Texture , Discrete Wavelet Transform, EZW, Rendering Abstract Progressive texture synthesis can provide an added functional advantage to existing texture synthesis algorithms, which are time consuming and fail to deliver in some application areas. To provide practical solutions to this challenge we have previously proposed a Discrete Wavelet Transform (DWT) based texture synthesis algorithm for 2D surfaces. In this paper we propose the extension of this approach to 3D progressive-texture synthesis. The proposed 3D progressive- texture synthesis algorithm makes use of the EZW (Embedded Zero-tree Wavelet) idea proposed by Shapiro, which is capable of prioritising the coefficients of a DWT decomposed image according to their visual significance. We demonstrate the use of the proposed algorithm on progressive texturing geometric surfaces such as Ring Dupin Cyclides, Toruses, Spheres, parametrised by rational B´ ezier patches. We provide experimental results to prove the effectiveness of the proposed approach, when synthesising textures of regular, irregular and stochastic nature. Further experimental results are provided to illustrate the practical use of the proposed progressive texture synthesis algorithm in resource constrained application domains. 1 Introduction Texturing surfaces is the key to enhancing the realism of scenes, particularly in artificially created surfaces. As a result, a number of ‘image based’ texture synthesis and texture mapping algorithms have been proposed in the past decade. However all texture synthesis algorithms are challenged by the high statistical variability of textures involved in the synthesis. Therefore texture synthesis continues to be an open problem in computer graphics and has attracted much research interest due to popular applications in animated movie production, computer games, education, architecture, artwork and virtual productions. A major proportion of texture synthesis research has focused on texture synthesis on planar surfaces. However, recently a number of approaches have been proposed for texture synthesis on 3D geometric and arbitrarily shaped surfaces [27, 24, 29, 2, 23, 13, 16, 20, 11, 10, 8, 18, 9]. Existing texture synthesis approaches can be broadly classified into two groups, namely, pixel based texture synthesis [26, 27, 24, 29, 2, 23, 9, 18] approaches and patch based texture synthesis [13, 16, 20, 11, 10, 8] approaches. Pixel based texture synthesis is performed considering a pixel as the basic unit rather than a complete patch, where as the focus of our current research is on patch based texture synthesis. Patch based texture synthesis approaches attempt to synthesis texture by copying selected regions of pixels from a given sample texture and stitching them together. These approaches overcome some of the limitations of pixel based approaches as the techniques are relatively computationally inexpensive. The early work of Neyret-cani [13] proposed a technique that is based on pre-computed triangular texture samples. However, good synthesis results were obtained only for isotropic textures. Praun [16] introduced the lapped texture synthesis technique where oriented texture patches are placed in an overlapping fashion on a surface. However experiments were limited to a specific class of texture. Soler [20] introduced hierarchical texturing to overcome drawbacks of the previous algorithms. The basic idea was to capture low-frequency patterns while preserving high frequency randomness in texture. The generalised idea is to pick up texture patches from the sample image and map them onto the surface so that they fit with their neighbours. The running time is closely related to the number of resulting patches, which depends on both the mesh geometry and the texture sample. Sebastian et al [11] proposed an algorithm that separated a texture pre-processing step from an actual texture synthesis stage. Pre-processed texture is stored and used when needed. Access of the stored texture data is very slow and thus a look-up-table is used to speed up memory access. In [10] Wang et al proposed an algorithm based on global conformal parameterization of surfaces, where the textures are preserved on surfaces without seams or cracks. Moreover, the parameterization can segment the surface into patches, where each patch is mapped to a planar rectangle. The algorithm adopts a complex procedure in parameterization, and in creating multi-scale samples, leading to an increased computational cost in the synthesis process. Chi-Wing Fu et al [8] proposed a texture tiling mechanism, where a low distortion conformal quad based map is created for the input surface. It produces proper tile orientations on all quad faces so that texture can be laid out on quads and mapped back to the input surface accordingly. This texture synthesis algorithm is based on the Image quilting approach[1]

Upload: independent

Post on 09-Dec-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

PROGRESSIVE TEXTURE SYNTHESIS ON GEOMETRICSURFACES PARAMETRISED BY BI-QUADRATIC RATIONAL

BEZIER PATCHES

Rupesh N. Shet1, H. E. Bez1, E. A. Edirisinghe1

1 Department of Computer Science, Loughborough University, UK

Keywords:Texture Synthesis, Progressive Texture , DiscreteWavelet Transform, EZW, Rendering

Abstract

Progressive texture synthesis can provide an added functionaladvantage to existing texture synthesis algorithms, whichare time consuming and fail to deliver in some applicationareas. To provide practical solutions to this challenge wehave previously proposed a Discrete Wavelet Transform(DWT) based texture synthesis algorithm for 2D surfaces. Inthis paper we propose the extension of this approach to 3Dprogressive-texture synthesis. The proposed 3D progressive-texture synthesis algorithm makes use of the EZW (EmbeddedZero-tree Wavelet) idea proposed by Shapiro, which iscapable of prioritising the coefficients of a DWT decomposedimage according to their visual significance. We demonstratethe use of the proposed algorithm on progressive texturinggeometric surfaces such as Ring Dupin Cyclides, Toruses,Spheres, parametrised by rational Bezier patches. We provideexperimental results to prove the effectiveness of the proposedapproach, when synthesising textures of regular, irregular andstochastic nature. Further experimental results are providedto illustrate the practical use of the proposed progressivetexture synthesis algorithm in resource constrained applicationdomains.

1 Introduction

Texturing surfaces is the key to enhancing the realism ofscenes, particularly in artificially created surfaces. As aresult, a number of ‘image based’ texture synthesis and texturemapping algorithms have been proposed in the past decade.However all texture synthesis algorithms are challenged by thehigh statistical variability of textures involved in the synthesis.Therefore texture synthesis continues to be an open problemin computer graphics and has attracted much research interestdue to popular applications in animated movie production,computer games, education, architecture, artwork and virtualproductions.

A major proportion of texture synthesis research has focusedon texture synthesis on planar surfaces. However, recently anumber of approaches have been proposed for texture synthesison 3D geometric and arbitrarily shaped surfaces [27, 24, 29, 2,23, 13, 16, 20, 11, 10, 8, 18, 9]. Existing texture synthesis

approaches can be broadly classified into two groups, namely,pixel based texture synthesis [26, 27, 24, 29, 2, 23, 9, 18]approaches and patch based texture synthesis [13, 16, 20, 11,10, 8] approaches.

Pixel based texture synthesis is performed considering apixel as the basic unit rather than a complete patch, whereas the focus of our current research is on patch based texturesynthesis. Patch based texture synthesis approaches attempt tosynthesis texture by copying selected regions of pixels froma given sample texture and stitching them together. Theseapproaches overcome some of the limitations of pixel basedapproaches as the techniques are relatively computationallyinexpensive. The early work of Neyret-cani [13] proposeda technique that is based on pre-computed triangular texturesamples. However, good synthesis results were obtained onlyfor isotropic textures. Praun [16] introduced the lapped texturesynthesis technique where oriented texture patches are placedin an overlapping fashion on a surface. However experimentswere limited to a specific class of texture. Soler [20] introducedhierarchical texturing to overcome drawbacks of the previousalgorithms. The basic idea was to capture low-frequencypatterns while preserving high frequency randomness intexture. The generalised idea is to pick up texture patches fromthe sample image and map them onto the surface so that theyfit with their neighbours. The running time is closely relatedto the number of resulting patches, which depends on both themesh geometry and the texture sample. Sebastian et al [11]proposed an algorithm that separated a texture pre-processingstep from an actual texture synthesis stage. Pre-processedtexture is stored and used when needed. Access of the storedtexture data is very slow and thus a look-up-table is usedto speed up memory access. In [10] Wang et al proposedan algorithm based on global conformal parameterization ofsurfaces, where the textures are preserved on surfaces withoutseams or cracks. Moreover, the parameterization can segmentthe surface into patches, where each patch is mapped to aplanar rectangle. The algorithm adopts a complex procedure inparameterization, and in creating multi-scale samples, leadingto an increased computational cost in the synthesis process.Chi-Wing Fu et al [8] proposed a texture tiling mechanism,where a low distortion conformal quad based map is createdfor the input surface. It produces proper tile orientations onall quad faces so that texture can be laid out on quads andmapped back to the input surface accordingly. This texturesynthesis algorithm is based on the Image quilting approach[1]

and therefore inherits all the drawbacks of image quiltingalgorithms such as, random selection of patches, expensivecost of minimum boundary cut, somewhat limited applicabilityto isotropic textures and computation cost due to the need ofgenerating pre-synthesis textures.

All above texture synthesis techniques use a triangular mesh,which results in seams at edges.The size of triangles usedin meshes also varies, which makes prominent the visualartefacts on the surface. Further to this, the graphical objectwill use extensive bandwidth in transmission since the surfacemesh representation depicting the objects shape and textureinformation depicting its appearance are in uncompressedformat. Therefore their applicability in constrained bandwidthchannels is limited. Further, animation and deformationof triangular meshes is relatively difficult and costly. Toovercome many of the above problems and to be usedeffectively in bandwidth limited transmission media, wepropose an algorithm that enables fast, progressive-texturesynthesis on bi-quadratic rational Bezier patches, allowing anygeometric surface that can be parametrised by such patchesto be completely textured. Within our present research, wehave used a Dupin Cyclide [6, 15], a Sphere and a Torus asexamples to demonstrate texture synthesis; these surfaces arewidely used in computer graphics and in the development of anumber of CAD tools. It is noted that the proposed are the firstattempts of progressive or non-progressive texture synthesison geometric surfaces generated using bi-quadratic rationalBezier equations.

The remainder of the paper is organised as follows: sections-2 and 3 summarise the fundamental theory of rationalparametrisation and introduce the reader to the parametrisationof the surface of a Dupin cyclide(an example for study) bybi-quadratic rational Bezier patches. Hence readers whoare familiar with these concepts can forego reading thesesections. Section-4 presents the proposed novel progressivetexture synthesis algorithm on surfaces along with detaileddiscussions on the underlying techniques used, such asmultiresolution DWT representation of texture, texturesynthesis on a single Bezier patch, using a modified graph-cuttechnique [25] to improve quality of seams between Bezierpatches and the use of Shapiro’s EZW algorithm [17] for DWTcoefficient prioritisation in providing progressive synthesisof texture. Section-5 provides experimental results and theiranalysis. Finally, Section-6 concludes, with an insight topossible improvements and future variations.

2 Rational parametrisation

Rational parametrisation is a de-facto standard representationin computer graphics and geometric modeling software,allowing portability across applications and systems. Inaddition to possessing desirable geometric properties, rationalparametrisation:

• requires the evaluation of only polynomial functions,

• gives rise to a compact data-structure,

• facilitates interactive control and animation of shape,

• is complete in the sense that approximation of any shapeto a specified tolerance δ can be achieved, and exactparametrisation (i.e., δ = 0) is often possible.

Rational parametrisations of surfaces comprise local atlases, orpatches, of the form:

τ(s, t) =

∑n,mk,j=0 bn,k(t)bm,j(s)v∗k,j∑n,mk,j=0 bn,k(t)bm,j(s)ωk,j

, 0 < s, t < 1,

where ωk,j are the weights and v∗k,j are the Bernstein vectors.If all the weights are non-zero this may be expressed as

τ(s, t) =

∑n,mk,j=0 bn,k(t)bm,j(s)ωk,jvk,j∑n,m

k,j=0 bn,k(t)bm,j(s)ωk,j, 0 < s, t < 1,

where vk,j = v∗k,j

ωk,jare the Bezier vertices. The values of n and

m determine the degree of the parametrisation; if n = m = 2the patch is said to be bi-quadratic and if n = m = 3 it isbi-cubic.

Many of the desirable geometric properties of rationalrepresentation, eg the convex hull property and theexistence of Bezier vertices, are lost if negative or zeroweights occur - hence, in computer graphics and geometricmodeling applications, positive weight parametrisations arealways preferred. For computational efficiency, low degreeparametrisations are desirable.

3 An Example: The parametrisation of Ring DupinCyclides by trigonometric functions

Dupin cyclides may be defined implicitly as:

(x2 + y2 + z2 − µ2 + b2)2 − 4(ax− cµ)2 − 4b2y2 = 0;

where the parameters a, b and c satisfy c2 = a2 − b2. Thesurfaces for which c < µ ≤ a have found application ingeometic modelling, see [12] and [14], and are known asringed cyclides. Ringed cyclides with c = 0 are torii , andthe ringed cyclides may therefore be regarded as generalisedtorii. Figure 1 (a) shows a ringed cyclide for which a = 6,b = 4

√2, (c = 2) and µ = 3. Cyclides admit trigonometric

parametrisations which may be written as:

τu(θ, φ) =1

a− c cos θ cos φ

µ(c− a cos θ cos φ) + b2 cos θb(a− µ cos φ) sin θb(c cos θ − µ) sinφ

for 0 < θ < 2π, 0 < φ < 2π. Figure 1 (b) shows theorigins and directions of the angular parameters, θ and φ, onthe surface.

(a) (b)

Figure 1: (a): The surface, (b): The trigonometricparametrisation τu of the surface

3.1 The rational parametrisation induced from τu

The restriction of the trigonometric parametrisation τu to theboundary defined by

θ0 ≤ θ ≤ θ1 φ0 ≤ φ ≤ φ1

is written as τu,∂ and may be used to ‘induce’ rationalparametrisations of the same surface patch as that parametrisedby τu,∂ . In particular it may be used to induce bi-quadraticrational Bezier representations - see [7] and [3]. The inductionprocess discussed in [7] produces a rational bi-quadratic patch,that parametrises the same region of the surface as τu,∂ , withweights, wij , 0 ≤ i, j ≤ 2, given by:

w00 = a− c x0θx0φ, w01 = aw1φ − c x0θx1φ,w02 = a− c x0θx2φ

w10 = aw1θ − c x1θx0φ, w11 = aw1θw1φ − c x1θx1φ,w12 = aw1θ − c x1θx2φ

w20 = a− c x2θx0φ, w21 = aw1φ − c x2θx1φ,w22 = a− c x2θx2φ

where

w1θ = cos(θ1 − θ0)/2, w1φ = cos(φ1 − φ0)/2,x0θ = cos(θ0), x0φ = cos(φ0),x1θ = cos(θ0 + θ1)/2, x1φ = cos(φ0 + φ1)/2,x2θ = cos(θ1), x2φ = cos(φ1),y0θ = sin(θ0), z0φ = sin(φ0),y1θ = sin(θ0 + θ1)/2, z1φ = sin(φ0 + φ1)/2,y2θ = sin(θ1), z2φ = sin(φ1).

It follows from a little analysis of the formulæ for the weightsthat, for any cyclide (i.e., for any a, b, (c > 0), µ), thereexist 16, positive-weight, bi-quadratic Bezier patches thatparametrise the entire surface. Further, the 4-way symmetryof the cyclide can be exploited, enabling 12 of the 16 patchesto be determined, by vertex transformations, from the 4 patchesdefined by the following angular displacements:

• 0 ≤ φ ≤ π2 , 0 ≤ θ ≤ π

2

• π2 ≤ φ ≤ π, 0 ≤ θ ≤ π

2

• 0 ≤ φ ≤ π2 , π

2 ≤ θ ≤ π

• π2 ≤ φ ≤ π, π

2 ≤ θ ≤ π.

These 4 patches are shown, with their Bezier polygons, inFigure 2. These patches parametrise 1

4 of the surface and their

(a) (b)

Figure 2: (a) 14 -cyclide comprising 4 positive weight quadratic

rational Bezier patches,(b) 16 patch NURBS representationobtained from 1

4 patch

weights the computation of are given in the appendix of thepaper. As 0 < c < a, it is clear that all the patches havepositive weights. The Bezier vertices of the four patches arealso given in the appendix of the paper.

A 16 Patches cyclide NURBS represenataion which isgenerated from the 1

4 patch equation are used in our proposedalgorithm. Note that different size of patches can be created fordifferent models. In general the proposed algorithm supportsany numebr of patches.

4 Proposed Texture Synthesis Algorithms

4.1 Overview of our approch

A high level block diagram of the proposed texture synthesisalgorithm can be illustrated as in Figure 3. The geometric

Figure 3: Proposed block diagram for texture synthesis ongeometric surfaces

surface (a ring Dupin Cyclide in our experiments) to betextured, is first parametrised into a collection of Bezierpatches. Subsequently, following a procedure illustrated inmore detail in Figure 4, texture is independently synthesizedinto individual Bezier patches (see section 4.2 and 4.3). Thetexture synthesis techniques adopted results in a seamless

texturing within patches. Depending on whether or notseamlessly progressive texture synthesis is required, theuse of the EZW algorithm (see section 4.6) is consideredfor coefficient prioritisation/selection in forming the textureblocks (see Figure 4) of a Bezier patch. The Bezier patches aresubsequently embedded into the surface mesh representationobtained using the rational parametrisation approach presentedin section 2 and 3. The visibility of seams between Bezierpatches is then reduced using a minimum boundary cuttechnique, i.e. graph-cut(see section 4.4). Figure 4 illustratesthe block diagram of the fundamental unit of the proposedoverall texture synthesis algorithm of Figure 3, i.e. the blockdiagram depicting the detailed procedure adopted in texturesynthesis on a single bi-quadratic rational Bezier patch. An

Figure 4: Texture synthesis on a single bi-quadratic rationalBezier patch.

overview of the operation of the fundamental unit of texturesynthesis illustrated in Figure 4 can be given as follows: Thesample texture is first decomposed using a n-level DWT (seesection 4.2). A random decomposed block of this sample isinitially picked, converted into pixel domain using a n-levelIDWT procedure and subsequently embedded (see section4.3) as a starting, corner block of a patch of the 3D surface(i.e. Dupin Cyclide). An overlap area of this block with thesubsequent texture block to be synthesized is selected, andconverted into the DWT domain using a n-level forward DWT.The LL and HH bands of this overlap area are then used tofind a suitably matching block from the decomposed sampletexture image (see section 4.2). The best matching blockis subsequently converted back into the pixel domain usingan n-level IDWT and is placed adjacent to the previouslysynthesized texture block. A edge-blending algorithm [22]is used to improve the quality of the seam between the twoadjacent blocks. The above process is continued until theentire surface of the patch is textured. The operational detailsof the main building blocks of figures 3 and 4 can be providedas follows:

4.2 Multiresolution, Discrete Wavelet Transforms (DWT)decomposition of the sample texture

Textured images contain a large amount of perceptual data.Therefore the number of bits required to represent/encode atexture image may be high. However typical images consistof a wide range of frequency components spanning thehuman visual frequency band. Some of theses frequencycomponents have a significant effect in human perceptionwhile some others have very low significance. Fortunatelytexture images are often of this type. The DWT, popularly usedin image compression to achieve signal compaction, provide acompact multi resolution representation of an image. It givesa signal representation/decomposition in correspondence toa narrow band, low frequency range and a wide band, highfrequency range. Using the concept of scale, data representinga continuous trade-off between space and frequency can bemade available for further processing. In our algorithm weuse a two-dimensional DWT to obtain a multi-resolutiondecomposition of the texture sample.

Texture synthesis commences with the application of a n-level (n=3 is used in our experiments) 2D DWT (e.g. HaarTransform) decomposition on the sample texture image,Isample (see Figure 5). The application of a single level2D DWT on the sample texture divides it into a set of fourcomponent images, i.e. sub-bands, as illustrated in Figure 5.This can be mathematically expressed as

(ILL0, IHL0, ILH0, IHH0) =DWT (Isample) (1)

Where ILL0, IHL0, ILH0, IHH0 are the image sub-bands corresponding respectively to the low-resolutionapproximation, vertical details, horizontal details and diagonaldetails of the sample texture and DWT() represent the forwarddiscrete wavelet transform function. Similarly 2nd level and3rd level decomposition are obtained by applying DWT to thelow-resolution sub-bands of previous decomposed level. Thiscan be mathematically represented as follows.

(ILL1, IHL1, ILH1, IHH1) = DWT (ILL0) (2)

(ILL2, IHL2, ILH2, IHH2) = DWT (ILL1) (3)

(ILLn, IHLn, ILHn, IHHn) = DWT (ILLn−1) (4)

From the n-level decomposition above, we extract the lowest-resolution and the corresponding diagonal detail band, i.e.ILLn−1 and IHHn−1. To simplify the use of notations, wegeneralise the notation used in equations [1-4]as Ipl wherep ∈ (LL, HL,LH, HH) and l ∈ (0, 1, 2, ....n− 1).

Once sample texture is multi-resolution DWT decomposedas described above, the next step is the placement of textureblocks from the sample texture on a Bezier patch thatrepresents a section of the surface of the geometric surface.

4.3 Texture synthesis of Bezier patches

Refer Figure 4 Part II, Let Bpl(x,y) represent a general squareblock of the decomposed sample image located at position

Figure 5: Transforming the sample texture into amultiresolution image representation with three leveldecomposition.

(x, y) relative to the sub-bands (p, l)’s origin. [Note that inour experiments we have set the size of the above block tobe 25−l × 25−l, where l(= 0, 1, 2)]. Initially we randomlypick a block , BLLn−1(x,y) from the lowest resolution,(LL,n-1) sub-band of decomposed sample image. Subsequentlyby combining this block with the corresponding blocks ofthe other sub-bands and performing an n-IDWT, the randomlyselected block is obtained in the original pixel domain, (i.e.BLL), as follows:

BLLn−2 = IDWT (BLLn−1, BHLn−1, BLHn−1, BHHn−1)(5)

BLL = IDWT (BLL0, BHL0, BLH0, BHH0) (6)

After randomly picking up the block as described above andconverting it into its pixel domain, the next stage is to mapthe texture block on to a Bezier patch of the 3D surface. Itis noted that by following the parametrisation procedure ofsection 2, the Bezier patches of the surface will be dividedinto a quadrilateral mesh, where each mesh element is referredto as a surface division. The above mentioned randomlypicked texture block is embedded to surface division (seeFigure 10) by following the texture embedding method detailedin section 4.5. This procedure is popularly known in literatureas texture mapping.

Once the first, randomly selected block is mapped as above,an overlapping area of this block (with the adjacent, potentialblock to be mapped), is selected to be used in locating thenext blocked from the sample texture to be mapped onto thepatch. Note that in our experiments this area was 8 pixelswide, and was selected from the left end, bottom end or bothabove ends of the block (depending on the location of theoriginal texture block on the Bezier patch). The overlap areais subsequently n-level decomposed (n=3 in our experiments)and used to find a suitable match for the adjacent blockfrom the decomposed sample texture using minimum sumof squared-differences (see figure6). To speed up the blockmatching we only use all coefficients of the LLn and HHn

sub-bands for matching. In our experiment where n=3 and asample texture size of 128 × 128 is used, out of the 16384possible coefficients, we only use 256 coefficient i.e. 1/64 oftotal number coefficient in the sample texture. Therefore thematching speed is significantly enhanced.

Although adjacent blocks on a Bezier patch are matched usingan overlapping area, block seam mismatches are likely toexist. However due to the efficiency of matching in the DWTdomain[28] these seam mismatches are minimal as comparedto using an alternative patch based texture synthesis techniqueand are therefore easily eliminated using an edge-blendingapproach[22]. The above process of block matching, selection

Figure 6: The matching criteria

and placement is continued until the texture of the entire patchis synthesized. As individual Bezier patches are texturedindependently, it is likely that visible seam boundaries existbetween patches (see Figure 7). In the following section wedescribe the use of a minimum boundary cut technique tominimise these artefacts.

(a) (b)

Figure 7: Artifacts at Bezier patch edges.

4.4 Using a modified graphcut technique to improveBezier patch seams

To remove the edge artefacts between Bezier patches (seeFigure 7) we use a modified version of the popular Graphcut

technique proposed in [25]. Its operation can be explained asfollows:

4.4.1 Edge block selection and matching

The idea of this stage is to replace B’ezier patch seam regions,with visible straight line artefacts, with matching regions fromthe sample texture, which can be better blended with thenon-seam region texture. To accomplish this task a block ofsize 25−l × 25−l (l=3 in our experiments), which we be calledan edge block is first selected from the patch boundary (seeFigure 8(a)). It is noted that seams are included within thisedge block. Subsequently we apply an n-level (n=3) DWT onthe selected edge block to create a DWT decomposed edgeblock. The LLn and the HHn sub-bands of the decomposedblock is then used to search the decomposed sample texturefor the best matching block is found using block matchingcriteria (see Figure 6) . Once the best matching block is found(see Figure 8(b)) then can be combined with the edge blockusing the graphcut approach in transform domain (see section4.4.2) to minimise seam artefacts. After an n-level IDWT isperformed to obtain a pixel block.

4.4.2 Graphcut Approach

Once the best match to the edge block is found as above,we apply the graphcut technique of [25] which is capable ofoptimally replacing the seam region of the edge block withregions from the best matching block (see section 4.4.1) toprovide an optimal minimisation of boundary artefacts (seeFigure 8(c)). We apply Graphcut technique in transformdomain to reduce alogrithm complexsity and get best possibleseams. Readers who are interested in the details of the graphcutapproach are referred to [19, 25]. The above modified edgeblock is finally embedded back in its original position in theBezier patch seam area. This process is continued for all edgeblocks along the Bezier patch seams. The results illustrated inFigure 9 when compared to the results illustrated in Figure 7proves the improved quality at Bezier patch seams.

(a)Artifact block (b)Best Block (c)Embedded block

Figure 8: Seam selection

4.4.3 Feathering

Although the grapghcut approach produces an optimum seam,the optimality is restricted by the quality of the original edgeblocks. Therefore it is likely that some artefacts still remain

(a) (b)

Figure 9: Refined Bezier patch edges

after the application of the graphcut approach. To address thisproblem we use the popular feathering [4] approach that usessuitable weighting factors to combine those pixels at the seams.Feathering results in a further improvement of the seam quality.

4.5 Embedding texture on Bezier patches

To embed texture on Bezier patches, we use a modifiedversion of the approach proposed by Soucy et al. [21]. Themodification required is due to the use of a quadrilateral meshin the proposed approach as against a triangular mesh in theoriginal approach of [21]. The texture of each quadrilateral inthe original mesh is obtained via a direct mapping [21] from thecorresponding quadrilateral in texture space. The texture spacereferred to above is created as a result of the block placementand matching procedure on Bezier surfaces, described in detailin section 4.3. The quadrilaterals in texture space that we useare rectangle in nature and are uniform in size. It is notedhowever that it is also possible to use quadrilaterals that area better fit to the mesh shape and size. It is further noted thatthe above texture embedding can be performed at interactive(real-time) rates. In our experiments all surfaces are renderedat interactive rates using 1024 × 1024 sample textures. Thesurface models are composed of between 1000 and 50,000quadrilaterals.

Figure 10: Texture Embedding

4.6 Progressive texture on surfaces using EmbeddedZerotree Wavelet (EZW) algorithm

The Zerotrees of wavelet coefficient concept was originallyintroduced by Shapiro [17] in progressive encoding of images.It is based on two important observations:

1. Natural images in general have a low pass spectrum.Therefore when an image is wavelet transformed theenergy in the subbands decreases as the scale decreases(low scale means high resolution), so the waveletcoefficients will, on average be smaller in the highersubbands than in the lower subbands.

2. Large wavelet coefficients are visually more importantthan smaller wavelet coefficients.

EZW provides a compact representation of perceptuallysignificant coefficients and multiresolution constructioncapability of an image. The idea is to organize DWTcoefficients of an image (see Figure 5) in a prioritized order ofvisual significance, depending on their position and magnitudein the DWT decomposition and to subsequently encode theordered list of coefficients following an embedded codingalgorithm. In an embedded coding algorithm the encoder canterminate the encoding at any point there by allowing a targetbit rate or target distortion metric to be met exactly. On theother hand, given a bit stream, a decoder can cease decodingat any point in the bit stream. Thus it is capable of producingexactly the same image that would have been encoded at thebit rate corresponding to the truncated bit stream.

In this paper we used the EZW algorithm’s initial coefficientprioritization procedure to prioritise their use within theproposed texture synthesis algorithm where we have replacedIDWT with EZWIDWT module(see Figure 4). and Equation 4can be modified to:

BLLn−2 = EZWIDWT (BLLn−1, BHLn−1,

BLHn−1, BHHn−1, thershold) (7)

The thershold can be calculated using the magnitude ofwavelet coefficents of the decomposed sample image. Dueto space limitation we refer readers interested in the detailof the EZW coefficient prioritization algorithm to [17]. Weshow that the visually prioritized availability of coefficientsand the subsequent embedded coding of the coefficientsenable seamless progressive texture synthesis capabilityon bi-quadratic rational patches. This is an additional keycontribution of our present work.

5 Exprimental Results and Analysis

In order to analyse the performance of proposed progressivetexture synthesis approach on the surface of a Dupin Cyclide,a Sphere and a Torus. We have carried out a careful andefficient implementation in OpenGL and C++. Experimentswere carried out using a range of sample textures, which canbe broadly classified as regular, near-regular, irregular, andstochastic [5] in nature. Figure 12 and Figure 13 illustratethe results. Figure 13 proves the effectiveness of the proposedalgorithm in the progressive texture synthesis domain. It isnoted that the time required to synthesise the textures on thesurface was in the order of five seconds.

A closer analysis of the results in Figure 13 reveals thefollowing important facts.

• By varying the threshold selected for DWT coefficientselection, within the EZW scheme, discrete seamlesslevels of output quality can be obtained see Figure 13 (a1to a5 and b1 to b5 ).

• It is observed that for most types of textures, 15% of theDWT coefficients from sample texture are sufficient forcreating synthesis output textures on surface of sufficientvisual quality see Figure 13( a4 and b4) . For regulartextures this percentage can be significantly lower (7% inour experiments) Figure 13(a3).

• It observe that seams are rarely visible.

Given the above observations, the proposed algorithm canbe proved to be beneficial in applications that require fastand accurate progressive texturing capability such distributiveand collaborative gaming or low bandwidth transmissionapplication. Although due to space limitations we haverestricted the number of progressive texture synthesis resultsillustrated in Figure 13 to five textures, and five differentquality levels, the proposed method is capable of progressivetexture synthesis at seamlessly different number of levels anda large number of sample textures covering broad statisticaltexture properties. Due to the flexibility of the extensionof the Bezier patch based rational parametrisation schemethe proposed approach can be further extended to efficientprogressive texture synthesis on many object shape.

Our algorithms suffer from two limitation, 1) No control overshape of the geometry of the surface 2) No control overdirection of texture element on the surface as it is directed byalgorithm.

We have compared our progressive texture synthesis resultswith similar pixel domain work of Shet et.al [18] for arbitrarysurfaces. In his approch he replaced gaussain pyramidby a DWT pyramid and adpoted image pixel location forencoding/decoding surface and texture. It is observed thatthe surface texture quality and overall speed of our algorithmis improved (see Figure 11). Shet et als. [18] apporach takeabout 15 to 20 minute for progressive texture where as ourapproch is in order of five seconds.

(a) (b)

Figure 11: (a): Shet et.al alogrithm , (b): Our alogrithm

(a) Regular (b) Regular (c) Stochastic

(d) Near regular (e) Regular (f) Irregular

(g) Near regular (h) Irregular (i) Irregular

(j) Stochastic (k) Irregular (l) Irregular

Figure 12: Texture synthesis on Sphere,Torus and Cyclide

(a) Regular (a1)-3% coeff

(a2)-5% coeff (a3)-7% coeff

(a4)-15% coeff (a5)-all coeff

(b) ≈ stochastic (b1)-3% coeff

(b2)-5% coeff (b3)-7% coeff

(b4)-15% coeff (b5)-all coeff

Figure 13: Progressive texture synthesis on Cyclide andTorus

6 Conclusions & Future Work

In this paper we have proposed a novel approach to texturesynthesis on geometric surfaces. A rational parametrisationstage is initially used to represent the surface as a collectionof bi-quadratic Bezier patches onto which the texture issynthesized using a multiresolution DWT approach. Wehave used the popular EZW idea of prioritizing the DWTcoefficients and subsequent embedded coding to introduceprogressive texture synthesis. To minimize seam artifacts at theblock boundaries within patches, we have successfully usedan alpha-blending algorithm, whereas to minimize artifactsat seams between patches we have successfully used thepopular random patch cutting algorithm in tarnsform domian,graph-cut, followed by a further feathering algorithm at theexact seams locations. We have provided results to show theeffectiveness of the overall surface parametrisation and texturesynthesis algorithms. Further experimental results have beenprovided to prove the effectiveness of the measures taken tominimize seam artifacts, and the flexibility and efficiency ofthe progressive texturing capability of the proposed algorithm.A number of possible application domains of the proposedalgorithm have been identified.

It is possible to show that the rational parametrisation strategyused can be extended to cover many 3D objects with arbitrarysurface topology. Hence the proposed texture synthesisapproach can be used to progressively synthesize texture onto3D surfaces with arbitrary shape. We are currently in theprocess of generalizing the proposed algorithm to address theabove issues and to over come the limitaion i.e. control overgeometry of the surface and direction of texture elements.

References

[1] A.Efros and W. T. Freeman. Image quilting for texturesynthesis and transfer. In Proc. of SIGGRAPH 2001,pages 341–346, 2001.

[2] M. Ashikhmin. Synthesizing natural textures. In ACMSymp. on Interactive 3D Graphics, page 217226, 2001.

[3] H. E. Bez and T.J Wetzel. Induced rationalparametrisations of special curves. In InternationalJournal of Computer Mathematics, volume 80,9, pages1093–1109, 2003.

[4] P. J. Burt and E. H. Adelson. A multiresolution splinewith application to image mosaics. ACM Transactions onGraphics, 2(4):217–236, 12 1983. ISSN:0730-0301.

[5] Wen chieh. Lin, Hays James, Wu Chenyu, Kwatra Vivek,and Liu Yanxi. A comparison study of four texturesynthesis algorithm on near-regular textures. In Tech.Report CMU-RI-TR-04-01, Robotics Institute, CarnegieMellon University, 2004.

[6] D. Dutta, R. R. Martin, and M. J. Pratt. Cyclides insurface and solid modeling. IEEE Computer Graphicsand Applications, 13:5359, 1993.

[7] S. Foufou, L. Garnier, and M .J. Pratt. Conversion ofdupin cyclide patches into rational bi-quadratic bezierform. In Proc. of the IMA Mathematics of Surfaces XI,pages 201–218, 2005.

[8] Chi-Wing Fu and Leung Man-Kang. Texture tilingon arbitrary topological surfaces. In Proceedings ofEurographics Symposium on Rendering 2005 (EGSR2005), pages 99–104, 2005.

[9] Sylvain Lefebvre and Hugues Hoppe. Appearance-spacetexture synthesis. ACM Trans. Graph., 25(3):541–548,2006. ISSN:0730-0301.

[10] Wang Lujin, Gu Xianfeng, Mueller Klaus, and YauShing-Tung. Uniform texture synthesis and texturemapping using global parameterization. In Special Issuesof Pacific Graphics,ISSN:0178-2789, volume 21, pages801–810, 2005.

[11] Sebastian Magda and David Kriegman. Fast texturesynthesis on arbitrary meshes. In Proc. of the 14thEurographics workshop on Rendering, volume 44, pages82–89, 2003.

[12] R. Martin, J. de Pont, and T. Sharrock. Cyclide surfacesin computer aided design. In Proceedings of the IMAConference on the Mathematics of Surfaces, 1986.

[13] F. Neyret and M. P. Cani. Pattern-based texturingrevisited. In Proc. of SIGGRAPH 1999, page 235242,1999.

[14] M. J. Pratt. Cyclides in computer aided geometric design.In Computer Aided Geometric Design, volume 7, pages221–242, 1990.

[15] M. J. Pratt. Cyclides in computer aided geometric designii. In Computer Aided Geometric Design, volume 12,page 131152, 1995.

[16] E. Praun, A. Finkelstein, and H. Hoppe. Lapped textures.In Proc. of SIGGRAPH 2000, page 465470, 2000.

[17] J. M. Shapiro. Embedded image coding using zerotreesof wavelet coefficient. IEEE Trans. Signal Processing,41(12):3445–3462, 12 1993.

[18] Rupesh N. Shet, Eran A. Edirisinghe, and Helmut E.Bez. Progressive texture synthesis on 3d surfaces.In VIIP 2006 : In Proceedings of Sixth IASTEDinternational conference on Visualization, Imaging, andImage Processing, pages 136–141, 2006. ISBNHardcopy:0-88986-598-1/CD:0-88986-600-7.

[19] Rupesh N. Shet, Eran A. Edirisinghe, and Helmut E.Bez. A wavelets based max-flow/min-cut approch fortexture synthesis. In VIE2007: In Proceedings ofThe IEE International conference on Visual InformationEngineering: Convergence in Graphic and Vision, 2007.ISBN CD 978-0-86341-830-3.

[20] C. Soler, M. Cani, and A. Angelidis. Hierarchical patternmapping. In Proc. of SIGGRAPH 2002, volume 21, pages673–680, 2002.

[21] Soucy, Marc, G. Godin, and M. Rioux. A texture-mapping approach for the compression of colored 3dtriangulations. In The Visual Computer, volume 12, page503514, 1996.

[22] R. Szeliski and H.-Y. Shum. Creating full view panoramicmosaics and enviornment maps. In Proc. of SIGGRAPH1997, pages 251–258, 1997.

[23] Xin Tong, Zhang Jingdan, Liu Ligang, Wang Xi,Guo Baining, and Shum Heung-Yeung. Synthesis ofbidirectional texture functions on arbitrary surfaces. Inproc. of SIGGRAPH 2002, page 665 672, 2002.

[24] G. Turk. Texture synthesis on surfaces. In Proc. ofSIGGRAPH 2001, page 347354, 2001.

[25] Kwatra Vivek, Schdl Arno, Essa Irfan, Turk Greg, andBobick Aaron. Graphcut textures: image and videosynthesis using graph cuts. In Proc. of SIGGRAPH 2003,volume 22, pages 277–286, 2003.

[26] L.-Y Wei and M. Levoy. Fast texture synthesis using tree-structured vector quantization. In Proc. of SIGGRAPH2000, page 479488, 2000.

[27] L.-Y Wei and M. Levoy. Texture synthesis over arbitrarymanifold surface. In Proc. of SIGGRAPH 2001, page355360, 2001.

[28] D. S. Wickramanayake, E. A. Edirisinghe, and H. E. Bez.Multiresolution texture synthesis in wavelet transformdomain. The Journal of Imaging Science and Technology,50(1):93–102, 1 2006. ISBN / ISSN: 1062-3701.

[29] L. Ying, A. Hertzmann, H. Biermann, and D. Zorin.Texture and shape synthesis on surfaces. In EurographicsRendering Workshop, page 301312, 2001.

Appendix

Weight Computed as: First patch: θ0 = 0, θ1 = π2 , φ0 =

0, φ1 = π2

w00 = a− c, w01 = a−c√2

, w02 = a,w10 = a−c√

2, w11 = a−c

2 , w12 = a√2

,w20 = a, w21 = a√

2, w22 = a

Second patch: θ0 = 0, θ1 = π2 , φ0 = π

2 , φ1 = π

w00 = a, w01 = a+c√2

, w02 = a + c,w10 = a√

2, w11 = a+c

2 , w12 = a+c√2

,w20 = a, w21 = a√

2, w22 = a.

Third patch θ0 = π2 , θ1 = π, φ0 = 0, φ1 = π

2

w00 = a, w01 = a√2

, w02 = a,w10 = a+c√

2, w11 = a+c

2 , w12 = a√2

,w20 = a + c, w21 = a+c√

2, w22 = a.

Fourth patch θ0 = π2 , θ1 = π, φ0 = π

2 , φ1 = π

w00 = a, w01 = a√2

, w02 = a,w10 = a√

2, w11 = a−c

2 , w12 = a−c√2

,w20 = a, w21 = a−c√

2, w22 = a− c.

1st patch Bezier vertex data

xv00 = µ(c−a)+b2

a−c xv01 = µ(c−a)+b2

a−c xv02 = µc+b2

a

xv10 = µ(c−a)+b2

a−c xv11 = µ(c−a)+b2

a−c xv12 = µc+b2

a

xv20 = µca xv21 = µc

a xv22 = µca

yv00 = 0 yv01 = 0 yv02 = 0yv10 = b(a−µ)

a−c yv11 = b(a−µ)a−c yv12 = b

yv20 = b(a−µ)a yv21 = b(a−µ)

a yv22 = b

zv00 = 0 zv01 = b(c−µ)a−c zv02 = b(c−µ)

a

zv10 = 0 zv11 = b(c−µ)a−c zv12 = b(c−µ)

a

zv20 = 0 zv21 = − bµa zv22 = − bµ

a

2nd patch Bezier vertex data

xv00 = µc+b2

a xv01 = µ(a+c)+b2

a+c xv02 = µ(a+c)+b2

a+c

xv10 = (µc+b2)a xv11 = µ(a+c)+b2

a+c xv12 = µ(a+c)+b2

a+c

xv20 = µca xv21 = µc

a xv22 = µca

yv00 = 0 yv01 = 0 yv02 = 0yv10 = b yv11 = b(a+µ)

a+c yv12 = b(a+µ)a+c

yv20 = b yv21 = b(a+µ)a yv22 = b(a+µ)

a

zv00 = b(c−µ)a zv01 = b(c−µ)

a+c zv02 = 0zv10 = b(c−µ)

a zv11 = b(c−µ)a+c zv12 = 0

zv20 = − bµa zv21 = − bµ

a zv22 = 0

3rd patch Bezier vertex data

xv00 = µca xv01 = µc

a xv02 = µca

xv10 = µ(a+c)−b2

a+c xv11 = µ(a+c)−b2

a+c xv12 = (µc−b2)a

xv20 = µ(a+c)−b2

a+c xv21 = µ(a+c)−b2

a+c xv22 = µc−b2

a

yv00 = b(a−µ)a yv01 = b(a−µ)

a yv02 = b

yv10 = b(a−µ)a+c yv11 = b(a−µ)

a+c yv12 = b

yv20 = 0 yv21 = 0 yv22 = 0

zv00 = 0 zv01 = − bµa zv02 = − bµ

a

zv10 = 0 zv11 = − b(c+µ)a+c zv12 = − b(c+µ)

a

zv20 = 0 zv21 = − b(c+µ)a+c zv22 = − b(c+µ)

a

4th patch Bezier vertex data

xv00 = µca xv01 = µc

a xv02 = µca

xv10 = (µc−b2)a xv11 = µ(c−a)−b2

a−c xv12 = µ(c−a)−b2

a−c

xv20 = µc−b2

a xv21 = µ(c−a)−b2

a−c xv22 = µ(c−a)−b2

a−c

yv00 = b yv01 = b(a+µ)a yv02 = b(a+µ)

a

yv10 = b yv11 = b(a+µ)a−c yv12 = b(a+µ)

a−c

yv20 = 0 yv21 = 0 yv22 = 0

zv00 = − bµa zv01 = − bµ

a zv02 = 0zv10 = − b(c+µ)

a zv11 = − b(c+µ)a−c zv12 = 0

zv20 = − b(c+µ)a zv21 = − b(c+µ)

a−c zv22 = 0