潘瑞冬 廖琪男
摘要:為了有效實現(xiàn)對數(shù)字圖像的版權(quán)保護和提高算法的抗攻擊性能,提出了一種基于DCT直流系數(shù)和模運算的數(shù)字圖像零水印算法。首先根據(jù)灰度水印的大小對載體圖像分塊,直接在空域中提取每一子塊的DCT直流系數(shù)作為載體圖像的特征圖像;然后用灰度水印與特征圖像相加的模運算結(jié)果作為零水印。理論分析和實驗結(jié)果表明,該文算法與基于DWT和XOR操作的同類算法相比,不僅具備空域算法計算復雜度低的優(yōu)點,還具有更強得多的抗JPEG壓縮、抗圖像濾波處理和抗噪聲攻擊等能力。
關(guān)鍵詞:零水?。浑x散余弦變換;直流系數(shù);模函數(shù);空域
中圖分類號:TP751 文獻標識碼:A 文章編號:1009-3044(2015)11-0210-03
1 引言
隨著互聯(lián)網(wǎng)和多媒體技術(shù)的飛速發(fā)展和廣泛應用,數(shù)字水印技術(shù)也因此成為信息網(wǎng)絡(luò)安全技術(shù)研究的熱點。不可感知性和魯棒性是數(shù)字水印方案的最重要性質(zhì)。傳統(tǒng)的數(shù)字水印技術(shù)都要對載體圖像空域或變換域的信息進行一定的修改, 從而造成載體圖像質(zhì)量下降。為了解決水印的不可感知性和魯棒性之間的矛盾,零水印方案被提了出來。所謂零水印是指利用載體圖像的重要特征來構(gòu)建水印,而不對載體圖像作任何修改的水印技術(shù)。
零水印算法可以分為兩大類:空域方法[1 ,3]和變換域方法[2,4,5]。本文在深入研究已有零水印算法的基礎(chǔ)上,深入研究模運算特性,提出簡單而魯棒性很強的基于DCT直流系數(shù)和模操作的灰度零水印算法。
2 相關(guān)技術(shù)
2.1離散余弦變換
離散余弦變換(discrete cosine transform, DCT),是數(shù)字圖像處理以及信號處理常用的一種正交變換。設(shè)大小為M×N的圖像或圖像塊為f(x,y), 其DCT定義為
[F(u,v)=x=0M-1y=0N-1c(u)c(v)f(x,y)cosπ(2x+1)u2Mcosπ(2Y+1)v2N] (1)
式中,u=0,1,2, …,M-1, v=0,1,2, …,N-1。
[c(u)= 1M u=0 2M u=1,2,…,M-1] (2)
[c(v)= 1N v=0 2N v=1,2,…,N-1] (3)
由式(1)可知,當u=0, v=0, 即DCT直流(direct current, DC)系數(shù)可表示為
[F(0,0)=1MNx=0M-1y=0N-1f(x,y)] (4)
由式(4)可以看出,DC系數(shù)可以代表圖像或圖像塊平均亮度,可以直接在空域中通過簡單的數(shù)學運算求得,而無須經(jīng)過復雜的DCT得到。
2.2 Logistic混沌系統(tǒng)
Logisti映射是一個非常簡單而在數(shù)字水印技術(shù)中最常用的一維混沌系統(tǒng),其定義為
[xn+1=μxn(1-xn)] (5)
其中,0≤μ≤4稱為分枝參數(shù)。當xn∈(0,1),且3.5699456<μ≤4 時,Logistic 映射工作處于混沌狀態(tài),此時生成的序列{xn , n=0,1,2,…}具有良好的隨機統(tǒng)計特性,是較理想的混沌偽隨機序列。
3 本文零水印算法
設(shè)載體圖像和水印圖像均為256級灰度圖像,載體圖像I大小為M×N,水印圖像W大小為m×n,本文零水印算法使用在密鑰key=(μ,x0)下由式(5)產(chǎn)生的Logistic混沌序列為
[Xi|i=1,2,3,…,M×N] (6)
序列X的前m×n項序列用于置亂水印,后m×n項序列用于加密零水印信息。
3.1 水印置亂
為提高水印算法的魯棒性和安全性,對原水印W進行混沌置亂加密。取式(6)的混沌序列X的前m×n項序列組成序列{aXi|i=1,2,…,m×n},aX排序得到有序序列{tXi|i=1,2,…,m×n},由tX在aX中的位置索引為序列值生成服從[1,m×n]的混沌隨機序列{sXi|i=1,2,…,m×n},按光柵掃描順序,該序列值對應W的像素位置(row,col)為
[row(i)=sX(i)ncol(i)=sX(i)-(row(i)-1)n] (7)
W從(row,col)變換到(i,j)得到置亂水印Wc為
[Wc(i,j)=W(row((i-1)×n+j),col((i-1)×n+j))] (8)
式中,i=1,2,…, m,j=1,2,…,n。
3.2 零水印構(gòu)建算法
3.2.1圖像特征信息的提取
根據(jù)水印圖像W大小把載體圖像劃分為m×n不重疊子塊,子塊大小為h×w, 則
[ h=Mm w=Nn] (9)
取子塊集B的每一子塊的DCT直流系數(shù)構(gòu)成載體圖像I的特征C,特征矩陣C根據(jù)式(4)直接從空域中計算,計算公式為
[C(u,v)=1hwi=1hj=1wB(u,v)(i,j)] (10)
式中,u=1,2,…,m,v=1,2,…,n。
3.2.2 零水印生成
由載體圖像特征C(i,j)與置亂后的水印像素Wc(i,j)通過模運算構(gòu)建零水印信息F為
[F(i,j)=mod(C(i,j)+Wc(i,j),256)] (11)
式中,i=1,2,…,m,j=1,2,…,n。
3.2.3 零水印加密
為了進一步提高零水印在注冊中心的安全性,用XOR操作對其加密。取混沌序列{Xi|i=1,2,…, M×N}的后m×n項組成序列{bXi|i=1,2,…, m×n}作為加密序列,將其變換為8位無符號整數(shù),計算公式為
[bX(i)=round(bX(i)×10k)mod256] (12)
式中,round()為取最近整數(shù)函數(shù),i=1,2,…, m×n,k≥4。將bX(i)序列組成m×n矩陣sY為
[sY(i,j)=bX((i-1)n+j)] (13)
式中,i=1,2,…,m,j=1,2,…,n。
利用XOR操作把零水印信息加密為
[F(i,j)=F(i,j)⊕sY(i,j)] (14)
經(jīng)過式(14)加密后的零水印的像素統(tǒng)計特性將被徹底改變。
3.3 水印檢測算法
水印的檢測過程是水印構(gòu)建過程的逆過程。在待檢測的載體圖像I提取圖像特征信息,并與在IPR水印數(shù)據(jù)庫中注冊的零水印信息進行逆運算得到檢測水印W′。
對于有特定含義的水印圖像而言,一般所提取的水印效果可由原水印W和檢出的水印W′進行歸一化相關(guān)性計算來輔助度量,或作為魯棒性比較。歸一化相關(guān)計算公式為
[NC=i=1mj=1nW(i,j)W′(i,j)i=1mj=1nW2(i,j)i=1mj=1nW′2(i,j)] (15)
實驗證明,對于灰度水印,歸一化系數(shù)NC不能較好反映檢測水印和原水印的相似程度,故本文用峰值信噪比(PSNR)來衡量檢測水印的視覺質(zhì)量及評價算法性能比較,其定義為
[PSNR=10×log10(2552/MSE)] (16)
式中,MSE是原水印圖像W與檢測水印圖像W′之間的均方差,計算公式為
[] [MSE=1m×ni=1mj=1n(W(i,j)-W′(i,j))2] (17)
式中,m和n分別為水印圖像的高和寬。
4 實驗結(jié)果與分析
已通過大量實驗證明本文算法的有效性和可行性。限于篇幅,在此僅給出代表性的實驗結(jié)果。
實驗平臺為Matlab2012b,載體圖像為8位 Lena 512×512標準灰度測試圖像,水印為8位logo 128×128灰度圖像,如圖1所示。logo為高亮圖像,式(18)和(19)中,a=0,b=220。Logistic系統(tǒng)密鑰key=(μ,x0)=(3.9,0.32579),式(12)中k=7。
(a)Lena圖像 (b)水印圖像 (a)零水印信息 (b)直方圖
圖1 實驗圖像 圖2 零水印信息加密效果
4.1 零水印信息與安全性
零水印信息圖像及其灰度直方圖如圖2所示。
水印信息的安全性取決于密鑰和水印信息像素特征值統(tǒng)計。密鑰的安全性由Logistic系統(tǒng)保證,Logistic系統(tǒng)的密鑰key不僅密鑰空間足夠大,而且很敏感。從圖2實驗效果表明不僅水印信息圖像加密效果好,而且其灰度直方圖在[0,255]范圍內(nèi)分布均勻,可以抵御來自像素特征值統(tǒng)計的攻擊。
4.2 零水印算法魯棒性實驗
本實驗為本文算法與文獻[9-10]為代表的基于DWT和XOR操作的同類算法的魯棒性對比實驗。文獻[9-10]算法在DWT二層低頻子帶構(gòu)建零水印。實驗項目與數(shù)據(jù)如表1所示。
表1 本文算法與基于DWT算法的魯棒性實驗對比結(jié)果
[實驗項目\&文獻[9-10]算法\&本文算法\&NC\&PSNR(dB)\&NC\&PSNR(dB)\&JPEG壓縮
質(zhì)量因子75\&0.9921\&19.5599\&0.9999\&40.8317\&中值濾波3×3\&0.9875\&17.5778\&0.9994\&30.7544\&增加對比度
灰度[0.1,0.9]到[0,1]\&0.8716\&7.5646\&0.8988\&8.7105\&降低對比度
灰度[0,1]到[0.1,0.9]\&0.8964\&8.4354\&0.9696\&13.7843\&圖像增亮
灰度[0,1]到[0.1,1]\&0.8321
檢不出\&6.3693
檢不出\&0.9834\&11.8441\&圖像變暗
灰度[0,1]到[0,0.9]\&0.8454\&6.7098\&0.7341\&4.8707\&高斯噪聲
均值0,方差0.01\&0.9233\&9.7279\&0.9718\&14.0959\&裁剪四周25\&0.9631\&12.9594\&0.9654\&13.2491\&]
在載體圖像沒有受到任何攻擊時,可以檢出無損水印圖像。與表2相對應,經(jīng)JPEG壓縮攻擊和經(jīng)高斯噪聲攻擊后的檢測水印視覺效果分別如圖3和圖4所示。限于篇幅,其他魯棒性實驗效果可通過表內(nèi)數(shù)據(jù)來間接比較。
實驗表明,NC不能準確表示檢測灰度水印的相似性,如本實驗的抗JPEG壓縮攻擊實驗,本文算法的NC與文獻[9-10]的NC相近,但本文算法檢出水印的視覺質(zhì)量和PSNR遠遠超過文獻[9-10]算法。
(a)文獻[9-10]算法, NC=0.9921 (b)本文算法, NC=0.9999
圖3 JPEG壓縮(質(zhì)量系數(shù)75%)攻擊檢出水印
(a)文獻[9-10]算法, NC=0.9233 (b)本文算法, NC=0.9718
圖4 高斯噪聲攻擊檢出水印
本次實驗的圖像變暗處理,表2數(shù)據(jù)顯示檢出NC和PSNR都很小,且本文算法的NC和PSNR比文獻[9-10]算法的小,但本文算法檢出水印質(zhì)量卻明顯好很多(見圖5)。
由表2實驗數(shù)據(jù)和檢出水印視覺質(zhì)量(如與表2對應的圖3-5實驗結(jié)果)表明,本文算法的抗JPEG壓縮、抗圖像濾波處理,抗高斯噪聲攻擊、抗圖像對比度、抗亮度處理和抗裁剪能力等能力遠遠強于文獻[9-10]同類算法。檢出水印的視覺質(zhì)量和PSNR遠遠優(yōu)于文獻[9-10]算法。
(a)文獻[9-10]算法, NC=0.8454 (b)本文算法, NC=0.7341
圖5 圖像變暗攻擊檢出水印
5 結(jié)論
理論分析和實驗結(jié)果表明,本文零水印算法與基于DWT和XOR操作的同類算法相比,具有強得多的抗JPEG壓縮、濾波等圖像處理和抗高斯噪聲攻擊等方面的能力,具有更強的抗圖像對比度和亮度處理、抗裁剪和抗幾何攻擊等方面的能力。
參考文獻:
[1] 溫泉, 孫錟鋒, 王樹勛, 等. 零水印的概念與應用[J]. 電子學報, 2003,31(2):214-216.
[2] 付劍晶,王 珂.基于第一主成分方向穩(wěn)定性的圖像零水印[J]. 中國圖象圖形學報,2012,17(7):756-769.
[3] 宋偉,侯建軍,李趙紅,黃亮.一種基于logistic混沌系統(tǒng)和奇異值分解的零水印算法[J].物理學報,2009,58(7):4449-4556.
[4] 馬建湖,何甲興.基于小波變換的零水印算法[J].中國圖象圖形學報,2007,12(4):581-585.
[5] 何冰,王晅. 基于圖像置亂和小波變換的零水印算法[J].計算機工程與設(shè)計,2009,30(1):145-147,154.