徐其江 劉志雯 劉存桓
摘 要 本文介紹了兩種與水印相關的關鍵技術,一種是本文提出的N點均值技術,它是本文水印算法的核心,用來實現(xiàn)數(shù)字水印的嵌入、提取和數(shù)據(jù)的無損恢復,一種是數(shù)字水印預處理技術,用來加強水印系統(tǒng)的安全性。最后,本文概述了本文提出的水印算法策略。
關鍵詞 數(shù)字 水印 算法
中圖分類號:TP309.7 文獻標識碼:A
1數(shù)字水印系統(tǒng)相關技術
1.1 數(shù)字水印預處理技術
現(xiàn)在大多數(shù)的文獻都選一幅小的有意義的圖像作為數(shù)字水印,顯然這樣的水印相對其它水印更直觀,可是攻擊者一旦獲得了此有意義的圖像水印,就可以直接地了解到水印的內(nèi)容。因此,有必要提高圖像水印的安全性和穩(wěn)健性。以下是幾種常用的對有意義水印信號進行預期處理的方法。
(1)數(shù)字圖像置亂
置亂技術是隨著信息的安全與保密被重視而發(fā)展起來的圖像加密技術。數(shù)字圖像置亂是一種加密方法,合法使用者可以自由控制算法的選擇、參數(shù)的選擇以及使用隨機數(shù)技術,以達到非法使用者無法破解圖像內(nèi)容的目的。
(2)加密
在實際應用中,如果已嵌入到產(chǎn)品中的水印能夠直觀地表達其版權信息,那么攻擊者一旦提取了從此產(chǎn)品提取到水印信息,就可以很輕松地掌握水印的實際內(nèi)容。為了盡最大限度地解決這一問題,可以選擇合適的加密算法對水印進行加密,即在水印嵌入產(chǎn)品之前,先對其作加密運算,使之變換為沒有任何意義的偽隨機序列信息,然后再將它嵌入到產(chǎn)品中。因此,將加密技術和數(shù)字水印相結合可更進一步提高水印系統(tǒng)的安全性。
一般在水印在嵌入產(chǎn)品前都要對之進行預期處理,這樣大大增加了攻擊者在窮舉猜測攻擊中的難度。水印預處理在數(shù)字水印系統(tǒng)安全性方面具有極其重要的作用。
1.2 水印算法策略
1.2.1 水印算法的性能要求
一個數(shù)字水印算法的性能要求可以是多方面的,不同的應用的水印有不同的性質(zhì)要求。通常可以從以下幾個方面來考察:
(1)嵌入容量
嵌入容量是指可以在載體中嵌入多少的水印信息量。一般地,數(shù)字產(chǎn)品必須嵌入一定的信息量。信息量太少不足以唯一地確定產(chǎn)品的版權,信息量太多又會增加數(shù)據(jù)的冗余,降低水印的不可覺察性。
(2)魯棒性
為了滿足數(shù)字水印技術在各種應用中的安全需要,提高水印的魯棒性顯得尤為重要。數(shù)字水印的魯棒性是指它抵抗水印攻擊的能力,即水印能夠經(jīng)受各種信號處理的能力。一個數(shù)字水印應該能夠承受大量的、不同的物理和幾何失真,包括有意的或無意的。
(3)保真性
一般地,數(shù)字水印系統(tǒng)的保真性指的是待嵌水印載體數(shù)據(jù)在水印嵌入前后的數(shù)據(jù)相似度。在水印系統(tǒng)中,保真性和魯棒性以及水印容量之間一般要作折衷的處理。
(4)誤檢率
誤檢率是指從沒有嵌入水印的產(chǎn)品中提取出水印的概率。不同的應用場合要求水印的誤檢率不同。
(5)確定性
數(shù)字水印的確定性是指含水印數(shù)字產(chǎn)品中所含的水印能夠被唯一的鑒別,即使所含水印的數(shù)字產(chǎn)品遭受到一定程度的破壞,提取出的水印仍具有可唯一鑒別性。
一個好的數(shù)字水印系統(tǒng)應具備以上五個方面的幾個或全部。
1.2.2 基于N點均值的矢量地圖水印算法
以前的矢量地圖可逆水印算法雖然實現(xiàn)了數(shù)據(jù)無損修復,但是算法的嵌入容量低、對地圖的保真度差。為了尋求以上兩個問題的解決方案,本文提出了一種基于N點均值技術的矢量地圖水印算法,該算法可以使得矢量地圖的水印嵌入容量有較大提高,也降低了嵌入水印后地圖圖元的擾動。
本文采用的N點均值技術的實施載體是一組具有連續(xù)高相似性的實數(shù)序列。
(1)本文的水印嵌入算法步驟如下:
①對待加入水印的矢量地圖進行多邊曲線的提取;
②對提取的每條多邊曲線分別進行頂點坐標提?。?/p>
③對每條多邊曲線的頂點坐標序列分組;
④為防止嵌入水印信息后引起地圖曲線的較大擾動,對步驟(1)中每條多邊曲線中的分組進行分類(可嵌入水印分組和不可嵌入水印分組);
⑤采用N點均值技術對每條多邊曲線的每個可嵌入水印分組進行水印嵌入,并且在保證擾動很小的情況下可以對該分組遞歸多次(可無限次)嵌入;
⑥對每條多邊曲線的每個分組重復步驟(5),將水印信息完全嵌入其中。
(2)水印提取前首先需對水印地圖做一系列預處理,去除幾何變換、插入和刪除頂點等操作的影響。水印提取過程為:
①按照水印嵌入算法第(1)步對含水印的矢量地圖進行多邊曲線的提??;
②按照水印嵌入算法第(2)步對提取的每條多邊曲線分別進行頂點坐標提??;
③按照水印嵌入算法第(1)步對矢量地圖中每條多邊曲線進行數(shù)據(jù)分組劃分。
④按照水印嵌入算法第(4)步對每條多邊曲線中的分組進行分類;
⑤對篩選出的每條多邊曲線中的含水印分組采用N點均值技術,通過比較分組中間點坐標值和分組坐標均值大小進行水印提?。?/p>
⑥對每條多邊曲線的同一個分組重復步驟⑤,將水印信息完全提取出來,并在每一次提取水印的過程中利用N點均值技術的可修復性將數(shù)據(jù)修復。
2本文小結
本文主要對矢量地圖數(shù)字水印的相關技術進行了介紹,給出了本文提出的N點均值公式,并對水印預處理技術進行了詳細闡述。本文還指出了目前矢量地圖可逆水印算法中存在的不足,并提出了一種新的可逆水印方案。