基于文本特征的水印算法设计及关键技术研究

2013-09-17 10:31陈翔
微型电脑应用 2013年9期
关键词:笔划数字水印字符串

陈翔

0 引言

探寻最适当的水印嵌入算法,是数字文本水印首要去解决的。目前看来,市面上还没有任一种技术同时具备着良好的鲁棒性、较好的视觉体验、较高的抗攻击性以及大容量水印信息的存储等。

本文提及的文本水印研究的原理是对字符或字符串的拓扑结构进行调整,对语义相符的字符进行不同字形的设计,并按照拓扑结构作出相应的编码设置,通过相应的编码将数字水印信息逐一进行嵌入,从而实现新型文本数字水印技术。借助此种文本数字水印,能够更有利地对目前的文本数字水印技术中无法攻克的,比如水印给视觉上造成的影响,只能承载较少容量的文件,没有良好的鲁棒性等难题,这对那些印刷品及电子文件都能适用。

1 字形设计方法

字符的拓扑结构一直以来都没有一个明确的界定。在这同时,人们对字符意思的辨识中能自行对不同的变化做出调整。相同文字的拓扑结构能随着字体的差别或者人写字手法的特点进行改变,纵使拓扑结构有多少变化,人们都能够根据语义进行辨认。根据此特性,进行字符拓扑结构上的变化,即可以实现多种字符形式的同一字符(串)。

1.1 字符字形的设计方法

调整并更改字符的拓扑结构,是字形设计的主体思想所在,通过此来获取到多种字符外形的同一性。在设计过程中主要把握的是比较小的细部,这都将随之改变字符的拓扑结构。不论是何种改变字符拓扑结构的形式,只要在人的视觉能正常分辨的范围之内就是可取的。在此之内,对字符完整的笔划作出连断关系的调整,是比较常见的一种改变字符的拓扑结构方式。设计思路,如表1所示:

表1 汉字字符的多种字形

如上图所示,对字符“在,这,里”改变其笔划的连断关系,进而得到了多种不同的字形。不同的字形同时能够准确表达出同一个字符,但其拓扑结构却又存在着差异。其差异性体现在某些局部笔划的变动,笔划的调整则同时改变了笔划间的连断性,进而就直接影响到了字符的拓扑结构。从拓扑结构的角度出发,看似微小的笔划变化却构成较多的字符拓扑结构变化。图中不难发现,相同字符的不同字形设计能在某一单独风格中实现,比如说:字符“在”中的230和231。不同种字符的字形设计同样能在单个风格中得以实现,比如说:字符“在”中的230同字符“这”中的231。另外,同种字符的多种字形也能体现不同的风格,比如说:汉子“在”相同拓扑结构230和232能够对应“宋体”和“隶书”两种不同的字体风格。

1.2 字符串字形的设计方法

在字符串的字形设计上,通过对单一字符拓扑结构产生外边以外,还能利用字符串之间的连断关系的变化进行字符串拓扑结构的调整,同时还能结合起来进行设计。例如在英语单词上,改变其字符间的连断关系,进而达到改变整个拓扑结构的目的,设计形式,如图1所示:

图1 字符串的多种拓扑结构

把字符作为基本单位的数字水印算法时,单个字符作为了最小的存储单位。实际上,若想将字符串作为文本数字水印的基本单位,在此笔者推荐使用多个字符结合成一个单词作为其基本的单位组成,字符串的字形设计同样如此。特别的,拉丁字母为基础的方式能更加地为字符串携带文本数字水印信息带来了便捷。

1.3 字形设计的影响因素

1.3.1 字形编码的影响因素

在使用字形编码时,应将字符的字形同此融汇起来进行设计。利用此种方法设计字形拓扑结构应着重把握:调整字形拓扑结构后,能够产生出编码的变化。多样的字形设计过程中,首要把握的就是更多的进行拓扑结构的改变,以此就能有大量编码的获取,进而可以使数字水印的存储量大大提升。

1.3.2 人视觉的影响因素

在设计字形的过程中,还应当考虑尽可能避免对人视觉所产生的阻碍作用,在设计字形时不妨通过人自身心理上的感官认识和视觉习惯结合进行。比方说:要同字符固有的特性相关联,更可能的把笔划间连断关系作出调整,此种方式要优越于将单个字形的笔划分组来进行拓扑结构的改变。字符在进行调整时要注重到字符的外观不能有明显变化,只可在内部做适当的改变。同样的道理,在字符中笔划的表现较粗时,则尽可能的对细笔划的连断关系作出调整。

