王琳娟 李君霞
摘 要: 通過仿真實驗和K-S假設檢驗驗證了離散余弦變換(DCT)具有“能量集中”的特點和奇異值分解(SVD)具有抗旋轉(zhuǎn),抗鏡像,抗轉(zhuǎn)置,抗剪切的特點。為了充分利用這些特點,針對大多算法在嵌入水印時需要調(diào)制嵌入的問題,提出一種基于分塊的多級DCT和SVD的魯棒性水印算法,該算法在嵌入水印時進行多級DCT變換和SVD分解、采用直接替換方式嵌入,設置多重密鑰以提高算法的魯棒性。仿真實驗及分析表明,該算法抗噪、抗壓縮和抗幾何攻擊的能力都較強,是一種強魯棒性算法。
關鍵詞: 數(shù)字水??; SVD; 多級DCT; 分塊
中圖分類號:TP309.7 文獻標志碼:A 文章編號:1006-8228(2017)09-51-05
Abstract: By simulation and Kolmogorov-Smirnov (K-S) hypothesis test, it is confirmed that the discrete cosine transform (DCT) has the characteristics of energy concentration and the singular value decomposition (SVD) has the characteristics of anti-rotation, anti-mirror, anti-transposition, anti-cut etc. To take full advantage of all characteristics of DCT and SVD and to overcome the fault that most algorithms need embedding watermarks by modulation technique, a robust watermarking algorithm based on block-divided multi-level DCT and SVD is proposed. In order to improve the robustness of the algorithm, multi-level DCT and SVD, and the direct replacement method are used to embed the watermarks. In addition, multiple keys are set for extracting the watermarks. The simulation results show that the algorithm has a stronger robustness against noises, compress and geometric attacks, and it's a strong robust algorithm.
Key words: digital watermarking; SVD; multiple-level DCT; block-divided
0 引言
隨著信息的數(shù)字化、網(wǎng)絡化,數(shù)字產(chǎn)品的發(fā)布和傳播越來越便捷,它給人們生活帶來方便的同時,也帶來了信息的非法復制、非法篡改、版權保護等安全問題。數(shù)字水印技術是實現(xiàn)數(shù)字產(chǎn)品安全保護的重要手段之一[1-4]。該技術是從信息隱藏技術發(fā)展而來的,是數(shù)字信號處理,圖像處理,密碼學應用,算法設計等學科的交叉領域。目前,數(shù)字水印算法主要有空域算法和變換域算法[5-6],本文提出一種變換域算法。
首先分析了離散余弦變換的特點,指出并驗證了離散余弦變換所具有能量集中的特點;其次用K-S假設檢驗分析驗證了奇異值分解具有抗幾何攻擊的特點;然后針對多數(shù)算法需要調(diào)制嵌入水印的問題[7-8],提出一種基于分塊的多級離散余弦變換和奇異值分解的水印簡單算法,該算法在嵌入水印時采用直接替換的策略,算法實現(xiàn)簡單且設置了多重密鑰,安全性高;最后給出了仿真結果和性能分析,結果表明,本文算法抗各種攻擊能力強,具有很強的魯棒性。
1 離散余弦變換(DCT)
稱B(p,q)為A的DCT系數(shù)。圖1給出了matalbR2012自帶圖像autumn.tif和office_3.jpg這兩副圖像的DCT系數(shù)矩陣的圖像顯示,圖1(a)為原始圖像,圖1(b)為DCT系數(shù)的灰度顯示,圖1(c)為DCT系數(shù)的色圖顯示。
從圖1中可以看出,DCT系數(shù)是具有能量集中的特點(集中在左上角低頻部分),可用于圖像壓縮,且壓縮比高,誤碼率低,與國際數(shù)據(jù)壓縮標準(JPEG、MPEG)兼容[9-10]。
對圖1(a)中兩副圖像進行DCT編碼壓縮和解碼,分別用DCT變換后左上角的10/64、1/64的系數(shù)恢復得到的壓縮后的圖像(如圖2所示),即圖2第一行用10/64的DCT系數(shù)復原圖像,圖2第二行用1/64的DCT系數(shù)復原圖像。可以看出,圖2第一行復原效果圖與原圖效果相當,圖2第二行復原效果圖與原圖相比有些模糊,但復原效果還可以,基本上圖像細節(jié)都可以保留。這就說明了DCT變換可用于圖像壓縮,且壓縮比較高,將其應用于圖像的數(shù)字水印技術,可使含水印圖像具有一定的抗壓縮能力。
2 奇異值分解及幾何攻擊分析
2.1 奇異值分解定義
圖像的奇異值分解是將圖像看成一個矩陣進行的一種正交矩陣分解。設圖像A是大小為M*N的實矩陣,則必然存在一個M*M階的正交矩陣Q和一個N*N的正交矩陣R,使:
其中,矩陣H是一個M*N的矩陣,∑是一個對角陣,稱式⑵為A的奇異值(SVD)分解式,∑的主對角元素為A的奇異值。若r為A的秩,則,且,即r為A的非零奇異值的個數(shù)。另外,奇異值不要求矩陣是方陣。endprint
文獻[11,12]指出圖像的奇異值具轉(zhuǎn)置、旋轉(zhuǎn)、位移、放大等不變性,因此將其應用于圖像的水印處理時可使水印信息具有良好抗幾何失真性。
2.2 奇異值幾何攻擊分析
幾何攻擊是一種常見的圖像攻擊方式,若能從攻擊后的圖像中有效的提取出水印信息,則說明該數(shù)字水印算法具有一定的魯棒性。文中從常見的幾何攻擊來分析奇異值特性。實驗選取matlabR2012自帶圖像cameraman.tif、autumn.tif、office_3.jpg、forest.tif四幅圖像轉(zhuǎn)換成灰度圖像作為實驗圖像,對這四幅圖像進行轉(zhuǎn)置、垂直鏡像、旋轉(zhuǎn)1度、旋轉(zhuǎn)3度、旋轉(zhuǎn)10度、橫向放大2倍、剪切等攻擊,鑒于篇幅所限,本文只給出cameraman.tif的幾何攻擊示意圖(如圖3)。求出原始圖像及攻擊后圖像的非零奇異值進行分析比較,發(fā)現(xiàn)轉(zhuǎn)置、鏡像攻擊后的奇異值相同,橫向擴展后的奇異值放大倍,剪切攻擊后奇異值近似。為了進一步比較奇異值的差異,對攻擊后圖像的奇異值與原圖像的奇異值進行Kolmogor-ov Smirnov假設檢驗,檢驗其是否來自同一分布,假設各種攻擊后的奇異值與原圖像的奇異值來自同一分布,檢驗結果如表1(說明:文中的檢驗都是在顯著性水平為0.5下檢驗,且對橫向擴展后的奇異值除以與原圖像進行檢驗)。表2給出了接受假設的概率,表中h=0表示接受假設,表示服從同一分布,h=1表示拒絕假設。
從表1和表2可以看出,轉(zhuǎn)置、鐿像后的奇異值與原圖像奇值服從同一分布,概率為100%,也就是說,奇異值具有抗轉(zhuǎn)置、抗鏡像性;橫向或縱向擴大L倍的奇異值除以后與原圖像也服從同一分布,概率也為100%,即說明奇異值具有抗伸縮性;旋轉(zhuǎn)后的圖像隨著旋轉(zhuǎn)角度的增加其奇異值與原圖像奇異值服從同一分布的概率在減少,當旋轉(zhuǎn)到10?時,前三幅圖像已經(jīng)拒絕假設,即旋轉(zhuǎn)后圖像的奇異值與原圖像奇異值不是來自同一分布,也就說明奇異值具有一定的抗旋轉(zhuǎn)性;剪切后的圖像也隨著剪切部分的增加其奇異值與原圖像的奇異值服從同一分部的概率在減小,說明奇異值具有一定的抗剪切性,當剪切部分占所有比例較小時,奇異值基本不變。
3 水印嵌入及提取
上文中指出DCT具有能量集中的特點,為了更好地利用這一特點,文獻[7]提出了一種基于分塊的多級離散余弦變換的數(shù)字水印算法,該算法對原始載體圖像進行多級DCT變換,然后選擇合適的系數(shù)嵌入水印,并通過實驗分析指出算法在抗JPEG壓縮、抗高斯噪聲攻擊等方面具有更好的魯棒性。為了充分利用多級DCT的優(yōu)點和SVD的抗轉(zhuǎn)置、抗鏡像、抗旋轉(zhuǎn)、抗剪切的優(yōu)點,本文設計了一種基于分塊的多級DCT和SVD的水印嵌入和提取算法。同時,為了提高水印的安全性[13],本文將水印信息隨機地嵌入到每個DCT分塊中,并且嵌入到每個分塊的什么位置也是隨機的,嵌入算法和提取算法具體描述如下。
3.1 嵌入算法
設載體圖像為I,大小為M×M;水印圖像為J,大小為N×N。
⑴ 對載體圖像I進行分塊,設每塊大小為K1×K1(K1?M/N),對每個分塊進行L級DCT變換。文中以L=2為例,首先對每個分塊進行第一級DCT變換,然后再選擇每塊左上角K2×K2系數(shù)對每塊進行第二級DCT變換,得到變換后的系數(shù)圖像A1。
⑵ 將變換后的系數(shù)圖像A1進行SVD分解得到正交矩陣U1、V1和奇異值矩陣S1。
⑶ 設置隨機種子seed1,產(chǎn)生個隨機整數(shù),將水印信息隨機的分配到A1的每個分塊中。
⑷ 設置隨機種子seed2,產(chǎn)生嵌入時塊中隨機位置,將水印信息嵌入其中。
⑸ 設置嵌入強度α,將水印圖像J嵌入到由seed1和seed2產(chǎn)生的隨機位置中,得到含有水印信息的系數(shù)圖像A2。(說明:這里嵌入時采用直接賦值替換的方式嵌入,例如J(i,j)的嵌入位置為A2(x,y)時,嵌入方式為:A2(x,y)=α*J(i,j)
⑹ 將新的矩陣A2進行SVD分解得到正交矩陣U2、V2和奇異值矩陣S2。
⑺ 令,A3即為嵌入水印信息后的系數(shù)圖像。
⑻ 將A3進行分塊,每塊進行二級反DCT變換得到含水印圖像B。
3.2 提取算法
⑴ 將B進行分塊,每塊大小為K1×K1,首先對每塊進行第一級DCT變換,然后再取每塊左上角K2×K2的系數(shù)進行第二級DCT變換,得到B1。
⑵ 對B1進行SVD分解得到正交矩陣U3、V3和奇異值矩陣S3。
⑶ 令,其中B2即為含有水印信息的系數(shù)矩陣。(其中,U2,V2在嵌入過程中產(chǎn)生。)
⑷ 設置隨機種子seed1和seed2,得出水印信息W(i,j)所在的塊和塊中的位置。
⑸ 設置嵌入強度α,從B2中提取水印信息W。(說明:提取方式和嵌入類似,假如W(i,j)對應的水印信息在B2(x,y)處,則W(i,j)=B2(x,y)/α。
4 仿真結果及分析
為了說明實驗的有效性,本文以圖4(a)為載體圖像I,圖像大小為512*512,以圖4(b)為水印圖像J(二值圖像),圖像大小為64*64,取K1=8,K2=7,α=35,seed1=25,seed2=10.5,由seed2產(chǎn)生隨機位置位于A2的每個分塊的最左下角三個位置之一。
這里用峰值信噪比(PSNR)、相關系數(shù)(NC)和人眼感知水印是否存在來評價水印嵌入和提取的效果,其中峰值信噪比和相關系數(shù)是定量的,而人眼感知則是定性的。
為了說明第3節(jié)所述算法(簡稱本文算法),本文還設計了僅基于分塊的多級DCT算法(簡稱算法1)和僅基于分塊的SVD算法(算法2),算法1的基本思想是首先對載體圖像進行分塊并對每一塊進行多級DCT變換,然后將水印信息嵌入其中,最后對每一分塊進行多級反DCT變換得到含水印的圖像。算法2的基本思想是首先對載體圖像進行異值分解得到兩個正交矩陣Q、R和奇異值矩陣H,并將水印信息隨機地嵌入到載體圖像的每一個塊中并對嵌入信息后的載體進行奇異值分解得到兩個正交矩陣Q1、R1和奇異值矩陣H1,最后用Q、R1和H根據(jù)文中式⑷得到含水印的圖像。說明:為了使算法具有可比較性,所提到的算法在嵌入時都采用相同的嵌入方法和嵌入強度,隨機塊位置和塊中位置都采用相同的隨機種子,并且分塊的大小及離散余弦變換的級數(shù)也都相同。endprint
表3給出了不同α采用三種算法的PNSR值和NC值,從表中可以看出峰值信噪比對于相同的α本文算法都高于算法1和算法2,且在嵌入強度較低時,算法2提取出來的水印圖像比算法1和本文算法好,其NC值基本等于1。隨著嵌入強度的增大,本文算法和算法2的NC值也都基本等于1,都比算法1高,但算法1的NC值也接近于1。整體來說,本文算法嵌入水印后的圖像透明性好,在未受任何攻擊下提取出來的水印信息也接近于原水印圖像。圖6分別為本文算法、算法1、算法2在嵌入強度α=35時得到的含水印圖像及提取出來的水印信息。從視覺上看,三種算法得到的含水印圖像人眼都感知不到水印的存在,且基本上在未受任何攻擊下都能較好地提取出水印信息,NC值都接近于1。
為了驗證算法的有效性,對圖5中三種算法得到的含水印圖像進行各種攻擊見表4。從表4中可以看出,算法1和算法2都有一定的抗高斯低通濾波、抗JPEG壓縮、抗噪能力,算法1不具備抗剪切和抗旋轉(zhuǎn)的能力,算法2具備一定的抗剪切和抗旋轉(zhuǎn)能力,而本文算法對各種攻擊其性能都高于算法1和算法2,而且對于其中的一些攻擊提取出來的水印和原水印圖像幾乎完全一樣。實驗中還加大了各種攻擊力度來驗證本文算法的有效性,鑒于篇幅限制,未在表2中全部給出。實驗表明,文中算法具有較強的抗噪、抗壓縮和抗幾何攻擊能力,是一種強魯棒性算法。
5 總結
本文提出了一種基于分塊的多級DCT和SVD的水印嵌入和提取算法,嵌入時設置兩個隨機種子,一個用于產(chǎn)生嵌入時的隨機分塊,另一個用于產(chǎn)生嵌入時分塊中的隨機位置,且采用最簡單的直接替換嵌入方式。實驗表明,本文算法是一種有效的水印算法,在進行各種攻擊后都能較好的提取出水印,具有較強的抗噪、抗壓縮和抗幾何攻擊能力。但是,不足之處在于提取時需要載體圖像的部分奇異值信息,這也是今后算法需要改進的地方。
參考文獻(References):
[1] 項世軍,羅欣榮,石書協(xié).一種同態(tài)加密域圖像可逆水印算法[J].
計算機學報,2016.39(3):571-581
[2] 任小康,范麗,白勇峰.一種基于DWT-SVD的彩色圖像水印
嵌入方法[J].微電子學與計算機,2011.28(1):113-115
[3] 馬婷,高大鵬,陳農(nóng)田.復合彩色數(shù)字水印圖像抗攻擊優(yōu)化仿
真[J].計算機仿真,2016.33(6):419-422
[4] 陳寧,馬會杰.基于Contourlet和SVD的魯棒雙水印算法[J].
計算機應用研究,2012.29(7):2700-2702
[5] 韓紹程,王蕊,張兆寧.基于BCS和SVD的混合變換域雙彩色
圖像水印算法[J].計算機工程與設計,2016.37(7):1841-1846
[6] Rania A.Ghazy, Alaa M.Abbas, Nayel Al-Zubi.
Block-based SVD image watermarking in spatial and transform domain[J].International Journal of Electronics,2015.102(7):1091-1113
[7] 肖俊,王穎.基于多級離散余弦變換的魯棒數(shù)字水印算法[J].
計算機學報,2009.5(32):1055-1061
[8] Mohammad Reza Akbarzadeh Lari,Sedigheh Ghofrani,Des
Mclernon. Using Curvelet transform for watermarking based on amplitude modulation. Signal[J].Image and Video Processing,2014.8(4):687-697
[9] 劉麗,周亞建,張斌.基于DCT和SVD的QR碼數(shù)字水印算法[J].
紅外與激光工程,2012.42(S2):304-311
[10] 謝斌,劉珊,任克強.基于DCT的自適應多重彩色圖像盲水
印算法[J].電視技術,2014.38(9):21-24
[11] 李國明,李象霖.采用Torus映射與SVD變換的圖像數(shù)字水
印方法[J].計算機仿真,2011.28(6):125-129
[12] 艾麗華,陳青.一種新的基于奇異值分解的小波域盲水印[J].
計算機應用研究,2011.28(3):1155-1157
[13] 朱香衛(wèi),肖亮,吳惠中.數(shù)字圖像水印性能評估指標的研究[J].
通信技術,2009.1(42):256-258endprint