Next Article in Journal
A Comparative Study of MCDM Methods Integrated with Rapid Visual Seismic Vulnerability Assessment of Existing RC Structures
Next Article in Special Issue
Deep Learning Model with Transfer Learning to Infer Personal Preferences in Images
Previous Article in Journal
Towards an App to Estimate Patient-Specific Perioperative Femur Fracture Risk
Previous Article in Special Issue
Effective Privacy-Preserving Collection of Health Data from a User’s Wearable Device
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Genuine Reversible Data Hiding Technique for H.264 Bitstream Using Multi-Dimensional Histogram Shifting Technology on QDCT Coefficients

Department of Computer Science, Sangmyung University, Seoul 03016, Korea
*
Author to whom correspondence should be addressed.
Submission received: 31 July 2020 / Revised: 9 September 2020 / Accepted: 10 September 2020 / Published: 14 September 2020

Abstract

:
Video has become the most important medium for communication among people. Video has become the most important medium for communication among people. Therefore, reversible data hiding technologies for video have been developed so that information can be hidden in the video without damaging the original video in order to be used in the copyright protection and distribution field of video. This paper proposes a practical and genuine reversible data hiding method by using a multi-dimensional histogram shifting scheme on QDCT coefficients in the H.264/AVC bitstream. The proposed method defines the vacant histogram bins as a set of n-dimensional vectors and finds the optimal vector space, which gives the best performance, in a 4 × 4 QDCT block. In addition, the secret message is mapped to the optimal vector space, which is equivalent to embedding the information into the QDCT block. The simulation results show that the data hiding efficiency is the highest among the compared five existing methods. In addition, the image distortion and maximum payload capacity are measured quite high.

1. Introduction

With the fast and inexpensive network environment and the increasing distribution of digital content, there is growing concern about copyright infringement as well. One way to prevent copyright infringement is to hide copyright information such as copyright holders, camera source identification number, and distributors in the digital content, and then use the secretly hidden information as evidence when the content is illegally used later. Such copyright information may change from time to time for various reasons, so it must be deleted and rewritten again and again. However, information concealment using existing watermarking techniques can result in more or less damage to the original content. Thus, the copyright information is modified frequently, and the content quality is deteriorated accordingly. The reversible data hiding technique inserts and extracts data without compromising the original content. Therefore, if you use reversible data hiding technology to hide the copyright or distribution information in your content, there is no need to worry about the content damage caused by frequent information modifications. Moreover, since the copyright information tends to be large, which causes more damage to the content if a traditional watermarking technique is used, the reversible hiding technique is further required. The application fields are not limited to copyright protection. Images are used to monitor and visualize natural phenomena in various scientific research activities. Securing the originality and reliability of these images is also an important issue [1] and can be achieved by reversibly hiding time stamp or hash information.

2. Literature Review

