1 Introduction

With the development of multimedia technology, copyright protection and content authentication have attracted much attention. To solve the issue, many data hiding schemes [1,2,3,4, 35, 36] have been proposed. In general, conventional data hiding techniques [1,2,3,4, 36] focus on extracting embedded secret data completely without restoring the original cover image. In some content sensitive fields, such as military, medical and legal fields, cover images should be protected and ensured to be losslessly recovered. Therefore, a novel reversible data hiding scheme (RDH) [35] is proposed, which allows the receiver to not only completely extract the hidden secret data but also perfectly recover the original cover carrier without any distortion.

In the past decades, RDH schemes can be mainly divided into several categories, i.e., lossless compression (LC) [7, 14], difference expansion (DE) [8, 11, 38], histogram shifting (HS) [17, 23, 26, 28, 29, 32, 33, 37, 40,41,42,43] and so on [10, 18, 31]. It is known that their schemes tend to exploit the correlation of given carrier to vacate room for secret data embedding. Early LC algorithms [7, 14] employed lossless compression techniques to save space for data hiding. Since the performance of lossless compression is uncontrollable, their rate-and-distortion performance is quite restricted. DE was firstly proposed by Tian in [38], where the difference between two adjacent pixels in cover image is obtained and then doubled to vacate its LSB (least significant bit) to embed 1-bit secret message. Later, to further exploit the correlation in cover image, some prediction methods are incorporated in DE, which are called as prediction-error expansion methods (PEE) [8, 11]. In addition, another mainstream kind of RDH, i.e., histogram shifting, is introduced by Ni et al. [28], which utilizes the correlation of cover image histogram to vacate space for data embedding. It selects a pair of peak and zero bins in histogram and then shifts those bins between two bins by 1 toward zero bin for reversible data embedding. The performance for HS based RDH is largely dependent on the sharpness of histogram [17, 23, 26, 28, 29, 32, 33, 37, 41,42,43] and the methods to determine those peak and zero bin pairs [40]. Afterwards, Li et al. [23] proposed a general framework, in which both DE and PEE could be regarded as a special case of HS. This is also followed in a recent survey article on RDH [35].

For above-mentioned RDH schemes [7, 8, 11, 14, 17, 23, 26, 28, 29, 32, 33, 37, 38, 40,41,42,43], to achieve better rate-and-distortion performance, namely large embedding capacity and low distortion, those smooth areas in the cover image are preferentially selected since smooth areas could achieve desired correlation for data hiding. However, smooth areas are sensitive for steganalysis tools [30] and lead to undesired undetectability performance due to the fact that smooth areas could be easily modeled and even slight change caused by the data hiding process could be inspected by steganalysis tools.

In general, the security derives primarily from steganography methods [2, 3], such as a secure steganographic algorithm based on bitplanes index manipulation [2], an efficient 2-step steganography technique to enhance stego-image quality and secret message undetectability [3]. Furthermore, literature [1] provided some important attributes that directly affect the performance of steganography techniques, such as stego-image quality, embedding efficiency and so on. However, those schemes [1,2,3] didn’t belong to reversible data hiding. Inspired by above mentioned steganography methods, besides rate-and-distortion performance, we consider another indicator, i.e., undetectability performance, should be focused, which could effectively improve the security of reversible data hiding. In the practical case, once RDH is easily detected, as a fragile watermark, it might be attacked, and thus lose the function of content authenticatuon and original image restoration. To improve anti-detection level (namely a higher undetectability performance), another kinds of reversible data hiding schemes [9, 19, 20, 24, 47,48,49] are designed. Hong et al. [19] preferentially embedded the secret message into those PEs with small absolute values and meanwhile located in the complex regions by using a sorting technique. Since most PEs with small absolute values are located in the smooth areas, the embedding capacity is restricted. Later, Zhang et al. [49] improved Hong et al.’s method [19] by giving priority to those PEs with large absolute values to hide secret data since those PEs with large amplitude generally belong to complex regions and could be easily acquired a higher undetectability.

In addition, consider that RDH generally leads to an evident change for the difference histogram, which is considered as data hiding trace and easily captured by those steganalyzers, some literatures[9, 24] proposed several improvement skills to keep the global statistical characteristic of stego-image invariant during RDH process. Li et al. [24] designed a set of pixel modification rules in the embedded process to keep the modified content within a small range and the statistical characteristic unchanged. However, Li et al.’s method would generate a lot of auxiliary information that requires additional transmission. Dong et al. [9] utilized a surrogate error and meanwhile added a dithered noise to hide the shifting and data embedding trace in difference histogram. Apparently, above methods could achieve better undetectability performance by maintaining global statistical characteristic but sacrificing its rate-and-distortion performance.

