Skip to main content
Advertisement
Browse Subject Areas
?

Click through the PLOS taxonomy to find articles in your field.

For more information about PLOS Subject Areas, click here.

  • Loading metrics

High capacity reversible data hiding with interpolation and adaptive embedding

  • Md. Abdul Wahed ,

    Contributed equally to this work with: Md. Abdul Wahed, Hussain Nyeem

    Roles Conceptualization, Data curation, Investigation, Methodology, Resources, Validation, Writing – original draft, Writing – review & editing

    Current address: Department of EECE, Engineering Faculty, Bangladesh Military Academy (BMA), Chattogram–4315, Bangladesh

    Affiliation Department of Electrical, Electronic and Communication Engineering (EECE) Military Institute of Science and Technology (MIST), Mirpur Cantonment, Dhaka-1216

  • Hussain Nyeem

    Contributed equally to this work with: Md. Abdul Wahed, Hussain Nyeem

    Roles Data curation, Funding acquisition, Investigation, Methodology, Project administration, Resources, Supervision, Validation, Visualization, Writing – original draft, Writing – review & editing

    [email protected]

    Current address: Department of EECE, Engineering Faculty, Bangladesh Military Academy (BMA), Chattogram–4315, Bangladesh

    Affiliation Department of Electrical, Electronic and Communication Engineering (EECE) Military Institute of Science and Technology (MIST), Mirpur Cantonment, Dhaka-1216

Abstract

A new Interpolation based Reversible Data Hiding (IRDH) scheme is reported in this paper. For different applications of an IRDH scheme to the digital image, video, multimedia, big-data and biological data, the embedding capacity requirement usually varies. Disregarding this important consideration, existing IRDH schemes do not offer a better embedding rate-distortion performance for varying size payloads. To attain this varying capacity requirement with our proposed adaptive embedding, we formulate a capacity control parameter and propose to utilize it to determine a minimum set of embeddable bits in a pixel. Additionally, we use a logical (or bit-wise) correlation between the embeddable pixel and estimated versions of an embedded pixel. Thereby, while a higher range between an upper and lower limit of the embedding capacity is maintained, a given capacity requirement within that limit is also attained with a better-embedded image quality. Computational modeling of all new processes of the scheme is presented, and performance of the scheme is evaluated with a set of popular test-images. Experimental results of our proposed scheme compared to the prominent IRDH schemes have recorded a significantly better-embedding rate-distortion performance.

Introduction

Reversible data hiding (RDH), also known as a reversible or lossless watermarking, is being widely investigated for different applications to the digital image, video, multimedia, big-data and biological data [110]. An RDH scheme generally embeds payload (i.e., secret data with any side information) in a cover image (or other data like audio, video or DNA) such that the embedded payload can completely be extracted followed by an exact recovery of the input image [9, 10]. An RDH scheme usually aims to attain better (embedding) rate-distortion performance. Thus, for the higher embedding capacity (or rate) with a lower embedding distortion, different RDH schemes have been developed, for example, DLE–Direct Least-significant-bit (LSB) Embedding–schemes [1115], Difference Expansion (DE) schemes [16, 17], Histogram Shifting (HS) schemes [18, 19], Reversible Contrast Matching (RCM) schemes [20], Prediction Error Expansion (PEE) schemes [21, 22].

Recently, interpolation-based RDH (IRDH) schemes are being studied for a better rate-distortion performance [1315, 2327]. We will briefly review those schemes in Section State of the IRDH schemes showing that their development mainly focuses on the improvement of two underlying processes: (i) computation of interpolated pixels and (ii) embedding of payload. For computing interpolated pixels, the parabolic interpolation (PI) offers better image quality so far [1315]. For embedding, interpolated pixels of an input image are generally used, keeping the original pixels untouched, which is desirable in the military and medical image applications.

Additionally, while a better visual quality of the embedded images can be obtained with the existing IRDH schemes, a varying embedding capacity requirement (i.e., varying size payloads) is yet to be considered. For different multi-disciplinary applications of an RDH scheme, the payload size usually varies. It is generally assumed that embedding will continue for the last bit of payload within the capacity limit that may result in non-uniform distortion in the embedded image [28]. Thus the best possible image quality for embedding varying size payloads cannot always be ensured. This embedding problem of varying size payload can be addressed using adaptive embedding, which again poses three main challenges: (i) defining a universal capacity control parameter to deterministically allocate room for payload bits, (ii) keeping dynamic range of the embedding capacity possibly ‘higher’ to attain the varying capacity requirement of a target application, and (iii) maintaining a uniform distribution of the embeddable bits for minimum possible distortion resulting in a better rate-distortion performance.

As a first step to tackle the above challenges, we employed a capacity control parameter in [14, 15] that deterministically selects a set of bit-planes for embedding original or complement form of payload bits. For tracking these versions of the embedded data (i.e., original or complement), a flag bit was introduced. The PI technique in [13] was simplified for efficiently computing an interpolated image in [14, 15]. While a high dynamic range of embedding capacity was obtained with our initially developed schemes [14, 15], the capacity can be further increased if the use of flag bits can be avoided. It means, one more payload-bit can be embedded replacing a flag bit in a pixel with improved embedded image quality.

Therefore, as a primary contribution of this paper (see Section Scope of improvement for more details), we present a new adaptive IRDH scheme. We use the simplified PI technique (SPI) [15] for up-sampling an input image (Section Image up-sampling). An adaptive embedding with a capacity control parameter is more formally defined and employed for embedding of varying size payloads (Section Proposed adaptive embedding). We utilize a logical (or bit-wise) correlation between the embeddable pixel and estimated versions of an embedded pixel to avoid the use of any flag bit. This scheme is thus envisaged to have a significantly better-embedding rate-distortion performance (Section Results and analysis) and would create a new paradigm in adaptive IRDH research for different multi-disciplinary applications.

State of the IRDH schemes

