Keywords

1 Introduction

Digital steganography is a kind of covert communication technology in which secret messages are hidden in public digital carriers and transmitted through open channels [1]. For the behavior of covert communication is concealed, steganography is very deceptive and often used for the important message transmission in unsafe public network channel. Due to the extensive use of digital images, image is one of the most widely used carrier. Researchers have proposed many image steganography algorithms with high anti-detection ability [2, 3], which greatly improves the security of covert communication. In recent years, WeChat, microblog and other social media are rising rapidly. These social platforms transmit and share a large amount of image data every day, which provides a huge amount of cover images for covert communication by image steganography, which greatly increases the difficulty of communication behavior detection. However, in order to save bandwidth and processing costs, and speed up image loading speed, most social network channels will compress and scale image data, which makes the current image steganography algorithm for lossless processing difficult to apply. The design of image steganography algorithm with lossy processing resistance and anti-detection ability has become the research hotspot in the field of information hiding.

Image steganography for lossy network channel requires steganography to be robust to lossy processing such as compression, cutting, scaling and so on, and at the same time, the anti-detection ability should be considered. Compared with adaptive steganography with high anti-detection ability, robust steganography has attracted less attention in the previous years. However, in the recent years, a series of robust image steganography algorithms have been proposed. In [4], a robust JPEG steganography algorithm is proposed based on DCT coefficient correlation. In [5], a robust image steganography algorithm is proposed based on dither modulation. In [6], a robust image steganography algorithm is proposed based on texture synthesis. In [7], Zhao et al. proposed a robust and adaptive JPEG image steganography algorithm based on transmission channel matching. In [8], Tao et al. proposed a robust JPEG steganography by generating the 'intermediate image' that is just the stego image after JPEG compression with special quality factor. In [9], Yu et al. proposed a robust image steganography algorithm based on generalized dither modulation and embedding domain expansion. In [10], Zhang et al. proposed an adaptive steganography algorithm with multiple robustness enhancements, which uses the difference of inter-block DCT coefficients to embed the secret messages. Although these algorithms can improve the extraction accuracy of the embedded secret messages to a certain extent. However, they are generally weak against detection, and how to improve the detection resistance of image robust steganography needs to be studied.

The wavelet transform has good time-frequency analysis characteristics and has a wide range of applications in image analysis, information hiding and other fields. In image steganography, wavelet transform is widely used, for example, in the design of adaptive steganography algorithms J-UNIWARD [2], the embedding distortion is defined according to the ratio between the amount of change of image wavelet coefficients and the image wavelet coefficients, which can limit the embedding change to the complex texture area of the image, and achieve good anti-detection ability. In terms of robust image watermarking, wavelet domain watermarking algorithm is usually more robust than spatial domain watermarking algorithm [11]. At the same time, the singular value of image has good characteristics in describing the distribution characteristics of image pixel matrix, which can better represent the important basic structure of image data. The singular value of image pixel matrix represents the relationship between pixels rather than visual features [12]. The change of singular value will not cause large image distortion. Moreover, the singular value of the matrix has good stability, and will not fluctuate with the disturbance of the matrix. Therefore, it has been widely used in robust image watermarking.

Considering the characteristics of image wavelet transform and SVD, the robust embedding domain is constructed by using SVD in image wavelet domain. Because the discrete orthogonal wavelet transform will be sampled after image filtering, and it does not have translation invariance. Here, the image is decomposed by using the translation invariant stationary wavelet transform. The size of the low frequency and high frequency subband is the same as the original image after the stationary wavelet transform. Because the lossy network channel is mainly used to change the high frequency information of the image when compressing the image, the low frequency subband after the image stationary wavelet transform is used to embed the message.

The procedure of the proposed robust JPEG steganography algorithm can be described briefly as follows. First, the image is transformed by stationary wavelet transform to get a low frequency subband and three high-frequency subbands. Since the lossy processing has a great influence on the high frequency subband, the low-frequency subband is divided into non overlapping 8 × 8 blocks, and the corresponding singular values are obtained by performing SVD for each block. Then, taking advantage of the good stability of the maximum singular value, the corresponding message embedding and extraction method are proposed. Second, the embedding distortion function is defined according to the texture complexity of blocks, and the secret message embedding is realized by STCs coding [13] and the stego elements are got. Finally, the QIM(quantization index modulation) method is used to embed the stego elements to obtain the final stego image.

