Evolving generation and fast algorithms of slantlet transform and slantlet-Walsh transform

Evolving generation and fast algorithms of slantlet transform and slantlet-Walsh transform

Applied Mathematics and Computation 269 (2015) 731–743 Contents lists available at ScienceDirect Applied Mathematics and Computation journal homepag...

761KB Sizes 0 Downloads 51 Views

Applied Mathematics and Computation 269 (2015) 731–743

Contents lists available at ScienceDirect

Applied Mathematics and Computation journal homepage: www.elsevier.com/locate/amc

Evolving generation and fast algorithms of slantlet transform and slantlet-Walsh transform Xiuqiao Xiang a, Baochang Shi b,∗ a b

School of Information Engineering, China University of Geosciences, Wuhan 430074, PR China School of Mathematics and Statistics, Huazhong University of Science and Technology, Wuhan 430074, PR China

a r t i c l e

i n f o

Keywords: Slantlet transform Slantlet-Walsh transform Mutation Fast algorithm Signal processing

a b s t r a c t The recently developed slantlet transform (SLT for short) is a wavelet with two zero moments, which can achieve a better balance between the time domain localization and smoothness. Due to its excellent characteristics, SLT is expected to be widely used in the information science fields such as compression and denoising of various signals. However, SLT without the in-place algorithm is not suitable for the parallel implementation, and the matrix formation and algorithm design of SLT lack universality, either. To address these issues, we present a new method for generating SLT recursively from the perspective of matrix rather than wavelet, by utilizing the basic techniques of bisection evolution, including so called Haar copy, Walsh mutation, slant mutation and slantlet mutation techniques. Meanwhile, we obtain a new orthogonal transform named as the slantlet-Walsh (SLW for short) transform, design the in-place fast algorithms of SLT and SLW transforms with the symmetry structure, which are very suitable for the parallel computing. In addition, the proposed scheme is clear and easy to be extended, we may take other copy means or select other mutation parameter value to generate new orthogonal matrices with required properties that may have special application value in some fields. As validated in our experiment, the proposed SLT is well-suited to deal with piecewise linear signal in comparison with transforms such as Haar, Walsh, Slant, Slant Haar, SLW transforms and DCT. © 2015 Elsevier Inc. All rights reserved.

1. Introduction The orthogonal transform and its fast algorithm play an important role in digital signal/image processing, cryptography and other fields. Commonly used orthogonal transforms include discrete cosine transform (DCT), Fourier transform, wavelet transform, Laplace transform, Walsh transform, etc. [1–5]. As a global transform, DCT cannot be effective on the recognition of local features. Fourier transform and the subsequent short-time Fourier transform may analyze the signal characteristics from the viewpoint of frequency domain, but the time frequency localization capability is limited. Because of the localization recognition ability and the multi-resolution features, wavelet analysis has a good performance in the signal processing. For many years, the researches on the theory and application of wavelet analysis have been continuously performed, and have still been unfolding currently. Known from wavelet analysis and pyramidal decomposition theory [6–8], Haar function is the simplest one of all wavelets. Only two rows of Haar orthogonal matrix correspond to global functions, and the rest rows denote local functions. Walsh ∗

Corresponding author: Tel.: +86 027 87543231, +86 027 67883728; fax: +86 027 87543231 E-mail addresses: [email protected] (X. Xiang), [email protected] (B. Shi).

http://dx.doi.org/10.1016/j.amc.2015.07.094 0096-3003/© 2015 Elsevier Inc. All rights reserved.

732

X. Xiang, B. Shi / Applied Mathematics and Computation 269 (2015) 731–743

function is Haar wavelet packet, i.e., the high frequency part with multi-resolution feature is further decomposed, and all rows of Walsh orthogonal matrix correspond to global functions. Accordingly, Haar type orthogonal matrices (including Her, Ter matrix, etc.) are their compromise [8,9]. It is these unique properties that different transform may have special application value in some fields [10,11]. For instance, Walsh transform with block wavelet has been widely used in DSP, image, video processing, communication in CDMA, spread spectrum, information safety, etc. [9–15]. It is appropriate to utilize an orthogonal transform containing slant base vector to represent the image with the gradual change of brightness, while slant base vector is the discrete sawtooth wave form falling within the scope of a homogeneous ladder [16]. Newly proposed slantlet transform (SLT) is a kind of orthogonal discrete wavelet transform with two zero moments. Compared with the ordinary wavelet transform, SLT can attain favorable balance between the time domain localization and smoothness [17]. In addition, SLT has a clear expression of wavelet basis function that owns piecewise linear characteristics and is very suitable for processing the signal with strong discontinuity and jump features. This excellent feature makes SLT be widely applied to the information science such as signal denoising, recognition, compression, digital watermark, etc. [18–22]. The SLT mentioned above has good property, nevertheless, SLT without the in-place algorithm is unfavorable to the parallel implementation, and the generation and algorithm design of SLT lack generality, either. To this end, we refer the bisection evolution idea [8,9,23,28], and propose a new recursive scheme to generate SLT by adopting Haar copy, Walsh mutation, slant mutation and slantlet mutation techniques. Using Walsh copy and mutation schemes, we produce a new orthogonal transform named as the slantlet-Walsh (SLW for short) transform in this paper. Meanwhile, we obtain the in-place fast algorithms of SLT and SLW transforms, and the experimental results indicate that SLT proposed in this paper owns better performance in processing piecewise linear signal compared with Haar, Walsh, slant, slant Haar, SLW transforms and DCT. The rest of this paper is organized as follows. Section 2 presents the evolving generation and fast algorithms of Walsh matrix, slant matrix and slant Haar matrix. Then, the evolving generation and fast algorithms of SLT and SLW transforms are, respectively, proposed in Section 3 and Section 4, and the comparison experiments with previous transforms are performed in Section 5. Finally, conclusions are briefly drawn in Section 6. 2. Evolving generation and fast algorithms of three types of matrices In this section, we simply review the recursive evolution and fast algorithms of Walsh matrix, slant matrix and slant Haar matrix mentioned in [8,23], which are closely related to our paper. Before this, we emphasize three important concepts, bisection evolution, copy and mutation, which are the basic techniques utilized in our paper. At the same time, we illustrate the meaning of symbols appeared in this paper to help us understand the subsequent contents. Remark 1. Bisection evolution is an efficient downsizing calculation technology by which the calculation problem is recursively processed to the similar ones with halved size, finally, the required solution is directly obtained until the scale of the problem is sufficiently small. Copy means to make an imitation or reproduction of something so that it is exactly or almost exactly like the original existing thing, while mutation implies the act or process of changing partial elements into other different forms. Remark 2. For Kronecker product ⊗, n × m matrices A = (ai j ), B = (bi j ), i = 1, 2, . . . , n − 1, n, j = 1, 2, . . . , m − 1, m, we have matrix A ⊗ B = (ai j B) [8,9,23–28].    a12 B For example, let A = aa11 aa12 , B = (bi j ), we get A ⊗ B = aa11 B ) 21 22 21 B a22 B Remark 3. K × K Walsh copy matrix FK , Walsh mutation matrix HK and slant mutation matrix XK in this paper have the following forms:



IK/4

⎜ FK = ⎜ ⎝ IK/4

IK/4 IK/4 −IK/4 IK/4



⎞ −IK/4 ⎟ ⎟,



IK/4

1

⎜ ⎜ ⎜ ⎜ ⎜ ⎜ HK = ⎜ ⎜1 ⎜ ⎜ ⎜ ⎝





IK/2

⎜ ⎜ XK = ⎜ ⎜ ⎝

aK IK/4−1 −bK

⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟. ⎟ ⎟ ⎟ ⎟ ⎠

IK/4−1 −1 IK/4−1 −1 IK/4−1 1

aK



1 1

⎟ ⎟ ⎟ ⎟ ⎠

bK

1 IK/4−1

IK/4−1

(1)

X. Xiang, B. Shi / Applied Mathematics and Computation 269 (2015) 731–743

733

where IK/2 , IK/4 , IK/4−1 are, respectively, (K/2) × (K/2), K/4 × K/4, (K/4-1) × (K/4-1) identity matrix, and slant mutation coefficients aK , bK are calculated by (2)



aK =

1 bK = 2

3 K , K2 − 1 2



K2 − 4 . K2 − 1

(2)

K = 4, 8, . . . , N/2, N, N = 2n , integer number n ≥ 2. 2.1. Evolving generation and fast algorithm of Walsh matrix The Walsh matrix only containing elements +1 or −1 is widely applied in the signal processing field [9–15]. In mathematics, a Walsh matrix is a specific orthogonal square matrix with order power of 2. Each row of a Walsh matrix corresponds to a Walsh function. For the Walsh function system, there exist several orders [26,27], such as Paley order (P order for short), anti-Paley order (Hadamard order, H order for short), Walsh sequence order (W order for short), anti-Walsh sequence order (M order for short). The orders mentioned above successively correspond to the binary natural code, binary anti-nature code, Gray code, anti-Gray code. There exist close relationships between different codes or orders. For instance, the sequence number of each row of Walsh matrix in W order can be derived by first applying the bit-reversal conversion and then the Gray code conversion to that of each of Hadamard matrix (Walsh matrix in H order). In the past years, it is customary to employ P order, H order Walsh matrix since they are presented early, and H order Walsh matrix owns in-place algorithm. However, for the W order Walsh matrix, the number of sign changes per row is consecutive, i.e., the elements in the Walsh spectrum represent different sequency components contained in the signal in a low-to-high order. This is very suitable for the realistic physical application. Generally speaking, by processing each row of Walsh matrix with odd or even symmetric copy [8,23], W order Walsh matrix WN can be generated from WN/2 as follows.





¨ 0,N/2 W ¨ 0,N/2 −W

W0,N/2

⎜ W0,N/2 ⎜ ⎜ W 1,N/2 ⎜ ⎜ W1,N/2 WN = ⎜ ⎜ .. ⎜ ⎜ . ⎜ ⎝ WN/2−1,N/2

¨ 1,N/2 W ¨ 1,N/2 −W .. . ¨ N/2−1,N/2 W ¨ N/2−1,N/2 −W

WN/2−1,N/2

⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠

¨ i,N/2 = Wi,N/2 I¨N/2 , i = 0, 1, 2, . . . , N/2 − 1, I¨N/2 is N/2 × N/2 anti-diagonal identity matrix, where W



1

⎜ ⎜

⎟ ⎟ ⎟ ⎟ ⎟ ⎠

1

⎜ I¨N/2 = ⎜

.

⎜ ⎝



..

1 1

Since the butterfly diagram of WN does not have a symmetric structure, it is not easy to design in-place algorithm of WN [8,23– 26]. In this case, we may reorder the rows of WN by utilizing adjustment order scheme of bit-reversed sequency [24–26], and get M order Walsh matrix MN as follows.



MN =

M¨ N/2 −M¨ N/2

MN/2 MN/2



,

(3)

where

M¨ N/2 = MN/2 I¨N/2 .

(4)

Comparatively speaking, the matrix elements, the orthogonal nature and the transformed results of MN are the same as those of WN , only the location of matrix elements and the location of the transform results are varied. See 4 × 4 matrices W4 , M4 for example.



1

1

1

⎜1 ⎝1

1

−1

−1

−1

1

−1

1

W4 = ⎜

1



−1 ⎟ ⎟, 1 ⎠ −1



1

1

1

⎜1 ⎝1

−1

−1

1

−1

1

−1

1

M4 = ⎜

1 1

⎞ ⎟ ⎟

−1 ⎠ −1

According to (3) and the bisection evolution technique, Walsh matrix MN may be produced by processing MN/2 with odd-even symmetric block copy [8,23]. Moreover, it is convenient for us to construct two algorithms of MN as follows.

