1 Introduction

Due to the prevalence of Internet, a large amount of user data may be transmitted in the unsecure channels. To protect the content of user data, data encryption techniques have been applied [4, 11]. However, since the ciphertext after encryption is meaningless, it may arouse the attention of the interceptors. Therefore, in order to overcome this problem, data hiding techniques have been proposed in recent years, which can embed the secret data into the meaningful cover media imperceptibly, especially for digital images [1, 2, 5, 8, 9, 12, 13, 16]. The stego images after embedding can be utilized for data transmission with lower risks, and the receiver can extract the hidden secret data easily. According to whether the original cover image pixels can be recovered or not after data extraction, current data hiding schemes can be classified into two categories, i.e., reversible data hiding [1, 9, 12, 13] and irreversible data hiding [2, 5, 8, 16]. Earlier schemes of reversible data hiding usually exploited the techniques of difference expansion [1, 13] and histogram shifting [9] to achieve the reversibility. In the recent reported works of reversible data hiding [3, 6, 7, 10, 14, 15, 17], many researchers integrated the prediction mechanism and conducted data embedding on the prediction errors in order to improve the performances [6, 10, 14, 17]. Compared with reversible data hiding schemes, irreversible data hiding schemes often have greater hiding capacities. But, for irreversible schemes, the modifications on cover images caused by data embedding are not invertible.

Least significant bit (LSB) method is a well-known irreversible data hiding technique, which directly replaces the bits in the LSB planes of cover image with the secret bits for embedding. The distortions imposed on cover images depend on the hiding capacity. Later on, many studies have been conducted to improve the traditional LSB method. A LSB matching revisited method was proposed by Mielikainen [8], in which the secret bits were embedded by using the binary function and four embedding rules. In order to fully take advantage of the direction modifications for cover pixel values, Zhang and Wang proposed an efficient steganographic data embedding method based on the mechanism of exploiting modification direction (EMD) [16], which reduced the distortions caused by embedding and achieved greater hiding capacity than the traditional LSB method. The detailed descriptions of the EMD method [16] are given in the next section. Although the method in [16] based on EMD has higher embedding efficiency, it cannot achieve the reversibility of stego image. In other words, after secret data extraction, the EMD method [16] cannot recover the cover image reversibly. However, nowadays, in many application scenarios, such as military images and medical images, the images cannot be allowed with any alterations due to the risk of misinterpretations, thus, the reversibility under these scenarios is necessary.

In this work, to solve the irreversibility of the EMD method in [16], we propose a novel data hiding scheme based on EMD with reversibility by using two steganographic images, which can also achieve satisfactory performances of the hiding capacity and the stego image quality. In the proposed scheme, one cover image is chosen initially, and it produces two visually similar steganographic images after embedding. During the embedding, the first steganographic image has the property that all the pixels in this image are modified no more than one gray level based on [16]. According to the modification direction of each stego pixel pair in the first steganographic image, the modification direction of each pixel pair in the second steganographic image can be adaptively determined, which can guarantee no confusions in the image recovery procedure. On the receiver side, the embedded secret data can be easily extracted from these two steganographic images, and the cover image can be recovered correctly according to the corresponding direction relationships of the pixel pairs in the two steganographic images.

The rest of this paper is organized as follows. In Section 2, the EMD method in [16] is briefly reviewed. The procedures of embedding, extraction and recovery for the proposed scheme are presented detailedly in Section 3. Experimental results and comparisons are given in Section 4. Finally, conclusions are drawn in Section 5.

2 Related work

Zhang and Wang proposed an effective data hiding method that embeds secret data by modifying cover pixel groups with different directions [16]. In their method, the binary secret bits were first represented in (2n + 1)-ary notation system, i.e., the value of each secret digit for embedding was located in the range of [0, 2n]. The n different cover pixels chosen in one group were denoted as (g 1, g 2, …, g n ), and each pixel group can obtain one f value by the defined function F, see Eq. (1).

$$ f=\mathbf{F}\left({g}_1,{g}_2,\dots, {g}_n\right)=\left[{\displaystyle \sum_{i=1}^n\left({g}_i\times i\right)}\right] \mod \left(2n+1\right). $$
(1)

If the current secret digit d for embedding in the pixel group (g 1, g 2, …, g n ) was equal to f, no modifications were required in this pixel group. If d was not equal to f, the value of s is calculated, see Eq. (2).