Most reversible data hiding (RDH) algorithms are developed in either spatial or frequency domains. In the spatial domain, the difference expansion (DE) method proposed by Tian [2] and the histogram shifting (HS) method devised by Ni et al. [3] are known as two landmark works. The DE method doubles the difference between two neighboring pixel values and hides one secret bit in the least significant bit of the doubled difference. However, this method can cause fairly large distortions and requires a location map of data hiding positions. The HS method eliminated the need for the location map and significantly reduced distortion. The histogram of pixel values of a natural image has the peak bin and zero bin. A secret message is hidden in pixels corresponding to the peak bin and then all bins between the peak and zero bin are shifted toward the zero bin direction. The number of vacant bins created by shifting the histogram bins is proportional to the amount of data hiding, which is called payload, and distortion in the image. Hong et al. [4] improved the HS method in [3] by using a histogram of the prediction error of pixel value instead of pixel value itself. Both DE and HS methods are used in the frequency domain as well. Chang et al. [5] chose two successive zeros within the medium-frequency component region in an 8 × 8 quantized discrete cosine transform (QDCT) block as a place to hide data. In the JPEG image compression standard, QDCT coefficients are widely used data hiding places because QDCT coefficients are entropy-coded and then finally converted to bitstream without loss of information. Wang et al. [6] utilized the fact that a DCT value is equal to the scalar multiple of the corresponding QDCT value, where the scalar is determined by a quantization table. A specific position of the quantization table is divided by a constant k and then the corresponding QDCT value is multiplied by the same k to create k-array data hiding spaces. With this strategy, the image distortion is alleviated more or less.
Since video is an important and popular content format, RDH technology has been naturally applied to video contents, especially to H.264/Advanced Video Coding [7]. Liu et al. [8] embedded data only in 4 × 4 QDCT coefficients that were not used for intra prediction in order to avoid distortion propagation to other blocks and other frames. The mid and high frequency components in the selected blocks are used to embed data with the HS method. Gujjunoori et al. [9] embedded two bits into mid-frequency coefficients of an 8 × 8 QDCT block by considering the human visual system. The result showed that the payload is doubled compared to [5] with better subjective image quality, measured in the PSNR-HVS and PSNR-HVS-M metrics. Shaid et al. [10] suggested an approach similar to [8] to minimize error propagation due to the intra prediction mode. They found some solution patterns that do not affect the rightmost and the bottom seven pixels, which are used as predictors of the intra prediction. In addition, then, secret bits are hidden into nonzero positions in those solution patterns. However, those are located in the low frequency region instead of the medium frequency region, resulting in relatively high distortion in the stego video. Bouchama et al. [11] devised a mapping table that maps three bit long secret messages into four QDCT coefficient values in the mid-frequency region. With this approach, the data hiding capacity is increased, and PSNR is improved about 0.44 dB compared to the method in [9] that can hide two bits per 4 × 4 QDCT block. Kim et al. [12] hid the secret message in the same location as [11], but they was able to hide up to four bits per block and the number of hidable blocks increased compared to [11]. In addition, the distortion caused by data hiding is suppressed by the compensation effect that can happen in specific conditions. When the compensation occurs, there’s no distortion and file size increase due to data hiding. In addition, a novel concept of genuine RDH is proposed because the previous RDH methods embed data during the compression process and extract data during the decompression process. With this approach, the original video cannot be fully recovered because of the lossy compression characteristics of the H.264 standard, which leads to the unintended result of pseudo reversibility. Chen et al. [13] modified the last QDCT coefficient to minimize the impact on visual quality. Three bits can be embedded into one pair of coefficients, consisting of two last coefficients from different QDCT blocks. This approach can yield a fairly good PSNR, but the payload is small because at most three bits can be hidden in two blocks. Moreover, the size of the stego bitstream has been significantly increased due to the properties of the entropy coding algorithm.
Even though most reversible video data hiding technologies focus on high payload, low distortion, and small increase of compressed bitstream size, there are application-specific approaches. Ma et al. [14] applied the RDH technique to privacy protection of surveillance videos. The privacy region such as a person’s face is visually protected with full reversibility so that the privacy is protected under normal circumstances and, at the same time, full information is available to law enforcement. As part of privacy protection, RDH methods in encrypted video have been conducted recently. In [15], specific code words substitution method is used for three important syntax elements including DCT coefficients of an encrypted H.264 video. Yao et al. [16] theoretically analyzed the picture distortion caused by data embedding and inter-frame distortion drift. Xu [17] proposed a way of hiding data in a partially encrypted HEVC video using the coefficient modulation method. In recent years, many techniques used in H.263 have also been applied to HEVC standard [18] in [19,20].
Most previous works are pseudo reversible and not practical. Since most videos are distributed in a compressed form, it is desirable to utilize H.264 bitstream as a cover video as in [12,14]. In this paper, we propose a genuine RDH technique that utilize a histogram shifting method on mid-frequency QDCT coefficients. The composition of this paper is as follows: Section 3 explains the proposed algorithm of reversible data hiding and extraction, Section 4 explains the experimental environment and results, and Section 5 discusses and presents conclusions on the findings of simulation and its implications.

3. The Proposed Method

The overall reversible data hiding and extraction process shown in Figure 1 adapted the genuine method proposed in [12]. First, the cover H.264 bitstream compressed by an H.264 encoder is decompressed until the QDCT coefficients are obtained. Second, some secret message is embedded in certain positions in the QDCT block so that some QDCT coefficients are modified causing image distortion. Finally, the modified blocks are re-compressed to make a stego H.264 bitstream. The data extraction process is reversed. The stego bitstream is the input to the extraction process, and the fully recovered H.264 bitstream and the extracted secret message are the output.

3.1. Hidable QDCT Block Identification

Network Adaptation Layer units containing an I slice or P slice include a macroblock header and residual data, which are converted into 4 × 4 or 8 × 8 QDCT blocks during the decompression process. Only 4 × 4 blocks are used for data hiding, while 8 × 8 blocks are skipped. One 4 × 4 QDCT block has 16 transform coefficients as shown in Figure 2 and it can be represented as a set of 16 elements denoted by R = { r i i = 1 , 2 , , 16 } . In addition, the secret message to be hidden in R also can be denoted by a set S = { s i i Z + } . Since the information of R corresponds to the residual image after performing the prediction and motion estimation processes, the influence on the image distortion due to the coefficient modification of R may not be large. However, recognizing the fact that the distortion of the current frame can easily propagate to the next frames according to the H.264 compression method, the coefficient modification should be minimized.
Identifying QDCT blocks that are able to hide the secret data are the first step in the proposed RDH technique. Thus, let us define an expandable block as R e = { r i R r 11 16 = 0 } in order to select QDCT blocks with less complex textual patterns in the spatial domain. R e is defined in this way because the human visual system is more sensitive to images with high frequency components than images with low frequency components. The expandable blocks are histogram shifted and some of them become hideable blocks R h , in which the secret message is actually hidden. The definition of R h changes according to histogram shifting thresholds and data hiding locations. Let’s assume that m consecutive bits of the secret message are hidden in one single R h . We need at least 2 m histogram vacant bins to accommodate m bits. According to the result of [11,12], the most appropriate positions for the data hiding are r 7 through r 10 , taking into account the three main objectives of a RDH technology: larger payload, less distortion, and smaller bitstream increase. In this medium frequency range, the results are generally not biased between the aforementioned three contradictory goals. Thus, the hideable block is defined as R h = { r i R e r 7 10 = 0 } because r 7 10 = 0 usually constitutes the peak bin of a 4-dimensional histogram with axes r 7 through r 10 .