734

X. Xiang, B. Shi / Applied Mathematics and Computation 269 (2015) 731–743

(1) Fast algorithm of MN From (3), we get that





MN/2

MN =

MN/2

I¨N/2 −I¨N/2

IN/2 IN/2

= (I2 ⊗ MN/2 )VN = (I2 ⊗ ((I2 ⊗ MN/4 )VN/2 ))VN

= (I4 ⊗ MN/4 )(I2 ⊗ VN/2 )VN = (IN/2 ⊗ H2 )(IN/4 ⊗ V4 )(IN/8 ⊗ V8 ) · · · (I2 ⊗ VN/2 )VN , where VK =

I

K/2

IK/2

I¨K/2 −I¨K/2



, K = 4, 8, . . . , N/2, N, H2 = W2 = M2 =

1

1 1 −1

.

Note that the fast algorithm corresponding to (5) is not in-place. (2) In-place fast algorithm of MN From (3) and (4), we get that



M¨ N = MN I¨N =

M¨ N/2 −M¨ N/2

MN/2 MN/2



I¨N/2

I¨N/2





M¨ N/2 M¨ N/2

MN/2 −MN/2

=

(5)





=



IN/2

−IN/2

M¨ N/2 −M¨ N/2

MN/2 MN/2

ˆ N. = IˆN MN = M Here, we denote IˆN =



(6)

IN/2

 −IN/2

.

According to (3) and (6) and bisection evolution technique, we may write MN in the following form.



MN =

ˆ N/2 M ˆ N/2 −M

MN/2 MN/2





=

IˆN/2 −IˆN/2

IN/2 IN/2





MN/2 MN/2

= FN (I2 ⊗ MN/2 ).

(7)

Performing the bisection technique or factorization operation in (7) recursively, we obtain the in-place algorithm of MN

MN = FN (I2 ⊗ FN/2 )(I4 ⊗ FN/4 ) · · · (IN/4 ⊗ F4 )(IN/2 ⊗ H2 ).

(8)

Particularly, the in-place fast algorithm of M4 can be written as

M4 = F4 (I2 ⊗ H2 ).

(9)

2.2. Evolving generation and fast algorithm of slant matrix Similar to Walsh matrix, slant matrix exist several orders. From Ref. [23], 4 × 4 slant matrix S4 with M order can be generated by the slant mutation X4 of Walsh matrix M4 .

S4 = X4 M4 .

(10)

From (9) and (10), fast algorithm of S4 is obtained by



⎞⎛

1

⎜ ⎝

⎟⎜ ⎟⎜

1

S4 = X4 F4 (I2 ⊗ H2 ) = ⎜

b4 ⎠⎝ 1

a4 −b4



1

1

1

⎜1 ⎝3

−1

−1

1

−1

1

−3

3

=⎜

1

1

a4

⎞⎛

1

1

−1 ⎟⎜ 1

1 1

⎟ ⎟. ⎠

−1

⎟⎜ ⎠⎝

−1



1

1

1

1

1

−1

(11)



⎟ √ . ⎟ −3 ⎠ ×1/ 5 1

(12)

√ ×1/ 5

−1

Based on the 4th order slant matrix, the 8th order slant matrix can be produced by Walsh copy and slant mutation:

⎞⎛



1

⎜ ⎜ ⎜ ⎜ ⎜ ⎜ S8 = X8 F8 (I2 ⊗ S4 ) = ⎜ ⎜ ⎜ ⎜ ⎜ ⎝

1

⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜1 ⎟⎜ ⎟⎜ ⎟⎜ ⎠⎝

1 1 1 b8

a8 1 −b8

a8 1



1 1

1 −1

1 1 −1 −1

1 1

1 1

⎟ ⎟ ⎟ ⎟ ⎟ −1⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ 1

X. Xiang, B. Shi / Applied Mathematics and Computation 269 (2015) 731–743



1

⎜1 ⎜ ⎜3 ⎜ ⎜1 ⎜ ×⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛

1

735



1

1

1

−1

−1

1

1

−1

−3

−3

3

−1 1

1

1

1

−1

−1

3

1

−1

1

−3

3

1

1

1

1

1

1

⎜1 ⎜ ⎜3 ⎜ ⎜1 ⎜ =⎜ ⎜7 ⎜ ⎜1 ⎜ ⎝7

−1

−1

1

1

−1

−1

1

⎟ ⎟ ⎟ ×1/√5 ⎟ √ ⎟ ⎟ ×1/ 5 ⎟ 1⎟ ⎟ 1⎟ √ ⎟ −3⎠ ×1/ 5 −1 1



√ ×1/ 5

1

−1

−3

−3

−1

1

−3

3

−1

−1

3

−3

5

3

1

−1

−3

−5

−1

−1

1

−1

1

1

−1

−9

−17

17

9

1

⎟ √ ⎟ ×1/ 5 3⎟ ⎟ √ ⎟ 1 ⎟ ×1/ 5 √ ⎟ −7⎟ ×1/ 21 ⎟ −1⎟ √ ⎟ −7⎠ ×1/ 105

−3

3

−1

1

−3

3

−1

1

(13)

√ ×1/ 5

In general, N × N slant matrix can be generated from lower order slant matrix by the recursive Walsh copy and slant mutation, i.e.

SN = XN FN (I2 ⊗ SN/2 ) = XN FN (I2 ⊗ (XN/2 FN/2 (I2 ⊗ SN/4 )))

(14)

= XN FN (I2 ⊗ XN/2 FN/2 )(I4 ⊗ XN/4 FN/4 ) · · · (IN/4 ⊗ S4 ) = XN FN (I2 ⊗ XN/2 FN/2 ) · · · (IN/4 ⊗ X4 F4 )(IN/2 ⊗ H2 )

(15)

