• 沒有找到結果。

Implementation of Digital Curvelet Transform T

In this section, we will describe the procedure for computing 2-D curvelet transform

X[21]XX[28]X. In short, the 2-D curvelet transform can be computed using unequally-spaced fast Fourier transform (USFFT). The Fast Fourier Transform library used in the program can be obtained in X[29]X.

Some input parameters to the algorithm are described in XTable 3.1X, where nx and ny are the input image width and height, and ns is the number of image resolution scale for wavelet decomposition, which is a result of logB2B(nx)-3. In addition, Meyer wavelet X[30]X is used for the wavelet transform in the algorithm and nBϕB is the degree of the Mayer window function.

nx 512

ny 512

ns 6

nBϕB 3

Table 3.1 Input Parameter to curvelet codec

First of all, we convert the component of image, RGB, to YCBBBCBRB format to get the Luma

component Y. And then we use the Luma component Y as the input of the curvelet transformation. The procedure of computing curvelet transform is composed of four steps and each of the steps will be described in the following sections. Section 3.4.1 describes the Fourier transform procedure which transforms the image inputs into frequency components.

Section 3.4.2 introduces the band pass filtering process that decomposes the frequency data into several resolution scales. The polar scaling method is described in section 3.4.3. Finally, section 3.4.4 shows how the coefficients are converted back to spatial domain via inverse Fourier Transform.

3.4.1. Take Fourier transform into frequency domainT

First of all, since we need to scale the image data by different resolution in the following steps, we must transform the image data into frequency domain. Assume that the input image data is in YCBBBCBRB format. To obtain Fourier samples of the image, a two-dimensional Fast Fourier Transform is applied on the Luma components(Y channel of data), and the transform coefficients is normalized by dividing by (nx⋅ny)P0.5P. As XFigure 3.3X indicates, the low-band coefficients are centralized in the center of the image since this representation facilitates repetitive decomposition of the coefficients.

n

n

2D

Figure 3.3 Decomposition of image into frequency domain

3.4.2. Band-pass filteringT

In the second step, we have to obtain frequency coefficients in different resolutions. First of all, we must create different levels of wavelet transform window function to decompose the coefficients obtained from previous step. XFigure 3.4X illustrates how the band-pass filters are applied.

Level 0

(a)

Level 1

(b)

Level 2

(c)

Level 3

(d)

Level 4

(e)

Figure 3.4 Decomposition of Meyer wavelet in resolution of scale 0 to scale 4

XFigure 3.4X shows the decomposition of Meyer wavelet in different resolution. The coefficients in coarsest level are filtered by the low pass filter with size 32x32, and the procedure is indicated by XFigure 3.4X(a). XFigure 3.4X(b) to XFigure 3.4X(e) represents the coefficients in resolution of scale 1 to scale 4, respectively. For these scales, the filters are composed by the subtraction of two low-pass filters in order to form a band pass filters.

During the band-pass filtering procedure, the filters we apply are based on the low-pass Meyer window function. The scaling function and wavelet function of the Meyer window function is shown in XFigure 3.5XX[28]XX[30]X.

(a)

Figure 3.5 Scaling function and wavelet function of Meyer window function

The detail procedure of decomposition is described as follows. First of all, we generate one-dimensional Meyer window of degree 3 by combining four basic parts, see XTable 3.2X. The one-dimensional Meyer window is leading with a zero coefficient and then followed by the 4 parts with the order 4 3 2 1 2 3 4. Therefore, the one-dimensional Meyer window will be composed of [zero 4 3 2 1 2 3 4]. The two-dimensional Meyer window is constructed by point-wise multiplication of two one-dimensional Meyer windows.

Part The actual value of the filter 1 1…1

2 cos(πv/2(3a/2)) where a are dyadic points (2Pi+1P/3…2PiP/3-1)/2PiP-1 3 cos(πv/2(3a/2))where a are dyadic points (2PiP…2Pi+1P)/2PiP-1 4 1…1

Table 3.2 Four basic parts of 1-D Meyer window