In this section, we review the popular interpolation techniques and their uses in IRDH schemes. Interpolation techniques are chosen to obtain an up-sampled image containing both the original and interpolated pixels. Since the image quality of the up-sampled image eventually contributes to maintaining a better-embedded image quality, lower distortion in the up-sampled image is always desirable. We note that for evaluating distortion between an original image and its interpolated version, the original image is first down-sampled followed by the up-sampling using the interpolation technique in question. Unlike this, in an IRDH scheme, an input image is directly up-sampled (using interpolation) for embedding (see Section Modeling our proposed IRDH scheme and Fig 1), where interpolated pixels are used in different ways to achieve a better rate-distortion performance, which is discussed in the sections below.

Interpolation techniques

Different interpolation techniques have been employed for up-sampling the cover image during embedding. For example, neighbor mean interpolation (NMI) [23], interpolation by neighboring pixels (INP) [25], enhanced neighbor mean interpolation (ENMI) [27] and parabolic interpolation (PI) [13] are a few that showed great promises for IRDH schemes. Additionally, bilinear interpolation (BI) and nearest neighbor interpolation (NNI) are two basic interpolation techniques that have not been employed in IRDH schemes, but they are used to compare the performance of interpolation in IRDH schemes (for example, see [13, 29]).

The NMI technique [23] computes an interpolated pixel as the average of the nearest original pixels. For the horizontal or vertical neighborhood, two nearest pixels are considered and for the diagonal neighborhood, three nearest pixels are considered. Thereby, a 2 × 2 block of an input image is up-sampled to a size of 3 × 3 containing five interpolated pixels. While this technique offers reasonably good up-sampled image quality, a better quality up-sampled image can be obtained by redefining the neighborhood and interpolated pixels for computing the final interpolated pixels as reported in IRDH schemes with INP [25] and ENMI [27].

However, for further improvement of the interpolated image quality, PI has later been introduced in an IRDH scheme [13]. With a set of three known pixels (i.e., original pixels), two unknown pixels are computed as such an original image block of size 1 × 3 is up-sampled to a block of size 1 × 5. To obtain an up-sampled pixel a weighted average of its all possible interpolated values and other nearest neighborhood pixels (that are not considered for interpolation) is used. This computation continues for all overlapping blocks of original pixels with separate consideration of interpolated pixels in the image border. With a relatively higher computational complexity, this technique produces the best quality interpolated image so far.

We have therefore simplified the PI technique of Zhang et al. [14] using only non-overlapping image blocks. To avoid the inter-block visual artifact, we also improved that simplified technique later in [15] with overlapping blocks, where an interpolated pixel in a block is computed once in each direction (i.e., horizontal, vertical and diagonal) (see Section Modeling our proposed IRDH scheme). Whereas, in Zhang et al.’s PI technique, as mentioned above, multiple versions of each interpolated pixel are computed to get a closer estimate. Thus, our simplified PI [15] (that we call SPI technique in what follows) significantly reduces the computational complexity of Zhang et al.’s PI technique to obtain similar embedded image quality. This will be demonstrated in terms of run-time and embedded image quality with some new results in Section Results and analysis. A minimal working example of our SPI technique is illustrated in Section A working example.

Embedding techniques based on interpolation

We now briefly discuss the use of interpolation techniques in IRDH schemes. The main uses of interpolation are found for (i) computing prediction errors (PEE-based schemes [3032]), (ii) computing embeddable bits (DLE-based schemes [2325]), and (iii) a combination of both [27]. An IRDH scheme with PEE computes the predicted errors from the cover image and interpolated image, and the secret data are embedded by modifying the predicted errors in a subset of original pixels. Here, reversibility of these schemes depends on the PEE process. In contrast, an IRDH scheme with DLE embeds secret data only in the interpolated pixels by replacing their LSBs, keeping the original pixels untouched. This embedding is particularly useful in applications like medical and military imaging, where minimum changes in the cover images (i.e., original pixels) are usually restricted [29, 3337].

The DLE-based schemes are relatively simple and offer better user access control than the other IRDH schemes mentioned above. This means that while the secret data may be extracted by an authorized user (i.e., who has the privilege to obtain the embedded data), the cover image may be independently restored by any user who wants to see it original. For this purpose, a suitable cryptographic tool with private or public keys may be employed for encrypting payload, which is beyond the scope of this paper. In summary, IRDH schemes with DLE have several advantages over its counterpart as noted below:

  • embedding and extraction processes are relatively simple
  • a location map is not usually required
  • embedded image being up-sampled provides a higher spatial resolution
  • the original pixels remain untouched (required in some military and medical applications)
  • instant recovery of the cover image (with or without extraction of the embedded data) by down-sampling
  • a better user access control to the embedded data and cover image, and
  • a relatively higher embedding capacity with reasonably better image quality.

Although a combination of the DLE and PEE techniques in IRDH scheme has also been reported in [27] to offer a better image quality and higher embedding capacity, the above advantage of the DLE-based schemes may no longer exist. That type of IRDH scheme thus can be semi-reversible (i.e., the embedded data can be completely extracted, while the original image can be partially recovered), and the original pixels cannot also be preserved intact in the embedded image. In this paper, we, therefore, limit our focus to the development of a DLE-based IRDH scheme.

A recent DLE based IRDH scheme reported in [29] introduced Base-3 conversion of the embeddable data bits and demonstrated an improved rate-distortion performance with the embedding of a large size payload, which includes location maps for complete extraction of the embedded data. Although those location maps are compressed and embedded along with the base-converted secret data, this essentially reduces the effective embedding capacity of the scheme [38]. This also means that with any suitable compression and/or base-conversion of payloads may also improve the embedding capacity of other existing IRDH schemes including our scheme presented in this paper, which is left beyond the scope of this paper and mentioned in Section Conclusion.

Other prominent DLE-based IRDH schemes [13, 23, 25] also improved interpolated image quality for high embedding capacity requiring no location map and compression technique. However, they do not account for any varying capacity requirement, which leaves a room for improvement of the IRDH scheme for embedding varying size payload. Therefore, in this paper, we develop and present a new IRDH scheme for high capacity adaptive data hiding. Technical details of the proposed scheme are discussed in Section Modeling our proposed IRDH scheme for the envisaged improvements noted in the section below.

Scope of improvement

