賴思渝, 王 娟, 李明東
(1.川北醫(yī)學(xué)院 醫(yī)學(xué)影像系 四川 南充 637000;2.西華師范大學(xué) 計算機學(xué)院 四川 南充 637000)
數(shù)字水印是一種解決版權(quán)保護和信息安全的技術(shù),它是通過將一些附加信息(水印信息)直接嵌入到受保護的數(shù)字作品中實現(xiàn)版權(quán)保護和信息安全的方法[1-2].DCT[3]、 DWT[4]、DFT[5]等變換域方法比空間域水印有更強的魯棒性.本文結(jié)合頻率域的兩種水印嵌入方法,實現(xiàn)了一種盲提取的數(shù)字水印技術(shù).算法以一幅有視覺意義的二值圖像為水印,經(jīng)過二次置亂加密后,水印已沒有任何視覺意義.然后,在DWT域?qū)用芩∵M行分解,分別提取其近似子圖和細節(jié)子圖并量化調(diào)制成待嵌入二進制流.同時,在DCT域?qū)d體圖像施行塊分類策略,對不同塊采用不同量化因子,進而修改DCT系數(shù)矩陣達到嵌入水印的目的.大量實驗表明該方法是有效的,較好地解決了魯棒性和不可見性之間的矛盾,對通常的圖像處理操作如剪切、擠壓等幾何攻擊有較強的抵御能力,適合網(wǎng)絡(luò)傳輸.
小波變換的基本思想就是對原圖像進行細致的頻率分離,即多分辨率分解.如圖1、2所示,通過二級小波變換,原始圖像被分解為一個低頻近似子圖和6個高頻細節(jié)子圖, LL、HL、LH和HH分別表示原始圖像的近似、水平方向細節(jié)、垂直方向細節(jié)和對角方向細節(jié).
圖像加密算法是保證圖像在網(wǎng)絡(luò)環(huán)境中傳輸安全性的主要途徑之一,本方案對圖像進行兩次置亂以實現(xiàn)加密的目的.以尺寸為m×n(mod(m,16)=0,mod(n,16)=0)的圖像為例,按16×16的方陣為標準對圖像進行分塊后,每行由n/16個宏塊構(gòu)成且共有m/16個宏塊行,令M=m/16,N=n/16.選取任意X,Y作為密鑰參數(shù),水印圖像加密流程如下:
1)以 (X+k1Y)為種子,k1=0,1,…,M-1,使用陷門單向函數(shù)生成偽隨機序列α,根據(jù)偽隨機序列α產(chǎn)生用于每一個宏塊行的置亂矩陣P.
2)根據(jù)置亂矩陣P,對圖像的每一個宏塊行中的宏塊進行重新排列,實現(xiàn)第一次置亂加密.
3)重復(fù)上述步驟,直至圖像中M個宏塊行中的宏塊全部被置亂.
4)以 (Y+k2X)為種子,k2=0,1,…,N-1,使用陷門單向函數(shù)生成偽隨機數(shù)R和偽隨機序列β,產(chǎn)生用于AC系數(shù)置亂矩陣T.
5)根據(jù)置亂矩陣T,對量化后基本單元中前R個AC系數(shù)做第二次置亂.
6)重復(fù)步驟4)、5),直至圖像中所有8×8方陣AC系數(shù)均被置亂.
圖2 “Barbara”經(jīng)過兩次小波變換
1)對置亂后的圖像進行二級小波分解,再分別對其逼近系數(shù)和細節(jié)系數(shù)按列讀取后變?yōu)橐痪S序列{Ai},{Dj},根據(jù)需要嵌入的數(shù)據(jù)量確定LA、LD的取值,然后進行量化(LA、LD分別是逼近系數(shù)和細節(jié)系數(shù)分解后的比特位長度).量化公式為:
4)將數(shù)據(jù)0轉(zhuǎn)換成-1,用PN序列對其進行調(diào)制,即得到待嵌入的二進制數(shù)據(jù)流W,這里的PN序列即為水印的密鑰.
本文采用了文獻[6]的方法將原始圖像的圖像塊分為3類:第1類(S1)背景亮度較高、紋理復(fù)雜,第3類(S3)背景亮度較低、紋理簡單,其余為第2類(S2).
將大小為M×M的載體圖像I進行8×8分塊DCT變換,第k(k=1,2,…,Ki,Ki=M×M/64)塊的DCT系數(shù)陣為Ck(u,v),直流系數(shù)Ck(1,1)反映該子塊的背景亮度,其紋理復(fù)雜度可通過估計該子塊的空間頻率分布來確定,由于人類視覺系統(tǒng)對不同空間頻率成分具有不同的敏感程度,可采用JPEG量化表Qm對Ck(u,v)進行量化并用Cqk(u,v)=round(Ck(u,v)/Qm)(1≤u,v≤8)進行分類,若Cqk(1,1)>t1且nnz(Cqk(u,v))>n1,則Ck(u,v)∈S1,若Cqk(1,1) 將調(diào)整后的DCT系數(shù)陣進行二維DCT逆變換,即得到嵌入水印后的圖像.圖3為512×512的原始圖像“Barbara”,圖4為嵌入水印后的圖像,從視覺效果上看嵌入水印前后兩圖沒有什么差別,這說明該算法具有很好的不可見性.同時,從圖5中可以看出,水印嵌入強度主要分布在右下角和部分紋理區(qū),而在低亮度、高亮度及平滑區(qū)較弱. 圖3 原始圖像 圖4 嵌入水印后圖像 圖5 兩圖像差放大5倍后的圖像 確定所嵌入的水印值. 仿真實驗以512×512的灰度圖為宿主,32×32的二值圖為水印.LA,LD分別取值為8,6;X,Y分別取值為20,10;q1,q2,q3分別取值為30,24,18.本文攻擊實驗除JPEG有損壓縮外均是在matlab 7.0上完成的,以下給出算法的部分魯棒性實驗結(jié)果及其抗攻擊性能分析. 圖6(a)~(f)分別是對含水印圖像進行品質(zhì)因子為80,70,60,50,40,30的JPEG壓縮后提取出的水印,恢復(fù)水印相似值分別為1,0.997 2,0.915 4,0.866 3,0.804 5,0.728 5.可見算法能經(jīng)受一定的JPEG有損壓縮. 圖6 含水印圖像經(jīng)JPEG壓縮后提取出的水印 圖7(a)是水印圖像經(jīng)平滑濾波后提取的水印結(jié)果,NC值為0.970 3;圖7(b)~(f)則分別是經(jīng)3像素運動模糊、7%的顆粒噪聲、疊加強度為6%的高斯噪聲、10%的均勻噪聲、5%的椒鹽噪聲后提取出的水印,恢復(fù)水印相似值分別為1,0.697 2,0.754 6,0.895 3,0.854 2,0.812 5. 圖7 平滑濾波與噪聲疊加實驗 圖8(a)~(d)分別是截去含水印圖像左上角1/4,保留右上角1/4,放大兩倍再恢復(fù),縮小一半再恢復(fù)后提取的水印,相似值分別為0.882 3,0.823 5,0.902 6,0.738 2.圖8(e)、(f)則是對其施行10%擠壓操作和10%旋轉(zhuǎn)扭曲后再提取的水印,恢復(fù)水印基本可識別,相似值分別為0.760 2,0.754 8. 圖8 經(jīng)裁剪、擠壓和重采樣處理后的提取結(jié)果 從上述實驗結(jié)果可以看出,本方案對壓縮因子大于30的JPEG壓縮、大規(guī)模剪切有較好穩(wěn)健性,對于噪聲添加、縮放及一些輕微幾何變形也具有一定的魯棒性. 為了說明本文提出算法的性能,將本文算法與文獻[7]的方法進行比較,如表1所示,數(shù)據(jù)顯示,本文算法的PSNR及NC值均高于文獻[7]且有更優(yōu)的碼率增長,更適合網(wǎng)絡(luò)傳輸. 表1 水印算法性能對比 [1] 高光勇,吳維勇,彭欣健,等.基于小波分析的盲灰度水印算法[J].鄭州大學(xué)學(xué)報:理學(xué)版,2010,42(2):53-56. [2] 劉瑞禎,譚鐵牛.?dāng)?shù)字圖像水印研究綜述[J].通信學(xué)報,2006,21(8):39-48. [3] 仝瑞陽,耿永軍,朱雪芹.基于離散余弦變換的數(shù)字水印算法[J].鄭州大學(xué)學(xué)報:理學(xué)版,2005,37(3):58-60. [4] 張專成,張殿富,閆小萍.一種魯棒的基于DWT域自適應(yīng)量化步長的圖像盲水印算法[J].中國圖像圖形學(xué)報, 2006,4(8):840-847. [5] Ganic E,Dexter S D,Eskicioglu A M.Embedding multiple watermarks in the DFT domain using low and high frequency bands[J].SPIE,2005(5681):175-184. [6] 鐘樺,焦李成.自適應(yīng)灰度級數(shù)字水印技術(shù)[J].計算機學(xué)報,2002,25(5):1364-1370. [7] Tang L.Methods for encryption and decryption MPEG video data efficiently[C]//Proceedings of the Fourth ACM International Multimedia Conference.Boston,1996:219-229.2.2 水印的嵌入
3 水印提取過程
4 仿真實驗及攻擊分析