3.2. Multi-Dimensional Histogram Shifting Method

The four-dimensional histogram is generated by counting the values of r 7 through r 10 of all R e blocks. The blocks corresponding to the peak bin are selected as R h in order to efficiently vacate adjacent bins to hide the secret message. The histogram is shifted toward zero bins along the four axes by the positive threshold T p in the positive direction and the negative threshold T n in the negative direction, respectively. As a result, the number of vacant bins N b = ( T p T n + 1 ) 4 is proportional to both the number of chosen r i s, which is fixed to 4 in this proposed method, and the threshold levels. Even though all the vacant bins can be used to hide secret data theoretically, some bins are not profitable because they may distort the stego image more than others. Therefore, a more sophisticated approach is needed to effectively hide the secret message in empty histogram bins.
There are several rules to hide the secret data into QDCT coefficients. First, m consecutive bits of secret data are hidden in the first R h and the next m consecutive bits in the next R h . This rule helps to increase the hiding capacity according to the Pigeonhole principle because all R h s with the same capacity are assigned the same amount of secret data. The selected r i s used to hide the data should be consecutive in zigzag scan order as shown in Figure 2, and minimum numbers of them have nonzero values after data hiding. By doing so, the modified QDCT coefficients r i s are likely to have successive zero values, which is advantageous for making short entropy code length and less stego bitstream increase accordingly. In this paper, we chose r 7 to r 10 for data hiding and represented them as a vector r = ( r 7 , r 8 , r 9 , r 10 ) . If we define all possible values of r as the vector space V, the vacant bins are a subspace of V and called vacant bin space V v . The space V v depends on ( T n , T p ) and is defined as in Equation (1):
V v = { r T n r 7 10 T p }
However, the only a portion of V v is used for data hiding in order to reduce image distortion and the stego bitstream size at the cost of payload reduction. Thus, an m-sized data chunk should be embedded in a coded fashion to achieve relatively good video quality. For example, if ‘1111’ data are embedded in R h as it is, then r = ( 1 , 1 , 1 , 1 ) is filled, causing a severe distortion by modifying r = ( 0 , 0 , 0 , 0 ) to r = ( 1 , 1 , 1 , 1 ) . However, if ‘1111’ is embedded into r = ( 1 , 0 , 0 , 0 ) in a coded way, then the effect is relatively small. We also can define the subspace V u in V as in Equation (2), which is used to hide data:
V u = { r r max ( | T n | , | T p | ) , r = k r b i , T n k T p }
where k is integer and r b i is standard basis vectors that span V. Since the dimension of V is four, there are four r b i s: r b 1 , r b 2 , r b 3 and r b 4 . The size of V u , or | V u | , is proportional to the embedding capacity of a single R h and can be calculated using Equation (3):
| V u | = 4 ( T p T n ) + 1
The smaller the norm of r , or r , the less image distortion. For example, if ( T n , T p ) = ( 0 , 1 ) , then V v = { ( 0 , 0 , 0 , 0 ) , ( 0 , 0 , 0 , 1 ) , , ( 1 , 1 , 1 , 0 ) , ( 1 , 1 , 1 , 1 ) } and | V v | = N b = ( 1 0 + 1 ) 4 = 16 . The set of used vacant histogram bins is V u = { ( 0 , 0 , 0 , 0 ) , ( 0 , 0 , 0 , 1 ) , ( 0 , 0 , 1 , 0 ) , ( 0 , 1 , 0 , 0 ) , ( 1 , 0 , 0 , 0 ) } and the number of the elements of the set is | V u | = 5 . If ( T n , T p ) = ( 1 , 2 ) , then | V u | = 13 and V u = { ( 0 , 0 , 0 , 0 ) , ( 0 , 0 , 0 , 1 ) , ( 0 , 0 , 1 , 0 ) , ( 0 , 1 , 0 , 0 ) , ( 1 , 0 , 0 , 0 ) , ( 0 , 0 , 0 , 1 ) , ( 0 , 0 , 1 , 0 ) , ( 0 , 1 , 0 , 0 ) , ( 1 , 0 , 0 , 0 ) , ( 0 , 0 , 0 , 2 ) , ( 0 , 0 , 2 , 0 ) , ( 0 , 2 , 0 , 0 ) , ( 2 , 0 , 0 , 0 ) } . Since the secret message can be mapped to these used vacant bins, the payload capacity of R h is determined by Equation (4):
C a p ( R h ) = log 2 | V u | , [ b i t s ]
For instance, if ( T n , T p ) = ( 1 , 1 ) , then C a p ( R h ) = 3.17 bits meaning that we can hide 3.17 bits per R h . Thus, three bits are always hidden in a R h and sometimes four bits can be hidden as shown in Table 1. According to Table 1, the R h can hide four bits when the data chunk of S contains ‘1110’ or ‘1111’. The one-to-one correspondence table depends on ( T n , T p ) , so the specific mapping rule should be designed accordingly. The proposed HS method can cause QDCT coefficient overflow. Considering that the QP value ranges from 10 to 40 in practice, it is reasonable to assume that there are no overflow issues.