Furthermore, different from above-mentioned HS based RDH, Zhang et al.’s [20, 47, 48] proposed a novel embedding mechanism, i.e., recursively entropy coder, to achieve the rate-and-distortion performance theoretical bound for RDH and meanwhile acquire a desired undetectability performance. However, these algorithms should involve continuous compression and decompression operations with all the data. Thus its tampering localization [46] function for RDH is restricted, which affects the practicability.

Based on above analysis, it is difficult to achieve a desired tradeoff between rate-and-distortion performance and undetectability performance for conventional HS based RDH algorithms. Inspired by Zhang et al.’s literature[44], it is significant for us to build a better carrier to achieve the balance between rate-and-distortion performance and undetectability performance. In this paper, we found that enhanced image is a excellent carrier to achieve the balance. To solve the issue, we present a novel RDH framework for the new carrier, i.e., enhanced image generated by common image enhancement technique[16, 45], to pursue expected tradeoff between the RDH rate-and-distortion performance (large embedding capacity and low distortion for stego-image) and undetectability performance. The contributions of proposed scheme could be summarized as follows.

  • A valid enhanced image is built and chosen as cover image to generate desired histogram distribution for HS based RDH and meanwhile pursue better rate-and-distortion performance. In addition, enhanced images with much more texture blocks are beneficial for undetectability performance improvement;

  • Based on enhanced image, some undetectability performance improvement skills, such as multi-feature sorting technique, could further select those texture blocks for data hiding to achieve better undetectability performance without sacrificing its rate-and-distortion performance.

In essence, this paper focuses on a new topic how to build desired cover image for RDH scheme. In fact, enhanced images are desired choice since they are widely available in the physical world, such as processed photos of smartphone. Furthermore, above-mentioned Zhang et al.’s literature[44] demonstrated that novel carrier selection technique is helpful for security improvement. Those factors improve the reliability and practicality of our proposed scheme.

The rest of the paper is organized as follows. The advantage of RDH scheme based on enhanced image is analyzed in Section 2. The reversible embedding framework based on enhanced images and its undetectability improvement strategies are presented in Section 3. Data embedding and extraction process are described in Section 4. Experiment results are offered in Section 5. Conclusion is listed in Section 6.

2 Related work

2.1 HS based RDH and its characteristics

In this section, we briefly review histogram shifting (HS) based RDH algorithm [28] and analyze its characteristics.

Suppose cover image is I and secret message is W with length L. Output is a stego image I’. HS process is mentioned as follows and simply illustrated in Fig 1.

Step 1: Histogram generation. Generate the histogram of cover image I and denote this set as \({H_x} = \left\{ {{h_x}|x = 0,1,...,255} \right\} \), where \(h_x\) means the frequency of occurrence for value x in histogram, namely x-th bin.

Step 2: Side information selection. Choose a pair of peak (highest frequency) and zero (lowest frequency) bins in histogram as side information, denoted as \({P_k}\) and \({Z_k}\), respectively.

