1 Introduction

There are a variety of discrete signal orthogonal transforms [13], such as discrete Fourier transform (DFT), discrete Hartley transform (DHT), Walsh-Hadamard transform (WHT), Haar transform, slant transform, and discrete cosine transform (DCT), which have various application in digital signal processing, image compressing video processing, and pattern recognition. A lot of services of these transforms are mainly due to their practical usefulness and the existence of fast and efficient algorithms for their computation. However, since each of the well-known transforms [49], for example DFT, DHT, WHT, DCT, etc., is fixed without any parameters, each single transform only deals with its special area of applications. In order to best match the given input signal class or the application, many parametric transforms [1015] with matrices associating a set of parameters are presented to fit the desirable signal by choosing appropriate parameters. An advantage of parametric transforms is the possibility to implement large families of transforms with a unified software/hardware, which is efficient for every representative of the family and may be tuned to the desired transforms [16].

On the other hand, the DCT and the Karhunen-Loeve transform (KLT) have better compaction performance than the slant transform [10, 11]. Both the DCT and KLT have more computational complexity than the slant transform. Therefore, the need arises for slant transform improvement schemes that yield performance comparable to that of the KLT and DCT without incurring their computational complexity [1020]. Therefore, various generalizations of the WHTs and DFTs have been attempted. Lee [6] proposed a center weight Hadamard transform with matrix of order 4. However, the proposed jacket transform has only three parameters at most. Recently, Bouguezel et al. [13] proposed a new class of reciprocal-orthogonal parametric (ROP) transforms, which have 3 N 2 independent parameters for an input data vector of length N. Further, they showed that the inverse of the ROP transforms and matrices is easily obtained and has fast algorithm. Lee et al. [18] proposed a novel class of element-wise inverse jacket transforms (EIJTs) having 2N−1 parameters for an input data vector of length N=3·2r. Moreover, Bouguezel et al. [14] proposed new parametric discrete Fourier transforms, Hartley transforms, and algorithms for fast computation. Ding et al. [15] proposed arbitrary-length Walsh-Jacket transforms. Agaian et al. [11] developed a class of generalized parametric Slant-Hadamard transforms with fast algorithm, whose performance is better than the classical one-transform-based model. Chen et al. [21] proposed a fast cocyclic jacket transform over the complex number field. Moreover, many other transforms based on complex field and finite fields were proposed [19, 20, 22].

In recent years, enormous parametric transforms corresponding to the existing determined transforms have been developed. It has been shown that parametric transforms can have more flexibility and a wider range of applications compared to its original transform. For example, the independent parameters of the fractional discrete transform are used as an additional secret key for watermarking [5], encryption [4, 17], error-correcting codes, etc. From this point of view, parametric transforms with matrices described in a unified form and based on a set of parameters become more and more important.

The main purpose of this paper is to propose a fast parametric reciprocal-orthogonal jacket transform (PROJT) having 9 4 N parameters for an input data vector N=2r+1, which is reciprocal-orthogonal and has a fast and efficient algorithm with special structure. In addition, this proposed transform has more parameters than some known proposed transforms. A lot of simulations show that the independent parameters in the PROJT are able to be used as additional secret keys for image encryption. The rest of this paper is organized as follows. In Section 2, jacket matrices and some preliminaries are recalled. In Section 3, the PROJT is proposed and developed. In Section 4, an efficient algorithm with special structure is developed for the proposed PROJT having many parameters. Examples and computer simulations are given in Section 5. We draw some conclusions and remarks in Section 6.

2 Preliminaries and notations

In this section, we introduce some definitions and notations. For an N×N matrix [J] N , the N×N associated matrix [ J ] N RT is obtained from matrix [J] N by taking the reciprocal of each entry and exchanging its row and column indices. In other words, the (k,i) entry of [ J ] N RT is equal to the reciprocal of the element in the (i,k) position in [J] N . We now recall the definition of a jacket matrix which is reciprocal-orthogonal in [7].

Definition 2.1

An N×N complex matrix [J] N =(ji,k) is called a jacket matrix, if [J] N is invertible and the element in the entries (i,k) of its inverse matrix is equal to the product of 1 N and the inverse of the element in the entries (k,i) of [J] N . In other words, if

[ J ] N = j 0 , 0 j 0 , 1 j 0 , N 1 j 1 , 0 j 1 , 1 j 1 , N 1 j N 1 , 0 j N 1 , 1 j N 1 , N 1 ,
(1)

then

[ J ] N 1 = 1 N [ J ] RT = 1 j 0 , 0 1 j 1 , 0 1 j N 1 , 0 1 j 0 , 1 1 j 1 , 1 1 j N 1 , 1 1 j 0 , N 1 1 j 1 , N 1 1 j N 1 , N 1 .
(2)

For example, the well-known Hadamard matrices are jacket matrices. A 2×2 jacket matrix is as follows:

[ J ] 2 = a b c bc a ,
(3)

where a,b,c are nonzero complex numbers, since

[ J ] 2 [ J ] 2 RT = a b c bc a 1 a 1 c 1 b a bc =2 [ I ] 2 .
(4)

Clearly, this 2×2 jacket matrix has three parameters. The proposed jacket matrix of order 4 [6]

[ J ] 4 = b f g h c acf b acg b ch b d adf b adg b dh b e ef b eg b eh b
(5)

has eight parameters and [ J ] 4 [ J ] 4 RT =4 [ I ] 4 , which is a generalization of the 4×4 center-weighted Hadamard matrix