The current state of the IRDH schemes, as discussed above, demands a suitable adaptive embedding process that is computationally efficient and offers a better rate-distortion performance, particularly for varying embedding capacity requirements. Our research presented in this paper thus contributes to the development of an adaptive IRDH scheme as follows.

  • An SPI technique is developed for efficient up-sampling of the input image.
  • A capacity control parameter is formulated and employed in developing a new adaptive embedding process to deterministically allocate the room for embedding.
  • A better-embedded image quality is ensured with a closer estimate of the embeddable pixel.
  • Computational models of all key processes of the proposed IRDH scheme are developed.
  • Rate-distortion performance of the proposed IRDH scheme is evaluated, analyzed and validated with the prominent IRDH schemes [13, 23, 25] and our earlier scheme [15].

The early result of our work with the SPI technique has been presented in [14, 15], as discussed in Section Image up-sampling. For embedding, we employed a capacity control parameter in [14, 15] to allocate the room for embedding. To minimize embedding distortion, we computed a closer estimate of the embeddable pixels using either the original or the complement of the payload bits. To track the versions of the embedded bits, we used a flag bit. However, the embedding capacity of those schemes can further be improved if an additional bit can be embedded in place of the flag bit.

In this paper, we investigate for the use of a logical (i.e. bit-wise) correlation between the embeddable pixels and two versions (i.e., original and complement) of embedded pixels. Thereby, the use of flag-bit can be avoided to embed one more payload bit in every place of flag-bits, which would significantly increase the embedding capacity with no additional embedding distortion (see Section Modeling our proposed IRDH scheme). We thus develop a new adaptive IRDH scheme for varying size payload embedding with the best possible embedded image quality. We formulate the capacity control parameter more formally and present the simplified up-sampling, new embedding and extraction processes with their algorithmic details in Section Modeling our proposed IRDH scheme. Moreover, we analyze the performance of our schemes with new results by comparing it with the IRDH schemes in [13, 15, 23, 25] (see Section Results and analysis).

Modeling our proposed IRDH scheme

A general framework of our proposed IRDH scheme is presented in Fig 1. Three main processes of the scheme (i.e., image up-sampling, embedding, and extraction) are modeled and discussed in this section below. We adopt the general notation of the data hiding framework from [10, 39], which is summarized in Table 1. We also differentiate between the embeddable and interpolated pixels as such the embeddable pixels are a sub-set of interpolated pixels, where the payload is embedded in. The other interpolated pixels (i.e., the last three interpolated pixels, see the last paragraph of Section Proposed adaptive embedding) are used to carry any side information required to execute the extraction and recovery processes.

thumbnail
Table 1. Key nomenclature for our proposed IRDH framework.

https://doi.org/10.1371/journal.pone.0212093.t001

Image up-sampling

We present here a general framework of PI first followed by its use in modeling SPI technique for up-sampling an input image. Let us consider a set of 5 consecutive pixels, {yi}: yi ∈ {0, 2L − 1} with respective pixel positions, i ∈ {1, 2, ⋯, 5}, where L is the bit-depth of the given image. This is illustrated in Fig 2. With this setting, the known pixels are {yi}: i ∈ {1, 3, 5} and the other two are the up-sampled pixels, i.e., {yi}: i ∈ {2, 4} that are unknown and will be computed using PI. (1) (2)

thumbnail
Fig 2. Pixel arrangement for a parabolic interpolation (PI).

https://doi.org/10.1371/journal.pone.0212093.g002

For computing the unknown pixels, y2 and y4, a set of three parabolic equations of the form a.i2 + b.i + c = yi are obtained with the three known pixels as in Eq (1). The coefficients, a, b, and c are then obtained from the solution of these equations, which are used to compute the y2 and y4 as in Eq (2). This computation will be applied in each directional block (i.e., horizontal, vertical and diagonal) and is repeated for all blocks to compute an interpolated image. This SPI-based up-sampling is modeled with the function interp(⋅) in Algorithm 1.

Algorithm 1. interp (I, F)

Input(s): I, F

Output(s): C

Begin

1 (M, N) ← size(I)              ⊳ number of rows and columns of I

2 Iup ← upsample(I, M, N, F)       ⊳ up-sampling I to Iup by factor F to a size FM − 1 × FN − 1

3 {IHblock} ← hbolck(Iup)    ⊳ divides Iup into a set of overlapping horizontal blocks of size 1 × 5

4 {IVblock} ← vbolck(Iup) ⊳ divides Iup into a set of overlapping vertical blocks of size 1 × 5

5 {IDblock} ← dbolck(Iup) ⊳ divides Iup into a set of overlapping diagonal blocks of size 1 × 5

6 for all IHblockIup do

7       ⊳ computes interpolated pixels in IHblock

8 end for

9 for all IVblockIup do

10       ⊳ computes interpolated pixels in IVblock

11 end for

12 for all IDblockIup do

13       ⊳ computes interpolated pixel sin IDblock

14 end for

15   ⊳ updates Iup with , and

16 ⊳ padding in the last row and last column of to make its size FM × FN

17 Return C

End

Particularly, interp(⋅) takes the original image, I and the factor, F as input to output an interpolated image, C. An up-sampled image is initialized with upsample(⋅) that inserts interleaving zero columns and zero rows in I. Thus, an FM − 1 × FN − 1 sized image, Iup is computed with the M × N sized I, which is later divided into a set of overlapping blocks of size 1 × 5 by scanning pixels in horizontal, vertical and diagonal directions as showed in Fig 3. Thus, as in Step 3-5 of the algorithm, {IHblock}, {IVblock} and {IDblock} are the sets of horizontal, vertical and diagonal blocks obtained from the functions, hblock(⋅), vblock(⋅) and dblock(⋅), respectively.

thumbnail
Fig 3. An example of directions in a block for SPI-based image up-sampling [15]: (a) horizontal, (b) vertical and (c) diagonal.

https://doi.org/10.1371/journal.pone.0212093.g003

