22
Digitales Video Resampling - 1 - 4. IMAGE RESAMPLING 4.1. INTRODUCTION Image resampling is the process of transforming a sampled image from one coordinate system to another. The two coordinate systems are related to each other by the mapping function of the spatial transformation. The inverse mapping function is applied to the output sampling grid, projecting it onto the input. The result is a resampling grid, specifying the locations at which the input is to be resampled. The input image is sampled at these points and the values are assigned to their respective output pixels. The resampling grid does not generally coincide with the input sampling grid, taken to be the integer lattice. This is due to the fact that the range of the continuous mapping function is the set of real numbers. The solution requires a match between the domain of the input and the range of the mapping function. This is achieved by converting the discrete image samples into a continuous surface, i.e. by image reconstruction. Once the input is reconstructed, it can be resampled at any position. Conceptually, image resampling is comprised of two stages: image reconstruction followed by sampling. Although resampling takes its name from the sampling stage, image reconstruction is the implicit component in this procedure. It is achieved through an interpolation procedure, and, in fact, the terms reconstruction and interpolation are often used interchangeably. The image resampling process is depicted in Figure 4.1 for the 1-D case. A discrete input (squares) is shown passing through the image reconstruction module, yielding a continuous input signal (solid curve). Reconstruction is performed by convolving the discrete input signal with a continuous interpolating function. The reconstructed input is modulated (multiplied) with a resampling grid (dashed arrows). The resampling grid is the result of projecting the output grid onto the input through a spatial transformation. After the reconstructed signal is sampled by the resampling grid, the samples (circles) are assigned to the uniformly spaced output image. Figure 4.1 Image resampling.

4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Embed Size (px)

Citation preview

Page 1: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 1 -

4. IMAGE RESAMPLING

4.1. INTRODUCTION

Image resampling is the process of transforming a sampled image from one coordinate system to another. The two coordinate systems are related to each other by the mapping function of the spatial transformation. The inverse mapping function is applied to the output sampling grid, projecting it onto the input. The result is a resampling grid, specifying the locations at which the input is to be resampled. The input image is sampled at these points and the values are assigned to their respective output pixels.

The resampling grid does not generally coincide with the input sampling grid, taken to be the integer lattice. This is due to the fact that the range of the continuous mapping function is the set of real numbers. The solution requires a match between the domain of the input and the range of the mapping function. This is achieved by converting the discrete image samples into a continuous surface, i.e. by image reconstruction. Once the input is reconstructed, it can be resampled at any position.

Conceptually, image resampling is comprised of two stages: image reconstruction followed by sampling. Although resampling takes its name from the sampling stage, image reconstruction is the implicit component in this procedure. It is achieved through an interpolation procedure, and, in fact, the terms reconstruction and interpolation are often used interchangeably.

The image resampling process is depicted in Figure 4.1 for the 1-D case. A discrete input (squares) is shown passing through the image reconstruction module, yielding a continuous input signal (solid curve). Reconstruction is performed by convolving the discrete input signal with a continuous interpolating function. The reconstructed input is modulated (multiplied) with a resampling grid (dashed arrows). The resampling grid is the result of projecting the output grid onto the input through a spatial transformation. After the reconstructed signal is sampled by the resampling grid, the samples (circles) are assigned to the uniformly spaced output image.

Figure 4.1 Image resampling.

Page 2: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 2 -

Image magnification and minification are two examples of image resampling. These two processes are illustrated in Figure 4.2. In the top half of the figure, the interval between two adjacent black and white pixels must be reconstructed in order to generate five output points. A ramp is fitted between these points and uniformly sampled at five locations to yield the intensity gradation appearing at the output. In the bottom half of the figure, a scale reduction is shown. This was achieved by discarding points, a method prone to aliasing. The use of prefilters serves to bandlimit the input before resampling the continuous warped signal. Prefilters are related to the interpolation functions used in reconstruction.

Figure 4.2 Image magnification and minification.

The two topics of reconstruction and antialiasing must be coupled in order to perform accurate image resampling. This chapter focuses on interpolation functions useful in reconstructing a continuous function from sampled image data. Before proceeding to image reconstruction, we briefly present an overview of ideal resampling. Although somewhat theoretical, the presentation should serve to identify the roles of reconstruction and prefiltering in their proper context. Together, they are used to define the ideal resampling filter.

4.2. IDEAL IMAGE RESAMPLING