[ CWH ] 4 = 1 1 1 1 1 w w 1 1 w w 1 1 1 1 1
(6)

with only one nonzero complex parameter and [ CWH ] 4 [ CWH ] 4 RT =4 [ I ] 4 . Bouguezel et al. [13] proposed the following ROP transform of order 8 that is (7) and [ P ] 8 [ P ] 8 RT =8 [ I ] 8 .

[ P ] 8 = 1 1 1 1 1 1 1 1 1 a 1 , 1 a 2 , 1 a 3 , 1 a 3 , 1 a 2 , 1 a 1 , 1 1 1 a 1 , 1 a 2 , 1 a 3 , 1 a 3 , 1 a 2 , 1 a 1 , 1 1 1 1 1 1 1 1 1 1 1 a 1 , 1 a 2 , 1 a 3 , 1 a 3 , 1 a 2 , 1 a 1 , 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 a 1 , 1 a 2 , 1 a 3 , 1 a 3 , 1 a 2 , 1 a 1 , 1 1 .
(7)

3 Proposed PROJT with many parameters

Before proposing a desired PROJT, we also need to introduce some notations and definitions. For a given integer N=2r+1, any integer 0≤nN−1 can be written as

n= n r 2 r + n r 2 r 1 ++ n 1 2+ n 0
(8)

where n i is 0 or 1 for 0≤ir+1. For two integers n and k=k r 2r+kr−12r−1+⋯+k12+k0, we define

< k , n > = k r n r + k r 1 n r 1 + + k 1 n 1 + k 0 n 0 .

Further, we denote the two sets as follows:

S e n | 0 n N 1 , i = 0 r n i is even

and

S o n | 0 n N 1 , i = 0 r n i is odd .

Moreover, let

p ( n ) = 0 , if n S e , 1 , if n S o ,

and

n ~ = 0 , if n is even, 1 , if n is odd .

Let

V ( i ) = V 0 , 2 i V 0 , 2 i + 1 V 1 , 2 i , V 1 , 2 i + 1 ,

for i=0,1,2⋯,N/2−1=2r−1, where V 1 , 2 i + 1 = V 1 , 2 i V 0 , 2 i + 1 V 0 , 2 i . Therefore, we have

V 0 , 2 i V 1 , 2 i + 1 + V 0 , 2 i + 1 V 1 , 2 i =0,
(9)

where i=0,1,⋯,N/2−1. Moreover, it is easy to see that V ( 0 ) , V ( 1 ) ,, V ( 2 r 1 ) are 2×2 jacket matrices, each of which has three independent parameters. Let

α = a 0 , 0 , a 0 , 1 , , a 0 , N / 4 1 , a 0 , N / 4 , , a 0 , N / 2 1

and

β = a 1 , 0 , a 1 , 1 , , a 1 , N / 4 1 , a 1 , N / 4 , , a 1 , N / 2 1

where a 1 , i = a 0 , i a 0 , N / 2 i 1 a 1 , N / 2 i 1 for i=N/4,N/4+1,⋯,N/2−1.

Based on the above two vectors Bouguezel et al. [13] constructed a class of ROP transforms having 3 4 N independent parameters for a sequence length N/2. The ROP transform of a complex input data X(k) of order N/2=2r can be stated as follows [13]:

Y(n)= k = 0 N / 2 1 ( 1 ) < k , n > a p ( n ) , k X(k),
(10)

where n=0,1,⋯,N/2−1. Further, they proved that the inverse of the ROP transform by (10) is fastly decoded by

X(k)= 1 N n = 0 N / 2 1 ( 1 ) < k , n > a p ( n ) , k Y(n),
(11)

where k=0,1,⋯,N/2−1.

For two N×N matrices [A] N =(a ij ) and [B] N =(b ij ), the Hadamard product [C] N =(c ij ) of the two matrices [A] and [B] is defined as c ij =a ij b ij and denoted [C] N =[A] N ∘[B] N . For the proposed ROP transform, Bouguezel et al. also gave the method on how to construct the transform matrix associated with the ROP transform. Let [A]N/2 be the matrix, whose k−th row equals to the k−th row of [A]N/2, to be α if p(k)=0 and to be β if p(k)=1. Moreover, let [H]N/2=[H]2⊗[H]2⊗⋯⊗[H]2 be the Hadamard matrix of order N/2. Then the proposed ROP matrix [P]N/2 is just [A]N/2∘[H]N/2. Therefore, it is easy to see that [P]N/2 is orthogonal and

[ P ] N / 2 [ P ] N / 2 RT = [ P ] N / 2 RT [ P ] N / 2 = N / 2 [ I ] N / 2 ,

where [I]N/2 is the N/2×N/2 identity matrix. In other words, we have the following equation:

s = 0 N / 2 1 ( 1 ) < k , s > a p ( k ) , s ( 1 ) < l , s > a p ( l ) , s = N / 2 if k = l 0 if k l ,
(12)

where k,l=0,1,⋯,N/2−1. With the above notations and symbols, we are ready to propose a novel class PROJT as follows.

Definition 3.1

A PROJT of a complex sequence X(n) of order N=2r+1 is defined as

Y(n)= i = 0 N 1 ( 1 ) < n 2 , i 2 > a p ( n 2 ) , i 2 V n ~ , i X(i),
(13)

n=0,1,⋯,N−1, and n 2 stands for the largest integer no more than n 2 .