After generating the two-dimensional Meyer window, we filter the low frequency components by the Meyer window. To be more specific, the range of resulted low frequency components in resolution level i, sxBiB and syBiB, can be calculated by XTable 3.3X. The filter coefficient we use in level i, where i are 1 to 4, is the square of coefficient i minus square of coefficient i-1, and then get its square root. In level 5, we use the coefficient of square roots of 1 minus square of coefficient 4. After the decomposition, we can get six different scales with size sxBiB·syBiB.

More over, the size of the coefficients is controlled by the level of their scale. And the relation of size and scale can be show as XTable 3.3X. To be more specific, sxBiB and syBiB are width and height of level i.

Level i sxBiB = syBi B= min(2Pi+2P,nx) Window(i)

0 iB0B=3 32 iB0B

1 iB1B=4 64 (iB1PB2P-iB0PB2P)P0.5P 2 iB2B=5 128 (iB2PB2P-iB1PB2P)P0.5P 3 iB3B=6 256 (iB3PB2

P-iB2PB2

P)P0.5P

4 iB4B=7 512 (iB4PB2

P-iB3PB2

P)P0.5P

5 iB5B=8 512 (1P2P-iB4PB2P)P0.5P

Table 3.3 Parameters of each resolution level

One example of the band-pass filtered coefficients in each resolution is shown in XTable

Result Decomposition of Meyer wavelet Level 0

Level 1

Level 2

Level 3

Level 4

Table 3.4 The band-pass filtered coefficients of image Lena

3.4.3. Polar interpolationT

The frequency coefficients in different resolutions computed by the band pass filter must be re-sampled to form directional frequency components. This can be done by interpolating the coefficients obtained from the previous procedure along vertical and horizontal directions.

After resampling, the coefficients may be rearranged into four groups, namely west, east, north and south, based on the directions of directional decomposition.

For example, for the coefficients in the east quadrant, the whole procedure of the directional decomposition is shown in XFigure 3.6X.

Figure 3.6 Angular scaling in the East quadrant region

First of all, we can obtain the rectangle shaped coefficients in the East quadrant.

Secondly, we apply column-wise one-dimensional inverse Fast Fourier Transform on the coefficients. And then we have to resample the coefficients into a shape of wedges (shown in the middle picture in XFigure 3.6X). From XFigure 3.6X, one can see that, for each column, x sampling gird stays the same, but y sampling grid must be rearranged along each column.

Therefore, we have to calculate the new indices and interpolate the new coefficients. We obtain the new indices by performing a one-dimensional Meyer Window, see Table 3.5.

Meyer window is combined by the 4 parts Part 1 sin(πv/2(3a)) Part 2 sin(πv/2(3a)) Part 3 cos(πv/2(3a)) Part 4 cos(πv/2(3a))

Table 3.5 Formula of Meyer Window

Furthermore, the interpolation method is calculated by one sine window such as Equation 3.16. Finally, the resampled coefficients is stored in a rectangular shape region in transform domain for the purpose of easy accesses.

2 )))) (1 sin(

1 4( sin(

2)))) ( 1 sin(

1 4( sin(

w = π + π t+ ⋅ π + π −t (3.16)

Note that for the east and west groups of coefficients the interpolation is done column-wise while for north and south groups of coefficients, the interpolation is done row-wise. XFigure 3.7X shows the coefficients before and after the procedure of the directional decomposition. Coefficient in the right part is the result of the red ladder shaped region (East quadrant) in the 4PthP level resolution after applying the polar interpolation. To be more specific, the region which is framed in yellow designates the first angle in the resolution.

Figure 3.7 The directional decomposition in the 4PthP level coefficients.

3.4.4. Inverse Fourier transformT

In the final step shown in XFigure 3.8X, two-dimensional Inverse Fast Fourier Transform is applied on the coefficients to transform the data back to spatial domain. The pixel data is normalized by multiplication with (nx⋅ny)P0.5P in order to cancel the original normalization we apply on the coefficients.

Figure 3.8 Perform 2D IFFT on lowest level

相關文件