There are four basic elements to ideal image resampling: reconstruction, warping, prefiltering, and sampling [Smith 83, Heckbert 89]. They are depicted in Figure 4.3. The progression begins with f(u) the discrete input defined over integer values of u. It is reconstructed into fc(u) through convolution with reconstruction filter r(u). From sampling theory, we know that the ideal reconstruction filter is the sinc function. The continuous input fc(u) is then warped according to mapping function m. The forward map is given as x = m (u) and the inverse map is u = m-1 (x). In this case, the warp is defined as an inverse mapping. It is also possible to formulate this as a forward mapping instead. The spatial transformation leaves us with gc(x), the continuous warped output. Depending on the inverse mapping function m-1(x), gc(x) may have arbitrarily high frequencies. Therefore, it is bandlimited by function h(x) to conform to the Nyquist rate of the output. The bandlimited result is g’(x). This function is sampled by s(x), the output sampling grid, to produce the discrete output g(x). Note that s(x), often

Page 3: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 3 -

referred to as the comb function is not required to sample the output at the same density as that of the input.

Figure 4.3 Ideal resampling [Heckbert 89].

Stage Mathematical definition Discrete Input Reconstructed Input

Warped Signal Continuous Output Discrete Output

Table 4.1: Elements of ideal resampling.

There are only two filtering components to the entire resampling process: reconstruction and prefiltering. We may cascade them into a single filter, derived as follows:

4.1

where

4.2

is the resampling filter that specifies the weight of the input sample at location k for an output sample at location x [Heckbert 89].

Page 4: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 4 -

Assuming that m-1(x) is invertible, we can express r(x,k) in terms of an integral in the input space, rather than the output space. Substituting t = m(u), we have

, 4.3

where is the determinant of the Jacobian matrix interrelating the input and output coordinate systems. In one dimension,

4.4

In two dimensions,

4.5

where , and similar notation holds for the other partial derivatives.

Either the input-space or output-space integral can be used to define the resampling filter. In the input-space form, r is expressed in terms of a reconstruction filter and a warped prefilter. This can be readily justified by noting that the reconstruction filter is applied before the warp and therefore it can be applied directly to the input. The prefilter, however, is applied after the warp and so its domain, still defined in terms of u, must undergo the geometric transformation. Since equal increments in u do not generally correspond to identical increments in m (u), the prefilter is warped. This formulation of the resampling filter is depicted in Figure 4.4. A similar case holds for the output-space form of r, which is written in terms of a warped reconstruction filter and a prefilter. Therefore, the actual warping is incorporated into either the reconstruction filter or prefilter, but not both.

The resampling filter takes on a simple form for space-invariant linear warps. In that case, the resampling filter can be shown to be equivalent to the convolution of the reconstruction filter and prefilter [Heckbert 89]. Expressed in input-space form, we have

4.6

where J is the Jacobian matrix and u = m-1(x)-k. This formulation is suitable for linear warps defined in terms of forward mapping functions, i.e., m(u) = uJ.

Page 5: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 5 -

Figure 4.4: Ideal resampling with input-space resampling filter [Heckbert 89].

In the special case of magnification, we may ignore the prefilter altogether, treating it instead as an impulse function. This is due to the fact that no high frequencies are introduced into the output upon magnification. Conversely, minification introduces high frequencies and does not require any reconstruction of the input image. Consequently, we can ignore the reconstruction filter and treat it simply as an impulse function. Therefore,

4.7

Equations 4.7 lead us to an important observation about the shape of reconstruction filters and prefilters for linear warps. According to Eq.4.7, the shape of the reconstruction filter does not change in response to the mapping function. Indeed, magnification is achieved by selecting a reconstruction filter and directly convolving it across the input. Its shape remains fixed independently of the magnification scale factor. A similar procedure is taken in minification, whereby a reconstruction filter is replaced by a prefilter. The prefilter is selected on the basis of some desired frequency response characteristics. Unlike reconstruction filters, though, the actual shape must be scaled by an amount linearly related to the minification factor. As the input is increasingly decimated, the prefilter must become broader and shorter. It becomes broader in order to average more neighboring pixels together, thereby further bandlimiting the input. Since larger neighborhoods are used to compute each output pixel, the normalized weights applied to the input decrease to reflect the diminishing impact of each input sample. As a result, the prefilter grows shorter.

This observation is a direct consequence of the reciprocal relationship between the spatial and frequency domains. Due to the importance of this property, a proof is presented below. We start by writing the expression for the Fourier transform of h(u).

4.8