3.3. Reversible Data Hiding and Extraction Algorithms

For a better understanding, the overall data embedding and extraction algorithms are summarized in the following Algorithms 1 and 2.
Algorithm 1: Data Embedding Algorithm and Procedure.
Input: H.264/AVC compressed cover bitstream B, secret message S and threshold ( T n , T p ) .
Output: H.264/AVC compressed stego bitstream B .
Step 1 Calculate the used vacant bin space V u using Equation (2).
Step 2 Prepare a one-to-one correspondence table from the data chunk of S to V u .
Step 3 Decode B and find the first QDCT block R.
Step 4 Restore coefficient values of the R.
Step 5 Determine if the R is a expandable block R e .
Step 5-1 If yes, the  r of R e is shifted by ( T n , T p ) to make vacant histogram bins.
Step 6 Determine if the R e can be classified as R h .
Step 6-1 If yes, map the data chunk of S to corresponding element of V u .
Step 6-2 If yes, replace the r of R h with the mapped element.
Step 7 Restore coefficient values of the next R from the.
Step 8 Go to step 5 until all R blocks are processed.
Algorithm 2: Data Extraction Algorithm and Procedure.
Input: H.264/AVC compressed stego bitstream B and threshold ( T n , T p ) .
Output: H.264/AVC compressed restored bitstream B and secret message S.
Step 1 Calculate the used vacant bin space V u using Equation (2).
Step 2 Prepare a one-to-one correspondence table from V u to the data chunk of S.
Step 3 Decode B and find the first QDCT block R.
Step 4 Restore coefficient values of the R.
Step 5 Determine if the R is a hidable block R h .
Step 5-1 If yes, extract the secret message S using the r of R h and the mapping table prepared in Step 2.
Step 5-2 If yes, set the r of R h to the zero vector.
Step 6 Determine if the R is a hidable block  R h .
Step 6-1 If yes, the  r of R h is shifted backward by ( T n , T p ) to remove vacant histogram bins.
Step 7 Restore coefficient values of the next R from B .
Step 8 Go to Step 5 until all R blocks are processed.

4. Simulation Results

We implemented the proposed method based on the H.264/AVC JM-18 reference software [21]. Totally, eight 352 × 288 -sized video sequences of 300 frames were used for the simulation, including bridges(closed), Cost Guard, Foreman, Hall Monitor, Mobile, Mother, News, and Akiyo. JM-18 software configuration parameters were set to the baseline profile, 30 frames/second, and intra update period of 30 frames (i.e., group of frame IPPP…) with both CAVLC entropy and RD optimization mode on. As an indicator of video quality distortion, we used the peak signal-to-noise ratio (PSNR) between the compressed video B and the stego video B . The payload per frame (PPF) index was used to measure the payload capacity of the algorithm. PPF is calculated by dividing the amount of hidden payload by the number of frames in the cover video. If the PPF value is large, it means that the payload performance is good. Meanwhile, the file increase per payload (FPP) index is used to measure the file growth effect after data embedding. FPP is the difference in file size before and after data hiding divided by the amount of hidden payload. Smaller FPP means good data hiding efficiency.

4.1. Searching for the Optimal Subspace V u