Each directional block contains five consecutive pixels, where the 1st, 3rd and 5th pixels are the original, and the 2nd and 4th pixels are the newly inserted zero pixels, whose values are to be computed using Eqs (1) and (2) as defined in Steps 9-14 of Algorithm 1 with parabolic(⋅). Newly inserted zero pixel values of {IHblock}, {IVblock} and {IDblock} are thus replaced with the interpolated values obtaining their respective interpolated blocks, {}, {} and {}. These interpolated blocks are then combined to construct using the function, construct(⋅). The last row and last column of is replicated as padded pixels to make the image size FM × FN using pad(⋅) in Step 16. For example, with F = 2, an input image, I of size M × N is finally up-sampled to an interpolated image, C of size 2M × 2N.

Proposed adaptive embedding

We model here our proposed embedding such that it can adaptively embed the payload into the LSBs of the embeddable pixels. For this, we first formulate a capacity control parameter, T in Eq (3) for adaptive embedding, i.e., to attain any varying embedding capacity requirement. (3)

Algorithm 2. embedding (F, C, data, T)

Input(s): C, data, F, T

Output(s): Iem

Begin

1 Initialize:

startbit ← 1

2 I ← downsample(C, F)            ⊳ down-sample C by F

3 for all yCI do         ⊳ for all the embeddable pixels in C

4  n ← bitlength(y)        ⊳ returns bit-length of y using Eq (5)

5  if n ≤ 1 + T then

6   nem ← 2       ⊳ nem is the number of embeddable bits

7  else

8   nemnT

9  end if

10  p ← getLSB(y, nem)            ⊳ returns nem-LSBs of y

11  d ← getbit(data, nem, startbit)   ⊳ returns nem-bits of data from starting bit-position, startbit

12         ⊳ returns 2’s complement of d

13  Xd ← bitXOR(p, d)           ⊳ a bit wise XOR of p and d

14          ⊳ a bit wise XOR of p and

15  yd ← substituteLSB(y, d)   ⊳ returns a version of embedded pixel substituting d for nem-LSBs of y

16   ⊳ returns another version of embedded pixel substituting for nem-LSBs of y

17  startbitstartbit + nem

18  if then

19   y′ ← yd

20  else

21   

22  end if

23  yy′                 ⊳ updating y with y

24 end for

25 Return Iem

End

In general, T is a predefined number of unchanged MSBs. So, the lesser is the value of T, the greater are the number of embeddable LSBs, and so is the embedding capacity. However, with a higher capacity requirement, embedding distortion is usually higher. So, a maximum possible value of T is required as such the capacity requirement, γ is attained with the best possible embedded image quality. We model the process of computing T in Algorithm 3, where T lies in the range [1, L − 1]. For different values of T, the embedding capacity, Ec is computed in Step 10 of Algorithm 3 using Eq (4a), which is the total number of embeddable bits, i.e., ∑nem for all yCI as per Eq (6).

Algorithm 3. c.parameter (C, data, F)

Input(s): C, data, F

Output(s): T

Begin

1 Initialize:

T ← (L − 1)

γ ← size(data)           ⊳ γ is the size of payload, data

2 I ← downsample(C, F)          ⊳ down-sample C by F

3 N1 ← 0      ⊳ N1 is the total pixels with two embeddable LSBs as per Eq (6)

4 for all yCI do         ⊳ for all embeddable pixels in C

5  n ← bitlength(y)      ⊳ returns bit-length of y using Eq (5)

6  if n ≤ 1 + T then

7   N1 ← (N1 + 1)

8  end if

9 end for

10 EcN1 × 2 + {(F − 1)(M × N) − N1} × (nT)    ⊳ Ec is total embedding capacity

11 while Ecγ do

12  if T ≥ 2 then

13   T ← (T − 1)

14   repeat step 3 to step 10        ⊳ recalculate Ec for new T

15  else

16   break and reconsider F         ⊳ Increase F to attain γ

17  end if

18 end while

19 Return T

End

Algorithm 3 illustrates that with the initialized T = L − 1 (i.e., the largest value of T), Ec is computed to verify if the embedding capacity requirement, γ is attained. If not, the value of T is further decreased and this process continues until Eq (4b) is satisfied. We note here that, with the lowest value of T (i.e., T = 1), the capacity condition in Eq (4b) may not be fulfilled for some large size payload, γ. This means that the payload size may sometimes exceed the maximum embedding capacity. While this condition may also be true for other RDH schemes, we leave an option to reconsider the up-sampling factor, F to increase the number of embeddable pixels. However, we here illustrate a case of our IRDH scheme with F = 2, which may be increased for a higher embedding capacity requirement with a higher size interpolated (or cover) image. (4a) (4b)

Once T is obtained for a capacity requirement, γ, the embedding process is invoked for embedding given payload bits. The proposed embedding is modeled in Algorithm 2. The algorithm takes C, data, F and T as a set of inputs and returns the embedded image, Iem. For example, with a given embeddable pixel yCI the bit length, n is calculated by the function bitlength(⋅) using Eq (5). The number of embeddable LSBs, nem is then computed according to the condition given in Eq (6) by the function getnem(⋅). Now, nem-number of LSBs of y is compared with the nem-bit data, d and its complement, using a bit-wise XOR operation. Thus, their logical differences, Xd and are computed, respectively. These Xd and are compared according to the condition given in Eq (7) to choose the final embedded pixel, y′ either from yd or . (Here, yd and are the two versions of embedded pixel computed using substituteLSB(⋅); the first version replaces the LSBs of y with the d, and the second one replaces the same with .) In other words, means that embeddable pixel version, yd is closer to y. So, the embedded pixel, y′ would take the value of yd; otherwise, the embedded pixel would be . Continuing this embedding for all embeddable pixels, an embedded image, Iem is obtained. (5) (6) (7)

For a blind operation of the recovery and extraction processes, the value of F and T are to be stored as side information in the Iem such that the cover image can completely be recovered and the embedded data are exactly extracted from Iem. For this, the last three interpolated pixels are excluded for embedding. In each of these pixels, two bits of the 6-bit side information (the first 3-bits are for F and the rest 3-bits are for T) are embedded so that the receiver can extract these bits to execute the extraction and recovery processes. The other interpolated pixels used for payload embedding are defined as the embeddable pixels in Algorithm 2 and 4. So, without loss of generality, we omit the embedding and extraction of F and T in the algorithms assuming that this pre-processing can be employed later for a practical application scenario.

Algorithm 4. extraction (Iem, F, T)