$$\begin{aligned} \left\{ \begin{array}{l} {h_{{P_k}}} = \max \left\{ {{h_x}} \right\} \\ {h_{{Z_k}}} = \min \left\{ {{h_x}} \right\} \end{array} \right. ,\{ x,{P_k},{Z_k}\} \in [0,255] \end{aligned}$$
(1)

Step 3: Histogram shifting. Scan the cover image in raster-scan order. Shift all the pixels located between \(P_k\) and \(Z_k\), towards zero bin \(Z_k\) by 1 to create vacant space for following data hiding. Suppose \(P_k<Z_k\), histogram shifting process could be performed as follows and shown in Fig. 1.

$$\begin{aligned} x' = \left\{ \begin{array}{l} x + 1\mathrm{{ \quad \,\, ,if }}{P_k} < x \le {Z_k}\\ x\mathrm{{ \qquad \quad ,otherwise }} \end{array} \right. \end{aligned}$$
(2)

where \(x'\) means the shifted pixel.

Step 4: Data Embedding. Rescan the cover image and then hide one bit secret data w when \(P_k\) is encountered to generate stego-image.

$$\begin{aligned} x'' = \left\{ \begin{array}{l} x'\mathrm{{ \qquad \quad , if }}x' = {P_k}\,\mathrm{{ and }}\,w = 0\\ x' + 1\mathrm{{ \qquad \!\!\!, if }}x' = {P_k}\,\mathrm{{ and }}\,w = 1\\ x'\mathrm{{ \qquad \qquad \!\!\!\!\!, otherwise}} \end{array} \right. \end{aligned}$$
(3)

where \(x''\) means the stego pixel.

Fig. 1
figure 1

Illustration of HS-based RDH process

According to above mentioned embedding process, its embedding capacity and distortion could be estimated as follows.

Embedding capacity (EC). As shown in Fig. 1, embedding capacity for HS based RDH, denoted as EC, could be readily estimated by the frequency of peak bin \(P_k\) by (4) due to the fact that 1-bit secret data would be hidden when pixel \(P_k\) in the image is encountered.

$$\begin{aligned} EC = h({P_k}) \end{aligned}$$
(4)

Therefore, it is deduced that higher frequency for the selected peak bin \(P_k\) is, the larger EC could be acquired.

Distortion (D). Denote the distortion between original image and marked one generated by HS based RDH as D. And assume ‘0’ and ‘1’ in the secret data W are equally distributed. According to the Fig. 1, the distortion could be decompressed into two parts.

One is the distortion caused by shifting the histogram bins between \(P_k\) and \(Z_k\) towards \(Z_k\) by 1, which is defined as the shifting distortion \(D_s\), and calculated by

$$\begin{aligned} {D_s} = \sum \limits _{x \in ({P_k},{Z_k})} {h(x) \times {{(\Delta x)}^2} = } \sum \limits _{x \in ({P_k},{Z_k})} {h(x)} ,(\Delta x = 1) \end{aligned}$$
(5)

where \({x \in ({P_k},{Z_k})}\) represents the pixels x located in the range (\(P_k\),\(Z_k\)), \(\Delta x\) is defined to represent the shift value of x-th bin in historgram and w is 1 bit secret information.

The other part is introduced when secret data w=1 and \(P_k\) changed to its neighboring vacant bin, which is defined as the embedding distortion \(D_e\). Thus, \(D_e\) could be estimated as

$$\begin{aligned} {D_e} = \sum \limits _{(x = {P_k})and(w = 1)} {{{(\Delta x)}^2}} = \frac{1}{2} \times L \end{aligned}$$
(6)

Finally, the complete distortion D is calculated by

$$\begin{aligned} {D} = {D_s}+{D_e} \end{aligned}$$
(7)

According to above analysis, it is observed that, for the given payload (secret data) with length L, \(D_e\) is determined. \(D_s\) could be regarded as the cost for HS based RDH, which should be minimized by choosing appropriate peak and zero bin pair (\(P_k\),\(Z_k\)) for reversible embedding. In general, when several zero bins exist in a histogram, one zero bin closest to the \(P_k\) is generally chosen to reduce the distortion. Evidently, if the zero bin is just next to the peak bin, the idealized embedding can be achieved. Fortunately, this kind of ideal case might be achieved in the histogram of enhanced image, which is the reason why we choose enhanced image as the carrier.

2.2 Histogram distribution of the enhanced image

In this subsection, we focus on a typical image enhancement method, i.e., histogram equalization (HE) [16], and describe its histogram distribution characteristic. Other similar enhancement techniques, i.e., literature [45], could generate similar results. For a gray image, HE process could be mainly implemented as follows.

  1. (1)

    Generate the histogram of original image, denoted as \({H_x} = \left\{ {{h_x}|x = 0,1,...,255} \right\} \).

  2. (2)

    Normalize the histogram to obtain the normalized histogram distribution and denote this set as \({H_{{N_x}}} = \left\{ {h{n_x}|x = 0,1,...,255} \right\} \). Then the element \(h{n_x}\) in \(H_{{N_x}}\) is calculated by

$$\begin{aligned} h{n_x} = {{h_x}}\! \big /\! N \end{aligned}$$
(8)

where N represents the number of image pixels, and is calculated by \(N = \sum \limits _{x = 0}^{255} {h_x} \).

  1. (3)

    Calculate the cumulative distribution, denoted as \({H_{{C_x}}} = \left\{ {h{c_x}|x = 0,1,...,255} \right\} \), based on the normalize histogram distribution as follows.

$$\begin{aligned} h{c_x} = \sum \limits _{k = 0}^x {h{n_k}} \end{aligned}$$
(9)
  1. (4)

    Build the mapping relationship and generate the enhanced image, denoted as \({I_{{E_x}}} = \left\{ {{e_x}|x = 0,1,...,255} \right\} \), as follows.

 

$$\begin{aligned} {e_x} = \left( {G - 1} \right) \times h{c_x} \end{aligned}$$
(10)

where \(e_x\) and x represent the corresponding pixel located in the enhanced image and original image, respectively. G means the upper gray value. For example, \(G=2^{8}=256\) for 8-bit grayscale image.

Finally, based on the mapping relationship, histogram equalization process could be performed and all the generated pixels could be selected to build resultant enhanced image.

The process is illustrated in Fig. 2. For an enhanced image histogram, it is clear that adjacent low frequency histogram bins tend to be merged for histogram equalization. The phenomenon is defined as ‘stack’ in this paper.

Due to the ‘stack’ phenomenon, two characteristics would be generated in the enhanced image: (1) The number of zero bins tends to be increased, and zero bins are scattered near those generated peak bins. (2) The frequencies of those peak bins are increased. It is noted that both characteristics commonly exist in different enhanced images. It is known that both characteristics are beneficial for the RDH rate-and-distortion performance improvement as following mentioned.

Fig. 2
figure 2

Sketch map for histogram equalization process

2.3 Advantages of enhanced image based reversible data hiding

Based on above-mentioned both Section 2.1 and 2.2, the enhanced image is considered as a desired carrier due to two advantages:

Advantage 1–Better rate-and-distortion performance. As shown in Fig. 2, due to the ‘stack’ phenomenon, the frequency for the generated peak bins would be increased and thus the embedding capacity is improved according to Eq.(4). In addition, due to the growing zero bins for enhanced image and meanwhile its scattered distribution nearby those peak bins, shifting distortion could be effectively reduced.

Advantage 2–Improved undetectability performance. Since most zero bins are located nearby the peak pins, even random chosen peak and zero bins could lead to a less shifting distortion according to Eq.(5) and thus achieve desired rate-and-distortion performance. In addition, those candidate peak bins could offer much optimization space for undetectability performance improvement without sacrificing its rate-and-distortion performance.

3 Proposed scheme

In this section, an anti-detection reversible embedding framework based on the enhanced image is proposed. Then an undetectability performance improvement scheme, i.e., multi-feature sorting technique, is introduced into the framework. Finally, a complete RDH process is provided.

3.1 General HS based RDH framework for enhanced image

The HS based RDH framework for enhanced image is shown in Fig. 3 and provided as follows.

  1. (1)

    Construction of new carrier: According to Section 2, an enhanced image is built, such as HE method [16], as carrier for secret data hiding in this paper.

  2. (2)

    Optimal selection for undetectability performance improvement: Collect all zero bins \(Z_k\) scattered in the histogram and their adjacent peak bins \(P_k\) to generate candidate bin-pair set, denoted as \(\left\{ {{Z_k},{P_k}} \right\} \). Then in order to improve undetectability performance, a novel criterion, i.e., multi-feature sorting technique, is designed to measure the local complexity and thus guide to choose those anti-detection complex regions for reversible data hiding.

  3. (3)

    HS based RDH: Apply HS based RDH scheme to embed secret information in those optimally chosen peak and zero bins.

Fig. 3
figure 3

General HS based RDH framework for enhanced image

Based on the analysis in Section 2, it is evident that proposed framework based on the enhanced image could achieve desired tradeoff between rate-and-distortion performance and undetectability performance.

3.2 Anti-detection scheme

It is generally considered that conventional single feature sorting technique [11] could not accurately represent the local texture and locate those complex regions. Therefore, multi-feature sorting algorithm is proposed to build desired complexity measure (CM) criterion and thus accurately locate complex regions for reversible data hiding. In the case, desired undetectability performance could be achieved. The specific process is mentioned as follows.

A. Multi-feature construction

As shown in Fig. 4, for a current pixel \(x_i\), its adjacent pixels are selected to build an empirical multi-feature set, denoted as \(\left\{ {f_{{x_i}}^j|j \in \left[ {1,2,3,4} \right] } \right\} \), and calculated as follows.

Fig. 4
figure 4

Sketch map of neighborhood relationship

Firstly, left gradient matrix and right gradient matrix are introduced and denoted as lg and rg, respectively, which can be computed by

$$\begin{aligned} lg = \left[ \begin{array}{l}\!\!\! {x_5} - {x_1}\quad \mathrm{{ }}{x_{12}} - {x_1}\!\!\!\!\\ \!\!\!{x_6} - {x_2}\quad \mathrm{{ }}{x_1} - {x_2}\!\!\!\!\\ \!\!\!{x_2} - {x_3}\quad \mathrm{{ }}{x_4} - {x_3}\!\!\!\!\\ \!\!\!{x_1} - {x_4}\quad \mathrm{{ }}{x_{11}} - {x_4}\!\!\!\! \end{array} \right] \mathrm{{ and }}\,rg = \left[ \begin{array}{l} \!\!\!{x_2} - {x_1}\quad \mathrm{{ }}{x_4} - {x_1}\!\!\!\!\\ \!\!\!{x_7} - {x_2}\quad \mathrm{{ }}{x_3} - {x_2}\!\!\!\!\\ \!\!\!{x_8} - {x_3}\quad \mathrm{{ }}{x_9} - {x_3}\!\!\!\!\\ \!\!\!{x_3} - {x_4}\quad \mathrm{{ }}{x_{10}} - {x_4}\!\!\!\! \end{array} \right] \end{aligned}$$
(11)
  1. (1)

    Variance

The variance of four neighboring pixel values is

$$\begin{aligned} f_{{x_i}}^1 = \frac{1}{4}{\sum \limits _{k = 1}^4 {\left( {{x_k} - \mathop x\limits ^\_ } \right) } ^2}\mathrm{{ }}\quad \mathrm{{ , }}k \in [1,2,3,4] \end{aligned}$$
(12)

where \(\mathop x\limits ^\_ = \left( {{x_1} + {x_2} + {x_3} + {x_4}} \right) /4\) is the mean value of four neighboring pixels.

  1. (2)

    The statistical magnitude for the right gradient matrix.

$$\begin{aligned} f_{{x_i}}^2 = \sum \limits _{m = 1}^4 {\sqrt{\sum \limits _{n = 1}^2 {{{\left( {r{g_{\left( {m,n} \right) }}} \right) }^2}} } } \end{aligned}$$
(13)

where \(rg_{(m,n)}\) means the element located in the m-th row and n-th column of right gradient matrix rg.

  1. (3)

    The statistical magnitude for the left gradient matrix.

$$\begin{aligned} f_{{x_i}}^3 = \sum \limits _{m = 1}^4 {\sqrt{\sum \limits _{n = 1}^2 {{{\left( {l{g_{\left( {m,n} \right) }}} \right) }^2}} } } \end{aligned}$$
(14)
  1. (4)

    Sum of the differences between four neighboring pixel values. It is computed as

$$\begin{aligned} f_{{x_i}}^4 = \sum \limits _{k = 1}^4 {\Delta {v_k}} \end{aligned}$$
(15)

where \(\Delta {v_1} = \left| {{x_1} - {x_2}} \right| \), \(\Delta {v_\mathrm{{2}}} = \left| {{x_\mathrm{{2}}} - {x_\mathrm{{3}}}} \right| \), \(\Delta {v_\mathrm{{3}}} = \left| {{x_\mathrm{{3}}} - {x_\mathrm{{4}}}} \right| \), \(\Delta {v_\mathrm{{4}}} = \left| {{x_\mathrm{{4}}} - {x_\mathrm{{1}}}} \right| \).

Apparently, above-mentioned four features are the variants of adjacent pixels’ variance for \(x_i\), which could comprehensively denote the texture characteristic in different ways. It is verified in [15] that the larger variance of adjacent pixels achieves, the smaller Fisher information and KL divergence could be obtained, which means more anti-detection pixel areas should be chosen for reversible data hiding.

B. The construction of CM and its optimization

Based on above multi-feature \(F = \left\{ {f_{{x_i}}^j|j \in \left[ {1,2,3,4} \right] } \right\} \), a comprehensive feature is constructed as follows and denoted as \(C{M_{{x_i}}}\), which is employed to build complexity measure criterion for current pixel \(x_i\).

$$\begin{aligned} C{M_{{x_i}}} = \sum \limits _{j = 1}^\mathrm{{4}} {\zeta _{{x_i}}^jf_{{x_i}}^j} \end{aligned}$$
(16)

where \(\zeta _{{x_i}}^j\) represents the weight of \(f_{{x_i}}^j\). In other words, larger \(\zeta _{{x_i}}^j\) indicates that the corresponding feature \(f_{{x_i}}^j\) is more important in the comprehensive version.

To achieve desired undetectability performance, those weight parameters \(\zeta _{{x_i}}^j\) should be optimized. Inspired by related knowledges, i.e., steganography, a novel objective function MiPOD [34], which is also called distortion function in steganography field, is employed in our paper. In [34], it indicates that the less MiPOD function value is, the more undetectability could be acquired.

Therefore, an optimization model is provided as follows to optimize those weight parameters \(\zeta _{{x_i}}^j\) in (16).

$$\begin{aligned} \left\{ \begin{array}{l} \mathop {Min}\limits _{\zeta _{{x_i}}^j} \mathrm{{ }}D = {D_{MiPOD}}\left( {\zeta _{{x_i}}^j,f_{{x_i}}^1,f_{{x_i}}^2,f_{{x_i}}^3,f_{{x_i}}^4} \right) \\ s.t.\mathrm{{ }}\sum \limits _{j = 1}^4 {\zeta _{{x_i}}^j = 1} \end{array} \right. \end{aligned}$$
(17)

where D is the total distortion calculated by MiPOD.

However, some parameters involved in conventional MiPOD funciton in [34], i.e., pixel residual variances \(\sigma _{{x_i}}^2\) obtained by variance estimator, could not be acquired by the receiver as follows.

$$\begin{aligned} {\eta ^{{*^2}}} = 2\sum \limits _{i = 1}^N {{\sigma _{{x_i}}^{ - 4}}} \beta _{{x_i}}^2 \end{aligned}$$
(18)

Therefore, to meet the reversibility requirement, an improved MiPOD associated with proposed \(C{M_{{x_i}}}\) is designed to replace those irreversible pixel residual variances \(\sigma _{{x_i}}^2\) and ensure that both sender and reciever in our paper could calculate the MiPOD function as shown in Eq.(19). The details could be mentioned as follows.

  1. (1)

    Based on (18), use \(C{M_{{x_i}}}\) to replace the original pixel residual variances \(\sigma _{{x_i}}^2\).

$$\begin{aligned} {\eta ^{{*^2}}} = 2\sum \limits _{i = 1}^N {{CM_{{x_i}}^{ - 2}} }\beta _{{x_i}}^2 \end{aligned}$$
(19)
  1. (2)

    Based on the conventional MiPOD scheme [34], improved MiPOD could be similarly calculated as follows.

a) Change rates \({\beta _{{x_i}}}\) could be obtained by (19)-(21).

$$\begin{aligned} L(\beta ) = \sum \limits _{i = 1}^N {H({\beta _{{x_i}}})} \end{aligned}$$
(20)
$$\begin{aligned} {\beta _{{x_i}}}\sigma _{{x_i}}^{ - 4} = \frac{1}{{2\lambda }}\ln \frac{{1 - 2{\beta _{{x_i}}}}}{{{\beta _{{x_i}}}}}\mathrm{{ , }}i = 1,...,N \end{aligned}$$
(21)

where L represents the payload. \(H(x)=-2xlogx-(1-2x)log(1-2x)\) is the ternary entropy function expressed. \(\lambda \) is the Lagrange multiplier.

b) After the change rates \({\beta _{{x_i}}}\) are solved, costs \({\rho _{{x_i}}}\) are obtained according to Eq.(22).

$$\begin{aligned} {\rho }_{{x}_{i}=\text {ln}\left( \frac{1}{{\beta }_{{x}_{i}}}-2\right) } \end{aligned}$$
(22)

c) The total cost distortion \({D_{MiPOD}}\) is calculated by Eq.(23).

$$\begin{aligned} {D_{MiPOD}} = \sum \limits _{i = 1}^N {{\rho _{{x_i}}}} \end{aligned}$$
(23)

Finally, the optimization model (17) could be effectively solved with Sequential Quadratic Programming (SQP) [6] to obtain the optimal weight parameters, in which the active set method [13] could be employed in each iteration to solve QP problem and search the approximate solution. Then, multi-feature based sorting technique could be performed to choose desired regions for data hiding. In practice, the optimization model in (17) can be solved with Matlab function “fmincon()”, in which some initial parameters, such as initial solution (IS), lower bound (LB) and upper bound (UB), could be empirically assigned as follows, \(IS = \left\{ {i{s_ - }k = 1|k \in [1,4]} \right\} \), \(LB = \left\{ {l{b_ - }k = 0|k \in [1,4]} \right\} \) and \(UB = \left\{ {u{b_ - }k = 1|k \in [1,4]} \right\} \), respectively.

3.3 Reversible data hiding

Based on above multi-feature sorting technique, enhanced cover image is sequentially scanned and perform HS based reversible data hiding scheme to embed secret message as follows. Thus, the stego image is generated.

$$\begin{aligned} {x''} \!\!=\! \left\{ \begin{array}{l} \!\!\!x\mathrm{{ \quad \;\,\, , if }}x = \!\!I_E\!\left( {pea{k_ - }pos\left( k \right) } \right) \mathrm{{ \!and }}\,w = 0\\ \!\!\!x + 1\mathrm{{ , if }}x = \!\!I_E\!\left( {pea{k_ - }pos\left( k \right) } \right) \mathrm{{ \!and }}\,w=1\\ \!\!\!x\mathrm{{ \qquad \!, otherwise}} \end{array} \right. \end{aligned}$$
(24)

where \(x''\) means the stego pixel, \(pea{k_ - }pos( k )\) represents selected regions of those peak bins in the whole image for data hiding.

4 Data embedding and extraction

A. Embedding process

For an enhanced image as the carrier, reversible data embedding process is illustrated in Fig. 5 and described as follows.

Fig. 5
figure 5

The flowchart for the data embedding process

 

  1. 1)

    Pre-Processing.

a) Generate the histogram for enhanced cover image \(I_E\) and select all the zero bins and their adjacent bins as peak bins to build candidate bin-pair set as shown in Fig. 3.