2 Proposed Robust JPEG Steganography Algorithm

2.1 Overall Framework

The framework of the proposed robust JPEG steganography algorithm is shown in Fig. 1. According to Fig. 1, it can be seen that the proposed algorithm includes robust message embedding procedure and the corresponding message extraction procedure.

Fig. 1.
figure 1

Framework of the proposed steganography algorithm.

For secret message embedding, first, one-level stationary wavelet transform is performed for the cover image and the low-pass subband is used for embedding domain construction, and then the low-pass subband is divided into 8 × 8 blocks and the maximum singular value of each block is generated; secondly, the cover elements are extracted by performing QIM for the maximum singular values and the embedding distortion of each cover element is measured according to the embedding changes and texture complexity of block; thirdly, the secret messages are embedded by STCs and the correspond stego elements are obtained; finally, the stego elements are embedded by performing QIM for the maximum singular values of the 8 × 8 blocks, and then each block is reconstructed using the modified maximum singular values and the inverse stationary wavelet transform is performed to get the stego image.

For secret message extraction, firstly, the one-level stationary wavelet transform is also performed for the received stego image and the low-pass subband is divided into 8 × 8 blocks; secondly, the maximum singular values of all blocks are generated and the stego elements are extracted by performing QIM for the maximum singular values; finally, the secret messages are extracted by STCs.

According to the above descriptions, it can be seen that the definition of the embedding distortion function, the message embedding method and the message extraction method are crucial for the proposed robust image steganography algorithms. Therefore, they are introduced in details as follows.

2.2 Embedding Distortion Function

According to the framework shown in Fig. 1, it can be seen that one cover element can be extracted from one \(8 \times 8\) block. And the embedding distortion of the cover element should be related with the anti-detection ability of stego image. As we know, the embedding changes occur in the complex texture region are difficult to be detected. Therefore, the embedding distortion of cover element extracted from the \(8 \times 8\) block with complex texture should be small and the embedding distortion of cover element extracted from smooth block should be large. Because the energy value of image wavelet coefficients can reflect the texture complexity of the image blocks. Therefore, the embedding cost of \(d_{i}\) can be is defined according to Eq. (1),

$$ d_{k} = \frac{1}{{\mathop \sum \nolimits_{l = 1}^{3} \mathop \sum \nolimits_{i = 1}^{8} \mathop \sum \nolimits_{j = 1}^{8} \left| {f_{l} \left( {k,i,j} \right)} \right|}} $$
(1)

where \(f_{l} \left( {k,i,j} \right)\) denotes the (i, j)-th wavelet coefficient of the corresponding blocks in l-th high-pass subband.

2.3 Message Embedding Procedure