Input(s): Iem, F, T

Output(s): D, I

Begin

1 Initialize:

DNull            ⊳ D is an empty array to store data

2 I ← downsample(Iem, F)          ⊳ down-sample Iem by F

3 C ← interp(I, F)          ⊳ up-sampling I to C by factor F

4 {y′} ← IemI       ⊳ {y′} are the set of embedded pixels in Iem

5 {y}←CI         ⊳ {y} are the set of embeddable pixels in C

6 for all y′ and y do

7  n ← bitlength(y′)       ⊳ returns bit-length of y′ using Eq (8)

8  if n ≤ 1 + T then

9   nem ← 2        ⊳ nem is the number of embeddable bits

10  else

11   nemnT

12  end if

13  p ← getLSB(y, nem)           ⊳ returns nem-LSBs of y

14  b ← getLSB(y′, nem)          ⊳ returns nem-LSBs of y

15       ⊳ returns 2’s complement of b

16  Xb ← bitXOR(p, b)          ⊳ a bit-wise XOR of p and b

17         ⊳ a bit-wise XOR of p and

18  if then

19   db            ⊳ data-bits are embedded in original

20  else

21           ⊳ data bits-are embedded in complement

22  end if

23  D ← append(D, b)    ⊳ append selected data bits, b with extracted Data, D

24 end for

25 Return I, D

End

Proposed payload extraction with image recovery

Once the embedded image is sent to the receiver as showed in Fig 1, extraction of the embedded payload bits and recovery of the original image takes place. The data extraction with image recovery of our IRDH scheme is modeled in Algorithm 4. The original image, I can be restored instantly by down-sampling the embedded image, Iem (i.e., discarding the embedded pixels) and the embedded payload can be blindly extracted from the Iem. Once the original image, I is restored, the interpolated image, C is reconstructed using interp(⋅). Now, for all embedded pixels y′ ∈ IemI, the bit length, n of y′ and the number of embedded bits, nem in y′ are calculated using bitlength(⋅) and getnem(⋅) as per Eqs (8) and (6), respectively. Now, nem-number of LSBs of y′ ∈ IemI and corresponding yCI are extracted as b and p, respectively using getLSB(⋅). Then b and p are compared using a bit-wise XOR operation to determine if the set of embedded bits is equal to b or its complement, as per Eq (9). These operations are stated in Steps 13-22 of Algorithm 4. Therefore, all the extracted payload-bits, d are concatenated by append(⋅) to reconstruct the payload, D (which should be the same as the embedded payload, data). (8) (9)

A working example

We now briefly explain a minimal working example for our proposed IRDH scheme. As illustrated in Fig 4, an input image of size 3 × 3 is up-sampled to an image of size 6 × 6 using our SPI technique with F = 2 (see Algorithm 1). The up-sampling process is initialized with the interleaving zero columns and zero rows in the input image as in Fig 4(b). The darker pixels in the figure represent the original pixels and these pixels are kept unchanged. A directional block of five pixels is considered in all possible horizontal, vertical and diagonal directions to compute two unknown pixels from three known pixels as mentioned in Section Image up-sampling.

thumbnail
Fig 4. A minimal example of the proposed interpolation and embedding processes: (a) input image, (b) initial up-sampled image, (c) interpolated image, and (d) embedded image (the darker cells represent the original pixels).

https://doi.org/10.1371/journal.pone.0212093.g004

For a minimal working example, we explain here the first horizontal block, where the three known pixels are y1 = 152, y3 = 161 and y5 = 192 and the unknown pixels are y2 and y4. We initialize the up-sampling process for the unknown pixels, y2 and y4 with zeros, which are to be replaced by the respective interpolated values. We derive the set of three parabolic equations as in Eq (1) for the known three pixels, and solve those equations to obtain the coefficients, a = 2.75, b = −6.5 and c = 155.75. With the values of the coefficients, we now compute the unknown pixel values using Eq (2), i.e., y2 = 153.75 = 154 and y4 = 173.75 = 174, where the values are rounded up to the nearest integer numbers. This process of obtaining two interpolated pixels from three known pixels continues for all the directional blocks to obtain the final interpolated image with necessary padding as illustrated in Fig 4(c).

We now illustrate the process of our proposed adaptive embedding. The payload, a pseudo-random binary data (e.g., 1101100111011010011110111110101000011010001 …) is embedded into the embeddable pixels (white colored cells in the figure) and the embedded image is presented in Fig 4(d). The embedding process, for example, is now illustrated with T = 5 in Fig 5.

thumbnail
Fig 5. An example of proposed embedding in an embeddable pixel.

https://doi.org/10.1371/journal.pone.0212093.g005

Let us consider the first embeddable pixel, y = (154)10 = (10011010)2. The bit-length of y is n = 8, thus from Eq 6, we get the number of embeddable bits, nem = nT = (8-5) = 3. The set of the three embeddable LSBs of y is p = 010. On the other hand, 3 bit of payload, d = 110. This set of payload bits, d is embedded in the embeddable LSBs of y, either in its original form (i.e. d = 110) or in complement form (i.e. ). Now, the two versions of an embedded pixel, yd and can be obtained by substituting d or respectively, for the set of embeddable LSBs, p. To select the final embedded pixel, we utilize a bit-wise correlation of p and d. We then compute the value, Xd = 4 using bit-wise XOR operation of p and d, and using bit-wise XOR of p and . According to Eq 7, since , replacement of the LSBs, p = 010 with the complement of data bits, (i.e., version of the embedded pixel) would cause minimum embedding distortion to the embeddable pixel, y. So, we obtain the final embedded pixel, .

On the other hand, in extraction, the original image can be exactly recovered by simply discarding the embedded pixels from the embedded image. Applying the reverse process of embedding, we can also completely extract the embedded payload from the embedded pixels as explained in Section Proposed payload extraction with image recovery.

Results and analysis

