專利名稱:用于從文檔圖象抽取標題的標題抽取裝置及其方法
本申請是申請?zhí)枮椤?6111897.0”,發(fā)明名稱為“用于從文檔圖象抽取標題的標題抽取裝置及其方法”,申請日為1996年9月4日的分案申請。
本發(fā)明涉及圖象數(shù)據(jù)識別過程,特別涉及用于從作為文檔數(shù)據(jù)所獲得的文檔圖象抽取標題區(qū)域的標題抽取裝置及其方法。
用于從文檔圖象,即通過諸如掃描儀等光電轉換裝置從普通文檔所獲得的圖象數(shù)據(jù),抽取諸如文檔標題之類的局部區(qū)域這樣的相關技術的對照有(1)從帶有固定區(qū)域的一文檔抽取一標題(如Japanese PatentLaid-Open Publication No.64-46873中所透露的)。
(2)利用諸如顏色標記或者輪廓線這種特定的標記手段標記文檔的標題部分。通過掃描儀掃描文檔并抽取標題部分(如JapanesePatent Laid-Open Publication No.01-150974中所透露的)。
(3)諸如文檔的字符串或者照片的物理結構表示為樹結構等等。通過對樹結構作為邏輯結構匹配,物理結構被標記有“標題”、“作者姓名”等等(如同Japanese Patent Laid-Open Publication No.01-183784,05-342326等中所透露的)。
(4)指定文檔圖象部分的區(qū)域。對區(qū)域內部進行投影并產生黑色象素的直方圖。獲得被投影的黑色象素數(shù)值在兩個預定的閾值之間連續(xù)的區(qū)域。連續(xù)的部分的長度超過另一預定閾值的部分被抽取為標題(如同Japanese Patent Laid-Open Publication No.05-274471中所透露的)。
此外,用于從包括一個表的文檔圖象抽取諸如標題的部分區(qū)域的以下相關技術對照是已知的。
(5)從包括一個表的格式化文檔中抽取一個標題(如同JapanesePatent Laid-Open Publication No.07-093348中所透露的)。
(6)對文檔圖象進行投影并產生黑色象素的直方圖。從直方圖的分布抽取輪廓線。由輪廓線所圍繞的字符串被抽取作為標題(如同Japanese Patent Laid-Open Publication No.05-274367中所透露的)。
(7)識別文檔圖象中的所有字符區(qū)域的字符。對于所獲得的字符代碼按語言及邏輯進行諸如關鍵字對照和模式基本分析的知識處理。從知識處理的結果抽取看上去是標題的字符串(如同Japanese Patent Laid-OpenPublication No.03-276260中所透露的)。
(8)由文檔圖象中白色象素連接部分所圍繞的區(qū)域被抽取作為表部分。從表的內部抽取定界線。獲得由該定界線所圍繞的區(qū)域。在所獲得的區(qū)域中的一個圖象與預定的字符串(模板)進行模板匹配。于是,抽取相同的字符串作為標題(如同Japanese Patent Laid-Open Publication No.03-74728中所透露的)。
然而,這些相關技術對照具有以下問題。
在方法(1)和(5)中,只能處理格式化的文檔。當格式改變時,要被抽取的部分的賦值也將改變。
在方法(2)中標記原始文檔是麻煩的。
在方法(3)中,要準備一個以三種結構等表示的邏輯結構的辭典。當文檔的邏輯結構不包含在該辭典中時,則標題不能被精確地抽取。
在方法(4)中,如果這一方法用于文檔圖象的所有區(qū)域,雖然該方法用于分配文檔圖象的區(qū)域是不清楚的,諸如表或者字符大塊象素部分不能正確地被抽取作為標題。而且,在僅包含字符的文檔中,大字模的字符串是不總是標題。于是標題可能不能正確地被抽取。
在方法(6)中,如果包含標題的表由單定界線圍繞,則標題能夠被抽取。然而由于一個表包含復雜的定界線,標題區(qū)域就不能被精確地區(qū)分。
在方法(7)中,當前可用的字符識別過程占用的時間長。于是,這一方法基本上用作為批處理。此外,由于識別率不是100%,除非使用標題位置的信息,否則會抽取不正確的部分作為標題。
在方法(8)中,對于圖象的模板匹配處理要用時間。此外,該處理受到模板中所使用的字模的形狀和規(guī)格的不良影響。并且這一方法中,只能抽取預定的字符串作為標題。于是在這一方法中,可處理的文檔類型是有限制的。
于是在傳統(tǒng)的標題抽取方法中,需要特定的準備或者特定的操作。此外,可由這些方法處理的文檔和標題是有限制的。
本發(fā)明的一個目的是提供易于從文檔圖象抽取標題部分的標題抽取裝置及其方法。
本發(fā)明是一種標題抽取方法,包括步驟;轉換文檔為圖象數(shù)據(jù)以便產生文檔圖象,在文檔圖象中產生包含由連接的黑色象素組成的黑色象素連接區(qū)域的字符區(qū)域,至少使得一個字符區(qū)域一致化以便產生一個包含該字符區(qū)域的一個字符串區(qū)域,抽取多個字符串區(qū)域的一個特定的字符串區(qū)域作為對應于多個字符串區(qū)域的屬性的一個標題區(qū)域,以及識別包含在該標題區(qū)域中的字符。
于是,標題、地址、及發(fā)送者信息的區(qū)域易于從各個文檔圖象中抽取而無需進行特別的操作及使用辭典等等。從圖象數(shù)據(jù)所抽取的字符串等等可用作為圖象數(shù)據(jù)的關鍵字。
如同附圖所示,本發(fā)明的這些及其它目的、特定和優(yōu)點通過以下對其最佳實施方式的詳細說明將變得更為顯而易見。
圖1是表示本發(fā)明的理論的框圖;圖2是表示本發(fā)明的一個系統(tǒng)的結構的框圖;圖3是表示用于從文檔圖象抽取標題的標題抽取過程的操作流程圖;圖4是表示文檔圖象數(shù)據(jù)的示意圖;圖5是表示字符串抽取過程的操作流程圖;圖6是表示對其進行了標號處理的外接矩形的示意圖;圖7是表示高度的直方圖示意圖;圖8是表示用于獲得高度的最大頻率數(shù)值的直方圖的示意圖;圖9是表示矩形高度表的圖示;圖10是表示對應于矩形高度表的內容的直方圖的圖示;圖11是表示從一個大矩形抽取的段矩形的圖示;圖12是表示局部段矩形的圖示;圖13A、13B與13C是表示連接的局部段矩形的圖示;圖14是表示框矩形的圖示;
圖15是表示重疊的外接矩形的的圖示;圖16是表示嵌套的外接矩形的的圖示;圖17是表示等腰三角形的直方圖的圖示;圖18是表示已經除去重疊和嵌套的外接矩形的圖示;圖19是表示矩形連接關系的圖示;圖20是表示連接關系表的圖示;圖21是表示字符串矩形的圖示;圖22是表示字符串矩形抽取過程的圖示;圖23是表示所抽取的字符串矩形的圖示;圖24是表示字符串矩形形成過程的操作流程圖;圖25是表示清除了噪聲的字符串矩形的圖示;圖26A、26B、26C和26D是表示字符串矩形一致化過程的圖示;圖27是表示已經一致化的字符串矩形的圖示;圖28是表示文檔區(qū)域的圖示;圖29是表示下劃線矩形的圖示;圖30是表示對其框屬性、定界線屬性、及下劃線屬性已經核實的字符串矩形的圖示;圖31是表示區(qū)段抽取過程的操作流程圖;圖32是表示存在通配符的的情形的區(qū)段矩形的圖示;圖33是表示通配符的圖示;圖34是表示用于區(qū)段抽取過程(No.1)的編碼的表;圖35是表示用于區(qū)段抽取過程(No.2)的編碼的表;圖36是表示用于區(qū)段抽取過程(No.3)的編碼的表;圖37是表示區(qū)段抽取過程(No.1)的詳細的操作流程圖;圖38是表示區(qū)段抽取過程(No.2)的詳細的操作流程圖;圖39是表示區(qū)段抽取過程(No.3)的詳細的操作流程圖;圖40是表示標題/地址/發(fā)送者信息抽取過程的操作流程圖;圖41A和41B是表示與一個間隔重疊的字符串矩形的圖示;圖42是表示第一地址抽取過程的操作流程圖43是表示第二地址抽取過程的操作流程圖;圖44是表示標題、地址和發(fā)送者信息的第一種布局的圖示;圖45是表示標題、地址和發(fā)送者信息的第二種布局的圖示;圖46是表示標題、地址和發(fā)送者信息的第三種布局的圖示;圖47是表示標題、地址和發(fā)送者信息的第四種布局的圖示;圖48是表示多個地址和發(fā)送者信息的圖示;圖49是表示標題、地址和發(fā)送者信息抽取的結果的一例的圖示;圖50是表示標題、地址和發(fā)送者信息抽取的結果的另一例的圖示;圖51是表示列表的文檔的圖示;圖52是表示表內標題抽取過程的操作流程圖;圖53是表示列表的文檔圖象數(shù)據(jù)的圖示;圖54是表示列表的文檔標記的結果的圖示;圖55是表示表矩形抽取過程的操作流程圖;圖56是表示列表的文檔的字符串矩形的圖示;圖57是表示第一字符串劃分過程的操作流程圖;圖58是表示字符串矩形中字符矩形的順序的圖示;圖59是表示已經排序的字符矩形的順序的圖示;圖60是表示包含垂直定界線的字符串矩形的圖示;圖61是表示被劃分的字符串矩形的圖示;圖62是表示第二字符串劃分過程(No.1)的操作流程圖;圖63是表示第二字符串分割過程(No.2)的操作流程圖;圖64是表示字符串矩形列表的的結果的圖示;圖65是表示已經進行劃分過程的字符串矩形的圖示;圖66是表示字符矩形及其字符數(shù)目的關系的圖示;圖67是表示一個表矩形中的表外字符串矩形的圖示;圖68是表示一個表矩形中的字符串矩形的圖示;圖69是表示上定界線核實過程的的操作流程圖;圖70是表示表外字符串矩形清除過程的操作流程圖;圖71是表示第一查找范圍的圖示;
圖72是表示第二查找范圍的圖示;圖73是表示第三查找范圍的圖示;圖74是表示表外字符串矩形已經被清除的字符串矩形的圖示;圖75是表示標題交換輸出過程的操作流程76是表示字符串矩形上左邊界的坐標的圖示;圖77是表示表內標題的抽取結果的圖示;圖1是一框圖表示根據(jù)本發(fā)明的標題抽取裝置的理論。
圖1所示的標題抽取裝置包括字符區(qū)域產生裝置1,字符串區(qū)域產生裝置2,以及標題抽取裝置3。
字符區(qū)域產生裝置1產生包含作為換轉為圖象數(shù)據(jù)文檔的文檔圖象中的連接黑色象素所組成的黑色象素連接區(qū)域的字符區(qū)域。
字符串區(qū)域產生裝置2至少一致化由字符區(qū)域產生裝置1所產生的字符區(qū)域之一,并產生包含該字符區(qū)域的一個字符串區(qū)域。
標題抽取裝置3從多個字符串區(qū)域抽取一個特定的字符串區(qū)域作為對應于由該字符串區(qū)域產生裝置2所產生的多個字符串區(qū)域的屬性的標題區(qū)域。
字符區(qū)域產生裝置1掃描文檔圖象中的黑色象素并抽取外接于黑色象素連接區(qū)域的矩形區(qū)域作為字符區(qū)域。于是很多字符區(qū)域對應于文檔中的很多字符而產生。
然后,字符串區(qū)域產生裝置2使得鄰接的多個字符區(qū)域一致化并抽取外接這些字符區(qū)域的矩形區(qū)域作為字符串區(qū)域。所抽取的字符串區(qū)域例如是與水平書寫的文檔的一行的字符串相一致的。
標題抽取裝置3評價標題對應于每一所產生的字符串區(qū)域的諸如下劃線屬性、框架屬性、及定界線屬性的似然性并抽取具有作為標題的最大似然性的特定的字符串區(qū)域作為標題區(qū)域。
下劃線屬性表示一條線配置在一個當前字符串區(qū)域之中或者之下。下劃線屬性由一個下劃線標志等表示。框架屬性表示字符串區(qū)域由一個框線所圍繞。框架屬性是由框架標志等來表示的。定界線屬性表示字符串區(qū)域與垂直定界線或者水平定界線一致。定界線屬性是由定界線標志等表示的。帶有下劃線屬性和框架屬性的字符串區(qū)域常常是文檔的標題。另一方面,帶有定界線屬性的的字符串區(qū)域常常不會是標題。于是標題的似然性可對應于這些屬性而自動地被評價。
標題抽取裝置3抽取包含預定規(guī)格或者更大的黑色象素的連接區(qū)域的表區(qū)域并從該表區(qū)域中的多個字符串區(qū)域抽取特定的字符串區(qū)域作為標題區(qū)域。
例如,一個表區(qū)域為外接一個黑色象素連接區(qū)域并具有預定的閾值的矩形區(qū)域。該標題抽取裝置3對于作為標題的似然性評價表區(qū)域之中的字符串區(qū)域的位置與其字符數(shù)目之間的關系,并抽取具有作為標題的最大的似然性的特定字符串區(qū)域作為標題區(qū)域。
例如,最靠近表區(qū)域的左上邊緣的一個字符串區(qū)域被處理為標題。此外,帶有大字模的字符串區(qū)域被處理為標題。
根據(jù)本發(fā)明的標題抽取裝置,無需標記原始文檔及使用包含結構的特定的辭典,無論所使用的字模的規(guī)格如何,對于包括列表文檔的各種文檔圖象都能夠精確地進行標題抽取過程。此外,根據(jù)本發(fā)明的標題抽取裝置,包含在所抽取的標題區(qū)域中的字符區(qū)域的 字符被識別,并且所識別的結果可被用作為文檔圖象的關鍵字。
以下,將參照附圖詳細說明本發(fā)明的一個實施例。
近年來,已經進行以電子裝置代替?zhèn)鹘y(tǒng)的紙張方式存儲信息的努力。電子裝置的一個例子是電子文檔系統(tǒng)。在電子文檔系統(tǒng)中,書寫在紙張上的文檔由諸如圖象掃描器這種光電轉換裝置轉換為圖象。關鍵字和管理信息分配給圖象并存儲在光盤或者硬盤上。
在這種方法中,由于文檔是作為圖象數(shù)據(jù)而存儲的,所需的存儲圖象數(shù)據(jù)的盤的存儲容量要大于通過字符識別方法對文檔中書寫的所有字符進行編碼并然后進行存儲的這種方法中的容量。然而前一方法具有勝過后一種方法的許多優(yōu)點,諸如易操作性,快速的處理速度,以及包括圖象和表格的非字符的存儲。然而,在前一方法中,為了檢索存儲的信息,諸如關鍵字和數(shù)碼這類管理信息應當與文檔圖象一同指定。在傳統(tǒng)的系統(tǒng)中,要占用長時間設計關鍵字。這樣,傳統(tǒng)的系統(tǒng)不是用戶友好的。
為了解決這一問題,可使用一種方法來自動抽取文檔中的標題部分作為關鍵字,識別標題部分的字符,對所識別的字符進行編碼,并與文檔圖象一同存儲編碼的結果。
當前可能達到的字符識別處理的速度最多為每秒鐘幾十個字符。當一張A4的文檔被處理時,需要從30秒鐘到幾分鐘的范圍的處理時間。于是為了增加標題抽取處理的速度,從一圖象僅抽取一個標題部分并識別其字符的方法是有效的。
在用于識別文檔中所有的字符并抽取一個標題的方法中,圖象中標題部分的位置關系是不考慮的。于是由于不正確的識別和節(jié)的連接可能不能準確抽取一個標題代碼。
為了有效地操作電子文檔系統(tǒng),可以說重要的是從一個文檔圖象直接抽取標題部分(區(qū)域)的技術。以下就電子文檔系統(tǒng),將說明根據(jù)本發(fā)明的標題抽取技術。
圖2是表示根據(jù)本發(fā)明的一個實施例的標題抽取系統(tǒng)的結構的一個框圖。該標題抽取系統(tǒng)包括一個電子文件裝置11,一個光電轉換裝置12,一個顯示終端13,一個處理器14,以及一個存儲器15。這些裝置由總線16連接。
圖1中所示的字符區(qū)域產生裝置1,字符串區(qū)域產生裝置2,以及標題抽取裝置3是與根據(jù)本發(fā)明的該實施例(圖2中所示)的處理器14相一致的。
電子文件裝置11具有諸如硬盤或者光盤之類的存儲裝置。光電轉換裝置12為諸如掃描器之類的一個光學讀取裝置。該光電轉換裝置12將文檔、圖片、照片等等轉換為圖象數(shù)據(jù)。所得到的圖象數(shù)據(jù)存儲在電子文件裝置11或者存儲器15之中。顯示終端13是一個具有顯示裝置和諸如鍵盤及鼠標的輸入裝置的操作者的終端。
對應于從顯示終端13所輸入的命令,處理器14從光電轉換裝置12所讀取的以及存儲在存儲器15之中的文檔圖象抽取諸如標題之類特別的區(qū)域。另外,處理器14從電子文件裝置11抽取這樣一個區(qū)域。然后,處理器14識別包含在所抽取的區(qū)域中的字符。應當注意,字符識別過程可由除了標題抽取系統(tǒng)之外的其它系統(tǒng)進行。
圖2所示的標題抽取系統(tǒng)從圖4所示的文檔圖象獲得圖6中所示的字符的外接矩形,使得該字符的外接矩形一致化,并獲得如圖27所示的字符串矩形。然后,該標題抽取系統(tǒng)判定每一字符串矩形在該文檔中是否被強調。例如,由圖14中所示的框線所圍繞的字符串被處理為強調的字符串。該強調的字符串似乎就是標題。于是強調的字符串被抽取作為標題選擇對象。并且,帶有下劃線和大規(guī)格的字符串被處理為被強調的字符串并被抽取為標題選擇對象。字符串在文檔中的位置以及當前字符串與相鄰的字符串的位置關系可用作為區(qū)分標題字符串的重要信息。
于是,由于作為標題選擇對象的字符串的選擇要根據(jù)字符串是否被強調以及對應于表觀信息,具有作為標題的高的似然性的區(qū)域可易于從文檔圖象中抽取。這一抽取方法比識別文檔中所有的字符并抽取其標題的方法要快。此外,由于文檔的類型沒有限制,故本發(fā)明的抽取方法比傳統(tǒng)方法更為一般地適用。而且,通過應用兩個或者多個類型的表觀信息的組合,比使用傳統(tǒng)方法可更為精確地區(qū)分標題區(qū)域。
圖3是表示圖2中所示的標題抽取系統(tǒng)的標題抽取過程的的流程圖。作為先決條件,圖3所示的標題抽取過程是對于水平書寫的文檔所應用的。然而這一過程對于垂直書寫文檔可同樣適用。應當注意,在垂直書寫的文檔中字符區(qū)域和字符串區(qū)域的高度和寬度之間的關系是與水平書寫文檔中的關系相反的。
在圖3中,當該過程開始時,一個文檔由光電轉換裝置12閱讀并作為圖象數(shù)據(jù)(文檔圖象)存儲在存儲器15之中(在步驟S1)。在這一點,為了增加處理的速度,讀取的原件圖象在垂直和水平兩個方向被壓縮到1/8。該被壓縮的圖象存儲在存儲器15之中。
當圖象被壓縮時,邏輯OR壓縮方法用來防止區(qū)段的分開。換言之,即使由原件圖象的8×8象素所組成的每一區(qū)域之一為黑色象素,當前區(qū)域的象素也被處理為黑色象素。當在當前區(qū)域中沒有黑色象素時,則當前區(qū)域的象素被處理為白色象素。
然后,字符串由處理器14從文檔圖象中抽取。獲得字符串的外接矩形(即字符串矩形)。外接矩形的坐標被存儲在存儲器15之中(在步驟S2)。然后,具有小的寬度的矩形和大的高度的矩形作為噪聲矩形從存儲的字符串矩形除去(在步驟S3)。而且,除去不象是字符串的矩形。這樣判定了一個文檔區(qū)域(在步驟S4)。
然后,其余的字符串矩形在垂直方向上被排序(Y坐標)(在步驟S5)。包括框架的矩形(即框架矩形)被抽取。在框架矩形中的字符串矩形被標記為帶框架的矩形(在步驟S6)。此外,包含下劃線的矩形被抽取。恰好分布在下劃線之上的字符串矩形被標記為下劃線矩形(在步驟S7)。
然后,計算作為標題的似然性點數(shù)。帶有高點數(shù)的字符串矩形被抽取作為標題(在步驟S8)。對應于這一結果,抽取該文檔的地址和發(fā)送者的信息(在步驟S9和S10)。然后,識別所抽取的標題,地址和發(fā)送者的信息(在步驟S11)。其結果是完成了標題的抽取過程。
然后,對于一般的業(yè)務文檔詳細說明標題抽取過程。一個一般的業(yè)務文檔包括諸如“標題”、“地址”、“發(fā)送日期”、“發(fā)送者部門”、“發(fā)送管理號碼”、以及“文檔(包括表和/或圖)”這樣的區(qū)域。這些區(qū)域以各種各樣的組合分布。在本實施例中,一個標題,一個地址,和一個發(fā)送者的信息(包括發(fā)送日期,發(fā)送者的部門,以及發(fā)送管理號碼)從帶有這種格式的文檔中抽取。
圖4是表示由掃描器15讀取的文檔圖象的一例的圖示。圖4所示的文檔圖象涉及一個軟件促銷報告的封面。文檔的標題是(「ソフトウエア販推レポ-ト送付表」)。在標題之下,排列地址和發(fā)送者信息。通過處理器14從文檔圖象抽取字符串。
圖5是表示圖3的步驟S2處的字符串抽取過程的操作流程圖。
在圖5之中,當該過程開始時,對應于字符的矩形從文檔圖象被抽取。換言之,對于文檔圖象使用標號方法進行黑色象素連接處理。獲得了黑色象素的外接矩形并存儲該結果(在步驟S21)。
在本實施例中,已經被數(shù)字化和被壓縮的圖象的黑色象素對應于八連接方法被掃描。當有黑色象素的連接時,相同的標號數(shù)值賦給這些黑色象素。于是產生了黑色象素連接區(qū)域,并獲得了外接矩形(字符矩形)。對應于八連接方法的掃描方法是用于掃描每一黑色象素的八個方向(上,下,左,右,左上,右上,左下,右下)并判定是否有相鄰的黑色象素。獲得的外接矩形存儲在文件lbtbl(lbtbl)。圖6表示對于圖4所示文檔圖象標號處理的結果。
然后,獲得表示對應于標號方法的所獲得的外接矩形6高度的頻率分布的直方圖。這樣,獲得了高度的最大頻率數(shù)值freq(在步驟S22)。如圖7所示,這一例子之中,矩形高度的直方圖是以外接矩形6的一集合lbtbl作為標號方法的結果而產生的。圖7中,水平軸表示外接矩形6的高度,而垂直軸表示這些高度的的外接矩形的數(shù)目(頻率數(shù)值)。每一外接矩形6的高度定義為一個象素的高度的倍數(shù)。
然后,獲得頻率數(shù)值與帶有這些頻率數(shù)值的矩形的高度的關系并存儲在矩形高度表高度之中。從頻率數(shù)值0對矩形高度表高度進行核對。在矩形的高度變化達一個象素或者更小,矩形高度的頻率數(shù)值連續(xù)改變,以及變化的頻率數(shù)值的總量為9或者更多的條件下,則連續(xù)高度的最大數(shù)值定義為矩形高度的最大頻率數(shù)值freq。
圖8是說明表示對應于圖7中所示的直方圖矩形高度表高度的內容的直方圖的圖示。圖8中,其頻率數(shù)值劇烈變化的高度為最大頻率數(shù)值freq。這樣,當在這種方式下獲得最大頻率數(shù)值freq時,可以避免小于一個字符的噪聲的影響。
圖9是一個表,表示矩形高度表的高度的一個簡單的例子。在圖9中,矩形高度表高度存儲了頻率數(shù)值和矩形最大高度的一對數(shù)值。圖10是表示矩形高度表高度的內容的直方圖的一個圖示。圖10中所示的直方圖以較低的頻率數(shù)值的順序(即,以較大的高度數(shù)值的順序)進行核對。于是在高度10,9,和8的位置,頻率數(shù)值分別變化5,5,和7。連續(xù)矩形高度差為1。變化的頻率數(shù)值的總量為17。于是在高度10,9,和8,由于變化的頻率數(shù)值的總量為9或者更多,故這些矩形的第一高度10定義為最大頻率數(shù)值freq。
然后,為了除去框線和表的外接矩形,要指定一個用于判定大矩形的一個閾值。大于該閾值的矩形被抽取。包含框線的矩形從該大矩形被抽取并被存儲(在步驟S23)。
這一例子中,大于最大頻率數(shù)值freq以及具有最高頻率數(shù)值的矩形的高度被定義為大矩形閾值th_large。大于閾值th_large的矩形被抽取并存儲在文件盒中。
然后,為了從文件盒中的大矩形抽取框線,每一大矩形的1101的內部如圖11所示被垂直劃分,以便形成重疊的條形局部區(qū)域1102。在每一條形局部區(qū)域1102中獲得具有一個象素高度并具有預定黑色象素占有率的水平線狀區(qū)域。當兩個或者多個線狀區(qū)域垂直連接時,它們被一體化為一個局部區(qū)段。
圖12表示圖11所示的大矩形的形的條形局部區(qū)域的圖示。在圖12中,寬度為W的局部區(qū)域被劃分為高度為1的線狀區(qū)域1201。包含預定的黑色象素1204占有率并垂直連接的線狀區(qū)域1201被一體化為一個局部區(qū)段矩形1202。如圖12所示,兩個或者多個局部區(qū)段矩形1202可能出現(xiàn)在一個局部區(qū)域1102中。當水平連接的局部區(qū)段區(qū)域具有八連接關系時,則它們作為一個區(qū)段被處理。圖13A,13B,與13C每一表示具有八連接關系的兩個局部區(qū)段矩形1202。在圖11所示的情形中,從一個大矩形的上邊緣部分抽取水平配置的區(qū)段矩形1103。
當區(qū)段矩形1103具有大于當前大矩形的長寬比的預定的長寬比時,該區(qū)段矩形1103被抽取為大區(qū)段矩形。當大區(qū)段矩形的兩邊緣長度和大矩形的兩個邊緣的長度之間的差在預定的范圍之內,并且大區(qū)段矩形的y坐標的長度與大矩形y坐標的長度之間的差小于矩形寬度的預定的比率時,區(qū)段矩形1103被處理為分布在大矩形上或者下的水平定界線。
獲得了大矩形的左邊緣和右邊緣的鄰域中黑色象素垂直投射的頻率分布的直方圖。當尖峰的高度大于矩形的高度的預定的比率時,判定在左邊緣和右邊緣出現(xiàn)垂直定界線。在這一點,大矩形是作為框線的外接矩形(框矩形)被處理的。對于文件盒中的每一大矩形進行類似的處理。只有框矩形存儲在文件盒中。圖14表示所檢測的框矩形1401,1402,和1403。
然后,已經作為框矩形和表(這些矩形被稱為表矩形)被處理的矩形從由標號方法所獲得的外接矩形集合lbtbl被除去(在步驟S24)。這一例子中,存儲在文件盒中的框矩形從集合lbtbl被除去。然后與以下條件之一一致的矩形被假定是表矩形。這些表矩形從集合lbtbl被除去。
(a)當矩形大于整個文檔圖象的高度的1/3時,(b)當矩形高度大于三倍的最大頻率數(shù)值freq并具有小于0.4的長寬比時,以及(c)當矩形具有高度大于三倍的最大頻率數(shù)值freq并且寬度大于整個文檔圖象寬度的1/3時。
所得的矩形集合作為newtbl處理。字符串的外接矩形從矩形集合newtbl中抽取。
矩形集合newtbl中的矩形包括重疊的矩形和嵌套的矩形。這些矩形最好一致化以便澄清矩形位置的關系并有效地抽取字符串。于是,重疊的矩形和嵌套的矩形從矩形集合newtbl中被除去,而結果被存儲在文件lbtbl2之中(在步驟S25)。
圖15是表示兩個重疊矩形的例子的圖示。在圖15中,矩形21和22表示傾斜區(qū)段24和25的外接矩形。矩形21和22在陰影部分26重疊。這種情形下,矩形21和22被一致化為一個矩形23。這種情形下,被嵌套的部分消除。圖16是表示多個嵌套的矩形的圖示。在圖16中,矩形25,26,和27完全包封在矩形24之中。換言之,矩形25,26,和27嵌套在矩形24之中。這種情形下,嵌套的矩形25,26,和27被除去。這樣就只有矩形24留下來。
有兩種方法用于搜索矩形集合newtbl中與另一矩形重疊或者嵌套的矩形。
(d)參照一個矩形,搜索其余的矩形。
(e)在垂直或者水平方向上形成在每一矩形的一個邊的中心線上具有頂點的等腰三角形。
產生了按這種方式所形成等腰三角形的直方圖。此外,記錄了形成頻率數(shù)值的的峰值的矩形的集合(組)。相鄰的峰值與直方圖上的的峰值之間的距離小于預定的閾值的矩形被一致化。同時相關的矩形集合也被一致化。矩形集合定義為一個搜索范圍。當該集合中的一個矩形用作為一個參照時,該集合被搜索。另外,矩形集合在水平和垂直方向上重疊的部分可定義為搜索范圍。
圖17是表示用于方法(e)中的等腰三角形的直方圖的一例的圖示。圖17中,矩形31和32的等腰三角形36和37投射到峰41。矩形33的等腰三角形38投射到峰42。矩形34和35的等腰三角形39和40投射到峰43。例如,當這些峰41,42和43出現(xiàn)在預定的 距離之內時,矩形31,32,33,34,和35被一致化為一個矩形集合。另外,至于矩形31和32,當矩形的等腰三角形投射到一個峰時,這些矩形可能被一致化為一個矩形集合。
根據(jù)方法(e),由于搜索在限制范圍內的矩形,故該處理比方法(d)可被更快地進行。圖18表示其重疊的矩形和嵌套的矩形已經被除去的外接矩形的1801的一個圖示。
然后,在重疊的矩形和嵌套的矩形已經被除去之后,獲得了文件lbtbl2中的矩形的高度的直方圖并獲得了其最大頻率數(shù)值freq2(在步驟S26)。用于產生高度的直方圖的方法和用于獲得最大頻率數(shù)值freq2的方法與步驟22的方法類似。
然后,從文件lbtbl2中抽取定界線矩形并然后該矩形被標記(在步驟S27)。這例子中,在文件lbtbl2中其高度小于1/2的最大頻率數(shù)值freq,其寬度大于三倍的最大頻率數(shù)值freq,并且其長寬比小于0.1的矩形被標記為定界線矩形。
然后,獲得在文件lbtbl2中矩形的相互關系以便尋找包含在一個字符串中的多個字符,并然后存儲在連接關系表connect之中(在步驟S28)。這例子之中,最接近一個特定矩形的矩形從文件lbtbl2在上,下,左,和右方向被搜索。結果被存儲在連接關系表connect之中。矩形的相互關系表示從一個參照矩形向在上,下,左,右方向上的矩形移動的指針,在其相反的方向上移動的指針,以及從該參照矩形到上,下,左,右方向上的矩形的每一個的距離。
圖19是表示一個矩形被指定為參照矩形50c的情形的矩形的連接關系的圖示。在圖19中,上面的矩形50a表示在上方鄰接參照矩形50c的一個矩形。上面的矩形50a由指針51和52連接到參照矩形50c。下面的矩形50d表示在下方鄰接參照矩形50c的一個矩形。下面的矩形50d由指針53和54連接到參照矩形50c。左面的矩形50b表示在左方鄰接參照矩形50c的一個矩形。左面的矩形50b由指針55和56連接到參照矩形50c。右面的矩形50e表示在右方鄰接參照矩形50c的一個矩形。右面的矩形50e由指針57和58連接到參照矩形50c。
圖20是表示存儲這種指針的連接關系表connect的結構的一個圖示。圖20所示的連接關系表存儲了參照矩形50c的表數(shù)值,到上面矩形50a的指針,從上面矩形50a來的的指針,到下面矩形50d的指針,從下面矩形50d來的的指針,到左面矩形50b的指針,從左面矩形50b來的的指針,到右面矩形50e的指針,以及從右面矩形50e來的的指針。此外,連接關系表connect還存儲了從參照矩形50c到向上面,向下面,向左面,向右面鄰接參照矩形50c的每一個矩形50a,50b,50c,50e的距離。
連接關系表connect的產生方式是使得框架矩形的連接關系在四邊斷開。這樣就防止了抽取從框線出來的字符串。當一個矩形最接近參照矩形50c時,也可以使用在步驟S25所使用的兩個方法(d)和(e)。
然后,區(qū)分開由于掃描器的讀錯誤所產生的噪聲矩形并斷開與其它矩形的水平關系(在步驟S29)。這種情形下,其高度和寬度小于最大頻率數(shù)值freq2的1/4或者其長寬比小于0.1或者大于10的矩形,以及其在上和下矩形之間的距離大于預定數(shù)值的矩形被判定為噪聲矩形。這些矩形之間的水平指針被除去以便斷開連接關系。
然后,當相鄰矩形之間的距離大或者當相鄰矩形的規(guī)格的差別大時,這些矩形的連接關系被斷開(在步驟S30)。這一例子中,當參照矩形與以下條件之一一致時,則與相鄰矩形的連接關系被斷開。
(f)當參照矩形與相鄰矩形之間的距離大于三倍最大頻率數(shù)值freq2時,(g)當參照矩形或者其相鄰的矩形的規(guī)格三倍大于最大頻率數(shù)值freq2時,以及(h)當相鄰矩形大于兩倍最大頻率數(shù)值freq2時。
然后,從字符矩形集合lbtbl2和連接關系表connect抽取字符串并存儲該字符串的外接矩形(字符串矩形)(在步驟S31)。這例子中,沒有向右移動的指針的矩形(即,不向左邊鄰接另一個矩形的矩形)被作為起始的矩形處理。然后,該起始矩形的標識號碼(例如標記數(shù)值)順序地送往分布在該起始矩形的右邊的另一個矩形。多個帶有相同標識號碼的矩形被一致化。一致化了的矩形的外接矩形定義為字符串矩形。在這一點,起始矩形的標識號碼作為被抽取的字符串的標識號碼(標記號碼)存儲在文件line_lab之中。當沒有在右邊連接的矩形時,停止傳送標識號碼。
圖21是表示按以上方式抽取的字符串矩形211的一例的圖示。在圖21中,向四個水平排布字符矩形212到215指定標號數(shù)值L1并作為一個字符串矩形211被一致化。這例子中,字符串矩形211的標號數(shù)值也是L1。
當參照矩形右邊的矩形的標識號碼與文件line_lab中的字符串標識號碼一致時,則右邊的矩形的字符串的標識號碼以所傳送的矩形集合的標識號碼代替。老的字符串標識號碼從文件line_lab中除去。
此后,沒有向右移動的指針的矩形被檢測為參照矩形。當矩形分布在參照矩形的左邊時,左邊的矩形具有已經抽取的字符串的標識號碼。這樣,只要在參照矩形的右側排布著一個矩形,則這一標識號碼就傳送到參照矩形右側排布的矩形。老的標識號碼由所傳送的標識號碼代替。老的標識號碼從文件line_lab中除去。
例如,如圖22所示,假定字符串67出現(xiàn)在另一個字符串矩形66之中。當不具有向左移動的指針的矩形64被指定為參照矩形時,矩形61排布在參照矩形64的左邊。由于矩形61具有標記數(shù)值L0,標記數(shù)值L0被傳送到矩形64和65。矩形64和65的標記數(shù)值以標記數(shù)值L0代替。這樣,標記數(shù)值L5從文件line_lab中除去。于是,矩形61,62,63,64和65作為一個字符串矩形66被一致化。
在上述處理過程中,每一已經被標識為相同字符串的矩形具有相同的字符串標識號碼。所有的矩形被掃描,并且從帶有相同字符串標識號碼的多個矩形的坐標獲得左邊緣,右邊緣,上邊緣,下邊緣。它們作為構成一個文件行中的字符串矩形周邊而被存儲。此外,被抽取的字符串的數(shù)目存儲在文件maxline之中。
結果,完成了字符串抽取處理。圖23是表示按上述方式抽取的字符串矩形231的圖示。
然后,由處理器14進行與圖3的步驟S3到S7一致的字符串矩形形成處理過程。在字符串矩形形成處理過程中,抽取并記錄每一字符串矩形231的諸如下劃線屬性,框架屬性,以及定界線屬性。在以下將要說明的點數(shù)計算處理過程中,高點數(shù)指定給具有下劃線屬性和框架屬性的字符串矩形。另一方面,低點數(shù)指定給具有定界線屬性的字符串矩形231。
圖24為表示字符串矩形形成處理過程的操作流程圖。
在圖24中,當該處理過程開始時,帶有小寬度的字符串矩形和帶有大高度的的字符串矩形作為噪聲字符串矩形被除去,而結果被存儲(在步驟S41)。這一例子中,其寬度小于最大頻率數(shù)值freq的1/4的字符串矩形以及其高度小于最大頻率數(shù)值freq的1/4和其長寬比大于0.1的字符串矩形被作為噪聲字符串矩形處理。這些噪聲字符串矩形被除去并且其余的字符串矩形存儲在文件line2之中。圖25是表示已經從其除去了噪聲字符串矩形的字符矩形251和252的圖示。
然后,生成表示文件line2中的字符串矩形連接關系的連接關系表str_conn(在步驟S42)。這一連接關系與圖19所示的字符矩形的連接關系是相同的。該連接關系表str_conn具有與圖20中所示的連接關系表具有相同的結構。
然后,滿足諸如位置關系和高度的預定條件的兩個或者多個字符串被一致化并獲得一個長的字符串。該結果被存儲(在步驟S43)。這一例子中,當以下條件之一被滿足時,字符串矩形被一致化為大字符串矩形。
(i)當字符串矩形之間的距離小于其高度時,(j)當字符串矩形水平重疊并且字符串矩形的高度幾乎相同時,(k)當字符串矩形具有幾乎等于最大頻率數(shù)值freq的高度并且字符串矩形完全包含在另一個字符串矩形之中時,
(l)當分布在三個相繼的字符串矩形的兩邊的矩形的y坐標數(shù)值幾乎相同并且只有中間的字符串矩形的y坐標數(shù)值不同于其它字符串矩形的y坐標數(shù)值時。
圖26A,26B,26C和26D是表示滿足方法(i),(j),(k),(l)的情形下已經被一致化的字符串矩形261到264的例子的圖示。字符串矩形形成處理過程反復進行直到字符串矩形的數(shù)目不變化為止。其余的字符串矩形存儲在文件line3之中。圖27是表示字符串矩形已經一致化的結果的圖示。當比較圖25與圖27所示的圖示時,很清楚,字符串矩形(「ソフトウエア販推レポ-ト」)251與(「送付表」)252被一致化為字符串矩形(「ソフトウエア販推レポ-ト 送付表」)271。
然后,產生字符串高度的直方圖以便獲得字符串高度的最大頻率數(shù)值str_freq(在步驟S44)。這例子中,字符串矩形高度的直方圖是以圖7所示的相同的方式產生的。以直方圖,獲得大于最大頻率數(shù)值freq2和最大頻率數(shù)值的高度。結果所得的數(shù)值定義為字符串矩形高度的最大頻率數(shù)值(這一數(shù)值由str_freq表示)。當獲得了多個與最大頻率數(shù)值一致的高度時,采用與最大頻率數(shù)值freq2比較接近的高度。在字符串矩形高度直方圖中,有兩個位置,在該處最大頻率數(shù)值str_freq的兩側的頻率數(shù)值都是0。在頻率數(shù)值即將變?yōu)?之前的位置處的較小的高度表示為st_h,而其較大的高度表示為en_h。
然后,獲得了其中除去了噪聲字符串矩形的文檔區(qū)域。該區(qū)域的坐標被存儲(在步驟S45)。這例子中,即使字符串矩形在文檔圖象的左邊緣和右邊緣擴展到預定的的區(qū)域,這些字符串矩形也被排除。一個區(qū)域其中出現(xiàn)字符串矩形,區(qū)域的高度為st_h或者更大以及en_h或者更小,其寬度為最大頻率數(shù)值str_freq或者更大,其長寬比小于0.5,則定義為文檔區(qū)域。該區(qū)域的左邊緣的x坐標,其上邊緣的y坐標,其右邊緣的x坐標,以及其下邊緣的y坐標分別存儲為st_x,st_y,en_x,en_y。當B5規(guī)格的書的一頁的圖象以A4規(guī)格的圖象區(qū)域讀取時,則左邊緣和右邊緣預定區(qū)域的被忽略以便將相鄰的書頁的字符串矩形作為噪聲字符串矩形除去。圖28是表示按上述方式所獲得的文檔區(qū)域281的圖示。
另外,在文件line3中的字符串矩形垂直地(按y坐標)排序(在步驟S46)。
然后,產生表示文件line3中字符串矩形的連接關系的連接關系表str_conn2(在步驟S47)。在這一點,字符串矩形不應當從框架矩形突出。
然后判定每一字符串矩形是否完全包含在框架矩形之中。當當前的字符串矩形包含在框架矩形之中時,向該字符串矩形設置框架標志(在步驟S48)。這例子中,當文件line3中的每一字符串矩形完全含在存儲在文件盒中的框架矩形中時,該字符串矩形作為有框架的矩形處理。向該字符串矩形設置框架標志。作為框架矩形的條件,(1)框架矩形中的所有字符串矩形作為帶框架的矩形處理。
(2)當框架矩形的坐標數(shù)值沒有由一個閾值與字符串矩形的坐標數(shù)值分開時,該字符串矩形作為帶框架矩形處理。
然后,當文件line3中的字符串矩形作為定界線矩形處理時,向定界線矩形設置一個定界線標志(在步驟S49)。在這例子中,一個字符串矩形,其規(guī)格為最大頻率數(shù)值str_freq的1/2或者更小,并且其長寬比小于0.8或者大于12.5,則被作為定界線矩形處理。這種情形下,向該字符串矩形設置定界線標志。
然后,核實文件line3中的字符串矩形。當在字符串矩形之下有定界線矩形(這一定界線矩形稱為下劃線矩形)時或者當一個下劃線出現(xiàn)在字符串矩形中時,向字符串矩形設置一個下劃線標志(在步驟S50)。這例子中,在字符串矩形分布在定界線上,其間的距離小于最大頻率數(shù)值str_freq,以及上述的字符串矩形和定界線矩形的左邊緣和右邊緣的長度的差為最大頻率數(shù)值str_freq或者較小的條件下,向上述字符串矩形設置下劃線標志。圖29是表示下劃線矩形的一例的圖示。在圖29中,由于已經設置了定界線標志的扁平的定界線矩形72分布在字符串矩形71之下,這一定界線矩形72作為下劃線矩形處理。于是向字符串矩形71設定下劃線標志。
此外,通過稍后將說明的方法,從其寬度或者高度為1/2或者大于最大頻率數(shù)值str_freq的字符串矩形中抽取一個區(qū)段。這一區(qū)段在以下條件下作為字符串矩形中的下劃線處理從字符串矩形所抽取的區(qū)段出現(xiàn)在從字符串矩形的左邊緣和右邊緣測量的預定的象素位置,該區(qū)段的高度為該矩形的高度的WAKUTHIN倍(例如0.3倍)或更小,該區(qū)段底部的y坐標低于比該矩形的頂部的y坐標高1/2最大頻率數(shù)值str_freq,該區(qū)段頂部的y坐標與該矩形頂部的y坐標之間的差大于(最大頻率數(shù)值str_freq-2),以及該區(qū)段底部的y坐標與該矩形底部的y坐標之間的差小于該區(qū)段頂部的y坐標與該矩形頂部的y坐標之間的的差。向該字符串矩形設置下劃線標志。
結果完成了字符串形成處理過程。圖30是表示已經向其設置了框架標志,定界線標志和下劃線標志的字符串矩形的圖示。在圖30中,L0到L54表示指定給相關字符串矩形的標號數(shù)值。在這些字符串矩形中,帶有標號數(shù)值L1,L2,L16的字符串矩形301,302,303為有框架的矩形。
然后,將詳細說明在圖24中所示的步驟S50用于從字符串矩形抽取一個區(qū)段的方法。圖31是表示區(qū)段抽取過程的操作流程圖。
在圖31中,當該過程開始時,一個字符串矩形被處理器14劃分為帶有預定象素寬度w的條形局部區(qū)域(在步驟61)。如圖11所示的過程那樣,每一區(qū)域的一半與相鄰的區(qū)域的一半重疊。
然后,每一局部區(qū)域的內部對于每一1象素(h)xw象素(w)的線狀區(qū)域向下校驗。當一個特定的線狀區(qū)域中的黑色象素的數(shù)目大于預定的的閾值時,則該線狀區(qū)域的內部作為全黑色象素處理。這一區(qū)域作為黑色區(qū)域處理。當另一個黑色區(qū)域恰好排布在該特定的黑色區(qū)域之下時,則判定這兩個黑色區(qū)域為連續(xù)的并作為一個黑色區(qū)域處理(局部區(qū)段矩形)(在步驟S62)。換言之,作為黑色區(qū)域的坐標,其左和右為局部區(qū)域的左和右的坐標;其頂部表示從白色區(qū)域變化的黑色區(qū)域的y坐標;而其底部是變化到白色區(qū)域的黑色區(qū)域的y坐標。于是,就一個局部區(qū)域,可獲得一個或者多個黑色區(qū)域的坐標。這一過程對于所有的局部區(qū)域進行,以便獲得一個黑色區(qū)域集合。
其高度大于閾值的黑色區(qū)域稱為一個通配符(在步驟S63)。例如,當字符串矩形的字符被損壞而作為一團黑色時,則發(fā)生一個通配符。圖32是表示字符串矩形322(劃分為局部區(qū)域321)和分布在其中的通配符323的圖示。圖33是表示一個局部區(qū)域321中的線狀區(qū)域331和通配符323的圖示。在圖33中,局部區(qū)域321由15個線狀區(qū)域331組成。在它們之中,上面的12個線狀區(qū)域331具有通配符323。
然后掃描黑色區(qū)域集合。重疊的黑色區(qū)域或者鄰接的黑色區(qū)域被一致化為一個平直的矩形區(qū)域(在步驟S64到S69)。首先從黑色區(qū)域集合選擇一個黑色區(qū)域。對該選擇的黑色區(qū)域進行校驗(在步驟S64)。當這一黑色區(qū)域不是通配符矩形時,在該黑色區(qū)域的上和下邊緣的坐標以及在其左和右邊緣的坐標被作為平直的矩形區(qū)域的坐標存儲。向該黑色區(qū)域設置校驗標志。這樣,從該集合所抽取的每一黑色區(qū)域不再被使用。
然后,從該黑色區(qū)域集合抽取一個黑色區(qū)域。當黑色區(qū)域沒有被校驗時,其坐標與所存儲的平直矩形的坐標進行比較并判定該黑色區(qū)域在平直矩形的右邊是否鄰接或者與其重疊。滿足這樣關系的黑色區(qū)域被選擇(在步驟S65)。然后,判定該黑色區(qū)域是否為通配符(在步驟S66)。當黑色區(qū)域為通配符時,該黑色區(qū)域在水平方向上被一致化,而忽略其高度(在步驟S67)。在這一點,在所存儲的平直矩形的右邊緣的坐標以通配符矩形右邊緣的處的坐標代替。
當在平直矩形的右邊上鄰接或者與其重疊的黑色區(qū)域不是通配符時,對于在兩個矩形的上邊緣和下邊緣的坐標都進行比較。當差在預定的閾值之內時,這些區(qū)域在垂直和水平方向上都被一致化(在步驟S68)。在這一點,不是通配符的右側黑色區(qū)域的上和下邊緣處的坐標作為新的平直的矩形區(qū)域的上和下邊緣處的坐標處理。此外,在黑色區(qū)域的右邊緣處的坐標作為在平直矩形的右邊緣處的坐標處理。然后,判定所有的黑色區(qū)域是否已經被校驗(在步驟S69)。當有一個黑色區(qū)域待校驗時,則流程返回步驟S65。此外,待校驗的黑色區(qū)域變?yōu)榱硪粋€黑色區(qū)域(當在步驟S70所判定的結果為NO時)。流程返回步驟S64。在所有的黑色區(qū)域已經被抽取后,完成了區(qū)段抽取處理過程。
于是在圖31所示的區(qū)段抽取過程中,矩形的內部被劃分為重疊的(預定長度的)垂直帶條。從一個帶條中抽取帶有預定的黑色象素占有率的一個部分并表示為局部區(qū)段矩形(黑色區(qū)域)。該黑色區(qū)域被存儲。這些步驟與圖11中所示的區(qū)段抽取方法的步驟相同。在這一點,所存儲的局部區(qū)段矩形可能是下劃線的一部分的小矩形。然而,當字符被損壞并接觸了下劃線時,局部區(qū)段矩形可能是如圖32所示的帶有大的高度的矩形。這些局部區(qū)段矩形在水平方向上被掃描并作為一個長的區(qū)段矩形被抽取。在圖32中,忽略了字符串矩形中的通配符的高度。這些通配符與其它局部區(qū)段矩形被一致化。在字符串矩形的下邊緣處抽取一個平直的矩形。
圖34,35,和36表示區(qū)段抽取過程的程序代碼的一例。圖35表示圖34中所示的程序代碼的α(C1)部分。圖36表示圖34中所示的程序代碼的β(C2)部分。圖37,38,和39是分別用于說明圖34,35,和36中所示的過程的操作流程圖。在圖34所示的過程中,損壞的字符的大量的黑色象素作為一個通配符矩形處理。具有上述八連接關系的平直的矩形被校驗。與通配符矩形一同排布并具有八連接關系的矩形被一致化。這樣作為一個備擇的區(qū)段的一個定界線而獲得了一個平直矩形。然后,參照圖37,38,和39,將說明該實際的過程。
在圖37中,當開始區(qū)段抽取過程時,由處理器14校驗每一局部區(qū)段矩形的高度(在步驟S71)。當局部區(qū)段的高度為((字符串矩形的高度)×0.3)或者更大時,它被標記為一個通配符矩形(在步驟S72)。在這一點,設置use=9(其中use為局部區(qū)段矩形的標識變量)以便以一個通配符記號標記局部區(qū)段矩形。另一方面,對于其它局部區(qū)段矩形設置use=0作為常規(guī)的的矩形(標準矩形)(在步驟S73)。然后,判定是否所有的局部區(qū)段矩形已經被標記(在步驟S74)。當有待標記的局部區(qū)段矩形時,該流程返回到步驟S71。
在所有的局部區(qū)段矩形已經標記之后,抽取一個矩形作為當前的矩形i。設置(在步驟S75)xlf=當前矩形i的左邊緣的坐標,xr=當前矩形i的右邊緣的坐標,yup=當前矩形i的上邊緣的坐標,ybl=當前矩形i的下邊緣的坐標,line_starty=y(tǒng)up,以及l(fā)ine_endy=y(tǒng)bl。然后,判定當前的矩形i的標識變量use是否為0或者9(即,use=0或者9) (在步驟S76)。
在當前的矩形i的標識變量use為0或者9時,判定是否use=0(在步驟S77)。當use=0時,則設置(在步驟S78)standard_st=y(tǒng)up,standard_en=y(tǒng)bl,b_use=0,use=1,以及height=y(tǒng)bl-yup+1。當b_use為0時,它表示當前的矩形i不是通配符而是一個標準的矩形。當use=1時,它表示當前的矩形i已經被使用。當在步驟S77處use不是0時,則(在步驟S79)設置standard_st=0,standard_en=0,b_use=9,以及height2=y(tǒng)bl-yup+1。當b_use=9時,它表示當前的矩形i是通配符而不是一個標準的矩形。
然后,抽取另一個局部區(qū)段矩形作為當前矩形k。設置(在圖38所示的步驟S80)rxlf=當前矩形k左邊緣處的坐標,rxr=當前矩形k右邊緣處的坐標,ryup=當前矩形k上邊緣處的坐標,以及rybl=當前矩形k下邊緣處的坐標。然后,判定當前矩形i是否已被設置為標準矩形(即判定是否b_use=0)(在步驟S81)。在b_use=0時,判定當前矩形k的標識變量use是否為9(在步驟S82)。當use=9時,這表示當前矩形i是一個標準矩形并且當前矩形k是一個通配符。
當use=9時,判定是否有xr+1≥rxlf,xr<rxr,ybl+1≥ryup,以及yup-1≤rybl(在步驟S83)。當滿足這些關系時,它們表示當前矩形k排布在當前矩形i的右邊,并且在水平和垂直方向上以一個象素(點)或者更多的象素重疊。當滿足這些條件時,設置xr=rxr以便向當前矩形k的右邊緣擴展當前矩形i的右邊緣(在步驟S84)。
當在步驟S82處use不是9時,判定是否use=0(在步驟S85)。當use=0時,這表示當前矩形i是一個標準矩形而當前矩形k不是一個通配符。當use=0時,判定是否滿足xr+1≥rxlf,xr<rxr,ybl+1≥ryup,以及yup-1≤rybl,以及當前矩形k的高度是否在預定的范圍(在步驟S86)。
當滿足這些條件時,設置xr=rxr,yup=ryup,ybl=rybl,use=2,height=rybl-ryup+1(在步驟S87)。它們表示當前矩形i的右邊緣向當前矩形k的右邊緣擴展,而當前矩形i的上邊緣和下邊緣處的坐標由當前矩形k的上邊緣和下邊緣處的坐標代替。當use=2時,它表示當前的矩形k已經被使用。然后,判定是否滿足ryup<line_starty(在步驟S88)。當這關系滿足時,設置line_starty=ryup(在步驟S89)。然后,判定是否滿足rybl>line_endy(在步驟S90)。當這關系滿足時,設置line_endy=rybl(在步驟S91)。
然后判定是否滿足b_use=9(在圖39所示的步驟S92)。當在步驟S81不滿足關系b_use=0時或者在步驟S83,S85,S86,S88和S90的判定結果為NO時,則流程進到步驟S92。
當滿足b_use=9時,判定當前矩形k的標識變量use是否為9(在步驟S93)。當滿足關系use=9時,這表示當前矩形i和當前矩形k兩者都是通配符。當滿足關系use=9時,判定是否滿足xr+1≥rxlf以及xr<rxr(在步驟S94)。當這些關系滿足時,則當前矩形k排布在當前矩形i的右邊,并且它們以一個點或者更多的點在水平和垂直方向上重疊。在這種情形下,設置xr=rxr以便使得當前矩形i的右邊緣向當前矩形k的右邊緣擴展(在步驟S95) 。
當在步驟S93不滿足關系use=9時,判定是否滿足關系use=0(在步驟S96)。當滿足關系use=0時,這表示當前矩形i是通配符,而當前矩形k卻不是通配符。當滿足關系use=0時,判定是否滿足關系xr+1≥rxlf以及xr<rxr(在步驟S97)。當滿足這些條件時,設置xr=rxr,yup=ryup,ybl=rybl,use=2,b_use=0,line_starty=ryup,line_endy=rybl,height=rybl-ryup+1,standard_st=ryup,以及standard_en=rybl(在步驟S98)。它們表示當前矩形i的右邊緣向當前矩形k的右邊緣擴展,而當前矩形i的上邊緣和下邊緣處的坐標由當前矩形k的上邊緣和下邊緣處的坐標代替。當滿足關系use=2時,這表示當前矩形k已經被使用。
然后,判定是否所有的局部區(qū)段矩形已經被抽取作為當前矩形k(在步驟S99)。當在步驟S92不滿足關系b_use=9時或者在步驟S94,S96,S97的判定結果為NO時,則流程進到步驟S99。當在步驟S99有局部區(qū)段矩形待處理時,流程返回步驟S80。在該過程對于所有的局部區(qū)段矩形完成之后,判定關系b_use=9是否被滿足(在步驟S100)。當關系b_use=9滿足時,設置height=height2(在步驟S101)。這一條件表示當前矩形i和所有與之連接的矩形都是通配符。
然后,判定是否所有的局部區(qū)段矩形已經被抽取作為當前矩形i(在步驟S102)。當有一個局部區(qū)段矩形待處理時,則流程返回步驟S75。在當前矩形i的標識變量use即不是0也不是9時,則這表示所抽取的局部區(qū)段矩形已經被使用。這種情形下,流程進到步驟S102。在步驟S102,抽取下一個局部區(qū)段矩形。
在所有的局部區(qū)段矩形已經被處理之后,xlf,xr,line_starty,以及l(fā)ine_endy作為所抽取的區(qū)段矩形在左邊緣,右邊緣,上邊緣和下邊緣的坐標分別被存儲在文件yokoline之中(在步驟S103)。結果完成了處理過程。文件yokoline與用于存儲從一個字符串矩形所抽取的一個或者多個區(qū)段矩形的存儲區(qū)域是一致的。
在圖24的步驟S50,按上述方式從字符串矩形抽取區(qū)段。當區(qū)段與下劃線矩形一致時,則向該字符串矩形設置下劃線標志。在字符串矩形形成處理過程已經完成之后,由處理器14在圖3的步驟S8到S10進行標題/地址/發(fā)送者信息抽取處理。圖40為表示標題/地址/發(fā)送者信息抽取處理過程的操作流程圖。
在圖40之中,當處理過程開始時,利用相對位置,高度,以及字符串矩形的框架/下劃線信息,計算表示作為標題的似然性的點數(shù)(在步驟S111)。對應于以下條件針對每一字符串矩形指定作為標題的似然性點數(shù)。
(m)正點數(shù)字符串的屬性(框架和下劃線)高點數(shù)字符串的規(guī)格(高度和寬度)點數(shù)正比于字符串的規(guī)格字符串的形狀(長寬比)當字符串的長寬比大于預定的數(shù)值時指定矩形點數(shù)。
字符串的相互位置關系(垂直間隔和存在左側矩形)點數(shù)正比于字符串的隔離特性。
文檔中的位置(中心,頂部,等等)當字符串排布在文檔的中心或者頂部位置時,點數(shù)高。當字符串的位置之間的差別小時,則點數(shù)的差別相對也小。
(n)負點數(shù)字符串的屬性(當字符串矩形由一個字符矩形組成時)大的負點數(shù)字符串相互位置的關系(當上面的字符串靠近下面的字符串時,當兩個字符串重疊時,當一個上面的矩形和一個下面的矩形左側對齊時,或者當一個上面的矩形和一個下面的矩形重疊時)大的負點數(shù)文檔中的位置(右側)大的負點數(shù)對應于上述條件,當對于每一個字符串矩形滿足以下條件時,則指定隨后的點數(shù)。
(o)定界線矩形的點數(shù)是0。
(p)當字符串矩形的高度小于1/2的最大頻率數(shù)值str-freq時,點數(shù)是0。
(q)當長寬比(即寬度/長度的比率)小于3時,點數(shù)為0。
(r)當字符串矩形的寬度小于4倍的最大頻率數(shù)值str-freq時,點數(shù)是0。
(s)當字符串矩形與上述條件(o),(p),(q)和(r)不一致時,則根據(jù)以下條件對該字符串矩形指定點數(shù)。長寬比當長寬比為3時,指定20個點數(shù)。垂直接近字符串矩形除非字符串矩形重疊,在當前字符串矩形與上面的字符串矩形之間的間隔以及當前字符串矩形與下面的字符串矩形之間的間隔的每一個為(str-freq/2)或者更小時,則指定-40點數(shù)。在一側垂直接近字符串矩形在當前的字符串矩形靠近上面的字符串矩形或者下面的字符串矩形并且其間的間隔為16點或者更多時,指定-20個點。上面的字符串矩形與下面的字符串矩形之間的間隔當上面的字符串矩形與下面的字符串矩形之間的間隔大于最大頻率數(shù)值str-freq時,指定20個點數(shù)。重疊在當前的字符串矩形與另一個字符串矩形重疊時,指定-40個點數(shù)。中心當字符串矩形的水平方向上(x方向)的中心坐標在(文檔區(qū)域的中心坐標)±(40%的文檔區(qū)域寬度)之內時,指定30個點數(shù)。右側當字符串矩形的中心位置的坐標排布在離開文檔區(qū)域的左邊緣60%的位置的右邊以及當數(shù)值(文檔區(qū)域中心位置處的坐標-字符串矩形左邊緣處的坐標)為(文檔區(qū)域寬度的1/6)或者更小時,則指定30個點數(shù)。高度1當字符串矩形的高度在最大頻率數(shù)值str-freq的0.5到1.5倍的范圍內時,指定20個點數(shù)。高度2當字符串矩形的高度在最大頻率數(shù)值str-freq的1.5到3倍的范圍內時,指定30個點數(shù)。高度3當字符串矩形的高度大于最大頻率數(shù)值str-freq的3倍時,指定40個點數(shù)。高度4當字符串矩形的高度大于最大頻率數(shù)值str-freq的3倍,并且字符串矩形下面位置的坐標排布在距離文檔區(qū)域的上面的邊緣1/3的位置處時,指定10個點數(shù)。水平寬度當字符串矩形的寬度大于0.4倍的文檔區(qū)域寬度時,指定10個點數(shù)。下劃線當向一個字符串矩形設置下劃線標志時,指定30個點數(shù)??蚣墚斚蛞粋€字符串矩形設置框架標志時,指定最多30個點數(shù)。該點數(shù)對字符串矩形的長寬比成比率的降低。無左側矩形當一個字符串矩形不以類似的坐標排布在當前字符串矩形的左側,或者當其寬度小于最大頻率數(shù)值的3倍的一個字符串矩形排布在當前字符串矩形的左側時,指定20個點數(shù)。y坐標當字符串矩形排布在文檔的頂部時,指定20個點數(shù)。每當字符串矩形向下移動1行點數(shù)減少1。左對齊當字符串矩形在當前字符串矩形上的的排布方式使得當前字符串矩形的左邊緣靠近另一字符串矩形左邊緣時,指定-30個點數(shù)。重疊當一個字符串矩形排布在當前字符串矩形之上其方式使得當前字符串矩形的左邊緣或者右邊緣靠近另一個字符串矩形的左邊緣或者右邊緣,或者當另一個字符串矩形的左邊緣和右邊緣比當前字符串矩形更加靠近文檔區(qū)域的邊緣時,指定-30個點數(shù)。黑色區(qū)域當大的字符串矩形由一個黑色象素的連接區(qū)域組成時,指定-40個點數(shù)。
圖41A和41B是表示如同條件[#18]的重疊的字符串矩形的圖示。在圖41A中,一個上面的字符串矩形411的左和右邊緣靠近一個下面的字符串矩形412的左和右邊緣。在圖41B中,一個上面的字符串矩形413的左邊緣和右邊緣比下面的字符串矩形414更加靠近文檔區(qū)域的邊緣。這種情形下,認為對于下面的字符串矩形414作為標題的似然性是低的。
對于每一個字符串矩形計算對應于條件(o),(p),(q),(r)和(s)所獲得的點數(shù)的總和并存儲在存儲器15之中。
然后,按較高的點數(shù)的順序抽取標題的備擇并存儲結果(在標志S112)。這例子中,文件line3中所有的字符串矩形按較高的點數(shù)的順序排序并存儲該結果在文件title中。所有的字符串矩形按較高標題備擇的順序(即從第一標題備擇)存儲在該文件title之中。于是,第一標題備擇作為標題矩形被抽取。
然后,利用對應于第一標題備擇的相對位置的關系的信息抽取地址字符串矩形(地址矩形),并存儲結果(在步驟S113)。此外,利用相對位置的關系的信息和對應于地址矩形的相對位置關系的信息抽取發(fā)送者信息的字符串矩形(發(fā)送者信息矩形),并存儲結果(在步驟S114)。結果,完成了該處理過程。發(fā)送者信息包括文檔發(fā)送的日期,發(fā)送者的姓名,報告的號碼等等。
在步驟S113,獲得了第一標題備擇字符串矩形的y方向的位置。當?shù)谝粯祟}備擇的位置為最高位置時,進行第一地址抽取過程。否則進行第二地址抽取過程。圖42是表示第一地址抽取過程的一個操作流程圖。圖43是表示第二地址抽取過程的一個操作流程圖。
以下說明第一地址抽取過程。在圖42中,當該過程開始時,由處理器14從排布在標題矩形下面的字符串矩形抽取一個關鍵地址矩形。存儲所抽取的關鍵地址矩形(在步驟S121)。這例子中,抽取排布在標題矩形之下的字符串矩形作為關鍵地址矩形,其高度在0.6倍的st_h到1.4倍的en_h的范圍,其在x方向的中心坐標出現(xiàn)在標題矩形的中心坐標的左邊,而其長寬比大于3。正如排布在關鍵地址矩形上面并且其在x方向的中心坐標出現(xiàn)在標題矩形的中心坐標的右邊的字符串矩形那樣,當具有作為發(fā)送者的似然性信息的字符串矩形不出現(xiàn)在排布在關鍵地址矩形上面的字符串矩形之中時,所抽取的關鍵地址矩形存儲在文件to之中。
然后,排布在關鍵地址矩形右側的字符串矩形作為一個地址矩形添加(在步驟S122)。這例子中,排布在關鍵地址矩形右側并且其y坐標出現(xiàn)在(關鍵地址矩形的y坐標)±(高度×0.2)的字符串矩形是作為地址矩形處理的。所抽取的地址矩形存儲在文件to之中,其存儲的方式獨立于關鍵地址矩形。
然后,排布在上地址矩形和下地址矩形之間的字符串矩形作為地址矩形處理(在步驟S123)。這例子中,獲得了所抽取的和存儲在文件to之中的地址矩形的平均值(平均高度)。具有以下特征的一個字符串矩形作為一個地址矩形存儲到文件to,它排布在標題矩形之下,不是尚未抽取的一個地址矩形,排布在一個地址矩形之上或者之下,其左邊緣的坐標與上面或者下面的地址矩形左邊緣坐標在一預定的誤差范圍內是一致的,其高度小于兩倍的平均高度或者它到上面或者下面的地址矩形的距離小于平均高度的1/2。這一處理過程重復直到地址矩形的數(shù)目不再變化為止。
結果,完成了第一地址抽取處理過程。并抽取了文件to中的字符串矩形作為地址矩形。
以下說明第二地址抽取處理過程。圖43之中,當該過程開始時,從排布在標題矩形上面的字符串矩形中抽取一個關鍵地址矩形并且存儲(在步驟S131)。在這例子中,抽取排布在標題矩形上面的一個字符串矩形作為關鍵地址矩形,其高度在0.6倍的st_h到1.4倍的en_h的范圍,其在x方向的中心坐標排布在標題矩形的中心坐標的左邊,而其長寬比大于3。所抽取的關鍵地址矩形存儲在文件to之中。
然后,排布在關鍵地址矩形右側的字符串矩形作為一個地址矩形添加(在步驟S132)。這例子中,以預定的距離排布在關鍵地址矩形右側并且其y坐標在(關鍵地址矩形的y坐標)±(0.2×高度)范圍內的字符串矩形是作為地址矩形處理的并存儲在文件to之中,其存儲的方式獨立于關鍵地址矩形。
然后,排布在上面的地址矩形和下面的地址矩形之間的字符串矩形作為地址矩形添加(在步驟S133)。這例子之中,獲得了所抽取的和存儲在文件to之中的地址矩形的平均高度。排布在標題矩形之下具有以下特征的一個字符串矩形作為一個地址矩形添加到文件to,它沒有被抽取為地址矩形,它排布在一個地址矩形之上或者之下,它在左邊緣的坐標與上和下地址矩形的左邊緣處的坐標在預定的誤差之內是一致的,并且其高度小于兩倍的平均高度或者它到上面或者下面的地址矩形的距離小于平均高度的1/2。這一處理過程重復直到地址矩形的數(shù)目不再變化為止。
結果,完成了第二地址抽取過程。并抽取了存儲在文件to中的字符串矩形作為地址矩形。
在圖40所示的步驟S114,獲得了標題矩形的y方向的位置。當這一位置為最高位置時,進行第一發(fā)送者信息抽取處理過程。否則,進行第二發(fā)送者信息抽取處理過程。
在第一發(fā)送者信息抽取處理過程中,抽取排布在不是地址矩形的標題矩形下面的一個字符串矩形作為地址矩形并存儲在文件from之中,該字符串矩形的高度在0.6倍的st_h到1.4倍的en_h的范圍,并且它在x方向的中心坐標出現(xiàn)在標題矩形的右邊。在第二發(fā)送者信息抽取處理過程中,抽取排布在不是地址矩形的標題矩形上面的一個字符串矩形作為地址矩形并存儲在文件from之中。這樣,抽取了文件from中的字符串矩形作為發(fā)送者信息矩形。
于是,第一和第二發(fā)送者信息抽取過程要比第一和第二地址矩形抽取過程簡單。然而,與地址抽取過程同樣,滿足一預定的條件的另一個字符串矩形可作為發(fā)送者信息矩形添加。
圖44是表示標題441,地址442,以及發(fā)送者信息443的第一布局的圖示。在圖44中,由于標題矩形441排布在文檔的頂部,故進行第一地址抽取過程和第一發(fā)送者信息抽取過程。圖45,46,47是分別表示標題451,461和471,地址452,462,472以及發(fā)送者信息453,463,473的第二,第三和第四布局的圖示。在這些布局之中,由于標題矩形451,461和471不是排布在這些文檔的頂部,故進行第二地址抽取過程和第二發(fā)送者信息抽取過程。圖48是表示多個地址482a到482f和多個發(fā)送者信息483a和483b的圖示。在圖48之中,進行第二地址抽取過程和第二發(fā)送者信息抽取過程。
在圖45,47和48所示的布局之中,當進行第二發(fā)送者信息抽取過程時,沒有抽取排布在標題矩形之下的發(fā)送者信息矩形。為了避免這一問題,可以使用一種結構,其中即使標題矩形不是排布在文檔的頂部,也進行第一發(fā)送者信息抽取過程。另一方面,第一和第二發(fā)送者信息抽取過程都可進行。
圖49是表示由標題/地址/發(fā)送者信息抽取過程所產生并存儲在文件title,to,和from的內容的圖示。在圖49中,字符串矩形(「ソフトウエア販推レポ-ト送付表」)491被抽取作為標題矩形。排布在標題矩形491之下的左對齊字符串矩形492被抽取作為多個地址矩形。排布在該文檔底部的一個數(shù)碼被抽取作為發(fā)送者信息493。
圖50是表示標題/地址/發(fā)送者信息抽取過程的另一個抽取結果的圖示。在圖50中,字符串矩形(「外部発表の受付狀況につぃて(送付)」)被抽取作為標題矩形501。在標題矩形501左上位置排布的一個字符串矩形被抽取作為地址矩形502。在標題矩形501右上位置排布的多個字符串矩形被抽取作為發(fā)送者信息503。
標題矩形501,地址矩形502,和發(fā)送者信息矩形503作為字符串通過圖3所示的步驟S11的識別過程被抽取和識別。在這一點,字符從一個待處理和識別的矩形被逐個抽取。例如,識別的結果用作為電子文件系統(tǒng)11中的圖象文件的關鍵字。
在上述實施例中,圖31所示的區(qū)段抽取過程可被用于圖3所示的步驟S6從一個大矩形抽取水平區(qū)段的過程以及在圖24的步驟S50的下劃線抽取過程。于是,水平區(qū)段矩形可被抽取而不論大矩形中的通配符高度如何,并且其框線可被識別。
在參照圖3都50所述的實施例中,說明了用于從一個表的外部的區(qū)域抽取標題的技術。當標題排布在表的內部時,由于表矩形從圖5所示的步驟S24的過程排除,故表中標題不能被抽取。
一般而言,在包含表的文檔中,文檔的標題常常排布在表的外部。然而,在公司內部分配的文檔中,例如格式化的業(yè)務文檔,標題可能排布在表的內部。即使標題排布在表的外部,當標題是諸如“會議錄”之類標準的標題時,用于在電子文檔系統(tǒng)中區(qū)分所需的文檔的關鍵字的標題可能排布在表的區(qū)域中。
這例子之中,需要用于有效和快速抽取表內的標題部分的方法,而無需使用象傳統(tǒng)的字符識別方法那樣要占用長時間的方法。以下將說明一個實施例,用于抽取表示區(qū)域名稱的條目部分,例如象作為表中的“標題”和“公司名稱”之類的標題,以及表示該條目的實際內容的標題部分。
圖51是表示一個列表式的公司文檔的圖示。在圖51中,排布在由表的定界線511所圍繞的一個表中的左上部分處的(「表題」)是一個條目部分,而排布在其右邊的(「マルチメテイアとパタ-ソ認識シソポジウム」)是一個標題部分。在水平書寫文檔的情形下,表中的標題部分通常是排布在條目部分的右邊。
圖52是一流程圖,表示由圖2所示的標題抽取系統(tǒng)所進行的表內標題抽取過程。在圖52所示的過程中,作為一個先決條件,處理的是水平書寫的文檔。然而,如同圖3所示的過程那樣,垂直書寫的文檔也是可以處理的。
圖52中,當過程開始時,一個文檔由光電轉換裝置12掃描。被掃描的文檔作為文檔圖象存儲在存儲器15之中(在步驟S141)。這例子中,如同圖3中所示的步驟S1那樣,原件圖象被壓縮并然后被存儲。圖53是表示圖51中所示的被壓縮的文檔圖象的一個圖示。
然后,由處理器14對文檔圖象進行標記處理。獲得了矩形高度的最大頻率數(shù)值。利用該最大頻率數(shù)值,抽取大的矩形(在步驟S142)。在步驟S142所進行的處理過程與圖5所示的在步驟S21,S22,S23所進行的過程類似。然而在這例子中,不抽取框架矩形。文件盒中存儲的矩形要比預定的閾值th_large大。圖54是表示圖53中所示對文檔圖象進行標記的結果的一個圖示。
然后,從大的矩形抽取一個圍繞一個表的矩形80(這一矩形稱為表矩形)(在步驟S143)。從表矩形80選擇一個包含標題的矩形(在步驟S144)。在這例子中,例如選擇了帶有最大面積的表矩形80。以下的過程是對于所選擇的表矩形80的內部進行的。
從表矩形80的內部抽取字符串(或行)矩形并獲得字符串的外接矩形(這些外接矩形稱為字符串矩形)。所獲得的字符串矩形的坐標存儲在存儲器15之中(在步驟S145)。然后,其寬度小而其高度大的矩形作為噪聲矩形從所存儲的字符串矩形中除去(在步驟S146)。兩個或者多個所得的字符串矩形被一致化(在步驟S147)。
在步驟S145的過程基本上與步驟S25到S31的過程類似。在步驟S146的處理過程與在步驟S41的處理過程類似。在步驟S147的過程與在步驟S42到S44的過程類似。
在上述過程中,對已經從表的內部抽取的字符串矩形進行排布。然而由于這些字符串矩形可能包含部分表定界線,故定界線要從字符串矩形中抽取。字符串矩形由定界線劃分(在步驟S148)。
然后,計算每一字符串矩形中的字符數(shù)以便抽取象是標題的字符串矩形(在步驟S149)。字符數(shù)目在步驟S152的過程中用作為字符串矩形的一個屬性。
在步驟S148的過程中,抽取對于由表的定界線所環(huán)繞的各個區(qū)域的字符串矩形。然而,當表的形狀不是矩形時,排布在表外部的字符串矩形可能不被處理。于是,校驗上定界線(在步驟S150)。當表的定界線不是排布在在當前字符串矩形之上時,它作為分布在表外部的字符串矩形處理。這種字符串矩形被除去。
然后,分布在表內的字符串矩形按靠近表矩形的左上邊緣的位置的順序被排序(在步驟S151)。在當前字符串矩形的字符數(shù)目滿足預定的條件時,字符串矩形作為條目部分或者標題部分被抽取(在步驟S152)。結果,完成了表內標題抽取過程。在這一點,滿足預定的條件并分布在較靠近表矩形的左上邊緣位置的字符串矩形被選擇為較高標題的備擇。
以下將詳細說明表內抽取過程的各個步驟。
圖55是表示圖52中所示的步驟S143處表矩形抽取過程的操作流程圖。當在步驟S142的過程由表矩形抽取過程跟隨時,只有大于預定規(guī)格的矩形被處理。于是表矩形能夠被有效地抽取。
在圖55中,當過程開始時,從文件盒中大的矩形抽取大于預定閾值的矩形(在步驟S161)。在這個例子中,其高度例如大于五倍的矩形的高度的最大頻率數(shù)值freq的矩形被抽取。所抽取的矩形作為表矩形存儲在文件large_4bai之中。在步驟S161所抽取的表矩形用于在步驟S150的上定界線校驗過程。
然后,具有寬度大于一個閾值的矩形從文件盒中大矩形抽取(在步驟S162)。這個例子中,具有寬度大于文檔圖象寬度的0.7倍的矩形被抽取并作為表矩形存儲在文件largewide之中。
在圖52中所示的步驟S144,從在步驟S162所抽取的那些矩形選擇最大的表矩形。例如,從存儲在文件largewide之中的那些矩形選擇面積最大的表矩形。所選擇的表矩形被處理。在圖54所示的文檔圖象的情形下,只有表矩形80存儲在文件largewide之中。于是,這一表矩形80被自動地處理。
然后,在圖52所示的步驟S145,從所選擇的表矩形的內部抽取字符串矩形。然而,符合以下條件的矩形從待處理的矩形中排除。
(t)在當前矩形為框架矩形時,(u)在當前矩形為其高度大于3倍的最大頻率數(shù)值freq并且其長寬比小于0.4的扁平矩形時,以及(v)在當前矩形具有大于文檔圖象的高度的1/3的高度時。
滿足條件(t)的框架矩形在圖5所示的步驟S23的過程被抽取。
圖56是表示通過步驟S145,S146,S147的過程一致化的字符串矩形的圖示。例如在圖56中,字符串矩形81,82和83的每一個包含多個由表定界線所劃分的字符串。為了正確地抽取表中的字符串,字符串矩形在步驟S148由分布在每一字符矩形之間的垂直定界線劃分。以下參照圖57到65,說明字符串劃分過程。
字符串劃分方法可大概分為以下兩個方法。圖57是表示第一字符串劃分過程的操作流程圖。在第一字符串劃分過程中,由處理器14判定垂直定界線是否分布在包含在每一字符串矩形中的任何兩個相鄰的字符矩形之間。在這一點,包含在當前字符串矩形中的字符矩形按水平方向排序以便判定黑色象素是否出現(xiàn)在期間。當分布有黑色象素時,字符串矩形在黑色象素的位置被劃分。這樣就產生了多個新的字符串矩形。
在圖57中,當過程開始時,當前字符串矩形中的字符矩形按較小的x坐標值(水平坐標值)的順序排序(在步驟S171)。在直到步驟S147的處理過程中,串矩形中的字符矩形按較小的y坐標值(垂直坐標值)的順序排序。換言之,水平方向的順序不考慮。這樣,就改變了存儲的字符矩形的順序。
例如,在圖58所示的字符串矩形91的情形下,在字符串劃分處理過程之前,字符矩形92,95,93和94按這一順序排序并存儲。然后這些字符矩形按x的坐標值的順序重新排序。這樣,字符矩形92,93,94和95按圖59所示的順序被正確地存儲。
然后,一個字符串矩形的左邊緣的x坐標,其右邊緣的x坐標,其上邊緣的y坐標,以及其下邊緣y坐標,分別由sx1,sx2,sy1,sy2,表示(在步驟S172)。此外,該字符串矩形的最左邊的字符矩形定義為當前矩形(在步驟S173)。當前矩形的上邊緣的y坐標,其下邊緣的y坐標,其右邊緣的x坐標,由cy1,cy2,cx2表示(在步驟S174)。排布在當前矩形右邊的字符矩形的上邊緣的y坐標,其下邊緣y坐標,以及其左邊緣的x坐標由ry1,ry2,以及rx1表示(在步驟S175)。
然后,判定在由直線x=cx2,x=rx1,y=max(cy1,ry1),以及y=min(cy2,ry2)所環(huán)繞的矩形區(qū)域中是否出現(xiàn)了黑色象素(在步驟S176)。這一矩形區(qū)域是排布在當前矩形與排布在當前矩形右邊的字符矩形之間的一個區(qū)域。
當黑色象素出現(xiàn)在上述的矩形區(qū)域中時,它們被作為垂直定界線處理。由坐標x=sx1,sx2,和y=sy1,sy2所表示的矩形作為字符串矩形被寄存。然后設置sx1=rx1(在步驟S177)。
然后,判定當前矩形右邊的字符矩形是否排布在字符串矩形的右邊緣(在步驟S178)。在否定的情形下,排布在當前矩形右邊的字符矩形作為新的當前矩形處理(在步驟S179)。該流程返回步驟S174。當在步驟S176在矩形區(qū)域中沒有黑色象素出現(xiàn)時,流程進到步驟S178。
在步驟S178,當在當前矩形的右邊的字符矩形為排布在字符串矩形的右邊緣的一個矩形時,由坐標x=sx1,sx2,y=sy1,sy2所表示的一個字符串矩形作為字符串矩形存儲(在步驟S180)。結果,完成了第一字符串劃分過程。
在第一字符串劃分過程中,只要在當前矩形和其右邊的矩形之間檢測到一個垂直定界線,在其左邊的至少一個字符矩形作為字符串矩形被存儲。這樣,即使原來的字符串矩形包含兩個或者多個垂直定界線,字符串矩形也在其位置被劃分。
例如,在如圖60所示的表中的字符串矩形101的情形中,字符串矩形101包含字符矩形102,103,104,105,106,和107。一條垂直定界線分布在字符矩形102與字符矩形103之間。當對于字符串矩形101進行第一字符串劃分處理時,如果字符矩形102為當前矩形,則在字符矩形102與字符矩形103之間的一個區(qū)域中檢測到黑色象素(當在步驟S176的判定結果為YES時)。這樣,如圖61所示,包含字符矩形102的矩形作為字符串矩形108寄存(在步驟S177)。
然后,字符矩形103作為新的 當前矩形處理并進行類似的處理過程(在步驟S179)。然而沒有檢測垂直定界線。當字符矩形106作為新的當前矩形處理時,包含字符矩形103,104,105,106,和107的一個矩形作為字符串矩形109寄存(在步驟S180)。結果,完成了第一字符串劃分處理過程。于是,原來的字符串矩形101被劃分為字符串矩形108和109。
圖62和63是表示第二字符串劃分過程的操作流程圖。在第二字符串劃分過程中,由處理器14對于每一字符串矩形的內部執(zhí)行標記過程。在這一點,存儲組成字符串矩形的每一字符矩形的坐標。此外,該標記過程對于字符串矩形的內部進行,以便獲得字符串矩形的字符矩形的坐標。
在垂直定界線的一部分分布在字符串矩形內部的情形下,當前一組的矩形的數(shù)目與后一組矩形的數(shù)目進行比較時,它們不同是由于因為垂直定界線的原因而增加了后一組矩形的數(shù)目。于是該字符串矩形在后一組中出現(xiàn)不必要的字符矩形的位置被劃分。
例如,在圖60所示的字符串矩形101的情形,當對于字符串矩形101的內部進行標記處理時,獲得了如圖64所示的字符矩形。當圖60所示的字符矩形組與圖64所示的字符矩形組進行比較時,很明顯,圖64所示的字符矩形組包含一個不必要的矩形110。矩形110是與包含在字符串矩形101中的垂直定界線等同的。在這一位置,字符串矩形101被劃分。
在圖62中,當處理過程開始時,一個字符串矩形中的字符矩形集合由0標記(在步驟S181)。通過標記字符矩形內部所獲得的字符串矩形的一個集合由N表示(在步驟S182)。集合0與N的字符矩形關于x坐標排序(在步驟S183)。該字符串矩形的左邊緣的x坐標,其右邊緣的x坐標,其上邊緣的y坐標,和其下邊緣的y坐標,分別由sx1,sx2,sy1,和sy2表示(在步驟S184)。關于x坐標的排序過程按照圖57中所示的步驟S172相同的方式進行。
然后,設置登記標志=0。集合O的左邊緣處的字符矩形由矩形OO表示。集合N的左邊緣處的字符矩形由矩形NN表示。設置x2=OO的右邊緣處的x坐標以及prev=x2(在步驟S185)。然后,登記標志具有值0或者1。
然后,判定矩形OO的左上邊緣和右下邊緣處的坐標是否與矩形NN的左上邊緣和右下邊緣處的坐標一致(在步驟S186)。當它們彼此一致時,認為矩形OO與矩形NN是相同的。然后判定登記標志是否為1(在步驟S187)。
當?shù)怯洏酥緸?時,排布在矩形OO右邊的一個矩形作為一個新的矩形OO處理。另外,排布在矩形NN右邊的一個矩形作為一個新的矩形NN處理(在步驟S188)。而且設置prev=x2(在步驟S189)。設置x2=OO右邊緣的x坐標(在步驟S190)。然后判定矩形OO是否為排布在字符串矩形右邊緣處的一個字符矩形(在步驟S191)。當另一個字符矩形排布在矩形OO的右邊時,流程返回步驟S186。
當在步驟S186矩形OO的坐標與矩形NN的坐標不一致時,矩形NN作為垂直定界線處理。然后,然后判定登記標志是否為0(在圖63所示的步驟S195)。當?shù)怯洸襟E為0時,由坐標x=sx1,prev,y=sy1,sy2所表示的矩形作為一個字符串矩形寄存(在步驟S196)。此外,設置登記標志=1(在步驟S197)。于是,包含一個排布在矩形OO的左邊的一個字符矩形的一個矩形被作為字符串矩形寄存。
然后,排布在作為垂直定界線處理的矩形NN的右邊的一個矩形作為一個新的NN矩形處理(在步驟S198)。然后流程返回步驟S186。當在步驟S195登記標志不是0時,流程進到步驟S198。
當在步驟S187處登記標志為1時,矩形OO作為新一個的字符串的第一個字符處理。設置x2=矩形OO的右邊緣的x坐標以及sx1=矩形OO的左邊緣的x坐標(在步驟S192)。此外,設置prev=x2,以及登記標志=0(在步驟S193和S194)。然后,流程返回步驟S191。
當在步驟S191矩形OO為字符串矩形的右邊緣處的一個字符矩形時,由坐標x=sx1,x2,y=sy1,sy2表示的一個矩形作為一個字符串矩形寄存(在步驟S199)。結果,完成了第二字符串劃分過程。
根據(jù)第二字符串劃分過程,只要檢測到包含在集合N中而不包含在集合O中的一個不必要的矩形,則排布在該不必要的矩形左邊的至少一個字符矩形作為一個字符串矩形寄存。然后下一個集合O的矩形排布在該字符串的左邊緣。這樣,不需要的一個垂直定界線從字符串矩形除去。
例如,在圖64所示的字符串矩形101的情形下,集合O是由字符矩形102,103,104,105,106,和107組成的。集合N是由字符矩形102,110,103,104,105,106,和107組成的。當矩形OO是字符矩形103而矩形NN是字符矩形110時,字符矩形110作為一個垂直定界線處理(當在步驟186的判定結果為NO時)。這樣,一個包含字符矩形102的矩形是作為如圖61所示的字符串矩形108寄存的(在步驟S196)。
然后,字符矩形103是作為一個新的矩形NN處理的(在步驟S198)。類似的過程被重復進行。然而,對應于垂直定界線的矩形沒有被檢測。當字符矩形107作為矩形OO處理時,包含字符矩形103,104,105,106,和107的矩形作為字符串矩形109寄存(在步驟S199)。結果,完成了第二字符串劃分過程。這樣,如同第一字符串劃分過程的結果那樣,原來的字符串矩形101被劃分為字符串矩形108和109。
當比較第一和第二字符串劃分過程時,雖然這些功能基本上是相同的,但是第一字符串劃分過程比第二字符串劃分過程要快。圖65是表示對于圖56中所示的字符串矩形所執(zhí)行的字符串劃分過程的結果的圖示。當比較圖56和65中所示的結果時,很明顯,原來的字符串矩形81被劃分為字符串矩形111,112,和113,字符串矩形82被劃分為字符串矩形114和115,而字符串矩形83被劃分為字符串矩形116和117。
在字符串矩形已經劃分為較小的字符串矩形之后,流程進到圖52中所示的步驟S149。在步驟S149,對應于字符矩形的形狀,由處理器14計算字符串矩形的字符數(shù)目。在這個例子中,字符的數(shù)目對應于每一字符矩形的長寬比而被抽取。
圖66是表示字符矩形與字符數(shù)目的關系的一個圖示。在圖66中,每一字符矩形的高度和其寬度分別以H和W表示。認為一個字符的高度幾乎等于它的寬度。這樣,在字符矩形中的字符的數(shù)目可表示為[W/H](其中[W/H]是表示實數(shù)W/H的小數(shù)被截去的一個計算符號)。
通過在步驟S148的字符串劃分過程,表矩形中的字符串矩形被正確地劃分。然而,表矩形可能包含實際上排布在表外部的一個字符串矩形。圖67是表示排布在表矩形中的一個表外字符串矩形的例子的圖示。圖67中,由于由實線表示的表的定界線124的周邊不是矩形,故表矩形121包括一個排布在表外部的字符串矩形122。另一方面,象字符串矩形122那樣排布在同一行上的一個字符串矩形123是表內的一個字符串矩形。
圖68是表示圖54中所示的表矩形80中的一個字符串矩形的圖示。圖68所示的多個字符串矩形的字符串矩形131是一個表外字符串矩形。為了從一個表抽取一個標題,諸如字符串矩形122和131的表外字符串矩形應當與表內字符串矩形區(qū)分開,并且表外字符串矩形應從表矩形中除去。
于是在步驟S150,判定是否有一條定界線排布在與上面的字符串矩形不鄰接的字符串矩形之上。當沒有定界線排布時,就除去該字符串矩形。
圖69是表示上定界線校驗過程的一個操作流程圖。在圖69中,當過程開始時,按圖24所示的步驟S42相同的方式產生表示字符串矩形的連接關系的連接關系表(在步驟S201)。利用該連接關系表,獲得了在其上沒有其它字符串矩形排布的字符串矩形。當定界線不排布在字符串矩形上面時,它們被除去(在步驟S202)。結果完成了上定界線校驗過程。
圖70是表示在步驟S202的表外字符串矩形除去過程的操作流程圖。在圖70所示的表外字符串矩形除去過程中,參照表矩形中所有字符串矩形的連接關系表,其它字符串矩形不在其上排布的字符串矩形被抽取。每一被抽取的字符串矩形的預定的區(qū)域被搜索以求得黑色象素的字節(jié)數(shù)目。在這例子中,八象素等于一字節(jié)。字節(jié)的數(shù)目由M表示。
當總數(shù)M等于或者大于以字節(jié)表示搜索范圍寬度的閾值L時,認為水平定界線出現(xiàn)在該范圍內。字符串矩形是作為一個表內字符串矩形寄存的。當有一個字符串矩形滿足關系M<L時,認為水平定界線不排布在該字符串矩形上面。這一字符串矩形作為表外字符串矩形被除去。
在圖70中,當該過程開始時,表矩形中的字符串矩形集合由表內字符串矩形集合S表示(在步驟S211)。然后,其上沒有集合S的其它字符串矩形排布的字符串矩形被抽取。被抽取的字符串矩形由集合S1表示(在步驟S212)。在圖67所示的表矩形的情形下,劃陰影的字符串矩形122和123是集合S1的元素。
然后,在集合S1中的一個字符串矩形由SS表示(在步驟S213)。字符串矩形SS的左邊緣的x坐標,其右邊緣的x坐標,其上邊緣的y坐標,其下邊緣的y坐標,分別由sx1,sx2,sy1,和sy2表示(在步驟S214)。
然后,獲得了排布在字符串矩形SS或者不是表矩形的字符串矩形之上的一個表矩形。所獲得的該表矩形的左邊緣的x坐標,其右邊緣的x坐標,其上邊緣的y坐標,其下邊緣的y坐標,由ux1,ux2,uy1,和uy2表示(在步驟S215)。在這一點,參照了在圖55所示的步驟S161所處抽取的作為其它表矩形并存儲在文件large_4bai的表矩形。
然后,由直線x=max(sx1,ux2),x=min(sx2,ux2),y=sy1,和y=uy2所圍繞的矩形區(qū)域由L表示(在步驟S216)。矩形區(qū)域的寬度等同于字符串矩形SS的寬度和排布在該字符串矩形SS之上的矩形的寬度的重疊部分。在這例子中,字節(jié)數(shù)目L由以下公式給出。
L=min(sx2,ux2)/8-max(sx1,ux1)/8+1然后,獲得該矩形區(qū)域中的黑色象素。獲得了作為黑色象素的字節(jié)數(shù)的總和M(其中八個象素等于一個字節(jié))(在步驟S217)。
當排布在步驟S215所獲得的字符串矩形SS之上的一個矩形為字符串矩形時,在步驟S216的字節(jié)數(shù)目L以及在步驟S217的黑色象素的搜索范圍如圖71所示。當排布在字符串矩形SS之上的一個矩形為另一個表矩形時,在步驟S216的字節(jié)數(shù)目L以及在步驟S217的黑色象素的搜索范圍如圖72所示。
然后,總和M與字節(jié)數(shù)L進行比較(在步驟S218)。當總和M小于L時,認為水平定界線不排布在該字符串矩形SS之上。于是,字符串矩形SS作為一個表外字符串矩形處理。這樣,字符串矩形SS從集合S中除去(在步驟S219)。
然后,判定該字符串矩形SS是否為集合S1的最后的字符串矩形(在步驟S220)。當字符串矩形SS不是最后的字符串矩形時,流程返回步驟S213。在集合S1的所有字符串矩形已經被處理之后,就完成了表外字符串矩形除去過程。
在步驟S215,當即沒有表矩形,也沒有字符串矩形排布在字符串矩形SS之上時,則在步驟S217搜索直到文檔圖象的上邊緣的范圍以便獲得黑色象素。圖73是表示搜索范圍的一個圖示。該寬度與字符串矩形SS的寬度一致。
通過圖70所示的過程,除去圖68中所示的表外字符串矩形131。圖74表示其余的表內字符串矩形。標題備擇對應于矩形的位置和數(shù)目的關系從所獲得的表內字符串矩形抽取。
圖75是表示圖52所示的步驟S151和S152處執(zhí)行標題備擇輸出過程的操作流程圖。在水平書寫的文檔的情形下,在最接近左上邊緣的位置處排布的一個字符串象是一個標題。這樣,在圖75中所示的標題備擇輸出過程中,字符串矩形是按接近表的左上邊緣的位置的順序而排序的。然后,表內標題備擇是對應于該順序以及在步驟S149所獲得的字符的數(shù)目的信息而指定的。標題備擇是按這一順序輸出的。
可以主要使用以下三種方法指定標題備擇的優(yōu)先順序。
(w)較接近表的左上邊緣的標題備擇被指定為較高的優(yōu)先權。
(x)校驗每一相鄰的字符串矩形的字符數(shù)目。對應于字符數(shù)目,對于字符串矩形指定標題備擇的優(yōu)先順序。表示諸如“title”“subject”的標題的條目名稱可能是排布在左邊(或者上面)的標題。這些條目名稱和標題的關系可由字符的數(shù)目來表示。當字符串由直到十的幾個字符組成,以及幾個字符排布在由兩個到幾個字符所組成的字符串右邊或者下邊時,可以判定,存在一個條目名稱和一個標題的一對。一個較高的優(yōu)先權指定給這些對子。
(y)較高的優(yōu)先權指定給這樣的字符串矩形,它們由預定的字符數(shù)目組成,并具有字符數(shù)目對相鄰的字符串矩形的關系是按接近于表的左上邊緣的位置的順序。
在這種情形下,在表中的字符串矩形從表的左上邊緣進行校驗。在當前字符串矩形的字符數(shù)目超過預定的閾值時,它作為一個條目備擇來處理。此外,當另一個字符串矩形排布在當前字符串矩形的右邊時,不論其字符數(shù)目如何它都作為一個標題備擇來處理。
換言之,當象“itemtitle”這樣條目和標題都排布在一個區(qū)域中時,則標題可被抽取。這樣,即使一個字符串矩形包含兩種元素,標題也可被抽取。此外,由許多字符組成的字符串矩形很可能是一個表內標題。即使這種字符串矩形作為一個條目備擇而輸出,當它象是對應于字符識別的結果的一個標題時,它可以作為一個標題處理。
在當前字符串矩形的字符數(shù)目少于閾值的情形下,當另一個字符串矩形排布在當前字符串矩形的右邊并且該另一個字符串矩形的字符數(shù)超過閾值時,當前字符串矩形作為一個條目備擇而被處理,而另一個字符串矩形作為條目備擇處理。
方法(w),(x)和(y)對于20種文檔圖象實驗的結果顯示,方法(y)在表內標題抽取性能上優(yōu)于方法(w)和(x)。在圖75所示的處理過程中,優(yōu)先權是對應于方法(y)指定的。
在圖75中,當處理過程開始時,利用圖76中的每一表內字符串矩形761的左上邊緣的坐標(x1,y1),它們按(x1+y1)的順序排序(在步驟S221)。表內字符串矩形集合761以S表示(在步驟S222)。在集合S中具有(x1+y1)的最小值的表內字符串矩形以當前矩形SS表示(在步驟S223)。
然后,判定當前矩形SS的字符數(shù)是否大于閾值TITLEMOJISUU(在步驟S224)。例如設定TITLEMOJISUU=7。在當前矩形SS的字符數(shù)等于或者大于TITLEMOJISUU時,判定另一個字符串矩形是否排布在當前矩形SS的右邊(在步驟S225)。在另一個字符串矩形沒有排布在當前矩形SS的右邊時,它作為一個條目備擇而輸出(在步驟S226)。然后,判定當前矩形SS是否為最后的一個字符串矩形(在步驟S227)。在當前矩形SS不是最后的一個字符串矩形時,具有下一個較小的(x1,y1)數(shù)值字符串矩形作為一個新的當前矩形SS處理(在步驟S231)。然后流程返回到步驟S224。
當在步驟S225一個字符串矩形排布在當前矩形SS的右邊時,該當前矩形SS作為一個條目備擇輸出。排布在當前矩形SS右邊的字符串矩形作為一個標題備擇而輸出(在步驟S230)。然后流程進到步驟S227。
在步驟S224當前矩形SS的字符數(shù)少于閾值TITLEMOJISUU時,判定另一個字符串矩形是否排布在當前矩形SS的右邊(在步驟S228)。當另一個字符串矩形排布在當前矩形SS的右邊時,判定字符數(shù)是否大于閾值TITLEMOJISUU(在步驟S229)。當字符數(shù)超過閾值TITLEMOJISUU時,流程進到步驟S230。
當在步驟S228另一個字符串矩形沒有排布在當前矩形SS的右邊時,或者在步驟S229當排布在當前矩形SS的右邊的字符串矩形的字符數(shù)少于閾值TITLEMOJISUU時,流程進到步驟S227。當在步驟S227當前矩形SS為最后的字符串矩形時,完成了標題備擇輸出過程。
根據(jù)標題備擇輸出過程,滿足以下三個條件的字符串矩形作為條目備擇或者標題備擇輸出。
(α)在當前矩形字符數(shù)超過閾值并且另一個字符串矩形沒有排布在當前矩形的右邊時,當前矩形作為一個條目備擇輸出。
(β)在當前矩形字符數(shù)超過閾值并且另一個字符串矩形排布在當前矩形的右邊時,當前矩形作為一個條目備擇輸出而排布在當前矩形右邊的字符串矩形作為標題備擇輸出。
(γ)在當前矩形字符數(shù)小于閾值并且排布在當前矩形右邊的另一個字符串矩形的字符數(shù)超過閾值時,當前矩形作為一個條目備擇輸出而排布在當前矩形右邊的字符串矩形作為標題備擇輸出。
圖77是表示一個表內標題第一備擇的圖示。在圖77中,字符串矩形111為一個條目備擇。字符串矩形112為一個標題備擇。根據(jù)表內標題抽取過程,對于表中的條目和標題的區(qū)域可從包含各種表的文檔中抽取,而無需使用特別的操作和辭典。
被抽取作為條目備擇和標題備擇的字符串矩形是通過與圖3所示的步驟S11相同的過程作為字符串識別的。在這一點,實際上抽取作為條目備擇的字符串可能包含標題字符串。于是,被識別的結果的適當部分用作為一個條目名稱或者一個標題。
根據(jù)本發(fā)明,字符區(qū)域和字符串區(qū)域的形狀可以不總是矩形。而是可以使用通過直線或者曲線圍繞的任何形狀的區(qū)域。
應當注意,本發(fā)明可用于任何模式,諸如符號和圖形以及文檔。
雖然本發(fā)明已經就其最佳實施例進行了說明和描述,但業(yè)內專業(yè)人士應當理解,在不背離本發(fā)明的精神和范圍的情形下可在其形式和細節(jié)上作出上述的和各種其它的變化,省略,和添加。
權利要求
1.一種用于從已經轉換為圖象數(shù)據(jù)的文檔的文檔圖象抽取所需的局部區(qū)域并用于作出識別的標題抽取裝置,包括字符區(qū)域產生裝置,用于產生包含由文檔圖象連接的黑色象素所組成的黑色象素連接區(qū)域的字符區(qū)域;字符串區(qū)域產生裝置,用于一致化由所述字符區(qū)域產生裝置所產生的一個或者多個字符區(qū)域,并用于產生包含一個或者多個字符區(qū)域的字符串區(qū)域;以及標題抽取裝置,用于抽取包含具有預定規(guī)格的黑色象素連接區(qū)域的表區(qū)域并從該表區(qū)域中的多個字符串區(qū)域抽取一個特定的字符串區(qū)域作為一個標題區(qū)域。
2.如同權利要求1中所述的標題抽取裝置,其中所述標題抽取裝置適于在定界線的位置劃分一個具有定界線的第五字符串區(qū)域。
3.如同權利要求2中所述的標題抽取裝置,其中所述標題抽取裝置適于判定黑色象素是否分布在第五字符串區(qū)域中的多個字符區(qū)域中并在黑色象素的位置劃分第五字符串區(qū)域。
4.如同權利要求2中所述的標題抽取裝置,其中所述標題抽取裝置適于判定第五字符串區(qū)域的多個字符區(qū)域與由所述字符區(qū)域產生裝置對于作為目標的第五字符串區(qū)域所獲得的字符區(qū)域之間的差,并在檢測到差的位置劃分第五字符串區(qū)域。
5.如同權利要求1中所述的標題抽取裝置,其中所述標題抽取裝置適于判定定界線是否排布在表區(qū)域中的一個第六字符串區(qū)域的鄰域中的一個特定的區(qū)域中,并在定界線沒有排布在該特定區(qū)域中時將第六字符串區(qū)域作為一個表外字符串區(qū)域處理。
6.如同權利要求5中所述的標題抽取裝置,其中所述標題抽取裝置適于對應于表區(qū)域中的字符串區(qū)域的相互位置關系作為第六字符串區(qū)域處理在其上沒有排布一個表內字符串區(qū)域的一個字符串區(qū)域,搜索第六字符串區(qū)域上方排布的特定區(qū)域中的黑色象素,并在檢測到超過預定閾值的黑色象素時判定定界線排布在該特定區(qū)域中。
7.如同權利要求6中所述的標題抽取裝置,其中所述標題抽取裝置適于把第六字符串區(qū)域與第六字符串區(qū)域或者表區(qū)域以上的另外一個字符串區(qū)域之間的一個區(qū)域作為特定的區(qū)域處理,并指定對應于第六字符串區(qū)域與另外一個字符串區(qū)域或者表區(qū)域的位置關系的閾值。
8.如同權利要求1中所述的標題抽取裝置,其中所述標題抽取裝置適于按照接近于表區(qū)域的左上邊緣的位置的順序而輸出字符串區(qū)域。
9.如同權利要求8中所述的標題抽取裝置,其中所述字符串區(qū)域產生裝置適于產生一個或者多個包含字符區(qū)域的字符串矩形作為字符串區(qū)域,以及其中所述標題抽取裝置適于對應于字符串矩形的特定的頂點坐標數(shù)值向表區(qū)域中的多個字符串矩形指定優(yōu)先順序。
10.如同權利要求1中所述的標題抽取裝置,其中所述標題抽取裝置適于向象是作為條目區(qū)域的條目以及象是作為標題區(qū)域的標題的字符串區(qū)域指定優(yōu)先順序,并輸出條目區(qū)域及標題區(qū)域。
11.如同權利要求10中所述的標題抽取裝置,其中所述標題抽取裝置適于對應于預定的條目關系、標題的位置、以及字符數(shù)獲得字符串區(qū)域對,并按較高位置的順序輸出字符串區(qū)域對。
12.如同權利要求10中所述的標題抽取裝置,其中所述標題抽取裝置適于輸出其字符數(shù)等于或者大于預定閾值的一個第七字符串區(qū)域作為條目區(qū)域。
13.如同權利要求12中所述的標題抽取裝置,其中所述標題抽取裝置適于輸出排布在第七字符串區(qū)域右方的字符串區(qū)域作為標題區(qū)域。
14.如同權利要求10中所述的標題抽取裝置,其中所述標題抽取裝置適于輸出其字符數(shù)小于預定閾值的第八字符串區(qū)域作為條目區(qū)域,并輸出其字符數(shù)等于或者大于閾值排布在該第八字符串區(qū)域右邊的字符串區(qū)域作為標題區(qū)域。
15.一種標題抽取方法,包括步驟轉換文檔為圖象數(shù)據(jù)并產生一個文檔圖象;產生包含由文檔圖象中連接的黑色象素所組成的黑色象素連接區(qū)域的字符區(qū)域;一致化一個或者多個的字符區(qū)域并產生包含這些字符區(qū)域的字符串區(qū)域;抽取包含具有預定規(guī)格的黑色象素連接區(qū)域的一個表區(qū)域;抽取表區(qū)域中的多個字符串區(qū)域的一個特定的字符串區(qū)域作為標題區(qū)域,以及識別標題區(qū)域中的字符。
全文摘要
一種標題抽取裝置掃描文檔圖象中的黑色象素并抽取外接黑色象素連接區(qū)域的矩形區(qū)域作為字符矩形。此外,該標題抽取裝置一致化鄰接的多個字符矩形并抽取外接字符矩形的矩形區(qū)域作為字符串矩形。然后,該標題抽取裝置利用對應于每一字符串矩形的諸如下劃線屬性、框架屬性、和定界線屬性,文檔圖象中的字符串矩形的位置,以及相互位置關系的屬性作為標題的似然性而計算點數(shù),并抽取帶有最高點數(shù)的字符串矩形作為標題矩形。在表格式文檔的情形下,該標題抽取裝置可從表的內部抽取一個標題矩形。從標題矩形所抽取的字符通過字符識別處理用作為文檔圖象的關鍵字。
文檔編號G06T11/60GK1365080SQ0113594
公開日2002年8月21日 申請日期1996年9月4日 優(yōu)先權日1995年9月6日
發(fā)明者勝山裕, 直井聰 申請人:富士通株式會社