專利名稱:一種在圖片中嵌入和提取數(shù)字水印的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于圖片管理技術(shù)領(lǐng)域,更為具體地講,涉及一種在圖片中嵌入和提取數(shù)字水印的方法。
背景技術(shù):
隨著WEB2.0時代的到來,互聯(lián)網(wǎng)上的圖片數(shù)目呈指數(shù)次增長,這給網(wǎng)絡(luò)用戶提供了極大的便利的同時也給網(wǎng)絡(luò)的監(jiān)管者提出了兩個難題:(I)、網(wǎng)絡(luò)的監(jiān)管者通常是通過圖片的文件名對圖片的內(nèi)容進行監(jiān)管,但某些圖片名字可能會被篡改以逃脫監(jiān)管;(2)、某些有版權(quán)的圖片可能會被侵權(quán)者非法使用,但網(wǎng)絡(luò)的監(jiān)管者對此卻不能在第一時間發(fā)現(xiàn)并加以制止。以上兩個問題都可以通過使用在圖片中嵌入數(shù)字水印的技術(shù)加以解決。通過將一副圖片的描述信息(比如名字、內(nèi)容等)和版權(quán)信息作為魯棒不可見的數(shù)字水印嵌入該圖片,在防火墻、網(wǎng)關(guān)等設(shè)備中加入水印解碼程序即可使圖片中內(nèi)容得到監(jiān)控;如果圖片因版權(quán)問題產(chǎn)生糾紛,版權(quán)方也可利用圖片中數(shù)字水印的版權(quán)信息維護其合法權(quán)益。數(shù)字水印技術(shù)發(fā)展至今仍有一些矛盾沒有被完全解決,比如水印的魯棒性與不可見性之間的矛盾、大水印嵌入量與水印不可見性之間的矛盾以及通過量化方法嵌入水印與幅值攻擊的矛盾。這些矛盾會直接或間接影響數(shù)字水印的使用效果。比如通過量化的方法嵌入水印時,若要使水印的魯棒性增強,則量化的噪聲就會隨之增大,水印的不可見性減弱,進而影響水印載體(圖片,音頻等)的使用;大量的水印嵌入也會使水印的不可見性減弱,導(dǎo)致水印載體的使用受到影響;量化嵌入水印會使水印信息難以抵御幅值攻擊的影響。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種在圖片中嵌入和提取數(shù)字水印的方法,以達到水印魯棒性與不可見性的兼顧目的。為實現(xiàn)上述目的,本發(fā)明在圖片中嵌入和提取數(shù)字水印的方法,其特征在于,包括以下步驟:(I)、數(shù)字水印的嵌入al、將原始圖片image采用二級DWT變換即離散小波變換得到小波域圖像dwt-1mage,并用此小波域圖像dwt-1mage生成訓(xùn)練矢量集Train ;a2、根據(jù)訓(xùn)練矢量集Train生成初始碼書C’ ;a3、并用此初始碼書C’使用LBG算法生成碼書C ;a4、使用擴展算法將碼書C擴展為碼書CO、Cl,使用此擴展算法得到的碼書CO、Cl對圖片進行數(shù)字水印嵌入,可使數(shù)字水印信息對幅值攻擊有較強的抵抗力;a5、在小波域圖像dwt-1mage中,利用HVS即人類視覺系統(tǒng)模型選擇小波域中適合嵌入水印的矢量集合dwt-P ;a6、利用碼書CO、Cl將01序列的水印信息嵌入選定的矢量集合dwt_P,即將選定的矢量使用碼書CO、Cl量化,未被量化的區(qū)域保持不變,得到嵌入水印信息的DWT域圖像wm-dwt-1mage ;a7、用IDWT變換即逆離散小波變換將嵌入水印的DWT域圖像wm-dwt-1mage還原為時空域圖片即嵌入有數(shù)字水印的圖片wm-1mage ;(2)、數(shù)字水印的提取bl、按照步驟(I)中al a4子步驟,對嵌入了數(shù)字水印的圖片wm-1mage進行處理,得到參考碼書CO’,Cl’ ;b2、按照步驟(I)中a5子步驟,得到適合嵌入數(shù)字水印集合dwt-P即得到載有數(shù)字水印的矢量集合;b3、通過參考碼書C0’、C1’和載有數(shù)字水印的矢量集合,得到01序列的水印信息,
即數(shù)字水印。本發(fā)明的發(fā)明目的是這樣實現(xiàn)的:本發(fā)明在圖片中嵌入和提取數(shù)字水印的方法,在現(xiàn)有基于矢量量化的數(shù)字水印嵌入與提取基礎(chǔ)上,首先采用二級DWT變換即離散小波變換構(gòu)造訓(xùn)練矢量集,在一定程度上保證了水印的魯棒性的同時兼顧到了水印的不可見性,調(diào)解了水印的魯棒性與不可見性之間的矛盾;其次利用視覺模型選取水印的嵌入位置,故可使大量的水印信息以科學(xué)的方式嵌入到DWT域中的,因而解決了大水印嵌入量與水印不可見性之間的矛盾。
圖1是本發(fā)明數(shù)字水印嵌入部分的流程圖;圖2是本發(fā)明采樣小波域圖像構(gòu)造訓(xùn)練矢量集示意圖;圖3是本發(fā)明中原始圖片以及小波域圖像的實例圖;圖4是碼書C中的矢量映射到XOY平面的示意圖;圖5是對碼書C中的矢量進行擴展的示意圖;圖6是在小波域適合嵌入?yún)^(qū)域映射到時空域的圖;圖7是本發(fā)明數(shù)字水印提取部分的流程圖;圖8是采用本發(fā)明方法嵌入有數(shù)字水印的Iena圖片;圖9是本發(fā)明方法經(jīng)過強度在區(qū)間
之內(nèi)幅值攻擊后的BER曲線;圖10是本發(fā)明方法經(jīng)過密度在區(qū)間
之內(nèi)椒鹽噪聲攻擊后的BER曲線;圖11是本發(fā)明方法經(jīng)過方差在區(qū)間
之內(nèi)高斯白噪聲攻擊后的BER曲線;圖12是本發(fā)明方法經(jīng)過強度在區(qū)間
之內(nèi)JPEG壓縮攻擊后的BER曲線;圖13是本發(fā)明方法經(jīng)過強度在區(qū)間[_2,100]之內(nèi)JPEG壓縮攻擊后的BER曲線。
具體實施例方式下面結(jié)合附圖對本發(fā)明的具體實施方式
進行描述,以便本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當(dāng)已知功能和設(shè)計的詳細描述也許會淡化本發(fā)明的主要內(nèi)容時,這些描述在這里將被忽略。
圖1是本發(fā)明數(shù)字水印嵌入部分的流程圖。在本實施例中,如圖1所示,本發(fā)明數(shù)字水印嵌入部分包括以下步驟:al、將原始圖片image采用二級DWT變換即離散小波變換得到小波域圖像dwt-1mage,并用此小波域圖像dwt-1mage生成訓(xùn)練矢量集Train ;在本實施例中,具體為:將原始圖片image用DBl小波進行二級離散小波變換,得到有LL2,HL2,LH2,HH2,HLl, LHl, HHl七個小波區(qū)域的小波域圖像dwt-1mage,如圖2所示。由于小波區(qū)域LL2的每個點在另外六個小波區(qū)域中都有對應(yīng)的點,所以生成的訓(xùn)練矢量集Train中矢量Xi是一個16維的向量,具體的生成訓(xùn)練矢量集Train中的方法為:取小波區(qū)域LL2中一個點的值為X,1,小波區(qū)域HL2中對應(yīng)的一個點的值為;cf,
小波區(qū)域LH2中對應(yīng)的一個點的值為X,3,小波區(qū)域HH2中對應(yīng)的一個點的值為 <,小波區(qū)
域HLl中對應(yīng)的四個點的值為<、X16、X11、xf,小波區(qū)域LHl中對應(yīng)的四個點的值為
X9i > X1i0 \ K小波區(qū)域HHl中對應(yīng)的四個點的值為T)、I, xf,這16個值
構(gòu)成訓(xùn)練矢量集Train第i個矢量。如圖3所示,黑點即為各個小波區(qū)域中對應(yīng)矢量取值點的位置的示例。由此步可知,若小波區(qū)域LL2的尺寸為長length、寬width,則訓(xùn)練矢量集Train中矢量 Xi 的個數(shù)為 length *width,即 0 < i < length*width_l。
本實施例中,原始圖片image為尺寸512*512的灰度圖片Lena,如圖3 (a)所示。在本實施例中,水印信息采用的是長度為1600bit的01序列,由圖片的版權(quán)信息及描述信息組成的文字序列生成的01序列。將灰度圖片Lena采用DBl小波經(jīng)過二級離散小波變換得到小波域圖像dwt-1mage,如圖3 (b)所示。其中小波區(qū)域LL2,HL2,LH2,HH2的尺寸為128*128,小波區(qū)域HL1,LHl, HHl的尺寸為256*256。由此,訓(xùn)練矢量集Train為一個由128*128=16384個16維矢量組成的矢量集。a2、根據(jù)訓(xùn)練矢量集Train生成初始碼書C’。由于初始碼書C’的好壞很大程度上可以左右LBG算法生成碼書C的效率和生成的碼書的性能,所以初始碼書的生成方法非常重要。在本實施例中,初始碼書C’生成的具體步驟為:a21、設(shè)定閾值Ttl和浮動值a,令k=0,n=l ;a22、求訓(xùn)練矢量集Train的質(zhì)心矢量cent:
權(quán)利要求
1.一種在圖片中嵌入和提取數(shù)字水印的方法,其特征在于,包括以下步驟: (1)、數(shù)字水印的嵌入 al、將原始圖片image采用二級DWT變換即離散小波變換得到小波域圖像dwt-1mage,并用此小波域圖像dwt-1mage生成訓(xùn)練矢量集Train ;a2、根據(jù)訓(xùn)練矢量集Train生成初始碼書C’ ;a3、并用此初始碼書C’使用LBG算法生成碼書C ; a4、使用擴展算法將碼書C擴展為碼書C0、C1,使用此擴展算法得到的碼書C0、C1對圖片進行數(shù)字水 印嵌入,可使數(shù)字水印信息對幅值攻擊有較強的抵抗力; a5、在小波域圖像dwt-1mage中,利用HVS即人類視覺系統(tǒng)模型選擇小波域中適合嵌入水印的矢量集合dwt-P ; a6、利用碼書CO、Cl將Ol序列的水印信息嵌入選定的矢量集合dwt-P,即將選定的矢量使用碼書CO、Cl量化,未被量化的區(qū)域保持不變,得到嵌入水印信息的DWT域圖像wm-dwt-1mage ; a7、用IDWT變換即逆離散小波變換將嵌入水印的DWT域圖像wm-dwt-1mage還原為時空域圖片即嵌入有數(shù)字水印的圖片wm-1mage ; (2)、數(shù)字水印的提取 bl、按照步驟(I)中al a4子步驟,對嵌入了數(shù)字水印的圖片碰-1mage進行處理,得到參考碼書CO’,Cl’ ; b2、按照步驟(I)中a5子步驟,得到適合嵌入數(shù)字水印集合dwt-P即得到載有數(shù)字水印的矢量集合; b3、通過參考碼書CO’、C1’和載有數(shù)字水印的矢量集合,得到01序列的水印信息,即數(shù)字水印。
2.根據(jù)權(quán)利要求1所述的嵌入和提取數(shù)字水印的方法,其特征在于,步驟al中所述將原始圖片image采用二級DWT變換即離散小波變換得到小波域圖像dwt-1mage為: 將原始圖片image用DBl小波進行二級離散小波變換,得到有LL2,HL2,LH2,HH2,HLl,LHl, HHl七個小波區(qū)域的小波域圖像dwt-1mage ; 所述小波域圖像dwt-1mage生成訓(xùn)練矢量集Train為: 取小波區(qū)域LL2中一個點的值為X丨,小波區(qū)域HL2中對應(yīng)的一個點的值為xf,小波區(qū)域LH2中對應(yīng)的一個點的值為 <,小波區(qū)域HH2中對應(yīng)的一個點的值為xf,小波區(qū)域HLl中對應(yīng)的四個點的值為X;、X;、x]、x;,小波區(qū)域LHl中對應(yīng)的四個點的值為xf、x;\才、X丨2,小波區(qū)域HHl中對應(yīng)的四個點的值為<3、X:4, <、<,這16個值構(gòu)成訓(xùn)練矢量集Train第i個矢量,其中小波區(qū)域LL2的尺寸為長length、寬width,則訓(xùn)練矢量集Train中矢量Xi的個數(shù)為length*width,即0 < i < length*width_l。
3.根據(jù)權(quán)利要求1所述的嵌入和提取數(shù)字水印的方法,其特征在于,步驟a2所述的根據(jù)訓(xùn)練矢量集Train生成初始碼書C’為: a21、設(shè)定閾值Ttl和浮動值a,令k=0,n=l ; a22、求訓(xùn)練矢量集Train的質(zhì)心矢量cent:
4.根據(jù)權(quán)利要求2所述的嵌入和提取數(shù)字水印的方法,其特征在于,步驟a4所的使用擴展算法將碼書C擴展為碼書C0、C1為:任取碼書C中的一個矢量q ={,<),并將矢量Ci中的元素映射到XOY平面中,其中元素的位置映射為橫坐標,元素的值映射為總坐標,如c,1映射為(V,1)。
元素c/與坐標點(0,0)連成的直線與X軸的夾角是%,則擴展點(1,0與坐標點(0,0)連成的直線與X軸的夾角為% +5 ;擴展點(I,<°)與坐標點(0,0)連成的直線與X軸的夾角為%-5,其中S為設(shè)定角度,根據(jù)具體情況設(shè)定;Cf、cf為元素c/的擴展點;將碼書C中每個矢量的每個元素都按如上方法擴展即可得到兩個碼書Cl和CO,其中碼書Cl中的矢量c,1 =CK1,…cfl, i=l, 2,-,N,碼書CO中的矢量cf =cf ,cfn16°,i=l, 2,...,N。
5.根據(jù)權(quán)利要求2所述的嵌入和提取數(shù)字水印的方法,其特征在于,步驟a5所述的小波域圖像dwt-1mage中,利用HVS即人類視覺系統(tǒng)模型選擇小波域中適合嵌入水印的矢量集合dwt-P為: a51、需要被嵌入的01序列水印信息的長度為Q,設(shè)定浮動值P,另變量r=0 ; a52、通過Watson模型,計算出小波域圖像dwt-1mage各個小波區(qū)域中每個點的JND值; a53、計算每個小波區(qū)域中所有點JND值的平均值avez,其中,z G {HL1, LHl, HHl, LL2, HL2, LH2, HH2}; a54、在選取訓(xùn)練矢量集Train中選取適合被量化的矢量,該矢量在各小波區(qū)域中對應(yīng)點的JND值都大于其所在小波區(qū)域所有點JND值的平均值avez,這些適合被量化的矢量構(gòu)成集合n,集合n中矢量的個數(shù)為P ; a55、若 Q>P,則令 r=r+l, avez=(l_r P ) avez,轉(zhuǎn)至步驟 a54 ;若 Q < P 且 P_Q>P/5,則令r=r+l, avez=(l+r P )avez,轉(zhuǎn)至步驟 a54 ;若 Q < P 且 P-Q ( P/5,則轉(zhuǎn)至步驟 a56 ;a56、輸出矢量構(gòu)成集合作為適合嵌入水印的矢量集合dwt-P。
6.根據(jù)權(quán)利要求2所述的嵌入和提取數(shù)字水印的方法,其特征在于,步驟a6所述的利用碼書C0、C1將Ol序列的水印信息嵌入選定的矢量集合dwt-p,即將選定的矢量使用碼書COXl量化,未被量化的區(qū)域保持不變,得到嵌入水印信息的DWT域圖像wm-dwt-1mage為: 步驟al a4得到碼書C0,C1,即可根據(jù)01序列的水印信息對矢量集合dwt_P中的矢量量化。若01序列的水印信息第i位為0,則在碼書CO中選取與矢量集合dwt-P中第i個矢量Ckt-Pi最接近的矢量替換矢量Ckt-Pi ;若01序列的水印信息第i位為1,則在碼書Cl中選取與矢量集合dwt-P中第i個矢量Ckt-Pi最接近的矢量替換矢量Ckt-Pi ; 將矢量集合dwt-P中矢量在小波域圖像dwt-1mage各個小波區(qū)域的對應(yīng)點的值修改為對應(yīng)的該矢量元素值,得到嵌入水印信息的DWT域圖像wm-dwt-1mage。
7.根據(jù)權(quán)利要求1所述的嵌入和提取數(shù)字水印的方法,其特征在于,步驟b3所述的通過參考碼書co’、cr和載有數(shù)字水印的矢量集合,得到Oi序列的水印信息,即數(shù)字水印,具體為: b31、計算數(shù)字水印集合dwt-P第i個矢量與參考碼書CO’中最近矢量的歐幾里得距離,記為di(l ; b32、計算數(shù)字水印集合dwt-P第i個矢量與參考碼書Cl’中最近矢量的歐幾里得距離,記為dn ; b33、若di(l>dn,則嵌入的01序列的水印信息的第i位為1,反之為0,從而將嵌入的數(shù)字水印提取出來。
全文摘要
本發(fā)明公開了一種在圖片中嵌入和提取數(shù)字水印的方法,在現(xiàn)有基于矢量量化的數(shù)字水印嵌入與提取基礎(chǔ)上,首先采用二級DWT變換即離散小波變換構(gòu)造訓(xùn)練矢量集,在一定程度上保證了水印的魯棒性的同時兼顧到了水印的不可見性,調(diào)解了水印的魯棒性與不可見性之間的矛盾;其次利用視覺模型選取水印的嵌入位置,故可使大量的水印信息以科學(xué)的方式嵌入到DWT域中的,因而解決了大水印嵌入量與水印不可見性之間的矛盾。
文檔編號G06T1/00GK103150700SQ201310095818
公開日2013年6月12日 申請日期2013年3月25日 優(yōu)先權(quán)日2013年3月25日
發(fā)明者邢玲, 劉鵬, 馬強, 何燕玲 申請人:西南科技大學(xué)