The basic idea is to convert the image to ycbcr format, break it in to the 3 components y,Cb and Cr and then hide the audio file's approximation coefficients in to the Cb component by breaking in to any of the two LL,HL,LH and HH sub bands.Now comes the main process in to the picture that is we need to xor the audio and the image bits and then replace them with the adjacent bits and then other work like reforming them back to ycbcr2rgb() and then forming the stego image.
I need some help to fill up the gap in the following code:
C=imread('sample.png');
S=wavread('sample1.wav');
LS=liftwave('haar','int2int');
ycbcr=rgb2ycbcr(C);
Y = YCbCr(:,:,1);
Cb = YCbCr(:,:,2);
Cr= YCbCr(:,:,3);
[CbLL,CbHL,CbLH,CbHH]=lwt2(double(Cb),LS);
[Ca,Cd]=lwt(double(S),LS);
{c1 , c2}=encode(...
the function encode() should do the other work and return c1 and c2 sub bands as an alternative to any of the two of CbLL,CbHL,CbLH,CbHH in which we wish to hide the audio coefficients and these returned c1 and c2 are used like:
G = ilwt2(CbLL, CbHL, C1, C2, LS);
G=ycbcr2rgb(YGCr);
stegoimage =imwrite(G, ‘stego.jpg’);
and there forms the final stego image rom G.
I am not able to figure out which functions and what structure of code will full-fill my need of the encode() function. Please help me out with that... thanks in advance.