李養(yǎng)勝
(陜西工業(yè)職業(yè)技術學院信息工程學院 咸陽 712000)
?
基于最大水紋疊加與尺度縮放的圖像數字水印算法
李養(yǎng)勝
(陜西工業(yè)職業(yè)技術學院信息工程學院咸陽712000)
為了解決當前圖像水印算法在面對嵌入水紋容量較大時,其不可見性較差的不足,論文設計了基于最大水紋疊加尺度縮放的圖像數字水紋嵌入與提取算法。首先,基于最低位像素修改的LSB嵌入算子,嵌入初步水紋信息;然后變換圖像到離散余弦域DCT,將剩余水紋疊加到幅值最大處,設計了水紋完整嵌入機制;最后,將含水紋圖像進行縮放攻擊后,再提取水紋。實驗數據顯示:與當前圖像水印算法相比,在面對水紋嵌入容量較大時,論文算法擁有更高安全性,具有較強的不可見性與抗攻擊性。
圖像水印; LSB; DCT; 水紋疊加; 水紋容量; 水紋完整嵌入機制
Class NumberTP391
近年來,圖像數字水印技術不斷發(fā)展,已經廣泛地應用于保護信息安全、實現防偽溯源、版權保護等,是信息隱藏研究領域的重要分支和方向[1]。圖像數字水印將標識信息直接嵌入數字載體中,且不影響原載體的使用價值,也不容易被探知和再次修改,可以達到確認內容創(chuàng)建者、購買者、傳送隱秘信息或者判斷載體是否被篡改等目的[2]。
對此,國內專家學者設計了諸多圖像水印算法。如李雪景[3]設計實現了基于圖像插值和直方圖平移的可逆水印算法,利用插值方法將圖像放大四倍,既增加了圖像的像素個數,又增強了像素之間的相關性,使用上下左右四個像素點計算像素點的預測誤差值,并構造直方圖,在峰值點處嵌入水印信息,達到了圖像水印嵌入的目的。如陳青[4]設計了一種新的基于偽Zernike矩的圖像盲水印算法,計算圖像歸一化后的偽Zernike矩,然后選取部分合適的矩通過量化調制嵌入水印信息,有效提高了對于幾何攻擊尤其是旋轉攻擊的魯棒性。何冰[5]設計了基于設計DCT域彩色圖像的數字水印算法,選擇性地嵌入受保護圖像的DCT變換后的直流分量系數中,所嵌入的二值水印信息量可以根據實際需要自適應地增加,達到了將數字水印技術用于現實生活中的目的。
雖然以上方法可以實現普通水印的有效嵌入,但是當水印內容多,且同時受縮放攻擊時,往往出現不可見性差或信息丟失的問題。
對此,本文提出了基于LSB與DCT的圖像數字水紋嵌入與提取算法。首先,深入研究了LSB、DCT兩種算法,并編程實現,進行反復實驗驗證,形成兩者相結合的水印嵌入算子。然后對圖像進行縮放攻擊,以與嵌入算子相反的過程,提取水印,提高算法的抗攻擊性。最后,從算法的不可見性與抗攻擊性兩方面驗證了本文算法的安全性能。
本文目的是對水紋內容較多的圖像進行水紋嵌入與提取,提高算法的不可見性與抗攻擊能力。本文硬件系統為一臺普通PC,在PC端開發(fā)水紋嵌入與提取軟件。
圖1 本文機制架構
該算法的流程見圖1,其主要分為三部分:首先,對圖像與水紋進行分塊處理,即把圖像分割成相同的兩部分,水紋亦然。然后利用LSB將上半部分水紋嵌入上半部分圖像、利用DCT下半部分水紋嵌入下半部分圖像,充分利用發(fā)揮兩種算法,完成基于LSB與DCT的嵌入算子。最后,對嵌入水紋后的圖像進行縮放攻擊后,以與嵌入過程相反的處理,提取出水紋。
2.1基于LSB與DCT的水紋嵌入算子
本文采用兩種嵌入算法并行的技術來完成圖像水印處理,分別是LSB與DCT。LSB(Least Significant Bit)是最低有效位算法,由于像素數據最低有效位對人眼視覺影響很小,故本文引入該技術來提高算法的安全性與降低計算量[6~7]。本文算法是直接改變圖像像素最后一位,使之和秘密信息(水紋)相同。以圖3為水紋圖像,將其上半部分內容嵌入到Lena原圖中。再通過DCT變換,將水紋下半部分內容嵌入到Lena圖像中的下半部分內容中,形成完成的嵌入圖像。
而DCT是把圖像轉換到DCT域,再嵌入水印。首先計算圖像的DCT,然后將水印疊加到DCT域中幅值最大的前五個系數上,不包括直流分量,通常為圖像低頻分量[8~9]。DCT系數前五個最大分量表示為
D={di} (i=1,2,…,5)
(1)
由于水印是隨機實數序列:
W={wi} (i=1,2,…,5)
(2)
則依據模型(2)可知,水印嵌入函數為
Di=di(1+awi)
(3)
式中,a為尺度因子,控制水紋嵌入強度。
DCT的優(yōu)點是將水紋嵌入到頻域,使信息不可見性好。同樣,以圖3為水紋圖像,將其下部分內容嵌入到Lena原圖(圖2)的下半部分中。最終形成的嵌入水紋圖像,如圖4所示。依圖可知,通過耦合LSB與DCT,獲得了較好的嵌入效果,攻擊者很難從該圖中看見水紋。
圖2 Lena原圖
圖3 水紋
圖4 水紋嵌入效果圖
部分關鍵代碼:
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é)介紹嵌入方法的逆過程進行水紋提取。先對圖像半部分進行檢測,提取出含水紋圖像像素的最低位即可。然后對下半部分進行檢測,將水紋圖像與原始圖像分別轉換到DCT域,并相減得到水紋DCT域估計值,逆變換后得水紋圖像[10]。計算公式如下所示: w=DCT-1(Iw-I) (4) 式中I為DCT域的原始圖像,Iw為DCT域含水紋的圖像,w為提取的水紋圖像。 經逆嵌入過程處理攻擊后的水紋圖像,期檢測結果如圖6。依圖可知,水紋提取完整,顯示其具有較強的抗攻擊性能與魯棒性。 圖6 水紋提取效果圖 關鍵代碼: 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語言編程,實現了圖像數字水紋嵌入與檢測系統,軟件界面如圖7所示,該開發(fā)軟件具有“水紋嵌入”、“水紋檢測”及其他狀態(tài)顯示功能。打開視頻,如圖8所示,即待嵌入水紋的原圖。 同時,為了體現本文圖像水印算法的優(yōu)勢,將當前水紋水印性能較好的算法視為對照組:文獻[4]。再利用本文算法與文獻[4]技術對圖8進行大容量水紋(圖9)嵌入處理,測試算法的不可見性,結果見圖10~圖11;然后對含水紋圖像進行幾何縮放攻擊,測試提取的抗攻擊性,結果見圖12~圖13。依圖可知,本文算法的水印性能較好,嵌入圖像具有較強的不可見性,見圖10,顯示本文算法具有較強的魯棒性與抗攻擊性;而文獻[4]技術的不可見性較差,見圖中方框所示,見圖11。原因是本文嵌入算法耦合LSB與DCT兩種技術的優(yōu)點,使得嵌入處理后圖像不可見性更好。而文獻[4]單純采用圖像插值,當水紋信息容量大的情況下,嵌入效果不佳,出現少量水紋可見。 圖7 軟件界面 圖9 水紋 圖10 本文算法的水紋嵌入結果 然后分別對圖10、圖11進行幾何縮放攻擊,縮小至原圖1/8,再分別進行檢測。經過本文算法處理后,其檢測效果如圖12所示,其水紋提取完整,顯示其抗攻擊性良好;而文獻[4]算法的水紋圖像,經過逆過程提取,檢測效果如圖13所示,出現水紋內容缺失,易見抗攻擊性不佳,原因是單純采用空間域變換的插值運算,在圖水紋信息量大、幾何攻擊力度大的情況下,抗攻擊性往往出現不穩(wěn)定。 圖11 文獻[4]嵌入結果 圖12 本文算法的水紋提取效果 圖13 文獻[4]算法的水紋提取效果圖 本文解決的問題:水紋信息大、幾何縮放攻擊大,影響水紋嵌入不可見性、水紋檢測穩(wěn)定性。本文提出了一個基于LSB與DCT的數字水紋嵌入與提取系統,并編程實現。首先對圖像與水紋分塊,LSB與DCT并行應用,完成水紋嵌入。然后建立幾何攻擊機制,逆過程提取水紋。最后進行對比實驗評價,與當前比較好的圖像數字水紋技術相比,本文算法擁有更良好的不可見性與抗攻擊性。 [1] 趙春玉.基于DCT變換的彩色圖像水印盲提取算法[J].計算機工程與設計,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].計算機應用研究,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].計算機應用研究,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域彩色圖像的數字水印算法[J].渭南師范學院學報,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].計算機學報,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)勝,男,碩士,講師,研究方向:計算機應用、圖像處理。 TP391 10.3969/j.issn.1672-9722.2016.08.0403 實驗與討論
4 結語