$$ s=\left(d-f\right) \mod \left(2n+1\right). $$
(2)

If s was not greater than n, the pixel g s was increased by one. Otherwise, g 2n+1−s was decreased by one. By this method, one secret digit d can be embedded into the pixel group (g 1, g 2, …, g n ).

For example, suppose that n is equal to 2, and the current secret digit d for embedding is 1. Two pixels (g 1, g 2) in a group are given as (4, 2). After calculating using Eq. (1), f is equal to 3, which is not equal to the secret digit 1. Then, the value of s is computed: s = (1–3) mod 5 = 3. Since s is greater than n, the pixel group is modified from (4, 2) to (4, 1), i.e., g 2 is decreased by one. The embedded secret digit d can be easily extracted from the modified pixel group using Eq. (1), i.e., d = F(4, 1) = 6 mod 5 = 1. However, the original cover pixel group cannot be recovered by this method.

3 Proposed scheme

In this section, a data hiding scheme with reversibility based on the EMD mechanism is proposed. After a cover image C is chosen and pre-processed, secret data are embedded into the pixel pairs of C to generate the first steganographic image S (1), and then, according to S (1), the second steganographic image S (2) can be generated by adaptively modifying the corresponding pixel pairs of C for embedding. By using S (1) and S (2), the receiver can extract secret data and recover the original cover image C after the post-processing. The detailed embedding and extracting procedures are described below.

3.1 Embedding procedure

In the proposed scheme, every two pixels in the cover image C construct a pixel group, i.e., n = 2. Thus, the secret data for embedding are represented in the quinary notation system. Initially, two steganographic images, i.e., S (1) and S (2), for data embedding are generated according to the pre-processed cover image C. Then, all pixel groups, i.e., pixel pairs, in C are traversed and the corresponding pixel pairs in S (1) and S (2) are sequentially modified to embed secret data. The flowchart of the data embedding procedure for each pixel pair is illustrated in Fig. 1.

Fig. 1
figure 1

Flowchart of the embedding procedure

