專利名稱:基于典型相關(guān)分析的2維矢量圖的數(shù)字水印保護方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種將CCA (典型相關(guān)分析)應用于2維矢量圖的數(shù)字水印保護的方法,屬于 信息安全保護領(lǐng)域。
背景技術(shù):
數(shù)字水印技術(shù)的應用為矢量圖在網(wǎng)絡上的發(fā)布和傳播提供了更為安全的優(yōu)點。目前,2維 矢量圖的數(shù)字水印主要是通過修改矢量圖形輪廓的方法來嵌入水印。具體的水印算法卻各有 優(yōu)劣。依據(jù)水印嵌入位置的不同,主要分為空間域和變換域水印方法。
1. 空域方法是通過直接修改輪廓頂點的坐標值來嵌入水印信息,主要是有效利用頂點的位 置關(guān)系或是坐標的統(tǒng)計特性等。具有代表性的是基于修改頂點位置關(guān)系的水印方案,在這些 方案中,矢量圖被分成指定大小的塊,在這些塊中,以塊的某一點為原點,在塊內(nèi)形成新的 坐標值,在每一塊內(nèi)嵌入水印位。
2. 變換域方法不是通過直接修改頂點坐標嵌入,而是從矢量圖中選取頂點的坐標,并按一 定的規(guī)則進行排序,然后進行域變換,將水印嵌入到它們的變換系數(shù)中。 一般而言,變換域 算法強壯性較好,是目前研究的重點,主要的變換有DFT(傅立葉變換)、DWT (小波變換)和 DCT (離散余弦變換)。
3. 其他變換域算法輪廓參數(shù)化,ICA (獨立分量分析)處理,網(wǎng)格-頻譜圖和中國剩余定理 等。
上述三個領(lǐng)域的方案各有優(yōu)劣。空間域的方法出現(xiàn)的較早,只能抵抗一些輕微的攻擊, 算法也不具有其他多媒體作品空間域算法簡單的特點。變換域方法相對具有不錯的魯棒性, 但是有的算法實現(xiàn)起來比較復雜,且抗矢量圖的仿射攻擊能力差。至于其他變換域的方法, 它們屬于非主流方案,研究的深度較淺,具有很大的局限性。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對已有技術(shù)的缺陷,提供一種基于典型相關(guān)分析的2維矢量圖的數(shù) 字水印保護方法,能夠抵抗各種幾何攻擊、加噪濾波、改變起始點和它們的綜合攻擊。
本發(fā)明的主要構(gòu)思是在目前矢量圖水印算法在抗攻擊方面的不足,依據(jù)典型相關(guān)分析 自身的特點,將其引入到數(shù)字水印技術(shù)中,給出了一種非常有效的矢量圖數(shù)字水印保護方法。
本方法是尋找一種能夠最大程度的抵抗各種水印攻擊的算法,其中包括
(1) 抗幾何攻擊或稱仿射攻擊
(2) 抗加噪和濾波(3) 抗改變起始點
(4) 抗頂點逆序
(5) 抗綜合攻擊
對于幾何攻擊,考慮找到一種變換能夠使原矢量圖和幾何攻擊后矢量圖進行該變換后得 到一組相同的數(shù)據(jù)或是描述子,為此我們引入了 CCA,因為通過我們的分析發(fā)現(xiàn)CCA具有如 下的仿射性質(zhì)
將CCA的兩個隨機變量限制為2維,正好對應輪廓圖頂點的兩個坐標,則經(jīng)CCA得到的 典型相關(guān)變量在仿射變換前后的對應關(guān)系反映到圖形上可表述為l)重合2)經(jīng)X軸對稱3) 經(jīng)Y軸對稱4)經(jīng)X軸和Y軸兩次對稱得到。
簡單的說,2維隨機變量在進行相同的仿射變換后l)典型相關(guān)系數(shù)不變,2)典型相關(guān)變 量存在上述四種可能的關(guān)系,3)若規(guī)定典型相關(guān)變量均為正實數(shù),則仿射前后典型相關(guān)變量 不變。
由于CCA是利用數(shù)據(jù)的統(tǒng)計特性,對于大的畸變和噪聲不敏感,所以基于CCA的水卬算 法對于加噪和濾波具有很好的魯棒性。
當改變頂點的起始點或是頂點逆序時,CCA得到的典型相關(guān)變量的起始點也將改變,這就 破壞了水印的同步,所以,還需要找到一種對同步不敏感的算法,DFT域的水印算法恰好能 夠抵抗這種攻擊,于是我們考慮在得到的典型相關(guān)變量上使用這種算法,這樣就能夠很好的 解決問題,但是這時還要考慮起始點改變的奇偶性,因為這時典型相關(guān)變量受到的影響是不 一樣的,為此在水印檢測時需要計算出兩種情況下的相關(guān)值。
上面的各種攻擊對于典型相關(guān)變量來說它們的影響是相互獨立的,它們的綜合攻擊只是 簡單的疊加,不會有大的影響。
但是,對于CCA的使用還是有問題,因為CCA要求兩個隨即變量的樣本數(shù)是相同的,這 就需要我們在選取頂點時有一些限制條件,如果我們將頂點按下標的奇偶分為兩組序列作為 進行CCA處理的隨機變量,那么我們選取的輪廓頂點序列長度就必須是偶數(shù),這對于長度為 奇數(shù)的頂點序列來說是一個致命的限制條件。于是,針對K度為奇數(shù)的頂點序列我們使用一 種新的分組方法一環(huán)形奇偶分組法。所謂的環(huán)形分組法就是將整個序列的頂點按環(huán)形排列, 從一點開始按某一方向(逆時針或順時針)進行奇偶分組,分組至奇偶組均開始出現(xiàn)各自的 循環(huán)為止,即若原序列長度為2n+l,則分組后的奇偶組長度均為2n+l。當采用這種方法分組 后,在后續(xù)的典型變量融合時取出我們需要的頂點即可。需要注意的是,當出現(xiàn)改變起始點 和頂點逆序的時,在檢測時要多計算一組相關(guān)值。根據(jù)上述的發(fā)明構(gòu)思,本發(fā)明釆用下述技術(shù)方案
一種基于典型相關(guān)分析的2維矢量圖的數(shù)字水印保護方法,其特征在于實施步驟為1) 實施數(shù)字水印的嵌入流程;2)實施數(shù)字水印的檢測流程。 數(shù)字水印的嵌入流程的操作步驟為-
(1) 先將原始矢量圖的輪廓圖頂點坐標序列尸質(zhì)心歸零,然后按照下標的奇偶性分成 兩組尸。和尸。,即奇數(shù)組和偶數(shù)組;上面是頂點序列長度為偶數(shù)的分組方法,對于頂 點序列長度為奇數(shù)的,需要使用前面提到的環(huán)形奇偶分組法,同樣得到奇數(shù)組尸。和 偶數(shù)組/i。
(2) 將尸。和尺進行CCA,得到A和疋各自對應的典型相關(guān)變量i/和F,然后將V和K 取正后按尸。和A原來的奇偶順序合為一組序列W;對于頂點序列長度為奇數(shù)(若為 2n+l)在〃和K取正合為一組序列W時,不需要將^/和K所有的數(shù)據(jù)都合并,只需 取出 〃的前n+l和K的前n項來合并為W就可以了。
(3) 運用DFT域水印算法對P嵌入水印,含水印的W用針P表示;
(4) /rw先奇偶分組并還原回原來的正負性,然后進行CCA的逆運算,獲得含水印的
奇偶序列釈和M;對于頂點序列長度為奇數(shù)(若為2n+l)的情況,在將W尸先奇 偶分組并還原正負性后,要把(2)中舍棄的數(shù)據(jù)補齊后再進行CCA的逆運算。要注 意的是這些補回去的數(shù)據(jù)也要是嵌入水印后的數(shù)據(jù),不能直接用原來舍棄的數(shù)據(jù)。
(5) 含水印的V尸。和;W按奇偶合為單一序列,然后平移回原來的質(zhì)心。即恢復為含水 印的矢量多邊形序列好P。頂點序列長度為奇數(shù)(若為2n+l)時,還是要先取出各自的 前n+l或n項數(shù)據(jù)后再合并為單一序列后,再完成后面的工作。數(shù)字水印的檢測流程 采用的是相關(guān)檢測的方法,具體的操作步驟為
(1) 待檢測矢量圖輪廓頂點序列^質(zhì)心歸一化后,按奇偶分為奇偶兩組"和仏 這里頂點序列長度為奇數(shù)時的處理方式同嵌入系統(tǒng)的步驟(1)相同。
(2) 對ft和a進行CCA,得到典型相關(guān)變量#和見將私W數(shù)據(jù)取正后合為單一序列 吸
頂點序列長度為奇數(shù)時的處理方式同嵌入系統(tǒng)的步驟(2)相同。
(3) 依據(jù)DFT域水印算法計算W的傅立葉描述子Z;
(4) 計算IZ/與嵌入水印的相關(guān)值C,通過比較C與閾值T的大小,判定待檢測矢量圖 的輪廓是否含有水印。
上面的判定是最簡單的情況下的判定,在實際中我們并不知道待檢測的矢量圖經(jīng)受了怎樣的攻擊,所以在檢測的時候我們應該把所有的情況綜合考慮。為此,還需要求取下面的幾 個相關(guān)值
4. 1輪廓頂點序列長度為偶數(shù)時,將起始點移動奇數(shù)個后的相關(guān)值。這時要將兩個相關(guān)值 分別和閾值比較,若有一值大于閾值一值小于閾值,才判定含有水印,其它判為不含 水印。
4. 2輪廓頂點序列長度為奇數(shù)時,將得到的檢測(2)中的。。和G互換后的檢測值。同樣 將將兩個相關(guān)值分別和閾值比較,若有一值大于閾值一值小于閾值,才判定含有水 印,否則不含水印。
本發(fā)明方法與現(xiàn)有算法相比較,具有如下顯而易見的突出實質(zhì)性特點和顯著優(yōu)點 第一、充分考慮到幾何攻擊對矢量圖造成的影響,所以采用CCA方法將原來對仿射攻擊
敏感的矢量圖轉(zhuǎn)換到對仿射攻擊無任何影響的典型相關(guān)變量狀態(tài)。這就相當于仿
射變換不存在,這對后面的水印檢測非常有利。 第二、充分考慮的水印的綜合攻擊,即通過CCA將原本有所聯(lián)系的攻擊映射到典型相關(guān)
變量上的彼此獨立的攻擊。 第三、極大的考慮到各種可能存在的攻擊,即引入DFT域水印算法,很好的抵抗了改變
起始點的攻擊。
第四、這種方法具有非常好的魯棒性,保證了判定了高準確率。
圖l是基于典型相關(guān)分析的2維矢量圖的數(shù)字水印保護方法的流程圖,圖中圖(a) 為水印嵌入流程,圖(b)為水印檢測流程。
圖2是實施例嵌入水印前后的矢量輪廓圖,圖中圖(a)為原始矢量輪廓圖,圖(b) 為含水印的矢量輪廓圖。
圖3是實施例中本發(fā)明與DFT域方法的R0C比較。
圖4是實施例在綜合攻擊下的R0C曲線。
具體實施例方式
本發(fā)明的一個優(yōu)選實施例結(jié)合附圖詳述如下參照圖1,對europ—map. svg進行具體實施, 本基于典型相關(guān)分析的2維矢量圖的數(shù)字水印保護方法具體實施方式
分為兩大步驟,即數(shù)字 水印的嵌入流程和數(shù)字水印的檢測流程。我們在第一步驟采用CCA得到對仿射具有不變性的 典型相關(guān)變量,這使水印對幾何攻擊具有很強的魯棒性;同時,我們還結(jié)合進了 DFT域的水 印算法,增強了水印的抗起始點改變的能力。而在第二步驟中,我們通過計算多個相關(guān)值,降低了水印的誤判率,提高了系統(tǒng)的判決性能。具體可參考圖l。 本實施例的兩大步驟結(jié)合附圖詳述如下
一、 數(shù)字水印的嵌入流程
為了實現(xiàn)在europ—map. svg上的應用,我們首先需要選出一條矢量圖的輪廓頂點坐 標序列尸,它的頂點長度為偶數(shù),然后對它實施下述詳細的操作
(1) 先將尸質(zhì)心歸零,然后按照下標的奇偶性分成奇數(shù)組尸。和偶數(shù)組尸"
(2) 將尸。和尸6進行CCA,得到尸。和A各自對應的典型相關(guān)變量i/和K然后將 〃和K 取正后按尸。和尸。原來的奇偶順序合為一組序列「尸;
(3) 運用DFT域水印算法對W嵌入水印,得到含水印的rK尸;
(4) F『先奇偶分組并還原回原來的正負性,然后進行CCA的逆運算,獲得含水印的奇 偶序列釈和釈;
(5) 含水印的^尸。和/R按奇偶合為單一序列,然后平移回原來的質(zhì)心。即恢復為含水 印的矢量多邊形序列r尸。具體可參考圖1的嵌入流程和圖2。
二、 數(shù)字水印的檢測流程
在完成第一步以后,含有水印的矢量圖就可以在網(wǎng)上發(fā)布或是使用。當懷疑矢量圖 被侵權(quán)或是遇到版權(quán)歸屬問題時,就需要對水印進行檢測。F面我們就結(jié)合含水印的 eur叩一map. svg矢量圖對數(shù)字水印的檢測系統(tǒng)的操作做詳細的說明。待檢測的 europ—map. svg輪廓頂點序列為。,對它進行下面的操作
(1) 將e質(zhì)心歸一化,然后按奇偶分為奇數(shù)組偶。。和偶數(shù)組^
(2) 對&和&進行ccA,得到它們對應的典型相關(guān)變量游rw,將#,嫩據(jù)取正后合為單
一序列吸
(3) 依據(jù)DFT域水印算法計算出K。的傅立葉描述子《
(4) 計算I^/與嵌入水印的相關(guān)值C,通過比較C與閾值T的大小,判定待檢測矢量圖的 輪廓是否含有水印。具體可參考圖l的檢測流程。
在這里,我們?yōu)榱蓑炞C本發(fā)明的優(yōu)點,我們通過計算水印的的漏警率和虛報率來繪制出各種 情況下的R0C曲線,R0C曲線能夠很好的反應出本發(fā)明的優(yōu)越性。具體可參考圖3和圖4。
權(quán)利要求
1. 一種基于典型相關(guān)分析的2維矢量圖的數(shù)字水印保護方法,其特征在于實施步驟為A. 實施數(shù)字水印的嵌入流程;B. 實施數(shù)字水印的檢測流程。
2. 根據(jù)權(quán)利要求1所述的基于典型相關(guān)分析的2維矢量圖的數(shù)字水印方法,其特征在于所 述的步驟A的實施數(shù)字水印嵌入流程的步驟為a. 先將原始矢量圖的輪廓圖頂點坐標序列P質(zhì)心歸零,然后按照下標的奇偶性分成兩 組尸。和尸e,即奇數(shù)組和偶數(shù)組,對于頂點序列長度為奇數(shù)的,需要使用環(huán)形奇偶 分組法;b. 將P。和A進行典型相關(guān)分析,得到尸。和戶e各自對應的典型相關(guān)變量t/和F,然后將C/和K取正后按戶。和尸e原來的奇偶順序合為一組序列^,對于頂點序列長 度為奇數(shù)的,只取出所需部分;c. 運用DFT域水印算法對KP嵌入水印,含水印的KP用野T表示;d. ,先奇偶分組并還原回原來的正負性,然后進行典型相關(guān)分析的逆運算,獲得 含水印的奇偶序列WP。和WTe,頂點序列長度為奇數(shù),需先補齊數(shù)據(jù)再進行典型 相關(guān)分析的逆運算;e. 含水印的WP。和WPe按奇偶合為單一序列,然后平移回原來的質(zhì)心,即恢復為含水印的矢量多邊形序列壞y,序列長度為奇數(shù),需要取出需要的數(shù)據(jù)進行合并。
3. 根據(jù)權(quán)利要求1所述的基于典型相關(guān)分析的2維矢量圖的數(shù)字水印方法,其特征在于所 述的步驟B的實施數(shù)字水印檢測流程的步驟為a. 待檢測矢量圖輪廓頂點序列g(shù)質(zhì)心歸一化后,按奇偶分為奇偶兩組g。和込,頂點 序列長度為奇數(shù)時的處理方式同實施數(shù)字水印嵌入流程的步驟a相同;b. 對仏和込進行典型相關(guān)分析,得到典型相關(guān)變量M和7V,將M, 7V數(shù)據(jù)取正后 合為單一序列Kg,頂點序列長度為奇數(shù)時的處理方式同實施數(shù)字水印嵌入流程的 步驟b相同;c. 依據(jù)DFT域水印算法計算Fg的傅立葉描述子Z;d. 計算M與嵌入水印的相關(guān)值C,通過比較C與閾值T的大小,判定待檢測矢量圖 的輪廓是否含有水印;為了判斷的準確性還需要求取下面的幾個相關(guān)值-i. 輪廓頂點序列長度為偶數(shù)時,將起始點移動奇數(shù)個后的相關(guān)值;ii. 輪廓頂點序列長度為奇數(shù)時,將得到的步驟b中的g。和込互換后的檢測值。
全文摘要
本發(fā)明涉及一種基于典型相關(guān)分析的2維矢量圖的數(shù)字水印保護方法。本發(fā)明在分析目前矢量圖水印算法在抗攻擊方面的不足的基礎(chǔ)上,依據(jù)典型相關(guān)分析的特點,將其引入到數(shù)字水印技術(shù)中。包含兩個實施步驟在水印的嵌入階段采用了在通過典型相關(guān)分析得到的典型相關(guān)變量上利用DFT域算法嵌入水印的方案;在檢測階段,依據(jù)典型相關(guān)分析典型相關(guān)變量的仿射不變特性和統(tǒng)計特性對水印進行相關(guān)檢測,最終判定是否含有水印。本發(fā)明的方法能夠抵抗各種幾何攻擊、加燥濾波、改變起始點和它們的綜合攻擊。
文檔編號G06T1/00GK101447070SQ20081020399
公開日2009年6月3日 申請日期2008年12月4日 優(yōu)先權(quán)日2008年12月4日
發(fā)明者孫廣玲, 歡 陳 申請人:上海大學