There exist many V u spaces because V u can vary depending on relevant parameters as described in Equation (2). Thus, it is necessary to compare the performance of various V u s to find out the optimal one. First, the difference between symmetric and asymmetric histogram shifting is investigated as shown in Table 2. Four asymmetric threshold cases ( T n , T p ) = ( 0 , 1 ) , ( 1 , 0 ) , ( 1 , 2 ) , ( 2 , 1 ) are tested to measure the three main performances of the proposed method. We appended the letter S to ( T n , T p ) in order to indicate that the histogram is symmetrically shifted, even though the threshold is set to asymmetric. Therefore, the r of R e is not respectively shifted by | T p | in the positive direction and by | T n | in the negative direction, but shifted equally by max ( | T n | , | T p | ) in both directions. However, the V u of ( T n , T p ) S is the same as ( T n , T p ) according to Equation (2). For example, r is shifted by 1 equally in the positive and negative directions for ( T n , T p ) = ( 1 , 0 ) S and by 1 in the negative direction only for ( T n , T p ) = ( 1 , 0 ) while their used vacant bin spaces V u = { ( 1 , 0 , 0 , 0 ) , ( 0 , 0 , 0 , 1 ) , ( 0 , 0 , 1 , 0 ) , ( 0 , 1 , 0 , 0 ) , ( 1 , 0 , 0 , 0 ) } are the same. The PPF is set to the same amount to clearly compare the PSNR and FPP performances. All the nine sequences are simulated and the average values are written in Table 2. The symmetric shifting always shows better performance in PSNR than the asymmetric one. However, the results of FPP are reverse. The interim result from Table 2 is that the symmetric shifting method gives better image quality, and poorer file size increases at the same amount of payload. This is because natural image quality deteriorates significantly when asymmetric frequency components are introduced synthetically. Thus, we will adapt the symmetric shifting to achieve a higher PSNR. From now on, we will compare the performance differences for various V u s as depicted in Table 3. We also investigated four cases of histogram shifting thresholds for all test sequences. Specifically, four cases ( T n , T p ) = ( 1 , 0 ) S , ( 1 , 1 ) , ( 2 , 1 ) S , ( 2 , 2 ) were tested, and the average values are recorded. We intentionally made the payload the same for the same QP value to tell which V u provides better PSNR and FPP performance. It is quite clear that the ( T n , T p ) = ( 1 , 1 ) case reports the best PSNR and FPP at the same time, and we will use the corresponding V u as the optimal space.

4.2. Performance Comparison with Existing Methods

The performance of the proposed method is measured for PSNR, PFF, and FPP as before. The simulation results of the proposed method are compared with those of [10,11,12,13] as shown in Table 4. The performance of [10,11,13] is much lower than the proposed method just because the pseudo RDH method is used, apart from their own algorithms. For fair comparison, the genuine RDH method suggested in [12] is applied to those methods. In Figure 3, the tenth stego video frames of the ’Hall monitor’ sequence at Q P = 30 are displayed to compare image quality. From a perspective of image distortion, the overall comparison is illustrated in Figure 4a and Chen et al.’s method [13] achieves the highest average PSNR of 36.41 dB as we expected. The second highest is the proposed one at 29.76 dB. From the viewpoint of capacity, Kim et al.’s method [12] can hide the largest payload at 5974 bits per frame and the second highest is the proposed one at 4273 as shown in Figure 4b. On the other hand, the PPF of [13] is 1924, which is the smallest among the five methods and less than half of the proposed methods. Finally, the file size increase due to a data embedment is a very important performance factor as it implies how compatible the algorithm is with the H.264 standard. From the graph in Figure 4c, the proposed method shows the lowest ratio at 2.30, which is much better than 2.72 and 2.95 achieved by [12,13], respectively. Therefore, the proposed method is 18.3% more efficient than other methods for most test sequences.

5. Discussion

There are three main contributions of the paper. First, we proposed the generalized multi-dimensional HS method for H.264 bitstream. It should be also noticed that the method by [11] can be considered as a special case of the proposed method. As a result of generalization, it is possible to flexibly change the data embedding capacity by changing ( T n , T p ) and V u as needed. On top of the flexibility, we can estimate the PSNR, PFF, and FPP by calculating the norm of V u elements and the size of V u that is nice to design the subspace V u . Second, we found an optimal V u through a number of simulations. However, finding the optimal V u is closely related to performance, so there is still room for improvement if you devise a more sophisticated algorithm. Third, the proposed algorithm achieved best data hiding efficiency while maintaining quite good image quality and maximum payload capacity. The method by Chen et al. [13] shows good image quality but embeds the smallest amount of payload among the compared methods. The method by Kim et al. [12] hides the largest amount of secret messages, but the image quality is moderate and coding efficiency is on the lower side. Overall, the proposed method gave the best results in one of the three performances measured, and the top in two. Therefore, it can be said that the proposed method is the best. In fact, considering the situation in which RDH technology has evolved considerably, it is not easy to develop an algorithm with the best performance in all fields. Therefore, it is necessary for future research to define an application field first, and then develop a method suitable for it.

Author Contributions

Conceptualization, S.-u.K.; Data curation, J.K.; Formal analysis, H.K.; Investigation, J.K.; Methodology, S.-u.K.; Project administration, S.-u.K.; Software, J.K. and H.K.; Writing—original draft, S.-u.K. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the National Research Foundation of Korea grant funded by Korea government (NRF-2018R1A2B6006754).

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

