Analysis of Information Hiding Techniques in HEVC. Multimedia Processing EE 5359 spring 2015 Advisor: Dr. K. R. Rao Department of Electrical Engineering University of Texas, Arlington Rahul Ankushrao Kawadgave 1001124353 rahul.kawadgave@mavs.uta.edu
Table of Contents Acronym:... Goal:... Overview of HEVC:... Overview of Information Hiding:... Different forms and applications of Information Hiding:... Approach:... Manipulation on Nonzero DCT Coefficient.... Results:... Conclusion:... References:...
Acronym: CTU CU DCT FSS GOP HD HEVC HM ITU ITU-T JCT-VC LSB MB ME ME MPEG PU RDO TB TBD : Coding Tree Unit : Coding Unit : Discrete Cosine Transform : Four steps search : Group of Pictures : High Definition : High Efficiency Video Coding : HEVC Test Model : International Télécommunication Union : ITU Télécommunication Standardisation Sector : Joint Collaborative Team on Video Coding : Least Significant Bit : Macro Block : Matrix Encoding : Motion Estimation : Moving Picture Experts Group : Prediction Unit : Rate Distortion Optimization : Transform Block : To be done
Goal: Information hiding refers to the process of inserting information into a host to serve specific purpose(s)[2]. Information hiding has its several forms and different applications, and techniques for implementation. High Efficiency Video Coding (HEVC) [1] is new standard for video coding, where information hiding techniques are still under study. Some research has already shown techniques for information hiding that can be applied to HEVC [1], also several new techniques in future can be applied. In this project, plan is to analyze information hiding technique based on manipulating nonzero DCT (discrete cosine transform) *20+ coefficients based on the transform block size in all slices using local setup created for HEVC[1] using HM[15] software and share the results. Overview of HEVC: High Efficiency Video Coding (HEVC)[1] is currently the newest video coding standard of the ITU-T Visual Coding Experts Group and the ISO/IEC Moving Picture Experts Group. The main goal of the HEVC[1] standardization effort is to enable significantly improved compression performance relative to existing standards in the range of 50% bit-rate reduction for equal perceptual video quality. Figure1 provides an overview of the of the encoder of HEVC[1] standard. Figure1: Typical HEVC[1] video encoder (with decoder modeling elements shaded in light gray). Figure 1: HEVC Encoder Block Diagram (with decoder components modeling in light gray) [1]
Overview of Information Hiding: Information hiding refers to the process of inserting information into a host to serve specific purpose(s).[2] Currently, with the existence of broadband Internet service and ubiquitous network coverage through a cellular data plan, video can be conveniently downloaded and broadcast through social networking services such as YouTube, Facebook, and Twitter. Therefore, there are various needs to manage and/or protect the vast number of videos including: 1) tracking illegal distribution of copyrighted video to secure business revenue; 2) hyperlinking related contents while ensuring the hyperlink information always stays intact with the video to enhance user experiences; and 3) monitoring video broadcasts and Internet distributions to generate reports regarding when, where, and how many times a video has been aired/streamed. Information hiding is one of the possible solutions to serve the aforementioned needs. It refers to the process of inserting information into a host to achieve certain features or to serve specific purposes. The components of information hiding are summarized in Figure 2. Here, the information is external to the content (e.g., ownership information and secret message) or deduced from the content (e.g., checksum and hash value). The information is inserted into the host by means of modifying part(s) of the host based on the representation scheme in use and a key so that the output (i.e., content + inserted information as a single unit) satisfies the imposed properties and requirements. These properties include high perceptual quality, reversibility, secrecy of the inserted information, etc.[2] Figure 2 shows the general framework for information hiding. Figure 2: General framework for information hiding. [2]
Different forms and applications of Information Hiding: There are a number of other applications driving interest on the subject of information hiding as shown in Figure 3. Figure 3: Applications of Information Hiding. [4][5] Approach: One of the approaches used for information hiding in HEVC is manipulation on Nonzero DCT coefficient to embed the required information. Plan is to study this algorithm and implement it using HM[15] 16 software and to compare paratmaters like PSNR for frames in different test video sequences. [6] Manipulation on Nonzero DCT Coefficient. [6] LSB manipulation of nonzero DCT coefficient (i.e., a special case of odd-even embedding) is the most frequently utilized technique for information hiding [7] [8]. This technique allows external information to be conveniently inserted into a digital content (i.e., image, video) without causing significant impact on perceptual quality. Here, the odd-even based technique is implemented on the nonzero DCT coefficients in each coding tree unit. However, the implementation is restricted to AC coefficients in the interval of [ 8, 8] \ {0} and these coefficients are modified based on the size of the TB in which they reside. Empirically it is observed that modification on this range is adequate to maintain the perceptual quality while providing sufficient payload simultaneously. In particular, AC coefficients in the luminance channel is divided into four categories (i.e., ranges, R) based on the TB size in coding tree unit. Only AC coefficients in R \ {0} are considered for information hiding. Let Yc and Yc denote the original and modified DCT coefficient values, respectively, and let w be the information bit to be embedded. The embedding process is summarized as follows in Eq. (1) and (2). To extract the inserted information, the LSB of each coefficient in the range specified by Eq. (2) is considered.
Equations show the embedding process using DCT coefficients. Yc: Original nonzero DCT coefficient. Yc : Modified DCT coefficient. R: Set of nonzero coefficients under consideration. w: Binary information to be embedded [0 or 1]. Intervals of nonzero DCT coefficients. To maintain the perceptual quality while providing sufficient payload for information hiding, AC coefficients under consideration are divided into four categories. First, TBsize 4x4 and second TBsize 8x8, make uses of interval [ 8, 8] \ {0} which indicates that AC coefficients ranged are from -8 to 8, not including 0. Third, in case of TBsize of 16x16, -6 to 6 coefficients are used, also not including 0. Similaraly fourth case where TBsize is 32x32 and -6 to 6 coefficients are used and again not including zero. Table 1 shows the information on intervals and block sizes. Table 1: Intervals of nonzero DCT coefficients. TB Size Interval of AC Coefficients 4x4, 8x8-8 to 8, not including zero. 16x16-6 to 6, not including zero. 32x32-4 to 4, not including zero. Process for embedding information. Tables 2 and 3 show the emebedding process for binary information scenarios when w = 0, 1.
Table 2: Emebedding process for binary information w = 0. Yc Yc mod( Yc, 2) w mod( Yc, 2)!= w (-1)^w Yc + (-1) ^ w Yc' -1 1 1 0 TRUE 1 0 0-2 2 0 0 FALSE 1 NA -2-3 3 1 0 TRUE 1-2 -2-4 4 0 0 FALSE 1 NA -4-5 5 1 0 TRUE 1-4 -4-6 6 0 0 FALSE 1 NA -6-7 7 1 0 TRUE 1-6 -6-8 8 0 0 FALSE 1 NA -8 1 1 1 0 TRUE 1 2 2 2 2 0 0 FALSE 1 NA 2 3 3 1 0 TRUE 1 4 4 4 4 0 0 FALSE 1 NA 4 5 5 1 0 TRUE 1 6 6 6 6 0 0 FALSE 1 NA 6 7 7 1 0 TRUE 1 8 8 8 8 0 0 FALSE 1 NA 8 Table 3: Emebedding process for binary information w = 1. Yc Yc mod( Yc, 2) w mod( Yc, 2)!= w (-1)^w Yc + (-1) ^ w Yc' -1 1 1 1 FALSE -1 NA -1-2 2 0 1 TRUE -1-2 -3-3 3 1 1 FALSE -1 NA -2-4 4 0 1 TRUE -1-4 -5-5 5 1 1 FALSE -1 NA -5-6 6 0 1 TRUE -1-6 -7-7 7 1 1 FALSE -1 NA -7-8 8 0 1 TRUE -1-8 -9 1 1 1 1 FALSE -1 NA 1 2 2 0 1 TRUE -1 2 1 3 3 1 1 FALSE -1 NA 3 4 4 0 1 TRUE -1 4 3 5 5 1 1 FALSE -1 NA 5 6 6 0 1 TRUE -1 6 5 7 7 1 1 FALSE -1 NA 7 8 8 0 1 TRUE -1 8 7 Original Coefficient Modified Coefficient
Input used for information hiding. Figure 5 shows original grayscale and binary image of size 256x256, which is used as an input for information hiding. This image contains total 65536 number of pixels. As shown in Figure 6 mulitple times are used to create information to be hidden. Table 4 shows number of bytes in each case of input used for information hiding using mulitple images. Table 4: Input used for information hiding Number of images Total Image Size Number of binary pixels Number of bytes 0 0 0 0 1 256x256 65536 8192 2 256x256x20 131072 16384 10 256x256x10 655360 81920 20 256x256x20 1310720 163840 30 256x256x30 1966080 245760 40 256x256x40 2621440 327680 50 256x256x50 3276800 409600 70 256x256x70 4587520 573440 100 256x256x100 6553600 819200 Figure 5: Original gray scale and binary image used as an input for information hiding.
Figure 6: Creation of information to be hidden using multiple images. Information to be hidden is created using N number of images. Values of N = 0, 1, 2, 10, 20, 30 40, 50, 70, 100. N Results: Results collected are for video sequences with different resolutions 416x240 and 176x144 anf frames. Information embedded for different videos is different as size available for embedding information is different. Results are collected primarily to show how PSNR for different frames like I or B only and also for all frames varies depending on number of binary pixels are increased. As per results it can be seen there is decrease in PSNR values as number of pixels embedded is increased. As shown in Table 5 where both I and B frames are considered while compression for RaceHorses_416x240_30 and in Table 6 it can seen that only I frames are considered for BUS_176x144_15_orig_01. Also Figures 7,8,9,10,11 show the variations in PSNR values for different scenarios, where PSNR- I frames is PSNR for I frames, PSNR-B frames is PSNR only for B frames and total PSNR is PSNR calculated for all frames in given test sequence. Table 5 : Results for video sequence RaceHorses_416x240_30. RaceHorses_416x240_30, All PSNR values are in db Number of pixels embedded PSNR - I frames in db PSNR - B frames in db PSNR for all frames in db No information. 35.5739 32.6523 32.76 65536 35.5448 32.6661 32.7726 131072 35.3699 32.6323 32.735 655360 34.8808 32.5691 32.6596 1310720 34.7538 32.5806 32.667 1966080 34.7538 32.532 32.6199 2621440 34.7538 32.5129 32.6013 3276800 34.7538 32.5003 32.5891 4587520 32.4776 34.7538 32.5671 6553600 34.7538 32.4477 32.5381
Table 6: Results for video sequence BUS_176x144_15_orig_01. BUS_176x144_15_orig_01, PSNR values are in db Number of pixels embedded PSNR - I frames in db PSNR for ALL Frames in db No information. 33.6887 33.6887 65536 33.6703 33.6703 131072 33.543 33.543 655360 33.3829 33.3829 1310720 33.2373 33.2373 Figure 7: Total PSNR for test sequence BUS_176x144_15_orig_01. P S N R i n d B 33.8 33.7 33.6 33.5 33.4 33.3 33.2 33.1 33 Total PSNR 0 65536 131072 655360 1310720 Total PSNR Information hidden (number of pixels in binary images). Figure 8: PSNR-I Frames for test sequence BUS_176x144_15_orig_01. P S N R i n d B 33.8 33.7 33.6 33.5 33.4 33.3 33.2 33.1 33 PSNR - I frames 0 65536 131072 655360 1310720 Information hidden (number of pixels in binary images) PSNR - I frames
Figure 9: PSNR for I-Frames for test sequence RaceHorses_416x240_30. P S N R i n d B 36 35.5 35 34.5 34 33.5 33 32.5 32 31.5 31 30.5 PSNR - I frames PSNR - I frames Information hidden (number of pixels in binary images) Figure 10: Total PSNR for test sequence RaceHorses_416x240_30. P S N R i n 32.8 32.75 32.7 32.65 32.6 32.55 32.5 32.45 32.4 Total PSNR Total PSNR d B Information hidden (number of pixels in binary images)
Figure 11: PSNR- B frames for test sequence RaceHorses_416x240_30. P S N R i n 28.62 28.615 28.61 28.605 28.6 28.595 28.59 28.585 28.58 28.575 PSNR - B frames PSNR - B frames d B Information hidden (number of pixels in binary images) Conclusion: An information hiding technique using LSB manipulation of nonzero DCT coefficients can be implemented for HEVC standard. This project shows how multiple binary images can be hidden using this technique. Information in the form of multiple binary images can be hidden in a video encoded using HEVC standard with very small variation in PSNR.
References: [1] G. J. Sullivan et al, "Overview of the High Efficiency Video Coding (HEVC) Standard," IEEE Transactions On Circuits and Systems For Video Technology, Vol. 22, No. 12, pp. 1649 1668, Dec. 2012. [2] Y. Tew; and K Wong; An Overview of Information Hiding in H.264/AVC Compressed Video, IEEE Transactions On Circuits and Systems For Video Technology Vol. 24, pp. 305 319, No. 2, Feb. 2014. [3] I. Cox, M. Miller, J. Bloom, J. Fridrich, and T. Kalker, Digital Watermarking and Steganography, 2nd ed. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., Ch. 3 2008. [4] F. L. Bauer, Decrypted Secrets Methods and Maxims of Cryptology., Berlin, Heidelberg, Germany: Springer-Verlag, 1997. *5+ F. Petitcolas, R. Anderson, and M. Kuhn, Information hiding a survey, Proc. IEEE, vol. 87, no. 7, pp. 1062 1078, Jul. 1999. [6] Y. Tew and K. Wong Information hiding in HEVC standard using adaptive coding block size decision 2014 IEEE International Conference on Image Processing (ICIP), pp. 5502 5506, Oct. 2014. [7] R.-Z. Wang, C.-F. Lin, and J.-C. Lin, Image hiding by optimal LSB substitution and genetic algorithm, Pattern Recognition, vol. 34, no. 3, pp. 671 683, Mar.2001. [8] C.-K. Chan and L. Cheng, Hiding data in images by simple LSB substitution, Pattern Recognition, vol. 37,no. 3, pp. 469 474, Mar. 2004. [9] V. Sze and M. Budagavi, Design and Implementation of Next Generation Video Coding Systems (H.265/HEVC Tutorial), IEEE International Symposium on Circuits and Systems (ISCAS), Melbourne, Australia, June 2014.Link: http://www.rle.mit.edu/eems/publications/tutorials/ [10] HEVC tutorial http://www.vcodex.com/h265.html. [11] G.J. Sullivan; J. Ohm; Woo-Jin Han and T. Wiegand, Overview of the High Efficiency Video Coding (HEVC) Standard, IEEE Trans. on Circuits and Systems for Video Technology, Volume: 22, Issue: 12, pp. 1649-1668, Dec. 2012. [12] I.E. Richardson Video Codec Design: Developing Image and Video compression systems, Wiley,2002. [13] G. J. Sullivan et al Standardized Extensions of High Efficiency Video Coding (HEVC). IEEE Journal of selected topics in Signal Processing vol. 7, pp.1001-1016, Dec. 2013 [14] T.-J. Lin, K.-L. Chung, P.-C. Chang, Y.-H. Huang, H.-Y. M. Liao, and C.-Y. Fang, An improved DCT-based perturbation scheme for high capacity data hiding in H.264/AVC intra frames, J. Syst. Software, vol. 86, pp.604 614, Mar. 2013. [15] Software repository for HEVC - https://hevc.hhi.fraunhofer.de/svn/svn_hevcsoftware/tags/hm-16.0/ [16] HEVC white paper Ittiam systems - http://www.ittiam.com/downloads/en/documentation.aspx
[17] Video test sequences - http://forum.doom9.org/archive/index.php/t- 135034.html or http://media.xiph.org/video/derf/ or ftp://ftp.kw.bbc.co.uk/hevc/hm-11.0- anchors/bitstreams/ orhttp://forum.doom9.org/archive/index.php/t-135034.html [18] M. Wien, High efficiency video coding: Tools and specification, Springer, 2015. [19] I.E. Richardson, Coding video: A practical guide to HEVC and beyond, Wiley, 11 May 2015 [20] V.Sze, M.Budagavi and G.J.Sullivan High Efficiency Video Coding(HEVC) Algorithms and Architectures, Springer, 2014. [21] HM Software Manual - https://hevc.hhi.fraunhofer.de/svn/svn_hevcsoftware/