(IJCSIS) International Journal of Computer Science and Information Security,Vol. 8, No. 6, September 2010
Fig. 1. Embedding phase of RVH steganographic system 
Firstly, the bit sequence B1 is horizontally embedded intoO by using the HEm procedure to obtain the output image Tsized H x W pixels. Secondly, the compressed location mapCM1 whose length is LC1 (will be described later), isembedded in to T by using the least significant bit (LSB)replacement technique to obtain the output image U with sizeof H x W pixels. Thirdly, the bit sequence B2 is verticallyembedded into U by using the VEm procedure to get the outputimage V with size of H x W pixels. Fourthly, the compressedlocation map CM2 whose length is LC2 is embedded into V byusing the LSB replacement technique to get the final stegoimage with size of H x W pixels.Each bit b in stream B1 is horizontally embedded into eachhorizontally embeddable pixel pair (x, y) at a time by using thehorizontal embedding rule HR defined below until the wholebit stream B1 is completely marked into O to obtain the outputimage T.Each bit b in B2 is vertically embedded into each verticallyembeddable pixel pair (u, v) at a time by using the verticalembedding rule VR defines below until the entire bit sequenceB2 is concealed into U to get the output image V.
The horizontal embedding rule HR:
For each pair (x, y), weapply the following embedding rules:
HR1: If the to_be_embedded bit b=1, then the stegopixel pair is unchanged by (x0, y0) = (x, y).
HR2: If the to_be_embedded bit b=0, then the stegopixel pair is changed by (x0, y0) = (x, y-1).
The vertical embedding rule VR:
For each pair (u,v), weapply the following embedding rules:
VR1: If the to_be_embedded bit b=0, then the stegopixel pair is unchanged by (u0, y0) = (u,v).
VR2: If the to_be_embedded bit b=1, then the stegopixel pair is changed by (u0, y0) = (u, v+1).
It is noted that the rule HR and VR don’t cause the
underflow and overflow problem. That is the changed pixelpairs are assured to fall in the allowable range [0,255].The auxiliary data bit sequence A1 is actually the LSBs of the first LC1 (LC1 is the length of the compressed locationmap CM1 ended with the unique end of map indicator EOM1)pixels in the image T and generated as follows. Initially, B1 isequal to S1 (i.e., B1=S1). During the execution of the HEmprocedure, for the first LC1 pixels in O, when each pixel hasbeen processed for embedding, its LSB is taken as an auxiliarydata bit of A1 and appended to the end of B1. That is, B1 isgradually grown until the LC1 auxiliary data bits in A1 areconcatenated into B1. Finally, the to_be_embedded bit streamis B1=S1||A1, which is completely embedded into O.Similar to the generation of A1, the auxiliary data streamA2 is actually the LSBs of the first LC2 (LC2 is the length of the compressed location map CM2 ended with the unique endof map indicator EOM2) pixels in the image V and generatedas follows. B2 initially equals the secret bit sequence S2.During the execution of the procedure VEm, for the first LC2pixels in the image U, when each pixel has been processed forembedding, its LSB is taken as an auxiliary data bit of A2 andappend to the end of B2 until the LC2 auxiliary data bits in A2are concatenated into B2. Finally, the information bit sequenceis B2=S2||A2, which is fully marked into the image U.For the purposes of extracting B1 and recovering O, alocation map HL sized H x (W/2) is needed to record thepositions of the horizontally embeddable pixel pair (x, y) in O.The location map HL is a one-bit bitmap. All the entries of HLare initialized to 0. If cover pixel pair (x, y) is the horizontallyembeddable pixel pair, then the corresponding entry of HL isset to be 1. Next, the location map HL is losslessly compressedby using the JBIG2 codec (Howard et al, 1998 ) or anarithmetic coding toolkit (Carpenter, 2002 ) to obtain thecompressed location map CM1 whose length is LC1. Thecompressed location map CM1 is embedded into the image Tby using the LSB replacement technique as mentioned above.Similarly, for the purposes of extracting B2 and recovering theimage U, we also need a location map VL sized (H/2) x W tomark the position of the vertically embeddable pixel pairs (u, v)in U. Then, VL is also losslessly compressed by using theJBIG2 codec or an arithmetic coding toolkit to obtain thecompressed location map CM2 whose length is LC2. Next, themap CM2 is concealed into the image V by using the LSBsteganography as mentioned above.The final output of the embedding phase is the final stegoimage X with size of H x W pixels.III.
CHEME FOR THE
After embedding a large message sequence M (its ratio isabout 90% of maximum embeddable capacity of image) intothe original image Baboon sized 512x512 pixels (show Fig. 2)using the RVH scheme to obtain the stego-image Baboon, wecalculate histogram of the two images (cover Baboon imageand stego Baboon image), resulted in Fig. 3.
It’s very hard to
detect any difference between the two images.However, when we separably calculate two histograms onall pixel odd columns and all pixel even rows of the coverBaboon image, shown in Fig. 4. Similarly, calculate twohistograms on all pixel odd columns and all pixel even rows of the stego Baboon image, resulted in Fig. 5.
It’s easy to
difference between pair histogram in Fig.4 (a) and Fig. 5 (a), inFig. 4 (b) and Fig. 5 (b). The informality appears in Fig 5 (a)