模式匹配引擎.pdf

上传人:奻奴 文档编号:4534245 上传时间:2018-10-18 格式:PDF 页数:23 大小:3.42MB
返回 下载 相关 举报
摘要
申请专利号:

CN201280067913.4

申请日:

2012.01.23

公开号:

CN104094278A

公开日:

2014.10.08

当前法律状态:

实审

有效性:

审中

法律详情:

专利申请权的转移IPC(主分类):G06K 9/00变更事项:申请人变更前权利人:微软公司变更后权利人:微软技术许可有限责任公司变更事项:地址变更前权利人:美国华盛顿州变更后权利人:美国华盛顿州登记生效日:20150727|||实质审查的生效IPC(主分类):G06K 9/00申请日:20120123|||公开

IPC分类号:

G06K9/00

主分类号:

G06K9/00

申请人:

微软公司

发明人:

V·约瓦诺维克; M·拉扎里维克; M·拉斯科维克; N·波兹达里维克; M·舍舒姆

地址:

美国华盛顿州

优先权:

专利代理机构:

上海专利商标事务所有限公司 31100

代理人:

杨洁

PDF下载: PDF下载
内容摘要

模式匹配引擎及相关联的用于检测在固定格式文档中出现的页眉、页脚、水印、页编码、页面色彩和页边界中的一个或多个的方法。模式匹配引擎跨固定格式文档的各页执行模式匹配以标识重复模式。使用试探分析,符合所选准则的重复模式被分类为页眉、页脚或水印。过滤移除了不可能表示页眉、页脚或水印的重复模式。由模式匹配引擎产生的信息允许在将固定格式文档转换为流格式文档时将重复元素合适地重构为可流动元素。

权利要求书

1.  一种用于标识在固定格式文档的不同页上重复的元素并对其进行分类的模式匹配方法,所述方法包括以下步骤:
当元素具有相似内容并在所述固定格式文档的多个页面的相似位置上出现时将所述元素标识为候选;
丢弃与过滤标准匹配的所述候选;以及
当所述候选符合一组对应准则时,选择性地将所选的所述候选分类为页眉、页码,或水印。

2.
  如权利要求1所述的模式匹配方法,其特征在于,所述将元素标识为候选的步骤还包括以下步骤:
标识在第一页上的第一元素中出现的第一数字;
标识在第二页上的第二元素中出现的第二数字,所述第二数字与所述第一数字处于大致相同的位置,所述第二页与所述第一页连续;以及
仅仅在所述第二数字和所述第一数字之差等于一时,将所述第一元素和所述第二元素标识为所述重复元素。

3.
  如权利要求1所述的模式匹配方法,其特征在于,丢弃所述候选的步骤还包括:丢弃没有在所述固定格式文档中的多于所选最小数量的页面上重复的所述候选的步骤。

4.
  如权利要求1所述的模式匹配方法,其特征在于,丢弃所述候选的步骤还包括:丢弃没有在所述固定格式文档中的至少两个连续页面上重复的所述候选的步骤。

5.
  如权利要求1所述的模式匹配方法,其特征在于,丢弃所述候选的步骤还包括:丢弃在所述固定格式文档中表现为行号的候选的步骤。

6.
  如权利要求1所述的模式匹配方法,其特征在于,选择性地对所选的所述候选进行分类的步骤还包括:当所述候选在所述固定格式文档的所述第一页以后的所有页上的大致相同位置上出现而且所有这样的候选具有相似内容时,将所述候选分类为水印的步骤。

7.
  如权利要求6所述的模式匹配方法,其特征在于,将所述候选分类为水 印的步骤还包括:当所述水印覆盖所述页面上等于或大于所选最小页面覆盖区域阈值的区域时,将所述水印分类为页面色彩的步骤。

8.
  如权利要求6所述的模式匹配方法,其特征在于,将所述候选分类为水印的步骤还包括:当所述水印由多个相连元素形成并具有包含所述页面上等于或大于所选最小页边界区域阈值的区域的边界框时,将所述水印分类为页边界的步骤。

9.
  如权利要求1所述的模式匹配方法,其特征在于,选择性地对所选的所述候选进行分类的步骤还包括:当所述候选显得是在所述固定格式文档的各页的最高的元素时,将所述候选分类为页眉的步骤。

10.
  如权利要求1所述的模式匹配方法,其特征在于,选择性地对所选的所述候选进行分类的步骤还包括:当所述候选表现为所述固定格式文档中的各页的最底部元素时,将所述候选分类为页脚的步骤。

11.
  如权利要求1所述的模式匹配方法,其特征在于,选择性地对所选的所述候选进行分类的步骤还包括:当在所述固定格式文档中的各页的所述候选上方出现的每个元素被分类为页眉时,将所述候选也分类为页眉的步骤。

12.
  如权利要求1所述的模式匹配方法,其特征在于,选择性地对所选的所述候选进行分类的步骤还包括:当在所述固定格式文档中的各页的所述候选下方出现的每个元素被分类为页脚时,将所述候选也分类为页脚的步骤。

13.
  如权利要求1所述的模式匹配方法,其特征在于,还包括在选择性地对所选的所述候选进行分类的步骤之后,重复所述丢弃与过滤标准匹配的所述候选的步骤的步骤。

14.
  一种用于检测在固定格式文档中出现的页眉、页脚和水印并对其进行分类的系统,所述系统包括用于以下的模式匹配引擎应用:
将在固定格式文档中的多个页面上的相似位置中出现的重复元素标识为候选;
当所述候选在所述固定格式文档的第一页之后的全部页上的大致相同位置出现并且所有这样的候选具有相似内容时,将所述候选分类为水印;
当在所述固定格式文档中的各页面上的所述候选上方出现的每个元素被分类为页眉时,将所述候选也分类为页眉;以及
当在所述固定格式文档中的各页面上的所述候选下方出现的每个元素被分类为页脚时,将所述候选也分类为页脚。

15.
  如权利要求14所述的系统,其特征在于,所述模式匹配引擎应用能用于:
丢弃没有在所述固定格式文档中的多于所选最小数量的页面上重复的所述候选;以及
丢弃没有在所述固定格式文档中的至少两个连续页面上重复的所述候选。

16.
  如权利要求14所述的系统,其特征在于,所述模式匹配引擎应用能用于:
当所述水印覆盖所述页面上等于或大于所选最小页面覆盖区域阈值的区域时,将所述水印分类为页面色彩;以及
当所述水印由多个相连元素形成并具有包含所述页面上等于或大于所选最小页边界区域阈值的区域的边界框时,将所述水印分类为页边界。

17.
  如权利要求14所述的系统,其特征在于,所述模式匹配引擎应用能用于:
当所述候选表现为所述固定格式文档中的各页面的最顶部元素时,将所述候选分类为页眉;以及
当所述候选表现为所述固定格式文档中的各页面的最底部的元素时,将所述候选分类为页脚。

18.
  一种包含计算机可执行指令的计算机可读介质,所述指令在由计算机执行时执行一种标识在固定格式文档的不同页面上重复的元素并对其进行分类的方法,所述方法包括以下步骤:
当所述元素具有相似内容并在所述固定格式文档中的多个页面上的相似位置出现时将元素标识为候选;
丢弃所述候选进一步包括丢弃没有在所述固定格式文档中的多于所选最小数量的页面上重复的所述候选的步骤;
丢弃所述候选进一步包括丢弃没有在所述固定格式文档中的至少两个连续页面上重复的所述候选的步骤;
丢弃所述候选进一步包括丢弃所述固定格式文档中表现为行号的候选的 步骤;
当所述候选在所述固定格式文档的第一页之后的全部页上的大致相同位置中出现并且所有这样的候选具有相似内容时,将所述候选分类为水印;
当在所述固定格式文档中的各页面上的所述候选上方出现的每个元素被分类为页眉时,将所述候选也分类为页眉;以及
当所述固定格式文档中的各页面上的所述候选下方出现的每个元素被分类为页脚时,将所述候选也分类为页脚。

19.
  如权利要求18所述的计算机可读介质,其特征在于,将所述候选分类为水印的步骤还包括:当所述水印覆盖所述页面上等于或大于所选最小页面覆盖区域阈值的区域时,将所述水印分类为页面色彩的步骤。

20.
  如权利要求18所述的计算机可读介质,其特征在于,将所述候选分类为水印的步骤还包括:当所述水印由多个相连元素形成并具有包含所述页面上等于或大于所选最小页边界区域阈值的区域的边界框时,将所述水印分类为页边界的步骤。

说明书

