专利名称:表格处理系统及方法
技术领域:
本发明一般地涉及一种光符阅读器(OCRs)以及表格处理系统,并且更具体地,涉及一种确定输入到表格上的字符的位置的格式信息发生器,一种用于操作该发生器的程序,一种使用格式信息来识别该表格的表格处理系统,以及一种用于操作该处理器的程序。
背景技术:
表格“格式信息”意指定义字符及验证标记被描述处的单元格及字段以用于读取表格上的字符以及检测该位置的信息。格式信息不仅可以包括坐标信息,而且可以包括属性,诸如字段的读取项名称以及字符的类型。
关于被存储用于一种表格类型的一种格式信息的例子的其它细节,请参看’99六月版的“日立图象OCR产品(Hitachi ImagingOCR Products)”目录中第11页上的“格式发生器”的说明。格式发生器中所使用的格式信息严格规定了每种表格类型的字符单元格以及文本字段框的位置。现有OCR的许多类型都采用与该格式发生器的格式信息相类似的格式信息。
关于通过预先定义表格上的列表结构并把输入的表格图像与该列表相匹配来自动检测单元格位置的方法的其它细节,请参看申请号为No.282193/1995的日本专利申请。该方法产生这样的作用使得对于一固定的表格,由局部失真以及剪切表格中的错误所引起的单元格位置的差异能够被检测到。而且,能够进行与模糊线条或中断线条以及干扰的列表的匹配。
对于采用表格单元格之间的排列关系作为格式信息的方法的其他细节,请参见1992年文档分析及信息检索研讨会会刊第77-95页上由Watanabe等所著的“A Framework of Layout Recognition forDocument Understanding”一文。在此方法中,把整个表格上的单元格之间的排列关系预先描述成一个模型。该方法产生这样的作用即使一个表格包含了在位置及大小上都存在差异的多个单元格也能够通过把输入的表格图像与该模型匹配而检测出一个单元格的位置。
下面将描述由表格处理系统处理的表格的类型。就格式而言,除专用于OCR的表格之外的表格被分成固定表格,半固定表格,以及非固定表格三种类型。固定表格意指其中嵌线(rule)及字符的位置为固定的相同类型的表格。半固定表格意指即使各表格的类型与收入和预扣税款凭单以及体检费用收据的类型相同,但其中每个表格的嵌线及单元格的位置也存在细微差异。如果嵌线与单元格的位置之间的差异在表格大小的20%之内,那么把该表格称作半固定表格。非固定表格意指即使表格是与收据属于同一类型的表格,但其格式及内容也不同的表格,以及意指半固定表格之外的表格。
下面将使用图3所示的收入和预扣税款凭单作为例子描述半固定表格的问题。尽管在收入和预扣税款凭单中单元格的排列基本上被确定,但是每个表格的单元格位置存在细微差异。原因在于尽管诸如各项的排列顺序之类的粗略格式已被确定,但颁发该证书的公司依其自己的条款确定具体的格式,诸如单元格的大小。
图18A,18B和18C示出在格式上存在差异的表格的例子。图18A示出了几个具有相同的项而单元格的大小不同的表格的例子。图18B示出了几个在是否存在线段以及主要是金额总计字段的线段长度上存在不同的表格的例子。图18C示出了单元格本身的排列不同的表格的例子。对于在表格识别中共同存在的问题,除了上述格式上的差异外,还存在图像质量问题。由于表格印刷的质量及状况是多种多样的,所以图像被输入时的图像质量是不固定的并且会产生模糊线条和干扰。当产生模糊线条和干扰时,在依据表格图像而判断嵌线及单元格的位置的情况下,产生相应错误的可能性会增大。
通过上述现有技术,很难识别出具有上述特性的半固定表格。
由于第一个常规例子假定单元格及字符的位置是相同的,因此难于识别半固定表格。原则上通过记录要被识别的表格的所有格式信息就可以识别半固定表格。然而,出于以下三个原因,这种识别实际上是很困难的。第一个原因是,由于一个表格中要被生成的格式信息的数目巨大,因此用于生成格式信息的成本增大。第二个原因是,难于预先准备全部表格和生成它们的格式信息。在收入和预扣税款凭单的例子中,需要收集由所有国内公司发出的收入和预扣税款凭单。另外,由于同一家公司每年都会更改格式,因此不可能全部收集。第三个原因是,即使上述两个问题都能够被解决,也很难实现用于区分表格中的细微差异以及自动选择适合的格式信息的技术。
在第二个常规例子中,尽管能够解决字符单元及文本字段框的位置差异,但是也不可能识别在单元格的大小上存在差异的半固定表格。
在第三个常规例子中,尽管能够解决字符单元格及文本字段框的位置及大小的差异,但是即使仅仅是该表格的分段字段内的单元格排列不同,也要求整个表格的格式信息是最新生成的。因此,为了识别其中每个表格的单元格排列存在细微不同的半固定表格,存在着格式信息数目巨大的问题。由于该方法所用的模型不能包括除矩形单元格以外的单元格,因此存在着许多表格都具有现有的对应模型的问题。此外,由于该方法中,匹配是依据单元格的排列信息而进行的,因此存在这样的问题,即该方法不适合于其中由于模糊线条及干扰而使单元格不能被准确提取的表格图像。
发明内容
本发明的目的是解决与识别半固定表格有关的问题。本发明提供了准确匹配相同表格类型的半固定表格的格式的格式处理器。依据少量格式信息,即可实现单元格的位置及大小是不同的,并且一部分单元格的排列是不同的。此外,本发明还提供了能够匹配低质量的表格图像的格式的表格处理系统。应当理解能够以许多方式来实现本发明,包括进程,装置,系统,设备或是方法。下面描述本发明的几个具体实施例。
在一个实施例中,提供了一种表格处理系统,包括一存储设备,配置成存储一个表格的多个字段的格式信息;一图像输入设备,配置成获取该表格的多个段的图像;一读取设备,配置成从该存储设备中读取该表格的多个字段的格式信息;一匹配设备,配置成把该多个段的格式信息与该多个字段的相应格式信息相匹配以获得匹配结果;以及一组合设备,配置成依据该匹配结果而把该多个段的格式信息与该多个字段的相应格式信息相组合,其中该组合设备被进一步配置成获得该图像的一个确定格式。
在另一个实施例中,提供了一种在具有一存储设备的系统上进行表格处理的方法。该方法包括存储一个表格的多个字段的格式信息;获取该表格的多个段的一个图像;从该存储设备读取该表格的多个字段的格式信息;把该多个段的格式信息与该多个字段的相应格式信息相匹配以获得匹配结果;以及依据该匹配结果而把该多个段的格式信息与该多个字段的相应格式信息相组合;以及获得该图像的一个确定格式。
在又一个实施例中,提供了一种用于表格处理的方法。该方法包括获取一表格的图像;显示该图像;分析该图像的布局;提取该图像布局的一种栅格表示;把该栅格表示存入一存储设备;指定该图像的一段;从该存储设备读取应用在该段上的栅格表示;以及把该段的属性信息与该栅格表示相联系以获得联系结果;以及把该联系结果存入该存储设备,其中读取步骤和联系步骤被应用于一个字段中除该段外新指定的一个段。
本发明包含了方法,装置,以及计算机可读介质的其它实施例,它们的配置如上所述并具有其它特征及替换。
通过下面结合附图的详细描述将容易地理解本发明。为了便于进行描述,相同的附图标记表示相同的结构元件。
图1是表示本发明一实施例中的表格处理系统的示意结构的方框图;图2是表示本发明一实施例中的表格处理的流程图;图3示出表格处理对象的一个例子;图4根据本发明的一个实施例,示出了图3所示的表格的字段划分;图5示出本发明一实施例中的分段格式信息的结构;图6是根据本发明一实施例,示出与图2所示格式处理中的分段格式信息相匹配的流程图;图7A根据本发明的一个实施例,示出一输入图像;图7B根据本发明的一个实施例,解释在与分段格式匹配时作为一个特征的该输入图像的栅格表示;图8根据本发明的一个实施例,示出该栅格表示的交叉点形状;图9A根据本发明的一个实施例,示出在对应于分段格式信息的段内的图像的例子;图9B根据本发明的一个实施例,解释分段格式信息;图10根据本发明的一个实施例,示出分段格式信息的内部数据的例子;图11是根据本发明一实施例,示出与图6所示分段格式相匹配时与一分段格式匹配的流程图;图12A根据本发明的一个实施例,示出在要被匹配的一有限字段内的图像;图12B根据本发明的一个实施例,解释基于此实施例内的该输入图像的一个段内的将被匹配的栅格点的生成;图13根据本发明的一个实施例,示出采用动态编程(DP)的栅格点的匹配;图14根据本发明的一个实施例,解释采用图13所示DP匹配时节点之间的变换以及分数的计算;图15根据本发明的一个实施例,解释采用图13所示DP匹配时的分数计算;图16根据本发明的一个实施例,解释验证执行匹配操作的结果的图11所示的步骤;图17是根据本发明的一个实施例,示出分段格式信息的生成的流程图;图18A示出具有相同的项而单元格的位置及大小不同的表格的例子;图18B示出表示在款项字段内的线条或线段的不同的表格的例子;图18C示出在单元格的排列上不同的表格的例子。
具体实施例方式
本发明公开了一项用于准确地匹配具有相同表格类型的半固定表格的格式的格式处理器。对许多具体细节加以陈述以便提供对本发明的透彻理解。然而,应当理解,对于本领域的技术人员来说,可以无需某些或全部这些具体细节来实践本发明。一般地,本发明中所使用的术语“设备”意指硬件,软件,或它们的组合。
图1示出本发明一个实施例的表格处理系统的硬件结构的例子。如图1所示,附图标记10表示用于输入命令及代码数据的输入设备,20表示用于输入要被处理的表格图像的图像输入设备,30表示分析与验证格式的表格识别系统,40表示存储分段格式信息的数据库,以及50表示显示识别结果的显示设备。替代用20表示的图像输入设备,也可以从附图标记60表示的图像数据库输入表格图像。
在说明处理的具体内容之前,将描述本发明的策略及效果。
本发明中,为了解决上述的问题,把表格分成段并生成每段的格式信息。在本发明中,把这称作为分段格式信息。用同一字段内的不同格式的数目来生成分段格式信息。
在表格处理中,通过逐段匹配表格图像及分段格式信息、动态选择最佳分段格式信息并合成该结果,能够获取整个表格的格式信息。参见图2,采用分段格式信息的表格处理的细节将在稍后描述。
通过如下的表格处理能够解决半固定表格的问题。
首先,通过采用在匹配时吸收单元格之间的位置及大小上的差异的方法能够解决图18A所示的半固定表格的问题。接着,通过采用在匹配时区分不必要的线段以及单元格的嵌线的方法能够解决图18B所示的问题。此外,通过采用这些匹配方法以及从正常的嵌线中区分出干扰所引起的模糊嵌线及线段还能够把高精度的处理应用于低质量的图像。
通过在同一字段内定义多个分段格式信息能够解决图18C所示的问题。即使单元格的排列不同,也能够通过匹配用于同一段的多个分段格式信息以及选择最相似的分段格式信息来获取适合的分段格式信息。
当每段的格式信息被确定时,根据利用记录在该格式信息内的信息的表格图像能够检测到字符单元格以及文本字段框的位置。如上所述,能够通过采用利用分段格式信息的格式匹配来实现识别半固定表格的表格处理系统。
在传统方法中,对每一个具有新格式的表格,需要生成整个表格的格式信息,然而,在本发明中,由于仅仅需要添加与现有分段格式信息不对应的那一个段的格式信息,因此能够大大减少生成格式信息的成本。
用于生成分段格式信息的过程如下。首先,通过输入一个表格图像并分析其格式,如提取一嵌线,来生成用于描述一种格式的特征。接着,由用户选择一个将要生成其分段格式信息的段。由用户校正由于该选定段内的模糊以及干扰而引起的特征错误。最后,当基于该段的特征指定了一个单独的单元格以及用户指定了每个单元格的属性时,就能够生成分段格式信息。参见图16,生成分段格式信息的处理细节将在稍后描述。
参见下列附图,下面将描述处理细节。
图2是示出由根据本发明的表格处理系统执行的表格处理的概要流程图。在步骤200,从图像输入设备20或图像数据库60输入表格的图像。在步骤210,分析该表格图像的布局并提取在步骤220中要利用的一个特征。参见图7和8,该特征将在稍后描述。在步骤220,把该表格图像的每个段与存储在分段格式信息数据库40内的分段格式信息相匹配并选择最相似的分段格式信息。参见图5,分段格式信息将在稍后描述,并且参见图6,匹配处理将在稍后描述。在步骤230,根据逐段确定的分段格式信息来确定整个表格的格式信息。
参见图3-5,在描述表格处理的细节之前将描述分别用在本发明中的段及分段格式信息的一个具体例子。
图3示出作为要处理的半固定表格的一个例子的收入和预扣税款凭单。图4中用粗线示出的字段400-440表示设置在图3所示的收入和预扣税款凭单中的多个段。下面将描述一个对每种表格类型任意设置一个段所依据的标准的例子。对于第一个标准,如字段400中所示,一个段包括描述项名的单元格以及描述数据的单元格。这两个单元格被称作项名单元格和数据单元格。一组多个项名单元格与多个数据单元格也可以包含在一个字段内。对于第二个标准,如字段410-440中所示,用水平或垂直划分整个字段的一个长嵌线来划分各个字段。在字段410-440中,存在划分各个字段的嵌线,不过,根据项名单元格与数据单元格存在于同一段内的第一个标准来设置每个段。逐段生成分段格式信息。
图5示出存储在分段格式信息数据库40内的分段格式信息的结构。该分段格式信息具有由表格类型、段以及分段格式三个层所组成的树状结构。在图5所示的例子中,存储了A,B以及其它表格类型。表格类型A被分成段A1,A2等。段A1包括在单元格排列上不同的分段格式A1a,A1b等。如果需要,每层中的元素数目也可以是一个。
利用分段格式信息的作用如下所述。如果当该表格被识别时,动态合成分段格式并生成整个表格的格式,那么根据较少的分段格式就能够合成布局不同的多个表格的格式信息。在该收入和预扣税款凭单的例子中,假设在5个段内各存在三种分段格式,那么根据15(3×5)种分段格式就能够合成整个表格的243种(3的5次方)类型的格式信息。
接下来,参见图6,将描述图2所示步骤220中的分段格式匹配处理的细节。在步骤600中,以要被处理的表格类型的数目为重复次数重复步骤610-650中的处理。例如,倘若输入了两种收入和预扣税款凭单以及最终的所得税返还,那么重复两次该处理。在步骤610中,以段的数目为重复次数重复步骤620-640中的处理。由于图4所示的收入和预扣税款凭单被分成五段,因此重复5次该处理。在步骤620中,以每个段所定义的分段格式数目为次数重复步骤630中的处理。在步骤630中,该输入图像及一分段格式被匹配并计算相似度。参见图11-16,该匹配处理的细节将在稍后描述。在步骤640中,选择每个字段的最佳分段格式。能够以选择与步骤630中获取的分段格式最相似的分段格式的方法作为选择方法的一个例子。在步骤650中,确定每种表格类型的整个表格的最佳格式信息。能够以合成步骤640中所获得的最佳分段格式的方法作为这一处理的一个例子。在步骤660中,确定该输入图像的表格类型。能够以计算在步骤650中所获得的每种表格类型的整个表格格式的相似度以及选择最相似的一种表格类型的方法作为该处理的一个例子。通过上述一系列处理,能够确定表格类型以及格式信息。
倘若表格类型为1种并且通过另一种处理以及用户的详细说明来预先确定一表格类型,那么能够省略步骤600和步骤660中的处理。类似地,倘若整个表格由一个字段组成并且段数为1,那么能够省略步骤610和步骤650中的处理。
下面将详细描述与分段格式信息匹配的方法。首先,参见图7和8,将描述匹配所利用的一个特征,参见图9和10,将描述存储在匹配的分段格式信息中的数据内容,以及参见图11-16,将描述一具体的匹配处理的算法。下面将描述匹配方法的一个实施例,然而也可以使用其它手段来实现与分段格式的匹配。
图7示出用于与分段格式匹配的一个特征的例子。在本发明中,把该特征称作为栅格表示。在JP-A No.053466/1999中公开了一种生成栅格表示的方法。该栅格表示意指被称为栅格点的点排列信息。把该栅格点定义为实际上从所有其倾斜被校正的实线以及虚线的端点水平地和垂直地延伸的辅助线条的交叉点。在每个栅格点上,记录其倾斜被校正之前和之后的坐标值以及交叉嵌线的形状。
图8示出根据每个栅格点的交叉点类型而添加的代码(交叉点代码)的例子。交叉点代码0表示不存在嵌线。交叉点代码1-4表示一条嵌线的端点。交叉点代码5和6表示一条嵌线的一部分。交叉点代码7-10表示一个两条嵌线在该处以L形交叉的交叉点。交叉点代码11-14表示一个两条嵌线在该处以T形交叉的交叉点。交叉点代码15表示一个两条嵌线在该处以十字交叉的交叉点。
如图7所示,能够使用栅格表示来描述表格的单元格结构。能够依据对应的栅格点的坐标值来获取正交嵌线的交叉点坐标。能够依据在该点处存在嵌线的栅格点之间的距离来计算两条平行的垂直嵌线之间的距离。能够用相当于一个矩形单元格的四个角的栅格点之组合来表示一个表格中的一个矩形单元格。
在JP-A No.232382/1999中公开了一种提取实线以生成栅格表示的方法的例子,在JP-A No.319824/1997中公开了一种提取虚线的例子。
图9示出相应于分段格式信息及其栅格表示的一段表格图像的例子。图10示出基于该栅格表示而生成的分段格式信息的数据示例。
对于图10所示的分段格式信息的数据示例,首先,存储格式类型数。接着,存储段数。接下来,存储各行和各列中的交叉点数目。在图9所示的例子中,由于栅格表示以四行三列排列,因此水平方向上的栅格点数目是3,垂直方向上的栅格点数目是4。接着,以表格上任意一个位置为原点位置记录在水平方向以及垂直方向上的栅格点坐标值。利用这些值能够获取平行嵌线之间的距离,即,一个单元格的宽度和高度。接下来,存储每个栅格点的交叉点代码。该交叉点代码示于图8。例如,在图9所示的栅格表示中,第0行第2列上的栅格点的交叉点代码为8。接着,存储该段内的单元格数。在图9所示的例子中,由于存在4个单元格,所以单元格数是4。最后,存储位于每个单元格的四个角上的栅格点的位置以及一读取项。当把第“i”行、第“j”列上的栅格点描述为(i,j)时,用于显示图9所示汉字的“假名”字符的字段框架的四个角的坐标从左上角开始按逆时针方向依序为(1,1),(1,2),(2,2)和(2,1)。另外,还可以增添诸如嵌线及字段的颜色信息以及区分栅格点上的实线与虚线的辨别信息之类的信息。
倘若图10中要被处理的表格类型为一个,那么也可以省略表格类型数。对于单元格的数目,也可以只输入要被读取的单元格数,而不是一个字段内的全部单元格数。在此情形中,仅仅指定该读取数目的“单元格的角坐标/单元格的属性”。此外,该单元格的形状不仅可以是矩形,也可以是诸如L形的多边形。在此情形中,仅仅需要按顺序存储位于该单元格各角上的栅格点。此外,在此例子中,仅仅把字段的内部指定为读取字段,不过,也可以指定该字段的外部。倘若指定该字段的外部,那么把该字段边界上的栅格点指定为这些角的位置。
接下来,将描述分段格式匹配处理的算法。
在该实施例中,将描述作为匹配处理的一个例子的一种使用了用于语音识别的动态编程(DP)的匹配方法。除了1995年由KindaiKagakusha出版的“Algorithm Introduction”第二卷第5-29页以外,许多文献中都解释了动态编程的原理。
采用使用DP的匹配方法作为匹配算法的原因有以下两点。第一,由于能够进行不依赖于匹配对象特征之间的距离长度的匹配,因此能够对应于图18A所示的嵌线之间的距离,即,单元格大小上的差异。第二,由于能够进行几乎不受增加或减小特征数目的影响的匹配,因此能够对应于由图18B所示的低质量图像所引起的嵌线数目增加或减少。
通常,把使用DP的匹配应用于一维数据。由于分段格式信息为二维信息,因此在本实施例中把处理分成水平方向上的处理和垂直方向上的处理。具体地,采用了一种在水平方向上使用DP匹配栅格表示而在垂直方向上验证所获得的结果的方法。由于还提出了使用DP的二维匹配方法,因此也能够应用该方法。
图11是表示使用DP的分段格式匹配处理的流程图。在步骤1100,逐段设置要被匹配的对象字段并且从在步骤210所生成的整个表格的栅格表示中仅提取出该字段内的栅格表示。参见图9和12,下面将具体描述这一处理。首先,把图9所示的对应于分段格式信息的输入图像的一个字段设置成如图12A所示。考虑到错位,在图9A所示的该分段格式信息字段的基础上扩展了该字段。图12B示出了从整个表格的栅格表示中提取出等效于图12A所示字段的字段栅格表示的结果。在该例子中,提取出位于第0-6行和第40-54列上的字段的栅格表示。下文中,把输入图像中的一个段的栅格表示称作段栅格表示,把分段格式信息中的栅格表示称作格式栅格表示。
在步骤1110,对格式栅格表示的每一行都重复步骤1120-1140中的处理。在图9B所示的例子中,从第0至第3行都重复该处理。
在步骤1120,对段栅格表示的每一行都重复步骤1130中的处理。在图12B所示的例子中,从第0至第6行都重复该处理。
在步骤1130,使用DP来匹配格式栅格表示及段栅格表示的行,并获取栅格点列之间的关系以及在那时的匹配分数。在该处理中,如果匹配的相似性等于或低于一个预设标准,那么匹配失败。参见图13和14,使用DP的匹配处理细节将在稍后描述。
在步骤1140,选择段栅格表示的匹配分数为最大的行。在图9和12所示的例子中,作为段栅格表示内第0-6行与格式栅格表示内第0行的匹配结果,选择匹配相似性最大的第二行。对格式栅格表示内的第一行及后续行的处理也是相似的。
在步骤1150,依据段栅格表示内在步骤1140获得的最佳行匹配结果,逐列验证匹配的有效性。将在稍后描述该处理的细节。
倘若在步骤1140没有匹配相似性超过标准的行,以及倘若在步骤1150列中的有效性不能被验证,那么字段单元内的匹配失败。
参见图13和14,下面将描述在步骤1130中使用DP的匹配。图13示出了用于使用DP匹配图9B所示格式栅格表示内的第一行交叉点代码与图12B所示段栅格表示内的第三行交叉点代码的匹配矩阵。能够把作为DP匹配结果的一个DP网络配置在该匹配矩阵上。在该DP网络的每个节点上,仅允许向右下方跃迁,向右跃迁,以及向下跃迁三种类型。在该网络中,向右下方跃迁意指输入图像内的栅格点与格式信息内的栅格点被匹配。向右跃迁意指在该输入图像内没有要被匹配的栅格点。相反地,向下跃迁意指在该输入图像内存在未被包含在格式信息内的栅格点。
接下来,将描述根据计算匹配分数的方法获得该DP网络内的最佳匹配路径的方法。从左列至右列按顺序计算该匹配矩阵内的节点分数。首先,初始化该匹配矩阵内的最左列。对于其它节点的分数,从左跃迁、从上跃迁、以及从左上跃迁三种类型中选择跃迁前的节点分数与跃迁后的节点分数之和最大的那个跃迁,并且该分数成为该节点的分数。
参见图14,下面将具体描述节点分数的计算。为了获得节点1430的分数,比较从节点1400跃迁,从节点1410跃迁,以及从节点1420跃迁这三种跃迁的分数。当一个节点值为该节点的分数并且跃迁线上的值为该跃迁的分数时,从节点1400的跃迁的分数为8并且是最大。于是,选择从1400到1430的跃迁,并且1430的分数变为8。计算跃迁分数的细节将在稍后描述。
如上所述计算所有节点的分数。选择最右列中具有最高分数的节点并且选择一条以该节点为终点的路径作为表示该最佳匹配结果的路径。图13中,用粗线表示的路径为最佳路径。该最佳路径的终点节点的分数表示使用DP的匹配相似性。
下面将描述计算每个节点的跃迁分数的例子。首先,将描述含义相对应的向右与向下跃迁。图15示出倘若交叉点代码15与交叉点代码13的栅格点被匹配时的分数计算例子。定义该跃迁以使要被匹配的栅格点的交叉点代码的一致性越高,则分数越高。把该跃迁定义为通过从以一个栅格点为其中心的四个方向上存在嵌线与否的一致性中减去不一致性所获得的一个值。在图15所示的例子中,在四个方向中的三个方向上所存在的嵌线是一致的,仅在向下方向上所存在的嵌线是不一致的。因此,跃迁的匹配分数为(3α-β),其中“α”和“β”为常数。
接下来,下面将描述表示插入的向下跃迁。对于插入,分别计算插入到存在嵌线的位置的情形,以及插入到不存在嵌线的位置的情形下的分数。倘若栅格点被插到图13所示的格式栅格表示中的第0列与第1列之间,那么应当存在一条水平嵌线。因此,在这一情形下,在交叉点代码5(水平嵌线的一部分)与一输入图像的交叉点代码之间进行类似于上述一致性的分数计算。同时,倘若栅格点被插到第一列与第二列之间,那么应当不能存在嵌线。因此,在这一情形下,在交叉点代码0(无嵌线)与该输入图像的交叉点代码之间进行类似于该一致性的分数计算。
最后,将描述表示缺失的向右跃迁。由于此跃迁表示不存在要被匹配的栅格点,因此把匹配分数定义成(-γ)作为惩罚。“γ”为常数。
上述分数计算只是一个例子。每个系数也可以是变量并且也可以采用其它的估算标准诸如栅格点之间的间隔。倘若采用栅格点之间的间隔作为估算标准,那么由于能够估算嵌线间的间隔与交叉点之间的间隔的一致性,因此能够提高匹配精度。在表格的单元格大小几乎不变而在同一位置上经常变化的情形下,可以获得更大的效果。
图13所示的粗箭头表示通过这样的分数计算所获得的最佳匹配结果。在该例子中,获得格式栅格表示中的第0、第1以及第2列上的栅格点与段栅格表示中的第42,第44以及第54列上的栅格点相对应的结果。在段栅格表示中的第42列上,存在一条向左的不必要的嵌线。不过,由于该栅格点与格式栅格表示的左端有关,因此把这条向左嵌线的存在作为边界条件而忽略。在上端,下端,左端,以及右端执行这一处理。
以上描述了使用栅格表示及DP的匹配。然而,匹配方法并不限于此例。尽管匹配精度差,但是也可以通过简单地比较嵌线与单元格的坐标值进行匹配。
接下来,参见图16所示的例子,将描述在列方向上的验证。图16示出在步骤1140中所获得的格式栅格表示中每一行的匹配结果。格式栅格表示中的第0行对应于段栅格表示中的第2行。格式栅格表示中的第0,第1,及第2列对应于段栅格表示中的第42,第44,及第54列。由于在所有行上都获得相同的结果,从而确定第42和第54列对应于格式栅格表示中的第0和第2列。不过,当第1列中第0,第1,及第3行上的匹配结果为44时,第2行上的匹配结果为49并出现不一致性。对于相应于这样的不一致性的一个例子,能够给出多数决定法。在此情形中,由于获得了三个44的结果,以及一个49的结果,因此选44。另外一种测量方法是比较获得结果44的行上的匹配总分与获得结果49的行上的匹配总分。
如上所述,能够确定一个段中的格式栅格表示中的行与列。
当确定格式栅格表示中的行与列时,可以利用图10所示的单元格的角的位置以及该单元格的属性获得输入图像中的该单元格的坐标。为了解释而以“假名”字段为例,对应于记录在输入图像的栅格表示内的分段格式信息中的一个单元格的四个角的栅格点从左上角开始逆时针分别为(44,3),(44,4),(54,4)和(54,3)。通过检测该输入图像中这些栅格点上的坐标能够获得“假名”字段的四个角的坐标。
每个分段格式的匹配相似性能够用在各行上计算出的匹配总分来定义。倘若多个分段格式存在于同一段中,那么选择匹配相似性最大的分段格式。
每种表格类型的匹配相似性能够用一种分段格式下对每段所计算出的匹配相似性总和来定义。倘若有多种类型的表格要被处理,那么选择格式类型的匹配相似性最大的表格。
接下来,将描述根据本发明的利用表格处理系统的字符阅读器。利用通过图2所示的表格处理而获得的一个读取字段的坐标,从一个输入图像中提取出一个字符或一个字符串的图像。可以通过从该提取的图像中检测和识别字符来识别该表格上的字符。也可以通过图2所示的表格处理中所使用的CPU(30)来执行该处理。因此,能够用同样的配置来实现图2所示的表格处理系统以及应用该表格处理系统的字符阅读器。
接下来,将描述用于本发明的生成分段格式信息的方法。
图17是用于生成分段格式信息的流程图。在步骤1700,从图像输入设备20或图像数据库60输入一表格图像。在步骤1710,执行对该图像的布局分析,如嵌线的提取,并生成栅格表示。在步骤1720,依据从输入设备10输入的要被生成的分段格式中的字段说明而从在步骤1710生成的栅格表示中提取指定字段内的栅格表示。提取该栅格表示的结果显示在显示设备50上。此阶段的栅格表示可能包含由该图像中的模糊线条及干扰所引起的错误。因此,在步骤1730,依据经由输入设备10指定的该错误的校正内容来校正在步骤1720中所获得的栅格表示。栅格点的校正结果显示在显示设备50上。重复校正工作直到用户断定不再包含错误为止。把提取出的栅格表示记录在记录装置内。在步骤1740,经由输入设备10输入在步骤1730中被校正的栅格表示内的一个段的识别信息以及诸如读取项的位置和项名之类的属性信息。在步骤1750,使用保存在一适当设备内的变换规则来把到步骤1740为止的信息变换成预定的数据单元格式并生成分段格式信息。为了在图17所示流程中获得整个表格的分段格式信息,也可以省略步骤1720。如果在1710获得的栅格表示中不含有错误,那么也可以省略步骤1730。倘若由于表格图像的质量差而使1710获得的栅格表示中含有许多错误,那么也能够从步骤1700开始执行另一表格图像的处理。此外,也能够从输入设备10输入全部信息而无需在步骤1710中分析格式。
接下来,将描述另外一种生成不能被现有分段格式信息处理的表格的分段格式信息的方法。
首先,输入要被另外生成的表格图像并使用现有的分段格式信息来识别该表格图像。显示能够用现有分段格式信息处理并能够通过匹配来指定的一个段。作为该显示方法的一个例子,把能够被匹配的段用颜色作为标记显示在该图像上。作为显示结果,能够把未经颜色标记的字段判定为不能用现有分段格式信息处理的字段。可以通过自动检测该字段或是通过输入设备10指定该区域来指定需要添加分段格式信息的一个字段。通过执行图17所示的步骤1730之后的处理来添加分段格式信息。
如上所述,根据本发明,通过利用分段格式信息能够准确识别其中尽管具有相同的表格类型,但是在每个表格中的单元格的位置和大小都不同并且单元格的排列也不同的半固定表格。此外,与传统类型中的情形相比,产生了能够减少用于生成格式信息的工时的效果。另外,产生了能够减少格式信息容量的效果。
系统及方法实现使用传统的通用或专用数字计算机或是根据本公开的教导而编程的微处理器可以方便地实现本发明的各部分,因为这对于计算机领域的那些技术人员来说是显而易见的。
基于本公开的教导,能够由熟练的程序员容易地准备适当的软件编码,因为这对于软件领域的那些技术人员来说是显而易见的。还可以通过应用专用集成电路或者与传统元件电路的适当网络互连来实现本发明,因为这对于本领域的那些技术人员来说是容易显而易见的。
本发明包括一计算机程序产品,该产品是其上/其中存储有能够被用来控制或使计算机执行本发明的任何一个处理的指令的存储介质(媒体)。该存储介质包括,但是不限于,包含软盘、迷你盘(MD’s)、光盘、DVD、CD-ROMS、微型驱动器、以及磁光盘之类的任何盘、ROMs、RAMs、EPROMs、EEPROMs、DRAMs、VRAMs、闪存设备(包括闪卡)、磁卡或光卡、纳系统(包括分子存储器ICs)、RAID设备、远程数据存储/存档/入库,或者是适合于存储指令和/或数据的任何类型的媒体或设备。
如果存储在任何一个计算机可读介质(媒体)上,本发明包括用于控制通用/专用计算机或微处理器的硬件的软件,以及用于使该计算机或微处理器能够与人类用户或是利用本发明结果的其它机构配合的软件。这样的软件可以包括,但不限于,设备驱动程序、操作系统、以及用户应用程序。最终,这样的计算机可读媒体进一步包括用于执行如上所述的本发明的软件。
根据本发明的处理,包含在通用/专用计算机或微处理器的程序设计(软件)内的是用于实现本发明教导的软件模块,包括,但不限于,存储一个表格内的多个字段的格式信息,获取该表格中多个段的图像,从存储介质读取该表格的多个字段的格式信息,把多个段的格式信息与相应的多个字段的格式信息相匹配以获得匹配结果,以及依据该匹配结果而把多个段的格式信息与相应的多个字段的格式信息相组合以便,并且获得该图像的确定格式。
在以上说明中,已经参照其中的特定实施例对本发明进行了描述。然而显然,可以对本发明做出各种修改和改变而不脱离本发明的广义精神及范围。因此,应当以说明性而非限制性意义来看待说明书及附图。
权利要求
1.一种表格处理系统,包括一存储设备,配置成存储一个表格的多个字段的格式信息;一图像输入设备,配置成获取该表格的多个段的图像;一读取设备,配置成从该存储设备中读取该表格的多个字段的格式信息;一匹配设备,配置成把该多个段的格式信息与相应的该多个字段的格式信息相匹配以获得匹配结果;以及一组合设备,配置成依据该匹配结果而把该多个段的格式信息与相应的该多个字段的格式信息相组合,其中该组合设备被进一步配置成获得该图像的一个确定格式。
2.根据权利要求1的表格处理设备系统,其中该匹配设备被进一步配置成提取一个与该多个段的格式信息有关的特征;把该特征与该多个字段的格式信息匹配;以及使用与该特征最相似的该多个字段的那个格式信息作为匹配结果。
3.根据权利要求1的表格处理系统,进一步包括一字符识别设备,配置成使用该图像的确定格式以及与该图像的确定格式有关的属性信息来识别该图像内的一个字符,其中该属性信息存储在该存储设备内。
4.根据权利要求2的表格处理系统,进一步包括一字符识别设备,配置成使用该图像的确定格式以及与该图像的确定格式有关的属性信息来识别该图像内的一个字符,其中该属性信息存储在该存储设备内。
5.一种表格处理方法,该方法包括获取一个表格的图像;显示该图像;分析该图像的布局;提取该图像布局的一个栅格表示;把该栅格表示存入一存储设备;指定该图像的一段;从该存储设备读取该段所应用的栅格表示;以及把该段的属性信息与该栅格表示相联系以获得联系结果;以及把该联系结果存入该存储设备,其中读取步骤和联系步骤被应用于一个字段中除该段外的一个新指定的段。
6.根据权利要求5的方法,其中把该方法的步骤作为一条或多条指令存储在一计算机可读介质上,其中当这些指令被计算机的一个或多个处理器执行时使该计算机执行该方法的步骤。
7.一种在具有一存储设备的系统上进行表格处理的方法,该方法包括存储一个表格的多个字段的格式信息;获取该表格的多个段的图像;从该存储设备中读取该表格的多个字段的格式信息;把该多个段的格式信息与相应的该多个字段的格式信息相匹配以获得匹配结果;以及依据该匹配结果而把该多个段的格式信息与相应的该多个字段的格式信息相组合;以及获得该图像的一个确定格式。
8.根据权利要求7的方法,其中该多个字段的格式包括一格式栅格表示,其中该方法进一步包括从该表格的多个段的图像中提取一个段栅格表示,其中匹配步骤包括使用该格式栅格表示以及该段栅格表示。
9.根据权利要求7的方法,其中使用动态编程来执行该匹配步骤。
10.根据权利要求7的方法,其中把该方法的步骤作为一条或多条指令存储在一计算机可读介质上,其中当这些指令被一计算机的一个或多个处理器执行时使该计算机执行该方法的步骤。
11.根据权利要求7的方法,进一步包括判断在匹配步骤中是否没有获得匹配结果,其中在没有获得匹配结果的情况下,该匹配步骤获取一个比预定值小的值;显示一个与该无匹配结果情况相关的段;分析该与无匹配结果情况有关的段的布局;从该布局中提取一个布局栅格表示;把该与无匹配结果情况相关的段的属性信息与该布局栅格表示相联系以便获得一联系结果;以及把该联系结果存入该存储设备,其中组合步骤包括使用该联系结果。
12.根据权利要求8的方法,进一步包括判断在匹配步骤中是否没有获得匹配结果,其中在没有获得匹配结果的情况下,该匹配步骤获取一个比预定值小的值;显示一个与该无匹配结果情况有关的段;分析该与无匹配结果情况有关的段的布局;从该布局中提取一布局栅格表示;把该与无匹配结果情况相关的段的属性信息与该布局栅格表示相联系以便获得一联系结果;以及把该联系结果存入该存储设备,其中组合步骤包括使用该联系结果。
13.根据权利要求9的方法,进一步包括判断在匹配步骤是否没有获得匹配结果,其中在没有获得匹配结果的情况下,该匹配步骤获取一个比预定值小的值;显示一个与该无匹配结果情况有关的段;分析该与无匹配结果情况有关的段的布局;从该布局中提取一布局栅格表示;把该与无匹配结果情况相关的段的属性信息与该布局栅格表示相联系以便获得一联系结果;以及把该联系结果存入该存储设备,其中组合步骤包括使用该联系结果。
全文摘要
本发明公开了为准确匹配具有相同表格类型的半固定表格的格式的格式处理器而提供的系统及方法。在一个例子中,该表格处理系统包括一存储设备,配置成存储一个表格的多个字段的格式信息;一图像输入设备,配置成获取该表格的多个段的图像;一读取设备,配置成从该存储设备中读取该表格的多个字段的格式信息;一匹配设备,配置成把该多个段的格式信息与相应的该多个字段的格式信息相匹配以获得匹配结果;以及一组合设备,配置成依据该匹配结果而把该多个段的格式信息与相应的该多个字段的格式信息相组合,其中该组合设备被进一步配置成获得该图像的一个确定格式。
文档编号G06F17/24GK1492377SQ0314511
公开日2004年4月28日 申请日期2003年6月19日 优先权日2002年10月21日
发明者新庄广, 古川直广, 广 申请人:株式会社日立制作所