Note that we use the symbol ↔ to denote a transform pair. After we warp the input h(u) through mapping function m(u), we get

4.9

Page 6: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 6 -

Letting x=au=m(u) and , we have

4.10

where m-1(x)=x/a and . This gives us

4.11

or simply

4.12.

This equation expresses the reciprocal relationship between the spatial and frequency domains. Notice that multiplying the spatial axis by a factor of a results in dividing the frequency axis and the spectrum values by that same factor.

This proves to be a fundamental result in linear filtering theory that bears significant consequences. For instance, we would ideally like to use narrow filters in the spatial domain. In this manner, each output pixel can be computed by weighting only a small number of input samples. However, the reciprocal relationship tells us that narrow filters in the spatial domain correspond to wide frequency spectrums. This, however, is undesirable as it hinders our attempts to avoid aliasing due to spectral overlaps. On the other hand, wide spatial filters are costly, but they do permit us to perform more effective bandlimiting. This tradeoff between narrow filters in the spatial domain and good filter response in the frequency domain is at the heart of filter design.

The remainder of this chapter focuses on interpolation for reconstruction, a central component of image resampling. This area has received extensive treatment due to its practical significance in numerous applications. Although theoretical limits on image reconstruction are derived by sampling theory, the algorithms proposed in this chapter address tradeoff issues in accuracy and complexity.

4.3. INTERPOLATION

Interpolation is the process of determining the values of a function at positions lying between its samples. It achieves this process by fitting a continuous function through the discrete input samples. This permits input values to be evaluated at arbitrary positions in the input, not just those defined at the sample points. While sampling generates an infinite bandwidth signal from one that is bandlimited, interpolation plays an opposite role: it reduces the bandwidth of a signal by applying a low-pass filter to the discrete signal. That is, interpolation reconstructs the signal lost in the sampling process by smoothing the data samples with an interpolation function.

Page 7: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 7 -

For equally spaced data, interpolation can be expressed as

4.13

where h is the interpolation kernel weighted by coefficients ck and applied to K data samples, xk. Equation 4.13 formulates interpolation as a convolution operation. In practice, h is nearly always a symmetric kernel, i.e., h(-x)=h(x). We shall assume this to be true in the discussion that follows. Furthermore, in all but one case that we will consider, the ck coefficients are the data samples themselves.

Figure 4.5 Interpolation of a single point.

The computation of one interpolated point is illustrated in Figure 4.5. The interpolating function is centered at x, the location of the point to be interpolated. The value of that point is equal to the sum of the values of the discrete input scaled by the corresponding values of the interpolation kernel. This follows directly from the definition of convolution.

The interpolation function shown in the figure extends over four points. If x is offset from the nearest point by distance d, where , we sample the kernel at h(-d), h(-1-d), h(1-d), and h(2-d). Since h is symmetric, it is defined only over the positive interval. Therefore, h(d) and h (1+d) are used in place of h(-d) and h(-1-d), respectively. Note that if the resampling grid is uniformly spaced, only a fixed number of points on the interpolation kernel must be evaluated. Large performance gains can be achieved by precomputing these weights and storing them in lookup tables for fast access during convolution.

Interpolation kernels are typically evaluated by analyzing their performance in the passband and stopband. Recall that an ideal reconstruction filter will have unity gain in the passband and zero gain in the stopband in order to transmit and suppress the signal's spectrum in these respective frequency ranges. Ideal filters, as well as superior nonideal filters, generally have wide extent in the spatial domain. For instance, the sinc function has infinite extent. As a result, they are categorized as infinite impulse response filters (IIR). It should be noted, however, that sinc functions are not physically realizable IIR filters. That is, they can only be realized approximately. The physically realizable IIR filters must necessarily use a finite number of computational elements. Such filters are also known as recursive filters due to their

Page 8: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 8 -

structure: they always have feedback, where the output is fed back to the input after passing through some delay element.

An alternative is to use filters with finite support that do not incorporate feedback, called finite impulse response filters (FIR). In FIR filters, each output value is computed as the weighted sum of a finite number of neighboring input elements. Note that they are not functions of past output, as is the case with IIR filters. Although IIR filters can achieve superior results over FIR filters for a given number of coefficients, they are difficult to design and implement. Consequently, FIR filters find widespread use in signal and image processing applications. Commonly used FIR filters include the box, triangle, cubic convolution kernel, cubic B-spline, and windowed sinc functions. They serve as the interpolating functions, or kernels, described below.

4.4. INTERPOLATION KERNELS