1.3.3 字体风格的影响因素

在设计字形的过程中,还要对字体风格上有所注重。其一,作为载体,一般都会对数字水印信息存储的字体风格有着统一性的规定,因而能够尽可能避免由于水印的附加给人的视觉带来的不便,这就强调了字符的不同字形要具备类似的宽高以及字体的自身风格。其二,因为一般情况下原文件中就存储了多样的字体风格,因此同样要根据字体风格的差异性,设计出一致的拓扑结构于同一字符之上,具备了字体风格的变化,就很好的延伸出字形设计的拓展性,在不调整数字水印检测方式的前提之下。

实际的数字水印系统内,还要按照实际的需求情况对以上因素综合分析来作出字形的最终设计。

2 仿真实验

如图2所示:

图2 水印加载示例图

x代表的是原有的载体文本文件,共计55字符,讲所有字符按照不同的拓扑结构进行调整,再按照它们表现出的图象做编码设置,基本单位以字符的方式把隐藏的数字水印信息带入。水印总量共计115字节,嵌入ASC码在前96字节当中,剩余的位数用0进行填充,所得图象如图Y。通过对比研究,不难看出x和Y中相对照字符有很大程度上的差异,是由于添加了水印所产生的作用。基本单位以字符串的方式把隐藏的数字水印信息带入,所得到图像如z所示,此组文本是利用字符间连断性和拓扑结构的调整所形成的,而且还在涵盖的独立性封闭区域、连通区域作奇偶关系的编码设置,嵌入的数据是水印x。

把图中嵌入水印后的字符的图像(Y)作为实验对象,分别作鲁棒性以及对人体视觉产生影响的实验验证。

文本水印研究的原理是对字符或字符串的拓扑结构进行调整,对语义相符的字符进行不同字形的设计,并按照拓扑结构作出相应的编码设置,通过相应的编码将数字水印信息逐一进行嵌入,从而实现新型文本数字水印技术。

文本水印研究的原理是对字符或字符串的拓扑结构进行调整,对语义相符的字符进行不同字形的设计,并按照拓扑结构作出相应的编码设置,通过相应的编码将数字水印信息逐一进行嵌入,从而实现新型文本数字水印技术。

2.1 鲁棒性实验

实验对象展开一下形式的操作:使用800dpi分辨率的扫描仪作扫描,再按1.4、1.1、0.7、0.5、0.2对图像进行缩放处理,把等比得到的电子图像存储后再按照85%、75%、55%、25%的压缩比例进行缩放处理,把等比得到的电子图像存储后再按照15度,45度,90度以及180度做旋转。然后使用800dpi分辨率分辨率的复印机作复印,在使用等比例方式进行扫描,使用3000000dpi的数码相机拍摄图像。在缩放时使用的是Matlab2012b软件imresize()函数进行的操作方法,用rotate()函数辅助图像的旋转。通过以上步骤获取的实验结果在水印数据的误码率上获取的数据,如表2所示:

表2 鲁棒性实验结果

很直观的可以发现:在对图像进行放大、复制、旋转和拍照等的时候,水印数据没有什么显著的变化,在缩小和压缩时水印还有鲁棒性的出现。

(二)视觉影响实验

抽取120名高中以上程度的人员,进行试验项目的测试。开始先让每位测试员以平常的阅读方式对图4(Y)进行阅读,将每人的阅读时间做好笔记,并分析出最大阅读时间以及平均值。然后再把这些人划成三组,每60人为一个小组,每人小组按照下面叙述的三个方法逐一参加实验:(1)先不透漏给参与测试的人员图像中是否有水印信息的存在,并于指定内的(10s,30s,60s及90s)发现对象中存在的差异性;(2)透漏给参与测试的人员图像中确有水印信息的存在,并且水印信息是附加于字符字形之内的,要求参与测试的人员在指定时间发现此组数据信息同常规状态下的信息有何差异之处;(3)把图3(x)一并给参与测试的人员观看,并要求在指定时间内比较出两者间存在的差异性。把全部的实验条件下能够徐找出实验对象的拓扑结构有调整的人员作出百分比方式的呈现。实验结果,如图3所示:

