1 Introduction
The security of digital data is essential for its transfer over the communication media. To achieve this data security, in general, there are mainly two approaches used; cryptography [Stalling] and steganography [Steg_Rohit]. In cryptography, the encryption mechanism transforms plaintext (i.e., secret data) into ciphertext using the encryption key. This ciphertext appeared as an unreadable form that attracts opponents to manipulate its contents by using certain bruteforce attacks [Stalling]. Nevertheless, steganography avoids this situation.
Steganography is derived from two Greek words; steganos means “covered or secret,” and graphie means “writing”. The purpose of steganography is to hide the secret data into some other unsuspected cover media so that the secret data becomes visually imperceptible. In steganography, both the cover media and the secret data can be text or multimedia. The media obtained after embedding secret data into cover media is called stegomedia. In this paper, we consider both the secret data and the cover media as images due to their heavy use in webbased applications. The challenges here are: enhancing the embedding capacity, preserving the quality of the stegoimage, and the scheme should be resistant to steganalysis^{1}^{1}1It is the study of detecting the secret data hidden using steganography. (i.e., steganographic attacks). In the following paragraphs, first, we discuss different categories of steganography schemes. Second, we discuss some of the existing schemes and their weaknesses. Finally, we discuss how the scheme proposed in this paper outperforms the existing schemes.
In general, image steganography can be categorized based on the domain in which embedding is performed, i.e., the spatial domain or the transformation domain. In the spatial domainbased scheme, secret data is embedded directly into the cover image by some alteration in image pixels value [Abbas, Chan1, Wang, Chan2, Steg_2019_FGT]. In the transform domainbased scheme, initially, the cover image is transformed into frequency components by certain transformations, and then the secret data is embedded into these components. A few of those schemes are JSteg [Jsteg], F5 [F5], Outguess [Outguess], etc [Chang, Liu, Pan, Steg_World_Scienticfic, Steg_Rohit]. The steganography scheme can also be categorized based on their embedding mechanisms, i.e., direct embedding or indirect embedding. In a direct embedding mechanism, the secret data is embedded by flipping the LSB (Least Significant Bit) of either the pixel value (i.e., spatial domainbased schemes) or the transformed coefficients (i.e., transform domainbased schemes) of the cover image [Steg_2019_FGT, Jsteg, Outguess, Chang]. In an indirect embedding mechanism, the pixel value or the transformed coefficient values are altered according to certain secret message bits [F5, Liu, Pan, Steg_Rohit].
The spatial domainbased image steganography schemes outperform the transform domain one interms of embedding capacity. But they are not resistant to steganographic attack. Transformbased schemes are resistant to these attacks and provide good visual quality stegoimage with limited embedding capacity. Furthermore, if we try to increase the embedding capacity of these schemes, then the quality of stegoimage degrades. Besides, the indirect embedding mechanisms make steganography schemes more resistant to these attacks [Westfeld, Fridrich, Zhang, Nissar, Patsakis] as compared to direct ones. Thus, some of the schemes mentioned above are not resistant to steganographic attack.[Jsteg, Outguess, Chang] While some are resistant to these attacks. [F5, Liu, Pan, Steg_Rohit]
The purpose of the scheme proposed in this paper is to hide multiple secret images in a single cover image. Hence, first, we discuss some recent image steganography schemes that hide multiple secret images in a single cover image. In [S_Hemalatha], the authors proposed a steganography scheme in which they hide two grayscale secret images in a single color image. This scheme is based on twolevel DWT (Discrete Wavelet Transformation). In this, the quality of stegoimage and extracted images are good, but the embedding capacity in bit per pixel is very less. In [Prashanti], the authors proposed a steganography scheme in which they hide three binary secret images in a single grayscale as well as in a color image. This scheme is based on LSB based embedding approach, which is not resistant to steganographic attack. In this, the quality of stegoimage is good, but the embedding capacity in bit per pixel is very less.
Now, we discuss some recent image steganography schemes that hide only one secret image in a single cover image. In [Sanjutha_MK]
, a grayscale secret image is embedded in a color image. This scheme is based on DWT and PSO (particle swarm optimization). In
[S_Arunkumar_MedicalImage_JIFS], a binary medical image is embedded in to a grayscale cover image. This scheme is based on Redundancy Integer Wavelet Transform (RIWT), SVD (Singular Value Decomposition), and Discrete Cosine Transformation (DCT). In
[S_Arunkumar_MedicalImage], a binary medical image is embedded in a color cover image. This scheme is based on RIWT, DCT, and QR factorization. In all these schemes, the stegoimage preserved good visual quality, but their embedding capacity is limited. And, if we try to increase this embedding capacity, the quality of the stegoimage degrades.To overcome this limitation, in this manuscript, we utilize other paradigms; optimization (i.e., minimization) and sparse approximation. The steganography scheme proposed in this manuscript is termed as SABMIS because we use the concept of minimization and sparseapproximation for blind multiimage steganography scheme. SABMIS fulfills all the requirements of image steganography, i.e., it has high embedding capacity, preserve good visual quality stegoimage, and resistant to steganographic attacks. Here, first, the cover image is sampled into four subimages. Next, each subimage is sparsified using DCT, and then its linear measurements are obtained using a random measurement matrix. Next, we collect the DCT coefficients of all secret images. Now, we select fix number of these coefficients for each secret image and then embed them into the permissible linear measurements using our proposed embedding rule (discussed in Section 3) and obtain modified measurements. Finally, we generate the stegoimage from these modified measurements by solving the minimization problem (again, discussed in Section 3).
In SABMIS, as discussed earlier, we embed DCT coefficients of secret images into linear measurements of the cover image, instead of embedding them directly into the transformed coefficients. These measurements act as encoded transformed coefficients, and hence, also adds security to our proposed scheme. For performance evaluation, we perform experiments on standard test images and evaluate embedding capacity, PSNR (Peak SignaltoNoise Ratio) value [Steg_Rohit], mean SSIM (Structural Similarity) index [SSIM], NCC (Normalized CrossCorrelation) coefficient [NC], NAE (Normalized Absolute Error, also called normalized average absolute difference) [NC], and entropy [Gonzalez]. We also show the visual comparison between the cover image & its corresponding stegoimage, and between the secret image & its corresponding extracted secret image. Moreover, we also show that our scheme outperforms existing image steganography schemes.
The rest of the paper is organized as follows. Section 2 gives brief explanation of each of minimization and sparse approximations. Section 3 explains our proposed steganography scheme, including embedding and extraction of the secret image. Section 4 presents experimental results. Finally, Section 5 gives conclusions and future work.
2 Background
Here, in the following subsections, we provide a brief explanation of minimization and sparse approximation.
2.1 Minimization
The general form of the minimization is given as[L1Minimization_World_Scienticfic, Rohit_ParaLarPD]
(1)  
where is the norm, , , and
. In many applications such as signal processing, pattern recognition, etc., a
minimization or a minimumnorm solution is preferable. A few examples of these applications include data separation, face recognition, data clustering, image restoration, image classification, etc.
2.2 Sparse Approximation
Many practical problems in digital image processing and other disciplines include finding the best approximate solution to a system of linear equations. The theory of sparse approximation corresponds with sparse solutions for linear equation systems. This theory has applications in many domains, such as signal/ image processing, machine learning, medical imaging, etc.
Let, we have an unknown Ksparse signal , a measurement matrix
, and a measurement vector
, such that . Reconstruction (or approximate reconstruction) of from and , which is usually considered as an inverse problem, can be obtained by solving the following minimization problem[SparseApproximation_World_Scienticfic]:(2)  
where is norm, which measures the total number of nonzero elements in a vector. This equation (i.e., (2)) is referred to as norm minimization problem,[SparseApproximation_World_Scienticfic] which is a combinatorial and NPhard problem [Baraniuk]. Since the solution of is sufficiently sparse, we can substitute the norm minimization by the norm (i.e., the closest convex norm) minimization problem. Hence, is reconstructed from and by the solving (1), where and are equivalent to and , respectively.
As discussed, the signal to be approximated (or reconstructed) should be sparse. However, there are cases when this signal is not sparse. So, we can sparsify it using some transformation. For example, the signal , which is not sparse, can be sparsified
using an orthogonal matrix (termed as sparsification matrix)
as(3) 
where is the sparse representation of . Sparse signal can be reconstructed by solving (1), where the decision variable is equivalent to , is equivalent to , and is equivalent to . After that, signal is obtained from by inverse sparsification, i.e., .
The approach of reconstructing sparse signal by solving (1) is referred as a convex optimization method. Some other approaches such as LASSO [ADMMSBoyd, Lasso], OMP [Davis], CoSaMP [Needell], SpaRSA [Stephen], etc. [David] can be used to reconstruct the sparse signal from the measurements.
3 Proposed Blind MultiImage Steganography Scheme
Our proposed blind multiimage steganography scheme, which is based on minimization and sparse approximation, consists of embedding secret images and their extraction from the generated stegoimage. These parts are discussed in the respective subsections below.
3.1 Secret Images Embedding
First, we perform subsampling on a cover image and obtain four subsampled images (or subimages). Let is the cover image of size , then the four subimages are obtain as
(4)  
where (in our case, is completely divisible by ); , , are the four subimages; and is the pixel value at .
Originally, these subimages are not sparse; hence, next, we perform blockwise sparsification of each of these images. For this, we divide each subimage into blocks of size and obtain blocks for each subimage (in our case, completely divides ). Now, we consider each block as a vector of size , and then sparsify them (as in (3)) using discrete cosine transform matrix of size as the sparsification matrix . That is,
(5) 
where , and are the original and sparse vector representation of the respective blocks, and is the transpose of . Now, we consider these sparse vector in the zigzag scanning order as given in one of our previous paper.[Steg_Rohit] As a consequence of sparsification, each sparse vector has few coefficients of significant values and the remaining coefficients of very small or zero values. Thus, we categories each vector into two groups and , where and are the number of coefficients having large values and small values (or zero values), respectively, and . Now, we project each sparse vector onto linear measurements as
(6) 
where is the measurement matrices, which is a (for our case,
) matrix of normally distributed random numbers; and
is the set of linear measurements. Since the distribution of coefficients of the generated sparse vectors is almost the same for all blocks of an image, we use the same measurement matrix for all blocks.Next, we perform processing in the secret images for embedding them into the cover image. In our proposed steganography scheme, we can embed a maximum of four secret images, one in each of the four subimages of a single cover image. If we want to embed less than four secret images, we randomly select numbers of subimages equal to the number of secret images that we want to embed, from the total four subimages. Let , , are the four secret images each of the size . First, we perform blockwise DCT to each of these images and obtain their corresponding DCT coefficients. Here, the size of each block is , and hence, we have number of blocks for each secret image (in our case, completely divides ). Now, we consider these DCT coefficients as a vector in the zigzag scanning order as given in [Steg_Rohit]. Let , for , be the vector representation of the DCT coefficients of the secret image.
Now, we perform embedding of the secret images in the cover image. We embed DCT coefficients from the secret image into linear measurements of one subimage of the cover image. This embedding is given in Algorithm 1 that proposes the embedding rule. In this, we show embedding of only one secret image into one subimage.

: Sequence of linear measurements of the cover image.

: Sequence of transform coefficients of the secret image.

: The modified version of the linear measurements.
In this algorithm, represents the number of coefficients having large values (as discussed above), is the number of DCT coefficients from each that are embedded into the cover subimage, and , , & are the constants. Here, the steps number 4, 5 and 7 shows the embedding of the first coefficient, the next coefficients, and the remaining coefficients, respectively. Note that here, we choose all the parameters such that will be less than or equal to , coefficient from can be embedded into using Algorithm 1, and the stegoimages & the extracted secret images preserve good visual quality. We discuss the values of all these parameters in Experimental Results section (i.e., in section 4).
Finally, we construct the stegoimage. As earlier, we can embed a maximum of four secret images into four subimages of a single cover image. Hence, we first construct four substegoimages and then perform inverse sampling to obtain a stegoimage from these four substegoimages. Let be the sparse vector of the block of a substegoimage (say ), then
(7)  
where is the range from element to element of the vector . For the solution of the minimization problem of (7), we use LASSO (least absolute shrinkage and selection operator) formulation of it and then solve it using ADMM (alternating direction method of multipliers) algorithm [ADMMSBoyd, Lasso]. The reason for this is that it has a wide application in the image processing domain. The sparse vector is the concatenation of and . After that, we perform inverse sparsification and obtain nonsparse vectors as . Now, we covert each vector into block of size , and then construct the substegoimage of size by arranging all these blocks. In the end, we perform inverse sampling (see (4)) and obtain a single stegoimage from the four substegoimages.
3.2 Secret Images Extraction
In this subsection, we discuss the process of extraction of the secret images from the stegoimage. Initially, we perform sampling (as done in subsection 3.1 using (4)) onto the stegoimage to obtain four substegoimages. Let , for , are the four substegoimages. Since the extraction of all the secret images is similar, here, we discuss the extraction of only one secret image from one substegoimage. In this process, first, we perform blockwise sparsification of the substegoimage. For this, we divide this image into blocks of size and then consider each block as a vector of . Here, we have a total of blocks for a substegoimage. Next, we sparsified each vector (say ), as done in subsection 3.1, using the same sparsification matrix and (5), and then obtain sparse vector (say ).
Next, as earlier, we consider these sparse vector in the zigzag scanning order, and then categories each vector into two groups and , where as earlier, and are the number of coefficients having large values and small values (or zero values), respectively. After that, we project each sparse vector onto linear measurements (say ), as done in subsection 3.1, using the same measurement matrix and (6). This have DCT coefficients of the secret image that is extracted by the extraction rule given in Algorithm 2. This extraction rule is reverse of the embedding rule, given in Algorithm 1.

: Sequence of linear measurements of the stegoimage.

: Sequence of transform coefficients of the extracted secret image.
In Algorithm 2, the size of is same as the size of , i.e., . After extracting DCT coefficients from the stegoimage, we convert each vector into the blocks of size , and then perform blockwise inverse discrete cosine transformation (IDCT) to obtain secret image pixels. Finally, we obtain extracted secret image of size by arranging all these blocks.
As mentioned earlier, this steganography scheme is a blind multiimage steganography scheme because it does not require any cover image data at the receiver side for the extraction of secret images.
4 Experimental Results
Experiments are carried out in on a machine with Intel Core i3 processor @2.30 GHz and 4GB RAM. We use a set of standard grayscale images to test our SABMIS. Some sample test images used in our experiments are shown in Fig. 1. These images are taken from the USCSIPI image database [SIPI], and have varying texture property. In this paper, we take all these ten images as the cover images, and four images (Fig. 0(a), Fig. 0(b), Fig. 0(e) and Fig. 0(j)) as the secret images for our experiments. However, we can use any of the ten images apart from these four as the secret image.
Though the images shown in Fig. 1 seems to be of same size, however for our experiments, the size of each cover image is kept as (i.e., ), and the size of each secret image is kept as (i.e., ). We take blocks of size for both the cover images and the secret images (i.e., and ). Recall from subsection 3.1, the size of measurement matrix is , where (here, ). Usually, for most images, more than half of the coefficient in a DCT sparsified vector has value either very small or zero. Hence, in our experiments, we take , and (i.e, we oversampled linear measurements). In general, the DCT coefficients can be divided into three sets, low frequencies, middle frequencies, and high frequencies. Low frequencies are associated with the illumination, middle frequencies are associated with the structure, and high frequencies are associated with the noise or small variation details. We discarded these highfrequency coefficients, which are usually half of the total coefficients. Hence, we take . Due to the property of DCT, the first coefficient have the highest value, then a few coefficients have values lower than the first one, and remaining coefficients have values lowest. These three category of coefficients are embedded in the step numbers 4, 5 and 7 of Algorithm 1, respectively. Hence, to obtain good quality extracted secret image, we take , , , and (the results are reported for only one value of that gave better performance).
A successful steganography scheme should have high embedding capacity, and should not distort the cover media significantly (i.e., the distortion should be visually imperceptible). Thus, we evaluate the performance of our proposed SABMIS by analyzing these two metrics. As this paper proposes a multiimage steganography scheme, we evaluate the performance of SABMIS for the cases where all the four images and less than four images are embedded.
The embedding capacity (or embedding rate) is the number (or length) of secret information bits that can be embedded in each pixel of the cover image. It is measured in bits per pixel (bpp). Thus, we have embedding capacities of bpp, bpp, bpp, and bpp for embedding one, two, three, and four secret images, respectively. Next, we evaluate the quality of the stegoimage. Imperceptibility is the measure of the invisibility of the secret image that is hidden in the generated stegoimage. There is no universal criterion to determine imperceptibility. However, we evaluate it by visual and numerical (PSNR, MSSIM, NCC, NAE, and Entropy) metrics.
We construct stegoimages corresponding to different test images used in our experiments and then check the distortion visually. We also check their corresponding edge map diagrams. Here, we present the visual comparison only for ‘Zelda’ cover image. This comparison is given in Fig. 2. In this figure, 1(a) shows ‘Zelda’ cover image, 1(b) shows stegoimage, 1(c) shows the edge map diagram of cover image, and 1(d) shows the edge map diagram of stegoimage. From these subfigures, we observe that the stegoimage is almost similar to its corresponding cover image. Also, their corresponding edge maps are almost the same.
The numerical metrics evaluate imperceptibility by comparing the cover images and their corresponding stegoimages based on some numerical criteria. These include; PSNR value, mean SSIM index, NNC coefficient, NAE, and entropy. PSNR[PSNR_World_Scienticfic] value is evaluated in decibel (dB), and its higher value indicates the higher imperceptibility of the stegoimage. In general, value above 30 dB is considered to be good for the quality of the stegoimage. [Liu, Zhang2013] For more details, please see. [Steg_Rohit] The PSNR values of the stegoimages corresponding to different test images are given in Fig. 3 and Fig. 4. In Fig. 3, we show the PSNR values for the four cases, i.e., embedding one, two, three, and four images. As we have four secret images, we have the choice of embedding any one of them and present its corresponding PSNR value. However, we embed all four images individually, obtain their PSNR values, and then present the average of these four PSNR values. Similarly, the average PSNR values are presented for the cases when we embed two and three images. For the case of embedding four images, there is only one choice, and hence its corresponding PSNR value is presented.
In Fig. 4, we show the PSNR values of all the stegoimages when all the four secret images are embedded separately. In this figure, we observe the highest PSNR value (i.e., 47.32 dB) when ‘Zelda’ secret image is hidden in ‘Zelda’ cover image, while the lowest PSNR value (i.e., 40.21 dB) when ‘Peppers’ secret image is hidden in ‘Boat’ cover image. Also, we observe that for all the cases, we obtain PSNR values higher than 30 dB, and hence, considered good.
We measure the structural similarity between the cover images and their corresponding stegoimages by the metric of mean SSIM [SSIM]. The value of mean SSIM index lies between and , where the value implies that there is no similarity between the cover image and stegoimage, and the value implies that the cover image is exactly similar to its corresponding stegoimage. We measure the degree of similarity between the cover images and their corresponding stegoimages by another metric called normalized crosscorrelation (NCC) coefficients [NC]. Similar to mean SSIM, the value of NCC equal to implies that the cover image is exactly similar to its corresponding stegoimage. We also measure the quality of stegoimage by evaluating NAE [NC] between the cover images and their corresponding stegoimages. A value close to indicates that the stegoimage is almost similar to their corresponding cover image. Moreover, we also measure the entropy of the cover images and their corresponding stegoimages. Entropy is a statistical randomness measure, which can be used to characterize the texture of an image [Gonzalez]. In Table 4, we give the values of all these metrics for our SABMIS when hiding all the four secret images. We do not present the values for the cases of embedding less than four secret images as their results will be better than those given in Table 4.
From this table, we observe that all the values of mean SSIM index are equal to . Hence, the cover images and their corresponding stegoimages are similar in structure. The values of NCC coefficients are also close to 1. The values of NAE are close to . The values of entropy of stegoimages are almost similar to their corresponding cover images. Thus, we can say that the stegoimages and their corresponding cover images are almost identical.
In addition to high embedding capacity with good quality stegoimage, SABMIS is also resistant against steganographic attacks. The reason for this is that SABMIS is a transformed domainbased technique. And, in this scheme, we embed secret images by an indirect embedding strategy (i.e., LSB flipping based embedding is not adopted).
4.1 Performance Comparison
In this subsection, we compare the performance of our SABMIS with the existing steganography schemes. These results are given in Table 4.1.
In this table, the first column represents various steganography schemes, and the remaining columns represent the metrics used for the comparison. As earlier, a successful steganography scheme should have high embedding capacity with a considerably good quality stegoimage. Also, it should be resistant to steganographic attacks. Hence, we use embedding capacity, PSNR value, and checking which schemes are resistant to steganographic attacks or not as the performance metrics for the comparison. In this table, the embedding capacity is represented in bit per pixel, where each pixel is considered as a grayscale. For these existing schemes, the data is not available for all the test images used in this experiment. Hence, in this table, we report the average PSNR values of all the images given in the respective papers.
From this table, we observe that except [Prashanti] and [Sanjutha_MK], our SABMIS outperforms all other existing steganography schemes. The scheme proposed in [Prashanti] is based on LSB based embedding, which is not resistant to steganographic attacks. The scheme proposed in [Sanjutha_MK] embeds single secret image in a color image, which is different from our goal. Also, it has limited embedding capacity. Hence, we can say that out of all these schemes, SABMIS embeds multiple secret images with high embedding capacity and good quality stegoimage. Also, SABMIS is resistant to steganographic attacks.
As discussed earlier, we also calculate the mean SSIM index, NCC coefficients, NAE, and entropy values for the performance evaluation. However, these results are not compared with other techniques because the data for the same are not available for these other techniques.
4.2 Quality Assesment of Secret Recovered Image
As earlier, PSNR value can be used to assess the quality of the secret recovered image, and the value greater than 30 dB is considered good. However, this is not true for every case. For example, the steganography scheme proposed in [S_Hemalatha] has PSNR values greater than 30 dB for the extracted secret images. However, these images have black colored and white colored alternate horizontal and vertical lines. Hence, we only report other metrics to evaluate the quality of the extracted/ recovered secret image.
As human is the final spectator of the extracted secret image, human observers are considered the final arbiter to assess the quality of these images. In Fig. 4(a) and Fig. 4(b), we show the ‘Pepper’ secret image and the extracted secret image from ‘Zelda’ stegoimage. From these figures, we observe that there is very little distortion in the extracted image. Besides this, we also show their corresponding edge maps diagram in Fig. 4(c) and 4(d), respectively. Again, we observe very little variation in their corresponding edge maps diagrams.
Moreover, we also evaluate the mean SSIM index, NCC coefficient, NAE, and entropy to measure the quality of the extracted secret images. The values of these metrics are given in Table 4.2. From this table, we observe that for all the images, the values of mean SSIM index is , NCC coefficient is close to , NAE is close to , and the entropy of the original secret images and their corresponding extracted secret images are almost the same. Thus, we see that the extracted secret image preserve good quality.
5 Conclusions and Future Work
We present a blind multiimage steganography scheme based on minimization and sparse approximation. Here, we can embed a maximum of four secret images in a single cover image. Initially, we perform sampling in the cover image and obtain four subimages. Next, we sparsify each subimage and then obtain its linear measurements using a random measurement matrix. Finally, using our embedding rule, we embed DCT coefficients of the secret images into the linear measurements. The stegoimage is obtained from the modified measurements by solving a minimization problem.
We perform experiments on several standard grayscale images that vary in texture. For performance evaluation, we calculate embedding capacity, PSNR value, mean SSIM index, NCC coefficient, NAE, and entropy. Experiments show that our SABMIS hides four secret images in a cover image without distorting it significantly and has PSNR values greater than 35 dB, which is usually considered good. Also, the mean SSIM index is equal to , the NCC coefficient is close to , and the value of NAE is close to , which shows that the stegoimages are almost identical to its corresponding cover images. We obtain approximately the same entropy value for both the cover images and their corresponding stegoimages. We also obtain almost same values for all the metrics (i.e., mean SSIM, NCC coefficients, NAE, and entropy) as above for the extracted secret images. This indicates that the extracted secret images preserve good visual quality. Finally, SABMIS is also resistant to steganographic attacks.
In the future, we plan to embed the secret images in other media such as audio, video, etc. We also plan to apply optimization techniques to calculate the values of parameters , etc. used in our embedding and extraction algorithms.