The numerical accuracy and computational cost of interpolation algorithms are directly tied to the interpolation kernel. As a result, interpolation kernels are the target of design and analysis in the creation and evaluation of interpolation algorithms. They are subject to conditions influencing the tradeoff between accuracy and efficiency.

In this section, the analysis is applied to the 1-D case. Interpolation in 2-D will be shown to be a simple extension of the 1-D results. In addition, the data samples are assumed to be equally spaced along each dimension. This restriction imposes no serious problems since images tend to be defined on regular grids. We now review the interpolation schemes in the order of their complexity.

4.4.1. Nearest Neighbor

The simplest interpolation algorithm from a computational standpoint is the nearest neighbor algorithm, where each interpolated output pixel is assigned the value of the nearest sample point in the input image. This technique, also known as the point shift algorithm, is given by the following interpolating polynomial.

4.14

It can be achieved by convolving the image with a one-pixel width rectangle in the spatial domain. The interpolation kernel for the nearest neighbor algorithm is defined as

4.15

Various names are used to denote this simple kernel. They include the box filter, sample-and-hold function, and Fourier window. The kernel and its Fourier transform are shown in Figure 4.6.

Page 9: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 9 -

Figure 4.6: Nearest neighbor: (a) kernel, (b) Fourier transforms.

Convolution in the spatial domain with the rectangle function h is equivalent in the frequency domain to multiplication with a sinc function. Due to the prominent side lobes and infinite extent, a sinc function makes a poor low-pass filter. Consequently, the nearest neighbor algorithm has a poor frequency domain response relative to that of the ideal low-pass filter.

The technique achieves magnification by pixel replication and minification by sparse point sampling. For large-scale changes, nearest neighbor interpolation produces images with a blocky appearance. In addition, shift errors of up to one-half pixel are possible. These problems make this technique inappropriate when sub-pixel accuracy is required.

The nearest neighbor algorithm derives its primary use as a means for real-time magnification. For more sophisticated algorithms, this has only recently become realizable with the use of special-purpose hardware.

4.4.2. Linear Interpolation

Linear interpolation is a first-degree method that passes a straight line through every two consecutive points of the input signal. Given an interval (x0,x1) and function values f0 and f1 for the endpoints, the interpolating polynomial is

4.16

where a0 and a1 are determined by solving

This gives rise to the following interpolating polynomial.

4.17

Not surprisingly, we have just derived the equation of a line joining points (x0 , f0) and (x1 , f1). In order to evaluate this method of interpolation, we must examine the frequency response of its interpolation kernel.

Page 10: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 10 -

In the spatial domain, linear interpolation is equivalent to convolving the sampled input with the following interpolation kernel. Kernel h is referred to as a triangle filter, tent filter, roof function, Chateau function, or Bartlett window.

This interpolation kernel corresponds to a reasonably good low-pass filter in the frequency domain. As shown in Figure 4.7, its response is superior to that of the nearest neighbor interpolation function. In particular, the side lobes are far less prominent, indicating improved performance in the stopband. Nevertheless, a significant amount of spurious high-frequency components continue to leak into the passband, contributing to some aliasing. In addition, the passband is moderately attenuated, resulting in image smoothing.

Figure 4.7 Linear interpolation: (a) kernel, (b) Fourier transform.

Linear interpolation offers improved image quality above nearest neighbor techniques by accommodating first-degree fits. It is the most widely used interpolation algorithm for reconstruction since it produces reasonably good results at moderate cost. Often, though, higher fidelity is required and thus more sophisticated algorithms have been formulated.

4.4.3. Cubic Convolution

Cubic convolution is a third-degree interpolation algorithm originally suggested by Rifman and McKinnon [Rifman 74] as an efficient approximation to the theoretically optimum sinc interpolation function. Its interpolation kernel is derived from constraints imposed on the general cubic spline interpolation formula. The kernel is composed of piecewise cubic polynomials defined on the unit subintervals (-2,-1), (-1,0), (0,1), and (1,2). Outside the interval (-2,2), the interpolation kernel is zero. As a result, each interpolated point is a weighted sum of four consecutive input points. This has the desirable symmetry property of retaining two input points on each side of the interpolating region. It gives rise to a symmetric, space-invariant, interpolation kernel of the form

4.18

We again assume that our data points are located on the integer grid. The values of the coefficients can be determined by applying the following set of constraints to the interpolation kernel.

• h (0) = 1 and h(x) = 0 for |x| = 1 and 2.