2.3. Evolving generation and fast algorithm of slant Haar matrix From [8], the 4th order slant Haar matrix P4 is the same as the 4th order slant matrix S4 , i.e., P4 =S4 . Based on P4 , the 8th order slant Haar matrix P8 can be produced by Haar copy, Walsh mutation H8 and slant mutation X8 , i.e.

⎛ ⎜ ⎜ ⎜ ⎜ ⎜ P8 = X8 H8 (I2 ⊗ P4 ) = ⎜ ⎜ ⎜ ⎜ ⎝ ⎛

1 ⎜1 ⎜ ⎜3 ⎜ ⎜1

×⎜

1 −1 1 −3

⎞⎛

1

1 −1 −1 3

1 1

=

1 ⎜1 ⎜ ⎜3 ⎜ ⎜1 ⎜7 ⎜

⎜ ⎜ ⎝7

b8 1

−b8

a8



1 1 −3 −1

⎜ ⎜ ⎜ ⎝



⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ 1 ⎟⎜ ⎟⎜ ⎟⎜ ⎠⎝

1

a8

1 1 3 1 1 −1 1 −3 5

1 −1 −1 3 3

1 1 −3 −1 1

−1

−9

−17

1 −1 1 −3

1



1

⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠

1 −1

1 1 −1 1 1

1 1

1

⎟ ⎟ ⎟ ⎟ ⎟ ⎟ 1 ⎟ ⎟ 1 ⎟ −3 ⎠

1 −1 −1 3

−1

1

1

1

−3

−1

1

−1 1 17 1

−3 −1 9 −3

−5 −1 1 3

1



⎟ ⎟ ×1/√5 ⎟ ⎟ ×1/√5 ⎟ √ ⎟ −7 ⎟ ×1/ 21 ⎟ 1 ⎟ √ −7 ⎠ ×1/ 105 3

−1

√ ×1/ 5

(16)

736

X. Xiang, B. Shi / Applied Mathematics and Computation 269 (2015) 731–743

According to (11) and (16), the fast algorithm of P8 is described as follows:

P8 = X8 H8 (I2 ⊗ (X4 H4 (I2 ⊗ H2 ))) = X8 H8 (I2 ⊗ (X4 H4 ))(I4 ⊗ H2 ).

(17)

Generally, N × N slant Haar matrix can be obtained by the recursive Haar copy, Walsh mutation and slant mutation of low-order slant Haar matrix, i.e.

PN = XN HN (I2 ⊗ PN/2 ) = XN HN (I2 ⊗ XN/2 HN/2 (I2 ⊗ PN/4 )) = XN HN (I2 ⊗ XN/2 HN/2 )(I4 ⊗ XN/4 HN/4 ) · · · (IN/4 ⊗ P4 ) = XN HN (I2 ⊗ XN/2 HN/2 ) . . . (IN/4 ⊗ X4 H4 )(IN/2 ⊗ H2 ).

(18)

3. Evolving generation and fast algorithm of slantlet transform In [22], Agaian et al. constructed the slantlet transform and provided its fast algorithm from Haar slantlet matrix, attaining valuable results and better applied effect. Nevertheless, its algorithm is not in-place. In other words, it cannot directly produce the output coefficients without necessary operation of adjustment order. This, of course, slows down the fast nature of the transform and results in additional computational costs. In this section, we compare M order slant matrix with M order slantlet matrix, and design the recursive generating method and in-place fast algorithm for slantlet matrix, by referring the generation mode of slant Haar matrix mentioned in Section 2.3. Similar to the adjustment order scheme suggested in [8,23–26], we exchange row 2 and row 3 of the 4th order slantlet matrix described in [22], and M order slantlet matrix A4 is expressed as:

⎛ 1.0000 1 ⎜ −1.0223 A4 = ⎝ 1.3416 2

1.0000 1.6558 0.4472 −0.2416

−0.3909



1.0000 −0.2416 −0.4472 1.6558

1.0000 −0.3909 ⎟ ⎠ −1.3416 −1.0223

Known from Section 2, M order slant matrix S4 =P4 (P4 denotes the 4th order slant Haar matrix) can be normalized as follows



1 1⎜ 1 S4 = ⎝ 2 1.3416 0.4472

1 −1 0.4472 −1.3416

1 −1 −0.4472 1.3416

1 1 −1.3416 −0.4472



⎟ ⎠.

(19)

Let us assume that there exists a 4 × 4 matrix L4 such that:

A 4 = L4 S 4 .

(20)

From (20), we have

⎛1





√ −1 ⎟ 1/ 2

−1

L4 = A4 (S4 )−1 = ⎝



1 −1

1

√ 1/ 2

In this paper, we name the sparse matrix L4 as the 4th order slantlet mutation matrix. According to (11) and (20), the in-place fast algorithm of A4 is obtained as follows:

⎛1





⎛1 ⎜1

×⎝

1 1

1 −1



1



1 −1

−1 ⎟

−1

A4 = L4 X4 H4 (I2 ⊗ H2 ) = ⎝

−1

⎟ ⎠.

1

√ 1/ 2 √ 1/ 2

⎛1 ⎜ ⎝

1 a4 −b4

b4 a4

⎞⎛ 1 ⎟⎜ ⎠⎝ 1



1 1 −1 1

−1 ⎟



1

(21)

Inspired by (20) and the recursive copy mode of slant Haar matrix presented in Section 2.3, based on A4 , we get the 8th order matrix A8 by Haar copy, Walsh mutation, slant mutation and slantlet mutation successively

A8 = L8 X8 H8 (I2 ⊗ A4 )

(22)

X. Xiang, B. Shi / Applied Mathematics and Computation 269 (2015) 731–743

x1 x2

737

a4

x3 x4

b4

x5 x6

a8

a4

x7

b8

x8 b4

Fig. 1. Algorithm flow of the 8th order SLT.

Fig. 2. The meaning of butterfly form.

where

⎛I



4

−1

⎜ ⎝

L8 = ⎜

⎟ 1/√2 ⎟ ⎠ √

−1 1

