欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于字符結(jié)構(gòu)特征的文本水印嵌入和提取方法

文檔序號(hào):6384145閱讀:312來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):基于字符結(jié)構(gòu)特征的文本水印嵌入和提取方法
技術(shù)領(lǐng)域
本發(fā)明屬于文檔保護(hù)技術(shù)領(lǐng)域,涉及一種數(shù)字水印的嵌入與提取方法,具體涉及文本文件中基于字符結(jié)構(gòu)特征的數(shù)字水印嵌入和提取方法。
背景技術(shù)
文本作為信息的主要傳播方式,廣泛存在于電子及紙質(zhì)媒體中。紙質(zhì)文檔可以通過(guò)打印、掃描、復(fù)印的形式進(jìn)行傳播;電子文檔可以方便地被復(fù)制和拷貝。由于在文檔信息 傳播過(guò)程中,文檔內(nèi)容很容易被非法獲取和篡改,因此對(duì)重要文檔的保護(hù)顯得尤為重要。文本水印技術(shù)在基于文檔的信息安全方面發(fā)揮著積極作用。將某些具有標(biāo)識(shí)作用的信息諸如文檔生成時(shí)間、文檔的歸屬等隱藏在涉密的文檔數(shù)據(jù)中,這些隱秘信息在視覺(jué)上是不可見(jiàn)的。當(dāng)文檔被非法獲取或復(fù)制時(shí),通過(guò)特定的裝置提取的隱藏在文本中信息可以追蹤文本的源頭以達(dá)到版權(quán)保護(hù)及追溯源頭的作用。但是在現(xiàn)有的文本水印技術(shù)中,有的只能用在固定格式的文本中,例如通過(guò)改變字符間距或行間距嵌入水印信息;而基于文檔圖像的文本水印技術(shù),必須使用與原始文檔尺寸相同的二值圖像,通過(guò)某種方式翻轉(zhuǎn)二值圖像中特定區(qū)域的像素以達(dá)到嵌入水印的目的,還可以通過(guò)修改字體中筆畫(huà)寬度嵌入水印信息,但字體的筆畫(huà)較少時(shí)嵌入的水印信息很有限。而且當(dāng)文檔圖像不是二值圖像時(shí),上述方法不再適用;通過(guò)改變文檔圖像特定區(qū)域的亮度隱藏信息,檢測(cè)時(shí)可以利用掃描后生成灰度圖。但當(dāng)文檔圖像受到放縮攻擊時(shí),以上的技術(shù)均不再適用。為了提高嵌入載體中的水印信息的魯棒性能,出現(xiàn)了基于字庫(kù)修改的水印方法。專(zhuān)利申請(qǐng)?zhí)枮?00510065893. 9,專(zhuān)利名稱(chēng)為“基于字符拓?fù)浣Y(jié)構(gòu)的文本數(shù)字水印技術(shù)”(申請(qǐng)人劉東發(fā)明人劉東,
公開(kāi)日期2005. 10. 19)提出了基于字形的拓?fù)浣Y(jié)構(gòu)的文本水印算法,主要通過(guò)改變字形的連通區(qū)域或封閉區(qū)域的個(gè)數(shù),或改變字體拓?fù)浣Y(jié)構(gòu)后先將字體結(jié)構(gòu)映射為圖,然后利用圖論的相關(guān)原理達(dá)到嵌入和提取水印的目的,因此需要根據(jù)隱藏的信息對(duì)字體進(jìn)行修改,而修改缺乏一定的標(biāo)準(zhǔn),操作起來(lái)很不方便,修改后的字體視覺(jué)效果較差。另外由于文本被打印輸出和復(fù)印后,字符圖像的連通區(qū)域和封閉區(qū)域的個(gè)數(shù)極易發(fā)生變化。尤其對(duì)于拍照后的圖像,當(dāng)獲取的文本圖像較差時(shí),字體中極易出現(xiàn)筆畫(huà)間連斷關(guān)系的錯(cuò)誤,例如原本距離很近但不連接的筆畫(huà)發(fā)生了粘連,原本粘連的筆畫(huà)出現(xiàn)斷裂,一個(gè)原本完整的筆畫(huà)斷裂成若干部分,甚至整個(gè)筆畫(huà)出現(xiàn)丟失,這些現(xiàn)象都嚴(yán)重影響了識(shí)別的準(zhǔn)確程度。專(zhuān)利申請(qǐng)?zhí)枮?00410057153. 6,專(zhuān)利名稱(chēng)為“對(duì)電子公文或文檔進(jìn)行加密及鑒別真?zhèn)蔚姆椒ā?申請(qǐng)人北京大學(xué),發(fā)明人張力等,
公開(kāi)日期2005. 3. 2)提出了一種針對(duì)電子公文或文檔進(jìn)行加密及鑒別真?zhèn)蔚姆椒?。該發(fā)明通過(guò)專(zhuān)用字庫(kù),在公文交換或者打印過(guò)程中,自動(dòng)加密電子公文或文檔,使接收單位打印的每份電子公文或文檔彼此在部分字形上有細(xì)微差別,形成電子公文或文檔的特殊編碼。對(duì)于這種特殊編碼,可以通過(guò)手工或者OCR技術(shù)來(lái)識(shí)別,從而鑒別公文或者文檔的出處與真?zhèn)?。該方法主要存在以下?wèn)題
I)使用該方法可修改的字符數(shù)目比較少,因此可以嵌入的水印信息量相對(duì)較少;2)修改后的字符對(duì)應(yīng)新的編碼信息,這就需要用于自動(dòng)識(shí)別的OCR模塊是經(jīng)過(guò)特殊處理的才能識(shí)別修改后的字符,適用性相對(duì)較差;3)該水印算法只能處理通過(guò)掃描儀獲取的圖像,不支持?jǐn)?shù)碼相機(jī)拍照或者手機(jī)拍照?qǐng)D像。而隨著可拍照手機(jī)及數(shù)碼相機(jī)的出現(xiàn)及不斷普及,人們可以非常方便地獲取文檔的拍照?qǐng)D片數(shù)據(jù)。但文檔照片已經(jīng)不再是二值圖像,而且在對(duì)文檔進(jìn)行拍照的同時(shí)也對(duì)文檔中的字體進(jìn)行了放縮及偏轉(zhuǎn)處理。因此現(xiàn)有的文本水印技 術(shù)不能用于基于拍照的文本圖像中。而利用手機(jī)或數(shù)碼相機(jī)攝取的文本圖像,其中必然保存著文本中某些不變的特征信
肩、O