The PROJT matrix of order N=2r+1 have 9 4 N independent parameters, since there are 3 4 N nonzero independent parameters a00,⋯,a0,N/2−1,a1,0,⋯,aN/4−1 and 3 2 N independent parameters V00,⋯,V0,N,V1,0,⋯,V1,N/2−1. It is known that the more independent parameters a transform has, the more it has applications. Note that the PROJT has 9 4 N parameters while the ROP has 3 2 N parameters, which implies that the PROJT has more applications in watermarking, encryption, and error-correcting codes than the ROP. Further, it can be shown that the inverse transform of the proposed transform is easily obtained and has an efficient algorithm.

Theorem 3.2

The inverse transform of the PROJT defined by (13) is given as follows:

X(i)= 1 N n = 0 N 1 ( 1 ) < i 2 , n 2 > a p n 2 , i 2 V n ~ , i Y(n),
(14)

where i=0,1,⋯,N−1.

Proof

We establish the above theorem by proving that the following equation holds

i = 0 N 1 ( 1 ) < n 2 , i 2 > a p n 2 , i 2 V n ~ , i ( 1 ) < i 2 , t 2 > a p t 2 , i 2 V t ~ , i = N if t = n 0 if t n ,
(15)

where n,t=0,1,⋯,N−1.

Case 1: We first consider t=n. Then

i = 0 N 1 ( 1 ) < n 2 , i 2 > a p n 2 , i 2 V n ~ , i ( 1 ) < i 2 , t 2 > a p t 2 , i 2 V t ~ , i = i = 0 N 1 ( 1 ) < n 2 , i 2 > a p n 2 , i 2 V n ~ , i ( 1 ) < i 2 , n 2 > a p n 2 , i 2 V n ~ , i = i = 0 N 1 1 = N.

Case 2. Next, we consider that tn. There are four subcases.

Subcase 2.1 n=2k and t=2l. Then

i = 0 N 1 ( 1 ) < n 2 , i 2 > a p n 2 , i 2 V n ~ , i ( 1 ) < i 2 , t 2 > a p t 2 , i 2 V t ~ , i = i = 0 N 1 ( 1 ) < k , i 2 > + < l , i 2 > a p ( k ) , i 2 V 0 , i a p ( l ) , i 2 V 0 , i = i = 0 , i = 2 s N 1 ( 1 ) < k , i 2 > + < l , i 2 > a p ( k ) , i 2 a p ( l ) , i 2 + i = 0 , i = 2 s + 1 N 1 ( 1 ) < k , i 2 > + < l , i 2 > a p ( k ) , i 2 a p ( l ) , i 2 = s = 0 N / 2 1 ( 1 ) < k , s > + < l , s > a p ( k ) , s a p ( l ) , s + s = 0 N / 2 1 ( 1 ) < k , s > + < l , s > a p ( k ) , s a p ( l ) , s = 0 + 0 = 0 ,

where the last equality follows from (12).

Subcase 2.2: n=2k and t=2l+1. Then

i = 0 N 1 ( 1 ) < n 2 , i 2 > a p n 2 , i 2 V n ~ , i ( 1 ) < i 2 , t 2 > a p t 2 , i 2 V t ~ , i = i = 0 N 1 ( 1 ) < k , i 2 > a p ( k ) , i 2 V 0 , i ( 1 ) < l , i 2 > a p ( l ) , i 2 V 1 , i = i = 0 , i = 2 s N 1 ( 1 ) < k , i 2 > a p ( k ) , i 2 V 0 , i ( 1 ) < l , i 2 > a p ( l ) , i 2 V 1 , i + i = 0 , i = 2 s + 1 N 1 ( 1 ) < k , i 2 > a p ( k ) , i 2 V 0 , i ( 1 ) < l , i 2 > a p ( l ) , i 2 V 1 , i = s = 0 N / 2 1 ( 1 ) < k , s > a p ( k ) , s V 0 , 2 s ( 1 ) < l , s > a p ( l ) , s V 1 , 2 s + s = 0 N / 2 1 ( 1 ) < k , s > a p ( k ) , s V 0 , 2 s + 1 ( 1 ) < l , s > a p ( l ) , s V 1 , 2 s + 1 = s = 0 N / 2 1 ( 1 ) < k , s > a p ( k ) , s ( 1 ) < l , s > a p ( l ) , s V 0 , 2 s V 1 , 2 s + V 0 , 2 s + 1 V 1 , 2 s + 1 = s = 0 N / 2 1 ( 1 ) < k , s > a p ( k ) , s ( 1 ) < l , s > a p ( l ) , s 0 ,

where the last equality follows from (9).

Subcase 2.3 n=2k+1 and t=2l; and Subcase 2. 4 n=2k+1 and t=2l+1 are similar to Subcase 2.2 and Subcase 2.1. Hence we omitted the detail. Therefore,

1 N n = 0 N 1 ( 1 ) < i 2 , n 2 > a p n 2 , i 2 V n ~ , i Y ( n ) = 1 N n = 0 N 1 ( 1 ) < i 2 , n 2 > a p n 2 , i 2 V n ~ , i × t = 0 N 1 ( 1 ) < n 2 , t 2 > a p n 2 , t 2 V n ~ , t X ( t ) = 1 N t = 0 N 1 n = 0 N 1 ( 1 ) < t 2 , n 2 > a p n 2 , t 2 V n ~ , t ( 1 ) < n 2 , i 2 > a p n 2 , i 2 V n ~ , i X ( t ) = 1 N n = 0 , N 1 ( 1 ) < i 2 , n 2 > a p n 2 , i 2 V n ~ , i ( 1 ) < n 2 , i 2 > a p n 2 , i 2 V n ~ , i X ( i ) + 1 N t = 0 , t i N 1 n = 0 , N 1 ( 1 ) < t 2 , n 2 > a p n 2 , t 2 V n ~ , t ( 1 ) < i 2 , n 2 > a p n 2 , i 2 V n ~ , i X ( t ) = 1 N n = 0 , N 1 X ( i ) + 1 N t = 0 , t i N 1 0 = X ( i ) ,

