图象了解系统的制作方法

文档序号:94054阅读:362来源:国知局
专利名称:图象了解系统的制作方法
一般地说,本发明涉及一种文件图象处理系统,更具体地说,是涉及了一种适于作电子文件图象存储器的输入单元的文件图象处理系统。
通常的一些电子文件存储器只是把文件的每一页作为一个图象来存储,而用于信息检索的辅助信息必须用代码输入装置(比如键盘)从外部单独地输入。然而,为了使文件输入工作自动化,最好通过自动地读出文件中所描述的题目,作者名字等来生成辅助信息。为了进一步改进信息检索,需要实现图表标题和章节标题的自动输入,或者通过正文本身的识别自动抽取关键词。同时要求把目标文件之图象划分成各部分,比如标题、作者、摘要、正文、数字、插图等,以减少存储空间并增加检索的自由度。
为了解决上述问题,目前已研究出了一个能够了解文件内容并根据了解的结果处理文件的系统,由尤杰·诺古奇(Yoji Noguchi)和朱尼奇·托亚特(Junichi Toyoter)在“报刊文章剪辑系统的基本研究”中所公开的就是这种系统的一例(日本信息处理协会第23次全国大会文件摘需6C-1)。然而,由于这个文件了解系统是针对报纸的剪辑而研制的,所以还不清楚是否可以把它应用到具有任意格式的文件中。另外,它只是把字符部分分割,而分割和识别相结合的方法却没有公开。
本发明的目的是提供一种图象了解系统,它可处理普遍的文件图象,根据它们的结构把它们分割,使之可能在任何需要的时候识别字符部分。
为了完成上述目的,本发明运用了一种描述文件图象之结构的语法和对以这种语法表示的语句(文件的结构)进行分析,以识别输入未知的图象的结构。该语法把图象描述为一些子结构及其它们之间的相对关系。在分析过程中,识别了子结构和它们的相对关系以后,做搜索,看未知的输入图象中是否存在这些子结构和相对关系,如果存在,再进一步分解这些子结构的内部,以进行分析;如果不存在,则搜索其它的可能性。从这样一种搜索的结果中我们可以了解输入未知图象的结构。
下面是附图的简要描述图1表示文件的一例;
图2表示本发明的一个实施方案;
图3、4、5和6是流程图,用于说明图2中所示控制单元的处理过程;
图7是表示一个文件例子的参考图;
图8、9、10、11、12和13是用于解释本发明的第四实施方案工作原理的解释图;
图14和图15是流程图,用于解释本发明的第四实施方案中控制单元102所进行的处理;
图16和图17是解释图,用于解释图15中所示的处理内容。
在描述这些实施方案以前,让我们首先解释一下本发明实施方案的语法分析方法。虽然下面是以技术论文为例来描述,但因为语法格式有一定程度的不同,所以通过改变语法的某些部分,也可以将本发明应用到其它文件中去。因此,本发明不受技术论文的具体限制。
图1示例了一页具有预定格式的技术论文,下面将说明一个表示文件结构的语法例子(以后称为“文件语法”)。
(原文行)
1.<文件> ∷=|<技术论文>|<平装本小说>|~|<专利>
2.<技术论文> ∷=<题目页>
3.<技术论文> ∷=<技术论文>〔+<接续页>〕4.<题目页> ∷=|<UDC>η<题目内容>η<作者摘要>η<正文>η<题目页分隔符>
5.<接续页> ∷=<标题>η<正文>η<页分隔符>
6.<UDC> ∷=《UDC》
<周期数字>〔
《CL》<周期数字>〕7.<标题> ∷=<日文题目>
<卷数>
<数字>
8.<卷数> ∷=《VOL》
<数字>
《NO》
<数字>
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.<英文正文行区> ∷=<英文正文行>η〔<英文正文行区>〕34.<英文正文行> ∷=<字>
《PLM》
〔<英文正文行区>〕35.<字> ∷=《字母》〔
<字>〕
36.<字> ∷=《字母》〔α<字>〕37.<字> ∷=《字母》〔β<字>〕38.<字> ∷=|{英国的人名}|{英国机构名}|{英国地名}||{一般英文字}|39.<数字> ∷=《数字》〔
<数字>〕40.<周期数字> ∷=<数字>
41.<周期数字> ∷=<周期数字>
<数字>
42.<周期数字> ∷=<周期数字>
《PR》43.《数字》 ∷=|0|1|~|9|44.《字母》 ∷=|a|b|c|d|~|A|B|~|0|1|~|45.《日文字符》 ∷=|す|V|~|尸|亻|~|日|立|~|a|b|~|A|B|~|0|1|~|46.《DLM》 ∷=||,|·|~|47.《CL》 ∷=|∶|48.《PR》 ∷=|.|,|〕|49.<图表> ∷=|-图形-|η<日文解释>
50.<图表> ∷=<日文解释>η<英文解释>
η<表>
51.<图表> ∷=<逻辑框>
52.<逻辑框> ∷=|-字段-|◎|<节>
53.<日文解释> ∷=《字-图形》
<数字>
<日文正文行>
<p><p>71.&lt;参考文献表&gt; ∷=&lt;英文参考文献&gt;
〔η&lt;参考文献表&gt;〕72.&lt;日文参考文献&gt; ∷=&lt;数字&gt;
《PR》
&lt;日文正文行&gt;
73.&lt;日文参考文献&gt; ∷=&lt;日文参考文献&gt;
〔η&lt;日文正文行组&gt;〕74.&lt;英文参考文献&gt; ∷=&lt;数字&gt;
《PR》
&lt;英文正文行&gt;
75.&lt;英文参考&gt; ∷=&lt;英文参考文献&gt;
〔η&lt;英文正文行组&gt;〕上述的文件语法表示普通文件的结构,但特别地摘录了一些有关技术论文的部分。现在以参考图1作例子来解释这个语法。首先解释所用的符号。
&lt; &gt;非终结符(摘要概念)《 》终结符(字符串){ }终结符(在字典中的字符串)|- -|终结符(在图象中的子结构)∷ = 改写的规则| 或(或)〔 〕 可省略+,
,η,α,β,◎,γ,δ为子结构间的算符。
上述语法的第一规则表示各种文件都适用,技术论文是其中之一。第二规则表示仅仅由题目页(图。1,1)构成的一篇技术论文存在。
第三规则代表任意数目(包括0)可以加到某篇文件最后的页数。第四规则表示,在题目页上,题目内容(图1,3)位于UDC符号的下面〔UDC是通用的十进制分类(图1,2)〕“作者摘要”(图1,4)位于前者的下面,接着是正文(图1,7),最后是“页数”(图1,9)。这里,就象第12规则中所示的,“作者摘要”表示“作者组”(图1,6)在摘要(图1,5)的右边,且且,该摘要是“英文正文行区”,如第13规则中所示。作者组可以是由规则14中所示的一个作者组成,或者由许多作者组成,把其它作者(任意数目的)加在该作者组的下面,如第15规则中所示。作者是由日文正文行(人名)水平结合英文正文行(人名)构成的,如第16规则中所示。由于在这个实施方案中正文(图1,7)垂直地平分一页,故引进了“栏”(图1,8)的概念,这样正文是由栏的水平组合构成的,如第18规则所示。每一栏由连续的一些节组成,如第19规则中所示。节正文由段组成,如第26规则中所示。段可以是日文正文行或图表,如规则第27和第28所示。日文正文行由水平连续日文字符被
、α和β连接组成的,如规则第30和第32中所示。这里,
代表简单的水平连续,α代表水平的笔划,而β代表水平向上笔划,这些情况都会出现。所谓日文字符包括平段名、片假名、汉字、字母、数字等,如第45规则所示。
要了解一个文件,首先假设输入文件是一篇技术论文,然后顺序检查是否存在有用这种文件语法描述的结构。这样,不同的图象处理就要用到每个算符。例如,因为算符η表示一些子结构垂直地连续,所以,用来检测垂直子结构连续的处理过程就相应于这个算符η。作为这种处理的一个例子,有这样一种处理,即检测垂直白象素的连续。同样的,检测出垂直白象素连续,并分割字符的处理就属于
;而检测出白象素的倾斜连续并分割字符的处理就属于β。
从上面给出的描述可知,在本发明中所提出的文件语法分层地,循环重复地描述了一个复杂文件的结构。因此,这种语法能描述那些通常一直不易描述的对象,比如那些无确定正文行数的文件和子结构状态不明的文件。通过一些算符来描述子结构的实际关系,然后通过图象处理来检验算符所表示的关系,我们能够了解广泛种类的文件。
比如,我们将参考附图详细地描述本发明的最佳实施方案。
图2是表示一个装置的结构的方框图,该装置使用的文件处理系统是根据本发明的一个实施方案。通过总线101连接装置的每个组成部分,由控制单元102来控制该装置的整个操作。通过光电转换装置104对文件103上的信息(文件图象)进行扫描和数字化,然后通过总线101把它存储在存储器1051中。存储器1051与后面出现的存储器1052,1053,1054一起构成了存储器105的一部分。当文件信息数字化时,可以实现以前所知的有效编码,这样做可以节省存储文件图象的存储器容量。
在下面的描述中,数字化是以每比特一个象素来实现的,但可以用多值来表示一个象素,还可以运用彩色扫描器的光电转换进一步提供具有彩色信息的象素。通过控制单元102对文件图象应用已知的位置校正和旋转校正来获得标准图象,把这个标准图象存储在存储器1052中。通过控制单元102的程序控制,以下述方式来实现对这种标准图象的文件了解,并把了解的结果送到文件装置106。
图3是一个流程图,以PAD(问题分析图解)的形式表示了文件了解的处理流程。步骤302是整个的初始化。步骤303是一种循环,它重复下面的处理直到文件末尾。在步骤304输入一页图象。步骤305是循环控制,它根据文件语法解释这一页。在步骤306,提取一个语句,在步骤307完成对它的语法分析等,并决定接受或拒绝这个语句。用于后面语法分析操作的堆栈初始化在步骤307完成。栈位于存储器1054。步骤308控制从步骤309到步骤313的处理流程。步骤309检测出算符的存在,这是分别对应于算符3091-3093的处理的一组分支。3091,3092和3093是分别对应于算符
,η和α的图象处理。我们还将在其它地方详细描述这些图象处理。步骤310检测出算符是否存在,如果没有,则该处理在步骤313退出308循环等等,然后转移到下一个正文行的处理(307)。如果算符存在,在步骤311压下堆栈,使算符处于栈顶,步骤312检测出子结构的存在。子结构的检测由部分3121(用它鉴别终结符)和部分3122(鉴别非终结符)组成。
通过循环执行用于语句的步骤307等的处理对3122进行处理。终结符的鉴别是这样一种处理,比如在数字情况下实现字符的识别,并判定该识别的结果是否属于这数字值。
当以上方式完成了所有的子结构和算符的解释时,就全部地完成了该文件中这一页的了解工作。文件了解的结果包括栈中(存储器1054)的子结构和它的内容(字符串),以及这些子结构之间的算符。在步骤314处转换成规定的代码以后,把这些结果输出到文件装置106。如果不能以语法的任何语句来解释,则这个文件就不能被了解。对于所有的正文行,程序都在步骤313退出了循环就是这样的情况,而这种状态在步骤316决定。如果这个文件不能被了解,在步骤317执行拒绝程序。例如,把文件了解的最后结果显示在显示器107上,并利用键盘108通过人-机对话进行修改。
图4是一个流程图,表示图3中在3092处所述的算符η的图象处理,即是以PAD方式检测出白象素的水平连续。在图4中,步骤401是主处理的入口,并给出存储在存储器1052中的标准化图象Q。在步骤402,按照扫描行j的规定重复步骤403-409的处理,以便在一个长运行A(j)中获得黑象素的总和。步骤403是一个初始化步骤。步骤404判定在扫描行中的象素Q(ij)是1或是0,如果是1,则在步骤406处对黑象素的运行长度B进行计较。如果Q(ij)是0,则当前面象素的运行长度大于步骤407确定的值q时,求和处理在步骤408完成,并且在步骤409重置求和长度B。该循环完成以后,在步骤410把B加到和A(j)上,因为在从步骤404开始执行这些步骤的循环中,在最右端的象素(i=I-1)处的求和没有实现。由于加入了步骤407的判定,所以只有当黑象素的比较长的运行时才对A(j)进行求和,这样使噪声的影响不大。
从步骤411到420的程序是这样的一种处理,它对大于阈值δ2的区域插入A(j)中小于阈值δ1的区域的情况进行检测。步骤411是特征位F1,F2的初始化。步骤412按照扫描行j的规定重复步骤413-419的程序。步骤413检测开始时A(j)是否大于阈值δ2,并在步骤414对特征位F1置位。步骤415在F1=1状态下检测开始时A(j)是否小于阈于值δ1,并在步骤416对特征位F2置位。在此同时,把这次的j作为j1存储起来。步骤417检测在F2=1状态下A(j)大于阈值δ2的点,并在步骤418把j的先前值作为j2存储起来,且程序退出412等等循环。步骤420是一个出口,提供白象素j1,j2和特征位F2运行外边的位置。F2=1代表检测的成功,而F2=0代表在412循环中未发现白象素的运行条件,意味着检测失败。
下面,将描述本发明的第二实施方案。虽然这个实施方案是通过与第一实施方案一样的方框图来实现的,但所用的文件语法有所不同。换句话说,用一些代表实际量的参数与代表子结构间关系的算符(比如、η、α、β、、γ、δ)相联,下面举例表示。
(1,5)、η(3,10)……在这种情况下,η(3,10)表示在垂直方向存在至少3mm,多到10mm的间隙。用于控制算符η(图4)的第一实施方案的流程图变为图5。在图5中,从步骤501到519的程序与图4的步骤401到419的程序一样。步骤520判定在步骤512-519中检测出的白象素的运行是从3到10这个范围内。步骤512与步骤420相同。在第二实施方案中所用的文件语法的语句比第一实施方案的文件语法的语句更复杂些,但它具有的优点是能够更容易地避免在文件了解中的错误判断。这种语法适用于格式变动比较少的文件。
其次,将描述本发明的第三实施方案。虽然这个实施方案可以通过与第一实施方案(图3)一样的方框图来实现,但实施控制的流程与第一实施方案(图3)的不同,如图6所示。
图6是一个流程图,表示在第三实施方案中,以PAD方式进行的文件了解流程。首先,在步骤601把文件语法书写的语句从文件装置(未表示)读入存储器53,在步骤602实现整个系统的初始化。步骤603是一个重复循环,它重复下面的程序直到结束。在步骤604输入文件的第一页图象。且在步骤605调用图象处理子程序。在这时,指定在图象中的哪个区域将被处理。图象处理子程序与语句的解释并行操作,下面将予以描述,运用多道程序或多处理机,从将被处理的图象中直接抽取图形,表,字符和其它终结符,并且以存储器中的确定地址来表示代表抽取的那些数据。顺便说一下,当运用多处理机时,图2的方框图需附加某些条件,但因为该方框图能够很容易地改变,所以这些附加条件因而被省略。
步骤606是一个控制循环,它根据文件语法解释这一页。在步骤607,检查图象处理的结果,且在步骤608,根据抽取的结果来搜索描述它的子结构的语句。因为这个处理是与图象处理并行执行的,故而必须等待图象处理的完成。
步骤609实现后面处理所用栈的初始化。步骤610用于处理正文行,并控制从步骤611到步骤615的处理流程。步骤610与图3中的步骤309一样。步骤612检测算符是否存在,如果不存在,则程序将从609步骤的循环退出。如果它们存在,则把堆栈下推,并把算符置于栈顶。步骤613检测该子结构是否存在。对于其余的图象,重复进行子结构的检测,而不是通过图象处理子程序检测这部分图象,但由于它与图3基本相同,因此将其省略了。步骤616(文件了解的最后结果的输出)和步骤617与图3中的相同。虽然第三实施方案比第一实施方案复杂,但因为图象处理的结果引起了语法分析,使之不分析那些相关的语法部分,所以用这个实施方案可以较快的进行处理。
下面,在描述本发明的第四实施方案之前,我们将解释语法分析方法。图7表示一例具有预定格式的技术论文的一页。虽然以下的描述是针对技术论文,但因为语法的形式有一些不同,所以通过改变一部分文件语法可将本发明应用到其它文件上。因此,本发明并不特别地局限于这种技术论文的例子。
下面是描述文件的结构的语法例子(以后称为“文件语法”)。
(defform F(form F1(1090 1040))(form F2……)(form F3……))(defform F1
(form F11(10 90 10 50))(form F12(10 90 60 90)))(defform LINE-1(%1)(Point?Y1(mode IN Y LESS)(Point?Y2(mode out Y LESS)(form %1(0?W?Y19Y2)))我们将参考图7的例子解释上面所述的语法。第一个符号““defform F …”表示格式F由格式F1和在格式F1下面水平连续的格式F2和F3组成,如图8中所示。在图7中,与图8的F、F1、F2和F3位置对应的这些部分用虚线圈起来。紧接着格式F1,在圆括号中的四个数中10,90,10,40表示格式F1的区域位置(当把对应于格式F的整个区域表示为100×100时)。这里,该坐标系统的原点在左上角。代表该区域的数值是一个X-坐标的最小值,一个X-坐标的最大值,一个Y坐标的最小值和一个Y坐标的最大值。如在该实施方案中,参数值已知时,则可把这些值直接写出。同样,用矩形区域描述格式F2和F3。
接下去的符号“defform F1…”表示格式F1由垂直设置的格式F11和F12组成的。换句话说,格式F11在Y轴方向的区域是从10到50,而格式F12的区域是从60到90。运用原点在格式F1左上角的坐标系统来描述格式F11和F12的区域位置。因此,从格式F来看,它是一个相对的坐标系统。
在上述方法中,当用矩形区域描写格式,并把格式分层地描述为一个接一个的区域组时,就能以一个通用的形式描述图象。当然,不用分层表示,而以格式F为参考的绝对坐标系统也能进行描述,如图9中所示。在这种情况下,矩形区域可以用图8的同样方法来表示,如下面方式(defform F(form F11(18,82,13,25))(form F12(18,82,28,38))(form F2 …… ……)(form F3 …… ……)接下去的符号“deffmac LINE-1(%1)”等等。是宏语句的定义。下面三个正文行的描述作为宏语句定义的主体,表示矩形区上面第一行是格式%1。
(point? Y1(mode IN Y LESS))(point? Y2(mode OUT Y LESS))(form %1(0? W? Y1? Y2))这里,符号?W?H表示格式的垂直尺寸(高度),?W表示格式的水平尺寸(宽度)。符号?Y1和?Y2是变量,通过搜索来识别,下面将要描述这点。
符号“point”表示满足一定条件的点搜索,并把它代入到变量。搜索条件由“mode”标明。“IN·OUT”表示搜索点是一个从白象素区到黑象素区的变化点。“Y”表示搜索的轴,“LESS”表示搜索方向。符号“area”表示搜索范围里的一个区。
我们将参考图10举例解释关于宏语句定义的语句的搜索方法。
符号(A)表示正文行“题目…,作者…”存在于格式中。(B)和(C)表示在Y方向这些正文行的坐标值,也就是第一和第二行。第一行存在于从?Y1到?Y2,而第二行是从?Y3到?Y4。如上述所述,(B)是宏语句,它定义了第一行的格式是%1;而(C)是一个宏语句,定义第二行的格式是%1。这些宏语句的用法如下。
(LINE-1F1)(LINE-2F2)换句话说,第一行的格式是F1,第二行的格式是F2。通过(B)的第二行的“point”指明的坐标值?Y1的搜索条件是IN Y LESS。因此,搜索的条件是从白象素区到黑象素区的变化点,搜索轴是Y,它的方向是LESS,即,搜索是从Y坐标的一个较小值开始进行的。当搜索是从Y坐标的一个较大值开始进行时,必须用GREATER标志。上限坐标值?Y1满足这些条件。在上述的搜索条件下,可以在(B)的第三行中,将“point”标志的下限坐标值?Y2描述成从黑象素区到白象素区的变化点。换句话说,?Y2的搜索条件是OUT Y LESS。
下面将解释示明格式中第二行的(C)。第二行紧接着第一行。因此,第一行的下限?Y2被搜索到,?Y3表示搜索范围之内用area表示的区域。换句话说,把搜索目标的矩形区域描述为0?W ?Y2 ?H,便可以从第一行的下限进行类似的搜索。
在文件了解中,涉及的是用文件语法所写的语句,并顺序检查是否其中存在所描述的矩形区。当搜索包含有变量的矩形区域时,能够获得变量的数值,此后就用该数值代替变量。
下面将解释在矩形区之间的操作。在一个实际文件中,区域表现为多种形式,而不是矩形。图213(B)示出了一些区域形状是非矩形的例子。(C)示出了一个区域分成了两块的例子。图13(B)可以看到两个矩形区域的合
分离,就如图中虚线所示的。若假定一个矩形区域是由两个矩形区域合成的,则(C)的描述就变得简单了。为了能够进行这些矩形区域之间的操作,我们用下面的方式定义区域的虚移位。
(map &amp; form F(space ?W ?H)(position((?XO ?YO)(?Xmin ?Xmax ?Ymin?Ymax))(…… ))图14表示这个定义的意思。术语“Space”表示重新设置一个宽度为?W高度为?H的矩形区作为格式F,并移位到这个区。术语“positon”表示移到了终点的矩形区左上坐标。用四个值(?Xmin ?Xmax ?Ymin ?Ymax)表示移到终点的矩形区域,并把这4个数值复制到上面所描述的移位终点。
我们将参考图13对虚移位进行更加明确地描述。作为分析目的的现在假设是实际格式设置,如(A)中所示。这指的是“多栏”或“双栏”。格式F1和F2在空间上处于水平相邻位置,但从语义上必须想像它们是处于垂直相邻位置如(B)中所示。
可以把矩形区之间的操作表示如下。
(map &amp; form F(Space 50 60(positioN((10 10)(10 4010 40))((10 40)(40 7010 30))(C)中所示的实际格式“Space”设置了一个宽50高60的矩形区。(B)和(C)之间的关系表示如下。
(position ((10 10)(10 40 1040))((10 40)(40 70 1030)))在(B)中的矩形区(10 40 10 40)被移位到(C)中原点在(10 10)的区域。
如果把上述的虚移位组合起来,则如图13所示的一个具有复杂形状的区域能够通过至少两个矩形区域之间的移位操作来表示。例如,图13(B)可以表示为具有不同尺寸而保持彼此邻接的两个矩形区的移位。
正如上面给出的描述可了解到的,在本发明中提出的文件语法把文件的结构表示为矩形区域的组合,并通过语法表示了矩形区域间的关系。因此,能够增加文件的可表示能力,在区域中的正文行数不够或特定的矩形区域形状不清的情况下,用常规方法一直是难于处理的对象现在能够描绘了。因此,能够分析范围很广的多种文件。
下面,将参考附图描述本发明的第四实施方案。
除了控制单元102的处理不同之外,这个实施方案用第一实施方案一样的方法,通过图2方框图所示的装置予以实施。我们将假设用上述文件语法书写的、作为目标的文件语句预先存储在存储器1053中。控制单元102运用这些语句进行标准化图象的文件了解处理。这里,术语“文件了解处理”的意思是把数据分为许多矩形区,并对每个区域进行分类。在作为文件了解处理的结果而得到的区域中,把作为检索目标的预定区域的这部分图象送到字符识别单元6,以识别内部字符的模式。一般,原文件的图象具有复杂的形状,但因作为文件了解结果所得到的区域是矩形的,所以根据已知的一些方法,能够容易地进行字符分割和识别。作为字符识别结果所得到的字符码串,或编辑这字符码串获得的字符码串即为该输入文件的检索信息。如此获得的输入文件检索信息,和文件的数字图象被呈送到文件装置106中。当把文件的数字图象输出到文件装置106时,可以以多个分开的矩形区域作为单位分别输出。
下面将详细描述该文件了解处理。图14和图15是流程图,用于说明文件了解的控制流程。该控制的流程是以PAD(program Analysis-Diagram程序分析图)形式写出的。在步骤1100完成提取文件图象的轮廓,并把它存储在存储器1054中。轮廓提取可用已知的一些方法。一种D(作为“相连区域提取”的方法)可用于代替轮廓提取。从步骤1200所提取的每个轮廓i提取了X和Y坐标的最大值和最小值。
Xmim(i),Xmax(i),Ymim(i),Ymax(i)轮廓i的最外层矩形可以根据这四个数值来确定。步骤1300,1400和1500分别是初始化,语法分析主体和语法分析处理终止判断。在步骤1300,用文件语法写出并存储在存储器1053中的语句被复制到工作存储器1055中,并把程序中的各种表和变量初始化。
语法分析1400的主体是由1410到1460组成的。步骤1410进行控制,使程序从1420到1450重复执行直到步骤1460完成终止判定。在1420,抽取出一个用文件语法所写的语句。术语“未解决的语句”表示包含有其值尚未确定的变量的那些正文行,或者是所对应的文件区域还未确定的那些正文行。在步骤1430做判断,以便在不存在未解决语句时,使步骤1440的程序跳过。在这时执行终结判断。如果在步骤1420所抽出的语句是一个未解决语句,则执行步骤1440的程序。这是进行对语句的种类判断和分支的部分,然后处理的内容随语句的种类而变化。对图14、15等的说明仅仅涉及“形式语句”即下面情况(form FO(?Xmin ?Xmax ?Ymin ?Ymax)(Shrink ?X ?Y))然而,至于其它一些语句,也执行属于这些语句特有的处理。
在图15,1441-1448是处理谓语“form”的部分。步骤1441核对是否登记了格式标号FO,如果没有,在步骤1442把它登记到格式表中。步步1442检查写到变量名?Xmin,?Xmax,?Ymin,?Ymax,?X,?Y位置的字符串是变量还是数字,如果它们是变量,检查它们是否登记了。如果它们还没有登记,则把它们登记到变量表。如果这些变量已经登记了,则检查是否确定了数值。如果没有确定,则该“form”处理即告结束(在这种情况下,这个语句是未解决语句)。如果它们已经确定,则用上述的数值代替语句中的变量名。举一个确定的例子,当?Xmin=0,?Xmax=90,?Ymin和?Ymax没有登记?X=5 ?Y=5,则上述的语句可以代之如下(form FO(0 90 ?Ymin ?Ymax)(Shrink 5 5),并把变量?Ymin和?Ymax登记到变量表,而其值是不定的。
在步骤1443,根据在语句中的变量名是否都被数值所取代来实现分支,如果都已取代,则实现步骤1444的“form”执行程序。“form”执行的详细过程由步骤1445-1448表示。步骤1445表示,对步骤1200所抽取的轮廓i重复下面的程序。在步骤1446,把轮廓i的X和Y坐标的最小值和最大值,即,?Xmin(i),Xmax(i),Ymin(i),Ymax(i)与对应于语句中变量的数值,即,?Xmin,?Xmax,?Ymin,?Ymax,?X,?Y进行比较,检查这个轮廓是否满足下面的关系?Xmin<Xmin(i)<Xmax(i)<??Xmax?Ymin<Ymin(i)<Ymax(i)<?Ymax?X<Xmax(i)-Xmin(i)?Y<Ymax(i)-Ymin(i)当上述的条件满足时,在步骤1447把轮廓i登记到FO的分量表中。当不存在满足上述条件的外形时,步骤1448将语法分析失败的特征位置位。
如上所述,步骤1441到1448的程序可以检测出输入图象中是否存在对应于语句“form”的结构。这也就抓住了正确的语句,而不是“form”语句。在“form”的情况下,不存在输出数据,但依语句而定,其中有一种语句,它的变量已被分析时所得的参数代替,然后将其结果用于其它的语句。
步骤1450检查分析失败特征位,当分析失败时,则进行回溯和重审。在这时,进行控制以便程序回到已解决的语句,已被参数所代替的变量再一次写成原来的状态,并搜索其它的可能性。
步骤1460检测分析失败特征位是否置位,或者在回溯和重审以后分析失败特征位是否置位,并进行终结判断。
步骤1500是把分析结果所得的数据传到外部的部分。被传送到外部的数据包括被检测出的文件上的矩形区坐标,等等,这文件是同格式标号相对应的。
当以分析失败特征位置位作标志的语句分析失败时,这个失败就不能了解了。在这时,将执行拒绝程序。例如,把文件了解的最后或中间结果显示到显示器108上,并通过人机对话进行校正。
下面,参考图16更明确地说明“form”执行的内容。图16(A)表示在图象中有噪声(
)和字符1,A,2,B模式存在的情况。
图16(B)表示在“form”语句在执行时,参数的情况是(form F(20 80 10 50)(Shrink 0 0))图16(C)表示在“form”语句执行时,参数的情况是(form F(20 80 10 50)(Shrink 5 5))如该图所示,在(B)情况中,噪声和字符1、A模式已登记到格式F的元素表里了。在情况(C)中,虽然把字符1、A模式登记了,但噪声没有登记,通过收缩标志将其消除。在“form”执行以后,用区域里字符模式,能够把格式F的矩形区标准化,就象图中所示。所以区域的大小能够灵活地识别。
现在,我们参考图17来明确解释“form”执行时轮廓的选择方法。图17(A)表示最外层矩形,它是图14中步骤1200的一些轮廓栈构成的图象处理的结果。参考数字5表示噪声,1到4是字符模式,而6到8叫作“内部轮廓”。图17(B)表示它们的Xmin,Xmax,Ymin和Ymax。它们是否包含在格式F中,是通过是否满足下面的关系来判断,这关系是20<Xmin(i)<Xmax(i)<8010<Ymin(i)<Ymax(i)<505<Xmin(i)-Xmin(i)5<Ymax(i)-Ymin(i)在这个情况下,轮廓i=1和3是满足的。因为3的字符模式包含6的模式,故它可以从格式F中除掉。
如上所述,本发明能够自动地分析所存储的目标文件的语法。因为从键盘上输入辅助信息是不需要的或者可以减到极少,所以输入可以显著地简化。而且,由于把输入的文件分解成子结构并存储这些子结构来代替文件图象,所以节省文件的存储空间,或者能够实现利用子结构的先进检索。
权利要求
1.一种图象了解系统。其特征在于包括存储装置,用于存储按照一种语法所写的语句。该种语法是通过多个子结构和所述子结构间的相对关系来描述图象;通过光-电转换器把输入图象转换为数字化图象的装置;语法分析装置,用于分析按照所述语法写出的语句;图象搜索装置,用于搜索在所述的数字化图象里是否有所述分析所指明的子结构和它们的相对关系存在;图象结构了解装置,用于根据所述的搜索结果了解所述输入图象的结构。
2.根据权利要求
1的图象了解系统,其中,用算符来描述所述的子结构和它们的相对关系。
3.根据权利要求
2的图象了解系统,其中所述的子结构包括有算符,它们表示子结构是由水平或垂直白象素的运行所分隔的。
4.根据权利要求
2的图象了解系统,其中所述的算符是通过实际的参数连接起来的。
专利摘要
本发明的图象了解系统使用了一种描述文件图象的语法,并通过分析按照这种语法所写的语句(即该语法的结构)表示出一个未知输入图象的结构。换句话说,这种语法将图象描述成子结构和它们之间的相对关系。在语法分析中,当识别了子结构和它们的相对关系后,便在未知的输入图象中进行搜索,看是否存在这种子结构和它们的相对关系。根据这个搜索的结果来表示未知输入图象的结构。
文档编号G06K9/36GK85106850SQ85106850
公开日1987年8月5日 申请日期1985年9月11日
发明者中野康明, 藤泽浩道, 东野纯一, 江尼正员 申请人:株式会社日立制作所导出引文BiBTeX, EndNote, RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1