本發(fā)明屬于多媒體信息安全技術(shù)領(lǐng)域,涉及彩色數(shù)字圖像作為數(shù)字水印的版權(quán)保護(hù)。
背景技術(shù):
隨著Internet和多媒體技術(shù)的快速發(fā)展,各種網(wǎng)絡(luò)多媒體信息服務(wù)也得到了長(zhǎng)足的發(fā)展。這些先進(jìn)的信息技術(shù)為廣大人民帶來(lái)方便的同時(shí),也給盜版者提供了便利,從而威脅版權(quán)所有者的合法權(quán)益。作為數(shù)字版權(quán)保護(hù)的技術(shù)手段之一,數(shù)字水印技術(shù)引起了廣泛關(guān)注。數(shù)字水印的基本手段是將版權(quán)信息、產(chǎn)品的標(biāo)識(shí)碼以及購(gòu)買者的信息等(稱為水印信號(hào))嵌入到數(shù)字媒體中。嵌入的水印信號(hào)應(yīng)當(dāng)不降低原數(shù)據(jù)的質(zhì)量、且在感覺(jué)上不易被察覺(jué),能夠經(jīng)受一定的攻擊而不被清除,需要時(shí)可以通過(guò)檢測(cè)(提取)嵌入的水印信息來(lái)鑒別數(shù)字媒體的版權(quán)。
目前的圖像數(shù)字水印算法多數(shù)是將二值或灰度圖像作為數(shù)字水印,而將彩色數(shù)字圖像作為數(shù)字水印的比較少。一個(gè)最重要的原因是將彩色數(shù)字圖像作為數(shù)字水印時(shí),其含有的信息量是相同尺寸灰度圖像的3倍,是二值圖像的24倍,因此增加了水印嵌入的難度,現(xiàn)有的將二值圖像嵌入灰度圖像的數(shù)字水印技術(shù)并不能很好地滿足以彩色數(shù)字圖像為主的版權(quán)保護(hù),因此如何將彩色數(shù)字圖像作為數(shù)字水印成為亟待解決的問(wèn)題之一。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種基于矩陣Hessenberg分解的高性能數(shù)字水印方法,其特征在于通過(guò)具體的水印嵌入算法和水印提取算法來(lái)實(shí)現(xiàn)的,其水印嵌入算法的具體步驟描述如下:
第一步:水印序列的生成:首先,將一幅大小為M×M的24位原始水印圖像W 通過(guò)降維處理分成三個(gè)二維色彩分量水印Wm,m =1,2,3分別表示紅,綠,藍(lán)色彩分量;其次,把每個(gè)色彩分量水印進(jìn)行基于K A 的Arnold變換置亂;隨后,將置亂后的色彩分量水印中的每個(gè)像素轉(zhuǎn)換為8位二進(jìn)制數(shù), 并按順序組合生成嵌入水印序列;
第二步:嵌入塊的選擇:將一幅大小為N×N的24位原始彩色宿主圖像Z 也分成三個(gè)分量圖像Zn,n =1,2,3分別表示紅,綠,藍(lán)三層,并將每個(gè)分量圖像Zn進(jìn)一步劃分為4×4大小的非重疊的圖像塊;同時(shí),用公式(1)所示的基于私鑰K B 的偽隨機(jī)置換算法隨機(jī)選擇嵌入塊;
(1)
其中,H T 表示所有4×4非重疊的圖像塊數(shù)目,S T 表示要選擇嵌入塊的數(shù)目,R 、C分別表示所選塊在宿主圖像中的行號(hào)與列號(hào),randinterval( )為偽隨機(jī)置換函數(shù);
第三步:選取一個(gè)嵌入塊Zi,j并按照公式(2)進(jìn)行Hessenberg分解獲得其正交矩陣Qi,j和Hessenberg矩陣Hi,j,此處i ,j 分別表示該圖像塊所在的行號(hào)和列號(hào),hess( )是矩陣Hessenberg分解函數(shù);
(2)
第四步:根據(jù)公式(3)、(4),修改正交矩陣Qi,j中的第二行第二列元素和第三行第二列元素以嵌入水印w ,并得到含水印的正交矩陣;
(3)
(4)
其中,abs( )是求絕對(duì)值函數(shù),w 是要嵌入的水印,和分別是和因嵌入水印而被修改后的結(jié)果,sign( ) 是求符號(hào)函數(shù),T 是水印嵌入強(qiáng)度,;
第五步:利用公式(5)進(jìn)行逆Hessenberg變換,得到嵌入水印后的圖像塊;
(5)
第六步:重復(fù)執(zhí)行本水印嵌入算法的第三步到第五步,直到所有的水印信息都被嵌入完成為止;最后,將含水印的紅、綠、藍(lán)分層圖像重新組合并獲得含水印的圖像Z *;
其水印提取算法的具體步驟描述如下:
第一步:將含水印圖像Z *分成三個(gè)含水印的分量圖像,n =1,2,3分別表示紅,綠,藍(lán)三層,并將每一個(gè)含水印的分量圖像進(jìn)一步分成4×4的非重疊圖像塊;
第二步:利用本水印嵌入算法公式(1)所示的基于私鑰K B 的偽隨機(jī)置換算法選擇含水印的圖像塊;
第三步:選取一個(gè)含水印的圖像塊,并進(jìn)行Hessenberg分解獲得其正交矩陣和Hessenberg矩陣,此處i ,j 分別表示該圖像塊所在的行號(hào)和列號(hào);
第四步:根據(jù)公式(6),利用正交矩陣中的第二行第二列元素和第三行第二列元素,提取水印信息;
(6)
第五步:重復(fù)執(zhí)行本水印提取算法的第三步至第四步,直到提取所有的水印信息,把這些提取的信息按照每8位一組轉(zhuǎn)換為十進(jìn)制的像素值,然后形成分量水印,m =1, 2, 3分別表示紅,綠,藍(lán)三層;
第六步:將每個(gè)分量水印進(jìn)行基于私鑰K A 的逆Arnold變換,并結(jié)合成最終提取的水印W*。
該方法具有較好的水印不可見(jiàn)性和較強(qiáng)的魯棒性,達(dá)到了盲提取的目的,非常適用于彩色數(shù)字圖像作為數(shù)字水印的版權(quán)保護(hù)。
附圖說(shuō)明
圖1(a)、圖1(b)、圖1(c)、圖1(d)是四幅原始彩色宿主圖像。
圖2(a)、圖2(b)是兩幅彩色數(shù)字水印圖像。
圖3(a)、圖3(b)、圖3(c)、圖3(d)是將圖2(a)所示的水印依次嵌入到宿主圖像圖1(a)、圖1(b)、圖1(c)、圖1(d)后所得到的含水印圖像,其結(jié)構(gòu)相似度SSIM值依次是0.9727、0.9571、0.9901、0.9762,其峰值信噪比PSNR值依次是36.5021dB、36.6088dB、37.9091dB、37.0301dB,說(shuō)明本算法具有較好的水印不可見(jiàn)性。
圖4(a)、圖4(b)、圖4(c)、圖4(d)是依次從圖3(a)、圖3(b)、圖3(c)、圖3(d)中提取的水印,其歸一化互相關(guān)系數(shù)NC值分別是0.9999、1.0000、1.0000、0.9999。
圖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)、剪切(50%)、縮放(4:1)等攻擊后所提取的水印,其歸一化互相關(guān)系數(shù)NC值分別是0.9948、0.9837、0.9587、0.9998、0.9209、0.9949,說(shuō)明本算法具有較強(qiáng)的水印魯棒性。
圖6(a)、圖6(b)、圖6(c)、圖6(d)是將圖2(b)所示的水印依次嵌入到宿主圖像圖1(a)、圖1(b)、圖1(c)、圖1(d)后所得到的含水印圖像,其結(jié)構(gòu)相似度SSIM值依次是0.9783、0.9651、0.9918、0.9932,其峰值信噪比PSNR值依次是36.4991dB、36.5673dB、39.0031dB、36.9197dB,說(shuō)明本算法具有較好的水印不可見(jiàn)性。
圖7(a)、圖7(b)、圖7(c)、圖7(d)是依次從圖6(a)、圖6(b)、圖6(c)、圖6(d)中提取的水印,其歸一化互相關(guān)系數(shù)NC值分別是0.9998、1.0000、1.0000、1.0000。
圖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) 、剪切(50%)、縮放(4:1)等攻擊后所提取的水印,其歸一化互相關(guān)系數(shù)NC值分別是0.9948、0.9873、0.8678、0.9995、0.7992、0.9711,說(shuō)明本算法具有較強(qiáng)的水印魯棒性。
具體實(shí)施方式
本發(fā)明的目的是提供一種基于矩陣Hessenberg分解的高性能數(shù)字水印方法,其特征在于通過(guò)具體的水印嵌入算法和水印提取算法來(lái)實(shí)現(xiàn)的,其水印嵌入算法的具體步驟描述如下:
第一步:水印序列的生成:首先,將一幅大小為32×32的24位原始水印圖像W 通過(guò)降維處理分成三個(gè)二維色彩分量水印Wm,m =1,2,3分別表示紅,綠,藍(lán)色彩分量;其次,把每個(gè)色彩分量水印進(jìn)行基于K A 的Arnold變換置亂;隨后,將置亂后的色彩分量水印中的每個(gè)像素轉(zhuǎn)換為8位二進(jìn)制數(shù), 并按順序組合生成嵌入水印序列;例如:可將188,198,211轉(zhuǎn)換成二進(jìn)制數(shù)分別為10111100,11000110,11010011,將三者依次組合的水印序列為101111001100011011010011;
第二步:嵌入塊的選擇:將一幅大小為512×512的24位原始彩色宿主圖像Z 也分成三個(gè)分量圖像Zn,n =1,2,3分別表示紅,綠,藍(lán)三層,并將每個(gè)分量圖像Zn進(jìn)一步劃分為4×4大小的非重疊的圖像塊;同時(shí),用公式(1)所示的基于私鑰K B 的偽隨機(jī)置換算法隨機(jī)選擇嵌入塊;
(1)
其中,H T 表示所有4×4非重疊的圖像塊數(shù)目,S T 表示要選擇嵌入塊的數(shù)目,R 、C分別表示所選塊在宿主圖像中的行號(hào)與列號(hào),randinterval( )為偽隨機(jī)置換函數(shù);
第三步:選取一個(gè)嵌入塊Zi,j并按照公式(2)進(jìn)行Hessenberg分解獲得其正交矩陣Qi,j和Hessenberg矩陣Hi,j,此處i ,j 分別表示該圖像塊所在的行號(hào)和列號(hào),hess( )是矩陣Hessenberg分解函數(shù);
(2)
設(shè)選取的嵌入塊是,經(jīng)過(guò)Hessenberg分解后獲得的其Hessenberg矩陣為,正交矩陣為;
第四步:根據(jù)公式(3)、(4),修改正交矩陣Qi,j中的第二行第二列元素和第三行第二列元素以嵌入水印w ,并得到含水印的正交矩陣;
(3)
(4)
其中,abs( )是求絕對(duì)值函數(shù),w 是要嵌入的水印,和分別是和因嵌入水印而被修改后的結(jié)果,sign( ) 是求符號(hào)函數(shù),T 是水印嵌入強(qiáng)度,;
此時(shí),設(shè)要嵌入的水印是“0”,水印嵌入強(qiáng)度為0.04,,則根據(jù)公式(3),(4)來(lái)修改與;得到含水印的正交矩陣為;
第五步:利用公式(5)進(jìn)行逆Hessenberg變換,得到嵌入水印后的圖像塊;
(5)
此時(shí),進(jìn)行逆Hessenberg變換,得到嵌入水印后的圖像塊為;
第六步:重復(fù)執(zhí)行本水印嵌入算法的第三步到第五步,直到所有的水印信息都被嵌入完成為止;最后,將含水印的紅、綠、藍(lán)分層圖像重新組合并獲得含水印的圖像Z *;
其水印提取算法的具體步驟描述如下:
第一步:將含水印圖像Z *分成三個(gè)含水印的分量圖像,n =1,2,3分別表示紅,綠,藍(lán)三層,并將每一個(gè)含水印的分量圖像進(jìn)一步分成4×4的非重疊圖像塊;
第二步:利用本水印嵌入算法公式(1)所示的基于私鑰K B 的偽隨機(jī)置換算法選擇含水印的圖像塊;
第三步:選取一個(gè)含水印的圖像塊,并進(jìn)行Hessenberg分解獲得其正交矩陣和Hessenberg矩陣,此處i ,j 分別表示該圖像塊所在的行號(hào)和列號(hào);
此時(shí),選取一個(gè)含水印的圖像塊,
隨之進(jìn)行Hessenberg分解,得其Hessenberg矩陣為
,正交矩陣為;
第四步:根據(jù)公式(6),利用正交矩陣中的第二行第二列元素和第三行第二列元素,提取水印信息;
(6)
此時(shí),根據(jù)正交矩陣中第二行第二列元素-0.5564和第三行第二列元素-0.5920,提取水印信息“0”;
第五步:重復(fù)執(zhí)行本水印提取算法第三步至第四步,直到提取所有的水印信息,把這些提取的信息按照每8位一組轉(zhuǎn)換為十進(jìn)制的像素值,然后形成分量水印,m =1, 2, 3分別表示紅,綠,藍(lán)三層;
第六步:將每個(gè)分量水印進(jìn)行基于私鑰K A 的逆Arnold變換,并結(jié)合成最終提取的水印W*。
本發(fā)明有效性驗(yàn)證
為了證明本發(fā)明的有效性,選擇如圖1(a)、圖1(b)、圖1(c)、圖1(d)所示的四幅大小為512×512的24位標(biāo)準(zhǔn)圖像作為宿主圖像,并分別用如圖2(a)、圖2(b)所示的兩幅大小為32×32的24位彩色圖像作為數(shù)字水印進(jìn)行驗(yàn)證。
圖3(a)、圖3(b)、圖3(c)、圖3(d)是將圖2(a)所示的水印依次嵌入到宿主圖像圖1(a)、圖1(b)、圖1(c)、圖1(d)后所得到的含水印圖像,其結(jié)構(gòu)相似度SSIM值依次是0.9727、0.9571、0.9901、0.9762,其峰值信噪比PSNR值依次是36.5021dB、36.6088dB、37.9091dB、37.0301dB,說(shuō)明本算法具有較好的水印不可見(jiàn)性。
圖4(a)、圖4(b)、圖4(c)、圖4(d)是依次從圖3(a)、圖3(b)、圖3(c)、圖3(d)中提取的水印,其歸一化互相關(guān)系數(shù)NC值分別是0.9999、1.0000、1.0000、0.9999。
圖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)、剪切(50%)、縮放(4:1)等攻擊后所提取的水印,其歸一化互相關(guān)系數(shù)NC值分別是0.9948、0.9837、0.9587、0.9998、0.9209、0.9949,說(shuō)明本算法具有較強(qiáng)的水印魯棒性。
圖6(a)、圖6(b)、圖6(c)、圖6(d)是將圖2(b)所示的水印依次嵌入到宿主圖像圖1(a)、圖1(b)、圖1(c)、圖1(d)后所得到的含水印圖像,其結(jié)構(gòu)相似度SSIM值依次是0.9783、0.9651、0.9918、0.9932,其峰值信噪比PSNR值依次是36.4991dB、36.5673dB、39.0031dB、36.9197dB,說(shuō)明本算法具有較好的水印不可見(jiàn)性。
圖7(a)、圖7(b)、圖7(c)、圖7(d)是依次從圖6(a)、圖6(b)、圖6(c)、圖6(d)中提取的水印,其歸一化互相關(guān)系數(shù)NC值分別是0.9998、1.0000、1.0000、1.0000。
圖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) 、剪切(50%)、縮放(4:1)等攻擊后所提取的水印,其歸一化互相關(guān)系數(shù)NC值分別是0.9948、0.9873、0.8678、0.9995、0.7992、0.9711,說(shuō)明本算法具有較強(qiáng)的水印魯棒性。
由此可見(jiàn),所嵌入的彩色圖像數(shù)字水印具有良好的不可見(jiàn)性;同時(shí),從各種受攻擊圖像中所提取的數(shù)字水印圖像具有良好的可鑒別性,說(shuō)明該方法具有較強(qiáng)的魯棒性,能夠很好地提取所嵌入的彩色水印。