where the second last equality follows from (15) and i=0,1,⋯,N−1. Hence we finish our proof. □

From the above theorem, the inverse transform of the proposed PROJTs is easily obtained by the reciprocal of the forward matrix. Next, we give the matrix form of the PROJTs. Moreover, this matrix has a simple structure and interesting properties. Assume that the input sequence is the N×1 vector X=(x(0),⋯,x(N−1))T and the output sequence is the N×1 vector Y=(y(0),⋯,y(N−1))T, where T denotes the transpose of a vector or matrix. Then the proposed PROJT and its inverse transform can be presented in terms of the matrix form as follows:

Y = [ J ] N X

and

X = [ J ] N 1 Y = 1 N [ J ] N RT Y.

By Theorem 3.2, the inverse matrix [ J ] N 1 of the inverse transform can be obtained from the forward matrix with the two reciprocal-orthogonal and transpose operation. The (k,m) entry of [ J ] N 1 equals to the reciprocal of the (m,k) entry of the forward matrix [J] N up to a scaling factor 1 N . Hence the inverse matrix [ J ] N 1 can be obtained by the following operation from the forward matrix [J] N . First, the matrix [ J ] N R is obtained by taking the reciprocal of each entry of [J] N . Second, the matrix ( [ J ] N R ) T is obtained by transposing [ J ] N R . Last, [ J ] N 1 is obtained by the product scaling factor 1 N and the matrix [ J ] N R T = [ J ] N RT . In other words,

[ J ] N × N 1 = 1 N 1 p mk N × N .
(16)

In order to understand the proposed PROJT, we give some examples to illustrate how to construct it.

Example 1. For N=4=21+1 and r=1. Since the indices of the row [H]2 are 0 and 1, we have S e ={0} and S o ={1}. Let [A]2 be the 2×2 matrix

[ A ] 2 = a 0 , 0 a 0 , 1 a 1 , 0 a 0 , 1 a 1 , 0 a 0 , 0 .

Then the 2×2 forward matrix [P]2 is

[ P ] 2 = [ A ] 2 [ H ] 2 = a 0 , 0 a 0 , 1 a 1 , 0 a 0 , 1 a 1 , 0 a 0 , 0 .

Let

V ( 0 ) = V 0 , 0 V 0 , 1 V 1 , 0 V 1 , 0 V 0 , 1 V 0 , 0

and

V ( 1 ) = V 0 , 2 V 0 , 3 V 1 , 2 V 1 , 2 V 0 , 3 V 0 , 2 .

Then, the forward matrix associated with the PROJT is (17).

z [ J ] 4 = a 0 , 0 V 0 , 0 a 0 , 0 V 0 , 1 a 0 , 1 V 0 , 2 a 0 , 1 V 0 , 3 a 0 , 0 V 1 , 0 a 0 , 0 V 0 , 1 V 1 , 0 V 0 , 0 a 0 , 1 V 1 , 2 a 0 , 1 V 0 , 3 V 1 , 2 V 0 , 2 a 1 , 0 V 0 , 0 a 0 , 0 V 0 , 1 a 0 , 1 a 1 , 0 V 0 , 2 a 0 , 0 a 0 , 1 a 1 , 0 V 0 , 3 a 0 , 0 a 1 , 0 V 1 , 0 a 1 , 0 V 0 , 1 V 0 , 1 V 0 , 0 a 0 , 1 a 1 , 0 V 1 , 2 a 0 , 0 a 0 , 1 a 1 , 0 V 1 , 2 V 0 , 3 a 0 , 0 V 0 , 2
(17)

Example 2. For N=8=22+1 and r=2. Since 0=0·22+0·21+0, 1=0·22+0·2+1, 2=0·22+1·2+0, 3=0·22+1·2+1, we have S e ={0,3} and S o ={1,2}. Let [A]2 be the 4×4 matrix obtained by α and β and their indices, i.e.,

[ A ] 4 = a 0 , 0 a 0 , 1 a 0 , 2 a 0 , 3 a 1 , 0 a 1 , 1 a 0 , 2 a 1 , 1 a 01 a 0 , 3 a 1 , 0 a 0 , 0 a 1 , 0 a 1 , 1 a 0 , 2 a 1 , 1 a 01 a 0 , 3 a 1 , 0 a 0 , 0 a 0 , 0 a 0 , 1 a 0 , 2 a 0 , 3 .

So the 4×4 forward ROP matrix associated with the ROP transform is

[ P ] 4 = a 0 , 0 a 0 , 1 a 0 , 2 a 0 , 3 a 1 , 0 a 1 , 1 a 0 , 2 a 1 , 1 a 01 a 0 , 3 a 1 , 0 a 0 , 0 a 1 , 0 a 1 , 1 a 0 , 2 a 1 , 1 a 01 a 0 , 3 a 1 , 0 a 0 , 0 a 0 , 0 a 0 , 1 a 0 , 2 a 0 , 3 .

Moreover,