This section presents the experimental results and analysis of our proposed IRDH scheme. In Section Computational efficiency of our SPI technique, we analyze the computational efficiency of our SPI technique, and in Section Rate-distortion performance of the proposed scheme, the embedding rate-distortion performance of our IRDH scheme is analyzed and validated by comparing it with some prominent IRDH schemes [13, 23, 25] and also with our previous scheme [15]. The experiment is carried out for a set of standard USC-SIPI grayscale test-images [40] of size 256 × 256. As mentioned in Section Image up-sampling, we have used a factor, F = 2, for up-sampling the original test images to a size of 512 × 512. The visual quality of the interpolated and embedded images are evaluated in terms of PSNR (peak signal to noise ratio) in dB and SSIM (structural similarity), two popular image quality metrics. Embedding rate and capacity are expressed in terms of bpp (bit per pixel) and the total number of embedded bits respectively. MATLAB R2016b with a 1.3 GHz Intel Core i5 CPU of 4 GB memory is used for all necessary implementations.

The PSNR values for the embedded images are computed in terms of mean square error (MSE) as given in Eqs (10) and (11). Here, yi,j and are the pixel values of position (i, j) in an interpolated image and its embedded version, both of size FM × FN, respectively. Besides, SSIM values are computed using Eq (12), where μy and μy are the average values of yi,j and , and and are the variance of yi,j and , respectively;σy,y is the covariance of yi,j and ; and c1 = (k1L)2 and c2 = (k2L)2 are two regularization constants for the 2L − 1 dynamic range of the pixel values and a set of small constants, k1 and k2 [41]. Here, L is the bit-depth of the images. (10) (11) (12)

Computational efficiency of our SPI technique

The run-time and efficiency of our SPI technique are compared with Zhang et al.’s [13] PI technique in Table 2 in terms of their up-sampling run-time. As demonstrated in the table, for different test images, the average PSNR for the interpolated images with Zhang et al.’s [13] PI is 28.51 dB and that with our SPI is 27.17 dB. At the same time, the average run-time for our SPI is 1.81 sec, while that for Zhang et al.’s PI [13] is 10.68 sec. This means that, although the PSNR values are slightly reduced (4.7% on average) with SPI compared to PI, the SPI takes significantly less computational time (83% less on average). Thus computational complexity is significantly reduced with our SPI technique. Thereby, the overall embedding time of the proposed scheme is also significantly reduced. While the PSNR values for the interpolated images are slightly lower, the embedded image quality obtained with our proposed IRDH scheme eventually outperform Zhang et al.’s scheme, which is analyzed in the following sub-section. We here also note that, if there is no requirement of computational efficiency, Zhang et al.’s PI technique may be used for computing up-sampled images in our IRDH scheme. This would also improve the embedded image quality of our scheme further.

Rate-distortion performance of the proposed scheme

We observe that the embedded images by our scheme remain visually imperceptible compared to the interpolated images. Fig 6 illustrates the visual quality of interpolated and embedded versions of Boat, Goldhill and Lena images for different values of the capacity controlling parameter, T. Although this comparison is shown here only for a few sample test images, similar visual quality is also obtained for the other test images. A quantitative illustration of the rate-distortion performance is presented in Tables 3 and 4 in terms of PSNR (in dB), SSIM and embedding capacity (in total bits and bpp).

thumbnail
Fig 6. Example of output images: (a) interpolated images, (b) embedded images for T = 6, (c) embedded images for T = 5, (d) embedded images for T = 4 and (e) embedded images for T = 3.

(Images in each row, from left: Boat, Goldhill and Peppers).

https://doi.org/10.1371/journal.pone.0212093.g006

thumbnail
Table 4. Performance comparison of the proposed scheme (contd.).

https://doi.org/10.1371/journal.pone.0212093.t004

As illustrated in Tables 3 and 4, our proposed scheme offers a relatively better-embedded image quality (i.e., the higher values of PSNR and SSIM) that gradually increases with the lower embedding rates and higher values of T. This is because, as mentioned in Section Proposed adaptive embedding, number of embeddable bits decreases (and respective embedded image quality improves), while T increases. Thus, a trade-off between the image quality and embedding rate is made with the adaptively chosen value of T, as explained in Algorithm 3, to obtain the best possible image quality for a given capacity requirement. Moreover, for similar embedding rates with a suitable value of T, our scheme is also observed to generate a better quality embedded image compared to that obtained by the schemes in [13, 15, 23, 25].

Particularly, unlike the schemes in [14] and [15], our scheme is modeled in Section Modeling our proposed IRDH scheme to avoid the use of flag bit. One more payload bit is rather embedded replacing the flag-bit in each embeddable pixel. This improvement of embedding rate and capacity with a better or almost similar embedded image quality becomes evident, while it is compared to [15] for the same values of T as in Figs 7 and 8. For example, with T = 4, our previous scheme [15] can embed up to 460611 bit payload with 1.76 bbp in Lena image, while the PSNR is 35.38 dB and SSIM is 0.6818; whereas, 656654 bit payload (2.51 bpp) with a better image quality (i.e., PSNR of 41.52 dB and SSIM of 0.8327) are embedded in our proposed scheme for the same value of T. This means that for a given value of T, our scheme achieves a higher embedding rate with improved image quality compared to the scheme in [15].

thumbnail
Fig 7. Embedding rate-distortion performance comparison of the proposed (without flag) scheme with our previous scheme (with flag) [15] for different values of T: (a) Bridge, (b) Baboon, (c) Barbara, (d) Boat, (e) Lena and (f) the average of all test-images.

https://doi.org/10.1371/journal.pone.0212093.g007

thumbnail
Fig 8. The average performance comparison of the proposed scheme with other schemes for different values of T in terms of (a) bpp, (b) PSNR, and (c) SSIM.

https://doi.org/10.1371/journal.pone.0212093.g008

For the higher embedding capacity requirement (i.e., lower values of T), our proposed scheme also demonstrates a better rate-distortion performance than the scheme in [15]. For instance, with T = 5 and Lena image, our proposed scheme embeds total 491740 bits with 1.88 bpp, PSNR of 46.88 dB and SSIM of 0.9352. In contrast, with T = 4 and Lena image, the scheme in [15] can embed total 460611 bits of payload with 1.78 bpp, PSNR of 35.38 dB and SSIM of 0.6818, which are lower than the proposed scheme. This trend of improvement is also evident for the other test images in Fig 7.

