一种隐形编码检测方法

文档序号:6601087阅读:178来源:国知局
专利名称:一种隐形编码检测方法
技术领域
本发明涉及计算机通信安全领域,尤其涉及信息隐藏技术领域。
背景技术
随着计算机通信技术的普及,利用网络传送电子文件变得越来越普遍。然而,电子 文件却容易使他人轻而易举地复制及传播,甚至被篡改。因此,为了保障电子文件的安全 传输,人们利用密码学的加解密技术,通过软件或者硬件加解密文档,保护电子文件的安全 性。但是加解密技术不能保证电子文件解密后的复制及传播的问题。为了解决这个问题, 1995年,人们提出了信息隐藏技术,即在文档中隐藏某些不可见的、可以表明某些特性,如 版权信息,使电子文档在复制及传播过程中得到保护及追踪。其中,数字水印是近年来比较 热门的技术。数字水印(Digital Watermark)技术是指用信号处理的方法在数字化的多媒体数 据中嵌入隐蔽的标记,这种标记通常是不可见的,只有通过专用的检测器或阅读器才能提 取。数字水印是信息隐藏技术的一个重要研究方向。嵌入数字作品中的信息必须具有以下基本特性才能称为数字水印隐蔽性在数字作品中嵌入数字水印不会引起明显的降质,并且不易被察觉。隐藏位置的安全性水印信息隐藏于数据而非文件头中,文件格式的变换不应导 致水印数据的丢失。鲁棒性所谓鲁棒性是指在经历多种无意或有意的信号处理过程后,数字水印仍 能保持完整性或仍能被准确鉴别。可能的信号处理过程包括信道噪声、滤波、数/模与模/ 数转换、重采样、剪切、位移、尺度变化以及有损压缩编码等。
在数字水印技术中,水印的数据量和鲁棒性构成了一对基本矛盾。从主观上讲, 理想的水印算法应该既能隐藏大量数据,又可以抗各种信道噪声和信号变形。然而在实际 中,这两个指标往往不能同时实现,不过这并不会影响数字水印技术的应用,因为实际应用 一般只偏重其中的一个方面。如果是为了隐蔽通信,数据量显然是最重要的,由于通信方式 极为隐蔽,遭遇敌方篡改攻击的可能性很小,因而对鲁棒性要求不高。但对保证数据安全来 说,情况恰恰相反,各种保密的数据随时面临着被盗取和篡改的危险,所以鲁棒性是十分重 要的,此时,隐藏数据量的要求居于次要地位。目前,典型的数字水印算法是把目标数据待嵌入信息都转换为图像来处理,下面 列举一些典型的数字水印算法1.最低有效位算法(LSB)是L. F. Turner和R. G. van Schyndel等人提出的第一 种数字水印算法,是一种典型的空间域信息隐藏算法。特定的密钥通过m序列发生器产生 随机信号,然后按一定的规则排列成2维水印信号,并逐一插入到原始图像相应像素值的 最低几位。由于水印信号隐藏在最低位,相当于叠加了一个能量微弱的信号,因而在视觉和听觉上很难察觉。LSB水印的检测是通过待测图像与水印图像的相关运算和统计决策实现 的。Stego Dos,White Noise Storm、STools等早期数字水印算法都采用了 LSB算法。LSB 算法虽然可以隐藏较多的信息,但隐藏的信息可以被轻易移去,无法满足数字水印对于鲁 棒性的要求,因此现在的数字水印软件已经很少采用LSB算法了。不过,作为一种大数据量 的信息隐藏方法,LSB在隐蔽通信中仍占据着相当重要的地位。2. Patchwork算法是麻省理工学院媒体实验室Walter Bander等人提出的一种 数字水印算法,主要用于打印票据的防伪。Patchwork数字水印隐藏在特定图像区域的统计 特性中,其鲁棒性很强,可以有效地抵御剪切、灰度校正、有损压缩等攻击,其缺陷是数据量 较低,对仿射变换敏感,对多拷贝平均攻击的抵抗力较弱。3.纹理块映射编码纹理块映射将水印信息隐藏在图像的随机纹理区域中,利用 纹理间的相似性掩盖水印信息。该算法对滤波、压缩和扭转等操作具有抵抗能力,但需要人 工干预。4. DCT (离散余弦)变换域数字水印算法DCT变换域数字水印是目前研究最多的 一种数字水印,它具有鲁棒性强、隐蔽性好的特点。其主要思想是在图像的DCT变换域上选 择中低频系数叠加水印信息。之所以选择中、低频系数,是因为人眼的感觉主要集中在这一 频段,攻击者在破坏水印的过程中,不可避免地会引起图像质量的严重下降,一般的图像处 理过程也不会改变这部分数据。由于JPEG、MPEG等压缩算法的核心是在DCT变换域上进行 数据量化,所以通过巧妙地融合水印过程与量化过程,就可以使水印抵御有损压缩。此外, DCT变换域系数的统计分布有比较好的数学模型,可以从理论上估计水印的信息量。5.直接序列扩频水印算法扩频水印算法是扩频通信技术在数字水印中的应用。 与传统的窄带调制通信方法不同,扩频通信将待传递的信息通过扩频码调制后散布于非常 宽的频带中,使其具有伪随机特性。收信方通过相应的扩频码进行解扩,获得真正的传输信 息。扩频通信具有抗干扰性强、高度保密的特性,在军事上应用广泛。事实上,扩频通信也 可以看作是一种无线电密写方法。抛开其信息论方面的理论依据不讲,单从感知的角度考 虑,扩频通信之所以具有保密性,就在于它将信息伪装成信道噪声,使人无法分辨。扩频水 印方法与扩频通信类似,是将水印信息经扩频调制后叠加在原始数据上。从频域上看,水印 信息散布于整个频谱,无法通过一般的滤波手段恢复。如果要攻击水印信息,则必须在所有 频段上加入大幅度噪声,这无疑会严重损害原始数据的质量。6.其他变换域数字水印算法变换域数字水印并不局限于DCT变换域或傅立叶 谱,只要能很好地隐藏水印信息,一切信号变换都是可行的。近年来,有很多学者尝试用小 波变换或其他时/频分析的手段,在时间/尺度域或时/频域中隐藏数字水印信息,取得了 比较好的效果。评价一种数字水印算法优劣的主要依据包括1.抗干扰能力(鲁棒性)数字水印技术对于鲁棒性有一定的的要求,即它可以抵抗第三方的攻击或正常的、标准的数据操作和变换。换句话说,即使攻击者知道传递的数据 中包含隐藏的重要信息,但也无法将其提取出来,或在不严重损坏宿主数据的情况下难以 将水印破坏掉。鲁棒性测试实际上是一个主动攻击过程,主要测试数字水印对数据同步的 依赖程度、抗各种线性和非线性滤波的能力,以及抵御几何变换等其他攻击的能力。2.信息嵌入量能否在有限的原始信息数据中嵌入足够的特定标示信息。
3.信息隐藏度(对原始信息的干扰程度)数字水印的信息量与隐蔽性之间存在 着矛盾,随着水印信息量的增加,作品的质量必然下降。隐蔽性测试需要对水印算法的信息 量与能见度进行评估,给出水印信息量与数据降质之间的准确关系。对于图像、声音等多媒 体数据质量的评估不能仅依据信噪比、峰值信噪比等信号处理中的指标,必须依赖视觉和 听觉的生理模型,否则就不具有科学性,这不仅是数字水印也是数据压缩的基本准则之一。
4.安全性安全性测试主要是对破解水印算法的时间及复杂性进行评估,以此作 为水印安全性的指标。上面描述的几种典型的数字水印技术,一般是把待标识的信息,即水印信息,通过 图像处理的方法嵌入。比较适合应用于将标识信息嵌入图像、视频、音频等媒体。这种技术 把文件看作是一般性的流式媒体或者平面媒体,不区分文字信息和其他信息。处理的时候 一般通过频域变换,时域变换等做图像处理。一般这些处理都是通过变换人眼不易觉察的 图像中的信息,如高频信息,来达到嵌入水印的目的。这样的方法类似于JPEG压缩等算法。 但是传统数字水印方法没有考虑特定类型文档如电子文档的特点,因此在应用到特定领域 的时候,就显得抗干扰能力不够强。比如对于电子公文传输来说,电子公文基本上是二值图 像,图像没有灰度等级。这种文档如果采用普通的数字水印技术,会带来两个问题1.文档输出质量会降低,二值图像对频域变换非常敏感,而电子公文类的文件要 求文字清晰,白底黑字,不适合做整体的图像变换。2.打印输出的电子公文在传播过程中最容易通过复印来进行,而基于图像细节变 换的数字水印技术对于复印和扫描产生的干扰非常敏感,这使得水印信息丢失严重,如果 在传播过程中再经过污染,裁剪,浸泡等干扰之后,水印信息丢失会更严重,会造成水印不 可识别,因此,传统数字水印技术不适合在电子公文中应用。

发明内容
本发明的目的在于提供一种隐形编码检测方法,可以提高检测的准确性和匹配速度。本发明提供的隐形编码检测方法,包括对待识别文件进行扫描,生成图像文件;其中,所述待识别文件为待检测文档或其 碎片,其中,通过对原始文档上全部或部分字进行版式变形嵌入隐形标识获得所述待检测 文档;生成原始文档的图像;将待识别文件以及原始文档的图像分别做OCR识别;根据对待识别文件和原始文档的图像的OCR识别结果,得到待识别文件的每个字 和原始文档的每个字的对应关系;根据待识别文件的每个字和原始文档的每个字的对应关系,对待识别文件中的每 个字的版式变形进行判别。在定位碎片相对于原文档的位置时,如果仅将碎片做OCR,然后再将OCR结果与原 文档匹配,那么很有可能会出现这样的情况由于OCR识别不准确以及文字顺序不匹配等原因,导致得出碎片与原文档不匹配的错误结论。而在本发明中,先将原文档转成图片,将 碎片和原文档图片均做0CR,对碎片和原文档的OCR识别结果一定是相同的,即使OCR识别不准确,碎片中的文字和原始文档中的文字也是同时错误,这样将OCR结果进行比较,也能 正确快速的定位出碎片在原文档中的位置。另外,无论OCR识别文字的顺序如何,其对碎片 和原始文档的图片识别一定是一样的,同样,在对OCR结果进行比较时,也能快速的定位出 碎片在原文档中的位置。