V ( 0 ) = V 0 , 0 V 0 , 1 V 1 , 0 V 1 , 0 V 0 , 1 V 0 , 0 ,
V ( 1 ) = V 0 , 2 V 0 , 3 V 1 , 2 V 1 , 2 V 0 , 3 V 0 , 2 ,
V ( 3 ) = V 0 , 4 V 0 , 5 V 1 , 4 V 1 , 4 V 0 , 5 V 0 , 4 ,
V ( 4 ) = V 0 , 6 V 0 , 7 V 1 , 6 V 1 , 6 V 0 , 7 V 0 , 6 .

Hence we obtain the proposed PROJT involving matrix [J]8 (see (18))

[ J ] 8 = a 0 , 0 V 0 , 0 a 0 , 0 V 0 , 1 a 0 , 1 V 0 , 2 a 0 , 1 V 0 , 3 a 0 , 2 V 0 , 4 a 0 , 2 V 0 , 5 a 0 , 3 V 0 , 6 a 0 , 3 V 0 , 7 a 0 , 0 V 1 , 0 a 0 , 0 V 0 , 1 V 1 , 0 V 00 a 0 , 1 V 1 , 2 a 0 , 1 V 0 , 3 V 1 , 2 V 0 , 2 a 0 , 2 V 1 , 4 a 0 , 2 V 0 , 5 V 1 , 4 V 0 , 4 a 0 , 3 V 1 , 6 a 0 , 3 V 0 , 7 V 1 , 6 V 0 , 6 a 1 , 0 V 0 , 0 a 1 , 0 V 0 , 1 a 1 , 1 V 0 , 2 a 1 , 1 V 0 , 3 a 0 , 2 a 1 , 1 V 0 , 4 a 0 , 1 a 0 , 2 a 1 , 1 V 0 , 5 a 0 , 1 a 0 , 3 a 1 , 0 V 0 , 6 a 0 , 0 a 0 , 3 a 1 , 0 V 0 , 7 a 0 , 0 a 1 , 0 V 1 , 0 a 1 , 0 V 0 , 1 V 1 , 0 V 0 , 0 a 1 , 1 V 1 , 2 a 1 , 1 V 1 , 2 V 0 , 3 V 0 , 2 a 0 , 2 a 1 , 1 V 1 , 4 a 0 , 1 a 0 , 2 a 1 , 1 V 0 , 5 V 1 , 4 a 0 , 1 V 0 , 4 a 0 , 3 a 1 , 0 V 1 , 6 a 0 , 0 a 0 , 3 a 1 , 0 V 0 , 7 V 1 , 6 a 0 , 0 V 0 , 6 a 1 , 0 V 0 , 0 a 1 , 0 V 0 , 1 a 1 , 1 V 0 , 2 a 1 , 1 V 0 , 3 a 0 , 2 a 1 , 1 V 0 , 4 a 0 , 1 a 0 , 2 a 1 , 1 V 0 , 5 a 0 , 1 a 0 , 3 a 1 , 0 V 0 , 6 a 0 , 0 a 0 , 3 a 1 , 0 V 0 , 7 a 0 , 0 a 1 , 0 V 1 , 0 a 1 , 0 V 0 , 1 V 1 , 0 V 0 , 0 a 1 , 1 V 1 , 2 a 1 , 1 V 1 , 2 V 0 , 3 V 0 , 2 a 0 , 2 a 1 , 1 V 1 , 4 a 0 , 1 a 0 , 2 a 1 , 1 V 0 , 5 V 1 , 4 a 0 , 1 V 0 , 4 a 0 , 3 a 1 , 0 V 1 , 6 a 0 , 0 a 0 , 3 a 1 , 0 V 0 , 7 V 1 , 6 a 0 , 0 V 0 , 6 a 0 , 0 V 0 , 0 a 0 , 0 V 0 , 1 a 0 , 1 V 0 , 2 a 0 , 1 V 0 , 3 a 0 , 2 V 0 , 4 a 0 , 2 V 0 , 5 a 0 , 3 V 0 , 6 a 0 , 3 V 0 , 7 a 0 , 0 V 1 , 0 a 0 , 0 V 0 , 1 V 1 , 0 V 00 a 0 , 1 V 1 , 2 a 0 , 1 V 0 , 3 V 1 , 2 V 0 , 2 a 0 , 2 V 1 , 4 a 0 , 2 V 0 , 5 V 1 , 4 V 0 , 4 a 0 , 3 V 1 , 6 a 0 , 3 V 0 , 7 V 1 , 6 V 0 , 6
(18)

4 Fast and efficient algorithm for the proposed PROJT

In this section, we analyze some properties of the proposed PROJT, which are used to present an efficient algorithm for a fast computation of the proposed PROJT by (13) and (14).

In order to give an algorithm, we may rewrite (13) in another form so that we can analyze the PROJT by splitting the summation in (13) into a sum of two summations and for even and odd indices. For every output vector components we have

Y ( 2 k ) = i = 0 N 1 ( 1 ) < k , i 2 > a p ( k ) , i 2 V 0 , i X ( i ) = i = 0 , i = 2 t N 1 ( 1 ) < k , i 2 > a p ( k ) , i 2 V 0 , i X ( i ) + i = 0 , i = 2 t + 1 N 1 ( 1 ) < k , i 2 > a p ( k ) , i 2 V 0 , i X ( i ) = t = 0 N / 2 1 ( 1 ) < k , t > a p ( k ) , t V 0 , 2 t X ( 2 t ) + t = 0 N / 2 1 ( 1 ) < k , t > a p ( k ) , t V 0 , 2 t + 1 X ( 2 t + 1 ) = t = 0 N / 2 1 ( 1 ) < k , t > a p ( k ) , t ( V 0 , 2 t X ( 2 t ) + V 0 , 2 t + 1 X ( 2 t + 1 ) ) ,

