《量化嵌入算法.ppt》由会员分享,可在线阅读,更多相关《量化嵌入算法.ppt(19页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、音频水印量化算法音频水印量化算法赵红赵红小波分析与应用小波分析与应用文献文献1.嵌入水印过程嵌入水印过程l l读音频读音频 求音频长度求音频长度l l读水印图像读水印图像 求水印图像的大小求水印图像的大小 二维转换为一维二维转换为一维l l音频分段(根据水印的大小分)音频分段(根据水印的大小分)取下整取下整 音频每一段如何表示(用数组)音频每一段如何表示(用数组)2嵌入水印过程嵌入水印过程l l对每一段对每一段x进行进行DCT变换变换 Y=dct(x)l l第第i段嵌入水印段嵌入水印 Y(i,2)=y(i,2)(1+a*w(i);l l反反DCT变换变换 Y=idct(y);l l重组音频重组
2、音频3嵌入嵌入-提取公式提取公式lY=x*(1+a*w)lw=(y/x-1)/a=(y-x)/(x*a)4嵌入算法参考嵌入算法参考l l%改进日期:改进日期:改进日期:改进日期:2010-9-272010-9-27l l%程序员:赵红程序员:赵红程序员:赵红程序员:赵红l l%一种在数字音频信号中嵌入水印的新算法一种在数字音频信号中嵌入水印的新算法一种在数字音频信号中嵌入水印的新算法一种在数字音频信号中嵌入水印的新算法%王秋生王秋生王秋生王秋生l l%read audio and watermark%read audio and watermarkl lclear;clear;l lclccl
3、c;l lclose all;close all;l lI=I=wavread(music.wavwavread(music.wav););l llen_Ilen_I=length(Ilength(I););l lW=W=imread(flower.bmpimread(flower.bmp););l llen_Wlen_W=length(Wlength(W(:);(:);l lW1=W(:);W1=W(:);l l%segmenting%segmentingl llen_BLOCKlen_BLOCK=floor(len_I/len_Wfloor(len_I/len_W););l l%embed
4、ingembedingl la=0.035;a=0.035;l lfor i=1:len_Wfor i=1:len_Wl l BLOCK=I(i-1)*len_BLOCK+1:i*BLOCK=I(i-1)*len_BLOCK+1:i*len_BLOCKlen_BLOCK););l l DCT_BLOCK=DCT(BLOCK);DCT_BLOCK=DCT(BLOCK);l l DCT_BLOCK(2)=DCT_BLOCK(2)*(1+a*W1(i);DCT_BLOCK(2)=DCT_BLOCK(2)*(1+a*W1(i);l l BLOCK=IDCT(DCT_BLOCK);BLOCK=IDCT(
5、DCT_BLOCK);l l I(i-1)*len_BLOCK+1:i*I(i-1)*len_BLOCK+1:i*len_BLOCKlen_BLOCK)=BLOCK;)=BLOCK;l lendendl lsave save zzzz len_Ilen_I a;a;l lwavwrite(I,sample.wavwavwrite(I,sample.wav););5提取算法参考提取算法参考l l%改进日期:改进日期:改进日期:改进日期:2010-9-272010-9-27l l%程序员:赵红程序员:赵红程序员:赵红程序员:赵红l l%一种在数字音频信号中嵌入水印的新算法一种在数字音频信号中嵌入水
6、印的新算法一种在数字音频信号中嵌入水印的新算法一种在数字音频信号中嵌入水印的新算法%王秋生王秋生王秋生王秋生l l%read watermarked audio%read watermarked audio l lclear;clear;l lclcclc;l lclose all;close all;l lload load zz;%savezz;%save zzzz len_Ilen_I音频长度音频长度音频长度音频长度 a a嵌入强度嵌入强度嵌入强度嵌入强度;l lIW=IW=wavread(sample.wavwavread(sample.wav););l l%len_Ilen_I=le
7、ngth(IWlength(IW););l lI=I=wavread(music.wavwavread(music.wav););l lW=W=imread(flower.bmpimread(flower.bmp););l l m,nm,n=size(Wsize(W););l llen_Wlen_W=length(Wlength(W(:);(:);l llen_Ilen_I=length(Ilength(I););l l%segmenting%segmentingl llen_BLOCKlen_BLOCK=floor(len_I/len_Wfloor(len_I/len_W););l l%ex
8、tracting%extractingl lfor i=1:len_Wfor i=1:len_Wl l BLOCKW=IW(i-1)*len_BLOCK+1:i*BLOCKW=IW(i-1)*len_BLOCK+1:i*len_BLOCKlen_BLOCK););l l DCT_BLOCKW=DCT(BLOCKW);DCT_BLOCKW=DCT(BLOCKW);l l BLOCK=I(i-1)*len_BLOCK+1:i*BLOCK=I(i-1)*len_BLOCK+1:i*len_BLOCKlen_BLOCK););l l DCT_BLOCK=DCT(BLOCK);DCT_BLOCK=DCT
9、(BLOCK);l l W1(i)=(DCT_BLOCKW(2)-DCT_BLOCK(2)/(DCT_BLOCK(2)*a);W1(i)=(DCT_BLOCKW(2)-DCT_BLOCK(2)/(DCT_BLOCK(2)*a);l lendendl lWzhWzh=reshape(W1,m,n);=reshape(W1,m,n);l lWzhWzh=im2bw(Wzh*128);=im2bw(Wzh*128);l lnc1=nc1=nc(W,Wzhnc(W,Wzh););l limshow(Wzh);title(ncimshow(Wzh);title(nc=,=,num2str(nc1);nu
10、m2str(nc1);6提取水印提取水印l l读音频读音频(含水印的含水印的x1,原始音频原始音频x2)求音频长度求音频长度l l音频分段(根据水印的大小分)音频分段(根据水印的大小分)取下整取下整l l对每一段对每一段x进行进行DCT变换变换(含水印的含水印的y1,原原始音频始音频y2)Y1=dct(x1)Y2=dct(x2)l l从第从第i段提取水印段提取水印l lWi=(y1-y2)/(a*y2);7评价评价l l对音频评价对音频评价 透明性(不可感知性)透明性(不可感知性)l l对水印评价对水印评价 鲁棒性鲁棒性l l客观评价客观评价客观评价客观评价l l通过攻击来测评通过攻击来测评通
11、过攻击来测评通过攻击来测评8音频数字水印的评价标准音频数字水印的评价标准 l l 人耳的主观评价:人耳的主观评价:l l 信噪比信噪比(SNR):9评价音频水印系统的鲁棒性:评价音频水印系统的鲁棒性:l l相似系数相似系数:l l归一化相关系数归一化相关系数(NC):10攻击软件及类型攻击软件及类型l l图像:图像:Photoshopl l音频攻击软件:音频攻击软件:lame&录音机录音机l l音频攻击类型音频攻击类型 重采样,重量化,重采样,重量化,mp3压缩,低通滤波,压缩,低通滤波,加噪声,加噪声,11文献文献2.(DCT,DWT)l l区别:区别:嵌入方法不同,量化嵌入嵌入方法不同,量
12、化嵌入 分段后先分段后先DWT变换再变换再DCT变换变换l lc,l=wavedec(I0,2,db1);l l%提取提取2级小波分解的低频系数和高频系级小波分解的低频系数和高频系数数l lca2=appcoef(c,l,db1,2);l lcd2=detcoef(c,l,2);l lcd1=detcoef(c,l,1);12l l对上面的每一段音频信号进行三层小波变换对上面的每一段音频信号进行三层小波变换ca3为近似分量为近似分量cd3、cd2、cd1为细节分量为细节分量13量化嵌入量化嵌入l l例如音频数据为:量化步长为例如音频数据为:量化步长为D=8l l27 30 37 49l l z
13、=round(x/D);l l3 4 5 6l l设嵌入水印为设嵌入水印为l l1 0 0 114量化嵌入量化嵌入l lX=27 30 37 49%需要量化的数据需要量化的数据l lZ=3 4 5 6%D的倍数(的倍数(D=8)l lW=1 0 0 1%水印值水印值l l3*D-D/2,4*8-D/2,5*8+D/2,6*8+D/215量化嵌入量化嵌入l lZ=3 4 5 6%D的倍数(的倍数(D=8)l lW=1 0 0 1%水印值水印值l l3*D-D/2,4*8-D/2,5*8+D/2,6*8+D/2l l找规律找规律 if(mod(Z,2)=W)X1=Z*D-D/2 else X1=Z
14、*D+D/216嵌入参考代码嵌入参考代码l l%在在在在ca2ca2系数上进行系数上进行系数上进行系数上进行DCTDCT变换变换变换变换l l%改进日期改进日期改进日期改进日期2010-9-272010-9-27l l%程序员:赵红程序员:赵红程序员:赵红程序员:赵红l lclear;clear;l lclcclc;l lclose all;close all;l lW=W=imread(flower.bmpimread(flower.bmp););l l m,nm,n=size(Wsize(W););l l%W0%W0为水印图像二维转为一维为水印图像二维转为一维为水印图像二维转为一维为水印图
15、像二维转为一维 l lW0=W(:);W0=W(:);l l%I%I为宿主音频为宿主音频为宿主音频为宿主音频l lI1=I1=wavread(music.wavwavread(music.wav););l lI=I1;I=I1;l l%2%2级小波变换,嵌入在低频,所以取嵌入水印相关部分为水印大小的四倍级小波变换,嵌入在低频,所以取嵌入水印相关部分为水印大小的四倍级小波变换,嵌入在低频,所以取嵌入水印相关部分为水印大小的四倍级小波变换,嵌入在低频,所以取嵌入水印相关部分为水印大小的四倍m*n*4m*n*4l lfor i=1:m*n*4for i=1:m*n*4l l I0(i)=I0(i)=
16、I(iI(i*3-1);*3-1);l lendendl l c,lc,l=wavedec(I0,2,db1);=wavedec(I0,2,db1);l l%提取提取提取提取2 2级小波分解的低频系数和高频系数级小波分解的低频系数和高频系数级小波分解的低频系数和高频系数级小波分解的低频系数和高频系数l lca2=appcoef(c,l,db1,2);ca2=appcoef(c,l,db1,2);l lcd2=detcoef(c,l,2);cd2=detcoef(c,l,2);l lcd1=detcoef(c,l,1);cd1=detcoef(c,l,1);l lDaDa=0.035;%=0.0
17、35;%嵌入强度嵌入强度嵌入强度嵌入强度l lx=dct2(ca2);x=dct2(ca2);l lfor j=1:m*nfor j=1:m*nl l z(jz(j)=)=round(x(j)/Daround(x(j)/Da););l l v(jv(j)=mod(z(j),2);)=mod(z(j),2);l l if(W0(j)=if(W0(j)=v(jv(j)l l x(jx(j)=)=z(jz(j)*Da-Da/2;)*Da-Da/2;l l else elsel l x(jx(j)=)=z(jz(j)*Da+Da/2;)*Da+Da/2;l l end endl lendendl lx
18、=idct2(x);x=idct2(x);l lc1=x,cd2,cd1;c1=x,cd2,cd1;l ls1=waverec(c1,l,db1);s1=waverec(c1,l,db1);l lfor i=1:m*n*4for i=1:m*n*4l l I(iI(i*3-1)=s1(i);*3-1)=s1(i);l lendendl lwavwrite(I,44100,wavetext1.wav);wavwrite(I,44100,wavetext1.wav);l lsave save zhzh DaDa m n m nl lpsnrzh(I,I1)psnrzh(I,I1)l lsnraud
19、io(I,I1)snraudio(I,I1)17量化提取量化提取l l20 28 44 52%d=8l l%取上整取上整ceil l l3 4 6 7 l l%奇数为奇数为1,偶数为,偶数为0l l1 0 0 1l l代码?代码?l lmod(ceil(x(j)/Da),2)18提取参考代码提取参考代码l l%小波域变换小波域变换小波域变换小波域变换%l l%在在在在ca2ca2系数上进行系数上进行系数上进行系数上进行DCTDCT变换变换变换变换%l l%改进日期改进日期改进日期改进日期2010-9-272010-9-27l l%程序员:赵红程序员:赵红程序员:赵红程序员:赵红l lclear
20、;clear;l lclcclc;l lclose all;close all;l lload load zh;%savezh;%save zhzh DaDa嵌入强度嵌入强度嵌入强度嵌入强度 水印大小水印大小水印大小水印大小m nm nl lIW0=wavread(wavetext1.wav);IW0=wavread(wavetext1.wav);l lfor i=1:4096*4for i=1:4096*4l l IW1(i)=IW0(i*3-1);IW1(i)=IW0(i*3-1);l lendendl l%小波变换小波变换小波变换小波变换l l c,lc,l=wavedec(IW1,2,
21、db1);=wavedec(IW1,2,db1);l l%提取提取提取提取3 3级小波分解的低频系数和高频系数级小波分解的低频系数和高频系数级小波分解的低频系数和高频系数级小波分解的低频系数和高频系数l lca2=appcoef(c,l,db1,2);ca2=appcoef(c,l,db1,2);l lcd2=detcoef(c,l,2);cd2=detcoef(c,l,2);l lcd1=detcoef(c,l,1);cd1=detcoef(c,l,1);l l%该算法是盲水印,提取过程无需原始音频,该算法是盲水印,提取过程无需原始音频,该算法是盲水印,提取过程无需原始音频,该算法是盲水印,
22、提取过程无需原始音频,l l x=dct2(ca2);x=dct2(ca2);l l%for j=1:4096%for j=1:4096l l%W(jW(j)=mod(ceil(x(j)/Da),2);)=mod(ceil(x(j)/Da),2);l l%end%endl lW=mod(ceil(x/Da),2)W=mod(ceil(x/Da),2)l l%还原为原来的值还原为原来的值还原为原来的值还原为原来的值l l%W1%W1为一维,需转为二维为一维,需转为二维为一维,需转为二维为一维,需转为二维l lW2=W2=reshape(W,m,nreshape(W,m,n););l lW2=im
23、2bw(W2*128);W2=im2bw(W2*128);l lW=W=imread(flower.bmpimread(flower.bmp););l lsubplot(221);imshow(W);title(subplot(221);imshow(W);title(原始水印原始水印原始水印原始水印););l lnc1=nc(W2,W)nc1=nc(W2,W)l lsubplot(222);imshow(W2);title(subplot(222);imshow(W2);title(提取的水印,提取的水印,提取的水印,提取的水印,ncnc=,num2str(nc1)=,num2str(nc1)19