−1

1

1/ 2

1

A8 is proved as the 8th order slantlet matrix. From (21) and (22), we have the following in-place fast algorithm of A8

A8 = L8 X8 H8 (I2 ⊗ (L4 X4 H4 ))(I4 ⊗ H2 ).

(23)

In a similar way, we may obtain the higher order slantlet matrix. Generally, based on slantlet matrix AN/2 , N × N slantlet matrix AN is generated recursively by Haar copy, Walsh mutation HN , slant mutation XN and slantlet mutation LN

AN = LN XN HN (I2 ⊗ AN/2 ) = LN XN HN (I2 ⊗ ((LN/2 XN/2 HN/2 )(I2 ⊗ AN/4 )))

= LN XN HN (I2 ⊗ LN/2 XN/2 HN/2 )(I4 ⊗ AN/4 ) = LN XN HN (I2 ⊗ LN/2 XN/2 HN/2 )(I4 ⊗ LN/4 XN/4 HN/4 ) · · · (IN/4 ⊗ A4 ) = LN XN HN (I2 ⊗ LN/2 XN/2 HN/2 ) · · · (IN/4 ⊗ L4 X4 H4 )(IN/2 ⊗ H2 )



n−2 

=

(I2i ⊗ (L2n−i X2n−i H2n−i )) (IN/2 ⊗ H2 )

(24)

i=0

Remark 4. K × K slantlet mutation matrix has the following form:

⎛I

K/4

⎜ ⎝

LK = ⎜



−1 −1

⎟ 1/√2 ⎟ ⎠ √

−1 IK/2−1 1 IK/4−1

1/ 2

where IK/2−1 , IK/4 , IK/4−1 are, respectively, (K/2-1) × (K/2-1), (K/4) × (K/4), (K/4-1) × (K/4-1) identity matrix, K = 4, 8, . . . , N/2, N, N = 2n , integer number n ≥ 2. Remark 5. Based on the recursive Haar copy and Walsh mutation, slant mutation and slantlet mutation, high order slantlet matrix is generated from low order one. From (24) in the reverse direction, the recursive generation of high order slantlet matrix is the factorization process of sparse matrix, which corresponds to the in-place fast algorithm of SLT. Generally, the total operations required for the presented N order SLT are about 5N-8 additions and 2N-4 multiplications, while the total operations required for another SLT mentioned in Refs. [17,22] are about 4N+3 additions and 3N multiplications. Without loss of generality, from (23), we have the fast algorithm flowchart of the 8th order SLT shown in Fig. 1: (1) The coefficients a4 , a8 , b4 , b8 in Fig. 1 are calculated by (2). (2) The meaning of butterfly forms is illustrated in Fig. 2.

738

X. Xiang, B. Shi / Applied Mathematics and Computation 269 (2015) 731–743

√ Note that the multiplier 1/ 2 has been omitted in the slantlet mutation step of Figs. 1 and 2. In fact, except the slant mutation step, each step including Haar copy, Walsh mutation, and slantlet mutation step is not itself orthogonal and should be divided by √ 2 used for the standardized treatment of SLT. Remark 6. During the application, it is not necessary to perform adjustment order because the slantlet matrix with in-place algorithm produced in our paper does not fundamentally affect the final results of [22]. However, there really exist recursive rules for adjustment order. Suppose row i of N/2×N/2 slantlet matrix proposed in our paper corresponds to row JN/2 (i) of N/2×N/2 slantlet matrix described in [22], we may achieve the order of N×N slantlet matrix mentioned in [22] by the following adjustment scheme.

KN (i) = 2JN/2 (i), KN (i + N/2) = 2i + 1, i = 0, 1, 2, . . . , (N/2 − 1) 4. Evolving generation and fast algorithm of slantlet-Walsh transform In Section 3, we get high order slantlet matrix and its fast algorithm based on the recursive Haar copy, Walsh mutation, slant mutation and slantlet mutation technique. Obviously, beside Haar copy, we may use other types of copy rules to generate different orthogonal matrices with their own unique nature and specific applied value since that different copy rules correspond to different wavelet decomposition strategies [8, 23]. In this section, we produce new orthogonal matrix called as slantlet-Walsh matrix by the recursive Walsh copy coupled with slant mutation and slantlet mutation techniques. Note that the slantlet-Walsh transform is abbreviated to SLW transform in this paper. 4.1. Generation and algorithm I of SLW transform We regard the 4 × 4 slantlet matrix A4 as the initial state of SLW matrix denoted as B4 , i.e., B4 = A4 From (1) and (21), we obtain

B4 = L4 X4 H4 (I2 ⊗ H2 ) = L4 X4 F4 (I2 ⊗ H2 ).

(25)

Based on the 4th order SLW matrix B4 , the 8th order SLW matrix B8 is obtained by Walsh copy F8 , slant mutation X8 , and slantlet variants L8 , i.e.

B8 = L8 X8 F8 (I2 ⊗ B4 )

(26)

From (25) and (26), we get the fast algorithm of B8 as follows:

B8 = L8 X8 F8 (I2 ⊗ L4 X4 F4 (I2 ⊗ H2 )) = L8 X8 F8 (I2 ⊗ L4 X4 F4 )(I4 ⊗ H2 )

(27)

Similarly, we obtain the 16th order SLW matrix and its fast algorithm:

B16 = L16 X16 F16 (I2 ⊗ B8 ) = L16 X16 F16 (I2 ⊗ L8 X8 F8 )(I4 ⊗ L4 X4 F4 )(I8 ⊗ H2 )

(28)

Generally, we get the Nth order SLW matrix and its fast algorithm:

BN = LN XN FN (I2 ⊗ BN/2 ) = LN XN FN (I2 ⊗ LN/2 XN/2 FN/2 (I2 ⊗ BN/4 )) = LN XN FN (I2 ⊗ LN/2 XN/2 FN/2 )(I4 ⊗ LN/4 XN/4 FN/4 ) · · · (IN/4 ⊗ B4 ) = LN XN FN (I2 ⊗ LN/2 XN/2 FN/2 ) · · · (IN/4 ⊗ L4 X4 F4 )(IN/2 ⊗ H2 )