Because the pixel values of the two steganographic images may be modified during the embedding, the pre-processing operation is required to overcome the overflow and underflow problems of pixels. In other words, the pre-processing operation is used to guarantee that all pixel values after embedding are kept in the range of [0, 255]. Due to the data embedding, compared with the pixels in the cover image C, the pixels in the steganographic image S (1) may be modified by no more than one gray level and the pixels in the steganographic image S (2) may be modified by no more than (2n + 1) gray levels. Thus, during the pre-processing, in order to avoid the overflow and underflow problems, the pixels in the original cover image C belonging to [0, 2n] or [255−2n, 255] are set to the values of 2n + 1 or 255−2n−1, respectively. Note that the original values and coordinates of these changed pixels should be recorded for reversibility and then be compressed by arithmetic coding to form the extra information, which can be embedded together with the secret message. After the pre-processing, the two initial steganographic images, i.e., S (1) and S (2), are both set the same as the pre-processed cover image C. The following embedding procedure can be described detailedly in two phases as follows:

  1. Phase 1

    Embedding in the pixel pair of steganographic image S (1)

    For simplicity, the current pixel pair (C i, j , C i+1, j ) for traversing in C is denoted as (g 1, g 2), where C i, j is the pixel value with the coordinate (i, j) of the image C. By using the EMD method in Eq. (1), we can calculate the f value of the current pixel pair (g 1, g 2). If the current secret digit d 1 in quinary notation system for embedding in the current pixel pair (S(1) i, j , S(1) i+1, j ) of S (1) is equal to f, (S(1) i, j , S(1) i+1, j ) is just made equal to (C i, j , C i+1, j ), where S(1) i, j denotes the pixel value with the coordinate (i, j) of S (1). If d 1 is not equal to f, the s 1 value is computed: s 1 = (d 1f) mod (2n + 1). If s 1 is not greater than n, i.e., s 1 = 1 or 2, the pixel pair (S(1) i, j , S(1) i+1, j ) is assigned according to Eq. (3).

    $$ \left\{\begin{array}{l}{\mathrm{S}}_{i+{s}_1-1,j}^{(1)}={\mathrm{C}}_{i+{s}_1-1,j}+1,\hfill \\ {}{\mathrm{S}}_{i+n-{s}_1,j}^{(1)}={\mathrm{C}}_{i+n-{s}_1,j}.\hfill \end{array}\right. $$
    (3)

    Explicitly, when s 1 = 1, Eq. (3) denotes that S(1) i,j  = C i,j  + 1 and S(1) i+1,j  = C i+1,j ; when s 1 = 2, Eq. (3) denotes that S(1) i+1,j  = C i+1,j  + 1 and S(1) i,j  = C i,j . Otherwise, if s 1 is greater than n, i.e., s 1 = 3 or 4, the pixel pair (S(1) i, j , S(1) i+1, j ) is assigned according to Eq. (4).

    $$ \left\{\begin{array}{l}{\mathrm{S}}_{i+2n-{s}_1,j}^{(1)}={\mathrm{C}}_{i+2n-{s}_1,j}-1,\hfill \\ {}{\mathrm{S}}_{i+{s}_1-n-1,j}^{(1)}={\mathrm{C}}_{i+{s}_1-n-1,j}.\hfill \end{array}\right. $$
    (4)

    Explicitly, when s 1 = 3, Eq. (3) denotes that S(1) i+1,j  = C i+1,j −1 and S(1) i,j  = C i,j ; when s 1 = 4, Eq. (3) denotes that S(1) i,j  = C i,j −1 and S(1) i+1,j  = C i+1,j .

  2. Phase 2

    Embedding in the pixel pair of steganographic image S (2)

    We can find from Phase 1 that, after embedding the secret digit d 1 in the pixel pair (S(1) i, j , S(1) i+1, j ) of S (1), there are totally three cases between (C i, j , C i+1, j ) and (S(1) i, j , S(1) i+1, j ), see Eq. (5). How to embed the secret digit d 2 in the corresponding pixel pair (S(2) i, j , S(2) i+1, j ) of S (2) depends on which case in Eq. (5) is satisfied.

    $$ \begin{array}{l}\mathrm{Case}\kern0.5em 1:\kern0.5em {\mathrm{C}}_{i,j}={\mathrm{S}}_{i,j}^{(1)}\mathrm{and}\kern0.5em {\mathrm{C}}_{i+1,j}={\mathrm{S}}_{i+1,j}^{(1)},\hfill \\ {}\mathrm{Case}\kern0.5em 2:\kern0.5em {\mathrm{C}}_{i,j}={\mathrm{S}}_{i,j}^{(1)}\mathrm{and}\kern0.5em {\mathrm{C}}_{i+1,j}\ne {\mathrm{S}}_{i+1,j}^{(1)},\hfill \\ {}\mathrm{Case}\kern0.5em 3:\kern0.5em {\mathrm{C}}_{i,j}\ne {\mathrm{S}}_{i,j}^{(1)}\mathrm{and}\kern0.5em {\mathrm{C}}_{i+1,j}={\mathrm{S}}_{i+1,j}^{(1)}.\hfill \end{array} $$
    (5)

    If Case 1 is satisfied and the secret digit d 2 in quinary notation system for embedding in the current pixel pair (S(2) i, j , S(2) i+1, j ) of S (2) is equal to f, (S(2) i, j , S(2) i+1, j ) is just made equal to (C i, j , C i+1, j ), where S(2) i, j denotes the pixel value with the coordinate (i, j) of S (2). If d 2 is not equal to f, the s 2 value is computed: s 2 = (d 2f) mod (2n + 1). If s 2 is not greater than n, i.e., s 2 = 1 or 2, the pixel pair (S(2) i, j , S(2) i+1, j ) is assigned according to Eq. (6).

    $$ \left\{\begin{array}{l}{\mathrm{S}}_{i+{s}_2-1,j}^{(2)}={\mathrm{C}}_{i+{s}_2-1,j}+1,\hfill \\ {}{\mathrm{S}}_{i+n-{s}_2,j}^{(2)}={\mathrm{C}}_{i+n-{s}_2,j}.\hfill \end{array}\right. $$
    (6)

    Otherwise, if s 2 is greater than n, i.e., s 2 = 3 or 4, the pixel pair (S(2) i, j , S(2) i+1, j ) is assigned according to Eq. (7).

    $$ \left\{\begin{array}{l}{\mathrm{S}}_{i+2n-{s}_2,j}^{(2)}={\mathrm{C}}_{i+2n-{s}_2,j}-1,\hfill \\ {}{\mathrm{S}}_{i+{s}_2-n-1,j}^{(2)}={\mathrm{C}}_{i+{s}_2-n-1,j}.\hfill \end{array}\right. $$
    (7)

    If Case 2 is satisfied, a proper integer k ∈ {1, 2, …, 5} should be first found to meet the relationship in Eq. (8).

    $$ {d}_2=\mathbf{F}\left[{\mathrm{C}}_{i,j},{\mathrm{C}}_{i+1,j}-k\times \mathrm{sign}\left({\mathrm{S}}_{i+1,j}^{(1)}-{\mathrm{C}}_{i+1,j}\right)\right], $$
    (8)

    where sign(⋅) is a sign function that returns 1 and −1 for the positive and the negative numbers, respectively. Then, the pixel pair (S(2) i, j , S(2) i+1, j ) is assigned according to Eq. (9).

    $$ \left\{\begin{array}{l}{\mathrm{S}}_{i,j}^{(2)}={\mathrm{C}}_{i,j},\hfill \\ {}{\mathrm{S}}_{i+1,j}^{(2)}={\mathrm{C}}_{i+1,j}-k\times \mathrm{sign}\left({\mathrm{S}}_{i+1,j}^{(1)}-{\mathrm{C}}_{i+1,j}\right).\hfill \end{array}\right. $$
    (9)

    If Case 3 is satisfied, a proper integer k ∈ {1, 2, …, 5} also should be first found to meet the relationship in Eq. (10).

    $$ {d}_2=\mathbf{F}\left[{\mathrm{C}}_{i,j}-k\times \mathrm{sign}\left({\mathrm{S}}_{i,j}^{(1)}-{\mathrm{C}}_{i,j}\right),{\mathrm{C}}_{i+1,j}\right], $$
    (10)

    Then, the pixel pair (S(2) i, j , S(2) i+1, j ) is assigned according to Eq. (11).

    $$ \left\{\begin{array}{l}{\mathrm{S}}_{i,j}^{(2)}={\mathrm{C}}_{i,j}-k\times \mathrm{sign}\left({\mathrm{S}}_{i,j}^{(1)}-{\mathrm{C}}_{i,j}\right),\hfill \\ {}{\mathrm{S}}_{i+1,j}^{(2)}={\mathrm{C}}_{i+1,j}.\hfill \end{array}\right. $$
    (11)

    Two examples in Fig. 2a and b are utilized to illustrate the embedding procedure, and the two current pixel pairs (g 1, g 2) of cover images in these two examples are both (3, 3). For the example in Fig. 2a, the secret digits d 1 and d 2 for embedding in the two pixel pairs of S (1) and S (2) are assumed to be 4 and 3, respectively. Because the f value of (3, 3), i.e., F(3, 3), is equal to d 1, the pixel pair in S (1) is not modified. Correspondingly, the pixel pair in S (2) is modified from (3, 3) to (2, 3). The other example is shown in Fig. 2b, and the secret digits d 1 and d 2 for embedding in S (1) and S (2) are assumed to be 3 and 1, respectively. Since the pixel pair in S (1) is modified to (2, 3), which is located on the left side of the original pixel pair (3, 3), thus, the pixel pair in S (2) is modified from (3, 3) to (5, 3).

    Fig. 2
    figure 2

    Two examples of the embedding procedure

    After all pixel pairs in the cover image C are traversed and all corresponding pixel pairs in the two steganographic images S (1) and S (2) finish the above two phases, the secret embedding procedure is completed, and each pixel pair of S (1) and S (2) is embedded with one secret digit in quinary notation system. Additionally, during the embedding procedure, since the modifications to the two initial steganographic images are slight, thus, the appearances of S (1) and S (2) after embedding are both visually similar to the cover image C.

3.2 Extraction and recovery procedures

On the receiver side, after the two steganographic images S (1) and S (2) are received, the embedded secret digits can easily be extracted from all pixel pairs in S (1) and S (2) by using Eq. (1). In other words, all the pixel pairs in S (1) and S (2) are traversed and fed into the function F sequentially, and each return value of F is just the secret digit extracted from the fed pixel pair. Besides the secret extraction, for every two corresponding pixel pairs in S (1) and S (2), i.e., (S(1) i, j , S(1) i+1, j ) and (S(2) i, j , S(2) i+1, j ), their common cover pixel pair (R i, j , R i+1, j ) before embedding can also be recovered correctly. The flowchart of the data extraction and image recovery procedures for each pixel pair is illustrated in Fig. 3, and the detailed recovery procedure for (R i, j , R i+1, j ) is described as follows.

Fig. 3
figure 3

Flowchart of the data extraction and image recovery procedures

For every two corresponding pixel pairs in S (1) and S (2), the value of η is first calculated using Eq. (12).

$$ \eta =\left|\left({\mathrm{S}}_{i,j}^{(1)}-{\mathrm{S}}_{i,j}^{(2)}\right)+\left({\mathrm{S}}_{i+1,j}^{(1)}-{\mathrm{S}}_{i+1,j}^{(2)}\right)\right|, $$
(12)

where |∙| represents the function of absolute value. If η is equal to 0 or 1, the recovered pixel pair is just made equal to the pixel pair in S (1), i.e., (R i, j , R i+1, j ) = (S(1) i, j , S(1) i+1, j ). Under the condition that η > 1, if S(1) i, j ≠ S(2) i, j and S(1) i+1, j  = S(2) i+1, j , the recovered pixel pair (R i, j , R i+1, j ) is assigned according to Eq. (13).

$$ \left\{\begin{array}{l}{\mathrm{R}}_{i,j}={{\mathrm{S}}^{(1)}}_{i,j}-\mathrm{sign}\left[{{\mathrm{S}}^{(1)}}_{i,j}-{{\mathrm{S}}^{(2)}}_{i,j}\right],\hfill \\ {}{\mathrm{R}}_{i+1,j}={{\mathrm{S}}^{(1)}}_{i+1,j}.\hfill \end{array}\right. $$
(13)

If S(1) i, j  = S(2) i, j and S(1) i+1, j ≠ S(2) i+1, j , the recovered pixel pair (R i, j , R i+1, j ) is assigned according to Eq. (14).

$$ \left\{\begin{array}{l}{\mathrm{R}}_{i,j}={{\mathrm{S}}^{(1)}}_{i,j},\hfill \\ {}{\mathrm{R}}_{i+1,j}={{\mathrm{S}}^{(1)}}_{i+1,j}-\mathrm{sign}\left[{{\mathrm{S}}^{(1)}}_{i+1,j}-{{\mathrm{S}}^{(2)}}_{i+1,j}\right].\hfill \end{array}\right. $$
(14)

For example, in Fig. 2a, the pixel pairs in the two embedded steganographic images S (1) and S (2) are (3, 3) and (2, 3), respectively. Since η is equal to 1, (R i,j , R i+1,j ) is recovered to (3, 3). In Fig. 2b, the pixel pairs in S (1) and S (2) are (2, 3) and (5, 3), respectively, and η is equal to 3, thus, (R i,j , R i+1,j ) is recovered to (3, 3) by Eq. (13).

After all the two corresponding pixel pairs in the received steganographic images S (1) and S (2) are conducted above procedure, all cover pixel pairs can be recovered to their pre-processed versions, and then, according to the extra information retrieved from the extracted data, the whole original cover image C can be easily reversed with no error after post-processing.

4 Experimental results and comparisons

In this section, experimental results and comparisons are presented. The eight standard test images, i.e., Lena, Baboon, Sailboat, Lake, Tiffany, Jet, Goldhill, and Barbara, with sizes of 512 × 512 shown in Fig. 4 were used as the cover images, and the two standard images, i.e., Peppers and Zelda, with sizes of 256 × 256 shown in Fig. 5 were used as the secret images for embedding. All images in the experiments are gray-scale images. As described in Section 3, each pixel value of the secret image in our scheme was represented in the quinary notation system by four digits. For example, the pixel value 70 was converted to (0240)5.

Fig. 4
figure 4

Eight test images sized 512 × 512

Fig. 5
figure 5

Two secret images sized 256 × 256

To evaluate the image quality after secret embedding, the peak signal-to-noise ratio (PSNR) value was utilized, see Eq. (15).

$$ \mathrm{PSNR}=10\cdot { \log}_{10}\frac{255^2}{\mathrm{MSE}}, $$
(15)

where the mean squared error (MSE) between the cover image C and the steganographic image S with the sizes of H × W is calculated by Eq. (16).

$$ \mathrm{MSE}=\frac{1}{H\times W}{\displaystyle \sum_{i=1}^H{\displaystyle \sum_{j=1}^W{\left[\mathrm{C}\left(i,j\right)-\mathrm{S}\left(i,j\right)\right]}^2}}. $$
(16)

In the proposed scheme, from the statistical viewpoint, three-fifth of the pixels in the first steganographic images S (1) are not modified after embedding, while two-fifths of the pixels in S (1) are modified by one gray level after embedding. On the other hand, after embedding, the 13 twenty-fifths of the pixels in the second steganographic images S (2) are not modified, the two twenty-fifths of the pixels in S (2) are modified by one gray level, and the remaining two-fifths of the pixels in S (2) are modified by one, two, three, four, or five gray levels with the equal probabilities. Therefore, we can calculate two theoretical PSNR values, i.e., PSNR(1) and PSNR(2), for the two steganographic images S (1) and S (2) after embedding according to Eqs. (1718).

$$ {\mathrm{PSNR}}^{(1)}=10\cdot { \log}_{10}\frac{255^2}{2/5}\approx 52.11\kern0.5em \mathrm{dB}, $$
(17)
$$ {\mathrm{PSNR}}^{(2)}=10\cdot { \log}_{10}\frac{255^2}{\frac{2}{25}+\frac{2}{5}\times {\displaystyle \sum_{i=1}^5\frac{i^2}{5}}}\kern0.3em \approx \kern0.3em 41.62\kern0.5em \mathrm{dB}, $$
(18)

Note that, due to the pre-processing, the actual PSNR values of S (1) and S (2) after embedding may be slightly lower than the two theoretical values in Eqs. (1718).

Figures 6a and b show the two steganographic images S (1) and S (2) that were generated by embedding the secret image Peppers into the cover image Lena, and the PSNR values for these two steganographic images are 52.11 dB and 41.34 dB, respectively. Because each pixel pair in one steganographic images can carry one secret digit in the quinary notation system, hence, the total hiding capacity of the proposed scheme is 608680 bits, i.e., 512 × 512 × log25, and the embedding rate is 1.16 bits per pixel (bpp), i.e., 0.5 × log25.

Fig. 6
figure 6

Results of two steganographic images for Lena after embedding secret image Peppers

We also compared the performance of our scheme with that of Lee et al.’s [6] and Zeng et al.’s [14] methods. Lee et al.’s method was based on histogram shifting and set a pre-defined threshold T to control the distortions of steganographic images. Here, T was set to 10. Zeng et al.’s method was also based on histogram shifting, in which the secret bits were embedded into multi-layers. When the secret bits were embedded into different layers, cover image blocks were divided with difference sizes. Here, the experimental results of [14] were for 10-layer embedding, and the block sizes were set to 4 × 2 and 3 × 3 for layers 1–5 and layers 6–10, respectively. Table 1 shows the comparison results of PSNR values and pure embedding payloads among Lee et al.’s method [6], Zeng et al.’s method [14], and the proposed scheme for the eight cover images in Fig. 4. For the proposed scheme, PSNR1 (1) and PSNR1 (2) correspond to the two steganographic images S (1) and S (2) after embedding the secret image Peppers, while PSNR2 (1) and PSNR2 (2) correspond to the steganographic images S (1) and S (2) after embedding the secret image Zelda. It can be observed from Table 1 that, in our scheme, the PSNR values of the two steganographic images S (1) and S (2) exceed 52 dB and 41 dB, respectively. Irrespective of whether the cover images are smooth or complex, the image quality of our scheme is visually satisfactory, and the payload, i.e., embedding rate, of our scheme is 1.16 bpp, which outperforms that of Lee et al.’s and Zeng et al.’s methods.

Table 1 Comparison results between the proposed scheme and [6, 14]

5 Conclusions

In this paper, we proposed a novel reversible data hiding scheme based on the EMD method. The chosen cover image produces two steganographic images after embedding the secret data, which have visually similar appearances with the cover image. During the embedding procedure, the corresponding pixel pairs in the first and the second initial steganographic images are modified, and the modification directions for the pixel pairs in the second steganographic image are adaptively changed according to those in the first steganographic image, which can guarantee the correct image recovery on the receiver side. Experimental results show that the two steganographic images can carry high embedding payload and keep satisfactory image quality for both smooth and complex images.