吳為民 劉 新
(福建船政交通職業(yè)學(xué)院 信息與智慧交通學(xué)院,福州 350007)
當(dāng)今社會是一個信息社會,計算機及互聯(lián)網(wǎng)技術(shù)的快速發(fā)展為數(shù)字作品的廣泛傳播與交流提供了便捷的手段,但也引發(fā)了數(shù)字作品的版權(quán)保護(hù)問題。數(shù)字水印技術(shù)因其安全性、不可感知性和穩(wěn)健性等特點,成為數(shù)字作品版權(quán)保護(hù)的有效手段,也是當(dāng)前信息隱藏領(lǐng)域研究的熱點問題之一。光學(xué)信息安全技術(shù)具有加密手段豐富、快速處理大容量數(shù)據(jù)和不易破解等優(yōu)點。將信息光學(xué)的相關(guān)理論和處理方法與數(shù)字水印技術(shù)相結(jié)合已成為信息隱藏領(lǐng)域一個新的研究分支,如虛擬光學(xué)信息隱藏[1]、雙隨機相位加密[2]、數(shù)字全息變換[3-4]等。本次研究提出一種數(shù)字全息與DCT域比特信息嵌入相結(jié)合的數(shù)字水印技術(shù),實現(xiàn)了無需原始圖像的參與便可恢復(fù)水印信號,且數(shù)字全息圖的不可撕毀性特征使該算法可從嵌有水印信號的任意部分圖像中再現(xiàn)完整原始水印信號,具有較強的抗剪切能力。仿真實驗測試結(jié)果表明,載體圖像對椒鹽噪聲、圖像小角度旋轉(zhuǎn)及縮放等攻擊情況具有一定的穩(wěn)健性。
數(shù)字全息水印技術(shù)是指將水印信號用全息圖的方式進(jìn)行編碼,編碼后的全息圖以人眼不可感知的方式隱藏到宿主文件中。計算全息是獲取所需全息水印的常用方法[5-6]。傅里葉全息水印記錄了水印信號傅里葉頻譜的幅度和相位,穩(wěn)健性良好、制作方法簡單,因此,選擇其作為本次研究的全息水印信號。不包含零級像的傅里葉全息水印信號water(u,v)如式(1)所示:
water(u,v)=O*(u,v)×R(u,v)+
O(u,v)×R*(u,v)
(1)
式中:u、v表示頻域坐標(biāo);O(u,v)表示o(x,y)的傅里葉變換;x、y表示空域坐標(biāo);o(x,y)表示原始水印信號;O*(u,v)表示O(u,v)的共軛函數(shù);R(u,v)表示參考光波;R*(u,v)表示R(u,v)的共軛信號。
O(u,v)如式(2)所示:
(2)
R(u,v)用于對水印信號的傅里葉變換譜的調(diào)制,以形成非負(fù)實值全息水印信號,如式(3)所示:
(3)
式中:R0為常數(shù);a、b為參考光參數(shù)。
全息水印信號的重建可通過模擬光學(xué)系統(tǒng)中光波的傳播過程來實現(xiàn),全息水印信號與重構(gòu)光相乘,逆變換后將重建出原始物函數(shù)的強度分布??赏ㄟ^對式(1)作傅里葉逆變換來獲取原始水印信號,重建水印信號o1(x,y)如式(4)所示:
=o*(x-a,y-b)+
(4)
由此可見,輸出面上將同時出現(xiàn)原始水印信號與共軛水印信號,并分別以(a,b)和(-a,-b)為中心,系數(shù)a、b決定著水印信號在輸出面上出現(xiàn)的位置。圖1是根據(jù)上述原理進(jìn)行的數(shù)字模擬結(jié)果,其中,圖1 a是32×32點原始二值水印信號,圖1 b為32×32點256灰度級數(shù)字全息圖,圖1 c為水印重建信號,包含了原始像與共軛像分量。
圖1 數(shù)字全息模擬圖
為了打破經(jīng)傅里葉變換后全息信號數(shù)據(jù)之間的相關(guān)性,提升其抗剪切能力,加密水印數(shù)據(jù),對全息水印信號進(jìn)行Arnold置亂處理[7]。圖2和圖3分別表示未置亂處理和置亂處理的水印全息圖在相同剪切方式和剪切量下,水印信號數(shù)字的再現(xiàn)效果。實驗結(jié)果表明,在大剪切量的情況下,相較于未置亂處理的水印全息圖,置亂處理的水印全息圖能恢復(fù)出更清晰的水印信號。
圖2 未置亂處理的全息水印數(shù)字重建結(jié)果
圖3 置亂處理的全息水印數(shù)字重建結(jié)果
為了減少水印信號對原始宿主圖像的影響,增強水印信號的不可感知性,在載體圖像DCT域中頻分量中隱藏全息水印信號,且為了實現(xiàn)盲檢測,將數(shù)字全息水印信號轉(zhuǎn)換成0、1比特流,用數(shù)字0和1調(diào)整DCT域中頻系數(shù)[8],進(jìn)而實現(xiàn)水印信息的嵌入。
(1)原始圖像f(x,y)首先被分成互不重疊的8×8圖像塊,記為Bk,k=0,1,…,K-1。
式中:x′≥0;y′<8。
(2)選擇用于水印嵌入的圖像塊,并對欲嵌入水印信號的圖像塊進(jìn)行DCT變換:
Fk(u′,v′)=DCT{fk(x′,y′),x′≥0,y′<8}
式中:u′≥0;v′<8。
(3)水印信息的比特嵌入。為了在載體文件中嵌入水印信號,首先將全息水印信號water(u,v)轉(zhuǎn)化為一個8位二進(jìn)制數(shù),然后用二進(jìn)制位修改一個 8×8圖像塊的DCT系數(shù),以實現(xiàn)水印信息的隱藏。具體方法如下:
(a)選擇圖像塊經(jīng)DCT變換后得到的64個系數(shù)中的中頻系數(shù)組,將1 bit水印信號隱藏于3個DCT系數(shù)中,在一個8×8圖像塊中嵌入8 bit信息。
(4)將系數(shù)修改后的中頻分量恢復(fù)至原位置,進(jìn)行DCT逆變換,可獲得嵌入全息水印信號的載體圖像。
水印提取與水印比特分存嵌入過程相反,從嵌入全息水印的載體圖像中提取水印的步驟如下:
(1)對嵌入全息水印信號的載體圖像按8×8大小進(jìn)行分塊。
(2)對嵌入全息水印信號的圖像分塊進(jìn)行DCT變換,提取水印嵌入所用的中頻系數(shù)組。
(4)將提取的水印比特信息轉(zhuǎn)為0~255的全息圖灰度數(shù)據(jù)。
(5)對提取的全息圖數(shù)據(jù)作Arnold置亂處理,再利用全息圖的制作參數(shù)及再現(xiàn)原理恢復(fù)原始水印信號。
實驗中的載體圖像為256色灰度圖像,大小為256×256,水印圖像為32×32的二值圖像,水印嵌入與提取結(jié)果如圖4所示。
圖4 基于數(shù)字全息及DCT的數(shù)字全息水印的嵌入與提取結(jié)果
全息圖具有獨特的不可打碎特性[9-10]。數(shù)字全息水印表現(xiàn)出優(yōu)良的抗剪切性能,而在水印制作階段采取的全息水印信號的Arnold置亂處理能進(jìn)一步增強其抗剪切性能。對嵌入水印信號的載體圖像進(jìn)行任意剪切,并使用數(shù)據(jù)零填充被剪切的宿主圖像,得到的實驗結(jié)果如圖5所示。
圖5 不同比例剪切后的水印再現(xiàn)結(jié)果
實驗結(jié)果表明:宿主載體圖像剩余部分超過50%時提取的水印較清晰;即使剩余圖像不足20%時,仍可依稀辨別出完整的原始版權(quán)信息,算法對剪切操作表現(xiàn)出優(yōu)良的魯棒性。
當(dāng)宿主圖像遭遇旋轉(zhuǎn)、縮放和椒鹽噪聲等常見攻擊時,算法仍具有一定的穩(wěn)健性。對含有水印的圖像進(jìn)行先拉伸后縮小至原始圖像大小的操作后,再進(jìn)行水印數(shù)字重建(見圖6)。從水印重建結(jié)果可知,算法表現(xiàn)出良好的抗縮放攻擊性能。
圖6 不同比例縮放后的水印再現(xiàn)結(jié)果
圖7是對宿主圖像進(jìn)行小角度旋轉(zhuǎn)及添加椒鹽噪聲后提取的水印信號。仿真實驗結(jié)果表明,算法對小角度旋轉(zhuǎn)及椒鹽噪聲表現(xiàn)出一定的穩(wěn)健性。
圖7 旋轉(zhuǎn)及加入椒鹽噪聲后的水印再現(xiàn)結(jié)果
用數(shù)字全息方法設(shè)計水印,對水印信號實施Arnold置亂處理,能進(jìn)一步提高其抗剪切性能。水印信號以二進(jìn)制位方式嵌入到宿主圖像分塊DCT域的中頻分量,使得恢復(fù)水印信號不需要原始圖像。仿真實驗結(jié)果表明,算法對剪切操作具有很好的穩(wěn)健性,在水印圖像遭受大面積裁剪的情況下仍可在一定程度上再現(xiàn)完整水印信號,因而本算法特別適用于需要進(jìn)行水印信息完整性認(rèn)證的情況。宿主圖像對旋轉(zhuǎn)、縮放和椒鹽噪聲等常見攻擊仍表現(xiàn)出一定的穩(wěn)健性。另外,將全息水印的制作參數(shù)及數(shù)據(jù)置亂次數(shù)作為輔助密鑰使用,能夠進(jìn)一步提升算法的安全性。