图3 视觉影响实验百分比图

很直观的能够发现:与无原载体的文本进行比较,调整后的字符拓扑结构给参与测试的人员带来的影响是轻微甚至不存在的,就算是为其做了原载体文件的参考,一般情况下的阅读内也几乎察觉不到明显的异常。造成视觉的影响程度和阅读时间的长短成正比,时间越短,影响就更小。

3 抗攻击性能分析

水印系统的攻击方式千变万化。单独地简约进行分类,可以将水印的攻击分成无意性攻击,即鲁棒性攻击及恶意性攻击,即安全性、系统的攻击。本文数字水印具备良好鲁棒性已在之前的实验中论证,攻击水印系统不再水印技术自身的领域之内,故本文不做出探讨。下面就常见的一些安全攻击展开研究,它大致包含修改、检测攻击及非授权去除等方式。

字符间存在较为显著的差别,通过人工智能方法对字符的拓扑结构做出改变的可能性是微乎其微的。所以以不对人的视觉造成影响和不对字符语义有所变动的基础上,能够实现的攻击方式则为人工修改。不难发现,采用人工的方式,对每个字符字形一一更改的代价是极其高昂的,它同人工录入的方式存在着悬殊的等级。按照有效的攻击准则来说,这种攻击不会被有经验的攻击者采纳,它往往起不到实际性的作用。

局部的去除性攻击才是攻击者常用的方法,攻击者对

其中的一段字符拓扑结构进行调整,试图让全部水印失去作用,进而实现水印去除的最终目的。通过扩频等技术制作出的水印,是能够在这种局部性水印数据攻击中起到一定的防护作用的,而决定其防范能力和纠错的准确与否,是同文本水印中误码率的多少密不可分的。

设修改一个字符拓扑结构的平均时间为TI,录入一个字符的平均时间是TZ,携带了水印的文本总字符数为N,/部分0去除攻击者可能修改的字符个数为n,字符平均水印容量为W,根据“有效攻击原则”:

把对某一字符拓扑结构的平均时间设置为T1,字符的单个录入时间为T2,文本总数的携带数量为N,局部性去除攻击者修改字符总数为n,水印的容量为W,按照有效供给原则:

攻击者要修改的字符数Max(n)=N*T2/T1,可以获得最大水印误码率为:

以此可以再深层的按照“最佳防范准则”做出水印的设计和纠正错误、进行选择性扩频等。

4 结束语

数字水印技术是涉及多个研究领域的交叉学科,有很强的理论性,学术界对该技术的研究方兴未艾。数字水印技术的应用性也非常强,工业界对其解决现实中的版权保护等问题充满期待。对比图像水印技术来讲,目前文本数字水印技术的研究与应用处于一种较为滞后的状态。该算法的原理是通过适当改变字符拓扑结构,设计出语义上相同的字符(串)的多种字形,并将这些字形的关键特征进行恰当的编码,利用这些编码来表示数字水印信息。

[1]李刚,杨杰.一种基于二值印刷图像的数字水印方案[J].上海交通大学学报,2005,39(4):570-573.

[2]张宇,刘挺,陈毅恒,等.自然语言文本水印[J].中文信息学报,2005,19(1):56-62.

[3]刘曼吴,孙堡垒,郭云彪.文本数字水印技术研究综述[J].东南大学学报,2007,37(1):225-230.

[4]刘超,孙星明,周新民.基于模糊聚类方法的盲文本水印算法研究[J].计算机应用研究,2007,24(2):148-150.

[5]孙星明,殷建平,陈火旺等.汉字的数学表达式研究[J].计算机研究与发展,2002,39(6):701-711.

[6]唐承亮,肖海青,向华政.基于文字RGB颜色变化的脆弱型文本数字水印技术[J].计算机工程与应用,2005(3 6):6-8.

猜你喜欢
笔划数字水印字符串
基于文本挖掘的语词典研究
基于网屏编码的数字水印技术
基于FPGA的数字水印提取系统设计研究
加笔划成新字
KD357:模拟汉字笔划的汉字键盘输入法
最简单的排序算法(续)
基于数字水印的人脸与声纹融合识别算法
一种新的基于对称性的字符串相似性处理算法
高效的top-k相似字符串查询算法
一种融合区域笔划和梯度笔划的油画生成方法