Page 11: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 11 -

• h must be continuous at |x| = 0, 1, and 2. • h must have a continuous first derivative at |x| = 0, 1, and 2.

The first constraint states that when h is centered on an input sample, the interpolation function is independent of neighboring samples. This permits f to actually pass through the input points. In addition, it establishes that the ck coefficients in Eq. 4.13 are the data samples themselves. This follows from the observation that at data point xj,

4.19

According to the first constraint listed above, h(xj-xk) = 0 unless j = k. Therefore, the right-hand side of Eq. 4.19 reduces to cj. Since this equals f(xj), we see that all ck coefficients must equal the data samples in the four-point interval.

The first two constraints provide four equations for these coefficients:

Three more equations are obtained from constraint (3):

The constraints given above have resulted in seven equations. However, there are eight unknown coefficients. This requires another constraint in order to obtain a unique solution. By allowing a = a31 to be a free parameter that may be controlled by the user, the family of solutions given below may be obtained.

4.20

Additional knowledge about the shape of the desired result may be imposed upon Eq. 4.20 to yield bounds on the value of a. The heuristics applied to derive the kernel are motivated from properties of the ideal reconstruction filter, the sinc function. By requiring h to be concave upward at |x| = 1, and concave downward at x = 0, we have

Page 12: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 12 -

4.21

Bounding a to values between -3 and 0 makes h resemble the sinc function. In [Rifman 74], the authors use the constraint that a = -1 in order to match the slope of the sinc function at x = 1. This choice results in some amplification of the frequencies at the high-end of the passband. As stated earlier, such behavior is characteristic of image sharpening.

Other choices for a include -.5 and -.75. Keys selected a = -.5 by making the Taylor series approximation of the interpolated function agree in as many terms as possible with the original signal [Keys 81]. He found that the resulting interpolating polynomial will exactly reconstruct a second-degree polynomial. Finally, a =-.75 is used to set the second derivatives of the two cubic polynomials in h to 1 [Simon 75]. This allows the second derivative to be continuous at x = 1.

Of the three choices for a, the value -1 is preferable if visually enhanced results are desired. That is, the image is sharpened, making visual detail perceived more readily. However, the results are not mathematically precise, where precision is measured by the order of the Taylor series. To maximize this order, the value a = _ is preferable. The kernel and spectrum of a cubic convolution kernel with a = -.5 is shown in Figure 4.8.

Figure 4.8 Cubic convolution: (a) kernel (a = -.5), (b) Fourier transform.

It is important to note that in the general case cubic convolution can give rise to values outside the range of the input data. Consequently, when using this method in image processing it is necessary to properly clip or rescale the results into the appropriate range for display.

4.4.4. Cubic Splines

The next reconstruction technique we describe is the method of cubic spline interpolation. A cubic spline is a piecewise continuous third-degree polynomial. Given n points labeled (xk,yk for ), the interpolating cubic spline consists of n-1 cubic polynomials. They pass through the supplied points, which are also known as control points.

We now derive the piecewise interpolating polynomials. The kth polynomial piece, fk, is defined to pass through two consecutive input points in the fixed interval (xk, xk+l). Furthermore, fk are joined at xk (for k = 1, ..., n-2) such that xk, and are continuous Figure 4.9. The interpolating polynomial fk is given as

Page 13: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 13 -

4.22

Figure 4.9: A spline consisting of 6 piecewise cubic polynomials.

The four coefficients of fk can be defined in terms of the data points and their first (or second) derivatives. Assuming that the data samples are on the integer lattice, each spaced one unit apart, then the coefficients, defined in terms of the data samples and their first derivatives, are given below.

where .

Although the derivatives are not supplied with the data, they are derived by solving the following system of linear equations.

The not-a-knot boundary condition [de Boor 78] was used above, as reflected in the first and last rows of the matrices. It is superior to the artificial boundary conditions commonly reported in the literature, such as the natural or cyclic end conditions, which have no relevance in our application. Note that the need to solve a linear system of equations arises from global dependencies introduced by the constraints for continuous first and second derivatives at the knots.

In order to compare interpolating cubic splines with other methods, we must analyze the interpolation kernel. Thus far, however, the piecewise interpolating polynomials have been derived without any reference to an interpolation kernel. We seek to express the interpolating

Page 14: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 14 -

cubic spline as a convolution in a manner similar to the previous algorithms. This can be done with the use of cubic B-splines as interpolation kernels [Hou 78].

4.4.4.1. B-Splines