b) Consider the fact that those peak bins is next to the corresponding zero bins, we use ‘0’ and ‘1’ to record the relative position of those peak bins. For example, use ‘0’ to denote that one peak bin is located at the right of corresponding zero bin. Otherwise, employ ‘1’ to represent the case that a peak bin is located at the left side. Then, take those selected zero bins, the number of zero bins and generated binary array to record peak bins as auxiliary information for reversible data extraction.

c) Divide the cover image into ‘Cross’ and ‘Round’ sets, denoted as ‘X’ and ‘O’ as mentioned in [33]. Assign half of the secret message for ‘X’ and ‘O’ sets embedding, respectively. Both ‘X’ and ‘O’ sets use the same peak bins and zero bins for data embedding.

  1. 2)

    Areas reservation for auxiliary information embedding.

Reserve the first row in the cover image intact without embedding secret data to save space for hiding a part of auxiliary information for reversible data extraction.

  1. 3)

    Data embedding in ‘X’ set.

As mentioned in Sections 3.2 and 3.3, calculate multi-feature and \(C{M_{{x_i}}}\). Then perform sorting technique to choose desired complex peak regions for reversible data hiding. Finally, half of secret message could be embedded by (24) to generate stego ‘X’ set, denoted as ‘X\('\)’.

Table 1 The performance comparison for different kinds of cover images
Table 2 Error rate comparison for different kinds of cover images
  1. 4)

    Data embedding in ‘O’ set.