模式匹配引擎
背景
流格式文档和固定格式文档被广泛使用且具有不同的目的。流格式文档使用复杂逻辑格式化结构(如章节、段落、列以及表)来组织文档。结果,流格式文档提供了灵活性且易于修改,使得它们适用于涉及被频繁更新或受到显著编辑的文档的任务。相反,固定格式文档使用基本物理布局元素(如文本串、路径、以及图像)来组织文档以保留原始外观。固定格式文档提供一致且精确的格式布局,使得它们适用于涉及不被频繁或大量变更或其中需要统一性的文档的任务。这样的任务的示例包括文档归档、高质量再现、以及用于广告发布和打印的源文件。固定格式文档通常从流格式源文档中创建。固定格式文档还包括物理(即,纸质)文档的数字再现(例如,扫描和照片)。
在其中需要编辑固定格式文档但流格式源文档不可用的情况下,固定格式文档必须被转换成流格式文档。转换涉及解析该固定格式文档并将来自该固定格式文档的基本物理布局元素变换成在流格式文档中使用的更复杂的逻辑元素。面对复杂元素(如水印、页眉、页脚,和页码)的现有文档转换器诉诸于被设计成以输出文档的可流动性为代价保留布局(例如,文本框、行间距、以及字符间距)的视觉保真度的基本技术。结果是需要用户执行大量手动重构来获得真正有用的流格式文档的受限流格式文档。本发明正是对于这些和其他考虑事项而做出的。
简要概述
提供以下简要概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本简要概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
在各实施例中,模式匹配引擎检测在固定格式文档中形成重复模式的元素。为了可靠地检测大量重复模式,模式匹配引擎检测固定格式文档中的基本 重复模式作为候选。重复模式在元素出现在固定格式文档中每页上的相似或基本一致的位置处并在所选数量的页上具有相似或基本相同的内容时形成。首先,模式匹配引擎标识水印候选。页边界和页面色彩被当做专门水印来对待。水印通常在固定格式文档的每页上且在相同位置重复相同的内容。在检测水印之后,模式匹配引擎寻找页眉和页脚候选。为检测页眉和页脚候选,模式匹配引擎确定何时特定数量的页的上部或下部在相同位置包含相同或相似内容。
为标识动态元素,诸如页码,模式匹配引擎比较在各连续页上出现的元素的内容。如果在第一页上所考虑的文本串包含一个数字,而在第二页上所考虑的文本串也包含一个数字而且那个数字的值从第一页到第二页增加一,该元素被检测为页编码。
为了可靠地检测大量重复模式,模式匹配引擎查找基本重复模式。作为结果,不是水印、页边界、页面色彩、页眉、页脚,或页码的重复元素被检测以作为候选。一个过滤器丢弃未重复最小次数的候选。另一个过滤器丢弃贯穿固定格式文档中间歇地或随机地出现并且被多页分开的候选。其它过滤器丢弃行号和被识别为其它对象(诸如表格标题)的重复元素。在过滤后,模式匹配引擎将匹配合适准则的候选分类为页眉、页脚或水印。
一个或多个实施例的细节在附图和以下描述中阐明。通过阅读下面的具体实施例并参考相关联的附图,其他特征和优点将变得显而易见。要理解的是下面的具体实施例仅仅是说明性的,而不是对所要求保护的发明的限制。
附图简述
通过参考下面的具体实施方式、所附的权利要求书和附图,进一步的特征、各方面和益处将变得更好理解,其中各元素不会缩放以更清晰地示出细节,在若干视图中,相同的附图标记指示相同的元素,并且其中:
图1是示出包括模式匹配引擎的系统的一个实施例的框图;
图2是示出文档处理器的一个实施例的操作流程的框图;
图3A-3D示出在固定格式文档中出现的由模式匹配引擎处理的各种重复元素;
图4A-4B是示出用于检测页眉、页脚和水印的模式匹配方法的一个实施 例的流程图;
图5示出了执行模式匹配引擎的一个实施例的平板计算设备的一个实施例;
图6是可用其实施本发明的各实施例的计算设备的一个实施例的简化框图;
图7A示出了执行模式匹配引擎的一个实施例的移动计算设备的一个实施例;
图7B是可用其实施本发明的各实施例的移动计算设备的一个实施例的简化框图;以及
图8是可在其中实施本发明的各实施例的分布式计算系统的简化框图。
详细描述
在此描述并在附图中示出的是模式匹配引擎及相关联的用于检测固定格式文档中出现的页眉、页脚、水印、页编码、页面色彩和页边界中的一个或多个的方法。模式匹配引擎跨固定格式文档的各页执行模式匹配以标识重复模式。使用试探分析,符合所选准则的重复模式被分类为页眉、页脚或水印。过滤移除了不可能表示页眉、页脚或水印的重复模式。由模式匹配引擎产生的信息允许在将固定格式文档转换为流格式文档时将重复元素合适地重构为可流动元素。
图1示出合并了模式匹配引擎100的系统。在所示实施例中,模式匹配引擎100作为在计算设备104上执行的文档转换器102的一部分来操作。文档转换器102使用解析器110、文档处理器112以及串行化器114将固定格式文档106转换成流格式文档108。解析器110从固定格式文档106中提取数据。从固定格式文档提取的数据被写入可由文档处理器112和串行化器114访问的数据存储116。文档处理器112使用一个或多个检测和/或重构引擎(例如,本发明的模式匹配引擎100)分析该数据并将其转换成可流动元素。最后,串行化器114将可流动元素写成可流动文档格式(例如,文字处理格式)。
图2更详细地示出了文档处理器112的操作流程的一个实施例。文档处理器112包括可任选的光学字符识别(OCR)引擎202、布局分析引擎204以及 语义分析引擎206。数据存储116中包含的数据包括物理布局对象208和逻辑布局对象210。在一些实施例中,物理布局对象208和逻辑布局对象210被分层安排在树状编组阵列中(即,数据对象)。在各实施例中,页面是物理布局对象208的顶级编组,而章节是逻辑布局对象210的顶级编组。从固定格式文档106中提取的数据一般被存储为由固定格式文档106中的包含页面来组织的物理布局对象208。从固定格式文档获得的基本物理布局对象包括文本串、图像以及路径。文本串是页面内容流中的指定在显示固定格式文档时字符的绘制位置的文本元素。图像是储存在固定格式文档106中的光栅图像(即,图片)。路径描述了诸如用于构建矢量图的线、曲线(例如,三次贝塞尔曲线)以及文本轮廓等元素。逻辑数据对象包括诸如章节、段落、列和表格等的可流动元素。
处理开始的位置依赖于被解析的固定格式文档106的类型。从流格式源文档直接创建的本机固定格式文档106a包含基本物理布局元素中的一些或全部。一般而言,从本机固定格式文档106a提取的数据可供文档转换器立即使用;但在一些情况下,次要重新格式化或其他次要处理器被应用以组织或标准化该数据。相反,通过对物理文档进行数字图像化(例如,扫描或拍照)而创建的基于图像的固定格式文档106b中的所有信息被存储作为不具有附加数据(即,没有文本串或路径)的一系列页面图像。在这种情况下,任选光学字符识别引擎202分析每一页面图像并创建对应的物理布局对象。一旦物理布局对象208可用,布局分析引擎204就确定固定格式文档的布局并用新信息来丰富数据存储(例如,添加、移除以及更新物理布局对象)。在布局分析完成之后,语义分析引擎206用通过对物理布局对象和/或逻辑布局对象进行分析而获得的语义信息来丰富数据存储。
图3A-3D示出在固定格式文档300a-d的不同页上出现的各种重复元素。图3A示出了具有水印302和页码304的固定格式文档300a。图3B示出了具有在奇数页上出现的第一页眉306a、在奇数页上出现的第一页脚308a、在偶数页上出现的第二页眉306b,和在偶数页上出现的第二页脚308b的固定格式文档300b。图3C示出了具有页面色彩310的固定格式文档300c。图3D示出了具有页边界312的固定格式文档300d。
图4A-4B是示出由模式匹配引擎100执行的用于检测水印、页面色彩、 页边界、页眉、页脚和页码的模式匹配方法400的一个实施例的流程图。为了可靠地检测大量重复模式,模式匹配引擎100检测410固定格式文档中的基本重复模式作为候选。重复模式在元素(例如图像、路径或文本串)在固定格式文档中的每页上的相似或基本一致的位置处出现并在所选数量的页上具有相似或基本相同的内容时形成。首先,模式匹配引擎100标识411水印候选。页边界和页面色彩被当做专门水印对待。水印通常在固定格式文档的每页上且在相同位置重复相同的内容。类似地,页边界和页面色彩在固定格式文档的每页的相同位置相同地重复。为标识页边界候选,模式匹配引擎100查找相互连接并跨越页的很大部分的一组元素。
在检测水印候选、页边界和页面色彩之后,模式匹配引擎100查找412页眉和页脚候选。为检测页眉和页脚候选,模式匹配引擎100确定何时特定数量的页的上部或下部在相同位置包含相同或相似内容。当页面的上部或下部在相同位置包含相同内容时,模式匹配引擎100容易地将该元素合适地分类为页眉和页脚。在不同页上的元素在相同位置具有类似内容的情况下,模式匹配引擎100检查内容以查找动态元素。
为标识动态元素,诸如包含页码的文本串,模式匹配引擎100比较在各连续页上出现的元素的内容。如果在两个连续页上的文本串包含处于页面上相似位置的数字,而那个数字的值从第一页到第二页增加一,则这些元素被分类为页编码。在一些实施例中,标识和检查罗马数字以查看是否是增加一。在各实施例中,除了数字以外的其它字母数字字符也通过检查是否该字符的ASCII码或Unicode值增加1而被看成页码304。除了评估连续页,模式匹配引擎100比较交替的页上的潜在的页眉和页脚候选,以考虑奇数和偶数页页眉306a、306b和页脚308a、308b。在这样的情况下,潜在的页码304被允许递增2。
一旦固定格式文档中的重复模式已经被检测,一个或多个过滤器丢弃420具有导致该重复模式是水印、页边界、页面色彩、页眉、页脚或页码的低可能性的特性的那些重复模式。一个过滤器丢弃421未重复最小次数的候选。在各实施例中,不重复3或更多次数的候选被丢弃。另一个过滤器丢弃422单独的候选。贯穿固定格式文档中偶尔地或随机地出现并且被多页分开的候选被认为是单独的元素。例如,当在页2、9和15上出现候选时,由于不存在有这些候 选出现的两个连续页,这些候选不是有效重复元素。而又一个过滤器丢弃423被识别为其它类型的内容(例如,行号或表格)并更合适地被如此分类的重复元素。为过滤其它已识别对象,分析包含重复元素的页面。如果重复元素是一些其它的已识别类型的内容(例如,表格),那个元素被消费。仅仅如果该已识别元素的任何部分没有被消费并且包含重复元素,该重复元素保持候选,那些元素将保持候选;然而,如果仅仅部分已识别内容是候选,与那个已识别元素相关联的全部候选被丢弃。
在过滤之后,模式匹配引擎100将匹配合适准则的候选分类430为页眉306a、306b、页脚308a、308b或水印302。在各实施例中,模式匹配引擎100在重复元素跨始于第二页的全部页面重复的情况下将那个元素分类431为水印。换言之,重复元素不需要在第一页上出现以被分类为水印。在一些实施例中,出现在三或更多页上的重复元素被分类为水印。
除了符合水印302的基本要求以外,模式匹配引擎100的一些实施例对页面色彩310和页边界312施加额外的约束。在各实施例中,模式匹配引擎100仅在覆盖区域超过由对应于大部分或基本上全部页面区域的最小页面覆盖区域百分比阈值指定的页面的所选百分比的情况下才将重复元素分类为页面色彩310。在其它实施例中,在元素被分类为页面色彩310或页边界312之前,元素的边界框的高度和/或宽度必须超过对应的最小高度和/或宽度阈值。在一些实施例中,在相连元素被分类为页边界之前,由相连元素包含的页面区域必须超过最小页面包含区域百分比阈值。在各实施例中,最小页面覆盖区域百分比阈值、最小高度和/或宽度阈值,以及最小页面包含区域百分比阈值变化。
模式匹配引擎100在候选是页面上的最顶部元素或在该候选正上方的唯一其它元素被分类为页眉的情况下,将该候选也分类432为页眉306a、306b。超过所选量的垂直重叠在页眉上的候选不被分类为页眉。页脚308a、308b以看着最底部元素相同方式分类433。保持未被分类的候选被丢弃。模式匹配引擎100的一些实施例在进行分类之后执行440另一过滤操作,该另一过滤操作标识已经变成单独的候选或不符合最小重复数量的任何已分类候选。
最后,相关页眉、相关页脚,和相关水印被选择性地放置450到合适的组中。换言之,页眉、页脚和水印的不同实例被放置在分开的组中。例如,奇数 页页眉放置在一个组中,而偶数页页眉放置在另一个组中。类似地,如果页眉在页(例如,章节标题)之间改变,那些页眉可放置在不同组中。不同的组可被存储在不同逻辑对象中(例如,章节对象),并且这样的信息可在序列化期间被使用来创建可流动元素。
在此描述的模式匹配引擎100和相关联的模式匹配方法400可用于标识并分类在固定格式文档中出现的页眉、页脚和水印。通过检测固定格式文档中的页眉、页脚和水印,模式匹配引擎100允许对应的可流动元素在序列化期间被创建。相反,现有的文档转换技术通常在序列化期间将位于固定页面文档的顶部或底部的内容置于文本框或帧中或将内容作为图像对待。尽管已在结合在计算机上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述本发明,但本领域的技术人员将认识到,本发明也可结合其他程序模块实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。
本文描述的实施例和功能可通过多种计算系统来操作,包括但不限于台式计算机系统、有线和无线计算系统、移动计算系统(如移动电话、上网本、图形输入板或平板型计算机、笔记本计算机、和膝上型计算机)、手持设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、以及大型计算机。图5示出了执行模式匹配引擎100的实施例的示例性平板计算设备500。此外,本文所述的实施例和功能可在分布式系统上操作(如基于云的计算系统),其中应用功能、存储器、数据存储和检索、以及各种处理功能可在诸如因特网或内联网之类的分布式计算网络上彼此远程地操作。各种类型的用户界面和信息可经由板载计算设备显示器或经由与一个或多个计算设备相关联的远程显示单元来显示。例如,各种类型的用户界面和信息可在墙壁表面上被显示和交互,各种类型的用户界面和信息被投射在墙壁表面上。与可用于实施本发明的各实施例的许多计算系统的交互包括:键击输入、触摸屏输入、语音或其他音频输入、姿势输入(其中相关联的计算设备配备有用于捕捉和解释用于控制计算设备的功能的用户姿势的检测(如相机)功能)等。图6到8以及相关描述提供了其中可实施本发明的各实施例的各种操作环境的讨论。然而,关于图6到8所示出和讨论的设备和系统是用于示例的目的,而非对可被用于实 施本文所述的本发明的各实施例的大量计算设备配置的限制。
图6是示出可用来实施本发明的各实施例的计算设备600的示例物理组件(即硬件)的框图。下面描述的计算设备组件可适用于上述的计算设备。在基本配置中,计算设备600可包括至少一个处理单元602和系统存储器604。取决于计算设备的配置和类型,系统存储器604可包括,但不限于,易失性存储器(例如,随机存取存储器)、非易失性存储器(例如,只读存储器)、闪存、或这些存储器的任何组合。系统存储器604可包括操作系统605和适于运行诸如模式匹配引擎100、解析器110、文档处理器112以及串行化器114等软件应用620的一个或多个程序模块606。操作系统605例如可适合于控制计算设备600的操作。此外,本发明的各实施例可以结合图形库、其他操作系统、或任何其他应用程序来实践,且不限于任何特定应用程序或系统。该基本配置在图6中由虚线608内的那些组件示出。计算设备600可具有附加特征或功能。例如,计算设备600还可包括附加数据存储设备(可移动和/或不可移动),诸如,例如磁盘、光盘或磁带。这些附加存储在图6中由可移动存储设备609和不可移动存储设备610示出。
如上所述,可在系统存储器604中存储多个程序模块和数据文件。当在处理单元602上执行时,诸如模式匹配引擎100、解析器110、文档处理器112以及串行化器114等程序模块606可以执行包括例如模式匹配方法400的各阶段中的一个或多个阶段等过程。上述过程是一示例,且处理单元602可执行其他过程。根据本发明的实施例可使用的其他程序模块可包括电子邮件和联系人应用、字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用等。
此外,本发明的各实施例可在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路、或在包含电子元件或微处理器的单个芯片上实现。例如,可以通过片上系统(SOC)来实施本发明的各实施例,其中,可以将图6中示出的每个或许多组件集成到单个集成电路上。这样的SOC设备可包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及各种应用功能,所有这些都被集成到(或“烧录到”)芯片基板上作为单个集成电路。当通过SOC操作时,在此所述的关于模式匹配引擎100、解析器110、 文档处理器112以及串行化器114的功能可以通过在单个集成电路(芯片)上与计算设备600的其它组件集成在一起的专用逻辑来操作。本发明的各实施例还可以使用能够执行诸如,例如,AND(与)、OR(或)和NOT(非)等逻辑运算的其他技术来实践,包括但不限于,机械、光学、流体和量子技术。另外,本发明的各实施例可以在通用计算机或任何其他电路或系统中实现。
计算设备600也可具有一个或多个输入设备612,如键盘、鼠标、笔、语音输入设备、触摸输入设备等等。也可包括输出设备614,如显示器、扬声器、打印机等等。上述设备是示例且可以使用其他设备。计算设备600还可包括允许与其它计算设备618进行通信的一个或多个通信连接616。合适的通信连接616的示例包括但不限于RF发射机、接收机和/或收发机电路;通用串行总线(USB)、并行或串行端口、以及适用于与适用的计算机可读介质一起使用的其他连接。
例如,本发明的各实施方式可被实现为计算机进程(方法)、计算系统或诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并编码了用于执行计算机进程的指令的计算机程序的计算机存储介质。
如此处所使用的术语计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器604、可移动存储设备609和不可移动存储设备610都是计算机存储介质(即,存储器存储)的示例。计算机存储介质可以包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或可用于存储信息且可以由计算机设备600访问的任何其它介质。任何这样的计算机存储介质都可以是计算设备600的一部分。
通信介质由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据来体现,并包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络 或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。
图7A和7B示出可用来实施本发明的各实施例的移动计算环境700,例如移动电话、智能电话、平板个人计算机、膝上型计算机等。参考图7A,示出了用于实现各实施例的示例性移动计算设备700。在一基本配置中,移动计算设备700是具有输入元件和输出元件两者的手持式计算机。移动计算设备700通常包括显示器705以及允许用户将信息输入到移动计算设备700中的一个或多个输入按钮710。移动计算设备700的显示器705也可充当输入设备(如触摸屏显示器)。如果包括,则可任选的侧输入元件715允许进一步的用户输入。侧输入元件715可以是旋转开关、按钮、或任何其他类型的手动输入元件。在替代实施例中,移动计算设备700可结合更多或更少的输入元件。例如,在某些实施例中,显示器705可以不是触摸屏。在又一替代实施例中,移动计算设备700是诸如蜂窝电话之类的便携式电话系统。移动计算设备700还可包括可选的小键盘735。可选的小键盘735可以是物理小键盘或者在触摸屏显示器上生成的“软”小键盘。在各种实施例中,输出元件包括用于示出图形用户界面(GUI)的显示器705、可视指示器720(如发光二极管)、和/或音频换能器725(如扬声器)。在某些实施例中,移动计算设备700结合振动换能器来向用户提供触觉反馈。在又一实施例中,移动计算设备700结合诸如音频输入(如传声器插孔)、音频输出(如耳机插孔)、以及视频输出(如HDMI端口)之类的输入和/或输出端口,用于将信号发送到外部设备或从外部设备接收信号。
图7B是示出移动计算设备的一个实施例的架构的框图。即,移动计算设备700可结合系统(即架构)702以实现某些实施例。在一个实施例中,系统702被实现为能够运行一个或多个应用(如浏览器、电子邮件、日历、联系人管理器、消息收发客户端、游戏、以及媒体客户端/播放器)的“智能电话”。在某些实施例中,系统702被集成为计算设备,诸如集成的个人数字助理(PDA)和无线电话。
一个或多个应用程序766可被加载到存储器762中并在操作系统764上或与操作系统864相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、因特网浏 览器程序、消息通信程序等等。系统702还包括存储器762内的非易失性存储区768。非易失性存储区768可被用于存储在系统702断电时不会丢失的持久信息。应用程序766可使用信息并将信息存储在非易失性存储区768中,如电子邮件应用使用的电子邮件或其他消息等。同步应用(未示出)也驻留于系统702上且被编程为与驻留在主机计算机上的对应的同步应用交互,以保持非易失性存储区768中存储的信息与主机计算机处存储的相应信息同步。如应理解的,其他应用可被加载到存储器762中并在移动计算设备700上运行,包括此处所述的模式匹配引擎100、解析器110、文档处理器112以及串行化器114。
系统702具有可被实现为一个或多个电池的电源770。电源770还可包括外部功率源,如补充电池或对电池重新充电的AC适配器或加电对接托架。
系统702还可包括执行发射和接收无线电频率通信的功能的无线电772。无线电772通过通信运营商或服务供应商方便了系统702与“外部世界”之间的无线连接。来往无线电772的传输是在操作系统764的控制下进行的。换言之,无线电772接收的通信可通过操作系统764传播到应用程序766,反之亦然。
无线电772允许系统702例如通过网络与其他计算设备通信。无线电772是通信介质的一个示例。通信介质通常由诸如载波或其他传输机制之类的已调制数据信号中的计算机可读指令、数据结构、程序模块、或其他数据来体现,并且包括任何信息传送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。如此处所使用的术语“计算机可读介质”包括存储介质和通信介质两者。
系统702的该实施例使用可用于提供可视通知的可视指示器720和/或通过音频换能器725来产生音频通知的音频接口774来提供通知。在所示实施例中,可视指示符720是发光二极管(LED),而音频换能器725是扬声器。这些设备可直接耦合到电源770,使得当被激活时,即使为了节省电池功率而可能关闭处理器760和其它组件,它们也保留一段由通知机制指示的保持通电时间。LED可被编程为无限地保持通电,直到用户采取动作指示该设备的通电状态。音频接口774用于向用户提供听觉信号并从用户接受听觉信号。例如,除了被 耦合到音频换能器725之外,音频接口774还可被耦合到话筒来接收可听输入,例如便于电话通话。根据各本发明的各实施例,话筒也可充当音频传感器来便于对通知的控制,如下文将描述的。系统702可进一步包括允许板载相机730的操作来记录静止图像、视频流等的视频接口776。
实现系统702的移动计算设备700可具有附加特征或功能。例如,移动计算设备700还可包括附加数据存储设备(可移动和/或不可移动),例如磁盘、光盘或磁带。这种附加存储设备在图7B中用非易失性存储区768示出。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。
移动计算设备700生成或捕捉的且经系统702存储的数据/信息可如上所述本地存储在移动计算设备700上,或数据可被存储在可由设备通过无线电772或通过移动计算设备700和与移动计算设备700相关联的一分开的计算设备之间的有线连接访问的任何数量的存储介质上,该计算设备如例如因特网之类的分布式计算网络中的服务器计算机。如应理解的,此类数据/信息可经移动计算设备700、经无线电772或经分布式计算网络来被访问。类似地,这些数据/信息可根据已知的数据/信息传送和存储手段来容易地在计算设备之间传送以供存储和使用,这些手段包括电子邮件和协作数据/信息共享系统。
图8示出了用于向一个或多个客户机设备提供模式匹配引擎100、解析器110、文档处理器112以及串行化器114的系统的体系结构的一个实施例,如上所述。模式匹配引擎100、解析器110、文档处理器112以及串行化器114所开发的、与其交互的或与其相关联地编辑的内容可被存储在不同地通信信道或其他存储类型中。例如,各种文档可使用目录服务822、web门户824、邮箱服务826、即时消息收发存储828或社交联网网站830来存储。如本文所描述的,模式匹配引擎100、解析器110、文档处理器112以及串行化器114可以使用这些类型的系统中的任一个来启用数据利用。服务器820可以向客户机提供模式匹配引擎100、解析器110、文档处理器112以及串行化器114。作为一个示例,服务器820可以是通过web提供模式匹配引擎100、解析器110、文档处理器112以及串行化器114的web服务器。服务器820可以通过网络815 在web上向客户机提供模式匹配引擎100、解析器110、文档处理器112以及串行化器114。作为示例,客户机计算设备818可被实现为计算设备600并被具体化在个人计算机818a、平板计算设备818b和/或移动计算设备818c(如智能电话)中。客户机计算设备818的这些实施例中的任一个可从存储816获得内容。在各种实施例中,用于在构成本发明的计算设备之间进行通信的网络的类型包括但不限于互联网、内联网、广域网(WAN)、局域网(LAN)、以及虚拟专用网络(VPN)。在本申请中,网络包括企业网络和客户端计算设备用来访问企业网络的网络(即客户端网络)。在一个实施例中,客户端网络是企业网络的一部分。在另一实施例中,客户端网络是通过外部可用的接入点(如网关、远程访问协议、或公共或专用互联网地址)来访问企业网络的一分开的网络。
本申请中提供的一个或多个实施例的描述和说明不旨在以任何方式限制或约束如权利要求所要求保护的发明范围。本申请中提供的实施例、示例和细节被认为是足以传达所有权,且使得他人能够制作并使用所要求保护的发明的最佳模式。所要求保护的发明不应被理解为限制于本申请中所提供的任何实施例、示例或细节。不管是以组合的方式还是分开的方式示出和描述,各种特征(结构上的和方法逻辑上的)旨在被选择性地包括或忽略,以产生具有特定的特征集的实施例。在被提供本申请的描述和说明的情况下,本领域的技术人员能够想象到落在所要求保护的发明的更宽泛方面以及本申请中所具体化的一般发明概念的精神内的替代实施例并不背离该更宽泛的范围。