A B-spline of degree n is derived through n convolutions of the box filter, B0. Thus, Bl = B0*B0 denotes a B-spline of degree 1, yielding the familiar triangle filter shown in Figure 4.7. Interpolation by B1 consists of a sequence of straight lines joined at the knots continuously. This is equivalent to linear interpolation.

The second-degree B-spline B2 is produced by convolving B0*B1. Using B2 to interpolate data yields a sequence of parabolas that join at the knots continuously together with their slopes. The span of B2 is limited to three points.

The cubic B-spline B3 is generated from convolving B0*B2. That is, B3 = B0*B0*B0*B0. The interpolation with B3 is composed of a series of cubic polynomials that join at the knots continuously together with their slopes and curvatures, i.e., their first and second derivatives. Figure 4.10 summarizes the shapes of these low-order B-splines.

Figure 4.10 Low-order B-splines are derived from repeated box filters.

Denoting the cubic B-spline interpolation kernel as h, we have the following piece-wise cubic polynomials defining the kernel.

4.23

This kernel is sometimes called the Parzen window.

There are several properties of cubic B-splines worth noting. As in the cubic convolution method, the extent of the cubic B-spline is over four points. This allows two points on each side of the central interpolated region to be used in the convolution. Consequently, the cubic B-spline is shift-invariant as well.

Page 15: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 15 -

Unlike cubic convolution, however, the cubic B-spline kernel is not interpolatory since it does not satisfy the necessary constraint that h(0) = 1 and h(1) = h(2) = 0. Instead, it is an approximating function that passes near the points but not necessarily through them. This is due to the fact that the kernel is strictly positive.

The positivity of the cubic B-spline kernel is actually attractive for our image processing application. When using kernels with negative lobes, (e.g., the cubic convolution and windowed sinc functions), it is possible to generate negative values while interpolating positive data. Since negative intensity values are meaningless for display, it is desirable to use strictly positive interpolation kernels to guarantee the positivity of the interpolated image.

However, there are problems in directly interpolating the data with kernel h. Due to the low-pass (blur) characteristics of h, the image undergoes considerable smoothing. This is evident by examining its frequency response where the stopband is effectively suppressed at the expense of additional attenuation in the passband. This leads us to the development of an interpolation method built upon the local support of the cubic B-spline.

4.4.4.2. Interpolating B-Splines

Interpolating with cubic B-splines requires that at data point xj, we again satisfy Eq.4.19. Namely,

4.24

From Eq.4.23, we have h(0) = 4/6, h(-l) = h(l) = 1/6, and h(-2) = h(2) = 0. This yields

. 4.25

Since this must be true for all data points, we have a chain of global dependencies for the ck coefficients. The resulting linear system of equations is similar to that obtained for the derivatives of the cubic interpolating spline algorithm. We thus have,

Labeling the three matrices above as F, K, and C, respectively, we have

4.26

Page 16: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 16 -

The coefficients in C may be evaluated by multiplying the known data points F with the inverse of the tridiagonal matrix K.

4.27

The inversion of tridiagonal matrix K has an efficient algorithm that is solvable in linear time [Press 88]. In [Lee 83], the matrix inversion step is modified to introduce high-frequency emphasis. This serves to compensate for the undesirable low-pass filter imposed by the point-spread function of the imaging system.

In all the previous methods, the coefficients ck were taken to be the data samples themselves. In the cubic spline interpolation algorithm, however, the coefficients must be determined by solving a tridiagonal matrix problem. After the interpolation coefficients have been computed, cubic spline interpolation has the same computational cost as cubic convolution.

4.4.5. Windowed Sinc Function

Sampling theory establishes that the sinc function is the ideal interpolation kernel. Although this interpolation filter is exact, it is not practical since it is an IIR filter defined by a slowly converging infinite sum. Nevertheless, it is perfectly reasonable to consider the effects of using a truncated, and therefore finite, sinc function as the interpolation kernel.

The results of this operation are predicted by sampling theory, which demonstrates that truncation in one domain leads to ringing in the other domain. This is due to the fact that truncating a signal is equivalent to multiplying it with a rectangle function Rect (x), defined as

4.28

Since multiplication in one domain is convolution in the other, truncation amounts to convolving the signal's spectrum with a sinc function, the transform pair of Rect (x). Since the stopband is no longer eliminated but rather attenuated by a ringing filter (i.e., a sinc) the input is not bandlimited and aliasing artifacts are introduced. The most typical problems occur at step edges, where the Gibbs phenomena becomes noticeable in the form of undershoots, overshoots, and ringing in the vicinity of edges. In [Ratzel 80], the author found this method to perform poorly.