where k=0,1,…,N/2−1. Similarly, for odd output vector components, we have Y(2k+1)=

t = 0 N / 2 1 ( 1 ) < k , t > a p ( k ) , t V 1 , 2 t X ( 2 t ) + V 1 , 2 t + 1 X ( 2 t + 1 ) ,

where k=0,1,…,N/2−1. Now let

Z ( 0 ) (t)= V 0 , 2 t X(2t)+ V 0 , 2 t + 1 X(2t+1)
(19)

and

Z ( 1 ) (t)= V 1 , 2 t X(2t)+ V 1 , 2 t + 1 X(2t+1).
(20)

where t=0,1,…,N/2−1. Now we are able to analyze the fast and efficient algorithm for the proposed ROP transform. Since the set {0,1,…,N/2−1} can be split into two sets S e and S o , using the result of the paper [13], we are able to obtain

Y ( 2 k ) = t = 0 N / 2 1 ( 1 ) < k , t > a p ( k ) , t Z ( 0 ) ( t ) = i = 0 N / 4 1 ( 1 ) < k , i > a 0 , i Z ( 0 ) ( i ) + a 0 , N / 2 i 1 Z ( 0 ) ( N / 2 i 1 )

for kS e and 1≤kN/2−1. Similarly, we obtain

Y ( 2 k ) = i = 0 N / 4 1 ( 1 ) < k , i > a 1 , i Z ( 0 ) ( i ) a 1 , N / 2 i 1 Z ( 0 ) ( N / 2 i 1 )

for kS o and 1≤kN/2−1.

Let

f e ( 0 ) ( i ) f o ( 0 ) ( i ) = a 0 , i a 0 , N / 2 i 1 a 1 , i a 1 , N / 2 i 1 × Z ( 0 ) ( i ) Z ( 1 ) ( N / 2 i 1 ) = 1 0 0 a 1 , i a 0 , i 1 1 1 1 × a 0 , i 0 0 a 0 , N / 2 i 1 × Z ( 0 ) ( i ) Z ( 1 ) ( N / 2 i 1 ) .

Then,

Y ( 2 k ) = i = 0 N / 4 1 ( 1 ) < k , i > f e ( 0 ) , k S e i = 0 N / 4 1 ( 1 ) < k , i > f o ( 0 ) , k S e .

Hence all the output points can be obtained from the output sequence of the WHT of order of N/4 of the input sequence.

The N×N proposed matrix with the PROJT can be stated as follows:

[ W ] N = ( [ P ] N / 2 [ I ] 2 ) diag ( V ( 0 ) , , V ( N / 2 1 ) )

where [I]2 is a 2×2 identity matrix and d i a g(V(0),…,V(N/2−1)) is the N×N block diagonal matrix whose block is 2×2 matrices.

Let [ Q ] N / 2 ( 1 ) be an N/2×N/2 permutation matrix whose entries (0,0),(1,N/2−1),(2,1),(3,N/2−2),(4,2),…,(2i,i),(2i+1,N/2−i−1),…,(N/2−2,N/4−1),(N/2−1,N/2−(N/4−1)−1) are 1, the other entries are 0.

Let [ Q ] N / 2 ( 2 ) be an N/2×N/2 permutation matrix whose entries (0,0),(1,2),(2,4),…,(i,2i),…,(N/4−1,N/2−2), (N/4,1),(N/4+1,3),…,(N/4+i,2i+1),…,(N/4+N/4−1,N/2−1) are 1, the other entries are 0.

Let n=n r 2r+nr−12r−1+⋯+n121+n0, n=0,1,…,N−1, N=2r+1. Define

S e ( 1 ) = n , | p ( n ) = 0 , 0 n N / 4 1 S e ( 2 ) = n , | p ( n ) = 0 , N / 4 n N / 2 1 S o ( 1 ) = n , | p ( n ) = 1 , 0 n N / 4 1 S o ( 2 ) = n , | p ( n ) = 1 , N / 4 n N / 2 1 .

Let [ Q ] N / 2 ( 3 ) be an N/2×N/2 permutation matrix whose entries (n,n) for n S e ( 1 ) S o ( 2 ) , (n,n+N/4) for n S o ( 1 ) and (n,nN/4) for n S e ( 2 ) are 1, the other entries are 0. Let

A ( i ) = a 0 , i a 0 , N / 2 i 1 a 1 , i a 1 , N / 2 i 1 , i = 0 , 1 , , N / 4 1

where a 1 , N / 2 i 1 = a 0 , N / 2 i 1 a 1 , i a 0 , i .

Then the ROP matrix by the ROP transform [13] can be decomposed to

[ P ] N / 2 = [ Q ] N / 2 ( 3 ) [ I ] 2 H N / 4 [ Q ] N / 2 ( 2 ) × diag A ( 0 ) , A ( 1 ) , A ( N / 4 1 ) [ Q ] N / 2 ( 1 ) .

Hence, the proposed PROJT is as follows:

[ W ] N = [ P ] N / 2 [ I ] 2 × diag V ( 0 ) , , V ( N / 2 1 ) .

Therefore, the decomposition of the proposed transform is the following:

[ W ] N = [ Q ] N / 2 ( 3 ) ( [ I ] 2 H N / 4 ) [ Q ] N / 2 ( 2 ) × diag A ( 0 ) , A ( 1 ) , , A ( N / 4 1 ) [ Q ] N / 2 ( 1 ) [ I ] 2 × diag V ( 0 ) , , V ( N / 2 1 ) .

