使用间距编码在文本文档中嵌入隐秘数据的方法和系统的制作方法

文档序号:2405997阅读:218来源:国知局
专利名称:使用间距编码在文本文档中嵌入隐秘数据的方法和系统的制作方法
技术领域
本发明主要涉及一种使用间距编码在文本文档中嵌入隐秘数据的方法和系统。
背景技术
数字水印是信号处理界中被研究得很深入的领域。已经设计了很多在文本和图 像文档中隐秘地隐藏信息的技术。隐藏数据在密码学界中通常被称为“隐写术”。文本 和图像文档的隐写术区别很大,这是由于修改图像中的像素比修改文本中的像素具有更 少的视觉效果。因此,现有的图像文档的隐写术技术并不直接应用于文本文档。传统的在文本文档中隐藏数据的方法包括点编码、间距调制(行移编码,字 移编码)、亮度调制、半色调量化、组件控制、和语法方法。每个传统的方法都具有它们自己的优点和缺点。例如,点编码法具有高数据隐 藏容量,但容易受到文本文档的打印和扫描的影响,因为在对点解码时引入了噪声和干 扰。另一方面,语法方法对于打印和扫描是可复原的,但具有低数据容量且不能自我检 验。在防止文本文档中的重要信息的未授权公开方面具有越来越多的需求,尤其在 这个以知识为基础的时代更是如此。在通过在打印的文本文档中放置追踪和寻踪机制, 以阻止信息的不当公开方面也存在需求。在信息泄露的情况下,可以确认泄露源(打印 文档的人)。在具有对打印和扫描而言可复原的高数据隐藏容量方面,在几乎没有限制地 适应各种各样的文本文档方面,以及可自我检验方面也存在需求。

发明内容
本发明的一方面是一种在文本文档中嵌入隐秘数据的方法,该方法包括提供 具有第一和第二字符的文档;确定字符间的水平间距;改变该间距以生成字符间具有预 定的水平距离的改变后间距,其中该改变后间距表示嵌入的隐秘数据;和格式化该文档 以生成基于该改变后间距的格式化文档。本发明的一方面是一种在文本文档中嵌入隐秘数据的系统,该系统包括数据编 码处理装置,其接收具有第一和第二字符的文档,其中,该装置包括存储器和处理 器;存储器存储文档和预定的水平距离;处理器确定字符间的水平间距,改变该间距以 生成字符间具有该预定的水平距离的改变后间距,并格式化该文档以生成基于该改变后 间距的格式化文档,从而基于该改变后间距在文档中嵌入该嵌入的隐秘数据。本发明的一方面是一种计算机程序产品,包括具有计算机程序代码装置的计算 机可读介质,其当加载在计算机上时,使计算机执行在文本文档中嵌入隐秘数据的方 法,该方法包括提供具有第一和第二字符的文档;确定字符间的水平间距;改变该间 距以生成在字符间具有预定的水平距离的改变后间距,其中该改变后间距表示嵌入的隐 秘数据;以及格式化该文档以生成基于该改变后间距的格式化文档。本发明的一方面是一种具有记录的程序的计算机可读介质,当加载在计算机上时,记录的程序可使计算机执行在文本文档中嵌入隐秘数据的方法,该方法包括提供 具有第一和第二字符的文档;确定字符间的水平间距;改变该间距以生成在字符间具有 预定的水平距离的改变后间距,其中,该改变后间距表示嵌入的隐秘数据;以及格式化 该文档以生成基于该改变后间距的格式化文档。在实施 例中,文档具有包括第一和第二字符的多个字符,并且多个字符中的彼 此水平邻接的每对字符之间的间距被改变以表示该嵌入的隐秘数据。文档可具有包括第 一和第二字符的多个字符,并且多个字符中的彼此水平邻接的所选的字符对之间的间距 被改变以表示该嵌入的隐秘数据。文档可具有包括形成单词的第一和第二字符的多个字 符,并且彼此水平邻接的单词之间的间距被改变以表示该嵌入的隐秘数据。第一字符可 具有相对第二字符的左侧字符,第二字符是相对第一字符的右侧字符,间距由左侧字符 最右边的点和右侧字符最左边的点之间的水平距离确定。字符可沿着直的水平线,或沿 弧形水平线形成。该方法可进一步包括解码格式化文档,以基于该改变后间距显示嵌入 的隐秘数据。该嵌入的隐秘数据可以是用户名,全局标识符等。改变后间距可表示二进 制序列,并且二进制序列为2比特的等。间距可以是单词中的字符间间距,间距是水平 相邻单词间的单词间间距。间距由像素确定,并且改变后间距用像素表示。间距和改变 后间距在水平距离上可以相差单个像素。格式化文档中的字符可以对用户明显可见,间 距和改变后间距之间的差别基本上对用户视觉上隐藏。文档和格式化文档中,字符对用 户明显可见,文档和格式化文档之间的差别基本对用户视觉上隐藏。