(29)

where LK , XK , IK , H2 , K presented in (25)–(29) are the same as the corresponding symbols appeared in Sections 2 and 3, only Walsh mutation HK of Sections 2 and 3 differs from Walsh copy FK , here, HK may be viewed as a pruning of FK , see the definition (1). 4.2. Generation and algorithm II of SLW transform From (5) and (8) in Section 2, there exist two kinds of generation modes and fast algorithms for the 4th order Walsh matrix M4 , i.e.

M4 = F4 (I2 ⊗ H2 ) = (I2 ⊗ H2 )V4 .

(30)

Based on (30), the 4th order SLW denoted as B4 may be produced different from (25)

B4 = L4 X4 F4 (I2 ⊗ H2 ) = L4 X4 (I2 ⊗ H2 )V4 .

(31)

Similarly, from F8 (I2 ⊗ B4 ) = (I2 ⊗ B4 )V8 , B8 may be generated different from (26).

B8 = L8 X8 (I2 ⊗ B4 )V8 = L8 X8 (I2 ⊗ L4 X4 (I2 ⊗ H2 )V4 )V8 = L8 X8 (I2 ⊗ L4 X4 )(I4 ⊗ H2 )(I2 ⊗ V4 )V8

(32)

Generally, from (5), (8) and (32), we may get another generation mode of the Nth order SLW transform as follows.

BN = LN XN (I2 ⊗ LN/2 XN/2 ) · · · (IN/4 ⊗ L4 X4 )(IN/2 ⊗ H2 )(IN/4 ⊗ V4 )(IN/8 ⊗ V8 ) · · · (I4 ⊗ VN/ 4 )(I2 ⊗ VN/2 )VN

(33)

X. Xiang, B. Shi / Applied Mathematics and Computation 269 (2015) 731–743

739

Fig. 3. Fast algorithm I of the 8th order SLW transform.

x1 x2

a4

x3 x4

4

x5 x6

a8

a4

x7

b8

x8

b4 Fig. 4. Fast algorithm II of the 8th order SLW transform.

We put all mutation steps together and denote it as TN

TN = LN XN (I2 ⊗ LN/2 XN/2 ) · · · (IN/4 ⊗ L4 X4 ).

(34)

MN = (IN/2 ⊗ H2 )(IN/4 ⊗ V4 )(IN/8 ⊗ V8 ) · · · (I2 ⊗ VN/2 )VN

(35)

Let

Then, we may divide (33) into two independent parts, and rewrite (33) in the following form.

BN = TN MN .

(36)

Since (35) corresponds to the not in-place algorithm of Walsh transform, as demonstrated in (5) of Section 2, we may utilize (8) described in Section 2 and (34) and (36) to obtain another in-place algorithm of SLW transform where copy technique is prior to variation strategy shown in following (37).

BN = LN XN (I2 ⊗ LN/2 XN/2 ) · · · (IN/4 ⊗ L4 X4 )FN (I2 ⊗ FN/2 ) · · · (IN/4 ⊗ F4 )(IN/2 ⊗ H2 )

(37)

Corresponding to (29) and (37), we take the 8th order SLW transform for example, demonstrate two kinds of algorithm flow in Figs. 3 and 4, respectively. Note that the coefficient value and butterfly form in Figs. 3 and 4 may refer Figs. 1 and 2. From Figs. 3 and 4, SLW transform as well as SLT proposed in Section 3 own structure symmetry and in-place fast algorithms, which are very suitable for the parallel computing [27,28]. In addition, compare SLW transform in Figs. 3 and 4, all mutation steps TN are performed after Walsh transform MN in the algorithm II, this differs from algorithm I where copy technique alternates variation strategy, as also shown in (29). Remark 7. The slantlet Walsh (SLW) transform owns relationship with previous transforms (such as Haar, slant Haar, Walsh, slant and slantlet transform) illustrated in Fig. 5. Similar to the relationship that Walsh function is Haar wavelet packet, the proposed SLW transform may be viewed as SLT packet. Corresponding to the fact that SLT may be produced by the recursive mutation of Haar and slant Haar transform, the provided SLW transform may be regarded as the recursive mutation of Walsh and slant transform. Remark 8. The design idea of this paper is clear and easy to be extended.

740

X. Xiang, B. Shi / Applied Mathematics and Computation 269 (2015) 731–743

Haar

slant

Slant

slantlet

variation

Haar

variation

Walsh

slant variation

Slantlet

slantlet

Slantlet

variation

Walsh

Fig. 5. The relationship between different transforms. Table 1 The number of coefficients greater than the given thresholds versus the transforms and signals. NC

Signal

Transform Haar

Slant Haar

Slantlet

Walsh

Slant

Slant Walsh

DCT

Piecewise signal

th = 0.06 th = 0.1

88 61

45 44

36 36

129 127

124 123

117 115

131 122

Sinusoidal signal

th = 0.06 th = 0.1

105 94

52 44

59 54

65 53

44 35

57 43

25 24

(1) In addition to the proposed Haar copy and Walsh copy, we may still take Ter copy or other Haar type copy (different copy way corresponds to different wavelet decomposition strategy) to generate different orthogonal matrix. (2) Slant mutation coefficients must satisfy the following orthogonal conditions:

(aK )2 + (bK )2 = 1

(38)

From (38), we may generate different K × K slant mutation matrix and SLW matrix by varying the slant mutation parameters ak , bK arbitrarily only when the condition (38) is satisfied. Using this idea to Section 3, we may get parametric SLT, as mentioned in [22]. By the way, we may easily obtain the in-place algorithm of parametric SLT, similar to (24) of Section 3.