By the mean of this decomposition of the proposed matrix, we are able to get a fast and efficient algorithm.

Example 3. Let N=2r+1=4. Then

[ Q ] 4 ( 4 ) = 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 .
[ D ] 2 ( 4 ) = 1 0 0 a 1 , 0 a 0 , 0 , [ D ] 2 ( 3 ) = a 0 , 0 0 0 a 0 , 1 .
[ D ] 4 ( 2 ) = 1 0 0 0 0 V 1 , 0 V 0 , 0 0 0 0 0 1 0 0 0 0 V 1 , 2 V 0 , 2
[ D ] 1 ( 4 ) = V 0 , 0 0 0 0 0 V 0 , 1 0 0 0 0 V 0 , 2 0 0 0 0 V 0 , 3 .

[ Q ] 2 ( 3 ) = [ Q ] 2 ( 2 ) = [ Q ] 2 ( 1 ) = [ I ] 2 , implies that the equation (21)

[ W ] 4 = [ Q ] 4 ( 4 ) T [ I ] 2 [ Q ] 2 ( 3 ) ( [ I ] 2 H 1 ) [ Q ] 2 ( 2 ) [ D ] 2 ( 4 ) [ I ] 1 [ H ] 2 [ D ] 2 ( 3 ) [ Q ] 2 ( 1 ) [ Q ] 4 ( 4 ) [ D ] 4 ( 2 ) ( [ I ] 2 [ H ] 2 ) [ D ] 4 ( 1 )
(21)

Example 4. Let N=2r+1=8. Then

[ Q ] 4 ( 1 ) = 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0
[ Q ] 4 ( 2 ) = 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1
[ Q ] 4 ( 3 ) = 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0

Hence we have the following equation (22):

[ W ] 8 = [ Q ] 4 ( 3 ) [ I ] 2 [ H ] 2 [ Q ] 4 ( 2 ) diag A ( 0 ) , A ( 1 ) [ Q ] 4 ( 1 ) [ I ] 2 diag V ( 0 ) , V ( 1 ) , V ( 2 ) , V ( 3 )
(22)

Example 5. Let N=16=2r+1. Let

[ Q ] 16 / 2 ( 1 ) = 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0
[ Q ] 16 / 2 ( 2 ) = 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1
[ Q ] 16 / 2 ( 3 ) = 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1

Hence we have the equation (23).

[ W ] 16 = [ Q ] 8 ( 3 ) [ I ] 2 [ H ] 4 [ Q ] 8 ( 2 ) diag A ( 0 ) , A ( 1 ) , A ( 2 ) , A ( 3 ) [ Q ] 8 ( 1 ) [ I ] 2 diag V ( 0 ) , V ( 1 ) , V ( 2 ) , , V ( 7 )
(23)

Moreover, let [ D ] N / 2 ( 4 ) be an N/2×N/2 diagonal matrix whose diagonal entries are 1, a 1 , 0 a 0 , 0 ,1, a 1 , 1 a 0 , 1 ,,1, a 1 , i a 0 , i ,,1, a 1 , N / 4 1 a 0 , N / 4 1 . Let [ D ] N / 2 ( 3 ) be an N/2×N/2 diagonal matrix whose diagonal entries are a0,0,a0,N/2−1, a0,1,a0,N/2−2,…,a0,i,a0,N/2−i−1,…,a0,N/4−1,a0,N/4. Let [ D ] N ( 2 ) be an N×N diagonal matrix whose diagonal entries are 1, V 1 , 0 V 0 , 0 ,1, V 1 , 2 V 0 , 2 , ,1, V 1 , 2 i V 0 , 2 i ,,1, V 1 , N 2 V 0 , N 2 . Let [ D ] N ( 1 ) be an N×N diagonal matrix whose diagonal entries are V0,0,V0,1,V0,2,…,V1,N−2,V0,N−1.

Let [ Q ] N ( 4 ) be the N×N matrix whose entries (0,0), (1,2),(3,6), …, (i,2i), …, (N/2 − 1,N − 2),(N/2,1), (N/2+1,3),…,(N/2+i,2i+1),…,(N−1,N−1) are 1 and the other entries are 0. Then

[ P ] N / 2 [ I ] 2 = ( [ Q ] N ( 4 ) ) T [ I ] 2 [ P ] N / 2 [ Q ] N ( 4 ) .

Hence the fast decomposed factor of the proposed PROJT can be presented as (24).

[ W ] N = [ Q ] N ( 4 ) T [ I ] 2 [ Q ] N / 2 ( 3 ) ( [ I ] 2 [ H ] N / 4 ) [ Q ] N / 2 ( 2 ) [ D ] N / 2 ( 4 ) ( [ I ] N / 4 [ H ] 2 ) [ D ] N / 2 ( 3 ) [ Q ] N / 2 ( 1 ) [ Q ] N ( 4 ) [ D ] N ( 2 ) [ I ] N / 2 [ H ] 2 [ D ] N ( 1 )
(24)

Moreover, the fast flows of orders 4 and 8 are presented in Figures 1 and 2.

Figure 1
figure 1

Fast flow of order N =22. This figure depicts the fast flow of order N=22.

Figure 2
figure 2

Fast flow of order N =23. This figure depicts the fast flow of order N=23.

