二維cad工程圖的可逆水印方法、水印嵌入和水印提取方法
【技術領域】
[0001] 本發明涉及信息安全領域,特別是一種二維CAD工程圖的可逆水印方法、水印嵌入 和水印提取方法。
【背景技術】
[0002] 隨著信息技術的發展,圖像、視頻等數字多媒體作品的拷貝、修改、傳播變得非常 容易,這給數字多媒體帶來極大便利的同時,其內容保護和版權認證也成為亟待解決的問 題。數字水印技術作為一種版權保護和內容認證的手段,近年來在數字圖像領域得到一定 的發展。傳統的水印方法會使原始的圖形數據永久的失真,然而,在很多特殊的應用場合, 如醫學、司法、軍事等,對數字媒體本身的完整性、真實性要求很高,任何因為水印嵌入引入 的數據精度的失真是不允許的。因此,可逆水印技術的出現很好地滿足了這類應用的需求。 可逆水印技術又稱為無損數據隱藏,是指能夠完整恢復原始載體數據的水印算法。目前可 逆水印技術的研究主要集中在柵格圖像領域,主要利用差值擴展,直方圖變換和無損壓縮 等方法改變圖像的像素值嵌入水印信息。針對矢量數據的可逆水印方法研究則相對較少, 而已有的可逆水印算法大多針對數據相關性較高的圖像載體,當圖像數據相關性較低時, 水印容量和圖像質量均無法保證。
[0003] 二維CAD工程圖作為矢量圖形的一種,因具有數據精度高、可無損縮放和易于存儲 等特點,在工程設計行業中得到了廣泛應用。然而,這些工程圖形的數據相關性較低,已有 的可逆水印方案大部分無法直接應用到二維CAD工程圖領域,少數能用于二維CAD工程圖的 方法,存在水印容量低、嵌入水印后圖形質量不佳的問題。因此,尋找一種新型的獨立于載 體相關性的可逆水印方案來進一步擴大可逆數字水印技術的應用范圍,實現二維CAD工程 圖的版權保護和內容認證功能,已成為目前研究工作的重點。
【發明內容】
[0004] 本發明所要解決的技術問題是,針對現有技術不足,提供一種二維CAD工程圖的可 逆水印方法、水印嵌入和水印提取方法。
[0005] 為解決上述技術問題,本發明所采用的技術方案是:一種二維CAD工程圖虛擬坐標 迭代嵌入的大容量可逆水印方法,包括水印嵌入部分、水印提取部分;
[0006] 所述水印嵌入部分包括以下步驟:
[0007] 1)遍歷二維工程圖形G中所有實體的所有頂點坐標,得到一組二維頂點坐標集合V ={Vi,V2,…,Vi···,Vn};獲取V中各頂點橫坐標的最大值X·和最小值x min作為參考坐標點;i e [1,n],n為二維工程圖形G中所有實體的所有頂點總數;
[0008] 2)對參考坐標點外的任一坐標的橫坐標Xi,根據水印嵌入位置調節該橫坐標小數 點的位置,得到實際橫坐標X' i = Xi X 1〇Ρ,P《Pmax ;計算X' i的左、右虛擬橫坐標4、JC丨;其中 4 Sx丨<xf {^^表示坐標小數點后的最大有效位數;P為水印嵌入位置參數;
[0009] 3)將實際橫坐標和虛擬橫坐標構成的有序數據集作為水印載體,計算其均值 m -.m = (x\ +^ + ^)/3:
[0010] 4)根據均位所和待嵌入的水印信息^,修改實際橫坐標A實現水印嵌入,嵌入水
;其中&表示水印嵌入的變形參數;;
[0011] 5)更新嵌入水印后的橫坐標:/ 1(Τ ;
[0012] 6)重復上述步驟2~5),得到參考坐標點外所有坐標嵌入水印后的橫坐標;
[0013] 7)保存嵌入水印后的頂點坐標Vw,得到嵌入水印后的二維工程圖形Gw;所述水印提 取部分包括以下步驟:
[0014] 1)遍歷嵌入水印后二維工程圖形Gw中所有實體的所有頂點坐標,得到一組二維頂 點坐標集合V w= {V,,V2W,…Viw,…Vnw};獲取V w中各頂點橫坐標的最大值.和最小值 作為參考坐標點;
[0015] 2)對除參考坐標點外的任一橫坐標if,根據水印嵌入位置調節該橫坐標小數點 的位置,得到實際橫坐標:X廠=< X10P,p S
[0016] 3)計算均值歷' :/7Γ = (.τ;' +.Y,:W +<)/3 ;
[0017] 4)比較實際橫坐標xf和均值if的大小,確定水印信息并恢復實際橫坐標X' i:
[0020] 5)更新提取水印后的橫坐標,恢復橫坐標i/10P;
[0021] 6)保存提取水印后的頂點坐標V,即得到原始二維工程圖形G;
[0022] 同理,采用同樣的方法實現縱坐標的水印嵌入和水印提取。
[0023] 優選地,本發明的虛擬橫坐標<、X;'的計算公式如下:
[0025]其中,0 < Uxi < Dx_l,Dx > 2 ; lt = (Xmax-XmirO/DxJ' min = XminX lO^X' i 關 X' ??η,Χ' i 關 X、ax;X、ax = XmaxX 10P; L」表示向下取整。該虛擬橫坐標:Xi的計算公式簡單,計算量小,容 易實現。
[0026 ]優選地,本發明的變形參數Q滿足:Q'<Q<Q";其中,Q'<min(Q(o)i|i = l,~n); Q" >max(Q(c)i | i = l,···η);
[0027] Q{ο). < min | (.r,f + /. - x') / 3, (x; + /. - x') / 3 ^
[0028] G(c}'> max!(2.r;-xi -<)/6,(彳+.r; -2x)/6丨。本發明變形參數的選擇方法可 以有效防止水印嵌入過程中的數據溢出和水印提取過程中的數據溢出,能最大程度地減少 水印嵌入后圖像的失真,同時能有效保證水印的正確提取。
[0029]本發明中,P的取值為3或4,確保水印嵌入有較好的不可見性。
[0030] 本發明的二維CAD工程圖虛擬坐標迭代嵌入的大容量水印嵌入方法包括以下步 驟:
[0031] 1)遍歷二維工程圖形G中所有實體的所有頂點坐標,得到一組二維頂點坐標集合V ={V!,V2,…,Vi···,Vn};獲取V中各頂點橫坐標的最大值X·和最小值x min作為參考坐標點;i e [1,n],n為二維工程圖形G中所有實體的所有頂點總數;
[0032] 2)對參考坐標點外的任一坐標的橫坐標Xi,根據水印嵌入位置調節該橫坐標小數 點的位置,得到實際橫坐標X' i = xi X 1〇Ρ,P《Pmax;計算X' i的左、右虛擬橫坐標乂、<,;其中 xi 丨示坐標小數點后的最大有效位數;P為水印嵌入位置參數;
[0033] 3)將實際橫坐標Vi和虛擬橫坐標構成的有序數據集作為水印載體,計算其均值 Μ ; m ^ (x' + x' + x;') / 3 ;
[0034] 4)根據均值兩和待嵌入的水印信息Wl,修改實際橫坐標實現水印嵌入,嵌入水
[0035] 5)更新嵌入水印后的橫坐標:<
[0036] 6)重復上述步驟2~5),得到參考坐標點外所有坐標嵌入水印后的橫坐標;
[0037] 7)保存嵌入水印后的頂點坐標Vw,得到嵌入水印后的二維工程圖形Gw。相應地,本 發明的二維CAD工程圖虛擬坐標迭代嵌入的大容量水印提取方法包括以下步驟:
[0038] 1)遍歷上述嵌入水印后的二維工程圖形Gw中所有實體的所有頂點坐標,得到一組 二維頂點坐標集合Vw= {V,,V2W,…Viw,…Vnw};獲取V w中各頂點橫坐標的最大值Χ:χ和最小 值·^^作為參考坐標點;
[0039] 2)對除參考坐標點外的任一橫坐標根據水印嵌入位置調節該橫坐標小數點 的位置,得到實際橫坐標:礦=彳xKf,# ;
[0040] 3)計算均值m': = (.< +.<' +.Y:")/3 :
[0041 ] 4)比較實際橫坐標和均值的大小,確定水印信息并恢復實際橫坐標X' i:
[0044] 5)更新提取水印后的橫坐標,恢復橫坐標i/10P;
[0045] 6)保存水印提取后的頂點坐標V,即得到原始二維工程圖形G;
[0046] 同理,采用同樣的方法實現縱坐標的水印嵌入和水印提取。
[0047] 與現有技術相比,本發明所具有的有益效果為:本發明通過對工程圖頂點坐標構 造虛擬坐標點提高數據間的相關性,保證嵌入水印和提取水印后,原始圖形變化較小;參考 坐標點外的任一坐標點都能作為水印載體,并且在多層嵌入水印的情況下引入的失真仍能 控制在有限的范圍內。理論分析和實驗結果均表明該方法有效地解決了二維工程圖水印容 量低、嵌入水印后圖形質量不佳的問題,適用于對數據精度要求較高的二維CAD工程圖形的 水印嵌入和提取。
【附圖說明】
[0048]圖1為本發明方法流程圖;
[0049]圖2(a)~圖2(c)分別為工程圖形G1的原始圖形、嵌入水印圖形、提取水印后的圖 形;
[0050] 圖3為本發明不可見性與嵌入位置關系圖;
[0051] 圖4(a)~圖4(c)分別為工程圖形G2在迭代次數分別為1=13 = 23 = 3時圖形的 不可見性;
[0052] 圖5為本發明不可見性與迭代次數關系圖。
【具體實施方式】
[0053] 本發明具體實現過程包括:構造虛擬坐標點、水印嵌入、水印提取,其流程圖如圖1 所示。
[0054] 構造虛擬坐標點:
[0055]步驟1:遍歷二維CAD工程圖所有實體的所有頂點坐標值,分別選取X軸上坐標的最 小值Xmin和最大值Xmx作為參考坐標點;
[0056] 步驟2:將Xmin、Xmax在坐標軸上的距離劃分為D X(DX2 2)個相等的區間段,定義每個 區間段的長度It:
[0057] lt= (Xmax-Xmin)/Dx
[0058] 步驟3:根據水印嵌入位置,調節各坐標的小數點位置:
[0059] X7 i = Xi X 10p,P < Pmax
[0060] 其中P表示水印嵌入的位置參數,?〇1£?表示坐標小數點后的最大有效位數。
[0061 ]步驟4:計算虛擬坐標點。對于X坐標軸上的任一橫坐標X' i(i e [1,η] ,χ' i矣X' min, x\#x\ax),確定該橫坐標所在的區間段uxi(0 < uxi < Dx_l)及其左右虛擬坐標點<、.x/' ;
[0063] 水印嵌入:
[0064] 步驟1:遍歷二維工程圖形G中所有實體(例如線、弧、圓等)的所有頂點坐標,得到 一組二維頂點坐標集合V = {Vi,V2,…,Vi…,Vn},獲取V中各頂點橫坐標的最大值Xmax和最小 值Xmin作為參考坐標點;
[0065]步驟2:對實際橫坐標Y i,按上述虛擬坐標點的構造原則計算其左右虛擬坐標點; [0066]步驟3:將實際橫坐標和虛擬橫坐標構成的一組有序數據集(< S X/ <<)作為水印 載體,計算其均值歷:
[0067] M = +x+x)/3 V l l ' - l /
[0068] 步驟4:依據均值兩:和待嵌入的水印信息Wi修改實際坐標實現水印嵌入。嵌入水印 后的坐標用χ, πι'表示。