Concatenate all the LSBs (least significant bits) of original pixels located in the reservation areas of ‘O’ set, the part of auxiliary information and other half of secret message as a whole. Then, based on the similar process as Step 3), hide above-mentioned whole information into the ‘O’ set to generate its stego version, denoted as ‘O\('\)’. In this part, those stego pixels in the ‘X\('\)’ set are employed to perform multi-feature construction for ‘O’ set embedding to ensure reversible restoration since original version of ‘X’ set is changed after the data hiding process.

  1. 5)

    LSB replacement.

Finally, employ LSB replacement to hide the rest part of auxiliary information into the reservation areas and thus generate the final stego image.

B. Extraction process In the part, extract secret information and recover the original image in reverse order as data embedding process, which means marked ‘O\('\)’ set is recovered at first. Then marked ‘X\('\)’ is restored and meanwhile the hidden message is extract.

To be more specific, part of auxiliary information are extracted at first from the LSBs of the stego-image. Then according to the part of auxiliary information, the rest of auxiliary information is extracted in the ‘O\('\)’ set, which guides the extraction of half of the secret message from ‘O\('\)’ set and recovery of ‘O’ set by using the marked ‘X\('\)’ for multi-feature construction. Finally, other half of secret data hidden in the marked ‘X\('\)’ set can be extracted according to the auxiliary information, and meanwhile original ‘X’ set could be recovered.

