專利名稱:圖象了解系統(tǒng)的制作方法
一般地說,本發(fā)明涉及一種文件圖象處理系統(tǒng),更具體地說,是涉及了一種適于作電子文件圖象存儲器的輸入單元的文件圖象處理系統(tǒng)。
通常的一些電子文件存儲器只是把文件的每一頁作為一個圖象來存儲,而用于信息檢索的輔助信息必須用代碼輸入裝置(比如鍵盤)從外部單獨地輸入。然而,為了使文件輸入工作自動化,最好通過自動地讀出文件中所描述的題目,作者名字等來生成輔助信息。為了進一步改進信息檢索,需要實現(xiàn)圖表標題和章節(jié)標題的自動輸入,或者通過正文本身的識別自動抽取關(guān)鍵詞。同時要求把目標文件之圖象劃分成各部分,比如標題、作者、摘要、正文、數(shù)字、插圖等,以減少存儲空間并增加檢索的自由度。
為了解決上述問題,目前已研究出了一個能夠了解文件內(nèi)容并根據(jù)了解的結(jié)果處理文件的系統(tǒng),由尤杰·諾古奇(Yoji Noguchi)和朱尼奇·托亞特(Junichi Toyoter)在“報刊文章剪輯系統(tǒng)的基本研究”中所公開的就是這種系統(tǒng)的一例(日本信息處理協(xié)會第23次全國大會文件摘需6C-1)。然而,由于這個文件了解系統(tǒng)是針對報紙的剪輯而研制的,所以還不清楚是否可以把它應(yīng)用到具有任意格式的文件中。另外,它只是把字符部分分割,而分割和識別相結(jié)合的方法卻沒有公開。
本發(fā)明的目的是提供一種圖象了解系統(tǒng),它可處理普遍的文件圖象,根據(jù)它們的結(jié)構(gòu)把它們分割,使之可能在任何需要的時候識別字符部分。
為了完成上述目的,本發(fā)明運用了一種描述文件圖象之結(jié)構(gòu)的語法和對以這種語法表示的語句(文件的結(jié)構(gòu))進行分析,以識別輸入未知的圖象的結(jié)構(gòu)。該語法把圖象描述為一些子結(jié)構(gòu)及其它們之間的相對關(guān)系。在分析過程中,識別了子結(jié)構(gòu)和它們的相對關(guān)系以后,做搜索,看未知的輸入圖象中是否存在這些子結(jié)構(gòu)和相對關(guān)系,如果存在,再進一步分解這些子結(jié)構(gòu)的內(nèi)部,以進行分析;如果不存在,則搜索其它的可能性。從這樣一種搜索的結(jié)果中我們可以了解輸入未知圖象的結(jié)構(gòu)。
下面是附圖的簡要描述圖1表示文件的一例;
圖2表示本發(fā)明的一個實施方案;
圖3、4、5和6是流程圖,用于說明圖2中所示控制單元的處理過程;
圖7是表示一個文件例子的參考圖;
圖8、9、10、11、12和13是用于解釋本發(fā)明的第四實施方案工作原理的解釋圖;
圖14和圖15是流程圖,用于解釋本發(fā)明的第四實施方案中控制單元102所進行的處理;
圖16和圖17是解釋圖,用于解釋圖15中所示的處理內(nèi)容。
在描述這些實施方案以前,讓我們首先解釋一下本發(fā)明實施方案的語法分析方法。雖然下面是以技術(shù)論文為例來描述,但因為語法格式有一定程度的不同,所以通過改變語法的某些部分,也可以將本發(fā)明應(yīng)用到其它文件中去。因此,本發(fā)明不受技術(shù)論文的具體限制。
圖1示例了一頁具有預(yù)定格式的技術(shù)論文,下面將說明一個表示文件結(jié)構(gòu)的語法例子(以后稱為“文件語法”)。
(原文行)
1.<文件> ∷=|<技術(shù)論文>|<平裝本小說>|~|<專利>
2.<技術(shù)論文> ∷=<題目頁>
3.<技術(shù)論文> ∷=<技術(shù)論文>〔+<接續(xù)頁>〕4.<題目頁> ∷=|<UDC>η<題目內(nèi)容>η<作者摘要>η<正文>η<題目頁分隔符>
5.<接續(xù)頁> ∷=<標題>η<正文>η<頁分隔符>
6.<UDC> ∷=《UDC》
<周期數(shù)字>〔
《CL》<周期數(shù)字>〕7.<標題> ∷=<日文題目>
<卷數(shù)>
<數(shù)字>
8.<卷數(shù)> ∷=《VOL》
<數(shù)字>
《NO》
<數(shù)字>
9.<題目內(nèi)容> ∷=<日文題目>η<英文題目>
10.<日文題目> ∷=<日文正文行區(qū)>
11.<英文題目> ∷=<英文正文行區(qū)>
12.<作者摘要> ∷=<摘要>
<作者組>
13.<摘要> ∷=<英文正文行區(qū)>
14.<作者組> ∷=<作者>
15.<作者組> ∷=<作者組>〔η<作者>〕16.<作者> ∷=<日文正文行>
<英文正文行>
17.<頁數(shù)> ∷=<數(shù)字>
18.<正文> ∷=<欄>
<欄>
19.<欄> ∷=<節(jié)>〔η<欄>〕20.<節(jié)> ∷=<章標題>η<節(jié)標題>
η<節(jié)正文>
21.<節(jié)> ∷=<節(jié)標題>η<節(jié)正文>
22.<節(jié)> ∷=<節(jié)正文>
23.<節(jié)> ∷=《參考文獻》η<參考文獻表>
24.<章標題> ∷=《數(shù)字》
<日文正文行>
25.<節(jié)標題> ∷=<周期數(shù)字>
<日文正文行>
26.<節(jié)正文> ∷=<段>〔η<節(jié)正文>〕27.<段> ∷=<日文正文行區(qū)>
28.<段> ∷=<圖表>
29.<日文正文行區(qū)> ∷=<日文正文行>η〔<日文正文行區(qū)>〕30.<日文正文行> ∷=《日文字符》
〔<日文正文行>〕31.<日文正文行> ∷=《日文字符》α〔<日文正文行>〕32.<日文正文行> ∷=《日文字符》β〔<日文正文行>〕33.<英文正文行區(qū)> ∷=<英文正文行>η〔<英文正文行區(qū)>〕34.<英文正文行> ∷=<字>
《PLM》
〔<英文正文行區(qū)>〕35.<字> ∷=《字母》〔
<字>〕
36.<字> ∷=《字母》〔α<字>〕37.<字> ∷=《字母》〔β<字>〕38.<字> ∷=|{英國的人名}|{英國機構(gòu)名}|{英國地名}||{一般英文字}|39.<數(shù)字> ∷=《數(shù)字》〔
<數(shù)字>〕40.<周期數(shù)字> ∷=<數(shù)字>
41.<周期數(shù)字> ∷=<周期數(shù)字>
<數(shù)字>
42.<周期數(shù)字> ∷=<周期數(shù)字>
《PR》43.《數(shù)字》 ∷=|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.<邏輯框> ∷=|-字段-|◎|<節(jié)>
53.<日文解釋> ∷=《字-圖形》
<數(shù)字>
<日文正文行>
<p><p>71.<參考文獻表> ∷=<英文參考文獻>
〔η<參考文獻表>〕72.<日文參考文獻> ∷=<數(shù)字>
《PR》
<日文正文行>
73.<日文參考文獻> ∷=<日文參考文獻>
〔η<日文正文行組>〕74.<英文參考文獻> ∷=<數(shù)字>
《PR》
<英文正文行>
75.<英文參考> ∷=<英文參考文獻>
〔η<英文正文行組>〕上述的文件語法表示普通文件的結(jié)構(gòu),但特別地摘錄了一些有關(guān)技術(shù)論文的部分?,F(xiàn)在以參考圖1作例子來解釋這個語法。首先解釋所用的符號。
< >非終結(jié)符(摘要概念)《 》終結(jié)符(字符串){ }終結(jié)符(在字典中的字符串)|- -|終結(jié)符(在圖象中的子結(jié)構(gòu))∷ = 改寫的規(guī)則| 或(或)〔 〕 可省略+,
,η,α,β,◎,γ,δ為子結(jié)構(gòu)間的算符。
上述語法的第一規(guī)則表示各種文件都適用,技術(shù)論文是其中之一。第二規(guī)則表示僅僅由題目頁(圖。1,1)構(gòu)成的一篇技術(shù)論文存在。
第三規(guī)則代表任意數(shù)目(包括0)可以加到某篇文件最后的頁數(shù)。第四規(guī)則表示,在題目頁上,題目內(nèi)容(圖1,3)位于UDC符號的下面〔UDC是通用的十進制分類(圖1,2)〕“作者摘要”(圖1,4)位于前者的下面,接著是正文(圖1,7),最后是“頁數(shù)”(圖1,9)。這里,就象第12規(guī)則中所示的,“作者摘要”表示“作者組”(圖1,6)在摘要(圖1,5)的右邊,且且,該摘要是“英文正文行區(qū)”,如第13規(guī)則中所示。作者組可以是由規(guī)則14中所示的一個作者組成,或者由許多作者組成,把其它作者(任意數(shù)目的)加在該作者組的下面,如第15規(guī)則中所示。作者是由日文正文行(人名)水平結(jié)合英文正文行(人名)構(gòu)成的,如第16規(guī)則中所示。由于在這個實施方案中正文(圖1,7)垂直地平分一頁,故引進了“欄”(圖1,8)的概念,這樣正文是由欄的水平組合構(gòu)成的,如第18規(guī)則所示。每一欄由連續(xù)的一些節(jié)組成,如第19規(guī)則中所示。節(jié)正文由段組成,如第26規(guī)則中所示。段可以是日文正文行或圖表,如規(guī)則第27和第28所示。日文正文行由水平連續(xù)日文字符被
、α和β連接組成的,如規(guī)則第30和第32中所示。這里,
代表簡單的水平連續(xù),α代表水平的筆劃,而β代表水平向上筆劃,這些情況都會出現(xiàn)。所謂日文字符包括平段名、片假名、漢字、字母、數(shù)字等,如第45規(guī)則所示。
要了解一個文件,首先假設(shè)輸入文件是一篇技術(shù)論文,然后順序檢查是否存在有用這種文件語法描述的結(jié)構(gòu)。這樣,不同的圖象處理就要用到每個算符。例如,因為算符η表示一些子結(jié)構(gòu)垂直地連續(xù),所以,用來檢測垂直子結(jié)構(gòu)連續(xù)的處理過程就相應(yīng)于這個算符η。作為這種處理的一個例子,有這樣一種處理,即檢測垂直白象素的連續(xù)。同樣的,檢測出垂直白象素連續(xù),并分割字符的處理就屬于
;而檢測出白象素的傾斜連續(xù)并分割字符的處理就屬于β。
從上面給出的描述可知,在本發(fā)明中所提出的文件語法分層地,循環(huán)重復(fù)地描述了一個復(fù)雜文件的結(jié)構(gòu)。因此,這種語法能描述那些通常一直不易描述的對象,比如那些無確定正文行數(shù)的文件和子結(jié)構(gòu)狀態(tài)不明的文件。通過一些算符來描述子結(jié)構(gòu)的實際關(guān)系,然后通過圖象處理來檢驗算符所表示的關(guān)系,我們能夠了解廣泛種類的文件。
比如,我們將參考附圖詳細地描述本發(fā)明的最佳實施方案。
圖2是表示一個裝置的結(jié)構(gòu)的方框圖,該裝置使用的文件處理系統(tǒng)是根據(jù)本發(fā)明的一個實施方案。通過總線101連接裝置的每個組成部分,由控制單元102來控制該裝置的整個操作。通過光電轉(zhuǎn)換裝置104對文件103上的信息(文件圖象)進行掃描和數(shù)字化,然后通過總線101把它存儲在存儲器1051中。存儲器1051與后面出現(xiàn)的存儲器1052,1053,1054一起構(gòu)成了存儲器105的一部分。當文件信息數(shù)字化時,可以實現(xiàn)以前所知的有效編碼,這樣做可以節(jié)省存儲文件圖象的存儲器容量。
在下面的描述中,數(shù)字化是以每比特一個象素來實現(xiàn)的,但可以用多值來表示一個象素,還可以運用彩色掃描器的光電轉(zhuǎn)換進一步提供具有彩色信息的象素。通過控制單元102對文件圖象應(yīng)用已知的位置校正和旋轉(zhuǎn)校正來獲得標準圖象,把這個標準圖象存儲在存儲器1052中。通過控制單元102的程序控制,以下述方式來實現(xiàn)對這種標準圖象的文件了解,并把了解的結(jié)果送到文件裝置106。
圖3是一個流程圖,以PAD(問題分析圖解)的形式表示了文件了解的處理流程。步驟302是整個的初始化。步驟303是一種循環(huán),它重復(fù)下面的處理直到文件末尾。在步驟304輸入一頁圖象。步驟305是循環(huán)控制,它根據(jù)文件語法解釋這一頁。在步驟306,提取一個語句,在步驟307完成對它的語法分析等,并決定接受或拒絕這個語句。用于后面語法分析操作的堆棧初始化在步驟307完成。棧位于存儲器1054。步驟308控制從步驟309到步驟313的處理流程。步驟309檢測出算符的存在,這是分別對應(yīng)于算符3091-3093的處理的一組分支。3091,3092和3093是分別對應(yīng)于算符
,η和α的圖象處理。我們還將在其它地方詳細描述這些圖象處理。步驟310檢測出算符是否存在,如果沒有,則該處理在步驟313退出308循環(huán)等等,然后轉(zhuǎn)移到下一個正文行的處理(307)。如果算符存在,在步驟311壓下堆棧,使算符處于棧頂,步驟312檢測出子結(jié)構(gòu)的存在。子結(jié)構(gòu)的檢測由部分3121(用它鑒別終結(jié)符)和部分3122(鑒別非終結(jié)符)組成。
通過循環(huán)執(zhí)行用于語句的步驟307等的處理對3122進行處理。終結(jié)符的鑒別是這樣一種處理,比如在數(shù)字情況下實現(xiàn)字符的識別,并判定該識別的結(jié)果是否屬于這數(shù)字值。
當以上方式完成了所有的子結(jié)構(gòu)和算符的解釋時,就全部地完成了該文件中這一頁的了解工作。文件了解的結(jié)果包括棧中(存儲器1054)的子結(jié)構(gòu)和它的內(nèi)容(字符串),以及這些子結(jié)構(gòu)之間的算符。在步驟314處轉(zhuǎn)換成規(guī)定的代碼以后,把這些結(jié)果輸出到文件裝置106。如果不能以語法的任何語句來解釋,則這個文件就不能被了解。對于所有的正文行,程序都在步驟313退出了循環(huán)就是這樣的情況,而這種狀態(tài)在步驟316決定。如果這個文件不能被了解,在步驟317執(zhí)行拒絕程序。例如,把文件了解的最后結(jié)果顯示在顯示器107上,并利用鍵盤108通過人-機對話進行修改。
圖4是一個流程圖,表示圖3中在3092處所述的算符η的圖象處理,即是以PAD方式檢測出白象素的水平連續(xù)。在圖4中,步驟401是主處理的入口,并給出存儲在存儲器1052中的標準化圖象Q。在步驟402,按照掃描行j的規(guī)定重復(fù)步驟403-409的處理,以便在一個長運行A(j)中獲得黑象素的總和。步驟403是一個初始化步驟。步驟404判定在掃描行中的象素Q(ij)是1或是0,如果是1,則在步驟406處對黑象素的運行長度B進行計較。如果Q(ij)是0,則當前面象素的運行長度大于步驟407確定的值q時,求和處理在步驟408完成,并且在步驟409重置求和長度B。該循環(huán)完成以后,在步驟410把B加到和A(j)上,因為在從步驟404開始執(zhí)行這些步驟的循環(huán)中,在最右端的象素(i=I-1)處的求和沒有實現(xiàn)。由于加入了步驟407的判定,所以只有當黑象素的比較長的運行時才對A(j)進行求和,這樣使噪聲的影響不大。
從步驟411到420的程序是這樣的一種處理,它對大于閾值δ2的區(qū)域插入A(j)中小于閾值δ1的區(qū)域的情況進行檢測。步驟411是特征位F1,F(xiàn)2的初始化。步驟412按照掃描行j的規(guī)定重復(fù)步驟413-419的程序。步驟413檢測開始時A(j)是否大于閾值δ2,并在步驟414對特征位F1置位。步驟415在F1=1狀態(tài)下檢測開始時A(j)是否小于閾于值δ1,并在步驟416對特征位F2置位。在此同時,把這次的j作為j1存儲起來。步驟417檢測在F2=1狀態(tài)下A(j)大于閾值δ2的點,并在步驟418把j的先前值作為j2存儲起來,且程序退出412等等循環(huán)。步驟420是一個出口,提供白象素j1,j2和特征位F2運行外邊的位置。F2=1代表檢測的成功,而F2=0代表在412循環(huán)中未發(fā)現(xiàn)白象素的運行條件,意味著檢測失敗。
下面,將描述本發(fā)明的第二實施方案。雖然這個實施方案是通過與第一實施方案一樣的方框圖來實現(xiàn)的,但所用的文件語法有所不同。換句話說,用一些代表實際量的參數(shù)與代表子結(jié)構(gòu)間關(guān)系的算符(比如、η、α、β、、γ、δ)相聯(lián),下面舉例表示。
(1,5)、η(3,10)……在這種情況下,η(3,10)表示在垂直方向存在至少3mm,多到10mm的間隙。用于控制算符η(圖4)的第一實施方案的流程圖變?yōu)閳D5。在圖5中,從步驟501到519的程序與圖4的步驟401到419的程序一樣。步驟520判定在步驟512-519中檢測出的白象素的運行是從3到10這個范圍內(nèi)。步驟512與步驟420相同。在第二實施方案中所用的文件語法的語句比第一實施方案的文件語法的語句更復(fù)雜些,但它具有的優(yōu)點是能夠更容易地避免在文件了解中的錯誤判斷。這種語法適用于格式變動比較少的文件。
其次,將描述本發(fā)明的第三實施方案。雖然這個實施方案可以通過與第一實施方案(圖3)一樣的方框圖來實現(xiàn),但實施控制的流程與第一實施方案(圖3)的不同,如圖6所示。
圖6是一個流程圖,表示在第三實施方案中,以PAD方式進行的文件了解流程。首先,在步驟601把文件語法書寫的語句從文件裝置(未表示)讀入存儲器53,在步驟602實現(xiàn)整個系統(tǒng)的初始化。步驟603是一個重復(fù)循環(huán),它重復(fù)下面的程序直到結(jié)束。在步驟604輸入文件的第一頁圖象。且在步驟605調(diào)用圖象處理子程序。在這時,指定在圖象中的哪個區(qū)域?qū)⒈惶幚?。圖象處理子程序與語句的解釋并行操作,下面將予以描述,運用多道程序或多處理機,從將被處理的圖象中直接抽取圖形,表,字符和其它終結(jié)符,并且以存儲器中的確定地址來表示代表抽取的那些數(shù)據(jù)。順便說一下,當運用多處理機時,圖2的方框圖需附加某些條件,但因為該方框圖能夠很容易地改變,所以這些附加條件因而被省略。
步驟606是一個控制循環(huán),它根據(jù)文件語法解釋這一頁。在步驟607,檢查圖象處理的結(jié)果,且在步驟608,根據(jù)抽取的結(jié)果來搜索描述它的子結(jié)構(gòu)的語句。因為這個處理是與圖象處理并行執(zhí)行的,故而必須等待圖象處理的完成。
步驟609實現(xiàn)后面處理所用棧的初始化。步驟610用于處理正文行,并控制從步驟611到步驟615的處理流程。步驟610與圖3中的步驟309一樣。步驟612檢測算符是否存在,如果不存在,則程序?qū)?09步驟的循環(huán)退出。如果它們存在,則把堆棧下推,并把算符置于棧頂。步驟613檢測該子結(jié)構(gòu)是否存在。對于其余的圖象,重復(fù)進行子結(jié)構(gòu)的檢測,而不是通過圖象處理子程序檢測這部分圖象,但由于它與圖3基本相同,因此將其省略了。步驟616(文件了解的最后結(jié)果的輸出)和步驟617與圖3中的相同。雖然第三實施方案比第一實施方案復(fù)雜,但因為圖象處理的結(jié)果引起了語法分析,使之不分析那些相關(guān)的語法部分,所以用這個實施方案可以較快的進行處理。
下面,在描述本發(fā)明的第四實施方案之前,我們將解釋語法分析方法。圖7表示一例具有預(yù)定格式的技術(shù)論文的一頁。雖然以下的描述是針對技術(shù)論文,但因為語法的形式有一些不同,所以通過改變一部分文件語法可將本發(fā)明應(yīng)用到其它文件上。因此,本發(fā)明并不特別地局限于這種技術(shù)論文的例子。
下面是描述文件的結(jié)構(gòu)的語法例子(以后稱為“文件語法”)。
(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下面水平連續(xù)的格式F2和F3組成,如圖8中所示。在圖7中,與圖8的F、F1、F2和F3位置對應(yīng)的這些部分用虛線圈起來。緊接著格式F1,在圓括號中的四個數(shù)中10,90,10,40表示格式F1的區(qū)域位置(當把對應(yīng)于格式F的整個區(qū)域表示為100×100時)。這里,該坐標系統(tǒng)的原點在左上角。代表該區(qū)域的數(shù)值是一個X-坐標的最小值,一個X-坐標的最大值,一個Y坐標的最小值和一個Y坐標的最大值。如在該實施方案中,參數(shù)值已知時,則可把這些值直接寫出。同樣,用矩形區(qū)域描述格式F2和F3。
接下去的符號“defform F1…”表示格式F1由垂直設(shè)置的格式F11和F12組成的。換句話說,格式F11在Y軸方向的區(qū)域是從10到50,而格式F12的區(qū)域是從60到90。運用原點在格式F1左上角的坐標系統(tǒng)來描述格式F11和F12的區(qū)域位置。因此,從格式F來看,它是一個相對的坐標系統(tǒng)。
在上述方法中,當用矩形區(qū)域描寫格式,并把格式分層地描述為一個接一個的區(qū)域組時,就能以一個通用的形式描述圖象。當然,不用分層表示,而以格式F為參考的絕對坐標系統(tǒng)也能進行描述,如圖9中所示。在這種情況下,矩形區(qū)域可以用圖8的同樣方法來表示,如下面方式(defform F(form F11(18,82,13,25))(form F12(18,82,28,38))(form F2 …… ……)(form F3 …… ……)接下去的符號“deffmac LINE-1(%1)”等等。是宏語句的定義。下面三個正文行的描述作為宏語句定義的主體,表示矩形區(qū)上面第一行是格式%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”標明?!癐N·OUT”表示搜索點是一個從白象素區(qū)到黑象素區(qū)的變化點?!癥”表示搜索的軸,“LESS”表示搜索方向。符號“area”表示搜索范圍里的一個區(qū)。
我們將參考圖10舉例解釋關(guān)于宏語句定義的語句的搜索方法。
符號(A)表示正文行“題目…,作者…”存在于格式中。(B)和(C)表示在Y方向這些正文行的坐標值,也就是第一和第二行。第一行存在于從?Y1到?Y2,而第二行是從?Y3到?Y4。如上述所述,(B)是宏語句,它定義了第一行的格式是%1;而(C)是一個宏語句,定義第二行的格式是%1。這些宏語句的用法如下。
(LINE-1F1)(LINE-2F2)換句話說,第一行的格式是F1,第二行的格式是F2。通過(B)的第二行的“point”指明的坐標值?Y1的搜索條件是IN Y LESS。因此,搜索的條件是從白象素區(qū)到黑象素區(qū)的變化點,搜索軸是Y,它的方向是LESS,即,搜索是從Y坐標的一個較小值開始進行的。當搜索是從Y坐標的一個較大值開始進行時,必須用GREATER標志。上限坐標值?Y1滿足這些條件。在上述的搜索條件下,可以在(B)的第三行中,將“point”標志的下限坐標值?Y2描述成從黑象素區(qū)到白象素區(qū)的變化點。換句話說,?Y2的搜索條件是OUT Y LESS。
下面將解釋示明格式中第二行的(C)。第二行緊接著第一行。因此,第一行的下限?Y2被搜索到,?Y3表示搜索范圍之內(nèi)用area表示的區(qū)域。換句話說,把搜索目標的矩形區(qū)域描述為0?W ?Y2 ?H,便可以從第一行的下限進行類似的搜索。
在文件了解中,涉及的是用文件語法所寫的語句,并順序檢查是否其中存在所描述的矩形區(qū)。當搜索包含有變量的矩形區(qū)域時,能夠獲得變量的數(shù)值,此后就用該數(shù)值代替變量。
下面將解釋在矩形區(qū)之間的操作。在一個實際文件中,區(qū)域表現(xiàn)為多種形式,而不是矩形。圖213(B)示出了一些區(qū)域形狀是非矩形的例子。(C)示出了一個區(qū)域分成了兩塊的例子。圖13(B)可以看到兩個矩形區(qū)域的合
分離,就如圖中虛線所示的。若假定一個矩形區(qū)域是由兩個矩形區(qū)域合成的,則(C)的描述就變得簡單了。為了能夠進行這些矩形區(qū)域之間的操作,我們用下面的方式定義區(qū)域的虛移位。
(map & form F(space ?W ?H)(position((?XO ?YO)(?Xmin ?Xmax ?Ymin?Ymax))(…… ))圖14表示這個定義的意思。術(shù)語“Space”表示重新設(shè)置一個寬度為?W高度為?H的矩形區(qū)作為格式F,并移位到這個區(qū)。術(shù)語“positon”表示移到了終點的矩形區(qū)左上坐標。用四個值(?Xmin ?Xmax ?Ymin ?Ymax)表示移到終點的矩形區(qū)域,并把這4個數(shù)值復(fù)制到上面所描述的移位終點。
我們將參考圖13對虛移位進行更加明確地描述。作為分析目的的現(xiàn)在假設(shè)是實際格式設(shè)置,如(A)中所示。這指的是“多欄”或“雙欄”。格式F1和F2在空間上處于水平相鄰位置,但從語義上必須想像它們是處于垂直相鄰位置如(B)中所示。
可以把矩形區(qū)之間的操作表示如下。
(map & form F(Space 50 60(positioN((10 10)(10 4010 40))((10 40)(40 7010 30))(C)中所示的實際格式“Space”設(shè)置了一個寬50高60的矩形區(qū)。(B)和(C)之間的關(guān)系表示如下。
(position ((10 10)(10 40 1040))((10 40)(40 70 1030)))在(B)中的矩形區(qū)(10 40 10 40)被移位到(C)中原點在(10 10)的區(qū)域。
如果把上述的虛移位組合起來,則如圖13所示的一個具有復(fù)雜形狀的區(qū)域能夠通過至少兩個矩形區(qū)域之間的移位操作來表示。例如,圖13(B)可以表示為具有不同尺寸而保持彼此鄰接的兩個矩形區(qū)的移位。
正如上面給出的描述可了解到的,在本發(fā)明中提出的文件語法把文件的結(jié)構(gòu)表示為矩形區(qū)域的組合,并通過語法表示了矩形區(qū)域間的關(guān)系。因此,能夠增加文件的可表示能力,在區(qū)域中的正文行數(shù)不夠或特定的矩形區(qū)域形狀不清的情況下,用常規(guī)方法一直是難于處理的對象現(xiàn)在能夠描繪了。因此,能夠分析范圍很廣的多種文件。
下面,將參考附圖描述本發(fā)明的第四實施方案。
除了控制單元102的處理不同之外,這個實施方案用第一實施方案一樣的方法,通過圖2方框圖所示的裝置予以實施。我們將假設(shè)用上述文件語法書寫的、作為目標的文件語句預(yù)先存儲在存儲器1053中??刂茊卧?02運用這些語句進行標準化圖象的文件了解處理。這里,術(shù)語“文件了解處理”的意思是把數(shù)據(jù)分為許多矩形區(qū),并對每個區(qū)域進行分類。在作為文件了解處理的結(jié)果而得到的區(qū)域中,把作為檢索目標的預(yù)定區(qū)域的這部分圖象送到字符識別單元6,以識別內(nèi)部字符的模式。一般,原文件的圖象具有復(fù)雜的形狀,但因作為文件了解結(jié)果所得到的區(qū)域是矩形的,所以根據(jù)已知的一些方法,能夠容易地進行字符分割和識別。作為字符識別結(jié)果所得到的字符碼串,或編輯這字符碼串獲得的字符碼串即為該輸入文件的檢索信息。如此獲得的輸入文件檢索信息,和文件的數(shù)字圖象被呈送到文件裝置106中。當把文件的數(shù)字圖象輸出到文件裝置106時,可以以多個分開的矩形區(qū)域作為單位分別輸出。
下面將詳細描述該文件了解處理。圖14和圖15是流程圖,用于說明文件了解的控制流程。該控制的流程是以PAD(program Analysis-Diagram程序分析圖)形式寫出的。在步驟1100完成提取文件圖象的輪廓,并把它存儲在存儲器1054中。輪廓提取可用已知的一些方法。一種D(作為“相連區(qū)域提取”的方法)可用于代替輪廓提取。從步驟1200所提取的每個輪廓i提取了X和Y坐標的最大值和最小值。
Xmim(i),Xmax(i),Ymim(i),Ymax(i)輪廓i的最外層矩形可以根據(jù)這四個數(shù)值來確定。步驟1300,1400和1500分別是初始化,語法分析主體和語法分析處理終止判斷。在步驟1300,用文件語法寫出并存儲在存儲器1053中的語句被復(fù)制到工作存儲器1055中,并把程序中的各種表和變量初始化。
語法分析1400的主體是由1410到1460組成的。步驟1410進行控制,使程序從1420到1450重復(fù)執(zhí)行直到步驟1460完成終止判定。在1420,抽取出一個用文件語法所寫的語句。術(shù)語“未解決的語句”表示包含有其值尚未確定的變量的那些正文行,或者是所對應(yīng)的文件區(qū)域還未確定的那些正文行。在步驟1430做判斷,以便在不存在未解決語句時,使步驟1440的程序跳過。在這時執(zhí)行終結(jié)判斷。如果在步驟1420所抽出的語句是一個未解決語句,則執(zhí)行步驟1440的程序。這是進行對語句的種類判斷和分支的部分,然后處理的內(nèi)容隨語句的種類而變化。對圖14、15等的說明僅僅涉及“形式語句”即下面情況(form FO(?Xmin ?Xmax ?Ymin ?Ymax)(Shrink ?X ?Y))然而,至于其它一些語句,也執(zhí)行屬于這些語句特有的處理。
在圖15,1441-1448是處理謂語“form”的部分。步驟1441核對是否登記了格式標號FO,如果沒有,在步驟1442把它登記到格式表中。步步1442檢查寫到變量名?Xmin,?Xmax,?Ymin,?Ymax,?X,?Y位置的字符串是變量還是數(shù)字,如果它們是變量,檢查它們是否登記了。如果它們還沒有登記,則把它們登記到變量表。如果這些變量已經(jīng)登記了,則檢查是否確定了數(shù)值。如果沒有確定,則該“form”處理即告結(jié)束(在這種情況下,這個語句是未解決語句)。如果它們已經(jīng)確定,則用上述的數(shù)值代替語句中的變量名。舉一個確定的例子,當?Xmin=0,?Xmax=90,?Ymin和?Ymax沒有登記?X=5 ?Y=5,則上述的語句可以代之如下(form FO(0 90 ?Ymin ?Ymax)(Shrink 5 5),并把變量?Ymin和?Ymax登記到變量表,而其值是不定的。
在步驟1443,根據(jù)在語句中的變量名是否都被數(shù)值所取代來實現(xiàn)分支,如果都已取代,則實現(xiàn)步驟1444的“form”執(zhí)行程序?!癴orm”執(zhí)行的詳細過程由步驟1445-1448表示。步驟1445表示,對步驟1200所抽取的輪廓i重復(fù)下面的程序。在步驟1446,把輪廓i的X和Y坐標的最小值和最大值,即,?Xmin(i),Xmax(i),Ymin(i),Ymax(i)與對應(yīng)于語句中變量的數(shù)值,即,?Xmin,?Xmax,?Ymin,?Ymax,?X,?Y進行比較,檢查這個輪廓是否滿足下面的關(guān)系?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的程序可以檢測出輸入圖象中是否存在對應(yīng)于語句“form”的結(jié)構(gòu)。這也就抓住了正確的語句,而不是“form”語句。在“form”的情況下,不存在輸出數(shù)據(jù),但依語句而定,其中有一種語句,它的變量已被分析時所得的參數(shù)代替,然后將其結(jié)果用于其它的語句。
步驟1450檢查分析失敗特征位,當分析失敗時,則進行回溯和重審。在這時,進行控制以便程序回到已解決的語句,已被參數(shù)所代替的變量再一次寫成原來的狀態(tài),并搜索其它的可能性。
步驟1460檢測分析失敗特征位是否置位,或者在回溯和重審以后分析失敗特征位是否置位,并進行終結(jié)判斷。
步驟1500是把分析結(jié)果所得的數(shù)據(jù)傳到外部的部分。被傳送到外部的數(shù)據(jù)包括被檢測出的文件上的矩形區(qū)坐標,等等,這文件是同格式標號相對應(yīng)的。
當以分析失敗特征位置位作標志的語句分析失敗時,這個失敗就不能了解了。在這時,將執(zhí)行拒絕程序。例如,把文件了解的最后或中間結(jié)果顯示到顯示器108上,并通過人機對話進行校正。
下面,參考圖16更明確地說明“form”執(zhí)行的內(nèi)容。圖16(A)表示在圖象中有噪聲(
)和字符1,A,2,B模式存在的情況。
圖16(B)表示在“form”語句在執(zhí)行時,參數(shù)的情況是(form F(20 80 10 50)(Shrink 0 0))圖16(C)表示在“form”語句執(zhí)行時,參數(shù)的情況是(form F(20 80 10 50)(Shrink 5 5))如該圖所示,在(B)情況中,噪聲和字符1、A模式已登記到格式F的元素表里了。在情況(C)中,雖然把字符1、A模式登記了,但噪聲沒有登記,通過收縮標志將其消除。在“form”執(zhí)行以后,用區(qū)域里字符模式,能夠把格式F的矩形區(qū)標準化,就象圖中所示。所以區(qū)域的大小能夠靈活地識別。
現(xiàn)在,我們參考圖17來明確解釋“form”執(zhí)行時輪廓的選擇方法。圖17(A)表示最外層矩形,它是圖14中步驟1200的一些輪廓棧構(gòu)成的圖象處理的結(jié)果。參考數(shù)字5表示噪聲,1到4是字符模式,而6到8叫作“內(nèi)部輪廓”。圖17(B)表示它們的Xmin,Xmax,Ymin和Ymax。它們是否包含在格式F中,是通過是否滿足下面的關(guān)系來判斷,這關(guān)系是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中除掉。
如上所述,本發(fā)明能夠自動地分析所存儲的目標文件的語法。因為從鍵盤上輸入輔助信息是不需要的或者可以減到極少,所以輸入可以顯著地簡化。而且,由于把輸入的文件分解成子結(jié)構(gòu)并存儲這些子結(jié)構(gòu)來代替文件圖象,所以節(jié)省文件的存儲空間,或者能夠?qū)崿F(xiàn)利用子結(jié)構(gòu)的先進檢索。
權(quán)利要求
1.一種圖象了解系統(tǒng)。其特征在于包括存儲裝置,用于存儲按照一種語法所寫的語句。該種語法是通過多個子結(jié)構(gòu)和所述子結(jié)構(gòu)間的相對關(guān)系來描述圖象;通過光-電轉(zhuǎn)換器把輸入圖象轉(zhuǎn)換為數(shù)字化圖象的裝置;語法分析裝置,用于分析按照所述語法寫出的語句;圖象搜索裝置,用于搜索在所述的數(shù)字化圖象里是否有所述分析所指明的子結(jié)構(gòu)和它們的相對關(guān)系存在;圖象結(jié)構(gòu)了解裝置,用于根據(jù)所述的搜索結(jié)果了解所述輸入圖象的結(jié)構(gòu)。
2.根據(jù)權(quán)利要求
1的圖象了解系統(tǒng),其中,用算符來描述所述的子結(jié)構(gòu)和它們的相對關(guān)系。
3.根據(jù)權(quán)利要求
2的圖象了解系統(tǒng),其中所述的子結(jié)構(gòu)包括有算符,它們表示子結(jié)構(gòu)是由水平或垂直白象素的運行所分隔的。
4.根據(jù)權(quán)利要求
2的圖象了解系統(tǒng),其中所述的算符是通過實際的參數(shù)連接起來的。
專利摘要
本發(fā)明的圖象了解系統(tǒng)使用了一種描述文件圖象的語法,并通過分析按照這種語法所寫的語句(即該語法的結(jié)構(gòu))表示出一個未知輸入圖象的結(jié)構(gòu)。換句話說,這種語法將圖象描述成子結(jié)構(gòu)和它們之間的相對關(guān)系。在語法分析中,當識別了子結(jié)構(gòu)和它們的相對關(guān)系后,便在未知的輸入圖象中進行搜索,看是否存在這種子結(jié)構(gòu)和它們的相對關(guān)系。根據(jù)這個搜索的結(jié)果來表示未知輸入圖象的結(jié)構(gòu)。
文檔編號G06K9/36GK85106850SQ85106850
公開日1987年8月5日 申請日期1985年9月11日
發(fā)明者中野康明, 藤澤浩道, 東野純一, 江尼正員 申請人:株式會社日立制作所導(dǎo)出引文BiBTeX, EndNote, RefMan