References

  1. Sapuppo, F.; Llobera, A.; Schembri, F.; Intaglietta, M.; Cadarso, V.J.; Bucolo, M. A polymeric micro-optical interface for flow monitoring in biomicrofluidics. Biomicrofluidics 2010, 4, 1–13. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  2. Tian, J. Reversible data embedding using a difference expansion. IEEE Trans. Circ Syst. Video Technol. 2003, 13, 890–896. [Google Scholar] [CrossRef] [Green Version]
  3. Ni, Z.; Shi, Y.Q.; Ansari, N.; Su, W. Reversible data hiding. IEEE Trans. Circuits Syst. Video Technol. 2006, 16, 354–362. [Google Scholar]
  4. Hong, W.; Chen, T.S.; Shiu, C.W. Reversible data hiding for high quality images using modification of prediction errors. J. Syst. Softw. 2009, 82, 1833–1842. [Google Scholar] [CrossRef]
  5. Chang, C.C.; Lin, C.C.; Tseng, C.S.; Tai, W.L. Reversible hiding in DCT-based compressed images. Inf. Sci. 2007, 177, 2768–2786. [Google Scholar] [CrossRef]
  6. Wang, K.; Lu, Z.M.; Hu, Y.J. A high capacity lossless data hiding scheme for JPEG images. J. Syst. Softw. 2013, 86, 1965–1975. [Google Scholar] [CrossRef]
  7. Wiegand, T.; Sullivan, G.J.; Bjontegaard, G.; Luthra, A. Overview of the H.264/AVC video coding standard. IEEE Trans. Circuits Syst. Video Technol. 2003, 13, 560–576. [Google Scholar] [CrossRef] [Green Version]
  8. Liu, Y.; Ju, L.; Hu, M.; Ma, X.; Zhao, H. A robust reversible data hiding scheme for H.264 without distortion drift. Neurocomputing 2015, 151, 1053–1062. [Google Scholar] [CrossRef]
  9. Gujjunoori, S.; Amberker, B.B. DCT based reversible data embedding for MPEG-4 video using HVS characteristics. J. Inf. Secur. Appl. 2013, 18, 157–166. [Google Scholar] [CrossRef]
  10. Shahid, Z.; Puech, W. A histogram shifting based RDH scheme for H. 264/AVC with controllable drift. In Proceedings of the Media Watermarking, Security, and Forensics 2013 SPIE, Burlingame, CA, USA, 5–7 February 2013; pp. 267–275. [Google Scholar]
  11. Bouchama, S.; Aliane, H.; Hamami, L. Reversible data hiding scheme for the H.264/AVC codec. In Proceedings of the 2013 International Conference on Information Science and Applications (ICISA), Suwon, Korea, 24–26 June 2013; pp. 1–4. [Google Scholar]
  12. Kim, H.; Kang, S. Genuine reversible data hiding technology using compensation for H.264 bitstreams. Multimed Tools Appl. 2018, 77, 8043–8060. [Google Scholar] [CrossRef]
  13. Chen, Y.; Wang, H.; Wu, H. Reversible video data hiding using zero QDCT coefficient-pairs. Multimed Tools Appl. 2019, 78, 23097–23115. [Google Scholar] [CrossRef] [Green Version]
  14. Ma, X.J.; Yang, L.T.; Xiang, Y.; Zeng, W.K.; Zou, D.; Jin, H. Fully Reversible Privacy Region Protection for Cloud Video Surveillance. IEEE Trans. Cloud Comput. 2017, 5, 510–522. [Google Scholar] [CrossRef]
  15. Xu, D.W.; Wang, R.D.; Shi, Y.Q. An improved scheme for data hiding in encrypted H.264/AVC videos. J. Vis. Commun. Image Represent. 2016, 36, 229–242. [Google Scholar] [CrossRef]
  16. Yao, Y.Z.; Zhang, W.M.; Yu, N.H. Inter-frame distortion drift analysis for reversible data hiding in encrypted H.264 AVC Video bitstreams. Signal Process. 2016, 128, 531–545. [Google Scholar] [CrossRef]
  17. Xu, D. Data hiding in partially encrypted HEVC video. ETRI J. 2020, 42, 446–458. [Google Scholar] [CrossRef] [Green Version]
  18. Sullivan, G.J.; Ohm, J.R.; Han, W.J. Overview of the high efficiency video coding (HEVC) standard. IEEE Trans. Circuits Syst. Video Technol. 2012, 22, 1649–1668. [Google Scholar] [CrossRef]
  19. Long, M.; Peng, F.; Li, H. Separable reversible data hiding and encryption for HEVC video. J. Real Time Image Pract. 2018, 14, 171–182. [Google Scholar] [CrossRef]
  20. Yang, J.; Li, S. An efficient information hiding method based on motion vector space encoding for hevc. Multimed Tools Appl. 2017, 1–23. [Google Scholar]
  21. Tourapis, A.M.; Leontaris, A.; Suhring, K.; Sullivan, G. H.264/14496-10 AVC Reference Software Manual, Doc. JVT-AE010. 2009.
