基于Hessenberg分解的雙彩色圖像盲水印方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于信息安全技術(shù)領(lǐng)域,涉及大容量彩色數(shù)字圖像作為數(shù)字水印的版權(quán)保 護(hù)。
【背景技術(shù)】
[0002] 隨著Internet和多媒體技術(shù)的快速發(fā)展,數(shù)字作品的非法拷貝、惡意篡改版權(quán)保 護(hù)等已越來越成為一個迫切解決的嚴(yán)重問題,目前的數(shù)字水印版權(quán)保護(hù)技術(shù)存在兩個突出 的問題:一是用于版權(quán)保護(hù)的標(biāo)識多為偽隨機(jī)序列、二值圖像、灰度圖像;二是現(xiàn)有的彩色 圖像數(shù)字水印方法多為非盲水印技術(shù);這主要是因為二值或灰度圖像較彩色圖像便于處 理,而嵌入較多信息量的彩色圖像數(shù)字水印時,水印編碼、嵌入和提取將存在較大的難度, 降低了水印不可見性和魯棒性。因此,如何設(shè)計一種高不可見性、強魯棒性的彩色圖像數(shù)字 水印算法成為亟待解決的問題之一。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的是提供一種基于Hessenberg分解的彩色圖像盲水印方法,包含水 印嵌入過程和提取過程,其水印嵌入的具體過程描述如下: 第一步:將原始彩色圖像水印圖像過降維處理,分成三個二維水印分量兄ft戌 然后,將每個二維水印分量進(jìn)行基于私鑰似(i=l,2,3)的Arnold變換以提高水印的安全 性;隨后,把每個像素值轉(zhuǎn)換為8位二進(jìn)制數(shù),并將所有的8位二進(jìn)制數(shù)組合成二值序列%, i=l,2,3分別表示紅、綠、藍(lán)三層; 第二步:將宿主圖像她分成兄保卩沒三個分量圖像辦戶1,2, 3分別表示紅、綠、藍(lán)三 層,并將每個分量圖像4進(jìn)一步劃分為4X4大小的非重疊的像素塊;同時,用基于私鑰為 J況(i=l,2,3)的MD5哈希偽隨機(jī)置換算法隨機(jī)選擇嵌入塊; 第三步:選取一個嵌入塊盡并按照公式(1)進(jìn)行Hessenberg分解獲得其正交矩陣仏 和Hessenberg矩陣此處i,j分別表不該像素塊所在的行號和列號;
第四步:查找Hessenberg矩陣Ay中的最大能量元素,然后按照公式(2)將4^_修 改為以嵌入水印R
其中,mod(.)是取余操作函數(shù),7是水印嵌入強度; 第五步:利用公式(3)求出嵌入水印后的像素塊丑^ ;
第六步:重復(fù)執(zhí)行步驟第三步到第五步,直到所有的水印信息都被嵌入完成為止;最 后,將含水印的紅、綠、藍(lán)分層圖像重新組合并獲得含水印的圖像 本發(fā)明所述水印提取的具體過程如下: 第一步:將含水印圖像//分成3個分層含水印圖像IJ;*,i=l,2, 3分別表示紅、綠、藍(lán)三 層,并將每一分層含水印圖像進(jìn)一步分成4X4的非重疊像素塊; 第二步:利用基于私鑰為^^ (i=l,2,3)的MD5哈希偽隨機(jī)置換算法選取含水印的 圖像塊; 第三步:將含有水印的像素塊丑^按照公式(4)進(jìn)行Hessenberg分解,得其Hessenberg矩陣,此處i,j分別表不該像素塊所在的行號和列號;
第四步:查找Hessenberg矩陣11;^的最大能量元素,然后利用公式(5)提取水印信 息
第五步:重復(fù)執(zhí)行第三步、第四步,直到提取所有的水印信息,把這些提取的信息/按 照每8位一組進(jìn)行分解,并轉(zhuǎn)換為十進(jìn)制的像素值,然后形成分量水印FT;(戶1,2,3); 第六步:將每個分量水印進(jìn)行基于私鑰似(i=l,2,3)的逆Arnold變換,并結(jié)合成 最終提取的水印礦。
[0004] 該方法通過系數(shù)量化技術(shù)修改Hessenberg矩陣中的最大能量元素,具有較好的 水印不可見性;提取水印時不需要原始宿主圖像或原始水印圖像的幫助,能從各種受攻擊 圖像中快速提取所嵌入的水印,具有較強的魯棒性,該發(fā)明適用于彩色數(shù)字圖像作為數(shù)字 水印的版權(quán)保護(hù)。
【附圖說明】
[0005] 圖1 (a)、圖1 (b)是兩幅原始彩色宿主圖像。
[0006] 圖2 (a)、圖2 (b)是兩幅彩色水印圖像。
[0007] 圖3 (a)、圖3 (b)是將圖2 (a)所示的水印依次嵌入到宿主圖像圖1 (a)、圖1 (b)后所得到的含水印圖像,其結(jié)構(gòu)相似度SSIM值依次是0. 9371、0. 9321,其峰值信噪比 PSNR值依次是 36. 3947dB、35. 4429dB。
[0008] 圖4 (a)、圖4 (b)是依次從圖3 (a)、圖3 (b)中提取的水印,其歸一化互相關(guān)系 數(shù)NC值分別是 1. 0000、1. 0000。
[0009] 圖5 (a)、圖5 (b)、圖5 (c)、圖5 (d)、圖5 (e)、圖5 (f)是將圖3 (a)所示的含 水印圖像依次進(jìn)行JPEG2000壓縮(5:1)、椒鹽噪聲(0. 02)、低通濾波(100, 1)、銳化(1. 0)、 縮放(4:1)、剪切(50%)等攻擊后所提取的水印,其歸一化互相關(guān)系數(shù)NC值分別是0.9978、 0.9658,0.9666,0. 9998,0. 9980,0. 6319〇
[0010] 圖6 (a)、圖6 (b)是將圖2 (b)所示的水印依次嵌入到宿主圖像圖1 (a)、圖1 (b)后所得到的含水印圖像,其結(jié)構(gòu)相似度SSIM值依次是0. 9389、0. 9354,其峰值信噪比 PSNR值依次是 35. 3785dB、35. 4642dB。
[0011] 圖7 (a)、圖7 (b)是依次從圖6 (a)、圖6 (b)中提取的水印,其歸一化互相關(guān)系 數(shù)NC值分別是 1. 0000、1. 0000。
[0012] 圖8 (a)、圖8 (b)、圖8 (c)、圖8 (d)、圖8 (e)、圖8 (f)是將圖6 (a)所示的含 水印圖像依次進(jìn)行JPEG2000壓縮(5:1)、椒鹽噪聲(0. 02)、低通濾波(100, 1)、銳化(1. 0)、 縮放(4:1)、剪切(50%)等攻擊后所提取的水印,其歸一化互相關(guān)系數(shù)NC值分別是0.9904、 0.9701、0.9938、0. 9422、0. 9999、0. 7538。
【具體實施方式】
[0013] 本發(fā)明的目的是提供一種基于Hessenberg分解的彩色圖像盲水印方法,包含水 印嵌入過程和提取過程,其水印嵌入的具體過程描述如下: 第一步:將32X32的24位三維彩色圖像數(shù)字水印圖像M過降維處理,分成三個 二維水印分量兄ft戌然后,將每個二維水印分量進(jìn)行基于私鑰J為(i=l,2, 3)的Arnold 變換以提高水印的安全性;隨后,把每個像素值轉(zhuǎn)換為8位二進(jìn)制數(shù),并將所有的8位二 進(jìn)制數(shù)組合成二值序列心i=l,2,3分別表示紅、綠、藍(lán)三層;例如:可將241,198, 201 轉(zhuǎn)換成二進(jìn)制數(shù)分別為11110001,11000110,11001001,將三者依次組合的二值序列為 111100011100011011001001 ; 第二步:將512X512的24位原始宿主圖像宿主圖像加i分成兄保卩5三個分量圖像 巧,戶1,2, 3分別表示紅、綠、藍(lán)三層,并將每個分量圖像g進(jìn)一步劃分為4X4大小的非重 疊的像素塊;同時,用基于私鑰為^^ (i=l,2,3)的MD5哈希偽隨機(jī)置換算法隨機(jī)選擇嵌 入塊; 第三步:選取一個嵌入塊盡并按照公式(1)進(jìn)行Hessenberg分解獲得其正交矩陣仏 和Hessenberg矩陣Au此處i,j分別表不該像素塊所在的行號和列號;
此處,設(shè)選取的嵌入塊為
.,則按照公式(1)進(jìn)行Hessenberg分 解獲得正交矩陣和Hessenberg矩陣分別為:
第四步:查找Hessenberg矩陣4y中的最大能量元素,然后按照公式(2)將4^修 改為^4aX以嵌入水印綠丨」Hessenberg矩陣;
此處,設(shè)Hessenberg矩陣為
,則其最大 能量元素4_為488. 5262,當(dāng)將水印信息為"0"且以嵌入強度7=64嵌入時,求得辦