專利名稱:一種數(shù)字圖像的水印嵌入、提取方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于信息隱藏和數(shù)字水印技術(shù)領(lǐng)域,特別涉及一種數(shù)字圖像的水印嵌入、提取方法及裝置。
背景技術(shù):
數(shù)字化網(wǎng)絡(luò)技術(shù)的飛速發(fā)展對多媒體的版權(quán)保護(hù)與內(nèi)容鑒別提出了新的更高的要求,數(shù)字水印技術(shù)就是應(yīng)這種要求而逐步發(fā)展起來的。所謂數(shù)字水印(Digital Watermarking)就是利用人類視覺或者聽覺的不敏感性往多媒體數(shù)據(jù)(如圖像、音頻、視頻等數(shù)字信號(hào))中添加某些冗余信息以達(dá)到信息隱藏的目的,從而可以對著作權(quán)聲明、許可使用條件等進(jìn)行知識(shí)產(chǎn)權(quán)保護(hù)。發(fā)展數(shù)字水印技術(shù)的原動(dòng)力是為多媒體數(shù)據(jù)提供版權(quán)保護(hù),但事實(shí)上數(shù)字水印在電子數(shù)據(jù)的真?zhèn)舞b別、數(shù)字產(chǎn)品的隱含標(biāo)注以及網(wǎng)絡(luò)的秘密通信中也有非常重要的應(yīng)用。
同時(shí)大量圖像還以印刷形式存在,如商標(biāo)、產(chǎn)品包裝、書刊、證書、護(hù)照等等,當(dāng)然還有以印刷形式存在的重要文檔,比如政府公文和涉密文件等等。打印和掃描已成為目前圖像進(jìn)行復(fù)制和傳播的普遍方式。隨著數(shù)字化技術(shù)的迅猛發(fā)展,將圖像在電子格式和打印格式之間進(jìn)行轉(zhuǎn)換變得非常容易,因此設(shè)計(jì)并實(shí)現(xiàn)基于印刷品的數(shù)字水印的嵌入和提取算法是必要也是重要的。目前關(guān)于數(shù)字圖像水印算法的研究方興未艾并且取得了很多的成果,但這些算法主要是針對計(jì)算機(jī)網(wǎng)絡(luò)中的數(shù)字作品,大多數(shù)算法并不能抵抗打印掃描攻擊。這是由于經(jīng)過打印掃描過程,即D-A(數(shù)字信號(hào)-模擬信號(hào))和A-D(模擬信號(hào)-數(shù)字信號(hào))兩次轉(zhuǎn)換之后的圖像雖然看上去和原圖很相似,但實(shí)際上圖像的像素值發(fā)生了很大的變化。這就要求數(shù)字水印算法具有非常強(qiáng)的魯棒性,才能抵抗兩次格式轉(zhuǎn)換。
數(shù)字水印按嵌入方式可以分為空間域水印和變換域水印??臻g域方法通過改變載體信息的空間域特性來隱藏信息;變換域方法通過改變數(shù)據(jù)變換域的一些系數(shù)來隱藏信息。就灰度圖像而言,在空間域嵌入水印的兩個(gè)典型算法是最低有效位算法(LSBleast significant bits)和Patchwork算法。LSB算法是R.vanSchyndel等人在論文“A Digital Watermark”(R.van Schyndel,A.Z.Tirkel,C.F.Osborne,1st IEEE International Conference on Image Processing,Austin TexasUSA,1994,Vol.II,pp.86-90)中提出的,在這篇論文中作者們提出將水印信息按像素點(diǎn)逐一插入到原始圖像像素值的最低位,這可以保證嵌入的水印是不可見的。但這種算法的魯棒性差,水印信息很容易被低通濾波或者有損壓縮等基本的圖像操作所破壞。Patchwork算法是W.Bender等人在論文“Techniques for DataHiding”(W.Bender,D.Gruhl,N.Morimoto,A.Lu,IBM Systems Journal,1996,35(3&4)313-336)中提出的一種基于改變圖像數(shù)據(jù)統(tǒng)計(jì)特性的水印算法。該算法首先隨機(jī)選擇數(shù)目相同的兩個(gè)像素點(diǎn)集合A和B,然后增大集合A中每個(gè)像素點(diǎn)的像素值,同時(shí)減少集合B中每個(gè)像素點(diǎn)的像素值;水印檢測時(shí)可以將集合A中點(diǎn)的平均像素值和集合B中點(diǎn)的平均像素值相比較,若前者較大則認(rèn)為水印存在。Patchwork算法對有損壓縮、濾波以及圖像裁剪有一定的抵抗力,但該方法的水印嵌入容量有限,只能嵌入一個(gè)比特的信息。
基于變換域的水印算法可以嵌入大量比特?cái)?shù)據(jù)而不會(huì)導(dǎo)致視覺上的可察覺性,這類算法往往采取類似擴(kuò)頻的技術(shù)來隱藏信息。這類技術(shù)一般基于常用的圖像變換,比如說基于分塊圖像的正交變換,包括離散余弦變換(DCTDiscrete Cosine Transform)、離散小波變換(DWTDiscrete Wavelet Transform)、離散傅里葉變換(DFTDiscrete Fourier Transform)以及哈達(dá)馬變換(Hadamardtransform)等等。其中最具典型意義的一個(gè)算法是I.J.Cox等人在論文“SecureSpread Spectrum Watermarking for Multimedia”(I.J.Cox,J.Kilian,T.Leightonand T.Shamoon,IEEE Trans.on Image Processing,6,12,1673-1687,1997)中提出的基于DCT變換的擴(kuò)頻水印算法,該算法將水印序列(該序列是符合正態(tài)分布的相互獨(dú)立的隨機(jī)序列)按照加性原則或者乘性原則嵌入到圖像整體DCT變換的除直流分量外的若干個(gè)最大的變換系數(shù)中去,水印檢測時(shí)利用原圖像并根據(jù)水印嵌入方法在獲取的圖像中提取出一個(gè)水印序列,然后計(jì)算提取出的水印序列和真實(shí)的水印序列的相關(guān)度并利用閾值來判斷圖像中是否含有水印。該算法實(shí)現(xiàn)簡單并具有較強(qiáng)的魯棒性,可以抵抗一般的圖像處理操作,但該算法不能抵抗打印掃描操作。從此之后的數(shù)字水印算法大都基于變換域的擴(kuò)頻技術(shù)。
由現(xiàn)有技術(shù)可以看出,對于打印掃描之后的圖像,其單點(diǎn)的像素值產(chǎn)生了很大的變化,現(xiàn)有技術(shù)算法魯棒性差,不能對打印掃描之后的圖像正確提取水印。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)算法不能對打印掃描之后的圖像正確提取水印的問題,本發(fā)明提供了一種數(shù)字圖像的水印嵌入方法,包括 將數(shù)字圖像分塊并對每個(gè)圖像塊做二維DCT變換,得到變換域系數(shù)集合,從中提取變換域中低頻段系數(shù)集合; 根據(jù)待嵌入的水印信息生成水印信號(hào); 對所述變換域中低頻段系數(shù)集合進(jìn)行分組,每組都含有偶數(shù)個(gè)變換域中低頻段系數(shù),將每組變換域中低頻段系數(shù)等分成數(shù)量相同的第一部分和第二部分; 選取水印強(qiáng)度,采用乘性水印嵌入方式,將水印信號(hào)嵌入到每組變換域中低頻系數(shù)的第一部分和第二部分中; 對嵌入水印信號(hào)的圖像塊的變換域系數(shù)進(jìn)行二維DCT逆變換,得到嵌入水印的數(shù)字圖像。
同時(shí)本發(fā)明還提供一種數(shù)字圖像的水印提取方法,包括 獲取嵌入水印信號(hào)的圖像的分塊二維DCT變換域的中低頻段系數(shù)集合; 對所述變換域中低頻段系數(shù)集合進(jìn)行分組,每組都含有偶數(shù)個(gè)變換域中低頻段系數(shù),將每組變換域中低頻段系數(shù)等分成數(shù)量相同的第一部分和第二部分; 計(jì)算每個(gè)分組的第一部分中變換域中低頻段系數(shù)的平方和與第二部分中變換域中低頻段系數(shù)的平方和的差值,若差值為正則與該分組相對應(yīng)的水印信號(hào)為1,否則與該分組相對應(yīng)的水印信號(hào)為0; 對水印信號(hào)解碼得到水印信息。
同時(shí)本發(fā)明還提供一種數(shù)字圖像的水印嵌入裝置,包括 提取模塊用于將數(shù)字圖像分塊并對每個(gè)圖像塊做二維DCT變換,得到變換域系數(shù)集合,從中提取變換域中低頻段系數(shù)集合; 水印信號(hào)生成模塊用于根據(jù)待嵌入的水印信息生成水印信號(hào); 分組模塊對所述變換域中低頻段系數(shù)集合進(jìn)行分組,每組都含有偶數(shù)個(gè)變換域中低頻段系數(shù),將每組變換域中低頻段系數(shù)等分成數(shù)量相同的第一部分和第二部分; 水印信號(hào)嵌入模塊用于選取水印強(qiáng)度,采用乘性水印嵌入方式,將水印信號(hào)嵌入到每組變換域中低頻系數(shù)的第一部分和第二部分中; 逆變換模塊對嵌入水印信號(hào)的圖像塊的變換域系數(shù)進(jìn)行二維DCT逆變換,得到嵌入水印的數(shù)字圖像。
同時(shí)本發(fā)明還提供一種數(shù)字圖像的水印提取裝置,包括 水印信號(hào)獲取模塊用于獲取嵌入水印信號(hào)的圖像的分塊二維DCT變換域的中低頻段系數(shù)集合; 分組模塊用于對所述變換域中低頻段系數(shù)集合進(jìn)行分組,每組都含有偶數(shù)個(gè)變換域中低頻段系數(shù),將每組變換域中低頻段系數(shù)等分成數(shù)量相同的第一部分和第二部分; 運(yùn)算模塊用于計(jì)算每個(gè)分組的第一部分中變換域中低頻段系數(shù)的平方和與第二部分中變換域中低頻段系數(shù)的平方和的差值,若差值為正則與該分組相對應(yīng)的水印信號(hào)為1,否則與該分組相對應(yīng)的水印信號(hào)為0; 解碼模塊用于對水印信號(hào)解碼得到水印信息。
由上述本發(fā)明提供的具體實(shí)施方案可以看出,由于將圖像分塊DCT變換的中低頻系數(shù)分組,并將每組中的系數(shù)分成個(gè)數(shù)相同的兩部分,然后將水印信號(hào)嵌入到每組變換域中低頻系數(shù)的這兩部分中,使得魯棒性強(qiáng),由于按照和水印嵌入過程相同的分組方式,得到變換域中低頻段系數(shù)個(gè)數(shù)相同的兩部分,并計(jì)算這兩部分中變換域中低頻段系數(shù)平方和的差,得到水印信號(hào),使得打印掃描之后的圖像可以正確提取水印。
圖1為本發(fā)明提供的第一實(shí)施例的方法流程圖; 圖2為本發(fā)明提供的二維DCT變換域的中低頻段示意圖; 圖3A為本發(fā)明提供的待嵌入的圖像; 圖3B為本發(fā)明提供的對圖3A嵌入45比特水印信息后的圖像; 圖4為本發(fā)明提供的第一實(shí)施例的方法流程圖; 圖5為本發(fā)明提供的對圖3B加入高斯噪音得到的圖像; 圖6為本發(fā)明提供的對圖3B裁剪三分之一得到的圖像; 圖7為本發(fā)明提供的對圖3B作低通濾波得到的圖像; 圖8為本發(fā)明提供的對圖3B作JPEG壓縮得到的圖像; 圖9A為本發(fā)明提供的對圖3B打印掃描所得到的圖像; 圖9B為本發(fā)明提供的對圖9A進(jìn)行截取并縮放到尺寸為512×512的圖像; 圖10A為本發(fā)明提供的對圖3B打印后在打印圖像被污損的情況下掃描得到的圖像; 圖10B為本發(fā)明提供的對圖10A進(jìn)行截取并縮放到尺寸為512×512的圖像; 圖11A為本發(fā)明提供的對圖3B打印后在打印圖像部分缺失的情況下掃描得到的圖像; 圖11B為本發(fā)明提供的對圖11A進(jìn)行截取并縮放到尺寸為512×512的圖像; 圖12為本發(fā)明提供的第三實(shí)施例的裝置結(jié)構(gòu)圖; 圖13為本發(fā)明提供的第四實(shí)施例的裝置結(jié)構(gòu)圖。
具體實(shí)施例方式 本發(fā)明提供的第一實(shí)施例是一種數(shù)字圖像的水印嵌入方法,該第一實(shí)施例的方法流程如圖1所示,包括 步驟100將一幅待嵌入的512×512灰度圖像分成大小為N×N的塊然后對每個(gè)圖像塊進(jìn)行二維DCT變換得到變換域系數(shù)集合。本實(shí)施例中,取圖像的分塊大小為N=16,這樣就獲得1024個(gè)圖像塊。具體的說,假定灰度圖像為 其中xn,mk表示像素點(diǎn)的灰度值,k是圖像塊的標(biāo)號(hào),(n,m)是圖像塊內(nèi)位置的二維標(biāo)號(hào)。對每個(gè)圖像塊進(jìn)行二維DCT變換得到變換域系數(shù)的集合 其中
表示變換域系數(shù),k表示圖像塊的標(biāo)號(hào),(u,v)表示二維DCT變換的位置標(biāo)號(hào)。
其中二維DCT變換的公式為 其中,如果u=0,則Cu=1/;如果u≠0,則Cu=1。
步驟101如圖2所示,從包括256個(gè)不同頻率的變換域系數(shù)的集合中提取63個(gè)頻率的變換域中低頻段系數(shù),這里我們選取的變換域中低頻段是圖2中的陰影部分。因?yàn)檎麄€(gè)圖像包括1024個(gè)圖像塊,于是可獲得63×1024=64512個(gè)變換域中低頻系數(shù)。
步驟102根據(jù)要嵌入的水印信息生成二進(jìn)制字符串,作為優(yōu)選方案對二進(jìn)制字符串進(jìn)行BCH糾錯(cuò)編碼得到待嵌入的水印信號(hào)串w1,w2,.....,WL。其中Wl表示水印信號(hào),取值1或者0。
步驟103將變換域中低頻系數(shù)分成L組其中 Λ{(u,v,k)0≤u≤15,0≤v≤15,1≤k≤K} 表示變換域中低頻段系數(shù)集合,Λl表示標(biāo)號(hào)為l的變換域中低頻段系數(shù)分組。
并使得每個(gè)分組中所含變換域中低頻段系數(shù)的個(gè)數(shù)λl是偶數(shù),其中λl=#Λl,#Λl表示集合Λl所包含的系數(shù)個(gè)數(shù)。同時(shí)作為優(yōu)選方案使得每個(gè)系數(shù)分組所包含的系數(shù)個(gè)數(shù)λl相同或者盡可能地相同。本實(shí)施例中,將圖像塊的變換域中低頻段系數(shù)分成63組,即L為63,每個(gè)分組中所含變換域中低頻段系數(shù)的個(gè)數(shù)為64512/L=1024,即λl為1024。
步驟104將每個(gè)系數(shù)分組Λl所包含的變換域中低頻段系數(shù)等分成個(gè)數(shù)相同的兩部分Al和Bl Al∪Bl=Λl,Al∩Bl=Φ,Φ表示空集。
本實(shí)施例中,Al和Bl所含的變換域中低頻段系數(shù)個(gè)數(shù)都是512。
步驟105選取水印強(qiáng)度a(1>a>0)并按照乘性水印嵌入方式將水印信號(hào)wl嵌入到系數(shù)分組Λl的變換域中低頻系數(shù)的第一部分和第二部分中。
做為優(yōu)選方案采用如下公式 其中
表示嵌入水印信號(hào)的圖像變換域系數(shù),a表示水印強(qiáng)度。
注意到當(dāng)水印信號(hào)wl=1時(shí),該嵌入方式可以描述成 于是可以得到 從而實(shí)現(xiàn)了增大Al中的系數(shù)的絕對值(從而增大了Al中系數(shù)的平方和)和減小Bl中的系數(shù)的絕對值(從而減小了Bl中系數(shù)的平方和)的目的。
同樣道理,到當(dāng)水印信號(hào)wl=0時(shí),該嵌入方式可以描述成 于是可以得到 從而實(shí)現(xiàn)了減小Al中的系數(shù)的絕對值(從而減小了Al中系數(shù)的平方和)和增大Bl中的系數(shù)的絕對值(從而增大了Bl中系數(shù)的平方和)的目的。
步驟106對每個(gè)嵌入水印信號(hào)的圖像塊的變換域系數(shù)進(jìn)行二維DCT逆變換得到嵌入水印數(shù)字圖像。其中二維DCT逆變換的公式為 通過上述步驟,我們對長度為45比特的水印信息使用參數(shù)為(63,45,3)的BCH糾錯(cuò)編碼得到長度為63比特的水印信號(hào),然后選取水印強(qiáng)度a=0.6并將水印信號(hào)按照上述過程嵌入到如圖3A所示待嵌入圖像“Lena”中,得到圖像如圖3B所示。
本發(fā)明提供的第二實(shí)施例是一種數(shù)字圖像的水印提取方法,用于提取采用實(shí)施例1方法嵌入水印的數(shù)字圖像的水印信息,第二實(shí)施例的流程如圖4所示,包括 步驟201將獲取的灰度圖像分成大小為N×N的塊(和水印嵌入過程相同,本實(shí)施例中N=16)然后對每個(gè)圖像塊進(jìn)行二維DCT變換得到變換域系數(shù),得到的變換域系數(shù)集合為 步驟202按照和水印嵌入過程相同的分組方式分組,并計(jì)算Λl的兩個(gè)部分Al和Bl中變換域中低頻段系數(shù)平方和的差或者說計(jì)算水印提取子 其中l(wèi)∈{1,2,......,L}。如果水印提取子Tl>0則水印信號(hào)否則水印信號(hào) 步驟203對得到的水印信號(hào)
進(jìn)行解碼,得到實(shí)際隱藏的水印信息。
下面簡要的解釋一下本發(fā)明所述方法的理論依據(jù)。我們將說明為什么本發(fā)明所述的數(shù)字水印嵌入提取方法可以抵抗高斯噪音的攻擊。假設(shè)包含水印的圖像在空域受到了獨(dú)立同分布的高斯噪音攻擊(這也可以近似的認(rèn)為是打印掃描過程對圖像產(chǎn)生的影響),就是說我們獲取的灰度圖像 是灰度圖像 在空域疊加了一個(gè)獨(dú)立同分布的高斯隨機(jī)變量場,就是說 其中是獨(dú)立同分布的高斯隨機(jī)變量。于是在頻域我們可以得到 注意到二維DCT變換是一個(gè)正交變換,從而是獨(dú)立同分布的期望為0的高斯隨機(jī)變量。則對于水印檢測子Tl我們可以得到 于是 假設(shè)圖像Y的二維DCT變換的中低頻段的系數(shù)分布是p,我們知道p是關(guān)于原點(diǎn)對稱的函數(shù),從而其期望值為0。注意到在集合Λl包含足夠多的元素時(shí),兩個(gè)集合Al和Bl都是分布p的一個(gè)采樣,于是 同時(shí),由前面的討論可知,集合構(gòu)成了某個(gè)期望為0的高斯分布的一個(gè)采樣,于是 另外注意到上述隨機(jī)變量的獨(dú)立性,或者說所加的高斯噪音獨(dú)立于原始信號(hào),從而我們有 這樣的話,方程(EQ)就可以簡化為 Tl≈2a·(2Wl-1)·#Λl·Var(p), 于是根據(jù)水印檢測子Tl的符號(hào)可以判斷水印信號(hào)為‘0’或者‘1’。
本發(fā)明提供的第三實(shí)施例是一種數(shù)字圖像的水印嵌入裝置,其結(jié)構(gòu)如圖12所示,包括 提取模塊301用于將數(shù)字圖像分塊并對每個(gè)圖像塊做二維DCT變換,得到變換域系數(shù)集合,從中提取變換域中低頻段系數(shù)集合; 水印信號(hào)生成模塊302用于根據(jù)待嵌入的水印信息生成水印信號(hào); 分組模塊303對所述變換域中低頻段系數(shù)集合進(jìn)行分組,每組都含有偶數(shù)個(gè)變換域中低頻段系數(shù),將每組變換域中低頻段系數(shù)等分成數(shù)量相同的第一部分和第二部分; 水印信號(hào)嵌入模塊304用于選取水印強(qiáng)度,采用乘性水印嵌入方式,將水印信號(hào)嵌入到每組變換域中低頻系數(shù)的第一部分和第二部分中; 逆變換模塊305對嵌入水印信號(hào)的圖像塊的變換域系數(shù)進(jìn)行二維DCT逆變換,得到嵌入水印的數(shù)字圖像。
本發(fā)明提供的第四實(shí)施例是一種數(shù)字圖像的水印提取裝置,其結(jié)構(gòu)如圖13所示,包括 水印信號(hào)獲取模塊401用于獲取嵌入水印信號(hào)的圖像的分塊二維DCT變換域的中低頻段系數(shù)集合; 分組模塊402用于對所述變換域中低頻段系數(shù)集合進(jìn)行分組,每組都含有偶數(shù)個(gè)變換域中低頻段系數(shù),將每組變換域中低頻段系數(shù)等分成數(shù)量相同的第一部分和第二部分; 運(yùn)算模塊403用于計(jì)算每個(gè)分組的第一部分中變換域中低頻段系數(shù)的平方和與第二部分中變換域中低頻段系數(shù)的平方和的差值,若差值為正則與該分組相對應(yīng)的水印信號(hào)為1,否則與該分組相對應(yīng)的水印信號(hào)為0; 解碼模塊404用于對水印信號(hào)解碼得到水印信息。
最后再通過幾個(gè)優(yōu)選的實(shí)例來說明本發(fā)明的在數(shù)字圖像中嵌入和提取水印方法的魯棒性。圖5是對嵌入水印的圖像加入高斯噪音所得到的圖像,這時(shí)圖像質(zhì)量已經(jīng)遭到了嚴(yán)重的破壞但仍可從中成功提取水印信息。圖6是將嵌入水印的圖像裁剪掉三分之一,我們?nèi)钥蓮闹谐晒μ崛∷⌒畔ⅰD7是對嵌入水印的圖像作低通濾波所得到的圖像,這時(shí)圖像產(chǎn)生了平滑,我們可以從中成功提取水印信息。圖8是對嵌入水印的圖像作JPEG壓縮所得到的圖像,其中JPEG壓縮質(zhì)量為60%,壓縮后的圖像大小為24.4KB,我們可以從中成功提取水印信息。圖9A是對嵌入水印的圖像打印掃描所得到的圖像;其中圖像的輸出DPI是200,通過京瓷打印機(jī)C850在600DPI下打印,圖像打印在紙上的尺寸是6.5cm×6.5cm,然后經(jīng)過惠普掃描儀ScanJet4890在600DPI下掃描;經(jīng)過上述過程之后的圖像以電子格式存儲(chǔ)在計(jì)算機(jī)中,得到的是帶白色邊框的尺寸為1788×1786的圖像,其中為了說明方便我們在掃描圖像最外部加上一個(gè)黑色邊框以說明掃描圖像的邊界。圖9B是通過對圖9A進(jìn)行圖像邊界提取,并對打印掃描過程所產(chǎn)生的圖像傾斜角度進(jìn)行估計(jì)(本實(shí)施例中的圖像傾斜角度是-0.15度),然后對圖像順時(shí)針旋轉(zhuǎn)-0.15度或者說逆時(shí)針旋轉(zhuǎn)0.15度使之位置水平,最后將旋轉(zhuǎn)后的圖像去掉白色邊框進(jìn)行截取并縮放到尺寸為512×512的圖像,通過本發(fā)明中的水印檢測算法我們可以從中成功提取水印信息。圖10A是對嵌入水印的圖像打印后,在打印圖像被污損的情況下掃描所得到的圖像;其中圖像的輸出DPI是200,通過京瓷打印機(jī)C850在600DPI下打印,圖像打印在紙上的尺寸是6.5cm×6.5cm,然后經(jīng)過惠普掃描儀ScanJet4890在600DPI下掃描;經(jīng)過上述過程之后的圖像以電子格式存儲(chǔ)在計(jì)算機(jī)內(nèi),得到的是帶白色邊框的尺寸為1752×1746的圖像,其中為了說明方便我們在掃描圖像最外部加上一個(gè)黑色邊框以說明掃描圖像的邊界。圖10B是通過對圖10A進(jìn)行圖像邊界提取,并對打印掃描過程所產(chǎn)生的圖像傾斜角度進(jìn)行估計(jì)(本實(shí)施例中的圖像傾斜角度是-0.16度),然后對圖像順時(shí)針旋轉(zhuǎn)-0.16度或者說逆時(shí)針旋轉(zhuǎn)0.16度使之位置水平,最后將旋轉(zhuǎn)后的圖像去掉白色邊框進(jìn)行截取并縮放到尺寸為512×512的圖像,通過本發(fā)明中的水印檢測算法我們可以從中成功提取水印信息。圖11A是對嵌入水印的圖像打印后,在打印圖像部分缺失的情況下掃描所得到的圖像;其中圖像的輸出DPI是200,通過京瓷打印機(jī)C850在600DPI下打印,圖像打印在紙上的尺寸是6.5cm×6.5cm,然后經(jīng)過惠普掃描儀ScanJet4890在600DPI下掃描;經(jīng)過上述過程之后的圖像以電子格式存儲(chǔ)在計(jì)算機(jī)內(nèi),得到的是帶白色邊框的尺寸為1780×1764的圖像,其中為了說明方便我們在掃描圖像最外部加上一個(gè)黑色邊框以說明掃描圖像的邊界。圖11B是我們通過對圖11A進(jìn)行圖像邊界提取,并對打印掃描過程所產(chǎn)生的圖像傾斜角度進(jìn)行估計(jì)(本實(shí)施例中的圖像傾斜角度是-0.11度),然后對圖像順時(shí)針旋轉(zhuǎn)-0.11度或者說逆時(shí)針旋轉(zhuǎn)0.11度使之位置水平,最后將旋轉(zhuǎn)后的圖像去掉白色邊框進(jìn)行截取并縮放到尺寸為512×512的圖像,通過本發(fā)明中的水印檢測算法我們可以從中成功提取水印信息。
通過以上的實(shí)例可以看出,在上述情況下,均可從中成功提取水印信息,技術(shù)效果十分明顯。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種數(shù)字圖像的水印嵌入方法,其特征在于,包括
將數(shù)字圖像分塊并對每個(gè)圖像塊做二維DCT變換,得到變換域系數(shù)集合,從中提取變換域中低頻段系數(shù)集合;
根據(jù)待嵌入的水印信息生成水印信號(hào);
對所述變換域中低頻段系數(shù)集合進(jìn)行分組,每組都含有偶數(shù)個(gè)變換域中低頻段系數(shù),將每組變換域中低頻段系數(shù)等分成數(shù)量相同的第一部分和第二部分;
選取水印強(qiáng)度,采用乘性水印嵌入方式,將水印信號(hào)嵌入到每組變換域中低頻系數(shù)的第一部分和第二部分中;
對嵌入水印信號(hào)的圖像塊的變換域系數(shù)進(jìn)行二維DCT逆變換,得到嵌入水印的數(shù)字圖像。
2.如權(quán)利要求1所述的方法,其特征在于,所述水印信號(hào)是進(jìn)行BCH糾錯(cuò)編碼后得到的水印信號(hào)串。
3.如權(quán)利要求2所述的方法,其特征在于,分組的數(shù)量與所述水印信號(hào)串長度相同。
4.如權(quán)利要求1所述的方法,其特征在于,每組中變換域中低頻段系數(shù)數(shù)量相同。
5.如權(quán)利要求1所述的方法,其特征在于,乘性水印嵌入采用公式如下
k表示圖像塊的標(biāo)號(hào),(u,v)表示二維DCT變換的位置標(biāo)號(hào),其中
表示嵌入水印信號(hào)的圖像的變換域系數(shù),
表示原始圖像變換域系數(shù),a表示水印強(qiáng)度,wl表示水印信號(hào),l表示分組的標(biāo)號(hào),Al表示標(biāo)號(hào)為l的分組中第一部分的變換域中低頻段系數(shù)集合,Bl表示標(biāo)號(hào)為l的分組中第二部分變換域中低頻段系數(shù)集合。
6.如權(quán)利要求5所述的方法,其特征在于,所述a取值范圍為1>a>0。
7.一種數(shù)字圖像的水印提取方法,其特征在于,包括
獲取嵌入水印信號(hào)的圖像的分塊二維DCT變換域的中低頻段系數(shù)集合;
對所述變換域中低頻段系數(shù)集合進(jìn)行分組,每組都含有偶數(shù)個(gè)變換域中低頻段系數(shù),將每組變換域中低頻段系數(shù)等分成數(shù)量相同的第一部分和第二部分;
計(jì)算每個(gè)分組的第一部分中變換域中低頻段系數(shù)的平方和與第二部分中變換域中低頻段系數(shù)的平方和的差值,若差值為正則與該分組相對應(yīng)的水印信號(hào)為1,否則與該分組相對應(yīng)的水印信號(hào)為0;
對水印信號(hào)解碼得到水印信息。
8.如權(quán)利要求7所述的方法,其特征在于,所述解碼為BCH糾錯(cuò)解碼。
9.一種數(shù)字圖像的水印嵌入裝置,其特征在于,包括
提取模塊用于將數(shù)字圖像分塊并對每個(gè)圖像塊做二維DCT變換,得到變換域系數(shù)集合,從中提取變換域中低頻段系數(shù)集合;
水印信號(hào)生成模塊用于根據(jù)待嵌入的水印信息生成水印信號(hào);
分組模塊對所述變換域中低頻段系數(shù)集合進(jìn)行分組,每組都含有偶數(shù)個(gè)變換域中低頻段系數(shù),將每組變換域中低頻段系數(shù)等分成數(shù)量相同的第一部分和第二部分;
水印信號(hào)嵌入模塊用于選取水印強(qiáng)度,采用乘性水印嵌入方式,將水印信號(hào)嵌入到每組變換域中低頻系數(shù)的第一部分和第二部分中;
逆變換模塊對嵌入水印信號(hào)的圖像塊的變換域系數(shù)進(jìn)行二維DCT逆變換,得到嵌入水印的數(shù)字圖像。
10.一種數(shù)字圖像的水印提取裝置,其特征在于,包括
水印信號(hào)獲取模塊用于獲取嵌入水印信號(hào)的圖像的分塊二維DCT變換域的中低頻段系數(shù)集合;
分組模塊用于對所述變換域中低頻段系數(shù)集合進(jìn)行分組,每組都含有偶數(shù)個(gè)變換域中低頻段系數(shù),將每組變換域中低頻段系數(shù)等分成數(shù)量相同的第一部分和第二部分;
運(yùn)算模塊用于計(jì)算每個(gè)分組的第一部分中變換域中低頻段系數(shù)的平方和與第二部分中變換域中低頻段系數(shù)的平方和的差值,若差值為正則與該分組相對應(yīng)的水印信號(hào)為1,否則與該分組相對應(yīng)的水印信號(hào)為0;
解碼模塊用于對水印信號(hào)解碼得到水印信息。
全文摘要
本發(fā)明公開了一種數(shù)字圖像的水印嵌入方法。為了解決現(xiàn)有技術(shù)中無法抵抗打印掃描攻擊的問題,本發(fā)明公開的方法首先將圖像分塊DCT變換的中低頻系數(shù)分組,并將每組中的系數(shù)分成個(gè)數(shù)相同的兩部分,然后將水印信號(hào)嵌入到每組變換域中低頻系數(shù)的第一部分和第二部分中。這樣使得魯棒性強(qiáng)。本發(fā)明還公開了一種數(shù)字圖像的水印提取方法。在水印提取時(shí),按照和水印嵌入過程相同的分組方式,得到變換域中低頻段系數(shù)個(gè)數(shù)相同的兩部分,并計(jì)算這兩部分中變換域中低頻段系數(shù)平方和的差,得到水印信號(hào),就可以抵抗打印掃描攻擊,圖像在經(jīng)過D-A和A-D兩次轉(zhuǎn)換后仍可以從中成功提取所嵌入的水印信息。
文檔編號(hào)G06T1/00GK101122996SQ200710121700
公開日2008年2月13日 申請日期2007年9月12日 優(yōu)先權(quán)日2007年9月12日
發(fā)明者李曉龍, 亓文法, 程道放, 斌 楊 申請人:北京大學(xué), 北大方正集團(tuán)有限公司, 北京北大方正電子有限公司