Table 3 The number of complex 8×8 blocks

5 Experimental results

Our experiments are performed on the BOSSBase ver 1.01 [12] with 10000 grayscale images of size 512×512. Meanwhile, based on histogram equalization, 10000 enhanced images are built for comparision. In addition, one typical steganalyzer together with a 686-D SPAM features [30] and the ensemble classifier [22] is employed to measure undetectability performance. During the experiments, 5000 images are used for training and the rest half images are adopted for testing.

In the experiment, parameter ‘error rate’ is employed to indicate whether one image could be correctly distinguished by above steganalyzer. We randomly perform the experiments 10 times and employ the average value of those error rates as the final value. The undetectability performance is evaluated by the final error rate. The higher error rate is, the stronger undetectability could be obtained. Meanwhile, we introduce two common units [21] of payload for experiments, some typical parameters, i.e., PSNR, SSIM, Spearman correlation coefficients [27] and Pearson correlation coefficients [5], are involved to indicate the visual quality of stego-image after reversible data hiding process.

5.1 The advantage of enhanced cover image

In order to verify the advantages of enhanced cover images, three typical standard images (i.e., ‘Lena’ ‘Baboon’ ‘Airplane’), and their enhanced version are considered as carriers for performance comparison, respectively. Experimental results are listed in Table 1 at randomly selected embedding capacity 2000/0.0076 (bits/bpp). It is observed that our proposed enhanced cover image could achieve greatly better visual quality for the stego images with higher PSNR and SSIM values due to their special histogram distribution for RDH process, namely the scattered zero bins and adjacent peak bins as shown in Fig. 2. In addition, slightly larger Spearman and Pearson correlation coefficients further demonstrate that proposed enhanced cover image could achieve higher correlation between cover image histogram and the stego-image one.