5. The numerical experiments of SLT and SLW transforms In Sections 3 and 4, we put forward the recursive evolving generation and fast algorithms of SLT and SLW transforms from the perspective of matrix. In this section, we let N = 256, utilize the fast algorithms of Haar transform, Walsh transform, slant transform, slant Haar transform, SLT, and SLW transform provided in our paper and discrete cosine transform (DCT) existed in MATLAB 6.1 environment, to process the piecewise linear signal and sinusoidal signal x defined as follows, and the experimental results are presented in Figs. 6 and 7. The piecewise linear signal f = @(t)33 − 4.∗ heaviside(t − 0.1) − 4.∗ heaviside(t − 0.3) − 6.∗ heaviside(t − 0.6) − 8.∗ t.∗ heaviside(t − 1.0) − 5.∗ heaviside(t − 1.4)+3.∗ t∗ heaviside(t − 1.6)+3.∗ heaviside(t − 1.9)+4.∗ t.∗ heaviside(t − 2.2)+3.∗ t∗ heaviside(t − 2.6)+4.∗ t.∗ heaviside(t − 2.9); (for i = 1:1:N x(i) = f(3∗ i/N); end) The sinusoidal signal fs = 2.2756e+003; f1 = 80; f2 = 100; N = 5; t1 = N∗ 1/f1; t2 = N∗ 1/f2; t = 0:1/fs:(t1 + t2); y = sin(f1∗ 2∗ pi∗ t).∗ (t ≥ 0&t ≤ t1) + sin(f2∗ 2∗ pi∗ (t − t1)).∗ (t ≥ t1&t ≤ (t1 + t2)); yy = y(2:257) Count up the number of transformed coefficients greater than a certain threshold, and the experimental results are summarized in Table 1, where NC represents the number of transformed coefficients greater than a given threshold denoted as th. From the viewpoint of application based on transform, it is better to deal with certain signal by selecting the transform corresponding to small number of transformed coefficients with high magnitude. According to the signal features and transformed results illustrated in Figs. 6 and 7 and Table 1, we may draw that SLT is more suitable for processing piecewise linear signal with strong discontinuity and jump features compared with Haar, Walsh, slant, slant Haar, SLW transform and DCT. While DCT is more fit to handle sinusoidal signal in comparison with other transforms mentioned above. Finally, to evaluate and compare the processing speed of the different fast algorithms, the random signals with different scales N are, respectively, transformed by SLT presented in this paper and another SLT mentioned in Refs. [17,22]. The second (s for short) is taken as the time unit, and the operating results are listed in Table 2. Table 2 validates that the SLT presented in this paper has faster speed than another SLT mentioned in Refs. [17,22].

X. Xiang, B. Shi / Applied Mathematics and Computation 269 (2015) 731–743

741

300 35

250 30

200 25

150 20

100 15

50

10

0

5

0

-50 -100 0

50

100

150

200

250

0

50

(a) The piecewise linear signal 300

250

250

200

200

150

150

100

100

50

50

0

0

-50

-50

0

50

100

150

200

-100

250

0

50

(c) Haar 300

250

250

200

200

150

150

100

100

50

50

0

0

-50

-50

0

50

100

150

200

250

-100

0

50

(e) Slantlet 300

250

250

200

200

150

150

100

100

50

50

0

0

-50

-50

-100

-100

50

100

250

100

150

200

250

150

(g) Slant

100

150

200

250

(f) Walsh

300

0

200

(d) slant Haar

300

-100

150

(b) DCT

300

-100

100

200

250

0

50

100

150

(h) Slant Walsh

Fig. 6. The piecewise linear signal transformed by different transforms.

200

250

742

X. Xiang, B. Shi / Applied Mathematics and Computation 269 (2015) 731–743

1 6

0.8 0.6

4

0.4 2

0.2 0

0

-0.2 -2

-0.4 -0.6

-4

-0.8 -1

0

50

100

150

200

250

-6

0

50

(a) The sinusoidal signal 6

4

4

2

2

0

0

-2

-2

-4

-4

0

50

100

150

200

250

-6

0

50

(c) Haar 6

4

4

2

2

0

0

-2

-2

-4

-4

0

50

100

150

200

250

-6

0

50

(e) Slantlet 6

4

4

2

2

0

0

-2

-2

-4

-4

0

50

100

250

100

150

200

250

150

(g) Slant

100

200

250

200

250

150

(f) Walsh

6

-6

200

(d) Slant Haar

6

-6

150

(b) DCT

6

-6

100

200

250

-6

0

50

100

150

(h) Slant Walsh

Fig. 7. The sinusoidal signal transformed by different transforms.

X. Xiang, B. Shi / Applied Mathematics and Computation 269 (2015) 731–743

743

Table 2 The processing time versus the slantlet transform and signal scale. Transform

SLT in this paper SLT in Refs. [17,22]

Signal scale N/time (s) N = 1024∗ 128

N = 1024∗ 512

N = 1024∗ 1024

N = 1024∗ 2048

N = 1024∗ 4096

N = 1024∗ 8192

0.0234 0.0469

0.0938 0.1250

0.2031 0.2813

0.3906 0.5469

0.7813 1.0938

1.5313 2.1719

