專(zhuān)利名稱(chēng):一種數(shù)字水印嵌入與提取的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)字水印嵌入與提取的方法及裝置,特別涉及一種在黑白 二值文本圖像中數(shù)字水印嵌入與提取的方法及裝置。儲(chǔ)狄隨著計(jì)算機(jī)網(wǎng)絡(luò)和多媒體系統(tǒng)的快速發(fā)展,數(shù)字媒體(數(shù)字音頻、數(shù)字圖 像、數(shù)字視頻)被廣泛應(yīng)用,數(shù)字媒體的版權(quán)保護(hù)和完整性保護(hù)也成為一個(gè)亟 待解決的問(wèn)題。而其中的文本文檔不僅以數(shù)字格式存在電腦中,它還能通過(guò)打 印、掃描、復(fù)印等方法以紙張的形式傳播。實(shí)際上許多紙張文檔(如契約、票 據(jù)等)比那些音頻、視頻或者圖像之類(lèi)的多媒體更有價(jià)值。而隨著計(jì)算機(jī)、打 印機(jī)和掃描儀等設(shè)備的應(yīng)用和普及,使得拷貝和復(fù)制技術(shù)變得相對(duì)比較容易, 因而對(duì)重要文本文檔的版權(quán)保護(hù)工作顯得尤為迫切。數(shù)字水印技術(shù)是解決該問(wèn) 題的有效方法之一。數(shù)字水印是將與數(shù)字媒體內(nèi)容相關(guān)或不相關(guān)的一些標(biāo)示信息直接嵌入到 數(shù)字媒體內(nèi)容當(dāng)中,但不影響原內(nèi)容的信息,并不能被人的知覺(jué)系統(tǒng)覺(jué)察或注 意到。通過(guò)這些隱蔽在數(shù)字4某體內(nèi)容中的信息,可以達(dá)到確認(rèn)內(nèi)容創(chuàng)建者、購(gòu) 買(mǎi)者、內(nèi)容是否真實(shí)完整以及其他設(shè)定目的。數(shù)字水印技術(shù)為版權(quán)鑒定提供了 一種有效的途徑,它不但可以應(yīng)用于圖像、文本、音頻、視頻和三維圖形等數(shù) 字產(chǎn)品的版權(quán)保護(hù)、內(nèi)容鑒定和標(biāo)識(shí)隱藏等,還可以應(yīng)用于印刷品中。文本文檔圖像可以看作是二值的數(shù)字圖像,與灰度圖像具有豐富的灰度級(jí) 不同,二值圖像只有黑白兩種顏色的像素,這個(gè)特點(diǎn)決定了對(duì)像素的任意修改 都會(huì)造成視覺(jué)上的明顯變化。例如在全黑或全白的區(qū)域翻轉(zhuǎn)任意像素,在視覺(jué) 上造成的影響的都是不可接受的。對(duì)于二值圖像來(lái)說(shuō),所能利用的視覺(jué)冗余都 是黑白區(qū)域的交接處,即圖像的邊界點(diǎn)。所以二值圖像的水印方法都集中在對(duì) 邊界點(diǎn)的修改,不能孤立考慮一個(gè)像素,而應(yīng)該考慮像素點(diǎn)的領(lǐng)域狀況。二值圖像尤其是二值文本圖像廣泛應(yīng)用在書(shū)籍和報(bào)刊中,由于經(jīng)常要進(jìn)行印刷處 理,所以水印抗打印掃描攻擊的魯棒性顯得尤為重要。在現(xiàn)有的方法中,二值圖像水印方法可以分為整體圖像特征修改法和局部 圖像特征修改法兩類(lèi)。其中整體圖像特征修改法是利用大塊圖像或大塊圖像之 間的幾何特征來(lái)隱藏信息,常見(jiàn)的方法包括文本行間距平移、文本字間距平移 和字符結(jié)構(gòu)微調(diào)等方法。但是這種方法藏入的信息量較少,并且嵌入的方式比較復(fù)雜;局部圖像特征修改法是對(duì)分塊圖像的統(tǒng)計(jì)特征進(jìn)行修改來(lái)隱藏信息, 通常有奇偶嵌入法、步長(zhǎng)奇偶法、比例修改法、游程修改法、邊界修改法和字 符特征修改法等。它們的共同特征都是通過(guò)對(duì)邊界像素的修改,改變局部圖像 的統(tǒng)計(jì)特征,以達(dá)到信息隱藏的目的。但是目前的局部圖像特征修改法的不足 在于只適用于數(shù)字圖像中水印信息的嵌入和提取,抗打印掃描攻擊的能力明 顯不足。另外在選擇像數(shù)點(diǎn)改變時(shí)還需要將某區(qū)域內(nèi)的圖像進(jìn)行置亂處理,然 后分塊統(tǒng)計(jì)黑點(diǎn)個(gè)數(shù),并根據(jù)一定的規(guī)則和待嵌入的位串信息對(duì)圖像的特定象 素點(diǎn)進(jìn)行修改。但是對(duì)于一般的文本文檔來(lái)說(shuō),排版格式的差異使得無(wú)法準(zhǔn)確 定位區(qū)域,信息提取的困難較大。其中公開(kāi)號(hào)為CN 1567353A專(zhuān)利文獻(xiàn)中提出的方法就是上述局部圖像特 征修改法中的一種,公開(kāi)號(hào)為CN 1567353A的專(zhuān)利"一種在二值圖像上嵌入 水印的方法,,,包括以下步驟a、對(duì)二值圖像提取邊緣;b、對(duì)邊緣點(diǎn)進(jìn)行 分析,計(jì)算出可修改像素的優(yōu)先級(jí);c、將二值圖像置亂;d、對(duì)水印信號(hào)進(jìn) 行巻積編碼;e、在置亂的二值圖像中嵌入水印圖像。"一種提取水印的方法", 包括以下步驟a'、將嵌入水印的二值圖像進(jìn)行置亂并分塊;b'、對(duì)每一子 塊提取一位水印信息;c'、對(duì)水印矩陣進(jìn)行Viterbi譯碼,得到要提取的水印。 但該專(zhuān)利方法同樣對(duì)打印掃描過(guò)程不具備魯棒性
發(fā)明內(nèi)容
本發(fā)明提供一種數(shù)字水印嵌入與提取的方法及裝置,用以解決現(xiàn)有技術(shù)中 存在的在二值文本圖像中嵌入和提取數(shù)字水印方式不具備通用性的問(wèn)題,進(jìn)一 步的用于解決水印提取過(guò)程對(duì)打印掃描攻擊魯棒性不強(qiáng)的問(wèn)題,還用于解決嵌 入水印后的圖像視覺(jué)效果不佳的問(wèn)題。本發(fā)明提供了一種數(shù)字水印的嵌入方法,包括如下步驟 獲取待嵌入的水印信息位串;搜索由字符組成的封閉連通區(qū)域,獲取所述連通區(qū)域的輪廓碼鏈; 根據(jù)所述連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)、所述水印信息位串、以及第一步長(zhǎng)計(jì)算 出需要翻轉(zhuǎn)的像素第 一個(gè)數(shù);沿所述輪廓碼鏈按所述第 一個(gè)數(shù)翻轉(zhuǎn)像素。較佳地,所述獲取待嵌入的水印信息位串步驟中,對(duì)所述水印信息位串進(jìn) 行加密處理。較佳地,所述搜索由字符組成的封閉連通區(qū)域,獲取所述連通區(qū)域的輪廓 碼鏈步驟,包括才艮據(jù)八鄰域內(nèi)顏色點(diǎn)的不同判斷字符的邊界點(diǎn)并標(biāo)記;按第一順序?qū)ふ业谝粋€(gè)未被遍歷過(guò)的邊界點(diǎn)作為輪廓起始點(diǎn),并記錄進(jìn)入 所述起始點(diǎn)的方向以及碼鏈信息;才艮據(jù)上一步驟所述進(jìn)入方向按第二順序?qū)ふ蚁乱粋€(gè)邊界點(diǎn)作為輪廓點(diǎn),并 記錄進(jìn)入所述輪廓點(diǎn)的方向以及碼鏈信息直至回到起始點(diǎn);根據(jù)記錄的所有所述碼鏈信息得到所述連通區(qū)域的輪廓碼鏈。較佳地,所述第一步長(zhǎng)是步長(zhǎng)奇偶法或奇偶嵌入法的步長(zhǎng)。較佳地,所述第一個(gè)數(shù)按下述計(jì)算公式得出 第一個(gè)數(shù)^+原黑點(diǎn)個(gè)數(shù),其中 w = 0, m e (0,600) u (1700,+oo) w = w—600, w e [600,750) = Q—wO/^,附e(附i附o/oQ〉gx2/3,附/g二w,w2600,wS1700》w = Qx5/3-m%。,we{m|m%Q〉Qx2/3,m/0-w,w26OO,wSl7OO}w = gx2/3 —m%Q,me{/w|w%g〉gx2/3,w/^ = 2,w》600,m《1700} 上式中w為黑點(diǎn)個(gè)數(shù),"為需要增加的點(diǎn)個(gè)數(shù),當(dāng)n大于O時(shí),增加黑點(diǎn)的 個(gè)數(shù),將白色像素翻轉(zhuǎn)為黑色像素,當(dāng)n小于O時(shí),減少黑點(diǎn)的個(gè)數(shù),將黑色 像素翻轉(zhuǎn)為白色像素,w為待嵌入的水印信息位串,0為第一步長(zhǎng)。較佳地,所述沿所述輪廓碼鏈按所述第一個(gè)數(shù)翻轉(zhuǎn)像素步驟中,對(duì)字符外 包矩形上的白點(diǎn)不做翻轉(zhuǎn)。本發(fā)明還提供了一種數(shù)字水印的提取方法,包括如下步驟將文本文檔掃描后進(jìn)行處理得到單個(gè)字符圖像區(qū)域;搜索由字符組成的封閉連通區(qū)域,獲取所述連通區(qū)域的輪廓碼鏈,統(tǒng)計(jì)所 述連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù);根據(jù)所述連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)以及第一步長(zhǎng)提取出所述水印信息位串。較佳地,所述將文本文檔掃描后進(jìn)行處理步驟中,是將文本文檔掃描后采 用區(qū)域方法或邊界方法或邊緣方法進(jìn)行圖像分割處理。較佳地,所述搜索由字符組成的封閉連通區(qū)域,獲取所述連通區(qū)域的輪廓 碼鏈,統(tǒng)計(jì)所述連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)步驟,包括根據(jù)八鄰域內(nèi)顏色點(diǎn)的不同判斷字符的邊界點(diǎn)并標(biāo)記;按第一順序?qū)ふ业谝粋€(gè)未被遍歷過(guò)的邊界點(diǎn)作為輪廓起始點(diǎn),并記錄進(jìn)入 所述起始點(diǎn)的方向以及碼鏈信息;根據(jù)上一步驟所述進(jìn)入方向按第二順序?qū)ふ蚁乱粋€(gè)邊界點(diǎn)作為輪廓點(diǎn),并 記錄進(jìn)入所述輪廓點(diǎn)的方向以及碼鏈信息直至回到起始點(diǎn);根據(jù)記錄的所有所述碼鏈信息得到所述連通區(qū)域的輪廓碼鏈;統(tǒng)計(jì)所述連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)。
較佳地,所述根據(jù)所述連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)以及第 一步長(zhǎng)提取出所述水印信息位串步驟中,所述水印信息位串按以下公式得出w = 0,me{m|[w/g+0.5〗% = 0,m2750,m《1700} w = l,we{w|[m/2+0.5]%2 = l,m》750,m^l700}其中,m為黑點(diǎn)個(gè)數(shù),w為水印信息位串,g為第一步長(zhǎng)。 較佳地,進(jìn)一步包括如下步驟 對(duì)所述提取的水印信息位串進(jìn)行解密處理。 本發(fā)明還進(jìn)一步提供了一種數(shù)字水印的嵌入裝置,包括 水印信息獲取模塊,用于獲取待嵌入的水印信息位串; 輪廓碼鏈獲取^莫塊,用于搜索由字符組成的封閉連通區(qū)域,獲取所述連通 區(qū)域的輪廓碼鏈;黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)模塊,與所述輪廓碼鏈獲取模塊相連,用于統(tǒng)計(jì)所述連通區(qū) 域內(nèi)的黑點(diǎn)個(gè)數(shù);第一個(gè)數(shù)計(jì)算才莫塊,與所述水印信息獲取模塊、所述黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)模塊相 連,用于根據(jù)所述黑點(diǎn)個(gè)數(shù)、所述水印信息位串、以及第一步長(zhǎng)計(jì)算出需要翻 轉(zhuǎn)的像素第一個(gè)數(shù);像素翻轉(zhuǎn)模塊,與所述第一個(gè)數(shù)計(jì)算模塊、所述輪廓碼鏈獲^^莫塊相連, 用于沿所述輪廓碼鏈按所述第一個(gè)數(shù)翻轉(zhuǎn)像素。較佳地,進(jìn)一步包括加密模塊,與所述水印信息獲取溪塊相連,用于對(duì)所 述水印信息位串進(jìn)行加密處理。較佳地,所述輪廓碼鏈獲取模塊包括第一邊界點(diǎn)標(biāo)記單元,用于根據(jù)八鄰域內(nèi)顏色點(diǎn)的不同判斷字符的邊界點(diǎn) 并標(biāo)記;第一碼鏈遍歷單元,用于根據(jù)所述第一邊界點(diǎn)標(biāo)記單元標(biāo)記的邊界點(diǎn),按 笫一順序?qū)ふ业谝粋€(gè)未被遍歷過(guò)的邊界點(diǎn)作為輪廓起始點(diǎn),并記錄進(jìn)入所述起 始點(diǎn)的方向以及碼鏈信息,根據(jù)所述進(jìn)入方向按第二順序?qū)ふ蚁乱粋€(gè)邊界點(diǎn)作
為輪廓點(diǎn),并記錄進(jìn)入所述輪廓點(diǎn)的方向以及碼鏈信息直至回到起始點(diǎn); 第一碼鏈形成單元,用于根據(jù)所述第一碼鏈遍歷單元記錄的所有所述碼鏈信息得到所述連通區(qū)域的輪廓碼鏈。較佳地,所述第一個(gè)數(shù)計(jì)算模塊包括步長(zhǎng)確定單元,用于根據(jù)步長(zhǎng)奇偶法或奇偶嵌入法的步長(zhǎng)確定第一步長(zhǎng); 個(gè)數(shù)計(jì)算單元,用于按下述計(jì)算公式得出所述第一個(gè)數(shù),w = 0, m e (0,600) u (1700,+oo) w = w—600,we[600,750)w = Q—w%0,we{w|w%^>0x2/3,w/0 = w,w^:6OO,/MSl7OO}w = Qx5/3—/w%0,we{w|/n%0>gx2/3,m/(g-w,m26OO,/n^l7OO}w = /w%0,附e {w I m%0 >gx2/3,m/g = w,mS 600, w《1700}w = ^x2/3—wo/o0,we{w|w%G>^x2/3,/w/0 = 2,m》6OO,w《17OO}其中第一個(gè)數(shù)=11+原黑點(diǎn)個(gè)數(shù),w為黑點(diǎn)個(gè)數(shù),"為需要增加的點(diǎn)個(gè)數(shù),當(dāng)n大于0時(shí),增加黑點(diǎn)的個(gè)數(shù),將白色像素翻轉(zhuǎn)為黑色像素,當(dāng)n小于O時(shí),減少黑點(diǎn)的個(gè)數(shù),將黑色像素翻轉(zhuǎn)為白色像素,w為待嵌入的水印信息位串,G為第一步長(zhǎng)。本發(fā)明進(jìn)一步的又提供了一種數(shù)字水印的提取裝置,包括 圖像分割處理才莫塊用于將文本文檔掃描后進(jìn)行處理得到單個(gè)字符圖像區(qū)域;字符黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)模塊與所述圖像分割處理模塊相連,用于搜索由字符 組成的封閉連通區(qū)域,獲取所迷連通區(qū)域的輪廓碼鏈,統(tǒng)計(jì)所述連通區(qū)域內(nèi)的 黑點(diǎn)個(gè)數(shù);水印信息提取^^莫塊與所述字符黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)才莫塊相連,用于根據(jù)所述連 通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)以及第 一步長(zhǎng)提取出所述水印信息位串。 較佳地,所述字符黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)模塊包括第二邊界點(diǎn)標(biāo)記單元,用于根據(jù)八鄰域內(nèi)顏色點(diǎn)的不同判斷字符的邊界點(diǎn) 并標(biāo)記;
第二碼鏈遍歷單元,用于根據(jù)所述第二邊界點(diǎn)標(biāo)記單元標(biāo)記的邊界點(diǎn),按 第一順序?qū)ふ业谝粋€(gè)未凈皮遍歷過(guò)的邊界點(diǎn)作為輪廓起始點(diǎn),并記錄進(jìn)入所述起 始點(diǎn)的方向以及碼鏈信息,根據(jù)所述進(jìn)入方向按第二順序?qū)ふ蚁乱粋€(gè)邊界點(diǎn)作為輪廓點(diǎn),并記錄進(jìn)入所述輪廓點(diǎn)的方向以及碼鏈信息直至回到起始點(diǎn); 第二碼鏈形成單元,用于根據(jù)所述第二碼鏈遍歷單元記錄的所有所述碼鏈信息得到所述連通區(qū)域的輪廓碼鏈;黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)單元,用于統(tǒng)計(jì)所述連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)。較佳地,所述水印提取模塊按以下公式提取水印信息位串w=0,we{w|[/w/g+0.5]% = 0,w2750,m^l700} w=l,mG{m|[/w/2+0.5]o/o2 = l,m2750,m^l700}其中,附為黑點(diǎn)個(gè)數(shù),w為水印信息位串,^為第一步長(zhǎng)。 較佳地,進(jìn)一步包括解密模塊,與水印提^^莫塊相連,用于對(duì)所述提取的 水印信息位串進(jìn)行解密處理。 本發(fā)明有益效果如下由于本發(fā)明是根據(jù)連通區(qū)域進(jìn)行黑點(diǎn)個(gè)數(shù)的變化來(lái)進(jìn)行翻轉(zhuǎn)從而達(dá)到數(shù) 字水印嵌入的目的,而文本都具有連通區(qū)域,因此本發(fā)明對(duì)一般的二值文本圖 像具有通用性,可以應(yīng)用在包含英文、數(shù)字符號(hào)、漢字以及日文等任何字符集 的文本文檔;由于本發(fā)明是通過(guò)步長(zhǎng)與增加黑點(diǎn)個(gè)數(shù)的關(guān)系來(lái)控制嵌入的,因此本發(fā)明 對(duì)打印掃描過(guò)程具有纟艮強(qiáng)的魯棒性,能夠應(yīng)用于傳統(tǒng)印刷以及打印掃描的文本文檔;與現(xiàn)有技術(shù)相比,本發(fā)明的嵌入和提取過(guò)程更加簡(jiǎn)潔,不需要事先分塊和 置亂處理,并且不依賴(lài)于文本文檔內(nèi)容的排版格式,不僅提高了運(yùn)算效率,而 且對(duì)于打印掃描攻擊的影響,也可以方便地進(jìn)行跟蹤;由于本發(fā)明只與文本文檔中的字符所占的面積大小有關(guān),因此使得抗打印 掃描過(guò)程中平移、旋轉(zhuǎn)等幾何攻擊的能力也得到增強(qiáng); 由于本發(fā)明中可以對(duì)嵌入的信息作各種處理,比如壓縮、加密、加校驗(yàn)位 等,所以本發(fā)明不僅使得嵌入的信息靈活、而且嵌入的信息量較大、便于實(shí)現(xiàn)各種保密措施,同時(shí)提取的精確度較已有的方法有大幅度提高。
圖1為本發(fā)明數(shù)字水印嵌入方法的主流程圖; 圖2為本發(fā)明獲得連通區(qū)域封閉輪廓碼鏈的流程圖; 圖3為大寫(xiě)的英文字符S嵌入水印信息0、 1和未嵌入任何信息的三種情 況比較示意圖;圖4是原始文本文檔圖像示意圖;圖5是針對(duì)圖4的原始文本嵌入水印信息后的文本文檔圖像示意圖;圖6為提取按照本發(fā)明方法嵌入水印信息的流程圖;圖7是本發(fā)明水印嵌入裝置的結(jié)構(gòu)示意圖;圖8是本發(fā)明提取水印信息的裝置結(jié)構(gòu)示意圖;圖9為本發(fā)明的一個(gè)具體實(shí)施例的水印嵌入及提取的流程示意圖。
具體實(shí)施方式
本發(fā)明的構(gòu)思在于,通過(guò)獲取封閉連通區(qū)域的輪廓碼鏈后,利用連通區(qū)域 內(nèi)的黑點(diǎn)個(gè)數(shù)、通過(guò)選定的步長(zhǎng)將水印信息嵌入文本圖像中,從而得到了一種 數(shù)字水印的嵌入方法。下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施作出說(shuō)明。如圖l所示,是本發(fā)明數(shù)字水印嵌入方案的主流程圖,包括以下步驟 S101、獲取待嵌入的水印信息位串,并對(duì)水印信息進(jìn)行預(yù)處理; 該步驟中,首先獲取需要嵌入的水印信息位串,該信息可以為數(shù)字圖像、 文本、音頻和視頻等任何可以數(shù)字化的數(shù)據(jù)。采用壓縮算法對(duì)水印信息位串進(jìn) 行壓縮處理,以增大嵌入的信息量,實(shí)施例中此處采用通用的LZW壓縮算法 以作說(shuō)明,但不限于僅用LZW壓縮算法;為了安全性考慮,在優(yōu)選實(shí)施中還
可以對(duì)壓縮后的水印信息位串進(jìn)行加密處理;在加密后的暗文字串后面插入必 要的數(shù)據(jù)正確性校驗(yàn)數(shù)據(jù)位,以便提取信息時(shí)進(jìn)行數(shù)據(jù)正確性驗(yàn)證,從而提高 信息提取的準(zhǔn)確度。S102、依次搜索版面中由字符組成的封閉連通區(qū)域,并提取字符輪廓信息, 獲得字符連通區(qū)域的封閉輪廓碼鏈;該步驟中對(duì)每個(gè)連通區(qū)域內(nèi)的字符圖像,尋找字符的連續(xù)封閉輪廓,用一 串碼鏈表示。碼鏈記錄了輪廓點(diǎn)的位置、相對(duì)上一個(gè)輪廓點(diǎn)的方向,以及連通 性標(biāo)志。尋找連續(xù)封閉輪廓的方法如下首先對(duì)所獲得的字符點(diǎn)陣分配一個(gè)標(biāo)志域,并標(biāo)識(shí)每個(gè)〗象素點(diǎn)是否為字符 圖像的邊界點(diǎn),具體過(guò)程為選擇一個(gè)黑色像素點(diǎn)為中心,判斷其周?chē)肃徲?內(nèi)是否有白色像素點(diǎn)存在,如果存在,則標(biāo)記為1;否則標(biāo)記為0。這里l表 示該像素點(diǎn)為字符圖像的邊界點(diǎn),0則表示不是邊界點(diǎn)。遍歷字符輪廓的方法分為下面兩個(gè)步驟。第一步、尋找遍歷輪廓的起始點(diǎn),按第一順序掃描字符點(diǎn)陣,具體實(shí)施中 我們定第一順序?yàn)閺纳系较?、從左到右,找到第一個(gè)未被遍歷過(guò)的邊界點(diǎn),作 為輪廓起始點(diǎn),并記錄進(jìn)入該點(diǎn)的進(jìn)入方向,具體實(shí)施中我們假定所述進(jìn)入方 向?yàn)閺淖蟮接摇5诙?、以上一個(gè)進(jìn)入方向?yàn)榛鶞?zhǔn),按第二順序不斷尋找到下一個(gè)需要遍 歷的輪廓點(diǎn),具體實(shí)施中我們定第二順序按"最先左看"的原則執(zhí)行,即以進(jìn) 入該輪廓點(diǎn)的方向?yàn)榛鶞?zhǔn),按左、上、右、下的順時(shí)針順序試探當(dāng)前輪廓點(diǎn)的 鄰接點(diǎn),如果該鄰接點(diǎn)是邊界點(diǎn)則作為下一個(gè)輪廓點(diǎn),并記錄進(jìn)入該點(diǎn)的方向, 否則繼續(xù)試探。如果回到輪廓的起始點(diǎn),則表明一個(gè)封閉輪廓遍歷完畢。重復(fù)上面兩個(gè)步驟,并在遍歷的同時(shí)記錄碼鏈信息,便可以得到字符所有 封閉輪廓的碼鏈。其中,第一順序與第二順序的設(shè)置目的是使得遍歷時(shí)順次得到每一個(gè)邊界
點(diǎn)的信息,從而保證得到的輪廓碼鏈?zhǔn)峭暾摹;谶@個(gè)原理,第一順序顯然也可采用為從下到上、再?gòu)挠业阶蟮鹊软樞?;而第二順序?dāng)然也可按"最先上、 或右、或下看"的原則執(zhí)行。圖2是獲得連通區(qū)域封閉輪廓碼鏈的流程圖。如圖所示,獲得輪廓碼鏈的 方法包括如下步驟5201、 首先獲取需要進(jìn)行數(shù)字水印嵌入的字符圖像;5202、 定位圖像中字符的外包矩形;具體的定位方法如下首先將各字符圖像區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)向水平方向投 影,根據(jù)黑點(diǎn)分布的左右邊界起始位置確定各字符圖像區(qū)域的外接矩形的左邊 界和右邊界;然后再將字符圖像區(qū)域的黑點(diǎn)個(gè)數(shù)向豎直方向投影,并根據(jù)黑點(diǎn) 分布的上下邊界起始位置確定各字符圖像區(qū)域的外接矩形的上邊界和下邊界, 從而得到完整的外接矩形區(qū)域。5203、 標(biāo)記所有的邊界點(diǎn);5204、 掃描是否能獲得未被遍歷的邊界點(diǎn),若沒(méi)有轉(zhuǎn)到S212,若有轉(zhuǎn)到 S205;5205、 標(biāo)記該點(diǎn)為輪廊起始點(diǎn),并設(shè)為當(dāng)前點(diǎn),同時(shí)設(shè)定進(jìn)入該點(diǎn)的方向 為從左到右;5206、 以進(jìn)入該點(diǎn)的方向?yàn)闇?zhǔn)按當(dāng)前點(diǎn)的左上右下的順序依次試探當(dāng)前點(diǎn) 各方向上的點(diǎn)位;5207、 判斷下一遍歷點(diǎn)是否為邊界點(diǎn),若否則轉(zhuǎn)入S206,若是則轉(zhuǎn)入S208;5208、 設(shè)置下一遍歷點(diǎn)為當(dāng)前點(diǎn);5209、 記錄進(jìn)入當(dāng)前點(diǎn)的方向,并標(biāo)記當(dāng)前點(diǎn)已經(jīng)遍歷過(guò);5210、 記錄當(dāng)前點(diǎn)的碼鏈信息;5211、 判斷當(dāng)前點(diǎn)是否為輪廓起始點(diǎn),若否則轉(zhuǎn)入S206,若是則轉(zhuǎn)入S204;5212、 根據(jù)所記錄的每一點(diǎn)的碼鏈信息獲得輪廓碼鏈。每一個(gè)點(diǎn)的碼鏈信 息串起來(lái)后就成了完整的 一個(gè)封閉連通區(qū)域的"輪廓碼鏈"。S103、計(jì)算該連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù),并根據(jù)選定的步長(zhǎng)判斷該連通區(qū)域 可否用于嵌入水印信息,并計(jì)算出需要翻轉(zhuǎn)的象素個(gè)數(shù);由于外包矩形實(shí)際上是單個(gè)字符圖像區(qū)域中包含全部黑色像素點(diǎn)的最小 的外接矩形區(qū)域。因此在搜索字符圖像的輪廓邊界前,首先要定位出該字符圖 像大致的矩形區(qū)域,然后統(tǒng)計(jì)該區(qū)域中所有的黑點(diǎn)個(gè)數(shù),即可得到該連通區(qū)域 內(nèi)的黑點(diǎn)個(gè)數(shù)。在判斷嵌入水印的0/1數(shù)據(jù)位時(shí),實(shí)施例中我們采用步長(zhǎng)奇偶法來(lái)給與說(shuō)明,步長(zhǎng)奇偶法是奇偶嵌入法的擴(kuò)展。用封閉連通區(qū)域內(nèi)的黑色4象素點(diǎn)個(gè)數(shù)相對(duì)于一定步長(zhǎng)^的倍數(shù)的奇偶性來(lái)表示0/1。這樣使得算法具有一定的容錯(cuò)能 力,經(jīng)過(guò)水印攻擊后像素點(diǎn)改變數(shù)最大不超過(guò)g/2都可以被有效檢測(cè)出來(lái)。打 印掃描過(guò)程后得到的圖像與原圖像看似相同,實(shí)際上這個(gè)過(guò)程綜合了多種圖像 處理過(guò)程,圖像的像素值及幾何位置發(fā)生了很大變換,需要水印算法具有很強(qiáng)的魯棒性才能抵抗這種攻擊。此時(shí)步長(zhǎng)^的選擇變得尤為重要,如果步長(zhǎng)過(guò)大, 需要改變的像素點(diǎn)的個(gè)數(shù)勢(shì)必增加,這樣會(huì)對(duì)原文本圖像的視覺(jué)效果造成很大 影響;若步長(zhǎng)過(guò)小,受打印掃描過(guò)程的影響,嵌入后的數(shù)據(jù)信息特別容易丟失。 在本優(yōu)選實(shí)施例中,選擇步長(zhǎng)為200, 一般來(lái)說(shuō)步長(zhǎng)的選取不要超過(guò)字符圖像 的邊界像素點(diǎn)的個(gè)數(shù)的兩倍。在本實(shí)施例中,根據(jù)常用字體的字符邊界個(gè)數(shù)的 大小,選擇了一個(gè)較優(yōu)的數(shù)值200來(lái)實(shí)施。同時(shí),對(duì)于黑點(diǎn)數(shù)小于750的存在 以下幾種情況(a) 存在兩個(gè)連通區(qū)域,比如i和j;(b) 對(duì)其進(jìn)行輪廓點(diǎn)翻轉(zhuǎn)后會(huì)引起較大視覺(jué)影響的,比如大寫(xiě)的英文字母I;(c) 可以翻轉(zhuǎn)的輪廓點(diǎn)個(gè)數(shù)不足200,比如r, t。 這些特性決定了黑點(diǎn)數(shù)小于750的這類(lèi)字符不能嵌入信息。 對(duì)于黑點(diǎn)數(shù)大于1700的字符,比如五號(hào)Arial字體下的W和M,由于打印掃描后其黑點(diǎn)變換的平均值接近或超過(guò)100, 200的步長(zhǎng)已無(wú)法滿足其抗打
印掃描處理的魯棒性,所以也不作為可嵌入信息的字符。為與嵌入信息的字符相區(qū)別,將黑點(diǎn)數(shù)大于600,且小于750的字符黑點(diǎn) 數(shù)減到600以下,防止沒(méi)有嵌入水印的字符被誤判為嵌入了水印的字符,信息 提取時(shí)發(fā)生錯(cuò)位,造成信息提取嚴(yán)重失真。為改進(jìn)該方法的魯棒性和水印信息的不可見(jiàn)性,對(duì)于需增加"個(gè)黑點(diǎn)到步長(zhǎng)的w倍的情況,可以只增加到wx^—^/3個(gè)黑點(diǎn),由于打印掃描處理后黑點(diǎn)數(shù)增加,黑點(diǎn)的個(gè)數(shù)仍在w倍步長(zhǎng)土^/2的識(shí)別范圍之內(nèi)。對(duì)于黑點(diǎn)數(shù)在 wxg-^/3到/nx^之間的字符,若減少像素到(m-l)xQ則像素變換個(gè)數(shù)太多,造成較大的視覺(jué)影響,同時(shí)打印掃描處理后只要增加像素點(diǎn)超過(guò)^/2便會(huì)造成 誤識(shí)別,魯棒性不高。采用增加像素點(diǎn)到(附+ 2)x^—^/3的方法,可以使正確 識(shí)別的范圍擴(kuò)大到Q/2+Q/3 ,增強(qiáng)了魯棒性。綜上所述,步長(zhǎng)^設(shè)為200,字符像素點(diǎn)需要翻轉(zhuǎn)個(gè)數(shù)的計(jì)算公式為w = 0, m e (0,600) u (1700,+oo) w = w-600, we [600,750)w = g—m%g,we{/w|w%Q>0x2/3,w/0 = w,w》6OO,w^l7OO}w = jgx5/3—w%0,/we{w|w%g>2x2/3,w/g*w,m26OO,w^l7OO}w = m%g,m e { 21 m%g > Qx2/3,/w/Q = w,m 2 600,m Si 700}w = gx2/3—wo/o2,we{ i|w%g>gx2/3,》j/g = 2,w》600,w《1700}其中附為黑點(diǎn)個(gè)數(shù);"為需要增加的點(diǎn)個(gè)數(shù),當(dāng)n大于O時(shí),則表示需 要增加黑點(diǎn)的個(gè)數(shù),即需要將部分白色像素翻轉(zhuǎn)為黑色像素,當(dāng)n小于O時(shí), 則表示減少黑點(diǎn)的個(gè)數(shù),即需要將部分黑色像素翻轉(zhuǎn)為白色像素;w為待嵌入 的水印信息位。S104、沿輪廓碼鏈連續(xù)的翻轉(zhuǎn)像素,直到達(dá)到指定個(gè)數(shù),從而嵌入一位信息;利用所得輪廓碼鏈可以連續(xù)地翻轉(zhuǎn)一組像素,需要增加黑色點(diǎn)時(shí)沿輪廓碼 鏈方向遍歷,翻轉(zhuǎn)黑點(diǎn)八鄰域內(nèi)的白點(diǎn)為黑色,直到翻轉(zhuǎn)了"個(gè)《象素為止。對(duì)
字符外包矩形上的白點(diǎn)不做翻轉(zhuǎn),這樣避免了字符大小向外擴(kuò)展,造成明顯變 粗,甚至在字符排列緊密時(shí)造成兩個(gè)字符邊界粘連,使得提取水印時(shí)誤判連通 區(qū)域的范圍。需要減少黑點(diǎn)時(shí),同樣沿輪廓碼鏈方向遍歷,翻轉(zhuǎn)輪廓黑點(diǎn)為白色,直到 翻轉(zhuǎn)"個(gè)像素為止。其中對(duì)上下左右均同色的黑點(diǎn)不作翻轉(zhuǎn),可以起到一定平 滑視覺(jué)效果的作用。為保證不可見(jiàn)性,優(yōu)選實(shí)施例中可以?xún)?yōu)先考慮修改字符的內(nèi)部輪廓,其次 修改外部輪廓,在已知輪廓碼鏈的情況下,認(rèn)為作為獨(dú)立連通區(qū)域的字符圖像 只有一個(gè)外部輪廓,只需要找到第二個(gè)輪廓起始點(diǎn),開(kāi)始遍歷并修改像素點(diǎn)。 若只有一個(gè)輪廓起始點(diǎn),即只有外部輪廓,或者內(nèi)部輪廓的所有點(diǎn)都被修改仍 不能滿足嵌入需要時(shí),才從第一個(gè)輪廓起始點(diǎn)開(kāi)始遍歷。重復(fù)上述S102至S104,嵌入全部的信息位串。如圖3所示,選擇Arial字體,設(shè)置5號(hào)字體,大寫(xiě)英文字母"S"嵌入水 印信息位0、 1以及不嵌任何信息,其放大后的效果示意圖分別為(a)、 (b) 和(c)所示。由圖可以看出,變化前后的視覺(jué)平滑度比較理想,不仔細(xì)對(duì)比 查看是不容易發(fā)現(xiàn)其中隱藏信息的。在本實(shí)施例中選擇圖4所示的文本文檔圖像為水印嵌入時(shí)的載體圖像,遍 歷所有字符組成的連通區(qū)域后,在每個(gè)區(qū)域中嵌入相應(yīng)的數(shù)據(jù)位后的效果示意 圖如圖5所示?;谝陨蠘?gòu)思,將數(shù)字水印嵌入的方法中的過(guò)程相逆,即通過(guò)對(duì)嵌入水印 的文本圖像中的黑點(diǎn)個(gè)數(shù)等將嵌入的水印信息提取,從而將文本圖像還原的技 術(shù)構(gòu)思,本發(fā)明還可得到在二值文本圖像中提取數(shù)字水印的方法,下面結(jié)合附 圖來(lái)對(duì)提取方法的具體實(shí)施作出說(shuō)明。圖6是提取按照上述方法嵌入水印信息 的流程圖,從圖中可見(jiàn),包括以下步驟S601、掃描文本文檔得到灰度數(shù)字圖象,并進(jìn)行圖像分割處理; 掃描打印后的文本圖像獲取電子化后的數(shù)字圖像數(shù)據(jù),由前所述的水印信
息嵌入方法,需要統(tǒng)計(jì)連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù),所以提取水印信息前需要進(jìn)行 數(shù)字圖像的圖像分割處理,得到單個(gè)字符圖像區(qū)域。將文本文檔掃描后進(jìn)行處 理中,可以采用區(qū)域方法或邊界方法或邊緣方法來(lái)進(jìn)行處理。由于采用步長(zhǎng)奇偶法嵌入水印,字符圖像經(jīng)過(guò)打印掃描處理后黑點(diǎn)個(gè)數(shù)的 統(tǒng)計(jì)值是決定水印能否正確提取的決定因素,由于打印掃描過(guò)程中的不確定因 素,如果采用固定的閾值對(duì)圖像字符進(jìn)行分割,那么就會(huì)造成字符圖像的邊界 像素嚴(yán)重失真。因此必須采用閾值化算法動(dòng)態(tài)地確定合適的閾值,盡量準(zhǔn)確分 割字符圖像的邊界,才能保證水印提取的正確率。在本實(shí)施例中,對(duì)水印進(jìn)行提取時(shí),使用區(qū)域方法中有代表性的閾值化圖 像分割處理方法,先對(duì)掃描后的灰度圖像進(jìn)行大津法閾值化處理,恢復(fù)成二值 圖像。5602、 依次搜索版面中由字符組成的封閉連通區(qū)域,并計(jì)算區(qū)域內(nèi)所有的 黑點(diǎn)個(gè)數(shù);遍歷圖像時(shí),需要先檢測(cè)出字符圖像區(qū)域的邊緣輪廓,然后統(tǒng)計(jì)封閉輪廓 區(qū)域內(nèi)的所有黑點(diǎn)個(gè)數(shù),其中邊緣輪廓檢測(cè)的方法跟嵌入過(guò)程相同。5603、 根據(jù)嵌入規(guī)則和每個(gè)區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)提取每個(gè)區(qū)域內(nèi)嵌入的水印 數(shù)據(jù)位;<formula>formula see original document page 20</formula>所有的信息位提取結(jié)束后,可以根據(jù)嵌入時(shí)的加密信息進(jìn)行解密,具體實(shí) 施中可以用以下方式來(lái)實(shí)現(xiàn)。根據(jù)原始的水印信息位串結(jié)構(gòu),取出相應(yīng)的校驗(yàn) 數(shù)據(jù)進(jìn)行信息串的正確性- 。校驗(yàn)通過(guò)后的數(shù)據(jù)再進(jìn)行最后的解密和解壓縮 過(guò)程,從而還原原始的水印串信息?;谝陨习l(fā)明構(gòu)思,本發(fā)明還提供了數(shù)字水印嵌入與提取的裝置,下面結(jié)
合附圖對(duì)所述裝置的具體實(shí)施作出說(shuō)明。圖7是本發(fā)明水印嵌入裝置的結(jié)構(gòu)示意圖,如圖所示,在數(shù)字水印嵌入裝 置中包括水印信息獲取模塊701、輪廓碼鏈獲私漢塊702、黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)才莫塊 703、第一個(gè)數(shù)計(jì)算模塊704、像素翻轉(zhuǎn)模塊705、加密模塊706,它們的結(jié)構(gòu) 關(guān)系是第一個(gè)數(shù)計(jì)算模塊704分別與水印信息獲取模塊701、黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)模塊 703相連,黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)模塊703還與輪廓碼鏈獲取模塊702相連,像素翻轉(zhuǎn) 模塊705分別與輪廓碼鏈獲取模塊702、第一個(gè)數(shù)計(jì)算模塊704相連,優(yōu)選中 水印信息獲取模塊701還與加密模塊706相連。下面再對(duì)這些模塊各自所起的作用以及相互之間工作關(guān)系說(shuō)明如下水印信息獲取才莫塊獲取待嵌入的水印信息位串,信息位串是笫一個(gè)數(shù)計(jì)算 模塊計(jì)算的一個(gè)依據(jù);輪廓碼鏈獲取模塊搜索由字符組成的封閉連通區(qū)域,獲取連通區(qū)域的輪廓 碼鏈,黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)模塊將根據(jù)輪廓碼鏈計(jì)算出第一個(gè)數(shù)計(jì)算所需的黑點(diǎn)個(gè) 數(shù),同時(shí)像素翻轉(zhuǎn)模塊也是沿輪廓碼鏈進(jìn)行翻轉(zhuǎn)的;黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)模塊根據(jù)輪廓碼鏈模塊得到的連通區(qū)域,統(tǒng)計(jì)連通區(qū)域內(nèi)的 黑點(diǎn)個(gè)數(shù);第一個(gè)數(shù)計(jì)算模塊根據(jù)水印信息獲取漢塊、黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)模塊得到的黑點(diǎn) 個(gè)數(shù)、水印信息位串、再結(jié)合第一步長(zhǎng)計(jì)算出需要翻轉(zhuǎn)的像素第一個(gè)數(shù);像素翻轉(zhuǎn)模塊在沿所述輪廓碼鏈按第一個(gè)數(shù)翻轉(zhuǎn)像素。像素翻轉(zhuǎn)模塊利用 所得輪廓碼鏈可以連續(xù)地翻轉(zhuǎn)一組像素,需要增加黑色點(diǎn)時(shí)沿輪廓碼鏈方向遍 歷,翻轉(zhuǎn)黑點(diǎn)八鄰域內(nèi)的白點(diǎn)為黑色,直到翻轉(zhuǎn)了"個(gè)像素為止。對(duì)字符外包 矩形上的白點(diǎn)不做翻轉(zhuǎn),這樣避免了字符大小向外擴(kuò)展,造成明顯變粗,甚至 在字符排列緊密時(shí)造成兩個(gè)字符邊界粘連,使得提取水印時(shí)誤判連通區(qū)域的范 圍。需要減少黑點(diǎn)時(shí),同樣沿輪廓碼鏈方向遍歷,翻轉(zhuǎn)輪廓黑點(diǎn)為白色,直到 翻轉(zhuǎn)"個(gè)像素為止。其中對(duì)上下左右均同色的黑點(diǎn)不作翻轉(zhuǎn),可以起到一定平
滑-現(xiàn)覺(jué)效果的作用。加密模塊,用于對(duì)所述水印信息位串進(jìn)行加密處理,加密模塊是為了安全性考慮,它可以對(duì)壓縮后的水印信息位串進(jìn)4亍加密處理;在加密后的暗文字串 后面插入必要的數(shù)據(jù)正確性校驗(yàn)數(shù)據(jù)位,以便提取信息時(shí)進(jìn)行數(shù)據(jù)正確性驗(yàn) 證,從而提高信息提取的準(zhǔn)確度。優(yōu)選中輪廓碼鏈獲取模塊702可以包括第一邊界點(diǎn)標(biāo)記單元7021、第一碼 鏈遍歷單元7022 、第 一碼鏈形成單元7023 。第一邊界點(diǎn)標(biāo)記單元,才艮據(jù)八鄰域內(nèi)顏色點(diǎn)的不同判斷字符的邊界點(diǎn)并標(biāo) 記;第一碼鏈遍歷單元,根據(jù)第一邊界點(diǎn)標(biāo)記單元標(biāo)記的邊界點(diǎn),按第一順序 尋找第一個(gè)未被遍歷過(guò)的邊界點(diǎn)作為輪廓起始點(diǎn),并記錄進(jìn)入所述起始點(diǎn)的方 向以及碼鏈信息,根據(jù)進(jìn)入方向按第二順序?qū)ふ蚁乱粋€(gè)邊界點(diǎn)作為輪廓點(diǎn),并 記錄進(jìn)入輪廓點(diǎn)的方向以及碼鏈信息直至回到起始點(diǎn);第一碼鏈形成單元,根 據(jù)第一碼鏈遍歷單元記錄的所有碼鏈信息得到連通區(qū)域的輪廊碼鏈。在實(shí)施中,第一順序與第二順序的設(shè)置目的是使得遍歷時(shí)順次得到每一個(gè) 邊界點(diǎn)的信息,從而保證得到的輪廓碼鏈?zhǔn)峭暾摹;谶@個(gè)原理,第一順序 顯然也可采用為從下到上、再?gòu)挠业阶蟮鹊软樞?;而第二順序?dāng)然也可按"最 先上、或右、或下看"的原則執(zhí)行。在優(yōu)選實(shí)施例中,第一個(gè)數(shù)計(jì)算模塊704可以包括步長(zhǎng)確定單元、個(gè)數(shù)計(jì) 算單元。具體實(shí)施中,步長(zhǎng)確定單元可以根據(jù)步長(zhǎng)奇偶法或奇偶嵌入法的步長(zhǎng)確定 第一步長(zhǎng)。下面我們采用步長(zhǎng)奇偶法來(lái)給與說(shuō)明,步長(zhǎng)奇偶法是奇偶嵌入法的擴(kuò)展。用封閉連通區(qū)域內(nèi)的黑色像素點(diǎn)個(gè)數(shù)相對(duì)于一定步長(zhǎng)^的倍數(shù)的奇偶性 來(lái)表示0/1。這樣使得算法具有一定的容錯(cuò)能力,經(jīng)過(guò)水印攻擊后像素點(diǎn)改變 數(shù)最大不超過(guò)g/2都可以被有效檢測(cè)出來(lái)。打印掃描過(guò)程后得到的圖像與原圖 像看似相同,實(shí)際上這個(gè)過(guò)程綜合了多種圖像處理過(guò)程,圖像的像素值及幾何 位置發(fā)生了很大變換,需要水印算法具有很強(qiáng)的魯棒性才能抵抗這種攻擊。此
時(shí)步長(zhǎng)2的選擇變得尤為重要,如果步長(zhǎng)過(guò)大,需要改變的像素點(diǎn)的個(gè)數(shù)勢(shì)必增加,這樣會(huì)對(duì)原文本圖像的視覺(jué)效果造成很大影響;若步長(zhǎng)過(guò)小,受打印掃 描過(guò)程的影響,嵌入后的數(shù)據(jù)信息特別容易丟失。在本優(yōu)選實(shí)施例中,選擇步長(zhǎng)為200, 一般來(lái)說(shuō)步長(zhǎng)的選取不要超過(guò)字符圖像的邊界像素點(diǎn)的個(gè)數(shù)的兩倍。 在本實(shí)施例中,根據(jù)常用字體的字符邊界個(gè)數(shù)的大小,選擇了一個(gè)較優(yōu)的數(shù)值 200來(lái)實(shí)施。個(gè)數(shù)計(jì)算單元?jiǎng)t按下述計(jì)算公式得出所述第一個(gè)數(shù),其中<formula>formula see original document page 23</formula>第一個(gè)數(shù)巧+原黑點(diǎn)個(gè)數(shù),w為黑點(diǎn)個(gè)數(shù),"為需要增加的點(diǎn)個(gè)數(shù),當(dāng)n大于0時(shí),增加黑點(diǎn)的個(gè)數(shù),將白色像素翻轉(zhuǎn)為黑色像素,當(dāng)n小于0時(shí),減少黑點(diǎn)的個(gè)數(shù),將黑色像素翻轉(zhuǎn)為白色像素,w為待嵌入的水印信息位串,0為第一步長(zhǎng)。下面我們對(duì)優(yōu)選中所選用的^^式進(jìn)行說(shuō)明。 由于對(duì)于黑點(diǎn)數(shù)小于750的存在以下幾種情況(a) 存在兩個(gè)連通區(qū)域,比如i和j;(b) 對(duì)其進(jìn)行輪廓點(diǎn)翻轉(zhuǎn)后會(huì)引起較大視覺(jué)影響的,比如大寫(xiě)的英文字母I;(c) 可以翻轉(zhuǎn)的輪廓點(diǎn)個(gè)數(shù)不足200,比如r, t。 這些特性決定了黑點(diǎn)數(shù)小于750的這類(lèi)字符不能嵌入信息。 對(duì)于黑點(diǎn)數(shù)大于1700的字符,比如五號(hào)Arial字體下的W和M,由于打印掃描后其黑點(diǎn)變換的平均值接近或超過(guò)100, 200的步長(zhǎng)已無(wú)法滿足其抗打 印掃描處理的魯;^奉性,所以也不作為可嵌入信息的字符。
為與嵌入信息的字符相區(qū)別,將黑點(diǎn)數(shù)大于600,且小于750的字符黑點(diǎn) 數(shù)減到600以下,防止沒(méi)有嵌入水印的字符被誤判為嵌入了水印的字符,信息 提取時(shí)發(fā)生錯(cuò)位,造成信息提取嚴(yán)重失真。為改進(jìn)該方法的魯棒性和水印信息的不可見(jiàn)性,對(duì)于需增加"個(gè)黑點(diǎn)到步長(zhǎng)的w倍的情況,可以只增加到附x^—2/3個(gè)黑點(diǎn),由于打印掃描處理后黑點(diǎn) 數(shù)增加,黑點(diǎn)的個(gè)數(shù)仍在w倍步長(zhǎng)士^/2的識(shí)別范圍之內(nèi)。對(duì)于黑點(diǎn)數(shù)在 wx^-Q/3到mxg之間的字符,若減少像素到(m-l)x0則像素變換個(gè)數(shù)太多,造成較大的視覺(jué)影響,同時(shí)打印掃描處理后只要增加像素點(diǎn)超過(guò)^/2便會(huì)造成 誤識(shí)別,魯棒性不高。采用增加像素點(diǎn)到(附+2)x2-Q/3的方法,可以使正確識(shí)別的范圍擴(kuò)大到^/2+^/3,增強(qiáng)了魯棒性。綜上所述,在優(yōu)選實(shí)施中,我們將第一步長(zhǎng)^設(shè)為200,字符像素點(diǎn)需要翻轉(zhuǎn)個(gè)數(shù)的計(jì)算公式為<formula>formula see original document page 24</formula>其中w為黑點(diǎn)個(gè)數(shù);"為需要增加的點(diǎn)個(gè)數(shù),當(dāng)n大于O時(shí),則表示需 要增加黑點(diǎn)的個(gè)數(shù),即需要將部分白色像素翻轉(zhuǎn)為黑色像素,當(dāng)n小于O時(shí), 則表示減少黑點(diǎn)的個(gè)數(shù),即需要將部分黑色像素翻轉(zhuǎn)為白色像素;w為待嵌入 的水印信息位。如果我們將數(shù)字水印嵌入的方法中的過(guò)程相逆,即通過(guò)對(duì)嵌入水印的文本 圖像中的黑點(diǎn)個(gè)數(shù)等將嵌入的水印信息提取,從而就能將文本圖像還原,基于 上述構(gòu)思,本發(fā)明還可得到在二值文本圖像中提取數(shù)字水印的裝置,下面我們 結(jié)合附圖來(lái)對(duì)提取裝置的具體實(shí)施作出說(shuō)明。圖8是本發(fā)明提取水印信息的裝 置結(jié)構(gòu)示意圖,如圖所示,在數(shù)字水印提取裝置中包括圖像分割處理模塊801、 字符黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)模塊802、水印信息提取模塊803、解密模塊804,其中它們 的結(jié)構(gòu)關(guān)系是依次相連的,優(yōu)選中解密模塊804還與水印提取模塊803相連。 下面對(duì)它們所完成的功能及關(guān)系及體實(shí)施進(jìn)行說(shuō)明如下圖像分割處理才莫塊將文本文檔掃描后進(jìn)行處理得到單個(gè)字符圖像區(qū)域。 在掃描打印后的文本圖像獲取電子化后的數(shù)字圖像數(shù)據(jù)后,根據(jù)由前所述 的水印信息嵌入的原理,需要統(tǒng)計(jì)連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù),所以提取水印信息 前需要進(jìn)行數(shù)字圖像的圖像分割處理,得到單個(gè)字符圖像區(qū)域。將文本文檔掃 描后進(jìn)行處理中,具體實(shí)施時(shí)可以采用區(qū)域方法或邊界方法或邊緣方法來(lái)進(jìn)行 處理。由于采用步長(zhǎng)奇偶法嵌入水印,字符圖像經(jīng)過(guò)打印掃描處理后黑點(diǎn)個(gè)數(shù)的 統(tǒng)計(jì)值是決定水印能否正確提取的決定因素,由于打印掃描過(guò)程中的不確定因 素,如果采用固定的閾值對(duì)圖像字符進(jìn)行分割,那么就會(huì)造成字符圖像的邊界 像素嚴(yán)重失真。因此優(yōu)選實(shí)施中應(yīng)該采用閾值化算法動(dòng)態(tài)地確定合適的閾值, 盡量準(zhǔn)確分割字符圖像的邊界,才能保證水印提取的正確率。在本實(shí)施例中,對(duì)水印進(jìn)行提取時(shí),可以使用區(qū)域方法中有代表性的閾值 化圖像分割處理方法,先對(duì)掃描后的灰度圖像進(jìn)行大津法閾值化處理,恢復(fù)成 二值圖像。字符黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)模塊用于搜索由字符組成的封閉連通區(qū)域,獲取所述連 通區(qū)域的輪廓碼鏈,統(tǒng)計(jì)所述連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)。遍歷圖像時(shí),需要先檢 測(cè)出字符圖像區(qū)域的邊緣輪廓,然后統(tǒng)計(jì)封閉輪廓區(qū)域內(nèi)的所有黑點(diǎn)個(gè)數(shù),其 中邊緣輪廓檢測(cè)的方法跟嵌入過(guò)程相同。優(yōu)選中字符黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)模塊802可以包括第二邊界點(diǎn)標(biāo)記單元8021 、第 二碼鏈遍歷單元8022、第二碼鏈形成單元8023、黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)單元8024。笫二邊界點(diǎn)標(biāo)記單元,根據(jù)八鄰域內(nèi)顏色點(diǎn)的不同判斷字符的邊界點(diǎn)并標(biāo)記;
第二碼Mi4歷單元,根據(jù)第二邊界點(diǎn)標(biāo)記單元標(biāo)記的邊界點(diǎn),按第一順序 尋找第 一個(gè)未被遍歷過(guò)的邊界點(diǎn)作為輪廓起始點(diǎn),并記錄進(jìn)入起始點(diǎn)的方向以 及碼鏈信息,根據(jù)進(jìn)入方向按第二順序?qū)ふ蚁乱粋€(gè)邊界點(diǎn)作為輪廓點(diǎn),并記錄 進(jìn)入輪廓點(diǎn)的方向以及碼鏈信息直至回到起始點(diǎn);第二碼鏈形成單元,根據(jù)第二碼鏈遍歷單元記錄的所有碼鏈信息得到連通 區(qū)域的輪廓碼鏈。其中第二邊界點(diǎn)標(biāo)記單元8021、第二碼鏈遍歷單元8022、第二碼鏈形成 單元8023可以4艮據(jù)嵌入水印時(shí)使用相同的原理來(lái)形成輪廓碼鏈。黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)單元根據(jù)輪廓碼鏈來(lái)統(tǒng)計(jì)連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)。水印信息提取模塊是根據(jù)連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)以及第 一步長(zhǎng)提取出所 述水印信息位串。優(yōu)選中,水印提取模塊可以按以下公式提取水印信息位串w=0,we{/w|[w/g+0.5]% = 0,m2750,w^l700} w = l,we{w|[w/2+0.5]0/o2 = l,m》750,m^l700}其中,w為黑點(diǎn)個(gè)數(shù),w為水印信息位串,G為第一步長(zhǎng)。 優(yōu)選實(shí)施中還可以包括解密模塊,與水印提取模塊相連,用于對(duì)提取的水 印信息位串進(jìn)行解密處理。解密模塊是在所有的信息位提取結(jié)束后,根據(jù)嵌入 時(shí)的加密信息進(jìn)行解密,具體實(shí)施中可以用以下方式來(lái)實(shí)現(xiàn)。根據(jù)原始的水印 信息位串結(jié)構(gòu),取出相應(yīng)的校驗(yàn)數(shù)據(jù)進(jìn)行信息串的正確性驗(yàn)證。校驗(yàn)通過(guò)后的 數(shù)據(jù)再進(jìn)行最后的解密和解壓縮過(guò)程,從而還原原始的水印串信息。如圖9所示,是本發(fā)明的一個(gè)具體實(shí)施例的流程示意圖,該流程圖中,我 們給出了水印嵌入及提取所使用的方法以及裝置具體實(shí)施本發(fā)明的完整過(guò)程, 用以進(jìn)一步對(duì)本發(fā)明總構(gòu)思的具體實(shí)施作出全面的說(shuō)明,從圖中可見(jiàn),包括以 下步驟5901、 在原始圖像中,定位原始圖像連通區(qū)域;5902、 獲取原始圖像的輪廓編碼;S903、統(tǒng)計(jì)-像素點(diǎn)個(gè)數(shù);S904、在水印中加入冗余信息后,應(yīng)用前述公式翻轉(zhuǎn)像素個(gè)數(shù);S905、沿輪廓翻轉(zhuǎn)像素;S906、根據(jù)上述步驟獲取加入水印圖像;S卯7、對(duì)加入水印圖像進(jìn)行閾值化處理;S908、定位連通區(qū)域;S909、統(tǒng)計(jì)像素點(diǎn)個(gè)數(shù);S910、應(yīng)用公式計(jì)算水印位;S911、提取水印。在本發(fā)明構(gòu)思中,是根據(jù)連通區(qū)域進(jìn)行黑點(diǎn)個(gè)數(shù)的變化來(lái)進(jìn)行翻轉(zhuǎn)從而達(dá) 到數(shù)字水印嵌入的目的,而文本都具有連通區(qū)域,因此本方法及裝置對(duì)一般的 二值文本圖像具有通用性,可以應(yīng)用在包含英文、數(shù)字符號(hào)、漢字以及日文等 任何字符集的文本文檔。由于本發(fā)明構(gòu)思中是通過(guò)步長(zhǎng)與增加黑點(diǎn)個(gè)數(shù)的關(guān)系來(lái)控制嵌入的,因此 本發(fā)明所述的方法及裝置對(duì)打印掃描過(guò)程具有很強(qiáng)的魯棒性,能夠應(yīng)用于傳統(tǒng) 印刷以及打印掃描的文本文檔。與現(xiàn)有技術(shù)相比,本發(fā)明所述方法及裝置的嵌入和提取過(guò)程更加簡(jiǎn)潔,不 需要事先分塊和置亂處理,并且不依賴(lài)于文本文檔內(nèi)容的排版格式,不僅提高 了運(yùn)算效率,而且對(duì)于打印掃描攻擊的影響,也可以方便地進(jìn)行跟蹤。由于本發(fā)明所述方法及裝置只與文本文檔中的字符所占的面積大小有關(guān), 因此使得(同時(shí))抗打印掃描過(guò)程中平移、旋轉(zhuǎn)等幾何攻擊的能力也得到增強(qiáng)。由于本發(fā)明中可以對(duì)嵌入的信息作各種處理,比如壓縮、加密、加校驗(yàn)位 等,所以本發(fā)明所述方法及裝置不僅使得嵌入的信息靈活、而且嵌入的信息量 較大、便于實(shí)現(xiàn)各種保密措施,同時(shí)提取的精確度較已有的方法有大幅度提高。
權(quán)利要求
1、一種數(shù)字水印的嵌入方法,其特征在于,包括如下步驟獲取待嵌入的水印信息位串;搜索由字符組成的封閉連通區(qū)域,獲取所述連通區(qū)域的輪廓碼鏈;根據(jù)所述連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)、所述水印信息位串、以及第一步長(zhǎng)計(jì)算出需要翻轉(zhuǎn)的像素第一個(gè)數(shù);沿所述輪廓碼鏈按所述第一個(gè)數(shù)翻轉(zhuǎn)像素。
2、 如權(quán)利要求1所述的方法,其特征在于,所述獲取待嵌入的水印信息 位串步驟中,對(duì)所述水印信息位串進(jìn)行加密處理。
3、 如權(quán)利要求1所述的方法,其特征在于,所述搜索由字符組成的封閉 連通區(qū)域,獲取所述連通區(qū)域的輪廓碼鏈步驟,包括才艮據(jù)八鄰域內(nèi)顏色點(diǎn)的不同判斷字符的邊界點(diǎn)并標(biāo)記;按第一順序?qū)ふ业谝粋€(gè)未被遍歷過(guò)的邊界點(diǎn)作為輪廓起始點(diǎn),并記錄進(jìn)入 所述起始點(diǎn)的方向以及碼鏈信息;根據(jù)上一步驟所述進(jìn)入方向按第二順序?qū)ふ蚁乱粋€(gè)邊界點(diǎn)作為輪廓點(diǎn),并 記錄進(jìn)入所述輪廓點(diǎn)的方向以及碼鏈信息直至回到起始點(diǎn);根據(jù)記錄的所有所述碼鏈信息得到所述連通區(qū)域的輪廓碼鏈。
4、 如權(quán)利要求1所述的方法,其特征在于,所述第一步長(zhǎng)是步長(zhǎng)奇偶法 或奇偶嵌入法的步長(zhǎng)。
5、 如權(quán)利要求1所述的方法,其特征在于,所述第一個(gè)數(shù)按下述計(jì)算公 式得出笫一個(gè)數(shù)=11+原黑點(diǎn)個(gè)數(shù),其中 w = 0, w e (0,600) u (1700,+oo) w = w—600,附e [600,750)w =m%g,we{m|wo/o2〉gx2/3,/w/g = w,m2600,》^1700} 'w = gx5/3 —w%g,we{/w|w%0>gx2/3,Aw/g#w,w26OO,m^l7OO} w = w%Q,we{w|m%Q>gx2/3,w/0 = w,m^6OO,w:^17OO} w=0x2/3-w%^,me{w|wo/c^>0<2/3,m/0 = 2,/ 26OO,w^l7OO}上式中附為黑點(diǎn)個(gè)數(shù),"為需要增加的點(diǎn)個(gè)數(shù),當(dāng)n大于0時(shí),增加黑點(diǎn)的 個(gè)數(shù),將白色像素翻轉(zhuǎn)為黑色像素,當(dāng)n小于0時(shí),減少黑點(diǎn)的個(gè)數(shù),將黑色 像素翻轉(zhuǎn)為白色像素,w為待嵌入的水印信息位串,g為第一步長(zhǎng)。
6、 如權(quán)利要求1所述的方法,其特征在于,所述沿所述輪廊碼鏈按所述 第一個(gè)數(shù)翻轉(zhuǎn)像素步驟中,對(duì)字符外包矩形上的白點(diǎn)不做翻轉(zhuǎn)。
7、 一種數(shù)字水印的提取方法,其特征在于,包括如下步驟 將文本文檔掃描后進(jìn)行處理得到單個(gè)字符圖像區(qū)域; 搜索由字符組成的封閉連通區(qū)域,獲取所述連通區(qū)域的輪廓碼鏈,統(tǒng)計(jì)所述連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù);根據(jù)所述連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)以及第一步長(zhǎng)提取出所述水印信息位串。
8、 如權(quán)利要求7所述的方法,其特征在于,所述將文本文檔掃描后進(jìn)行 處理步驟中,是將文本文檔掃描后采用區(qū)域方法或邊界方法或邊緣方法進(jìn)行圖 像分割處理。
9、 如權(quán)利要求7所述的方法,其特征在于,所述搜索由字符組成的封閉 連通區(qū)域,獲取所述連通區(qū)域的輪廓碼鏈,統(tǒng)計(jì)所述連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)步 驟,包括根據(jù)八鄰域內(nèi)顏色點(diǎn)的不同判斷字符的邊界點(diǎn)并標(biāo)記;按第 一順序?qū)ふ业?一個(gè)未被遍歷過(guò)的邊界點(diǎn)作為輪廓起始點(diǎn),并記錄進(jìn)入 所述起始點(diǎn)的方向以及碼鏈信息;根據(jù)上一步驟所述進(jìn)入方向按第二順序?qū)ふ蚁乱粋€(gè)邊界點(diǎn)作為輪廓點(diǎn),并 記錄進(jìn)入所述輪廓點(diǎn)的方向以及碼鏈信息直至回到起始點(diǎn); 根據(jù)記錄的所有所述碼鏈信息得到所述連通區(qū)域的輪廓碼鏈; 統(tǒng)計(jì)所述連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)。
10、 如權(quán)利要求7所述的方法,其特征在于,所述根據(jù)所述連通區(qū)域內(nèi)的 黑點(diǎn)個(gè)數(shù)以及第一步長(zhǎng)提取出所述水印信息位串步驟中,所述水印信息位串按以下公式得出w=0,me{w|[w/g+0.5〗% = 0,w^750,m^l700} w=l,mG{w|[w/Q+0.5]o/o2 = l,m》750,w《1700}其中,w為黑點(diǎn)個(gè)數(shù),w為水印信息位串,^為第一步長(zhǎng)。
11、 如權(quán)利要求7所述的方法,其特征在于,進(jìn)一步包括如下步驟 對(duì)所述提取的水印信息位串進(jìn)行解密處理。
12、 一種數(shù)字水印的嵌入裝置,其特征在于,包括 水印信息獲^f莫塊,用于獲取待嵌入的水印信息位串; 輪廓碼鏈獲^^莫塊,用于搜索由字符組成的封閉連通區(qū)域,獲取所述連通區(qū)域的輪廓碼鏈;黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)才莫塊,與所述輪廓碼鏈獲取才莫塊相連,用于統(tǒng)計(jì)所述連通區(qū) 域內(nèi)的黑點(diǎn)個(gè)數(shù);第一個(gè)數(shù)計(jì)算才莫塊,與所述水印信息獲取才莫塊、所述黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)模塊相 連,用于根據(jù)所述黑點(diǎn)個(gè)數(shù)、所述水印信息位串、以及第一步長(zhǎng)計(jì)算出需要翻 轉(zhuǎn)的像素第一個(gè)數(shù);像素翻轉(zhuǎn)模塊,與所述第一個(gè)數(shù)計(jì)算模塊、所述輪廓碼鏈獲取模塊相連, 用于沿所述輪廓碼鏈按所述第一個(gè)數(shù)翻轉(zhuǎn)像素。
13、 如權(quán)利要求12所述的裝置,其特征在于,進(jìn)一步包括加密模塊,與 所述水印信息獲取溪塊相連,用于對(duì)所述水印信息位串進(jìn)^f亍加密處理。
14、 如權(quán)利要求12所述的裝置,其特征在于,所述輪廓碼鏈獲取模塊包括第 一邊界點(diǎn)標(biāo)記單元,用于根據(jù)八鄰域內(nèi)顏色點(diǎn)的不同判斷字符的邊界點(diǎn) 并標(biāo)記;笫一碼鏈遍歷單元,用于根據(jù)所述第一邊界點(diǎn)標(biāo)記單元標(biāo)記的邊界點(diǎn),按 第一順序?qū)ふ业谝粋€(gè)未被遍歷過(guò)的邊界點(diǎn)作為輪廓起始點(diǎn),并記錄進(jìn)入所述起 始點(diǎn)的方向以及碼鏈信息,根據(jù)所述進(jìn)入方向按第二順序?qū)ふ蚁乱粋€(gè)邊界點(diǎn)作 為輪廓點(diǎn),并記錄進(jìn)入所述輪廓點(diǎn)的方向以及碼鏈信息直至回到起始點(diǎn);第一碼鏈形成單元,用于根據(jù)所述碼鏈遍歷單元記錄的所有所述碼鏈信息 得到所述連通區(qū)域的輪廓碼鏈。
15、 如權(quán)利要求12所述的裝置,其特征在于,所述第一個(gè)數(shù)計(jì)算模塊包括步長(zhǎng)確定單元,用于根據(jù)步長(zhǎng)奇偶法或奇偶嵌入法的步長(zhǎng)確定第一步長(zhǎng); 個(gè)數(shù)計(jì)算單元,用于按下述計(jì)算公式得出所述第一個(gè)數(shù),w = 0, w e (0,600) u (1700,+oo) w = w—600, me [600,750) =g—w%g,we{w|w0/og>gx2/3,/w/g = w,m2600,w^l700}w = gx5/3—mo/o0,me{w|w%g>j2x2/3,m/0#w,m26OO,w^l7OO}w = w%jg, w eI w%0 >2/3, w/g = w 2 600, w《1700}w = gx2/3—w%g,me{w|w%0>gx2/3,w/0 = 2,w26OO,w^l7OO}其中第一個(gè)數(shù)=11+原黑點(diǎn)個(gè)數(shù),w為黑點(diǎn)個(gè)數(shù),"為需要增加的點(diǎn)個(gè)數(shù), 當(dāng)n大于0時(shí),增加黑點(diǎn)的個(gè)數(shù),將白色像素翻轉(zhuǎn)為黑色像素,當(dāng)n小于O時(shí), 減少黑點(diǎn)的個(gè)數(shù),將黑色像素翻轉(zhuǎn)為白色像素,w為待嵌入的水印信息位串,^為第一步長(zhǎng)。
16、 一種數(shù)字水印的提取裝置,其特征在于,包括 圖像分割處理模塊用于將文本文檔掃描后進(jìn)行處理得到單個(gè)字符圖像區(qū)域;字符黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)4莫塊與所述圖像分割處理模塊相連,用于搜索由字符 組成的封閉連通區(qū)域,獲取所述連通區(qū)域的輪廓碼鏈,統(tǒng)計(jì)所述連通區(qū)域內(nèi)的 黑點(diǎn)個(gè)數(shù);水印信息提取^f莫塊與所述字符黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì);漢塊相連,用于根據(jù)所述連 通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)以及第一步長(zhǎng)提取出所述水印信息位串。
17、 如權(quán)利要求16所述的裝置,其特征在于,所述字符黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)模 塊包括第二邊界點(diǎn)標(biāo)記單元,用于根據(jù)八鄰域內(nèi)顏色點(diǎn)的不同判斷字符的邊界點(diǎn) 并標(biāo)記;第二碼鏈遍歷單元,用于根據(jù)所述第二邊界點(diǎn)標(biāo)記單元標(biāo)記的邊界點(diǎn),按 第一順序?qū)ふ业谝粋€(gè)未被遍歷過(guò)的邊界點(diǎn)作為輪廓起始點(diǎn),并記錄進(jìn)入所述起 始點(diǎn)的方向以及碼鏈信息,根據(jù)所述進(jìn)入方向按第二順序?qū)ふ蚁乱粋€(gè)邊界點(diǎn)作 為輪廓點(diǎn),并記錄進(jìn)入所述輪廓點(diǎn)的方向以及碼鏈信息直至回到起始點(diǎn);第二碼鏈形成單元,用于根據(jù)所述碼鏈遍歷單元記錄的所有所述碼鏈信息 得到所述連通區(qū)域的輪廓碼鏈;黑點(diǎn)個(gè)數(shù)統(tǒng)計(jì)單元,用于統(tǒng)計(jì)所述連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)。
18、 如權(quán)利要求16所述的裝置,其特征在于,所述水印提^f莫塊按以下公式提取水印信息位串w=0,me{w|[w/g+0.5]% = 0,m2750,m^l700} >=l,we{w|[w/2+0.5]%2 = l,w2750,w^l700}其中,m為黑點(diǎn)個(gè)數(shù),w為水印信息位串,g為第一步長(zhǎng)。
19、 如權(quán)利要求16所述的裝置,其特征在于,進(jìn)一步包括解密模塊,與 水印提取模塊相連,用于對(duì)所述提取的水印信息位串進(jìn)行解密處理。
全文摘要
本發(fā)明涉及數(shù)字水印嵌入與提取的方法及裝置。解決現(xiàn)有技術(shù)中存在的在二值文本圖像中嵌入和提取數(shù)字水印方式不具備通用性的問(wèn)題。該數(shù)字水印的嵌入方法包括獲取待嵌入的水印信息位串;搜索由字符組成的封閉連通區(qū)域,獲取所述連通區(qū)域的輪廓碼鏈;根據(jù)所述連通區(qū)域內(nèi)的黑點(diǎn)個(gè)數(shù)、所述水印信息位串、以及第一步長(zhǎng)計(jì)算出需要翻轉(zhuǎn)的像素第一個(gè)數(shù);沿所述輪廓碼鏈按所述第一個(gè)數(shù)翻轉(zhuǎn)像素。本發(fā)明所述方法嵌入和提取過(guò)程更加簡(jiǎn)潔,不需要事先分塊和置亂處理,并且不依賴(lài)于文本文檔內(nèi)容的排版格式,不僅提高了運(yùn)算效率,而且可以有效地抵抗打印掃描過(guò)程的攻擊,從而可以方便地進(jìn)行信息跟蹤。
文檔編號(hào)G06T1/00GK101119429SQ20061008906
公開(kāi)日2008年2月6日 申請(qǐng)日期2006年8月1日 優(yōu)先權(quán)日2006年8月1日
發(fā)明者亓文法, 李曉龍, 斌 楊, 熊懷欣, 王立東 申請(qǐng)人:北京北大方正電子有限公司;北京大學(xué)