CN1684115B - 基于字符拓扑结构的文本数字水印技术 - Google Patents
基于字符拓扑结构的文本数字水印技术 Download PDFInfo
- Publication number
- CN1684115B CN1684115B CN 200510065893 CN200510065893A CN1684115B CN 1684115 B CN1684115 B CN 1684115B CN 200510065893 CN200510065893 CN 200510065893 CN 200510065893 A CN200510065893 A CN 200510065893A CN 1684115 B CN1684115 B CN 1684115B
- Authority
- CN
- China
- Prior art keywords
- character
- font
- coding
- character string
- watermark information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0062—Embedding of the watermark in text images, e.g. watermarking text documents using letter skew, letter distance or row distance
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明提供了一种基于字符拓扑结构的文本数字水印技术。其基本原理是通过改变字符或字符串字形的拓扑结构,设计出语义上相同的字符或字符串的多种字形,并对这些字形的拓扑结构进行恰当的编码,利用字符或字符串的拓扑结构来携带数字水印信息。本发明包括多项紧密相关的内容:(1)字符或字符串的多种字形设计方法;(2)若干种对同一字符或字符串的多种字形进行编码的方法;(3)若干种对多个字符或字符串的多种字形进行统一编码的方法;(4)基于对多个字符或字符串的多种字形分别编码的文本数字水印技术;(5)基于对多个字符或字符串的多种字形统一编码的文本数字水印技术(6)一种协调水印信息检测效果与水印信息对人视觉影响的方法。本发明的文本数字水印技术具有水印信息带来的视觉影响小、检测方法简单可靠、鲁帮性好、水印信息容量大等特点。
Description
技术领域
本发明属于通信与信息工程领域,具体涉及到数据的隐藏、数据的编码与解码、数字水印技术。
背景技术
数字水印技术是信息隐藏技术领域的一个重要组成部分,它将具有特定意义的信息(数字水印信息),利用数字嵌入方法隐藏在各种数字图像、声音、视频、文本数字产品中。这些带有数字水印信息的电子产品一方面可以不易被感知地正常使用,另一方面,通过特定的技术手段可以检测出嵌入在这些数字产品中的数字水印信息。数字水印技术广泛应用在数字产品的版权保护、内容验证与防伪、防止非法拷贝、操作跟踪、秘密数据通信等众多流域。按照数字水印载体的不同,数字水印可分为图像数字水印、声音数字水印、视频数字水印和文本数字水印等主要的几个种类。本发明涉及的主要是文本数字水印领域,其特点是水印信息隐藏在由字符为主要组成元素的文本文件中。
如综述文章“文本数字水印”(中文信息学报,第15卷,第5期,作者:黄华、齐春、李俊、朱伟芳)所述,现有的文本数字水印技术集中在利用文本文件的格式信息来保存数字水印信息。该论文主要讲述了利用文本的字间距、行间距进行编码来嵌入水印信息。这种思路的缺陷在于:对于利用字间距、行间距的编码方法,以拉丁字母为基础的语言体系(如英语)有一定的优势,但对于类似中文这样以方块文字为基础的语言,由于不存在英文意义下的字间距,水印的嵌入比较困难。同时,对利用字间距编码的水印信息进行检测的误差较大,而利用行间距编码的水印技术携带的水印信息较少。
文章“基于文本的信息隐藏技术”(计算机应用研究,2003.10,39~41,作者:曹卫兵戴冠中夏煜慕德俊)主要讲述了以标点信息编码、字符的字体编码来携带水印信息的技术。其缺点在于:由于文本文件中标点符号相对较少,所以利用标点信息编码携带信息较少。利用字符的字体编码的文本数字水印技术的主要问题在于检测以印刷品文件为载体文件的水印信息很困难,文中没有提及在这种情况下的检测方法。
上述两篇文章均提及了利用字符的特征编码来保存数字水印信息的技术,主要涉及了改变部分字符笔划的长度或整个字符的高度来嵌入水印信息。该项技术的主要问题同样是对以印刷品文件为载体文件的水印信息的检测很困难,同时会带来较大的视觉影响。
如文章“二值文本数字水印技术的研究与仿真”(系统仿真学报,VOL.16 No.3,2004.3,作者:王慧琴、李人厚)所述,另一种主要的现有文本数字水印技术的思路是将文本文件转换为图像文件,按照图像数字水印技术提供的方法进行水印信息加载。该方法的缺点是不能用大多数的文字处理软件进行带有水印信息的图像电子文件的显示和处理。
如文章“Techniques for data Hiding”(IBM Systems Journal,1996,35(3&4),Bender W,et a1.)所述,另外一种现有的文本数字水印技术,通过对文本中的特定词组进行同义词替代,对同义的不同词汇进行编码,用于加载水印信息。这种技术的缺点是难以为所有的词汇找到恰当的同义词,造成文本可嵌入水印信息的容量相当有限,毕竟不是每一个词汇都有与之对应的同义词。
专利申请号为00805218.2,专利名称为“元信息的不可见的编码”(申请人:皇家菲利普电子有限公司,发明人:K.埃亨,进入中国日期:2001.09.18)提供了一种专利文本数字水印技术。该技术对不可见符号(如空格、回车、制表符号等)出现的顺序进行编码,然后将这些不可见的符号嵌入到文本文件中用于表示数字水印信息。由于水印信息集中在不可见符号上,该项技术只能用于载体文件为电子文件的情况,不能用于载体文件为印刷品文件的情况。同时,文本文件中大量的可见符号没有加载水印信息,水印信息分布不均匀,所以,用这种方式加载的水印信息极易被攻击者去除。
专利申请号为200410040307.0,专利名称为“以符号的冗余编码携带隐藏信息的文本数字水印技术”(申请人:刘东,发明人:刘东,申请时间:2004.7.26,待授权中。)提供了另一种专利文本数字水印技术。该技术对字符进行冗余编码,并结合相应的字体文件进行数字水印信息的显示和处理。对于载体文件为电子文件的情况,该方法较好地实现了水印信息的嵌入、显示与检测。对于载体文件为印刷品文件的情况,其本质是基于字符字体编码的技术,该方法仅较好地解决了数字水印信息的嵌入问题,数字水印信息的检测仍然很困难。
发明内容
本发明的目的是提供一种利用字符或字符串的拓扑结构携带隐藏水印信息的文本数字水印技术,用于解决现有文本数字水印技术中出现的诸如水印信息给用户带来的视觉上的影响较大、载体文件携带水印信息的容量小、印刷品数字水印信息检测困难等问题。本发明的技术对于数字水印信息的载体文件为电子文件、印刷品文件的情况均适合。
本发明的基本原理在于通过适当改变字符或字符串的拓扑结构,设计出语义上相同的字符或字符串的多种字形,并对基于字符或字符串字形拓扑结构的字形特征进行恰当的编码,利用字形的编码来嵌入数字水印信息,从而构成一种新的文本数字水印技术。
物体拓扑结构的含义在数学学科“图论”中有明确内涵,即可通过某种对应方法将物体的形状映射为“图论”中定义的“图”,不同构的“图”表示物体的拓扑结构不同。同理,本发明中字符或字符串的拓扑结构是由字形映射成的“图”表示的,不同构的“图”表示字符或字符串的拓扑结构不同,将字符字形映射为“图”的方式是公开的已有技术。
本发明包括如下紧密相关的内容:
(1)用于携带数字水印信息的将同一字符或字符串设计成多种字形的方法;
(2)若干种对同一字符或字符串的多种字形进行编码的方法;
(3)若干种对字符或字符串的字形进行统一编码的方法;
(4)基于对字符或字符串的字形分别编码的文本数字水印技术;
(5)基于对字符或字符串的字形统一编码的文本数字水印技术;
(6)一种处理字符或字符串字形的方法。
上述(1)-(6)项内容中,(1)、(2)、(3)用于对本发明基本原理的详细阐述,以及作为(4)、(5)项内容的基础与说明。(6)是对本发明基本理论的一种应用形式上的补充。
用于携带数字水印信息的将同一字符或字符串设计成多种字形的方法:
主要的设计思想是通过适当改变字符或字符串的拓扑结构,从而设计出语义上相同的同一字符或字符串的多种字形。其中,较为自然的字形设计方法是:通过改变组成字符或字符串的各笔划之间的连断关系来改变字形的拓扑结构。但不仅限于此,任何改变字符或字符串拓扑结构的方法都可行,只要这种改变对于人的视觉识别能力来说,不至于引起字符或字符串本身语义上的混淆。
字形设计方法应综合考虑以下因素:
1)字形编码的因素
在实际的数字水印系统中,字形的设计应与本发明特定的编码方法结合起来,针对特定的字符或字符串字形编码方法来设计相应的字形拓扑结构。通用的设计原则是:字符或字符串字形拓扑结构的改变可以导致在特定编码方法下的不同编码。在字形的设计中,应充分考虑编码的因素,设计出合适的字形,获得尽可能多的编码,从而解决字符或字符串携带水印信息所需容量的问题。
2)字形字体风格的因素
字形的设计还应充分考虑到字形字体风格的因素。一方面,在载体文件中,通常要求携带数字水印信息的字符或字符串之间有相同的字体风格,从而减小因携带水印信息带来的视觉上的影响。这不仅要求同一字符或字符串的不同字形之间,字形的高度、宽度及字体风格应基本相同,而且多个字符或字符串的多种字形之间也应有相似的高度、宽度和相同的字体风格。另一方面,由于原载体文件的字符本身可能有不同的字体风格(例如有宋体、楷体之分),所以,还应考虑针对不同的字体风格,为同一字符或字符串设计有相同拓扑结构、但有不同字体风格的字形。在本发明中,字符或字符串字形的拓扑结构及其编码方法确定后,其携带的水印信息的检测方法也确定了。设计有相同拓扑结构、但有不同字体风格的字形,为本发明的字形设计方法在不改变水印信息检测方法的情况下提供了一种扩展性。在字符或字符串的多种字形的设计中,应充分考虑字形字体风格的因素,从而解决减少视觉影响和字形设计的扩展性问题。
在实际的应用系统中,应针对不同的应用背景,综合考虑上述因素进行字形的设计。本发明推荐的设计规则是:
(1)首先应根据应用情况确定特定的编码方法,并针对该编码方法来改变字符或字符串字形的拓扑结构,这种拓扑结构的变化应尽可能对应不同的编码,从而增大字符或字符串携带数字水印信息的容量。
(2)对于同一字符或字符串的不同编码对应的多种字形来说,应设计出一组高度、宽度及字体风格基本相同的字形。例如,某一字符或字符串的不同编码对应的多种字形均为宋体风格,其字形高度、宽度相似,只是这些字符或字符串字形的拓扑结构不同。这种设计主要应用于同一字体风格的载体文件携带数字水印信息的情况,例如,整个载体文件的字符都只有一种字体——宋体。
(3)考虑到扩展性,相同编码的同一字符或字符串的字形也应有不同的字体风格。例如,某一字符或字符串的相同编码对应的多种字形有多种字体风格(例如宋体、楷体、仿宋体等)。这种设计主要应用于不同字体风格的载体文件携带数字水印信息的情况,例如,载体文件中的字符或字符串有的是宋体,有的是楷体,甚至同一字符或字符串在一个地方是宋体,在另一个地方是楷体。
需要特别说明的是,对字符字形的设计方法可以类似地推广到字符串字形的设计中。这种情况下,将整个字符串看作一个整体来改变整个字符串的拓扑结构,不但可以改变组成字符串的单个字符的拓扑结构,还可以通过改变组成字符串的各字符之间的连断关系来改变字符串的拓扑结构,从而为字符串设计出多种拓扑形状,并使用字符串不同拓扑结构的字形来携带数字水印信息。在利用字符携带数字水印信息的方法中,携带水印信息的最小载体单位为单个的字符,而在利用字符串携带数字水印信息的方法中,携带水印信息的最小载体单位为多个字符组成的字符串。这两种方法中的字形设计思想及编码规则没有本质的不同,可以将字符串看成一个有复杂拓扑结构的字符。
在实际的文本数字水印系统中,如果希望以字符串为单位携带数字水印信息,本发明推荐将多个字符组成的完整单词作为携带数字水印信息的基本单位,字符串字形的设计也针对完整的单词进行设计。以拉丁字母为基础的语言(如英语)较为适合利用字符串携带数字水印信息,通常以手写体、草书体的字形来实现;同时,对于汉语、韩语等以方块字为基础的语言,可以设计有美术字体风格(或手写体、草书体)的字形来携带数字水印信息。
若干种对同一字符或字符串的多种字形进行编码的方法:
本发明的本质在于通过语义上相同的字符或字符串的不同拓扑结构的字形来表示隐藏信息,这需要对不同拓扑结构的字形进行编码,同时这些编码也用于精确描述字符或字符串的拓扑结构。本发明的基本编码规则是:相同拓扑结构的字符或字符串字形有相同的编码,不同拓扑结构的字符或字符串字形的编码不相同。通常,应尽可能的将不同拓扑结构的字形编为不同的码值。
以下是遵守上述规则的6种具体的编码方法及其若干种的变形编码方法。这些编码方法同时也为字符或字符串的拓扑结构提供精确的定义与描述方法。
1)基于“图”结构的编码方法
本方法包括以下步骤:
(1)按照一定的规则将字符或字符串字形映射为数学学科“图论”中定义的“图”;
一种具体的规则是将字符笔划的顶点、交叉点、拐点等特征点映射为数学学科“图论”中定义的“图”的节点(端点),而连接这些特征点(顶点、交叉点、拐点等)之间的笔划映射为“图”的边。这样,可以将字形映射为“图论”中定义的无向“图”。字符或字符串的字形与“图”是多对一的映射关系,即一个字形映射到一个“图”上,而一个“图”可能映射为多个字形。还可在无向图的基础上,加入特定的空间顺序规则(例如从左到右,从上到下等),将字形映射为有向图;
(2)同构的“图”对应的字符或字符串字形有相同的编码,不同构的“图”对应的字形的编码不相同。
在步骤(1)所得的同一个字符或字符串的不同字形对应的多个“图”中,有可能出现其中一些“图”是同构的(按照“图论”中对同构的定义),编码时应将同构的“图”对应的字形编码为相同的码,将不同构的“图”对应的字形编码为不同的码,以尽量提高字符或字符串携带水印信息的容量。
2)基于独立连通区域个数的编码方法
本方法针对字符或字符串字形包含的独立连通区域(即相互之间不连通的那些连通区域)的个数进行编码。字符或字符串字形的独立连通区域个数等于该字形对应的“图”的分量个数。
编码的规则是相同独立连通区域个数的字形有相同的编码,不同独立连通区域个数的字形的编码不相同。
“基于图结构的编码方法”需要对不同“图”之间的同构性进行判断,而“图”的同构判断算法在数学理论上计算复杂性较高(为NP问题)。虽然字符或字符串字形对应的“图”通常不会太复杂,直接利用现有“图”的同构判断算法进行处理是可行的,但处理过程仍然相对复杂。本编码方法是对“基于图结构编码方法”的简化方法。
3)基于独立连通区域个数与独立封闭区域个数的组合集合的编码方法
一些特定的字符,特别是汉语、韩语等语言的字符,存在一个或多个由笔划围成的封闭区域。此外,采用本发明的字符或字符串字形设计方法,也可为一些特定的字符或字符串设计出由字形笔划围成的封闭区域。本编码方法针对字符或字符串字形包含的独立连通区域个数与该字形包含的独立封闭区域个数两者的组合集合进行编码。
编码的规则仍然是相同的组合集合对应的字形有相同的编码,不同的组合集合对应的字形的编码不相同。
与单独“基于独立连通区域个数的编码方法”相比,本方法提供了更大的灵活性和更多的编码空间。
4)基于独立连通区域个数与独立封闭区域个数的和的编码方法
本方法针对字符或字符串字形包含的独立连通区域个数与该字形包含的独立封闭区域个数之和进行编码。
编码的规则仍然是独立连通区域个数与独立封闭区域个数之和相同的字形有相同的编码,两者之和不同的字形的编码不相同。
与“基于独立连通区域个数与独立封闭区域个数的组合集合的编码方法”相比,本方法更简单。
5)基于对独立连通区域个数除以整数后的余数进行编码的方法
本方法针对字符或字符串字形包含的独立连通区域个数除以整数后的余数进行编码,余数相同的字形有相同的编码,余数不同的字形有不同的编码。
本方法中整数的取值是灵活的,当整数取2时,本方法等价于对独立连通区域个数的奇偶性进行编码。独立连通区域个数为奇数的字形之间有相同的编码,独立连通区域个数为偶数的字形之间也有相同的编码,但独立连通区域个数奇偶性不同的字形之间的编码是不同的。本方法中,整数的取值范围在2~4之间较为合适,从简单易用的角度,本发明推荐整数的取值为2或4。
6)基于对独立连通区域个数与独立封闭区域个数之和除以整数后的余数进行编码的方法
本方法针对字符或字符串字形包含的独立连通区域个数与该字形包含的独立封闭区域个数之和除以整数后的余数进行编码,余数相同的字形有相同的编码,余数不同的字形有不同的编码。
与前述仅针对独立连通区域个数除以整数后的余数进行编码的方法相比,本方法提供了更大的灵活性,但本质上是相似的。本方法中,整数的取值范围在2~8之间较为合适,从简单易用的角度,本发明推荐整数的取值为2、4或8。
需要特别指出的是,本发明的上述6种典型编码方法有很多种变形。
一种变形的方式为:针对将字符或字符串字形独立连通区域个数、独立封闭区域个数作为参数的数学运算结果进行编码。例如,类似前述的“基于独立连通区域个数的编码方法”,可以对独立连通区域的个数做平方、三次方、求奇偶性、判断是否为素数等数学运算的结果进行编码。也可类似前述的“基于独立连通区域个数与独立封闭区域个数的和的编码方法”,对独立连通区域个数与独立封闭区域个数的乘积进行编码,或者将独立连通区域个数与独立封闭区域个数作为参数进行指数运算、对数运算等数学运算,对其结果进行编码。此外,还可以对上述各种数学运算结果形成的排列组合集合进行编码。依此类推,可以变形出很多编码方法。
另一种变形的方式为:综合应用多个编码方法对字符或字符串字形进行编码。在利用一种方法进行编码的基础上,对基于该编码方法的有相同编码值的字形再利用其他方法进行二次编码,并可依此类推,综合利用多个方法进行多次编码。例如,先采用“基于独立连通区域个数的方法”进行编码,再对有相同独立连通区域个数的多个字形进行二次编码,二次编码的方式可采用“基于独立连通区域个数与独立封闭区域个数的组合集合的编码方法”。还可进一步针对独立连通区域个数与独立封闭区域个数的组合集合相同的字形进行三次编码,三次编码的方式可采用“基于图结构的编码方法”。依此类推,可以变形出很多编码方法,可根据字形的自身拓扑结构进行选择。综合多个编码方法对字形进行编码可以扩大字符或字符串携带数字水印信息的容量。
虽然上述变形方法从形式上看起来与本发明的6种典型编码方法有所不同,实质上是这些典型编码方法的简单延伸。
值得注意的是,上述这些编码方法也可看成是对字符或字符串字形拓扑结构的精确定义与定量描述方法。例如,基于“图”结构的编码方法对应利用数学上的“图”的概念描述字形拓扑结构,基于独立连通区域个数的编码方法对应利用字符或字符串的独立连通区域个数来描述字形拓扑结构,其余方法可由此类推。
若干种对字符或字符串的字形进行统一编码的方法:
在多个字符或字符串的多种字形(注:包括同一字符或字符串的多种字形)组成的集合范围内,利用本发明的“若干种对同一字符或字符串的多种字形进行编码的方法”中的一种方法,对字符或字符串的字形进行统一编码,并且字形编码值的确定规则在多个字符或字符串之间是统一的。
在实际的数字水印系统中,通常需要由载体文件的多个字符或字符串共同携带数字水印,而本方法是对字符或字符串的字形进行统一编码的方法。本方法采用本发明“若干种对同一字符或字符串的多种字形进行编码的方法”(如前节所述6种典型编码方法及其变形方法)中的一种,对字符或字符串的字形使用相同的方法进行编码,而且字形特征与编码的具体对应关系在不同字符或字符串之间是统一的。例如,如果采用“基于图结构的编码方法”,不仅对应同构“图”的同一字符或字符串的多种字形有相同编码,而且对应同构“图”的不同字符或字符串的多种字形也有相同编码。再例如,如果采用“基于独立连通区域个数的编码方法”,则有相同独立连通区域个数的所有字形都对应相同的编码值,不论这些字形是同一个字符或字符串的字形,还是多个不同字符或字符串的字形。
基于对字符或字符串的字形分别编码的文本数字水印技术:
在本项文本数字水印技术中,数字水印信息嵌入到载体文件字符或字符串的多种字形中,字形的编码用来表示数字水印信息。字形的设计方法采用本发明的改变字符或字符串字形的拓扑结构的方法,为同一字符或字符串设计出多种字形。字形的编码方法采用本发明的6种典型的对同一字符或字符串的多种字形进行编码的方法及其若干种变形方法。
本项文本数字水印技术的一个重要特点是针对载体文件包含的多个不同字符或字符串的字形编码方法可以不同,可以根据字符或字符串自身的特点为某个字符或字符串选择专门的字形编码方法。通常来说,字符或字符串笔划的繁简程度和拓扑结构有其自身的特点,在维持一定的视觉感官质量的前提下,不同字符或字符串可以设计出的不同拓扑结构字形的数量是有差异的。实质上各字符或字符串通过字形的变化携带数字水印信息的能力是有差异的,对不同字符或字符串使用不同的字形编码方法可以充分反映出这种差异,从而增大整个载体文件携带数字水印信息的能力。在具体编码值的确定上,本项文本数字水印技术中不同字符或字符串的字形与编码值的对应规则是相互独立的。对同一字符或字符串的多种字形来说,仅考虑对该字符或字符串的不同拓扑结构进行编码,不考虑其他字符或字符串字形的拓扑结构可能带来的对该字符或字符串的影响,从而编码较为简单。
本项文本数字水印技术的水印信息检测方法的特点是:需要明确载体文件中各个字符或字符串的特有的字形编码方法。检测过程通常应首先确定载体文件中各字符或字符串的语义信息,根据语义信息查询各字符或字符串特定的字形编码方法,然后根据特定的字形编码方法检测对应的字形特征以确定载体文件中字形的编码,从而检测出数字水印信息。例如,一个字符或字符串对应的编码方法是“基于图结构的编码方法”,则应检测该字形对应的“图”结构特征,以确定相应的字形编码。另一个字符或字符串对应的编码方法是“基于连通区域个数的编码方法”,则应检测该字形包含的连通区域个数这个字形特征,从而进一步确定字形的编码。将载体文件中字形编码组合起来,就得到了整个载体文件携带的数字水印信息。本项文本数字水印技术中,数字水印信息检测过程的基础是首先应明确载体文件中各字符或字符串特定的字形编码方法,一个字符或字符串携带的数字水印信息的检测过程与该字符或字符串的语义信息通常是关联的。
基于对字符或字符串的字形统一编码的文本数字水印技术:
与上述的“基于对字符或字符串的字形分别编码的文本数字水印技术”相似,在本项文本数字水印技术中,数字水印信息嵌入到载体文件字符或字符串的多种字形中,字形的编码用来表示数字水印信息。仍然采用本发明的改变字符或字符串的拓扑结构的方法,为同一字符或字符串设计出多种字形。
与“基于对字符或字符串的字形分别编码的文本数字水印技术”相比,本项技术的主要区别在于:字形的编码方法采用本发明的“若干种对字符或字符串的字形进行统一编码的方法”及其变形方法。
本项文本数字水印技术的一个重要特点是针对载体文件的多个字符或字符串的字形编码方法相同,只能使用一种共同的方法对字符或字符串的字形进行编码。在具体编码值的确定上,不同字形编码值的确定规则是统一的,即对于多个不同字符或字符串的多种字形,只要它们对应的拓扑结构特征相同,则它们的编码值应相同。对同一字符或字符串的多种字形进行编码,不仅应考虑该字符或字符串自身的不同拓扑结构字形特征的编码因素,而且还应考虑到其他字符或字符串字形的编码情况,应与其他字符或字符串字形的编码协调一致。
本项文本数字水印技术的水印信息检测方法的特点是:由于载体文件中各字符或字符串只有一种共同的字形编码方法,检测过程不需要知道每个字符或字符串的语义信息,可直接针对共同的编码方法检测字形的编码特征,以确定载体文件中各字符或字符串字形的编码,从而检测出数字水印信息。例如,如果载体文件使用“基于图结构的编码方法”,则载体文件中的多个字符或字符串都使用这个相同的方法,可直接检测字形对应的“图”结构特征以确定其编码。再例如,如果载体文件使用“基于对独立连通区域个数除以整数后的余数进行编码的方法”,并且整数取2,则检测方法极为简单。不需要知道各字符或字符串的语义信息,直接计算每个字符或字符串独立连通区域个数,奇数个数为一种编码(例如编码为1),偶数个数为另一种编码(例如编码为0),从而直接确定字形的编码。将载体文件中各字符或字符串对应的字形编码组合起来,就得到了整个载体文件携带的数字水印信息。本项文本数字水印技术中,一个字符或字符串携带的数字水印信息的检测过程与该字符或字符串的语义信息无关。
一种处理字符或字符串字形的方法:
本专利的核心点在于适量地改变字符或字符串的拓扑结构,通过语义上同一字符或字符串的不同拓扑结构的字形来表示隐藏信息,这相当于隐藏水印信息在字符或字符串的拓扑结构中引入了噪声。通常,一方面要求同一字符或字符串的不同字形的拓扑结构应非常明确,便于检测;另一方面,在字形设计时,要求对字形的拓扑结构的改变应尽可能小,同一字符或字符串不同字形相互之间拓扑结构差异也尽量小,以减小水印信息给人带来的视觉上的影响,这两者是一对矛盾。
针对上述矛盾,本发明提出了一种处理字符或字符串字形的方法,用以协调增强水印信息检测效果与控制水印信息对人视觉影响之间的矛盾。其内容是:应根据应用的需要,放大或缩小字符或字符串的字形。当需要进行水印信息检测的时候,应放大字形,尽可能的使字形的拓扑结构清晰,笔划连断关系清晰,以增强水印信息的检测效果;当正常使用(如阅读、打印等)带有水印信息的字符或字符串时,不需要进行水印信息检测的时候,应适当调整字形到适当的大小,以减小水印信息对人视觉的影响。
对照现有文本数字水印技术,本发明的主要特点是:
(1)本发明的数字水印信息的检测方法仅与字符或字符串字形的拓扑结构有关,与字符或字符串的大小,倾斜角度无关,便于检测。字形的缩放、旋转不影响对水印信息的检测,抗噪声能力强,鲁帮性好。
(2)本发明对字符或字符串字形的改变方式是适当改变字符或字符串的拓扑结构,可以不改变字形的外形大小,整体风格,水印信息造成的视觉影响小,嵌入的数字水印信息不易被觉察。
(3)本发明的字符或字符串字形设计方法灵活,确定了特定的编码规则后,可以根据需要为同一字符或字符串设计出有相同编码但有不同字体风格的多种字形,不需要改变检测方法及相关的程序,可扩展性好。
(4)本发明的“基于对字符或字符串的字形分别编码的文本数字水印技术”可以针对每一字符或字符串的具体情况特别地设计字形,并选择特定的编码方法,从而使得字符或字符串携带水印信息的容量较大。
(5)本发明的“基于对字符或字符串的字形统一编码的文本数字水印技术”不需要检测各字符或字符串的语义信息便可以直接确定各字符或字符串携带的文本数字水印信息,简化了水印信息的检测方法,并减少了出错的环节。
(6)本发明的“处理字符或字符串字形的方法”提供了一种灵活、简单的方法,在协调增强水印信息检测效果和减小水印信息对人视觉影响两个互为矛盾的方面找到了一种解决途径。
附图说明
图1以示例的方式显示了通过适当改变字符的拓扑结构来设计同一字符多种字形的方法,并显示了字符字形与数学学科“图论”中的“图”对应的方法。
图2以示例的方式显示了基于字符字形包含的连通区域个数和封闭区域个数的字形设计和编码方法。
图3以示例的方式显示了字符串的多种字形设计和编码的方法。
图4以示例的方式显示了一组字符各自不同的字形设计与编码方法。
图5以示例的方式显示了多种形式的字符或字符串字形设计方法。
图6以示例的方式显示了“基于对字符或字符串的字形分别编码的数字水印技术”的水印信息的加载与检测原理。
图7以示例的方式显示了“基于对字符或字符串的字形统一编码的数字水印技术”的水印信息的加载与检测原理。
图8是本发明的“基于对字符或字符串的字形分别编码的文本数字水印技术”的数字水印信息提取过程示意图
图9是本发明的“基于对字符或字符串的字形统一编码的文本数字水印技术”的数字水印信息提取过程示意图。
具体实施方式
下面通过举例,并参照附图,详细描述本发明的具体实施方式。
将同一字符或字符串设计成多种字形的方法的具体实施方式:
如图1所示,通过改变组成汉字“王”(100)的笔划之间的连断关系,得到语义上相同的字符“王”的不同拓扑结构的字形(110)、(120)、(130)、(140)。这些不同字形的高度、宽度相同,字形的字体风格一致,都是细黑字体。与原始的字符字形(100)相比,仅仅是少数笔划在原字形(100)基础上做了微小的缩短。但是,这些笔划微小的变化带来了笔划之间连断关系的变化,从而改变了字形的拓扑结构,就拓扑结构来说,这些笔划微小的变化带来的是字形拓扑结构较大的变化。通常,对于类似汉字这样的组成笔划较多,字形相对比较复杂的字符,改变字符拓扑结构的方式很多。在图2中,汉字“启”有15种不同的字形,而这些字形,仅仅是通过改变字符拓扑结构可能形成的若干种字形中一部分。在实际的字形设计中,一方面应考虑与本发明特定的字形编码方法结合进行字形设计,使得字形的改变尽可能引起编码的不同。另一方面应考虑尽量减小字形改变带来的视觉影响,例如应结合字符自身的特点,尽量改变完整笔划之间的连断关系,这样的方法优于通过将一个完整的笔划分成不同的部分来改变字符拓扑结构的方法。
如图4所示,同一字符的多种字形设计可以基于同一种字体风格进行,汉字“你”基于宋体字体风格有两种字形(400)、(401)。不同字符的字形设计也可以基于同一种字体风格进行,例如汉字“好”的字形(410)、(411),汉字“妈”的字形(430)、(431)、(432)、(433)都是基于宋体字体风格。在由同一种字体风格的字符字形构成的携带数字水印信息的载体文件中,加入数字水印信息带来的视觉上的影响很小。除此之外,相同拓扑结构的同一字符的多种字形也可对应不同字体风格。如图4所示,每个字符都有两种字体风格的字形,分别是宋体和隶书,汉字“你”的相同拓扑结构的字形(400)、(402)有不同的字体风格,(400)对应宋体,(402)对应隶书。这样的设计,既能适于在同一个载体文件中有不同字体风格字符的情况,又能满足在不改变字形编码方法、水印信息检测方法的情况下进行多种字符字形设计的扩展性要求。
如图3所示,通过改变组成字符串“draft”(300)的各字符之间的连断关系来改变字符串(300)的拓扑结构,可以为字符串(300)设计出多种字形(311)~(314)、(321)、(322)、(331)、(332)、(340),并以这些字符串的字形为基本单位进行数字水印信息的携带。与字符的字形设计思想相同,改变组成字符串的各字符之间的连断关系同样应选择恰当的连断点,对于字符串“draft”(300)来说,选择字符d与r、r与a、a与f、f与t之间如图所示的连断点是合适的。此外,“draft”(300)的各种字形(311)~(314)、(321)、(322)、(331)、(332)、(340)都基于同一种字体风格(细黑字体),相互之间的替换带来的视觉上的影响很小。与字符字形设计方法相似,不同字符串的字形设计也可以基于同一种字体风格进行,且相同拓扑结构的同一字符串的多种字形也可对应不同字体风格,可由字符字形设计方法直接类推。也可通过改变字符串中单个字符的拓扑结构来改变整个字符串的拓扑结构,如字符串“by”(3506)中,字符“b”的拓扑结构发生了变化,从而改变了整个字符串“by”(3506)的拓扑结构。此外,还可组合改变单个字符内部拓扑结构的方法和改变字符间的连断关系的方法来改变字符串的拓扑结构。例如,句子(350)中,字符串candidate(3502)中,前一个“a”与后一个“a”的内部拓扑结构不一样,同时,前一个“d”和字符“i”是连接的,字符串draft(3505)也是这种情况。
图5显示了多种形式的字符或字符串字形设计方法。其中,字符“a”(500)为英语字符,字符“1”(510)为阿拉伯数字,字符“の”(520)为日语平假名,字符“”(530)为日语片假名,字符“”(540)为单个朝鲜语字母,字符“”(550)为多个朝鲜语字母组成的朝鲜语字,字符“@”(560)为常用特殊字符,字符“∑”(570)为数学运算符,字符“民”(580)为手写体的汉字,字符串“life”(590)为英语单词的草书体。图5中,这些字符或字符串都有两个不同的拓扑结构的字形示例,而且同一字符或字符串的不同字形有相同的字体风格。设计出这些不同拓扑结构字形的方法很多,有的是改变字符笔划之间的连断关系,如(501)、(522)、(532)、(541)、(551)、(552)、(561)、(571)、(572)等,有的是改变字符一个笔划内的连断关系,如(502)、(511)、(512)、(521)、(531)、(542)、(562)等,有的是综合应用这两种方法,如(591)、(592)。这些字形设计方法的共同点在于改变了字符或字符串的拓扑结构。仿造图5中的示例,几乎可以为所有语言的字符及符号设计出不同的字形。需要特别说明的是:可应用相同的方法为手写体、草书体的字符或字符串设计不同拓扑结构的字形,如(581)、(582)、(591)、(592)。通常,手写体、草书体的字符或字符串字形的信息隐藏效果更好,可以设计出的不同拓扑结构的字形更多。若干种对同一字符或字符串的多种字形进行编码的方法的具体实施方式:
特此说明:基于简洁的原因,以下编码方法的示例主要采用对字符字形的编码示例,但这并不影响对字符串字形编码方法的具体实施方式的说明,可将字符字形的编码示例方法简单类推到字符串字形的编码上。
1)基于“图”结构的编码方法的具体实施方式
如图1所示,首先按照确定的规则——字形笔划的顶点、交叉点、拐点映射为数学学科“图论”中定义的“图”的节点(端点),连接顶点、交叉点、拐点之间的笔划映射为“图”的边,将“王”(100)的不同字形映射为数学学科“图论”中定义的“图”。其中(110)映射为(111)、(120)映射为(121)、(130)映射为(131)、(140)映射为(141),(111)、(121)、(131)、(141)均为无向图。此外,如果按照字符字形的空间状态,定义连接两个节点(端点)的边的方向为从左到右,从上到下的方向,可将字符字形映射为有向图。例如,字形(110)的有向图表示为(112),字形(120)的有向图表示为(122),字形(130)的有向图表示为(132),字形(140)的有向图表示为(142)。这样,通过图示的方式就将汉字“王”(100)的多个字形分别表示成了相应的无向图或有向图。
接下来的步骤是基于字形对应的无向图或有向图的结构属性进行编码。注意到字符的不同字形对应的“图”结构根据“图论”中的定义有可能是同构的,对于同构的“图”映射的多种字形的编码应相同。例如,字形(120)、(130)映射的无向图(121)与(131)是同构的,它们的编码应相同。但对于同构的无向图对应的多个字形,其有向图不一定是同构的。例如,字形(120)、(130)对应的有向图(122)、(132)是不同构的,因此,本编码方法应首先明确字形与无向图对应还是与有向图对应。如果统一使用无向图进行编码,图1中的字形(110)可编码为“0”(三进制);由于字形(120)、(130)对应的无向图(121)、(131)是同构的,它们共同编码可为“1”(三进制);(140)可编码为“2”(三进制)。如果统一使用有向图进行编码,图1中的字形(110)、(120)、(130)、(140)对应的有向图(112)、(122)、(132)、(142)各不同构,可分别编码为“00”、“01”、“10”、“11”(二进制)。
实际的数字水印系统中,考虑到编码的圆整和字符之间编码进制的统一性,需要将有不同结构的“图”对应的字符字形进行相同的编码。例如图1中,对于基于无向图的编码方法来说,“王”(100)的多种字形对应的无向图有三种状态,但在实际系统中通常不用三进制进行编码,需要将三种“图”结构的字形圆整为两种状态进行二进制编码。可以将不同构的“图”(111)、(141)对应的字形(110)、(140)编为相同的码“0”,同构的“图”(121)、(131)对应的字形(120)、(130)编为相同的码“1”。但为了至少携带一位数字水印信息,在不同构的“图”对应的字形编码中,至少应有两个不同的编码,即字形(110)~(140)的编码不能完全相同。
2)基于独立连通区域个数的编码方法的具体实施方式
如图1所示,字符字形(110)仅有一个独立连通区域(1101);字符字形(120)有两个独立连通区域(1201)、(1202);字符字形(130)也有两个独立连通区域(1301)、(1302);字符字形(140)有三个独立连通区域(1401)、(1402)、(1403)。本项方法是针对独立连通区域个数进行编码,相同独立连通区域个数的字符字形有相同的编码,字形(120)、(130)的独立连通区域个数均为2,所以它们应有相同的编码。不同独立连通区域个数的字符字形(110)、(140)与(120)(或(130))之间的编码可以不同,也可以相同,但为了使字符“王”(100)具有携带数字水印信息的能力,它们的编码不能完全相同。
本方法等价于对字符字形对应的“图”的分量(独立的连通子图)个数进行编码。可以看到在图1中,字形(110)的独立连通区域个数等于“图”(111)的分量个数,均为1;字形(120)的独立连通区域个数等于“图”(121)的分量个数,均为2;字形(130)的独立连通区域个数等于“图”(131)的分量个数,均为2;字形(140)的独立连通区域个数等于“图”(141)的分量个数,均为3。
同理,对图3所示的字符串可利用本项方法进行编码。英文单词“draft”(300)有9种不同的字形,其中,字形组(310)包含的字形(311)、(312)、(313)、(314)有4个独立的连通区域;字形组(320)包含的字形(321)、(322)有3个独立的连通区域;字形组(330)包含的字形(331)、(332)有2个独立的连通区域;字形(340)有1个独立的连通区域。这样,“draft”(300)的9种不同的字形对应了4种不同的独立连通区域个数,因而有4种编码状态,可以编为4种不同的码。由此可见,对字符串字形的编码方法与对字符字形的编码方法是相似的,不同之处仅在于组成字符串独立连通区域的笔划可能来自不同的字符。
3)基于独立连通区域个数与独立封闭区域个数的组合集合的编码方法的具体实施方式
如图2所示,汉字“启”有15种不同的字形,其中,字形(2001)、(2002)、(2003)、(210)、(220)有1个独立的连通区域;字形(2301)、(2302)、(2303)、(240)、(250)有2个独立的连通区域;字形(2601)、(2602)、(2603)、(270)、(280)有3个独立的连通区域。与此同时,在字形组(200)、(230)、(260)包含的各字形中,字形包含的独立封闭区域个数为0;在字形(210)、(240)、(270)所示的字形中,字形包含的独立封闭区域个数为1;在字形(220)、(250)、(280)所示的字形中,独立封闭区域个数为2。将字符字形包含的独立连通区域个数与独立封闭区域个数形成组合集合,例如字形(210)对应的组合集合为{独立连通区域个数1,独立封闭区域个数1},字形(280)对应的组合集合为{独立连通区域个数3,独立封闭区域个数2}。这样,图2中的15个不同的字形对应了9种不同的组合集合,因而有9种编码状态,可以编为9种不同的码。
值得注意的是,字形组(200)包括的三种字形(2001)、(2002)、(2003)虽然字形的拓扑结构不一样(它们对应的“图”不同构),但它们对应的由独立连通区域个数与独立封闭区域个数形成的组合集合相同,根据本项编码方法的规定,应编为相同的码。同理,字形(2301)、(2302)、(2303)应有相同的编码,字形(2601)、(2602)、(2603)也应有相同的编码。同样的情况在图4中也存在,如图4所示,对字符“妈”的字形编码采用了本项编码方法,字形(431)、(435)的独立连通区域个数均为2,独立封闭区域个数均为1,编码值都为“01”,但字形(431)、(435)的拓扑结构是不同的。字形(433)、(437)的编码情况也类似上述例子。
4)基于独立连通区域个数与独立封闭区域个数的和的编码方法的具体实施方式:
如图2所示,汉字“启”的15种不同的字形中,字形(2001)、(2002)、(2003)包含的独立连通区域个数与独立封闭区域个数的和为1;字形(210)、(2301)、(2302)、(2303)包含的独立连通区域个数与独立封闭区域个数的和为2;字形(220)、(240)、(2601)、(2602)、(2603)包含的独立连通区域个数与独立封闭区域个数的和为3;字形(250)、(270)包含的独立连通区域个数与独立封闭区域个数的和为4;字形(280)包含的独立连通区域个数与独立封闭区域个数的和为5。这样,图2中的15个不同的字形对应了5种不同的独立连通区域个数与独立封闭区域个数的和,因而有5种编码状态,可以编为5种不同的码。
5)基于对独立连通区域个数除以整数后的余数进行编码的方法的具体实施方式
如果利用本项方法对图4中的字符“你”的4种不同字形(400)~(403)进行编码,假设整数取2,等价于对字形包含的独立连通区域个数的奇偶性进行编码,又假设独立连通区域个数为奇数的字符字形对应的编码为“1”,独立连通区域个数为偶数的字符字形对应的编码为“0”,则有以下结果:
如图4所示,字形(400)、(402)包含的独立连通区域个数为4,除以2后余数为0,即字形(400)、(402)包含的独立连通区域个数为偶数,它们的编码为“0”;字形(401)、(403)包含的独立连通区域个数为5,除以2后余数为1,即字形(401)、(403)包含的独立连通区域个数为奇数,它们的编码为“1”。这样,字符“你”的4种不同字形(400)~(403)按照本项方法进行编码后,对应了2种不同的编码状态,被编为2种不同的码。
6)基于对独立连通区域个数与独立封闭区域个数之和除以整数后的余数进行编码的方法的具体实施方法
如果利用本项方法对图2中的字符“启”的15种不同字形(200)~(280)进行编码,假设整数取4,独立连通区域个数与独立封闭区域个数之和除以4后余数为0的字形对应的编码为“00”,余数为1的字形对应的编码为“01”,余数为2的字形对应的编码为“10”,余数为3的字形对应的编码为“11”,则有以下结果:
如图2所示,字形(2001)、(2002)、(2003)包含的独立连通区域个数与独立封闭区域个数的和为1,除以4后余数为1,字形编码为“01”;字形(210)、(2301)、(2302)、(2303)包含的独立连通区域个数与独立封闭区域个数的和为2,除以4后余数为2,字形编码为“10”;字形(220)、(240)、(2601)、(2602)、(2603)包含的独立连通区域个数与独立封闭区域个数的和为3,除以4后余数为3,字形编码为“11”;字形(250)、(270)包含的独立连通区域个数与独立封闭区域个数的和为4,除以4后余数为0,字形编码为“00”;字形(280)包含的独立连通区域个数与独立封闭区域个数的和为5,除以4后余数为1,字形编码为“01”,与字形组(200)的编码相同。这样,图2中的15个不同的字形按照本项方法进行编码后,对应了4种不同的编码状态,被编为4种不同的码。综合应用多种编码方法进行编码的具体实施方法:
例如,对如图2所示的字符“启”的15种字形采用多种编码方法进行综合编码。
首先,利用“基于独立连通区域个数与独立封闭区域个数的组合集合的编码方法”进行编码,如前所述,15种字形有9种编码状态,可以编为9种不同的码。其中字形组(200)包括的三种字形(2001)、(2002)、(2003)的编码相同;字形组(230)包括的三种字形(2301)、(2302)、(2303)的编码相同;字形组(260)包括的三种字形(2601)、(2602)、(2603)的编码相同。
然后,再用“基于图结构的编码方法”对字形组(200)、(230)、(260)中的字形进行二次编码。假如采用基于无向图的编码方式,则字形组(200)包含的字形(2001)、(2002)、(2003)对应三种不同结构的“图”;则字形组(230)包含的字形(2301)、(2302)、(2303)对应两种不同结构的“图”,其中,字形(2302)、(2303)对应的“图”是同构的;字形组(260)包含的字形(2601)、(2602)、(2603)也对应了三种不同结构的“图”。经过两次编码后,图2中的15种字符字形有14中不同的状态,可编为14种不同的码。
对字符或字符串的字形进行统一编码的方法的具体实施方法:
本项编码方法的特点是在多个字符或字符串的多种字形(注:包括同一字符或字符串的多种字形)组成的集合范围内,利用同一种方法对字符或字符串的字形进行统一编码,字形编码值的确定规则在多个字符或字符串之间是统一的。
具体编码方法的确定可在本发明的“若干种对同一字符或字符串的多种字形进行编码的方法”基础上,将这些方法按照统一编码的规则扩展到多个字符的多种字形上。例如,采用“基于独立连通区域个数的编码方法”,对图4中的字符集合{“好”,“!”}的字形进行编码,字符“好”的字形(410)、(412)与字符“!”的字形(440)、(442)包含的独立连通区域个数均为2,编码值均为“0”;字符“好”的字形(411)、(413)与字符“!”的字形(441)、(443)包含的独立连通区域个数均为1,编码值均为“1”。字符集合{“好”,“!”}中的字符对应的字形与编码值的映射规则在不同字符之间是统一的,因而满足本项编码方法的要求。
相反,如果仍然采用“基于独立连通区域个数的编码方法”,对图4中的字符集合{“你”,“好”,“!”}的字形进行编码,图4中所示的字形与编码值的映射规则不满足本项编码方法的要求。这是因为编码值为0的字符“你”的字形(400)、(402)的独立连通区域个数为4,而编码值为0的字符“好”的字形(410)、(412)与字符“!”的字形(440)、(442)的独立连通区域个数均为2,字符“你”的字形与编码值的映射规则同字符“好”、“!”的映射规则不一致。同样,对于编码值为“1”的字符字形(401)、(403)、(411)(413)、(441)、(443)来说,字符“你”同字符“好”(或“!”)的字形与编码值的映射规则也不一致。由此可知,采用“基于独立连通区域个数的编码方法”,字符集合{“你”,“好”,“!”}如图4的字形编码值的确定方法不满足本项编码方法的要求。
又例如,如果采用“基于对独立连通区域个数除以整数后的余数进行编码的方法”,对上述字符集合{“你”,“好”,“!”}的字形进行编码,假设整数取2,则图4中所示的字形与编码值的映射规则满足本项编码方法的要求。由于整数取2,等价于对独立连通区域个数的奇偶性进行编码,又假设独立连通区域个数为奇数的字符字形对应的编码为“1”,独立连通区域个数为偶数的字符字形对应的编码为“0”,如图4所示:字形(400)(402)的独立连通区域个数为4,字形(410)(412)的独立连通区域个数为2,字形(440)、(442)的独立连通区域个数也为2,这些字形包含的独立连通区域个数除以2后为余数0,即这些字形包含的独立连通区域个数均为偶数,所以它们的编码是相同的,均为“0”。字形(401)(403)的独立连通区域个数为5,字形(411)(413)的独立连通区域个数为1,字形(441)、(443)的独立连通区域个数也为1,这些字形包含的独立连通区域个数除以2后为余数1,即这些字形包含的独立连通区域个数均为奇数,它们的编码是相同的,均为“1”。本例中,特别应该注意的是不同字符之间字形与编码值的映射规则是一致的,余数与字形编码值的映射关系在不同字符之间不能变化。由此可知,采用“基于对独立连通区域个数除以整数后的余数进行编码的方法”,字符集合{“你”,“好”,“!”}如图4的字形编码值的确定方法满足本项编码方法的要求。
由上可知,对于同样字符集合{“你”,“好”,“!”}的如图4所示的字形来说,不能采用“基于独立连通区域个数的编码方法”对该集合进行统一编码,而可以采用“基于对独立连通区域个数除以2后的余数进行编码的方法”对该集合进行统一编码。
基于对字符或字符串的字形分别编码的文本数字水印技术的具体实施方式:
图6以示例的方式显示了本项数字水印技术的水印信息加载与检测的原理。
如图6所示,从框图(600)、(601)到(610),再到框图(620)、(630),最后到框图(621)、(631)的流程表示水印信息加载的流程。该流程表示将数字水印信息“0101100”(600)加载到文本“你好,妈妈!”(601)中。首先,根据文本“你好,妈妈!”(601)中各字符的语义信息查询如图4所示的表,确定每一个字符携带水印信息的长度(位数),得到字符“你”、“好”、“!”携带水印信息的位数为一位;字符“妈”携带水印信息的位数为两位;字符“,”没有携带水印信息的能力。然后利用(610)所示的方法将水印信息进行分割,如框图(610)所示,字符“你”对应的水印信息为“0”;字符“好”对应的水印信息为“1”;字符“,”不对应任何水印信息(因为如图4所示,“,”没有携带水印信息的能力),前一个字符“妈”对应的水印信息为“01”;后一个字符“妈”对应的水印信息为“10”;字符“!”对应的水印信息为“0”。接下来再查询图4中的表,查找各字符字形编码等于该字符对应的水印信息的字形。如图4所示,在字符“你”的多种字形中,(400)、(402)的编码为0,对应水印信息“0”;在字符“好”的多种字形中,(411)、(413)的编码为1,对应水印信息“1”;在字符“妈”的多种字形中,(431)、(435)的编码为01,对应水印信息“01”,(432)、(436)的编码为10,对应水印信息“10”;在字符“!”的多种字形中,(440)、(442)的编码为0,对应水印信息“0”。字符字形与水印信息的对应结果如框图(620)、(630)所示。图6中,每个字符都有两个字形的编码等于该字符对应的水印信息,且这两个字形分别属于不同的字体风格:宋体和隶书。最后将相同字体风格的多个字符的字形组合起来,得到携带了水印信息“0101100”(600)的文本字符串(621)、(631),其中字符串(621)的字体风格为隶书,字符串(631)的字体风格为宋体。由于字符串(621)、(631)内部各字符之间的字体风格统一,加载数字水印信息“0101100”(600)后给人视觉上带来的影响很小。
图8显示了本项技术的数字水印信息检测的过程。带有数字水印信息的载体文件(800)通过字符语义识别系统(810)识别出原载体电子文件(820)。在此基础上,字符字形识别系统(830)对带有数字水印信息的载体文件(800)进行字符或字符串字形编码识别,识别出各字形的编码后,组合载体文件中各字符或字符串的编码就得到数字水印信息(840)。字符字形识别系统(830)需要利用字符语义识别系统(810)的识别结果进行字形编码识别的原因在于:在本项技术中,载体文件中的各个字符或字符串的编码方法可以不同,水印信息检测过程首先需要明确载体文件中各字符或字符串的特定的字形编码方法。因此,需要对载体文件中的各字符或字符串进行语义识别,通过语义信息查找如图4所示的编码表,确定各字符或字符串特定的字形编码方法,从而检测各编码方法对应的字形特征,进一步确定字形的编码。此外,也可直接利用原载体电子文件作为模板进行水印信息的检测。原载体电子文件模板(850)提供载体文件中字符或字符串各自的语义信息,结合字符字形识别系统(830)可进行字符或字符串特征及编码的识别,此时的水印信息检测过程是一个非盲水印检测过程。
例如,如果需要从图6所示的字符串(621)或(631)中检测出数字水印信息,检测系统需要知道组成字符串(621)或(631)的各字符的特定的字形编码方式。所以,检测系统首先应该识别出各字符的语义信息(包括人工识别),或者直接得到原载体电子文件,利用原载体电子文件作为模板提供字符的语义信息,然后,通过字符的语义信息获取各字符特定的编码方法。本例中字符“你”、“好”、“!”采用的是“基于独立连通区个数的编码方法”,字符“妈”采用的是“基于独立连通区个数与独立封闭区域个数的组合集合的编码方法”,字符“,”不携带水印信息。然后,检测系统根据各字符的特定字形编码方法,检测编码方法对应的字形特征,例如,应检测字符“你”、“好”、“!”的字形对应的独立连通区个数的字形特征,检测字符“妈”的字形对应的独立连通区域个数与独立封闭区域个数形成的组合集合的字形特征。检测字符字形特征的结果是得到相应的字符字形编码,字符串(621)、(631)中各字符字形与编码的对应关系如框图(620)、(630)所示。组合各字符字形的编码,得到字符串(621)、(631)携带的数字水印信息为“0101100”(600)。
需要说明的是本发明的编码方法对应的字形特征的检测方法,为现有成熟技术。例如,对字符或字符串字形映射的“图”的同构性判断,对字符或字符串字形包含的独立连通区域个数、独立封闭区域个数的计算,利用现有成熟技术可完成,这些技术不包含在本发明的范围内。
基于对字符或字符串的字形统一编码的文本数字水印技术的具体实施方式:
图7以示例的方式显示了本项数字水印技术的水印信息的加载与检测的原理。
如图7所示,从框图(700)、(701)到(710),再到框图(720)、(730),最后到框图(721)、(731)的流程表示水印信息加载的流程。该流程表示将数字水印信息“010”(700)加载到文本“你好!”(701)中。如图4所示,文本字符串“你好!”(701)中的各字符的编码方法相同(都采用“基于对独立连通区域个数除以2后的余数进行编码的方法”),且各字符携带的水印信息长度(位数)相同,不需要特别的水印信息分割处理,只需按顺序、等长度(位数)进行水印信息对应。如框图(710)所示,每个字符顺序对应水印信息“010”(700)中的一位信息。然后再查询图4中的表,查找各字符字形编码等于该字符对应的水印信息的字形。如图4所示,在字符“你”的多种字形中,(400)、(402)的编码为0,对应水印信息“0”;在字符“好”的多种字形中,(411)、(413)的编码为1,对应水印信息“1”;在字符“!”的多种字形中,(440)、(442)的编码为0,对应水印信息“0”。字符字形与水印信息的对应结果如框图(720)、(730)所示。图7中,每个字符都有两个字形的编码等于该字符对应的水印信息,且这两个字形分别属于不同的字体风格:宋体和隶书。最后将相同字体风格的多个字符的字形组合起来,得到携带了水印信息“010”(700)的文本字符串(721)、(731),其中字符串(721)的字体风格为隶书,字符串(731)的字体风格为宋体。由于字符串(721)、(731)内部各字符之间的字体风格统一,加载数字水印信息“010”(700)后给人视觉上带来的影响很小。
假设采用“基于对独立连通区域个数与独立封闭区域个数之和除以整数后的余数进行编码的方法”,对图3中的句子(350)中的单词(字符串)进行统一编码,整数取2,等价于对独立连通区域个数与独立封闭区域个数之和的奇偶性进行统一编码。又假设和数为奇数的字符串字形对应的编码为“1”,和数为偶数的字符串字形对应的编码为“0”,则句子(350)携带数字水印信息的情况是这样的:单词(3501)的独立连通区域个数与独立封闭区域个数之和为4,(3502)为13,(3503)为11,(3504)为2,(3505)为4,(3506)为2,(3507)为4,(3508)为7。可知单词(3501)、(3504)、(3505)、(3506)、(3507)独立连通区域个数与独立封闭区域个数之和为偶数,编码为“0”,单词(3502)、(3503)、(3508)独立连通区域个数与独立封闭区域个数之和为奇数,编码为“1”。这样,句子(350)中的单词(字符串)按从左到右的顺序对应的编码为“01100001”,而二进制数字“01100001”对应的ASC码为“a”,这相当于句子(350)携带了数字水印信息“a”(或二进制水印信息“01100001”)。
图9显示了本项技术的数字水印信息检测的过程。字符字形识别系统(910)对带有数字水印信息的载体文件(900)直接进行字形编码识别。由于带有数字水印信息的载体文件(900)中的各字符或字符串有共同的字形编码方法,可以直接检测与该编码方法对应的各字符或字符串的字形特征,进一步确定各字形的编码,组合载体文件中各字符或字符串的编码就得到数字水印信息(920)。整个水印的检测过程是一个盲水印检测过程,不需要获得原载体电子文件的模板,或者进行字符或字符串语义识别。
例如,如果需要从图7所示的字符串(721)或(731)中检测出数字水印信息,字符字形识别系统(910)根据统一的字形编码方法进行字符字形识别。例子中的字符“你”、“好”、“!”都采用了“基于对独立连通区域个数除以2后的余数进行编码的方法”(等价于“基于对独立连通区域个数的奇偶性进行编码的方法”),所以,字符字形识别系统(910)可以直接判断字符串(721)或(731)中各字符字形包含的独立连通区域个数的奇偶性,奇数编码为“1”,偶数编码为“0”。这个规则对各个字符都是相同的,从而可直接检测出字符字形对应的编码,不需要知道各个字符的语义信息,字符串(721)、(731)中各字符字形与编码的对应关系如框图(720)、(730)所示。组合各字符字形的编码,得到字符串(721)、(731)携带的数字水印信息为“010”(700)。
本项数字水印技术与“基于对字符或字符串的字形分别编码的文本数字水印技术”相比,本质的区别在于:在本项技术中,携带数字水印信息的载体文件中的各字符或字符串需要采用共同的字形编码方法,而对于“基于对字符或字符串的字形分别编码的文本数字水印技术”,载体文件中的各字符或字符串可以采用不同的字形编码方法。
一种处理字符或字符串字形的方法的具体实施方式:
本方法的实质是要能对载体文件中的字符或字符串字形的拓扑结构进行灵活、方便的放大或缩小。在水印信息的载体文件是电子文件的环境下,典型的实施方式是用矢量字体来设计字符或字符串的字形,如TrueType字体、工程绘图软件使用的矢量字体。矢量字体放大、缩小后其拓扑结构相应地放大或缩小。此外,还需要提供缩放字形的途径,常用的途径有:调整载体文件中字符或字符串的字号,例如,可利用字处理软件调整载体文件的中字体的字号大小;直接放大或缩小线形矢量字体的大小,例如,可任意放大、缩小许多工程制图软件中矢量字体的形状;调整载体文件的显示比例,例如,可方便地在Adobe Acrobat中调整PDF格式文件的显示比例。
当需要检测字符或字符串字形携带的水印信息时,应放大字形以增强检测效果。当正常使用载体文件时,应调整字形到一个恰当的大小,以减小水印噪声对人视觉的影响。例如,将图5按照1∶1的比例制作成PDF格式的电子文件后,在Adobe Acrobat软件中用100%的显示比例,字形(511)、(512)与(510)相比,有明显的水印噪声,但是,利用50%的显示比例,就人的感觉来说,字形(511)、(512)接近(510),用30%的显示比例,字形(511)、(512)与(510)给人视觉上的感觉几乎没有区别,水印噪声带给人视觉上影响很小。与此同时,字形的显示比例也不能太小,太小会影响人对字形本身的语义识别,图5中的显示比例小于20%后,会逐渐影响人对字形(511)、(512)语义的识别。所以,就图5中的例子来说,正常使用带有水印信息的载体文件时,应选择30%~60%的显示比例,这样,水印噪声几乎不会给人带来多大的视觉上的影响,也可正常辨别字形的语义信息。当要检测水印信息时,应放大字符或字符串字体,选择大于100%的显示比例来显示载体文件,这样,字符或字符串字体的拓扑结构非常清晰,可以增强水印信息的检测效果。在实际应用中,应根据具体情况缩放字形到合适的大小来正常使用(阅读、打印等)载体文件或进行水印信息的检测。
此外,可利用放大设备(如光学放大镜或电子放大镜等)将字形放大后进行水印信息的检测,可增强检测的效果,提高检测精度,这样的方法也可用于带有水印信息的载体文件是印刷品的情况下。
Claims (3)
1.一种隐藏数据通信方法,其特征是:
隐藏数据通信中利用字符或字符串的不同拓扑结构的字形来携带隐藏信息,其中,字符或字符串字形映射的数学学科“图论”中定义的“图”代表字符或字符串拓扑结构,映射为不同构的“图”代表字符或字符串拓扑结构不同。
2.一种文本数字水印技术,其特征是:
(1)将字符或字符串设计为不同拓扑结构的字符或字符串字形,并分别对载体文件中字符或字符串字形进行独立编码,数字水印信息嵌入到载体文件字形中,字形的编码用来表示数字水印信息;
(2)针对载体文件中的各字符或字符串在(1)中确定的各自的编码方法,分别检测载体文件中各字符或字符串的字形特征,以确定载体文件字形的编码,从而检测出数字水印信息。
3.一种文本数字水印技术,其特征是:
(1)将字符或字符串设计为不同拓扑结构的字符或字符串字形,并对载体文件中字符或字符串字形进行统一编码,数字水印信息嵌入到载体文件字形中,字形的编码用来表示数字水印信息;
(2)针对载体文件中的各字符或字符串在(1)中确定的共同的编码方法,统一检测载体文件中各字符或字符串的字形特征,以确定载体文件字形的编码,从而检测出数字水印信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510065893 CN1684115B (zh) | 2004-10-18 | 2005-04-20 | 基于字符拓扑结构的文本数字水印技术 |
PCT/CN2005/001703 WO2006042460A1 (fr) | 2004-10-18 | 2005-10-17 | Procede de communication de donnees masquees et son application dans une technologie de filigrane numerique textuel |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410040853 CN1601956A (zh) | 2004-10-18 | 2004-10-18 | 利用字符的字形特征携带水印信息的文本数字水印技术 |
CN200410040853.4 | 2004-10-18 | ||
CN 200510065893 CN1684115B (zh) | 2004-10-18 | 2005-04-20 | 基于字符拓扑结构的文本数字水印技术 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1684115A CN1684115A (zh) | 2005-10-19 |
CN1684115B true CN1684115B (zh) | 2011-03-23 |
Family
ID=35263434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510065893 Expired - Fee Related CN1684115B (zh) | 2004-10-18 | 2005-04-20 | 基于字符拓扑结构的文本数字水印技术 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN1684115B (zh) |
WO (1) | WO2006042460A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011021110A1 (en) | 2009-08-20 | 2011-02-24 | Nds Limited | Electronic book security features |
CA2753508C (en) | 2011-09-23 | 2013-07-30 | Guy Le Henaff | Tracing a document in an electronic publication |
CN104239753B (zh) * | 2014-07-03 | 2017-05-03 | 东华大学 | 云存储环境下文本文档的篡改检测方法 |
CN107423629B (zh) * | 2017-04-12 | 2020-10-27 | 北京溯斐科技有限公司 | 一种文件信息输出防泄密和溯源追踪的方法和系统 |
CN108830772A (zh) * | 2018-05-25 | 2018-11-16 | 珠海奔图电子有限公司 | 水印编码转换方法及装置 |
CN111294340B (zh) * | 2020-01-17 | 2022-05-17 | 河南芯盾网安科技发展有限公司 | 基于零宽字符的加密信息隐写方法 |
CN114756794A (zh) * | 2022-03-08 | 2022-07-15 | 深圳集智数字科技有限公司 | 一种网页信息反泄密方法及装置 |
CN116824598B (zh) * | 2023-08-24 | 2023-10-31 | 强企宝典(山东)信息科技有限公司 | 数字化文字作品版权保护的方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1404298A (zh) * | 2001-09-03 | 2003-03-19 | 佳能株式会社 | 图像处理装置和图像处理方法以及程序和存储媒体 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001053954A (ja) * | 1999-08-17 | 2001-02-23 | Ntt Data Corp | 情報埋め込み装置、情報読み出し装置、電子透かしシステム、情報埋め込み方法、情報読み出し方法及び記録媒体 |
US6769061B1 (en) * | 2000-01-19 | 2004-07-27 | Koninklijke Philips Electronics N.V. | Invisible encoding of meta-information |
JP3728209B2 (ja) * | 2001-01-30 | 2005-12-21 | キヤノン株式会社 | 画像処理方法及び装置及びコンピュータプログラム及び記憶媒体 |
-
2005
- 2005-04-20 CN CN 200510065893 patent/CN1684115B/zh not_active Expired - Fee Related
- 2005-10-17 WO PCT/CN2005/001703 patent/WO2006042460A1/zh not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1404298A (zh) * | 2001-09-03 | 2003-03-19 | 佳能株式会社 | 图像处理装置和图像处理方法以及程序和存储媒体 |
Also Published As
Publication number | Publication date |
---|---|
WO2006042460A1 (fr) | 2006-04-27 |
CN1684115A (zh) | 2005-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1684115B (zh) | 基于字符拓扑结构的文本数字水印技术 | |
CN110489760A (zh) | 基于深度神经网络文本自动校对方法及装置 | |
US4610025A (en) | Cryptographic analysis system | |
CN105426711A (zh) | 一种计算机软件源代码相似度检测方法 | |
Shirali-Shahreza et al. | Arabic/Persian text steganography utilizing similar letters with different codes | |
Yang et al. | Glyphcontrol: Glyph conditional control for visual text generation | |
CN105205355A (zh) | 一种基于语义角色位置映射的文本水印嵌入及提取方法 | |
CN103136195A (zh) | 翻译装置和翻译方法 | |
Muhammad et al. | Review on feature-based method performance in text steganography | |
CN102053955B (zh) | 一种符号输入的方法和系统 | |
CN100533359C (zh) | 甲骨文拼音与部件拆分输入法 | |
US20050080612A1 (en) | Spelling and encoding method for ideographic symbols | |
CN115455955A (zh) | 基于局部和全局字符表征增强的中文命名实体识别方法 | |
Kawtrakul et al. | A statistical approach to thai morphological analyzer | |
CN105487684B (zh) | 拼音汉字字符的输出方法和拼音汉字字符的输出装置 | |
CN103488616A (zh) | 一种内嵌字体处理方法与装置 | |
CN101238459A (zh) | 比较文本文件 | |
CN118278392B (zh) | 一种基于深度学习的中文拼写纠错方法及系统 | |
CN116402019B (zh) | 一种基于多特征融合的实体关系联合抽取方法及装置 | |
CN102722261A (zh) | 一种错字字形编辑、编码和输入系统及方法 | |
CN104182060A (zh) | 新笔画汉字输入法 | |
CN1836199B (zh) | 以词为单位的字符输入方法 | |
Rolfe | What is an IME (Input Method Editor) and how do I use it | |
CN100368966C (zh) | 楚雄彝文笔画输入法 | |
Bunčić | Proposal to include the letter ‘Old Polish O’ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110323 Termination date: 20180420 |
|
CF01 | Termination of patent right due to non-payment of annual fee |