通过非限制性的示例,使得本发明实施例可以完整和更清楚地理解,下面的描 述结合附图进行,附图中相同的附图标记表示相同的或相应的元件,区域和部分,其 中图1示出了根据本发明实施例的系统;图2示出了根据本发明实施例的在文本文档中隐藏数据和从文本文档中提取数 据的方法的流程图,所述方法包括编码和解码数据;图3A和3B示出了根据本发明实施例的原始文本的单词间间距(图3A)和字符 间间距(图3B);图4示出了根据本发明实施例,通过改变图3A中文本的单词间间距得到的改变 后单词间间距;图5示出了根据本发明实施例通过将二进制序列嵌入文本得到的改变后单词间 间距;图6示出了根据本发明实施例的用于不同数目的间距元素的不同的编码表格;图7示出了传统的文本文档中数据隐藏技术与本发明实施例的对比表;以及图8A-C示出了根据本发明实施例的如下视图,即,列出了所有所检测行的 宽度和Y坐标的表格A(图8A),在300dpi下典型的扫描的文本文档的垂直识别标识 (signature)(图8B),以及从同一文档提取行的位置(图8C)。
具体实施例方式图1示出了根据本发明实施例的系统10,用于在文本文档中嵌入隐秘数据和从 文本文档中提取隐秘数据。原始文档32通过数据编码处理装置132而嵌入隐秘隐藏数 据,其中数据编码处理装置132是如下的计算机,其包括处理器134,存储器136、和 用于在文本文档32中对隐秘数据进行编码的数据嵌入编码器模块138。用户可采用输入 设备152和显示器154输入和浏览数据。一旦在格式化文档36中编码和嵌入后,将格式 化文档36发送到数据解码处理装置152,以在格式化文档36中对嵌入的隐秘数据进行解 码。数据解码处理装置152是如下的计算机,其包括处理器154,存储器156、和用于 在格式化文档36中对嵌入的隐秘数据进行解码的数据嵌入解码器模块158。用户可采用 输入设备162和显示器164输入和浏览数据。尽管示出了两个分离的计算机,可以理解的是,数据嵌入编码器和解码器模块 138和158可设在同一计算机上。用于将原始文本32发送到数据编码处理装置132的传 输线146,和用于将格式化文档36从数据编码处理装置132发送至数据解码处理装置152 的传输线148和166,可以为公共或个人网络,因特网等等。文档32和36可以为硬拷贝 形式和/或电子版本。若文档32和36是硬拷贝格式,则文档32和36可以通过扫描等 类似方式转换为电子格式。 图2示出了根据本发明实施例的在文本文档中进行数据隐藏和数据提取的方法 的流程图20,其包括编码过程30和解码过程40。在编码过程30中,原始文档32通过 编码算法34转换为格式化文档36。要隐藏的数据38可以是用户名,全局标识符等等。 在解码过程40中,打印格式化文档36,生成硬拷贝文档42并对其扫描,对拷贝文档44 进行打印扫描46。解码算法48从拷贝文档44中提取隐藏的数据。应该理解的是,由于 编码是独立于文档格式的,所以格式可以是任何格式。此外,该方法可以应用于任何语 言,只要在“单词(word)”之间存在“间距”。编码在该特定文本中,对格式化文本文档,术语“单词间间距”指的是在文本行中 水平相邻单词之间的水平间距。例如,左边单词的左边字符的最右边的点与右边单词的 相邻右边字符的最左边的点之间的水平间距。类似的,水平相邻字符间的水平间距是指 左边字符的最右边的点和水平相邻右边字符的最左边的点。术语单词的“字符间间距” 指的是该单词中水平相邻字符间的水平间距。单词间间距和字符间间距的长度可由像素 来确定和表示。图3A和3B分别示出了在文本行中,单词间间距50和字符间间距60的示例。 具体地,图3A示出了原始文本中的单词间间距52a,52b,54a,54b的示例,图3B示出 了一个单词中的字符间间距62和64的示例。应当理解的是,可以执行该步骤以改变任 意两个字符,而不仅是用于示出而提供的文本。原始文本行的单词间间距的长度L由下式计算
kL=^Si
i=l其中,给定的i、S1表示特定的单词间间距,i是表示所涉及的是哪一个 间距的参考标号,k表示在有关的文本行中单词间间距的总数。在图3A中,L =8+6+5+7+6+9+6+6 = 53。在一个特定实施例中,通过改变文本行中每个单词的字符间间距[C1, C2...Cn]将单 词间间距 S = [S1, S2, S3…S7, S8]变为 S' = [S1' , S2' , S3'…S7' , S8']。对每个单词 而言,若C1 >2个像素,则字符间间距C1减少1像素。因此,对于每个Sl,S1' S1而言,总 的单词间间距增加了。通过增加Sl'的值,新的单词间间距的总长度L'满足条件L' L。图4示出了根据本发明的实施例,通过改变字符间间距72,74而进行的单词间 间距的修改70。在该示例中,单词间间距通过改变图3A中的单词间间距来提供。在图 4 中,L' =8+9+8+7+6+12+8+9 = 67。为方便起见,函数Sign([Sl,S2...Sn])由下式定义设Smm = floor integer (取整整数)([S1, s2...sn]中ε最小值的平均值)Sign ([S1, s2...sj) = gl|g2|...|gn其中,如果S1 > Smm 则 & = +如果S1 Smm 则 gl =-ε的值大于或等于所选择&的“_”的数目。隐藏的数据用二进制形式表示为“1”和“0”的序列。在一个特定实施例中,单词间间距S" = [S1",S2",S3" ...S7",S8"]使得L" = S1" +S2" +S3"…S7" +S8"L' =S1, +S2, +S3, ...S7' +S8,L' =L"[Sl",S2",S3"…S7",S8"]满足下列条件对于嵌入比特“00,, sign (s" ) =+|-|+H+H+|-对于嵌入比特“01,, Sign (s")=十|+|+|十1+1+对于嵌入比特“10,, Sign (s" ) =+|+|十1十1+1+对于嵌入比特“11,, Sign (s")=十|+|+|+|+|十图5示出了根据本发明实施例通过在文本行中嵌入二进制序列的单词间间距。 在该示例中,单词间间距80嵌入了 2比特二进制序列。对打印和扫描的鲁棒性依赖于每 个“ + ” S1和Smm之间像素值的差。进一步地,可以基于单词数,例如在每个文本行中的 单词间间距k的数目,采用不同的编码方案。图6示出了根据本发明实施例的用于不同数目的间距元素的不同的编码的表格 100。为了在文本中采用不同的字体大小,从而使用不同长度的单词间间距来进行编 码,采用比例不变的方法。设S = [Sl,S2 S3-S7, s8]表示特定的单词间间距,并且F = 氐,f2f3...f7,f8]中每个ζ表示S1之前的该单词中的最后一个字符的字体大小。首先,通过将每个S1除以f1;将S标准化以形成比例不变单元V:V= [V1, V2 V3...v7, V8]其中,V1 = S1Zf1之后,对V采用与本发明实施例中描述的同样的编码方法。解码打印,扫描和拷贝可能会引入几何失真,其可使数据提取困 难。已公知很多用于降低这些几何失真的技术,并该技术正持续得到发展。本发明并不限于任何这些技 术。系统10对格式化文档36中嵌入的隐秘数据进行解码。例如,采用文本文档的 水平剖面作为参考点,提取单词间间距。对每个具有单词间间距的文本行,上述Sign函 数计算嵌入的“ + ”和“_”。采用此方法和编码方案,识别隐藏的数据。此外,参考 点可采用垂直剖面,水平剖面等等来确定。因此,并不需要比较原始文档32与具有嵌入 的隐秘数据的格式化文档36,以从格式化文档36中提取嵌入的隐秘数据。其他确定剖面 或参考点的方式也是可能的,例如,另一方式是采用光学字符识别(OCR)来确定单词的 限位框,随后计算单词间间距以得到间距剖面。在实施例中,确定剖面的过程如下 1)以合理的品质和分辨率扫描物理文档。分辨率越高,则间距剖面越准确。2)通过对图像进行适当的阈值处理将图像转换为二进制图像。阈值的值由双模 态的文档图像直方图确定。将1分配给任何大于阈值的值,将0分配给其他值。3)通过计算图像I(i,j)的垂直识别标识ν(i),提取扫描后文档的行
权利要求
1.一种在文本文档中嵌入隐秘数据的方法,所述方法包括提供具有第一和第二字符的文档;确定字符间的水平间距;改变所述间距以生成在字符间具有预定的水平距离的改变后间距,其中,所述改变 后间距表示所述嵌入的隐秘数据;以及格式化所述文档以生成基于所述改变后间距的格式化文档。
2.根据权利要求1所述的方法,其中,所述文档具有包括第一和第二字符的多个字 符,并且所述多个字符中的彼此水平邻接的每对字符之间的间距被改变以表示所述嵌入 的隐秘数据。
3.根据权利要求1所述的方法,其中,所述文档具有包括第一和第二字符的多个字 符,并且所述多个字符中的彼此水平邻接的选择的字符对之间的间距被改变以表示所述 嵌入的隐秘数据。
4.根据权利要求1所述的方法,其中,所述文档具有包括构成单词的第一和第二字符 的多个字符,并且彼此水平邻接的单词的间距被改变以表示所述嵌入的隐秘数据。
5.根据权利要求1-4中任一所述的方法,其中,所述第一字符是相对第二字符的左侧 字符,所述第二字符是相对所述第一字符的右侧字符,并且所述间距由所述左侧字符最 右边的点和所述右侧字符最左边的点之间的水平距离确定。
6.根据权利要求1-5中任一所述的方法,其中,所述字符沿着直的水平线形成。
7.根据权利要求1-5中任一所述的方法,其中,所述字符沿着弧形水平线形成。
8.根据权利要求1-7中任一所述的方法,进一步包括解码所述格式化文档以基于所述 改变后间距来显示所述嵌入的隐秘数据。
9.根据权利要求1-8中任一所述的方法,其中,所述嵌入的隐秘数据是用户名。
10.根据权利要求1-8中任一所述的方法,其中,所述嵌入的隐秘数据是全局标识符。
11.根据权利要求1-10中任一所述的方法,其中,所述改变后间距表示二进制序列。
12.根据权利要求11所述的方法,其中,所述二进制序列为2比特。
13.根据权利要求1-12中任一所述的方法,其中,所述间距是单词内的字符间间距。
14.根据权利要求1-12中任一所述的方法,其中,所述间距是水平相邻单词间的单词 间间距。
15.根据权利要求1-14中任一所述的方法,其中,所述间距由像素确定。
16.根据权利要求1-14中任一所述的方法,其中,所述改变后间距用像素表示。
17.根据权利要求1-14中任一所述的方法,其中,所述间距由像素确定并且所述改变 后间距用像素表示。
18.根据权利要求1-17中任一所述的方法,其中,所述间距和所述改变后间距在水平 距离上相差单个像素。
19.根据权利要求1-18中任一所述的方法,其中,所述格式化文档中的字符对用户明 显可见,并且所述间距和所述改变后间距之间的差别基本上对用户视觉上隐藏。
20.根据权利要求1-18中任一所述的方法,其中,在所述文档和所述格式化文档中, 字符对用户明显可见,并且所述文档和所述格式化文档之间的差别基本对用户视觉上隐藏。
21.一种在文本文档中嵌入隐秘数据的系统,所述系统包括数据编码处理装置,所述数据编码处理装置接收具有第一和第二字符的文档,其 中,所述装置包括存储器和处理器;所述存储器存储所述文档和预定的水平距离;并且所述处理器确定字符间的水平间距,改变所述间距以生成在字符间具有所述预定的 水平距离的改变后间距,并格式化所述文档以生成基于所述改变后间距的格式化文档, 从而基于所述改变后间距在所述文档中嵌入所述嵌入的隐秘数据。
22.根据权利要求21所述的系统,其中,所述文档具有包括第一和第二字符的多个字 符,并且所述多个字符中的彼此水平邻接的每对字符之间的间距被改变以表示所述嵌入 的隐秘数据。
23.根据权利要求21所述的系统,其中,所述文档具有包括第一和第二字符的多个字 符,并且所述多个字符中的彼此水平邻接的选择的字符对之间的间距被改变以表示所述 嵌入的隐秘数据。
24.根据权利要求21所述的系统,其中,所述文档具有包括构成单词的第一和第二字 符的多个字符,并且彼此水平邻接的单词的间距被改变以表示所述嵌入的隐秘数据。
25.根据权利要求21-24中任一所述的系统,其中,所述第一字符是相对所述第二字 符的左侧字符,所述第二字符是相对所述第一字符的右侧字符,并且所述间距由所述左 侧字符最右边的点和所述右侧字符最左边的点之间的水平距离确定。
26.根据权利要求21-25中任一所述的系统,其中,所述字符沿着直的水平线形成。
27.根据权利要求21-25中任一所述的系统,其中,所述字符沿着弧形水平线形成。
28.根据权利要求21-27中任一所述的系统,进一步包括对格式化文档进行解码以基 于所述改变后间距来显示所述嵌入的隐秘数据的数据解码处理装置。
29.根据权利要求21-28中任一所述的系统,其中,所述嵌入的隐秘数据是用户名。
30.根据权利要求21-28中任一所述的系统,其中,所述嵌入的隐秘数据是全局标识符。
31.根据权利要求21-30中任一所述的系统,其中,所述改变后间距可表示二进制序列。
32.根据权利要求31所述的系统,其中,所述二进制序列为2比特。
33.根据权利要求21-32中任一所述的系统,其中,所述间距是单词内的字符间间距。
34.根据权利要求21-32中任一所述的系统,其中,所述间距是水平相邻单词间的单 词间间距。
35.根据权利要求21-34中任一所述的系统,其中,所述间距由像素确定。
36.根据权利要求21-34中任一所述的系统,其中,所述改变后间距用像素表示。
37.根据权利要求21-34中任一所述的系统,其中,所述间距由像素确定并且所述改 变后间距用像素表示。
38.根据权利要求21-37中任一所述的系统,其中,所述间距和所述改变后间距在水 平距离上相差单个像素。
39.根据权利要求21-38中任一所述的系统,其中,所述格式化文档中的字符对用户 明显可见,并且所述间距和所述改变后间距之间的差别基本上对用户视觉上隐藏。
40.根据权利要求21-38中任一所述的系统,其中,在所述文档和所述格式化文档中 字符对用户明显可见,并且所述文档和所述格式化文档之间的差别基本对用户视觉上隐藏。
41.一种计算机程序产品,包括具有计算机程序代码装置的计算机可读介质,当加载在计算机上时,所述装置使计 算机执行在文本文档中嵌入隐秘数据的方法,所述方法包括 提供具有第一和第二字符的文档; 确定字符间的水平间距;改变所述间距以生成在字符间具有预定的水平距离的改变后间距,其中,所述改变 后间距表示所述嵌入的隐秘数据;以及格式化所述文档以生成基于所述改变后间距的格式化文档。
42.一种具有记录的程序的计算机可读介质,当加载在计算机上时,所述记录的程序 可使计算机执行在文本文档中嵌入隐秘数据的方法,所述方法包括提供具有第一和第二字符的所述文档; 确定字符间的水平间距;改变所述间距以生成在字符间具有预定的水平距离的改变后间距,其中,所述改变 后间距表示所述嵌入的隐秘数据;以及格式化所述文档以生成基于所述改变后间距的格式化文档。
全文摘要
一种使用间距编码在文本文档中嵌入隐秘数据的方法和系统。间距编码将文本行的单词间间距和/或字符间间距改变为特定的格式,从而使得数据不可视的隐藏在文本文档中。
文档编号G09C5/00GK102027526SQ200980109997
公开日2011年4月20日 申请日期2009年3月17日 优先权日2008年3月18日
发明者李鹏程, 邓永昇 申请人:劲升逻辑私人有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1