模式匹配引擎.pdf_第1页
第1页 / 共23页
模式匹配引擎.pdf_第2页
第2页 / 共23页
模式匹配引擎.pdf_第3页
第3页 / 共23页
点击查看更多>>
资源描述

《模式匹配引擎.pdf》由会员分享,可在线阅读,更多相关《模式匹配引擎.pdf(23页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 104094278 A (43)申请公布日 2014.10.08 CN 104094278 A (21)申请号 201280067913.4 (22)申请日 2012.01.23 G06K 9/00(2006.01) (71)申请人 微软公司 地址 美国华盛顿州 (72)发明人 V约瓦诺维克 M拉扎里维克 M拉斯科维克 N波兹达里维克 M舍舒姆 (74)专利代理机构 上海专利商标事务所有限公 司 31100 代理人 杨洁 (54) 发明名称 模式匹配引擎 (57) 摘要 模式匹配引擎及相关联的用于检测在固定格 式文档中出现的页眉、 页脚、 水印、 页编码、 页面色 彩。

2、和页边界中的一个或多个的方法。模式匹配引 擎跨固定格式文档的各页执行模式匹配以标识重 复模式。 使用试探分析, 符合所选准则的重复模式 被分类为页眉、 页脚或水印。 过滤移除了不可能表 示页眉、 页脚或水印的重复模式。 由模式匹配引擎 产生的信息允许在将固定格式文档转换为流格式 文档时将重复元素合适地重构为可流动元素。 (85)PCT国际申请进入国家阶段日 2014.07.23 (86)PCT国际申请的申请数据 PCT/EP2012/000290 2012.01.23 (87)PCT国际申请的公布数据 WO2013/110290 EN 2013.08.01 (51)Int.Cl. 权利要求书 。

3、3 页 说明书 9 页 附图 10 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书9页 附图10页 (10)申请公布号 CN 104094278 A CN 104094278 A 1/3 页 2 1. 一种用于标识在固定格式文档的不同页上重复的元素并对其进行分类的模式匹配 方法, 所述方法包括以下步骤 : 当元素具有相似内容并在所述固定格式文档的多个页面的相似位置上出现时将所述 元素标识为候选 ; 丢弃与过滤标准匹配的所述候选 ; 以及 当所述候选符合一组对应准则时, 选择性地将所选的所述候选分类为页眉、 页码, 或水 印。 2. 如权利要求 1 所述的。

4、模式匹配方法, 其特征在于, 所述将元素标识为候选的步骤还 包括以下步骤 : 标识在第一页上的第一元素中出现的第一数字 ; 标识在第二页上的第二元素中出现的第二数字, 所述第二数字与所述第一数字处于大 致相同的位置, 所述第二页与所述第一页连续 ; 以及 仅仅在所述第二数字和所述第一数字之差等于一时, 将所述第一元素和所述第二元素 标识为所述重复元素。 3. 如权利要求 1 所述的模式匹配方法, 其特征在于, 丢弃所述候选的步骤还包括 : 丢弃 没有在所述固定格式文档中的多于所选最小数量的页面上重复的所述候选的步骤。 4. 如权利要求 1 所述的模式匹配方法, 其特征在于, 丢弃所述候选的步骤。

5、还包括 : 丢弃 没有在所述固定格式文档中的至少两个连续页面上重复的所述候选的步骤。 5. 如权利要求 1 所述的模式匹配方法, 其特征在于, 丢弃所述候选的步骤还包括 : 丢弃 在所述固定格式文档中表现为行号的候选的步骤。 6. 如权利要求 1 所述的模式匹配方法, 其特征在于, 选择性地对所选的所述候选进行 分类的步骤还包括 : 当所述候选在所述固定格式文档的所述第一页以后的所有页上的大致 相同位置上出现而且所有这样的候选具有相似内容时, 将所述候选分类为水印的步骤。 7. 如权利要求 6 所述的模式匹配方法, 其特征在于, 将所述候选分类为水印的步骤还 包括 : 当所述水印覆盖所述页面上。

6、等于或大于所选最小页面覆盖区域阈值的区域时, 将所 述水印分类为页面色彩的步骤。 8. 如权利要求 6 所述的模式匹配方法, 其特征在于, 将所述候选分类为水印的步骤还 包括 : 当所述水印由多个相连元素形成并具有包含所述页面上等于或大于所选最小页边界 区域阈值的区域的边界框时, 将所述水印分类为页边界的步骤。 9. 如权利要求 1 所述的模式匹配方法, 其特征在于, 选择性地对所选的所述候选进行 分类的步骤还包括 : 当所述候选显得是在所述固定格式文档的各页的最高的元素时, 将所 述候选分类为页眉的步骤。 10. 如权利要求 1 所述的模式匹配方法, 其特征在于, 选择性地对所选的所述候选进。

7、行 分类的步骤还包括 : 当所述候选表现为所述固定格式文档中的各页的最底部元素时, 将所 述候选分类为页脚的步骤。 11. 如权利要求 1 所述的模式匹配方法, 其特征在于, 选择性地对所选的所述候选进行 分类的步骤还包括 : 当在所述固定格式文档中的各页的所述候选上方出现的每个元素被分 类为页眉时, 将所述候选也分类为页眉的步骤。 12. 如权利要求 1 所述的模式匹配方法, 其特征在于, 选择性地对所选的所述候选进行 权 利 要 求 书 CN 104094278 A 2 2/3 页 3 分类的步骤还包括 : 当在所述固定格式文档中的各页的所述候选下方出现的每个元素被分 类为页脚时, 将所述。

8、候选也分类为页脚的步骤。 13. 如权利要求 1 所述的模式匹配方法, 其特征在于, 还包括在选择性地对所选的所述 候选进行分类的步骤之后, 重复所述丢弃与过滤标准匹配的所述候选的步骤的步骤。 14. 一种用于检测在固定格式文档中出现的页眉、 页脚和水印并对其进行分类的系统, 所述系统包括用于以下的模式匹配引擎应用 : 将在固定格式文档中的多个页面上的相似位置中出现的重复元素标识为候选 ; 当所述候选在所述固定格式文档的第一页之后的全部页上的大致相同位置出现并且 所有这样的候选具有相似内容时, 将所述候选分类为水印 ; 当在所述固定格式文档中的各页面上的所述候选上方出现的每个元素被分类为页眉 。

9、时, 将所述候选也分类为页眉 ; 以及 当在所述固定格式文档中的各页面上的所述候选下方出现的每个元素被分类为页脚 时, 将所述候选也分类为页脚。 15. 如权利要求 14 所述的系统, 其特征在于, 所述模式匹配引擎应用能用于 : 丢弃没有在所述固定格式文档中的多于所选最小数量的页面上重复的所述候选 ; 以及 丢弃没有在所述固定格式文档中的至少两个连续页面上重复的所述候选。 16. 如权利要求 14 所述的系统, 其特征在于, 所述模式匹配引擎应用能用于 : 当所述水印覆盖所述页面上等于或大于所选最小页面覆盖区域阈值的区域时, 将所述 水印分类为页面色彩 ; 以及 当所述水印由多个相连元素形成。

10、并具有包含所述页面上等于或大于所选最小页边界 区域阈值的区域的边界框时, 将所述水印分类为页边界。 17. 如权利要求 14 所述的系统, 其特征在于, 所述模式匹配引擎应用能用于 : 当所述候选表现为所述固定格式文档中的各页面的最顶部元素时, 将所述候选分类为 页眉 ; 以及 当所述候选表现为所述固定格式文档中的各页面的最底部的元素时, 将所述候选分类 为页脚。 18. 一种包含计算机可执行指令的计算机可读介质, 所述指令在由计算机执行时执行 一种标识在固定格式文档的不同页面上重复的元素并对其进行分类的方法, 所述方法包括 以下步骤 : 当所述元素具有相似内容并在所述固定格式文档中的多个页面。

11、上的相似位置出现时 将元素标识为候选 ; 丢弃所述候选进一步包括丢弃没有在所述固定格式文档中的多于所选最小数量的页 面上重复的所述候选的步骤 ; 丢弃所述候选进一步包括丢弃没有在所述固定格式文档中的至少两个连续页面上重 复的所述候选的步骤 ; 丢弃所述候选进一步包括丢弃所述固定格式文档中表现为行号的候选的步骤 ; 当所述候选在所述固定格式文档的第一页之后的全部页上的大致相同位置中出现并 且所有这样的候选具有相似内容时, 将所述候选分类为水印 ; 当在所述固定格式文档中的各页面上的所述候选上方出现的每个元素被分类为页眉 权 利 要 求 书 CN 104094278 A 3 3/3 页 4 时, 。

12、将所述候选也分类为页眉 ; 以及 当所述固定格式文档中的各页面上的所述候选下方出现的每个元素被分类为页脚时, 将所述候选也分类为页脚。 19. 如权利要求 18 所述的计算机可读介质, 其特征在于, 将所述候选分类为水印的步 骤还包括 : 当所述水印覆盖所述页面上等于或大于所选最小页面覆盖区域阈值的区域时, 将所述水印分类为页面色彩的步骤。 20. 如权利要求 18 所述的计算机可读介质, 其特征在于, 将所述候选分类为水印的步 骤还包括 : 当所述水印由多个相连元素形成并具有包含所述页面上等于或大于所选最小页 边界区域阈值的区域的边界框时, 将所述水印分类为页边界的步骤。 权 利 要 求 书。

13、 CN 104094278 A 4 1/9 页 5 模式匹配引擎 0001 背景 0002 流格式文档和固定格式文档被广泛使用且具有不同的目的。 流格式文档使用复杂 逻辑格式化结构 ( 如章节、 段落、 列以及表 ) 来组织文档。结果, 流格式文档提供了灵活性 且易于修改, 使得它们适用于涉及被频繁更新或受到显著编辑的文档的任务。 相反, 固定格 式文档使用基本物理布局元素 ( 如文本串、 路径、 以及图像 ) 来组织文档以保留原始外观。 固定格式文档提供一致且精确的格式布局, 使得它们适用于涉及不被频繁或大量变更或其 中需要统一性的文档的任务。 这样的任务的示例包括文档归档、 高质量再现、 。

14、以及用于广告 发布和打印的源文件。固定格式文档通常从流格式源文档中创建。固定格式文档还包括物 理 ( 即, 纸质 ) 文档的数字再现 ( 例如, 扫描和照片 )。 0003 在其中需要编辑固定格式文档但流格式源文档不可用的情况下, 固定格式文档必 须被转换成流格式文档。 转换涉及解析该固定格式文档并将来自该固定格式文档的基本物 理布局元素变换成在流格式文档中使用的更复杂的逻辑元素。面对复杂元素 ( 如水印、 页 眉、 页脚, 和页码 ) 的现有文档转换器诉诸于被设计成以输出文档的可流动性为代价保留 布局 ( 例如, 文本框、 行间距、 以及字符间距 ) 的视觉保真度的基本技术。结果是需要用户 。

15、执行大量手动重构来获得真正有用的流格式文档的受限流格式文档。 本发明正是对于这些 和其他考虑事项而做出的。 0004 简要概述 0005 提供以下简要概述以便以简化形式介绍将在以下详细描述中进一步描述的一些 概念。本简要概述并不旨在标识所要求保护主题的关键特征或必要特征, 也不旨在用于限 制所要求保护主题的范围。 0006 在各实施例中, 模式匹配引擎检测在固定格式文档中形成重复模式的元素。为了 可靠地检测大量重复模式, 模式匹配引擎检测固定格式文档中的基本重复模式作为候选。 重复模式在元素出现在固定格式文档中每页上的相似或基本一致的位置处并在所选数量 的页上具有相似或基本相同的内容时形成。首。

16、先, 模式匹配引擎标识水印候选。页边界和 页面色彩被当做专门水印来对待。 水印通常在固定格式文档的每页上且在相同位置重复相 同的内容。在检测水印之后, 模式匹配引擎寻找页眉和页脚候选。为检测页眉和页脚候选, 模式匹配引擎确定何时特定数量的页的上部或下部在相同位置包含相同或相似内容。 0007 为标识动态元素, 诸如页码, 模式匹配引擎比较在各连续页上出现的元素的内容。 如果在第一页上所考虑的文本串包含一个数字, 而在第二页上所考虑的文本串也包含一个 数字而且那个数字的值从第一页到第二页增加一, 该元素被检测为页编码。 0008 为了可靠地检测大量重复模式, 模式匹配引擎查找基本重复模式。 作为。

17、结果, 不是 水印、 页边界、 页面色彩、 页眉、 页脚, 或页码的重复元素被检测以作为候选。一个过滤器丢 弃未重复最小次数的候选。 另一个过滤器丢弃贯穿固定格式文档中间歇地或随机地出现并 且被多页分开的候选。其它过滤器丢弃行号和被识别为其它对象 ( 诸如表格标题 ) 的重复 元素。在过滤后, 模式匹配引擎将匹配合适准则的候选分类为页眉、 页脚或水印。 0009 一个或多个实施例的细节在附图和以下描述中阐明。 通过阅读下面的具体实施例 说 明 书 CN 104094278 A 5 2/9 页 6 并参考相关联的附图, 其他特征和优点将变得显而易见。要理解的是下面的具体实施例仅 仅是说明性的, 。

18、而不是对所要求保护的发明的限制。 0010 附图简述 0011 通过参考下面的具体实施方式、 所附的权利要求书和附图, 进一步的特征、 各方面 和益处将变得更好理解, 其中各元素不会缩放以更清晰地示出细节, 在若干视图中, 相同的 附图标记指示相同的元素, 并且其中 : 0012 图 1 是示出包括模式匹配引擎的系统的一个实施例的框图 ; 0013 图 2 是示出文档处理器的一个实施例的操作流程的框图 ; 0014 图 3A 3D 示出在固定格式文档中出现的由模式匹配引擎处理的各种重复元素 ; 0015 图 4A 4B 是示出用于检测页眉、 页脚和水印的模式匹配方法的一个实施例的流 程图 ; 。

19、0016 图 5 示出了执行模式匹配引擎的一个实施例的平板计算设备的一个实施例 ; 0017 图 6 是可用其实施本发明的各实施例的计算设备的一个实施例的简化框图 ; 0018 图 7A 示出了执行模式匹配引擎的一个实施例的移动计算设备的一个实施例 ; 0019 图 7B 是可用其实施本发明的各实施例的移动计算设备的一个实施例的简化框 图 ; 以及 0020 图 8 是可在其中实施本发明的各实施例的分布式计算系统的简化框图。 0021 详细描述 0022 在此描述并在附图中示出的是模式匹配引擎及相关联的用于检测固定格式文档 中出现的页眉、 页脚、 水印、 页编码、 页面色彩和页边界中的一个或多。

20、个的方法。 模式匹配引 擎跨固定格式文档的各页执行模式匹配以标识重复模式。使用试探分析, 符合所选准则的 重复模式被分类为页眉、 页脚或水印。过滤移除了不可能表示页眉、 页脚或水印的重复模 式。 由模式匹配引擎产生的信息允许在将固定格式文档转换为流格式文档时将重复元素合 适地重构为可流动元素。 0023 图 1 示出合并了模式匹配引擎 100 的系统。在所示实施例中, 模式匹配引擎 100 作为在计算设备 104 上执行的文档转换器 102 的一部分来操作。文档转换器 102 使用解析 器 110、 文档处理器 112 以及串行化器 114 将固定格式文档 106 转换成流格式文档 108。解。

21、 析器 110 从固定格式文档 106 中提取数据。从固定格式文档提取的数据被写入可由文档处 理器 112 和串行化器 114 访问的数据存储 116。文档处理器 112 使用一个或多个检测和 / 或重构引擎 ( 例如, 本发明的模式匹配引擎 100) 分析该数据并将其转换成可流动元素。最 后, 串行化器 114 将可流动元素写成可流动文档格式 ( 例如, 文字处理格式 )。 0024 图 2 更详细地示出了文档处理器 112 的操作流程的一个实施例。文档处理器 112 包括可任选的光学字符识别 (OCR) 引擎 202、 布局分析引擎 204 以及语义分析引擎 206。数 据存储116中包含。

22、的数据包括物理布局对象208和逻辑布局对象210。 在一些实施例中, 物 理布局对象 208 和逻辑布局对象 210 被分层安排在树状编组阵列中 ( 即, 数据对象 )。在各 实施例中, 页面是物理布局对象 208 的顶级编组, 而章节是逻辑布局对象 210 的顶级编组。 从固定格式文档106中提取的数据一般被存储为由固定格式文档106中的包含页面来组织 的物理布局对象 208。从固定格式文档获得的基本物理布局对象包括文本串、 图像以及路 径。文本串是页面内容流中的指定在显示固定格式文档时字符的绘制位置的文本元素。图 说 明 书 CN 104094278 A 6 3/9 页 7 像是储存在固定。

23、格式文档106中的光栅图像(即, 图片)。 路径描述了诸如用于构建矢量图 的线、 曲线 ( 例如, 三次贝塞尔曲线 ) 以及文本轮廓等元素。逻辑数据对象包括诸如章节、 段落、 列和表格等的可流动元素。 0025 处理开始的位置依赖于被解析的固定格式文档 106 的类型。从流格式源文档直接 创建的本机固定格式文档 106a 包含基本物理布局元素中的一些或全部。一般而言, 从本机 固定格式文档 106a 提取的数据可供文档转换器立即使用 ; 但在一些情况下, 次要重新格式 化或其他次要处理器被应用以组织或标准化该数据。相反, 通过对物理文档进行数字图像 化 ( 例如, 扫描或拍照 ) 而创建的基于。

24、图像的固定格式文档 106b 中的所有信息被存储作为 不具有附加数据 ( 即, 没有文本串或路径 ) 的一系列页面图像。在这种情况下, 任选光学 字符识别引擎 202 分析每一页面图像并创建对应的物理布局对象。一旦物理布局对象 208 可用, 布局分析引擎204就确定固定格式文档的布局并用新信息来丰富数据存储(例如, 添 加、 移除以及更新物理布局对象 )。在布局分析完成之后, 语义分析引擎 206 用通过对物理 布局对象和 / 或逻辑布局对象进行分析而获得的语义信息来丰富数据存储。 0026 图 3A 3D 示出在固定格式文档 300a d 的不同页上出现的各种重复元素。图 3A 示出了具有。

25、水印 302 和页码 304 的固定格式文档 300a。图 3B 示出了具有在奇数页上出 现的第一页眉 306a、 在奇数页上出现的第一页脚 308a、 在偶数页上出现的第二页眉 306b, 和在偶数页上出现的第二页脚 308b 的固定格式文档 300b。图 3C 示出了具有页面色彩 310 的固定格式文档 300c。图 3D 示出了具有页边界 312 的固定格式文档 300d。 0027 图 4A 4B 是示出由模式匹配引擎 100 执行的用于检测水印、 页面色彩、 页边界、 页眉、 页脚和页码的模式匹配方法 400 的一个实施例的流程图。为了可靠地检测大量重复 模式, 模式匹配引擎 100。

26、 检测 410 固定格式文档中的基本重复模式作为候选。重复模式在 元素 ( 例如图像、 路径或文本串 ) 在固定格式文档中的每页上的相似或基本一致的位置处 出现并在所选数量的页上具有相似或基本相同的内容时形成。首先, 模式匹配引擎 100 标 识 411 水印候选。页边界和页面色彩被当做专门水印对待。水印通常在固定格式文档的每 页上且在相同位置重复相同的内容。类似地, 页边界和页面色彩在固定格式文档的每页的 相同位置相同地重复。为标识页边界候选, 模式匹配引擎 100 查找相互连接并跨越页的很 大部分的一组元素。 0028 在检测水印候选、 页边界和页面色彩之后, 模式匹配引擎100查找412。

27、页眉和页脚 候选。为检测页眉和页脚候选, 模式匹配引擎 100 确定何时特定数量的页的上部或下部在 相同位置包含相同或相似内容。当页面的上部或下部在相同位置包含相同内容时, 模式匹 配引擎 100 容易地将该元素合适地分类为页眉和页脚。在不同页上的元素在相同位置具有 类似内容的情况下, 模式匹配引擎 100 检查内容以查找动态元素。 0029 为标识动态元素, 诸如包含页码的文本串, 模式匹配引擎 100 比较在各连续页上 出现的元素的内容。如果在两个连续页上的文本串包含处于页面上相似位置的数字, 而那 个数字的值从第一页到第二页增加一, 则这些元素被分类为页编码。 在一些实施例中, 标识 和。

28、检查罗马数字以查看是否是增加一。在各实施例中, 除了数字以外的其它字母数字字符 也通过检查是否该字符的 ASCII 码或 Unicode 值增加 1 而被看成页码 304。除了评估连续 页, 模式匹配引擎 100 比较交替的页上的潜在的页眉和页脚候选, 以考虑奇数和偶数页页 眉 306a、 306b 和页脚 308a、 308b。在这样的情况下, 潜在的页码 304 被允许递增 2。 说 明 书 CN 104094278 A 7 4/9 页 8 0030 一旦固定格式文档中的重复模式已经被检测, 一个或多个过滤器丢弃 420 具有导 致该重复模式是水印、 页边界、 页面色彩、 页眉、 页脚或页。

29、码的低可能性的特性的那些重复 模式。一个过滤器丢弃 421 未重复最小次数的候选。在各实施例中, 不重复 3 或更多次数 的候选被丢弃。另一个过滤器丢弃 422 单独的候选。贯穿固定格式文档中偶尔地或随机地 出现并且被多页分开的候选被认为是单独的元素。例如, 当在页 2、 9 和 15 上出现候选时, 由于不存在有这些候选出现的两个连续页, 这些候选不是有效重复元素。而又一个过滤器 丢弃 423 被识别为其它类型的内容 ( 例如, 行号或表格 ) 并更合适地被如此分类的重复元 素。为过滤其它已识别对象, 分析包含重复元素的页面。如果重复元素是一些其它的已识 别类型的内容 ( 例如, 表格 ),。

30、 那个元素被消费。仅仅如果该已识别元素的任何部分没有被 消费并且包含重复元素, 该重复元素保持候选, 那些元素将保持候选 ; 然而, 如果仅仅部分 已识别内容是候选, 与那个已识别元素相关联的全部候选被丢弃。 0031 在过滤之后, 模式匹配引擎 100 将匹配合适准则的候选分类 430 为页眉 306a、 306b、 页脚 308a、 308b 或水印 302。在各实施例中, 模式匹配引擎 100 在重复元素跨始于第 二页的全部页面重复的情况下将那个元素分类 431 为水印。换言之, 重复元素不需要在第 一页上出现以被分类为水印。在一些实施例中, 出现在三或更多页上的重复元素被分类为 水印。。

31、 0032 除了符合水印 302 的基本要求以外, 模式匹配引擎 100 的一些实施例对页面色彩 310和页边界312施加额外的约束。 在各实施例中, 模式匹配引擎100仅在覆盖区域超过由 对应于大部分或基本上全部页面区域的最小页面覆盖区域百分比阈值指定的页面的所选 百分比的情况下才将重复元素分类为页面色彩310。 在其它实施例中, 在元素被分类为页面 色彩 310 或页边界 312 之前, 元素的边界框的高度和 / 或宽度必须超过对应的最小高度和 / 或宽度阈值。在一些实施例中, 在相连元素被分类为页边界之前, 由相连元素包含的页面 区域必须超过最小页面包含区域百分比阈值。在各实施例中, 最。

32、小页面覆盖区域百分比阈 值、 最小高度和 / 或宽度阈值, 以及最小页面包含区域百分比阈值变化。 0033 模式匹配引擎 100 在候选是页面上的最顶部元素或在该候选正上方的唯一其它 元素被分类为页眉的情况下, 将该候选也分类432为页眉306a、 306b。 超过所选量的垂直重 叠在页眉上的候选不被分类为页眉。 页脚308a、 308b以看着最底部元素相同方式分类433。 保持未被分类的候选被丢弃。模式匹配引擎 100 的一些实施例在进行分类之后执行 440 另 一过滤操作, 该另一过滤操作标识已经变成单独的候选或不符合最小重复数量的任何已分 类候选。 0034 最后, 相关页眉、 相关页脚。

33、, 和相关水印被选择性地放置 450 到合适的组中。换言 之, 页眉、 页脚和水印的不同实例被放置在分开的组中。 例如, 奇数页页眉放置在一个组中, 而偶数页页眉放置在另一个组中。类似地, 如果页眉在页 ( 例如, 章节标题 ) 之间改变, 那 些页眉可放置在不同组中。不同的组可被存储在不同逻辑对象中 ( 例如, 章节对象 ), 并且 这样的信息可在序列化期间被使用来创建可流动元素。 0035 在此描述的模式匹配引擎100和相关联的模式匹配方法400可用于标识并分类在 固定格式文档中出现的页眉、 页脚和水印。通过检测固定格式文档中的页眉、 页脚和水印, 模式匹配引擎 100 允许对应的可流动元。

34、素在序列化期间被创建。相反, 现有的文档转换技 术通常在序列化期间将位于固定页面文档的顶部或底部的内容置于文本框或帧中或将内 说 明 书 CN 104094278 A 8 5/9 页 9 容作为图像对待。 尽管已在结合在计算机上的操作系统上运行的应用程序执行的程序模块 的一般上下文中描述本发明, 但本领域的技术人员将认识到, 本发明也可结合其他程序模 块实现。一般而言, 程序模块包括执行特定任务或实现特定抽象数据类型的例程、 程序、 组 件、 数据结构和其他类型的结构。 0036 本文描述的实施例和功能可通过多种计算系统来操作, 包括但不限于台式计算机 系统、 有线和无线计算系统、 移动计算系。

35、统 ( 如移动电话、 上网本、 图形输入板或平板型计 算机、 笔记本计算机、 和膝上型计算机 )、 手持设备、 多处理器系统、 基于微处理器或可编程 消费电子产品、 小型计算机、 以及大型计算机。图 5 示出了执行模式匹配引擎 100 的实施例 的示例性平板计算设备 500。此外, 本文所述的实施例和功能可在分布式系统上操作 ( 如 基于云的计算系统 ), 其中应用功能、 存储器、 数据存储和检索、 以及各种处理功能可在诸如 因特网或内联网之类的分布式计算网络上彼此远程地操作。 各种类型的用户界面和信息可 经由板载计算设备显示器或经由与一个或多个计算设备相关联的远程显示单元来显示。 例 如, 。

36、各种类型的用户界面和信息可在墙壁表面上被显示和交互, 各种类型的用户界面和信 息被投射在墙壁表面上。与可用于实施本发明的各实施例的许多计算系统的交互包括 : 键 击输入、 触摸屏输入、 语音或其他音频输入、 姿势输入 ( 其中相关联的计算设备配备有用于 捕捉和解释用于控制计算设备的功能的用户姿势的检测 ( 如相机 ) 功能 ) 等。图 6 到 8 以 及相关描述提供了其中可实施本发明的各实施例的各种操作环境的讨论。然而, 关于图 6 到 8 所示出和讨论的设备和系统是用于示例的目的, 而非对可被用于实施本文所述的本发 明的各实施例的大量计算设备配置的限制。 0037 图 6 是示出可用来实施本。

37、发明的各实施例的计算设备 600 的示例物理组件 ( 即硬 件 ) 的框图。下面描述的计算设备组件可适用于上述的计算设备。在基本配置中, 计算设 备 600 可包括至少一个处理单元 602 和系统存储器 604。取决于计算设备的配置和类型, 系统存储器 604 可包括, 但不限于, 易失性存储器 ( 例如, 随机存取存储器 )、 非易失性存储 器(例如, 只读存储器)、 闪存、 或这些存储器的任何组合。 系统存储器604可包括操作系统 605和适于运行诸如模式匹配引擎100、 解析器110、 文档处理器112以及串行化器114等软 件应用 620 的一个或多个程序模块 606。操作系统 605。

38、 例如可适合于控制计算设备 600 的 操作。此外, 本发明的各实施例可以结合图形库、 其他操作系统、 或任何其他应用程序来实 践, 且不限于任何特定应用程序或系统。该基本配置在图 6 中由虚线 608 内的那些组件示 出。计算设备 600 可具有附加特征或功能。例如, 计算设备 600 还可包括附加数据存储设 备 ( 可移动和 / 或不可移动 ), 诸如, 例如磁盘、 光盘或磁带。这些附加存储在图 6 中由可移 动存储设备 609 和不可移动存储设备 610 示出。 0038 如上所述, 可在系统存储器 604 中存储多个程序模块和数据文件。当在处理单元 602 上执行时, 诸如模式匹配引擎。

39、 100、 解析器 110、 文档处理器 112 以及串行化器 114 等程 序模块 606 可以执行包括例如模式匹配方法 400 的各阶段中的一个或多个阶段等过程。上 述过程是一示例, 且处理单元 602 可执行其他过程。根据本发明的实施例可使用的其他程 序模块可包括电子邮件和联系人应用、 字处理应用、 电子表格应用、 数据库应用、 幻灯片演 示应用、 绘图或计算机辅助应用等。 0039 此外, 本发明的各实施例可在包括分立电子元件的电路、 包含逻辑门的封装或集 成电子芯片、 利用微处理器的电路、 或在包含电子元件或微处理器的单个芯片上实现。例 说 明 书 CN 104094278 A 9 。

40、6/9 页 10 如, 可以通过片上系统 (SOC) 来实施本发明的各实施例, 其中, 可以将图 6 中示出的每个或 许多组件集成到单个集成电路上。这样的 SOC 设备可包括一个或多个处理单元、 图形单元、 通信单元、 系统虚拟化单元以及各种应用功能, 所有这些都被集成到 ( 或 “烧录到” ) 芯片 基板上作为单个集成电路。当通过 SOC 操作时, 在此所述的关于模式匹配引擎 100、 解析器 110、 文档处理器 112 以及串行化器 114 的功能可以通过在单个集成电路 ( 芯片 ) 上与计算 设备 600 的其它组件集成在一起的专用逻辑来操作。本发明的各实施例还可以使用能够执 行诸如,。

41、 例如, AND( 与 )、 OR( 或 ) 和 NOT( 非 ) 等逻辑运算的其他技术来实践, 包括但不限 于, 机械、 光学、 流体和量子技术。 另外, 本发明的各实施例可以在通用计算机或任何其他电 路或系统中实现。 0040 计算设备 600 也可具有一个或多个输入设备 612, 如键盘、 鼠标、 笔、 语音输入设 备、 触摸输入设备等等。也可包括输出设备 614, 如显示器、 扬声器、 打印机等等。上述设备 是示例且可以使用其他设备。计算设备 600 还可包括允许与其它计算设备 618 进行通信的 一个或多个通信连接 616。合适的通信连接 616 的示例包括但不限于 RF 发射机、 。

42、接收机和 / 或收发机电路 ; 通用串行总线 (USB)、 并行或串行端口、 以及适用于与适用的计算机可读 介质一起使用的其他连接。 0041 例如, 本发明的各实施方式可被实现为计算机进程 ( 方法 )、 计算系统或诸如计算 机程序产品或计算机可读介质等制品。 计算机程序产品可以是计算机系统可读并编码了用 于执行计算机进程的指令的计算机程序的计算机存储介质。 0042 如此处所使用的术语计算机可读介质可包括计算机存储介质和通信介质。 计算机 存储介质可包括以用于存储诸如计算机可读指令、 数据结构、 程序模块、 或其他数据等信息 的任何方法或技术实现的易失性和非易失性、 可移动和不可移动介质。。

43、系统存储器 604、 可 移动存储设备 609 和不可移动存储设备 610 都是计算机存储介质 ( 即, 存储器存储 ) 的示 例。计算机存储介质可以包括, 但不限于, RAM、 ROM、 电可擦除只读存储器 (EEPROM)、 闪存或 其它存储器技术、 CD-ROM、 数字多功能盘 (DVD) 或其它光存储、 磁带盒、 磁带、 磁盘存储或其 它磁性存储设备、 或可用于存储信息且可以由计算机设备 600 访问的任何其它介质。任何 这样的计算机存储介质都可以是计算设备 600 的一部分。 0043 通信介质由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、 数 据结构、 程序模块或其他。

44、数据来体现, 并包括任何信息传递介质。 术语 “已调制数据信号” 可 以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特征的信号。 作为 示例而非限制, 通信介质包括诸如有线网络或直接线连接等有线介质, 以及诸如声学、 射频 (RF)、 红外线和其他无线介质等无线介质。 0044 图 7A 和 7B 示出可用来实施本发明的各实施例的移动计算环境 700, 例如移动电 话、 智能电话、 平板个人计算机、 膝上型计算机等。 参考图7A, 示出了用于实现各实施例的示 例性移动计算设备700。 在一基本配置中, 移动计算设备700是具有输入元件和输出元件两 者的手持式计算机。移动计算设备。

45、 700 通常包括显示器 705 以及允许用户将信息输入到移 动计算设备 700 中的一个或多个输入按钮 710。移动计算设备 700 的显示器 705 也可充当 输入设备(如触摸屏显示器)。 如果包括, 则可任选的侧输入元件715允许进一步的用户输 入。侧输入元件 715 可以是旋转开关、 按钮、 或任何其他类型的手动输入元件。在替代实施 例中, 移动计算设备700可结合更多或更少的输入元件。 例如, 在某些实施例中, 显示器705 说 明 书 CN 104094278 A 10 7/9 页 11 可以不是触摸屏。在又一替代实施例中, 移动计算设备 700 是诸如蜂窝电话之类的便携式 电话系。

46、统。移动计算设备 700 还可包括可选的小键盘 735。可选的小键盘 735 可以是物理 小键盘或者在触摸屏显示器上生成的 “软” 小键盘。在各种实施例中, 输出元件包括用于示 出图形用户界面 (GUI) 的显示器 705、 可视指示器 720( 如发光二极管 )、 和 / 或音频换能器 725( 如扬声器 )。在某些实施例中, 移动计算设备 700 结合振动换能器来向用户提供触觉 反馈。在又一实施例中, 移动计算设备 700 结合诸如音频输入 ( 如传声器插孔 )、 音频输出 ( 如耳机插孔 )、 以及视频输出 ( 如 HDMI 端口 ) 之类的输入和 / 或输出端口, 用于将信号发 送到外。

47、部设备或从外部设备接收信号。 0045 图 7B 是示出移动计算设备的一个实施例的架构的框图。即, 移动计算设备 700 可 结合系统 ( 即架构 )702 以实现某些实施例。在一个实施例中, 系统 702 被实现为能够运行 一个或多个应用 ( 如浏览器、 电子邮件、 日历、 联系人管理器、 消息收发客户端、 游戏、 以及 媒体客户端 / 播放器 ) 的 “智能电话” 。在某些实施例中, 系统 702 被集成为计算设备, 诸如 集成的个人数字助理 (PDA) 和无线电话。 0046 一个或多个应用程序 766 可被加载到存储器 762 中并在操作系统 764 上或与操作 系统 864 相关联地。

48、运行。应用程序的示例包括电话拨号程序、 电子邮件程序、 个人信息管 理 (PIM) 程序、 文字处理程序、 电子表格程序、 因特网浏览器程序、 消息通信程序等等。系统 702 还包括存储器 762 内的非易失性存储区 768。非易失性存储区 768 可被用于存储在系 统 702 断电时不会丢失的持久信息。应用程序 766 可使用信息并将信息存储在非易失性存 储区 768 中, 如电子邮件应用使用的电子邮件或其他消息等。同步应用 ( 未示出 ) 也驻留 于系统 702 上且被编程为与驻留在主机计算机上的对应的同步应用交互, 以保持非易失性 存储区 768 中存储的信息与主机计算机处存储的相应信息。

49、同步。如应理解的, 其他应用可 被加载到存储器 762 中并在移动计算设备 700 上运行, 包括此处所述的模式匹配引擎 100、 解析器 110、 文档处理器 112 以及串行化器 114。 0047 系统 702 具有可被实现为一个或多个电池的电源 770。电源 770 还可包括外部功 率源, 如补充电池或对电池重新充电的 AC 适配器或加电对接托架。 0048 系统 702 还可包括执行发射和接收无线电频率通信的功能的无线电 772。无线电 772 通过通信运营商或服务供应商方便了系统 702 与 “外部世界” 之间的无线连接。来往无 线电 772 的传输是在操作系统 764 的控制下进行的。换言之, 无线电 772 接收的通信可通 过操作系统 764 传播到应用程序 766, 反之亦然。 0049 无线电 772 允许系统 702 例如通过网络与其他计算设备通信。无线电 772 是通信 介质的一个示例。 通信介质通常由诸如载波或其他传输机制之类的已调制数据信号中的计 算机可读指令、 数据结构、 程序模块、 或其他数据来体现, 并且包括任何信息传送介质。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1