發(fā)明內(nèi)容
本發(fā)明提供一種基于字符結(jié)構(gòu)特征文本水印嵌入和提取方法,用以解決現(xiàn)有技術(shù)中的水印信息量小,水印提取識(shí)別精度較低和無(wú)法減少圖像獲取過(guò)程中發(fā)生的圖像縮放形變以及不等分辨率復(fù)制導(dǎo)致的誤差等缺點(diǎn),進(jìn)一步解決從數(shù)碼相機(jī)和手機(jī)等低分辨率圖像復(fù)制設(shè)備拍攝的圖片文件中正確提取水印信息的問(wèn)題。本發(fā)明即通過(guò)修改這些在拍照過(guò)程中不變的信息以達(dá)到嵌入水印的目的。在本發(fā)明中只修改字體中某一處的形態(tài)特征,當(dāng)字體中其余部分無(wú)論發(fā)生任何改變,只要所修改的位置形態(tài)特征不變,就不會(huì)影響識(shí)別結(jié)果,從而可以從拍照后的文本圖像中高精度地提取出事先嵌入的水印信息。本發(fā)明一種基于字符特征結(jié)構(gòu)的文本水印嵌入和提取方法,其步驟包括I)根據(jù)使用詞頻建立字符對(duì)象集合,修改所述字符對(duì)象的特征點(diǎn),得到一新字庫(kù)文件;2)在計(jì)算機(jī)終端安裝所述新字庫(kù)文件并進(jìn)行文本打印,在文本打印輸出時(shí),截獲文本內(nèi)容數(shù)據(jù)并解析出字符對(duì)象,再對(duì)屬于所述字符對(duì)象集合中的字符對(duì)象進(jìn)行字庫(kù)動(dòng)態(tài)替換嵌入水印信息;3)當(dāng)所述文本為電子文本時(shí),獲取特征點(diǎn)的字庫(kù)文件編碼,提取出水印信息;當(dāng)所述文本為打印文本時(shí),通過(guò)圖像復(fù)制設(shè)備獲取該打印文本中的數(shù)字圖像數(shù)據(jù),對(duì)所述數(shù)字圖像數(shù)據(jù)二值化處理后分割出每一個(gè)字符圖像區(qū)域,并對(duì)該圖像區(qū)域進(jìn)行細(xì)線(xiàn)化處理找出字符骨架曲線(xiàn),在包含特征點(diǎn)的字符對(duì)象區(qū)域提取出水印信息。所述的特征點(diǎn)是指在字庫(kù)設(shè)定的指定位置字符對(duì)象結(jié)構(gòu)內(nèi)一個(gè)筆畫(huà)與另一個(gè)筆畫(huà)在非端點(diǎn)處連接所形成的結(jié)構(gòu),所述兩個(gè)筆畫(huà)在組成字形時(shí)不連續(xù)。若從所述的特征點(diǎn)出發(fā),存在至少三個(gè)以上的連通分支,并且該每個(gè)連通分支長(zhǎng)度大于設(shè)定的閾值。修改所述字符對(duì)象的特征點(diǎn)包括去除特征點(diǎn)、增加特征點(diǎn)、修改特征點(diǎn)處連接的所有連通分支的數(shù)目以及判斷有無(wú)指定象限方向的連通分支。修改所述特征點(diǎn)處連接方向的所有連通分支的數(shù)目時(shí),增加或者減少特征點(diǎn)連接處的分支數(shù)目,修改后的連接點(diǎn)仍具有特征點(diǎn)屬性;判斷有無(wú)指定象限方向的連通分支時(shí)以特征點(diǎn)的位置點(diǎn)為坐標(biāo)原點(diǎn)建立坐標(biāo)系,判斷指定象限方向內(nèi)是否存在連通的分支;字符對(duì)象進(jìn)行字庫(kù)動(dòng)態(tài)替換嵌入水印信息的方法如下當(dāng)嵌入信息位串為O時(shí),使用原始字庫(kù),為I時(shí)使用修改后的字庫(kù),當(dāng)嵌入信息位串為I時(shí),使用原始字庫(kù),為O時(shí)使用修改后的字庫(kù),優(yōu)選地,所述字庫(kù)動(dòng)態(tài)替換的方法如下I)截獲Windows系統(tǒng)打印過(guò)程中的中間格式增強(qiáng)圖元文件EMF數(shù)據(jù);2 )通過(guò)對(duì)所述EMF文件數(shù)據(jù)解析分離出文字對(duì)象; 3)根據(jù)待嵌入的信息位串決定是否進(jìn)行字庫(kù)替換;最后將修改后的所述EMF文件發(fā)送至打印機(jī)進(jìn)行打印輸出。優(yōu)選地,所述的圖像復(fù)制設(shè)備包括掃描儀、數(shù)碼相機(jī)、手機(jī)和數(shù)碼攝像頭。優(yōu)選地,所述截獲文本內(nèi)容數(shù)據(jù)通過(guò)安裝虛擬打印機(jī)來(lái)實(shí)現(xiàn),其步驟為I)在客戶(hù)端上安裝虛擬打印機(jī),當(dāng)客戶(hù)端的用戶(hù)打開(kāi)應(yīng)用程序,選擇打印機(jī)進(jìn)行打印作業(yè)輸出時(shí),采用主動(dòng)或者強(qiáng)制方式讓?xiě)?yīng)用程序首先打印至指定的虛擬打印機(jī)上;2)根據(jù)HOOK處理方法從后臺(tái)將打印任務(wù)強(qiáng)制輸出到指定的虛擬打印機(jī)上;3)經(jīng)過(guò)虛擬打印處理后得到頁(yè)面描述語(yǔ)言文件矢量數(shù)據(jù)流,并解析該些矢量數(shù)據(jù)流分理出文字對(duì)象。優(yōu)選地,所述截獲文本內(nèi)容數(shù)據(jù)通過(guò)監(jiān)控Spooling假脫機(jī)子系統(tǒng)的方式來(lái)實(shí)現(xiàn),其步驟為I)客戶(hù)端的用戶(hù)打開(kāi)應(yīng)用程序,選擇打印機(jī)進(jìn)行打印作業(yè)輸出,2)通過(guò)消息處理機(jī)制由Spooling子系統(tǒng)分別進(jìn)行處理,同時(shí)啟動(dòng)過(guò)多線(xiàn)程對(duì)假脫機(jī)子系統(tǒng)進(jìn)行監(jiān)控,若發(fā)現(xiàn)有打印處理消息,則向假脫機(jī)子系統(tǒng)發(fā)送作業(yè)暫停J0B_PAUSE
信息;3)截獲系統(tǒng)打印過(guò)程中的中間格式增強(qiáng)圖元文件EMF數(shù)據(jù),獲屬于所述字符對(duì)象集合中的字符對(duì)象,進(jìn)行EMF文件修改;4)最后打印監(jiān)控服務(wù)程序向脫機(jī)子系統(tǒng)發(fā)送作業(yè)繼續(xù)J0B_RESTART信息,將修改后的EMF文件發(fā)送至打印機(jī)進(jìn)行輸出。本發(fā)明的有益效果如下一、通過(guò)修改字符結(jié)構(gòu)特征信息嵌入水印,而所述的特征信息在字庫(kù)中很常見(jiàn),因此可以修改的字符很多,所以可以嵌入水印的載體對(duì)象數(shù)量大,水印信息容量相對(duì)較大。二、通過(guò)在每個(gè)字符中最多修改一處結(jié)構(gòu)特征,當(dāng)字體中其余部分無(wú)論發(fā)生任何改變,只要所修改的位置形態(tài)特征不變,就不影響識(shí)別效果,水印信息提取精度較高。三,本發(fā)明中字符結(jié)構(gòu)特征信息的修改和分析原理簡(jiǎn)單明了,并做了歸一化處理,可以抵抗縮放和不等分辨率的攻擊,因此可以用于識(shí)別經(jīng)過(guò)數(shù)碼相機(jī)或手機(jī)等低精度圖像獲取設(shè)備的圖像中的水印信息識(shí)別,操作簡(jiǎn)單,魯棒性能較高。