Figure 1. The overall reversible data hiding and extraction process.
Figure 1. The overall reversible data hiding and extraction process.
Applsci 10 06410 g001
Figure 2. The representation of 4x4 QDCT coefficients.
Figure 2. The representation of 4x4 QDCT coefficients.
Applsci 10 06410 g002
Figure 3. Tenth frame of the Hall monitor video sequence encoded with QP = 30 after data hiding up to full payload. (a) The original video; (b) The proposed stego video; (c) The stego video of [13]; (d) The stego video of [12]; (e) The stego video of [11]; (f) The stego video of [10].
Figure 3. Tenth frame of the Hall monitor video sequence encoded with QP = 30 after data hiding up to full payload. (a) The original video; (b) The proposed stego video; (c) The stego video of [13]; (d) The stego video of [12]; (e) The stego video of [11]; (f) The stego video of [10].
Applsci 10 06410 g003
Figure 4. Comparison between our proposed method (P) and the methods of [10,11,12,13].
Figure 4. Comparison between our proposed method (P) and the methods of [10,11,12,13].
Applsci 10 06410 g004
Table 1. An example of a one-to-one correspondence table from the data chunk of S to V u .
Table 1. An example of a one-to-one correspondence table from the data chunk of S to V u .
S r S r S r
000(0,0,0,0)011(0,1,0,0)110(0,0,−1,0)
001(0,0,0,1)100(1,0,0,0)1110(0,−1,0,0)
010(0,0,1,0)101(0,0,0,−1)1111(−1,0,0,0)
Table 2. The performance comparison between symmetric and asymmetric histogram shifting.
Table 2. The performance comparison between symmetric and asymmetric histogram shifting.
( T n , T p ) PSNR (dB)PPF (Bits/Frame)FPP
282624222826242228262422
(0,1)S20.8721.9623.0827.0228803165370543012.82.92.93.0
A19.5620.3221.1924.4528803165370543012.52.62.62.6
(−1,0)S19.6421.5623.5324.3728803165370543012.82.92.93.0
A18.4120.0021.5522.3128803165370543012.62.62.72.7
(−1,2)S22.7523.3824.4428.0046365094596469242.42.52.52.6
A21.2821.9122.8126.2246365094596469242.42.42.42.5
(−2,1)S21.2823.7425.9326.3646365094596469242.52.62.62.7
A20.0322.1523.8824.2046365094596469242.42.52.52.6
S: Symmetric shifting, A: Asymmetric shifting.
Table 3. The performance comparison between various V u s.
Table 3. The performance comparison between various V u s.
QPPSNR (dB)PPF (Bits/Frame)FPP
2822.5932.9526.1129.728468468468462.792.292.462.50
2624.2534.8327.8231.1110741074107410742.902.352.562.58
2426.0935.0429.8831.6813511351135113512.922.372.582.61
1226.5536.5729.9333.7016101610161016103.022.442.712.72
①: ( T n , T p ) = ( 1 , 0 ) S , ②: ( T n , T p ) = ( 1 , 1 ) , ③: ( T n , T p ) = ( 2 , 1 ) S , ④: ( T n , T p ) = ( 2 , 2 ) .
Table 4. Comparison between our proposed method(P) and the methods of [10,11,12,13].
Table 4. Comparison between our proposed method(P) and the methods of [10,11,12,13].
VideoPerformanceMethodQPAverage
30282624
Bridge (close)PSNR (dB)P28.6330.7530.9232.3930.67
[13]34.1635.1635.0636.2135.15
[12]27.9029.5431.8631.0830.10
[11]25.8327.2329.6832.0528.70
[10]22.9723.3624.0822.6123.25
PPFP18011812189142312434
(bits/frame)[13]10331368170726711695
[12]26752809300661303655
[11]17291739181540602335
[10]12411655207331022018
FPPP2.492.602.682.472.56
[13]2.272.162.122.262.20
[12]2.972.962.962.982.97
[11]2.612.722.802.592.68
[10]2.362.282.252.442.33
CoastguardPSNR (dB)P24.1727.0729.1431.0127.85
[13]33.4735.6635.8238.4335.84
[12]25.0225.8828.1730.4927.39
[11]23.2623.1626.6629.3825.61
[10]19.0319.2420.3820.5219.79
PPFP87259158913787858951
(bits/frame)[13]31854184512560764642
[12]11,67213,05513,93414,13313,199
[11]83728787876784298589
[10]43845616665675306047
FPPP2.122.242.412.542.33
[13]2.822.592.392.222.50
[12]2.892.892.902.912.90
[11]2.232.352.522.652.44
[10]3.052.972.932.882.96
ForemanPSNR (dB)P26.1227.9930.4930.8628.87
[13]33.5035.9836.2038.7136.10
[12]27.1726.7630.2231.1328.82
[11]24.2024.0528.1830.9026.83
[10]22.4123.4024.5124.6723.74
PPFP42465409651977165972
(bits/frame)[13]10511521206927941859
[12]53796961854810,2297779
[11]40745190625574045731
[10]7321139166823781479
FPPP2.232.252.272.272.25
[13]3.152.992.842.732.93
[12]3.033.013.002.983.01
[11]2.362.372.392.392.38
[10]2.972.932.872.802.89
Hall monitorPSNR (dB)P25.8828.9729.5530.4528.71
[13]34.8435.7036.1437.8536.13
[12]27.1626.7928.8429.5928.09
[11]25.2825.2128.6530.1527.32
[10]20.3521.2922.3421.8021.44
PPFP17352522367854473346
(bits/frame)[13]492749115118521061
[12]22463293485672354408
[11]16642420352952273210
[10]3745969831704914
FPPP2.182.192.222.222.20
[13]2.872.822.762.722.79
[12]2.932.932.932.922.93
[11]2.282.292.322.312.30
[10]3.423.303.183.053.24
MobilePSNR (dB)P28.9830.3532.3935.0131.68
[13]32.7534.3535.1937.1934.87
[12]26.9128.6931.4832.9530.01
[11]26.5328.6530.9233.8229.98
[10]22.1621.8123.7723.7222.87
PPFP78107793737368557458
(bits/frame)[13]31454108491956664459
[12]10,89311,41611,28610,67711,068
[11]74947478707465777156
[10]33164372523959924730
FPPP2.352.452.562.592.49
[13]2.322.162.041.982.13
[12]2.932.912.902.872.90
[11]2.452.542.652.672.58
[10]2.922.812.702.602.76
MotherPSNR (dB)P28.1028.4029.6430.6529.20
[13]36.8337.4638.0939.3737.94
[12]29.2528.8231.9933.2530.83
[11]26.8026.4629.4931.0728.46
[10]26.6325.9526.1226.0326.18
PPFP16182174281736522565
(bits/frame)[13]335481658911596
[12]19662661348145473164
[11]15532086270335042461
[10]195321482689422
FPPP2.152.132.132.142.14
[13]3.633.503.393.323.46
[12]3.033.012.992.983.01
[11]2.272.262.252.262.26
[10]3.002.932.892.842.92
NewsPSNR (dB)P28.1229.8230.7631.4330.03
[13]35.9336.2737.7039.2237.28
[12]28.2128.0130.9832.8730.02
[11]25.7926.6128.7831.5728.19
[10]25.1422.9824.4825.7924.60
PPFP16391953225826022113
(bits/frame)[13]477622780982715
[12]21132559300034872790
[11]15731874216724972027
[10]408547701889636
FPPP2.172.202.242.242.21
[13]2.902.772.722.642.76
[12]2.932.932.942.922.93
[11]2.282.312.342.342.32
[10]3.553.453.363.273.41
AkiyoPSNR (dB)P30.1828.9133.5431.7631.10
[13]35.3738.7940.0237.8138.00
[12]29.6928.8532.7633.1031.10
[11]27.4226.6530.7031.3529.03
[10]24.1125.1026.5628.0525.96
PPFP8471175149118771348
(bits/frame)[13]197291404559362
[12]10701497192224411732
[11]8131128143118011293
[10]145225330470293
FPPP2.192.212.232.232.21
[13]3.073.002.932.862.97
[12]3.002.992.992.972.99
[11]2.312.322.332.332.33
[10]3.923.923.983.933.94

Share and Cite

MDPI and ACS Style

Kang, J.; Kim, H.; Kang, S.-u. Genuine Reversible Data Hiding Technique for H.264 Bitstream Using Multi-Dimensional Histogram Shifting Technology on QDCT Coefficients. Appl. Sci. 2020, 10, 6410. https://0-doi-org.brum.beds.ac.uk/10.3390/app10186410

AMA Style

Kang J, Kim H, Kang S-u. Genuine Reversible Data Hiding Technique for H.264 Bitstream Using Multi-Dimensional Histogram Shifting Technology on QDCT Coefficients. Applied Sciences. 2020; 10(18):6410. https://0-doi-org.brum.beds.ac.uk/10.3390/app10186410

Chicago/Turabian Style

Kang, Jinwoo, Hyunjung Kim, and Sang-ug Kang. 2020. "Genuine Reversible Data Hiding Technique for H.264 Bitstream Using Multi-Dimensional Histogram Shifting Technology on QDCT Coefficients" Applied Sciences 10, no. 18: 6410. https://0-doi-org.brum.beds.ac.uk/10.3390/app10186410

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop