一种抗模拟域攻击的文本数字水印方法

文档序号:6542820阅读:175来源:国知局
专利名称:一种抗模拟域攻击的文本数字水印方法
技术领域
本发明涉及一种信息隐藏技术,尤其是一种抗模拟域攻击的文本数字水印方法,属于安全认证技术领域。
背景技术
数字水印作为一种新颖的信息隐藏技术,为解决开放性网络上的版权保护、来源认证、篡改认证、网上发行、用户跟踪和身份认证等一系列问题提供了崭新的解决思路。但现在人们大多把注意力集中到了针对数字图像、音频和视频的数字水印技术的研究,涉及到以文本图像作为载体的数字水印算法的研究和应用却很少。然而文本数字水印的应用需求十分迫切,尤其对于国家行政机关、大型商业组织之类的机构,常需要将文档分发给数量庞大的下属机构,由于多种因素,这些对接收的文档负有保护责任的下属机构可能会以打印、扫描、复印、缩印、传真、照片等多种形式泄露文档。如果在分发文档中加入唯一的水印信息用以标识各个下属机构身份,在截获了被泄露的文档后,便可实现泄露文档的源头侦讯。然而,以文本图像作为载体的数字水印算法有以下设计难点1)文本图像仅仅用简单的几种颜色就能表示整个图像,几乎没有什么纹理和细节可言,有的仅仅是不同的几何形状,利用这样的载体很难设计出符合数字水印要求的算法;2)文本图像内多为具有相同颜色值或灰度值的连续区域块,如果采用通常的修改某些选定像素颜色或灰度值的方法来嵌入水印信息,就可能会造成在相同颜色值或灰度值区域中出现肉眼可察觉的不同颜色或亮度的像素点,破坏了数字水印的隐蔽性和文本的美观性;3)针对文本的数字水印方法不但要在数字域有效,更需要在文本经过了一系列模拟域攻击(包括但不限于打印、扫描、复印、传真、缩放、拍摄等具有模数/数模变换的过程)后能够正确提取出嵌入的水印信息。
现有一般的电子加密技术或数字水印算法对于上述难点都没有进行很好的解决。

发明内容
本发明为解决上述设计难点,目的在于提供一种抗模拟域攻击的文本数字水印方法,采用这种方法的嵌入的水印信息具有很强的鲁棒性,在经历各种模拟域攻击造成的噪声、旋转、平移、缩放、字边缘模糊等变化后,仍能正确提取水印。该数字水印方法的这种强鲁棒性不仅对数字域文本图像有效,对模拟域的文本硬拷贝(如纸质文档)也是有效的,而且嵌入水印后的文本具有良好的美观性和水印隐蔽性。
本发明是通过以下技术方案达到上述目的一种抗模拟域攻击的文本数字水印方法,包括以下步骤a)嵌入水印前预处理;
b)水印嵌入;c)提取水印前预处理;d)水印提取判决;具体过程如下a)嵌入水印前预处理本发明中的数字水印方法的对象为只包含文本内容的文本图像,文本存在行间隔区和字间隔区,可利用这个特点划分出矩形字块。对于某些字块内部在水平方向上存在间隔区而被错分为多个部分字块的情况,将部分字块进行合并。然后进行字块的筛选,依次检查各个字块是否同时满足事先设定好的对字宽、复杂度和完整性设定的要求1)字宽E,字宽的单位为像素,需满足E>23(Em)-3,]]>且E<(Em+3),Em为字体、字号及打印分辨率固定的完整字块在文本图像中的最大字宽;2)复杂度,复杂度的定义是字块内前景色像素点数量与字块内所有像素点数量的比值,复杂度的要求大于1/15;3)完整性的要求为字块不能为一个不完整的汉字、字母或者符号。如满足条件则添加到可嵌入水印字块集合,用于后续的水印嵌入和水印提取。
接着进行水印嵌入字块序列的生成通过密钥和伪随机序列可以在可嵌入水印字块集合中选出水印嵌入字块,水印字块必须满足与左右两侧的最邻近字块的间距大于等于1/50英寸,并且此字块左右两侧都存在属于可嵌入水印字块集合的字块。这两个字块为定位字块,其位置在水印嵌入过程中不会被移动(一旦某字块被选为定位字块便不会再被选为水印嵌入字块),提取水印时用于判断确定水印嵌入字块的相对位置变化。根据嵌入水印信息的多少依次选择足够数量的水印嵌入字块构成水印嵌入字块序列。
b)水印嵌入将水印信息二值化序列按比特嵌入水印嵌入字块序列,分别对应水印比特为1或0的情况,将水印嵌入字块在水平方向上往左或右整体移动一定的距离(移动距离需大于等于1/100英寸),依次嵌入所有比特则完成水印信息的嵌入,水印信息视应用需要可以包含纠错码和校验码。
c)提取水印前预处理用于提取水印的文本图像可能经过了包括模拟域攻击在内的各种操作,导致其前景色和背景色与原始图像相比都发生了变化。为了正确区分前景区(文本区)和背景区,首先需要对水印图像(嵌入水印的文本图像)进行二值化,然后依照与a)嵌入水印前预处理中同样的规则对水印图像进行字块划分,但是不进行字块划分的合并、筛选等后续操作。接着对原始数字域文本图像(未嵌入水印的文本图像)进行与嵌入水印时完全相同的字块的划分,并生成同样的水印嵌入字块序列,通过坐标变换计算出水印图像中对应各个水印嵌入字块的位置,实现水印图像中水印嵌入字块序列的粗定位。鉴于粗定位结果与实际值存在微小的差别,需要通过搜索水印图像中的字块划分,找出与粗定位结果差别最小的即得到准确位置。a)嵌入水印前预处理中选取水印嵌入字块时确保了水印嵌入字块左右两侧均存在定位字块,由原始图像的水印嵌入字块序列生成对应的定位字块序列,按照类似的粗定位加搜索的方法,可以得到水印图像中所有定位字块的准确位置,生成与水印嵌入字块序列对应的定位字块序列。
所述对水印文本图像的水印嵌入字块序列和定位字块序列中的字块进行粗定位的方法根据该字块在原始图像中的的位置坐标、该字块在原始图像中的所在文字行的左右两端的横坐标,以及该文字行在水印文本图像中对应文字行的左右两端的横坐标,由坐标变换计算出在水印文本图像中对应字块的粗略位置坐标。
所述的通过搜索获取字块准确位置的方法为在水印图像中,用字块通过粗定位得到的的左端横坐标与字块所在文字行内所有字块的左端横坐标计算偏差量,偏差量最小的即为所搜索字块的左端横坐标准确值;在水印图像中,用字块通过粗定位得到的的右端横坐标与字块所在文字行内所有字块的右端横坐标计算偏差量,偏差量最小的即为所搜索字块的右端横坐标准确值。
水印图像由于经历了一系列模拟域攻击,不可避免引入了噪声、旋转、平移、缩放、字边缘模糊等变化,字块宽度及字块间隔都受到了影响,如果采用与原始图像相同的方法进行字块合并、筛选,很容易产生错误。而在原始图像中的操作是完全精确且可重现的,可利用原始图像划分、合并、筛选出的字块来获取水印图像中的水印嵌入字块和定位字块,这种粗定位加搜索的方法可使水印算法对包括模拟域攻击在内的各种攻击有更强的鲁棒性。
d)水印提取判决通过水印文本图像中每个水印嵌入字块相对于原始图像的位置变化关系,可判断水印嵌入字块在嵌入水印比特时是往左移还是往右移,对应嵌入规则即可提取其中嵌入的水印比特,依次提取出所有水印嵌入字块序列中的水印比特得到嵌入的水印信息。
由水印嵌入字块及其定位字块的质心,分别可以计算出在水印图像和原始图像中水印嵌入字块与两侧定位字块质心间距离的比值。从原始图像到水印图像,这个比值因为水印嵌入字块被往左或右平移而发生了变化,可以根据其变化关系判断出相对于水印嵌入字块的平移方向,再对照嵌入规则即可确定嵌入水印比特为1还是0。根据实际情况可以进行纠错、校验码校验等后续处理。
质心在字块内的相对位置抗旋转、平移和缩放,水印嵌入字块与定位字块的质心间距抗平移和旋转,而水印嵌入字块和左侧定位字块质心间距与水印嵌入字块和右侧定位字块质心间距的比值是抗旋转、平移、缩放的,并且在遭受到各种模拟域攻击后也不会发生很大的变化。采用字块间质心的相对位置变化关系来进行水印信息的提取,使得本发明中的数字水印方法具有很强的鲁棒性,可以有效抵抗各种模拟域攻击,正确提取出所嵌入的水印信息。
本发明的有益效果1.本发明给出了一种针对文本图像的抗模拟域攻击的数字水印方法,巧妙地利用了文本图像具有行间隔区和字间隔区的特点,以划分出的字块作为嵌入目标,简洁而有效地嵌入了水印信息;
2.通过移动字块的水平位置来嵌入水印信息,具有良好的美观性和隐蔽性,避免了在背景色区中产生前景色点或者在前景色区中产生背景色点造成的对视觉效果的影响;3.采用水印嵌入字块与左右两侧的定位字块的相对位置与原始图像相比的变化关系来嵌入和提取水印信息,并巧妙结合了使用字块的质心来计算字块之间的距离的方法,可以有效抵抗各种模拟域攻击造成的噪声、旋转、平移、缩放、字边缘模糊等变化;4.采用密钥和伪随机序列来生成水印嵌入字块序列,在置乱水印信息二值序列的同时使得嵌入字块的位置也是变化的,提高了水印信息的安全性;5.提取水印时,以数字域图像中的字块为参照进行粗定位,然后在水印图像中进行搜索得到准确的水印嵌入字块及其定位字块,避免了模拟域攻击造成的字块划分错误,有效提高了水印提取的准确率。


图1为本发明的水印嵌入的流程图;图2为本发明的水印提取判决流程图;图3为实施例1中用于嵌入水印的原始数字域文本图像;图4为对图3嵌入水印信息后的数字域水印图文图像;图5为用图4打印后再扫描得到的灰度水印文本图像;图6为嵌入水印前对图3中一行文字进行字块划分的示意图;图7为图3中的一个数字水印字块及其定位字块的示意图。
具体实施例方式实施例1下面结合实际文本图像的水印嵌入和水印提取判决过程,通过实施例对本发明作进一步阐述图1为本发明的水印嵌入的流程图,图2为本发明的水印提取判决流程图,图3为仿宋字体、小三号字号、A4纸型电子文本生成的300dpi分辨率、尺寸为2481×3509像素的bmp格式二值原始文本图像I;图4为以整数211为伪随机序列的种子密钥,将整数94728对应的长度为20比特(不够20比特高位补0)的二进制序列(嵌入前加入了12比特的纠错信息,最终的水印信息为32比特)嵌入图3得到的水印图像Iw(这里的密钥和水印信息可以任意指定,并非特殊值);图5为图4通过普通激光打印机以300dpi分辨率打印,再经普通扫描仪以300dpi分辨率扫描得到的bmp格式256级灰度的灰度水印文本图像I′,尺寸为2550×3509像素。(实例中的具体参数仅为说明而设,应用中可视实际情况来定,以下描述雷同)本发明中的数字水印方法的整个嵌入和检测过程可细分按如下步骤进行描述a)嵌入水印前预处理;b)水印嵌入;c)提取水印前预处理;d)水印提取判决。
a)嵌入水印前预处理I为原始数字域文本图像1,背景色(如白色)表示为W,前景图像(文字内容,如黑色)表示为B。首先通过行划分来确定该行文字内所有字块上下两端的位置坐标,然后在划分出的文字行内利用字间隔区确定字块左右两端的位置坐标,从而实现所有字块的划分。首先利用文字行间隔区来进行行划分2,以原始图像I的左下角的像素为坐标原点(0,0)建立直角坐标系,对原始图像I在竖直方向上进行横向投影,也即统计每一像素行(这里的行不是指一行文字,而是指一行像素)具有前景色像素的个数,这样得到有3509个元素的一维数组ProY[],ProY[i]表示纵坐标为i的像素行的前景色像素个数(i以及在后面出现的所有数组的元素编号都从0开始)。在文本图像的边缘空白部分以及行与行之间的空白间隔区ProY[i]为零,而各行文字所在的区域ProY[i]不为零。从纵坐标为0的像素行开始依次检查数组ProY[](由于直角坐标系的原点在原始图像I的左下角,原始图像I的行顺序为从下至上),当ProY[i]>0且ProY[i-1]=0时,表明行i为一行文字的起始像素行;当ProY[i+1]>0且ProY[i]=0时,表明行i为一行文字的结束像素行。扫描完3509行之后,得到I中有22行文字,并获取了各文字行的起始像素行和结束像素行坐标,以二位数组RowPos[22][2]表示,其中RowPos[j]
表示文字行j的起始像素行纵坐标,RowPos[j][1]表示文字行j的结束像素行纵坐标。至此完成I的行分割。
以一行文字为例说明进行字块划分3的过程对文字行j,取出由RowPos[j]
和RowPos[j][1]限定的文字矩形区,在水平方向上进行垂直投影,统计每一像素列的前景色像素个数,得到有2481个元素的一维数组ProX ,其中ProX[k]表示横坐标为k的像素列的前景色像素个数。从横坐标为0的像素列开始依次检查ProX[],当ProX[k]>0且ProX[k-1]=0时,表明列k为一个字块的起始像素列;当ProX[k+1]>0且ProX[k]=0时,表明列k为一个字块的结束像素列。以文字行0(即”系列报道”)为例,划分出6个字块,用数组WordPos[22][6][2]表示,WordPos[j][n]
表示文字行j内的字块n的起始列横坐标,WordPos[j][n][1]表示文字行j内的字块n的结束列横坐标。对WordPos
[][]检查可知,字块1和字块2分别为“列”这个字的左右部分,对其进行字块合并4,得到最后的5个字块,合并前后的划分结果如图6所示。每个字块由其左上角坐标X(left,top)和右下角坐标Y(right,bottom)确定。这里每个字块具体由WordPos[j][n][2]和所在行的RowPos[j][2]四个值限定,也即左上角坐标X(left,top)=(WordPos[j][n]
,RowPos[j][1]),右下角坐标Y(right,bottom)=(WordPos[j][n][1],RowPos[j]
)。按照同样的方法可以完成其它行的字块划分以及部分字块的合并。
通过检查划分出的字块是否同时满足字宽、复杂度和完整性的要求,可将诸如‘,’、‘1’、‘一’之类过于简单的字块,及某些未得到合并的部分字块剔除掉,完成字块筛选4。剩下的字块构成可嵌入水印字块集合Q,用于后续的水印嵌入和水印提取。这里可嵌入水印字块集合内的字块需满足如下条件1)字宽E,字宽的单位为像素,E>23(Em)-3,]]>且E<(Em+3),Em为字体、字号及打印分辨率固定的完整字块在文本图像中的最大字宽,本实施例中字宽为大于38像素小于64像素;2)复杂度。复杂度的定义是字块内前景色像素点数量与字块内所有像素点数量的比值,要求大于1/15;3)完整性。要求字块不能为一个不完整的汉字、字母或者符号。
水印嵌入字块序列的生成5选择一定数量的行,将这些行中属于可嵌入水印字块集合Q的字块连接成一个序列A,通过密钥K 6和伪随机序列可以在序列A中选出一个字块s,判断这个字块是否同时满足如下条件此字块之前未被选中为水印嵌入字块;在原始图像I中可嵌入水印字块s左右两侧最邻近位置都存在属于可嵌入水印字块集合Q的定位字块f1、f2(用于在提取水印的时候判断水印嵌入字块的平移方向),且这两个字块都不是水印嵌入字块;s分别与f1、f2的距离都要超过一定的阈值t,以避免在移动之后字块发生重叠或者字块间隔变化太明显影响视觉效果,t根据字体和字号的不同而有所变化,可事先指定或自适应计算得到。如上述条件同时满足将s添加到水印嵌入字块序列,否则寻找下一个字块,直到得到长度为M的水印嵌入字块序列S={sj(xj,Yj),j=1,2,...,M}为止,超过一定数量的搜索次数则表示无法找到足够的字块嵌入水印。在多行文本中,可以以一定数量的文字行为基数开始生成S,如生成S失败则增加文字行重试,成功生成S则从下一行开始尝试生成另一个S以重复嵌入水印信息。根据文本的嵌入能力不同,可生成最多为p(p>=0)个S,用于重复嵌入相同的水印信息以提高信息冗余度,信息冗余度能有效提高水印提取的准确率和鲁棒性。
要嵌入的水印信息为32比特二进制序列,以4行文字作为基数开始尝试生成S,以序号为0-3的文字行为例,将这4行内属于Q的字块按行序号由小到大,行内字块由左到右的顺序连成一维字块序列A,本例中这里的A的长度为62。以密钥211作为伪随机序列的种子产生随机数random,以random%62(求模运算)计算出一个A内的字块的位置序号iPos,检查iPos对应的字块需同时满足以下条件未被选为水印嵌入字块,左右两侧最近邻的定位字块都属于A且没有被选为水印嵌入字块,与左右两侧的最邻近字块的空白间隔大于等于1/50英寸,具体在本实施例中300dpi的分辨率下为6个像素以上。如果满足则将其选为水印嵌入字块,添加到S中,否则以伪随机序列寻找下一个嵌入字块。如果连续5000次都没有找到新的字块添加到S中,表示不能找到足够的字块,则增加一行重新生成A进行尝试。在本例中,0-3行的A有62个字块只能生成23个满足条件的水印嵌入字块,0-4行A有83个字块成功生成32个字块长的S0。以5-8行开始尝试生成下一个S,最后的结果为5-9行,10-15行,16-20行都分别成功生成了不同的S1、S2、S3,这样在本文本中可以重复嵌入4次水印信息。
b)水印嵌入这里以S0为例说明水印信息嵌入过程7,要嵌入的水印信息8为需要保护的重要信息二值化序列C={cj,j=1,2,...,M}∈{0,1},这个重要信息可以包括纠错码和检验码,视不同的应用而定。这里要嵌入的整数94728以20比特二进制表示,加上12比特的纠错码构成要嵌入的32比特水印信息。S0={sj(Xj,Yj),j=1,2,...,32}中的每个字块sj为WordPos[j][n][2]和所在行的RowPos[j][2]四个值所限定的矩形区域,这里j表示所在文字行的行号,n为在文字行内的字块序号。加入纠错码的32比特二进制水印信息为C=“00010111001000001000101100001100”,按照由低位到高位的顺序将水印比特嵌入(最低位为c0,最高位为c31),如果水印比特cj=1,将对应的水印嵌入字块sj整体往左平移3个像素,如果水印比特cj=0,将对应的水印嵌入字块sj整体往右平移3个像素。至此完成对S0进行水印嵌入的过程,依照同样的步骤可以对S1、S2、S3嵌入同样的水印信息,生成数字域的水印图像10——Iw。
c)提取水印前预处理通过普通激光打印机以300dpi分辨率打印Iw,再经普通扫描仪以300dpi分辨率扫描得到的bmp格式256级灰度图I′,尺寸为2550×3509像素。为便于有效区别前景图与背景图,对I′进行二值化,这里采用的阈值为指定的经验值150,(阈值也可由自适应方法确定)即对图像中的每一个像素,如果其灰度值小于150,判定为前景区像素,令其灰度值等于0(黑点),否则判定为背景区像素,令其灰度值为255(白点)。
由于打印扫描过程9势必容易引入噪声,尤其是在背景区中的噪声会导致字块合并、筛选发生错误,需要进行一步去噪处理,如果水印提取失败可人工检查是否有去噪处理未去除的大的噪声点、非文本内容的污迹以及字块的粘连等,可随后进行人工修复。实验表明本发明中的水印方法对文本图像在(-0.5度,0.5度)范围内的旋转有鲁棒性,不需要作任何配准处理。
接下来在灰度水印文本图像I′中进行水印嵌入字块及对应的定位字块的提取14。首先对原始图像I进行与嵌入水印时完全相同的字块划分3,并使用同样的密钥6和伪随机序列提取出水印嵌入字块序列S5,对灰度水印文本图像I′也进行同样的行划分11和字块划分12,但是不进行部分字块的合并等后续操作。以原始图像I为模板,按照如下方法提取灰度水印文本图像I′中的水印嵌入字块序列S0′14设原始图像I中一个被嵌入水印的字块s∈S,其所在行V最左端前景色像素和最右段前景色像素的横坐标分别为D和E,I′中的对应行V′中最左端前景色像素和最右段前景色像素的横坐标分别为D′和E′。s的左端和右端的横坐标为L和R,根据平移和缩放关系由坐标变换计算出在V′中对应的字块s′的左端横坐标L′和右端横坐标R′,计算公式如下L′=(L-D+1)·(E′-D′+1)/(E-D+1)+D′-1;(1)R′=(R-D+1)·(E′-D′+1)/(E-D+1)+D′-1。
以上公式得出的L′和R′与实际值有一定的差别。为得到L′和R′的精确值,用计算出的L′和R′分别同V′中已划分出的字块的左端横坐标和右端横坐标计算偏差量,找出差别最小的即为L′和R′的真实值。依次可以找出I′中的所有水印嵌入字块。在a)中选取水印嵌入字块的时候,其中的一个条件是Q中存在两个定位字块f1和f2分别位于左右两侧,按照计算s′同样的方法,可以得到s′左右两侧的定位字块f1′和f2′。定位字块的提取非常简单,在成功生成s时,此时对应的字块序列A中s左右两侧的最邻近字块,即为定位字块f1、f2。
这里对I使用相同的伪随机序列种子密钥整数211和伪随机序列得到完全相同的水印嵌入字块序列S0、S1、S2、S3。以S0为例,生成的定位字块序列F0表示为F0={(f1j,f2j),j=1,2,..,32}。在获取I′中的水印嵌入字块序列S0′和定位字块序列F0′,需要利用行间隔区和字间隔区对灰度水印文本图像I′进行初步的字块划分,但是不进行部分字块的合并等后续操作。
这里以s0∈S0为例,在I中s0在行2中被框出的字“金”,其左上角坐标为(1210,706),右下角坐标为(1271,641),如图7所示,所在行2最左端的前景色点横坐标为379,最右端为2097,此行前景区的宽度为2097-379+1=1719。对应的I′中的行2的最左端和最右端前景色点横坐标分别为411、2084,其前景区宽度为2084-411+1=1674。可以看出经过模拟域攻击后I′中的行2与I中的行2相比发生了平移和缩放(产生的旋转量很小,不影响水印提取)。根据平移和缩放关系,利用公式(1)可以计算出s0在I′中对应的水印嵌入字块s0′的左右两端的横坐标分别为L′=1220,R′=1279。计算出的L′和R′与实际值存在一定的偏差,用L′和R′分别与I′中s0′所在行2中的所有字块的左端横坐标和右端横坐标计算偏差量,找到偏差量最小的即为L′和R′的真实值。这里I′的行2有28个字块,通过搜索得到真实值L′=1223,R′=1283,与计算值1220和1279的偏差量分别为3和4,再加上其所在行2的上下纵坐标687和751则限定了字块s0′,其左上角坐标为(1223,751),右下角坐标为(1283,687)。按照同样的方法可以得到I和I′中所有水印嵌入字块及其左右两侧定位字块,其中s0的定位字块如图7所示。
d)水印提取判决按照水印信息二值化序列C的嵌入顺序,水印提取15的过程为对s∈S及对应的s′∈S′,f1,f3,f1′,f2′,分别计算各个字块的质心ZS,ZS′,Z1,Z2,Z1′,Z2′。以s的质心计算为例,s由其左上角坐标(left,top)和右下角坐标(right,bottom)限定,则其质心为Zs=Σy=topbottomΣx=leftrightPx,yB(x,y)Σy=topbottomΣx=lefttightB(x,y)---(2)]]>这里Px,y为矢量(x,y), 水印嵌入字块s的选取标准保证了在其左右两侧都存在定位字块f1和f2,并且f1和f2不会被选为水印嵌入字块,也即f1和f2的水平位置是不会发生变化的。如果s被左移了,则s靠近左侧定位字块f1而远离右侧定位字块f2;如果s被右移了,则s远离左侧定位字块f1而靠近右侧定位字块f2。s、f1、f2的质心之间的相对位置关系就能够反映s相对于f1和f2平移的方向,也就可以提取出嵌入的水印比特。质心在字块内的相对位置是抗旋转、平移和缩放的,s分别与f1,f2的质心的距离是抗平移、旋转的,因此,可得到s和f1的质心的距离与s和f2的质心的距离的比值是抗旋转、平移、缩放的。可以由ZS,ZS′,Z1,Z2,Z1′,Z2′按如下公式判断字块的平移方向
如果Ratio=D(ZS′,Z1′)D(ZS′,Z2′)/D(ZS,Z1)D(ZS,Z2)>1,]]>则水印嵌入字块s被左移了;(3)如果Ratio=D(ZS′,Z1′)D(ZS′,Z2′)/D(ZS-Z1)D(ZS-Z2)≤1,]]>则水印嵌入字块s被右移了。
这里D(Z1,Z2)表示Z1,Z2两点的欧式距离。
对照水印信息嵌入时的规则,可以知道s往左移,往右移分别对应的水印比特是1还是0,进而可以提取出完整的水印信息。根据实际情况可以进行纠错、校验码校验等后续处理。
s0′字块其左上角坐标为(1223,751),右下角坐标为(1283,687);左侧定位字块左上角坐标为(1092,751),右下角坐标为(1147,687);右侧定位字块左上角坐标为(1288,751),右下角坐标为(1339,687)。原始图像I中s0字块其左上角坐标为(1210,706),右下角坐标为(1271,641);左侧定位字块左上角坐标为(1078,706),右下角坐标为(1134,641);右侧定位字块左上角坐标为(1279,706),右下角坐标为(1332,641)。按照公式(2)分别计算以上6个字块的质心,结果为s0′质心(1252.55,714.736),s0′左侧定位字块质心(1117.97,720.988),s0′右侧定位字块质心(1312.09,716.948),s0质心(1240.31,669.198),s0左侧定位字块质心(1106.21,675.004),s0右侧定位字块质心(1304.22,671.273)。
按照公式(3)可以计算出Ratio=0.8615<1,判断为水印嵌入字块被右移了,按照嵌入水印的对应规则,字块被右移代表嵌入水印比特为0。按照同样的步骤可以提取出所有水印嵌入字块中嵌入的水印比特,将其按照顺序连成二进制序列,进行纠错便可得到水印提取结果16。在本实施例中S0、S1、S2、S3中都能正确提取出嵌入的整数94728。
权利要求
1.一种抗模拟域攻击的文本数字水印方法,其特征在于,包括以下步骤a)嵌入水印前预处理对原始文本图像内的字块进行划分、合并、筛选生成可嵌入水印字块集合,从可嵌入水印字块集合中选出水印嵌入字块,形成水印嵌入字块序列;b)水印嵌入通过每个水印嵌入字块位置的水平移位来嵌入1比特的水印信息,将水印信息的二值化序列依次嵌入原始文本图像选出的水印嵌入字块序列中,得到加入水印的水印文本图像;c)提取水印前预处理对水印文本图像区分前景区和背景区;对水印文本图像进行与步骤a)中相同的字块划分,并利用原始文本图像的水印嵌入字块序列及其定位字块序列辅助生成、定位水印图像中的水印嵌入字块序列及其定位字块序列;d)水印提取判决根据水印文本图像中每个水印嵌入字块相对于原始图像的水印嵌入字块的移位提取水印信息,进行判决。
2.根据权利要求1所述的抗模拟域攻击的文本数字水印方法,其特征在于,所述字块的划分是依靠文本图像中的行间隔区和字间隔区来进行字块划分,所述字块的合并是对字块内部在水平方向上存在间隔区而被错分为多个部分字块的,进行字块合并,所述字块的筛选是指字宽、复杂度和完整性同时满足预先设定的要求的字块,才可进入可嵌入水印字块集合。
3.根据权利要求2所述的抗模拟域攻击的文本数字水印方法,其特征在于,所述字块的筛选时对字宽、复杂度和完整性设定的要求为1)字宽E,字宽的单位为像素,需满足E>23(Em)-3,]]>且E<(Em+3),Em为字体、字号及打印分辨率固定的完整字块在文本图像中的最大字宽;2)复杂度,复杂度的定义是字块内前景色像素点数量与字块内所有像素点数量的比值,复杂度的要求大于1/15;3)完整性的要求为字块不能为一个不完整的汉字、字母或者符号。
4.根据权利要求1所述的抗模拟域攻击的文本数字水印方法,其特征在于,生成水印嵌入字块序列中每个水印嵌入字块时,确保该字块左右两侧同时存在不是水印嵌入字块的定位字块,而且必须与左右两侧的字块的间距分别都大于等于1/50英寸。
5.根据权利要求1所述的抗模拟域攻击的文本数字水印方法,其特征在于,所述的水印嵌入字块序列的形成由密钥和伪随机序列来控制。
6.根据权利要求1所述的抗模拟域攻击的文本数字水印方法,其特征在于,两种不同的二值水印信息的定义通过将原始文本图像中选定的水印嵌入字块往左移动,移动距离需大于等于1/100英寸,嵌入水印信息为“1”的一个比特信息,往右移对应嵌入的水印信息为“0”的一个比特信息;反之亦可。
7.根据权利要求1所述的抗模拟域攻击的文本数字水印方法,其特征在于,所述的定位字块为可嵌入字块集合中位于水印嵌入字块左右两侧且与该水印嵌入字块最邻近的两个字块。
8.根据权利要求1-7任一权利要求所述的抗模拟域攻击的文本数字水印方法,其特征在于,在水印提取前,以对原始文本图像进行划分生成的水印嵌入字块序列和定位字块序列的位置坐标为参照,对水印文本图像的水印嵌入字块序列和定位字块序列中的字块进行粗定位,再通过搜索水印文本图像得到水印嵌入字块序列和定位字块序列中的各个字块的准确位置。
9.根据权利要求8所述的抗模拟域攻击的文本数字水印方法,其特征在于,所述对水印文本图像的水印嵌入字块序列和定位字块序列中的字块进行粗定位的方法根据该字块在原始图像中的位置坐标、该字块在原始图像中的所在文字行的左右两端的横坐标,以及该文字行在水印文本图像中对应文字行的左右两端的横坐标,由坐标变换计算出在水印文本图像中对应字块的粗略位置坐标。
10.根据权利要求9所述的抗模拟域攻击的文本数字水印方法,其特征在于,所述的通过搜索获取字块准确位置的方法为在水印图像中,用字块通过粗定位得到的左端横坐标与字块所在文字行内所有字块的左端横坐标计算偏差量,偏差量最小的即为所搜索字块的左端横坐标准确值;在水印图像中,用字块通过粗定位得到的右端横坐标与字块所在文字行内所有字块的右端横坐标计算偏差量,偏差量最小的即为所搜索字块的右端横坐标准确值。
11.根据权利要求10所述的抗模拟域攻击的文本数字水印方法,其特征在于,在水印提取时,通过判断水印文本图像中的水印嵌入字块与左右两侧定位字块的相对位置与原始图像中的水印嵌入字块与左右两侧定位字块的相对位置相比的变化关系来提取水印嵌入信息。
12.根据权利要求11所述的抗模拟域攻击的文本数字水印方法,其特征在于,在水印提取时,所述的水印嵌入字块的位置用质心坐标来表示。
全文摘要
本发明涉及一种抗模拟域攻击的文本数字水印方法,包括以下步骤a)嵌入水印前预处理对原始文本图像内的字块进行划分、合并、筛选,形成水印嵌入字块序列;b)水印嵌入将水印信息的二值化序列依次嵌入原始文本图像选出的水印嵌入字块序列中,通过每个水印嵌入字块位置的水平移位来嵌入1比特的水印信息;c)提取水印前预处理对水印图像进行与a)中相同的字块划分,利用原始文本图像辅助生成、定位水印图像中的水印嵌入字块序列及其定位字块序列;d)水印提取判决根据字块的移位提取水印信息,进行判决。这种数字水印方法嵌入的水印信息具有很强的鲁棒性,而且嵌入水印后的文本具有良好的美观性和水印隐蔽性。
文档编号G06T1/00GK1801707SQ200510060488
公开日2006年7月12日 申请日期2005年8月25日 优先权日2005年8月25日
发明者裘正定, 罗斌, 尹树田, 张云明, 梁源松, 高鹏, 何一兵 申请人:杭州天谷信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1