1 Introduction

Data security has become an important issue in the current world due to the tremendous improvement of the internet. Data which is sent from transmitter to receiver requires more security. Many data hiding techniques like watermarking, cryptography and steganography have been widely used to secure the data. Among these three techniques, steganography is more suitable for data security. Steganography is a method of hiding highly secured information onto the cover image and transfers it through the unsecured channel. The secured information or secret data may be audio, video, text or image. A plenty of steganography techniques [6] are available for hiding secret data in a cover image. These techniques can be divided into spatial domain techniques and frequency domain techniques [11]. In spatial domain techniques, the secret data are embedded directly in to the Least Significant Bit (LSB) plane of cover image [317]. However, quality of stego image is not maintained in these approaches. In frequency domain techniques, the secret data are embedded in the LSB plane of transform coefficients.

In the spatial domain technique, two popular methods are widely used. They are LSB substitution and LSB matching method. LSB substitution method directly replaces the LSB’s plane without any modification in the cover image to hide the secret data. In LSB matching method, the secret message pixel bits are matched with LSB plane. The LSB matching was proposed by Luo et al. [17] where the data is hidden in the edges. Gerami et al. [9] have proposed the optimization technique in spatial domain to find the best pixel location. But, they focused on quality of stego image rather than embedding capacity. Bedi et al. [3] have proposed the spatial domain with PSO to find the best pixel location with distortion tolerance. However, emphasis was given on distortion tolerance rather than embedding capacity and quality of stego image. In frequency domain techniques, transform based approaches are widely used. The commonly used transforms are Discrete Fourier Transform (DFT), Discrete Cosine Transform (DCT) and Discrete Wavelet Transform (DWT).

Chang et al. [5] have proposed the data hiding in DCT coefficients of the medium frequency components in each block. Lin [16] has proposed reversible data hiding in DCT coefficients using histogram shifting method. Sajedi and Jamzad [21] used the DCT for secure steganography. In this method, based on embedding capacity, the cover image is selected. However, low embedding capacity results are reported in this work.The DWT based data hiding method has been proposed using bit-plane compression technique [4, 27]. Hemalatha et al. [13] have proposed the secure steganography system to embed more secret images. DWT is used in this approach which is less robust against noise. Shen and Huang [24] have used the pixel value difference method to hide the secret message in pixel pairs. Embedding distortion is a major problem in this approach. Tang et al. [25] have proposed the multi-layer embedding approach based on image interpolation method with neighboring pixel to attain high embedding capacity. This method lay emphasis only on the embedding process and the extraction process remains un-explained. Amirtharajan and Rayappan [1] enhanced the stego image quality based on chaotic embedding approach. Stego image quality is enhanced but embedding capacity is not maintained in this approach. Wang et al. [26] have proposed the data hiding method based on pixel value ordering and dynamic pixel block partition. Embedding distortion is a major problem in this approach.

Ranjbar et al. [19] have proposed the two-stage contourlet transform for data hiding. In the first stage, the cover image is divided into non-overlaped blocks and secret data is embedded in the high frequency component of the contourlet transform. In the second stage, the secret data is embedded in the low frequency component of the global contourlet transform. Sajedi and Jamzad [22] have also used the contourlet transform for secure steganography. Nazeer et al. [18] have proposed the data hiding method using fresnelet transform in which the secret data is embedded into the fresnelet coefficient with larger magnitude. El-Emam and AL-Zubidy [8] have combined the neural networks and genetic algorithm method to yield a high embedding capacity. The algorithm increased the robustness against statistical and visual attacks. However, the stego image quality is very low.

In this paper, Contourlet Transform (CT) and Fresnelet Transform (FT) are used with optimization techniques such as GA and PSO to improve the quality of stego image. GA and PSO optimize the specific transform coefficients to find the best coefficients for data hiding. The proposed method improves the quality of stego image, provides more security and also increases the embedding capacity. The first step of the proposed method is reading the cover image and decomposing the cover image with specific transforms. The secret data is converted to QR code and QR coded secret data are scrambled for uniform distribution and security. Then, GA or PSO are used to find the best coefficients in the specific transform to hide the scrambled secret message. Finally, inverse specific transform is applied to obtain the stego image. The results of the proposed methodology have been compared with earlier works. The experimental results show better stego image quality and high embedding capacity. The contributions of this work are enumerated below:

  • The main motivation for using this approach is the capability of FT in yielding high embedding capacity, more security and better quality of stego image.

  • The novelty of this research paper is the application of FT for image steganography.

  • QR code is used as a secret message in this work which adds additional innovation to the proposed methodology.

  • Also, the usage of GA in combination with FT and CT is a novel attempt for improving the performance of the system.

  • Similarly, the combination of PSO with FT and CT is also explored in this work in the context of image steganography.

The rest of this paper is organized as follows: Section 2 describes an overview of the QR code, contourlet transform, Fresnelet transform, Genetic algorithm and Particle Swarm Optimization, Section 3 illustrates the proposed method, Section 4 presents the experimental results and Section 5 gives the conclusion of our work.

2 Overview of conventional techniques

This section briefly reviews five techniques: (1) QR code (2) Contourlet transform (3) Fresnelet transform (4) Genetic Algorithm (5) Particle swarm optimization.

2.1 QR code

Quick Response (QR) code was developed by Denso Wave in 1994 [23]. It is similar to the barcode. It is a two dimensional barcode and it is a square consists of black square dots arranged on a white background. The storage capacity is high in comparison with barcode because the information is stored in both vertical and horizontal direction. QR can encode alphanumeric character, numeric character and kanji characters. The proposed method utilizes the QR code as a secret message to increase the embedding capacity and information security of the image steganography. QR code generator generates the QR code according to the secret text given. The secret text can be retrieved from the QR code by scanning the QR code using QR code scanner. Structure of QR code and the QR coded secret message is shown in Figs. 1 and 2.

Fig. 1
figure 1

Structure of QR code

Fig. 2
figure 2

Sample QR code

2.2 Contourlet transform (CT)

Contourlet transform captures the intrinsic geometrical property of the images by exploring the discrete nature of the image. It has iterated filter bank algorithm that runs in the order of N operations. The iterated filter bank provides multiscale and directional decomposition for cover image. Do and Vetterli [7] developed a new double filter bank structure to obtain the sparse expansions for image. In this structure, Laplacian pyramid is used first to capture the point discontinuous and then directional filter bank is used to connect the point discontinuous into linear structures. They combined the multiscale and directional decomposition with double filter bank structure. In this paper, the double iterated filter bank structure is used. The sample two levels Contourlet decomposition is shown in the Fig. 3.

Fig. 3
figure 3

baboon image after two level contourlet decomposition

2.3 Fresnelet transform (FT)

The Fresnelet transform (FT) appeared in relation with Fresnelet diffraction of the waves. The FT has been used for reconstruction of cover image from the FT hologram with various parameters like, distance between object and image plane (O i ), wavelength (λ) and resolution of image. The FT of bases functions are shift invariant on a level- by-level compression [15]. The properties of FT are duality, translation, unitary and dilation. Unitary property gives a perfect reconstruction of cover image. Duality property is used to compute the inverse FT. The magnitude and phase of Baboon image after decomposition of FT is shown in the Fig. 4.

Fig. 4
figure 4

(a) Magnitude part of the baboon image after FT decomposition and (b) Phase part of the baboon image after FT decomposition

2.4 Genetic algorithm (GA) and particle swarm optimization (PSO)

The secret data is normally hidden in the coefficients of the FT and CT transforms. However, the selection of coefficients is very important for the data hiding process. Improper selection of the coefficients may lead to low quality of the system. In frequency domain approaches, these coefficients are selected randomly which is the major drawback of these approaches. Hence, there is a necessity for finding the best coefficients for the data hiding process. In this work, GA and PSO are used to find the best coefficients of the transform which will increase the performance of the system. A detailed explanation of Genetic algorithm (GA) and Particle Swarm Optimization (PSO) is available in [214].

In GA and PSO, all the possible coefficients are tested to determine the best coefficients. Initially, the fitness value of all the possible coefficients is calculated. The fitness value used in this work is Peak Signal-to-Noise ratio (PSNR). Higher the fitness value, better the coefficients. Hence, it is evident to find the coefficients with the highest fitness value. These optimization techniques are iterative in nature. At the end of the convergence, the coefficients with the best fitness value are selected for the data hiding process. The secret data is hidden in these coefficients with best fitness values. The coefficients selected by these optimization techniques are optimal which is evident from the experimental results.

3 Proposed methodology

The framework of data embedding is shown in Fig. 4. In the embedding phase, the QR coded secret data is hidden into the cover image. The cover image and QR coded secret data are extracted separately in extraction phase. The algorithms for embedding and extraction phase are given below.

3.1 Data embedding

Step 1: Read the cover image C(i,j).

Step 2: Decompose the cover image with the specific transforms (CT and FT).

Step 3: The optimal transform coefficients are selected using GA and PSO. The main idea of proposed method is the selection of best coefficients for embedding the secret data, which will increase the quality of stego image. The implementation of GA and PSO are explained in the next section Fig. 5.

Fig. 5
figure 5

Framework of the data embedding process

Step 4: The selected best coefficients are placed in the new matrix.

Step 5: The secret message S(i,j) is converted to QR code using QR code generator which adds the additional security to the proposed methodology.

Step 6: The position of QR code image is scrambled to further enhance security. The scrambling method provides security to QR code image by making the QR code image visually unreadable and also it make difficult to attacker to decrypt the original secret message. The scrambling method used in this work is affine modular transformations method. Let us consider the image size asM * M. The co-ordinate vectors of pixels in the original image (|i, j|T) and scrambled image (|i ', j '|T) are given by,

$$ \left(\begin{array}{c}\hfill {i}^{\hbox{'}}\hfill \\ {}\hfill {j}^{\hbox{'}}\hfill \end{array}\right)=\left[\left(\begin{array}{cc}\hfill a\hfill & \hfill b\hfill \\ {}\hfill c\hfill & \hfill d\hfill \end{array}\right)\left(\begin{array}{c}\hfill i\hfill \\ {}\hfill j\hfill \end{array}\right)+\left(\begin{array}{c}\hfill x\hfill \\ {}\hfill y\hfill \end{array}\right)\right] \mod (M) $$
(1)

where a,b,c,d,x,y are scrambling parameters.

Step 7: After scrambling, the scrambled QR coded secret message S '(i, j)is embedded in the optimized specific transform coefficients in the pseudo random sequence set (P) according to the following embedding law,

$$ P\left(i,j\right)=R\left(i,j\right)+\mu .{S}^{\hbox{'}}\left(i,j\right). $$
(2)

Where, P(i,j) is the stego image, R(i,j) is the host image,μis the scaling factor.

Step 8: Finally, apply the inverse specific transform (CT and FT) to display the stego image.

3.2 Data extraction

The embedded QR coded secret data can be extracted by the reverse process. The algorithm is a blind data hiding method in which the stego image is not required in extraction process. The stego image is initially corrupted with the random Gaussian noise to form a corrupted image. Given a corrupted image, the first step of data extraction decomposes the corrupted image using specific transforms (CT and FT). The coefficients belonging to the best directions are selected. These selected best coefficients are successively placed in matrixP *(i, j). Descrambling is performed to put each coefficient in its own place. Then the original QR coded secret message is obtained by multiplying each column with correspond pseudo random sequence set (P) followed by averaging all the copies of the same secret bit.

$$ {X}^{*}(j)=\frac{1}{N}{\displaystyle \sum_{i=1}^N{P}^{*}\left(i,j\right).P\left(i,j\right)} $$
(3)

For a blind extraction, the correlation method needs to be employed between X *and S ' that can be original secret data sequence.

$$ C=\frac{1}{N^2}{\displaystyle \sum_{j=1}^{N^2}{X}^{*}(j){S}^{\hbox{'}}(j)} $$
(4)

In the above expression N = 256. By comparing C parameter obtained from sample secret data S ', the original QR coded secret data is experimentally obtained. Additionally, the cover image is extracted using the inverse specific transforms. A similar blind extraction process is available in reference [20].

4 Experimental results and discussions

The software used for implementation is MATLAB. The experiments are carried out on Intel corei3 processor with 2GB RAM. Eight gray-level images are used in this work. The cover gray-level images are shown in Fig. 6.

Fig. 6
figure 6

Input cover images: (a) Baboon, (b) Babara, (c) Lena (d) Tiffany (e) House (f) Plane (g) Sail boat and (h) Girl

The implementation details of the algorithms used in this work are shown below. Table 1 shows the implementation details of the transform used in this work.

Table 1 Implementation details of the transforms used in this work

The implementation detail of GA is shown in Table 2.

Table 2 GA Parameter Representation

The fitness function used in the GA is PSNR. The parents are selected in GA using the rank selection method. Cross over and mutation operators are used to generate the off-springs.

The implementation detail of PSO is shown in Table 3.

Table 3 PSO Parameter Representation

The fitness function used in PSO is same as GA. The convergence of PSO is achieved at the end of 150th iteration.

The performance measures used in this paper are Peak signal-to-noise ratio (PSNR) and embedding capacity (bits). PSNR performance measure is used to measure the quality of stego image. The PSNR is the ratio between maximum power of a signal and the power of corrupting noise which affects the quality of its representation. Here, the maximum power of a signal is cover image and corrupting noise is stego image. The PSNR is defined through the mean square error (MSE). The MSE gives the cumulative squared error between the corrupting noise and maximum power of a signal. If PSNR value is high, we will get better stego image quality. Embedding capacity (bits) provides the amount of information which can be embedded in the cover image. A higher embedding capacity is always essential for any steganography system. Tamper Assessment Factor (TAF) measures the quality of retrieved QR coded secret data. TAF is used to determine the credibility of image authentication, which is measured between QR coded secret data and retrieved QR coded secret data. The value of TAF should be between 0 and 1 for better quality. The Normalized absolute error (NAE) measures the quality of reconstructed cover image. NAE is used to calculate the extent of difference between reconstructed cover image and original cover image. Lower the NAE value, better the restored cover image. Let C(i, j) be the cover image, S ''(i, j) be the stego image, SD(i, j) be the QR coded secret message, SD '(i, j) be the retrieved QR coded secret message and C '(i, j) be the restored cover image where, i and j denote the row and column. MSE, PSNR, TAF and NAE, are defined in Eqs. 5, 6, 7 and 8 respectively,

$$ MSE=\frac{1}{m*n}{\displaystyle \sum_{i=1}^m{\displaystyle \sum_{j=1}^n{\left[C\left(i,j\right)-{S}^{\hbox{'}\hbox{'}}\left(i,j\right)\right]}^2}} $$
(5)
$$ PSNR=10{ \log}_{10}\left(\frac{255^2}{MSE}\right) $$
(6)
$$ TAF=\frac{1}{m*n}{\displaystyle \sum_{i=1}^m{\displaystyle \sum_{j=1}^n\left[SD\left(i,j\right)\oplus S{D}^{\hbox{'}}\left(i,j\right)\right]}} $$
(7)
$$ NAE=\frac{{\displaystyle \sum_{i=1}^m{\displaystyle \sum_{j=1}^n\left|C\left(i,j\right)-{C}^{\hbox{'}}\left(i,j\right)\right|}}}{{\displaystyle \sum_{i=1}^m{\displaystyle \sum_{j=1}^n\left|C\left(i,j\right)\right|}}} $$
(8)

4.1 Results of contourlet transform based data embedding with optimization techniques

In the first experiment, contourlet transform with GA and PSO is performed. The contourlet transform efficiently represent the curves and smooth contours of cover image. Commonly, the secret data will be hidden in the low and high frequency of contourlet transform but it reduces the quality of stego image. In this paper GA and PSO is used to enhance the quality of stego image. GA and PSO are used to find the best coefficients in the contourlet transform. After GA and PSO, the best coefficients are obtained which are suitable to hide the secret data that also gives the better stego image quality. The stego images using GA and PSO are shown in Figs. 7 and 8.

Fig. 7
figure 7

Output Stego images after applying contourlet transform and GA

Fig. 8
figure 8

Output Stego images after applying contourlet transform and PSO

The qualitative analysis proves the practical feasibility of the proposed approaches. Further a quantitative analysis is performed which is shown in Tables 4 and 5.

Table 4 PSNR values of GA based contourlet transform approach
Table 5 PSNR values of PSO based contourlet transform approach

From Table 4, it is evident that the best PSNR value is obtained at the 200th iteration. If the iteration is increased further, the PSNR value decreases. Hence, the number of iterations is fixed as 200. An average fitness value of 46.93 dB and average embedding capacity of 156,705 bits has been achieved.

From Table 5, it is evident that the best PSNR value is obtained at the 150th iteration. Beyond this iteration, there is minimal change in particle positions. Hence, the iteration is fixed as 150. An average fitness value of 50.64 dB and average embedding capacity of 345,289 bits has been achieved.

4.2 Results of data extraction of contourlet transform with optimization techniques

The retrieved cover image of contourlet transform with GA and PSO is shown in Figs. 9 and 10.

Fig. 9
figure 9

Retrieved cover images of the contourlet transform and GA based approach

Fig. 10
figure 10

Retrieved cover images of the contourlet transform and PSO based approach

The qualitative analysis shows the image recovering ability of the proposed approaches. An analysis in terms of TAF and NAE is also shown in Table 6.

Table 6 TAF and NAE of four stego image of contourlet transform with optimization techniques

From Table 6, an average TAF value of 0.62 and NAE value of 0.08 for GA and an average TAF value of 0.02 and NAE value of 0.04 for PSO has been achieved with the proposed methodology. When comparing the contourlet transform of TAF with GA and PSO, the TAF value is low by using PSO than GA. So, contourlet transform retrieves the secret data better with PSO. When comparing the contourlet transform of NAE with GA and PSO, the NAE value is low by using PSO than GA. So, contourlet transform retrieves the original cover image better with PSO. The retrieved QR coded secret data is shown in Fig. 11.

Fig. 11
figure 11

(a) Retrieved QR code using CT with GA and (b) Retrieved QR code using CT with PSO

4.3 Results of fresnelet transform based data embedding with optimization techniques

In the second experiment, fresnelet transform with GA and PSO is performed. Fresnelet transform has the property of reconstruction of cover image efficiently. Fresnelet transform enhances the security of steganography system using the key parameter: wavelength (λ) and distance between the object and image plane (O i ). The performance measures have been analyzed with O i =1000 m with wavelength λ=632.8 nm. Eventhough the un-authorized person know the embedding algorithm but unable to retrieve the secret data without knowing this key parameter. Commonly, the secret data will be hidden in the low and high frequency of fresnelet transform but it reduces the quality of stego image. In this paper, to enhance the quality of stego image GA and PSO is used. GA and PSO are used to find the best coefficients in the fresnelet transform. After GA and PSO, the best coefficients are obtained which are suitable to hide the secret data that also gives the better stego image quality. The stego image using GA and PSO is shown in Figs. 12 and 13.

Fig. 12
figure 12

Output Stego images after applying Fresnelet transform and GA

Fig. 13
figure 13

Output Stego images after applying Fresnelet transform and PSO

The qualitative analysis proves the practical feasibility of the proposed approaches. Further a quantitative analysis is performed which is shown in Tables 7 and 8.

Table 7 PSNR values of GA based Fresnelet transform approach
Table 8 PSNR values of PSO based Fresnelet transform approach

From Table 7, it is evident that the best PSNR value is obtained at the 200th iteration. If the iteration is increased further, the PSNR value decreases. Hence, the number of iterations is fixed as 200. An average fitness value of 52.38 dB and average embedding capacity of 902,136 bits has been achieved.

From Table 8, it is evident that the best PSNR value is obtained at the 150th iteration. Beyond this iteration, there is minimal change in particle positions. Hence, the iteration is fixed as 150. An average fitness value of 52.56 dB and average embedding capacity of 902,136 bits has been achieved.

4.3.1 Results of data extraction of fresnelet transform with optimization techniques

The retrieved cover image of fresnelet transform with GA and PSO is shown in Figs. 14 & 15.

Fig. 14
figure 14

Retrieved cover images of the Fresnelet transform and GA based approach

Fig. 15
figure 15

Retrieved cover images of the Fresnelet transform and PSO based approach

The qualitative analysis shows the image recovering ability of the proposed approaches. An analysis in terms of TAF and NAE is also shown in Table 9.

Table 9 TAF and NAE of four stego image of fresnelet transform with optimization techniques

From Table 9, an average TAF value of 0.89 and NAE value of 0.01 for GA and an average TAF value of 0.03 and NAE value of 0.01 for PSO has been achieved with the proposed methodology. When comparing the fresnelet transform of TAF with GA and PSO, the TAF value is low by using PSO than GA. So, fresnelet transform retrieves the secret data better with PSO. When comparing the fresnelet transform of NAE with GA and PSO, the NAE value is low for both GA and PSO. So, fresnelet transform retrieves the original cover image better with both GA and PSO. The retrieved QR coded secret data is shown in Fig. 16.

Fig. 16
figure 16

(a) Retrieved QR code using FT with GA and (b) Retrieved QR code using FT with PSO

4.4 Comparative analysis

A comparative analysis of the proposed approaches is shown in Table 10 and Table 11.

Table 10 Comparison of PSNR values of optimization based contourlet transform and fresnelet transform
Table 11 Comparison of Embedding capacity of optimization based contourlet transform and fresnelet transform

From Table 10, it is evident that PSO works better than GA for both FT and CT. One significant reason is that the process involved in GA is highly random in nature. But, randomness is minimized in PSO with the introduction of the convergence conditions. In terms of transforms, fresnelet transform yields better results than contourlet transform. An approximate of 2–5 dB is obtained with FT based optimization approaches over the CT based optimization approaches.

From Table 11, similar to the PSNR values, the embedding capacity is also high for PSO based approaches than GA based approaches. The average embedding capacity of 902,136 bits is obtained with fresnelet transform with GA and PSO.

4.5 Comparison of two transforms using GA and PSO with other works

A comparative analysis of the proposed approaches with other works is shown in Table 12.

Table 12 Comparison of contourlet transform and fresnelet transform using GA and PSO with other works

From Table 12, an approximate increase of PSNR values in the range of 7–18 dB has been achieved with the proposed methodology in comparison with other works. Thus, it is evident that the optimization techniques have enhanced the performance of the overall steganography system.

4.6 Robustness analysis

The proposed method can also withstand for Chi-square attack. Simulation is performed using the test program of Chi-square steganography proposed by Guillermito [12] to perform steganography analyses. The test results of stego-images of two transform with GA and PSO is shown in Figs. 17, 18, 19 and 20.

Fig. 17
figure 17

Chi-square analysis of Lena image using Contourlet transform with GA

Fig. 18
figure 18

Chi-square analysis of Lena image using Contourlet transform with PSO

Fig. 19
figure 19

Chi-square analysis of Lena image using Fresnelet transform with GA

Fig. 20
figure 20

Chi-square analysis of Lena image using Fresnelet transform with PSO

According to the Guillermito, the program output is represented with two curves. The first one is ‘red’ curve which is the result of chi-square test. If the ‘red’ curve is near to one, the probability of a random hidden secret data is high. The second one is ‘green’ curve that reflects the average value of LSB. From Figs. 17, 18, 19 and 20 the ‘green’ curve reflects the average of LSB varies considerably and result of chi-square test ‘red’ curve is flat to zero all along the image. It is clear that nothing is hidden in the stego-image of two transforms with GA and PSO. So, any unauthorized persons cannot get any clue about the embedded QR code which provides additional security to the system.

5 Conclusion

The performance improved steganography system using contourlet transform with GA and PSO and Fresnelet transform with GA and PSO is presented in this paper. This technique can be utilized for embedding a QR coded secret image onto cover image for secure communication. GA and PSO are used for finding the best coefficients in the specific transform for embedding the secret data in such a way that it yields better stego image quality with high embedding capacity. Scrambling the position of secret data is performed in order to enhance the security. The proposed method maintains the quality of stego image with an average PSNR value of 46.93 dB for contourlet with GA, average value of 50.64 dB for contourlet with PSO, average value of 52.38 dB for fresnelet with GA and average of 52.56 dB fresnelet with PSO. The performance of the proposed method has been evaluated and compared with the recent techniques. The experimental result represents the effectiveness of the proposed method in producing better stego image quality with high embedding capacity. As a future work different transforms can be used for enhancing the performance measures of image steganography system. In addition several optimization techniques other than GA and PSO can be used to enhance the success rate of the proposed system. Few modifications in the existing transforms/optimization process can be done to improve the overall performance of the system.