Statistically, the scheme in [15] achieves an average maximum capacity ranging from 291 Kb to 666 Kb, PSNR from 45.43 dB to 29.40 dB and SSIM from 0.96 to 0.65 for T = [3, 6]. In contrast, the average embedding capacity of our proposed scheme varies in the dynamic range from 393 Kb to 861 Kb payload (i.e., 1.50 bpp to 3.29 bpp) for the same range of the capacity control parameter, with PSNR and SSIM values ranging from 35.37 dB to 47.61 dB and 0.811 to 0.982, respectively. With T = 5, for example, this improvement is recorded with 53.9% higher embedding capacity, 13.67% higher PSNR, and 5.93% higher SSIM, which are illustrated for the all considered values of T in Fig 8. This suggests that our proposed scheme offers both the higher dynamic range of embedding capacity and better-embedded image quality for a given capacity requirement.

Nevertheless, our proposed scheme also outperforms the prominent IRDH schemes in [13, 23, 25] for the individual test images in Tables 3 and 4. These improvements become more apparent in the average performance given in Table 5 and Fig 8. For example, Table 5 demonstrates that Zhang et al.’s scheme [13] offers the best embedding rate-distortion performance among the schemes in [13, 23, 25], which can embed an average size payload of 585 Kb (or embedding rate of 2.234 bpp) with PSNR of 26.55 dB and SSIM of 0.898. For our proposed scheme, considering its closer embedding rate to that of Zhang et al.’s scheme, we see that an embedding rate of 2.551 bpp (total 668 Kb) is obtained with a better PSNR of 41.42 dB and SSIM of 0.9158 for T = 4. Thus with T = 4, our proposed scheme offers 14% higher embedding rate with 56% and 2% better PSNR and SSIM, respectively. Moreover, we also note that the requirement of either a higher capacity or a better image quality can be attained with a lower or higher value of T, respectively for our proposed IRDH scheme.

thumbnail
Table 5. Comparison of average rate-distortion performance.

https://doi.org/10.1371/journal.pone.0212093.t005

In summary, considering the computational efficiency and rate-distortion performance, our proposed IRDH scheme outperforms the existing IRDH schemes [13, 15, 23, 25]. For example, compared to our earlier scheme [15] (which is also better than the other three schemes, see Fig 8), the embedding capacity improvements are recorded 29%, 40%, 53% and 35% higher with 20%, 16.9%, 13.6% and 4.8% higher PSNR and 24.7%, 12.9%, 5.9% and 2.24% higher SSIM for T = 3, 4, 5 and 6, respectively. Thereby, the proposed scheme has demonstrated that it can effectively embed varying size payloads with the higher embedding rate and better image quality using a suitable capacity control parameter.

Conclusion

A new adaptive IRDH scheme is presented and its computational efficiency and rate-distortion performance are analyzed in this paper for varying size of payloads. We have developed the SPI technique and utilized it for computing interpolated pixels. We have defined the capacity condition for adaptive embedding and formulated a capacity control parameter to attain that condition. Embedding process is modeled to utilize the logical correlation between the embeddable pixel and estimated versions of an embedded pixel to increase the embedding capacity. Extraction is modeled to blindly extract the embedded payload and to completely recover the original image, where these two processes were kept mutually independent to ensure a better user control in an application scenario.

Experimental results have substantiated that our proposed scheme can effectively embed varying size payload with a significantly higher embedding rate and better image quality compared to the prominent IRDH schemes. Embedding is carried out only in the interpolated pixels that would also minimize any possible concern of erratically modifying the input image and thus the proposed scheme could be useful in the military and medical image applications. With the adoption of suitable base conversion and compression techniques, the embedding capacity of the proposed IRDH scheme, however, may be further improved in the future.

Supporting information

S1 File. Sample MATLAB scripts.

The given MATLAB scripts execute the proposed scheme with a set of given inputs, and write the statistical performance (in a Microsoft Excel file) and output images of the scheme.

https://doi.org/10.1371/journal.pone.0212093.s001

(ZIP)