图1是本发明隐形编码嵌入方法的概略图;图2是本发明隐形编码检测方法的概略图;图3是本发明隐形编码嵌入方法的基本流程图;
图4是本发明隐形编码检测方法的基本流程图。
具体实施例方式下面结合附图对本发明的具体实施方式
进一步详细说明。下面给出本发明中所涉及到的一些术语的含义。版式文件通过描述文档中可见元素(文字,图形,图像)的位置,大小,形状等外 观信息来确定元素的显示打印效果的格式文件。相对于排版文件,比如Word,书版,PPT, Excel, AutoCAD等来说,版式文件只记录了版式信息,文档更精简,可以从各种可打印的排 版类型文件转换而来。冗余编码在数据之外增加冗余的数据,该数据是原数据的综合的结果,当原数据 在传输过程中因为各种偶然因素发生损失或者变化时,可以通过验证冗余数据,或者利用 冗余数据推算出原始数据的部分或者全部。OCR:光学文字识别技术,通过识别图像中的文字部分,分析出文字的编码和位置。本发明主要是通过对含有文字的文档中的文字的版式——文字的尺寸、排版位 置及字体一一进行细微的调整,从而将一部分额外的信息隐性地嵌入到文档当中。这些额 外的信息可以是对文字(包括数字等)的细微调整。所有的信息在嵌入到文档之前都要被编码,最终所有的信息都是以编码的形式嵌 入到文档中。由于每种文字的版式变形都可以单独地被利用而独立地完成隐藏信息的工 作,所以对于一份含有文字的文档,每种版式变形都形成一种通道,所有的通道可以并行地 嵌入信息。比如在一份文档中要嵌入的信息是3个独立的数字“9”、“8”、“7”,那么可以分 别在文字尺寸变形的通道中嵌入“9”,在文字位置变形的通道中嵌入“8”,在文字字体变形 的通道中嵌入“7”。也可以在3个通道中都嵌入“9”、“8”、“7”,从而利用各通道之间的相互 验证,加强信息隐藏的稳定性。为了增加编码的容错性和抗干扰性,上述编码可以采用冗余编码,如BCH算法或 RS算法。上述对文字的版式变形包括对文档中文字个体的变形,包括,对文字的尺寸、文字 的排版位置、字体的改变。其中所述文字的尺寸的改变包括在文字的高度、宽度或其组合上 的变化;所述文字的排版位置的改变包括在文字的纵向位置、横向位置或其组合上的变化; 所述字体的变化包括在笔划长短、笔划形状、笔划之间相对位置、笔划粗细、笔划斜率或其 组合上的变化。
由于通道的版式变形的级别根据需要会有所变化,所以每个通道采用的编码的码 制会根据版式变形级别的不同而有所不同。比如,文字尺寸变形通道中,如果只采用文字 变大和不变两种级别,那么这个通道的编码码制就是二进制;如果采用文字变大1/3英寸、 1/5英寸、不变和缩小1/5英寸四种级别,那么这个通道的编码码制就是四进制。如果某 个通道采用二进制编码,要嵌入通道的信息是数字“9”,那么要嵌入通道的隐形编码就是 1001。也就是说文档中至少要有4个文字才能保证信息的完整嵌入。对于隐形编码的检测,一个基础条件就是进行隐形编码检测的这一方和把隐形编 码嵌入的那一方,都同样知道隐形编码的嵌入规则,特别是对于嵌入时使用的每个通道的 版式变形级别以及每种特定码制的编码规则。比如一个通道的版式变形级别为两级,那么 此通道的编码码制为二进制,同时确定编码采用4位定长编码,那么如果嵌入的信息是数 字“9”,则其对应的隐形编码为1001 ;如果嵌入的信息是数字“2”,则其对应的隐形编码为 0010。在确定了嵌入与检测双方对嵌入规则有共同理解的基础上,首先需要将获得的待 识别文件通过扫描和OCR识别后,将其转换为与原始文档相同格式的电子文档。其中,待识 别文件指的是需要识别的纸质文件或者它的碎片。在待识别文件转换为与原始文档相同格式后,将待识别文件的电子文档与原始文 档做匹配,确定待识别文件中的每个文字对应于原始文档中的位置。比如原始文档有1000 个字,待识别文件是原始文档的一部分碎片,只包含5个字“我们这一群”。那么就需要使用 碎片匹配方式,来比对出“我们这一群”这5个字在原始文档中出现的位置。比如“我们这 一群”这5个字只在原始文档中的第177到第181个字的位置得到了匹配,也就是说原始文 档中只有第177到第181个字的位置出现过“我们这一群”这5个连续的文字。在确定了待识别文件中的文字与原始文档的对应位置关系后,就可以逐个地比对 待识别文件中的每个字与原始文档中的字之间在版式上的差别,并把每种辨识出来的差别 做标记。依然使用前面的例子,用待识别文件中“我们这一群”这5个字逐一与原始文档中 的第177到第181个字进行比对。假设嵌入规则是文字尺寸变形通道,版式变形级别为两 级,即变大和不变,变大代表1,不变代表0,且编码为4位长的定长编码。通过计算机进行对 比,假设得出的对比结果依次是不变、不变、变大、变大、不变,那么从这5个字的对比结果 可以检测出的编码序列是00110。根据嵌入规则,由于已知编码的定长是4位,4x44 = 176, 所以可以计算出第177位是隐形编码的开始位置,即5个字中的“我”字是隐形编码的开始 位置,所以可以知道嵌入的隐形编码是0011。在上述实施方式中,也可以通过人工方式判别待识别文档的版式变形,确定字的 变化编号;也可以通过计算机和人工结合的方式进行判别,即,在通过计算机的方式进行判 别得到一个对比结果后,再通过人工方式进行判别,对其中计算机判别可能存在错误的地 方进行调整,如,在上面的例子中,当通过计算机方式判别得到的结果是00111时,而通过 人工方式判别认为第5位的“1”是错误的,则可以根据人工判别将第5位的“1”修改为“0”。对于本发明,一种特殊的使用方法是,在一份包含文字的文档的所有通道中,嵌入 相同的信息一一正整数。这种应用主要用在对同一份文档要打印出多份纸质文件时,对 每份打印出的文件嵌入一个隐形的标识,用来追踪确认打印文件的出处从而防止文件的泄
r t [ o
7
下面以这种特殊应用的具体实施例来详细描述本发明。图1是本发明的隐形编码嵌入方法的概略图。本发明的隐形编码算法技术包括嵌 入隐形编码和检测隐形编码两个阶段。嵌入隐形编码阶段的设计主要解决两个问题一是 隐形编码的设计。这里所说的隐形编码,就是指未来将要嵌入到电子文档中的那段标识。在 本发明的算法中使用不同的整数作为标识来辨识不同的个体,即对于每一文档,嵌入的隐 形编码是一个整数,标识了文档对象的唯一。整数的最大位数为文档可以支持的识别空间 的大小,比如,嵌入的最大整数为65536,则表明可以从65536个不同变形的文档中区分出 特定一个文档。其中标识(也就是隐形编码)的长度涉及到标识在被嵌入的文档中所占位 的长度。被嵌入的标识越长,则检测标识时从被嵌入的文档中选取的信息(文字)就越多。 二是嵌入方法,嵌入算法的目标是使隐形编码在不可见性和鲁棒性之间找到一个较好的折 中。也就是说,嵌入到文档中的隐形编码越简单,则这个隐形编码对文档的影响越小,也就 是它的可见性越小,但是由于隐形编码简单,它的抗干扰能力会越差,鲁棒性越差;而相反, 如果隐形编码越复杂,则它的抗干扰性就越强,鲁棒性越好,但是由于隐形编码复杂,会对 嵌入文档产生更大的影响,使不可见性变差。在嵌入算法中,我们要做的主要是版式变形的 选择,参数的设定,编码算法等设计,这将在后面详细描述。图2是本发明隐形编码检测方法的概略图。检测隐形编码阶段主要是设计一个相 应于嵌入过程的检测方法。检测的结果或是原隐形编码,即嵌入的标识,或是基于统计原理 的检验结果,即在无法唯一确定的情况下,给出可能的标识范围,具体解释见后面。检测的 目标是使错判与漏判的概率尽量小。图3是隐形编码嵌入方法的基本流程图。首先,步骤1,根据需要确定待嵌入隐形编码的文件份数N,即区分的标识的个体 空间N。其中在每份文件中嵌入不同的标识作为隐形编码,以便能够通过隐形编码区别每份 文件。步骤2,选择版式变形版式变形包括对文档中文字个体的变形。将版式变形分成几类,每类版式变形作 为一个通道,其中每类版式变形存在多个级别,这些级别的多少即是嵌入算法中的参数的 设定,如字体大小变换,如果变换为大中小三种,则此时的参数为3。对文件中的文字个体可以采用如下的几类版式变形(1)细微调节版式文件中的文字的大小,如,修改文字的尺寸,包括放大,缩小,错 切等,在水平和垂直方向做不等比例放缩;(2)细微移动文字的位置,如,修改文字的排版位置,包括水平移动,垂直移动,以 及任意角度的移动等;(3)使用定制字体对文字变形,该定制字体和文字在文件中的原字体很接近,只有 细微的差别,包括笔画粗细的变化,笔画角度的变化,笔画连接关系的变化,部首间距的变 化等;步骤3,选择需要进行版式变形的字及字数,根据为每份文件选择的标识,对文字 个体的版式变形进行编码。确定编码方案后,利用编码方案进行文字变化编码。当版式变 形只有一类,即只有一个通道,而需要辨别的空间有M种,即需要嵌入隐形编码的文件有M 份时,在不做冗余编码的情况下,采用N进制编码,N为一种版式变形的子区分,比如字体变形,如果使用N种字体,即该类版式变形有N个级别,则编码为N进制。这时,原文档中需要 纳入编码变化的文字至少有LlogN(M-l)」+l,即原文档至少有LlogN(M-l)」+l的字。当每 份需要嵌入隐形编码的文件中共有K个文字,则可以采用LlogN(M-l)」+l个编码循环应用 到K个文字,总共可以嵌入K/ (LlogN(M-l)J+l }次,得到一份嵌入隐形编码的文件。例如,目前有1份文档的9份复制件需要同时加入隐形编码,采用2进制进行编 码(文字的变换方法有两种),即用0表示不变形,用1表示文字放大1/300英寸。那么M =9,N = 2,Llog2(9-l)」+l=4,所以编码的长度为4。也就是说,当文字的变化方式只有两 种时,这份文档的9份打印件要想唯一地被识别,那么文档最少要有4个字。现假设文档中 有8个文字,则隐形编码总共可以被嵌入了 2次,即8除以4等于2,即每次给4个字嵌入编 码,如果8个字都嵌入编码,则需要循环2次,得到一份嵌入隐形编码的文件。例如,当前述 嵌入隐形编码的文件的编码序列是01010101时,它表示对序列号为1,3,5,7的文字不做变 形,对序号为2,4,6,8的文字做1/300英寸的放大。前述编码方案中,对每一种通道均可使用Ll0gN(M-1 )J+1这个公式来计算出编码 的长度,即文档中至少有LlogN(M-l)」+l的字。对于不同的通道,N取值可能不同,如文字 大小变化通道,即将文字变大、不变,则N为2。而文字横向偏移通道,即将文字左偏、不偏、 右偏,则N为3。在上面的步骤3中,可以采用多个通道对文字进行编码变化(每种编码是对文字 的一种变换而言,如文字变换大小是一种,而文字平移是另外一种变换)。同一类文字变形 方法作为一个通道。多个通道,即多种类版式变形方法,可以应用到一个文字上。比如可以 同时放大一个文字,并改变字体为字体F2。两种变化互相不影响的话,识别的时候也可以分 离各个通道的信息。各个通道的识别结果可以通过求交集来缩小识别的结果范围。不同类 的版式变形,对不同的干扰的抵抗能力是不同的,例如,字体变化抗折叠干扰比较好,但是 抗模糊处理比较差,而字体放缩抗折叠比较差,但抗模糊处理比较好。因此采用多通道的编 码(变形)方案,可以抵抗各种干扰。为了在一定程度上纠正识别错误,可以采用冗余编码方案对编码做冗余,如,利用 目前通讯领域比较成熟的BCH算法和RS算法。这两种算法都是在有效的数字标识位后,添 加几位冗余编码,这几位冗余编码中记录了前面有效的数字的一些特性。在有效的数字标 识被干扰产生错误时,可以根据冗余编码中记录的特性来重新恢复有效的数字标识。其中, 对于二值的编码通道(即对于本通道,文字的变换只有两种),BCH比较理想。对于多值的 编码通道,RS比较理想。经过上述步骤,形成包含隐形编码的电子文档。图4为隐形编码检测方法的基本流程图。如图4所示,对根据图3所示的方法嵌 入隐形编码的文档进行隐形编码检测的方法,包括如下步骤在步骤1,对获取待识别文档进行扫描,生成一个图像文件。在步骤2,将原始文档生成不变形的图像后保存到内存中,同时把在步骤1中得到 的待识别文件也作为图像,与原始文档生成的图像同时做OCR识别;其中OCR是光学文字识 别技术,其通过识别图像中的文字部分,分析出文字的编码和位置。
9
在步骤3,对OCR识别结果用碎片匹配方法进行处理,得到待识别文件的每个字和 内存图像每个文字的对应关系;碎片匹配算法主要的目的,是确定所得到的待识别文件中 的内容是原文件中的哪部分内容,也就是用待识别文件与原始文档作比对定位。由于原始文档在打印时所用的顺序和OCR识别的顺序不一定一致,所以采用与碎 片匹配算法类似的方法得到原版式文件的每个字和内存图像每个字的对应关系。如,当出 现多个待识别文件时,使用此方法分别定位每个待识别文件在原文件中的位置。这样编码 时用到的原始文档就和解码时所用到的待识别文件的文字对应上了。在步骤4,对碎片中的每个字的版式变形进行判别,标记上每个字的变形编号,并 确定所属通道;例如,(1)对待识别文件中的每个字进行横向变形的判别,标记上每个字的变形编号,确 定为通道一;(2)对待识别文件中的每个字进行纵向变形的判别,标记上每个字的变形编号,确 定为通道二;(3)对待识别文件中的每个字进行OCR字模判别,标记上每个字所使用的字模编
号,确定为通道三;等等。在步骤5,对每一个通道,根据已知的编码长度以及碎片中每个字与原文的对应关 系得到所述编码的每一位的统计结果;由于在编码时,一段编码可能会在整个文档中被重复了多次(重复次数可以根据 上述隐形编码嵌入方法的步骤3中的公式进行计算),所以,可以得到这个编码的每一位的 统计结果;在步骤6,对每一个通道,对根据统计结果所得到的编码进行解码,得出打印时的 标识ID ;a)若从统计结果中得到的是一个完整编码,则可将这个编码进行解码,得出电子 文档打印时的标识ID ;b)若从统计结果中得到的不是一个完整编码,但是所缺的编码位数在纠错范围 内,也可以直接进行解码,利用BCH或者RS编码的纠错能力得到打印时的标识ID ;c)若从统计结果中得到的不是一个完整编码,且所缺的编码位数超过了纠错范 围,则枚举缺失的编码位的所有组合,形成可能的编码集合,并通过纠错码的筛选得出一个 可能的标识ID的集合。这是由于冗余编码的纠错能力是有限的,只可以校验出L位有效数 字中的S位(S < L),所以如果最终所得到的碎片中缺失的编码位数大于S,就需要使用上 述方法获得一个可能的标识ID的集合。在步骤7,对各个通道计算出的标识ID进行汇总,以确定所获取的待识别文件的 打印时的标识,从而识别该文件或碎片是多份打印文件中哪一份。当对一份文件的多个通道使用相同的标识时,如果对多数的通道所计算出的标识 是同一个标识ID,则此标识ID就是打印时的标识ID ;若各通道计算出的标识ID不相同,则 将各通道计算出的标识ID值列出来,由人工根据碎片所受干扰方式不同来决定标识ID。当所有通道中没有一个通道得到完整编码,则从各个通道得出的可能ID的集合 中取一个交集,该交集便是最有可能的ID的集合。当怀疑通过上面的分析过程产生的文档 ID存在误差时,可以进入人工调整界面,人为地来设定一些字的变化编号,而不一定使用由计算机识别出来的文字变化编号,在人工调整完毕后,转到步骤5继续执行,直到得到所述 的标识ID。本发明可以根据需要,不同的通道可使用相同的标识,也可以使用不同的标识;一 份文件可以只有一个标识,也可以有不止一个标识。本发明把手工识别和自动识别结合起来。对于软件自动识别中,软件无法区分的 某些文字变形,可以通过放大和对比来人工指认单个文字是否变形和变形方法,从而纠正 自动识别的错误,增加识别的可靠性。下面通过一个具体实施例具体说明本发明的方法。现在同一文档,如电子公文,要复制9份,这9份文件中要加入隐形编码从而加以 区分。目前我们使用3种对文字的微调变形方法,即对文字的横向变形、纵向变形和字 模变形,将它们作为3个编码通道,分别形成隐形编码共同作用于同一份文档。也就是说, 复制出来的同一个字可能会有横向、纵向和字模三种变化。第一通道为文字横向变形,横向变形存在3种变形-变大、不变、变小;第二通道为文字纵向,纵向变形存在2种变形-变大、不变;第三通道为字模变形,字模变形存在2种变形_宋体、仿宋。因此,第一通道,即横向编码通道使用3进制表示,第二和第三通道,即纵向和字 模编码通道都使用2进制表示。根据编码方案公式LogN(M-lXJ+l,则M = 9。因此,对于横向通道N = 3,其编码
长度为Llo&(9-l)」+1=2,即所述编码方案最多可以嵌入32 = 9份文件;对于纵向和字模
通道N = 2,这两个通道的编码长度均为Llo&(9-l)」+1=4,即所述编码方案最多可以嵌入 24= 16 >9份文件。因为需要嵌入隐形编码的文档份数为9,所以,横向通道的编码分别为3进制 00 (十进制整数 0),01 (1),02 (2),10 (3) ,11 (4), 12 (5),20 (6),21 (7),22 (8);纵向通道和 字模通道的编码为二进制0000 (十进制整数0),0001 (1),0010 (2) ,0011 (3)……1000 (8)。 其中,横向通道中的编码0表示不变,1表示变大,2表示变小,而22表示近邻的两个字,每 个字在横向上均变小;纵向通道中的编码0表示变大,1表示不变,而0010表示近邻的四 个字,在纵向上分别变大、变大、不变、变大;字模通道中的编码0表示宋体,1表示仿宋,而 0011表示近邻的四个字,在字模上分别表示宋体、宋体、仿宋、仿宋。假设这份文档一共有16个字。由于我们采取冗余编码,也就是在正常编码后加入 校验码的形式。那么,第4份文档嵌入的隐形编码的标识是十进制整数3 (第一份文档的 标识或隐形编码为十进制整数0),其在各通道的表现分别为(其中带下划线的数字为校验 码)横向通道,10近10近10近10近纵向通道,0011110000111100字模通道,0011110000111100这三个通道的隐形编码共同作用在第4份文档上,最终形成一份嵌入好隐形编码 的纸质文档。
至此,隐形编码嵌入完成。下面,进行隐形编码检测。假设获得了按前述隐形编码嵌入方法嵌入了隐形编码的9份纸质文档中的一份, 而且只是文档的一部分碎片(待识别文件)。首先,将碎片的内容扫描进计算机。同时,找到嵌入隐形编码前的原始的电子文 档。我们对碎片的内容进行OCR识别后,与原始文档的内容进行比较,从而确定这份碎片是 原始文档的哪部分。假设最终确定待识别文件中的内容是原文档中的第九个字至第十六个字。则对这 八个字的横向、纵向和字模进行分析,从而识别出不同通道的编码。假设最后得到了每个通道的识别结果,分别是横向通道变大、不变、不变、变大、变大、不变、不变、变大;纵向通道变大、变大、不变、变大、不变、不变、变大、变大;字模通道宋体、仿宋、仿宋、仿宋、仿宋、仿宋、宋体、宋体。所以通过对比识别出的各通道的编码分别是横向通道10011001;纵向通道00101100;字模通道01111100。因为之前识别出了碎片的文字内容是第九个字到第十六个字,所以,根据最初各 通道编码的特性,可以确定目前各通道中编码的特性和表示的含义(带下划线的数字为校 验码)横向通道10坠10坠;纵向通道00101100 字模通道01111100。由于纸质文档在传播中,可能被各种因素影响从而对隐形编码产生干扰。所以,我 们可以根据校验码及识别出的编码内容,校验并恢复编码的原始状态。在本例中,假设一种最简单的校验码和校验方法,即校验码和原始编码的每一位 进行异或运算后结果均为‘1’。通过这种办法,可知横向通道的编码是没有问题的,纵向通 道编码的第四位和字模通道编码的第二位均被干扰。最后,我们得到了每个通道经过校正的编码,即横向通道10 (3进制)3 (十进制整数);纵向通道0011(2进制)-—3(十进制整数);字模通道0011 (2进制)3 (十进制整数)。通过三个通道得出的标识,进行汇总。可知三个通道得出的标识(十进制整数值) 是一致的,即十进制整数‘3’。根据当初分配的对不同文档的不同标识,可最终确定,这份碎片的内容来源于复 制出来的9份文档中的第4份。至此,隐形编码的生成、嵌入、识别、分析过程完成。运用该方法生成的、嵌入在以文字为主要信息的、电子文档中的隐形编码,既能隐 藏大量数据,又可以达到很好的鲁棒性,安全性和数据容量。对以文字为主的电子文档,该隐形编码的嵌入和检测方法可以有很好的抗干扰能力,对于各种常见的干扰方法,例如复印,扫描、揉搓,水泡,污渍,裁剪,数码相机拍照等都有较好的容忍度。
上述内容并非是用来限制本发明的具体实施方式
,只是本发明的一个特定的实施案例。凡根据本发明的主要发明构思而进行的修改和变动或组合,均应属于本发明所要求的保护范围。
权利要求
一种隐形编码检测方法,其特征在于,包括对待识别文件进行扫描,生成图像文件;其中,所述待识别文件为待检测文档或其碎片,其中,通过对原始文档上全部或部分字进行版式变形嵌入隐形标识获得所述待检测文档;生成原始文档的图像;将待识别文件以及原始文档的图像分别做OCR识别;根据对待识别文件和原始文档的图像的OCR识别结果,得到待识别文件的每个字和原始文档的每个字的对应关系;根据待识别文件的每个字和原始文档的每个字的对应关系,对待识别文件中的每个字的版式变形进行判别。
2.根据权利要求1所述的方法,其特征在于,所述根据对待识别文件和原始文档的图 像的OCR识别结果,得到待识别文件的每个字和原始文档的每个字的对应关系包括对OCR结果利用碎片匹配方法进行处理,得到待识别文件的每个字和原始文档的每个 字的对应关系。
3.根据权利要求1所述的方法,其特征在于,通过人工方式,或者计算机和人工结合的 方式判别待识别文件中每个字的版式变形。
4.根据权利要求1所述的方法,其特征在于,通过对原始文档上全部或部分字进行版 式变形嵌入隐形标识获得所述待检测文档包括将一类的版式变形作为一个通道,选择至少一个通道来表现要嵌入到文档中的隐形标识;确定隐形标识对于各类版式变形的编码序列;根据确定的编码序列对从原始文档中选出需要进行版式变形的字进行版式变形获得 所述待检测文档。
5.根据权利要求4所述的方法,其特征在于,进一步包括根据对待识别文件中的每个字的版式变形的判别结果,标记上每个字的变形编号,并 确定所属版式变形的种类,即确定所属通道;对每一个通道,根据已知的编码长度以及待识别文件中每个字与原文的对应关系得到 所述编码的每一位的统计结果;对每一个通道,根据统计结果得到的编码进行解码,得到每一通道的隐形标识。
6.根据权利要求5所述的方法,其特征在于,当从统计结果得到的不是一个完整编码 且所缺的编码位数超过了纠错范围时,则枚举缺失的编码位的所有组合,形成一个可能的 编码集合,然后再通过人工方式确定编码。
7.根据权利要求5所述的方法,其特征在于,进一步包括对各通道获取的隐形标识进行汇总,以确定所获取的待识别文件嵌入的隐形标识。
8.根据权利要求1至7任一所述的方法,其特征在于,所述版式变形包括文档中文字个体的变形。
9.根据权利要求8所述的方法,其特征在于,所述对文档中文字个体的变形包括对文 字的尺寸、文字的排版位置、字体的改变。
10.根据权利要求1至7任一所述的方法,其特征在于,对于每份文档,不同的通道嵌入 的隐形标识不同或者相同。
全文摘要
本发明涉及一种隐藏信息检测方法,包括对待识别文件进行扫描,生成图像文件;其中,所述待识别文件为待检测文档或其碎片,其中,通过对原始文档上全部或部分字进行版式变形嵌入隐形标识获得所述待检测文档;将原始文档生成图像;将待识别文件以及原始文档的图像分别做OCR识别;根据对待识别文件和原始文档的图像的OCR识别结果,得到待识别文件的每个字和原始文档的每个字的对应关系;根据待识别文件的每个字和原始文档的每个字的对应关系,对待识别文件中的每个字的版式变形进行判别。运用该方法检测隐藏信息,可以提高检测的准确性和匹配速度。
文档编号G06K19/06GK101799869SQ20101015231
公开日2010年8月11日 申请日期2005年9月16日 优先权日2005年9月16日
发明者王东临 申请人:北京书生国际信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1