專(zhuān)利名稱(chēng):一種基于柵格地圖特征的小波域零水印方法
技術(shù)領(lǐng)域:
本發(fā)明屬于多媒體信息安全技術(shù)領(lǐng)域,特別是針對(duì)柵格數(shù)字地圖數(shù)據(jù),提出一種 基于柵格數(shù)字地圖特征的零水印方法。
背景技術(shù):
目前已經(jīng)提出了許多數(shù)字水印方法,這些方法一般可以分為兩類(lèi)頻域水印法和 空域水印法。這些嵌入數(shù)字水印的方法都對(duì)數(shù)據(jù)的空域信息或其頻域信息做了一定的修改 來(lái)嵌入水印信息,為了不讓人眼發(fā)覺(jué)人為修改的痕跡,很多方法采用了基于HVS (人類(lèi)視覺(jué) 系統(tǒng))的視覺(jué)掩膜。用加視覺(jué)掩膜的方法在一定程度上解決了水印可感知性和魯棒性之間 的矛盾。但是加視覺(jué)掩膜使得水印的嵌入過(guò)程復(fù)雜化,消耗計(jì)算時(shí)間太長(zhǎng),不利于實(shí)際應(yīng) 用,而且如果別有用心者了解加視覺(jué)掩膜的方法,不能排除有能力的人用方法篡改含有水 印信息的地圖,同樣使人眼難以發(fā)覺(jué)的細(xì)小的改動(dòng),從而導(dǎo)致水印信息檢測(cè)失敗。因此,這 就使得數(shù)字水印的安全性受到了限制。所以最好的辦法是運(yùn)用零水印來(lái)解決。所謂的零水 印就是不對(duì)原始圖像或數(shù)據(jù)進(jìn)行修改的一種新的數(shù)字水印技術(shù)。它是利用圖像或者數(shù)據(jù)的 重要特征來(lái)構(gòu)造水印信息,而不是來(lái)修改這些特征。所以零水印技術(shù)很好地解決了不可見(jiàn) 數(shù)字水印的可感知性和魯棒性之間的矛盾。特別是針對(duì)柵格地圖的數(shù)據(jù)要求,由于柵格的 地理空間數(shù)據(jù)越來(lái)越被社會(huì)運(yùn)用,它是描述關(guān)于人類(lèi)賴(lài)以生存的地球的重要信息,是國(guó)家 基礎(chǔ)性、公益性設(shè)施,是國(guó)家基礎(chǔ)設(shè)施建設(shè)和地球科學(xué)研究的支撐性成果,是國(guó)家經(jīng)濟(jì)、國(guó) 防建設(shè)中不可缺少的資源,對(duì)社會(huì)持續(xù)發(fā)展起著重要作用,因此零水印的應(yīng)用會(huì)對(duì)于柵格 地圖數(shù)據(jù)的版權(quán)保護(hù)起到至關(guān)重要的作用。因此零水印非常適用于柵格地圖的安全保護(hù), 即不修改原始地圖的內(nèi)容要能滿(mǎn)足版權(quán)的保護(hù)。
發(fā)明內(nèi)容
本發(fā)明針對(duì)現(xiàn)有技術(shù)的不足,提供了一種基于二維柵格數(shù)字地圖特征的零水印方法。本發(fā)明方法包括水印信息嵌入和水印信息檢測(cè)。水印信息嵌入
所述的水印信息嵌入是指提取原始柵格地圖的零水印信息,保存入庫(kù),具體包括以下 步驟
步驟(1)調(diào)制水印信息,二值水印圖結(jié)合密鑰和運(yùn)用Arnold變換把水印信息置亂,得 到二進(jìn)制比特流w,具體是設(shè)定水印圖像為NXN的二值圖,則水印信息長(zhǎng)度為/=NXN,采 用離散化的Arnold變換并結(jié)合密鑰得到最終水印信息比特流W=(Wl,w2, . . . , Wi, . . . , W1), 其中Wi e {0,1},0彡Kl ;同時(shí)生成兩個(gè)長(zhǎng)度為1的二進(jìn)制比特流X=(Xl,X2,... ,Xi,..., X1)和y=(yi,y2,...⑶,……),用來(lái)保存特征數(shù)據(jù),其中Xi=Yi=O, 0 ^ i<7 ;
步驟( 對(duì)柵格地圖數(shù)據(jù)進(jìn)行分塊處理根據(jù)水印信息的長(zhǎng)度Λ把柵格地圖數(shù)據(jù)分成 1 土夬,且每塊大小為MXM方形小塊;然后進(jìn)行以下步驟步驟a、對(duì)每個(gè)MXM的小塊數(shù)據(jù)進(jìn)行二維sym2小波分解(sym2為Symlets小波系中的 一種),分解級(jí)數(shù)為2;
步驟b、對(duì)第i塊小波系數(shù)中的LIA和Hffii系數(shù)(LIA代表第2級(jí)小波分解中的逼近 系數(shù),Hffii代表第2級(jí)小波分解中的對(duì)角線細(xì)節(jié)系數(shù))分別進(jìn)行統(tǒng)計(jì)取LI^中的最小值與 最大值,均分成十個(gè)等間隔的區(qū)間,把LI^中的元素分到此十個(gè)區(qū)間之內(nèi),并返回每個(gè)范圍 內(nèi)元素的個(gè)數(shù)作為一個(gè)一維向量,記為V1,再取Hffii中的最小值與最大值,均分成十個(gè)等間 隔的區(qū)間,把Hffii中的元素分到此十個(gè)區(qū)間之內(nèi),并返回每個(gè)范圍內(nèi)元素的個(gè)數(shù)作為一個(gè) 一維向量,記為V2;
步驟c、分別對(duì)向量V1和V2的元素進(jìn)行從大到小的排序,記為V1 ’和V2',獲得V1'排在向 量前面的兩個(gè)元素ApB1',以及他們?cè)谙蛄縑1中的位置HA1、HB1,獲得V2’排在向量前面的兩 個(gè)元素A2’、B2’,以及他們?cè)谙蛄縑2中的位置HA2、HB2,然后做如下處理 如果 abs (Hai-Hbi) >T,則令 Xi=I ; 如果 abs (Hai-Hbi) < T,則令 Xi=O ; 如果 abs (Ha2-Hb2) >T,則令 yi=l ; 如果 abs (Ha2-Hb2) < T,則令 Yi=O ; 其中,abs ()代表取絕對(duì)值,T代表閾值。步驟( 生成零水印信息把置亂后的水印信息二進(jìn)制比特流w和X進(jìn)行異或操 作得到零水印信息I1, 二進(jìn)制比特流w和y進(jìn)行異或操作得到零水印信息I2 ;
步驟(4)保存零水印信息把生成的零水印信息I1和I2保存到水印信息庫(kù)中,以備檢 測(cè)時(shí)需要。水印信息檢測(cè)
所述的水印信息檢測(cè)是指將待檢測(cè)柵格地圖中提取的零水印信息與水印信息庫(kù)中的 水印信息操作得到最后水印信息,具體步驟如下
步驟⑴根據(jù)待檢測(cè)柵格地圖數(shù)據(jù),取出水印信息庫(kù)中的水印信息IJPI2,并生成兩個(gè) 長(zhǎng)度為 7 的二進(jìn)制比特流 α=(αι,α2,···,Qi,..., CI1)禾口 3=(3i,β2,···,^i,..., β D,用來(lái)保存特征數(shù)據(jù),其中α嚴(yán)1=0,0彡iO;;
步驟( 對(duì)待檢測(cè)柵格地圖數(shù)據(jù)進(jìn)行分塊處理根據(jù)水印信息的長(zhǎng)度,把柵格地圖數(shù) 據(jù)分成每塊大小為MXM的小塊;然后進(jìn)行一下步驟
步驟a、對(duì)每個(gè)MXM的小塊數(shù)據(jù)進(jìn)行二維sym2小波分解(sym2為Symlets小波系中的 一種),分解級(jí)數(shù)為2;
步驟b、對(duì)第i塊小波系數(shù)中的LI^和Hffii系數(shù)(LIA代表第2級(jí)小波分解中的逼近 系數(shù),Hffii代表第2級(jí)小波分解中的對(duì)角線細(xì)節(jié)系數(shù))分別進(jìn)行統(tǒng)計(jì)取LI^中的最小值與 最大值,均分成十個(gè)等間隔的區(qū)間,把LI^中的元素分到此十個(gè)區(qū)間之內(nèi),并返回每個(gè)范圍 內(nèi)元素的個(gè)數(shù)作為一個(gè)一維向量,記為V3,再取Hffii中的最小值與最大值,均分成十個(gè)等間 隔的區(qū)間,把Hffii中的元素分到此十個(gè)區(qū)間之內(nèi),并返回每個(gè)范圍內(nèi)元素的個(gè)數(shù)作為一個(gè) 一維向量,記為V4;
步驟c、分別對(duì)向量V3和V4的元素進(jìn)行從大到小的排序,記為V3’和V4',獲得V3'排在向 量前面的兩個(gè)元素C3'、D3',以及他們?cè)谙蛄縑3中的位置H。3、HD3,獲得V4'排在向量前面的兩 個(gè)元素C4’、D4',以及他們?cè)谙蛄縑4中的位置Hc4、Hd4,然后做如下處理
5如果 abs (Hg3-Hd3) >T,則令 Qi=I ; 如果 abs (Hc3-Hd3) < T,則令 α i=0 ; 如果 abs (Hc4-HJ >T,則令 ^i=I ; 如果 abs (Hc4-H 4) < T 則令 β 尸0 ; 其中,abs()代農(nóng)収絕對(duì)值,T代表閾值。步驟( 得到檢測(cè)信息把α和I1進(jìn)行異或操作,得到W1 ’,把β和I2進(jìn)行異或 操作,得到W2';
步驟⑷反置亂水印信息把二進(jìn)制比特流Wp W;結(jié)合密鑰進(jìn)行Arnold反變換提取 出最終的水印圖像I1 ’和I2'。本發(fā)明的有益效果為
該方法不需要對(duì)原始柵格地圖數(shù)據(jù)做任何修改,根據(jù)柵格地圖數(shù)據(jù)圖像塊顏色差別比 較明顯的特征,對(duì)柵格地圖數(shù)據(jù)做小波變換,并在小波域系數(shù)上提取零水印信息。該水印方 法,一方面避免把水印作為冗余信息嵌入在地圖數(shù)據(jù)中引起數(shù)據(jù)改變的缺點(diǎn),具有較好的 隱蔽性,可以很好地解決數(shù)字水印的不可感知性和魯棒性之間的矛盾,也可以克服可逆數(shù) 字水印中存在的安全漏洞,是一種天然的盲水印系統(tǒng),有很大的實(shí)用價(jià)值;另一方面能夠抵 抗多種常見(jiàn)的攻擊,比如縮放、平移、旋轉(zhuǎn)、裁剪,具有較強(qiáng)的抵抗力和穩(wěn)健性。
具體實(shí)施例方式本發(fā)明方法包括水印信息嵌入和水印信息檢測(cè)。水印信息嵌入
所述的水印信息嵌入是指提取原始矢量地圖的零水印信息,保存入庫(kù),具體包括以下 步驟
步驟(1)調(diào)制水印信息,二值水印圖結(jié)合密鑰和運(yùn)用Arnold變換把水印信息置亂,得 到二進(jìn)制比特流w,具體是設(shè)定水印圖像為NXN的二值圖,則水印信息長(zhǎng)度為/=NXN,采 用離散化的Arnold變換并結(jié)合密鑰得到最終水印信息比特流W=(Wl,w2, . . . , Wi, . . . , W1), 其中Wi e {0,1},0彡Kl ;同時(shí)生成兩個(gè)長(zhǎng)度為1的二進(jìn)制比特流X=(Xl,X2,... ,Xi,..., X1)和Y=G^y2,...…,…,Y1),用來(lái)保存特征數(shù)據(jù),其中Xi = Yi =0, 0 ^ i<7 ;
步驟( 對(duì)柵格地圖數(shù)據(jù)進(jìn)行分塊處理根據(jù)水印信息的長(zhǎng)度Λ把柵格地圖數(shù)據(jù)分成 1塊,且每塊大小為MXM方形小塊;然后進(jìn)行以下步驟
步驟a、對(duì)每個(gè)MXM的小塊數(shù)據(jù)進(jìn)行二維sym2小波分解(sym2為Symlets小波系中的 一種),分解級(jí)數(shù)為2;
步驟b、對(duì)第i塊小波系數(shù)中的LIA和Hffii系數(shù)(LIA代表第2級(jí)小波分解中的逼近 系數(shù),HH2,代表第2級(jí)小波分解中的對(duì)角線細(xì)節(jié)系數(shù))分別進(jìn)行統(tǒng)計(jì)將LI^和Hffii中的 元素分別分到10個(gè)等間隔范圍內(nèi)(取最小值與最大值,均分成十個(gè)等間隔的區(qū)間),并返回 每個(gè)范圍內(nèi)元素的個(gè)數(shù)作為一個(gè)一維向量,分別記為V1和V2 ;
步驟c、分別對(duì)向量V1和V2的元素進(jìn)行從大到小的排序,記為V1'和V2’,分別獲得排在 向量前面的兩個(gè)元素ApB1'和A2’、4’,以及他們?cè)谙蛄縑1和V2中的位置Hai、Hbi和Ha2、Hb2, 然后做如下處理
如果 abs (Hai-Hbi) >T,則令 Xi=I ;如果 abs (Hai-Hbi) < T,則令 Xi=O ; 如果 abs (Ha2-Hb2) >T,則令 yi=l ; 如果 abs (Ha2-Hb2) < T,則令 Yi=O ;
其中,abs ()代表取絕對(duì)值,T代表閾值,對(duì)T取不同值,經(jīng)不斷實(shí)驗(yàn),表明閾值T=2時(shí)效 果最好。步驟( 生成零水印信息把置亂后的水印信息二進(jìn)制比特流w和X進(jìn)行異或操 作得到零水印信息I1, 二進(jìn)制比特流w和y進(jìn)行異或操作得到零水印信息I2 ;
步驟(4)保存零水印信息把生成的零水印信息I1和I2保存到水印信息庫(kù)中,以備檢 測(cè)時(shí)需要。水印信息檢測(cè)
所述的水印信息檢測(cè)是指將待檢測(cè)矢量地圖中提取的零水印信息與水印信息庫(kù)中的 水印信息操作得到最后水印信息,具體步驟如下
步驟⑴根據(jù)待檢測(cè)柵格地圖數(shù)據(jù),取出水印信息庫(kù)中的水印信息IdPI2,并生成兩個(gè) 長(zhǎng)度為 7 的二進(jìn)制比特流 α β=(α” α2,··.,%,··.,CI1)禾口 β=(β” β2,··.,βρ···, β i),用來(lái)保存特征數(shù)據(jù),其中% = β , =0, 0 ^ Kl ;;
步驟( 對(duì)待檢測(cè)柵格地圖數(shù)據(jù)進(jìn)行分塊處理根據(jù)水印信息的長(zhǎng)度,把柵格地圖數(shù) 據(jù)分成每塊大小為MXM的小塊;然后進(jìn)行以下步驟
步驟a、對(duì)每個(gè)MXM的小塊數(shù)據(jù)進(jìn)行二維sym2小波分解(sym2為Symlets小波系中的 一種),分解級(jí)數(shù)為2;
步驟b、對(duì)第i塊小波系數(shù)中的LIA和Hffii系數(shù)(LIA代表第2級(jí)小波分解中的逼近 系數(shù),HH2,代表第2級(jí)小波分解中的對(duì)角線細(xì)節(jié)系數(shù))分別進(jìn)行統(tǒng)計(jì)將LI^和Hffii中的 元素分別分到10個(gè)等間隔范圍內(nèi)(取最小值與最大值,均分成十個(gè)等間隔的區(qū)間),并返回 每個(gè)范圍內(nèi)元素的個(gè)數(shù)作為一個(gè)一維向量,分別記為V3和V4 ;
步驟c、分別對(duì)向量V3和V4的元素進(jìn)行從大到小的排序,記為V3'和V4’,分別并獲得排 在前面的兩個(gè)元素C3’、D3’和C4’、D4’,以及他們?cè)谙蛄縑3和V4中的位置HC3、HD3和HC4、HD4,然 后做如下處理
如果 abs (Hc3-HdJ >T,則令 α i=l ; 如果 abs (Hc3-HdJ < T,則令 α i=0 ; 如果 abs (Hc4-Hd4) >T,則令 β 尸1 ; 如果 abs (Hc4-Hd4) < T,則令 β 尸0 ; 其中,abs ()代表取絕對(duì)值,T代表閾值。步驟( 得到檢測(cè)信息把α和I1進(jìn)行異或操作,得到W1 ’,把β和I2進(jìn)行異或 操作,得到W2';
步驟⑷反置亂水印信息把二進(jìn)制比特流Wl’、W2'結(jié)合密鑰進(jìn)行Arnold反變換提取 出最終的水印圖像。對(duì)于現(xiàn)在的某些針對(duì)零水印的攻擊中,有可能是破壞LI^系數(shù)中特征, 也有可能是破壞Hffii系數(shù)中的特征,最后檢測(cè)結(jié)果兩張水印圖像中只要有一張水印圖像能 夠識(shí)別,即可說(shuō)明零水印是存在的。
權(quán)利要求
1. 一種基于柵格地圖特征的小波域零水印方法,其特征在于該方法包括水印信息嵌入 和水印信息檢測(cè);所述的水印信息嵌入是指提取原始柵格地圖的零水印信息,保存入庫(kù),具體包括以下 步驟步驟(1)調(diào)制水印信息,二值水印圖結(jié)合密鑰和運(yùn)用Arnold變換把水印信息置亂,得 到二進(jìn)制比特流w,具體是設(shè)定水印圖像為NXN的二值圖,則水印信息長(zhǎng)度為/=NXN,采 用離散化的Arnold變換并結(jié)合密鑰得到最終水印信息比特流W=(Wl,w2, . . . , Wi, . . . , W1), 其中Wi e {0,1},0彡Kl ;同時(shí)生成兩個(gè)長(zhǎng)度為1的二進(jìn)制比特流X=(Xl,X2,... ,Xi,..., X1)和y=(yi,y2,...⑶,……),用來(lái)保存特征數(shù)據(jù),其中Xi=Yi=O, 0 ^ i<7 ;步驟( 對(duì)柵格地圖數(shù)據(jù)進(jìn)行分塊處理根據(jù)水印信息的長(zhǎng)度Λ把柵格地圖數(shù)據(jù)分成 1 土夬,且每塊大小為MXM方形小塊;然后進(jìn)行以下步驟步驟a、對(duì)每個(gè)MXM的小塊數(shù)據(jù)進(jìn)行二維sym2小波分解,分解級(jí)數(shù)為2 ; 步驟b、對(duì)第i塊小波系數(shù)中的LI^和Hffii系數(shù)分別進(jìn)行統(tǒng)計(jì)取LI^中的最小值與 最大值,均分成十個(gè)等間隔的區(qū)間,把LI^中的元素分到此十個(gè)區(qū)間之內(nèi),并返回每個(gè)范圍 內(nèi)元素的個(gè)數(shù)作為一個(gè)一維向量,記為V1,再取Hffii中的最小值與最大值,均分成十個(gè)等間 隔的區(qū)間,把Hffii中的元素分到此十個(gè)區(qū)間之內(nèi),并返回每個(gè)范圍內(nèi)元素的個(gè)數(shù)作為一個(gè) 一維向量,記為V2;步驟c、分別對(duì)向量V1和V2的元素進(jìn)行從大到小的排序,記為V1 ’和V2',獲得V1'排在向 量前面的兩個(gè)元素ApB1',以及他們?cè)谙蛄縑1中的位置HA1、HB1,獲得V2’排在向量前面的兩 個(gè)元素A2’、B2’,以及他們?cè)谙蛄縑2中的位置HA2、HB2,然后做如下處理 如果 abs (Hai-Hbi) >T,則令 Xi=I ; 如果 abs (Hai-Hbi) < T,則令 Xi=O ; 如果 abs (Ha2-Hb2) >T,則令 yi=l ; 如果 abs (Ha2-Hb2) < T,則令 Yi=O ; 其中,abs()代表取絕對(duì)值,T代表閾值;步驟⑶生成零水印信息把置亂后的水印信息二進(jìn)制比特流w和χ進(jìn)行異或操作得 到零水印信息I1, 二進(jìn)制比特流w和y進(jìn)行異或操作得到零水印信息I2 ;步驟(4)保存零水印信息把生成的零水印信息I1和I2保存到水印信息庫(kù)中,以備檢 測(cè)時(shí)需要;所述的水印信息檢測(cè)是指將待檢測(cè)柵格地圖中提取的零水印信息與水印信息庫(kù)中的 水印信息操作得到最后水印信息,具體步驟如下步驟(5)根據(jù)待檢測(cè)柵格地圖數(shù)據(jù),取出水印信息庫(kù)中的水印信息IJPI2,并生成兩個(gè) 長(zhǎng)度為 7 的二進(jìn)制比特流 α=(αι,α2,···,Qi,..., Ci1)禾口 ¢=(3^ β2,···,^i,..., β D,用來(lái)保存特征數(shù)據(jù),其中α嚴(yán)1=0,0彡iO;;步驟(6)對(duì)待檢測(cè)柵格地圖數(shù)據(jù)進(jìn)行分塊處理根據(jù)水印信息的長(zhǎng)度,把柵格地圖數(shù) 據(jù)分成每塊大小為MXM的小塊;然后進(jìn)行以下步驟步驟d、對(duì)每個(gè)MXM的小塊數(shù)據(jù)進(jìn)行二維sym2小波分解,分解級(jí)數(shù)為2 ;步驟e、對(duì)第i塊小波系數(shù)中的LI^和Hffii系數(shù)分別進(jìn)行統(tǒng)計(jì)取LI^中的最小值與最大值,均分成十個(gè)等間隔的區(qū)間,把LI^中的元素分到此十個(gè)區(qū)間之內(nèi),并返回每個(gè)范圍 內(nèi)元素的個(gè)數(shù)作為一個(gè)一維向量,記為V3,再取Hffii中的最小值與最大值,均分成十個(gè)等間 隔的區(qū)間,把Hffii中的元素分到此十個(gè)區(qū)間之內(nèi),并返回每個(gè)范圍內(nèi)元素的個(gè)數(shù)作為一個(gè) 一維向量,記為V4;步驟f、分別對(duì)向量V3和V4的元素進(jìn)行從大到小的排序,記為V3’和V4',獲得V3'排在向 量前面的兩個(gè)元素C3’、D3’,以及他們?cè)谙蛄縑3中的位置H。3、HD3,獲得V4'排在向量前面的兩 個(gè)元素C4’、D4',以及他們?cè)谙蛄縑4中的位置Hc4、Hd4,然后做如下處理 如果 abs (Hg3-Hd3) >T,則令 Qi=I ; 如果 abs (Hc3-Hd3) < T,則令 α i=0 ; 如果 abs (Hc4-Hd4) >T,則令 β 尸1 ; 如果 abs (Hc4-Hd4) < T,則令 β 尸0 ;步驟(7)得到檢測(cè)信息把α和I1進(jìn)行異或操作,得到W1 ’,把β和12進(jìn)行異或操作, 得到W2';步驟⑶反置亂水印信息把二進(jìn)制比特流Wl’、W2'結(jié)合密鑰進(jìn)行Arnold反變換提取 出最終的水印圖像I1 ’和I2'。
全文摘要
本發(fā)明公開(kāi)了一種基于柵格地圖特征的小波域零水印方法?,F(xiàn)有的水印的嵌入過(guò)程復(fù)雜化,消耗計(jì)算時(shí)間太長(zhǎng),不利于實(shí)際應(yīng)用。本發(fā)明包括水印信息嵌入和水印信息檢測(cè)。水印信息嵌入是指提取原始柵格地圖的零水印信息,保存入庫(kù)。水印信息檢測(cè)是指將待檢測(cè)柵格地圖中提取的零水印信息與水印信息庫(kù)中的水印信息操作得到最后水印信息。本發(fā)明具有較好的隱蔽性,可以克服可逆數(shù)字水印中存在的安全漏洞。
文檔編號(hào)G06T1/00GK102129660SQ20111007227
公開(kāi)日2011年7月20日 申請(qǐng)日期2011年3月24日 優(yōu)先權(quán)日2011年3月24日
發(fā)明者凌云, 林傳峰, 王勛, 章志勇, 黃定軍 申請(qǐng)人:浙江工商大學(xué)