Table 4 Comparisons of error rate for multi-feature with various weights (10000 images)

In addition, to testify undetectability performance for enhanced cover images, a comparison experiments is performed, where 10,000 original images of BOSSBase ver 1.01 [12] and their enhanced images are employed as carriers, respectively. Meanwhile, the ensemble classifier [22] together with a 686-D SPAM features [30] is utilized to measure the error rates. Experimental results are shown in Table 2. It is observed that proposed enhanced cover image could achieve much larger error rate, which means a higher undetectability. The reason is that enhanced image generated by conventional enhancement operation could significantly provide much more texture blocks compared with original version, which could offer more anti-detection texture space for reversible data hiding. As shown in Table 3, the number of 8×8 texture blocks (its mean variance larger than predefined threshold Ts=500) is significantly increased by using enhanced image.

Fig. 6
figure 6

Error rate comparisons among different schemes

5.2 The effectiveness of multi-feature sorting technique

To demonstrate the effectiveness of multi-feature sorting technique, the error rates for 10000 enhanced cover images under different cases are listed in Table 4, where various feature combinations associated with the corresponding empirical feature weights are offered. It is observed that those combinations with more features could achieve better undetectability performance since more features’ combination could better express the texture blocks in different directions. In addition, it is expected that appropriate feature weights could further improve our undetectability performance, which verified the effectiveness of our proposed feature weights optimization process as mentioned in Section 3.2.