The Rect function above served as a window, or kernel, that weighs the input signal. In Figure 4.11a, we see the Rect window extended over three pixels on each side of its center, i.e., Rect (6x) is plotted. The corresponding windowed sinc function h(x) is shown in Figure 4.11b. This is simply the product of the sinc function with the window function, i.e., sinc (x) Rect (6x). Its spectrum, shown in Figure 4.11c, is nearly an ideal low-pass filter. Although it has a fairly sharp transition from the passband to the stopband, it is plagued by ringing. In order to more clearly see the values in the spectrum, we use a logarithmic scale for the vertical axis of the spectrum in Figure 4.11d. The next few figures will be illustrated by using this same four-part format.

Page 17: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 17 -

Figure 4.11 (a) Rectangular window; (b) Windowed sinc; (c) Spectrum; (d) Log plot.

4.4.6. Exponential Filters

A superior class of reconstruction filters can be derived using exponential functions. Consider, for instance, the hyberbolic tangent function tanh defined in Eq. 4.29.

4.29

This function has several desirable properties. First, it converges quickly to . Second, its transition from -1 to 1 is sharp. We can sharpen the transition even further by scaling the domain, i.e., use tanh (kx) for . In addition, this function is infinitely differentiable everywhere, i.e., it satisfies an important smoothness constraint. These properties are readily apparent in Figure 4.12, which illustrates tanh (kx) for k = 1, 4, and 10. Notice that the function quickly approximates Rect for larger values of k.

Figure 4.12: The scaled hyperbolic tangent function.

Given tanh(kx) as our starting point, we can define a new function that resembles the ideal low-pass filter Rect (x), i.e., a box in the frequency domain. This is done by treating tanh as

Page 18: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 18 -

one half of Rect, and then merely compositing that with a mirror image of itself. Since tanh lies between -1 and 1, some care must be taken to normalize the expression so that it yields a box of unity height. The resulting function is given as

4.30

where fc is the cut-off frequency. In our examples, we shall use fc = .5 to conform to the Nyquist rate. The purpose of the addition and division operations is to normalize Hk(f) so that

.

Function Hk is treated as the desired spectrum of our reconstruction filter. By varying k, we can control the shape of the spectrum. For low values of k, Hk is smooth and resembles a Gaussian function. As k is made larger, Hk will have increasingly sharper corners, eventually approximating a Rect function. Figure 4.13 shows Hk(f) for k = 1, 4, and 10.

Having established Hk to be the desired spectrum of our interpolation kernel, the actual kernel is derived by computing the inverse Fourier transform of Eq.4.30. This gives us hk(x), as shown in Fig. 5.20. Not surprisingly, it has infinite extent. However, unlike the sinc function that decays at a rate of 1/x, hk decays exponentially fast. This is readily verified by inspecting the log plots in Figure 4.14. This means that we may truncate it with negligible penalty in reconstruction quality. The truncation is, in effect, implicit in the decay of the filter. In practice, a 7-point kernel (with 3 points on each side of the center) yields excellent results [Massalin 90].

Note that a linear fall-off in log scale corresponds to an exponential function.

Figure 4.13: Spectrum Hk(f) a function of tanh(kx).

Page 19: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 19 -

Figure 4.14 Interpolation kernels derived from H4(f) and H10(f)

4.5. COMPARISON OF INTERPOLATION METHODS

The quality of the popular interpolation kernels are ranked in ascending order as follows: nearest neighbor, linear, cubic convolution, cubic spline, and sinc function. Below we give some examples of these techniques for the magnification of the Star and Madonna images. The Star image helps show the response of the filters to a high contrast image with edges oriented in many directions. The Madonna image is typical of many natural images with smoothly varying regions (skin), high frequency regions (hair), and sharp transitions on curved boundaries (cheek). Also, a human face (especially one as famous as this) comes with a significant amount of a priori knowledge, which may affect the subjective evaluation of quality. Only monochrome images are used here to avoid obscuring the results over three color channels.

In Figure 4.15, a small 50x50 section was taken from the center of the Star image, and magnified to 500x500 by using the following interpolation methods: nearest neighbor, linear interpolation, cubic convolution (with A = -1), and cubic convolution (with A = -.5). Figure 4.16 shows the same image magnified by the following interpolation methods: cubic spline, Lanczos2 windowed sinc function, Hamming windowed sinc, and the exponential filter derived from the tanh function.