Now we compute the complexity of this decomposed factor of the proposed PROJT. Since the permutation matrices do not need any additions and multiplications, we do not consider permutations in computing the complex of the proposed PROJT. Firstly, for the diagonal matrix [ D ] N ( 1 ) , there are needs for N multiplications. Since [H]2 needs 2 additions, [I]N/2⊗[H]2 needs N/2×2=N additions. Note that there are N/2 main diagonal elements which may be equal to 1. Then there are needs for N/2 multiplications for the the diagonal matrix [ D ] N ( 2 ) . Hence there are needs for N+N/2 multiplications and N additions for the matrix [ D ] N ( 2 ) ( [ I ] N / 2 [ H ] 2 ) [ D ] N ( 1 ) . Since [ D ] N / 2 ( 3 ) is the N/2×N/2 diagonal matrix, there are needs for N/2 multiplications. However [ D ] N / 2 ( 4 ) is the N/2×N/2 diagonal matrix in which there are at least N/4 1’s on the main diagonal, so only N/4 multiplications are needed. Clearly, ([I]N/4⊗[H]2 needs 2×N/4=N/2 additions. [I]2⊗[H]N/4 needs 2×(N/4) log2(N/4) additions. Therefore, [ Q ] N / 2 ( 3 ) [ I ] 2 [ H ] N / 4 [ Q ] N / 2 ( 2 ) [ D ] N / 2 ( 4 ) × [ I ] N / 4 [ H ] 2 [ D ] N / 2 ( 3 ) [ Q ] N / 2 ( 1 ) needs N/2+N/4=3N/4 multiplications and N/4×2+2(N/4 log2(N/4)=N/2 log2NN/2 additions. Hence [ Q ] N ( 4 ) T [ I ] 2 [ Q ] N / 2 ( 3 ) [ I ] 2 [ H ] N / 4 [ Q ] N / 2 ( 2 ) [ D ] N / 2 ( 4 ) × [ I ] N / 4 [ H ] 2 [ D ] N / 2 ( 3 ) [ Q ] N / 2 ( 1 ) [ Q ] N ( 4 ) needs 3N/2 multiplications and N log2NN additions. In sum, the decomposed factor of the proposed PROJT needs 3N/2+3N/2=3N multiplication and 2N+N log2NN=N logN+N addition operations. Table 1 shows that the complexity of the proposed PROJT is better than conventional DFT, but a litter less than the ROP. However, the PROJT has a larger number of parameters than the ROP.

Table 1 Computation complexity of additions and multiplications in conventional DFT [[1]], reciprocal-orthogonal parametric [[10]], EIJT [[18]] N =3×2r, and proposed PROJT with N =2r+1 matrix size, where r ≥2

5 Simulations and discussion

In all of the following computer experiments, we use the proposed PROJT and inverse PROJT for encryptions and decryptions. Let V0,2i, V0,2i+1, V1,2i, a0,i for i=0,1,…,N/2−1 and a1,j for j=0,1,N/4−1 denote the 2 + 1 4 N independent parameters employed in the encryption process. Let V 0,2i′, V 0,2i+1′, V 1,2i′, a 0,i′ for i=0,1,…,N/2−1 and a 1,j′ for j=0,1,N/4−1 denote the 2 + 1 4 N parameters employed in the decryption process. Figure 3a shows the 512×512 original image to be encrypted, whose elements are integers in the range 0-255. Figure 3b shows the magnitude image of its encryption output using the proposed PROJT. Then, we use the correct parameter vectors for decryption, and the decrypted output is shown in Figure 3c, which is the same as the original image. To give a decryption example of the previous encrypted image with one single wrong parameter of the 2 + 1 4 N independent parameters, we use

V 0 , 2 i = V 0 , 2 i + δ mod 255 , V 0 , 2 i + 1 = V 0 , 2 i + 1 , V 1 , 2 i = V 1 , 2 i , a 0 , i = a 0 , i ,
(25)
Figure 3
figure 3

The PROJT encryption and decryption. (a) Original image. (b) Encrypted image. (c) Decrypted image with the correct parameters.(d) Decrypted image with one minimized error.

where i=0,1,…,N/2−1 and

a 1 , j = a 1 , j ,
(26)

where j=0,1,N/4−1. Error δ can be any integer uniformly distributed in the range 1-255. Figure 3d shows the decrypted image with the minimized error δ=1, which shows that the original image is successfully protected.

Therefore, to successfully decrypt the 512×512 (N=512) image, whose elements are integers in the range 0-255, we need to know every parameter of V0,2i, V0,2i+1, V1,2i, a0,i for i=0,1,…,N/2−1 and a1,j for j=0,1,N/4−1. Intuitively, this is also true for N>512. Assume that the errors in V 0,2i′, V 0,2i+1′, V 1,2i′, a 0,i′ for i=0,1,…,N/2−1 and a 1,j′ for j=0,1,N/4−1 are uniformly distributed. Then, the probability of a successful decryption without knowing all the 2 + 1 4 N=1152 parameters correctly is 1/2561152.

6 Conclusions

In this paper, we have proposed a new class of PROJT of order N=2r+1 independent 3N parameters. The PROJT is based on the the proposed ROP transform [13], block diagonal matrices, and permutations. On one hand, the critical usefulness of the PROJT generalized the proposed ROP transform, which is a special case of the the PROJT. On the other hand, the PROJT has more parameters than the ROP transform. What is more important, some nice properties are presented, in particular, the inverse transform is fastly obtained by the reciprocal and transpose operations. With the aid of matrix decomposition and Kronecker product approach, a fast and efficient algorithm for computing the proposed PROJT is obtained. In fact, we show that the PROJT has 3N multiplications and N+N log2N addition operations. Therefore, the proposed PROJT can be employed in watermaking and encryption where the independent parameters can be used as an additional secret key.