6. Conclusion As an orthogonal discrete wavelet transform with two zero moments, SLT may achieve a better balance between the time domain localization and smoothness, the excellent property of SLT is expected to be more widely applied in the field of information science. However, it is not convenient to get the in-place fast algorithm and parallel implementation of SLT, and it is not easy to generalize the formation and algorithm of SLT to other matrices. In this work, we take some design techniques, including Haar copy, Walsh mutation, slant mutation and slantlet mutation, and propose a new recursive evolution method for generating SLT from the perspective of matrix rather than the wavelet. Meanwhile, we produce a new orthogonal transform called as slantlet-Walsh (SLW) transform, and obtain the in-place fast algorithm of SLT and SLW transforms. The symmetry of the algorithm structure makes SLT and SLW transforms very suitable for the parallel computing. In addition, SLT and SLW transforms presented in this paper are recursively defined. The design scheme is clear and easy to be extended. Beside the proposed Haar copy and Walsh copy, we may take Ter copy or other Haar type copy or select other mutation parameter value under the orthogonal condition, to generate new orthogonal matrix. Due to the unique properties, the newly generated orthogonal matrix may have special application value in some fields. As validated in our experiment, the proposed SLT is more suitable for handling the piecewise linear signal compared with Haar, Walsh, slant, slant Haar, SLW transforms and DCT. Acknowledgments This investigation is supported by the National Natural Science Foundation of China under grant nos. 61202051, 41371422, 11272132, and supported by the Special Fund for Basic Scientific Research of Central Colleges, China University of Geosciences (Wuhan), under grant no. CUG130416. References [1] M.-Y. Chen, B.-T. Chen, Online fuzzy time series analysis based on entropy discretization and a fast Fourier transform, Appl. Soft Comput. 14 (Part B) (2014) 156–166. [2] Z. Guo, B. Shi, N. Wang, Two new algorithms based on product system for discrete cosine transform, Signal Process. 81 (2001) 1899–1908. [3] A. Golestani, S.M. Kolbadi, A.A. Heshmati, Localization and de-noising seismic signals on SASW measurement by wavelet transform, J. Appl. Geophys. 98 (2013) 124–133. [4] A. Tagliani, M. Milev, Laplace transform and finite difference methods for the Black-Scholes equation, Appl. Math. Comput. 220 (2013) 649–658. [5] A. Banerjee, A. Dutta, Performance comparison of Cosine, Haar, Walsh-Hadamard, Fourier and wavelet transform for shape based image retrieval using fuzzy similarity measure, Procedia Technol. 10 (2013) 623–627. [6] S.A. Chouakri, F. Bereksi-Reguig, A. Taleb-Ahmed., QRS complex detection based on multi wavelet packet decomposition, Appl. Math. Comput. 217 (23) (2011) 9508–9525. [7] D.F. Elliott, K.R. Rao, Fast Transforms: Algorithms, Analyses, Applications, Academic Press, New York, 1982. [8] B. Shi, N. Wang, The evolving generation and fast algorithms of slant Haar-type transform, Math. Numer. Sinica 32 (2003) 1–7 in Chinese. [9] X. Xiang, J. Zhou, J. Yang, et al., Mechanic signal analysis based on the Haar-type orthogonal matrix, Expert Syst. Appl. 6 (3) (2009) 9674–9677. [10] X. Xiang, J. Zhou, L. Chaoshun, et al., Fault diagnosis based on Walsh transform and rough sets, Mech. Syst. Sig. Process. 23 (2009) 1313–1326. [11] Q. Zhang, P. van Beek, C. Yuan, et al., Efficient defect detection with sign information of Walsh Hadamard transform, in: Proceedings of SPIE8661, Image Processing: Machine Vision Applications VI, 86610A, 2013, doi:10.1117/12.2004671. [12] G. Aliyu, B.A. Khalid, M. Saifulnizam, M. Wazir, An improved three-phase reactive power measurement algorithm using Walsh functions transform, IEEE Trans. Electr. Electron. Eng. 9 (2014) 7–14. [13] M.T. Hamood, S. Boussakta, Fast Walsh-Hadamard-Fourier transform algorithm, IEEE Trans. Signal Process. 59 (2011) 5627–5631. [14] B.-L. Cui, S.-H. Teng, Z. Cui, Similarity search over time series data based on Walsh transform, Comput. Eng. 37 (8) (2011) 55–57. [15] V. AliReza, M. AmirHassan, J. Kamal, Fast texture energy based image segmentation using directional Walsh-Hadamard transform and parametric active contour models, Expert Syst. Appl. 38 (2011) 11722–11729. [16] N. Ahmed, K.R. Rao, Orthogonal Transforms for Digital Signal Processing, Springer-Verlag, Berlin, 1975. [17] I.W. Selesnick, The slantlet transform, IEEE Trans. Signal Process. 47 (1999) 1304–1313. [18] T. Thabit, B.E. Khoo, Robust reversible watermarking scheme using slantlet transform matrix, J. Syst. Software 88 (2014) 74–86. [19] N.B. Patil, V.M. Viswanatha, S. Dr Pande MB, Slant transformation as a tool for pre-processing in image processing, Int. J. Sci. Eng. Res. 2 (2011) 1–7. [20] G. Panda, P.K. Dash, A.K. Pradhan, S.K. Meher, Data compression of power quality events using the slantlet transform, IEEE Trans. Power Delivery 17 (2002) 662–667. [21] M. Maitra, A. Chatterjee, A slantlet transform based intelligent system for magnetic resonance brain image classification, Biomed. Signal Process. Control 1 (2006) 299–306. [22] S.S. Agaian, K. Tourshan, J.P. Noonan, The fast parametric slantlet transform with applications, Proc. SPIE 5298, Image Processing: Algorithms and Systems III, 1–12 (May 28, 2004). [23] B. Shi, N. Wang, The evolving generation and fast algorithms of slant transform, Math. Numer. Sinica 22 (2000) 437–448 Chinese. [24] Q. Li, M. Zhou, B. Shi, et al., Fast algorithms for Walsh transform in bit-reversed sequency order, Chin. Sci. Bull. 43 (1998) 627–633. [25] Z. Li, Q. Zhang, Ordering of Walsh function, IEEE Trans. Electromagn. Compat. 25 (1983) 115–119. [26] C.-K. Yuen, Remarks on the ordering of Walsh functions, IEEE Trans. Comput. 21 (12) (1972) 1452. [27] N. Chen, B. Shi, N. Wang, A block splitting technique for fast 2D Walsh transform, Signal Process. 87 (2007) 1163–1168. [28] X. Xiang, J. Zhou, L. Mo, et al., Improved algorithm about NSFOT, Appl. Math. Comput. 215 (3) (2009) 881–888.