崔立尉 馬占飛
摘 要:在我國(guó)現(xiàn)代信息計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)和信息技術(shù)不斷發(fā)展的過(guò)程中,數(shù)字化已經(jīng)成為展現(xiàn)信息的主要手段,從而方便了數(shù)字多媒體信息的存儲(chǔ)、復(fù)制和傳播。在此沒(méi)有限制任意編輯、復(fù)制、修改及傳播數(shù)字圖像、音樂(lè)等的背景下,就導(dǎo)致出現(xiàn)了信息安全、版權(quán)紛爭(zhēng)及盜版等多種社會(huì)問(wèn)題。數(shù)字水印是現(xiàn)代全新的技術(shù),其指的是信息隱藏技術(shù)在研究過(guò)程中的重要內(nèi)容。數(shù)字水印能夠?qū)ΜF(xiàn)實(shí)版權(quán)進(jìn)行有效保護(hù),目前其已經(jīng)成為多媒體信息安全研究中的重點(diǎn)內(nèi)容。數(shù)字水印能夠利用相應(yīng)的算法在被保護(hù)數(shù)字多媒體內(nèi)融入秘密信息,也就是水印,其表示版權(quán)所屬及跟蹤侵犯的行為。利用分析數(shù)字水印算法空域和變換域并且設(shè)計(jì),有效確定分塊DCT數(shù)字圖像水印算法,比如生成水印、嵌入水印、提取和檢測(cè)等。在具體使用過(guò)程中,通過(guò)DCT變換實(shí)現(xiàn)水印圖像的生成,攻擊水印圖像,驗(yàn)證魯棒性。
關(guān)鍵詞:數(shù)字水??;水印算法;離散余弦變換;Cox
DOI:10.16640/j.cnki.37-1222/t.2018.09.125
1 DCT算法中數(shù)字水印的嵌入
通過(guò)離散余弦變換性質(zhì)可以看出來(lái),利用二維離散余弦實(shí)現(xiàn)圖像轉(zhuǎn)換之后,圖像大部分能量都是在變換域中低頻部分集中。其主要是由于人眼視覺(jué)系統(tǒng)對(duì)于DCT系數(shù)低頻部分比較敏感。所以,水印信息無(wú)法在此部分能量中疊加。另外,高頻系數(shù)在系數(shù)進(jìn)行圖像壓縮時(shí)容易丟掉。所以,一般將水印加在變換域系數(shù)矩陣的低頻接近中頻系數(shù)的區(qū)域。為了適應(yīng)圖像的壓縮方式,在嵌入水印之前通常先對(duì)圖像進(jìn)行8*8大小的分塊。
以一副512*512大小的lena灰度圖像和我們的校徽灰度圖像為例說(shuō)明水印嵌入的具體步驟:
首先,將512*512的原始圖像I系數(shù)矩陣分割成為多個(gè)8*8的小塊,那么此原始圖像就會(huì)被分割成為64*64小塊,實(shí)現(xiàn)每個(gè)小塊的二維離散余弦變換。
其次,原始圖像轉(zhuǎn)變成為多個(gè)系統(tǒng)絕陣,此多個(gè)水印圖像矩陣中的每個(gè)矩陣相互對(duì)應(yīng)的原始圖像DCT系數(shù),使用公式對(duì)水印嵌入進(jìn)行計(jì)算。
最后,對(duì)此小塊信息矩陣實(shí)現(xiàn)二維DCT的逆變換,之后合并成為一個(gè)圖像,從而能夠得到圖像,此圖像已經(jīng)嵌入圖像。
用MATLAB實(shí)現(xiàn)數(shù)字水印的程序如下:
%讀入原始圖像和水印圖像并顯示
I=imread('f:\lena512.jpg');
figure(1);
subplot(2,2,1);
imshow(I);
title('原始圖像');
J=imread('f:\1.jpg');
subplot(2,2,2);
imshow(J);
title('水印圖像');
%對(duì)水印圖像進(jìn)行arnold置亂預(yù)處理
H=double(J);
tempImg=H; %圖像矩陣賦給tempImg
for n=1:5 %置亂次數(shù)
for u=1:64
for v=1:64
temp=tempImg(u,v);
ax=mod((u-1)+(v-1),64)+1;%新像素行位置
ay=mod((u-1)+2*(v-1),64)+1;%新像素列位置
outImg(ax,ay)=temp;
end
end
tempImg=outImg;
end
G=uint8(outImg);%得到置亂后的水印圖像
%嵌入水印
for p=1:64
for q=1:64 %p、q都是1到64,是因?yàn)橛?4*64個(gè)8*8的塊,每次循環(huán)處理一個(gè)塊
BLOCK1=I(((p-1)*8+1):p*8,((q-1)*8+1):q*8);%每個(gè)8*8的塊
BLOCK1=dct2(BLOCK1);%做2維的DCT變換
BLOCK1(4,5)=BLOCK1(4,5)+0.2*G(p,q);%在每塊DCT系數(shù)的4行5列處嵌入水印,系數(shù)可調(diào)
W(((p-1)*8+1):p*8,((q-1)*8+1):q*8)=idct2(BLOCK1);%做DCT反變換
end
end
%顯示嵌入水印后的圖像
imwrite(uint8(W), 'lena_mark.jpg ', 'jpg');
subplot(2,2,3);
imshow('lena_mark.jpg');
title('水印嵌入之后的圖像');
圖1.1和1.2分別給出原始圖像和水印圖像,圖1.3為嵌入水印圖像后的圖像。實(shí)驗(yàn)發(fā)現(xiàn),隨著嵌入強(qiáng)度的增大,嵌入水印后的圖像效果也越來(lái)越不好。
2 DCT算法中數(shù)字水印的提取
在實(shí)現(xiàn)水印提取的過(guò)程中,要以水印嵌入策略為基礎(chǔ)進(jìn)行逆過(guò)程,那么在此過(guò)程中要使嵌入水印圖像塊利用DCT轉(zhuǎn)換以后系數(shù)和相應(yīng)強(qiáng)度水印信息相減,就能偶對(duì)此嵌入塊水印信息進(jìn)行提取,之后對(duì)其塊所提取的水印信息實(shí)現(xiàn)反置亂,從而得出水印圖像。
水印提取的具體步驟如下:
第一步,讀入嵌入水印后的圖像W和原始水印圖像I。
第二步,實(shí)現(xiàn)W和I的分塊DCT變換,從而得出每塊系數(shù)矩陣。
第三步,對(duì)每個(gè)8*8塊的中頻系數(shù)位置上,利用公式計(jì)算出每一塊的水印信息,合并成一個(gè)整圖,就得到了提取出來(lái)的水印圖像。
用MATLAB實(shí)現(xiàn)數(shù)字水印提取程序如下:
for p=1:64
for q=1:64
BLOCK1=W(((p-1)*8+1):p*8,((q-1)*8+1):q*8);
BLOCK2=I(((p-1)*8+1):p*8,((q-1)*8+1):q*8);
BLOCK1=dct2(BLOCK1);
BLOCK2=dct2(BLOCK2);
Y(p,q)=(BLOCK1(4,5)-BLOCK2(4,5))/0.2;
end
end
% 對(duì)水印進(jìn)行arnold反置亂
for n=1:43 % 循環(huán)次數(shù)為48-5
for u=1:64
for v=1:64
temp1=Y(u,v);
bx=mod((u-1)+(v-1),64)+1;
by=mod((u-1)+2*(v-1),64)+1;
outImg1(bx,by)=temp1;
end
end
Y=outImg1;
end
%顯示提取出來(lái)的水印圖像
imwrite(uint8(Y), 'watermark.jpg ', 'jpg');
subplot(2,2,4);
imshow('watermark.jpg');
title('提取出來(lái)的水印圖像');
最終提取出來(lái)的水印圖像如圖2.1所示。
3 水印攻擊實(shí)驗(yàn)
仿真實(shí)驗(yàn)中原始圖像和水印圖像分別如圖3.1,圖3.2。
如不作說(shuō)明,默認(rèn)的嵌入策略都是取最大值系數(shù),圖4.3為添加水印之后的圖像效果。
實(shí)現(xiàn)已經(jīng)嵌入水印圖像實(shí)施濾波、剪切、壓縮和旋轉(zhuǎn)等一系列操作,然后提取水印。
3.1 加噪
白噪聲或者白雜訊指的是功率頻譜密度屬于常數(shù)的隨機(jī)過(guò)程或者信號(hào)。簡(jiǎn)單來(lái)說(shuō),此種信號(hào)在不同頻段中的功率都相同。因?yàn)榘坠馐峭ㄟ^(guò)多種頻率或者顏色單色光的結(jié)合,所以此信號(hào)具有平坦功率譜特點(diǎn),也可以稱之為白色的、白噪聲。相反,其他沒(méi)有此種特點(diǎn)的噪聲信號(hào)為有色噪聲。要對(duì)圖像進(jìn)行白噪聲添加處理,圖4.4為添加白噪聲的效果。
3.2 低通濾波
低通濾波低的主要功能就是使率頻率能夠?qū)Ω哳l進(jìn)行濾波或者衰減,其主要作用就是對(duì)高頻噪聲進(jìn)行過(guò)濾。那么低通濾波效果就是增加圖像去燥平滑,但是也對(duì)圖像邊界造成了抑制,從而導(dǎo)致圖像模糊。
3.3 仿真結(jié)果分析
圖像經(jīng)離散余弦變換后,得到的離散余弦變換系數(shù)有3個(gè)特點(diǎn):第一個(gè)特點(diǎn),系數(shù)值全部在0值附近所集中,其的動(dòng)態(tài)范圍比較小,以此表示使用小量化比特?cái)?shù)就能夠?qū)﹄x散余弦變換系數(shù)進(jìn)行表示;第二個(gè)特點(diǎn),離散余弦變換之后的圖像能量在圖像低頻部分進(jìn)行變換,也就是系數(shù)中不是0的系數(shù),其大部分都較為集中,所以具有較高的編碼效率;第三個(gè)特點(diǎn),無(wú)法實(shí)現(xiàn)原圖模塊中精細(xì)結(jié)構(gòu)進(jìn)行保存,以此無(wú)法展現(xiàn)原本圖像模塊的輪廊及邊緣等一系列的信息。
4 結(jié)論
本文以國(guó)際國(guó)內(nèi)和數(shù)字水印技術(shù)發(fā)展現(xiàn)狀和趨勢(shì)為基礎(chǔ),對(duì)數(shù)字水印技術(shù)內(nèi)容與知識(shí)進(jìn)行了全面的研究和分析。系統(tǒng)性的對(duì)數(shù)字水印知識(shí)進(jìn)行了分析,比如數(shù)字水印基本特點(diǎn)、概念和其使用的領(lǐng)域等。對(duì)數(shù)字水印算法理論基礎(chǔ)進(jìn)行了詳細(xì)的分析,并且詳細(xì)研究了DCT算法,主要研究該算法從水印的嵌入、到提取的過(guò)程,并利用仿真實(shí)驗(yàn)的方式對(duì)水印圖像進(jìn)行了攻擊,攻擊手段多樣化,從而進(jìn)行了驗(yàn)證。
參考文獻(xiàn):
[1]許文麗,王命宇,馬君 數(shù)字水印技術(shù)及應(yīng)用[J].電子工業(yè)出版社,2012(08):24-25.
[2]許文麗,王命宇,馬君 數(shù)字水印技術(shù)及應(yīng)用[J].電子工業(yè)出版社,2012(08):28.
[3]COX,I.J.AND MILLER,M.L.2002.Electronic watermarking:The first 50 years.EURASIPJ.Appl.Signal Process.2002,2(February),126-132.
[4]COX,I.J.,KILIAN,J.,LEIGHTON,T.,AND SHAMOON,T.1997.Secure spread Spectrum watermarking for multimedia.IEEE Trans.Image Process.6,1 2(Dec.),1673-1687.
[5]cox,I.J.ANDMILLER,M.1997.A review of watermarking and importance of perceptual modelling.In Proceedings of SPIE Human Vision and Imaging.V01.3016.92-99.
[6]Mauro Bami,F(xiàn)ranco Bartolini,Vito Cappellini and Alessandro Piva.1997.A DCT-domain system for robust image watermarking.Signal Processing Volume 66,Issue3,28 May 1998,Pages357-372.