陳翔
探尋最適當的水印嵌入算法,是數字文本水印首要去解決的。目前看來,市面上還沒有任一種技術同時具備著良好的魯棒性、較好的視覺體驗、較高的抗攻擊性以及大容量水印信息的存儲等。
本文提及的文本水印研究的原理是對字符或字符串的拓撲結構進行調整,對語義相符的字符進行不同字形的設計,并按照拓撲結構作出相應的編碼設置,通過相應的編碼將數字水印信息逐一進行嵌入,從而實現新型文本數字水印技術。借助此種文本數字水印,能夠更有利地對目前的文本數字水印技術中無法攻克的,比如水印給視覺上造成的影響,只能承載較少容量的文件,沒有良好的魯棒性等難題,這對那些印刷品及電子文件都能適用。
字符的拓撲結構一直以來都沒有一個明確的界定。在這同時,人們對字符意思的辨識中能自行對不同的變化做出調整。相同文字的拓撲結構能隨著字體的差別或者人寫字手法的特點進行改變,縱使拓撲結構有多少變化,人們都能夠根據語義進行辨認。根據此特性,進行字符拓撲結構上的變化,即可以實現多種字符形式的同一字符(串)。
調整并更改字符的拓撲結構,是字形設計的主體思想所在,通過此來獲取到多種字符外形的同一性。在設計過程中主要把握的是比較小的細部,這都將隨之改變字符的拓撲結構。不論是何種改變字符拓撲結構的形式,只要在人的視覺能正常分辨的范圍之內就是可取的。在此之內,對字符完整的筆劃作出連斷關系的調整,是比較常見的一種改變字符的拓撲結構方式。設計思路,如表1所示:

表1 漢字字符的多種字形
如上圖所示,對字符“在,這,里”改變其筆劃的連斷關系,進而得到了多種不同的字形。不同的字形同時能夠準確表達出同一個字符,但其拓撲結構卻又存在著差異。其差異性體現在某些局部筆劃的變動,筆劃的調整則同時改變了筆劃間的連斷性,進而就直接影響到了字符的拓撲結構。從拓撲結構的角度出發,看似微小的筆劃變化卻構成較多的字符拓撲結構變化。圖中不難發現,相同字符的不同字形設計能在某一單獨風格中實現,比如說:字符“在”中的230和231。不同種字符的字形設計同樣能在單個風格中得以實現,比如說:字符“在”中的230同字符“這”中的231。另外,同種字符的多種字形也能體現不同的風格,比如說:漢子“在”相同拓撲結構230和232能夠對應“宋體”和“隸書”兩種不同的字體風格。
在字符串的字形設計上,通過對單一字符拓撲結構產生外邊以外,還能利用字符串之間的連斷關系的變化進行字符串拓撲結構的調整,同時還能結合起來進行設計。例如在英語單詞上,改變其字符間的連斷關系,進而達到改變整個拓撲結構的目的,設計形式,如圖1所示:

圖1 字符串的多種拓撲結構
把字符作為基本單位的數字水印算法時,單個字符作為了最小的存儲單位。實際上,若想將字符串作為文本數字水印的基本單位,在此筆者推薦使用多個字符結合成一個單詞作為其基本的單位組成,字符串的字形設計同樣如此。特別的,拉丁字母為基礎的方式能更加地為字符串攜帶文本數字水印信息帶來了便捷。
1.3.1 字形編碼的影響因素
在使用字形編碼時,應將字符的字形同此融匯起來進行設計。利用此種方法設計字形拓撲結構應著重把握:調整字形拓撲結構后,能夠產生出編碼的變化。多樣的字形設計過程中,首要把握的就是更多的進行拓撲結構的改變,以此就能有大量編碼的獲取,進而可以使數字水印的存儲量大大提升。
1.3.2 人視覺的影響因素
在設計字形的過程中,還應當考慮盡可能避免對人視覺所產生的阻礙作用,在設計字形時不妨通過人自身心理上的感官認識和視覺習慣結合進行。比方說:要同字符固有的特性相關聯,更可能的把筆劃間連斷關系作出調整,此種方式要優越于將單個字形的筆劃分組來進行拓撲結構的改變。字符在進行調整時要注重到字符的外觀不能有明顯變化,只可在內部做適當的改變。同樣的道理,在字符中筆劃的表現較粗時,則盡可能的對細筆劃的連斷關系作出調整。
1.3.3 字體風格的影響因素
在設計字形的過程中,還要對字體風格上有所注重。其一,作為載體,一般都會對數字水印信息存儲的字體風格有著統一性的規定,因而能夠盡可能避免由于水印的附加給人的視覺帶來的不便,這就強調了字符的不同字形要具備類似的寬高以及字體的自身風格。其二,因為一般情況下原文件中就存儲了多樣的字體風格,因此同樣要根據字體風格的差異性,設計出一致的拓撲結構于同一字符之上,具備了字體風格的變化,就很好的延伸出字形設計的拓展性,在不調整數字水印檢測方式的前提之下。
實際的數字水印系統內,還要按照實際的需求情況對以上因素綜合分析來作出字形的最終設計。
如圖2所示:

圖2 水印加載示例圖
x代表的是原有的載體文本文件,共計55字符,講所有字符按照不同的拓撲結構進行調整,再按照它們表現出的圖象做編碼設置,基本單位以字符的方式把隱藏的數字水印信息帶入。水印總量共計115字節,嵌入ASC碼在前96字節當中,剩余的位數用0進行填充,所得圖象如圖Y。通過對比研究,不難看出x和Y中相對照字符有很大程度上的差異,是由于添加了水印所產生的作用。基本單位以字符串的方式把隱藏的數字水印信息帶入,所得到圖像如z所示,此組文本是利用字符間連斷性和拓撲結構的調整所形成的,而且還在涵蓋的獨立性封閉區域、連通區域作奇偶關系的編碼設置,嵌入的數據是水印x。
把圖中嵌入水印后的字符的圖像(Y)作為實驗對象,分別作魯棒性以及對人體視覺產生影響的實驗驗證。
文本水印研究的原理是對字符或字符串的拓撲結構進行調整,對語義相符的字符進行不同字形的設計,并按照拓撲結構作出相應的編碼設置,通過相應的編碼將數字水印信息逐一進行嵌入,從而實現新型文本數字水印技術。
文本水印研究的原理是對字符或字符串的拓撲結構進行調整,對語義相符的字符進行不同字形的設計,并按照拓撲結構作出相應的編碼設置,通過相應的編碼將數字水印信息逐一進行嵌入,從而實現新型文本數字水印技術。
實驗對象展開一下形式的操作:使用800dpi分辨率的掃描儀作掃描,再按1.4、1.1、0.7、0.5、0.2對圖像進行縮放處理,把等比得到的電子圖像存儲后再按照85%、75%、55%、25%的壓縮比例進行縮放處理,把等比得到的電子圖像存儲后再按照15度,45度,90度以及180度做旋轉。然后使用800dpi分辨率分辨率的復印機作復印,在使用等比例方式進行掃描,使用3000000dpi的數碼相機拍攝圖像。在縮放時使用的是Matlab2012b軟件imresize()函數進行的操作方法,用rotate()函數輔助圖像的旋轉。通過以上步驟獲取的實驗結果在水印數據的誤碼率上獲取的數據,如表2所示:

表2 魯棒性實驗結果
很直觀的可以發現:在對圖像進行放大、復制、旋轉和拍照等的時候,水印數據沒有什么顯著的變化,在縮小和壓縮時水印還有魯棒性的出現。
(二)視覺影響實驗
抽取120名高中以上程度的人員,進行試驗項目的測試。開始先讓每位測試員以平常的閱讀方式對圖4(Y)進行閱讀,將每人的閱讀時間做好筆記,并分析出最大閱讀時間以及平均值。然后再把這些人劃成三組,每60人為一個小組,每人小組按照下面敘述的三個方法逐一參加實驗:(1)先不透漏給參與測試的人員圖像中是否有水印信息的存在,并于指定內的(10s,30s,60s及90s)發現對象中存在的差異性;(2)透漏給參與測試的人員圖像中確有水印信息的存在,并且水印信息是附加于字符字形之內的,要求參與測試的人員在指定時間發現此組數據信息同常規狀態下的信息有何差異之處;(3)把圖3(x)一并給參與測試的人員觀看,并要求在指定時間內比較出兩者間存在的差異性。把全部的實驗條件下能夠徐找出實驗對象的拓撲結構有調整的人員作出百分比方式的呈現。實驗結果,如圖3所示:

圖3 視覺影響實驗百分比圖
很直觀的能夠發現:與無原載體的文本進行比較,調整后的字符拓撲結構給參與測試的人員帶來的影響是輕微甚至不存在的,就算是為其做了原載體文件的參考,一般情況下的閱讀內也幾乎察覺不到明顯的異常。造成視覺的影響程度和閱讀時間的長短成正比,時間越短,影響就更小。
水印系統的攻擊方式千變萬化。單獨地簡約進行分類,可以將水印的攻擊分成無意性攻擊,即魯棒性攻擊及惡意性攻擊,即安全性、系統的攻擊。本文數字水印具備良好魯棒性已在之前的實驗中論證,攻擊水印系統不再水印技術自身的領域之內,故本文不做出探討。下面就常見的一些安全攻擊展開研究,它大致包含修改、檢測攻擊及非授權去除等方式。
字符間存在較為顯著的差別,通過人工智能方法對字符的拓撲結構做出改變的可能性是微乎其微的。所以以不對人的視覺造成影響和不對字符語義有所變動的基礎上,能夠實現的攻擊方式則為人工修改。不難發現,采用人工的方式,對每個字符字形一一更改的代價是極其高昂的,它同人工錄入的方式存在著懸殊的等級。按照有效的攻擊準則來說,這種攻擊不會被有經驗的攻擊者采納,它往往起不到實際性的作用。
局部的去除性攻擊才是攻擊者常用的方法,攻擊者對
其中的一段字符拓撲結構進行調整,試圖讓全部水印失去作用,進而實現水印去除的最終目的。通過擴頻等技術制作出的水印,是能夠在這種局部性水印數據攻擊中起到一定的防護作用的,而決定其防范能力和糾錯的準確與否,是同文本水印中誤碼率的多少密不可分的。
設修改一個字符拓撲結構的平均時間為TI,錄入一個字符的平均時間是TZ,攜帶了水印的文本總字符數為N,/部分0去除攻擊者可能修改的字符個數為n,字符平均水印容量為W,根據“有效攻擊原則”:
把對某一字符拓撲結構的平均時間設置為T1,字符的單個錄入時間為T2,文本總數的攜帶數量為N,局部性去除攻擊者修改字符總數為n,水印的容量為W,按照有效供給原則:

攻擊者要修改的字符數Max(n)=N*T2/T1,可以獲得最大水印誤碼率為:

以此可以再深層的按照“最佳防范準則”做出水印的設計和糾正錯誤、進行選擇性擴頻等。
數字水印技術是涉及多個研究領域的交叉學科,有很強的理論性,學術界對該技術的研究方興未艾。數字水印技術的應用性也非常強,工業界對其解決現實中的版權保護等問題充滿期待。對比圖像水印技術來講,目前文本數字水印技術的研究與應用處于一種較為滯后的狀態。該算法的原理是通過適當改變字符拓撲結構,設計出語義上相同的字符(串)的多種字形,并將這些字形的關鍵特征進行恰當的編碼,利用這些編碼來表示數字水印信息。
[1]李剛,楊杰.一種基于二值印刷圖像的數字水印方案[J].上海交通大學學報,2005,39(4):570-573.
[2]張宇,劉挺,陳毅恒,等.自然語言文本水印[J].中文信息學報,2005,19(1):56-62.
[3]劉曼吳,孫堡壘,郭云彪.文本數字水印技術研究綜述[J].東南大學學報,2007,37(1):225-230.
[4]劉超,孫星明,周新民.基于模糊聚類方法的盲文本水印算法研究[J].計算機應用研究,2007,24(2):148-150.
[5]孫星明,殷建平,陳火旺等.漢字的數學表達式研究[J].計算機研究與發展,2002,39(6):701-711.
[6]唐承亮,肖海青,向華政.基于文字RGB顏色變化的脆弱型文本數字水印技術[J].計算機工程與應用,2005(3 6):6-8.