一種水印的嵌入和讀取方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種水印的嵌入方法,包括將原始字體庫中的每個字體修改任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫;設定水印包含的信息,將所述信息轉換為二進制序列;根據(jù)所述二進制序列,將所述特征字體庫中的字體替換需要嵌入水印的文本文檔中的對應字體,從而得到包含水印的文本文檔。相應的,本發(fā)明還提供一種水印的嵌入裝置、讀取方法、讀取裝置及處理系統(tǒng)。采用本發(fā)明實施例,能夠通過修改字體像素點的方式向文本文檔中嵌入水印,方式簡便,不影響用戶閱讀體驗,安全性高。
【專利說明】—種水印的嵌入和讀取方法、裝置及系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及信息安全領域,尤其涉及一種水印的嵌入和讀取方法、裝置及系統(tǒng)。
【背景技術】
[0002]數(shù)字水印,作為知識產(chǎn)權保護和信息安全維護的一種重要技術近幾年發(fā)展迅速。數(shù)字水印的基本原理是在多媒體數(shù)據(jù)(如圖像、文本、音頻和視頻等)載體中,嵌入具有一定意義的隱蔽的數(shù)字水印信息,嵌入的水印信息不對原始的多媒體載體數(shù)據(jù)的使用產(chǎn)生影響,并且水印信息隨著原始載體數(shù)據(jù)一起傳輸和使用。嵌入水印信息后,還可以使用特定的水印檢測裝置將嵌入的水印信息讀取出來,應用于版權保護、篡改定位、數(shù)據(jù)完整性檢測、廣播監(jiān)視、內(nèi)容認證、使用控制、隱蔽通信等。文本水印作為數(shù)字水印技術的一個方面,越來越受到人們的關注,并且成為水印技術的一個熱點。
[0003]對網(wǎng)頁中的文本嵌入水印,現(xiàn)有的技術方案主要有兩種。一種是先將文本轉換為圖片,然后在圖片上添加圖片水印,最終在網(wǎng)頁中顯示添加過水印的圖片。這種方案的缺點是由于在網(wǎng)頁中存在肉眼可識別的水印,影響用戶閱讀體驗,而且程序要專門針對水印進行處理,方法繁瑣。
[0004]另一種是在網(wǎng)頁源代碼中加入不可見的隨機字符,網(wǎng)頁上不會顯示出這些隨機字符,不會影響用戶閱讀體驗,當用戶復制網(wǎng)頁中的文本時,會連帶這些隨機字符一同復制。這種方案的缺點是由于網(wǎng)頁顯示正常,在對網(wǎng)頁進行截圖獲取文本信息時,截圖中不包含水印信息,無法獲取截圖的來源,安全性差。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是提出一種水印的嵌入和讀取方法、裝置及系統(tǒng),能夠在不影響用戶閱讀體驗的前提下,還可以獲取截圖文本文檔中的水印信息,從而獲取截圖的來源,安全性高。
[0006]本發(fā)明實施例提供一種水印的嵌入方法,包括:
[0007]將原始字體庫中的每個字體修改任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫;
[0008]設定水印包含的信息,將所述信息轉換為二進制序列;
[0009]根據(jù)所述二進制序列,將所述特征字體庫中的字體替換需要嵌入水印的文本文檔中的對應字體,從而得到包含水印的文本文檔。
[0010]在一個實施方式中,所述將原始字體庫中的每個字體修改任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫具體包括:將原始字體庫中的每個字體去除任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫。
[0011]在另一個實施方式中,所述將原始字體庫中的每個字體修改任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫具體包括:將原始字體庫中的每個字體增加任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫。
[0012]進一步的,所述設定水印包含的信息,將所述信息轉換為二進制序列之后還包括:對所述二進制序列進行加密;
[0013]所述根據(jù)所述二進制序列,將所述特征字體庫中的字體替換需要嵌入水印的文本文檔中的對應字體,從而得到包含水印的文本文檔具體包括:根據(jù)加密后的所述二進制序列,將所述特征字體庫中的字體替換需要嵌入水印的文本文檔中的對應字體,從而得到包含水印的文本文檔。
[0014]又進一步的,所述水印包含的信息為正在瀏覽文本文檔的用戶的用戶名。
[0015]相應地,本發(fā)明實施例還提供一種水印的讀取方法,包括:
[0016]掃描含有水印的文本文檔,所述文本文檔應用上述的水印的嵌入方法得到;
[0017]對比得出所述文本文檔中每個字體的字體類型,所述字體類型為原始字體或特征字體,其中,所述特征字體為將原始字體修改任意個像素點后得到的字體;
[0018]根據(jù)對比后的所述每個字體的字體類型得到所述文本文檔的二進制文本流;
[0019]解析所述二進制文本流,得出所述文本文檔中的水印信息。
[0020]在一個實施方式中,所述對比得出所述文本文檔中每個字體的字體類型,所述字體類型為原始字體或特征字體,其中,所述特征字體為將原始字體修改任意個像素點后得到的字體具體包括:
[0021]對比得出所述文本文檔中每個字體的字體類型,所述字體類型為原始字體或特征字體,其中,所述特征字體為將原始字體去除任意個像素點后得到的字體。
[0022]在另一個實施方式中,所述對比得出所述文本文檔中每個字體的字體類型,所述字體類型為原始字體或特征字體,其中,所述特征字體為將原始字體修改任意個像素點后得到的字體具體包括:
[0023]對比得出所述文本文檔中每個字體的字體類型,所述字體類型為原始字體或特征字體,其中,所述特征字體為將原始字體增加任意個像素點后得到的字體。
[0024]進一步的,所述解析所述二進制文本流之前還包括:對所述二進制文本流進行解密;
[0025]所述解析所述二進制文本流,得出所述文本文檔中的水印信息具體包括:解析解密后的所述二進制文本流,得出所述文本文檔中的水印信息。
[0026]本發(fā)明實施例還公開了一種水印的嵌入裝置,包括:
[0027]特征字體庫構建單元,用于將原始字體庫中的每個字體修改任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫;
[0028]水印生成及轉換單元,用于設定水印包含的信息,將所述信息轉換為二進制序列;
[0029]水印嵌入單元,用于根據(jù)所述二進制序列,將所述特征字體庫中的字體替換需要嵌入水印的文本文檔中的對應字體,從而得到包含水印的文本文檔。
[0030]進一步的,所述特征字體庫構建單元通過將原始字體庫中的每個字體去除/增加任意個像素點的方式來實現(xiàn)對原始字體庫中的每個字體修改任意個像素點。
[0031]在另一實施例中,所述水印的嵌入裝置還包括:
[0032]加密單元,用于對所述二進制序列進行加密;
[0033]所述水印嵌入單元根據(jù)加密后的所述二進制序列,將所述特征字體庫中的字體替換需要嵌入水印的文本文檔中的對應字體,從而得到包含水印的文本文檔。
[0034]本發(fā)明實施例還公開了一種水印的讀取裝置,其特征在于,包括:
[0035]掃描單元,用于掃描含有水印的文本文檔;
[0036]字體比對單元,用于對比得出所述文本文檔中每個字體的字體類型,所述字體類型為原始字體或特征字體,其中,所述特征字體為將原始字體修改任意個像素點后得到的字體;
[0037]二進制轉換單元,根據(jù)對比后的所述每個字體的字體類型得到所述文本文檔的二進制文本流;
[0038]解析單元,用于解析所述二進制文本流,得出所述文本文檔中的水印信息。
[0039]在另一個實施例中,所述水印的讀取裝置還包括:
[0040]解密單元,用于對所述二進制文本流進行解密;
[0041]所述解析單元解析解密后的所述二進制文本流,得出所述文本文檔中的水印信肩、O
[0042]本發(fā)明實施例還提供了一種水印的處理系統(tǒng),包括:水印的嵌入裝置和水印的讀取裝置。
[0043]本發(fā)明實施例提供的水印的嵌入和讀取方法、裝置及系統(tǒng),通過把需要嵌入水印的文本文檔中的字體根據(jù)水印信息替換為修改過像素點的字體,將水印信息嵌入到文本文檔中,克服了傳統(tǒng)方法要將文本轉換成圖片的問題,使用簡單方便;使用該方法在網(wǎng)頁的文本文檔中嵌入的水印肉眼不可識別,不影響用戶閱讀體驗,克服了閱讀體驗差的問題;通過水印的讀取方法能夠獲取文本文檔中的水印信息,所述文本文檔為應用上述水印嵌入方法已嵌入水印的文本文檔;所述水印的嵌入和讀取方法應用到網(wǎng)頁中的文本文檔時,所嵌入的水印信息可以為瀏覽文本文檔的用戶的用戶名,當該文本文檔被泄漏時,取得該文本文檔的截圖,通過讀取水印信息即可得知對應的泄露人員,克服了無法追溯泄露人員的問題,進而可以達到保護信息安全,防止信息泄露的效果。將水印信息嵌入到文本文檔的過程中,先將水印信息進行加密,再將加密后的水印信息嵌入到文本文檔中,在讀取水印時,如果沒有獲得解密算法,無法獲得水印信息的明文,提高了水印的保密性。
【專利附圖】
【附圖說明】
[0044]圖1是本發(fā)明提供的水印的嵌入方法的一個實施例的流程示意圖;
[0045]圖2是本發(fā)明提供的水印的嵌入方法的另一個實施例的流程示意圖;
[0046]圖3是本發(fā)明提供的水印的讀取方法的一個實施例的流程示意圖;
[0047]圖4是本發(fā)明提供的水印的讀取方法的另一個實施例的流程示意圖;
[0048]圖5是本發(fā)明提供的水印的嵌入方法中原始字體庫的實施例的示意圖;
[0049]圖6是本發(fā)明提供的水印的嵌入方法中去除像素點的特征字體庫的實施例的示意圖;
[0050]圖7是本發(fā)明提供的水印的嵌入方法中增加像素點的特征字體庫的實施例的示意圖;
[0051]圖8是本發(fā)明提供的水印的嵌入方法中需要嵌入水印的文本文檔的實施例的示意圖;
[0052]圖9是本發(fā)明提供的水印的嵌入方法中已嵌入水印的文本文檔的一個實施例的示意圖;
[0053]圖10是本發(fā)明提供的水印的嵌入方法中已嵌入水印的文本文檔的另一個實施例的不意圖;
[0054]圖11是本發(fā)明提供的水印的嵌入裝置的一個實施例的結構框圖;
[0055]圖12是本發(fā)明提供的水印的嵌入裝置的另一個實施例的結構框圖;
[0056]圖13是本發(fā)明提供的水印的讀取裝置的一個實施例的結構框圖;
[0057]圖14是本發(fā)明提供的水印的讀取裝置的另一個實施例的結構框圖。
[0058]圖15是本發(fā)明提供的水印的處理系統(tǒng)的一個實施例的結構框圖。
【具體實施方式】
[0059]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0060]參見圖1,是本發(fā)明提供的水印的嵌入方法的一個實施例的流程示意圖。
[0061]本發(fā)明實施例提供一種水印的嵌入方法,包括步驟SlOl至S103,具體如下:
[0062]S101、將原始字體庫中的每個字體修改任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫;
[0063]在步驟SlOl中,修改任意個像素點的方法包括至少兩個實施例。在一個實施例中,上述步驟SlOl具體包括:將原始字體庫中的每個字體去除任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫。
[0064]在另一個實施例中,上述步驟SlOl具體包括:將原始字體庫中的每個字體增加任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫。
[0065]S102、設定水印包含的信息,將所述信息轉換為二進制序列;
[0066]可選的,所述水印包含的信息為正在瀏覽文本文檔的用戶的用戶名。
[0067]應當指出,對于本【技術領域】的普通技術人員來說,在不脫離本發(fā)明原理的前提下,可將水印包含的信息設定為計算機的物理地址、公司名稱或者其他信息,這些改進也視為本發(fā)明的保護范圍。
[0068]S103、根據(jù)所述二進制序列,將所述特征字體庫中的字體替換需要嵌入水印的文本文檔中的對應字體,從而得到包含水印的文本文檔。
[0069]本發(fā)明實施例提供的水印的嵌入方法,通過把需要嵌入水印的文本文檔中的字體根據(jù)水印信息替換為修改過像素點的字體,將水印信息嵌入到文本文檔中,克服了傳統(tǒng)方法要將文本轉換成圖片的問題,使用簡單方便;使用該方法在網(wǎng)頁的文本文檔中嵌入的水印肉眼不可識別,不影響用戶閱讀體驗,且安全性高。
[0070]參見圖2,是本發(fā)明提供的水印的嵌入方法的另一個實施例的流程示意圖。
[0071]本發(fā)明實施例提供一種水印的嵌入方法,包括步驟S201至S204,具體如下:
[0072]S201、將原始字體庫中的每個字體修改任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫;
[0073]在步驟S201中,修改任意個像素點的方法包括至少兩個實施例。在一個實施例中,上述步驟S201具體包括:將原始字體庫中的每個字體去除任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫。
[0074]在另一個實施例中,上述步驟S201具體包括:將原始字體庫中的每個字體增加任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫。
[0075]S202、設定水印包含的信息,將所述信息轉換為二進制序列;
[0076]可選的,所述水印包含的信息為正在瀏覽文本文檔的用戶的用戶名。
[0077]應當指出,對于本【技術領域】的普通技術人員來說,在不脫離本發(fā)明原理的前提下,可將水印包含的信息設定為計算機的物理地址、公司名稱或者其他信息,這些改進也視為本發(fā)明的保護范圍。
[0078]S203、對所述二進制序列進行加密;
[0079]S204、根據(jù)加密后的所述二進制序列,將所述特征字體庫中的字體替換需要嵌入水印的文本文檔中的對應字體,從而得到包含水印的文本文檔。
[0080]本發(fā)明實施例提供的水印的嵌入方法,能達到水印的嵌入方法的第一實施例達到的有益效果,而且還能在水印信息嵌入到文本文檔的過程中,先將水印信息進行加密,再將加密后的水印信息嵌入到文本文檔中,在讀取水印時,如果沒有獲得解密算法,無法獲得水印信息的明文,提高了水印的保密性。
[0081]參見圖3,是本發(fā)明提供的水印的讀取方法的一個實施例的流程示意圖。
[0082]相應地,本發(fā)明實施例還提供一種水印的讀取方法,包括步驟S301至步驟S304,具體如下:
[0083]S301、掃描含有水印的文本文檔,所述文本文檔應用上述的水印的嵌入方法得到;
[0084]S302、對比得出所述文本文檔中每個字體的字體類型,所述字體類型為原始字體或特征字體,其中,所述特征字體為將原始字體修改任意個像素點后得到的字體;
[0085]在步驟S302中,修改任意個像素點的方法包括至少兩個實施例。在一個實施例中,上述步驟S302具體包括:對比得出所述文本文檔中每個字體的字體類型,所述字體類型為原始字體或特征字體,其中,所述特征字體為將原始字體去除任意個像素點后得到的字體。
[0086]在另一個實施例中,上述步驟S302具體包括:對比得出所述文本文檔中每個字體的字體類型,所述字體類型為原始字體或特征字體,其中,所述特征字體為將原始字體增加任意個像素點后得到的字體。
[0087]S303、根據(jù)對比后的所述每個字體的字體類型得到所述文本文檔的二進制文本流;
[0088]S304、解析所述二進制文本流,得出所述文本文檔中的水印信息。
[0089]本發(fā)明實施例提供的水印的讀取方法,通過對比文本文檔中每個字體的字體類型,從而可以快速的讀取出所述文本文檔中的水印信息。
[0090]參見圖4,是本發(fā)明提供的水印的讀取方法的另一個實施例的流程示意圖。
[0091]相應地,本發(fā)明實施例還提供一種水印的讀取方法,包括步驟S401至步驟S405,具體如下:
[0092]S401、掃描含有水印的文本文檔,所述文本文檔應用上述的水印的嵌入方法得到;
[0093]S402、對比得出所述文本文檔中每個字體的字體類型,所述字體類型為原始字體或特征字體,其中,所述特征字體為將原始字體修改任意個像素點后得到的字體;
[0094]在步驟S402中,修改任意個像素點的方法包括至少兩個實施例。在一個實施例中,上述步驟S402具體包括:對比得出所述文本文檔中每個字體的字體類型,所述字體類型為原始字體或特征字體,其中,所述特征字體為將原始字體去除任意個像素點后得到的字體。
[0095]在另一個實施例中,上述步驟S402具體包括:對比得出所述文本文檔中每個字體的字體類型,所述字體類型為原始字體或特征字體,其中,所述特征字體為將原始字體增加任意個像素點后得到的字體。
[0096]S403、根據(jù)對比后的所述每個字體的字體類型得到所述文本文檔的二進制文本流;
[0097]S404、對所述二進制文本流進行解密;
[0098]S405、解析解密后的所述二進制文本流,得出所述文本文檔中的水印信息。
[0099]需要說明的是,本實施例為存在解密步驟的水印讀取方法的實施例,與存在加密步驟的水印嵌入方法的實施例相對應,且本實施例中的解密算法與所述水印嵌入方法的實施例中的加密算法相對應。
[0100]本發(fā)明實施例提供的水印的讀取方法,能達到水印的讀取方法的第一實施例達到的有益效果,而且還能在文本文檔中嵌入的是加密的水印信息時,也能快速的讀取出所述文本文檔中的水印信息。
[0101]下面結合圖5?圖10,對本發(fā)明實施例提供的水印的嵌入和讀取方法進行詳細說明。
[0102]參見圖5,是本發(fā)明提供的水印的嵌入方法中原始字體庫的實施例的示意圖。
[0103]本發(fā)明實施例提供一種水印的嵌入方法的原始字體庫,包括兩個字“水”和“印”;
[0104]所述原始字體庫中的字體可以為楷體、宋體、黑體,也可以為其他的字體,所述原始字體庫中的字可以為任何中文、英文、阿拉伯數(shù)字、標點符號等。
[0105]需要說明的是,本實施例僅以原始字體庫包括“水”和“印”為例進行說明,所述原始字體庫還包括其他所有文字、數(shù)字和符號等。
[0106]參見圖6,是本發(fā)明提供的水印的嵌入方法中去除像素點的特征字體庫的實施例的示意圖。
[0107]本發(fā)明實施例提供一種水印的嵌入方法的去除像素點的特征字體庫,包括兩個字“7JC”和“印”;將上述兩個字的原始字體分別去除任意個像素點,形成“水”和“印”的去除像素點的特征字體,由“水”和“印”的去除像素點的特征字體組成去除像素點的特征字體庫。
[0108]需要說明的是,本實施例僅以特征字體庫包括“水”和“印”為例進行說明,所述特征字體庫還包括其他所有文字、數(shù)字和符號等。
[0109]參見圖7,是本發(fā)明提供的水印的嵌入方法中增加像素點的特征字體庫的實施例的示意圖。
[0110]本發(fā)明實施例提供一種水印的嵌入方法的增加像素點的特征字體庫,包括兩個字“水”和“印”;將上述兩個字的原始字體分別增加任意個像素點,形成“水”和“印”的增加像素點的特征字體,由“水”和“印”的增加像素點的特征字體組成增加像素點的特征字體庫。
[0111]需要說明的是,本實施例僅以特征字體庫包括“水”和“印”為例進行說明,所述特征字體庫還包括其他所有文字、數(shù)字和符號等。
[0112]參見圖8,是本發(fā)明提供的水印的嵌入方法中需要嵌入水印的文本文檔的實施例的示意圖。
[0113]本發(fā)明實施例提供一種需要嵌入水印信息的文本文檔,該文本文檔中包括四個字,為“水印水印”,其中,該文本文檔中的字體為原始字體庫中的字體。
[0114]需要說明的是,本實施例僅以文本文檔為“水印水印”為例進行說明,所述文本文檔還可以包含其他任何文字、數(shù)字或符號。
[0115]參見圖9,是本發(fā)明提供的水印的嵌入方法中已嵌入水印的文本文檔的一個實施例的示意圖。
[0116]為了得到圖9所示的已嵌入水印的文本文檔,對本發(fā)明實施例提供的水印的嵌入方法的具體流程如下:
[0117]S501,原始字體庫包括兩個字“水”和“印”(參見圖5),將上述兩個字的原始字體分別去除任意個像素點,形成“水”和“印”的去除像素點的特征字體,由“水”和“印”的去除像素點的特征字體組成去除像素點的特征字體庫(參見圖6);
[0118]S502,設定水印包含的信息為正在瀏覽需要嵌入水印的文本文檔的用戶的用戶名“張三”,將用戶名“張三”按照一定規(guī)則轉換為二進制序列“0110” ;
[0119]需要說明的是,需要嵌入水印的文本文檔的字數(shù)應不少于需嵌入該文本文檔的水印轉換成二進制序列的數(shù)字個數(shù)。
[0120]需要說明的是,當需要對水印信息進行加密時,步驟S502之后還包括:對所述二進制序列“0110”進行加密;
[0121]S503,需要嵌入水印的文本文檔包括四個字,為“水印水印”(參見圖8),將該文本文檔中的每個字與二進制序列“0110” —對應,文本文檔“水印水印”中與二進制序列中的兩個數(shù)字I對應的字分別為第一個“印”字和第二個“水”字,文本文檔中與二進制序列中的兩個數(shù)字O對應的字分別為第一個“水”字和第二個“印”字,將與二進制序列中數(shù)字I對應的字替換為去除像素點的特征字體庫中的字體,與二進制序列中數(shù)字O對應的字不進行替換,即將文本文檔中第一個“印”字和第二個“水”字替換為去除像素點的特征字體庫中的字體,得到已嵌入水印的文本文檔“水印水印”(參見圖9)。
[0122]需要說明的是,當需要對水印信息進行加密時,所述將該文本文檔中的每個字與二進制序列“0110”—對應具體包括:將該文本文檔中的每個字與加密后的所述二進制序列一一對應。
[0123]需要說明的是,本實施例中替換字體的方式僅以“與二進制序列中數(shù)字I對應的字替換為特征字體庫中的字體,與二進制序列中數(shù)字O對應的字不進行替換”為例進行說明,也可以采用以下替換字體的方式:“與二進制序列中數(shù)字O對應的字替換為特征字體庫中的字體,與二進制序列中數(shù)字I對應的字不進行替換”,或者采用其他替換字體的方式。
[0124]為了讀取圖9所示的已嵌入水印的文本文檔中的水印信息,對本發(fā)明實施例提供的水印的嵌入方法的具體流程如下:
[0125]S601,掃描采用去除字體像素點的方式嵌入水印的文本文檔“水印水印”(參見圖
9);
[0126]S602,對比得出所述文本文檔中每個字體的字體類型,第一個“水”字和第二個“印”字為原始字體,第二個“水”字和第一個“印”字為去除像素點的特征字體。
[0127]S603,將該文本文檔中的每個字分別與二進制數(shù)字“O”或“I” 一一對應,該文本文檔中為原始字體的字對應數(shù)字“0”,該文本文檔中為去除像素點的特征字體的字對應數(shù)字“1”,故該文本文檔中第一個“水”字和第二個“印”字對應數(shù)字“0”,該文本文檔中第二個“水”字和第一個“印”字對應數(shù)字“ I ”,得到該文本文檔的二進制文本流“0110”。
[0128]需要說明的是,當需要對水印信息進行解密時,步驟S603之后還包括:對所述二進制文本流“0110”進行解密;
[0129]需要說明的是,本實施例中根據(jù)字體類型得到二進制文本流的方式僅以“該文本文檔中為原始字體的字對應數(shù)字0,該文本文檔中為去除像素點的特征字體的字對應數(shù)字I”為例進行說明。根據(jù)水印嵌入方法中字體替換方式的不同,還可以將字體類型得到二進制文本流的方式設置為“該文本文檔中為原始字體的字對應數(shù)字1,該文本文檔中為去除像素點的特征字體的字對應數(shù)字0”,或采用其他得到二進制文本流的方式。
[0130]S604,解析所述二進制文本流“0110”,得出該文本文檔中的水印信息“張三”。
[0131]需要說明的是,當需要對水印信息進行解密時,所述解析所述二進制文本流“0110”,得出該文本文檔中的水印信息“張三”具體包括:解析解密后的所述二進制文本流,得出該文本文檔中的水印信息“張三”。
[0132]參見圖10,是本發(fā)明提供的水印的嵌入方法中已嵌入水印的文本文檔的另一個實施例的示意圖。
[0133]為了得到圖10所示的已嵌入水印的文本文檔,對本發(fā)明實施例提供的水印的嵌入方法的具體流程如下:
[0134]S701,原始字體庫包括兩個字“水”和“印”(參見圖5),將上述兩個字的原始字體分別增加任意個像素點,形成“水”和“印”的增加像素點的特征字體,由“水”和“印”的增加像素點的特征字體組成增加像素點的特征字體庫(參見圖7);
[0135]S702,設定水印包含的信息為正在瀏覽需要嵌入水印的文本文檔的用戶的用戶名“張三”,將用戶名“張三”按照一定規(guī)則轉換為二進制序列“0110” ;
[0136]需要說明的是,需要嵌入水印的文本文檔的字數(shù)應不少于需嵌入該文本文檔的水印轉換成二進制序列的數(shù)字個數(shù)。
[0137]需要說明的是,當需要對水印信息進行加密時,步驟S702之后還包括:對所述二進制序列“0110”進行加密;
[0138]S703,需要嵌入水印的文本文檔包括四個字,為“水印水印”(參見圖8),將該文本文檔中的每個字與二進制序列“0110” —對應,文本文檔“水印水印”中與二進制序列中的兩個數(shù)字I對應的字分別為第一個“印”字和第二個“水”字,文本文檔中與二進制序列中的兩個數(shù)字O對應的字分別為第一個“水”字和第二個“印”字,將與二進制序列中數(shù)字I對應的字替換為增加像素點的特征字體庫中的字體,與二進制序列中數(shù)字O對應的字不進行替換,即將文本文檔中第一個“印”字和第二個“水”字替換為增加像素點的特征字體庫中的字體,得到已嵌入水印的文本文檔“水印水印”(參見圖10)。
[0139]需要說明的是,當需要對水印信息進行加密時,所述將該文本文檔中的每個字與二進制序列“0110”—對應具體包括:將該文本文檔中的每個字與加密后的所述二進制序列一一對應。
[0140]需要說明的是,本實施例中替換字體的方式僅以“與二進制序列中數(shù)字I對應的字替換為特征字體庫中的字體,與二進制序列中數(shù)字O對應的字不進行替換”為例進行說明,也可以采用以下替換字體的方式:“與二進制序列中數(shù)字O對應的字替換為特征字體庫中的字體,與二進制序列中數(shù)字I對應的字不進行替換”,或者采用其他替換字體的方式。
[0141]為了讀取圖10所示的已嵌入水印的文本文檔中的水印信息,對本發(fā)明實施例提供的水印的嵌入方法的具體流程如下:
[0142]S801,掃描采用增加字體像素點的方式嵌入水印的文本文檔“水印水印”(參見圖
10);
[0143]S802,對比得出所述文本文檔中每個字體的字體類型,第一個“水”字和第二個“印”字為原始字體,第二個“水”字和第一個“印”字為增加像素點的特征字體。
[0144]S803,將該文本文檔中的每個字分別與二進制數(shù)字“O”或“ I” 一一對應,該文本文檔中為原始字體的字對應數(shù)字“0”,該文本文檔中為增加像素點的特征字體的字對應數(shù)字“1”,故該文本文檔中第一個“水”字和第二個“印”字對應數(shù)字“0”,該文本文檔中第二個“水”字和第一個“印”字對應數(shù)字“ I ”,得到該文本文檔的二進制文本流“0110”。
[0145]需要說明的是,當需要對水印信息進行解密時,步驟S803之后還包括:對所述二進制文本流“0110”進行解密;
[0146]需要說明的是,本實施例中根據(jù)字體類型得到二進制文本流的方式僅以“該文本文檔中為原始字體的字對應數(shù)字0,該文本文檔中為去除像素點的特征字體的字對應數(shù)字I”為例進行說明。根據(jù)水印嵌入方法中字體替換方式的不同,還可以將字體類型得到二進制文本流的方式設置為“該文本文檔中為原始字體的字對應數(shù)字1,該文本文檔中為去除像素點的特征字體的字對應數(shù)字0”,或采用其他得到二進制文本流的方式。
[0147]S804,解析所述二進制文本流“0110”,得出該文本文檔中的水印信息“張三”。
[0148]需要說明的是,當需要對水印信息進行解密時,所述解析所述二進制文本流“0110”,得出該文本文檔中的水印信息“張三”具體包括:解析解密后的所述二進制文本流,得出該文本文檔中的水印信息“張三”。
[0149]參見圖11,是本發(fā)明提供的水印的嵌入裝置的一個實施例的結構框圖。所述該水印的嵌入裝置包括:
[0150]特征字體庫構建單元101,用于將原始字體庫中的每個字體修改任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫;
[0151]其中,所述特征字體庫構建單元通過將原始字體庫中的每個字體去除/增加任意個像素點的方式來實現(xiàn)對原始字體庫中的每個字體修改任意個像素點。
[0152]水印生成及轉換單元102,用于設定水印包含的信息,將所述信息轉換為二進制序列;
[0153]優(yōu)選的,所述水印包含的信息為正在瀏覽文本文檔的用戶的用戶名。
[0154]水印嵌入單元103,用于根據(jù)所述二進制序列,將所述特征字體庫中的字體替換需要嵌入水印的文本文檔中的對應字體,從而得到包含水印的文本文檔。
[0155]參見如圖12,是本發(fā)明提供的水印的嵌入裝置的另一個實施例的結構框圖。所述該水印的嵌入裝置包括:
[0156]特征字體庫構建單元201,用于將原始字體庫中的每個字體修改任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫;
[0157]其中,所述特征字體庫構建單元通過將原始字體庫中的每個字體去除/增加任意個像素點的方式來實現(xiàn)對原始字體庫中的每個字體修改任意個像素點。
[0158]水印生成及轉換單元202,用于設定水印包含的信息,將所述信息轉換為二進制序列;
[0159]優(yōu)選的,所述水印包含的信息為正在瀏覽文本文檔的用戶的用戶名。
[0160]所述加密單元203,用于對所述二進制序列進行加密;以及
[0161]水印嵌入單元204,用于根據(jù)加密后的所述二進制序列,將所述特征字體庫中的字體替換需要嵌入水印的文本文檔中的對應字體,從而得到包含水印的文本文檔
[0162]參見圖13,是本發(fā)明提供的水印的讀取裝置的一個實施例的結構框圖。所述水印的讀取裝置包括:
[0163]掃描單元301,用于掃描含有水印的文本文檔;
[0164]字體比對單元302,用于對比得出所述文本文檔中每個字體的字體類型,所述字體類型為原始字體或特征字體,其中,所述特征字體為將原始字體修改任意個像素點后得到的字體;
[0165]優(yōu)選的,所述特征字體庫構建單元通過將原始字體庫中的每個字體去除/增加任意個像素點的方式來實現(xiàn)對原始字體庫中的每個字體修改任意個像素點。
[0166]二進制轉換單元303,用于根據(jù)對比后的所述每個字體的字體類型得到所述文本文檔的二進制文本流;
[0167]解析單元304,用于解析所述二進制文本流,得出所述文本文檔中的水印信息。優(yōu)選的,得出的水印信息為用戶名。
[0168]參見圖14,是本發(fā)明提供的水印的讀取裝置的另一個實施例的結構框圖。所述水印的讀取裝置包括:
[0169]掃描單元401,用于掃描含有水印的文本文檔;
[0170]字體比對單元402,用于對比得出所述文本文檔中每個字體的字體類型,所述字體類型為原始字體或特征字體,其中,所述特征字體為將原始字體修改任意個像素點后得到的字體;
[0171]優(yōu)選的,所述特征字體庫構建單元通過將原始字體庫中的每個字體去除/增加任意個像素點的方式來實現(xiàn)對原始字體庫中的每個字體修改任意個像素點。
[0172]二進制轉換單元403,用于根據(jù)對比后的所述每個字體的字體類型得到所述文本文檔的二進制文本流;
[0173]解密單元404,用于對所述二進制文本流進行解密;
[0174]解析單元405,用于解析解密后的所述二進制文本流,得出所述文本文檔中的水印信息。優(yōu)選的,得出的水印信息為用戶名。
[0175]參見圖15,是本發(fā)明提供的水印的處理系統(tǒng)的一個實施例的結構框圖。水印的處理系統(tǒng)包括水印的嵌入裝置151和水印的讀取裝置152。其中,水印的嵌入裝置151為上述圖11或圖12實施例中的水印的嵌入裝置,所述水印的讀取裝置152為上述圖13或圖14實施例中的水印的讀取裝置。
[0176]本發(fā)明實施例提供的水印的嵌入和讀取方法、裝置及系統(tǒng),通過把需要嵌入水印的文本文檔中的字體根據(jù)水印信息替換為修改過像素點的字體,將水印信息嵌入到文本文檔中,克服了傳統(tǒng)方法要將文本轉換成圖片的問題,使用簡單方便;使用該方法在網(wǎng)頁的文本文檔中嵌入的水印肉眼不可識別,不影響用戶閱讀體驗,克服了閱讀體驗差的問題;通過水印的讀取方法能夠獲取文本文檔中的水印信息,所述文本文檔為應用上述水印嵌入方法已嵌入水印的文本文檔;所述水印的嵌入和讀取方法應用到網(wǎng)頁中的文本文檔時,所嵌入的水印信息可以為瀏覽文本文檔的用戶的用戶名,當該文本文檔被泄漏時,取得該文本文檔的截圖,通過讀取水印信息即可得知對應的泄露人員,克服了無法追溯泄露人員的問題,進而可以達到保護信息安全,防止信息泄露的效果。將水印信息嵌入到文本文檔的過程中,先將水印信息進行加密,再將加密后的水印信息嵌入到文本文檔中,在讀取水印時,如果沒有獲得解密算法,無法獲得水印信息的明文,提高了水印的保密性。
[0177]本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random AccessMemory, RAM)等。
[0178]以上所述是本發(fā)明的優(yōu)選實施方式,應當指出,對于本【技術領域】的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍。
【權利要求】
1.一種水印的嵌入方法,其特征在于,包括: 將原始字體庫中的每個字體修改任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫; 設定水印包含的信息,將所述信息轉換為二進制序列; 根據(jù)所述二進制序列,將所述特征字體庫中的字體替換需要嵌入水印的文本文檔中的對應字體,從而得到包含水印的文本文檔。
2.如權利要求1所述的水印的嵌入方法,其特征在于,所述將原始字體庫中的每個字體修改任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫具體包括: 將原始字體庫中的每個字體去除任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫;或 將原始字體庫中的每個字體增加任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫。
3.如權利要求1所述的水印的嵌入方法,其特征在于,所述設定水印包含的信息,將所述信息轉換為二進制序列之后還包括:對所述二進制序列進行加密; 所述根據(jù)所述二進制序列,將所述特征字體庫中的字體替換需要嵌入水印的文本文檔中的對應字體,從而得到包含水印的文本文檔具體包括:根據(jù)加密后的所述二進制序列,將所述特征字體庫中的字體替換需要嵌入水印的文本文檔中的對應字體,從而得到包含水印的文本文檔。
4.一種水印的讀取方法,其特征在于,包括: 掃描含有水印的文本文檔; 對比得出所述文本文檔中每個字體的字體類型,所述字體類型為原始字體或特征字體,其中,所述特征字體為將原始字體修改任意個像素點后得到的字體; 根據(jù)對比后的所述每個字體的字體類型得到所述文本文檔的二進制文本流; 解析所述二進制文本流,得出所述文本文檔中的水印信息。
5.如權利要求4所述的水印的讀取方法,其特征在于,所述對比得出所述文本文檔中每個字體的字體類型,所述字體類型為原始字體或特征字體,其中,所述特征字體為將原始字體修改任意個像素點后得到的字體具體包括: 對比得出所述文本文檔中每個字體的字體類型,所述字體類型為原始字體或特征字體,其中,所述特征字體為將原始字體去除/增加任意個像素點后得到的字體。
6.如權利要求4所述的水印的讀取方法,其特征在于,所述解析所述二進制文本流之前還包括:對所述二進制文本流進行解密; 所述解析所述二進制文本流,得出所述文本文檔中的水印信息具體包括:解析解密后的所述二進制文本流,得出所述文本文檔中的水印信息。
7.一種水印的嵌入裝置,其特征在于,包括: 特征字體庫構建單元,用于將原始字體庫中的每個字體修改任意個像素點,修改任意個像素點后的所述每個字體共同組成特征字體庫; 水印生成及轉換單元,用于設定水印包含的信息,將所述信息轉換為二進制序列; 水印嵌入單元,用于根據(jù)所述二進制序列,將所述特征字體庫中的字體替換需要嵌入水印的文本文檔中的對應字體,從而得到包含水印的文本文檔。
8.如權利要求7所述的水印的嵌入裝置,其特征在于,所述特征字體庫構建單元通過將原始字體庫中的每個字體去除/增加任意個像素點的方式來實現(xiàn)對原始字體庫中的每個字體修改任意個像素點。
9.如權利要求7所述的水印的嵌入裝置,其特征在于,還包括: 加密單元,用于對所述二進制序列進行加密; 所述水印嵌入單元根據(jù)加密后的所述二進制序列,將所述特征字體庫中的字體替換需要嵌入水印的文本文檔中的對應字體,從而得到包含水印的文本文檔。
10.一種水印的讀取裝置,其特征在于,包括: 掃描單元,用于掃描含有水印的文本文檔; 字體比對單元,用于對比得出所述文本文檔中每個字體的字體類型,所述字體類型為原始字體或特征字體,其中,所述特征字體為將原始字體修改任意個像素點后得到的字體; 二進制轉換單元,用于根據(jù)對比后的所述每個字體的字體類型得到所述文本文檔的二進制文本流; 解析單元,用于解析所述二進制文本流,得出所述文本文檔中的水印信息。
11.如權利要求10所述的水印的讀取裝置,其特征在于,還包括:所述特征字體為將原始字體去除/增加任意個像素點后得到的字體。
12.如權利要求10所述的水印的讀取裝置,其特征在于,還包括: 解密單元,用于對所述二進制文本流進行解密; 所述解析單元解析解密后的所述二進制文本流,得出所述文本文檔中的水印信息。
13.一種水印的處理系統(tǒng),其特征在于,包括: 如權利要求7?9中任一項所述的水印的嵌入裝置;和 如權利要求10?12中任一項所述的水印的讀取裝置。
【文檔編號】G06F17/22GK104361268SQ201410705665
【公開日】2015年2月18日 申請日期:2014年11月28日 優(yōu)先權日:2014年11月28日
【發(fā)明者】劉創(chuàng)招 申請人:廣州視源電子科技股份有限公司