References

  1. 1. Shi YQ, Li X, Zhang X, Wu HT, Ma B. Reversible data hiding: advances in the past two decades. IEEE Access. 2016;4:3210–3237.
  2. 2. Muhammad N, Bibi N, Mahmood Z, Akram T, Naqvi SR. Reversible integer wavelet transform for blind image hiding method. PloS one. 2017;12(5):e0176979. pmid:28498855
  3. 3. Abbasi A, Woo CS, Ibrahim RW, Islam S. Invariant Domain Watermarking Using Heaviside Function of Order Alpha and Fractional Gaussian Field. PloS one. 2015;10(4):e0123427. pmid:25884854
  4. 4. Iftikhar S, Khan S, Anwar Z, Kamran M. GenInfoGuard—A Robust and Distortion-Free Watermarking Technique for Genetic Data. PloS one. 2015;10(2):e0117717. pmid:25689741
  5. 5. Swati S, Hayat K, Shahid Z. A watermarking scheme for high efficiency video coding (HEVC). PloS one. 2014;9(8):e105613. pmid:25144455
  6. 6. Idbeaa T, Abdul Samad S, Husain H. A Secure and Robust Compressed Domain Video Steganography for Intra- and Inter-Frames Using Embedding-Based Byte Differencing (EBBD) Scheme. PLoS one. 2016;11(3):1–22.
  7. 7. Yamamoto N, Kajiura H, Takeno S, Suzuki N, Nakazawa Y. A watermarking system for labeling genomic DNA. Plant Biotechnology. 2014;31(3):241–248.
  8. 8. Jupiter DC, Ficht TA, Samuel J, Qin QM, De Figueiredo P. DNA watermarking of infectious agents: progress and prospects. PLoS pathogens. 2010;6(6):e1000950. pmid:20585560
  9. 9. Cox IJ, Miller ML, Bloom JA, Fridrich J, Kalker T. Models of Watermarking. In: Digital Watermarking and Steganography (Second Edition). Burlington: Morgan Kaufmann; 2008. p. 61–103.
  10. 10. Nyeem H, Boles W, Boyd C. Digital image watermarking: its formal model, fundamental properties and possible attacks. EURASIP Journal on Advances in Signal Processing. 2014;2014(1):135.
  11. 11. Fridrich J, Goljan M, Du R. Lossless data embedding-new paradigm in digital watermarking. EURASIP Journal on Applied Signal Processing. 2002; p. 185–196.
  12. 12. Celik MU, Sharma G, Tekalp AM, Saber E. Lossless generalized-LSB data embedding. IEEE Transactions on Image Processing. 2005;14(2):253–266. pmid:15700530
  13. 13. Zhang X, Sun Z, Tang Z, Yu C, Wang X. High capacity data hiding based on interpolated image. Multimedia Tools and Applications. 2016; p. 1–24.
  14. 14. Wahed MA, Nyeem H. Developing a block-wise interpolation based adaptive data embedding scheme. In: Proc. of ICEEICT 2016. IEEE; 2016. p. 1–6.
  15. 15. Wahed MA, Nyeem H. A Simplified Parabolic Interpolation based Reversible Data Hiding Scheme. In: Proc. of ICAEE 2017. IEEE; 2017. p. 743–748.
  16. 16. Tian J. Reversible data embedding using a difference expansion. IEEE Transactions on Circuits and Systems for Video Technology. 2003;13:890–896.
  17. 17. Alattar AM. Reversible watermark using the difference expansion of a generalized integer transform. IEEE Transactions on Image Processing. 2004;13:1147–1156. pmid:15326856
  18. 18. Sachnev V, Kim HJ, Nam J, Suresh S, Shi YQ. Reversible watermarking algorithm using sorting and prediction. IEEE Transactions on Circuits and Systems for Video Technology. 2009;19:989–999.
  19. 19. Lu TC, Chang CC, Huang YH. High capacity reversible hiding scheme based on interpolation, difference expansion, and histogram shifting. Multimedia tools and applications. 2014;72(1):417–435.
  20. 20. Coltuc D, Chassery JM. Very fast watermarking by reversible contrast mapping. IEEE Signal Processing Letters. 2007;14(4):255–258.
  21. 21. Thodi DM, Rodríguez J. Expansion embedding techniques for reversible watermarking. IEEE Transactions on Image Processing. 2007;16:721–730. pmid:17357732
  22. 22. Ou B, Li X, Wang J. High-fidelity reversible data hiding based on pixel-value-ordering and pairwise prediction-error expansion. Journal of Visual Communication and Image Representation. 2016;39:12–23.
  23. 23. Jung KH, Yoo KY. Data hiding method using image interpolation. Computer Standards & Interfaces. 2009;31(2):465–470.
  24. 24. Jung KH, Yoo KY. Steganographic method based on interpolation and LSB substitution of digital images. Multimedia Tools and Applications. 2015;74(6):2143–2155.
  25. 25. Lee CF, Huang YL. An efficient image interpolation increasing payload in reversible data hiding. Expert Systems with Applications. 2012;39(8):6712–6719.
  26. 26. Wang WJ, Zhang YH, Huang CT, Wang SJ. Steganography of Data Embedding in Multimedia Images Using Interpolation and Histogram Shifting. In: Proc of IIHMSP’13. IEEE; 2013. p. 387–390.
  27. 27. Chang YT, Huang CT, Lee CF, Wang SJ. Image interpolating based data hiding in conjunction with pixel-shifting of histogram. The Journal of Supercomputing. 2013;66(2):1093–1110.
  28. 28. Nyeem H, Boles W, Boyd C. Watermarking Capacity Control for Dynamic Payload Embedding. In: Recent Advances in Information and Communication Technology 2015. Springer; 2015. p. 143–152.
  29. 29. Malik A, Sikka G, Verma HK. An image interpolation based reversible data hiding scheme using pixel value adjusting feature. Multimedia Tools and Applications. 2016; p. 1–22.
  30. 30. Wang XT, Chang CC, Nguyen TS, Li MC. Reversible data hiding for high quality images exploiting interpolation and direction order mechanism. Digital Signal Processing. 2013;23(2):569–577.
  31. 31. Ma X, Pan Z, Hu S, Wang L. High-fidelity reversible data hiding scheme based on multi-predictor sorting and selecting mechanism. Journal of Visual Communication and Image Representation. 2015;28:71–82.
  32. 32. Fallahpour M, Megias D, Ghanbari M. Subjectively adapted high capacity lossless image data hiding based on prediction errors. Multimedia Tools and Applications. 2011;52(2-3):513–527.
  33. 33. Nyeem H, Boles W, Boyd C. A Review of Medical Image Watermarking Requirements for Teleradiology. J of Dig Imaging. 2013;26:326–343.
  34. 34. Parah SA, Ahad F, Sheikh JA, Loan NA, Bhat GM. A New Reversible and high capacity data hiding technique for E-healthcare applications. Multimedia Tools and Applications. 2017;76(3):3943–3975.
  35. 35. Coatrieux G, Lecornu L, Sankur B, Roux C. A review of image watermarking applications in healthcare. In: Proc. of IEEE EMBS’06. IEEE; 2006. p. 4691–4694.
  36. 36. Nyeem H, Boles W, Boyd C. Utilizing least significant bit-planes of RONI pixels for medical image watermarking. In: Proc. DICTA. IEEE; 2013. p. 1–8.
  37. 37. Nyeem H, Boles W, Boyd C. Content-independent embedding scheme for multi-modal medical image watermarking. Biomedical engineering online. 2015;14(1):7. pmid:25649491
  38. 38. Ono G, Inoue K, Hara K, Urahama K. Reversible data hiding using maximum and minimum filters for image interpolation. In: Consumer Electronics (GCCE), 2017 IEEE 6th Global Conference on. IEEE; 2017. p. 1–2.
  39. 39. Nyeem H, Boles W, Boyd C. Developing a digital image watermarking model. In: Proc. DICTA. IEEE; 2011. p. 468–473.
  40. 40. In: USC-SIPI database. University of Southern California (USC); http://sipi.usc.edu/database/ [Online: last accessed 23-Mar-2017].
  41. 41. Wang Z, Bovik AC, Sheikh HR, Simoncelli EP. Image quality assessment: From error visibility to structural similarity. IEEE Transactions Image Processing. 2004;13(4):600–612.