李養(yǎng)勝
(陜西工業(yè)職業(yè)技術(shù)學(xué)院信息工程學(xué)院 咸陽 712000)
?
基于最大水紋疊加與尺度縮放的圖像數(shù)字水印算法
李養(yǎng)勝
(陜西工業(yè)職業(yè)技術(shù)學(xué)院信息工程學(xué)院咸陽712000)
為了解決當(dāng)前圖像水印算法在面對嵌入水紋容量較大時,其不可見性較差的不足,論文設(shè)計了基于最大水紋疊加尺度縮放的圖像數(shù)字水紋嵌入與提取算法。首先,基于最低位像素修改的LSB嵌入算子,嵌入初步水紋信息;然后變換圖像到離散余弦域DCT,將剩余水紋疊加到幅值最大處,設(shè)計了水紋完整嵌入機制;最后,將含水紋圖像進行縮放攻擊后,再提取水紋。實驗數(shù)據(jù)顯示:與當(dāng)前圖像水印算法相比,在面對水紋嵌入容量較大時,論文算法擁有更高安全性,具有較強的不可見性與抗攻擊性。
圖像水印; LSB; DCT; 水紋疊加; 水紋容量; 水紋完整嵌入機制
Class NumberTP391
近年來,圖像數(shù)字水印技術(shù)不斷發(fā)展,已經(jīng)廣泛地應(yīng)用于保護信息安全、實現(xiàn)防偽溯源、版權(quán)保護等,是信息隱藏研究領(lǐng)域的重要分支和方向[1]。圖像數(shù)字水印將標(biāo)識信息直接嵌入數(shù)字載體中,且不影響原載體的使用價值,也不容易被探知和再次修改,可以達到確認(rèn)內(nèi)容創(chuàng)建者、購買者、傳送隱秘信息或者判斷載體是否被篡改等目的[2]。
對此,國內(nèi)專家學(xué)者設(shè)計了諸多圖像水印算法。如李雪景[3]設(shè)計實現(xiàn)了基于圖像插值和直方圖平移的可逆水印算法,利用插值方法將圖像放大四倍,既增加了圖像的像素個數(shù),又增強了像素之間的相關(guān)性,使用上下左右四個像素點計算像素點的預(yù)測誤差值,并構(gòu)造直方圖,在峰值點處嵌入水印信息,達到了圖像水印嵌入的目的。如陳青[4]設(shè)計了一種新的基于偽Zernike矩的圖像盲水印算法,計算圖像歸一化后的偽Zernike矩,然后選取部分合適的矩通過量化調(diào)制嵌入水印信息,有效提高了對于幾何攻擊尤其是旋轉(zhuǎn)攻擊的魯棒性。何冰[5]設(shè)計了基于設(shè)計DCT域彩色圖像的數(shù)字水印算法,選擇性地嵌入受保護圖像的DCT變換后的直流分量系數(shù)中,所嵌入的二值水印信息量可以根據(jù)實際需要自適應(yīng)地增加,達到了將數(shù)字水印技術(shù)用于現(xiàn)實生活中的目的。
雖然以上方法可以實現(xiàn)普通水印的有效嵌入,但是當(dāng)水印內(nèi)容多,且同時受縮放攻擊時,往往出現(xiàn)不可見性差或信息丟失的問題。
對此,本文提出了基于LSB與DCT的圖像數(shù)字水紋嵌入與提取算法。首先,深入研究了LSB、DCT兩種算法,并編程實現(xiàn),進行反復(fù)實驗驗證,形成兩者相結(jié)合的水印嵌入算子。然后對圖像進行縮放攻擊,以與嵌入算子相反的過程,提取水印,提高算法的抗攻擊性。最后,從算法的不可見性與抗攻擊性兩方面驗證了本文算法的安全性能。
本文目的是對水紋內(nèi)容較多的圖像進行水紋嵌入與提取,提高算法的不可見性與抗攻擊能力。本文硬件系統(tǒng)為一臺普通PC,在PC端開發(fā)水紋嵌入與提取軟件。
圖1 本文機制架構(gòu)
該算法的流程見圖1,其主要分為三部分:首先,對圖像與水紋進行分塊處理,即把圖像分割成相同的兩部分,水紋亦然。然后利用LSB將上半部分水紋嵌入上半部分圖像、利用DCT下半部分水紋嵌入下半部分圖像,充分利用發(fā)揮兩種算法,完成基于LSB與DCT的嵌入算子。最后,對嵌入水紋后的圖像進行縮放攻擊后,以與嵌入過程相反的處理,提取出水紋。
2.1基于LSB與DCT的水紋嵌入算子
本文采用兩種嵌入算法并行的技術(shù)來完成圖像水印處理,分別是LSB與DCT。LSB(Least Significant Bit)是最低有效位算法,由于像素數(shù)據(jù)最低有效位對人眼視覺影響很小,故本文引入該技術(shù)來提高算法的安全性與降低計算量[6~7]。本文算法是直接改變圖像像素最后一位,使之和秘密信息(水紋)相同。以圖3為水紋圖像,將其上半部分內(nèi)容嵌入到Lena原圖中。再通過DCT變換,將水紋下半部分內(nèi)容嵌入到Lena圖像中的下半部分內(nèi)容中,形成完成的嵌入圖像。
而DCT是把圖像轉(zhuǎn)換到DCT域,再嵌入水印。首先計算圖像的DCT,然后將水印疊加到DCT域中幅值最大的前五個系數(shù)上,不包括直流分量,通常為圖像低頻分量[8~9]。DCT系數(shù)前五個最大分量表示為
D={di} (i=1,2,…,5)
(1)
由于水印是隨機實數(shù)序列:
W={wi} (i=1,2,…,5)
(2)
則依據(jù)模型(2)可知,水印嵌入函數(shù)為
Di=di(1+awi)
(3)
式中,a為尺度因子,控制水紋嵌入強度。
DCT的優(yōu)點是將水紋嵌入到頻域,使信息不可見性好。同樣,以圖3為水紋圖像,將其下部分內(nèi)容嵌入到Lena原圖(圖2)的下半部分中。最終形成的嵌入水紋圖像,如圖4所示。依圖可知,通過耦合LSB與DCT,獲得了較好的嵌入效果,攻擊者很難從該圖中看見水紋。
圖2 Lena原圖
圖3 水紋
圖4 水紋嵌入效果圖
部分關(guān)鍵代碼:
void Ash(BYTE* image0, BYTE* image1, unsigned int w, unsigned int h, unsigned int size){
BYTE** imageBuf0 = CreatImage(image0, w, h);
BYTE** imageBuf1 = CreatImage(image1, w, h);
int* templt;int x,y;
int a;int scale;
templt = new int[size * size];
for(x=0; x templt[x]=1;} scale = size*size; for(y=size/2; y for(x=size/2; x a=TempltExcuteAsh(imageBuf0,w,h,templt,size,x,y); a/= scale; a = a>255?255:a; a = a<0?0:a; SetPixelXY(imageBuf1,x,y,a);}} delete[] templt; free(imageBuf0); free(imageBuf1);} 2.2縮放攻擊后的水紋提取 在實際傳輸過程中,圖像往往受到各種攻擊,影響水紋信息完整提取,常見攻擊有幾何縮放。本文將圖4比例縮小為原來的1/4,如圖5所示。 圖5 縮放攻擊后圖像 然后采用與上節(jié)介紹嵌入方法的逆過程進行水紋提取。先對圖像半部分進行檢測,提取出含水紋圖像像素的最低位即可。然后對下半部分進行檢測,將水紋圖像與原始圖像分別轉(zhuǎn)換到DCT域,并相減得到水紋DCT域估計值,逆變換后得水紋圖像[10]。計算公式如下所示: w=DCT-1(Iw-I) (4) 式中I為DCT域的原始圖像,Iw為DCT域含水紋的圖像,w為提取的水紋圖像。 經(jīng)逆嵌入過程處理攻擊后的水紋圖像,期檢測結(jié)果如圖6。依圖可知,水紋提取完整,顯示其具有較強的抗攻擊性能與魯棒性。 圖6 水紋提取效果圖 關(guān)鍵代碼: int ValueAsh(BYTE** imageBuf0, int w, int h, int* templt, int tw, int x, int y){ int i,j,k; int px,py,c; int* value; int count; value= new int[tw*tw]; k=0; for(i=0; i for(j=0; j py=y-tw/2+i; px=x-tw/2+j; if(templt[i*tw+j]>0){ value[k]=GetAsh(imageBuf0,px,py); k++;}}} count=k; for(i=0; i k=i; for(j=i+1; j if(value[j] c=value[i]; value[i]=value[k]; value[k]=c;} c=value[count/2]; delete[] value; return c;} 利用Matlab語言編程,實現(xiàn)了圖像數(shù)字水紋嵌入與檢測系統(tǒng),軟件界面如圖7所示,該開發(fā)軟件具有“水紋嵌入”、“水紋檢測”及其他狀態(tài)顯示功能。打開視頻,如圖8所示,即待嵌入水紋的原圖。 同時,為了體現(xiàn)本文圖像水印算法的優(yōu)勢,將當(dāng)前水紋水印性能較好的算法視為對照組:文獻[4]。再利用本文算法與文獻[4]技術(shù)對圖8進行大容量水紋(圖9)嵌入處理,測試算法的不可見性,結(jié)果見圖10~圖11;然后對含水紋圖像進行幾何縮放攻擊,測試提取的抗攻擊性,結(jié)果見圖12~圖13。依圖可知,本文算法的水印性能較好,嵌入圖像具有較強的不可見性,見圖10,顯示本文算法具有較強的魯棒性與抗攻擊性;而文獻[4]技術(shù)的不可見性較差,見圖中方框所示,見圖11。原因是本文嵌入算法耦合LSB與DCT兩種技術(shù)的優(yōu)點,使得嵌入處理后圖像不可見性更好。而文獻[4]單純采用圖像插值,當(dāng)水紋信息容量大的情況下,嵌入效果不佳,出現(xiàn)少量水紋可見。 圖7 軟件界面 圖9 水紋 圖10 本文算法的水紋嵌入結(jié)果 然后分別對圖10、圖11進行幾何縮放攻擊,縮小至原圖1/8,再分別進行檢測。經(jīng)過本文算法處理后,其檢測效果如圖12所示,其水紋提取完整,顯示其抗攻擊性良好;而文獻[4]算法的水紋圖像,經(jīng)過逆過程提取,檢測效果如圖13所示,出現(xiàn)水紋內(nèi)容缺失,易見抗攻擊性不佳,原因是單純采用空間域變換的插值運算,在圖水紋信息量大、幾何攻擊力度大的情況下,抗攻擊性往往出現(xiàn)不穩(wěn)定。 圖11 文獻[4]嵌入結(jié)果 圖12 本文算法的水紋提取效果 圖13 文獻[4]算法的水紋提取效果圖 本文解決的問題:水紋信息大、幾何縮放攻擊大,影響水紋嵌入不可見性、水紋檢測穩(wěn)定性。本文提出了一個基于LSB與DCT的數(shù)字水紋嵌入與提取系統(tǒng),并編程實現(xiàn)。首先對圖像與水紋分塊,LSB與DCT并行應(yīng)用,完成水紋嵌入。然后建立幾何攻擊機制,逆過程提取水紋。最后進行對比實驗評價,與當(dāng)前比較好的圖像數(shù)字水紋技術(shù)相比,本文算法擁有更良好的不可見性與抗攻擊性。 [1] 趙春玉.基于DCT變換的彩色圖像水印盲提取算法[J].計算機工程與設(shè)計,2015,18(31):83-87. ZHAO Chunyu. Blind extraction algorithm of color image watermarking based on DCT transform[J]. Computer Engineering and Design,2015,18(31):83-87. [2] Anurag Mishra, Charu Agarwal, Arpita Sharma. Optimized gray-scale image watermarking using DWT-SVD and Firefly Algorithm[J]. Expert Systems With Applications,2014,41(17):7858-7867. [3] 李雪景.基于圖像插值和直方圖平移的可逆水印算法[J].計算機應(yīng)用研究,2016,25(12):231-236.LI Xuejing. Reversible watermarking algorithm based on image interpolation and histogram translation[J]. Application Research of Computer,2016,25(12):231-236. [4] 陳青.一種新的基于偽Zernike矩的圖像盲水印算法[J].計算機應(yīng)用研究,2016,32(5):12-17. CHEN Qing. A new blind image watermarking algorithm based on pseudo Zernike moments[J]. Application Research of Computer,2016,32(5):12-17. [5] 何冰.基于DCT域彩色圖像的數(shù)字水印算法[J].渭南師范學(xué)院學(xué)報,2015,14(22):147-150. HE Bing. Digital watermarking algorithm based on DCT domain color image[J]. Journal of Weinan Teachers University,2015,14(22):147-150. [6] Hirak Kumar Maity, Santi P. Maity. FPGA implementation of reversible watermarking in digital images using reversible contrast mapping[J]. The Journal of Systems & Software,2014,96(10):93-104. [7] 項世軍.一種同態(tài)加密域圖像可逆水印算法[J].計算機學(xué)報,2015,33(53):86-90. XIANG Shijun. A reversible watermarking algorithm for image in the field of image encryption[J]. Computer Science,2015,33(53):86-90. [8] Jianhua Wu, Fangfang Guo, Yaru Liang. Triple color images encryption algorithm based on scrambling and the reality-preserving fractional discrete cosine transform[J]. Optik-International Journal for Light and Electron Optics,2014,125(16):4474-4479. [9] 陳木生.抗亮度與對比度攻擊的Contourlet域圖像水印方法[J].計算機工程,2015,33(17):46-49. CHEN Musheng. Contourlet domain image watermarking method for resisting luminance and contrast attack[J]. Computer Engineering,2015,33(17):46-49. [10] Xiang-yang Wang, Chun-peng Wang, Hong-ying Yang. A robust blind color image watermarking in quaternion Fourier transform domain[J]. The Journal of Systems & Software,2013,86(2):255-277. Image Digital Watermarking Algorithm Based on Maximum Wave Superposition and Scale LI Yangsheng (College of Information Engineering, Shaanxi Industrial Vocational College, Xianyang712000) In order to solve the defect such as poor invisibility of the current image watermarking algorithm in the face of embedding large watermark capacity, in this paper, digital image watermark embedding and extracting algorithm based on maximum wave superposition and scale is proposed. First, based on the low pixel modified LSB embedding operator, preliminary watermark information is imbedded, then image is transformed to discrete cosine domain, the remaining watermark superimposes to the maximum, the watermark embed complete mechanism is designed, finally, the watermarked image conducts scaling attack, and then extracts the watermark. The experimental data show that compared with the current image watermarking algorithm, in the face of watermark embedding capacity is large, the algorithm in this paper has higher security, strong invisibility and anti-attack. image watermarking, LSB, DCT, wave superposition, water capacity, complete watermark embedding mechanism 2016年2月10日, 2016年3月21日 李養(yǎng)勝,男,碩士,講師,研究方向:計算機應(yīng)用、圖像處理。 TP391 10.3969/j.issn.1672-9722.2016.08.0403 實驗與討論
4 結(jié)語