專(zhuān)利名稱(chēng):一種數(shù)字圖像中的水印嵌入和提取方法
技術(shù)領(lǐng)域:
本發(fā)明屬于信息隱藏和圖像隱寫(xiě)技術(shù)領(lǐng)域,具體涉及一種數(shù)字圖像中的水印嵌入 和提取方法。
背景技術(shù):
信息隱藏是信息安全領(lǐng)域的一個(gè)新的研究熱點(diǎn),信息隱藏為在開(kāi)放的網(wǎng)絡(luò)環(huán)境下 進(jìn)行涉密的數(shù)據(jù)通信、數(shù)字產(chǎn)品的知識(shí)產(chǎn)權(quán)保護(hù)、重要文件和數(shù)字簽名的真實(shí)性鑒別以及 機(jī)密文件泄密后的消息源頭追蹤提供了可靠的信息安全保障。數(shù)字水印和圖像隱寫(xiě)是信息 隱藏技術(shù)的兩大分支。現(xiàn)有技術(shù)一——最低有效位替換提出將秘密信息按像素點(diǎn)逐一插入到原始圖像 像素值的最低有效位,可以保證在嵌入大量秘密信息的同時(shí)保持圖像的視覺(jué)效果。現(xiàn)有技 術(shù)一是圖像隱寫(xiě)技術(shù)中一個(gè)經(jīng)典方法,具有實(shí)現(xiàn)簡(jiǎn)單、隱藏信息量大、隱秘圖像視覺(jué)效果好 等優(yōu)點(diǎn)。但由于隱秘圖像的直方圖的規(guī)則性,很容易被各種隱寫(xiě)分析方法檢測(cè)到圖像中隱 藏了秘密信息?,F(xiàn)有技術(shù)二——最低有效位匹配采用當(dāng)水印信息和水印信息嵌入點(diǎn)的像素值的 奇偶性不同時(shí)隨機(jī)對(duì)像素值加1或者減1,此方法消除了現(xiàn)有技術(shù)一中隱秘圖像的直方圖 的規(guī)則性,使算法抗隱寫(xiě)分析的能力得到加強(qiáng)。對(duì)于使用現(xiàn)有技術(shù)二得到的隱秘圖像,可以 得到下述結(jié)果,hw(i) = 0. 25Xh(i-l)+0. 5Xh(i)+0. 25Xh(i+l)其中函數(shù)h代表原始圖像的直方圖,hw代表隱秘圖像的直方圖??梢钥吹?,使用現(xiàn) 有技術(shù)二得到的隱秘圖像的直方圖相當(dāng)于對(duì)原始圖像直方圖作了一個(gè)平滑,并不會(huì)使隱秘 圖像的直方圖產(chǎn)生規(guī)則性,因此現(xiàn)有技術(shù)二能夠更好的抵抗隱寫(xiě)分析。在現(xiàn)有技術(shù)二中,對(duì) 于一幅包含N個(gè)像素點(diǎn)的灰度圖像,并且保證圖像每點(diǎn)(除去像素值為0或者255的像素 點(diǎn))像素值最多改變1,可將灰度圖像嵌入N比特的秘密信息,同時(shí)其像素值改變量的平均 值是0. 5。我們把嵌入的水印信息看作相對(duì)自然圖像的一種噪聲。自然圖像的噪聲是非常小 的,而嵌入水印后的噪聲則會(huì)變得非常明顯,因而,隱秘圖像越是平滑,則噪聲越小,進(jìn)而越 接近自然圖像,我們也就越難探測(cè)到隱秘圖像是否包含了秘密的信息?,F(xiàn)有技術(shù)二的問(wèn)題 是當(dāng)水印信息與像素值的奇偶性不同時(shí),隨機(jī)對(duì)該像素值加1或者減1,而不管周?chē)袼?值的大小,亦即沒(méi)有考慮像素值的變化方向?qū)τ谒D像局部噪聲大小的影響。因此,倘若 使原始圖像每點(diǎn)像素值最多改變1并且保持相同的信息隱藏量,但是嵌入后的隱秘圖像更 加平滑時(shí)(即噪聲更小),則其抵抗隱寫(xiě)分析的能力就會(huì)得到加強(qiáng)。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種數(shù)字圖像中的水印嵌入和提取方法,可更好的抵抗隱寫(xiě) 分析問(wèn)題。
本發(fā)明公開(kāi)了一種數(shù)字圖像中嵌入水印的方法,包括,用某種降噪方法,給原始數(shù)字圖像降噪,得到降噪后的圖像。將待嵌入的二進(jìn)制水印與原始數(shù)字圖像的像素值進(jìn)行匹配,然后根據(jù)對(duì)應(yīng)的降噪圖像的像素值改變?cè)紙D像的像素值,實(shí)現(xiàn)水印嵌入。本發(fā)明公開(kāi)了一種數(shù)字圖像中提取水印的方法,即根據(jù)獲取的水印圖像的像素 值,順次提取最低有效位,獲得水印信息。本發(fā)明公開(kāi)了一種數(shù)字圖像中嵌入水印的裝置,包括獲取單元,用于獲取數(shù)字圖像、待嵌入的水?。唤翟雴卧?,用于獲取原始圖像降噪后的結(jié)果;計(jì)算單元,用于根據(jù)每個(gè)水印值和與之對(duì)應(yīng)的原始圖像像素值以及降噪圖像像素 值計(jì)算原始圖像像素值的改變大??;嵌入單元,用于根據(jù)所述計(jì)算得到的像素值改變量改變?cè)紙D像像素點(diǎn)的像素值。本發(fā)明公開(kāi)了一種數(shù)字圖像中提取水印的裝置,包括獲取單元,用于獲取嵌入水印的數(shù)字圖像;提取單元,用于根據(jù)水印圖像的像素值的最低有效位,提取水印信號(hào)。本發(fā)明的技術(shù)方案為一種數(shù)字圖像中的水印嵌入方法,其步驟為1)獲取待嵌入圖像和要嵌入的水印信息W ;2)按照順序讀取待嵌入圖像像素點(diǎn)的原始像素值;3)對(duì)待嵌入圖像進(jìn)行降噪,并根據(jù)設(shè)定的嵌入率按順序讀取降噪后待嵌入圖像中 若干像素點(diǎn)的像素值,作為嵌入水印信號(hào)參考像素點(diǎn)的像素值;4)將3)中所確定的某參考像素點(diǎn)的原始像素值、該像素點(diǎn)降噪后的像素值以及 要嵌入該像素點(diǎn)的水印信號(hào),修改該像素點(diǎn)的原始像素值。進(jìn)一步的,所述修改該像素點(diǎn)的原始像素值的方法為將3)中所確定的某參考像 素點(diǎn)的原始像素值與要嵌入該像素點(diǎn)的水印信號(hào)進(jìn)行比較,判斷兩者奇偶性是否相同;如 果相同則保持該像素點(diǎn)的原始像素值不變;如果不同且該像素點(diǎn)的原始像素值小于該像素 點(diǎn)降噪后的像素值,則將該像素點(diǎn)的原始像素值加1 ;如果不同且該像素點(diǎn)的原始像素值 大于該像素點(diǎn)降噪后的像素值,則將該像素點(diǎn)的原始像素值減1 ;如果不同且該像素點(diǎn)的 原始像素值等于該像素點(diǎn)降噪后的像素值,則將該像素點(diǎn)的原始像素值加1或減1 ;得到嵌 入水印信息W的圖像。進(jìn)一步的,采用線(xiàn)性均值濾波方法對(duì)待嵌入圖像進(jìn)行降噪。進(jìn)一步的,按照從上到下、從左到右的順序讀取待嵌入圖像像素點(diǎn)的原始像素值, 得到一原始像素值序列X。進(jìn)一步的,根據(jù)嵌入率按照從上到下、從左到右的順序讀取降噪后待嵌入圖像中 若干像素點(diǎn)的像素值,得到一參考像素點(diǎn)的像素值序列D。一種數(shù)字圖像中的水印提取方法,其步驟為1)獲取嵌入水印信息的數(shù)字圖像;2)按照與嵌入水印信息時(shí)相同的順序提取數(shù)字圖像中像素點(diǎn)的像素值,得到一像素值序列;3)根據(jù)設(shè)定的嵌入率,確定嵌入水印信號(hào)的像素值;4)按照與水印信息嵌入時(shí)相同的順序提取3)中所確定的像素值的最低有效位;5)將提取出的最低有效位進(jìn)行合并,得到水印信息。 進(jìn)一步的,對(duì)嵌入水印信號(hào)的像素值進(jìn)行模2運(yùn)算,提取出嵌入的水印信號(hào)值。與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果為根據(jù)本發(fā)明提供的方法和裝置,在圖像每點(diǎn)像素值最多改變1以及保持一定信息 隱藏容量的情況下,可以使每點(diǎn)像素值改變后水印圖像的噪聲更小,從而可以更好的抵抗 隱寫(xiě)分析。
圖1為本發(fā)明實(shí)施例在圖像中嵌入水印的流程圖;圖2為本發(fā)明實(shí)施例在圖像中提取水印的流程圖;圖3為本發(fā)明實(shí)施例提供的待嵌入的灰度圖像;圖4為本發(fā)明實(shí)施例提供的待提取的灰度圖像;圖5為本發(fā)明實(shí)施例提供的待嵌入的灰度圖像;圖6為本發(fā)明實(shí)施例提供的待提取的灰度圖像;圖7為本方法與現(xiàn)有技術(shù)二安全性的比較結(jié)果;(A)嵌入率為1比特時(shí)的效果圖,(B)嵌入率為0. 5比特時(shí)的效果圖。
具體實(shí)施例方式本發(fā)明實(shí)施例提出了一種在數(shù)字圖像中嵌入水印的方法,使得在圖像每點(diǎn)像素值 最多改變1以及保持一定信息隱藏容量的情況下,使水印圖像的噪聲更小,從而可以更好 的抵抗隱寫(xiě)分析。下面簡(jiǎn)要的描述本發(fā)明實(shí)施例在數(shù)字圖像中嵌入水印的方法的公式推導(dǎo)。本發(fā)明可以看作是在現(xiàn)有技術(shù)二基礎(chǔ)上做的改進(jìn)。首先,我們對(duì)其進(jìn)行數(shù)學(xué)化的 描述。定義I。{0,1,... ,255}為定義在D上的大小為hXw的原始灰度圖像,其中D = {(i,j) =I^i ^ h, 1 ^ j ^ w}是像素位置的集合。M G Ζ)是在嵌入時(shí)所有那些像素值會(huì) 發(fā)生變化的像素點(diǎn)的集合(這里注意到M是由要嵌入的水印所決定的)。定義S:D— {0, 1,-1}為因?yàn)榍度胨∠鄬?duì)于原始圖像所作的可能的修改,則
fO,如果"M Il 或者-Uf^xeMS是所有的這種可能的修改的集合。那么我們從S中隨機(jī)選出一個(gè)S,I。+S就是現(xiàn) 有技術(shù)二給出的嵌入水印后的圖像結(jié)果。在本方法中,我們想從S中選擇一個(gè)特定的S,使 得嵌入水印后的圖像I。+S噪聲盡可能小,從而具有更好的安全性。我們很容易知道,在現(xiàn)有技術(shù)二中,因?yàn)樵黾?或者減少1對(duì)圖像所帶來(lái)的噪聲是 不同的。例如,對(duì)于一個(gè)像素值X來(lái)說(shuō),如果它周?chē)南袼刂刀急人旧硪?,那么X減少1顯然比增加1能夠獲得更加平滑,噪聲更小的結(jié)果。所以,如果我們能夠有目的性的向著 圖像更平滑的方向做出改變,可以得到比現(xiàn)有技術(shù)二更好的效果。在本方法中,我們通過(guò)參考原始圖像的去噪結(jié)果來(lái)完成這一目的。定義I。sm°°th為 對(duì)I。使用某種去噪方法后獲得的結(jié)果。對(duì)于任意一個(gè)可改變像素X e M,我們?nèi)∏度胨?后的像素值為 具體來(lái)說(shuō),假定圖像像素點(diǎn)分組中的像素值為,X = (X1,, X2,,......,Xn)其中,N表示每個(gè)分組中所包含的像素點(diǎn)個(gè)數(shù),分量Xi,代表圖像像素點(diǎn)的像素值 或者說(shuō)灰度值,其取值為0到255之間的整數(shù)。再假設(shè),W = (W1, W2, ... , Wn)是由0、1組成的水印位。首先對(duì)原始圖像進(jìn)行降噪處理,由此獲得降噪后的圖像像素值為D = (D1,, D2,,......,Dn)我們現(xiàn)在想把Wi嵌入Xi中,則(1)比較WjPXi,假如兩者奇偶性相同,則Yi = Xi(2)如果奇偶性不同,則比較Xi和Di 如果Xi > Di5Yi = Xi-I ;如果Xi < DiJi = Xi+Ι ;如果Xi = Di, Xi隨機(jī)加上或者減去1以獲得Yi值根據(jù)上述方法,可得嵌入水印后的圖像Y = (Y1, ,Y2,,......,Yn)本發(fā)明實(shí)施例提供了一種在數(shù)字圖像中嵌入水印的方法,參見(jiàn)圖1所示,包括以 下步驟步驟101 獲取數(shù)字圖像和由0、1組成的水印串;步驟102 將圖像降噪處理,獲得降噪后的圖像;步驟103 按照從上到下,從左到右的順序讀取像素點(diǎn)的像素值,并與要嵌入它的 水印比較,如果兩者奇偶性不同,再比較該像素點(diǎn)降噪前、后的像素值,并據(jù)此改變?cè)枷?素值,獲得嵌入后的結(jié)果。步驟104 水印嵌入完畢,得到包含水印信息的圖像。本發(fā)明實(shí)施例提供了一種在數(shù)字圖像中提取水印的方法,參見(jiàn)圖2所示,包括以 下步驟步驟111 獲取嵌入水印的數(shù)字圖像;步驟112 按照與嵌入過(guò)程相同的順序讀取像素點(diǎn)的像素值,并提取他們的最低 有效位,得到嵌入的水印信息。下面通過(guò)幾個(gè)具體的例子來(lái)詳細(xì)的說(shuō)明在數(shù)字圖像中嵌入和提取水印的方法。實(shí)施例一、在數(shù)字圖像中嵌入水印的方法1、獲取如圖5所示的灰度圖像“Lena”其大小為512X512。2、獲取長(zhǎng)度為512X512-1 = 262 143的由0、1組成的水印位串
W = (W1, W2,......,W262143)。3、將灰度圖像的所有像素點(diǎn)按照從左到右再?gòu)纳系较碌姆绞脚判?,獲取前262143個(gè)像素作為嵌入像素點(diǎn),由此得到像素值序列X1, X2,......,X2621434、將灰度圖像用線(xiàn)性均值濾波進(jìn)行去噪,對(duì)去噪后的灰度圖像的所有像素點(diǎn)原始 圖像相同的方式排序,獲取前262143個(gè)像素作為嵌入?yún)⒖键c(diǎn),由此可得去噪后的像素值序 列D1, D2,......,D2621435、對(duì)于i e {1,2,......,262 143},根據(jù)水印信號(hào)Wi改變與之對(duì)應(yīng)的像素點(diǎn)的像
素值Xi,到嵌入水印后的像素值Yi,使得(I)Yi = Xi,如果Xi與Wi奇偶性相同。(2) Yi = Xi+Ι,如果Xi與化奇偶性不同且Xi < Di(3) Yi = Xi-I,如果Xi與Wi奇偶性不同且Xi > Di(4)隨機(jī)選取Yi = Xi-I或Yi = Xi+Ι,如果Xi與Wi奇偶性不同且Xi = Di下面將對(duì)幾個(gè)不同的像素值更詳盡地解釋本發(fā)明實(shí)施例提出的在數(shù)字圖像中嵌 入水印的方法。假設(shè)我們有一像素值為Xi = 165的像素點(diǎn),經(jīng)過(guò)去噪聲處理后,它的像素值變成 Di = 164,Di = 165或者Di = 166,嵌入Wi = 0或者LYi的情況如表1表1、嵌入水印后的像素值 6、對(duì)所有像素點(diǎn)分組嵌入水印后得到如圖6所示的嵌入水印的圖像。實(shí)施例二、數(shù)字圖像中提取水印的方法1、獲取如圖4所示的嵌入水印的灰度圖像,其大小為512X512。2、按照與嵌入水印相同的方式提取灰度圖像的像素值,共有262 143個(gè)值,假定 第i個(gè)像素點(diǎn)的像素值為Yi,其中i e {1,2,......,262 143}。3、計(jì)算嵌入的水印值Wi = YiHiod 2。4、將由每個(gè)像素點(diǎn)中提取出的水印合并得到最終由0、1組成的水印位串。
下面將對(duì)幾個(gè)不同的像素值更詳盡地解釋本發(fā)明實(shí)施例提出的提取水印的過(guò)程。 假設(shè)我們獲取了一個(gè)水印圖像像素值為Yi = 165,則可以提取水印值1。而當(dāng)我們獲取了 一個(gè)水印圖像像素值為Yi = 164或166時(shí),則可以提取水印值0。對(duì)比上面嵌入過(guò)程實(shí)例 的表格,我們可以看出,提取出來(lái)的水印與嵌入的一致,換言之,此方法可以完全正確的提 取嵌入到圖像中的水印。
圖7描述了本方法與現(xiàn)有技術(shù)二安全性的比較結(jié)果。我們對(duì)1000張灰度圖 像分別用本方法和現(xiàn)有技術(shù)二的方法進(jìn)行水印嵌入,然后用一種已有的水印檢測(cè)技術(shù) WAM(Wavelet Absolute Moment steganalysis 小波絕對(duì)矩隱寫(xiě)分析方法,該方法被 Miroslav Gol jan等人在論文“New Blind Steganalysis and its Implications”中提出) 來(lái)檢測(cè)嵌入水印后的圖像。坐標(biāo)橫軸為誤判概率,縱軸是檢測(cè)率。根據(jù)統(tǒng)計(jì)學(xué)基本知識(shí),在 一定誤判概率下,檢測(cè)率越低,則說(shuō)明水印被檢測(cè)出來(lái)的可能性越小,則方法就更安全。圖 中所標(biāo)LSB matching就是現(xiàn)有技術(shù)二的英文縮寫(xiě),而下面三條曲線(xiàn)分別代表本方法使用均 值濾波器、高斯濾波器以及維納濾波去噪時(shí)的方法效果。圖7(A)是在嵌入率為1比特(即 每個(gè)像素點(diǎn)平均嵌入1比特水印)時(shí)的效果圖,圖7(B)是嵌入率為0. 5比特(即每個(gè)像素 點(diǎn)平均嵌入0.5比特水印)時(shí)的效果圖。由圖可知,本方法具有更低的檢測(cè)率,所以能更好 的抵御隱寫(xiě)分析方法的攻擊,從而具有更高的安全性。綜上,采用本發(fā)明實(shí)施例的有益效果在于,使得在圖像每點(diǎn)像素值最多改變1以 及保持一定信息隱藏容量的情況下,讓每點(diǎn)像素值的改變讓水印圖像的噪聲更小,從而可 以更好的抵抗隱寫(xiě)分析。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明實(shí)施例進(jìn)行各種改動(dòng)和變型而不脫離本發(fā) 明實(shí)施例的精神和范圍,且所作的修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之 內(nèi),則所作的修改和變型也屬于本發(fā)明的保護(hù)范圍。
權(quán)利要求
一種數(shù)字圖像中的水印嵌入方法,其步驟為1)獲取待嵌入圖像和要嵌入的水印信息W;2)按照順序讀取待嵌入圖像像素點(diǎn)的原始像素值;3)對(duì)待嵌入圖像進(jìn)行降噪,并根據(jù)設(shè)定的嵌入率按順序讀取降噪后待嵌入圖像中若干像素點(diǎn)的像素值,作為嵌入水印信號(hào)參考像素點(diǎn)的像素值;4)將3)中所確定的某參考像素點(diǎn)的原始像素值、該像素點(diǎn)降噪后的像素值以及要嵌入該像素點(diǎn)的水印信號(hào),修改該像素點(diǎn)的原始像素值。
2.如權(quán)利要求1所述的方法,其特征在于所述修改該像素點(diǎn)的原始像素值的方法為 將3)中所確定的某參考像素點(diǎn)的原始像素值與要嵌入該像素點(diǎn)的水印信號(hào)進(jìn)行比較,判 斷兩者奇偶性是否相同;如果相同則保持該像素點(diǎn)的原始像素值不變;如果不同且該像素 點(diǎn)的原始像素值小于該像素點(diǎn)降噪后的像素值,則將該像素點(diǎn)的原始像素值加1 ;如果不 同且該像素點(diǎn)的原始像素值大于該像素點(diǎn)降噪后的像素值,則將該像素點(diǎn)的原始像素值減 1 ;如果不同且該像素點(diǎn)的原始像素值等于該像素點(diǎn)降噪后的像素值,則將該像素點(diǎn)的原始 像素值加1或減1 ;得到嵌入水印信息W的圖像。
3.如權(quán)利要求1或2所述的方法,其特征在于采用線(xiàn)性均值濾波方法對(duì)待嵌入圖像進(jìn) 行降噪。
4.如權(quán)利要求3所述的方法,其特征在于按照從上到下、從左到右的順序讀取待嵌入 圖像像素點(diǎn)的原始像素值,得到一原始像素值序列X。
5.如權(quán)利要求4所述的方法,其特征在于根據(jù)嵌入率按照從上到下、從左到右的順序 讀取降噪后待嵌入圖像中若干像素點(diǎn)的像素值,得到一參考像素點(diǎn)的像素值序列D。
6.一種數(shù)字圖像中的水印提取方法,其步驟為1)獲取嵌入水印信息的數(shù)字圖像;2)按照與嵌入水印信息時(shí)相同的順序提取數(shù)字圖像中像素點(diǎn)的像素值,得到一像素值 序列;3)根據(jù)設(shè)定的嵌入率,確定嵌入水印信號(hào)的像素值;4)按照與水印信息嵌入時(shí)相同的順序提取3)中所確定的像素值的最低有效位;5)將提取出的最低有效位進(jìn)行合并,得到水印信息。
7.如權(quán)利要求6所述的方法,其特征在于對(duì)嵌入水印信號(hào)的像素值進(jìn)行模2運(yùn)算,提取 出嵌入的水印信號(hào)值。
全文摘要
本發(fā)明公開(kāi)了一種數(shù)字圖像中的水印嵌入和提取方法,屬于信息隱藏和圖像隱寫(xiě)技術(shù)領(lǐng)域。本發(fā)明的水印嵌入方法為首先對(duì)原始數(shù)字圖像進(jìn)行降噪,得到降噪后的圖像;然后將待嵌入的二進(jìn)制水印與原始數(shù)字圖像的像素值進(jìn)行匹配,最后根據(jù)對(duì)應(yīng)的降噪圖像的像素值改變?cè)紙D像的像素值,實(shí)現(xiàn)水印嵌入。本發(fā)明的水印提取方法為根據(jù)獲取的水印圖像的像素值,順次提取最低有效位,獲得水印信息。與現(xiàn)有技術(shù)相比,本發(fā)明可以使每點(diǎn)像素值改變后水印圖像的噪聲更小,從而可以更好的抵抗隱寫(xiě)分析。
文檔編號(hào)G06T1/00GK101866478SQ20101021576
公開(kāi)日2010年10月20日 申請(qǐng)日期2010年6月22日 優(yōu)先權(quán)日2010年6月22日
發(fā)明者亓文法, 李曉龍, 楊斌, 王超 申請(qǐng)人:北京大學(xué)