The algorithms are rated according to the passband and stopband performances of their interpolation kernels. If an additional process is required to compute coefficients used together with the kernel, its effect must be evaluated as well.

It is important to note that high quality interpolation algorithms are not always warranted for adequate reconstruction. This is due to the natural relationship that exists between the rate at which the input is sampled and the interpolation quality necessary for accurate reconstruction. If a bandlimited input is densely sampled, then its replicating spectra are spaced far apart.

Page 20: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 20 -

This diminishes the role of frequency leakage in the degradation of the reconstructed signal. Consequently, we can relax the accuracy of the interpolation kernel in the stopband. Therefore, the stopband performance necessary for adequate reconstruction can be made a function of the input sampling rate. Low sampling rates require the complexity of the sinc function, while high rates allow simpler algorithms. Although this result is intuitively obvious, it is reassuring to arrive at the same conclusion from an interpretation in the frequency domain.

Figure 4.15 Image reconstruction. (a) Nearest neighbor; (b) Linear interpolation; (c) Cubic convolution (A = -1); (d) Cubic convolution (A = -.5).

Page 21: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 21 -

Figure 4.16 Image reconstruction. (a) Cubic spline; (b) Lanczos2 window; (c) Hamming window; (d) Exponential filter.

4.6. DISCUSSION

Image reconstruction plays a critical role in image resampling because geometric transformations often require image values at points that do not coincide with the input lattice. Therefore, some form of interpolation is necessary to reconstruct the continuous image from its samples. This chapter has described various image reconstruction algorithms for resampling.

To better evaluate the different reconstruction algorithms, we review the goals of image reconstruction and then we evaluate the described techniques in terms of these objectives. Ideally, we want a reconstruction kernel with a small neighborhood in the spatial domain and a narrow transition region in the frequency domain. The use of small neighborhoods allows us to produce the output with less computation. Narrow transition regions reflect the sharp cut-off between passband and stopband that is necessary to minimize blurring and aliasing. These two goals, however, are mutually incompatible as a consequence of the reciprocal relationship between the spatial and frequency domains. Instead, we attempt to accommodate

Page 22: 4. IMAGE RESAMPLING - Technische Universität … · Digitales Video Resampling - 2 - Image magnification and minification are two examples of image resampling. These two processes

Digitales Video

Resampling - 22 -

a tradeoff. Unfortunately, these tradeoffs contribute to ringing artifacts, as well as some combination of blurring and aliasing.

The simplest functions we described are the box filter and the triangle filter. They were used for nearest neighbor and linear interpolation, respectively. Their formulation was based solely on characteristics in the spatial domain. Assuming that the input data is accurately modeled as piecewise constant or piecewise linear functions, these two respective approaches can exactly reconstruct the data. Similarly, cubic splines can exactly reconstruct the samples assuming the data is accurately modeled as a cubic function.

The method of cubic convolution, however, had different origins. Instead of defining its kernel by assuming that we can model the input, the cubic convolution kernel is defined by approximating the truncated sinc function with a piecewise cubic polynomials. The motivation for this approach is to approximate the infinite sinc function with a finite representation. In this manner, an approximation to the ideal reconstruction filter can be applied to the data without any need to place restrictions on the input model. A free parameter is available for the user to fine-tune the response of the filter. Properties of the sinc function are often used as heuristics to select the free parameter.

In a related approach, windowed sinc functions have been introduced to directly apply a finite approximation of the sinc function to the input. Instead of approximating the sinc with piecewise cubic polynomials, the sinc function is multiplied with a smooth window so that truncation does not produce excessive ringing.

Superior results were derived with a new class of filters introduced in this chapter. We began by abandoning the premise that the starting point must be an ideal filter. Instead, we formulated an analytic function with a free parameter that could be tuned to produce a desired transition width between the passband and stopband. The analytic function we used in our example was defined in terms of the hyperbolic tangent. This function was chosen because its corresponding kernel, although still of infinite extent, exhibits exponential fall-off. The success of this method hinges on this important property. As a result, we could simply truncate the kernel as soon as its response fell below the desired accuracy, i.e., quantization error. Response accuracy beyond the quantization error is wasteful because the augmented fidelity cannot be noticed. This observation can be exploited to design cheaper filters.

References:

[1] George Wolberg. Digital Image Warping. IEEE Computer Society Press, Los Alamitos, CA, USA, 1994.