圖I為實(shí)施例中所述的一種基于結(jié)構(gòu)特征的文本水印嵌入方法的實(shí)施流程示意圖;圖2為本發(fā)明一種基于結(jié)構(gòu)特征的文本水印嵌入和提取方法一實(shí)施例中對(duì)特征點(diǎn)選取示意圖;圖3 (a) 圖3 (b)、圖3 (C) 圖3 (d)是本發(fā)明一種基于結(jié)構(gòu)特征的文本水印嵌入和提取方法一實(shí)施例中針對(duì)刪除特征點(diǎn)修改示意圖;圖4 (a) 圖4 (b)是本發(fā)明一種基于結(jié)構(gòu)特征的文本水印嵌入和提取方法一實(shí)施例中針對(duì)增加特征點(diǎn)修改示意圖;圖5 (a) 圖5 (b)是本發(fā)明一種基于結(jié)構(gòu)特征的文本水印嵌入和提取方法一實(shí)施例中檢測(cè)特征點(diǎn)處連通分支方向的字體示意圖;
圖6 (a) 圖6 (b)是本發(fā)明一種基于結(jié)構(gòu)特征的文本水印嵌入和提取方法一實(shí)施例中修改特征點(diǎn)處連接的連通分支數(shù)目的字體示意圖;圖7是未嵌水印信息的文檔示意圖;圖8是本發(fā)明一種基于結(jié)構(gòu)特征的文本水印嵌入和提取方法一實(shí)施例中對(duì)圖7中文檔嵌入水印信息的文檔示意圖;圖9是本發(fā)明一種基于結(jié)構(gòu)特征的文本水印嵌入和提取方法一實(shí)施例中提取出的特征點(diǎn)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,可以理解的是,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明中一種基于字符結(jié)構(gòu)特征修改的文本水印嵌入和提取方法,技術(shù)方案中包括如下步驟步驟一,根據(jù)使用詞頻從大到小的排序,選取部分字符對(duì)象集合Ω,可以是一個(gè)完整的中文漢字,也可以是一個(gè)英文字符,通過(guò)修改字符指定位置處的特征點(diǎn)生成新的字庫(kù)文件,保存為truetype字庫(kù),標(biāo)準(zhǔn)字庫(kù)文體,指定位置的特征點(diǎn)個(gè)數(shù)為I個(gè),盡量避開(kāi)多個(gè)特征點(diǎn)聚集的地方。字庫(kù)一般由人手工設(shè)計(jì)完成,根據(jù)一定的規(guī)則構(gòu)造或者去除特征點(diǎn),需要斷開(kāi)字體筆畫(huà)時(shí),一般需要斷開(kāi)10個(gè)像素左右。步驟二,在安裝有修改后的字庫(kù)文件的計(jì)算機(jī)終端系統(tǒng)中打印輸出文檔時(shí),通過(guò)動(dòng)態(tài)替換字庫(kù)的方式在紙質(zhì)文檔中嵌入水印信息,上述的打印是指實(shí)體打印,在應(yīng)用程序中選擇打印功能,選擇實(shí)際目標(biāo)打印機(jī)進(jìn)行輸出;當(dāng)然本發(fā)明也不限于在紙質(zhì)文檔中,電腦中的文檔也可以。由于該方法是基于字庫(kù)替換的,存在很多矢量文件,比如Word文件,替換字庫(kù)后,如果該文件發(fā)送至沒(méi)有安裝該字庫(kù)的電腦上,嵌入的信息會(huì)丟失。嵌入字體信息的文件是可以的,比如PDF文件。嵌入水印信息是通過(guò)替換字庫(kù)來(lái)實(shí)現(xiàn)水印信息位串(O和I)的嵌入,比如使用原有字庫(kù)代表信息0,使用新字庫(kù)代表水印信息I.步驟三,通過(guò)圖像復(fù)制設(shè)備獲取紙質(zhì)文檔的數(shù)字圖像數(shù)據(jù);步驟四,分析文檔圖像中每個(gè)字符指定位置的特征點(diǎn)信息,從而提取出水印信息。一般來(lái)講,涉及到字庫(kù)的水印算法,一般是針對(duì)打印或者印刷后的文檔的保護(hù)而言,嵌入時(shí)常在打印的時(shí)候發(fā)生,當(dāng)然也可以專(zhuān)門(mén)制作好電子文檔,按正常的打印過(guò)程完成。本發(fā)明提供了一種在打印過(guò)程中自動(dòng)替換的過(guò)程。另外提取也有可能會(huì)有兩種方式。比如針對(duì)電子格式文檔,直接讀取其中的字庫(kù)編碼即可;對(duì)于打印后的紙質(zhì)文檔,必須通過(guò)外設(shè)獲取圖像數(shù)據(jù),才能分析提取。本發(fā)明的構(gòu)思在于,在常見(jiàn)的計(jì)算機(jī)字庫(kù)文件中,按照使用詞頻的排序從大到小選取一定數(shù)量的字符集合Ω ;針對(duì)字符集Ω中的每個(gè)字符,選取字體結(jié)構(gòu)中的特征點(diǎn),通過(guò)對(duì)該特征點(diǎn)的修改生成新的字庫(kù)文件,并記錄特征點(diǎn)的位置信息;將新設(shè)計(jì)的字庫(kù)文件安裝在計(jì)算機(jī)終端系統(tǒng)中,當(dāng)文檔被打印輸出時(shí),通過(guò)動(dòng)態(tài)替換文檔中的字體而嵌入水印信息;利用數(shù)碼相機(jī)或手機(jī)拍攝隱藏有水印信息的紙質(zhì)文檔獲得文檔數(shù)字圖像數(shù)據(jù);分析文檔圖像中每個(gè)字符指定位置的特征點(diǎn)信息,判斷每個(gè)字符是否包含在修改過(guò)的字體文件中,進(jìn)而提取出所代表的水印信息位串。從而得到了一種基于字符結(jié)構(gòu)特征修改的文本水印嵌入和提取的方法。下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施作出說(shuō)明。圖I為實(shí)施例中所述的一種基于結(jié)構(gòu)特征的文本水印嵌入方法的實(shí)施流程示意圖。 S101,根據(jù)使用詞頻排序,選取部分字符集合Ω。在本發(fā)明中,為了提高水印信息容量和魯棒性能,修改字符結(jié)構(gòu)中穩(wěn)定的不變特征信息而生成新的字庫(kù)文件,然后通過(guò)字庫(kù)替換的方式實(shí)現(xiàn)水印信息的嵌入和提取。支持常見(jiàn)的字庫(kù)文件,比如宋體、仿宋、黑體和楷體。由于每個(gè)字庫(kù)文件中的字符集數(shù)量眾多,相應(yīng)地字庫(kù)修改的工作量比較大。在本實(shí)施例中,我們根據(jù)詞語(yǔ)使用頻率的統(tǒng)計(jì)分析結(jié)果,按照從大到小進(jìn)行排序,選取前2000個(gè)常用字符構(gòu)成字符集合Ω,只修改Ω中的每個(gè)字符的結(jié)構(gòu)特征信息。S102,通過(guò)修改字符指定位置處的特征點(diǎn)生成新字庫(kù)文件。如圖2所示為本發(fā)明一種基于結(jié)構(gòu)特征的文本水印嵌入和提取方法一實(shí)施例中對(duì)特征點(diǎn)選取示意圖。特征點(diǎn),是指在字符結(jié)構(gòu)中,不連續(xù)的兩個(gè)筆畫(huà)在組成字形的過(guò)程中,其中一個(gè)筆畫(huà)與另一個(gè)筆畫(huà)在非端點(diǎn)處連接所形成的結(jié)構(gòu)。比如圖2中用白色標(biāo)出的點(diǎn)即為字體的特征點(diǎn),若從該點(diǎn)出發(fā),會(huì)存在三個(gè)或三個(gè)以上的連通分支,并且每個(gè)連通分支的長(zhǎng)度大于事先設(shè)定的閾值N。考慮到打印掃描過(guò)程中的誤差影響,這里N的取值一般為單個(gè)字體圖像高度的1/20左右。對(duì)特征點(diǎn)的修改方式包括去除特征點(diǎn)、增加特征點(diǎn)、修改特征點(diǎn)處連接的所有連通分支的數(shù)目和判斷有無(wú)指定象限方向的連通分支。如圖3 (a) 圖3 (b)、圖3 (C) 圖3 (d)所示是本發(fā)明一種基于結(jié)構(gòu)特征的文本水印嵌入和提取方法一實(shí)施例中針對(duì)刪除特征點(diǎn)修改示意圖。I)去除特征點(diǎn)。如圖3所示的仿宋字體“凸”,圖3a所示為未經(jīng)修改的原始字體,其左下角方框標(biāo)識(shí)部分即為一個(gè)相交特征點(diǎn),圖3b所示為修改后的字體。修改方式是將出頭部分適當(dāng)縮短,使原本存在的相交特征點(diǎn)變成一個(gè)拐點(diǎn),修改后的分支長(zhǎng)度小于閾值N。而修改前后這兩種字體都為漢字“凸”,因此這種微小的變化并不影響人們對(duì)這個(gè)字體的認(rèn)知,但字體本身的結(jié)構(gòu)已經(jīng)發(fā)生改變。在信息埋入時(shí),不同的字體結(jié)構(gòu)可以代表不同的隱藏信息,例如可以將圖3a所示未刪除特征點(diǎn)的字體表示信息“0”,圖3b所示刪除特征點(diǎn)后的字體表示信息“1”,反之亦然;而且在手機(jī)或數(shù)碼相機(jī)拍照后的圖片文件中,這些特征點(diǎn)信息可以被完整保留下來(lái)。在中文字體中,除了諸如“一”、“八”等特殊的字體外,絕大多數(shù)漢字都存在各種各樣的筆畫(huà)相交的情況。因此絕大多數(shù)字體均可做相似的處理。在這些可進(jìn)行修改的字體中,確保每個(gè)字只修改一處信息,從而增強(qiáng)打印掃描前后的特征點(diǎn)屬性信息的穩(wěn)定性。因?yàn)橐话闱闆r下,打印掃描前后字體結(jié)構(gòu)本身的連通區(qū)域和封閉區(qū)域的個(gè)數(shù)往往會(huì)發(fā)生變化。而指定區(qū)域外其他部分出現(xiàn)筆畫(huà)斷裂、筆畫(huà)粘連、字跡模糊甚至筆畫(huà)缺失等任何情況,均不影響本方法的識(shí)別結(jié)果。此時(shí),一個(gè)漢字可以表示Ibit信息。在修改時(shí),為了保證視覺(jué)效果,盡量避免將一個(gè)完整的筆畫(huà)斷為兩節(jié),這樣會(huì)嚴(yán)重影響字體的視覺(jué)效果。圖2中對(duì)“字”的修改亦是如此,圖3c表示正常的字體,圖3d表示去除特征點(diǎn)后的字體。如圖4 (a) 圖4 (b)所示是本發(fā)明一種基于結(jié)構(gòu)特征的文本水印嵌入和提取方法一實(shí)施例中針對(duì)增加特征點(diǎn)修改示意圖。2)增加特征點(diǎn)。
在原本不存在特征點(diǎn)的地方,通過(guò)修改筆畫(huà)走向、長(zhǎng)度等方式來(lái)構(gòu)造一個(gè)新的特征點(diǎn)。比如圖4a中方框所標(biāo)識(shí)的區(qū)域內(nèi)原先是不存在特征點(diǎn)的,通過(guò)將一個(gè)筆畫(huà)延長(zhǎng)使得與別的筆畫(huà)發(fā)生相交的情況,如圖4b所示,從而產(chǎn)生一個(gè)新的特征點(diǎn)。如圖6 (a) 圖6 (b)所示是本發(fā)明一種基于結(jié)構(gòu)特征的文本水印嵌入和提取方法一實(shí)施例中修改特征點(diǎn)處連接的連通分支數(shù)目的字體示意圖3)修改特征點(diǎn)處連接的所有連通分支的數(shù)目。原來(lái)的特征點(diǎn)可能是由多條連通分支交匯在一起組成,此時(shí)可以通過(guò)修改特征點(diǎn)處連接方向的所有連通分支的數(shù)目來(lái)構(gòu)造新的特征點(diǎn)。當(dāng)讓增加或者減少特征點(diǎn)連接處的分支數(shù)目時(shí)一個(gè)重要的前提,即修改后的連接點(diǎn)仍具有特征點(diǎn)屬性。比如圖6a所示區(qū)域中的特征點(diǎn)包含6條連通分支,修改后的圖6b所示區(qū)域中的特征點(diǎn)包含5條連通分支,所以仍然一個(gè)特征點(diǎn)。如圖5 (a) 圖5 (b)所不是本發(fā)明一種基于結(jié)構(gòu)特征的文本水印嵌入和提取方法一實(shí)施例中檢測(cè)特征點(diǎn)處連通分支方向的字體示意圖。4)判斷有無(wú)指定方向的連通分支。未經(jīng)修改時(shí)字體可能有多個(gè)特征點(diǎn)間距離很近的情況,如圖5所示針對(duì)字體“美”。由于橫與筆畫(huà)撇與豎均產(chǎn)生特征點(diǎn),且特征點(diǎn)間的距離較近。此時(shí)若以特征點(diǎn)的位置點(diǎn)為坐標(biāo)原點(diǎn)建立坐標(biāo)系,當(dāng)字體未被修改時(shí),存在以特征點(diǎn)為原點(diǎn)方向?yàn)樨Q直向下的連通分支,即存在位于縱軸負(fù)方向的連通分支,當(dāng)字體被修改后,此方向上的連通分支已經(jīng)不存在。通過(guò)建立坐標(biāo)系,可以將筆畫(huà)的走向分為四個(gè)象限及兩坐標(biāo)軸正負(fù)向共八個(gè)方向,由于字體本身的特點(diǎn)及拍照中可能存在的誤差,在判定時(shí),若連通分支與坐標(biāo)軸的夾角在20度左右的范圍內(nèi),可判定連通分支在坐標(biāo)軸上。通過(guò)判斷指定象限或坐標(biāo)軸方向上是否存在連通的分支即可確定字體被修改情況。S103,將新生成的字庫(kù)文件安裝在計(jì)算機(jī)終端系統(tǒng)中。將經(jīng)過(guò)修改特征點(diǎn)后生成的新字庫(kù)安裝在計(jì)算機(jī)終端系統(tǒng)中,但是相對(duì)于人眼的視覺(jué)效果而言,修改后的字體和原始字體基本是相同的,而字庫(kù)名稱(chēng)是不同的。因此為了安全性起見(jiàn),可以通過(guò)HOOK技術(shù),將新安裝的字庫(kù)文件隱蔽掉,這樣對(duì)于客戶(hù)端用戶(hù)而言是完全透明的,在任何應(yīng)用系統(tǒng)軟件中均看不到新安裝的字庫(kù)文件;在打印輸出時(shí),系統(tǒng)會(huì)在后臺(tái)自動(dòng)替換字庫(kù)來(lái)完成水印信息的嵌入。
S104,文檔打印輸出時(shí),截獲文檔內(nèi)容數(shù)據(jù),并解析出文字對(duì)象。一般可以通過(guò)以下兩種方法來(lái)截獲文檔內(nèi)容數(shù)據(jù)I)通過(guò)安裝虛擬打印機(jī)來(lái)實(shí)現(xiàn)。在客戶(hù)端上安裝虛擬打印機(jī),比如虛擬的H)F、PS或EMF打印機(jī)等。當(dāng)客戶(hù)端的用戶(hù)打開(kāi)應(yīng)用程序,選擇打印機(jī)進(jìn)行打印作業(yè)輸出時(shí),系統(tǒng)采用主動(dòng)或者強(qiáng)制方式讓?xiě)?yīng)用程序首先打印至指定的虛擬打印機(jī)上。這里主動(dòng)是指用戶(hù)主動(dòng)選擇虛擬打印機(jī);被動(dòng)方式是指對(duì)用戶(hù)而言是透明的,用戶(hù)按照原來(lái)的使用習(xí)慣選擇實(shí)際目標(biāo)打印機(jī)進(jìn)行打印輸出,此時(shí)通過(guò)HOOK技術(shù)從后臺(tái)將打印任務(wù)強(qiáng)制輸出到指定的虛擬打印機(jī)上。經(jīng)過(guò)虛擬打印處理后我們會(huì)得到矢量的頁(yè)面描述語(yǔ)言文件數(shù)據(jù)流,比如HF、PS或EMF文件,接著解析這些文 件數(shù)據(jù)從而分理出文字對(duì)象。2)通過(guò)開(kāi)發(fā)特定的多線(xiàn)程打印監(jiān)控服務(wù)程序監(jiān)控Spooling (假脫機(jī))子系統(tǒng)的方式來(lái)實(shí)現(xiàn)。當(dāng)客戶(hù)端的用戶(hù)打開(kāi)應(yīng)用程序,選擇打印機(jī)進(jìn)行打印作業(yè)輸出時(shí),打印監(jiān)控服務(wù)程序采用多線(xiàn)程的方法監(jiān)控打印機(jī)打印作業(yè)發(fā)生情況,然后通過(guò)消息處理機(jī)制分別進(jìn)行處理。Windows系統(tǒng)中打印作業(yè)主要是由Spooling子系統(tǒng)處理的,其中的本地打印提供者提供了復(fù)雜而詳細(xì)的作業(yè)調(diào)度和控制信息,而且這些信息是可以捕獲的。啟動(dòng)過(guò)多線(xiàn)程對(duì)假脫機(jī)子系統(tǒng)進(jìn)行監(jiān)控,如果發(fā)現(xiàn)有打印處理消息,向假脫機(jī)子系統(tǒng)發(fā)送作業(yè)暫停(J0B_PAUSE )信息。此時(shí)截獲Windows系統(tǒng)打印過(guò)程中的中間格式增強(qiáng)圖元文件(EnhancedMetafile,EMF)數(shù)據(jù);接著通過(guò)對(duì)EMF文件數(shù)據(jù)解析分離出文字對(duì)象;然后根據(jù)待嵌入的信息位串決定是否進(jìn)行字庫(kù)替換;最后打印監(jiān)控服務(wù)程序向脫機(jī)子系統(tǒng)發(fā)送作業(yè)繼續(xù)(J0B_RESTART)信息,將修改后的EMF文件發(fā)送至打印機(jī)進(jìn)行輸出。S105,通過(guò)動(dòng)態(tài)替換字庫(kù)的方式在紙質(zhì)文檔中嵌入水印信息。在文檔打印過(guò)程中動(dòng)態(tài)地替換字庫(kù)時(shí),根據(jù)待嵌入信息位串做出相應(yīng)的字庫(kù)文件選擇當(dāng)嵌入信息為O (或I)時(shí),使用原始字庫(kù),反之為I (或0)時(shí)使用修改后的字庫(kù)。另外在S104步驟分離出所有的文字對(duì)象后,要判斷每個(gè)字符是否屬于集合Ω,只有對(duì)于集合Ω內(nèi)的字符才進(jìn)行上述字體替換操作。如圖7所示是未嵌水印信息的文檔示意圖;如圖8所示是本發(fā)明一種基于結(jié)構(gòu)特征的文本水印嵌入和提取方法一實(shí)施例中對(duì)圖7中文檔嵌入水印信息的文檔示意圖。S106,通過(guò)圖像復(fù)制設(shè)備獲取紙質(zhì)文檔的數(shù)字圖像數(shù)據(jù)。所述的圖像復(fù)制設(shè)備包括掃描儀、數(shù)碼相機(jī)、手機(jī)和數(shù)碼攝像頭。因此本法同時(shí)支持掃描圖像和數(shù)碼相機(jī)/手機(jī)拍照?qǐng)D像中的水印信息提取檢測(cè),并且識(shí)別率較高,具有加強(qiáng)的魯棒性。S107,分析文檔圖像中每個(gè)字符指定位置的特征點(diǎn)信息,從而提取出水印信息。所述的分析文檔圖像中的特征點(diǎn)時(shí),首先將獲取的圖像進(jìn)行圖像二值化預(yù)處理;分割出每一個(gè)字符圖像區(qū)域,并進(jìn)行細(xì)線(xiàn)化處理,找出字符骨架曲線(xiàn);判斷該字符指定位置處的鄰域內(nèi)是否存在特征點(diǎn),從而判斷出水印信息位置。具體的水印信息提取過(guò)程如下描述首先對(duì)需檢測(cè)的文檔圖像進(jìn)行切分得到每個(gè)字符的小圖像,每個(gè)字符的編碼信息可利用OCR識(shí)別出來(lái)。
其次需要對(duì)切出的每個(gè)字符圖像分別進(jìn)行二值化處理,其閾值的選取需要根據(jù)照片的明暗程度、所檢測(cè)文檔的字體特征以及對(duì)字體修改的程度做相應(yīng)調(diào)整。例如,當(dāng)照片偏暗時(shí)設(shè)置的閾值應(yīng)相應(yīng)偏小,以防止處理后的圖像漆黑區(qū)域過(guò)大;針對(duì)宋體的文本圖像檢測(cè)時(shí)其閾值應(yīng)適當(dāng)大于針對(duì)其他字體的檢測(cè)以減少筆畫(huà)“橫”的丟失;當(dāng)對(duì)字體修改程度較輕時(shí),閾值應(yīng)適當(dāng)減小以防止處理后的圖像中原本不該粘連的筆畫(huà)出現(xiàn)粘連,從而導(dǎo)致圖像中產(chǎn)生了原本不應(yīng)該存在的特征點(diǎn)等。接著對(duì)每個(gè)處理后的字符圖像進(jìn)行歸一化處理,找出該字符待檢測(cè)的特征點(diǎn)區(qū)域位置。最后,為了消除字體在拍攝過(guò)程中可能出現(xiàn)的放縮,旋轉(zhuǎn)等誤差,需要在指定區(qū)域位置處的一定大小的鄰域內(nèi)搜索特征點(diǎn)。例如,當(dāng)每個(gè)字符圖像被歸一化為256*256像素 時(shí),可以在距離待檢測(cè)位置周?chē)?4-20像素范圍內(nèi)搜索特征點(diǎn),通過(guò)判斷是否存在特征點(diǎn)來(lái)提取文檔中隱藏的水印信息位串。特征點(diǎn)是否存在的判斷方式為首先對(duì)經(jīng)過(guò)二值化處理后的字體圖像進(jìn)行細(xì)化處理,可得到寬度為一個(gè)像素的字體骨架圖。若一個(gè)點(diǎn)是特征點(diǎn),其特征如圖9所示中心的一點(diǎn)為黑點(diǎn),以此黑點(diǎn)為中心的3*3鄰域中黑白像素變化3次或3次以上,即從此點(diǎn)出發(fā)有三個(gè)以上的分支結(jié)構(gòu)。為了避免細(xì)化誤差以及掃描、拍照等處理可能添加的噪聲干擾,在檢測(cè)時(shí)需要判斷分支長(zhǎng)度是否大于閾值N。當(dāng)從此點(diǎn)出發(fā)的三個(gè)分支的長(zhǎng)度均超過(guò)此閾值N時(shí),將此點(diǎn)作為特征點(diǎn)。另外,判斷出存在特征點(diǎn)后,還要附加判斷特征點(diǎn)的分支數(shù)目或者在指定象限防線(xiàn)內(nèi)是否存在連通分支來(lái)判斷是否修改過(guò)的特征點(diǎn)。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種基于字符特征結(jié)構(gòu)的文本水印嵌入和提取方法,其步驟包括 1)根據(jù)使用詞頻建立字符對(duì)象集合,修改所述字符對(duì)象的特征點(diǎn),得到一新字庫(kù)文件; 2)在計(jì)算機(jī)終端安裝所述新字庫(kù)文件并進(jìn)行文本打印,在文本打印輸出時(shí),截獲文本內(nèi)容數(shù)據(jù)并解析出字符對(duì)象,再對(duì)屬于所述字符對(duì)象集合中的字符對(duì)象進(jìn)行字庫(kù)動(dòng)態(tài)替換嵌入水印信息; 3)當(dāng)所述文本為電子文本時(shí),獲取特征點(diǎn)的字庫(kù)文件編碼,提取出水印信息; 當(dāng)所述文本為打印文本時(shí),通過(guò)圖像復(fù)制設(shè)備獲取該打印文本中的數(shù)字圖像數(shù)據(jù),對(duì)所述數(shù)字圖像數(shù)據(jù)二值化處理后分割出每一個(gè)字符圖像區(qū)域,并對(duì)該圖像區(qū)域進(jìn)行細(xì)線(xiàn)化處理找出字符骨架曲線(xiàn),在包含特征點(diǎn)的字符對(duì)象區(qū)域提取出水印信息。
2.如權(quán)利要求I所述的基于字符特征結(jié)構(gòu)的文本水印嵌入和提取方法,其特征在于,所述的特征點(diǎn)是指在字庫(kù)設(shè)定的指定位置字符對(duì)象結(jié)構(gòu)內(nèi)一個(gè)筆畫(huà)與另一個(gè)筆畫(huà)在非端點(diǎn)處連接所形成的結(jié)構(gòu),所述兩個(gè)筆畫(huà)在組成字形時(shí)不連續(xù)。
3.如權(quán)利要求I或2所述的基于字符特征結(jié)構(gòu)的文本水印嵌入和提取方法,其特征在于,若從所述的特征點(diǎn)出發(fā),存在至少三個(gè)以上的連通分支,并且該每個(gè)連通分支長(zhǎng)度大于設(shè)定的閾值。
4.如權(quán)利要求I所述的基于字符特征結(jié)構(gòu)的文本水印嵌入和提取方法,其特征在于,修改所述字符對(duì)象的特征點(diǎn)包括去除特征點(diǎn)、增加特征點(diǎn)、修改特征點(diǎn)處連接的所有連通分支的數(shù)目以及判斷有無(wú)指定象限方向的連通分支。
5.如權(quán)利要求4所述的基于字符特征結(jié)構(gòu)的文本水印嵌入和提取方法,其特征在于, 修改所述特征點(diǎn)處連接方向的所有連通分支的數(shù)目時(shí),增加或者減少特征點(diǎn)連接處的分支數(shù)目,修改后的連接點(diǎn)仍具有特征點(diǎn)屬性; 判斷有無(wú)指定象限方向的連通分支時(shí)以特征點(diǎn)的位置點(diǎn)為坐標(biāo)原點(diǎn)建立坐標(biāo)系,判斷指定象限方向內(nèi)是否存在連通的分支。
6.如權(quán)利要求I所述的基于字符特征結(jié)構(gòu)的文本水印嵌入和提取方法,其特征在于,其特征在于,字符對(duì)象進(jìn)行字庫(kù)動(dòng)態(tài)替換嵌入水印信息的方法如下 當(dāng)嵌入信息位串為O時(shí),使用原始字庫(kù),為I時(shí)使用修改后的字庫(kù), 當(dāng)嵌入信息位串為I時(shí),使用原始字庫(kù),為O時(shí)使用修改后的字庫(kù)。
7.如權(quán)利要求I所述的基于字符特征結(jié)構(gòu)的文本水印嵌入和提取方法,其特征在于,所述字庫(kù)動(dòng)態(tài)替換的方法如下 1)截獲Windows系統(tǒng)打印過(guò)程中的中間格式增強(qiáng)圖元文件EMF數(shù)據(jù); 2)通過(guò)對(duì)所述EMF文件數(shù)據(jù)解析分離出文字對(duì)象; 3)根據(jù)待嵌入的信息位串決定是否進(jìn)行字庫(kù)替換;最后將修改后的所述EMF文件發(fā)送至打印機(jī)進(jìn)行打印輸出。
8.如權(quán)利要求I所述的基于字符特征結(jié)構(gòu)的文本水印嵌入和提取方法,其特征在于,所述的圖像復(fù)制設(shè)備包括掃描儀、數(shù)碼相機(jī)、手機(jī)和數(shù)碼攝像頭。
9.如權(quán)利要求I所述的基于字符特征結(jié)構(gòu)的文本水印嵌入和提取方法,其特征在于,所述截獲文本內(nèi)容數(shù)據(jù)通過(guò)安裝虛擬打印機(jī)來(lái)實(shí)現(xiàn),其步驟為 O在客戶(hù)端上安裝虛擬打印機(jī),當(dāng)客戶(hù)端的用戶(hù)打開(kāi)應(yīng)用程序,選擇打印機(jī)進(jìn)行打印作業(yè)輸出時(shí),采用主動(dòng)或者強(qiáng)制方式讓?xiě)?yīng)用程序首先打印至指定的虛擬打印機(jī)上; 2)根據(jù)HOOK處理方法從后臺(tái)將打印任務(wù)強(qiáng)制輸出到指定的虛擬打印機(jī)上; 3)經(jīng)過(guò)虛擬打印 處理后得到頁(yè)面描述語(yǔ)言文件矢量數(shù)據(jù)流,并解析該些矢量數(shù)據(jù)流分理出文字對(duì)象。
10.如權(quán)利要求I所述的基于字符特征結(jié)構(gòu)的文本水印嵌入和提取方法,其特征在于,所述截獲文本內(nèi)容數(shù)據(jù)通過(guò)監(jiān)控Spooling假脫機(jī)子系統(tǒng)的方式來(lái)實(shí)現(xiàn),其步驟為 1)客戶(hù)端的用戶(hù)打開(kāi)應(yīng)用程序,選擇打印機(jī)進(jìn)行打印作業(yè)輸出, 2)通過(guò)消息處理機(jī)制由Spooling子系統(tǒng)分別進(jìn)行處理,同時(shí)啟動(dòng)過(guò)多線(xiàn)程對(duì)假脫機(jī)子系統(tǒng)進(jìn)行監(jiān)控,若發(fā)現(xiàn)有打印處理消息,則向假脫機(jī)子系統(tǒng)發(fā)送作業(yè)暫停J0B_PAUSE信息; 3)截獲系統(tǒng)打印過(guò)程中的中間格式增強(qiáng)圖元文件EMF數(shù)據(jù),獲屬于所述字符對(duì)象集合中的字符對(duì)象,進(jìn)行EMF文件修改; 4)最后打印監(jiān)控服務(wù)程序向脫機(jī)子系統(tǒng)發(fā)送作業(yè)繼續(xù)J0B_RESTART信息,將修改后的EMF文件發(fā)送至打印機(jī)進(jìn)行輸出。
全文摘要
本發(fā)明涉及一種基于字符特征結(jié)構(gòu)的文本水印嵌入和提取方法,其步驟包括1)根據(jù)使用詞頻建立字符對(duì)象集合,修改所述字符對(duì)象的特征點(diǎn),得到一新字庫(kù)文件;2)在計(jì)算機(jī)終端安裝新字庫(kù)文件并進(jìn)行文本打印,在文本打印輸出時(shí),截獲文本內(nèi)容數(shù)據(jù)并解析出字符對(duì)象,再對(duì)屬于所述字符對(duì)象集合中的字符對(duì)象進(jìn)行字庫(kù)動(dòng)態(tài)替換嵌入水印信息;3)通過(guò)圖像復(fù)制設(shè)備獲取打印文本中的數(shù)字圖像數(shù)據(jù),分析文檔圖像中每個(gè)字符指定位置的特征點(diǎn)信息,提取出水印信息。通過(guò)本發(fā)明可以嵌入水印的載體對(duì)象數(shù)量大,水印信息提取精度較高。同時(shí)字符結(jié)構(gòu)特征信息的修改和分析原理簡(jiǎn)單明了,并做了歸一化處理,可以抵抗縮放和不等分辨率的攻擊,魯棒性能較高。
文檔編號(hào)G06F21/16GK102968582SQ20121053947
公開(kāi)日2013年3月13日 申請(qǐng)日期2012年12月13日 優(yōu)先權(quán)日2012年12月13日
發(fā)明者亓文法, 劉宇鑫, 李曉龍, 楊斌 申請(qǐng)人:北京大學(xué)
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
怀仁县| 金乡县| 扎兰屯市| 濉溪县| 沙坪坝区| 高台县| 怀远县| 石家庄市| 长岭县| 凤翔县| 松阳县| 上林县| 视频| 清新县| 靖边县| 棋牌| 天气| 吉木乃县| 开原市| 响水县| 建昌县| 绥德县| 泊头市| 渭源县| 庆元县| 海口市| 民乐县| 浦江县| 延安市| 定远县| 托克逊县| 焦作市| 曲周县| 黑山县| 许昌市| 东山县| 且末县| 固原市| 井冈山市| 碌曲县| 沈阳市|