CN101297318A - 用于混合介质文档***的数据组织和访问 - Google Patents
用于混合介质文档***的数据组织和访问 Download PDFInfo
- Publication number
- CN101297318A CN101297318A CNA2006800394774A CN200680039477A CN101297318A CN 101297318 A CN101297318 A CN 101297318A CN A2006800394774 A CNA2006800394774 A CN A2006800394774A CN 200680039477 A CN200680039477 A CN 200680039477A CN 101297318 A CN101297318 A CN 101297318A
- Authority
- CN
- China
- Prior art keywords
- document
- fragment
- mmr
- word
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Facsimiles In General (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
公开了混合介质实境(MMR)***和相关联的技术。MMR***提供用于形成包括至少两种类型的介质(例如,作为第一介质的打印纸张和作为第二介质的数字内容和/或网页链接)的混合介质文档的机制。在一个特定实施例中,MMR***包括基于内容的检索数据库,其由索引表配置以允许使用基于文本的索引的查找的方式,来表示在从打印文档所提取的对象之间的二维几何关系。给定来自索引表的数据,能够计算分等级的一组文档、页面、和位置假设。所述技术有效地将在图像碎片中探测的特征转换成文本项(或其他可搜索的特征),其表示特征自身和在它们之间的几何关系两者。存储设施可以用来存储有关每一个文档图像碎片的、另外的特性。
Description
技术领域
本发明涉及用于产生从至少两种介质类型而形成的混合介质文档的技术,并且更具体地,涉及使用与电子介质结合的打印介质来产生混合介质文档的混合介质实境(MMR)***。
背景技术
文档打印和复制技术已在许多环境中使用了许多年。例如,在私人和商业办公环境中、在具有个人计算机的家庭环境中、以及在文档打印和出版服务环境中,都使用打印机和复印机。然而,先前并未认为打印和复制技术是起连接静态打印介质(即,纸质文档)与包括数字通信***、网络、信息供应、广告、娱乐、和电子商务之类的交互的“虚拟世界”之间的差距的桥梁作用的手段。
打印介质已作为通信信息,例如新闻和广告信息,的主要来源历时几个世纪。在过去的少数几年,通过使得以电子可读和可搜索的形式利用,以及通过引进交互式多媒体性能,个人计算机和个人电子装置,例如个人数字助理(PDA)装置和蜂窝式电话(如,照相手机)的出现和日益增长的流行度已扩大了打印介质的概念,对于传统的打印介质来说,其为史无前例的。
不幸地,电可访问的虚拟的基于多媒体的世界与打印介质的物理世界之间存在差距。例如,尽管几乎发达世界的每个人每天都可访问打印介质和电子信息,但打印介质和个人电子装置的用户不拥有形成两者之间的连接(即,用于便利混合介质文档)所必需的工具和技术。
此外,传统的打印介质提供特别的有利属性,例如触感,不需要功率,和持久的组织和存储,其在虚拟或数字介质中不提供。同样地,传统的数字介质也提供特别的有利属性,例如便携(如,在手机或便携式计算机的存储中携带)和易于传输(如,通过电子邮件)。
因为这些原因,存在关于使得能够开发与打印的和虚拟的介质两者都关联的益处的技术的需要。
发明内容
本发明的一个或多个实施例的至少一个方面提供用于在混合介质文档***中组织和访问信息的、计算机实现的方法。所述方法包括生成纸质文档的电子表示,识别在纸质文档上的特征(其捕获纸质文档的二维面貌),识别特征的位置,以及由其各自的位置来为特征编索引编索引,由此生成索引表。所述方法可以包括接收纸质文档的预备步骤。所述方法包括存储与特征中的至少一个关联的一个或多个特性。在一个这样的情况下,一个或多个特性包括一个或多个动作,而所述动作包括文本信息的检索、图形信息的检索、执行过程、执行命令、定购、检索视频、检索声音、存储信息、创造创建新的文档、打印文档和显示文档中的至少一个。在另一个特别的情况下,识别在纸质文档上的特征(其捕获二维面貌)包括识别水平排列的(无论是否为邻近的)和垂直排列的(无论是否为邻近的)对象。在另一个特别的情况下,识别在纸质文档上的特征(其捕获二维面貌)包括识别水平的和垂直的单词对(全部的或部分的单词对)。在另一个特别的情况下,在扫描或打印过程期间执行生成纸质文档的电子表示。在另一个特别的情况下,识别在纸质文档上的特征(其捕获纸质文档的二维面貌)包括通过检测在两个连贯的序列之间的、垂直的重叠部分的数量,来将文本的序列归合成逻辑行。所述方法可以包括基于来自索引表的数据,来接收一个或多个查询项(其捕获在目标文档中的对象之间的二维关系),以及计算潜在地响应于查询项的至少一个混合介质文档与位置假设。在一个这样的情况,通过接收目标文档,创建目标文档的至少一个碎片的图像,以及生成一个或多个基于图像的查询项,来先于接收一个或多个查询项(其捕获在目标文档中的对象之间的二维关系)。在一个这样的情况下,生成一个或多个基于图像的查询项包括生成从图像提取的、水平的和垂直的单词对。在另一个特别的情况下,计算至少一个混合介质文档与位置假设包括将最可能匹配目标文档的碎片的、存储的页面定位,以及计算在所述页面中最可能为碎片的中心的位置。在一个这样的情况下,将每一个单词对与逆向文档频率相关联,并且将最可能匹配目标文档的至少一个碎片的、存储的页面定位包括将对于每一个单词对的逆向文档频率,添加到由单词对呈现于其上的文档页面来为其编索引编索引的累加器。响应于超过阈值的、在所述累加器中的最大值,所述方法继续输出如对碎片的匹配这样的、相应的文档页面。在一个这样的情况下,计算在所述页面中的、最可能为碎片的中心的位置包括将权重添加到在每一个单词对四周的区中的每一个单元(例如,可以由单词对的逆向文档频率与在所述单元和区的中心之间的、规范化的几何距离的乘积来确定对于每一个单元的权重),以及搜索对于单元具有最大值的累加器的、相应的累加器Accum阵列。响应于超过阈值的最大值,所述方法进一步包括报告如碎片的位置这样的、单元的坐标。在另一个特别的情况下,报告计算至少一个混合介质文档和位置假设包括在索引表中查找到一个或多个查询项中的每一个,来检索与每一个查询项关联的一个或多个位置,以及对于每一个识别的位置,来识别一个或多个包含所述位置的候选区域。在一个所述情况下,计算至少一个混合介质文档和位置假设包括识别与一个或多个查询项中的全部最一致的、一个或多个候选区域中的一个。响应于确定一个或多个候选区域中的那个满足预定的匹配标准,所述方法继续确认区域为对目标文档的匹配。
本发明的一个或多个实施例的至少一个另外的方面提供以指令来编码的机器可读介质(如,一个或多个压缩光盘、软盘、服务器、记忆棒,或硬盘驱动器、ROM、RAM,或适合于存储电子指令的、任何类型的介质),而当由一个或多个处理器来执行时,其促使处理器来执行用于在混合介质文档***中组织和访问信息的过程。例如,所述过程可以与于此描述的方法相似或为所述方法的变体。
本发明的一个或多个实施例的至少一个其他方面提供用于访问在混合介质文档***中的信息的方法。所述方法包括基于来自为混合介质文档的文档特征和特征位置编索引的索引表的数据,接收一个或多个查询项(其捕获在目标文档中的对象之间的二维关系),并来计算潜在地响应于查询项的、至少一个混合介质文档与位置假设。在一个特别的情况下,由接收目标文档,创建目标文档的至少一个碎片的图像,以及基于所述图像来生成一个或多个查询项,来先于接收一个或多个查询项(其捕获在目标文档中的对象之间的二维关系)。在一个这样的情况下,基于所述图像来生成一个或多个查询项包括生成从图像提取的、水平的和垂直的单词对。在另一个所述情况下,计算至少一个混合介质文档和位置假设包括将最可能匹配目标文档的碎片的、所存储的页面定位,并计算在所述页面之中最可能为碎片的中心的位置。在另一个所述的情况下,将每一个单词对与逆向文档频率相关联,并且将最可能匹配目标文档的至少一个碎片的、所存储的页面定位包括将对于每一个单词对的逆向文档频率,添加到由单词对呈现于其上的文档页面来为其编索引的累加器。响应于在所述累加器中的、超过阈值的最大值,所述方法继续输出作为对碎片的匹配的、相应的文档页面。在另一个所述情况下,计算在所述页面之中的、最可能为碎片的中心的位置包括将权重添加到在每一个单词对四周的区中的每一个单元(例如,可以由单词对的逆向文档频率与在所述单元和区的中心之间的、规范化的几何距离的乘积来确定对于每一个单元的权重),以及搜索对于单元具有最大值的累加器的、相应的Accum阵列。响应于超过阈值的最大值,所述方法包括报告作为碎片的位置的、单元的坐标。在另一个特别的情况下,计算至少一个混合介质文档和位置假设包括在索引表中查找一个或多个查询项中的每一个,来检索与每一个查询项相关联的一个或多个位置,并且对于每一个所识别的位置,识别包含所述位置的、一个或多个候选区域。计算至少一个混合介质文档和位置假设可以进一步包括识别与一个或多个查询项中的全部最一致的、一个或多个候选区域中的一个,并且响应于确定一个或多个候选区域中的那一个满足预定的匹配标准的,来将区域确认为对目标文档的匹配。
本发明的另一个实施例提供以指令来编码的机器可读介质(如,一个或多个压缩光盘、软盘、服务器、记忆棒,或硬盘驱动器、ROM、RAM,或适合于存储电子指令的、任何类型的介质),而当由一个或多个处理器来执行时,其促使处理器来执行用于在混合介质文档***中访问信息的过程。例如,所述过程可以与这里描述的方法相似或为所述方法的变体。
本发明的一个或多个实施例的至少另一个方面提供以指令编码的机器可读介质(例如,一个或多个压缩光盘、磁盘、服务器、记忆棒、或硬盘驱动器、ROM、RAM、或适合于存储电子指令的任何类型的介质),当由一个或多个处理器执行时,其促使处理器执行用于访问混合介质文档***中的信息的过程。例如,这个过程能够与这里所描述的方法类似或是其变体。
于此所描述的特点和优点并不包含所有的,且特别地,考虑绘图和描述,对于一个本领域普通技术人员来说,许多另外的特点和优点将会很明显。此外,应该注意到,主要为易读性和指导性的目的已选择说明书中所使用的语言,并且不局限于发明主旨的范围。
附图说明
图1A阐明根据本发明的一个实施例而配置的混合介质实境(MMR)***的功能框图;
图1B阐明根据本发明的另一个实施例而配置的MMR***的功能框图;
图2A、2B、2C、和2D阐明根据本发明的一个实施例的捕获装置;
图2E阐明根据本发明的一个实施例而配置的捕获装置的功能框图;
图3阐明根据本发明的一个实施例而配置的MMR计算机的功能框图;
图4阐明根据本发明的一个实施例而配置的MMR软件套装中所包括的一组软件部件;
图5阐明表示根据本发明的一个实施例而配置的MMR文档的实施例的图解;
图6阐明根据本发明的一个实施例的文档指纹匹配方法;
图7阐明根据本发明的一个实施例而配置的文档指纹匹配***;
图8阐明根据本发明的一个实施例的文本/非文本辨别的流程;
图9阐明根据本发明的一个实施例的文本/非文本辨别的例子;
图10阐明用于估计根据本发明的一个实施例的图像碎片中的文本的磅值的流程;
图11阐明根据本发明的另一个实施例的文档指纹匹配技术;
图12阐明根据本发明的另一个实施例的文档指纹匹配技术;
图13阐明根据本发明的一个实施例的交互式图像分析的例子;
图14阐明根据本发明的另一个实施例的文档指纹匹配技术;
图15阐明根据本发明的一个实施例的文字边界框探测的例子;
图16阐明根据本发明的一个实施例的特征提取技术;
图17阐明根据本发明的另一个实施例的特征提取技术;
图18阐明根据本发明的另一个实施例的特征提取技术;
图19阐明根据本发明的另一个实施例的特征提取技术;
图20阐明根据本发明的另一个实施例的文档指纹匹配技术;
图21阐明根据本发明的一个实施例的文档指纹匹配的多分类器特征提取;
图22和23阐明根据本发明的一个实施例的文档指纹匹配技术的例子;
图24阐明根据本发明的另一个实施例的文档指纹匹配技术;
图25阐明根据本发明的一个实施例的数据库驱动的反馈的流程;
图26阐明根据本发明的另一个实施例的文档指纹匹配技术;
图27阐明根据本发明的一个实施例的数据库驱动的分类的流程;
图28阐明根据本发明的另一个实施例的文档指纹匹配技术;
图29阐明根据本发明的一个实施例的数据库驱动的多重分类的流程;
图30阐明根据本发明的另一个实施例的文档指纹匹配技术;
图31阐明根据本发明的另一个实施例的文档指纹匹配技术;
图32阐明根据本发明的另一个实施例的文档指纹匹配技术;
图33示出根据本发明的一个实施例的多层级识别的流程;
图34A阐明根据本发明的一个实施例而配置的MMR数据库***的功能框图;
图34B阐明根据本发明的一个实施例的基于OCR的技术的MMR特征提取的例子;
图34C阐明根据本发明的一个实施例的示例性索引表组织;
图35阐明根据本发明的一个实施例的用于产生一个MMR索引表的方法;
图36阐明根据本发明的一个实施例的用于计算关于目标文档的分等级的一组文档、页面、和位置假设的方法;
图37A阐明根据本发明的另一个实施例而配置的MMR部件的功能框图;
图37B阐明根据本发明的一个实施例的MMR打印软件中所包括的一组软件部件;
图38阐明根据本发明的一个实施例的在文档中嵌入热点的方法的流程图;
图39A阐明根据本发明的一个实施例的HTML文件的例子;
图39B阐明图39A的HTML文件的标记版的例子;
图40A阐明根据本发明的一个实施例的浏览器中所显示的图39A的HTML文件的例子;
图40B阐明根据本发明的一个实施例的图40A的HTML文件的打印版的例子;
图41阐明根据本发明的一个实施例的符号热点描述;
图42A和42B示出根据本发明的一个实施例的图39A的HTML文件的示例性page_desc.xml文件;
图43阐明根据本发明的一个实施例的,相应于图41、42A、和42B的hotspot.xml文件;
图44阐明根据本发明的一个实施例的转发DLL所使用的过程的流程图;
图45阐明根据本发明的一个实施例的转换相应于文档中的热点的字符的方法的流程图;
图46阐明根据本发明的一个实施例的文档的电子版的例子;
图47阐明根据本发明的一个实施例的打印修改文档的例子;
图48阐明根据本发明的一个实施例的共享文档注解的方法的流程图;
图49A阐明根据本发明的一个实施例的浏览器中的样本源网页;
图49B阐明根据本发明的一个实施例的浏览器中的样本修改网页;
图49C阐明根据本发明的一个实施例的样本打印网页;
图50A阐明根据本发明的一个实施例的添加热点至图像化文档的方法的流程图;
图50B阐明根据本发明的一个实施例的定义用于添加至图像化文档的热点的方法的流程图;
图51A阐明示出已根据一个实施例而扫描的新闻纸页面的一部分的用户接口的例子;
图51B阐明用于定义数据或交互作用,以与所选择的热点关联的用户接口;
图51C阐明根据本发明的一个实施例的包括分派框的图51B的用户接口;
图51D阐明根据本发明的一个实施例的用于显示文档内的热点的用户接口;
图52阐明根据本发明的一个实施例的使用MMR文档和MMR***的方法的流程图;
图53阐明根据本发明的一个实施例的与MMR***关联的示例性的一组商业实体的框图;
图54阐明根据本发明的一个实施例的,作为通过使用MMR***而便利的一般化的商业方法的,方法的流程图。
具体实施方式
描述混合介质实境(MMR)***和相关联的方法。MMR***提供用于形成包括至少两种类型的介质,如打印纸张作为第一种介质,以及数码照片、数字电影、数字音频文件、数字文本文件、或网络链接作为第二种介质,的混合介质文档的机制。MMR***和/或技术能够进一步用于便利各种各样的利用便携式电子装置(如,PDA或照相手机)与纸质文档的结合,以提供混合介质文档的商业模型。
在一个特定实施例中,MMR***包括基于内容的检索数据库,其表示以允许使用基于文本的索引查找的方式从打印文档中所提取的目标之间的二维几何关系。证据累加技术将特征出现的频率与其在二维区域中的位置的可能性结合。在一个这样的实施例中,MMR数据库***包括接收由MMR特征提取算法所计算的描述的索引表。索引表识别文档、页面、和每个特征出现处的那些页面内的x-y位置。给出来自索引表的数据,证据累加算法计算分等级的一组文档、页面和位置假设。如所期望的,能够使用关系数据库(或其它适合的存储设施)来存储有关每个文档、页面、和位置的另外的特性。
MMR数据库***也可以包括其它部件,如MMR处理器、捕获装置、通信机制和包括MMR软件的存储器。也可以将MMR处理器连接至介质类型的存储器或源、输入装置和输出装置。在一个这样的配置中,MMR软件包括MMR处理器可执行的例程,用于访问具有另外的数字内容的MMR文档、创建或修改MMR文档、以及使用文档执行其它的操作,如商业交易、数据查询、报告,等等。
MMR***概述
现在参考图1A,示出根据本发明的实施例的混合介质实境(MMR)***100a。MMR***100a包括MMR处理器102、通信机制104、具有便携式输入装置168和便携式输出装置170的捕获装置106、包括MMR软件的存储器108、基本介质存储器160、MMR介质存储器162、输出装置164、和输入装置166。通过提供使用来自现有的打印文档(第一介质类型)的信息作为第二介质类型,如音频、视频、文本、更新的信息和服务的索引的方式,MMR***100a创建混合介质环境。
捕获装置106能够产生打印文档(例如,图像、绘图、或其它这样的表示法)的表示,并将该表示发送至MMR处理器102。然后MMR***100a将该表示与MMR文档和其它第二介质类型匹配。MMR***100a也为响应表示的输入和识别而采取动作负责。MMR***100a所采取的动作能够为任何类型,包括,例如,检索信息、下订单、检索视频或声音、存储信息、创建新文档、打印文档、显示文档或图像,等等。通过于此所描述的基于内容的检索数据库技术的使用,MMR***100a提供将打印文本提交到向用户提供感兴趣的或有价值的电子内容或服务的进入点的动态介质的机制。
MMR处理器102处理数据信号,并可以包括各种各样的计算体系结构,包括复杂指令集计算机(CISC)体系结构、精简指令集计算机(RISC)体系结构、或实现指令集的结合的体系结构。在一个特定实施例中,MMR处理器102包括算术逻辑单元、微处理器、一般用途的计算机、或为执行本发明的操作而配备的一些其它信息设备。在另一个实施例中,MMR处理器102包括具有图形化的用户接口的一般用途的计算机,该图形化用户接口可以由,例如,以在像基于WINDOWS或UNIX操作***那样的操作***之上运行的Java所写的程序产生。尽管在图1A中仅示出单个处理器,但可以包括多个处理器。处理器连接至MMR存储器108,并执行存储在那里的指令。
通信机制104是用于将捕获装置106连接至MMR处理器102的任何装置或***。例如,能够使用网络(例如,WAN和/或LAN)、有线链接(例如,USB、RS232、或以太网)、无线链接(例如,红外线、蓝牙、或802.11)、移动装置通信链接(例如,GPRS或GSM)、公共交换电话网(PSTN)链接、或这些的任何结合来实现通信机制104。这里能够使用许多通信体系结构和协议。捕获装置106包括像收发机那样的设备,以与通信机制104相接,并且是能够通过输入装置168数字地捕获图像或数据的任何装置。捕获装置106能够选择性地包括输出装置170,并且可替代地为便携式的。例如,捕获装置106是标准的照相手机、PDA装置、数字相机、条形码读取器、射频识别(RFID)阅读器、诸如标准的网络摄像机这样的计算机***设备、或诸如PC的视频卡这样的内置装置。参考图2A-2D,更详细地分别描述捕获装置106a-d的几个例子。另外,捕获装置106可以包括使得基于内容的检索能够进行并且将捕获装置106连接至MMR***100a/100b的基础设施的软件应用程序。参考图2E可找到捕获装置106的更多功能细节。根据这个公开发明,许多传统和定制的捕获装置106,以及其各自的功能和体系结构将很明显。
存储器108存储可能由处理器102执行的指令和/或数据。该指令和/或数据可以包括用于执行于此所描述的任何和/或所有的技术的代码。存储器108可以是动态随机存取存储器(DRAM)装置、静态随机存取存储器(SRAM)装置、或任何其它适当的存储器装置。参考图4,下文将更加详细地描述存储器108。在一个特定实施例中,存储器108包括MMR软件套装、操作***和其它应用程序(如,文字处理应用程序、电子邮件应用程序、金融应用程序、和网页浏览器应用程序)。
基本介质存储器160是用于以其原始的形式存储第二介质类型的,并且MMR介质存储器162是用于存储MMR文档、数据库和其它如于此所描述的,以创建MMR环境的信息的。尽管分别示出,在另一个实施例中,基本介质存储器160和MMR介质存储器162可以是相同存储器装置的部分,或是集成一体的。数据存储器160、162进一步存储关于MMR处理器102的数据或指令,并包括一个或多个装置,其包括,例如,硬盘驱动器、软盘驱动器、CD-ROM装置、DVD-ROM装置、DVD-RAM装置、DVD-RW装置、闪存装置、或任何其它适当的大容量存储装置。
输出装置164可操作地连接至MMR处理器102,并表示为输出像显示的那些、声音、或当前内容那样的数据而配备的任何装置。例如,输出装置164能够是像打印机、显示装置、和/或扬声器那样的多种类型的任何一个。示例性的显示输出装置164包括阴极射线管(CRT)、液晶显示器(LCD)、或任何其它类似配备的显示装置、屏幕、或监视器。在一个实施例中,输出装置164配备有触摸屏,其中触摸敏感、透明的面板覆盖输出装置164的屏幕。
输入装置166可操作地连接至MMR处理器102,并且是像键盘和光标控制器、扫描仪、多功能打印机、相机或摄像机、数字按键键盘、触摸屏、探测器、RFID特征阅读器、开关、或允许用户与***100a互动的任何机制那样的多种类型的任何一个。在一个实施例中,输入装置166为键盘和光标控制器。光标控制器可包括,例如,鼠标、轨迹球、触笔、笔、触摸屏和/或触控板、光标方向键、或其它促使光标移动的机制。在另一个实施例中,输入装置166是麦克风、为一般用途的计算机***内使用而设计的音频***卡/扩展卡、模拟-数字转换器、和数字信号处理器,以便利声音识别和/或音频处理。
图1B阐明根据本发明的另一个实施例而配置的MMR***100b的功能框图。在这个实施例中,MMR***100b包括MMR计算机112(由用户110操作)、网络介质服务器114、和产生打印文档118的打印机116。MMR***100b进一步包括办公室入口120、服务提供者服务器122、电连接至机顶盒126的电子显示器124、和文档扫描仪127。通过网络128提供MMR计算机112、网络介质服务器114、打印机116、办公室入口120、服务提供者服务器122、机顶盒126、和文档扫描仪127之间的通信链接,网络128能够是LAN(例如,办公或家庭网络)、WAN(例如,因特网或公司网络)、LAN/WAN的结合、或通过其多个计算装置可以通信的任何其它数据路径。
MMR***100b进一步包括能够通过蜂窝式基础设施132、无线保真(Wi-Fi)技术134、蓝牙技术136、和/或红外线(IR)技术138,与一个或多个计算机112、网络介质服务器114、用户打印机116、办公室入口120、服务提供者服务器122、电子显示器124、机顶盒126、和文档扫描仪127无线通信的捕获装置106。可替代地,或者另外,捕获装置106能够通过有线技术140,以有线的方式与MMR计算机112、网络介质服务器114、用户打印机116、办公室入口120、服务提供者服务器122、电子显示器124、机顶盒126、和文档扫描仪127通信。尽管在图1B中如分离的元素一样示出Wi-Fi技术134、蓝牙技术136、IR技术138、和有线技术140,这样的技术也能够被集成为处理环境(如,MMR计算机112、网络介质服务器114、捕获装置106,等等)。另外,MMR***100b进一步包括与服务提供者服务器122或网络128无线或有线通信的地理位置机制142。这也能够被集成于捕获装置106之中。
MMR用户110为正使用MMR***100b的任何个人。MMR计算机112为任何桌上型计算机、膝上型计算机、网络计算机、或其它这样的处理环境。用户打印机116为能够产生打印文档118的任何家庭、办公、或商业打印机,打印文档118为由一个或多个打印页面而形成的纸质文档。
网络介质服务器114为保留由MMR***100b的用户通过网络128访问的信息和/或应用程序的网络计算机。在一个特定实施例中,网络介质服务器114为集中式计算机,在其之上存储多种介质文件,如文本源文件、网页、音频和/或视频文件、图像文件(例如,静态照片)、和诸如此类。网络介质服务器114为,例如,康卡斯特公司的康卡斯特视频点播服务器、理光创新公司的理光文档中心、或谷歌公司的谷歌图像和/或视频服务器。一般而言,网络介质服务器114提供对可能经由捕获装置106附着于打印文档118上、与其集成一体、或与其相关联的任何数据的访问。办公室入口120为用于捕获MMR用户110的环境中出现的事件,例如MMR用户110的办公室中出现的事件,的可选择的机制。办公室入口120为,例如,分离于MMR计算机112的计算机。在这种情形,办公室入口120通过网络128直接连接至MMR计算机112或连接至MMR计算机112。可替代地,将办公室入口120置入到MMR计算机112内。例如,办公室入口120从传统的个人计算机(PC)而构建,并然后以支持任何相关联的捕获装置106的适当的硬件扩大充实。办公室入口120可以包括捕获装置,例如摄像机和音频录音机。可替代地,办公室入口120可以捕获和存储来自MMR计算机112的数据。例如,办公室入口120能够接收和监控MMR计算机112上出现的功能和事件。结果,办公室入口120能够记录MMR用户110的物理环境中的所有的音频和视频,并记录MMR计算机112上出现的所有的事件。在一个特定实施例中,办公室入口120捕获来自MMR计算机112的事件,如正编辑文档时的视频屏幕捕获。在这样做时,办公室入口120捕获当创建给定的文档时,所浏览的网站和所参阅的其它文档。稍后通过他/她的MMR计算机112或捕获装置106对于MMR用户110可以利用。另外,办公室入口120可以用作用户添加至其文档的剪辑的多媒体服务器。此外,办公室入口120可以捕获其它办公事件,例如当纸质文档在桌面上时出现的谈话(如,电话或办公)、电话上的讨论、和办公室中的小会议。通过为捕获装置106而发展的相同的基于内容的检索技术的使用,办公室入口120上的摄像机(未示出)可以识别MMR用户110的物理桌面上的纸质文档。
服务提供者服务器122为保留MMR***100b的MMR用户110能够通过网络128访问的信息或应用程序的任何商业服务器。特别地,服务提供者服务器122为与MMR***100b关联的任何服务提供者的代表。服务提供者服务器122为,例如,有线TV提供者的商业服务器,如康卡斯特公司;蜂窝式电话服务提供者,如Verizon Wireless;因特网服务提供者,如阿德尔菲亚通信;在线音乐服务提供者,如索尼公司;以及诸如此类,但并不局限于此。电子显示器124为任何显示装置,例如,标准模拟或数字电视(TV)、纯平TV、平板显示器、或投影***,但并不局限于此。如已知的,机顶盒126为处理来自圆盘式***天线、天线、电缆、网络、或电话线的输入信号的接收器装置。机顶盒的一个示例性制造商为Advanced Digital Droadcast(远升科技)。机顶盒126电连接至电子显示器124的视频输入。
文档扫描仪127为商业上可利用的文档扫描仪装置,例如松下公司的KV-S2026C全彩色扫描仪。在现有打印文档至MMR预备文档的转换中使用文档扫描仪127。蜂窝式基础设施132是多个蜂窝塔和其它蜂窝网络互连的代表。特别地,通过蜂窝式基础设施132的使用,经由结合于装置,例如结合于捕获装置106的无线调制解调器,给可手握的、便携的、以及车载的电话提供双向声音和数据通信。
Wi-Fi技术134、蓝牙技术136、和IR技术138为便利电子装置之间的无线通信的技术的代表。如已知的,Wi-Fi技术134是与基于802.11标准的无线局域网(WLAN)产品关联的技术。如已知的,蓝牙技术136是描述通过短程无线连接的使用,蜂窝式电话、计算机、和PDA如何互相连接的电讯工业规范。IR技术138允许电子装置通过短程无线信号通信。例如,IR技术138是电视遥控器、膝上型计算机、PDAs、和其它装置所使用的视线无线通信介质。IR技术138在从中微波至可见光以下的频谱中工作。此外,在一个或多个其它实施例中,可以使用IEEE 802.15(UWB)和/或802.16(WiMAX)标准支持无线通信。
有线技术140为任何有线通信机制,例如标准以太网连接或通用串行总线(USB)连接。通过使用蜂窝式基础设施132、Wi-Fi技术134、蓝牙技术136、IR技术138、和/或有线技术140,捕获装置106能够双向地与MMR***100b的任何或所有的电子装置通信。
地理位置机制142为任何适用于确定地理位置的机制。例如,如已知的,地理位置机制142为提供位置数据给地球上的GPS接收器装置的GPS人造卫星。在图1B中所示的示例性实施例中,GPS人造卫星通过与GPS接收器(未示出)结合的连接至网络128的服务提供者服务器122,将位置数据提供给MMR***100b的用户。可替代地,地理位置机制142为提供作为确定地理位置的部件的三角测量机制、蜂窝塔识别(ID)机制、和/或增强的911服务的一组蜂窝塔(如,蜂窝式基础设施132的一个子集)。可替代地,通过来自WiFi访问点或蓝牙装置的已知位置的信号强度测量而提供地理位置机制142。
在操作中,捕获装置106用作MMR用户110所拥有的客户机。其上存在使得基于内容的检索操作能够进行,并通过蜂窝式基础设施132、Wi-Fi技术134、蓝牙技术136、IR技术138、和/或有线技术140将捕获装置106连接至MMR***100b的基础设施的软件应用程序。另外,在MMR计算机112上存在执行像打印捕获操作、事件捕获操作(如,保存文档的编辑历史)、服务器操作(如,用于稍后供应给其它对象而在MMR计算机112上所保存的数据和事件)、或打印机管理操作(如,可以将打印机116安装为将像文档布局和多媒体剪辑那样的MMR所需要的数据排队)那样的,但并不局限于此的几个操作的软件应用程序。网络介质服务器114提供附着于打印文档,如通过属于MMR用户110的MMR计算机112打印的打印文档118,的数据的访问。在这样做时,第二介质,如视频或音频,与第一介质,如纸质文档关联起来。下文参考图2E、3、4、和5描述用于形成第二介质至第一介质的关联的软件应用程序和/或机制的更多细节。
捕获装置
图2A、2B、2C、和2D阐明根据本发明的实施例的示例性捕获装置106。更明确地,图2A示出为照相手机的捕获装置106a。图2B示出为PDA装置的捕获装置106b。图2C示出为计算机***装置的捕获装置106c。计算机***装置的一个例子是任何标准的网络摄像机。图2D示出为将其置入到计算装置(如,MMR计算机112)内的捕获装置106d。例如,捕获装置106d为计算机图形卡。参考图2E可找到捕获装置106的示例性细节。
在捕获装置106a和106b的情形中,捕获装置106可以为MMR用户110所有,并且可以通过地理位置机制142或通过蜂窝式基础设施132内的每个蜂窝塔的ID号跟踪其物理位置。
现在参考图2E,示出根据本发明的捕获装置106的一个实施例的功能框图。捕获装置106包括处理器210、显示器212、数字按键键盘214、存储装置216、无线通信链接218、有线通信链接220、MMR软件套装222、捕获装置用户接口(UI)224、文档指纹匹配模块226、第三方软件模块228、和多种捕获机制230的至少一个。示例性捕获机制230包括摄像机232、数码相机234、录音器236、电子高亮器238、激光器240、GPS装置242、和RFID阅读器244,但并不局限于此。处理器210为中央处理单元(CPU),如英特尔公司制造的奔腾微处理器,但并不局限于此。显示器212为任何标准的视频显示机制,如可手握的电子装置中所使用的那些。更明确地,例如,显示器212为任何数字显示器,如液晶显示器(LCD)或有机发光二极管(OLED)显示器。数字按键键盘214为任何标准的字母数字符号输入机制,如标准计算装置和像蜂窝式手机那样的可手握的电子装置中所使用的数字按键键盘。存储装置216为任何易失性或非易失性存储装置,例如,如熟知的,硬盘驱动器或随机存取存储(RAM)装置。
无线通信链接218为通过如所熟知的访问接入点(未示出)和LAN(如,IEEE 802.11 Wi-Fi或蓝牙技术)提供直接的点对点通信或无线通信的无线数据通信机制。有线通信链接220为,例如,通过标准以太网和/或USB连接提供直接通信的有线数据通信机制。
MMR软件套装222为执行像将一种类型的介质与第二种类型合并那样的MMR操作的全部管理软件。参考图4可找到MMR软件套装222的更多细节。
捕获装置用户接口(UI)224为用于操作捕获装置106的用户接口。通过使用捕获装置UI 224,为了在其上的功能的选择,将各种各样的菜单呈现给MMR用户110。更明确地,捕获装置UI 224的菜单允许MMR用户110管理任务,如与纸质文档交互作用、从现有文档中读出数据、将数据写入现有文档、查看并与那些文档所关联的扩增实境交互作用、以及查看并与在他/她的MMR计算机112上所显示的文档关联的扩增实境交互作用,但并不局限于此。
文档指纹匹配模块226为用于从通过捕获装置106的捕获机制230的至少一个而捕获的文本图像中提取特征的软件模块。文档指纹匹配模块226也能够执行所捕获的图像与文档的数据库之间的模式匹配。在最基本的水平,以及根据一个实施例,文档指纹匹配模块226确定较大的页面图像内的图像碎片的位置,其中那个页面图像是从很大的文档集中选择的。文档指纹匹配模块226包括接收所捕获的数据、从所捕获的数据中提取图像的表示、执行文档内的碎片识别和移动分析、执行决定性结合、以及输出输入图像所位于的页面内的一列x-y位置的例程和程序。例如,为了识别文档和从其中提取它的文档内的章节,文档指纹匹配模块226可以是结合从文本的片段的图像中所提取的水平和垂直特征的算法。一旦提取了特征,为了识别符号文档,就查询,例如,位于MMR计算机112或网络介质服务器114上的打印文档索引(未示出)。在捕获装置UI 224的控制下,文档指纹匹配模块226可访问打印文档索引。参考图3的MMR计算机112更加详细地描述打印文档索引。注意到在一个可替代的实施例中,文档指纹匹配模块226可能为MMR计算机112的一部分,并不位于捕获装置106内。在这样的实施例中,捕获装置106将原始的捕获数据发送至MMR计算机112,以便图像提取、模式匹配、和文档及位置识别。在再一个实施例中,文档指纹匹配模块226仅执行特征提取,并将所提取的特征发送至MMR计算机112,以便模式匹配和识别。
第三方软件模块228为用于增强可能在捕获装置106上所出现的任何操作的任何第三方软件模块的代表。示例性的第三方软件包括安全软件、图像感知软件、图像处理软件、和MMR数据库软件。
如上文所提到的,捕获装置106可以包括任何数量的捕获机制230,现在将描述其示例。
摄像机232为如在标准数字相机或一些蜂窝手机中可找到的那样的数字视频记录装置。
数码相机234为能够捕获数字图像的任何标准数字相机装置。
录音器236为能够捕获音频信号并以数字形式输出它的任何标准音频记录装置(麦克风和相关联的硬件)。
电子高亮器238为提供扫描、存储和传递打印文本、条形码、和小图像至PC、膝上型计算机、或PDA装置的能力的电子高亮器。例如,电子高亮器238为WizCom Technologies公司的快速链接笔手握式扫描仪,其允许信息被存储在笔上或通过串行端口、红外通信、或USB适配器,被直接传递至计算机应用程序。
如熟知的,激光器240为通过受激发射产生相干的、接近单色光的光源。例如,激光器240为标准的激光器二极管,其为当施加正向偏压时,发射相干光的半导体装置。与激光器240关联并包括于其中的是测量将激光器240引导于此的图像所反射的光的总量的探测器。
GPS装置242是供给位置数据,如数字纬度和经度数据,的任何便携式GPS接收器装置。便携式GPS装置242的例子为来自索尼公司的NV-U70便携式人造卫星导航***、和来自Thales North America公司的麦哲伦牌RoadMate系列GPS装置、Meridian系列GPS装置、和Explorist系列GPS装置。如熟知的,GPS装置242给多个地理位置机制142提供依靠三角测量,部分地,实时地,确定捕获装置106的位置的方式。
RFID阅读器244为商业上可利用的RFID标签阅读器***,如德州仪器所制造的TI RFID***。RFID标签为用于通过使用无线电波识别唯一的项目的无线装置。如熟知的,RFID标签由微芯片构成,该微芯片附着于天线,并且在其上存储有唯一的数字识别号码。
在一个特定实施例中,捕获装置106包括处理器210、显示器212、键盘214、存储装置216、无线通信链接218、有线通信链接220、MMR软件套装222、捕获装置UI 224、文档指纹匹配模块226、第三方软件模块228、和捕获机制230的至少一个。在这样做时,捕获装置106为一个全功能装置。可替代地,捕获装置106可以具有较少的功能,并因而可以包括有限的一组功能部件。例如,MMR软件套装222和文档指纹匹配模块226可以远程地位于,例如,MMR***100b的MMR计算机112或网络介质服务器114处,并由捕获装置106通过无线通信链接218或有线通信链接220访问。
MMR计算机
现在参考图3,示出根据本发明的实施例而配置的MMR计算机112。如能够看到的,MMR计算机112连接至包括一个或多个多媒体(MM)文件336的网络介质服务器114、产生打印文档118的用户打印机116、文档扫描仪127、和包括捕获装置UI 224及文档指纹匹配模块226的第一实例的捕获装置106。这些部件之间的通信链接可以直接链接或通过网络。另外,文档扫描仪127包括文档指纹匹配模块226’的第二实例。
这个示例性实施例的MMR计算机112包括一个或多个源文件310、第一源文档(SD)浏览器312、第二SD浏览器314、打印机驱动器316、打印文档(PD)捕获模块318、存储PD索引322的文档事件数据库320、事件捕获模块324、文档分析器模块326、多媒体(MM)剪辑浏览器/编辑器模块328、MM的打印机驱动器330、文档-视频纸(DVP)打印***332、和视频纸文档334。
源文件310是为文档(或其一部分)的电子表示的任何源文件的代表。示例性源文件310包括超文本标记语言(HTML)文件、微软Word文件、微软PowerPoint文件、简单文本文件、便携式文档格式(PDF)文件、及诸如此类,其存储在MMR计算机112的硬盘驱动器(或其它适当的存储器)上。
第一SD浏览器312和第二SD浏览器314为关于提供已与源文件310相关联的数据的访问的现有PC应用程序的独立PC应用程序或者插件。第一和第二SD浏览器312、314可以用来检索原始的HTML文件或MM剪辑,以在MMR计算机112上显示。
如熟知的,打印机驱动器316为控制应用程序与页面描述语言或任何特殊的打印机所使用的打印机控制语言之间的通信链接的打印机驱动器软件。特别地,无论何时打印一个文档,如打印文档118,打印机驱动器316都将具有正确的控制命令的数据,例如理光公司所提供的用于他们的打印装置的那些,馈给打印机116。在一个实施例中,打印机驱动器316不同于传统的打印驱动器,因为它自动捕获每个打印页面上的每个字符的x-y坐标、字体、和磅值的表示。换句话说,其捕获有关所打印的每个文档的内容的信息,并将那个数据反馈给PD捕获模块318。
PD捕获模块318为捕获文档的打印表示,以致能够检索打印页面上的字符和图形的布局的软件应用程序。另外,通过使用PD捕获模块318,在打印时刻,实时地,自动地捕获文档的打印表示。更明确地,PD捕获模块318为捕获打印页面上的文本的二维布置,并将这个信息传送至PD索引322的软件例程。在一个实施例中,PD捕获模块318通过捕捉打印页面上的每个字符的Windows文本布局命令而操作。文本布局命令给操作***(OS)指示打印页面上的每个字符的x-y位置、以及字体、磅值,等等。本质上,PD捕获模块318监测听传送至打印机116的打印数据。在所示的例子中,PD捕获模块318连接至第一SD浏览器312的输出,以便数据的捕获。可替代地,可以在打印机驱动器316内直接实现PD捕获模块318的功能。根据这个公开发明,各种各样的配置将会很明显。
根据本发明的一个实施例,文档事件数据库320是为存储打印文档与事件之间的关系而更改的任何标准的数据库。(参考图34A,下文进一步将文档事件数据库320描述为MMR数据库)。例如,文档事件数据库320存储从源文件310(如,Word、HTML、PDF文件)至与打印文档118相关联的事件的双向链接。示例性事件包括打印了Word文档之后即刻在捕获装置106上的多媒体剪辑的捕获、用捕获装置106的客户机应用程序将多媒体添加至文档、或多媒体剪辑的注解。另外,可以存储在文档事件数据库320中,与源文件310关联的其它事件包括当打开、关闭、或移除给定的源文件310时记入日志;当给定的源文件310处于MMR计算机112的桌面上的活动应用程序中时记入日志;将文档“复制”和“移动”操作的时间和目的地记入日志;以及将给定源文件310的编辑历史记入日志。这样的事件由事件捕获模块324捕获并存储在文档事件数据库320中。连接文档事件数据库320来接收源文件310、事件捕获模块324、PD捕获模块318和扫描仪127的输出,并且也连接至捕获装置106,以接收查询和数据,并提供输出。
文档事件数据库320也存储PD索引322。PD索引322为将从打印文档的图像所提取的特征映射到它们的符号形式(如扫描的图像至Word)上的软件应用程序。在一个实施例中,PD捕获模块318给PD索引322提供打印页面上的每个字符的x-y位置、以及字体、磅值,等等。在打印给定文档的时候构建PD索引322。然而,捕获所有的打印数据并以能够在稍后的时间询问的方式将其保存在PD索引322中。例如,如果打印文档118包含物理上位于页面上单词“rose”之上一行的单词“garden”,则PD索引322支持这样的查询(即,单词“garden”在单词“rose”之上)。PD索引322包含在其上单词“garden”出现在单词“rose”之上的哪个文档、哪些页面、和那些页面内的哪个位置的记录。因而,组织PD索引322,以支持基于特征或基于文本的查询。通过在打印操作期间使用PD捕获模块318和/或通过在扫描操作期间使用文档扫描仪127的文档指纹匹配模块226,产生作为打印文档的电子表示的PD索引322的内容。下文将参考图34A-C、35、和36描述数据库320和PD索引322的另外的体系结构和功能。
事件捕获模块324为在MMR计算机112上捕获与给定的打印文档118和/或源文件310相关联的事件的软件应用程序。这些事件在给定的源文件310的生命周期期间被捕获并被保存在文档事件数据库320中。在一个特定的例子中,通过使用事件捕获模块324,捕获涉及MMR计算机112的浏览器,例如第一SD浏览器312中活动的HTML文件的事件。这些事件可能包括在MMR计算机112上所显示的HTML文件的时间或者在显示或打印HTML文件的同时打开着的其它文档的文件名。例如,如果MMR用户110想要知道(在稍后的时刻)在显示或打印HTML文件的同时他/她正在查看或工作于哪个文档,则这种事件信息是很有用的。事件捕获模块324所捕获的示例性事件包括文档编辑历史;来自接近当给定的源文件310在桌面上时的时刻出现的办公室会议的视频(例如,如由办公室入口120所捕获的);以及当给定的源文件310是打开着的时候出现的电话呼叫(如,由办公室入口120所捕获的)。
事件捕获模块324的示例性功能包括:1)跟踪-跟踪活动文件和应用程序;2)键击捕获-键击捕获和与活动应用程序的关联;3)帧缓冲器捕获和索引标定-用帧缓冲器数据的光学字符识别(OCR)结果给每个帧缓冲器图像编索引,以致能够将打印文档的章节与其在屏幕上显示的时间相匹配。可替代地,能够用捕捉由PC操作***所发布的PC桌面的文本绘图命令的图形显示接口(GDI)阴影d11来捕获文本。MMR用户110可以将捕获装置106指向文档,并确定何时它在MMR计算机112的桌面上是活动的;以及4)读取历史捕获-为了跟踪多长时间,以及特别的文档的哪个部分对于MMR用户110是可见的,帧缓冲器捕获和索引标定操作的数据与文档在他/她的MMR计算机112的桌面上活动的时间的分析连接。在这样做时,为了推断MMR用户110是否正在读取文档,可能出现与其它事件的关联,如按键或鼠标移动。文档事件数据库320、PD索引322、和事件捕获模块324的结合在MMR计算机112上局部地实现,或者可替代地,作为共享的数据库而实现。如果局部地实现,与以共享的方式实现相比较,则需要较小的安全性。
文档分析器模块326为软件应用程序,其分析和各个打印文档118有关的源文件310,以定位在其中的有用的对象,如统一资源定位符(URL)、地址、标题、作者、时间、或表示位置的短语,如,Hallidie Building。在这样做时,确定在源文件310的打印版本中的那些对象的位置。然后接收装置能够使用文档分析器模块326的输出,以用另外的信息扩增文档118的表述,并提高模式匹配的准确性。此外,例如在URL的情形中,接收装置也能够采取动作使用位置检索与URL相关联的网页。连接文档分析器模块326以接收源文件310,并且该模块将其输出提供给文档指纹匹配模块226。尽管仅作为连接至捕获装置的文档指纹匹配模块226而示出,但文档分析器模块326的输出能够连接至所有或任何数量的文档指纹匹配模块226,无论它们位于何处。此外,文档分析器模块326的输出也能够存储于文档事件数据库320中,以便稍后使用。
MM剪辑浏览器/编辑器模块328为提供创作功能的软件应用程序。MM剪辑浏览器/编辑器模块328为单独的软件应用程序或,可替代地,,为文档浏览器上运行的插件(由到第二SD浏览器314的虚线表示)。MM剪辑浏览器/编辑器模块328将多媒体文件显示给用户,并连接至网络介质服务器,以接收多媒体文件336。另外,当MMR用户110正创作文档(如,将多媒体剪辑附着于纸质文档)时,MM剪辑浏览器/编辑器模块328为这种功能的支持工具。MM剪辑浏览器/编辑器模块328为示出元数据,如从接近于当捕获多媒体时的时刻所打印的文档所分析的信息,的应用程序。
MM的打印机驱动器330提供创作MMR文档的能力。例如,MMR用户110可以在由MM的打印机驱动器330所产生的UI中加亮文本,并将包括检索多媒体数据或在网络128上或在MMR计算机112上执行一些其它过程的动作添加至该文本。MM的打印机驱动器330与DVP打印***332的结合提供使用条形码的可供选择的输出格式。这种格式不必定需要基于内容的检索技术。MM的打印机驱动器330为用于支持视频纸技术,即,视频纸334,的打印机驱动器。MM的打印机驱动器330创建包括条形码的纸质表示,作为访问多媒体的方式。相比而言,打印机驱动器316创建包括MMR技术的纸质表示,作为访问多媒体的方式。MM剪辑浏览器/编辑器328与SD浏览器314的结合中所体现的创作技术能够创建与SD浏览器312相同的输出格式,因而使得能够进行为基于内容的检索准备的MMR文档的创建。DVP打印***332执行与文档相关联的文档事件数据库320中的任何数据至其打印表示的连接操作,或者用明确的或者用隐含条形码。隐含条形码指像条形码一样使用的文本特征的模式。
视频纸334为用于在可打印介质,例如纸,上呈现音频-视觉信息的技术。在视频纸中,条形码用作在计算机中所存储的或其中可访问的电子内容的索引。用户扫描条形码和视频剪辑或与***所输出的文本有关的其它多媒体内容。存在用于打印音频或视频纸的***,并且这些***本质上提供关于多媒体信息的基于纸的接口。
网络介质服务器114的MM文件336为多种文件类型和文件格式的任何一种的集合的代表。例如,MM文件336为文本源文件、网页、音频文件、视频文件、音频/视频文件、和图像文件(如,数码照片)。
如图1B中所描述的,将文档扫描仪127用于现有打印文档至MMR-预备文档的转换。然而,继续参考图3,通过将文档指纹匹配模块226’的特征提取操作应用于所扫描的文档的每个页面,将文档扫描仪127用于MMR-使能的现有文档。随后,以扫描和特征提取操作的结果增加PD索引322,并因而,将所扫描的文档的电子表示存储于文档事件数据库320中。然后能够将PD索引322中的信息用于创作MMR文档。继续参考图3,注意到MMR计算机112的软件功能并不仅局限于MMR计算机112。可替代地,可以将图3中所示的软件功能分布于MMR***100b的MMR计算机112、网络介质服务器114、服务提供者服务器122与捕获装置106之间的任何用户定义的配置中。例如,源文件310、SD浏览器312、SD浏览器314、打印机驱动器316、PD捕获模块318、文档事件数据库320、PD索引322、事件捕获模块324、文档分析器模块326、MM剪辑浏览器/编辑器模块328、MM的打印机驱动器330、和DVP打印***332可以完全位于捕获装置106之内,并从而,给捕获装置106提供增强的功能。
MMR软件套装
图4阐明根据本发明的一个实施例的MMR软件套装222中所包括的一组软件部件。应该理解,MMR计算机112、捕获装置106、网络介质服务器114和其它服务器中可以包括MMR软件套装222中的所有或一些。另外,MMR软件套装222的其它实施例可能具有从它们的一个至所有的任何数量的所阐明的部件。这个例子的MMR软件套装222包括:多媒体注解软件410,其包括基于文本内容的检索部件412、基于图像内容的检索部件414、和密写更改部件416;纸张读取历史日志418;在线读取历史日志420;合作文档查阅部件422、实时通知部件424、多媒体检索部件426;桌面视频提醒部件428;网页提醒部件430、物理历史日志432;完整表格查阅器部件434;时间输送部件436、位置告知部件438、PC创作部件440;文档创作部件442;捕获装置创作部件444;无意识上载部件446;文档版本检索部件448;PC文档元数据部件450;捕获装置UI部件452;和特定领域部件454。
根据一个特定实施例,多媒体注解软件410结合文档事件数据库320的组织形成MMR***100b的基本技术。更明确地,多媒体注解软件410是用于管理纸质文档的多媒体注解的。例如,MMR用户110将捕获装置106指向纸质文档的任何章节,并然后使用捕获装置106的捕获机制230的至少一个来给那个章节添加注解。在一个特定的例子中,律师口述有关合同的章节的记录(创建音频文件)。将多媒体数据(音频文件)自动附着于文档的原始电子版本。文本随后的打印输出可选地包括那些注解的存在的指示。
基于文本内容的检索部件412为从文本中检索基于内容的信息的软件应用程序。例如,通过使用基于文本内容的检索部件412,从文本碎片中检索内容,识别文档内的原始文档和章节,或者识别连接至那个碎片的其它信息。基于文本内容的检索部件412可以利用基于OCR的技术。可替代地,用于执行从文本的基于内容的检索的操作的不基于OCR的技术包括文本碎片中的单词长度的二维布置。基于文本内容的检索部件412的一个例子为结合从文本片段的图像中所提取的水平和垂直特征的算法,以识别文档和从其中提取它的文档内的章节。能够串行地、并行地、或同时地使用水平和垂直特征。使用这样的不基于OCR的特征集,以致在出现噪声时提供高速实现与鲁棒性。基于图像内容的检索部件414为从图像中检索基于内容的信息的软件应用程序。基于图像内容的检索部件414执行所捕获的数据与数据库320中的图像之间的图像比较,以产生一列可能的图像匹配和相关联的置信水平。另外,每个图像匹配可以具有相关联的数据或响应用户输入而执行的动作。在一个例子中,通过将图像转换为能够用来查询关于具有相同的特征布置的图像的图像数据库的矢量表示,基于图像内容的检索部件414可检索,例如,基于光栅图像(例如,地图)的内容。可选择的实施例使用图像的色彩内容或图像内的对象的几何布置,以在数据库中查找匹配图像。
密写更改部件416为在打印之前执行密写更改的软件应用程序。为了使MMR应用程序更好地运作,在打印文本和图像之前,将数字信息添加至所述文本和图像。在可替代的实施例中,密写更改部件416产生并存储MMR文档,该文档包括:1)像文本、音频、或视频信息那样的原始基本内容;2)以任何像文本、音频、视频、Java的Applets、超文本链接,等等那样的形式存在的另外的内容。密写更改能够包括在彩色或灰度图像中嵌入水印,文档背景上的光点图形的打印,或者打印字符的轮廓至编码数字信息的细微更改。纸张读取历史日志418为纸质文档的读取历史日志。纸张读取历史日志418位于,例如,文档事件数据库320中。纸张读取历史日志418是基于由理光创新公司开发的来自视频的文档识别技术的,其用于产生MMR用户110所读取的文档的历史。例如,对于提醒MMR用户110文档的读取和/或任何相关联的事件,纸张读取历史日记418是很有用的。在线读取历史日志420为在线文档的读取历史日志。在线读取历史日志420是基于操作***事件的分析,并位于,例如,文档事件数据库320中。在线读取历史日志420是MMR用户110所读取的在线文档和读取文档的哪个部分的记录。可以以许多方式将在线读取历史日志420的条目打印到任何随后的打印输出上,例如通过在每个页面的底部提供笔记,或者通过用不同的颜色加亮基于读取每段所花费的时间量的文本。另外,多媒体注解软件410可以将这种数据编入PD索引322中。可选地,可以通过装备有如监控MMR计算机112的面部探测***那样的装置的MMR计算机112援助在线读取历史日志420。
合作文档查阅部件422为通过将他/她的捕获装置106指向文档的任何章节,允许相同纸质文档的不同版本的不止一个阅读器查阅其它阅读器所应用的注释的软件应用程序。例如,在捕获装置106上注解可以显示为文档略图之上的覆盖层。合作文档查阅部件422可以用任何类型的现有合作软件实现,或与任何种类的现有合作软件合作。
实时通知部件424为执行正被读取的文档的实时通知的软件应用程序。例如,当MMR用户110读取文档时,他/她的读取踪迹被张贴于博客或在线公告板上。结果,对相同的话题感兴趣的其他人可以访问并谈论该文档。
多媒体检索部件426为从任意的纸质文档中检索多媒体的软件应用程序。例如,通过将捕获装置106指向文档,MMR用户110可以检索当任意的纸质文档呈现在MMR用户110的桌上时发生的所有会话。这假设MMR用户110的办公室中存在捕获多媒体数据的办公室入口120(或其它适当的机制)。
桌面视频提醒部件428为提醒MMR用户110在MMR计算机112上出现的事件的软件应用程序。例如,通过将捕获装置106指向纸质文档的一个章节,MMR用户110可以看见示出当那个章节可见时发生的MMR计算机112的桌面的变化的视频剪辑。另外,桌面视频提醒部件428可以用于检索MMR计算机112所记录的其它多媒体,例如MMR计算机112的周围所呈现的音频。
网页提醒部件430为提醒MMR用户110在他/她的MMR计算机112上被查看的网页。例如,通过在纸质文档上摇摆捕获装置106的镜头,MMR用户110可以看见当MMR计算机112的桌面上示出文档的相应章节时被查看的网页的踪迹。可以在像SD浏览器312、314那样的浏览器中,或者在捕获装置106的显示器212上示出网页。可替代地,网页作为原始URL呈现在捕获装置106的显示器212上或MMR计算机112上。
物理历史日志432存在于,例如,文档事件数据库320中。物理历史日志432为纸质文档的物理历史日志。例如,MMR用户110将他/她的捕获装置106指向纸质文档,并且通过使用物理历史日志432中所存储的信息,可确定与过去某个时刻感兴趣的文档相邻的其它文档。例如,RFID类似的跟踪***可便利这种操作。在这种情形,捕获装置106包括RFID阅读器244。
完整表格查阅器部件434为检索先前所获取的用于完善表格的信息的软件应用程序。例如,MMR用户110将他/她的捕获装置106指向空白表格(例如,从网站所打印的医疗索赔表格),并提供有先前所输入的信息的历史。随后,由这个完整表格查阅器部件434用这个先前所输入的信息自动填充该表格。
时间输送部件436为检索文档过去的和将来的版本的源文件,并检索和显示与那些版本相关联的一列事件的软件应用程序。这个操作补偿手头上的打印文档可能是已从在与之相关联的最重要的外部事件(如,讨论或会议)之后数月所创建的一版文档而产生的事实。
位置告知部件438为管理位置已知的纸质文档的软件应用程序。例如,RFID类似的跟踪***便利了位置已知的纸质文档的管理。例如,捕获装置106整天捕获MMR用户110的地理位置的踪迹,并扫描附着于文档或包含文档的文件夹的RFID标签。RFID扫描操作由捕获装置106的RFID阅读器244执行,以探测其范围内的任何RFID标签。可以通过蜂窝式基础设施132内的每个蜂窝塔的识别号,或者可替代地,经由与地理位置机制142结合的捕获装置106的GPS装置242,跟踪MMR用户110的地理位置。可替代地,可以以“总是开着的视频”或捕获装置106的摄像机232完成文档识别。位置数据提供“地理位置参考”文档,其使能整天示出文档位于何处的基于地图的接口。一个应用可能是携带文件拜访远程客户机的律师。在可替代的实施例中,文档118包括当移动文档并执行一些初步的面部探测操作时能够感知的附着于其上的感知机制。感知功能是经由附着于纸质文档的一组回转仪或类似的装置的。基于位置信息,MMR***100b指示何时“呼叫”所有者的蜂窝式电话,以告诉他/她文档正移动。蜂窝式电话可以将那个文档添加至其虚拟的公文包。另外,这是“无形”条形码的概念,其为捕获装置106的摄像机232或数码相机234可见的,但对于人而言是不可见的或非常微弱的机器可读记号。可以考虑在捕获装置106上可以被解码的各种各样的墨标记和密写或,打印图像水印技术,来确定位置。
PC创作部件440为在PC上,如在MMR计算机112上执行创作操作的软件应用程序。PC创作部件440作为现有创作应用程序,如Microsoft Word、PowerPoint、和网页创作包,的插件而提供。PC创作部件440允许MMR用户110准备具有与来自他/她的MMR计算机112的事件的链接或者与他/她的环境中的事件的链接的纸质文档;允许自动产生具有链接的纸质文档,例如被自动地链接至从其产生它的Word文件的打印文档118;或者允许MMR用户110检索Word文件,并将其交给其他人。在此将具有链接的纸质文档称为MMR文档。参考图5进一步描述MMR文档的更多细节。
文档创作部件442为执行现有文档的创作操作的软件应用程序。能够,例如,或者作为个人版,或者作为企业版而实现文档创作部件442。在个人版中,MMR用户110扫描文档并将它们添加至MMR文档数据库(例如,文档事件数据库320)。在企业版中,出版者(或者第三方)从原始电子源(或者电子校样本)创建MMR文档。这个功能可以被嵌入高端发布包(例如,AdobeReader)并与另一个实体所提供的后台服务连接。捕获装置创作部件444为直接在捕获装置106上执行创作操作的软件应用程序。使用捕获装置创作部件444,MMR用户110从他/她手头上的纸质文档中提取关键短语,并将该关键短语与动态捕获的另外的内容一同存储,以创建临时MMR文档。另外,通过使用捕获装置创作部件444,MMR用户110可以返回至他/她的MMR计算机112,并将他/她所创建的临时MMR文档下载至现有文档应用程序,如PowerPoint,然后将其编辑成为MMR文档的最后版本或另一个应用程序的文档的其它标准类型。在这样做时,可将图像和文本自动地***现有文档的页面中,如***PowerPoint文档的页面中。
无意识上载部件446为无意识地(自动地,无用户干预地)将打印文档上载至捕获装置106的软件应用程序。因为在大多数时间捕获装置106都为MMR用户110所有,包括当MMR用户110在他/她的MMR计算机112上时,除了将文档发送至打印机116之外,结合Wi-Fi技术134或蓝牙技术136,经由捕获装置106的无线通信链接218,或者如果捕获装置106与MMR计算机112连接/对接,则通过有线连接,打印机驱动器316也可以将那些相同的文档压入捕获装置106的存储装置216。以这种方式,在打印文档之后,MMR用户110从来不会忘记捡取该文档,因为其被自动地上载至捕获装置106。文档版本检索部件448为检索给定源文件310的过去和将来版本的软件应用程序。例如,MMR用户110将捕获装置106指向打印文档,并然后文档版本检索部件448定位当前的源文件310(例如,Word文件)和源文件310的其它过去和将来版本。在一个特定实施例中,这个操作使用跟踪将源文件310复制和移动于此的位置的Windows文件跟踪软件。同样这里也能够使用其它这样的文件跟踪软件。例如,Google桌面搜索或Microsoft Windows搜索助理能够用从源文件310所挑选的单词而组成的查询找到文件的当前版本。
PC文档元数据部件450为检索文档的元数据的软件应用程序。例如,MMR用户110将捕获装置106指向打印文档,并且PC文档元数据部件450确定谁打印了该文档,何时打印的该文档,文档在何处打印的,以及在打印时刻的给定源文件310的文件路径。
捕获装置UI部件452为管理捕获装置106的UI的操作的软件应用程序,其允许MMR用户110与纸质文档交互作用。捕获装置UI部件452与捕获装置UI 224的结合允许MMR用户110从现有文档读取数据,以及将数据写入现有文档,查看并与那些文档所关联的扩增实境交互作用(即,通过捕获装置106,MMR用户110能够查看当创建文档时或在编辑文档时发生了什么),以及查看并与在他/她的捕获装置106上显示的文档所关联的扩增实境交互作用。
特定领域部件454为管理特定领域功能的软件应用程序。例如,在音乐应用程序中,特定领域部件454为经由,例如,捕获装置106的录音器236将所探测到的音乐与标题、艺术家、或作曲家匹配的软件应用程序。以这种方式,可以将感兴趣的项目,如与所探测的音乐有关的活页乐谱或音乐CD,呈现给MMR用户110。类似地,特定领域部件454适应于以关于视频内容、视频游戏、和任何娱乐信息的类似的方式操作。特定领域部件454也可以适应于任何大众传媒内容的电子版本。
继续参考图3和4,注意到MMR软件套装222的软件部件可以完全或者部分地存在于MMR***100b的一个或多个MMR计算机112、网络介质服务器114、服务提供者服务器122、和捕获装置106上。换句话说,可以将MMR***100b的操作,例如MMR软件套装222所执行的任何操作,分布于MMR计算机112、网络介质服务器114、服务提供者服务器122、和捕获装置106(或者***100b中所包括的其它这样的处理环境)之间的任何用户定义的配置中。根据这个公开发明,将很明显,能够以MMR软件套装222的软件部件的某些结合而执行MMR***100a/100b的基本功能。例如,MMR***100a/100b的一个实施例的基本功能包括:
创建或者增加包括第一介质部分和第二介质部分的MMR文档;
使用MMR文档的第一介质部分(例如,纸质文档)访问第二介质部分中的信息;
使用MMR文档的第一介质部分(例如,纸质文档)触发或启动电子领域中的过程;
使用MMR文档的第一介质部分(例如,纸质文档)创建或增加第二介质部分;
使用MMR文档的第二介质部分创建或增加第一介质部分;
使用MMR文档的第二介质部分触发或启动电子领域中的或与第一介质部分有关的过程;
MMR文档
图5阐明根据本发明的一个实施例的MMR文档500的图解。更明确地,图5示出包括打印文档118的一部分的表示502、动作或第二介质504、索引或热点506、以及整个文档118的电子表示508的MMR文档500。尽管典型地将MMR文档500存储在文档事件数据库320,也能够将其存储在捕获装置或连接至网络128的任何其它装置中。在一个实施例中,多个MMR文档可以相应于打印文档。在另一个实施例中,复制图5中所示的结构,以在单个打印文档中创建多个热点506。在一个特定实施例中,MMR文档500包括具有页面和页面内的位置的表示502和热点506;第二介质504和电子表示508是可选的并且如由虚线那样描画。注意到,若如是需要,能够在已经创建MMR文档稍后添加第二介质504和电子表示508。这个基本的实施例能够用来定位文档或相应于表示的文档中的特殊位置。
打印文档118的一部分的表示502能够是以适用于模式匹配并识别文档中的至少一个位置的任何形式(图像、矢量、像素、文本、代码,等等)存在的。表示502最好唯一地识别打印文档中的位置。在一个实施例中,表示502是如图5中所示的文本指纹。在打印操作期间,经由PD捕获模块318自动捕获文本指纹502,并将其存储在PD索引322中。可替代地,在扫描操作期间,经由文档扫描仪127的文档指纹匹配模块226’自动捕获文本指纹502,并将其存储在PD索引322中。如果其为文档中的唯一实例、图像的一部份、文档可匹配部分的唯一属性或任何其它表示,则表示502可替代地能够为整个文档、文本碎片、单个单词。动作或第二介质504优选地为数字文件或任何类型的数据结构。最基本的实施例中的第二介质504可以是将要呈现的文本或将要执行的一个或多个命令。第二介质类型504更典型地为与由表示502所识别的文档的一部分有关的文本文件、音频文件、或视频文件。第二介质类型504可能是附注或包括多个不同介质类型,和相同类型的多个文件的数据结构或文件。例如,第二介质504能够是文本、命令、图像、PDF文件、视频文件、音频文件、应用程序文件(如,电子数据表或文字处理文档),等等。索引或热点506为表示502与动作或第二介质504之间的链接。热点506使表示502与第二介质504关联。在一个实施例中,索引或热点506包括像文档内的x和y坐标那样的位置信息。热点506可能是点、区域或甚至整个文档。在一个实施例中,热点是具有表示502的指针、第二介质504的指针、和文档内的位置的数据结构。应该理解到,MMR文档500可能具有多个热点506,并且在这样的情形中,数据结构创建多个表示、多个第二介质文件、和打印文档118内的多个位置之间的链接。
在可替代的实施例中,MMR文档500包括整个文档118的电子表示508。这个电子表示能够被用于确定热点506的位置,并且也能够通过用户接口用于在捕获装置106或MMR计算机112上显示文档。
MMR文档500的示例性使用如下。通过分析文本指纹或表示502,经由捕获装置106的文档指纹匹配模块226识别所捕获的文本片段。例如,MMR用户110将他/她的捕获装置106的摄像机232或数码相机234指向打印文档118,并捕获图像。随后,文档指纹匹配模块226在所捕获的图像上执行其分析,以确定PD索引322内是否存在相关联的条目。如果找到匹配项,在他/她的捕获装置106的显示器212上,为MMR用户110高亮显示热点506的存在。如图5中所示,高亮显示单词或短语。打印文档118内的每个热点506都用作至其它用户定义的或预定的数据,如存在于网络介质服务器114上的MM文件336的一个,的链接。PD索引322中所存储的文本指纹或表示502的访问允许将电子数据添加至任何MMR文档500或文档内的任何热点506。如参考图4所描述的,包括至少一个热点506(如,链接)的纸质文档被称为MMR文档500。
继续参考图1B、2A直至2D、3、4、和5,MMR***100b的示例性操作如下。MMR用户110或任何其它实体,例如出版社,打开给定的源文件310并启动打印操作,以产生纸质文档,如打印文档118。在打印操作期间,自动执行某些动作,如:(1)在打印时刻,经由PD捕获模块318,自动捕获打印格式,并将其传递至捕获装置106。通过使用位于,例如,SD浏览器312的输出处的PD捕获模块318,在打印时刻自动捕获文档的电子表示508。例如,MMR用户110打印来自SD浏览器312的内容,并且该内容滤过PD捕获模块318。如先前所讨论的,当为打印而展示文档时,能够确定页面上的文本的二维布置;(2)在打印时刻,经由PD捕获模块318,自动捕获给定的源文件310;以及(3)为了定位“指定的实体”或可以增加捕获装置106上的多媒体注解接口的其它有趣的信息,经由文档分析器模块326,分析打印格式和/或源文件310。指定的实体为,例如,用于稍后添加多媒体的“锚”,即,自动生成的热点506。文档分析器模块326接收与给定的打印文档118有关的输入源文件310。文档分析器模块326为识别文档118中与热点506一起使用的表示502的应用程序,例如,标题、作者、时间、或位置,并因而,在捕获装置106上提示将要接收的信息;(4)为基于内容的检索自动地给打印格式和/或源文件310编索引,即,建立PD索引322;(5)在文档事件数据库320中制造关于文档和与源文件310相关联的事件的条目,例如,编辑历史和当前位置;以及(6)在打印机驱动器316内执行交互式会话,其允许MMR用户110在打印热点506之前将所述热点506添加至文档,并因而形成MMR文档500。将相关联的数据存储在MMR计算机112上或上载至网络介质服务器114。
示范性可替代实施例
MMR***100(100a或100b)并不局限于图1A-1B、2A-2D、和3-5中所示的配置。MMR软件可以全部或部分地分配于捕获装置106与MMR计算机112之间,并且需要远少于上文参考图3和4所描述的所有的模块。多个配置都是可能的,包括如下:
MMR***100的第一可替代的实施例包括捕获装置106和捕获装置软件。捕获装置软件为捕获装置UI 224和文档指纹匹配模块226(如,图3中所示的)。在捕获装置106上,或者可替代地,在可访问捕获装置106的像网络介质服务器114或服务提供者服务器122那样的外部服务器上,执行捕获装置软件。在这个实施例中,可利用提供连接至发行物的数据的网络服务。可以使用分等级的识别方案,在其中首先识别发行物,并然后识别发行物内的页面和章节。
MMR***100的第二可替代的实施例包括捕获装置106、捕获装置软件和文档使用软件。如参考图4所示出和描述的,第二可替代的实施例包括捕获并给打印文档编索引,以及连接基本的文档事件,如文档的编辑历史,的软件。这允许MMR用户110将他/她的捕获装置106指向任何打印文档,并确定产生该文档的源文件310的名字和位置,以及确定打印的时间和地点。
MMR***100的第三可替代的实施例包括捕获装置106、捕获装置软件、文档使用软件、和事件捕获模块324。将事件捕获模块324添加至MMR计算机112,该计算机捕获与文档相关联的事件,例如当它们在MMR计算机112的桌面上可见时的时间(通过监控GDI特征发生器而确定)、在文档打开时所访问的URL、或者在文档打开时在键盘上键入的字符。MMR***100的第四可替代的实施例包括捕获装置106、捕获装置软件、和打印机116。在这个第四可替代的实施例中,打印机116配备有蓝牙收发器或与处于其附近的任何MMR用户110的捕获装置106通信的类似的通信链接。无论何时任何MMR用户110从打印机116拾取文档,打印机116将MMR数据(文档布局和多媒体剪辑)压入那个用户的捕获装置106。为了获得与特定的文档相关联的多媒体数据,用户打印机116包括数字按键键盘、通过它用户登录并输入代码。该文档可以包括在其页脚的代码的打印表示,其可以通过打印机驱动器316***。
MMR***100的第五可替代的实施例包括捕获装置106、捕获装置软件、和办公室入口120。办公室入口装置优选地为办公室入口120的个人化版本。办公室入口120捕获办公室中的事件,如会话、会谈/电话呼叫、和会议。办公室入口120识别并跟踪物理桌面上的特定纸质文档。办公室入口120另外执行文档识别软件(即,文档指纹匹配模块226和主机文档事件数据库320)。这个第五可替代的实施例可用于从MMR计算机112卸载计算工作负荷,并提供将MMR***100b包装成为消费者装置(例如,将MMR***100b作为硬件和在苹果计算机公司的Mac迷你型计算机上执行的软件产品而出售)的便利方法。
MMR***100的第六可替代的实施例包括捕获装置106、捕获装置软件、和网络介质服务器114。在这个实施例中,多媒体数据存在于网络介质服务器114,例如康卡斯特视频点播服务器。当MMR用户110通过使用他/她的捕获装置106扫描文档文本碎片时,将作为结果的查找命令或者传输至与MMR用户110的有线电视(cable TV)相关联的机顶盒126(通过因特网,无线地,或者通过电话上呼叫机顶盒126),或者传输至康卡斯特服务器。在两种情形中,多媒体都从康卡斯特服务器流向机顶盒126。***100知道向何处发送数据,因为MMR用户110先前注册了他/她的电话。因而,能够将捕获装置106用于机顶盒126的访问和控制。
MMR***100的第七可替代的实施例包括捕获装置106、捕获装置软件、网络介质服务器114和位置服务。在这个实施例中,位置已知服务在来自康卡斯特***(或其它适当的通信***)的输出的多个目的地之间辨别。或者通过自动辨别蜂窝式电话塔ID,或者通过允许MMR用户110选择将要显示数据的位置的数字按键键盘接口,来执行这个功能。因而,当拜访另一个位置时,只要那个其它位置具有有线接入,用户就能够访问他们的有线电视运营商所提供的节目和其它有线TV特征。
文档指纹匹配(“基于图像的碎片识别”)
如先前所描述的,文档指纹匹配涉及唯一地识别MMR文档的一部分、或“碎片”。参考图6,文档指纹匹配模块/***610接收所捕获的图像612。文档指纹匹配***610然后查询文档数据库3400(例如,下文参考图34A进一步描述的)中的页面集,并返回一列页面和包含它们的文档,其内包含所捕获的图像612。每个结果都为出现所捕获的输入图像612的x-y位置。本领域技术人员将注意到数据库3400能够处于文档指纹匹配模块610的外部(例如,如图6中所示),但也能够处于文档指纹匹配模块610的内部(例如,如图7、11、12、14、20、24、26、28、和30-32中所示,其中文档指纹匹配模块610包括数据库3400)。
图7示出根据本发明的实施例的文档指纹匹配***610的框图。捕获装置106捕获图像。将所捕获的图像发送至质量评估模块712,其基于下游处理的需要和能力,有效地进行关于所捕获的图像的内容的初步判断。例如,如果所捕获的图像是如此的质量,以致在下游文档指纹匹配***610中不能处理它,则质量评估模块712促使捕获装置106以更高的分辨率重新捕获图像。此外,例如,质量评估模块712可以探测所捕获的图像的许多其它相关的特征,例如所捕获的图像中所包含的文本的清晰度,其为所捕获的图像是否“对焦”的指示。此外,质量评估模块712可以确定所捕获的图像是否包含可能为文档的一部分的某物。例如,包含非文档图像(例如,桌子、室外场景)的图像碎片指示用户正将捕获装置106的视野转换至新的文档。
此外,在一个或多个实施例中,质量评估模块712可以执行文本/非文本辨别,以致仅通过可能包含可识别的文本的图像。图8示出根据一个或多个实施例的文本/非文本辨别的流程。在步骤810从输入图像碎片提取许多列像素。典型地,输入图像是灰度图,并且列中的每个值都是从零至255的整数(对于8位像素)。在步骤812,探测每列中的局部峰值。这能够以通常所熟悉的“滑动窗口”的方法进行,在该方法中固定长度(例如,N像素)的窗口沿着列滑动,每次M像素,其中M<N。在每一步,通过寻找灰度水平值的显著差别(例如,大于40)而确定峰值的存在。如果峰值位于窗口的一个位置,则无论何时滑动窗口与这个位置交迭,都抑制其它峰值的探测。在步骤812也可以探测连续的峰值之间的间隙。步骤812适用于图像碎片中的许多列(C),并且在步骤814以直方图累加间隙值。
将间隙直方图与从具有数据库818中所存储的已知分类(在步骤816)的训练数据中导出的其它直方图相比较,并一起输出有关碎片的类别(或者文本或者非文本)的决定和那个决定的置信度的测量。步骤816的直方图分类考虑从文本的图像中导出的直方图的典型的外观,并且其包含两个紧密的峰,一个中心置于行之间的距离上,其中在直方图中远离那些峰的其它一个或两个更小的峰可能整数倍高。以统计方差的测量,该分类可以确定直方图的形状,或者其可以用距离测量,例如,汉明或欧氏距离,将直方图逐一与所存储的原型相比较。
现在同样参考图9,其示出文本/非文本辨别的例子。处理输入图像910,以采样许多列,用点线指示其子集。914中示出典型的列912的灰度水平直方图。Y值为910中的灰度水平,以及X值为910中的行。916中示出直方图中的峰值之间所探测到的间隙。918中示出来自所有采样列的间隙值的直方图。这个例子阐明从包含文本的碎片所导出的直方图的形状。
图10中示出用于估计图像碎片中的文本的磅值的流程。这个流程利用图像的模糊度反比例于捕获装置离页面的距离的事实。通过估计模糊量,可以估计距离,并且那个距离可以用来,相对于已知“标准化的”高度,将图像中的对象的大小缩放。这个行为可以用来估计新的图像中的文本的磅值。
在训练阶段1010,在步骤1012,用在已知距离的图像捕获装置获得具有已知字体和磅值的文本的碎片的图像(称为“校准”图像)。在步骤1014测量以许多像素表达的那个图像中的文本字符的高度。例如,这可以用像微软照片编辑器那样的图像注解工具手动进行。在步骤1016估计校准图像中的模糊度。例如,这可以用已知的二维快速傅里叶变换的频谱截止测量进行。这也可以单位的形式表达为许多像素1020。
当在步骤1024呈现“新的”图像时,如在运行时刻MMR识别***中,在步骤1026处理图像,以用通常熟知的在每个字符周围产生边界框的行分割和字符分割方法定位文本。可以用像素表达那些方框的高度。在步骤1028,以与步骤1016类似的方式估计新图像的模糊度。在步骤1030结合这些测量,以产生每个字符(或者等同地,每行)的磅值的第一估计1032。这可以通过计算下列方程进行:(校准图像模糊大小/新图像模糊大小)*(新图像文本高度/校准图像文本高度)*(校准图像字体磅值)。这按比例确定校准图像中的文本的磅值,以产生经估计的输入图像碎片中的文本的磅值。可以将相同的标度功能应用于每个字符的边界框的高度。这产生关于碎片中的每个字符的决定。例如,如果碎片包含50个字符,则这个过程将产生关于碎片中的字体的磅值的50个表决。然后可以用该表决的中值导出关于磅值的单一估计。
此外,更明确地返回参考图7,在一个或多个实施例中,可以将质量评估模块712至捕获装置106的反馈传导至捕获装置106的用户接口(UI)。例如,反馈可能包括以声音或振动形式存在的指示,其指示所捕获的图像包含看起来像文本但模糊不清的某物,并指示用户应该使捕获装置106稳固。反馈可能也包括改变捕获装置106的光学装置的参数,以提高所捕获的图像的质量的命令。例如,可以调节焦距、F制光圈、和/或曝光时间,以致提高所捕获的图像的质量。
此外,通过所使用的特殊的特征提取算法的需要,可以使质量评估模块712至捕获装置106的反馈专门化。如下文进一步描述的,特征提取将图像转换成为符号表示。在计算单词的长度的识别***中,使所捕获的图像模糊对于捕获装置106的光学装置来说可能是很理想的。本领域技术人员将注意到这样的调节可能产生尽管人类或者光学字符识别(OCR)过程或许不可识别的,但良好地适合于特征提取技术的图像。通过将指令反馈给捕获装置106,促使捕获装置106将其镜头散焦,并从而产生模糊的图像,质量评估模块712可以实现这一点。
由控制结构714更改反馈过程。一般而言,控制结构714从文档指纹匹配***610中的其它部件接收数据和符号信息。控制结构714决定文档指纹匹配***610中的各种各样的步骤的执行顺序,并能够使计算负载最优化。控制结构714识别所接收到的图像碎片的x-y位置。更具体地,控制结构714接收有关特征提取过程的需要、质量评估模块712的结果、和捕获装置106的参数的信息,并能够适当地改变它们。这能够在一帧接一帧的基础上动态地进行。在使用多个特征提取方法的***配之中,一个可能需要文本的大碎片的模糊图像,而另一个可能需要纸张纹理的高分辨率锐聚焦图。在这样的情形中,控制结构714可以发送命令至质量评估模块712,指示它当其视野中具有文本时,产生适当的图像质量。质量评估模块712与捕获装置106交互作用,以产生正确的图像(例如,大碎片的N个模糊图像,其后的锐聚焦纸张纹理(高分辨率)的M个图像)。控制结构714跟踪通过处理管道的那些图像的进展,以确保应用了相应的特征提取和分类。
基于识别***的需要,图像处理模块716更改输入图像的质量。图像更改的类型的例子包括锐化、偏移校正、和二进制化。这样的算法包括像掩码大小、期望的旋转、和阈值那样的许多可调的参数。
如图7中所示,文档指纹匹配***610使用来自特征提取和分类模块718、720(下文所描述的)的反馈,以动态地更改图像处理模块716的参数。这样可行,因为用户典型地会将他们的捕获装置106连续几秒地指向文档中的相同位置。例如,假设捕获装置106每秒处理30帧,则以任何顺序处理最初几帧的结果可能影响如何处理稍后所捕获的帧。特征提取模块718将所捕获的图像转换成为符号表示。在一个例子中,特征提取模块718定位单词,并计算它们的边界框。在另一个例子中,特征提取模块718定位联在一起的部件,并计算它们的形状的描述符。此外,在一个或多个实施例中,文档指纹匹配***610与控制结构714共享有关特征提取的结果的元数据,并使用那个元数据调节其它***部件的参数。本领域技术人员将注意到通过抑制差质量数据的识别,这可能显著地减少计算需求,并提高准确性。例如,识别单词边界框的特征提取模块718能够告诉控制结构714其找到的行和“单词”的数量。如果单词的数量太高(例如,指示输入图像为片断),则控制结构714能够指示质量评估模块712产生更模糊的图像。质量评估模块712然后会将适当的信号发送至捕获装置106。可替代地,控制结构714能够命令图像处理模块716应用平滑滤波器。
分类模块720将来自特征提取模块718的特征描述变换成为文档内的一个或多个页面以及输入图像碎片出现的那些页面内的x,y位置的识别。如依次描述,依赖于自数据库3400的反馈进行该识别。此外,在一个或多个实施例中,置信度值可与每个决定相关联。文档指纹匹配***610可以使用这样的决定确定***中其它部件的参数。例如,控制结构714可以确定头两个决定的置信度是否彼此靠近,是否应该改变图像处理算法的参数。这可能导致增加中值滤波器的大小的范围,以及其结果顺流至剩余的部件的运送。
此外,如图7中所示,在分类模块720与数据库3400之间可以存在反馈。此外,本领域技术人员将记起数据库3400能够处于如图6中所示的模块610的外部。能够使用有关碎片的一致性的决定,关于具有类似的外观的其它碎片,而查询数据库3400。这将会将数据库3400中所存储的碎片的完美的图像数据与数据库3400中的其它图像相比较,而不是将输入图像碎片与数据库3400相比较。这可以提供关于分类模块720的决定的另外的确认水平,并可以允许匹配数据的一些预处理。
也能够在碎片,而不仅仅是图像数据上的符号表示,进行数据库比较。例如,最好的决定可能指示图像碎片包含双间距的12号Arial字体。数据库比较能够定位具有类似的字体间距的其它文档中的碎片,并仅使用文本元数据,而不是图像比较,来定位单词布局。
数据库3400可以支持几种类型的基于内容的查询。分类模块720能够传递给数据库3400特征布置,并接收一列文档和那个布置出现的x-y位置。例如,特征可能是或者水平的或者垂直的单词长度的三线形。能够组织数据库3400,以响应每种类型的查询而返回一列结果。分类模块720或控制结构714能够结合那些等级排序,以产生单一的经筛选的一列决定。
此外,在数据库3400、分类模块720、与控制结构714之间可以存在反馈。除了存储足够从特征矢量识别位置的信息外,数据库3400可以存储包括文档的原始图像,以及其图形部件的符号表示的相关信息。这允许控制结构714动态地更改其它***部件的行为。例如,如果关于给定的图像碎片存在两种似乎可能的决定,则数据库3400可能指示关于图像的存在,通过缩小并检查右边的区域,能够消除它们的歧义。控制结构714能够发送适当的消息至捕获装置106,指示它缩小。特征提取模块718和分类模块720能够关于文档上打印的图像检查图像的右边。
此外,注意到假设碎片准确地位于文档中,则数据库3400存储关于围绕图像碎片的数据的详细信息。这可以用来进一步触发现有技术中未预期的硬件和软件图像分析步骤。在一个情形中,由保存文档的详细符号描述的打印捕获***提供那个详细的信息。在一个或多个其它实施例中,通过扫描文档,可以获得类似的信息。仍然参考图7,位置跟踪模块724接收来自控制结构714的关于图像碎片的一致性的信息。位置跟踪模块724使用它从数据库3400检索整个文档页面的拷贝或描述文档的数据结构。起始位置是位置跟踪过程开始的锚。当质量评估模块712决定所捕获的图像适合跟踪时,位置跟踪模块724接收来自捕获装置106的图像数据。位置跟踪模块724也具有关于自成功地识别了上一帧以来已经流逝的时间的信息。位置跟踪模块724应用光流技术,其允许它估计在文档之上捕获装置106在连续的帧之间已移动的距离。给定捕获装置106的采样率,即使它看到的数据可能是不可识别的,也能够估计其目标。通过其图像数据与从数据库文档中所导出的相应图像数据的比较,可以确认捕获装置106的估计位置。一个简单的例子计算所捕获的图像与数据库3400中的期望图像的交叉相关性。
因而,位置跟踪模块724提供数据库图像的交互使用,以引导位置跟踪算法的过程。这允许将电子交互作用附着于非文本对象,如图形和图像。此外,在一个或多个其它实施例中,可以在不存在上文所描述的图像比较/确认步骤的情况下实现这样的依附。换句话说,通过估计在页面之上的捕获装置106的瞬间移动,可以估计应该处于独立于所捕获的图像的视野中的电子链接。
图11示出根据本发明的实施例的文档指纹匹配技术。图11中所示的“前馈”技术独立地处理每个碎片。它从被用来定位一个或多个页面和碎片出现的那些页面上的x-y位置的图像碎片中提取特征。例如,在一个或多个实施例中,文档指纹匹配的特征提取可能依赖于所捕获的图像的水平和垂直组特征(例如,单词、字符、块)。然后可以使用这些组的提取特征来查找包含所提取的特征的文档(和那些文档内的碎片)。可以使用OCR功能来识别所捕获的图像中的水平单词对。然后使用每个识别的水平单词对形成数据库3400的搜索查询,用于确定包含所识别的水平单词对的所有文档,以及那些文档中的单词对的x-y位置。例如,对于水平单词对“the,cat”,数据库3400可能返回(15,x,y),(20,x,y),指示水平单词对“the,cat”出现在文档15和20中所指示的x-y位置。类似地,对于每个垂直相邻的单词对,关于包含单词对的实例的所有文档和那些文档中的单词对的x-y位置,查询数据库3400。例如,对于垂直相邻的单词对“in,hat”,数据库3400可能返回(15,x,y),(7,x,y),指示垂直相邻的单词对“in,hat”出现在文档15和7中所指示的x-y位置。然后,使用数据库3400所返回的文档和位置信息,能够进行如对哪个文档从所捕获的图像中所提取的各种各样的水平单词对和垂直相邻的单词对之间出现最多的位置交迭一样的确定。响应可以确定哪个热点和所链接的介质的存在,这可能导致识别包含所捕获的图像的文档。
图12示出根据本发明的实施例的另一个文档指纹匹配技术。图12中所示的“交互式图像分析”技术涉及图像处理和可能在识别图像碎片之前出现的特征提取之间的交互作用。例如,图像处理模块716可能首先估计输入图像中的模糊度。然后,特征提取模块718计算离页面的距离和图像文本的磅值。然后,图像处理模块716可能使用那个磅值的字体的特征,在图像上执行模板匹配步骤。随后,特征提取模块718可能因而从结果中提取字符或单词特征。此外,本领域技术人员将认识到字体、磅值、和特征可能受制于数据库3400文档中的字体。
图13中示出如上文参考图12所描述的交互式图像分析的例子。在步骤1310处理输入图像碎片,估计图像碎片中的文本的字体和磅值和其离相机的距离。本领域技术人员将注意到可以用已知的技术进行字体估计(即,碎片中的文本的字体的候选者的识别)。例如,可以使用参考图10所描述的流程来执行磅值和距离估计。此外,可以使用其它技术,例如能够容易地适应于捕获装置的离焦点的距离的已知方法。
仍然参考图13,在步骤1312应用行分割算法,其在碎片中的文本行的周围构造边界框。在步骤1314使用像缩放那样的已知技术将每个行图像的高度标准化为固定的大小。将关于图像中所探测到的字体的一致性以及其磅值传递1324至字体原型集1322,其中使用它们来检索每个指定的字体中的字符的图像原型。
字体数据库1322可以从由操作***和其它软件应用程序用来打印文档的用户***上的字体集(例如,TrueType、OpenType、或Microsoft Windows中的raster字体)而构造。在一个或多个其它实施例中,可以从数据库3400中的文档的原始图像产生字体集。数据库3400xml文件提供可以用来从原始图像中提取字符的原型图像的x-y边界框坐标。xml文件正确地识别字体的名称和字符的磅值。
基于在步骤1314所使用的参数的功能,在步骤1320将所选择的字体中的字符原型大小标准化。在步骤1316的图像分类可以将在步骤1320所输出的大小标准化后的字符与步骤1314的输出相比较,以在图像碎片中的每个x-y位置处产生决定。关于图像碎片中所探测到的每个字符i,i=1...n,可以使用图像模板匹配的已知方法产生像(ci,xi,yi,wi,hi)那样的输出,其中ci为字符的一致性,(xi,yi)为其边界框的左上角,以及hi,wi为其宽度和高度。在步骤1318,能够如上文所描述的执行几何关系限制数据库查找,但在一个情形中,可以专门适应于字符对,而不是单词对。在这样的情形中:“a-b”可能指示字符a和b是水平相邻的;“a+b”可能指示它们是垂直相邻的;“a/b”可能指示a在b的西南方;以及“a\b”可能指示a在b的东南方。可以从每对字符的xi,yi值导出几何关系。可以组织MMR数据库3400,以致其返回包含字符对而不是单词对的一列文档页面。步骤1326的输出为与表达为通过评分等级排序的n-元组(documenti,pagei,xi,yi,actioni,scorei)的输入图像相匹配的候选者列表。
图14示出根据本发明的实施例的另一个文档指纹匹配技术。图14中所示的“产生和测试”技术独立地处理每个碎片。它从图像碎片中提取特征,其被用来定位可能包含给定的图像碎片的许多页面图像。此外,在一个或多个实施例中,可以执行另外的提取分类步骤,以通过它们包含该图像碎片的可能性将页面分等级。仍然参考上文参考图14所描述的“产生和测试”技术,可以提取所捕获的图像的特征,并可以识别数据库3400中包含最多数量的这些提取的特征的文档碎片。然后进一步处理具有最多的匹配特征的最初X个文档碎片(“候选者”)。在这种处理中,将匹配文档碎片候选者中的特征的相对位置与查询图像中的特征的相对位置相比较。基于这个比较计算评分。然后,识别相应于最好的匹配文档碎片P的最高评分。如果最高的评分大于适应阈值,则然后找到文档碎片P,作为至查询图像的匹配。阈值适应于许多参数,包括,例如,所提取的特征的数量。在数据库3400中,已知文档碎片P从何而来,并因而,确定查询图像来自相同的位置。
图15示出单词边界框探测算法的例子。示出在作旋转校正的图像处理之后的输入图像碎片1510。通常已知为倾斜校正算法,这类技术将文本图像旋转,以致其沿着水平轴排列。边界框探测算法中的下一步是水平投影轮廓图1512的计算。以这样的方式,通过已知适应阈值或滑动窗口算法选择1516行探测的阈值,以致区域“在阈值之上”相应于文本行。以类似的方式1514和1518提取并处理每行内的区域,以定位指示行内的单词的在阈值之上的区域。1520中示出在一个文本行中所探测到的边界框的例子。
为了与文档碎片候选者相比较,可以提取各种各样的特征。例如,可以提取尺度不变特征转换(SIFT)特征、角点特征、凸点,上行字母,和下行字母,单词边界,和间隔,以便匹配。能够可靠地从文档图像中提取的特征的一个是单词边界。一旦提取了单词边界,它们就可以形成如图16中所示的组。在图16中,例如,以单词边界在其上和其下都具有交迭单词边界这样的方式形成垂直组,并且交迭单词边界的总数量至少是3(注意到在一个或多个其它实施例中,交迭单词边界的最小数量可能不同)。例如,第一个特征点(第二行中的第二个单词方框,长度为6)在其上具有两个单词边界(长度为5和7),以及在其下具有一个单词边界(长度为5)。第二个特征点(第三行中的第四个单词方框,长度为5)在其上具有两个单词边界(长度为4和5),以及在其下具有两个单词边界(长度为8和7)。因而,如图16中所示,用中间单词边界的长度,其后的其上单词边界的长度,并然后其后的其下单词边界的长度,来表示所指示的特征。此外,注意到单词方框的长度可以是基于任何度量标准的。因而,对于一些单词方框,具有可替代的长度是可能的。在这样的情形,可以提取包含所有或某些它们的可替代物的特征。
此外,在一个或多个实施例中,可以提取特征,以致用0表示间隔,并用1表示单词区域。图17中示出一个例子。在右边的块表示相应于左边的文档碎片的单词/间隔区域。
可以将所提取的特征与各种各样的距离测量相比较,包括,例如,规范和汉明距离。可替代地,在一个或多个实施例中,可以使用哈希表识别具有与查询图像相同的特征的文档碎片。一旦识别了这样的碎片,就可以如图18中所示的计算从每个特征点至其它特征点的角度。可替代地,可以计算特征点组之间的角度。1802示出从三个一组的特征点而计算出的角度1803、1804、和1805。然后可以将所计算出的角度与查询图像中从每个特征点至其它特征点的角度相比较。如果匹配点的任何角度是相似的,则然后可以增加相似性评分。可替代地,如果使用角度组,并且如果两个图像中相似组的特征点之间的角度组数字上相似,则然后增加相似性评分。一旦在查询图像之间计算了每个检索文档碎片的评分,就选择导致最高评分的文档碎片,并将其与适应阈值相比较,以确定匹配是否满足一些预定的标准。如果满足标准,则然后指示已找到匹配文档路径。
此外,在一个或多个实施例中,所提取的特征可以是基于单词的长度的。基于单词高度和宽度,将每个单词划分为所估计的字母。当扫描在给定单词之上和之下的单词行时,根据其上和其下的行中的间隔信息,将二进制值分派给所估计的字母的每一个。然后用整数号码表示二进制代码。例如,参考图19,其示出每个都代表所捕获的图像中探测到的一个单词的单词方框的布置。将单词1910划分为所估计的字母。用(i)单词1910的长度,(ii)单词1910之上的行的文本布置,和(iii)单词1910之下的行的文本布置,来描述这个特征。以所估计的字母的数量测量单词1910的长度。从当前所估计的字母之上或之下的间隔信息的二进制编码中提取文本布置信息。在单词1910中,仅只最后所估计的字母在间隔之上;第二和第三所估计的字母在间隔之下。另外,将单词1910的特征编码为(6,100111,111110),其中0表示间隔,以及1表示无间隔。以整数形式重写,单词1910编码为(6,39,62)。
图20示出根据本发明的实施例的另一个文档指纹匹配技术。通过将它们独立地分类,并将结果结合,图20中所示的“多个分类器”技术利用不同特征描述的互补信息。应用于文本碎片匹配的这种典范的例子是提取水平和垂直相邻的单词对的长度,并分别计算数据库中碎片的等级排序。更具体地,例如,在一个或多个实施例中,由“分类器”附属部件通过分类模块720与确定特征的位置。使用用于确定所捕获的图像的水平和垂直特征的分类器的结合,给所捕获的图像加指纹。这是考虑到文本的图像包含两个独立的信息源作为其一致性的观察而执行的,除了单词的水平序列之外,也能够使用单词的垂直布局识别从其提取图像的文档。例如,如图21中所示,通过水平分类器2112和垂直分类器2114,将所捕获的图像2110分类。除输入所捕获的图像之外,分类器2112、2114的每一个都从数据库3400中取得信息,以依次输出可以应用各个分类的那些文档页面的等级排序。换句话说,图21中所示的多分类器技术使用水平和垂直特征独立地将所捕获的图像分类。然后根据结合算法2118结合分等级的一列文档页面(下文进一步描述示例),其依次输出分等级的一列文档页面,该列表是基于所捕获的图像2110的水平和垂直特征两者的。特别地,在一个或多个实施例中,使用有关数据库3400中所探测到的特征如何协同发生的信息结合来自水平分类器2112和垂直分类器2114的分别的等级排序。
现在同样参考图22,其示出关于特征提取,垂直布局如何与水平布局结合的例子。在(a)中,示出带有单词分割的所捕获的图像2200。从所捕获的图像2200,确定水平和垂直“n-grams”。“n-gram”为每个都描述一些特性量的n个数量的序列。例如,水平三线形指定水平序列的三个单词的每个单词中的字符的数量。例如,对于所捕获的图像2200,(b)示出水平三线形:5-8-7(为所捕获的图像2200的第一行中水平地排列的单词“upper”、“division”、和“courses”的每一个中的字符的数量);7-3-5(为所捕获的图像2200的第二行中水平地排列的单词“Project”、“has”、和“begun”的每一个中的字符的数量);3-5-3(为所捕获的图像2200的第二行中水平地排列的单词“has”、“begun”、和“The”的每一个中的字符的数量);3-3-6(为所捕获的图像2200的第三行中水平地排列的单词“461”、“and”、和“permit”的每一个中的字符的数量);以及3-6-8(为所捕获的图像2200的第三行中水平地排列的单词“and”、“permit”、和“projects”的每一个中的字符的数量)。垂直三线形指定在给定的单词之上和之下垂直排列的单词的每个单词中的字符的数量。例如,对于所捕获的图像2200,(c)示出垂直三线形:5-7-3(为垂直地排列的单词“upper”、“Project”、和“461”的每一个中的字符的数量);8-7-3(为垂直地排列的单词“division”、“Project”、和“461”的每一个中的字符的数量);8-3-3(为垂直地排列的单词“division”、“has”、和“and”的每一个中的字符的数量);8-3-6(为垂直地排列的单词“division”、“has”、和“permit”的每一个中的字符的数量);8-5-6(为垂直地排列的单词“division”、“begun”、和“permit”的每一个中的字符的数量);8-5-8(为垂直地排列的单词“division”、“begun”、和“projects”的每一个中的字符的数量);7-5-6(为垂直地排列的单词“courses”、“begun”、和“permit”的每一个中的字符的数量);7-5-8(为垂直地排列的单词“courses”、“begun”、和“projects”的每一个中的字符的数量);7-3-8(为垂直地排列的单词“courses”、“The”、和“projects”的每一个中的字符的数量);7-3-7(为垂直地排列的单词“Project”、“461”、和“student”的每一个中的字符的数量);以及3-3-7(为垂直地排列的单词“has”、“and”、和“student”的每一个中的字符的数量)。
基于从图22中所示的所捕获的图像2200中所确定的水平和垂直三线形,产生指示包含水平和垂直三线形的每一个的文档的(d)和(e)的文档列表。例如,在(d)中,水平三线形7-3-5出现在文档15、22、和134中。此外,例如,在(e)中,垂直三线形7-5-6出现在文档15和17中。使用(d)和(e)的文档列表,在(f)和(g)中分别示出所有的所涉及的文档的分等级的列表。例如,在(f)中,(d)中的五个水平三线形都涉及文档15,而(d)中仅一个水平三线形涉及文档9。此外,例如,在(g)中,(e)中的十一个垂直三线形都涉及文档15,而(e)中仅一个垂直三线形涉及文档18。现在同样参考图23,其示出用于将参考图22而描述的水平和垂直三线形信息结合的技术。使用关于原始的打印页面上的三线形的已知物理位置的信息,该技术将来自水平和垂直特征提取的表决的列表结合。对于由水平和垂直分类器的每一个所输出的头M个选择之中共有的每一个文档,将关于文档而表决的每个水平三线形的位置与关于那个文档而表决的每个垂直三线形相比较。文档接收等于与任何垂直三线形交迭的水平三线形的数量的许多表决,这里当两个三线形的边界框交迭时,“交迭”出现。另外,用下文参考图34A的3406而描述的证据累加算法的经适当更改后的版本计算交迭部分的中心的x-y位置。例如,如图23中所示,(a)和(b)中的列表(分别为图22中的(f)和(g))相交,以确定水平和垂直三线形都涉及的页面列表(c)。使用交叉列表(c)、列表(d)和(e)(仅示出由所识别的三线形所涉及的交叉文档)、和打印文档数据库3400,确定文档的交迭部分。例如,水平三线形3-5-3和垂直三线形8-3-6涉及文档6,而在所捕获的图像2200中,那两个三线形本身在单词“has”之上交迭;因而文档6接收关于这个交迭部分的一个表决。如(f)中所示,对于特殊的所捕获的图像2200,文档15接收最多数量的表决,并因而被识别为包含所捕获的图像2200的文档。识别(x1,y1)作为文档15内的输入图像的位置。因而,总结上文参考图22和23所描述的文档指纹匹配技术,水平分类器使用从文本的单词的水平布置而导出的特征,以及垂直分类器使用从那些单词的垂直布置而导出的特征,这里基于原始文档中那些特征的交迭部分,而将结果结合起来。这样的特征提取提供用于唯一地识别文档的机制,因为当这个特征提取的水平方面受制于适当的语法和语言约束时,垂直方面并不受制于这样的约束。
此外,尽管参考图22和23的描述特别适于三线形的使用,但对于水平和垂直特征提取/分类的一个或两者,可以使用任何n-gram。例如,在一个或多个实施例中,对于多分类器特征提取,可以使用垂直和水平n-gram,这里n=4。在一个或多个其它实施例中,水平分类器可以基于n-gram提取特征,这里n=3,而垂直分类器可以基于n-gram提取特征,这里n=5。
此外,在一个或多个实施例中,分类可以是基于并不是严格地垂直或水平的邻接关系的。例如,NW、SW、NW、和SE邻接关系可以用于提取/分类。
图24示出根据本发明的实施例的另一个文档指纹匹配技术。图24中所示的“数据库驱动的反馈”技术考虑到通过利用能够与输入相匹配的文档的图像,以确定在其中将来自原始文档的子图像与输入图像匹配的图像分析的后序步骤,可以提高文档图像匹配***的准确性。该技术包括复制输入图像中所呈现的噪声的转换。在这之后可以有模版匹配分析。
图25示出根据本发明的实施例的数据库驱动的反馈的流程。如上文所描述的,在步骤2510、2512,首先预处理并识别输入图像碎片(例如,使用单词OCR和单词对查找、字符OCR和字符对查找、单词边界框配置),以产生图像碎片2522的识别的许多候选者。这个列表中的每个候选者可以包含下列项(doci、pagei、xi、yi),这里doci为文档的标识符,pagei为文档内的页面,以及(xi,yi)为那个页面内的图像碎片的中心的x-y坐标。
在步骤2514的原始碎片检索算法使用自页面的距离信息将整个输入图像碎片的大小标准化至可选的固定大小,以确保将其转换为已知的空间分辨率,例如,100dpi。上文所描述的字体大小估计算法可以适应于这个任务。类似地,可以使用已知的自焦点的距离或自焦点的深度技术。同样,能够基于它们的单词边界框的高度,大小标准化能够按比例地缩放图像碎片。以关于其接收到的每个文档和页面的标识符和MMR数据库将产生的碎片的边界框的中心一起,原始碎片检索算法检索MMR数据库3400。所产生的碎片的范围依赖于标准化的输入碎片的大小。以这样的方式,可以获得相同空间分辨率和维度的碎片。例如,当标准化至100dpi时,输入碎片能够在其中心的每一边上延伸50像素。在这种情形,将命令MMR数据库产生中心置于指定的x-y值的,100像素高和宽的100dpi的原始碎片。
从MMR数据库2524返回的每个原始图像碎片都可以与下列项(doci,pagei,xi,yi,widthi,heighti,actioni)相关联,这里(doci,pagei,xi,yi)为如上文所描述的,widthi和heighti为以像素计算的原始碎片的宽度和高度,以及actioni为可能与数据库中doci的条目中的相应区域相关联的可选的动作。原始碎片检索算法输出2518图像碎片和数据2518的这个列表,并一起输出其构造的大小标准化的输出碎片。
此外,在一个或多个实施例中,碎片匹配算法2516将大小标准化的输入碎片与每个原始碎片相比较,并分派度量它们彼此如何匹配的评分2520。本领域技术人员将意识到由于被用来确保碎片的大小可比较的机制的原因,在许多情形下,与汉明距离的简单交叉相关性就足够了。此外,这个过程可能包括模仿输入中所探测到的图像噪声的原始碎片中的噪声的引进。比较也可能是任意复杂的,并可能包括任何特征组的比较,该特征组包括两个碎片的OCR结果和基于字符、字符对、或单词对的数量的等级排序,其中单词对可能受制于如以前的几何关系。然而,在这种情形,输入碎片与原始碎片之间共有的几何对的数量可以被估计为或者用作等级排序度量标准。
此外,输出2520可以是以n-元组(doci,pagei,xi,yi,actioni,scorei)的形式,这里评分由碎片匹配算法提供,并度量输入碎片与doci,pagei的相应区域相匹配的程度。
图26示出根据本发明的实施例的另一个文档指纹匹配技术。图26中所示的“数据库驱动的分类器”技术使用初始的分类,产生可能包含输入图像的一组假设。在数据库3400中查找那些假设,并且自动地为那些假设设计特征提取加上分类策略。一个例子是识别输入碎片为或者包含Times字体,或者包含Arial字体。在这种情形,控制结构714调用衬线/无衬线字体辨别专用的特征提取器和分类器。
图27示出根据本发明的实施例的数据库驱动的分类的流程。紧接着第一特征提取2710,由上文所描述的任何一种或多种识别方法将输入图像碎片分类2712,以产生文档,页面,和那些页面内的x-y位置的等级排序。这个列表中的每个候选者都可以包含,例如,下列项(doci,pagei,xi,yi),这里doci为文档的标识符,pagei为文档内的页面,以及(xi,yi)为那个页面内的图像碎片的中心的x-y坐标。可以使用参考图25而描述的原始碎片检索算法2714产生关于每个候选者的碎片图像。
仍然参考图27,将第二特征提取应用于原始碎片2716。这可能不同于第一特征提取,并可能包括,例如,一个或多个字体探测算法、字符识别技术、边界框、和SIFT特征。将每个原始碎片中所探测到的特征输入至自动分类器设计方法2720,该方法包括,例如,为将未知的样本分类为原始碎片的一个而设计的神经网络、支持向量机、和/或最近邻分类器。可以将相同的第二特征提取应用于2718输入图像碎片,并且将它探测到的特征输入至这个新近设计的可能为原始碎片专用的分类器。
输出2714可能是n-元组(doci,pagei,xi,yi,actioni,scorei)的形式,这里评分由2720自动设计的分类技术2722提供。本领域技术人员将意识到,评分度量输入碎片与doci,pagei的相应区域相匹配的程度。
图28示出根据本发明的实施例的另一个文档指纹匹配技术。图28中所示的“数据库驱动的多分类器”技术通过遍及决定过程多个候选者,而减少识别过程中早期的不可恢复性错误的机会。执行几个初始分类。每个都产生不同的特征提取和分类能够辨别的输入碎片的不同等级排序。例如,那些组的一个可能由水平n-grams产生,并由从无衬线字体辨别衬线而唯一地识别。另一个例子可能由垂直n-grams产生,并由行分离的精确计算而唯一地识别。
图29示出根据本发明的实施例的数据库驱动的多分类的流程。该流程与图27中所示的那个类似,但其使用多个不同的特征提取算法2910和2912,以用分类器2914和2916产生输入图像碎片的独立的等级排序。特征和分类技术的例子包括上文所描述的水平和垂直单词长度n-grams。每个分类器可以产生包含至少关于每个候选者的下列项(doci,pagei,xi,yi,scorei)的碎片识别的分等级的列表,这里doci为文档的标识符,pagei为文档内的页面,(xi,yi)为那个页面内的图像碎片的中心的x-y坐标,以及scorei度量输入碎片与数据库文档中的相应位置相匹配的程度。
可以使用上文参考图25而描述的原始碎片检索算法产生相应于2914和2916的输出中的碎片识别的列表中的条目的一组原始图像碎片。可以如以前那样将第三和第四特征提取2918和2920应用于原始碎片和如上文图27中所描述的那样自动设计和应用的分类器。
仍然参考图29,将那些分类器所产生的等级排序结合,以产生具有条目(doci,pagei,xi,yi,actioni,scorei)的单个等级排序2924,这里i=1...,候选者的数量,以及每个条目中的值都如上文所描述的。例如,可以通过基于它在两个等级排序中的共同位置而分派项目一个评分的已知的Borda计数法测量,执行等级排序结合2922。这可以与由单独的分类器所分派的评分结合,以产生合成的评分。此外,本领域技术人员将注意到可以使用其它等级排序结合的方法。
图30示出根据本发明的实施例的另一个文档指纹匹配技术。图30中所示的“视频序列图像累加”技术通过将来自附近的或相邻的帧的数据合并成一体,而构建图像。一个例子涉及“超分辨率”。它记录N个临时相邻的帧,并使用透镜的点扩展功能的知识执行本质上为子像素边缘增强的操作。效果是增加图像的空间分辨率。此外,在一个或多个实施例中,可以使超分辨率方法专门化,以强调像洞、角落、和点那样的文本特定特征。进一步的扩展将使用候选图像碎片的特征,如从数据库3400而确定的,以使超分辨率集成功能专门化。
图31示出根据本发明的实施例的另一个文档指纹匹配技术。图31中所示的“视频序列特征累加”技术在做决定之前,在许多临时相邻的帧之上累加特征。这利用捕获装置的高采样率(例如,每秒30帧)和用户的意图,其保持捕获装置指向文档上的相同点至少几秒钟。在每帧上独立地执行特征提取,并将结果结合,以产生单个统一的特征图。结合过程包括隐含注册步骤。在文本碎片的视频剪辑的检查上,对于这种技术的需要是相当显然的。在典型的捕获设备中的自动对焦和对比度调节可以在相邻的视频帧中产生明显不同的结果。
图32示出根据本发明的实施例的另一个文档指纹匹配技术。图32中所示的“视频序列决定结合”技术将来自许多临时相邻的帧的决定结合。这利用典型的捕获装置的高采样率和用户的意图,其保持捕获装置指向文档上的相同点至少几秒钟。独立地处理每帧,并产生其本身的分等级的一列决定。将那些决定结合,以产生输入图像组的单个统一的等级排序。这种技术包括控制决定结合过程的隐含注册方法。在一个或多个实施例中,上文参考图6至32所描述的一个或多个各种各样的文档指纹匹配技术可以用于与一个或多个已知匹配技术结合,这样的结合在此被称为“多层级(或多因素)识别”。通常,在多层级识别中,使用第一匹配技术在文档数据库中定位一组具有特定标准的页面,并且然后使用第二匹配技术从该组中的页面之中唯一地识别碎片。
图33示出根据本发明的实施例的多层级识别的流程的例子。最初,在步骤3310,使用捕获装置106在感兴趣的文档上捕获/扫描”挑选”特征。该挑选的特征可以是任何特征,其捕获有效地导致文档数据库内的一组文档的选择。例如,挑选的特征可以是仅只为数字的条形码(例如,通用产品码(UPC))、字母数字条形码(例如,code 39、code 93、code 128)、或二维条形码(例如,QR码、PDF 417、Datamatrix、Maxicode)。此外,挑选的特征可以是,例如,图形、图像、商标、标志、特别的颜色或颜色的结合、关键字、或短语。此外,在一个或多个实施例中,挑选的特征可以局限于适合于捕获装置106识别的特征。
在步骤3312,一旦在步骤3310已捕获了挑选的特征,基于与所捕获的挑选的特征的关联,选择文档数据库中一组文档和/或文档页面。例如,如果所捕获的挑选的特征为公司的标志,则选择数据库中编索引为包含那个标志的所有文档。在另一个例子中,数据库可以包含将所捕获的挑选的图像与其比较的商标库。当在该库中有“命中”时,选择与所命中的商标相关联的所有文档,以用于如下文所描述的随后的匹配。此外,在一个或多个实施例中,在步骤3312的文档/页面的选择可以依赖于所捕获的挑选的特征和所扫描的文档上那个挑选的特征的位置。例如,与所捕获的挑选的特征相关联的信息可以指定挑选的图像是否位于文档的右上角,而不是相对立的文档的左下角。
此外,本领域技术人员将注意到,可以由捕获装置106或一些其它从捕获装置106接收原始的图像数据的部件作出特别的捕获图像包含挑选的特征的图像的确定。例如,数据库自身可以确定从捕获装置106发送的特定捕获对象包括挑选特征,作为对其的相应数据库选择与捕获的挑选特征关联的一组文档。
在步骤3314,在步骤3312已经选择特定组文档之后,捕获装置106继续扫描并且由此捕获感兴趣的文档的图像。然后,通过使用参考图6-32所描述的不同的文档指纹匹配技术中的一个或多个,将该捕获的文档的图像与在步骤3312选择的文档匹配。例如,在步骤3310基于感兴趣的文档上的鞋图形图像的捕获来将被索引为包括鞋图形的挑选特征的一组文档之后,可以使用如前所述的多个分类器技术来将随后的感兴趣的文档的捕获图像与所述的一组选择的文档匹配。
由此,使用参考图33的描述的多层识别流处理的实现,通过初始降低页面/文档的数量可以降低碎片识别次数,其中将所述页面/文档与随后的捕获的图像匹配。此外,通过首先扫描存在图像、条形码、图形或其它类型的挑选的特征的位置上的文档,用户可以利用这样的改进的识别次数。通过执行这样的动作,用户可以快速地降低与随后的捕获的图像匹配的文档的数目。
MMR数据库***
图34A阐明根据本发明的一个实施例而配置的MMR数据库***3400的功能框图。***3400是为基于内容的检索而配置的,这里以使得能够进行基于文本的索引(或任何其它可搜索的索引)的查找的方式表示对象之间的二维几何关系。***3400采用证据累加,以通过,例如,将特征发生的频率与二维区域中其位置的可能性结合,而提高查找效率。在一个特定实施例中,数据库***3400为文档事件数据库320(包括PD索引322)的详细实现,其内容包括由捕获模块318产生的打印文档的电子表示和/或如上文参考图3所讨论的文档指纹匹配模块226。根据这个公开发明,***3400的其它应用程序和配置将很明显。
如能够看到的,数据库***3400包括接收由MMR特征提取模块3402计算的描述的MMR索引表模块3404、证据累加模块3406、和关系数据库3408(或任何其它适当的存储设施)。索引表模块3404查询识别每个特征发生的文档、页面、和那些页面内的x-y位置的索引表。能够通过,例如,MMR索引表模块3404或一些其它专用的模块,产生索引表。将证据累加模块3406程序化为或配置为,给定来自索引表模块3404的数据,而计算分等级的一组文档、页面和位置假设3410。关系数据库3408能够用来存储有关每个碎片的另外的特征3412。这些包括图5中的504和508,但并不局限于此。通过在导出关于碎片的签名或指纹(即,唯一的搜索项)中使用碎片内的文本的二维布置,可相当大程度地增加甚至很小的文本的片段的唯一性。其它实施例类似地能够在导出关于碎片的签名和指纹中利用碎片内的对象/特征的任何二维布置,并且关于唯一地识别碎片,本发明的实施例并不意味着局限于文本的二维布置。图34A中所阐明的数据库***3400的其它部件和功能包括反馈导向的特征搜索模块3418、文档呈现应用程序模块3414、和子图像提取模块3416。这些部件与其它的***3400部件交互作用,以提供反馈导向的特征搜索和动态原始图像生成。另外,***3400包括接收动作的动作处理器3413。动作确定数据库***3400执行的动作和其提供的输出。将依次解释这些其它部件的每一个。
图34B中示出利用这种碎片内的文本的二维布置的MMR特征提取模块3402的例子。在一个这样的实施例中,将MMR特征提取模块3402程序化为或配置为采用基于OCR的技术从图像碎片中提取特征(文本或其它目标特征)。在这个特定实施例中,特征提取模块3402提取文本的碎片的图像中的单词的x-y位置,并将那些位置表示为其包含的水平或垂直相邻的单词对组。如果它们是水平相邻的,则将图像碎片有效地转换为由“-”连接的单词对(例如,the-cat,in-the,the-hat,和is-back),而如果它们垂直地交迭,则由“+”连接(例如,the+in,cat+the,in+is,和the+back)。该x-y位置能够是,例如,基于自文档图像中的某些固定点(从文档的最左上角或中心),在x和y平面方向中计算的像素的。注意到该例子中水平相邻的对可以频繁地出现在许多其它文本段落中,而垂直交迭的对在其它文本段落中将可能较少见。能够类似地将图像特征之间的其它几何关系编码,例如单词之间带有“/”的SW-NE邻接、带有“\”的NW-SE邻接,等等。同样,能够将“特征”一般化为能够用任意的但一致的串编码的单词边界框(或者其它特征边界框)。例如,能够用串“4rusl”表示具有粗糙的上轮廓线但光滑的下轮廓线,与高的四倍一样长的边界框。另外,能够将几何关系一般化为特征之间的任意角度和距离。例如,可以用“4rusl\\4rusl”表示NW-SE相邻的但由两个单词的高度分离的具有“4rusl”描述的两个单词。根据这个公开发明,许多编码方案将会很明显。此外,注意到能够使用数字、布尔值、几何形状、和其它这样的文档特征,代替单词对,来识别碎片。
图34C阐明根据本发明的一个实施例的示例性索引表组织。如能够看到的,MMR索引表包括倒置项索引表3422和文档索引表3424。如将依次讨论的,每个唯一的项或特征(例如,关键点3421)都指向项索引表3422中的位置,该项索引表3422保留指向一列记录3423(例如,Rec#1、Rec#2,等等)的特征的函数值(例如,关键点x),并且每个记录都识别文档内的页面上的候选区域。在一个例子中,关键点和关键点的函数值(关键点x)是相同的。在另一个例子中,将哈希函数应用于关键点,并且该函数的输出为关键点x。
给定一列查询项,检查经关键点编索引的每个记录,并且识别与所有的查询项最一致的区域。如果该区域包含足够高的匹配评分(例如,基于预定的匹配阈值),则确认假设。否则,宣布匹配失败,并不返回区域。在这个示例性实施例中,如先前所描述的,关键点为或者由“-”或者由“+”分离的单词对(如,“the-cat”或“cat+the”)。将几何关系合并入关键点中的这种技术本身允许关于二维几何查询的传统的文本搜索技术的使用。
因而,索引表组织将图像碎片中所探测到的特征转换成为代表特征本身和它们之间的几何关系两者的文本项。这允许传统的文本索引标定和搜索方法的利用。例如,如根据这个公开发明将很明显的,由能够被称为“查询项”的符号“cat+the”表示垂直相邻的项“cat”和“the”。传统的文本搜索数据结构和方法的利用便利了在此所描述的MMR技术在因特网文本搜索***(例如,Google、Yahoo、Microsoft,等等)之上的移接。
在这个示例性实施例的倒置项索引表3422中,每个记录都使用六个参数:文档识别(DocID)、页面号(PG)、x/y偏移量(分别为X和Y)、以及矩形区域的宽度和高度(分别为W和H),识别文档内页面上的候选区域。DocID为当打印文档时,基于时间标记(或其它元数据)而产生的唯一的串。但它能够是结合装置ID和人员ID的任何串。在任何情形,文档都由唯一的DocIDs识别,并且具有存储于文档索引表中的记录。页面号为相应于纸张输出的页码标记,并且从1开始。由左上角的X-Y坐标,以及标准化的坐标***中的边界框的宽度和高度为参数表示矩阵区域。根据这个公开发明,许多的文档内部位置/坐标方案将会很明显,但本发明并不意味着局限于任何特别的一个。
根据本发明的一个实施例而配置的示例性记录结构使用24-位DocID和8-位页面号,允许直到一千六百万个文档和四十亿个页面。关于边界框的每个X和Y偏移量的一个无符号字节都提供30dpi水平的和23dpi垂直的空间分辨率(假设8.5”×11”的页面,尽管能够使用其它页面大小和/或空间分辨率)。关于边界框的宽度和高度的类似的处置(例如,关于每个W和H的一个无符号字节)允许与句点或者“i”上的点一样小的,或者与整个页面(例如,8.5”×11”或其它)一样大的区域的表示。因此,每个记录的八个字节(DocID的3个字节、PG的1个字节、X的1个字节、Y的1个字节、W的1个字节、和H的1个字节为总共8个字节)能够包含大量的区域。
文档索引表3424包括有关每个文档的相关信息。在一个特定实施例中,这个信息包括XML文件中文档相关的字段,包括打印分辨率、打印日期、纸张大小、影子文件名、页面图像位置,等等。因为当给文档编索引时,将打印坐标转换成为标准化的坐标***,计算搜索假设并不涉及这个表。因而,仅关于相匹配的候选区域参阅文档索引表3424。然而,这个决定暗示索引中信息的一些损失,因为标准化的坐标通常处于比打印分辨率更低的分辨率。若如是需要,当计算搜索假设时,可替代的实施例可以使用文档索引表3424(或者标准化的坐标的更高的分辨率)。
因而,索引表模块3404运作,以有效地提供使得给定图像查询发生处的对象(例如,文档页面)和那些对象内的x-y位置的基于内容的检索能够进行的图像索引。这样的图像索引和关系数据库3408的结合允许使图像碎片与碎片的特征(例如,附着于碎片的“动作”,或者能够扫描以促使与碎片有关的其它内容的检索的条形码)相匹配的对象的位置。关系数据库3408也提供从一个碎片至文档中的其它碎片在索引表中的特征的“相反链接”的方法。相反链接提供找到当其从文档图像的一个部分移动到另一个部分时,识别算法将期望看到的特征的方式,其可以相当大程度地提高如在此所讨论的MMR***中前端图像分析算法的性能。
反馈导向的特征搜索
同样能够将图像碎片的x-y坐标(例如,图像碎片的中心的x-y坐标)和文档及页面的识别输入至反馈导向的特征搜索模块3418。反馈导向的特征搜索模块3418搜索自图像碎片的中心的给定距离内发生的记录3423的项索引表3422。例如,能够通过将关于每个DocID-PG结合的记录3423存储在以X和Y值的顺序分类的存储邻接块中,而便利这种搜索。通过关于给定值(依赖于存储时数据如何分类的X或Y)的二进制搜索,和自具有给定的X和Y值的所有记录的那个位置的串行搜索,而执行查找。典型地,这将包括围绕度量给定的文档和页面中W英寸宽和H英寸高的碎片的***的M英寸环中的x-y坐标。定位这个环中发生的记录,并通过反跟踪指针定位它们的关键点或特征3421。如在图34A的3417示出的,报导环中特征的列表和它们的x-y位置。能够基于输入图像的大小,通过识别***动态地设置在3415所示的W、H、和M的值,以致特征3417在输入图像碎片的外面。
例如,对于消除多个假设的歧义,图像数据库***3400的这样的特征是很有用的。如果数据库***3400报导不止一个文档可能与输入图像碎片相匹配,则围绕碎片的环中的特征将允许识别***(例如,指纹匹配模块226或其它适合的识别***)通过引导用户在能够消除决定的歧义的方向轻微地移动图像捕获装置,而决定哪个文档与用户持有的文档最匹配。例如(假设使用基于OCR的特征,尽管该概念可扩展至任何几何上编索引的特征组),文档A中的图像碎片可能径直地位于单词对“blue-xylophone”之下。文档B中的图像碎片可能径直地位于单词对“blue-thunderbird”之下。数据库***3400将报导这些特征的期望的位置,并且识别***可能命令用户(例如,通过用户接口)将相机向上移动由特征的y坐标和碎片的顶部的差所指示的量。识别***能够计算那个差别区域中的特征,并使用来自文档A和文档B的特征确定哪一个最匹配。例如,识别***能够用由(xylophone,thunderbird)组成的特征的“词典”后处理来自差别区域的OCR结果。与OCR结果最匹配的单词相应于与输入图像最匹配的文档。后处理算法的例子包括通常已知的拼写校正技术(例如单词处理器和电子邮件应用程序所使用的那些)。
如这个例子阐明,数据库***3400的设计允许识别***,通过以避免进行进一步的数据库访问的需要的方式匹配特征描述,以有效的方式消除多个候选者的歧义。可替代的解决方案将为独立地处理每个图像。
动态原始图像生成
同样能够将图像碎片中的位置的x-y坐标(例如,图像碎片的中心的x-y坐标)和文档及页面的识别输入至关系数据库3408,在其中能够使用它们来检索那个文档和页面的所存储的电子原文。然后,能够通过文档呈现应用程序模块3414将那个文档呈现成为位图图像。同样,子图像提取模块3416使用由模块3414所提供的另外的“方框大小”值来提取围绕中心的位图的一部分。这个位图是图像碎片的所期望的外观的“原始”表示,并且其包含输入图像中应该呈现的所有特征的准确表示。然后能够返回原始碎片作为碎片特征3412。这种解决方案克服了现有技术所要求的过度存储,该现有技术通过存储能够随后在要求时被转换为位图数据的压缩非图像表示,而存储图像位图。
这样的存储方案是有益的,因为其使得能够进行假设-和-检验识别策略的使用,在其中使用从图像中所提取的特征表示检索通过详细的特征分析消除歧义后的一组候选者。通常,预测将最佳地消除任意的一组候选者的特征是不可能的,但从那些候选者的原始图像而确定这一点是很理想的。例如,可以在两个数据库文档中定位单词对“the cat”的图像,其中一个最初以Times Roman字体打印,而另一个以Helvetica字体打印。简单地确定输入图像是否包含这些字体的一个将识别正确匹配的数据库文档。用像欧氏距离那样的模板匹配比较度量标准,将那些文档的原始碎片与输入图像碎片相比较,将识别正确的候选者。
一个例子包括存储Microsoft Word“.doc”文件的关系数据库3408(类似的方法适于像postscript、PCL、pdf.、或微软的XML paper specificationXPS那样的其它文档格式,或者通过像ghostscript那样的呈现应用程序,或在XPS、具有所安装的WinFX部件的微软的Internet Explorer的情形中,能够被转换成为位图的其它这样的格式)。假定文档、页面、x-y位置、方框维度、和指示优选的分辨率为600点每英寸(dpi)的***参数的识别,则能够调用Word应用程序,以产生位图图像。这将提供6600行和5100列的位图。另外的参数x=3”、y=3”、height=1”、和width=1”指示数据库应该返回中心置于远离页面的左上角x和y上1800像素的点的600像素高和宽的碎片。
多个数据库
当使用多个数据库***3400时,其每一个都可以包含不同的文档集,能够使用原始碎片确定两个数据库是否返回相同的文档或者哪个数据库返回了与输入较好地匹配的候选者。
如果两个数据库返回相同的文档,或许具有不同的标识符3410(即,原始文档是相同的是不明显的,因为它们在不同的数据库中分别输入)和特征3412,则原始碎片将几乎完全相同。这能够通过,例如,用计算不同的像素的数量的汉明距离,将原始碎片彼此比较而确定。如果原始文档是像素到像素完全相同的,则汉明距离将为零。如果碎片稍微地不同,如可能由微小的字体差别所导致的,则汉明距离将稍微地大于零。当计算汉明算符中的图像差别时,这能够导致围绕字符边缘的“光环”效应。不同版本的原始呈现应用程序、运行数据库的服务器上不同版本的操作***、不同的打印机驱动器、或不同的字体集,都能够导致像这样的字体差别。
能够在来自两个文档中的不止一个x-y位置的碎片上执行原始碎片比较算法。它们所有的都应该相同,但像这样的采样过程将允许能够克服数据库***之间的呈现差别的冗余。例如,当在两个***上呈现时,一种字体可能看起来彻底地不同,但另一种字体可能完全相同。
如果两个或多个数据库返回不同的文档作为其关于输入图像的最佳匹配,则能够通过像汉明距离那样的基于像素的比较度量标准,将原始碎片与输入图像相比较,以确定哪个是正确的。
用于比较来自不止一个数据库的结果的可替代的策略为比较测量每个数据库所报导的文档中的特征的几何分布的累加阵列的内容。直接由数据库提供这个累加器,以避免执行分离的原始特征组的查找的需要,是很理想的。同样,这个累加器应该独立于数据库***3400的内容。在图34A所示的实施例中,导出活动阵列3420。能够通过测量它们的值的内部分布,比较两个活动阵列。
更详细地,如果两个或多个数据库返回相同的文档,或许具有不同的标识符3410(即,原始文档是相同的是不明显的,因为它们在不同的数据库中分别输入)和特征3412,则来自每个数据库的活动阵列3420将几乎完全相同。这能够通过,例如,用计算不同的像素的数量的汉明距离,将阵列彼此比较而确定。如果原始文档完全相同,则汉明距离将为零。
如果两个或多个数据库返回不同的文档作为其关于输入特征的最佳匹配,则能够比较它们的活动阵列3420,以确定哪个文档与输入图像“最佳地”匹配。与图像碎片正确地匹配的活动阵列将包含中心近似置于碎片出现处的位置的高数值的群族。与图像碎片不适当地匹配的活动阵列将包含随机分布的数值。存在许多熟知的用于测量色散或图像的随机性的策略,例如熵。能够将这样的算法应用于活动阵列3420,以获得指示群簇的存在的测量。例如,包含相应于图像碎片的群簇的活动阵列3420的熵将相当地不同于其数值随机地分布的活动阵列3420的熵。
此外,注意到,单独的客户机106可能在任何时刻都可访问其内容并不必定彼此冲突的多个数据库3400。例如,企业可能具有每个都涉及单个文档的公开可访问的碎片和企业私有的碎片两者。在这样的情形,客户机装置106将维持按顺序参阅的一列数据库D1、D2、D3...,并将经结合的活动阵列3420和标识符3410生成统一的用户显示。给定的客户机装置106可能显示从所有的数据库可得到的碎片,或者允许用户选择数据库子集(例如,仅只D1、D3、和D7),并仅显示来自那些数据库的碎片。可以通过订购服务将数据库添加至列表,或者当客户机装置106处于某个位置时,使得数据库可以无线地获得,或者因为数据库是已经被加载到客户机装置106之上的几个的一个,或者因为已经证明某个用户当前正在使用该装置,或者甚至因为该装置正以某个模式操作。例如,因为特别的客户机装置的音频扬声器开启或关闭,或者因为像视频投影机那样的***装置当前附着于客户机,某些数据库就可能是可利用的。
动作
进一步参考图34A,MMR数据库3400接收动作,和来自MMR特征提取模块3402的一组特征。动作指定命令和参数。在这样的实施例中,命令和其参数确定所返回的碎片特征3412。以能够容易地被翻译成为文本的包括,例如,http,的格式接收动作。
动作处理器3413接收由证据累加模块3406所确定的关于文档、页面和页面内的x-y位置的标识符。它也接收命令和其参数。动作处理器3413被程序化为或被配置为将命令转换成为或者检索数据或者使用关系数据库3408将数据存储在相应于给定的文档、页面和x-y位置的位置处的指令。
在一个这样的实施例中,命令包括:RETRIEVE、INSERT_TO<DATA>、RETRIEVE_TEXT<RADIUS>、TRANSFER<AMOUNT>、PURCHASE、PRISTINE_PATCH<RADIUS[DOCID PAGEID X Y DPI]>、和ACCESS_DATABASE<DBID>。现在将依次讨论每一个。
RETRIEVE-检索连接至给定的文档页面中的x-y位置的数据。动作处理器3413将RETRIEVE命令转换成为检索可能存储在这个x-y位置附近的数据的关系数据库查询。这能够要求不止一个数据库查询的发布,以搜索包围着x-y位置的区域。将检索的数据作为碎片特征3412输出。RETRIEVE命令的示例性应用程序为检索视频剪辑或动态信息对象(例如,能够检索当前信息的电子地址)的多媒体浏览应用程序。检索的数据能够包括指定将要在MMR装置上执行的随后的步骤的菜单。它也可能是能够在电话(或其它显示装置)上显示的静态数据,例如JPEG图像或视频剪辑。能够将参数提供给RETRIEVE命令,其确定搜索碎片特性的区域。
INSERT_TO<DATA>-在图像碎片指定的x-y位置***<DATA>。动作处理器3413将INSERT_TO命令转换成为关于关系数据库的将数据添加至指定的x-y位置的指令。将INSERT_TO命令的成功完成的确认作为碎片特征3412而返回。INSERT_TO命令的示例性应用程序为允许用户将数据附着于文本的段落中的任意x-y位置的MMR装置上的软件应用程序。数据能够是静态多媒体数据,如JPEG图像、视频剪辑、或音频文件,但它也能够是像菜单那样的指定与给定的位置相关联的动作的任意的电子数据。
RETRIEVE_TEXT<RADIUS>-检索由图像碎片所确定的x-y位置的<RADIUS>内的文本。能够将<RADIUS>指定为,例如,图像空间中的许多像素,或者能够将它指定为围绕由证据累加模块3406所确定的x-y位置的许多单词的字符。<RADIUS>也能够涉及经分析的文本对象。在这个特定实施例中,动作处理器3413将RETRIEVE_TEXT命令转换成为检索适当的文本的关系数据库查询。如果<RADIUS>指定经分析的文本对象,则动作处理器仅返回经分析的文本对象。如果经分析的文本对象不位于指定的x-y位置附近,则动作处理器返回零指示。在可替代的实施例中,动作处理器调用反馈导向的特征搜索模块,以检索在给定的x-y位置的半径范围内出现的文本。将文本串作为碎片特征3412而返回。与文本串中的每个单词相关联的可选的数据包括原始文档中x-y边界框。RETRIEVE_TEXT命令的示例性应用程序为从打印文档中挑选文本短语,以便包括于另一个文档之中。这可能用于,例如,在MMR***上合成陈述文件(例如,以PowerPoint格式)。
TRANSFER<AMOUNT>-检索整个文档和以能够被加载至另一个数据库上的形式连接至它的一些数据。<AMOUNT>指定所检索的数据的数量和类型。如果<AMOUNT>为ALL,则动作处理器3413发布命令至数据库3408,其检索与文档相关联的所有数据。这样的命令的例子包括DUMP或Unix TAR。如果<AMOUNT>为SOURCE,则检索文档的原始源文件。例如,这将检索打印文档的Word文件。如果<AMOUNT>为BITMAP,则检索打印文档的位图的JPEG压缩版(或其它通常所使用的格式)。如果<AMOUNT>为PDF,则检索文档的PDF表示。依靠命令名称,以调用应用程序已知的格式,将检索的数据作为碎片特征3412而输出。TRANSFER命令的示例性应用程序为允许用户通过使文本的小区域成像而将文档的PDF表示传递至MMR装置的“文档攫取器”。
PURCHASE-检索连接至文档中的x-y位置的产品说明。动作处理器3413首先执行一系列一个或多个RETRIEVE命令,以获得给定的x-y位置附近的产品说明。产品说明包括,例如,卖主的名字、产品的识别(例如,物料编号)、和卖主的电子地址。优先于可能位于附近的其它数据类型,而检索产品说明。例如,如果jpeg存储在由图像碎片所确定的x-y位置,则替代地检索下一个最接近的产品说明。将检索的产品说明作为碎片特征3412而输出。PURCHASE命令的示例性应用程序与打印文档中的广告相关联。MMR装置上的软件应用程序接收与广告相关联的产品说明,并在将其发送至所指定的电子地址处的指定的卖主之前,添加用户的个人识别信息(例如,名字、运送地址、信用***码,等等)。
PRISTINE_PATCH<RADIUS[DOCID PAGEID X Y DPI]>-检索所指定的文档的电子表示,并提取具有半径RADIUS,中心置于x-y的图像碎片。RADIUS能够指定圆环形的半径,但它也能够指定矩形碎片(例如,2英寸高×3英寸宽)。它也能够指定整个文档页面。(DocID,PG,x,y)信息能够明白地作为动作的一部分而提供,或者它能够从文本碎片的图像中导出。动作处理器3413从关系数据库3408中检索文档的原始表示。那个表示能够是位图,但它也能够是可呈现的电子文档。将原始表示传递至文档呈现应用程序3414,在此将其变换成为位图(具有如点每英寸的参数DPI中所提供的分辨率),并然后将它提供给在其提取所期望的碎片的子图像提取3416。将碎片图像作为碎片特征3412而返回。
ACCESS_DATABASE<DBID>-将数据库3400添加至客户机106的数据库列表。除了当前在列表中任何现有的数据库之外,客户机现在能够参阅这个数据库300。DBID或者指定文件,或者指定涉及指定的数据库的远程网络。
索引表生成方法
图35阐明根据本发明的实施例的用于产生MMR索引表的方法3500。能够,例如,通过图34A的数据库***3400实施这个方法。在一个这样的实施例中,例如,通过MMR索引表模块3404(或一些其它专用的模块),从扫描或打印文档中产生MMR索引表。能够以软件、硬件(例如,门级逻辑)、固件(例如,配置有用于实施该方法的嵌入例程的微控制器),或者它们的一些结合,正如在此所描述的其它模块。
该方法包括接收3510纸质文档。纸质文档能够是任何文档,例如具有任何数量的页面的便函(如,工作相关、个人的信件)、产品标签(如,罐装商品、医药、箱装电子装置)、产品说明(如,吹雪机、计算机***、制造***)、产品手册或广告材料(如,汽车、船、度假胜地)、服务描述材料(如,因特网服务提供者、清洁服务)、书的一个或多个页面、杂志或其它这样的出版物、从网站打印的页面、手写的笔记、从白板捕获和打印的笔记、或者从任何处理***(如,桌上型计算机或便携式计算机、相机、智能手机、远程终端)打印的页面。
该方法继续产生3512纸质文档的电子表示,该表示包括文档中所示的特征的x-y位置。目标特征能够是,例如,单独的单词、字母、和/或文档内的字符。例如,如果扫描原始文档,则首先将其OCR并且提取单词(或者其它目标特征)和其x-y位置(例如,通过扫描仪127的文档指纹匹配模块226’的操作)。如果打印原始文档,则索引标定过程接收每个字符(或其它目标特征)的字体、磅值、和x-y边界框的XML格式的精确表示(例如,通过打印机116的打印驱动器316的操作)。在这种情形,索引表生成开始于步骤3514,因为以精确地识别的x-y特征位置接收电子文档(例如,从打印驱动器316)。根据这个公开发明,除了XML以外的格式将很明显。通过将它们“打印”至其输出被导向文件的打印驱动器,以致并不必定产生纸张,能够将像Microsoft Word、Adobe Acrobat、和postscript那样的电子文档输入数据库。这触发下文所示的XML文件结构的产生。在所有的情形,XML和原始文档格式(Word、Acrobat、postscript,等等)都分派有标识符(添加至数据库的关于第i个文档的doc i),并且以通过那个标识符,但也基于包括捕获它的时间、打印的日期、触发打印的应用程序、输出文件的名称,等等的文档的其它“元数据”的特征,使得能够进行它们稍后的检索的方式,存储在关系数据库3408中。
这里示出XML文件结构的例子:
$docID.xml:
<?xml version=“1.0”?>
<doclayout ID=″00001234″>
<setup>
<url>file url/path or null if not known</url>
<date>file printed date</date>
<app>application that triggered print</app>
<text>$docID.txt</text>
<prfile>name of output file</prfile>
<dpi>dpi of page for x,y coordinates,eg.600</dpi>
<width>in inch,like 8.5</width>
<height>in inch,eg.11.0</height>
<imagescale>0.1 is 1/10th scale of dpi</imagescale>
</setup>
<page no=″1>
<image>$docID_1.jpeg</image>
<sequence box=“x y w h”>
<text>this string of text</text>
<font>any font info</font>
<word box=″x y w h″>
<text>word text</text>
<char box=″x y w h″>a</char>
<char box=″x y w h″>b</char>
<char>1 entry per char,in sequence</char>
</word>
</sequence>
</page>
</doclayout>
在一个特定的实施例中,单词可以包含自a-z、A-Z、0-9的任何字符,和@%$#的任何一个;所有其它的是分隔符。能够通过索引标定过程所使用的打印捕获软件(例如,在像数据库320服务器那样的服务器上执行的)创建.xml文件的原始描述。随着***获得新的文档,实际格式经常演化,并包含多个元素。
保存打印驱动器(例如,打印驱动器316)所接收的文本的原始序列,并且除“_@%$#”之外,基于标点符号强加逻辑单词结构。使用XML文件作为输入,索引表模块3404遵守页面边界,并首先试图通过检查两个连续的序列之间的垂直交迭的数量,将序列分组成为逻辑行。在一个特定实施例中,如果两个序列交迭少于它们的平均高度的一半,则使用行中断发生的试探法。对于典型的文本文档(例如,Microsoft Word文档),这样的试探法相当起作用。对于具有复杂布局的html页面,可能需要另外的几何分析。然而,只要能够如通过查询过程产生一致的索引标定项,就不必定要提取完美的语义文档结构。
基于纸质文档的电子表示的结构,该方法继续3514给纸质文档的每个页面上的每个目标特征的位置编索引。在一个特定实施例中,这个步骤包括给纸质文档的每个页面上的每对水平和垂直相邻的单词的位置编索引。如先前所解释的,水平相邻的单词为一行内的相邻单词对。垂直相邻的单词为垂直地排列的相邻行中的单词。能够类似地利用页面的其它多维方面。
该方法进一步包括存储3516与每个目标特征相关联的碎片特征。在一个特定实施例中,碎片特征包括附着于碎片的动作,并存储在关系数据库中。如先前所解释的,这样的图像索引和存储设施的结合允许与图像碎片和碎片的特征相匹配的对象的位置。特征能够是与路径有关的任何数据,例如元数据。特征也能够包括,例如,将实施特定的功能的动作,能够被选择以提供对与碎片有关的其它内容的访问的链接、和/或能够被扫描或处理,以促使与碎片有关的其它内容的检索的条形码。关于搜索项生成,给出更精确的定义,这里仅观察行结构的一段。对于水平相邻的对,通过用“-”分隔符连接单词,形成查询项。使用“+”连接垂直对。若如是需要,能够以其原始形式使用单词,以保存大写(这创建更多唯一的项,但同样产生具有另外的查询发布的较大的索引,以考虑像大小写敏感性这样的事情)。索引标定方案允许将相同的搜索策略应用于或者水平的或者垂直的单词对,或者两者的结合。任何一种情况的逆向文档频率可说明项的辨别能力。
证据累加方法
图36阐明根据本发明的一个实施例的用于计算分等级的一组文档、页面、和关于目标文档的位置假设的方法3600。能够,例如,通过图34A的数据库***3400实施该方法。在一个这样的实施例中,证据累加模块3406使用来自如先前所讨论的索引表模块3404的数据计算假设。该方法以接收3610像较大的文档图像的图像碎片或整个文档图像那样的目标文档图像开始。该方法继续产生3612捕获目标文档图像中对象之间的二维关系的一个或多个查询项。在一个特定实施例中,通过如先前参考图34B所讨论的产生水平和垂直的单词对的特征提取过程,而产生查询项。然而,如根据这个公开发明将会很明显的,能够使用如在此所描述的任何数量的特征提取过程,来产生查询项,其捕获目标图像中对象之间的二维关系。例如,能够使用用来构建方法3500的索引的相同的特征提取技术,来产生查询项,例如参考步骤3512所讨论的那些(产生纸质文档的电子表示)。此外,注意到,查询项的二维示像能够单独地应用于每个查询项(例如,表示目标文档中的水平和垂直对象两者的单个查询项),或者应用于一组搜索项(例如,为水平单词对的第一查询项和为垂直单词对的第二查询项)。该方法继续查找3614项索引表3422中的每个查询项,以检索与每个查询项相关联的一列位置。关于每个位置,该方法继续产生3616包含位置的许多区域。在处理所有的查询之后,该方法进一步包括识别3618与所有的查询项最一致的区域。在一个这样的实施例中,以权重(例如,基于每个区域与所有的查询项一致的程度)增加每个候选区域的评分。该方法继续确定3620所识别的区域是否满足预定的匹配标准(例如,基于预定的匹配阈值)。如果这样,该方法继续确认3622该区域作为目标文档图像的匹配(例如,最可能包含所述区域的页面能够被访问或以其它方式被使用)。否则,该方法继续拒绝3624该区域。
单词对和“标准化”的坐标空间的位置存储在项索引表3422中。这提供不同的打印机与扫描仪分辨率之间的一致性。在一个特定实施例中,将85×110坐标空间用于8.5”×11”的页面。在这样的情形,由其在这个85×110空间中的位置识别每个单词对。
为了提高搜索的效率,能够执行两步过程。第一步包括定位最可能包含输入图像碎片的页面。第二步包括计算最可能为碎片的中心的那个页面内的x-y位置。这样的途径引进可能在第一步中错过的真实的最好匹配的可能性。然而,在稀疏索引标定空间,这样的可能性很少见。因而,依赖于索引的大小和所期望的性能,能够使用这样的效率提高技术。
在一个这样的实施例中,使用下列算法找到最可能包含输入图像碎片中所探测到的单词对的页面。
For each given word-pair wp
idf=1/log(2+num_docs(wp))
For each(doc,page)at which wp occurred
Accum[doc,page]+=idf;
end/*For each(doc,page)*/
end/*For each wp*/
(maxdoc,maxpage)=max(Accum[doc,page]);
if(Accum[maxdoc,maxpage]>thresh_page)
return(maxdoc,maxpage);
这个技术将关于每个单词对的逆向文档频率(idf)添加至由文档和它在其上出现的页面标定索引的累加器。num_docs(wp)返回包含单词对wp的文档的数量。由证据累加模块3406实现累加器。如果那个累加器中的最大值超过阈值,则其作为是碎片的最佳匹配的页面而输出。因而,该算法运算,以识别与查询中的单词对最匹配的页面。可替代地,能够筛选Accum阵列,并作为与输入文档相匹配的“N个最佳”页面报导头N个页面。
根据本发明的一个实施例,下列证据累加算法累加关于单个页面内的输入图像碎片的位置的证据。
For each given word-pair wp
idf=1/log(2+num_docs(wp))
For each(x,y)at which wp occurred
(minx,maxx,miny,maxy)=extent(x,y);
maxdist=maxdist(minx,maxx,,miny,maxy);
For i=miny to maxy do
For j=minx to maxx do
norm_dist=Norm_geometric_dist(i,j,x,y,
maxdist)
Activity[i,j]+=norm_dist;
weight=idf*norm_dist;
Accum2[i,j]+=weight;
end/* for j */
end/* for I */
end/* For each(y,y) */
end/* For each */
该算法运算,以定位最可能为输入图像碎片的中心的85×110空间中的单元。在这里所示的实施例中,通过将权重添加至围绕每个单词对的固定区域(称为环区)中的单元,该算法可做到这一点。对extent函数给定x,y对,并且其返回关于环绕的固定大小区域(1.5”高和2”宽是典型的)的最小和最大值。extent函数考虑边界条件,并确保其返回的值不会落在累加器之外(即,小于零或x大于85或者y大于110)。maxdist函数找到由边界框坐标(minx,maxx,miny,maxy)所描述的边界框中两个点之间的最大欧氏距离。关于环区内的每个单元,而计算由单词对的逆向文档频率和单元与环区的中心之间的标准化的几何距离的乘积所确定的权重。这使接近于中心的单元权重高于较远处的单元。在由该算法处理每个单词对之后,在Accum2阵列中搜索具有最大值的单元。如果那个值超过了阈值,则将其坐标作为图像碎片的位置而报导所述单元的坐标。活动阵列存储累加的norm_dist值。因为不通过idf将它们缩放,它们不考虑包含特别的单词对的数据库中的文档的数量。然而,它们的确提供与给定的一组单词对最匹配的x-y位置的二维图像表示。此外,活动阵列中的条目独立于数据库中所存储的文档。能够将通常内部使用的这种数据结构导出3420。
根据本发明的一个实施例,如这里所示计算标准化的几何距离。
Norm_geometric_dist(i,j,x,y,maxdist)
begin
d=sqrt((i-x)2+(j-y)2);
return(maxdist-d);
end
计算单词对的位置与环区的中心之间的欧氏距离,并返回这与可能已经计算的最大距离之间的差。
在通过证据累加算法处理每个单词对之后,在Accum2阵列中搜索具有最大值的单元。如果那个值超过了预定的阈值,则将其坐标作为图像碎片的中心的位置而报导。
MMR打印体系结构
图37A阐明根据本发明的一个实施例的MMR部件的功能框图。基本的MMR部件包括具有相关联的打印机116和/或共享文档注解(SDA)服务器3755的计算机3705。
如本技术领域中已知的,计算机3705为任何标准的桌上型计算机、膝上型计算机、或网络计算机。在一个实施例中,计算机为参考图1B所描述的MMR计算机112。如在此所描述的,用户打印机116为任何标准的家庭、办公室、或商业打印机。用户打印机116产生打印文档116,其为由一个或多个打印页面组成的纸质文档。
SDA服务器3755为拥有信息、应用程序、和/或多种与共享注解的方法相关联的文件的标准的网络或集中化的计算机。例如,与网页或其它文档相关联的共享注解存储在SDA服务器3755上。在这个例子中,如在此所描述的,注解为MMR中所使用的数据或交互作用。SDA服务器3755是通过根据一个实施例的网络连接可访问的。在一个实施例中,SDA服务器3755是参考图1B所描述的网络介质服务器114。
计算机3705进一步包括多种部件,根据各种各样的实施例,其一些或所有的都是可选的。在一个实施例中,计算机3705包括源文件3710、浏览器3715、插件3720、符号热点描述3725、更改过的文件3730、捕获模块3735、page_desc.xml 3740、hotspot.xml 3745、数据存储3750、SDA服务器3755、和MMR打印机软件3760。
源文件3710是为文档的电子表示的任何源文件的代表。示例性的源文件3710包括超文本标记语言(HTML)文件、MicrosoftWord文件、MicrosoftPowerPoint文件、简单文本文件、便携式文档格式(PDF)文件、和诸如此类。如在此所描述的,在许多情况下,在浏览器3715所接收到的文档都起源于源文件3710。在一个实施例中,源文件3710等同于如参考图3所描述的源文件310。
浏览器3715为提供已与源文件3710相关联的数据的访问的应用程序。例如,可以使用浏览器3715检索来自源文件3710的网页和/或文档。在一个实施例中,浏览器3715为如参考图3所描述的SD浏览器312、314。在一个实施例中,浏览器3715为像Internet Explorer那样的因特网浏览器。
插件3720为提供创作功能的软件应用程序。插件3720为独立的软件应用程序,或者可替代地,为浏览器3715上运行的插件。在一个实施例中,插件3720为与像浏览器3715那样的应用程序交互作用的计算机程序,以提供在此所描述的特定的功能。根据各种各样的实施例,插件3720执行文档或浏览器3715中所显示的网页的各种各样的转换和其它更改。例如,插件3720以独立可辨别的基准标记环绕热点标志,以创建热点,并将“已标记”版本的HTML文件返回至浏览器3715,将转换规则应用于浏览器3715中所显示的文档的一部分,并检索和/或接收浏览器3715中所显示的文档的共享注解。另外,插件3720可以执行其它功能,例如创建经更改的文档以及创建如在此所描述的符号热点描述3725。参考捕获模块3735,插件3720便利了参考图38、44、45、48、和50A-B所描述的方法。
符号热点描述3725为识别文档内的热点的文件。符号热点描述3725识别热点号和内容。在这个例子中,将符号热点描述3725存储于数据存储器3750。图41中更加详细地示出符号热点描述的例子。
经更改的文件3730为作为通过插件3720的源文件3710的更改和转换的结果而创建的文档和网页。例如,如上文所提及的经标记的HTML文件是经更改的文件3730的一个例子。如根据这个公开发明将很明显的,在某些情形,经更改的文件3730返回至浏览器3715,以显示给用户。
捕获模块3735为在文档的打印表示上执行特征提取和/或坐标捕获,以致能够检索打印页面上的特征和图形的布局,的软件应用程序。可以在打印时刻自动地捕获布局,即,打印页面上的文本的二维布置。例如,捕获模块3735执行所有的文本和绘图打印命令,并且另外,截取并记录打印表示中每个字符和/或图像的x-y坐标和其它特征。根据一个实施例,捕获模块3735为如在此所描述的打印捕获DLL,允许现有的DLL的功能的添加或更改的转发动态连接库(DLL)。参考图44描述捕获模块3735的功能的更详细的描述。
本领域技术人员将识别捕获模块3735连接至浏览器3715的输出,以便数据捕获。可替代地,可以在打印机驱动器内直接实现捕获模块3735的功能。在一个实施例中,捕获模块3735等同于如参考图3所描述的PD捕获模块318。
Page_desc.xml 3740为可扩展标记语言(“XML”)文件,对于通过捕获模块3725处理的文本相关的函数调用,可将文本相关的输出写入其中。page_desc.xml 3740包括逐个单词逐个字符的关于所有的打印文本的文档的坐标信息,以及热点信息、打印机端口名称、浏览器名称、打印的日期和时间、和每英寸的点数(dpi)和分辨率(res)信息。page_desc.xml 3740存储于,例如,数据存储器3750中。数据存储器3750等同于参考图34A所描述的MMR数据库3400。图42A-B更详细地阐明HTML文件的page_desc.xml3740的例子。
hotspot.xml 3745为当打印文档时(例如,如先前所讨论的,通过打印驱动器316的操作),所创建的XML文件。hotspot.xml为将符号热点描述3725与page_desc.xml 3740合并的结果。hotspot.xml包括像热点号、坐标信息、维度信息、和热点的内容那样的热点标识符信息。图43中阐明hotspot.xml文件的例子。
数据存储器3750为本技术领域中已知的用于存储为了与在此所描述的方法一同使用所更改的文件的任何数据库。例如,根据一个实施例,数据存储器3750存储源文件3710、符号热点描述3725、page_desc.xml 3740、经呈现的页面布局、共享注解、图像化的文档、热点定义、和特征表示。在一个实施例中,数据存储器3750等同于如参考图3所描述的文档事件数据库320,并等同于如参考图34A所描述的数据库***3400。
MMR打印软件3760为便利在此所描述的像如先前所描述的由计算机3705的部件所执行的那样的MMR打印操作的软件。下文将参考图37B更加详细地描述MMR打印软件3760。
图37B阐明根据本发明的一个实施例的MMR打印软件3760中所包括的一组软件部件。应该理解到,计算机112,905、捕获装置106、网络介质服务器114和如在此所描述的其它服务器中,可以包括所有或一些MMR打印软件3760。尽管现在将描述MMR打印软件3760为包括这些不同的部件,本领域技术人员将识别,MMR打印软件3760能够具有从一个至它们的所有的任何数量的这些部件。MMR打印软件3760包括变换模块3765、嵌入模块3768、分析模块3770、转换模块3775、特征提取模块3778、注解模块3780、热点模块3785、呈现/显示模块3790、和存储模块3795。
变换模块3765使得能够进行将源文档转换成为图像化的文档,从其中能够提取特征表示,并且是这样做的一种方法。
嵌入模块3768使得能够进行相应于电子文档中的热点的标志的标记的嵌入,并且是这样做的一种方法。在一个特定实施例中,嵌入的标记指示热点的开始点和热点的结束点。可替代地,能够使用在实施例标记周围的预定的区域,来识别电子文档中的热点。能够使用各种各样的这样的标记方案。
分析模块3770使得能够进行关于指示热点的开始点的标记,而分析电子文档(已经发送至打印机的),并且是这样做的一种方法。
转换模块3775使得能够进行至电子文档的一部分的转换规则的应用程序,并且是这样做的一种方法。在一个特定实施例中,部分为指示热点的开始点的标记与指示热点的结束点的标记之间的字符流。
特征提取模块3778使得能够进行相应于文档和热点的打印表示的特征提取和坐标捕获,并且是这样做的一种方法。坐标捕获包括使用转发动态连接库分支至打印命令,并且分析相应于热点或经转换的字符的坐标子集的打印表示。特征提取模块3778使得能够实现根据一个实施例的捕获模块3735的功能。
注解模块3780使得能够接收共享注解和其附属的与共享注解相关联的文档的一部分的标志,并且是这样做的一种方法。接收共享注解包括从终端用户以及从SDA服务器接收注解。
热点模块3785使得能够进行一个或多个剪辑与一个或多个热点的关联,并且是这样做的一种方法。热点模块3785也使得能够进行通过首先标志文档内的热点的位置,并定义剪辑以与热点相关联的热点定义的形成。
呈现/显示模块3790使得能够呈现或显示文档或文档的打印表示,并且是这样做的一种方法。存储模块3795使得能够进行各种各样的文件、包括页面布局、图像化的文档、热点定义、和特征表示的存储,并且是这样做的一种方法。
软件部分3765-3795不需要分离的软件模块。所示出的软件配置仅意味着作为例子;如根据这个公开发明将很明显的,通过和在本发明的范围内可期望其它配置。
在文档中嵌入热点
图38阐明根据本发明的一个实施例的在文档中嵌入热点的方法的流程。
根据该方法,在文档中嵌入3810相应于文档内的热点的标志的标记。在一个实施例中,接收包括热点标志位置的文档,以在浏览器中显示,例如,在浏览器3715从源文件3710接收文档。热点包括一些文本或像图形或照片那样的其它文档对象,以及电子数据。电子数据能够包括像音频或视频那样的多媒体,或者其能够是当访问热点时将在捕获装置上执行的一组步骤。例如,如果文档为超文本标记语言(HTML)文件,则浏览器3715可以是InternetExplorer,并且标志可以是HTML文件内的统一资源定位符(URL)。图39A阐明具有URL 3920的这样的HTML文件3910的例子。图40A阐明如浏览器4010,例如,Internet Explorer,中所显示的图39A的HTML文件3910的文本。
为了嵌入3810标记,浏览器3715的插件3720以独立可辨别的基准标记环绕每个热点标志位置,以创建热点。在一个实施例中,插件3720更改浏览器3715中所显示的文档,例如,继续上文的例子的Internet Explorer中所显示的HTML,并***将热点标志位置(例如,URL)置于括号内的标记、或标签。或者在浏览器3715中或者在文档的打印版本中查看文档的终端用户是察觉不到标记的,但在打印命令中能够探测到该标记。在这个例子中,使用在此被称为MMR Courier New的新字体,来添加开始和结束基准标记。在MMRCourier New字体中,通过空格表示关于字符“b”、“e”的典型字形或点模式表示和数字。
再次参考图39A和40A中所示的示例性HTML页面,插件3720在URL的开始(“here”)***3810基准标记“b0”,并在URL的结尾***3810基准标记“e0”,以用标识符“0”指示热点。因为b、e和数字字符都作为间隔示出,用户仅可看到很少的或不可看到文档的外观的改变。另外,如图41中所示,插件3720创建指示这些标记的符号热点描述3725。符号热点描述3725识别热点号为零4120,其相应于“b0”和“e0”基准标记中的0。在这个例子中,符号热点描述3725存储于,例如,数据存储器3750。
如图39B中所示,插件3720返回HTML3950的“经标记”的版本至浏览器3715。经标记的HTML3950以将字体改变为1号的MMR Courier New的跨越标签3960环绕基准标记i。因为b、e、和数字字符作为间隔而示出,用户仅可看到很少的或不可看到文档的外观的改变。经标记的HTML3950为经更改的文件3730的例子。为简单起见,这个例子使用单一页面模型,然而,多页面模型使用相同的参数。例如,如果热点跨越页面边界,则其将具有相应于每个页面位置的基准标记,关于每个的热点标识符是相同的。
接下来,响应打印命令,捕获3820相应于打印表示和热点的坐标。在一个实施例中,捕获模块3735“分支至”打印命令内的文本和绘图命令。捕获模块3735执行所有的文本和绘图命令,并且另外,截取并记录打印表示中每个字符和/或图像的x-y坐标和其它特征。在这个例子中,捕获模块3735涉及打印表示的装置场景(DC),其为定义将要依赖于输出格式(即,打印机、窗口、文件格式、存储缓冲器,等等)而输出的文本和/或图像的属性的打印表示的结构的句柄。在捕获3820打印表示的坐标的过程中,使用HTML中嵌入的基准标记可很容易地识别热点。例如,当遇到开始标记时,如果记录了所有的字符,可找到直到结束标记的x-y位置。
根据一个实施例,捕获模块3735为转发DLL,在此被称为“打印捕获DLL”,其允许现有DLL的功能的添加或更改。转发DLL在客户看来完全像原始的DLL,然而,在将调用转发至目标(原始)DLL之前,将另外的代码(“分支至”)添加至一些或所有的函数。在这个例子中,打印捕获DLL为关于Windows图形装置接口(Windows GDI)DLL gdi32.dll的转发DLL。gdi32.dll具有超过600个输出函数,其所有的都需要被转发。打印捕获DLL,在此被称为gdi32_mmr.dll,允许客户从使用DLL gdi32.dll绘图的任何Windows应用程序捕获打印输出,并且其仅需要在局域计算机上执行,即使打印至远程服务器。根据一个实施例,将gdi32_mmr.dll重命名为gdi32.dll,并复制至C:\Windows\system32,促使它监控来自几乎每个Windows应用程序的打印。根据另一个实施例,将gdi32_mmr.dll命名为gdi32.dll,并复制至关于其监控打印的应用程序的主目录。例如,用于监控Windows XP上的InternetExplorer的C:\Program\Files\Internet Explorer。在这个例子中,仅这个应用程序(例如,Internet Explorer)将自动地调用打印捕获DLL中的函数。
图44阐明根据本发明的一个实施例的转发DLL所使用的过程的流程图。打印捕获DLL gdi32_mmr.dll首先接收4405指向gdi32.dll的函数调用。在一个实施例中,gdi32_mmr.dll接收指向gdi32.dll的所有的函数调用。gdi32.dll监控600个左右的总的函数调用的近似200个,其用于以某些方式影响打印页面的外观的函数。因而,打印捕获DLL接下来确定4410所接收的调用是否为被监控的函数调用。如果所接收的调用不是被监控的函数调用,则该调用绕过步骤4415直至4435,并转发4440至gdi32.dll。
如果它是被监控的函数调用,则该方法接下来确定4415函数调用是否指定“新”的打印机装置场景(DC),即,先前还未接收到的打印机DC。这通过相对于内部DC表而检查打印机DC来确定。如先前所提及的,DC封装用于绘图的目标(其可能为打印机,存储缓冲器,等等),以及像字体、颜色,等等一样的绘图设置。在DC上执行所有的绘图操作(例如,LineTo()、DrawText(),等等)。如果打印机DC不是新的,那么已存在相应于打印机DC的存储缓冲器,并且跳过步骤4420。如果打印机DC是新的,则创建4420相应于新的打印机DC的存储缓冲器DC。这个存储缓冲器DC映出打印页面的外观,并且在这个例子中,等同于上文所涉及的打印表示。因而,当将打印机DC添加至内部DC表时,创建相同维度的存储缓冲器DC(和存储缓冲器),并使之与内部DC表中的打印机DC相关联。
gdi32_mmr.dll接下来确定4425调用是否为文本相关的函数调用。200个监控gdi32.dll调用的近似12个是文本相关的。如果它不是,则跳过步骤4430。如果函数调用是文本相关的,则将文本相关的输出写入4430xml文件,在此被称为page_desc.xml3740,如图37A中所示。page_desc.xml3740存储于,例如,数据存储器3750。
图42A和42B示出关于参考图39A和40A所讨论的HTML文件3910例子的示例性page_desc.xml3740。page_desc.xml3740包括逐个x,y,宽度和高度,逐个单词4210(例如,Get)以及逐个字符4220(例如,G)的所有的打印文本的坐标信息。坐标是以点的形式存在的,其为相对于页面的左上角的像素的打印等同物,除非另外指明。page_desc.xml3740也包括处于“序列”形式的热点信息,例如开始标记4230和结束标记4240。对于跨越页面边界的热点(例如,页面N至页面N+1的),其在两个页面(N和N+1)上都示出;在两种情况中的热点标识符都是相同的。另外,page_desc.xml3740中包括其它重要的信息,例如打印机端口名称4250,其能够对如下产生重大影响:所产生的.xml和.jpeg文件、浏览器3715(或应用程序)名称4260、和打印的日期及时间4270、以及关于页面4280和可打印区域4290的每英寸的点数(dpi)和分辨率(res)。
再次参考图44,紧接着调用不是文本相关的确定,或者紧接着将文本相关的输出写入4430 page_desc.xml3740,gdi32_mmr.dll执行4435关于DC的存储缓冲器上的函数调用。这个步骤4435提供至打印机的输出,同样得到至局域计算机上的存储缓冲器的输出。然后,当增加页面时,压缩存储缓冲器的内容,并以JPEG和PNG的格式写出。然后将函数调用转发4440至gdi32.dll,其如通常地执行它。再次参考图38,呈现3830包含包括热点的打印表示的页面布局。在一个实施例中,呈现3830包括打印文档。图40B阐明图39A和40A的HTML文件3910的打印版本4011的例子。注意到,对于终端用户而言,基准标记不是明显可察觉的。呈现的布局保存至,例如,数据存储器3750。
根据一个实施例,打印捕获DLL将符号热点描述3725中的数据和page_desc.xml3740,例如,如图42A-B中所示,合并入hotspot.xml 3745,如图43中所示。在这个例子中,当打印文档时,创建hotspot.xml 3745。图43中的例子示出热点0出现在x=1303,y=350,以及为190像素宽和71像素高。同样示出热点的内容,即,http://www.ricoh.com。
根据捕获模块3820的可替代的实施例,Microsoft XPS(XML打印说明)打印驱动器中的过滤器,通常已知为“XPSDrv过滤器”,接收文本绘图命令,并创建如上文所描述的page_desc.xml文件。
明显可察觉的热点
图45阐明根据本发明的一个实施例的转换相应于文档中的热点的字符的方法的流程图。该方法以指示终端用户和呈现热点的MMR识别软件两者的方式,更改打印文档。
最初,接收4510将要打印的电子文档作为字符流。例如,可以在打印机驱动器或在能够过滤字符流的软件模块接收4510文档。在一个实施例中,在浏览器3715从源文件3710接收4510文档。图46阐明根据本发明的一个实施例的文档4610的电子版的例子。这个例子中的文档4610具有两个热点,一个与“在下文列出”相关联,并且一个与“可能的现有技术”相关联。根据一个实施例,对于终端用户,热点不是明显可察觉的。可以通过参考图38所描述的坐标捕获方法,或者根据在此所描述的其它方法的任何一个,建立热点。
为开始标记分析4520文档,指示热点的开始。开始标记可以是如先前所描述的基准标记,或者是任何其它单独可辨别的识别热点的标记。一旦找到开始标记,就将转换规则应用于4530文档的一部分,即,紧接着开始标记的字符,直到找到结束标记。根据一个实施例,转换规则促使相应于热点的文档的一部分的可见的更改,例如通过更改字符字体或颜色。在这个例子中,可以将原始字体,例如,Times New Roman,变换成为不同的已知字体,例如,OCR-A。在另一个例子中,以不同的字体颜色呈现文本,例如,blue #F86A。根据一个实施例,转换字体的过程与上文所描述的过程类似。例如,如果文档4610是HTML文件,则当在文档4510中遇到基准标记时,就在HTML文件中替代字体。
根据一个实施例,通过浏览器3715的插件3720完成转换步骤,产出经更改的文档3730。图47阐明根据本发明的一个实施例的打印更改的文档4710的例子。如所阐明的,从剩余的文本,热点4720和4730是视觉上可辨别的。特别地,基于其不同的字体,热点4720是视觉上可辨别的,并且基于其不同的颜色和下划线,热点4730是视觉上可辨别的。
接下来,将具有转换的部分的文档呈现4540成为页面布局,包含电子文档和电子文档内的热点的位置。在一个实施例中,呈现文档是打印文档。在一个实施例中,根据在此所描述的这样做的方法的任何一种,呈现包括在具有转换的部分的文档上执行特征提取。在一个实施例中,特征提取包括,根据一个实施例,响应打印命令,捕获相应于电子文档的页面坐标。然后为相应于转换的字符的坐标的子集分析电子文档。根据一个实施例,图37A的捕获模块3735执行特征提取和/或坐标捕获。
MMR识别软件使用相同的转换规则预处理每个图像。首先它寻找遵循规则的文本,例如,其为OCR-A或blue #F86A,并然后它应用其标准的识别算法。
本发明的这个方面是有利的,因为其充分地降低了MMR识别软件的计算负载,因为它使用消除大量的计算开销的非常简单的图像预处理例程。另外,例如,如参考图51A-D所讨论的,如在文档的一部分之上的包围方框,通过消除可能从选择中应用的大量的可替代的解决方案,而提高特征提取的精确性。另外,文本的可见更改指示终端用户哪个文本(或其它文档对象)是热点的一部分。
共享文档注解
图48阐明根据本发明的一个实施例的共享文档注解的方法的流程图。该方法使得用户能够在共享的环境中给文档加注解。在下文所描述的实施例中,共享环境为各种各样的用户正查阅的网页;然而,根据其它实施例,共享环境能够是在其中共享资源的任何环境,例如工作组。
根据该方法,在浏览器,例如浏览器3715,中显示4810源文档。在一个实施例中,从源文件3710接收源文档;在另一个实施例中,源文档为通过网络,例如,因特网连接,所接收到的网页。使用网页例子,图49A阐明根据本发明的一个实施例的浏览器中的样本源网页4910。在这个例子中,网页4910为关于与流行的孩子的书本特性有关的游戏,the Jerry Butter Game,的HTML文件。
在源文档的显示4810之后,接收4820共享注解和与共享注解相关联的源文档的一部分的标志,该共享注解与源文档相关联。为描述清楚,在这个例子中使用单一注解,然而多个注解是可能的。在这个例子中,注解为数据或如在此所讨论的MMR中所使用的交互作用。根据一个实施例,注解存储于共享文档注解服务器(SDA服务器),例如图37A中所示的3755,并通过自该服务器的检索接收。在一个实施例中,通过网络连接可访问SDA服务器3755。共享注解的检索的插件便利了这个例子中的这种能力,例如,如图37A中所示的插件3720。根据另一个实施例,从用户接收注解和标志。用户可以创建关于不具有任何注解的文档的共享注解,或者可以添加或更改文档的现有共享注解。例如,用户可以加亮源文档的一部分,关于与共享注解的关联标明它,也由用户经由在此所描述的各种各样的方法提供。
接下来,在浏览器中显示4830经更改的文档。经更改的文档包括相应于在步骤4820标明的源文档的一部分的热点。热点指定共享注解的位置。根据一个实施例,经更改的文档为由插件3720所创建的经更改的文件3730的一部分,并返回至浏览器3715。图49B阐明根据本发明的一个实施例的浏览器中的样本经更改的网页4920。网页4920示出热点4930的标志和相关联的注解4940,其为这个例子中的视频剪辑。可以在视觉上从剩余的网页4920文本来辨别标志4930,例如,通过加亮。根据一个实施例,当点击标志4930或将鼠标移过去时,注解4940显示。
响应打印命令,捕获4840相应于经更改的文档的打印表示的文本坐标和热点。坐标捕获的细节是根据关于在此所描述的那个目的的方法的任何一个的。
然后,呈现4850包括热点的打印表示的页面布局。根据一个实施例,呈现4850为打印文档。图49C阐明根据本发明的一个实施例的样本打印网页4950。打印网页布局4950包括如所标明的热点4930,然而打印布局4950中的行中断不同于网页4920。在这个例子中,热点4930的边界在打印布局4950上是不可见的。
在可选的最后的步骤,将共享注解局部地存储于,例如,数据存储器3750,并且使用其与打印文档4950中的热点4930的关联标定索引。也可以将打印表示局部地保存。在一个实施例中,打印行为触发局部复制本的下载和创建。
图像化的文档的热点
图50A阐明根据本发明的一个实施例的添加热点至图像化文档的方法的流程图。该方法允许在扫描之后,将热点添加至纸质文档,或者在打印呈现之后,将热点添加至符号电子文档。
首先,将源文档变换5010为图像化的文档。根据一个实施例,在浏览器3715从源文件3710接收源文档。变换5010是通过产生在其上能够执行特征提取的文档的任何方法,以产生特征表示。根据一个实施例,将纸质文档扫描以成为图像化的文档。根据另一个实施例,使用适当的应用程序呈现电子文档的可呈现页面样本。例如,如果可呈现页面样本是PostScript格式,则使用Ghostscript。图51A阐明示出已根据一个实施例而扫描的新闻纸页面5110的一部分的用户接口5105的例子。主要的窗口5115示出新闻纸页面5110的放大的部分,并且略图5120示出正显示页面的哪个部分。
接下来,将特征提取应用5020于图像化的文档,以创建特征表示。为这个目的可以使用在此所描述的各种各样的特征提取方法的任何一种。根据一个实施例,通过参考图37A所描述的捕获模块3735执行特征提取。然后将一个或多个热点5125添加5030至图像化的文档。根据多种多样的实施例,可以预先定义或可需要定义热点。如果已经定义了热点,则定义包括页面号码、页面上的热点的边界框的坐标位置、以及电子数据或附着于热点的交互作用。在一个实施例中,如图43中所阐明的,热点定义采取hotspot.xml文件的形式。
如果还未定义热点,则终端用户可以定义热点。图50B阐明根据本发明的一个实施例的定义用于添加至图像化文档的热点的方法的流程图。首先,选择5032候选热点。例如,在图51A中,终端用户已使用边界框5125选择了文档的一部分作为热点。接下来,关于给定的数据库,在可选的步骤5034确定热点是否是唯一的。例如,在周围的n”×n”碎片中应该存在足够的文本,以唯一地识别热点。n的典型值的例子为2。如果对于数据库而言,热点不是足够地唯一,则在关于如何处理含糊不清的一个实施例中,将可选项呈现给终端用户。例如,用户接口可以提供可供选择的项,例如选择较大的区域,或者接受含糊不清,但将它的描述添加至数据库。其它的实施例可以使用定义热点的其它方法。
一旦选择5032了热点位置,就定义5036数据或交互作用,并将其附着于热点。图51B阐明用于定义数据或交互作用,以与所选择的热点关联的用户接口。例如,一旦用户已选择了边界框5125,就显示编辑框5130。使用相关联的按钮,用户可以取消5135操作,仅简单地保存5140边界框5125,或者将数据或交互作用分派5145给热点。如果用户选择将数据或交互作用分派给热点,则显示分派框5150,如图51C中所示。分派框5150允许终端用户将图像5155、各种各样的其它介质5160、和网络链接5165分派给热点,其由ID号5170识别。用户然后能够选择保存5175热点定义。尽管为简单起见,已经描述了单个热点,多个热点是可能的。图51D阐明用于显示文档内的热点5125的用户接口。在一个实施例中,不同颜色的边界框相应于不同的数据和交互作用类型。
在可选的步骤,图像化的文档、热点定义、和特征表示一起存储于5040,例如,数据存储器3750。图52阐明根据本发明的一个实施例的使用MMR文档500和MMR***100b的方法5200。
该方法5200通过获取5210第一文档或第一文档的表示而开始。获取第一文档的示例性方法包括下列各项:(1)通过经由PD捕获模块318自动地捕获MMR计算机112的操作***内的打印文档的文本布局,获取第一文档;(2)通过自动地捕获MMR计算机112的打印机驱动器316内的打印文档的文本布局,获取第一文档;(3)通过经由连接至,例如,MMR计算机112的标准文档扫描仪装置127扫描纸质文档,获取第一文档;以及(4)通过自动或手动地传递、上载或下载,为打印文档的表示的文件至MMR计算机112,获取第一文档。尽管已经描述获取步骤为获取打印文档的大多数或全部,但应该理解到,能够仅关于打印文档的最小的一部分执行获取步骤5210。此外,尽管就获取单个文档而言描述了该方法,但可以执行这个步骤,以获取许多文档,并创建第一文档库。
一旦执行了获取步骤5210,该方法5200就在第一文档上执行5212索引标定操作。索引标定操作允许文档的相应电子表示和关于与所获取的第一文档或其部分相匹配的输入的相关联的第二介质类型的识别。在这个步骤的一个实施例中,通过PD捕获模块318执行产生PD索引322的文档索引标定操作。示例性的索引标定操作包括下列各项:(1)给打印文档的字符的x-y位置编索引;(2)给打印文档的单词的x-y位置编索引;(3)给图像或打印文档中的图像的一部分的x-y位置编索引;(4)执行OCR图像化操作,并且相应地给字符和/或单词的x-y位置编索引;(4)执行自呈现页面的图像的特征提取,并且给特征的x-y位置编索引;以及(5)模拟页面的符号版本上的特征提取,并且给特征的x-y位置编索引。索引标定操作5212可以包括依赖于本发明的应用程序的上述索引标定操作的任何一个或组。
该方法5200也获取5214第二文档。在这个步骤5214中,所获取的第二文档能够为整个文档或仅只第二文档的一部分(碎片)。获取第二文档的示例性方法包括下列各项:(1)依靠捕获装置106的一个或多个捕获机制230,扫描文本碎片;(2)依靠捕获装置106的一个或多个捕获机制230,扫描文本碎片,并随后,预处理图像,以确定将正确地提取所想要的特征描述的可能性。例如,如果索引是基于OCR的,则***可能确定图像是否包含文本行,以及对于成功的OCR操作,图像清晰度是否足够。如果这个确定失败,则扫描另一个文本碎片;(3)扫描识别所扫描的文档的机器可读标识符(例如,国际标准书号(ISBN)或通用产品码(UPC)代码);(4)输入识别所要求的文档或一组文档(例如,运动画刊杂志的2003版)的数据,并且随后,通过使用这个方法步骤的项目(1)或(2),扫描文本碎片;(5)接收具有所附的第二文档的电子邮件;(6)通过文档传递接收第二文档;(7)用捕获装置106的一个或多个捕获机制230扫描图像的一部分;以及(9)用输入装置166输入第二文档。
一旦已经执行了步骤5210和5214,该方法就执行5216第一文档和第二文档之间的文档或模式匹配。在一个实施例中,这通过执行第二文档至第一文档的文档指纹匹配而进行。通过查询PD索引322,在第二介质文档上执行文档指纹匹配操作。文档指纹匹配的例子为在步骤5214从所捕获的图像中提取特征,以那些特征合成描述符,并且查找包含那些描述符的一部分的文档和碎片。应该理解到,可以多次执行这种模式匹配步骤,关于每个文档一次,其中数据库存储许多的文档,以确定库或数据库中的任何文档与第二文档是否相匹配。可替代地,索引标定步骤5212将文档5210添加至代表文档集的索引,并执行模式匹配步骤一次。
最后,该方法5200执行5218基于步骤5216的结果并且可选地基于用户输入的动作。在一个实施例中,该方法5200查找与,例如,存储在第二介质504中的给定的文档碎片相关联的预定的动作,该第二介质504与步骤5216中作为匹配而找到的热点506相关联。预定的动作的例子包括:(1)从文档事件数据库320、因特网、或别的地方,检索信息;(2)将信息写入准备接收***的输出的MMR***100b所核实的位置;(3)查找信息;(4)在客户机装置,例如捕获装置106上,显示信息,并且引导与用户的交互会话;(5)查询在方法步骤5216中所确定的动作和数据,以便稍后执行(用户的参与可以是可选的);以及(6)立即执行在方法步骤5216中所确定的动作和数据。这种方法步骤的示例性结果包括信息、经更改的文档的检索、一些其它动作的执行(例如,股票或产品的购买)、或者发送至有线TV盒,例如机顶盒126,的命令的输入,该机顶盒连接至有线TV服务器(例如,服务提供者服务器122),其将视频回流至有线TV盒。一旦已经进行了步骤5218,该方法5200完成并结束。
图53阐明根据本发明的一个实施例的与MMR***100b关联的示例性的一组商业实体5300的框图。商业实体5300组包括MMR服务提供者5310、MMR消费者5312、多媒体公司5314、打印机用户5316、蜂窝式电话服务提供者5318、硬件制造商5320、硬件零售商5322、金融机构5324、***处理者5326、文档出版者5328、文档打印机5330、履约商5332、有线TV提供者5334、服务提供者5336、软件提供者5338、广告公司5340、和商业网络5370。
MMR服务提供者5310为如参考图1A至5和52所描述的MMR***100的所有者和/或管理者。如先前参考图1B所描述的,MMR消费者5312为任何MMR用户110的代表。
多媒体公司5314为数字多媒体产品的任何提供者,例如Blockbuster Inc(Dallas,TX),其提供数字电影和视频游戏,和美国(纽约,NY)的索尼公司,其提供数字音乐、电影、和TV展示。
打印机用户5316是为了产生打印纸质文档,利用任何种类的任何打印机的任何单独的实体。例如,MMR消费者5312可以是打印机用户5316或文档打印机5330。
蜂窝式电话服务提供者5318为任何蜂窝式电话服务提供者,例如Verizon Wireless(Bedminster,NJ)、Cingular Wireless(Atlanta,GA)、T-Mobile USA(Bellevue,WA)、和Sprint Nextel(Reston.VA)。
硬件制造商5320为任何硬件装置的制造商,例如打印机、蜂窝式电话、或PDA的制造商。示例性的硬件制造商包括Hewlett-Packard(Houston,TX)、Motorola,Inc,(Schaumburg,IL)、和美国(纽约,NY)的Sony Corporation。硬件零售商5322为任何硬件装置的零售商,例如打印机、蜂窝式电话、或PDA的零售商。示例性的硬件零售商包括RadioShack Corporation(FortWorth,TX)、Circuit City Stores,Inc.(Richmond,VA)、Wal-Mart(Bentonville,AR)、和Best Buy Co.(Richfield,MN),但并不局限于此。
金融机构5324为任何金融机构,例如用于处理银行账户以及资金至和从其它银行或金融机构的传递的任何银行或信用合作社。***处理者5326为任何管理***认证和购买交易的批准过程的***机构。示例性的***处理者包括ClickBank,其为Click Sales Inc,(Boise ID)的服务、ShareIt!Inc.(Eden Prairie,MN)、和CCNow Inc.(Eden Prairie,MN),但并不局限于此。
文档出版者5328为任何文档出版公司,例如,Gregath PublishingCompany(Wyandotte,OK)、Prentice Hall(Upper Saddle River,NJ)、和Pelican Publishing Company(Gretna,LA),但并不局限于此。文档打印机5330为任何文档打印公司,例如,PSPrint LLC(Oakland CA)、PrintLizard,Inc.(Buffalo,NY)、和Mimeo,Inc.(New York,NY),但并不局限于此。在另一个例子中,文档出版者5328和/或文档打印机5330为产生并分布新闻纸或杂志的任何实体。
如熟知的,履约商5332为专门适用于订单的履行的任何第三方物流仓库。示例性的履约商包括Corporate Disk Company(McHenry,IL)、OrderMotion,Inc.(New York,NY)、和Shipwire.com(Los Angeles,CA),但并不局限于此。
有线TV提供者5334为任何有线TV服务提供者,例如,ComcastCorporation(Philadelphia,PA)和Adelphia Communications(GreenwoodVillage,CO),但并不局限于此。服务提供者5336为提供任何种类的服务的任何实体的代表。
软件提供者5338为任何软件开发公司,例如,Art&Logic,Inc.(Pasadena,CA)、Jigsaw Data Corp.(San Mateo,CA)、DataMirror Corporation(New York,NY)、DataBankIMX,LCC(Beltsville,MD),但并不局限于此。
广告公司5340为任何广告公司或代理,例如,D and BMarketing(Elhurst,IL)、BlackSheep Marketing(Boston,MA)、和GothamDirect,Inc.(New York,NY),但并不局限于此。
商业网络5370为通过其建立和/或便利商业关系的任何机制的代表。
图54阐明根据本发明的实施例的方法5400,其为通过使用MMR***100b而便利的一般化的商业方法。方法5400包括步骤:在至少两个实体之间建立关系,确定可能的商业交易;执行至少一个商业交易并交付关于该交易的产品或服务。首先,在至少两个商业实体5300之间建立5410关系。例如,可以在四个广泛的范畴,如(1)MMR创建者、(2)MMR分布者、(3)MMR用户、和(4)其它内排列商业实体5300,并且在其内某些商业实体可属于不止一个范畴。根据这个例子,商业实体5300分类如下:
●MMR创建者-MMR服务提供者5310、多媒体公司5314、文档出版者5328、文档打印机5330、软件提供者5338、和广告公司5340;
●MMR分布者-MMR服务提供者5310、多媒体公司5314、蜂窝式电话服务提供者5318、硬件制造商5320、硬件零售商5322、文档出版者5328、文档打印机5330、履约商5332、有线TV提供者5334、服务提供者5336、和广告公司5340;
●MMR用户-MMR消费者5312、打印机用户5316和文档打印机5330;以及
●其它-金融机构5324和***处理者5326。
例如在这个方法步骤中,在作为MMR创建者的MMR服务提供者5310,和作为MMR用户的MMR消费者5312,和作为MMR分布者的蜂窝式电话服务提供者5318及硬件零售商5322之间建立商业关系。此外,硬件制造商5320与硬件零售商5322具有商业关系,其两者都为MMR分布者。
接下来,方法5400确定5412具有在步骤5410中所建立的关系的团体之间可能的商业交易。特别地,在任何两个或多个商业实体5300之间可以发生多种交易。示例性的交易包括:购买信息;购买物质商品;购买服务;购买带宽;购买电子存储;购买广告;购买广告统计量;运送商品;出售信息;出售物质商品;出售服务;出售带宽;出售电子存储器;出售广告;出售广告统计量;租借/出租;以及收集意见/评级/投票。
一旦方法5400已经确定了团体之间可能的商业交易,就使用MMR***100来达成5414至少一个商业交易的协议。特别地,在任何两个或多个商业实体5300之间可能发生作为交易的结果的多种动作。示例性的动作包括:购买信息;接收订单;为了更多的信息点进;创建广告空间;提供局部/远程访问;主办;运送;创建商业关系;存储私有信息;将信息传递至其它对象;添加内容;以及播客。
一旦方法5400已经达成了商业交易的协议,就使用MMR***100交付5416该交易的产品或服务,例如,至MMR消费者5312。特别地,作为在方法步骤5414中所达成的商业交易的结果,在任何两个或多个商业实体5300之间可以交换多种内容。示例性的内容包括:文本;网页链接;软件;静态照片;视频;音频;和以上的任何结合。另外,为了便利交易,在任何两个或多个商业实体5300之间可以利用多种交付机制。示例性的交付机制包括:纸张;个人计算机;网络计算机;捕获装置106;个人视频装置;个人音频装置;和以上的任何结合。
除如上述实施例中所要求和描述的发明之外,本发明的一个或多个实施例的至少一个方面提供用于提供混合介质文档的计算机实现的方法。所述方法包括接收(在索引表处)从纸质文档提取的特征的电子描述。索引表为用于将纸质文档和在所述文档内的特征的位置,与结合打印的和数字的介质的混合介质文档相关联的。基于来自索引表的数据,所述方法继续接收捕获在目标文档中的对象之间的二维关系的查询项,并计算至少一个混合介质文档和潜在地响应于查询项的位置假设。在一个特定情形下,方法进一步包括存储与目标文档相关联的、另外的特性。在一个所述情形下,另外的特性包括一个或多个动作,而所述动作包括文本信息的检索、图形信息的检索、执行过程、执行命令、下订单、检索视频、检索声音、存储信息、创建新文档、打印文档、和/或显示文档。在另一个特定情况下,接收(在索引表处)从纸质文档提取的特征的电子描述包括接收从多个纸质文档提取的特征的电子描述。在另一个特定情况下,计算至少一个混合介质文档和位置假设包括基于来自索引表的数据,来计算分等级的一组混合介质文档、页面和位置假设。在另一个实施例中,接收捕获在目标文档中的对象之间的二维关系的查询项包括接收从目标文档提取的一组水平和垂直相邻的单词对。在另一个特定情形下,索引表包括倒置项索引表,其中在倒置索引表中的、每一个唯一的项指向一列记录,并且每一个记录在混合介质文档内的页面上识别候选区域。在一个所述情形下,计算至少一个混合介质文档和位置假设包括检查由相应于查询项的一个关键点来编索引的每一个记录,并识别与所有查询项最一致的区域。如果所识别的区域具有满足匹配标准的、匹配的评分,那么所述方法可以进一步包括确认相应的混合介质文档和位置假设。在一个特定情形下,目标文档为纸质文档或所述纸质文档的碎片的图像。本发明的一个或多个实施例的至少一个其他方法提供由指令编码的机器可读介质(如,一个或多个压缩光盘、软盘、服务器、记忆棒、或硬盘驱动器、ROM、RAM或适合于存储电子指令的介质的任何类型),而当由一个或多个处理器来执行时,其促使处理器执行用于提供混合介质文档的过程。所述过程可以为,例如,相似于这里所描述的方法的或为其变体。
本发明的一个或多个实施例的至少一个其他方法提供的数据库***,而所述***提供混合介质文档。***包括索引表,其用于接收从纸质文档提取的特征的电子描述,并将纸质文档和在所述文档内的特征的位置与将打印的和数字的介质结合的混合介质文档相关联。***进一步包括累加器模块,其基于来自索引表的数据,接收捕获在目标文档中的对象之间的二维关系的查询项,并计算至少一个混合介质文档和潜在地响应于查询项的位置假设。在一个特定情形下,***包括存储设施(如,关系数据库),其存储与目标文档相关联的另外的特性。在一个所述情形下,另外的特性包括一个或多个动作,而所述动作包括文本信息的检索、图形信息的检索、执行过程、执行命令、下订单、检索视频、检索声音、存储信息、创建新文档、打印文档、和/或显示文档。在另一个特定情形下,索引表能够接收从多个纸质文档提取的特征的电子描述。在另一个特定情形下,纸质文档包括多个页面,而为了识别混合介质文档、页面、和在所述页面内的x-y特征位置,来进一步配置索引表。在另一个特定情形下,由累加器模块执行的计算至少一个混合介质文档和位置假设包括基于来自索引表的数据,来计算分等级的一组混合介质文档、页面、和位置假设。在另一个特定情形下,由累加器模块执行的接收捕获在目标文档中的对象之间的二维关系的查询项包括接收从目标文档提取的一组水平和垂直相邻的单词对。在另一个特定情形下,索引表包括倒置项索引表,其中在倒置索引表中的、每一个唯一的项指向一列记录,并且每一个记录在混合介质文档内的页面上识别候选区域。在一个所述情形下,由累加器模块执行的计算至少一个混合介质文档和位置假设包括检查由相应于查询项的一个关键来编索引的每一个记录,并识别与所有查询项最一致的区域。如果所识别的区域具有满足匹配标准的、匹配的评分,那么累加器模块可以确认相应的混合介质文档和位置假设。在另一个所述情形下,索引表进一步包括文档索引表,其包括对于每一个混合介质文档的相关信息、包括打印分辨率、打印日期、纸张大小、影子文件名和页面图像位置中的至少一个的信息。在另一个特定情形下,由将所提取的特征与所述特征的内部文档位置数据相关联的特征提取模块,来计算由索引表接收的描述。在一个特定情形下,目标文档为纸质文档或所述纸质文档的碎片的图像。可以由多个手段,例如软件(如,在一个或多个计算机可读介质上编码的、可执行的指令)、硬件(如,门级逻辑,或一个或多个ASIC)、固件(如,一个或多个有I/O性能的微控制器和执行于此所描述的功能的、所嵌入的例程)、或其一些结合,来实现***功能。例如,在一个或更多的服务器处,或在计算机***上,或在便携式装置上,或其一些结合,可以在于此所描述的混合介质实境(MMR)***中实现数据库***。
在一个特定实施例中,MMR***包括以允许使用基于文档的索引的查找的方式的、由索引表配置来表示在从打印文档提取的对象之间的二维几何关系的、基于内容的检索数据库。给定来自索引表的数据,能够计算分等级的一组文档、页面和位置假设。所述技术将在图像碎片中探测的特征有效地转换成文本项(或其他可搜索的特征),其表示两个特征自身和在它们之间的几何关系。存储设施可以用于存储有关每一个文档图像碎片的、另外的特性。
在此所呈现的算法并不是固有地与任何特别的计算机或其它设备有关。可以根据本发明的实施例程序化或配置各种各样的一般目的和/或特殊目的的***。如根据这个公开发明将很明显的,能够使用许多编程语言和/或结构来实现多种这样的***。此外,本发明的实施例能够在信息***或网络上操作或者与它们一起运作。例如,本发明能够在具有依赖于配置而变化的功能的单独的多功能打印机或网络打印机上操作。本发明能够与从具有最小的功能的那些至提供在此所公开的所有的功能的那些的任何信息***一起操作。
为解释说明和描述的目的,已经呈现了本发明的实施例的前述描述。但并不意谓着详尽或限制本发明于所公开的精确形式。根据上述教义,许多更改和变动都是可能的。意谓着本发明的范围并不由这个详细的描述限制,而是由这个申请的权利要求限制。如熟悉本技术的技术人员将理解的,可以以其它特定的形式体现本发明,而不背离其精神或本质特性。同样,模块、例程、特征、属性、方法和其它方面的特别的命名和部分并不是强制性的或重要的,并且实现本发明或其特征的机制可以具有不同的名称、部分和/或格式。此外,如对于相关领域普通技术人员将很明显的,本发明的模块、例程、特征、属性、方法和其它方面能够作为软件、硬件、固件或这三个的任何结合而实现。同样,在其一个例子为模块的本发明的一个部件作为软件而实现的任何地方,该部件也能够作为单独的程序、作为较大的程序的一部分、作为多个分离的程序、作为静态或动态链接库、作为核心可装入模块、作为装置驱动器、和/或对于计算机编程的领域中的普通技术人员而言,现在或将来已知的每个和任何其它方式,而实现。另外,本发明决不局限于任何特定的编程语言中、或关于任何特定的操作***或环境的实现。另外,本发明的公开发明意谓着解说性的、但并不是本发明的范围的限制,其在下列权利要求中阐述。
本发明是基于美国优先申请2005年8月23日所提交的S.N.60/710,767、2006年4月17日所提交的S.N.60/792,912、2006年7月18日所提交的S.N.60/807,654、2006年7月31日所提交的S.N.11/461,147、和2006年7月31日所提交的S.N.11/461,164,其全部内容因此结合于此,以供参考。
Claims (35)
1、一种用于组织和访问在混合介质文档***中的信息的计算机实现的方法,包括:
产生所述纸质文档的电子表示;
识别捕获所述纸质文档的二维示像的、在所述纸质文档上的特征;
识别所述特征的位置;以及
由所述特征的、各自的位置来为所述特征编索引,由此产生索引表。
2、如权利要求1所述的方法,进一步包括接收所述纸质文档的所述预备步骤。
3、如权利要求1所述的方法,进一步包括:
存储与所述特征中的至少一个相关联的一个或多个特性。
4、如权利要求3所述的方法,其中所述一个或多个特性包括一个或多个动作,而所述动作包括文本信息的检索、图形信息的检索、执行过程、执行命令、下订单、检索视频、检索声音、存储信息、创建新文档、打印文档、和显示文档中的至少一个。
5、如权利要求1所述的方法,其中识别捕获二维示像的、在所述纸质文档上的特征包括识别水平排列的和垂直排列的对象。
6、如权利要求1所述的方法,其中识别捕获二维示像的、在所述纸质文档上的特征包括识别水平的和垂直的单词对。
7、如权利要求1所述的方法,其中在扫描或打印过程期间执行产生所述纸质文档的电子表示。
8、如权利要求1所述的方法,其中识别捕获所述纸质文档的二维示像的、在所述纸质文档上的特征包括通过检查两个连续的序列之间的垂直交迭的数量,来将文本的序列分组成为逻辑行。
9、如权利要求1所述的方法,进一步包括:
接收捕获在目标文档中的对象之间的二维关系的一个或多个查询项;以及
基于来自所述索引表的数据,来计算潜在地响应于所述查询项的至少一个混合介质文档与位置假设。
10、如权利要求9所述的方法,其中在接收捕获在目标文档中的对象之间的二维关系的一个或多个查询项之前:
接收所述目标文档;
创建目标文档的至少一个碎片的图像;以及
基于所述图像,来产生所述一个或多个查询项。
11、如权利要求10所述的方法,基于所述图像,来产生所述一个或多个查询项包括产生从所述图像提取的、水平的和垂直的单词对。
12、如权利要求11所述的方法,其中计算至少一个混合介质文档与位置假设包括:
将最可能匹配所述目标文档的碎片的、存储的页面定位;以及
计算在所述页面内最可能为所述碎片的中心的位置。
13、如权利要求12所述的方法,其中将每一个单词对与逆向文档频率相关联,并且将最可能匹配所述目标文档的至少一个碎片的、存储的页面定位包括:
将对于每一个单词对的所述逆向文档频率,累加到按所述单词对呈现于其上的文档页面编索引的累加器;以及
响应于超过阈值的、在所述累加器中的最大值,输出作为对所述碎片的匹配的所述相应的文档页面。
14、如权利要求13所述的方法,其中计算在所述页面内最可能为所述碎片的中心的位置包括:
将权重添加到在每一个单词对四周的区中的每一个单元,其中由所述单词对的逆向文档频率与在所述单元和所述区的中心之间的、规范化的几何距离的乘积来确定对于每一个单元的所述权重;
搜索所述累加器的、相应的Accum阵列以寻找具有最大值的所述单元;以及
响应于超过阈值的所述最大值,报告作为所述碎片的位置的所述单元的坐标。
15、如权利要求9所述的方法,其中计算至少一个混合介质文档与位置假设包括:
在所述索引表中查找所述一个或多个查询项中的每一个,来检索与每一个查询项关联的一个或多个位置;以及
对于每一个识别的位置,来识别一个或多个包含所述位置的候选区域。
16、如权利要求15所述的方法,其中计算至少一个混合介质文档与位置假设包括:
识别与所述一个或多个查询项中的全部最一致的、所述一个或多个候选区域中的一个;以及
响应于确定所述一个或多个候选区域中的那个满足预定的匹配标准,确认所述区域为对所述目标文档的匹配。
17、一种用指令编码的机器可读介质,当由一个或多个处理器来执行时,其促使所述处理器来执行用于在混合介质文档***中组织和访问信息的过程,所述过程包括:
产生所述纸质文档的电子表示;
识别捕获所述纸质文档的二维示像的、在所述纸质文档上的特征;
识别所述特征的位置;以及
由所述特征的、各自的位置来为所述特征编索引,由此产生索引表。
18、如权利要求17所述的机器可读介质,所述过程进一步包括:
存储与所述特征中的至少一个相关联的一个或多个特性。
19、如权利要求17所述的机器可读介质,其中识别捕获二维示像的、在所述纸质文档上的特征包括识别水平的和垂直的单词对。
20、如权利要求17所述的机器可读介质,所述过程进一步包括:
接收捕获在目标文档中的对象之间的二维关系的一个或多个查询项;以及
基于来自所述索引表的数据,来计算潜在地响应于所述查询项的至少一个混合介质文档与位置假设。
21、一种用于访问在混合介质文档***中的信息的计算机实现的方法,包括:
接收捕获在目标文档中的对象之间的二维关系的一个或多个查询项;以及
基于来自为混合介质文档的文档特征和特征位置编索引的索引表的数据,来计算潜在地响应于所述查询项的至少一个混合介质文档与位置假设。
22、如权利要求21所述的方法,其中在接收捕获在目标文档中的对象之间的二维关系的一个或多个查询项之前:
接收所述目标文档;
创建目标文档的至少一个碎片的图像;以及
基于所述图像,来产生所述一个或多个查询项。
23、如权利要求22的所述方法,其中基于所述图像,来产生所述一个或多个查询项包括产生从所述图像提取的、水平的和垂直的单词对。
24、如权利要求23所述的方法,其中计算至少一个混合介质文档与位置假设包括:
将最可能匹配所述目标文档的碎片的、存储的页面定位;以及
计算在所述页面内最可能为所述碎片的中心的位置。
25、如权利要求24所述的方法,其中将每一个单词对与逆向文档频率相关联,并且将最可能匹配所述目标文档的至少一个碎片的、存储的页面定位包括:
将对于每一个单词对的所述逆向文档频率,累加到按所述单词对呈现于其上的文档页面编索引的累加器;以及
响应于超过阈值的、在所述累加器中的最大值,输出作为对所述碎片的匹配的所述相应的文档页面。
26、如权利要求25所述的方法,其中计算在所述页面内最可能为所述碎片的中心的位置包括:
将权重添加到在每一个单词对四周的区中的每一个单元,其中由所述单词对的逆向文档频率与在所述单元和所述区的中心之间的、规范化的几何距离的乘积来确定对于每一个单元的所述权重;
搜索所述累加器的、相应的Accum阵列以寻找具有最大值的所述单元;以及
响应于超过阈值的所述最大值,报告作为所述碎片的位置的所述单元格单元的坐标。
27、如权利要求21所述的方法,其中计算至少一个混合介质文档与位置假设包括:
在所述索引表中查找所述一个或多个查询项中的每一个,来检索与每一个查询项关联的一个或多个位置;以及
对于每一个识别的位置,来识别一个或多个包含所述位置的候选区域。
28、如权利要求27所述的方法,其中计算至少一个混合介质文档与位置假设包括:
识别与所述一个或多个查询项中的全部最一致的、所述一个或多个候选区域中的一个;以及
响应于确定所述一个或多个候选区域中的那个满足预定的匹配标准,确认所述区域为对所述目标文档的匹配。
29、一种用指令编码的机器可读介质,当由一个或多个处理器来执行时,其促使所述处理器来执行用于在混合介质文档***中访问信息的过程,所述过程包括:
接收捕获在目标文档中的对象之间的二维关系的一个或多个查询项;以及
基于来自为混合介质文档的文档特征和特征位置编索引的索引表的数据,来计算潜在地响应于所述查询项的至少一个混合介质文档与位置假设。
30、如权利要求29所述的机器可读介质,其中在接收捕获在目标文档中的对象之间的二维关系的一个或多个查询项之前:
接收所述目标文档;
创建目标文档的至少一个碎片的图像;以及
基于所述图像,来产生所述一个或多个查询项。
31、如权利要求30所述的机器可读介质,其中基于所述图像,来产生所述一个或多个查询项包括产生从所述图像提取的、水平的和垂直的单词对。
32、如权利要求31所述的机器可读介质,其中计算至少一个混合介质文档与位置假设包括:
将最可能匹配所述目标文档的碎片的、存储的页面定位;以及
计算在所述页面内最可能为所述碎片的中心的位置。
33、如权利要求32所述的机器可读介质,其中将每一个单词对与逆向文档频率相关联,并且将最可能匹配所述目标文档的至少一个碎片的、存储的页面定位包括:
将对于每一个单词对的所述逆向文档频率,累加到按所述单词对呈现于其上的文档页面编索引的累加器;以及
响应于超过阈值的、在所述累加器中的最大值,输出作为对所述碎片的匹配的所述相应的文档页面。
34、如权利要求33所述的机器可读介质,其中计算在所述页面内最可能为所述碎片的中心的位置包括:
将权重添加到在每一个单词对四周的区中的每一个单元,其中由所述单词对的逆向文档频率与在所述单元和所述区的中心之间的、规范化的几何距离的乘积来确定对于每一个单元的所述权重;
搜索所述累加器的、相应的Accum阵列以寻找具有最大值的所述单元;以及
响应于超过阈值的所述最大值,报告作为所述碎片的位置的所述单元格单元的坐标。
35、如权利要求29所述的机器可读介质,其中计算至少一个混合介质文档与位置假设包括:
在所述索引表中查找所述一个或多个查询项中的每一个,来检索与每一个查询项关联的一个或多个位置;
对于每一个识别的位置,来识别一个或多个包含所述位置的候选区域。
识别与所述一个或多个查询项中的全部最一致的、所述一个或多个候选区域中的一个;以及
响应于确定所述一个或多个候选区域中的那个满足预定的匹配标准,确认所述区域为对所述目标文档的匹配。
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US71076705P | 2005-08-23 | 2005-08-23 | |
US60/710,767 | 2005-08-23 | ||
US79291206P | 2006-04-17 | 2006-04-17 | |
US60/792,912 | 2006-04-17 | ||
US80765406P | 2006-07-18 | 2006-07-18 | |
US60/807,654 | 2006-07-18 | ||
US11/461,147 | 2006-07-31 | ||
US11/461,164 US9405751B2 (en) | 2005-08-23 | 2006-07-31 | Database for mixed media document system |
US11/461,164 | 2006-07-31 | ||
US11/461,147 US9171202B2 (en) | 2005-08-23 | 2006-07-31 | Data organization and access for mixed media document system |
PCT/JP2006/316812 WO2007023993A1 (en) | 2005-08-23 | 2006-08-22 | Data organization and access for mixed media document system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101297318A true CN101297318A (zh) | 2008-10-29 |
CN101297318B CN101297318B (zh) | 2013-01-23 |
Family
ID=40035652
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680039477.4A Expired - Fee Related CN101297318B (zh) | 2005-08-23 | 2006-08-22 | 用于混合介质文档***的数据组织和访问 |
CN200680039532.XA Expired - Fee Related CN101297319B (zh) | 2005-08-23 | 2006-08-22 | 在电子文档中嵌入热点 |
CN2006800393767A Active CN101292258B (zh) | 2005-08-23 | 2006-08-22 | 混合介质环境的创建和使用的***和方法 |
CN2006800393983A Expired - Fee Related CN101292259B (zh) | 2005-08-23 | 2006-08-22 | 用于混合介质环境中的图像匹配的方法和*** |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680039532.XA Expired - Fee Related CN101297319B (zh) | 2005-08-23 | 2006-08-22 | 在电子文档中嵌入热点 |
CN2006800393767A Active CN101292258B (zh) | 2005-08-23 | 2006-08-22 | 混合介质环境的创建和使用的***和方法 |
CN2006800393983A Expired - Fee Related CN101292259B (zh) | 2005-08-23 | 2006-08-22 | 用于混合介质环境中的图像匹配的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (4) | CN101297318B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937322A (zh) * | 2009-06-29 | 2011-01-05 | 株式会社东芝 | 打印作业管理装置、***和方法 |
CN103970809A (zh) * | 2013-01-25 | 2014-08-06 | 富士施乐株式会社 | 标记放置支持设备和标记放置支持方法 |
CN104699707A (zh) * | 2013-12-06 | 2015-06-10 | 深圳先进技术研究院 | 一种聚类数据的方法和装置 |
CN108369647A (zh) * | 2016-01-29 | 2018-08-03 | 微软技术许可有限责任公司 | 基于图像的质量控制 |
CN109891424A (zh) * | 2017-01-30 | 2019-06-14 | 谷歌有限责任公司 | 在不披露特定识别信息的情况下建立标识符之间的链接 |
CN110888993A (zh) * | 2018-08-20 | 2020-03-17 | 珠海金山办公软件有限公司 | 一种复合文档检索方法、装置及电子设备 |
CN111291167A (zh) * | 2018-12-07 | 2020-06-16 | 宁波方太厨具有限公司 | 基于图像识别的产品纸质说明书自动查检方法 |
CN111723807A (zh) * | 2019-03-20 | 2020-09-29 | Sap欧洲公司 | 使用端到端深度学习识别机打字符和手写字符 |
CN112597345A (zh) * | 2020-10-30 | 2021-04-02 | 深圳市检验检疫科学研究院 | 一种实验室数据自动采集与匹配方法 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2409269B1 (en) * | 2009-03-20 | 2019-06-05 | Google LLC | Associating rendered advertisements with digital content |
US9245043B2 (en) * | 2009-12-23 | 2016-01-26 | Fuji Xerox Co., Ltd. | Embedded media markers and systems and methods for generating and using them |
US8332424B2 (en) * | 2011-05-13 | 2012-12-11 | Google Inc. | Method and apparatus for enabling virtual tags |
CN104067604A (zh) * | 2012-01-31 | 2014-09-24 | 惠普发展公司,有限责任合伙企业 | 打印样本特征集 |
EP3031032A4 (en) * | 2012-08-09 | 2017-03-29 | WINK-APP Ltd. | A method and system for linking printed objects with electronic content |
US9374517B2 (en) * | 2012-10-12 | 2016-06-21 | Ebay Inc. | Guided photography and video on a mobile device |
TWI496016B (zh) * | 2013-01-02 | 2015-08-11 | 104 Corp | 混合式資料庫管理方法以及系統 |
JP5967036B2 (ja) * | 2013-08-22 | 2016-08-10 | 富士ゼロックス株式会社 | 画像検索システム、情報処理装置及びプログラム |
US11599833B2 (en) * | 2016-08-03 | 2023-03-07 | Ford Global Technologies, Llc | Vehicle ride sharing system and method using smart modules |
CN110020108B (zh) * | 2017-09-12 | 2023-04-28 | 腾讯科技(深圳)有限公司 | 网络资源推荐方法、装置、计算机设备及存储介质 |
CN108446737B (zh) * | 2018-03-21 | 2022-07-05 | 百度在线网络技术(北京)有限公司 | 用于识别对象的方法和装置 |
CN109034267B (zh) * | 2018-08-20 | 2019-07-12 | 南京乐象网络科技有限公司 | 片尾曲智能选择装置 |
CN111339387B (zh) * | 2018-12-18 | 2023-06-09 | 阿里巴巴集团控股有限公司 | 基于信息模板的点击反馈获取方法、装置及电子设备 |
CN110210470B (zh) * | 2019-06-05 | 2023-06-23 | 复旦大学 | 商品信息图像识别*** |
CN110909726B (zh) * | 2019-11-15 | 2022-04-05 | 杨宏伟 | 一种基于图像识别的书面文档互动***和方法 |
CN111275043B (zh) * | 2020-01-22 | 2021-08-20 | 西北师范大学 | 一种基于pcnn处理的纸质简谱电子化播放装置 |
CN114511058B (zh) * | 2022-01-27 | 2023-06-02 | 国网江苏省电力有限公司泰州供电分公司 | 一种用于电力用户画像的负荷元件构建方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3634099B2 (ja) * | 1997-02-17 | 2005-03-30 | 株式会社リコー | 文書情報管理システム,媒体用紙情報作成装置および文書情報管理装置 |
US6411953B1 (en) * | 1999-01-25 | 2002-06-25 | Lucent Technologies Inc. | Retrieval and matching of color patterns based on a predetermined vocabulary and grammar |
US7475061B2 (en) * | 2004-01-15 | 2009-01-06 | Microsoft Corporation | Image-based document indexing and retrieval |
-
2006
- 2006-08-22 CN CN200680039477.4A patent/CN101297318B/zh not_active Expired - Fee Related
- 2006-08-22 CN CN200680039532.XA patent/CN101297319B/zh not_active Expired - Fee Related
- 2006-08-22 CN CN2006800393767A patent/CN101292258B/zh active Active
- 2006-08-22 CN CN2006800393983A patent/CN101292259B/zh not_active Expired - Fee Related
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937322A (zh) * | 2009-06-29 | 2011-01-05 | 株式会社东芝 | 打印作业管理装置、***和方法 |
CN103970809A (zh) * | 2013-01-25 | 2014-08-06 | 富士施乐株式会社 | 标记放置支持设备和标记放置支持方法 |
CN104699707A (zh) * | 2013-12-06 | 2015-06-10 | 深圳先进技术研究院 | 一种聚类数据的方法和装置 |
CN108369647A (zh) * | 2016-01-29 | 2018-08-03 | 微软技术许可有限责任公司 | 基于图像的质量控制 |
CN109891424B (zh) * | 2017-01-30 | 2023-07-18 | 谷歌有限责任公司 | 在不披露特定识别信息的情况下建立标识符之间的链接 |
CN109891424A (zh) * | 2017-01-30 | 2019-06-14 | 谷歌有限责任公司 | 在不披露特定识别信息的情况下建立标识符之间的链接 |
CN110888993A (zh) * | 2018-08-20 | 2020-03-17 | 珠海金山办公软件有限公司 | 一种复合文档检索方法、装置及电子设备 |
CN111291167A (zh) * | 2018-12-07 | 2020-06-16 | 宁波方太厨具有限公司 | 基于图像识别的产品纸质说明书自动查检方法 |
CN111291167B (zh) * | 2018-12-07 | 2023-05-05 | 宁波方太厨具有限公司 | 基于图像识别的产品纸质说明书自动查检方法 |
CN111723807A (zh) * | 2019-03-20 | 2020-09-29 | Sap欧洲公司 | 使用端到端深度学习识别机打字符和手写字符 |
CN111723807B (zh) * | 2019-03-20 | 2023-12-26 | Sap欧洲公司 | 使用端到端深度学习识别机打字符和手写字符 |
CN112597345A (zh) * | 2020-10-30 | 2021-04-02 | 深圳市检验检疫科学研究院 | 一种实验室数据自动采集与匹配方法 |
CN112597345B (zh) * | 2020-10-30 | 2023-05-12 | 深圳市检验检疫科学研究院 | 一种实验室数据自动采集与匹配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101292258B (zh) | 2012-11-21 |
CN101297318B (zh) | 2013-01-23 |
CN101292259B (zh) | 2012-07-11 |
CN101292259A (zh) | 2008-10-22 |
CN101292258A (zh) | 2008-10-22 |
CN101297319A (zh) | 2008-10-29 |
CN101297319B (zh) | 2013-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101297318B (zh) | 用于混合介质文档***的数据组织和访问 | |
KR100980748B1 (ko) | 혼합 미디어 환경을 생성 및 사용하는 시스템 및 방법 | |
US7639387B2 (en) | Authoring tools using a mixed media environment | |
US7672543B2 (en) | Triggering applications based on a captured text in a mixed media environment | |
US7991778B2 (en) | Triggering actions with captured input in a mixed media environment | |
US7920759B2 (en) | Triggering applications for distributed action execution and use of mixed media recognition as a control input | |
US7551780B2 (en) | System and method for using individualized mixed document | |
US7812986B2 (en) | System and methods for use of voice mail and email in a mixed media environment | |
US8005831B2 (en) | System and methods for creation and use of a mixed media environment with geographic location information | |
US8156427B2 (en) | User interface for mixed media reality | |
US7669148B2 (en) | System and methods for portable device for mixed media system | |
US7917554B2 (en) | Visibly-perceptible hot spots in documents | |
US7702673B2 (en) | System and methods for creation and use of a mixed media environment | |
US7885955B2 (en) | Shared document annotation | |
US8195659B2 (en) | Integration and use of mixed media documents | |
KR100979457B1 (ko) | 혼합 미디어 환경에서의 이미지 정합 방법 및 시스템 | |
EP2482210A2 (en) | System and methods for creation and use of a mixed media environment | |
JP4897795B2 (ja) | 処理装置、インデックステーブル作成方法及びコンピュータプログラム | |
KR100960640B1 (ko) | 전자 문서에 핫스폿을 임베딩하는 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130123 |