Table 5 Error rate comparisons with Zhang et al. [20] under different embedding capacity

5.3 The performance comparisons with other methods

In this part, some comparison experiments are performed between our scheme and other state-of-art schemes, i.e., Hong et al. [19], Li et al. [24], Dong et al. [9] and Zhang et al. [20, 47, 49].

  1. (1)

    Undetectability performance comparison

In this part, parameter ‘error rate’ is utilized to perform undetectability performance comparison between our scheme and other state-of-art schemes [9, 19, 24, 47, 49]. Experimental results are listed in Fig. 6. It is observed that the security of proposed method is better than that of other algorithms [9, 19, 24, 47, 49] with much larger error rate due to three main reasons: (a) Enhanced cover image for RDH process could lead to an innate superiority since its histogram distribution results in a much less distortion and data embedding trace; (b) Enhanced cover image with much more texture blocks is beneficial for undetectability performance improvement; (c) Another undetectability performance improvement scheme, i.e., multi-feature sorting technique, could further develop the undetectability.

Fig. 7
figure 7

The PSNR comparison between different schemes

Fig. 8
figure 8

The SSIM comparison between different schemes

In addition, it is recognized that the error rate of proposed scheme is less than Zhang et al.’s scheme [20] as shown in Table 5 since Zhang et al.’s scheme employed different embedding mechanism, namely recursively entropy coder instead of our conventional histogram shifting mechanism, which might result in poorer visual quality in most cases as following mentioned.

  1. (2)

    Visual quality comparison for stego-image

In this part, we employ both parameters, i.e., PSNR [25] and SSIM [39], to indicate the visual quality of stego-image, namely the distortion between the stego-image and the cover version. Experimental results are shown in Fig. 7 and Fig. 8. As shown in Fig. 7, it is observed that our proposed scheme almost achieves the best visual quality under different payloads, special from the medium to large payloads (from 0.076bpp to 0.191bpp), which demonstrates the superiority of our scheme. Only for the tiny payload, the PSNR of our scheme might be slightly less than Zhang et al.’s [20] and Li et al.’s [24]. The main reason is that Zhang et al.’s [20] algorithm adopts self-defined RDH embedding mechanism, i.e., recursively entropy coder, which is fit for tiny payload embedding. In addition, different from our scheme, since Li et al.’s scheme [24] could not embed those auxiliary information in the cover image and consider them as a secret key via another channel for transmission, which leads to an unfair comparison. According to the SSIM values as shown in Fig. 8, our scheme acquires obvious advantage with large SSIM values under various payloads, which means the image structures between stego and cover images are well maintained.

Table 6 The time cost comparison among different methods under payload 14000bits (Unit: Second)
  1. (3)

    The time cost comparison

Finally, the time cost comparison is performed. All the experiments are implemented in MATLAB on the Intel(R) Core (TM) i3-4130 CPU @ 3.40GHz and 4.00GB of RAM. Experimental results are listed in Table 6. It is shown that our proposed scheme consumes the largest time cost since multi-feature sorting technique is involved. It is fortunate that the time cost for our scheme is still an affordable value.

6 Conclusion

In this paper, a novel RDH framework for enhanced cover image is proposed to achieve the desired tradeoff between the high visual quality for the stego-image and undetectability. The superiority mainly attribute to three reasons: (1) Enhanced cover image could generate desired histogram distribution with scattered zero bins and adjacent peak bins, which is suit to HS based RDH; (2) Enhanced cover image with much more texture blocks could improve undetectability; (3) Multi-feature sorting technique could further select those texture blocks without sacrificing its visual performance to achieve better undetectability, namely high security. The experiments demonstrate that the proposed method significantly outperforms the previous methods in the rate-and-distortion performance and undetectability performance. In addition, there are two main limitations of the paper: (1) Multiple features selection should be better researched, which could further improve the undetectability performance; (2) Optimization model should be improved, which includes objection function design and solution efficiency improvement.