Indian Journal of Electrical and Biomedical Engineering Volume.1 Number.1 January-June 2013, pp.32 @ Academic Research Journals, (India) A High Capacity Steganography Scheme for JPEG2000 using SPIHT Algorithm Prof. P. K. Kadbe, Prof. R. K. Shastri and Kulkarni Trupti S. Assistant Professor, VPCOE. Baramati. Assistant Professor, VPCOE. Baramati M. E. Electronics -digital system, VPCOE.Baramati. Email:- be_prem@rediffmail.com, rajveer_shastri@yahoo.com, truptikvpcoe@gmail.com Abstract–Redundancy available in digital media makes it possible to hide messages within various digital carriers like image, audio. But as images are frequently compressed before transmission or storage, information hiding in a compressed data format should be a better choice. JPEG2000 is latest image coding standard which uses EBCOT. EBCOT exhibits better compression but with high complexity. The SPIHT algorithm achieves similar performance with fewer features. Paper proposes high capacity steganography scheme for JPEG2000 coder designed using SPIHT algorithm. Secret data is embedded in cover image by finding embedding points and intensity of every image coefficient through redundancy evaluation. The generated stego image is compressed with SPIHT coder. Performance of the proposed scheme is compared on the basis of PSNR and embedding capacity. The programming is done in MATLAB platform. Simulation shows that the proposed method is feasible and effective. Keywords –Steganography, JPEG2000, SPIHT. I. INTRODUCTION Characteristic of human visual system as well as the redundancy of digital media makes it possible to hide messages. Secret message can be transmitted within various digital media such as image and audio by information hiding technology. Different techniques used to hide information in digital carriers are called as steganography techniques. Steganography is useful for secret communication Data hiding deals with embedding information, called message, inside some host signal, like image, sound or video, called cover or carrier. The message may be small and robust as in the case of copyright protection in the form of watermarking or it may be large, critical and statistically invisible as in steganography. Four factors characterize the effectiveness of a data hiding method, namely the hiding capacity, the perceptual transparency, the robustness and the tamper resistance. Hiding capacity refers to the maximum payload that can be held by the cover. Perceptual transparency ensures the retention of visual quality of the cover after data embedding. Robustness is the ability of the cover to withstand various signal operations, transformations and noise whereas tamper resistance means to remain intact in the face of malicious attacks. [1-5]The relative importance of these four factors depends on the particular data hiding application. For example, for visually sensitive applications perceptual transparency becomes very important. Domain-wise, embedding can be carried out in both the frequency domain and the transform domain. If images are taken as carrier for steganography any information either image, audio can be embedded into that image. But as images are frequently compressed before transmission or storage, information hiding in a compressed data format should be a better choice. Most of the still images circulated nowadays are compressed with JPEG. As a block DCT codec, JPEG lends itself to a good candidate for information hiding due to its fixed block structure. JPEG2000, the latest image compression standard, offers superior compression performance to JPEG.JPEG2000 is based on DWT (Discrete Wavelet Transform) rather than DCT (Discrete Cosine Transform).By taking advantage of the multi-resolution and Spatial-frequency localization properties of wavelet analysis; different steganography algorithms in DWT domain are designed.[5-9] JPEG2000 is an upcoming still image coding standard. This new standard complements JPEG by providing several important features such as resolution/quality progressive image transmission, better resilience to biterrors, and Region of Interest (ROI) coding, etc. It is believed that JPEG2000 will be used widely and its rich features will benefit many emerging applications. As many images will be compressed by JPEG2000 in the near future, it is worthwhile to investigate how to hide high-volume data in JPEG2000 compressed images efficiently. JPEG2000 uses embedded block coding with optimized truncation (EBCOT).EBCOT exhibits excellent compression performance with high complexity. The need to reduce this complexity but maintain similar performance as EBCOT has inspired significant amount of research in image coding community. Within development of image compression techniques based on wavelet transform Embedded Zero tree Wavelet (EZW) & Set Partitioning In Hierarchical Tree (SPIHT) played important role. SPIHT algorithm achieves fewer features with low complexity than EBCOT. Main objective is to develop an information hiding scheme under the framework of JPEG2000, to hide as maximum secret information as possible in compressed data with steganography, by considering capacity, security and robustness aspects of steganography. [1] 32 Indian Journal of Electrical and Biomedical Engineering Volume.1 Number.1 January-June 2013, pp.28-31 @ Academic Research Journals, (India) II. METHODOLOGY Block diagram of modules implemented in software is in figure 1. Input image (Carrier) Compression (JPEG2000) + steganography algorithm Compressed Stego image Secret image (Data to be hiding) Figure 1.System overview Digital image is used here as carrier in which secret image is embedded. Secret image is embedded in carrier image using steganographic algorithm. This stego image is then compressed with jpeg2000 using SPIHT coding technique.JPEG2000 encoder with data hiding is in figure 2, Wavelet Decomposition Quantization Determine embedding Points and intensity Message embedding SPIHT encoder Figure 2.The JPEG2000 encoder with data hiding In JPEG2000 Cover image is decomposed by using discrete wavelet transform up to certain level. After the wavelet transform, the coefficients are scalar-quantized to reduce the number of bits to represent them, at the expense of quality. The output is a set of integer numbers which have to be encoded bit-by-bit. The parameter that can be changed to set the final quality is the quantization step: the greater the step, the greater is the compression and the loss of quality. With a quantization step that equals 1, no quantization is performed (it is used in lossless compression). ππ [π] = π πππ(π¦π [π]) ⌊ π¦π [π] βπ ⌋ (1) Here yb[n] denotes the sample of subbands, while qb[n] denotes the quantization indices and βb denotes the step size. [1] Further embedding points and intensity of every quantized coefficient are determined with redundancy evaluation method. This method comes under DWT based steganographic method. To overcome the various limitations discussed in literature review this method is introduced. As presented by Liang Zhang, Haili Wang and Renbiao Wu, in “A High Capacity Steganography Scheme for JPEG2000 Baseline system”, redundancy evaluation method is used for increasing hiding capacity of JPEG2000 baseline system. For JPEG2000 compression standard limited redundancy and bitstream truncation makes it difficult to hide information. To overcome these two problems redundancy evaluation method is used. Redundancy evaluation method determines embedding depth adaptively for increasing hiding capacity. A candidate embedding point will be removed if evaluated quantization redundancy is less than two. III. REDUNDANCY EVALUATION The redundancy of uniform quantization is determined according to the visual masking effect and brightness sensitivity of human visual system. The calculation of self-contrast masking effect, neighborhood masking effect and local brightness weighting factor is calculated as follows. In the first step self-contrast masking effect is calculated, π¦π = π πππ( π₯π )|π₯π . π₯π |βΊ (2) Where ππ the quantized wavelet coefficient with bits is lower than highest no-zero bit are replaced by zeros. 34 Indian Journal of Electrical and Biomedical Engineering Volume.1 Number.1 January-June 2013, pp.28-31 @ Academic Research Journals, (India) ππ is quantization step. Parameter βΊ takes value between 0 and 1. Result of first step is ππ. In second step neighborhood masking is calculated, ππ = ππ (3) Μπ |π· )/|ΙΈπ| π+(π ∑πβ³ ππππππππππππ |π Μπ denotes the neighboring wavelet coefficients greater than or equal to 16 and its bits lower The symbol π than highest no-zero are replaced by zeros. Symbol |ΙΈπ | is number of wavelet coefficient in neighborhood. Parameter β assumes value between 0 and 1. Parameter π is a normalization factor and having constant value π = (πππππ/ππ −π )π· . d is a bit depth of image component. In third step weighting factor about brightness sensitivity is calculated. π − π³(π, π, π), Ι ∧ (π, π, π) = { π³(π, π, π), (4) π³(π, π°, π±) = π + π π π° πππ π (π + [ ππ π³(π, π, π) < π πΆππππππππ π ππ−π ],π + [ π ππ−π ]) (5) Ι ∧ (π, π, π) is a local brightness weighting factor. The symbol π°π½π denotes the sunband at resolution level π β³ {π, π, … . . π} and with orientation π½ β³ {π³π³, π³π―, π―π³, π―π―}. The symbol π°π½π (π, π) denotes the wavelet coefficient located at (π, π) in subband π°π½π . The level of discrete wavelet decomposition is π. The result of next step is, π′π = ππ (6) Ι ∧(π,π,π) Final quantization redundancy is calculated by using following equation. ππ = ππ (7) π′π The redundancy of wavelet coefficient ππ can be measured by ππ , for avoiding degradation of image we use wavelet coefficients with ππ not less than 2 to carry message bits. The rules of adjusting embedding points and intensity are as follows. 1) If ππ < 2, then embedding point should be removed. 2) If 2π ≤ ππ < 2π+1 then embedding capacity of this point is determined by π bits. The final ππ is the adaptive embedding depth for each quantized wavelet coefficient ππ . [1] IV. SPIHT ALGORITHM The SPIHT algorithm is an efficient method for lossy and lossless coding of natural images. [9] Algorithm is based on hierarchical quad-tree data structure of wavelet-transformed image. The energy of a wavelettransformed image is concentrated on the low frequency coefficients. A tree structure, called spatial orientation tree (SOT), naturally defines the spatial relationship of the hierarchical pyramid. Figure 3 shows parent-child dependencies in the spatial-orientation tree. A spatial orientation tree is defined in a pyramid constructed with recursive four sub bands splitting. The coefficients are ordered in hierarchies. According to this relationship, the SPIHT algorithm saves many bits that specify insignificant coefficients. [9] In the SPIHT coding algorithm, after the wavelet transform is applied to an image, the main algorithm works by partitioning the wavelet decomposed image into significant and insignificant partitions based upon the following function, Sn(T) β1,max(i,j)€T{βb(i,j)β}≥2n β0; otherwise (8) Where Sn(T) is the significance of the set of coordinates T, and b(i,j) is the coefficient value at coordinate (i,j) 34 Indian Journal of Electrical and Biomedical Engineering Volume.1 Number.1 January-June 2013, pp.28-31 @ Academic Research Journals, (India) Figure 3. Parent–child relationships. There are two passes in the algorithm, the sorting pass and the refinement pass. The sorting pass is performed on the list of insignificant sets (LIS), list of insignificant pixels (LIP) and the list of significant pixels (LSP). The LIP and LSP consist of nodes that contain single pixels while the LIS contains nodes that have descendants. The maximum number of bits required to represent the largest coefficients in the spatial orientation tree is obtained and designed as nmax and is given by, nmax =βlog2 (max{βb (i,j)β})β (9) During the sorting pass, those coordinates of the pixels which remain in the LIP are tested for significance by using equation (1). The result Sn(T) is sent to the output. Those that are significant will be transferred to the LSP as well as have their sign bit output. Sets in the LIS will also have their significance tested and if found to be significant, will removed and partitioned into subsets. Subsets with a single coefficient and found to be significant will be added to the LSP, or else they will be added to the LIP. During the refinement pass, the nth most significant bit of the coefficients in the LSP is output. The value of n is decreased by 1 and the sorting and refinement passes occur again. This continues until either the desired rate is reached or until n=0 and all nodes in the LSP have all their bits output. It is clear from equation (1) and (2) that the coding performance of the SPIHT coding algorithm is highly related to the distribution of the b(i,j). The SPIHT multistage encoding process employs three lists and sets: SPIHT has 3 lists ο· LIS: list of insignificant lists (insignificant trees) ο· LSP: list of significant pixels (significant coefficients) ο· LIP: list of insignificant pixels (individual insignificant coefficients) SPIHT defines 2 types of trees Type D: check all descendants for significance ο· Type L: check all descendants except immediate children Other features ο· Root node is checked independently of the rest of the tree.SPIHT sorting pass checks significance of LIP & LIS elements, then moves significant coefficients to LSP.[10] SPIHT Basic Algorithm Step 1: Initialization Compute initial threshold LIP: all root nodes (in low pass subband) LIS: all trees (type D) LSP: empty Step 2: Sorting Pass Check significance of all coefficients in LIP: If significant, output 1 followed by a sign bit & move it to LSP. If insignificant, output 0. Step 3: Check significance of all trees in LIS For type-D tree: If significant, output 1 & proceed to code its children.If a child is significant, output 1, sign bit, & add it to LSP.If a child is insignificant, output 0 and add it to the end of LIP. 34 Indian Journal of Electrical and Biomedical Engineering Volume.1 Number.1 January-June 2013, pp.28-31 @ Academic Research Journals, (India) If the child has descendants, move the tree to the end of LIS as type L, otherwise remove it from LIS.If insignificant, output 0. For type-L tree : If significant, output 1, add each of the children to the end of LIS as type D and remove the parent tree from LIS.If insignificant, output 0. Step 4: Refinement pass For each element in LSP – except those just added above, output the nth most significant bit of coefficient. End loop over LSP. Step 5: Decrease the threshold by a factor of 2. Go to Step 2. V. RESULTS Proposed scheme is analyzed for different grayscale cover images available in image formats BMP, TIF, GIF etc are used for both with redundancy evaluation method and without redundancy evaluation method for embedding process. First technique consists of quantized redundancy calculation process whereas quantized redundancy calculation process is absent in second method. Various secret images are used for embedding. The performance of these two techniques is compared on the basis of various quality measures such as Compression Ratio (CR), Peak-Signal to Noise Ratio (PSNR) and Embedding Capacity (EC). Proposed algorithm can be analyzed well through the graphical user interface (GUI) implemented in MATLAB. Proposed algorithm is simulated with six GUI windows. The main window is linked with the actual method GUI, embed-extract with redundancy evaluation method, embed-extract without redundancy evaluation method and comparison of two methods.AS per pushbuttons provided in main GUI figure 4 corresponding algorithm executes. Every method requires some input parameters that Figure 4. Main GUI have to be entered by user. Execution completion information is available to the user with ‘complete’ message provided in GUI as shown in figure 5, 6.Four pushbuttons 1.Embedd and compress, 2.Extract and decompress for without redundancy evaluation, 3.Embedd and compress, 4.Extract and decompress for with redundancy evaluation and 5.comparison of two to compare two methods with the graph of embedding capacity, PSNR Vs compression ratio. 34 Indian Journal of Electrical and Biomedical Engineering Volume.1 Number.1 January-June 2013, pp.28-31 @ Academic Research Journals, (India) Figure 5. GUI for Embedding Algorithm with Redundancy Evaluation method Figure 6. GUI for Extracting Algorithm with Redundancy Evaluation method IC image which is more textured image used in above GUI as carrier image, having more details. This image has very large embedding capacity than other image, for different compression rate. Comparison graph in figure 8, 9 shows the embedding capacity vs. compression rate plot and PSNR vs. compression rate plot for both methods respectively. Table 1, 2 shows embedding capacity and PSNR for various compression rate with common threshold 16 for both methods for the same IC image. Figure 7. IC image (carrier) 4 2.5 compression rate vs embedding capacity of ic image x 10 with redundancy method without redundancy method Embedding capacity(bits) 2 1.5 1 0.5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 Compression rate(bits/pixel) 0.8 0.9 Figure 8. Embedding capacity vs PSNR 34 1 Indian Journal of Electrical and Biomedical Engineering Volume.1 Number.1 January-June 2013, pp.28-31 @ Academic Research Journals, (India) compression rate vs PSNR of ic image PSNR(db) 40 with redundancy method without redundancy method 35 30 25 CR 0.4 0.5 0.6(bits/pixel) 0.7 0.8 0.9 Compression rate(bits/pixel) Embedding Figure 9. Compression Capacity(bits) CR (bits/pixel) PSNR(db) Embedding Capacity(bits) 20 0.1 0.2 0.3 PSNR(db) 0.1 1 0.5 0.7 1.0 1071 0.1 5791 0.5 8080 0.7 10905 1.0 25.27 1499 35.14 37.06 39.39 11042 16408 22767 23.69 32.06 34.28 rate vs PSNR 37.30 Table 1.Embedding capacity and PSNR with redundancy evaluation method for various compression rates at threshold 16. Table 2.Embedding capacity and PSNR without redundancy evaluation method for various compression rates at threshold 16. VI. CONCLUSION This effort gives comprehensive study of image steganography for JPEG2000 baseline system with variety of quality parameters. Redundancy evaluation method increases Embedding capacity (EC) at the cost of slight change in Peak Signal to Noise Ratio (PSNR). PSNR obtained in redundancy evaluation is less than without redundancy evaluation for different compression rates. Embedding capacity depends on threshold used for embedding, compression rate and wavelet decomposition level. Less is the value of threshold better is the embedding capacity for certain carrier image. Type of carrier image decides depth of embedding capacity. Textured image gives better embedding capacity than image with low details. REFERENCES 1. Liang Zhang, Haili Wang and Renbiao Wu, “A high capacity stegnography scheme for JPEG2000 baseline system,” IEEE Transactions on Image Processing, vol. 18, no. 8, August 2009. 2. Dr. K.Rameshbabu, B SreeLatha, P.Bharathi” Implementation of JPEG2000 using SPIHT algorithm” International Journal of Engineering Research and Applications (IJERA),2012. 3. C. K. Chan and L. M. Cheng, “Hiding data in images by simple LSB substitution,” Pattern Recognit., vol. 37, no. 3, pp. 469–474, 2004. 4. H. C. Wu, N. I. Wu, C. S. Tsai, and M. S. Hwang, “Image steganographic scheme based on pixel-value differencing and LSB replacement methods,” IEE Proc. Vis., Image , Signal Process., vol. 152, no. 5, pp. 611–615, Oct. 2005. 5. L. Zhang, “Wavelet domain steganography for jpeg2000,” in Proc. Int. Conf. Communications, Circuits, and Systems, 2006, vol. 1, pp. 40–43. 6. JPEG2000 Part 1: Final Committee Draft Version 1.0, ISO/IEC. FCD 15444-1, 2000. 7. JPEG2000 Part 2: Final Committee Draft, ISO/IEC FCD 15444-2, 2000. 34 Indian Journal of Electrical and Biomedical Engineering Volume.1 Number.1 January-June 2013, pp.28-31 @ Academic Research Journals, (India) 8. 9. P. C. Su and C. C. J. Kuo, “Steganography in JPEG2000 compressed images,” IEEE Trans. Consum. Electron., vol. 49, no. 4, pp. 824–832, Apr. 2003. A. Said and W. Pearlman, A new, fast and efficient image codec based on set partitioning in hierarchical trees, In IEEE Trans. Circuits and Systems for Video Technology, 3, (1996), 243-250. 34