Suppose the image size of the cover image \({\mathbf{I}}\) is \(m \times n\), therefore, after stationary wavelet transform for the cover image, the size of the low-pass subband is also \(m \times n\). The detailed message embedding procedure can be described as follows:

  1. (1)

    The stationary wavelet transform is performed for the cover image \({\mathbf{I}}\) and the low-pass subband \({\mathbf{L}}\) is got.

  2. (2)

    The low-pass subband \({\mathbf{L}}\) is divided into \(8 \times 8\) blocks \({\mathbf{B}}_{{{\varvec{i}},{\varvec{j}}}}\), \(1 \le k \le u_{B} ,1 \le l \le v_{B}\), \(u_{B} = \left\lfloor {m/8} \right\rfloor ,v_{B} = \left\lfloor {n/8} \right\rfloor\), \(\left\lfloor \bullet \right\rfloor\) indicates the floor integer of \(\bullet\).

  3. (3)

    SVD is performed for each block \({\mathbf{B}}_{{{\varvec{i}},{\varvec{j}}}}\) and the corresponding maximum singular value set \({\mathbf{S}} = \left\{ {s_{i} |1 \le i \le u_{B} \times v_{B} } \right\}\) are obtained.

  4. (4)

    Suppose the secrete message sequence \({\mathbf{m}} = \left\{ {m_{i} |1 \le i \le u_{B} \times v_{B} } \right\}\), the quantization step is \(T\), then the cover element set \({\mathbf{X}} = \left\{ {x_{i} |1 \le i \le u_{B} \times v_{B} } \right\}\) can be extracted according to Eq. (2),

    $$ x_{i} = mod(\left\lfloor {s_{i} /T} \right\rfloor ,2) $$
    (2)
  1. (5)

    The embedding distortion of each cover element \(x_{i}\) is computed according to Eq. (1).

  2. (6)

    The secrete message sequence \({\mathbf{m}}\) is embedded using STCs and the corresponding stego element set \({\mathbf{Y}} = \left\{ {y_{i} |1 \le i \le u_{B} \times v_{B} } \right\}\) can be obtained.

  3. (7)

    Each stego element \(y_{i}\) is embedded by perform QIM for maximum singular value \(s_{i}\) according to the Eq. (3),

    $$ s_{i}^{^{\prime}} = \left\{ {\begin{array}{*{20}c} {\left( {\left\lfloor {\frac{{s_{i} }}{T}} \right\rfloor + \frac{3}{2}} \right) \times T,\,\,\,if\,\,mod\left( {\left( {\left\lfloor {\frac{{s_{i} }}{T}} \right\rfloor + y_{i} } \right),2} \right) = 1} \\ {\left( {\left\lfloor {\frac{{s_{i} }}{T}} \right\rfloor + \frac{1}{2}} \right) \times T,\,\,else\quad \quad \quad \quad otherwise} \\ \end{array} } \right. $$
    (3)
  1. (8)

    Each block is reconstructed by performing inverse SVD based on the maximum singular value \(s_{i}^{^{\prime}}\).

  2. (9)

    Inverse stationary wavelet transform is performed based on the modified low-pass and the original three high-pass subbands, and then the stego image is generated.

2.4 Message Extracting

The receiver can get the stego image which may be applied the lossy operation by the public network channel. To extract the embedding secret messages, the following steps should be performed.

  1. (1)

    Stationary wavelet transform is performed for the stego image and the low-pass subband is obtained.

  2. (2)

    The low-pass subband is divided into \(8 \times 8\) blocks and the SVD is performed for each block.

  3. (3)

    According to Eq. (4), the stego elements are extracted by performing the QIM for all the maximum singular values extracted from the \(8 \times 8\) blocks.

    $$ y_{i}^{^{\prime}} = mod(\left\lfloor {s_{i}^{^{\prime}} /T} \right\rfloor ,2) $$
    (4)

where \(s_{i}^{^{\prime}}\) denotes the maximum singular value of i-th \(8 \times 8\) block of the received stego image, and \(y_{i}^{^{\prime}}\) denotes the corresponding stego element.

  1. (4)

    The secret messages are extracted by performing STCs for the extracted steg elements.

3 Experimental Results and Analysis

In the experiments, the robustness against JPEG compression attack and the anti-detection ability of the proposed steganography algorithm are compared with the other robust JPEG steganography algorithms. For the robustness and anti-detection experiments, the 10000 Gy-scale images from BOSSbase1.01 [14] are used as sample images. The size of sample images is 512 × 512 and all the sample images with PGM format are converted to JPEG image with quality factor(QF) 85. The parameter of RS code is (31, 19).

3.1 Robustness Experiment

As we know, the complex image has strong resistance to the detection. Therefore, we should select some images with complex texture for messages embedding. Here, one-level wavelet transform is performed for the image and the energy of wavelet coefficients of the three high-pass subbands is used to measure the complexity of the image.

To evaluate the robustness against JPEG compression attack of the proposed steganography algorithm, the most complex 2000 images from BOSSbase1.01 are used to generate the stego images. The robust steganography algorithms used for comparison are UEDR-P [8], MREAS-PS [10] and MREAS-PJ [10] and. For the proposed steganography algorithm, the number of cover elements is 4096 because the image size is 512 × 512 and DCT block size is 8 × 8. Therefore, the length of the embedded message bits cannot exceed 4096. The payload is set to 0.001, 0.002, 0.003, 0.004, 0.005 bpnzAC ((bit per non-zero AC DCT coefficient) respectively.

After the stego images are generated, the JPEG recompression attack is applied to the steg images. The QF of JPEG recompression is 65, 75, 85 and 95 respectively. The parameter \({\text{T}}\) in Eq. (2), (3) and (4) is set according to requirement for extraction error rate. In other words, the low extraction error rate means large \(T\). For UEDR-P, the assumed QF of JPEG compression attack is 85. The other parameters of the robust steganography algorithms used for comparison are all set as the default values. The average extraction error rates of the compressed stego images are shown in Table 1.

Table 1. Average extraction error rates of three robust steganography algorithms for the 2000 complex images in BOSSbase1.01. (×10–3)

According to the average extraction error rates shown in Table 1, the proposed robust and adaptive JPEG steganography algorithm has achieved the competitive robustness.

As shown in Table 1, for MREAS-PJ, the average extraction error rates are low when the QFs of JPEG compression attack are 85 and 95. However, the extraction error rates become very high when the QF of JPEG compression attack is 65 which means strong attack. For UEDR-P, the average extraction error rate is 0 only when the QF of JPEG compression is same to the assumed QF, and the extraction error rates are very high when the QFs are different with the assumed QF.

Table 2. Average extraction error rates of three robust steganography algorithms for all images in BOSSbase1.01. (×10–3)

In Table 2, the average extraction error rates are given for all the 10000 images in BOSSbase1.01. According to the experimental results in Table 1, it can be seen that the extraction error rates decrease in contrast to the 2000 complex images. This is because that the JPEG compression has larger impact for complex images than for simple images. However, we should notice that the detect resistance of the simple images is often weak.

3.2 Detection Resistance Experiment

The detection resistance is important for robust image steganography. Although the UEDR-P has the strongest an-detection ability, it is robust only when the QF of JPEG compression attack is known. Therefore, the proposed steganography algorithm is compared with MREAS-Ps and MREAS-PJ using CC-PEV [15] and DCTR [16] which are the typical steganalysis features.

First, the most complex 2000 images from BOSSbase1.01 are used to generate stego images. The payloads are from 0.001 to 0.005 bpnzAC. The ensemble classifier [17] is trained by the steganalysis feature and used as the final detector. The ratio of training and test images is 0.5:0.5. The detection accuracy is quantified using the minimal total error probability under equal priors \(P_{E} = min_{{P_{{{\text{FA}}}} }} (P_{{{\text{FA}}}} + P_{{{\text{MD}}}} )/2\), where \(P_{{{\text{FA}}}}\) denotes the false-alarm probabilities and \(P_{{{\text{MD}}}}\) denotes the missed-detection probabilities. The value of \(\overline{P}_{E}\) is averaged over ten random image database splits.

Fig. 2.
figure 2

Comparisons of detection error rates \(\overline{P}_{E}\) of two steganalysis features for stego image generated from 2000 complex images in BOSSbase1.01.

In Fig. 2, the detection error rate \(\overline{P}_{E}\) of two steganalysis features are respectively shown for the three robust steganography algorithms when the stego images are generated by 2000 complex images from BOSSbase1.01. According to the detection performances, it can be seen that the proposed steganography has stronger detection resistance than MREAS-PS and MREAS-PJ. This is because that the robust embedding domain is constructed in the low-frequency subband and the image high-frequency features such as texture, edge have been preserved. Therefore, the stego image has stronger detection resistance. In addition, we should notice that the high-dimensional feature DCTR has better detection performances.

Fig. 3.
figure 3

Comparisons of detection error rates \(\overline{P}_{E}\) of two steganalysis features for stego image generated from all the 10000 images in BOSSbase1.01.

In Fig. 3, the detected cover and stego images are all the 10000 images from BOSSbase1.01. Compared with the detection error rate \(\overline{P}_{E}\) in Fig. 3, the detection error rates in Fig. 3 are relatively low. This is because that the detection for the complex images is more difficult.

4 Conclusion

Robust image steganography is an important technique for covert communication by lossy public channels. In this paper, a robust JPEG steganography algorithm is proposed based on SVD and QIM in wavelet domain. The experimental results show the proposed steganography algorithm can achieve competitive robustness and detection resistance in contrast to the stat-of-the-art techniques. This is because that the maximum singular values in wavelet domain have strong robustness. Moreover, QIM and embedding changes in low-pass subband can achieve stronger detection resistance because the texture and edge features of stego image can get better maintained.

In addition, we should notice that the detection resistance of the robust image steganography is relatively weak when the detection is performed by the classifier trained by the original cover image and the corresponding stego image. This is because that the embedding changes of robust steganography is larger than the non-robust steganography such as J-UNWARD. In other words, the large embedding changes is used to achieve the robustness. In the future, we will study the construction of robust embedding domain which can led to the stronger robustness and anti-detection ability.