《一種在文本文檔中嵌入及檢測數字水印的方法和裝置》是北大方正集團有限公司、北京北大方正電子有限公司和北京大學於2006年4月29日申請的發明專利,該專利的申請號為2006800453344,公布號為CN101366266,公布日為2009年2月11日,發明人是楊斌、史文哲、亓文法、程盛遠、王立東,該專利屬於文檔保護技術領域。
《一種在文本文檔中嵌入及檢測數字水印的方法和裝置》所述方法及裝置在正常文檔的底部額外疊加列印一層用來記錄大量水印信息的底紋,所述底紋是由按照一定規則排列的網點組成,網點的位置變化記錄水印信息流中的每個位串。採用所述方法及裝置,藏入信息量增大,底紋中嵌入的水印信息將隨著文檔一起傳播,必要時可以通過掃瞄器將文檔數位化後進行檢測。
2014年11月6日,《一種在文本文檔中嵌入及檢測數字水印的方法和裝置》獲得第十六屆中國專利優秀獎。
(概述圖為《一種在文本文檔中嵌入及檢測數字水印的方法和裝置》摘要附圖)
基本介紹
- 中文名:一種在文本文檔中嵌入及檢測數字水印的方法和裝置
- 公布號:CN101366266
- 公布日:2009年2月11日
- 申請號:2006800453344
- 申請日:2006年4月29日
- 申請人:北大方正集團有限公司、北京北大方正電子有限公司、北京大學
- 地址:中國北京市海淀區成府路298號中關村方正大廈5層
- 發明人:楊斌、史文哲、亓文法、程盛遠、王立東
- 分類號:H04N1/387(2006.01)
- 代理機構:北京英賽嘉華智慧財產權代理有限責任公司
- 類別:發明專利
- 代理人:余朦、王艷春
專利背景,發明內容,專利目的,技術方案,改善效果,附圖說明,權利要求,實施方式,榮譽表彰,
專利背景
文本文檔不僅以數字格式存在電腦中,它還會通過列印、掃描、複印等方法以紙張的形式傳播。實際上許多紙張文檔(如契約、票據等)比那些音頻、視頻或者圖像之類的多媒體更有價值。而隨著計算機、印表機和掃瞄器等設備的套用和普及,使得拷貝和複製技術變得相對比較容易,因而重要文本文檔的保密工作顯得尤為迫切。
一方面不經過保護的文本文檔經過複製後很難追蹤其來源。例如辦公自動化輔助設備中值得引起特別注意和重視的複印機,它是辦公自動化設備中最不可缺少的輔助設備。現代的複印機無論在功能上還是在印刷質量上,都達到了很高的水平。有的具有智慧型編輯能力,還可以實現多台複印機連線相互傳送信息。一些更高級的複印機甚至還能實現彩色複印,印出的鈔票可達到亂真的程度。複印機的這種能力使它能高效高質地印刷各種檔案資料,減輕了辦公人員的抄寫勞動量,提高了辦公效率,受到辦公人員的極大歡迎。但同時,它也使保密防範面臨新的問題,涉密檔案資料在傳遞過程中很容易被複印而造成失控,複印機成為了泄、竊密的方便工具。從海關截獲帶出境的涉密檔案資料絕大多數是複印件,而通過這些複印件卻審查不出檔案泄密的出處,無法依法追究相關犯罪分子的刑事責任。如果通過紙介質的文檔可以檢測出一些重要信息,比如列印者的名字、印表機的名字、列印時間、計算機的物理地址等,便能夠f艮容易地追溯到檔案非法傳播的源頭。
另一方面在列印文檔時需要一定數量的額外附加信息,而這些信息又不便出現文檔的正文中。比如銀行帳單上關於儲蓄客戶的信用額度、存款數量、家庭地址等重要的隱私,而必要的時候又需要重新輸入這些數據。這樣就需要在列印文檔中事先隱藏一定數量的信息,這些信息不為人眼所能識別,而需要時又能通過相應的掃描設備或專門讀取工具方便地獲得,從而可以避免大量的重複輸入工作,在一定程度上節省了很多的人力、物力和時間。
上述兩個方面的問題在本質上是一樣的,都是以文本文檔作為載體隱藏一定數量的水印信息。如果這類文檔被非法複印、傳播而產生嚴重的後果時,這些信息可以作為證據追溯犯罪的源頭;如果這類文檔被肆意纂改後,這些信息可以作為非法侵犯起訴的證據等。
為此出現了利用數字圖像作為載體的數字水印進行信息隱藏的技術,這樣需要在文檔中選取一幅圖像,比如人物頭像、公司Log圖、背景圖案等。對該圖像進行特殊處理嵌入事先輸入的信息串,再通過高精度的印表機或者印刷設備進行輸出。由於列印、掃描、複印等處理對原始文檔添加了不可估計的隨即噪聲,對此類噪聲還沒有準確描述的數學模型,而且它還與印表機、掃瞄器、複印機等設備自身的性能有關。並且數字水印通常遇到的各類攻擊,比如旋轉、二值化、過度偏移、明顯扭曲、幾何變換等引起的失真,對於印刷圖像來講變得更為突出。雖然可以對掃描後的圖像丈一定的預處理工作,信息誤識別的機率很高,尤其對於經過多次複印後的文本文檔處理時,檢測結杲更難接受。有人也嘗試根據文本文檔自身的空間特徵來設計水印方案,通過對高級格式化的檔案版面信息(如字移或行移)或格式編排的變化嵌入水印信息。這種方法也存在很大的弊端,首先需在前端文本編輯和排版軟體進行特殊的處理,並且處理的過程非常複雜;為了不影響正常文檔的閱讀效果,字移或行移的幅度不能太大,而掃描後的圖像同樣存在上述噪聲的嚴重影響,一般情況下水印信息很難檢測;又由於文檔中的行數數量通常是一定,所以隱藏的信息量相對較少;並且對於多頁文檔的信息隱藏來說,該方法變得相對繁瑣,操作很不方便。
另外利用這種方法隱藏水印信息依賴於文檔內容,如果文檔中沒有圖像,水印信息就失去了載體;即使存在可以文檔中存在相應的載體數據,隱藏水印信息時還需要在將圖片從文檔中拷出,進行另外特殊的數字圖像處理,重新排版後才能列印出。、再加上該方法的打輸出需要很高的硬並且上述的檢測方法以及相應裝置的工作過程是這樣的:首先掃描待檢測文檔及原始文檔,得到相應的圖像,隨後進行額外的圖像預處理,以補償衰減、平移、縮放、模糊等因素帶來的影響,尤其鹽椒噪聲和偏斜必須剔除,然後根據嵌入方法的不同提取圖像中的隱藏信息。這個檢測方法要求比較嚴格,預處理的工作量比較大,並且預處理的準確度也直接影響了檢測效杲;並且該方法中還需要原始圖像的參與,使得檢測過程變得相對比較繁瑣;由於奈件的苛刻,通常的識別率不是很高,尤其對於縮放或者複印後的文檔檢測。
發明內容
專利目的
《一種在文本文檔中嵌入及檢測數字水印的方法和裝置》的目的是針對2006年4月前已有技術的缺陷,提出一種在文本文檔中嵌入及檢測數字水印的方法和裝置。該方法及裝置能夠在正常文檔的底部嵌入了一層用來記錄大量水印信息的底紋,即使嵌入數字水印後的文檔被弄髒、被摺疊或者縮放複印後,仍能以高精度檢測出其中隱藏的水印信息。
技術方案
一種在文本文檔中嵌入數字水印的方法,包括以下步驟:
(1)準備原始點陣圖像,所述原始點陣圖像由網點組成,其中用作編碼點的網點的位置變化代表了水印信息;
(2)獲取水印信息,並對信息做預處理;
(3)在原始點陣圖像中埋入預處理後的水印信息;
(4)將埋入水印信息的點陣圖像數據與正常文檔數據列印輸出。進一步來說,步驟(1)中,原始點陣圖像為調幅掛網、調頻掛網、調頻調幅混合掛網或由自主設計的網點組成。
更進一步,步驟(1)中,原始點陣圖像事先設計好或根據一定規則動態生成。步驟(1)中,網點表現的灰度值區間為3%~15%。
更進一步,步驟(1)中,原始點陣圖像中的網點類型分為三類:A編碼點,這些網點的位置變化代表了水印信息,每個編碼點與周圍其他網點之間的距離為2~5個網點大小;B不動點,在信息隱藏的過程中,這些網點的位置不發生變化;C擾動點,為了防止編碼方式被破解,並調整點陣圖像的視覺效果,這些網點在編碼過程中作隨機方向的偏移。
進一步,步驟(2)中獲取水印信息並對信息做預處理包括以下步驟:
a.獲取要隱藏的字元即要嵌入的水印;
b.將字元串轉化成二進制的位串信息流;
c對位串信息流進行加密,並得到密文位串信息流;
d.根據步驟c所得到的密文位串信息流計算數據檢測校驗碼,並將它追加到原始的密文位串信息流的後面。更進一步,步驟a中,隱藏的字元即要嵌入的水印是當前用戶名、用戶密碼、網卡的MAC即介質訪問控制地址、計算機的IP位址、文檔列印時間、列印日期、作業名稱、作業ID信息、自定義的字元串或者從文本檔案中輸入的文本信息。
步驟(2)中,在轉化後的位串信息流的前面插入位元組流,用於記錄每個子字元串的長度。步驟(3)中,點陣圖像中的網點向八個不同的方向偏移,通過位置的不同變化來埋入密文位串信息流。步驟(4)中將埋入水印信息的點陣圖像數據與正常文檔數據列印輸出時,將嵌入水印信息後的點陣圖像進行拼接,拼接時先根據點陣圖像的外接矩形框大小,將版面區域進行合理隨機分割;然後將每個點陣圖像隨機旋轉90、180或270度;最後再將每個分割後的單元數據用單位點陣圖像數據代替,拼接完成後得到完整頁面的背景底紋。步驟(4)中,首先通過列印驅動截獲處理後的正常文檔的數據,保存在記憶體中,當接收到拼接處理後的背景底紋數據時,從記憶體中讀取事先存儲的正常文檔數據,將它們追加到背景底紋數據的後面,並把結合的數據重新用頁面描述語言解釋後輸出到相應的頁面描述檔案中,最後把數據檔案傳送給列印控制器進行列印輸出。一種在文本文檔中嵌入數字水印的裝置,包括以下部分:
a.隱藏信息獲取和處理裝置:該裝置獲取要處理的計算機數據,從記憶體中得到相應的數據代碼,轉化為一個完整的位串信息流,然後對位串信息流進行加密處理後得到一個新的密文位串信息流,並送到信息埋入裝置;
b.信息埋入裝置:該裝置將密文位串信息流按位分解成一定數目的子串,通過網點的位置變化把每個子串代表的水印信息隱藏在選定的原始點陣圖像;
c底紋生成裝置:該裝置將嵌入水印信息後的點陣圖像進行拼接,組成完整頁面的背景底紋,然後送到列印輸出模組裝置;
d.列印輸出裝置:該裝置將正常文檔數據和含有隱藏信息的背景底紋數據合併成一個頁面描述檔案,然後一併進行列印輸出。
進一步,所述的隱藏信息獲取和處理裝置獲取和處理的計算機數據是各種文字、數字、字元和字母,以及包括視頻、音頻在內的可數位化的信所述的底紋生成裝置中還備有在拼接後的背景底紋點陣對象上隱藏警示文字信息的生成裝置。·一種在文本文檔中檢測數字水印的方法,包括以下步驟:
(1)對含有水印信息的文檔進行掃描或攝取,得到文本數位化後的圖像數據;
(2)掃描獲取的數字圖像數據,並獲得加密後的位串信息流;
(3)使用特殊的密鑰對密文位串信息流解密,然後解碼出原始的字元串信息。
進一步來說,步驟(2)中,通過識別隱藏水印信息的圖像塊的定位點,計算掃描圖像的旋轉角度和縮放比例。
步驟(2)中,根據圖像的旋轉角度和縮放比例,掃描每個編碼點,並計算其位移變化,從而得到每個子位串,順序將其組合為一個完整的位串信息流。
步驟(2)中,掃描多個圖像塊的定位點,通過一個圖像塊中的編碼點位移信息,來補償另外一個圖像塊中相同編碼點由於被前景內容或干擾因素影響而帶來的信息丟失。
步驟(3)中,取出密文位串信息流的前面用於存儲校驗數據的位元組流,並使用數據校驗算法對密文位串信息流進行正確性校驗。
步驟(3)中,使用特殊密鑰對去除校驗數據的密文位串信息流解密,並取出解密後的明文位串信息流中插入的各欄位長度信息,然後順序解碼出各欄位的字元串信息。一種在文本文檔中檢測數字水印的裝置,包括以下部分:
(a)文本數位化裝置:該裝置對含有底紋的文檔進行掃描,得到文本數位化後的圖像數據;
(b)圖像識別裝置:該裝置對文本數位化模組掃獲取的數字圖像數據進行掃描檢測,並獲得加密後的位串信息流;
(c)信息解碼裝置:該裝置使用特殊的密鑰對密文位串信息流解密,然後解碼出原始的字元串信息。
進一步,圖像識別裝置中包含有特定圖像區域的採樣裝置和圖像預處理裝置;所述的採樣裝置是在圖像中部選取條狀區域和計算象素點的灰度值區間和網點半徑的處理裝置;所述的預處理裝置是計算圖像的旋轉角度和縮放比例的處理裝置。
改善效果
採用《一種在文本文檔中嵌入及檢測數字水印的方法和裝置》所述的方法及裝置,可以增大在文檔的底紋中藏入的水印信息量,底紋中嵌入的水印信息將隨著文檔一起傳播,必要時可以通過掃瞄器將文檔數位化後進行檢測。因為該發明在底紋生成過程中採用了糾錯編碼技術,所以即使文檔被弄髒、被摺疊或者縮放複印後,仍能以高精度檢測出其中隱藏的水印信息。因此,該發明可以廣泛套用於文檔加密、追蹤、控制文檔非法傳播以及著作權的技術保護。
附圖說明
圖1是信息獲取和處理過程示意圖;
圖2是信息埋入過程示意圖;
圖3是原始點陣圖像示意圖;
圖4是網點移位編碼示意圖;
圖5是嵌入信息的文檔示意圖;
圖6是圖5局部放大後的示意圖;
圖7是水印信息嵌入過程示意圖;
圖8是水印信息嵌入裝置構成示意圖;
圖9是水印信息檢測過程示意圖;
圖10是水印信息檢測裝置構成示意圖。
權利要求
1.一種在文本文檔中嵌入數字水印的方法,包括以下步驟:
(1)準備原始點陣圖像,所述原始點陣圖像由網點組成,所述網點分為三類:A編碼點,所述編碼點的位置變化代表了水印信息,每個編碼點與周圍其他網點之間的距離為2〜5個網點大小;B不動點,在信息隱藏的過程中,所述不動點的位置不發生變化;C擾動點,為了防止編碼方式被破解,並調整點陣圖像的視覺效果,所述擾動點在編碼過程中作隨機方向的偏移;
(2)獲取水印信息,並對所述水印信息做預處理;
(3)在原始點陣圖像中埋入預處理後的水印信息;
(4)將埋入水印信息的點陣圖像數據與正常文檔數據列印輸出。
2.如權利要求1所述的一種在文本文檔中嵌入數字水印的方法,其特徵是:步驟(1)中,原始點陣圖像為調幅掛網、調頻掛網、調頻調幅混合掛網或由自主設計的網點組成。
3.如權利要求1所述的一種在文本文檔中嵌入數字水印的方法,其特徵是:步驟(1)中,原始點陣圖像事先設計好或根據一定規則動態生成。
4.如權利要求1所述的一種在文本文檔中嵌入數字水印的方法,其特徵是:步驟(1)中,網點表現的灰度值區間為3%〜15%。
5.如權利要求1、2、3或4所述的一種在文本文檔中嵌入數字水印的方法,其特徵是:步驟(2)中獲取水印信息並對所述水印信息做預處理包括以下步驟:
a.獲取要隱藏的字元,即要嵌入的水印信息;
b.將字元串轉化成二進制的位串信息流;
c.對位串信息流進行加密,並得到密文位串信息流。
6.如權利要求5所述的一種在文本文檔中嵌入數字水印的方法,其特徵是:步驟a中,隱藏的字元即要嵌入的水印信息是當前用戶名、用戶密碼、網卡的介質訪問控制地址MAC、計算機的IP位址、文檔列印時間、列印日期、作業名稱、作業ID信息、自定義的字元串或者從文本檔案中輸入的文本信息。
7.如權利要求6所述的一種在文本文檔中嵌入數字水印的方法,其特徵是:步驟(2)中獲取水印信息並對所述水印信息做預處理還包括以下步驟:
d.根據步驟c所得到的密文位串信息流計算數據檢測校驗碼,並將它追加到原始的密文位串信息流的前面。
8.如權利要求7所述的一種在文本文檔中嵌入數字水印的方法,其特徵是:步驟(2)中,在轉化後的二進制的位串信息流的前面插入位元組流,用於記錄每個子字元串的長度。
9.如權利要求8所述的一種在文本文檔中嵌入數字水印的方法,其特徵是:步驟(3)中,所述原始點陣圖像中的網點向八個不同的方向偏移,通過位置的不同變化來埋入密文位串信息流。
10.如權利要求1、2、3或4所述的一種在文本文檔中嵌入數字水印的方法,其特徵是:步驟(4)中將埋入水印信息的點陣圖像數據與正常文檔數據列印輸出時,將嵌入水印信息後的點陣圖像進行拼接,拼接時先根據點陣圖像的外接矩形框大小,將版面區域進行合理隨機分割;然後將每個點陣圖像隨機旋轉90、180或270度;最後再將每個分割後的單元數據用單位點陣圖像數據代替,拼接完成後得到完整頁面的背景底紋。
11.如權利要求10所述的一種在文本文檔中嵌入數字水印的方法,其特徵是:步驟(4)中,首先通過列印驅動截獲處理後的正常文檔的數據,保存在記憶體中,當接收到拼接處理後的背景底紋數據時,從記憶體中讀取事先存儲的正常文檔數據,將它們追加到背景底紋數據的後面,並把結合的數據重新用頁面描述語言解釋後輸出到相應的頁面描述檔案中,最後把數據檔案傳送給列印控制器進行列印輸出。
12.一種在文本文檔中檢測數字水印的方法,包括以下步驟:
(1)對含有水印信息的文檔進行掃描或攝取,得到文本數位化後的圖像數據;
(2)掃描步驟⑴中得到的數字圖像數據,通過識別隱藏水印信息的圖像塊的定位點,計算掃描圖像的旋轉角度和縮放比例,並獲得加密後的位串信息流;
(3)使用特殊的密鑰對密文位串信息流解密,然後解碼出原始的字元串信息。
13.如權利要求12所述的一種在文本文檔中檢測數字水印的方法,其特徵是:步驟(2)中,掃描多個圖像塊的定位點,通過一個圖像塊中的編碼點位移信息,來補償另外一個圖像塊中相同編碼點由於被前景內容或干擾因素影響而帶來的信息丟失。
14.如權利要求12所述的一種在文本文檔中檢測數字水印的方法,其特徵是:步驟(3)中,取出密文位串信息流的前面用於存儲校驗數據的位元組流,並使用數據校驗算法對密文位串信息流進行正確性校驗。
15.如權利要求14所述的一種在文本文檔中檢測數字水印的方法,其特徵是:步驟(3)中,使用特殊密鑰對去除校驗數據的密文位串信息流解密,並取出解密後的明文位串信息流中插入的各欄位長度信息,然後順序解碼出各欄位的字元串信息。
實施方式
如圖7所示,一種在文本文檔中嵌入數字水印的方法,包括以下步驟:
(1)準備原始點陣圖像,所述原始點陣圖像由網點組成,其中用作編碼點的網點的位置變化代表了水印信息;
《一種在文本文檔中嵌入及檢測數字水印的方法和裝置》所述的原始點陣圖像的網點類型可為調幅掛網、調頻掛網、調頻調幅混合掛網或由自主設計的網點,並且該點陣圖像可以事先設計好或者根據一定的規則自動生成。本實施例中選擇了一組事先設計好的調頻掛網後的圓形網點圖,表現的灰度級為6%(一般說來,網點的灰度級在3%-15%的效果都比較好),局部放大後的示意圖如圖3所示。所有的網點類型分為三類:編碼點、固定點和擾動點。其中101編碼點的位置變化代表要嵌入的水印信息;102固定點的位置在信息嵌入的過程中不發生任何變化;103擾動點作隨機地位置偏移,它的位置變化不代表實際的水印信息,其作用主要一方面是為了改善編碼點移動後帶來的視覺效果,另一方面也很好地打破了編碼後點陣圖像的規律性,即使每次嵌入相同的水印信息,編碼移動後的點陣圖像都不會完全相同,在加上調頻網點本身固有的隨機性,很難分析出水印信息編碼點的運動規律,從而在一定程度起到提高安全性的作用。
(2)獲取水印信息,並對信息做預處理;
如圖1所示,通過印表機驅動程式讀取計算機的用戶名、網卡的MAC即介質訪問控制地址、計算機的IP位址、文檔的列印時間、列印日期、作業名稱、作業ID信息中的全部或部分信息,以及在驅動程式GUI用戶界面上獲得用戶輸入的密碼、自定義輸入的字元串或者從其它任何文本文檔中讀取的文本信息。
比如在本實施例中獲取要嵌入的字元串信息如下:
1)用戶名稱為"SuperMan";
2)MAC地址為"00-0F-1F-CC-15-D7";
3)計算機的IP位址為"172.16.8.102";
4)列印時間為"2005-10-24";
5)作業名稱為"機密文檔.doc";
6)用戶自定義的字元串為"本文檔所記錄的信息是不能隨便向外界透漏,否則後果自負"。
將上述所有的字元串組合在一起得到一個新的字元串,然後讀取每個字元在計算機記憶體中的數據代碼,轉化為一個用二進制(0或1)表示的位串信息流。為了能夠方便地進行解碼,轉化後的位串信息流的前面插入一定數目的位元組流,用於記錄上述每個子字元串的長度;為了安全性考慮,對組合後的位串信息流進行加密處理,密鑰作為明碼插入到密文位元組流的前面。在進行檢測時,需要用戶身份認證過程,其中比較讀取的明碼密鑰信息和用戶輸入的密鑰是否相同。身份認證通過後,檢測程式用密鑰對讀取的密文位串信息流進行解密,還原出原始的明文位串信息流;否則即使拿到文檔和檢測程式也不能識別出密文位元組流信息。然後使用通用的數據校驗算法對加密處理後的密文位元組流處理,計算校驗數據。此處選擇循環冗餘校驗(CRC)碼計算得到16位的校驗碼,並將校驗碼信息追加到密文位串信息流的前面,得到最終要隱藏的位串信息流,其中的校驗碼部分主要是用來檢測時進行數據正確性校驗。實際上該密文位元組流的前面含有另外的兩串明碼位元組流信息,分別為密鑰信息和數據校驗碼。
(3)在原始點陣圖像中埋入預處理後的水印信息;
在圖2所示的信息埋入模組流程示意圖中,先將密文位元組流位串信息流按位進行分解成一定數目的子串。由圖4可以看出,在該發明採用的編碼方法中,每個網點的位置偏移代表3bits的信息量,也就是說一個位元組的編碼信息量需要3個網點的位移變化來表示。而3個網點的位置變化表示了9bits的信息量,其中最後的lbit的空間是富裕的,此時選擇作為奇偶校驗位。當然根據編碼方法的需要,該位可以代表其他的信息。在本實施例中把整個密文位串信息流按位元組進行劃分,其中每個位元組的信息需要三個編碼點作為載體。其中前兩個編碼點代表位元組的前6位信息,第三個編碼點代表的3bits信息中的前兩位是位元組後兩位信息,最後的一位被選擇作為奇偶校驗的信息位進行補充。
根據分解後的子串的個數選擇相應數量的編碼點,對於每個編碼點按照如圖4所示的編碼規則進行移位。所有的子串所代表的信息對應了編碼點的位移變化。所有的編碼點全部完成移位操作後得到一幅新的點陣圖像,該圖像作為底紋的一個基本組成單元,已經藏入了事先獲取到的字元串信息。
(4)將埋入水印信息的點陣圖像數據與正常文檔數據列印輸出。
將步驟(3)得到的單位點陣圖像拼接成大的背景底紋,而底紋數據的大小由正常數據的頁面信息來決定,本實施例中選擇較為常用的A4幅面的文檔大小。拼接時可以根據列印驅動的具體要求選擇不同的拼接方式,最為筒單的處理方法就是將單位的點陣圖像數據複製多份,直接進行矩陣式拼接。這種平鋪式拼接方法最大的問題就是規律性較大,為了解決這個問題,該方法處理的方法如下:先根據點陣圖像的外接矩形框大小,將版面區域進行合理隨機分割;將每個點陣圖像隨機旋轉90、180或270度;再將每個分割後的單元數據用單位點陣圖像數據代替。如此處理後的底紋規律性明顯減小,拼接後的背景底紋數據進行列印輸出。
列印輸出時,首先通過列印驅動截獲處理後的正常文檔的數據,保存在記憶體中。當接收到拼接處理後的背景底紋數據時,從記憶體中讀取事先存儲的正常文檔數據,將它們追加到背景底紋數據的後面,並把結合的數據重新用頁面描述語言解釋後輸出到相應的頁面描述檔案中。最後把數據檔案傳送給列印控制器進行列印輸出。經過上述過程的列印效果如圖5所示,其局部放大示意圖如圖6所示。因為經過拼接後的圖像點陣多處隱藏了水印信息,即使文檔底紋的某個局部被弄髒或者被前景文字影響,可以通過其他數據塊的信息補償得到一個完整的信息塊。上述方法步驟實現的一種在文本文檔中嵌入數字水印的裝置包括:隱藏信息獲取和處理裝置、信息埋入裝置、底紋生成裝置和列印輸出裝置,其構成示意圖如圖8所示。
a.隱藏信息獲取和處理裝置:該裝置獲取要處理的計算機數據,從記憶體中得到相應的數據代碼,轉化為一個完整的位串信息流,然後對位串信息流進行加密處理後得到一個新的密文位串信息流,並送到信息埋入裝置;
b.信息埋入裝置:該裝置將密文位串信息流按位分解成一定數目的子串,通過網點的位置變化把每個子串代表的水印信息隱藏在選定的原始點陣圖像;
e.底紋生成裝置:該裝置將嵌入水印信息後的點陣圖像進行拼接,組成完整頁面的背景底紋,然後送到列印輸出模組裝置;
f.列印輸出裝置:該裝置將正常文檔數據和還有隱藏信息的背景底紋數據合併成一個^面描述檔案,然後一併進行列印輸出。
其中隱藏信息獲取和處理裝置能夠獲取和處理的計算機數據範圍比較廣,包括文字、數字、字元和字母,以及視頻和音頻在內的任何可數位化的信息;底紋生成裝置還備有在拼接後的底紋背景點陣對象上疊加隱藏警示文字信息的生成裝置,該裝置生成的點陣圖像經過列印後,底紋背景中隱藏的警示文字信息用肉眼不易識別,而進行複印後便可以清晰地顯現出來,從而很好地起到了禁止非法複印的效果。如圖9所示,一種在文本文檔中檢測數字水印的方法,包括以下步驟:
(1)對含有水印信息的文檔進行掃描或攝取,得到文本數位化後的圖像數據;在檢測文檔底紋中隱藏的數字水印信息時,通過圖像輸入或攝取設備(掃瞄器或數位相機)將文本文檔進行數位化操作,此時得到的數字圖像中包含有加密的數字水印信息。
(2)掃描獲取的數字圖像數據,並獲得加密後的位串信息流;主要是通過運行在計算機上的一個獨立的應用程式,該程式將掃描後得到的數字圖像作為處理對象。程式輸入圖像後要求用戶輸入密鑰信息,該密鑰信息暫時保存在記憶體中。由於主觀或者客觀原因,在掃描或複印過程中,文檔常常會有不同程度的傾斜和縮放,同時文檔還有可能經過多次複印導致的網點擴展和變形,這些都會對埋入水印信息的檢測帶來一定的影響。為了能夠精確的識別出隱藏信息,我們必須先通過識別隱藏水印信息的圖像塊的定位點,檢測出掃描圖像的旋轉角度和放縮比例,對掃描結果進行一定程度的補償,然後檢測程式開始執行對整個圖像的掃描過程。如果識別出了作為單位點陣圖像塊的起始點的網點對象時,標誌著某個信息塊或者部分信息塊被檢測到。因為在信息埋入的過程中所有的編碼網點都做了位移,在本圖像塊中固定的位置尋找編碼網點時,會發現理論位置處是空白區域,進而在其周圍區域尋找網點所在的位置,通過與理論網點位置處的比較判斷出該編碼點所代表的位串信息。遍歷所有的編碼點便可以得到一個位串流,通過移位操作將它轉化為一個位元組流。在該位元組流的前部取出定長的明碼密鑰,並根據位元組流的尾部的數據校驗碼,對整個的密文位元組流進行數據正確性檢驗。通過數據校驗後,再比較用戶輸入的密鑰和從位元組流中提取的密鑰信息。如果通過身份驗證,用密鑰把密文位元組流解密,從而識別出全部的隱藏信息。
由於文檔正常的前景內容影響,很多情況下,即使掃描全部文檔圖像後,也不能找出一個包含所有水印信息的圖像塊。此時就需要掃描多個圖像塊的定位點,通過一個圖像塊中的編碼點位移信息,來補償由於另外一個圖像塊中相同的編碼點被前景內容的干擾而帶來的信息丟失,從而進一步提高了信息的識別率。
(3)使用特殊的密鑰對密文位串信息流解密,然後解碼出原始的字元串信息。
在進行解密操作前,先從密文位串信息流的前面位元組中取出校驗數據的信息,使用數據校驗算法對密文位串信息流進行數據正確性校驗。接著使用特殊的密鑰對去除校驗數據的密文位串信息流進行解密,並取出解密後的明文位串信息流中插入的各欄位內容的長度信息,然後順序解碼出各欄位的字元信息。上述方法步驟實現的一種在文本文檔中檢測數字水印的裝置包括:文本數位化裝置、圖像識別裝置和信息解碼裝置。其工作流程如下:
(a)文本數位化裝置:該裝置對含有底紋的文檔進行掃描或攝取,得到文本數位化後的圖像數據;
(b)圖像識別裝置:該裝置對文本數位化模組掃獲取的數字圖像數據進行掃描檢測,並獲得加密後的位串信息流;
(c)信息解碼裝置:該裝置使用特殊的密鑰對密文位串信息流解密,然後解碼出原始的字元串信息。
上述的圖像識別裝置中包含有特定區域內的圖像採樣裝置和圖像預處理裝置,其中採樣裝置是選取圖像中部的條狀區域,並計算各採樣象素點的灰度值區間和相應的網點半徑;圖像預處理裝置則是根據採樣結果,計算圖像的旋轉角度和縮放比例。
通過該發明所述的點陣圖像藏埋入的信息量較大,抗複印的能力強,同一個文檔經過五次複印後,仍能高精度地檢測出水印信息;由於該發明不是基於象素的信息嵌入,而是通過網點級別的編碼方法,縮放一定比例後,水印信息同樣可以被檢測出,所以最能體現該方法優勢的地方就在於隱藏在底紋中的水印可以抵抗縮放複印的攻擊。上述實施例只是該發明一個優選的實施方式。本領域技術人員不難得出其他的實施方法而不違背該發明的總體思想。
其中,可以選取其他的點陣圖像作為原始的點陣輸入,比如經過調幅掛網、或者自行設計的任何規則、不規則由網點組成的點陣圖像;
其中,可以採用其他的信息編碼方法,比如使用網點的位置大小的比例關係的不同代表不同的位串信息,並且位串的分解的粒度可以增大或者減少,比如根據一定的規則代表"0"或者"1"信息。
其中,可以隱藏任意的字元串信息,包括任何從其他文本格式檔案讀取的字元流,比如*.doc,*.txt等。
其中,可以採用其他的位串信息流的正確性檢測方法,比如奇偶校駘或者其他循環碼的校驗方法。
榮譽表彰
2014年11月6日,《一種在文本文檔中嵌入及檢測數字水印的方法和裝置》獲得第十六屆中國專利優秀獎。