JP2010061693A - Slip recognition method and slip recognition apparatus - Google Patents
Slip recognition method and slip recognition apparatus Download PDFInfo
- Publication number
- JP2010061693A JP2010061693A JP2009284133A JP2009284133A JP2010061693A JP 2010061693 A JP2010061693 A JP 2010061693A JP 2009284133 A JP2009284133 A JP 2009284133A JP 2009284133 A JP2009284133 A JP 2009284133A JP 2010061693 A JP2010061693 A JP 2010061693A
- Authority
- JP
- Japan
- Prior art keywords
- ruled line
- logical
- block
- group
- line item
- 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
- Character Input (AREA)
Abstract
Description
本発明は、帳票上の文字を認識するため、帳票のフォーマットを認識するための帳票認識方法及び帳票認識装置に関し、特に、表を持つ帳票の表構造を自動解析して、表を構成する各項目の属性を決定する帳票認識方法及び帳票認識装置に関する。 The present invention relates to a form recognition method and form recognition apparatus for recognizing a format of a form in order to recognize characters on the form, and more particularly, to automatically analyze the table structure of a form having a table and configure each table. The present invention relates to a form recognition method and form recognition apparatus for determining item attributes.
データの自動入力のため、帳票上の文字を認識する文字認識方法が用いられている。この文字認識においては、帳票上の指定された位置のイメージを取り出し、文字認識する。 A character recognition method for recognizing characters on a form is used for automatic input of data. In this character recognition, an image at a specified position on a form is taken out and character recognition is performed.
帳票上の文字を識別するには、その文字のデータ名(フィールド認識子)、文字種類等の文字の属性を定義する必要がある。 In order to identify a character on a form, it is necessary to define character attributes such as a data name (field identifier) and a character type of the character.
図87は、従来技術の説明図である。 FIG. 87 is an explanatory diagram of the prior art.
図87は、帳票として振込依頼書を示す。この振込依頼書は、「振込先」、「銀行名」、「支店名」等の項目がある。このような項目を自動認識するには、各項目のフィールドID(データ名称)、開始位置、終了位置、桁数、認識カテゴリ(文字種類)等の属性を定義する必要がある。従来、この定義情報は、各帳票毎に、登録していた。この登録には、オペレータが、各帳票毎に、入力していた。 FIG. 87 shows a transfer request form as a form. This transfer request form includes items such as “transfer destination”, “bank name”, and “branch name”. In order to automatically recognize such items, it is necessary to define attributes such as field ID (data name), start position, end position, number of digits, recognition category (character type) of each item. Conventionally, this definition information has been registered for each form. For this registration, the operator has input for each form.
しかしながら、従来技術では、定義情報を事前に登録する必要があった。このため、予め定義情報を登録した帳票しか、文字認識できない。例えば、金融機関において、振込の自動入力を行う場合に、企業が作成する振込依頼書のフォーマットは、様々である。このような各帳票の定義情報を予め作成しておくことは、手間がかかるという問題がある。 However, in the prior art, definition information has to be registered in advance. For this reason, only a form in which definition information is registered in advance can recognize characters. For example, in a financial institution, when a transfer is automatically input, there are various formats for a transfer request form created by a company. There is a problem that creating such definition information for each form in advance is troublesome.
又、帳票の定義情報を登録したとしても、その帳票のフォーマットが変更になった場合に、定義情報を変更する必要があるという問題もある。 Even if the definition information of the form is registered, there is a problem that the definition information needs to be changed when the format of the form is changed.
本発明の目的は、帳票の各項目の定義情報を自動認識する帳票認識方法及び帳票認識装置を提供するにある。 An object of the present invention is to provide a form recognition method and a form recognition apparatus that automatically recognize definition information of each item of a form.
本発明の他の目的は、帳票の各項目の並びを解析して、各項目の属性を決定する帳票認識方法及び帳票認識装置を提供することにある。 Another object of the present invention is to provide a form recognition method and a form recognition apparatus that analyze the arrangement of each item of a form and determine the attribute of each item.
本発明の更に他の目的は、帳票の最小矩形の属性を決定して、帳票のデータ部分を文字認識するための帳票認識方法及び帳票認識装置を提供することにある。 Still another object of the present invention is to provide a form recognition method and a form recognition apparatus for determining a minimum rectangular attribute of a form and recognizing characters in the data portion of the form.
本発明は、帳票の表構造を認識する帳票認識方法である。その方法は、帳票のイメージから前記帳票の縦罫線及び横罫線で構成される最小矩形を抽出するステップと、前記最小矩形の前記帳票の行方向の接続関係から、表の各行を構成する論理行に分類するステップと、前記連続して、且つ同じ行構造を持つ前記論理行を、1つのブロックにまとめるステップと、前記表の上下に接続する前記ブロック間で、同じ列構造を持つブロックの関係を抽出し、前記同一の列構造を持つブロックを、論理列の単位で、まとめるステップと、前記論理行、前記ブロック、前記論理列に解析された表構造から、属する行数が最大である前記ブロックをボデイ部分として決定し、そのブロックの上及び下に位置するブロックを、ヘッダ部、フッタ部として決定するステップと、前記ヘッダ部の論理行を、見出し部分とし、前記見出し部分の文字を、前記論理列単位で、文字認識して、前記論理列単位の見出し部分の属性を決定するステップと、前記論理列単位の見出し部分の属性から、前記ボデイ部分の前記論理列における前記最小矩形の属性を決定するステップとを有する。 The present invention is a form recognition method for recognizing a table structure of a form. The method includes the steps of extracting a minimum rectangle composed of vertical and horizontal ruled lines of the form from the form image, and logical lines constituting each row of the table from the connection relation of the minimum rectangle in the line direction of the form. A step of grouping the logical rows having the same row structure into one block, and a block having the same column structure between the blocks connected above and below the table Extracting the block having the same column structure in units of logical columns, and the number of rows belonging to the logical row, the block, and the table structure analyzed into the logical columns is the maximum. Determining a block as a body part, determining blocks located above and below the block as a header part and a footer part, and a logical line of the header part as a header part And recognizing the character of the heading part in units of the logical columns to determine the attribute of the heading part in units of the logical columns, and from the attribute of the heading part in units of the logical columns, Determining an attribute of the minimum rectangle in the logical column.
本発明の他の形態は、前記行方向の関係を抽出するステップは、前記最小矩形の接続関係から前記最小矩形を各行を構成する最小矩形に分類するステップと、前記連続して、且つ同じ行構造を持つ行をブロックにまとめるステップとを有し、前記列方向の関係を抽出するステップは、上下に接続するブロック間で同じ列構造を持つブロックの関係を抽出するステップを有するステップを有する。 In another aspect of the present invention, the step of extracting the relationship in the row direction includes the step of classifying the minimum rectangle into the minimum rectangle constituting each row from the connection relationship of the minimum rectangle, the continuous and the same row And the step of extracting the relationship in the column direction includes the step of extracting a relationship of blocks having the same column structure between blocks connected vertically.
本発明の更に他の形態は、前記表構造を解析するステップは、前記最小矩形の接続関係から、接続する最小矩形をグループに分類するステップと、前記グループを表の構成要素単位に分類するステップと、前記表の構成要素単位に、前記最小矩形間の行と列の関係を解析するステップとを有する。 According to still another aspect of the present invention, the step of analyzing the table structure includes a step of classifying the minimum rectangle to be connected into a group based on the connection relationship of the minimum rectangle, and a step of classifying the group into a component unit of the table. And analyzing a relation between a row and a column between the minimum rectangles for each component of the table.
本発明の更に他の形態は、前記行方向の関係に解析するステップは、最小矩形が構成する行の入れ子構造を解析して、前記最小矩形に、入れ子情報を設定するステップを有する。 In still another embodiment of the present invention, the step of analyzing the relationship in the row direction includes a step of analyzing a nested structure of rows formed by the minimum rectangle and setting nested information in the minimum rectangle.
本発明の更に他の形態は、前記解析するステップは、前記各構成要素の表構造を抽出するステップと、同一の表構造を有する構成要素を統合するステップとを有する。 In still another embodiment of the present invention, the analyzing step includes a step of extracting a table structure of each component and a step of integrating components having the same table structure.
本発明の更に他の形態は、前記解析するステップは、前記各構成要素の表構造を抽出するステップと、前記構成要素の表構造から、前記構成要素内の罫線を回復するステップを有する。 In still another aspect of the invention, the analyzing step includes a step of extracting a table structure of each component and a step of recovering ruled lines in the component from the table structure of the component.
本発明の更に他の形態は、前記行方向の関係を解析するステップは、前記各行の構造から、前記行に付与された消し線を検出するステップと、前記消し線を除去して、各行の関係を決定するステップとを有する。 According to still another aspect of the invention, the step of analyzing the relation in the row direction includes the step of detecting a strike line given to the row from the structure of each row, and removing the strike line, Determining a relationship.
本発明の更に他の形態は、前記解析するステップは、同じ大きさの最小矩形が連続することを検出するステップと、連続した最小矩形を1つの最小矩形に統合するステップとを有する。 In still another embodiment of the present invention, the analyzing step includes a step of detecting that the minimum rectangles having the same size are consecutive, and a step of integrating the continuous minimum rectangles into one minimum rectangle.
本発明では、表構造の最小矩形を抽出し、最小矩形の物理的並びを検出する。この最小矩形の物理的並びから帳票の表構造を解析して、最小矩形の属性を決定する。最小矩形の物理的並びを検出して、最小矩形の属性を決定するので、帳票の表構造を自動解析することができる。このため、帳票の各項目を、事前に登録する手間を省くことができる。又、帳票のフォーマットが変更されても、定義情報を人手により変更する手間を省くことができる。 In the present invention, the minimum rectangle of the table structure is extracted, and the physical arrangement of the minimum rectangle is detected. The table structure of the form is analyzed from the physical arrangement of the minimum rectangle, and the attribute of the minimum rectangle is determined. Since the physical arrangement of the minimum rectangle is detected and the attribute of the minimum rectangle is determined, the table structure of the form can be automatically analyzed. For this reason, the trouble of registering each item of the form in advance can be saved. Further, even if the format of the form is changed, it is possible to save time and labor for changing the definition information manually.
図1は、本発明の一実施の形態の帳票認識装置のブロック図、図2は、本発明の一実施の形態に用いられる第1の帳票例の説明図、図3は、本発明の一実施の形態に用いられる第2の帳票例の説明図である。 FIG. 1 is a block diagram of a form recognition apparatus according to an embodiment of the present invention, FIG. 2 is an explanatory diagram of a first form example used in the embodiment of the present invention, and FIG. It is explanatory drawing of the 2nd example of a form used for embodiment.
図1に示すように、リーダー1000は、帳票を光学的に読み取る。プロセッサ(CPU)1001は、帳票を解析して、文字認識を行う。メモリ1002は、見出し文言辞書1003、一般辞書1004を格納する。見出し文言辞書1003は、予め定められた見出し文言とそのイメージデータを格納する。一般辞書1004は、データ部分の文字認識のため、文字認識カテゴリー/文字フォント別の辞書を格納する。
As shown in FIG. 1, the
CPU1001は、帳票の罫線と、罫線により構成される最小矩形を抽出する罫線抽出部1005と、抽出した最小矩形の並びを解析して、表構造う解析する解析部1006と、解析した表構造から、各最小矩形の属性を決定する属性決定部1007と、属性に従い、文字認識を行う文字認識部1008とを有する。尚、後述するように、これら各部は、CPU1001が行う処理をブロックで表現したものである。
The
図2は、解析される第1の帳票例を示す。この帳票は、振込依頼書である。図2の第1の帳票は、依頼人、依頼日、振込予定日、振込先(銀行名、支店名)、科目、口座番号、受取人名、金額、小計、合計を記入するものである。この帳票において、(数字)は、横方向に延びる横罫線を、〔数字〕は、縦方向に延びる縦罫線を、数字は、縦罫線及び横罫線で囲まれる最小矩形(以降、罫線項目と呼ぶ)を示す。従って、図2の帳票は、20の横罫線(1)〜(20)と、13の縦罫線〔1〕〜〔13〕と、176の罫線項目1〜176とで構成されている。
FIG. 2 shows a first form example to be analyzed. This form is a transfer request form. The first form in FIG. 2 is for entering the requester, request date, scheduled transfer date, transfer destination (bank name, branch name), subject, account number, recipient name, amount, subtotal, and total. In this form, (number) is a horizontal ruled line extending in the horizontal direction, [number] is a vertical ruled line extending in the vertical direction, and a number is a minimum rectangle (hereinafter referred to as a ruled line item) surrounded by the vertical ruled line and the horizontal ruled line. ). Accordingly, the form shown in FIG. 2 includes 20 horizontal ruled lines (1) to (20), 13 vertical ruled lines [1] to [13], and 176 ruled
図3は、解析される第2の帳票例を示す。この帳票も、振込依頼書である。図3の第2の帳票は、依頼人、銀行名、支店名、科目、口座番号、受取人名、金額、小計、合計、適用、備考を記入するものである。この帳票においても、(数字)は、横方向に延びる横罫線を、〔数字〕は、縦方向に延びる縦罫線を、数字は、縦罫線及び横罫線で囲まれる最小矩形(以降、罫線項目と呼ぶ)を示す。従って、図3の帳票は、30の横罫線(1)〜(30)と、20の縦罫線〔1〕〜〔20〕と、171の罫線項目1〜171とで構成されている。この帳票は、表の部分が2つに分割されている。
FIG. 3 shows a second form example to be analyzed. This form is also a transfer request form. The second form in FIG. 3 is for entering the client, bank name, branch name, subject, account number, payee name, amount, subtotal, total, application, and remarks. Also in this form, (number) is a horizontal ruled line extending in the horizontal direction, [number] is a vertical ruled line extending in the vertical direction, and a number is a minimum rectangle surrounded by the vertical ruled line and the horizontal ruled line (hereinafter referred to as ruled line items). Call). Accordingly, the form shown in FIG. 3 includes 30 horizontal ruled lines (1) to (30), 20 vertical ruled lines [1] to [20], and 171 ruled
本発明は、このような表構造を有する帳票の各罫線項目の種類等を自動解析するものである。 The present invention automatically analyzes the type of each ruled line item of a form having such a table structure.
図4及び図5は、本発明の一実施の形態の全体フロー図、図6乃至図25は、その処理の説明図である。 4 and 5 are overall flowcharts of an embodiment of the present invention, and FIGS. 6 to 25 are explanatory diagrams of the processing.
(S1)CPU1001は、帳票のイメージデータから帳票上の横罫線と縦罫線と、横罫線と縦罫線に囲まれた最小矩形(罫線項目)を抽出する。図6(A)の示すように、イメージデータの黒ドットが連続する数を数え、一定数以上のドットが連続した場合に、横罫線又は縦罫線と判断する。図6(B)は、横罫線と縦罫線との例を示す。罫線は、物理的な座標として抽出され、縦及び横罫線を開始座標と終了座標で示す。罫線項目は、図6(C)に示すように、2本づつの縦罫線及び横罫線で囲まれる最小矩形を抽出したものである。この罫線項目も、開始座標と終了座標で示す。
(S1) The
次に、CPU1001は、イメージデータの帳票の斜度を算出し、斜度に合わせて罫線項目、横罫線、縦罫線の各開始座標及び終了座標を補正する。
Next, the
(S2)CPU1001は、図7に示すように、各罫線項目を、接続する位置関係にあるもの同志が同じグループになるように、分類する。各罫線項目の座標を参照して、上下又は左右に接続する位置関係にあるもの同志を同じグループに分類する。図7に示すように、図2の第1の帳票は、3つのグループに分類される。図8は、接続関係の態様を示したものである。図8に示すように、罫線項目が接続しているかを判断するには、横方向又は縦方向に完全の接続している場合のみならず、罫線項目間の距離が、横方向又は縦方向で、所定の閾値の範囲内にあるものも、接続していると判断する。
(S2) As shown in FIG. 7, the
(S3)次に、CPU1001は、グループを表の構成要素単位に分類する。罫線項目を分類したグループを、更にグループ毎に、表構造の構成単位に細分化する。図9に示すように、構成単位とは、グループの主となる表の部分、上側に突出した部分(上凸部)、下側に突出した部分(下凸部)からなる。このため、各罫線が、座標からどのグループ内に位置するか(どのグループを構成しているか)を判定する。そして、ぞれぞれのグループ単位に、2本づつの縦罫線及び横罫線で矩形(正方形、長方形)を構成できるものを探す。そして、罫線で構成される矩形の中で、最も大きいものをグループ内での最大矩形とする。グループ単位に、最大矩形に含まれない位置に存在する罫線項目を探索し、最大矩形の上側に位置するものを、上凸部、下側に位置するものを下凸部と分類する。そして、最大矩形に含まれる罫線項目を主表部に分類する。以降、この細分化した単位をグループと呼ぶ。
(S3) Next, the
図9の帳票で、最大矩形を求めた場合、最大矩形は、横罫線a、横罫線b、縦罫線c、縦罫線dで囲まれる範囲となる。従って、主表部は、罫線項目3〜26、上凸部は、罫線項目1〜2、下凸部は、罫線項目27〜32となる。
When the maximum rectangle is obtained in the form shown in FIG. 9, the maximum rectangle is a range surrounded by the horizontal ruled line a, the horizontal ruled line b, the vertical ruled line c, and the vertical ruled line d. Accordingly, the main surface portion is ruled
(S4)CPU1001は、表の構成要素単位のグループを論理行に分類する。グループ単位に、構成する罫線項目を、行方向(帳票の横方向)に論理的接続を持つもの同志を纏めた論理行に、分類する。ここで言う論理的な接続とは、同幅接続という概念により接続する状態にあるものをいう。
(S4) The
同幅接続の関係にある罫線項目は、同一の論理行を構成すると判断する。同幅接続について、図10(A)乃至図10(D)により、説明する。 It is determined that ruled line items having the same width connection form the same logical line. The same width connection will be described with reference to FIGS.
図10(A)に示すように、罫線項目が、同じ行幅で隣接し、且つ互いに罫線項目の構成線分を共有する場合、参照中の罫線項目が同一の論理行を構成すると判断する。図10(A)では、罫線項目Aと罫線項目Bでは、線分a4と線分b1とが同一の線分であり、線分の長さも同一であることから、2つの罫線項目は、接続状態にあると判断する。 As shown in FIG. 10A, when ruled line items are adjacent with the same line width and share the constituent line segments of the ruled line items, it is determined that the currently referenced ruled line items constitute the same logical line. In FIG. 10A, in the ruled line item A and the ruled line item B, the line segment a4 and the line segment b1 are the same line segment, and the length of the line segment is also the same. Judge that it is in a state.
図10(B)に示すように、罫線項目同志が近接し、同じ行幅を持つ場合、参照中の罫線項目が同一の論理行を構成すると判断する。図10(B)に示すように、罫線項目Aと罫線項目Bとの距離dが、所定の閾値以下で、線分a4と線分b2が同じ長さである場合、2つの罫線項目は、接続状態にあると判断する。 As shown in FIG. 10B, when ruled line items are close to each other and have the same line width, it is determined that the ruled line items being referenced constitute the same logical line. As shown in FIG. 10B, when the distance d between the ruled line item A and the ruled line item B is equal to or less than a predetermined threshold and the line segment a4 and the line segment b2 have the same length, the two ruled line items are: It is determined that the connection is established.
図10(C)に示すように、1つの罫線項目に対し、複数の罫線項目が同じ幅で隣接し、互いに罫線項目の構成線分を共有する場合、参照中の罫線項目が同一の論理行を構成すると判断する。図10(C)では、罫線項目Bの線分b2と罫線項目Cの線分c2との和が、罫線項目Aの線分a4の長さと同じであることから、3つの罫線項目は、接続状態にあると判断する。 As shown in FIG. 10C, when a plurality of ruled line items are adjacent to each other with the same width and share the constituent line segments of the ruled line item with respect to one ruled line item, the reference ruled line item is the same logical line. Is determined. In FIG. 10C, since the sum of the line segment b2 of the ruled line item B and the line segment c2 of the ruled line item C is the same as the length of the line segment a4 of the ruled line item A, the three ruled line items are connected. Judge that it is in a state.
図10(D)に示すように、各罫線項目が近接し、1つの罫線項目の行幅と、複数の罫線項目の行幅の和が同じ場合には、参照中の罫線項目が同一の論理行を構成すると判断する。図10(D)では、罫線項目Bと罫線項目Cとの距離d2が、閾値以下であり、且つ罫線項目Aと罫線項目B、Cとの距離d1が閾値以下である。罫線項目Bの線分b2と罫線項目Cの線分c2との和が、罫線項目Aの線分a4の長さにほぼ等しいことから、3つの罫線項目は、接続状態にあると判断する。 As shown in FIG. 10D, when each ruled line item is close and the line width of one ruled line item and the sum of the line widths of a plurality of ruled line items are the same, the ruled line item being referenced has the same logic. Judge that it constitutes a row. In FIG. 10D, the distance d2 between the ruled line item B and the ruled line item C is less than the threshold, and the distance d1 between the ruled line item A and the ruled line items B and C is less than the threshold. Since the sum of the line segment b2 of the ruled line item B and the line segment c2 of the ruled line item C is substantially equal to the length of the line segment a4 of the ruled line item A, it is determined that the three ruled line items are in a connected state.
このようにして、各グループを論理行に分類する。図11に示すように、図2の帳票のグループ3は、11の論理行に分類される。
In this way, each group is classified into logical rows. As shown in FIG. 11, the
次に、行方向の入れ子構造部を解析する。複数の罫線項目から構成される矩形が論理的な意味をもつものを、入れ子構造という。図12(A)に示すように、「振込先」の項目に対して、「銀行名」及び「支店名」の項目は、関係するから、この部分を入れ子構造と定義する。図12(B)に示すように、図12(A)の場合には、罫線項目1(振込先)が、罫線項目2(銀行名)の親である。従って、罫線項目1と2に、親子関係を設定する。罫線項目2(銀行名)と罫線項目3(支店名)とは、兄弟関係(同レベル関係)である。従って、罫線項目2と3に、兄弟関係を設定する。
Next, the nested structure portion in the row direction is analyzed. A rectangle having a logical meaning made up of a plurality of ruled line items is called a nested structure. As shown in FIG. 12A, since the items of “bank name” and “branch name” are related to the item of “transfer destination”, this portion is defined as a nested structure. As shown in FIG. 12 (B), in the case of FIG. 12 (A), the ruled line item 1 (transfer destination) is the parent of the ruled line item 2 (bank name). Accordingly, a parent-child relationship is set for the ruled
又、図3の第2の帳票例のように、レイアウトの都合上、表構成部を左右に分割している場合がある。これを、表の構造の論理的意味から判断すると、表構造を決定する上で、1つの表構造としてまとめる必要がある。このため、図13に示すように、左右に並んで位置するグループが複数存在する場合に、それぞれのグループを構成する論理行構造を判定する。それぞれの論理行によるグループの構造が同じ場合に、表構造を統合する。 In some cases, as shown in the second form in FIG. 3, the table component is divided into left and right parts for the sake of layout. If this is judged from the logical meaning of the structure of the table, it is necessary to combine them into one table structure in order to determine the table structure. For this reason, as shown in FIG. 13, when there are a plurality of groups located side by side, the logical row structure constituting each group is determined. When the structure of the group by each logical row is the same, the table structure is integrated.
更に、左右に分割されている表の一部が掠れ等により消失した場合に、その部分に罫線を作成する。前述の左右に分離された表を統合する場合に、一方の表のどれかの罫線が掠れ等で消失している場合がある。図14に示すように、罫線が消失している部分以外は、2つのグループの論理行構造が一致していることから、他方の論理行構造と一方の論理行構造とを合わせるように、罫線を新規に作成する。これにより、生成した罫線を含む罫線項目を生成する。このように、罫線を作成した後、前述の表構造の統合処理を行う。 Furthermore, when a part of the table divided into the left and right disappears due to a curling or the like, a ruled line is created in that part. When the above-mentioned tables separated into the left and right are merged, any of the ruled lines in one of the tables may be lost due to a curl or the like. As shown in FIG. 14, since the logical row structures of the two groups match except for the portion where the ruled lines disappear, the ruled lines are matched so that the other logical row structure and the one logical row structure are matched. Create a new. Thereby, a ruled line item including the generated ruled line is generated. Thus, after creating ruled lines, the above-described table structure integration processing is performed.
(S5)次に、連続する同じ構造の論理行をブロック単位に纏める。1グループ内で上下に隣り合う論理行同志の構造を比較する。そして、同じ構造を持つ論理行同志を1ブロックに分類する。論理行の比較要素として、構成する罫線項目の数、論理行中の罫線項目の配置、論理行の高さと幅がある。これらを比較して、同じ構造を持つか判定する。 (S5) Next, consecutive logical rows having the same structure are grouped into blocks. Compare the structures of logical rows adjacent to each other in one group. Then, logical rows having the same structure are classified into one block. The logical line comparison elements include the number of ruled line items to be configured, the arrangement of ruled line items in the logical line, and the height and width of the logical line. These are compared to determine whether they have the same structure.
図15の帳票例では、1つのグループの7つの論理行が、3つのブロック1〜3に分類される。ブロック1は、論理行1で構成され、ブロック2は、論理行2〜6で構成され、ブロック3は、論理行7で構成される。
In the form example in FIG. 15, seven logical rows in one group are classified into three
又、異なる構造のブロック間を同一のブロック構造に変換する。即ち、表の一部の罫線が掠れ等で消失している場合に、他の論理行構造から消失した罫線を新規に生成する。それに伴い罫線項目を生成する。 Also, the blocks having different structures are converted into the same block structure. In other words, when a part of the ruled line in the table is lost due to a blur or the like, a ruled line that has disappeared from another logical row structure is newly generated. A ruled line item is generated accordingly.
図16の表の例で説明すると、罫線が消失し、ブロック1〜5に分類されている。しかし、ブロック2とブロック4は、同一の構造を持つブロックである。従って、ブロック3に、罫線を作成する。これにより、ブロック2〜ブロック4は、同一の構造となる。これにより、ブロックを3つに統合する。
If it demonstrates in the example of the table | surface of FIG. 16, a ruled line will lose | disappear and it will classify | categorize into the blocks 1-5. However, the
次に、消し線により分割された論理行を統合する。金融機関で扱う給与振込帳票等では、処理の対象としないことを明確にするため、消し線で取引部分を消去する場合がある。この場合、消し線は罫線として抽出されるため、解析結果は、不正確になる。従って、消し線を除いて、表構造の解析を行う必要がある。ブロックに分類された状態では、消し線で引かれた部分のブロックは、次の特徴がある。 Next, the logical lines divided by the strikethrough are integrated. In salary transfer forms handled by financial institutions, the transaction part may be erased with a strike line to clarify that it is not subject to processing. In this case, since the strike line is extracted as a ruled line, the analysis result becomes inaccurate. Therefore, it is necessary to analyze the table structure excluding the strikethrough. In the state classified into the blocks, the block in the portion drawn with a strike-through has the following characteristics.
第1に、上下に別のブロックが存在する。第2に、上側ブロックと下側ブロックは、同じ構造を持つ。この特徴を持つブロックが存在する場合に、当ブロック内で、消し線による罫線を除いたブロックを作成する。そして、このブロックが、上側ブロックと同一構造となる場合に、消し線が引かれたことにより、ブロック構造が変化したものと判断する。そして、消し線を消去し、これに伴って、罫線項目、論理行、及びブロックを再作成する。 First, there are separate blocks above and below. Second, the upper block and the lower block have the same structure. If there is a block having this feature, a block excluding the ruled line due to the erased line is created in this block. When this block has the same structure as the upper block, it is determined that the block structure has changed due to the crossing out. Then, the erase line is erased, and along with this, ruled line items, logical lines, and blocks are recreated.
図17に示すように、ブロック3とブロック5に消し線が存在すると、ブロックは7つに分類される。ここで、ブロック2とブロック4は、同じ構造であり、,ブロック3の消し線を消去すると、ブロック2と同じ構造となる。又、ブロック4〜6についても、同様である。従って、消し線を消去し、罫線項目、論理行を再作成する。それに伴い、ブロックも作成し直す。これにより、3ブロックに再分類される。
As shown in FIG. 17, if there is a strikethrough in
(S6)次に、論理列構造を判定する。表構造を持つものは、文言固定部と、文言可変部とからなる。文言固定部は、表の見出し部分などの帳票の固定部分である。文言可変部は、表のデータ部分などの帳票の可変部分である。論理列構造の判定は、文言固定部と文言可変部との論理列構造を判定する。即ち、上下に接続するブロックの間で、同じ列構造を持つかを判定する。そして、同じ列構造を持つ場合、それらブロックを論理列の単位で統合する。例えば、図18(A)の例では、論理列は、6つに分類される。 (S6) Next, the logical column structure is determined. What has a table structure consists of a word fixed part and a word variable part. The wording fixed part is a fixed part of a form such as a heading part of a table. The word variable part is a variable part of a form such as a data part of a table. The logical column structure is determined by determining the logical column structure between the word fixing unit and the word variable unit. In other words, it is determined whether the blocks connected in the vertical direction have the same column structure. If the same column structure is used, these blocks are integrated in units of logical columns. For example, in the example of FIG. 18A, the logical columns are classified into six.
この場合、図18(B)に示すように、文言可変部のブロック2では、「あいう銀行」と「かきく支店」の2列の構造であるが、文言固定部のブロック1では、1列の構造となっている。この場合、ブロック1の1列(振込先)がブロック2の2列の見出しとなっているため、表構造としてみた場合には、ブロック2の2列を1列とみなす。
In this case, as shown in FIG. 18B, the
同様に、図18(C)に示すように、文言固定部のブロック1では、「銀行名」と「支店名」の2列の構造であるが、文言可変部のブロック2では、1列の構造となっている。この場合、ブロック1の2列(銀行名、支店名)がブロック2の1列の見出しとなっているため、表構造としてみた場合には、ブロック1の2列を1列とみなす。
Similarly, as shown in FIG. 18C, the
次に、列方向の論理的な入れ子構造を抽出する。ブロック間での論理列構造の判定を行った結果、図18(B)及び図18(C)のように、一方のブロックが、複数列からなり、他方のブロックが一列の論理列構造を持つ場合、これらを入れ子構造として表現する。入れ子構造を構成する罫線項目は、纏めて1つの論理的な意味を持たせる。 Next, a logical nesting structure in the column direction is extracted. As a result of determining the logical column structure between the blocks, as shown in FIGS. 18B and 18C, one block has a plurality of columns and the other block has a single column logical column structure. If so, these are expressed as nested structures. The ruled line items constituting the nested structure are collectively given one logical meaning.
図19(A)は、図18(B)の場合の入れ子構造を示す。図19(A)に示すように、罫線項目2と罫線項目3が兄弟関係(同じレベル)にある。両罫線項目をあわせて、罫線項目1に対しての列を構成する罫線項目とする。図19(B)は、図18(C)の場合の入れ子構造を示す。図19(B)に示すように、罫線項目1と罫線項目2が兄弟関係(同じレベル)にある。両罫線項目をあわせて、罫線項目3に対しての列を構成する罫線項目とする。
FIG. 19A shows a nested structure in the case of FIG. As shown in FIG. 19A, ruled
更に、1桁罫線項目部分、3桁罫線項目部分の入れ子構造を解析する。図20(A)及び図20(B)に示すように、帳票の表構造の中で、金額欄、手数料欄がある場合に、1桁の罫線項目又は3桁の罫線項目が連続する。1桁罫線項目は、1罫線項目内に1桁の数字が記入又は印刷されるものをいう。又、3桁罫線項目は、1罫線項目に3桁の数字が記入又は印刷されるものをいう。 Further, the nested structure of the 1-digit ruled line item part and the 3-digit ruled line item part is analyzed. As shown in FIGS. 20A and 20B, when there are an amount column and a fee column in the table structure of a form, a one-digit ruled line item or a three-digit ruled line item continues. A one-digit ruled line item is one in which a one-digit number is entered or printed in one ruled line item. Further, the 3-digit ruled line item means that a 3-digit number is entered or printed in one ruled line item.
これらは、合わせて、1つの意味を持つ。これらを論理的に1つの罫線項目に纏める。このため、予め1桁罫線項目又は3桁罫線項目の縦サイズと横サイズを定義しておく。これらサイズと一致する罫線項目が任意数並んだ場合には、これらを入れ子構造として、論理的に1つの罫線項目としてまとめる。 Together these have one meaning. These are logically combined into one ruled line item. For this reason, the vertical size and horizontal size of a 1-digit ruled line item or a 3-digit ruled line item are defined in advance. When an arbitrary number of ruled line items that match these sizes are arranged, they are nested and logically combined as one ruled line item.
このような結果を利用して、文字認識処理では、連続する罫線項目を1つの文字列として扱うことができる。例えば、図20(A)のa部分の罫線項目内を文字認識した結果、b部分の結果を得た場合に、罫線項目が入れ子構造となっていることから、文字認識結果をc部分で示したように結合して、1つの文字列として取り扱う。図20(B)に示す、3桁罫線項目の場合も同様である。 By using such a result, in the character recognition process, continuous ruled line items can be handled as one character string. For example, as a result of character recognition in the ruled line item of part a in FIG. 20A, when the result of part b is obtained, the ruled line item has a nested structure. Are combined and handled as one character string. The same applies to the 3-digit ruled line item shown in FIG.
次に、特殊な構造を持つ矩形の入れ子構造を解析する。帳票上の主表以外の箇所には、特別な構造を持つものが多い。これらについては、構造毎に入れ子構造解析処理を行う。図21(A)では、罫線項目1に対し、罫線項目2が親子の関係にある。罫線項目2に対し、罫線項目4が親子の関係にある。罫線項目3に対し、罫線項目5が親子の関係にある。罫線項目2に対し、罫線項目3が兄弟の関係にある。罫線項目4に対し、罫線項目5が兄弟の関係にある。図21(B)では、罫線項目1に対し、罫線項目2が親子の関係にある。罫線項目2に対し、罫線項目4が親子の関係にある。罫線項目3に対し、罫線項目5が親子の関係にある。罫線項目2に対し、罫線項目3が兄弟の関係にある。罫線項目4に対し、罫線項目5が兄弟の関係にある。前述した行方向及び列方向の入れ子構造の解析処理と同様にして、入れ子構造を解析する。
Next, a rectangular nested structure having a special structure is analyzed. Many parts of the form other than the main table have a special structure. For these, nested structure analysis processing is performed for each structure. In FIG. 21A, ruled
(S7)次に、表構造部のブロックに属性を付与する。帳票には、見出し部と、見出し部分に対応するデータ部とが存在する。又、帳票によっては、データを纏める部分(例えば、データ部の金額合計欄等)が存在する。ここでは、表構造部を構成するブロックに、属性を付与して、各ブロックに意味を持たせる。即ち、図22に示すように、表のデータを記入又は印刷する部分をボディ部と定義し、表を構成するブロック中で最も論理行数が多いブロックに、ボディ部属性を付与する。表の見出しを記入又は印刷する部分をヘッダ部と定義し、ボディ部の上側に位置するブロックに、ヘッダ部属性を付与する。表のデータ部分を取りまとめるデータ(例えば、合計欄等)を記入又は印刷する部分をフッタ部と定義し、ボディ部の下側に位置するブロックにフッタ部属性を付与する。 (S7) Next, an attribute is given to the block of the table structure part. The form includes a heading part and a data part corresponding to the heading part. Also, depending on the form, there is a part for collecting data (for example, a sum total column in the data part). Here, attributes are assigned to the blocks constituting the table structure section, and each block has a meaning. That is, as shown in FIG. 22, a part where data in a table is entered or printed is defined as a body part, and a body part attribute is given to a block having the largest number of logical rows among the blocks constituting the table. The part where the headline of the table is written or printed is defined as the header part, and the header part attribute is given to the block located above the body part. A part in which data (for example, a total column or the like) that summarizes the data part of the table is entered or printed is defined as a footer part, and a footer part attribute is given to a block located below the body part.
(S8)次に、見出しを構成する罫線項目に、見出しフラグを設定する。表構造の形式から以下に示すルールに従って、見出しにあたる罫線項目に見出しフラグを設定する。見出しフラグを設定する罫線項目は、図23に示すように、次の通りである。 (S8) Next, a heading flag is set in the ruled line item constituting the heading. A heading flag is set for the ruled line item corresponding to the heading in accordance with the following rules from the table structure format. The ruled line items for setting the heading flag are as follows, as shown in FIG.
・ヘッダブロックを構成する罫線項目
・ボディブロックの最上位論理行を構成する罫線項目
・フッタブロックを構成する罫線項目の内、最も右に位置するものを除いた罫線項目
・下凸部の論理行を構成する罫線項目の内、最も右に位置するものを除いた罫線項目
・表以外の矩形の論理行を構成する罫線項目の場合、入れ子構造の罫線項目の内、最も右下に位置するものを除いた罫線項目
この見出し部を抽出しておくと、使用される文字を制限でき、その文字(文言)に特化した文字認識処理を行うことができる。従って、高精度に見出し部分の文言を認識することができる。
-Ruled line items that make up the header block-Ruled line items that make up the top logical row of the body block-Ruled line items that exclude the rightmost of the ruled line items that make up the footer block-Logical line of the downward convex part Ruled line items excluding those located at the rightmost among the ruled line items that make up the ruled line-For ruled line items that constitute a rectangular logical row other than the table, among the nested ruled line items, the one located at the bottom right Ruled line items excluding the character If this heading part is extracted, the characters to be used can be limited, and character recognition processing specialized for the characters (words) can be performed. Therefore, it is possible to recognize the wording of the heading part with high accuracy.
(S9)次に、見出しの種類を決定する。見出しフラグが設定された罫線項目内に存在する文字列の文字認識を行う。図25に示すように、この見出し部の文字認識で使用する認識辞書には、見出し文言辞書1003(図1参照)が使用される。見出し文言辞書1003は、見出しとして存在する文言(振込先等)と、そのイメージとが登録されたものである。従って、一般の文字認識辞書を使用した場合よりも高い精度での文字認識が可能となる。
(S9) Next, the type of heading is determined. Character recognition is performed for a character string existing in a ruled line item for which a heading flag is set. As shown in FIG. 25, a headline wording dictionary 1003 (see FIG. 1) is used as a recognition dictionary used for character recognition in the headline part. The
この認識結果から得られた見出し名称をキーとして、図24に示す見出しテーブルを参照する。図24に示すように、見出しテーブルには、見出し名称に対応する属性情報(文字認識カテゴリ、文字フォント等)が登録されている。そして、その見出し名称に一致するレコード(属性情報)を抽出する。 The heading table shown in FIG. 24 is referred to using the heading name obtained from the recognition result as a key. As shown in FIG. 24, attribute information (character recognition category, character font, etc.) corresponding to the heading name is registered in the heading table. Then, a record (attribute information) matching the heading name is extracted.
(S10)次に、見出しに対応する罫線領域の認識属性を決定する。このため、見出しが見つかった罫線項目を含む論理列情報を参照し、その見出しに対応するデータ部分の罫線項目を見つける。即ち、論理列を構成する罫線項目のうち、見出し以外の罫線項目に対して、文字認識カテゴリ、文字フォント等の認識特性を、見出しの罫線項目から複写する。 (S10) Next, the recognition attribute of the ruled line area corresponding to the headline is determined. For this reason, the logical column information including the ruled line item in which the heading is found is referenced to find the ruled line item of the data portion corresponding to the heading. That is, of the ruled line items constituting the logical column, the recognition characteristics such as the character recognition category and the character font are copied from the ruled line item of the heading for the ruled line items other than the heading.
(S11)次に、見出し以外の領域の文字認識を行う。見出しの罫線項目以外の罫線項目内に存在する文字列を、一般の文字認識辞書1004(図1参照)を使用して、文字認識する。この時、文字認識辞書1004は、漢字、数字等の各認識カテゴリに対し、別々に設けられている。従って、前述したデータ部分の認識属性に従い、一般辞書から認識辞書を選択して、文字認識する。このため、データ部分も高い精度で文字認識できる。
(S11) Next, character recognition in an area other than the headline is performed. Character strings existing in ruled line items other than the headline ruled line items are recognized using the general character recognition dictionary 1004 (see FIG. 1). At this time, the
更に、得られた認識結果を認識結果通知領域に設定する。これにより、データ部分のデータ名称、データ数、文字認識結果が得られる。 Further, the obtained recognition result is set in the recognition result notification area. Thereby, the data name of the data part, the number of data, and the character recognition result are obtained.
このようにして、各罫線項目の行と列の関係を判定し、見出し部とそれに対応するデータ部とに分類する。そして、見出し部分を見出し認識辞書を用いて文字認識して、見出し名称を得る。論理列の構造の関係から見出し部分に対応したデータ部分のデータ名称が判明する。このため、帳票の各項目のフォーマットを予め定義しておく必要がない。 In this way, the relation between the row and the column of each ruled line item is determined, and classified into a heading part and a data part corresponding thereto. Then, the heading part is character-recognized using a heading recognition dictionary to obtain a heading name. The data name of the data part corresponding to the heading part is found from the relationship of the structure of the logical column. For this reason, it is not necessary to previously define the format of each item of the form.
更に、見出し名称から認識属性を見出しテーブルにより得る。これに従い、データ部分を文字認識する。このため、帳票の表構造を解析することができ、データ部分の文字認識結果を精度を高めることができる。 Furthermore, the recognition attribute is obtained from the heading name by the heading table. Accordingly, the data portion is recognized as characters. For this reason, the table structure of the form can be analyzed, and the accuracy of character recognition results in the data portion can be improved.
次に、前述のステップS1〜S11の各処理について、詳細に説明する。ここで、図26は、各処理に使用されるテーブルの関係図である。図26に示すように、横罫線テーブル1105は、抽出した横罫線の開始座標と終了座標を格納する。縦罫線テーブル1106は、抽出した縦罫線の開始座標と終了座標を格納する。罫線項目情報テーブル1104は、抽出した罫線項目(最小矩形)の開始座標、終了座標と、属するグループ番号、ブロック番号等を格納する。グループ情報テーブル1100は、分類された各グループの先頭罫線項目アドレス、先頭ブロック番号等を格納する。 Next, each process of above-mentioned step S1-S11 is demonstrated in detail. Here, FIG. 26 is a relationship diagram of tables used for each process. As shown in FIG. 26, the horizontal ruled line table 1105 stores the start coordinates and end coordinates of the extracted horizontal ruled lines. The vertical ruled line table 1106 stores the start coordinates and end coordinates of the extracted vertical ruled lines. The ruled line item information table 1104 stores the start coordinate and end coordinate of the extracted ruled line item (minimum rectangle), the group number to which it belongs, the block number, and the like. The group information table 1100 stores the top ruled line item address, the top block number, etc. of each classified group.
ブロック情報テーブル1101は、抽出された各ブロックの先頭罫線項目アドレス、先頭論理行アドレス等を格納する。論理行情報テーブル1102は、抽出された各論理行の先頭罫線項目アドレス、ブロック番号等を格納する。論理列情報テーブル1103は、抽出された各論理列の先頭罫線項目アドレス等を格納する。 The block information table 1101 stores the top ruled line item address, the top logical line address, and the like of each extracted block. The logical line information table 1102 stores the first ruled line item address, block number, and the like of each extracted logical line. The logical column information table 1103 stores the first ruled line item address and the like of each extracted logical column.
(a)罫線抽出処理の説明
図27は、横罫線情報テーブルの説明図、図28は、縦罫線情報テーブルの説明図、図29は、罫線項目テーブルの説明図である。
(A) Description of Ruled Line Extraction Processing FIG. 27 is an explanatory diagram of a horizontal ruled line information table, FIG. 28 is an explanatory diagram of a vertical ruled line information table, and FIG. 29 is an explanatory diagram of a ruled line item table.
横罫線の抽出は、周知のように、一定数以上の黒画素が横方向に連続する黒画素群を抽出する。そして、図27に示すように、各抽出した横罫線に番号を付し、その開始座標及び終了座標を、横罫線情報テーブル1005に格納する。 As is well known, the horizontal ruled line is extracted by extracting a group of black pixels in which a certain number or more of black pixels continue in the horizontal direction. Then, as shown in FIG. 27, each extracted horizontal ruled line is numbered, and its start coordinate and end coordinate are stored in the horizontal ruled line information table 1005.
縦罫線の抽出も、周知のように、一定数以上の黒画素が縦方向に連続する黒画素群を抽出する。そして、図28に示すように、各抽出した縦罫線に番号を付し、その開始座標及び終了座標を、縦罫線情報テーブル1006に格納する。 As is well known, vertical ruled lines are extracted by extracting a group of black pixels in which a certain number or more of black pixels continue in the vertical direction. Then, as shown in FIG. 28, each extracted vertical ruled line is numbered, and its start coordinate and end coordinate are stored in the vertical ruled line information table 1006.
最小矩形(罫線項目)の抽出も、周知のように、2つの横罫線と2つの縦罫線に囲まれた最小矩形を抽出する。そして、各抽出した罫線項目に番号を付す。図29に示すように、罫線項目情報テーブル1104は、各罫線項目の開始座標SC、終了座標EC、上側横罫線番号ULN、下側横罫線番号LLN、左側縦罫線番号LVN、右側縦罫線番号RVNを格納する。尚、罫線項目情報テーブル1104は、グループ番号GN、ブロック番号BN、行番号LN、列番号RO、上側罫線項目URN、下側罫線項目LRN、左側罫線項目ERN、右側罫線項目RRN、入れ子情報INの各欄を有する。これらの各欄は、後の処理により利用される。 As is well known, the minimum rectangle (ruled line item) is also extracted by extracting the minimum rectangle surrounded by two horizontal ruled lines and two vertical ruled lines. A number is assigned to each extracted ruled line item. As shown in FIG. 29, the ruled line item information table 1104 includes a start coordinate SC, an end coordinate EC, an upper horizontal ruled line number ULN, a lower horizontal ruled line number LLN, a left vertical ruled line number LVN, and a right vertical ruled line number RVN. Is stored. The ruled line item information table 1104 includes group number GN, block number BN, row number LN, column number RO, upper ruled line item URN, lower ruled line item LRN, left ruled line item ERN, right ruled line item RRN, and nested information IN. Has each column. Each of these fields is used by later processing.
次に、斜度補正について、説明する。図30は、斜度算出処理フロー図である。 Next, the inclination correction will be described. FIG. 30 is a flowchart of the slope calculation process.
(S20)横罫線情報テーブル1105の各横罫線を参照する。そして、全横罫線を参照したかを判定する。 (S20) The horizontal ruled lines in the horizontal ruled line information table 1105 are referred to. Then, it is determined whether all horizontal ruled lines have been referenced.
(S21)参照した横罫線の斜度を算出する。斜度θは、終了Y座標をYe、開始Y座標をYs、終了X座標をXe、開始X座標をXsとすると、次の式(1)で計算される。 (S21) The inclination of the referenced horizontal ruled line is calculated. The slope θ is calculated by the following equation (1), where Ye is the end Y coordinate, Ys is the start Y coordinate, Xe is the end X coordinate, and Xs is the start X coordinate.
tanθ=(YeーYs)/(XeーXs) (1)
そして、ステップS20に戻る。
tan θ = (Ye−Ys) / (Xe−Xs) (1)
Then, the process returns to step S20.
(S22)ステップS20で、全横罫線を参照した場合には、斜度の平均値を計算する。斜度の平均値は、(斜度値の合計)/(横罫線の本数)により計算される。そして、終了する。 (S22) When all the horizontal ruled lines are referred to in step S20, an average value of the inclination is calculated. The average value of the inclination is calculated by (total of inclination values) / (number of horizontal ruled lines). And it ends.
次に、座標補正処理について、説明する。図31は、座標補正処理フロー図である。 Next, the coordinate correction process will be described. FIG. 31 is a flowchart of coordinate correction processing.
(S25)罫線項目テーブル1104の各罫線項目を参照する。罫線項目テーブル1104の全罫線項目を参照したかを判定する。全罫線項目を参照した場合には、ステップS27に進む。 (S25) Each ruled line item in the ruled line item table 1104 is referred to. It is determined whether all ruled line items in the ruled line item table 1104 have been referenced. If all ruled line items have been referenced, the process proceeds to step S27.
(S26)罫線項目の左上座標(開始座標)Xs、Ysを、斜度tanθに応じて補正する。補正後の座標X、Yは、次式(2)、(3)で示される。 (S26) The upper left coordinates (start coordinates) Xs, Ys of the ruled line item are corrected according to the inclination tan θ. The corrected coordinates X and Y are expressed by the following equations (2) and (3).
X=Xs+Ys×tanθ (2)
Y=YsーXs×tanθ (3)
そして、罫線項目の右下座標(終了座標)Xe、Yeを、斜度tanθに応じて補正する。補正後の座標X、Yは、次式(4)、(5)で示される。
X = Xs + Ys × tan θ (2)
Y = Ys−Xs × tan θ (3)
Then, the lower right coordinates (end coordinates) Xe and Ye of the ruled line item are corrected according to the inclination tan θ. The corrected coordinates X and Y are represented by the following equations (4) and (5).
X=Xe+Ye×tanθ (3)
Y=YeーXe×tanθ (4)
そして、ステップS25に戻る。
X = Xe + Ye × tan θ (3)
Y = Ye-Xe × tan θ (4)
Then, the process returns to step S25.
(S27)次に、横罫線座標を補正するため、横罫線テーブル1105を参照する。横罫線テーブル1105の全横罫線を参照したかを判定する。全横罫線を参照した場合には、ステップS29に進む。 (S27) Next, the horizontal ruled line table 1105 is referred to in order to correct the horizontal ruled line coordinates. It is determined whether all horizontal ruled lines in the horizontal ruled line table 1105 have been referenced. If all horizontal ruled lines have been referenced, the process proceeds to step S29.
(S28)横罫線の左側座標(開始座標)Xs、Ysを、斜度tanθに応じて補正する。補正後の座標X、Yは、前述の式(2)、(3)で示される。 (S28) The left coordinates (start coordinates) Xs and Ys of the horizontal ruled lines are corrected according to the inclination tan θ. The corrected coordinates X and Y are expressed by the aforementioned equations (2) and (3).
そして、横罫線の右側座標(終了座標)Xe、Yeを、斜度tanθに応じて補正する。補正後の座標X、Yは、前述の式(4)、(5)で示される。 Then, the right coordinates (end coordinates) Xe and Ye of the horizontal ruled line are corrected according to the inclination tan θ. The corrected coordinates X and Y are expressed by the aforementioned equations (4) and (5).
そして、ステップS27に戻る。 Then, the process returns to step S27.
(S29)次に、縦罫線座標を補正するため、縦罫線テーブル1106を参照する。縦罫線テーブル1106の全縦罫線を参照したかを判定する。全縦罫線を参照した場合には、終了する。 (S29) Next, the vertical ruled line table 1106 is referred to in order to correct the vertical ruled line coordinates. It is determined whether all vertical ruled lines in the vertical ruled line table 1106 have been referred to. If all vertical ruled lines have been referenced, the process ends.
(S30)縦罫線の左側座標(開始座標)Xs、Ysを、斜度tanθに応じて補正する。補正後の座標X、Yは、前述の式(2)、(3)で示される。 (S30) The left side coordinates (starting coordinates) Xs and Ys of the vertical ruled lines are corrected according to the inclination tan θ. The corrected coordinates X and Y are expressed by the aforementioned equations (2) and (3).
そして、縦罫線の右側座標(終了座標)Xe、Yeを、斜度tanθに応じて補正する。補正後の座標X、Yは、前述の式(4)、(5)で示される。 Then, the right coordinates (end coordinates) Xe and Ye of the vertical ruled line are corrected according to the inclination tan θ. The corrected coordinates X and Y are expressed by the aforementioned equations (4) and (5).
そして、ステップS29に戻る。 Then, the process returns to step S29.
このようにして、横罫線、縦罫線、罫線項目(最小矩形)を抽出する。そして、帳票の斜行による座標の誤差を補正するため、横罫線座標から斜度を計算する。斜度は平均値のため、正確に斜度を求めることができる。更に、斜度により、罫線項目、横罫線、縦罫線の座標を補正する。 In this way, horizontal ruled lines, vertical ruled lines, and ruled line items (minimum rectangle) are extracted. Then, in order to correct the coordinate error due to the skew of the form, the inclination is calculated from the horizontal ruled line coordinates. Since the slope is an average value, the slope can be obtained accurately. Further, the coordinates of the ruled line item, the horizontal ruled line, and the vertical ruled line are corrected based on the inclination.
(b)グループ分類処理の説明
図32は、グループ処理フロー図、図33は、グループ処理後のテーブル更新の説明図である。
(B) Description of Group Classification Processing FIG. 32 is a group processing flowchart, and FIG. 33 is an explanatory diagram of table update after group processing.
(S31)罫線項目テーブル1104から罫線項目を参照する。全罫線項目を参照したかを判定する。全罫線項目を参照した場合には、終了する。 (S31) A ruled line item is referenced from the ruled line item table 1104. It is determined whether all ruled line items have been referenced. If all the ruled line items have been referenced, the process ends.
(S32)罫線項目テーブル1104から他の罫線項目を抽出する。全部の他罫線項目を参照したかを判定する。全罫線項目を参照した場合には、ステップS35に進む。 (S32) Other ruled line items are extracted from the ruled line item table 1104. It is determined whether all other ruled line items have been referenced. If all ruled line items have been referenced, the process proceeds to step S35.
(S33)全罫線項目が参照済でない場合には、抽出した2つの罫線項目が接続関係にあるかを判定する。図8で説明したように、2つの罫線項目の位置関係が、接続関係にあるかを判定する。接続関係にない場合は、ステップS32に戻る。 (S33) If all the ruled line items have not been referred to, it is determined whether the two extracted ruled line items are connected. As described with reference to FIG. 8, it is determined whether the positional relationship between the two ruled line items is a connection relationship. If there is no connection relationship, the process returns to step S32.
(S34)2つの罫線項目が接続関係にある場合には、1の罫線項目が属するグループ情報テーブル1100に、他の罫線項目を反映する。図33に示すように、グループ情報テーブル1100は、グループ番号GN、開始座標SC、終了座標EC、罫線項目数RIN、ブロック数BLN、論理行数LR、先頭罫線項目アドレスHLA、先頭論理行情報アドレスHRA、先頭ブロックアドレスHBAをからなる。グループ情報テーブル1100のグループ矩形座標SC、ECと、罫線項目数RINを更新する。更に、罫線項目テーブル1104に、グループ番号を設定する。そして、ステップS32に戻る。 (S34) When two ruled line items are connected, other ruled line items are reflected in the group information table 1100 to which the one ruled line item belongs. As shown in FIG. 33, the group information table 1100 includes a group number GN, a start coordinate SC, an end coordinate EC, a ruled line item number RIN, a block number BLN, a logical line number LR, a leading ruled line item address HLA, and a leading logical line information address. Consists of HRA and head block address HBA. The group rectangle coordinates SC and EC and the ruled line item number RIN in the group information table 1100 are updated. Further, a group number is set in the ruled line item table 1104. Then, the process returns to step S32.
(S35)全罫線項目を参照したと判定すると、1の接続罫線に、接続する罫線項目はあるかを判定する。接続する罫線項目がある時は、ステップS31に戻る。接続する罫線項目がない場合には、グループ情報テーブル1100に、新規にグループ情報を作成する。そして、ステップS31に戻る。 (S35) If it is determined that all ruled line items have been referenced, it is determined whether there is a ruled line item to be connected to one connected ruled line. When there is a ruled line item to be connected, the process returns to step S31. If there is no ruled line item to be connected, group information is newly created in the group information table 1100. Then, the process returns to step S31.
図2の帳票例では、図33のグループ情報テーブル1100に示すように、2つのグループに、分類される。 In the form example in FIG. 2, as shown in the group information table 1100 in FIG. 33, the form is classified into two groups.
このようにして、罫線項目を表部とそれ以外を分離するため、各罫線項目をグループに分類する。 In this way, each ruled line item is classified into a group in order to separate the ruled line item from the front portion and the others.
(c)構成要素分類処理の説明
図34及び図35は、構成要素分類処理フロー図、図36及び図37は、分類処理後のテーブル説明図である。
(C) Explanation of component element classification processing FIGS. 34 and 35 are flow charts of component element classification processing, and FIGS. 36 and 37 are explanatory diagrams of tables after classification processing.
(S40)グループ情報テーブル1100からグループ情報を抽出する。全グループ情報を参照したかを判断する。全グループ情報を参照したと判定すると、終了する。 (S40) Group information is extracted from the group information table 1100. Determine whether all group information has been referenced. If it is determined that all group information has been referenced, the process ends.
(S41)横罫線テーブル1105から、そのグループの横罫線を抽出する。そのグループの横罫線を全て参照したかを判定する。そのグループの横罫線を全て参照したと判定すると、ステップS43に進む。 (S41) The horizontal ruled lines of the group are extracted from the horizontal ruled line table 1105. It is determined whether all the horizontal ruled lines of the group have been referred to. If it is determined that all the horizontal ruled lines of the group have been referenced, the process proceeds to step S43.
(S42)横罫線を比較して、そのグループの左右に達する横罫線で、最小のY座標と最大のY座標を持つ横罫線を抽出する。ステップS41に戻る。 (S42) The horizontal ruled lines are compared, and the horizontal ruled lines having the minimum Y coordinate and the maximum Y coordinate are extracted from the horizontal ruled lines reaching the left and right of the group. The process returns to step S41.
(S43)縦罫線テーブル1106から、縦罫線情報を抽出する。縦罫線を全て参照したかを判定する。縦罫線を全て参照したと判定すると、ステップS45(図35)に進む。 (S43) The vertical ruled line information is extracted from the vertical ruled line table 1106. It is determined whether all vertical ruled lines have been referenced. If it is determined that all the vertical ruled lines have been referenced, the process proceeds to step S45 (FIG. 35).
(S44)最小のY座標と最大のY座標を持つ横罫線の左右端と交点を持つ縦罫線を2本抽出する。ステップS43に戻る。 (S44) Two vertical ruled lines having intersections with the left and right ends of the horizontal ruled line having the minimum Y coordinate and the maximum Y coordinate are extracted. The process returns to step S43.
(S45)罫線項目テーブル1104から、グループを構成する罫線項目を参照する。グループを構成する全罫線項目を参照したかを判定する。そのグループの全罫線項目を参照した場合には、図34のステップS40に戻る。 (S45) The ruled line items constituting the group are referred to from the ruled line item table 1104. It is determined whether all ruled line items constituting the group have been referenced. When all the ruled line items of the group are referred to, the process returns to step S40 in FIG.
(S46)ステップS42とステップS44により、そのグループの最大矩形を構成する2本の横罫線と2本の縦罫線が抽出された。そこで、罫線項目が、この最大矩形の中にあるかを判定する。即ち、罫線項目が、抽出された横罫線と縦罫線で囲まれる範囲(外接矩形)内に位置するかを判定する。 (S46) In step S42 and step S44, two horizontal ruled lines and two vertical ruled lines constituting the maximum rectangle of the group are extracted. Therefore, it is determined whether the ruled line item is within this maximum rectangle. That is, it is determined whether the ruled line item is located within a range (circumscribed rectangle) surrounded by the extracted horizontal ruled line and vertical ruled line.
(S47)罫線項目が、範囲内にある場合は、罫線項目を当該グループに所属させる。更に、グループ情報と当罫線項目の開始座標が一致する場合は、グループ情報の先頭罫線項目アドレスHLAを、当罫線項目に設定する。そして、ステップS45に戻る。 (S47) If the ruled line item is within the range, the ruled line item is made to belong to the group. Further, when the start coordinates of the group information and the ruled line item match, the first ruled line item address HLA of the group information is set to the ruled line item. Then, the process returns to step S45.
(S48)当該罫線項目が、範囲内にない場合には、当該罫線項目の開始Y座標と、外接矩形開始Y座標とを比較する。罫線項目の開始Y座標が、外接矩形の開始Y座標より大きい場合には、その罫線項目は、上凸グループに分類する。尚、上凸グループが作成済なら、上凸グループの罫線項目と接続しているかを判定する。当該罫線項目が、上凸グループの罫線項目と接続している場合には、当該罫線項目をそのグループに追加する。 (S48) If the ruled line item is not within the range, the start Y coordinate of the ruled line item is compared with the circumscribed rectangle start Y coordinate. When the start Y coordinate of the ruled line item is larger than the start Y coordinate of the circumscribed rectangle, the ruled line item is classified into an upward convex group. If an upward convex group has been created, it is determined whether it is connected to the ruled line item of the upward convex group. When the ruled line item is connected to the ruled line item of the upward convex group, the ruled line item is added to the group.
下凸グループも同様であり、罫線項目の開始Y座標が、外接矩形の開始Y座標より小さい場合には、その罫線項目は、下凸グループに分類する。尚、下凸グループが作成済なら、下凸グループの罫線項目と接続しているかを判定する。当該罫線項目が、下凸グループの罫線項目と接続している場合には、当該罫線項目をそのグループに追加する。そして、ステップS45に戻る。 The same applies to the downward convex group. When the start Y coordinate of the ruled line item is smaller than the start Y coordinate of the circumscribed rectangle, the ruled line item is classified into the downward convex group. If a downward convex group has been created, it is determined whether it is connected to a ruled line item of the downward convex group. When the ruled line item is connected to the ruled line item of the downward convex group, the ruled line item is added to the group. Then, the process returns to step S45.
このようにして、各グループを、主表部と、上凸部、下凸部の表の構成要素に分類する。図2の帳票例では、2グループに分類された帳票が、4グループに分類される。即ち、図37のグループ情報テーブル1100に示すように、グループは、4つとなる。そして、図36の罫線項目テーブル1104に示すように、罫線項目も4つのグループに分類される。即ち、グループ番号は4つとなる。 In this manner, each group is classified into the constituent elements of the main surface portion, the upper convex portion, and the lower convex portion. In the form example of FIG. 2, the forms classified into two groups are classified into four groups. That is, as shown in the group information table 1100 in FIG. 37, there are four groups. Then, as shown in the ruled line item table 1104 in FIG. 36, the ruled line items are also classified into four groups. That is, there are four group numbers.
(d)論理行分類処理の説明
図38は、論理行分類処理フロー図、図39は、図38の入れ子解析処理フロー図、図39及び図40は、論理行抽出後のテーブル説明図である。
(D) Description of Logical Row Classification Processing FIG. 38 is a logical row classification processing flowchart, FIG. 39 is a flowchart of nested analysis processing of FIG. 38, and FIGS. 39 and 40 are explanatory diagrams of tables after logical row extraction. .
(S50)グループ情報テーブル1100からグループ情報を抽出する。全部のグループ情報を参照したかを判定する。全てのグループ情報を参照すると、終了する。 (S50) Group information is extracted from the group information table 1100. It is determined whether all group information has been referenced. When all group information is referenced, the process ends.
(S51)横罫線テーブル1105から、そのグループの左右端に交点を持つ横罫線を2本づつ抽出する。全横罫線を抽出したかを判定する。そのグループの全横罫線を抽出した時は、ステップS50に戻る。 (S51) Two horizontal ruled lines having intersections at the left and right ends of the group are extracted from the horizontal ruled line table 1105. It is determined whether all horizontal ruled lines have been extracted. When all the horizontal ruled lines of the group are extracted, the process returns to step S50.
(S52)全横罫線を参照していない場合には、罫線項目テーブル1104からそのグループを構成し、2本の横罫線に位置する罫線項目を抽出する。全罫線項目を抽出したかを判定する。そのグループの全罫線項目を参照した時は、ステップS51に戻る。 (S52) When all horizontal ruled lines are not referred to, the group is formed from the ruled line item table 1104, and ruled line items located on the two horizontal ruled lines are extracted. It is determined whether all ruled line items have been extracted. When all the ruled line items of the group are referred to, the process returns to step S51.
(S53)2本の横罫線の内、下に位置する横罫線座標が罫線項目の下Y座標に一致するかを判定する。 (S53) It is determined whether the horizontal ruled line coordinate located below of the two horizontal ruled lines matches the lower Y coordinate of the ruled line item.
(S54)一致しない場合には、図12(A)及び図12(B)に示したように、入れ子構造の可能性がある。このため、後述する図39に示す入れ子構造の解析処理を行う。 (S54) If they do not match, there is a possibility of a nested structure as shown in FIGS. 12 (A) and 12 (B). For this reason, a nested structure analysis process shown in FIG.
(S55)論理行に分類するため、論理行テーブル1102を作成する。論理行テーブル作成済の場合には、当該罫線項目を追加する。論理行テーブルが作成されていない場合には、新規に論理行テーブルを作成する。 (S55) A logical row table 1102 is created for classification into logical rows. If the logical line table has been created, the ruled line item is added. If a logical row table has not been created, a new logical row table is created.
このようにして、各グループにおいて、罫線項目を、論理行に分類する。 In this way, ruled line items are classified into logical lines in each group.
次に、図39により、入れ子構造解析処理について、説明する。 Next, the nested structure analysis process will be described with reference to FIG.
(S56)罫線項目テーブルから罫線項目を2つづつ抽出する。例えば、1回目は、1番目と2番目、2回目は、2番目と3番目とする。 (S56) Two ruled line items are extracted from the ruled line item table. For example, the first time is the first and second, and the second time is the second and third.
(S57)罫線項目の開始Y座標と、論理行の上側横罫線のY座標が一致し、罫線項目の終了Y座標か、論理行の下側横罫線のY座標が一致するかを判定する。一致する場合には、終了する。 (S57) It is determined whether the start Y coordinate of the ruled line item matches the Y coordinate of the upper horizontal ruled line of the logical line, and the end Y coordinate of the ruled line item matches the Y coordinate of the lower horizontal ruled line of the logical line. If they match, the process ends.
(S58)一致しない場合には、2つの罫線項目の開始X座標を比較する。2つの罫線項目の開始X座標が一致する場合には、ステップS59に進む。2つの罫線項目の開始X座標が一致する場合には、図12(A)に示すように、2つの罫線項目に親子関係を設定する。そして、ステップS56に戻る。 (S58) If they do not match, the start X coordinates of the two ruled line items are compared. If the start X coordinates of the two ruled line items match, the process proceeds to step S59. If the start X coordinates of the two ruled line items match, a parent-child relationship is set for the two ruled line items as shown in FIG. Then, the process returns to step S56.
(S59)X座標が一致しない場合には、2つの罫線項目の開始Y座標を比較する。2つの罫線項目の開始Y座標が一致しない場合には、ステップS56に戻る。2つの罫線項目の開始Y座標が一致する場合には、図12(A)に示すように、2つの罫線項目に兄弟関係を設定する。そして、ステップS56に戻る。 (S59) If the X coordinates do not match, the start Y coordinates of the two ruled line items are compared. If the start Y coordinates of the two ruled line items do not match, the process returns to step S56. If the start Y-coordinates of the two ruled line items match, a sibling relationship is set for the two ruled line items as shown in FIG. Then, the process returns to step S56.
図41に示すように、論理行テーブル1102が作成される。論理行テーブルは、各論理行の番号LN、開始座標SC、終了座標EC、グループ番号GN、ブロック番号BN、罫線項目数RIN、論理列数LL、上側横罫線番号ULN、下側横罫線番号LLN、左側縦罫線番号ERN、右側縦罫線番号RRN、先頭罫線項目アドレスHLAからなる。図2の帳票の例では、図41に示すように、論理行テーブル1102が作成される。 As shown in FIG. 41, a logical row table 1102 is created. The logical row table includes the number LN, the start coordinate SC, the end coordinate EC, the group number GN, the block number BN, the ruled line item number RIN, the logical column number LL, the upper horizontal ruled line number ULN, and the lower horizontal ruled line number LLN. , Left vertical ruled line number ERN, right vertical ruled line number RRN, and first ruled line item address HLA. In the example of the form in FIG. 2, a logical row table 1102 is created as shown in FIG.
更に、グループ情報テーブル1100は、論理行数LRと先頭論理行アドレスHLAが追加される。図40に示すように、罫線項目テーブル1104の入れ子情報INは、入れ子フラグINF、階層番号KN、子罫線項目番号CRN、罫線項目間リンク番号RLNからなる。入れ子フラグINFは、罫線項目が入れ子構造を構成する場合に、「ON」となる。図2の帳票例では、罫線項目10、11、12が入れ子構造を構成するため、「ON」である。
Further, the group information table 1100 is added with the number of logical rows LR and the head logical row address HLA. As shown in FIG. 40, the nesting information IN of the ruled line item table 1104 includes a nesting flag INF, a hierarchy number KN, a child ruled line item number CRN, and a ruled line item link number RLN. The nesting flag INF is “ON” when the ruled line items constitute a nesting structure. In the form example in FIG. 2, the ruled
階層番号KNは、入れ子構造の階層の深さ(親子関係数)を示す。図2の帳票例では、親となる罫線項目10は、「0」、子となる罫線項目11、12は、「1」を設定する。子罫線項目数CRNは、当罫線項目が親子の関係の場合には、親の罫線項目に、子となる罫線項目番号を設定する。図2の帳票例では、親の罫線項目10に、子の罫線項目番号11を設定する。
The hierarchy number KN indicates the depth of the nested structure hierarchy (number of parent-child relationships). In the form example of FIG. 2, “0” is set for the ruled
罫線項目間リンク番号RLNは、罫線項目が兄弟関係にある場合に、兄弟関係にある罫線項目の通し番号を示す。図2の帳票例では、罫線項目11、12が、兄弟関係にあるため、罫線項目11に「0」を、罫線項目12に「1」を設定する。
The rule line item link number RLN indicates the serial number of a ruled line item in a sibling relationship when the ruled line item has a sibling relationship. In the form example in FIG. 2, the ruled
このようにして、各罫線項目を論理行に分類する。この論理行は、同じ構造をしている行を見つけるのに役立つ。 In this way, each ruled line item is classified into logical lines. This logical line helps find lines that have the same structure.
次に、図3の帳票例2のように、表が分離されている場合の表の統合処理について、説明する。 Next, a table integration process when the tables are separated as in the form example 2 in FIG. 3 will be described.
図42は、表の統合処理フロー図、図43及び図44は、帳票例2のグループ統合前のテーブル説明図、図45及び図46は、帳票例2のグループ統合後のテーブル説明図である。 FIG. 42 is a table integration processing flowchart, FIGS. 43 and 44 are table explanatory diagrams before group integration of the form example 2, and FIGS. 45 and 46 are table explanatory diagrams after group integration of the form example 2. .
(S60)グループ情報テーブル1100から、同じ開始Y座標と終了Y座標を持つ2つのグループを抽出する。 (S60) Two groups having the same start Y coordinate and end Y coordinate are extracted from the group information table 1100.
(S61)2つのグループを構成する論理行情報を1つづつ抽出する。全部の論理行を参照したかを判定する。全部の論理行を参照した場合には、ステップS63に進む。 (S61) The logical row information constituting the two groups is extracted one by one. Determine if all logical rows have been referenced. If all the logical lines have been referenced, the process proceeds to step S63.
(S62)抽出した論理行情報から、開始Y座標と終了Y座標が一致する論理行数をカウントする。そして、ステップS61に戻る。 (S62) From the extracted logical line information, the number of logical lines having the same start Y coordinate and end Y coordinate is counted. Then, the process returns to step S61.
(S63)一致した論理行数の全論理行数に対する割合を計算する。そして、その割合と所定の閾値とを比較する。その割合が、閾値以下の場合は、2つのグールプは別の表と判断して、終了する。 (S63) The ratio of the number of matched logical lines to the total number of logical lines is calculated. Then, the ratio is compared with a predetermined threshold value. If the ratio is less than or equal to the threshold, the two groups are judged as separate tables and the process ends.
(S64)その割合が、閾値以上の場合には、2つのグループは、1つの表であると判定する。そして、2つのグループに、異なる構造の論理行はあるかを判定する。異なる構造の論理行がある場合には、図47で説明する罫線作成処理を行う。 (S64) If the ratio is equal to or greater than the threshold, it is determined that the two groups are one table. Then, it is determined whether there are logical lines having different structures in the two groups. If there are logical lines having different structures, a ruled line creation process described in FIG. 47 is performed.
(S65)2つのグループを1つのグループに統合する。そして、終了する。 (S65) The two groups are integrated into one group. And it ends.
図3の帳票例で説明する。図3の帳票例では、罫線項目テーブル1104は、図43のように設定される。論理行テーブル1102及びグループ情報テーブル1100は、図44に設定される。即ち、グループは、4つに分類される。前述した統合処理により、グループ2と4が統合される。即ち、図45に示すように、論理行テーブル1102において、グループ4の論理行は削除される。グループテーブル1100においても、グループ4は削除される。同様に、論理行テーブル1102、グループ情報テーブル1100において、グループ2の罫線項目数に、グループ4の罫線項目数を加算される。罫線項目テーブル104において、グループ4の罫線項目のグループ番号は、グループ2に変更される。更に、横罫線テーブル1105において、グループ2の論理行を構成する横罫線の終了X座標を、グループ4の終了X座標まで延長する。
This will be described with reference to the form example in FIG. In the form example of FIG. 3, the ruled line item table 1104 is set as shown in FIG. The logical row table 1102 and the group information table 1100 are set in FIG. That is, the group is classified into four. By the integration process described above, the
このようにして、グループの論理行構造が同じか、類似しないるかを判定して、表の統合を行う。 In this way, it is determined whether the logical row structures of the groups are the same or not, and the tables are integrated.
次に、図42の罫線作成処理について、説明する。図47は、罫線作成処理フロー図、図48は、罫線作成の説明図、図49及び図50は、罫線作成後のテーブル説明図である。 Next, the ruled line creation process of FIG. 42 will be described. 47 is a ruled line creation processing flowchart, FIG. 48 is a ruled line creation explanatory diagram, and FIGS. 49 and 50 are table explanatory diagrams after the ruled line created.
(S66)2つのグループから論理行情報を抽出する。全論理行を参照したかを判定する。全論理行を参照した場合には、終了する。 (S66) The logical row information is extracted from the two groups. Determine whether all logical lines have been referenced. If all logical lines have been referenced, the process ends.
(S67)2つの論理行を高さは、一致するかを判定する。一致する場合は、罫線作成処理不要のため、ステップS66に戻る。一致していない場合には、次の行の論理行情報を抽出する。そして、1のグループの次の行Bと行Aの高さとの和が、他のグループの行Cの高さとが一致するかを判定する。図48に示すように、グループ2の論理行A、Bと、グループ4の論理行Cが対応するものとする。この場合に、グループ4の論理行Cにおいて、掠れにより罫線が消失している。この場合に、グループ2の次の行Bと行Aの高さとの和が、グループ4のの行Cの高さとが一致する。一致しない場合は、ステップS66に戻る。
(S67) It is determined whether the heights of the two logical lines match. If they match, the ruled line creation process is unnecessary, and the process returns to step S66. If they do not match, the logical line information of the next line is extracted. Then, it is determined whether the sum of the height of the next row B and the row A of one group matches the height of the row C of another group. As shown in FIG. 48, it is assumed that logical rows A and B of
(S68)一致する場合には、行Cの中で、行Aと行Bの境界線と同じY座標を持つ横罫線を生成する。そして、1つの行を2つの行に分割する。そして、ステップS66に戻る。 (S68) If they match, a horizontal ruled line having the same Y coordinate as the boundary line between row A and row B is generated in row C. Then, one line is divided into two lines. Then, the process returns to step S66.
このようにして、掠れ等で消失した罫線を、表構造から検出する。そして、罫線を作成する。図49に示すように、罫線項目情報テーブル1104において、罫線項目158と罫線項目159の下側横罫線番号を新規に作成した横罫線番号に変更する。終了Y座標を横罫線の座標に変更する。罫線項目160と罫線項目161を新たに作成する。図50の論理行テーブル1102において、行Cを上下に2分割する。下側論理行を論理行テーブルに追加する。グループテーブル1100において、グループ4の論理行数を+1する。
In this way, ruled lines that disappear due to curling or the like are detected from the table structure. Then, ruled lines are created. As shown in FIG. 49, in the ruled line item information table 1104, the lower horizontal ruled line number of the ruled
(e)ブロック分類処理の説明
図51は、ブロック分類処理フロー図、図52及び図53はブロック分類後のテーブル説明図である。
(E) Description of Block Classification Processing FIG. 51 is a block classification processing flowchart, and FIGS. 52 and 53 are explanatory diagrams of tables after block classification.
(S70)グループ情報テーブル1100から、グループ情報を抽出する。全てのグループ情報を抽出したかを判定する。全てのグループ情報を抽出した場合には、終了する。 (S70) Group information is extracted from the group information table 1100. It is determined whether all group information has been extracted. If all group information has been extracted, the process ends.
(S71)そのグループを構成する論理行情報を2行ずつ抽出する。例えば、1回目は1行目と2行目、2回目は2行目と3行目を抽出する。全ての論理行を抽出したかを判定する。そのグループの全ての論理行を抽出した場合には、ステップS70に戻る。 (S71) Two lines of logical line information constituting the group are extracted. For example, the first time extracts the first and second lines, and the second time extracts the second and third lines. Determine whether all logical rows have been extracted. If all the logical rows of the group have been extracted, the process returns to step S70.
(S72)抽出した2つの論理行の構造を比較する。この比較は、次の項目を比較する。構成する罫線項目数は同じか。論理行の中で、罫線項目の配置は一致するか。論理行の高さ、幅は同じか。 (S72) The structures of the two extracted logical rows are compared. This comparison compares the following items: Are the number of ruled line items configured the same? Does the arrangement of ruled line items match in the logical line? Are the logical lines the same height and width?
(S73)論理行構造が一致しない場合には、両論理行は別のブロックを構成すると判断する。このため、両論理行をリンクしないブロック情報を作成する。そして、ステップS70に戻る。 (S73) If the logical row structures do not match, it is determined that both logical rows constitute another block. Therefore, block information that does not link both logical rows is created. Then, the process returns to step S70.
(S74)論理行構造が一致する場合には、両論理行は同一のブロックを構成すると判断する。このため、両論理行をリンクするブロック情報を作成する。そして、ステップS70に戻る。 (S74) If the logical row structures match, it is determined that both logical rows constitute the same block. Therefore, block information that links both logical rows is created. Then, the process returns to step S70.
このようにして、グループ単位に、行構造が同一である論理行を1つのブロックに分類する。図53に示すように、ブロック情報テーブル1101は、ブロック番号BN、開始座標SC、終了座標EC、グループ番号GN、罫線項目数RIN、論理行数LN、論理列数RO、先頭論理行アドレスHRA、先頭論理列アドレスHRA、上側横罫線番号ULN、下側横罫線番号LLN、左側縦罫線番号LVN、右側縦罫線番号RVNからなる。 In this manner, logical rows having the same row structure are classified into one block for each group. As shown in FIG. 53, the block information table 1101 includes a block number BN, a start coordinate SC, an end coordinate EC, a group number GN, a ruled line item number RIN, a logical row number LN, a logical column number RO, a top logical row address HRA, It consists of a head logical column address HRA, an upper horizontal ruled line number ULN, a lower horizontal ruled line number LLN, a left vertical ruled line number LVN, and a right vertical ruled line number RVN.
ブロック情報テーブル1101に、各ブロックの開始座標SC、終了座標EC、グループ番号GN、罫線項目数RIN、論理行数LN、先頭論理行アドレスHRA、上側横罫線番号ULN、下側横罫線番号LLN、左側縦罫線番号LVN、右側縦罫線番号RVNを設定する。 The block information table 1101 includes a start coordinate SC, an end coordinate EC, a group number GN, a ruled line item number RIN, a logical line number LN, a top logical line address HRA, an upper horizontal ruled line number ULN, a lower horizontal ruled line number LLN, A left vertical ruled line number LVN and a right vertical ruled line number RVN are set.
そして、図52に示すように、罫線項目テーブル1104に、各罫線項目のブロック番号BNを設定する。論理行テーブル1102に、各論理行のブロック番号BNを設定する。図53に示すように、グループテーブル1100に、各グループのブロック数BLN、先頭ブロック番号アドレスを設定する。 Then, as shown in FIG. 52, the block number BN of each ruled line item is set in the ruled line item table 1104. A block number BN for each logical row is set in the logical row table 1102. As shown in FIG. 53, the block number BLN and the head block number address of each group are set in the group table 1100.
次に、ブロック分類において、異なるブロックに分類されたブロックを統合する処理について、説明する。図54は、罫線回復処理の説明図、図55は、罫線回復処理フロー図、図56及び図57は、罫線回復前のテーブル説明図、図58乃至図60は、罫線回復後のテーブル説明図である。 Next, processing for integrating blocks classified into different blocks in block classification will be described. 54 is an explanatory diagram of the ruled line recovery processing, FIG. 55 is a flowchart of the ruled line recovery processing, FIGS. 56 and 57 are table explanatory diagrams before the ruled line recovery, and FIGS. 58 to 60 are table explanatory diagrams after the ruled line recovery. It is.
図54に示すように、図2の帳票例1において、罫線項目63と罫線項目64の部分が掠れにより、罫線が消失しているものとする。この部分は、上下の論理行と構造が異なるため、ブロックBに分類される。又、ブロックBは、論理行が1行の構造であるため、罫線項目の抽出順序は、他の行と異なっている。以下、図55により、処理を説明する。
As shown in FIG. 54, it is assumed that the ruled line disappears due to the ruled
(S75)グループ情報テーブル1100からグループ情報を抽出する。全てのグループ情報を抽出したかを判定する。全てのグループ情報を抽出した場合には、処理を終了する。 (S75) Group information is extracted from the group information table 1100. It is determined whether all group information has been extracted. If all group information has been extracted, the process is terminated.
(S76)ブロック情報テーブル1101からそのグループのブロック情報を抽出する。全ブロック情報を抽出したかを調べる。全ブロックを抽出した場合には、ステップS79に進む。 (S76) The block information of the group is extracted from the block information table 1101. Check whether all block information has been extracted. If all blocks have been extracted, the process proceeds to step S79.
(S77)ブロック情報テーブル1101から次のブロック情報を抽出する。全ブロック情報を抽出したかを調べる。全ブロックを抽出した場合には、ステップS76に戻る。 (S77) The next block information is extracted from the block information table 1101. Check whether all block information has been extracted. If all blocks have been extracted, the process returns to step S76.
(S78)2つのブロック情報を構成する論理行の構造を比較する。即ち、ブロックを構成する論理行を構成する罫線項目の数は同じかを判定する。論理行の中で罫線項目の配置は一致するかを判定する。論理行の高さ、幅は同じかを判定する。一致する場合には、ブロック数をカウントする。そして、一致するブロック情報同志に、マーキングする。そして、ステップS77に戻る。 (S78) The structures of the logical lines constituting the two block information are compared. That is, it is determined whether the number of ruled line items constituting the logical row constituting the block is the same. It is determined whether the arrangement of ruled line items in the logical line matches. It is determined whether the logical line has the same height and width. If they match, the number of blocks is counted. Then, the matching block information is marked. Then, the process returns to step S77.
(S79)ブロック情報テーブル1101から一致数が最も多いブロックを基準ブロックとし、一致数が最も多くないブロックを抽出する。図54で説明すると、基準ブロックは、ブロックAが抽出され、一致数が最も多くないブロックとして、ブロックBが抽出される。全ブロック情報を抽出したかを調べる。全ブロックを抽出した場合には、ステップS75に戻る。 (S79) From the block information table 1101, a block with the largest number of matches is set as a reference block, and a block with the smallest number of matches is extracted. Referring to FIG. 54, the block A is extracted as the reference block, and the block B is extracted as the block having the smallest number of matches. Check whether all block information has been extracted. If all blocks have been extracted, the process returns to step S75.
(S80)基準ブロックAとブロックBの論理行での罫線項目の配置を比較する。即ち、罫線項目の座標を論理行開始X座標、Y座標からの相対座標に変換して、比較する。そして、罫線項目の配置が異なった場合に、ブロックAの罫線項目の高さh1とブロックBの罫線項目の高さh2とを比較する。この比較において、h1<h2である場合には、罫線項目の罫線の消失と判断する。このため、ブロックBの罫線項目を、ブロックAの罫線項目の高さと一致するように、仮分割して、ブロックBについて、論理行情報を仮作成する。そして、ブロックAの論理行と仮作成したブロックBの論理行が一致する時に、グループ情報、ブロックBのブロック情報と論理行情報、罫線項目情報と横罫線情報を編集する。そして、ステップS79に戻る。 (S80) The arrangement of ruled line items in the logical rows of the reference block A and the block B is compared. That is, the coordinates of the ruled line item are converted into relative coordinates from the logical line start X coordinate and Y coordinate, and compared. Then, when the arrangement of the ruled line items is different, the height h1 of the ruled line item in the block A is compared with the height h2 of the ruled line item in the block B. In this comparison, if h1 <h2, it is determined that the ruled line item disappears. Therefore, the ruled line item of the block B is provisionally divided so as to coincide with the height of the ruled line item of the block A, and logical row information is provisionally created for the block B. When the logical row of block A matches the logical row of provisionally created block B, the group information, block information of block B, logical row information, ruled line item information, and horizontal ruled line information are edited. Then, the process returns to step S79.
これを、前述の図54の例で説明する。罫線回復前のテーブルは、図56及び図57の如くである。即ち、図56の罫線項目テーブル1104に示すように、罫線項目59〜罫線項目66は、ブロック3に分類されている。罫線項目47、48は、ブロック2に分類されている。
This will be described with reference to the example of FIG. The table before the ruled line recovery is as shown in FIGS. That is, as shown in the ruled line item table 1104 in FIG. 56, the ruled
罫線回復後は、図58に示すように、罫線項目テーブル1104において、罫線項目63と64の終了座標を、横罫線12の座標値に変更する。罫線項目177と178を新規に作成する。上側が横罫線11、下側が横罫線12の罫線項目と、上側が横罫線11、下側が横罫線13の罫線項目とのブロック番号を、ブロック2に変更する。その罫線項目の論理行番号をブロック2内の通し番号に変更する。下側が横罫線13の罫線項目の下側横罫線番号を「12」に変更する。同一グループ内の罫線番号が、論理行順になるように、テーブル1104をソートする。同一論理行番号の罫線項目をX座標順になるようにテーブルをソートする。グループ3、ブロック4以降の罫線項目のブロック番号をブロック2に変更し、論理行番号をブロック2内の通し番号に変更する。
After the ruled line is restored, the end coordinates of the ruled
図59の論理行テーブル1102において、グループ3、ブロック3の論理行情報を横罫線11、12に囲まれる範囲に変更する。グループ3、ブロック3の論理行情報のブロック番号を、ブロック2に変更する。論理行番号をブロック2内の通し番号(4)に変更する。グループ3、ブロック2の罫線項目数を「14」に、下側横罫線番号を「12」に変更する。グループ3、ブロック2の論理行番号を新規に作成する。グループ3、ブロック4以降の論理行情報のブロック番号を、ブロック2に変更する。論理行番号をブロック2内の通し番号に変更する。
In the logical row table 1102 of FIG. 59, the logical row information of
図59のブロック情報テーブル1101において、グループ3、ブロック2の罫線項目数を「140」に、論理行数を「10」に、下側横罫線番号を「19」に変更する。グループ3のブロック3とブロック4を、テーブルから削除する。
In the block information table 1101 of FIG. 59, the number of ruled line items in
図60のグループ情報テーブル1100において、グループ2のブロック数を「2」に、罫線項目数を「147」に変更する。横罫線テーブル1105において、横罫線12の終了Y座標を、横罫線11と同じ座標値に変更する。横罫線13を削除する。
In the group information table 1100 of FIG. 60, the number of blocks in
このようにして、隣接する異なるブロック間において、論理行の構造を比較する。これにより、基準ブロックと構造の似ているブロックを探し、似ているブロックを基準ブロックの論理行構造になるように、罫線を付加する。これにより、掠れた罫線を回復する。 In this way, the logical row structure is compared between adjacent different blocks. As a result, a block similar in structure to the reference block is searched, and ruled lines are added so that the similar block becomes the logical row structure of the reference block. Thereby, the drowned ruled line is recovered.
次に、帳票の罫線項目に消し線が記入されて、異なるブロックに分類されたものを、同一のブロックに統合する処理について、説明する。図61は、論理行統合処理の説明図、図62は論理行統合処理フロー図、図63及び図64は、ろた行統合前のテーブル説明図、図65乃至図67は、論理行統合後のテーブル説明図である。 Next, a process of integrating the ones in which the erased lines are entered in the ruled line items of the form and are classified into different blocks into the same block will be described. 61 is an explanatory diagram of logical row integration processing, FIG. 62 is a logical row integration processing flow diagram, FIGS. 63 and 64 are table explanatory diagrams before filter row integration, and FIGS. 65 to 67 are after logical row integration. FIG.
図61は、帳票の罫線項目に消し線が記入された例を示し、罫線項目59と罫線項目73との間に、横罫線が消し線として記入されている。元の帳票では、罫線項目59と罫線項目73とが合わせて1つの罫線項目であった。消し線により、1つの罫線項目が、2つに分割されている。2つに分割された行を1つの行に統合する。又、記入内容の訂正を行うため、引かれた訂正線により、罫線項目が部分的に分割された場合にも、統合処理により解析が可能となる。
FIG. 61 shows an example in which a strike line is entered in the ruled line item of the form, and a horizontal ruled line is entered as a erased line between the ruled
図62の処理フローにより、説明する。 This will be described with reference to the processing flow of FIG.
(S81)図55の罫線回復処理のステップS75〜ステップS79の処理を実行して、基準ブロックと一致数が異なるブロックを抽出する。この参照中のブロックは、基準ブロックかを判定する。参照されたブロックが基準ブロックの場合には、ステップS79(図55)に戻る。 (S81) Steps S75 to S79 of the ruled line recovery process of FIG. 55 are executed to extract blocks having a different number of matches from the reference block. It is determined whether the block being referred to is a reference block. If the referenced block is a reference block, the process returns to step S79 (FIG. 55).
(S82)論理行テーブル1102から、参照ブロックの論理行情報を抽出する。参照ブロックの先頭論理行の高さに、その下の論理行の高さを1行づつ加算する。加算した高さが、基準ブロックの高さに、一致するまで、論理行を参照する。一致しなければ、ステップS79(図55)に戻る。 (S82) The logical row information of the reference block is extracted from the logical row table 1102. The height of the logical line below it is added to the height of the first logical line of the reference block one line at a time. The logical line is referenced until the added height matches the height of the reference block. If they do not match, the process returns to step S79 (FIG. 55).
(S83)一致した場合には、参照した論理行を構成する罫線項目の内、上下に接続する罫線項目を全て統合する。即ち、同じY座標を持ち、且つ共有するY座標がある罫線項目を統合する。更に、統合した罫線項目で構成される論理行を仮作成する。そして、その作成した論理行と基準ブロックの論理行の構造を比較する。論理行構造が一致する場合に、グループ情報、ブロック情報、論理行情報、罫線項目情報を編集する。そして、ステップS79(図55)に戻る。 (S83) If they match, all ruled line items connected vertically are integrated among the ruled line items constituting the referenced logical row. That is, ruled line items having the same Y coordinate and a shared Y coordinate are integrated. Further, a logical line composed of integrated ruled line items is provisionally created. Then, the created logical row is compared with the logical row structure of the reference block. When the logical row structures match, group information, block information, logical row information, and ruled line item information are edited. Then, the process returns to step S79 (FIG. 55).
このようにして、基準ブロックと、基準ブロックと構造の異なる他のブロックを抽出し、他のブロックの高さと基準ブロックの高さから、消し線の存在を検出する。そして、消し線の存在を検出すると、上下に位置する罫線項目を統合し、論理行を仮作成する。仮作成した論理行の構造と基準ブロックの論理行の構造を比較して、確認する。このため、消し線、訂正線を除去することができる。 In this way, the reference block and another block having a structure different from that of the reference block are extracted, and the presence of a strikethrough is detected from the height of the other block and the height of the reference block. When the presence of the strikethrough is detected, the ruled line items positioned above and below are integrated to temporarily create a logical line. Compare the structure of the temporary logical line with the structure of the logical line of the reference block. For this reason, the erased line and the corrected line can be removed.
図61のように、消し線が引かれた場合には、罫線項目テーブル1104は、図63のように、作成される。論理行情報テーブル1102、ブロック情報テーブル1101、グループ情報テーブル1100の各々は、図64に示すように、作成される。 When a strike line is drawn as shown in FIG. 61, the ruled line item table 1104 is created as shown in FIG. Each of the logical row information table 1102, the block information table 1101, and the group information table 1100 is created as shown in FIG.
図61の消し線が除去され、ブロックA、B、Cが、ブロックAに統合されると、図65に示すように、罫線項目テーブル1104では、罫線項目59から罫線項目72までの終了座標を横罫線13の座標値に、下側横罫線番号を「13」に変更する。罫線項目59から罫線項目72までのブロック番号を、ブロック2に変更する。罫線項目59から罫線項目72までの論理行番号を、ブロック2内での通し番号に変更する。罫線項目73から罫線項目86までを削除する。罫線項目101以降のブロック番号をブロック2に、論理行番号をブロック2内の通し番号に変更する。
When the strikethrough in FIG. 61 is removed and blocks A, B, and C are integrated into block A, the end coordinates from ruled
図66に示すように、論理行情報テーブル1102において、グループ3、ブロック3の論理行終了Y座標を、横罫線13のY座標に変更し、下側横罫線番号を「13」に変更する。グループ3、ブロック3のブロック番号を、ブロック2に変更し、論理行番号を、ブロック2内の通し番号(4)に変更する。グループ3、ブロック4以降のブロック番号をブロック2に変更し、論理行番号をブロック2内の通し番号に変更する。
As shown in FIG. 66, in the logical row information table 1102, the logical row end Y coordinate of
図66に示すように、ブロック情報テーブル1101において、グループ3、ブロック2の罫線項目数を「140」に、論理行数を「10」に、下側横罫線番号を「19」に変更する。グループ3のブロック3とブロック4とをテーブルから削除する。
As shown in FIG. 66, in the block information table 1101, the number of ruled line items of
図67に示すように、グループ情報テーブル1100において、グループ2の罫線項目数を「147」に、ブロック数を「2」に、論理行数を「11」に変更する。横罫線テーブル1105において、横罫線12を削除する。
As shown in FIG. 67, in the group information table 1100, the number of ruled line items in
(f)論理列判定処理の説明
図68は、論理列判定処理フロー図、図69乃至図71は、論理列判定後のテーブル説明図である。論理列の判定処理について、図68により説明する。
(F) Description of Logical Column Determination Processing FIG. 68 is a logical column determination processing flowchart, and FIGS. 69 to 71 are explanatory diagrams of tables after logical column determination. The logical column determination processing will be described with reference to FIG.
(S90)グループ情報テーブル1100から、グループ情報を抽出する。全てのグループ情報を抽出したかを判定する。全てのグループ情報を抽出した場合には、終了する。 (S90) Group information is extracted from the group information table 1100. It is determined whether all group information has been extracted. If all group information has been extracted, the process ends.
(S91)ブロック情報テーブル1101から、抽出したグループの2つのブロックのブロック情報を抽出する。抽出したグループの全てのブロック情報を抽出したかを判定する。全てのブロック情報を抽出した場合には、ステップS90に戻る。 (S91) The block information of the two blocks of the extracted group is extracted from the block information table 1101. It is determined whether all the block information of the extracted group has been extracted. If all the block information has been extracted, the process returns to step S90.
(S92)罫線項目テーブル1104から、抽出した各ブロックの先頭の論理行を構成する罫線項目情報を順次抽出する。抽出した論理行の全ての罫線項目情報を参照したかを判定する。全ての罫線項目情報を参照した場合には、後述するステップS97で、入れ子情報を設定したかを判定する。入れ子情報を設定していない場合には、抽出した2つのブロック間の論理列が終了するので、ステップS91に戻る。入れ子情報を設定した場合には、グループ情報、ブロック情報、論理行情報を更新する。更に、参照中ブロックの2行以下の論理行についても、1行目と同様に、各情報を更新する。そして、ステップS91に戻る。 (S92) Ruled line item information constituting the first logical row of each extracted block is sequentially extracted from the ruled line item table 1104. It is determined whether all ruled line item information of the extracted logical line has been referenced. When all the ruled line item information is referred to, it is determined whether the nesting information is set in step S97 described later. If no nesting information is set, the logical sequence between the two extracted blocks is completed, and the process returns to step S91. When nesting information is set, group information, block information, and logical row information are updated. Furthermore, each piece of information is also updated in the logical rows of two or less in the reference block, as in the first row. Then, the process returns to step S91.
(S93)2つの論理行の罫線項目が、同じ幅かを判定する。同じ幅でない場合には、幅の狭い論理行側で、次の罫線項目を抽出する。そして、幅の狭い論理行側で、現罫線項目と次の罫線項目との幅を加算する。幅の広い論理行の罫線項目と、その加算値を比較して、同じ幅となるかを判定する。同じ幅となるまで、罫線項目の抽出を繰り返す。 (S93) It is determined whether the ruled line items of the two logical rows have the same width. If they are not the same width, the next ruled line item is extracted on the narrow logical line side. Then, the widths of the current ruled line item and the next ruled line item are added on the narrow logical line side. The ruled line item of the wide logical line is compared with the added value to determine whether the width is the same. The extraction of ruled line items is repeated until the same width is obtained.
(S94)このようにして、第1のブロックの先頭論理行の罫線項目と、第2のブロックの先頭論理行の罫線項目との間の列方向の対応関係が判明した。 (S94) In this way, the correspondence in the column direction between the ruled line item of the first logical row of the first block and the ruled line item of the first logical row of the second block has been found.
次に、抽出した罫線項目数をカウントする。 Next, the number of extracted ruled line items is counted.
(S95)入れ子構造を検出するため、抽出した罫線項目の数が「1」かを判定する。 (S95) In order to detect the nested structure, it is determined whether or not the number of extracted ruled line items is “1”.
(S96)罫線項目数が「1」である場合には、入れ子構造でない。このため、抽出した罫線項目に、左側からの通し番号を、論理列番号として設定する。 (S96) When the number of ruled line items is “1”, it is not a nested structure. Therefore, a serial number from the left side is set as a logical column number in the extracted ruled line item.
(S97)罫線項目数が「1」でない場合には、入れ子構造である。このため、入れ子構造の罫線項目に、同じ通し番号を、論理列番号として設定する。そして、入れ子構造を構成する罫線項目に、入れ子情報を設定する。 (S97) When the number of ruled line items is not “1”, a nested structure is used. For this reason, the same serial number is set as the logical column number in the nested ruled line item. Then, the nesting information is set in the ruled line items constituting the nesting structure.
(S98)論理列情報を作成し、同じ論理列内の罫線項目間にリンクを設定する。この時、同じグループで異なるブロック、論理行間で同じ列番号が設定されたものの間に、リンクを設定する。そして、ステップS92に戻る。 (S98) Logical column information is created, and a link is set between ruled line items in the same logical column. At this time, a link is set between different blocks in the same group and the same column number set between logical rows. Then, the process returns to step S92.
このようにして、上下に接続するブロックの間で、同じ列構造を持つかを判定する。そして、同じ列構造を持つ場合、それらブロックを論理列の単位で統合する。 In this way, it is determined whether the blocks connected in the vertical direction have the same column structure. If the same column structure is used, these blocks are integrated in units of logical columns.
図2の帳票例で説明する。図69に示すように、罫線項目情報テーブル1104では、罫線項目の列番号欄ROに、論理列番号が設定される。例えば、ブロック1の罫線項目10、11、12には、列番号が「1」と設定される。異なるブロック2において、この罫線番号と同じ幅の罫線項目は、「17」と「18」である。従って、ブロック2の罫線項目17、18には、同じ列番号「1」が設定される。
This will be described with reference to the form example in FIG. As shown in FIG. 69, in the ruled line item information table 1104, a logical column number is set in the column number column RO of the ruled line item. For example, the column number is set to “1” for the ruled
次に、入れ子構造を構成する罫線項目に入れ子情報INを設定する。図69では、罫線項目17、18に、入れ子情報を設定する。同様に、同じ論理列を構成する罫線項目(例えば、罫線項目31、32)にも、入れ子情報を設定する。更に、同じ論理列を構成する罫線項目間に、アドレスリンクHAAを設定する。
Next, the nesting information IN is set in the ruled line items constituting the nesting structure. In FIG. 69, nesting information is set in the ruled
この場合に、入れ子情報INは、入れ子フラグINF、階層番号KN、子罫線項目番号CRN、罫線項目間リンク通し番号RLNからなる。罫線項目17、18の例では、罫線項目17、18が入れ子構造のため、入れ子フラグINFがオンとなる。2つの罫線項目17、18間に親子関係がないため、階層番号KNに、「0」を設定する。2つの罫線項目17、18間に親子関係がないため、子罫線項目番号CRNに、「0」を設定する。罫線項目17、18が兄弟関係のため、罫線項目17の罫線項目間リンク番号RLNに、「0」を、罫線項目18の罫線項目間リンク番号RLNに、「1」を設定する。
In this case, the nesting information IN includes a nesting flag INF, a hierarchy number KN, a child ruled line item number CRN, and a ruled line item link serial number RLN. In the example of the ruled
図70に示すように、論理行情報テーブル1102において、論理行2の論理列数LLを、「5」に変更する。図70に示す論理列情報テーブル1103は、新規に作成する。この論理列情報テーブル1103は、論理列番号RO、開始座標SC、終了座標EC、グループ番号GN、ブロック番号BN、罫線項目数RIN、上側横罫線番号ULN、下側横罫線番号LLN、左側縦罫線番号ELN、右側縦罫線番号RRN、先頭罫線項目アドレスHLAからなる。前述の列方向の関係に応じて、これらを作成する。
As shown in FIG. 70, in the logical row information table 1102, the logical column number LL of the
更に、図71に示すように、ブロック情報テーブル1101は、グループ3、ブロック2の論理列数が、「5」に変更される。そして、各ブロックの先頭論理列アドレスHAAが設定される。
Further, as shown in FIG. 71, in the block information table 1101, the number of logical columns of
このようにして、各グループにおいて、ブロック間の罫線項目の列方向の関係が判定される。そして、これに従い、列方向の関係を記述するテーブルが更新される。 In this way, the relationship in the column direction of ruled line items between blocks is determined in each group. In accordance with this, the table describing the relationship in the column direction is updated.
次に、図20(A)及び図20(B)で説明した1桁及び3桁罫線の入れ子解析処理について、説明する。図72は、1桁、3桁罫線の入れ子解析処理フロー図、図73は入れ子解析後のテーブル説明図である。 Next, the 1-digit and 3-digit ruled line nesting analysis processing described with reference to FIGS. 20A and 20B will be described. FIG. 72 is a flowchart of the nesting analysis process for 1-digit and 3-digit ruled lines, and FIG.
(S100)論理行テーブル1102から論理行情報を抽出する。全論理行情報を抽出したかを判定する。全論理行情報を抽出した場合には、終了する。 (S100) Logical row information is extracted from the logical row table 1102. It is determined whether all logical line information has been extracted. If all logical line information has been extracted, the process ends.
(S101)論理行情報からリンクする罫線項目を抽出する。全罫線項目を抽出したかを判定する。全罫線項目を抽出した場合には、ステップS100に戻る。 (S101) A ruled line item to be linked is extracted from the logical line information. It is determined whether all ruled line items have been extracted. If all ruled line items have been extracted, the process returns to step S100.
(S102)抽出した罫線項目のサイズが、1桁罫線項目のサイズに該当するかを判定する。該当する場合には、ステップS104に進む。該当しない場合には、ステップS103に進む。 (S102) It is determined whether the size of the extracted ruled line item corresponds to the size of the one-digit ruled line item. If applicable, the process proceeds to step S104. If not, the process proceeds to step S103.
(S103)抽出した罫線項目のサイズが、3桁罫線項目のサイズに該当するかを判定する。該当する場合には、ステップS104に進む。該当しない場合には、ステップS101に戻る。 (S103) It is determined whether the size of the extracted ruled line item corresponds to the size of the three-digit ruled line item. If applicable, the process proceeds to step S104. If not, the process returns to step S101.
(S104)参照中の論理行の中で、次の罫線項目を抽出する。現罫線項目と次の罫線項目との大きさを比較する。誤差範囲内で一致するかを判定する。一致する場合には、ステップS105に進む。一致しない場合には、ステップS101に戻る。 (S104) The next ruled line item is extracted from the logical line being referred to. The size of the current ruled line item and the next ruled line item are compared. It is determined whether they match within the error range. If they match, the process proceeds to step S105. If they do not match, the process returns to step S101.
(S105)現罫線番号のリンク先罫線番号に、次の罫線番号を設定する。そして、ステップS101に戻る。 (S105) The next ruled line number is set as the link ruled line number of the current ruled line number. Then, the process returns to step S101.
図73には、図2の帳票例における罫線項目テーブル1104の更新後の状態を示す。図2において、1桁罫線項目は、罫線項目22〜30、36〜44等である。上述の処理により、これらの罫線項目22〜30が、1桁罫線項目と判定される。そして、罫線項目テーブル1104において、網掛け状態にして示すように、1桁罫線項目22〜30のリンク先罫線項目番号ANに、リンクする罫線番号が設定される。尚、前述の入れ子処理により、罫線番号22〜30は、入れ子構造と判定され、入れ子情報INが設定されている。
FIG. 73 shows a state after updating the ruled line item table 1104 in the form example of FIG. In FIG. 2, the one-digit ruled line items are ruled line items 22-30, 36-44, and the like. With the above-described processing, these ruled
このようにして、予め1桁罫線項目又は3桁罫線項目の縦サイズと横サイズを定義しておく。これらサイズと一致する罫線項目が任意数並んだ場合には、これらを入れ子構造として、論理的に1つの罫線項目としてまとめる。このような結果を利用して、文字認識処理では、連続する罫線項目を1つの文字列として扱うことができる。 In this way, the vertical size and horizontal size of the 1-digit ruled line item or the 3-digit ruled line item are defined in advance. When an arbitrary number of ruled line items that match these sizes are arranged, they are nested and logically combined as one ruled line item. By using such a result, in the character recognition process, continuous ruled line items can be handled as one character string.
次に、図21(A)及び図21(B)に示した特殊な構造を持つ矩形の入れ子構造を解析する処理について、説明する。図74は、主表以外の入れ子解析処理フロー図、図75及び図76は、入れ子解析後のテーブル説明図である。 Next, processing for analyzing a rectangular nested structure having the special structure shown in FIGS. 21A and 21B will be described. FIG. 74 is a flowchart of the nested analysis process other than the main table, and FIGS. 75 and 76 are explanatory diagrams of the table after the nested analysis.
(S110)グループ情報テーブル1100から、グループ情報を抽出する。全グループ情報を抽出したかを判定する。全グループ情報を抽出した場合には、終了する。 (S110) Group information is extracted from the group information table 1100. It is determined whether all group information has been extracted. If all group information has been extracted, the process ends.
(S111)抽出したグループの構造を判定する。グループは、1ブロック且つ1行かを判定する。グループが、1ブロック且つ1行である場合には、ステップS114に進む。グループが、1ブロック且つ1行でない場合には、グループが1列かを判定する。グループが1列でない場合には、ステップS110に戻る。グループが1列である場合には、グループが複数ブロックの構造かを判定する。グループが複数ブロックの構造でない場合には、ステップS110に戻る。グループが複数ブロックの構造である場合には、ステップS112に進む。 (S111) The structure of the extracted group is determined. A group is determined to be one block and one row. If the group is one block and one row, the process proceeds to step S114. If the group is not one block and one row, it is determined whether the group is one column. If the group is not one column, the process returns to step S110. If the group is one column, it is determined whether the group has a structure of a plurality of blocks. If the group is not a multi-block structure, the process returns to step S110. If the group has a structure of a plurality of blocks, the process proceeds to step S112.
(S112)そのグループを構成する罫線項目を抽出する。全罫線項目情報を参照したかを判定する。全罫線項目情報を参照した場合には、ステップS110に戻る。 (S112) The ruled line items constituting the group are extracted. It is determined whether all ruled line item information has been referenced. If all ruled line item information is referred to, the process returns to step S110.
(S113)そのグループにおいて、現参照罫線項目の次の罫線項目を順次抽出する。そして、現罫線項目と次の罫線項目の左側縦罫線番号を比較する。両罫線項目の左側縦罫線番号が一致する場合には、罫線項目間に入れ子情報(親子関係)を設定する。次に、現罫線項目と次の罫線項目の上側横罫線番号を比較する。両罫線項目の上側横罫線番号が一致する場合には、罫線項目間に入れ子情報(兄弟関係)を設定する。これにより、図21(B)に示す例の入れ子構造が検出される。そして、ステップS112に戻る。 (S113) In the group, the ruled line items next to the current reference ruled line item are sequentially extracted. Then, the left vertical ruled line number of the current ruled line item and the next ruled line item are compared. If the left vertical ruled line numbers of both ruled line items match, nesting information (parent-child relationship) is set between the ruled line items. Next, the upper horizontal ruled line number of the current ruled line item and the next ruled line item are compared. If the upper horizontal ruled line numbers of both ruled line items match, nesting information (sibling relationship) is set between the ruled line items. Thereby, the nested structure shown in FIG. 21B is detected. Then, the process returns to step S112.
(S114)グループが、1ブロック且つ1行である場合には、そのグループを構成する罫線項目を抽出する。全罫線項目情報を参照したかを判定する。全罫線項目情報を参照した場合には、ステップS110に戻る。 (S114) If the group is one block and one row, the ruled line items constituting the group are extracted. It is determined whether all ruled line item information has been referenced. If all ruled line item information is referred to, the process returns to step S110.
(S115)そのグループにおいて、現参照罫線項目の次の罫線項目を順次抽出する。そして、現罫線項目と次の罫線項目の上側横罫線番号を比較する。両罫線項目の上側横罫線番号が一致する場合には、罫線項目間に入れ子情報(親子関係)を設定する。次に、現罫線項目と次の罫線項目の左側縦罫線番号を比較する。両罫線項目の左側縦罫線番号が一致する場合には、罫線項目間に入れ子情報(兄弟関係)を設定する。これにより、図21(A)に示す例の入れ子構造が検出される。そして、ステップS114に戻る。 (S115) In the group, the ruled line items next to the current reference ruled line item are sequentially extracted. Then, the upper horizontal ruled line number of the current ruled line item and the next ruled line item are compared. When the upper horizontal ruled line numbers of both ruled line items match, nesting information (parent-child relationship) is set between the ruled line items. Next, the left vertical ruled line number of the current ruled line item and the next ruled line item are compared. If the left vertical ruled line numbers of both ruled line items match, nesting information (sibling relationship) is set between the ruled line items. Thereby, the nested structure shown in FIG. 21A is detected. Then, the process returns to step S114.
このようにして、帳票上の主表以外の箇所を、構造毎に入れ子構造解析処理を行う。図21(A)では、罫線項目1に対し、罫線項目2が親子の関係にある。罫線項目2に対し、罫線項目4が親子の関係にある。罫線項目3に対し、罫線項目5が親子の関係にある。罫線項目2に対し、罫線項目3が兄弟の関係にある。罫線項目4に対し、罫線項目5が兄弟の関係にある。図21(B)では、罫線項目1に対し、罫線項目2が親子の関係にある。罫線項目2に対し、罫線項目4が親子の関係にある。罫線項目3に対し、罫線項目5が親子の関係にある。罫線項目2に対し、罫線項目3が兄弟の関係にある。罫線項目4に対し、罫線項目5が兄弟の関係にある。
In this way, the structure other than the main table on the form is subjected to nested structure analysis processing for each structure. In FIG. 21A, ruled
図2の帳票例において、各テーブルを説明する。図75に示すように、罫線項目テーブル1104では、罫線項目1〜5に、入れ子フラグINFを設定される。罫線番号2、3に対しては、入れ子階層番号KNが「1」に設定され、罫線番号4、5に対しては、入れ子階層番号KNが「2」に設定される。子階層番号CRNは、罫線番号1に「2」が、設定され、罫線番号2に「4」が設定され、罫線番号3に「5」が設定される。罫線項目間リンク通し番号RLNは、罫線番号3と5に対し、「1」が設定される。
Each table will be described in the form example of FIG. As shown in FIG. 75, in the ruled line item table 1104, the nesting flag INF is set for the ruled
図75に示すように、論理行情報テーブル1102では、グループ1、ブロック1の論理行1に、論理列数「1」が設定される。図76に示すように、論理列情報テーブル1103では、論理列2、3が削除され、論理列番号1の罫線項目数が「5」に変更される。図76に示すように、ブロック情報テーブル1101では、グループ1、ブロック1の論理列数が「1」に変更される。
As shown in FIG. 75, in the logical row information table 1102, the number of logical columns “1” is set in the
このようにして、主表以外の部分の入れ子構造を解析する。 In this way, the nesting structure of the part other than the main table is analyzed.
(g)属性付与処理の説明
図77は、属性処理フロー図、図78は、属性付与後のテーブル説明図である。
(G) Description of attribute assigning process FIG. 77 is an attribute process flowchart, and FIG. 78 is an explanatory diagram of a table after attribute assignment.
(S120)グループ情報テーブル1100からグループ情報を抽出する。全グループ情報を抽出したかを判定する。全グループ情報を抽出した場合には、終了する。 (S120) Group information is extracted from the group information table 1100. It is determined whether all group information has been extracted. If all group information has been extracted, the process ends.
(S121)そのグループは、複数ブロックで構成されるかを判定する。複数ブロックで構成されていない場合には、ステップS120に戻る。 (S121) It is determined whether the group is composed of a plurality of blocks. If it is not composed of a plurality of blocks, the process returns to step S120.
(S122)グループ情報のブロック情報アドレスからブロック情報を抽出し、各ブロックにブロック属性BZを付与する。即ち、第1番目のブロックに、ヘッダブロック属性を付与し、第2番目のブロックに、ボディブロック属性を付与し、第3番目以降のブロックに、フッタブロック属性を付与する。そして、ステップS120に戻る。 (S122) Block information is extracted from the block information address of the group information, and a block attribute BZ is assigned to each block. That is, the header block attribute is assigned to the first block, the body block attribute is assigned to the second block, and the footer block attribute is assigned to the third and subsequent blocks. Then, the process returns to step S120.
このようにして、表構造部を構成するブロックに、属性を付与して、各ブロックに意味を持たせる。図78に示すように、ブロック情報テーブル1101において、グループ3の第1番目のブロック1に、ヘッダブロック属性「1」を付与し、第2番目のブロック2に、ボディブロック属性「2」を付与し、第3番目のブロック3に、フッタブロック属性「3」を付与する。
In this way, attributes are assigned to the blocks constituting the table structure section so that each block has a meaning. As shown in FIG. 78, in the block information table 1101, the header block attribute “1” is assigned to the
(h)見出しフラグ設定処理の説明
次に、見出しを構成する罫線項目に、見出しフラグを設定する見出しフラグ設定処理について、説明する。
(H) Description of Heading Flag Setting Process Next, the heading flag setting process for setting the heading flag for the ruled line items constituting the heading will be described.
図79は、フラグ設定処理フロー図、図80は、フラグ設定後のテーブル説明図である。 FIG. 79 is a flag setting process flow diagram, and FIG. 80 is an explanatory diagram of a table after flag setting.
(S130)グループ情報テーブル1100から、グループ情報を抽出する。全てのグループ情報を抽出したかを判定する。全てのグループ情報を抽出した場合には、終了する。 (S130) Group information is extracted from the group information table 1100. It is determined whether all group information has been extracted. If all group information has been extracted, the process ends.
(S131)グループ情報からアドレス指示されているブロック情報を抽出する。グループ内の全ブロック情報を抽出したかを判定する。グループ内の全ブロック情報を抽出した場合には、ステップS130に戻る。 (S131) The block information addressed is extracted from the group information. It is determined whether all block information in the group has been extracted. If all block information in the group has been extracted, the process returns to step S130.
(S132)抽出したブロックは、ヘッダブロックかを判定する。ヘッダブロックである場合には、当該ブロックの論理行情報を1レコードづつ抽出する。論理行内の罫線項目情報を1レコードづつ抽出して、見出しフラグをオンする。これにより、ヘッダブロックを構成する罫線項目全てに、見出しフラグを設定する。そして、ステップS131に戻る。 (S132) It is determined whether the extracted block is a header block. If it is a header block, the logical row information of the block is extracted one record at a time. The ruled line item information in the logical line is extracted for each record, and the heading flag is turned on. Thereby, a heading flag is set for all ruled line items constituting the header block. Then, the process returns to step S131.
(S133)抽出したブロックは、フッタブロックかを判定する。フッタブロックでない場合には、ステップS134に進む。フッタブロックである場合には、当該ブロックの論理行情報を1レコードづつ抽出する。論理行内の罫線項目情報を1レコードづつ抽出して、見出しフラグをオンする。これにより、フッタブロックを構成する罫線項目全てに、見出しフラグを設定する。そして、ステップS131に戻る。 (S133) It is determined whether the extracted block is a footer block. If it is not a footer block, the process proceeds to step S134. If it is a footer block, the logical row information of the block is extracted one record at a time. The ruled line item information in the logical line is extracted for each record, and the heading flag is turned on. As a result, the heading flag is set for all ruled line items constituting the footer block. Then, the process returns to step S131.
(S134)抽出したブロックは、ボディブロックかを判定する。ボディブロックでない場合には、ステップS131に戻る。ボディブロックである場合には、当該ブロックの先頭論理行情報を1レコードづつ抽出する。抽出した先頭論理行内の罫線項目情報を1レコードづつ抽出して、見出しフラグをオンする。これにより、ボディブロックの先頭論理行を構成する罫線項目全てに、見出しフラグを設定する。そして、該当ブロックの先頭論理列情報を抽出する。抽出した先頭論理列内の罫線項目情報を1レコードづつ抽出して、見出しフラグをオンする。これにより、先頭論理列の罫線項目に、見出しフラグを設定する。そして、ステップS131に戻る。 (S134) It is determined whether the extracted block is a body block. If it is not a body block, the process returns to step S131. If it is a body block, the first logical row information of the block is extracted for each record. The ruled line item information in the extracted first logical line is extracted for each record, and the heading flag is turned on. As a result, the heading flag is set for all ruled line items constituting the first logical line of the body block. Then, the top logical column information of the corresponding block is extracted. The ruled line item information in the extracted first logical column is extracted for each record, and the heading flag is turned on. As a result, the heading flag is set in the ruled line item of the first logical column. Then, the process returns to step S131.
この見出し部を抽出しておくと、使用される文字を制限でき、その文字(文言)に特化した文字認識処理を行うことができる。従って、高精度に見出し部分の文言を認識することができる。図80に示すように、罫線項目テーブル1102において、図79のルールに従い、見出しと推定される罫線項目に、見出しフラグMFが設定される。 If this headline is extracted, the characters used can be restricted, and character recognition processing specialized for the characters (words) can be performed. Therefore, it is possible to recognize the wording of the heading part with high accuracy. As shown in FIG. 80, in the ruled line item table 1102, a header flag MF is set for the ruled line item estimated to be a header in accordance with the rule of FIG.
(i)見出し部分の文字認識処理の説明
次に、見出しの種類を決定するため、見出しフラグが設定された罫線項目内に存在する文字列の文字認識を行う。
(I) Description of Character Recognition Process for Heading Part Next, in order to determine the type of the heading, character recognition is performed on a character string existing in the ruled line item in which the heading flag is set.
図81は、見出し認識処理フロー図、図82は、見出し認識後のテーブル説明図である。 FIG. 81 is a flowchart for headline recognition processing, and FIG. 82 is an explanatory diagram of a table after headline recognition.
(S140)グループ情報テーブル1100から、グループ情報を抽出する。全てのグループ情報を抽出したかを判定する。全てのグループ情報を抽出した場合には、終了する。 (S140) Group information is extracted from the group information table 1100. It is determined whether all group information has been extracted. If all group information has been extracted, the process ends.
(S141)グループ情報からアドレス指示されているブロック情報を抽出する。グループ内の全ブロック情報を抽出したかを判定する。グループ内の全ブロック情報を抽出した場合には、ステップS140に戻る。 (S141) Extract block information addressed from group information. It is determined whether all block information in the group has been extracted. If all block information in the group has been extracted, the process returns to step S140.
(S142)ブロック情報はボディブロックかを判定する。ボディブロックである場合には、データ部分のため、ステップS141に戻る。 (S142) It is determined whether the block information is a body block. If it is a body block, it returns to step S141 because it is a data portion.
(S143)ボディブロックでない場合には、見出し部分の可能性がある。このため、ブロック情報からアドレス指示されている論理行情報を抽出する。全ての論理行情報を抽出したかを判定する。全ての論理行を抽出した場合には、ステップS141に戻る。 (S143) If it is not a body block, there is a possibility of a heading part. For this reason, the logical row information addressed is extracted from the block information. It is determined whether all logical row information has been extracted. If all the logical lines have been extracted, the process returns to step S141.
(S144)論理行情報からアドレス指示されている罫線項目情報を抽出する。 (S144) The ruled line item information addressed is extracted from the logical line information.
(S145)そして、罫線項目情報の見出しフラグがオンかを判定する。見出しフラグがオンでない場合には、ステップS144に戻る。 (S145) Then, it is determined whether the header flag of the ruled line item information is on. If the heading flag is not on, the process returns to step S144.
(S146)罫線項目内の文字列データ部分のイメージを切り出す。そして、切り出したイメージを、見出し文言辞書1003(図25参照)を使用して、文字認識する。図25に示したように、見出し文言辞書1003は、見出しとして存在する文言(振込先等)と、そのイメージとが登録されたものである。従って、一般の文字認識辞書を使用した場合よりも高い精度での文字認識が可能となる。
(S146) The image of the character string data portion in the ruled line item is cut out. Then, the extracted image is recognized using the headline wording dictionary 1003 (see FIG. 25). As shown in FIG. 25, the
(S147)一致した辞書レコードの見出し名称を抽出する。見出しテーブル(図24参照)から見出し名称が一致するレコードを抽出する。即ち、認識結果から得られた見出し名称をキーとして、図24に示す見出しテーブルを参照する。図24に示したように、見出しテーブルには、見出し名称に対応する属性情報(文字認識カテゴリ、文字フォント等)が登録されている。そして、その見出し名称に一致するレコード(属性情報)を抽出する。そして、その罫線項目情報に、属性(文字認識カテゴリCC、文字フォントCF)を設定する。そして、ステップS144に戻る。 (S147) The heading name of the matched dictionary record is extracted. Records with matching heading names are extracted from the heading table (see FIG. 24). That is, the heading table shown in FIG. 24 is referred to using the heading name obtained from the recognition result as a key. As shown in FIG. 24, attribute information (character recognition category, character font, etc.) corresponding to the heading name is registered in the heading table. Then, a record (attribute information) matching the heading name is extracted. Then, attributes (character recognition category CC, character font CF) are set in the ruled line item information. Then, the process returns to step S144.
このようにして、見出し部分を、限定された文字認識辞書を用いて、文字認識する。図82に示すように、図2に示す帳票例1の場合に、罫線項目テーブル1104の見出しフラグがオンである罫線項目に、文字認識カテゴリCC、文字フォントCFが設定される。 In this way, the headline part is recognized using the limited character recognition dictionary. As shown in FIG. 82, in the case of the form example 1 shown in FIG. 2, the character recognition category CC and the character font CF are set to the ruled line item for which the header flag in the ruled line item table 1104 is on.
(j)データ部分の属性設定処理の説明
次に、データ部分の属性を決定するため、見出しフラグが設定されていない罫線項目の属性を決定する。
(J) Description of Data Part Attribute Setting Processing Next, in order to determine the data part attribute, the attribute of the ruled line item for which the heading flag is not set is determined.
図83は、属性設定処理フロー図、図84は、属性設定後のテーブル説明図である。 FIG. 83 is an attribute setting process flowchart, and FIG. 84 is an explanatory diagram of a table after attribute setting.
(S150)グループ情報テーブル1100から、グループ情報を抽出する。全てのグループ情報を抽出したかを判定する。全てのグループ情報を抽出した場合には、終了する。 (S150) Group information is extracted from the group information table 1100. It is determined whether all group information has been extracted. If all group information has been extracted, the process ends.
(S151)グループ情報からアドレス指示されているブロック情報を抽出する。グループ内の全ブロック情報を抽出したかを判定する。グループ内の全ブロック情報を抽出した場合には、ステップS150に戻る。 (S151) Extract block information addressed from group information. It is determined whether all block information in the group has been extracted. If all block information in the group has been extracted, the process returns to step S150.
(S152)ブロック情報からアドレス指示されている論理列情報を抽出する。全ての論理列情報を抽出したかを判定する。全ての論理列を抽出した場合には、ステップS151に戻る。 (S152) The logical column information addressed is extracted from the block information. It is determined whether all logical column information has been extracted. If all logical columns have been extracted, the process returns to step S151.
(S153)論理列情報からアドレス指示されている罫線項目情報を抽出する。そして、罫線項目情報の見出しフラグがオンかを判定する。見出しフラグがオンでない場合には、ステップS155に進む。 (S153) The ruled line item information addressed is extracted from the logical column information. Then, it is determined whether the header flag of the ruled line item information is on. If the heading flag is not on, the process proceeds to step S155.
(S154)見出しフラグがオンされている場合には、その罫線項目の文字認識カテゴリ、文字フォントを保存する。そして、ステップS153に戻る。 (S154) If the heading flag is on, the character recognition category and character font of the ruled line item are stored. Then, the process returns to step S153.
(S155)見出しフラグがオンでない場合には、データ部分の罫線項目である。罫線項目情報は、入れ子情報かを判定する。入れ子情報である場合には、ステップS156に進む。入れ子情報でない場合には、ステップS154で保存した文字認識カテゴリ、文字フォントを参照中の罫線項目に設定する。これにより、データ部分に、同一論理列の見出し部分の属性が設定される。そして、ステップS153に戻る。 (S155) If the heading flag is not on, it is a ruled line item of the data portion. It is determined whether the ruled line item information is nested information. If it is nested information, the process proceeds to step S156. If it is not nesting information, the character recognition category and character font saved in step S154 are set to the ruled line item being referred to. Thereby, the attribute of the heading part of the same logical column is set in the data part. Then, the process returns to step S153.
(S156)入れ子情報である場合には、参照中の罫線項目と同一レベル(階層番号リンク通し番号)の罫線項目から、ステップS154で保存した文字認識カテゴリ、文字フォントを参照中の罫線項目に設定する。そして、ステップS153に戻る。 (S156) If it is nested information, the character recognition category and the character font saved in step S154 are set to the ruled line item being referenced from the ruled line item at the same level (hierarchical number link serial number) as the ruled line item being referenced. . Then, the process returns to step S153.
このようにして、論理列を構成する罫線項目のうち、見出し以外の罫線項目に対して、文字認識カテゴリ、文字フォント等の認識特性を、見出しの罫線項目から複写する。図84に示すように、図2の帳票例の場合には、罫線項目情報テーブル1104のデータ部分の罫線項目3、5、7等に、同一論理列の罫線項目の文字認識カテゴリCC、文字フォントCFが設定される。このため、論理列情報により、データ部分のデータ名属性が決定される。
In this manner, the recognition characteristics such as the character recognition category and the character font are copied from the ruled line item of the heading for the ruled line items other than the heading among the ruled line items constituting the logical column. As shown in FIG. 84, in the case of the form example in FIG. 2, the character recognition category CC and the character font of the ruled line items in the same logical column are included in the ruled
(k)データ部分の文字認識処理の説明
次に、データ部分の文字を認識するため、見出しフラグが設定されていない罫線項目の文字認識を行う。
(K) Description of Character Recognition Process for Data Part Next, in order to recognize the character of the data part, the character recognition is performed for the ruled line item for which the heading flag is not set.
図85は、文字認識処理フロー図、図86は、文字認識結果の説明図である。 FIG. 85 is a character recognition processing flowchart, and FIG. 86 is an explanatory diagram of a character recognition result.
(S160)図86に示す文字認識結果通知領域管理部1200をメモリに設定する。管理部1200は、認識結果見出し数と、認識結果見出し領域アドレスとからなる。 (S160) The character recognition result notification area management unit 1200 shown in FIG. 86 is set in the memory. The management unit 1200 includes a recognition result heading number and a recognition result heading area address.
(S161)グループ情報テーブル1100から、グループ情報を抽出する。全てのグループ情報を抽出したかを判定する。全てのグループ情報を抽出した場合には、終了する。 (S161) Group information is extracted from the group information table 1100. It is determined whether all group information has been extracted. If all group information has been extracted, the process ends.
(S162)グループ情報からアドレス指示されているブロック情報を抽出する。グループ内の全ブロック情報を抽出したかを判定する。グループ内の全ブロック情報を抽出した場合には、ステップS161に戻る。 (S162) Extract block information addressed from group information. It is determined whether all block information in the group has been extracted. If all block information in the group has been extracted, the process returns to step S161.
(S163)ブロック情報からアドレス指示されている論理列情報を抽出する。全ての論理列情報を抽出したかを判定する。全ての論理列を抽出した場合には、ステップS162に戻る。 (S163) The logical column information addressed is extracted from the block information. It is determined whether all logical column information has been extracted. If all logical columns have been extracted, the process returns to step S162.
(S164)論理列情報からアドレス指示されている罫線項目情報を抽出する。 (S164) The ruled line item information addressed is extracted from the logical column information.
(S165)罫線項目情報の見出しフラグがオンかを判定する。見出しフラグがオンである場合には、ステップS164に戻る。 (S165) It is determined whether the header flag of the ruled line item information is on. If the heading flag is on, the process returns to step S164.
(S166)見出しフラグがオンでない場合には、その罫線項目内に存在する文字列を、一般の文字認識辞書1004(図1参照)を使用して、文字認識する。この時、文字認識辞書1004は、漢字、数字等の各認識カテゴリに対し、別々に設けられている。従って、前述したデータ部分の認識属性に従い、一般辞書から認識辞書を選択して、文字認識する。このため、データ部分も高い精度で文字認識できる。
(S166) If the heading flag is not on, the character string existing in the ruled line item is recognized using the general character recognition dictionary 1004 (see FIG. 1). At this time, the
更に、図86に示す認識結果見出し領域1201を設定する。領域1201は、見出し名称と、認識結果データ数、認識結果レコード長、認識結果データアドレスから成る。そして、認識結果データ領域1202を設定する。即ち、認識結果データアドレスの示す領域に、認識結果を設定する。 Further, a recognition result heading area 1201 shown in FIG. 86 is set. An area 1201 includes a heading name, the number of recognition result data, a recognition result record length, and a recognition result data address. Then, the recognition result data area 1202 is set. That is, the recognition result is set in the area indicated by the recognition result data address.
このようにして、得られた認識結果を認識結果通知領域に設定する。これにより、データ部分のデータ名称、データ数、文字認識結果が得られる。 In this way, the obtained recognition result is set in the recognition result notification area. Thereby, the data name of the data part, the number of data, and the character recognition result are obtained.
このようにして、各罫線項目の行と列の関係を判定し、見出し部とそれに対応するデータ部とに分類する。そして、見出し部分を見出し認識辞書を用いて文字認識して、見出し名称を得る。論理列の構造の関係から見出し部分に対応したデータ部分のデータ名称が判明する。このため、帳票の各項目のフォーマットを予め定義しておく必要がない。 In this way, the relation between the row and the column of each ruled line item is determined, and classified into a heading part and a data part corresponding thereto. Then, the heading part is character-recognized using a heading recognition dictionary to obtain a heading name. The data name of the data part corresponding to the heading part is found from the relationship of the structure of the logical column. For this reason, it is not necessary to previously define the format of each item of the form.
更に、見出し名称から認識属性を見出しテーブルにより得る。これに従い、データ部分を文字認識する。このため、帳票の表構造を解析することができ、データ部分の文字認識結果を精度を高めることができる。 Furthermore, the recognition attribute is obtained from the heading name by the heading table. Accordingly, the data portion is recognized as characters. For this reason, the table structure of the form can be analyzed, and the accuracy of character recognition results in the data portion can be improved.
上述の実施の形態では、各帳票の記入又は印刷文字として、漢字、英字、数字を例に説明したが、数字又は英字のみであって良い。又、罫線項目の属性として、そのデータ名称、文字認識カテゴリ、文字フォントを検出しているが、データ名称のみであっても良い。 In the above-described embodiment, the kanji, alphabetic characters, and numerals have been described as examples of entry or print characters for each form. However, only numeric characters or alphabetic characters may be used. Further, the data name, character recognition category, and character font are detected as the attributes of the ruled line item, but only the data name may be used.
以上、本発明の実施の形態により説明したが、本発明の主旨の範囲内で種々の変形が可能であり、これらを本発明の範囲から排除するものではない。 Although the embodiments of the present invention have been described above, various modifications are possible within the scope of the present invention, and these are not excluded from the scope of the present invention.
以上説明したように、本発明によれば、次の効果を奏する。 As described above, the present invention has the following effects.
(1) 帳票の罫線項目の並びを検出して、帳票の表構造を自動解析するため、帳票のフォーマットを登録する手間を省くことができる。 (1) Since the arrangement of ruled line items in a form is detected and the table structure of the form is automatically analyzed, the trouble of registering the form format can be saved.
(2) 帳票のフォーマットが自動登録されるので、フォーマットを変更しても、再登録の手間を省くことができる。 (2) Since the form format is automatically registered, it is possible to save re-registration even if the format is changed.
1000 リーダー
1001 プロセッサ
1002 メモリ
1003 見出し辞書
1004 一般辞書
1005 罫線抽出部
1006 表構造解析部
1007 属性決定部
1008 文字認識部
1000
Claims (2)
前記帳票のイメージから前記帳票の縦罫線及び横罫線で構成される最小矩形を抽出するステップと、
前記最小矩形の前記帳票の行方向の接続関係から、表の各行を構成する論理行に分類するステップと、
前記連続して、且つ同じ行構造を持つ前記論理行を、1つのブロックにまとめるステップと、
前記表の上下に接続する前記ブロック間で、同じ列構造を持つブロックの関係を抽出し、前記同一の列構造を持つブロックを、論理列の単位で、まとめるステップと、
前記論理行、前記ブロック、前記論理列に解析された表構造から、属する行数が最大である前記ブロックをボデイ部分として決定し、そのブロックの上及び下に位置するブロックを、ヘッダ部、フッタ部として決定するステップと、
前記ヘッダ部の論理行を、見出し部分とし、前記見出し部分の文字を、前記論理列単位で、文字認識して、前記論理列単位の見出し部分の属性を決定するステップと、
前記論理列単位の見出し部分の属性から、前記ボデイ部分の前記論理列における前記最小矩形の属性を決定するステップとを有する
ことを特徴とする帳票認識方法。 In the form recognition method to recognize the table structure of the form,
Extracting a minimum rectangle composed of vertical and horizontal ruled lines of the form from the image of the form;
Classifying into logical rows constituting each row of the table from the connection relation in the row direction of the form of the minimum rectangle;
Combining the logical rows having the same and the same row structure into one block;
Extracting a relationship of blocks having the same column structure between the blocks connected above and below the table, and combining the blocks having the same column structure in units of logical columns;
From the table structure analyzed into the logical row, the block, and the logical column, the block having the largest number of rows is determined as a body portion, and blocks located above and below the block are defined as a header portion, a footer. A step of determining as a part;
The logical line of the header part is a heading part, the character of the heading part is character-recognized in units of the logical column, and the attribute of the heading part of the logical column unit is determined.
And determining the attribute of the minimum rectangle in the logical column of the body part from the attribute of the heading part in units of the logical column.
前記帳票の見出し部分の文言とイメージデータを格納する見出し辞書と、一般辞書とを格納するメモリと、
前記帳票のイメージから前記帳票の縦罫線及び横罫線で構成される最小矩形を抽出し、前記帳票上の前記最小矩形の物理的並びから前記帳票の表構造を解析し、前記解析した表構造から前記最小矩形の属性を決定する処理ユニットとを有し、
前記処理ユニットは、
前記最小矩形の前記帳票の行方向の接続関係から、表の各行を構成する論理行に分類し、前記連続して、且つ同じ行構造を持つ前記論理行を、1つのブロックにまとめ、前記表の上下に接続する前記ブロック間で、同じ列構造を持つブロックの関係を抽出し、前記同一の列構造を持つブロックを、論理列の単位で、まとめ、
前記論理行、前記ブロック、前記論理列に解析された表構造から、属する行数が最大である前記ブロックをボデイ部分として決定し、そのブロックの上及び下に位置するブロックを、ヘッダ部、フッタ部として決定し、前記ヘッダ部の論理行を、見出し部分とし、前記見出し部分の文字を、前記見出し辞書を用いて、前記論理列単位で、文字認識して、前記論理列単位の見出し部分の属性を決定する
ことを特徴とする帳票処理装置。 A reader that reads the image of the form,
A memory for storing a heading dictionary for storing the wording and image data of the heading part of the form, and a general dictionary;
Extract a minimum rectangle composed of vertical and horizontal ruled lines of the form from the image of the form, analyze the table structure of the form from the physical arrangement of the minimum rectangles on the form, and from the analyzed table structure A processing unit for determining an attribute of the minimum rectangle,
The processing unit is
From the connection relation in the row direction of the form of the smallest rectangle, it is classified into logical rows constituting each row of the table, the logical rows having the same and the same row structure are grouped into one block, and the table The relationship between the blocks having the same column structure is extracted between the blocks connected above and below, and the blocks having the same column structure are grouped in units of logical columns,
From the table structure analyzed into the logical row, the block, and the logical column, the block having the largest number of rows is determined as a body portion, and blocks located above and below the block are defined as a header portion, a footer. A logical line of the header part is used as a heading part, and characters of the heading part are recognized in units of the logical column using the heading dictionary, and the heading part of the logical column unit is recognized. A form processing apparatus characterized by determining an attribute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009284133A JP4856235B2 (en) | 2009-12-15 | 2009-12-15 | Form recognition method and form recognition apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009284133A JP4856235B2 (en) | 2009-12-15 | 2009-12-15 | Form recognition method and form recognition apparatus |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14915499A Division JP4450888B2 (en) | 1999-05-28 | 1999-05-28 | Form recognition method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010061693A true JP2010061693A (en) | 2010-03-18 |
JP4856235B2 JP4856235B2 (en) | 2012-01-18 |
Family
ID=42188338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009284133A Expired - Lifetime JP4856235B2 (en) | 2009-12-15 | 2009-12-15 | Form recognition method and form recognition apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4856235B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710882A (en) * | 2011-03-28 | 2012-10-03 | 富士施乐株式会社 | Image processing apparatus, image processing method, and program |
JP2013020477A (en) * | 2011-07-12 | 2013-01-31 | Fuji Xerox Co Ltd | Image processing apparatus and program |
WO2014061081A1 (en) * | 2012-10-15 | 2014-04-24 | 富士通株式会社 | Form creation assistance device, form creation assistance method, and form creation assistance program |
US10650231B2 (en) | 2017-04-11 | 2020-05-12 | Ping An Technology (Shenzhen) Co., Ltd. | Method, device and server for recognizing characters of claim document, and storage medium |
JP7458600B2 (en) | 2020-05-12 | 2024-04-01 | 株式会社ミラボ | Information processing device and program |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03179570A (en) * | 1989-07-10 | 1991-08-05 | Hitachi Ltd | Document processing system and automatic program generating method |
JPH0423185A (en) * | 1990-05-18 | 1992-01-27 | Fuji Facom Corp | Table reader provided with automatic cell attribution deciding function |
JPH08329187A (en) * | 1995-06-06 | 1996-12-13 | Oki Electric Ind Co Ltd | Document reader |
WO1997005561A1 (en) * | 1995-07-31 | 1997-02-13 | Fujitsu Limited | Medium processor and medium processing method |
-
2009
- 2009-12-15 JP JP2009284133A patent/JP4856235B2/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03179570A (en) * | 1989-07-10 | 1991-08-05 | Hitachi Ltd | Document processing system and automatic program generating method |
JPH0423185A (en) * | 1990-05-18 | 1992-01-27 | Fuji Facom Corp | Table reader provided with automatic cell attribution deciding function |
JPH08329187A (en) * | 1995-06-06 | 1996-12-13 | Oki Electric Ind Co Ltd | Document reader |
WO1997005561A1 (en) * | 1995-07-31 | 1997-02-13 | Fujitsu Limited | Medium processor and medium processing method |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710882A (en) * | 2011-03-28 | 2012-10-03 | 富士施乐株式会社 | Image processing apparatus, image processing method, and program |
JP2012203784A (en) * | 2011-03-28 | 2012-10-22 | Fuji Xerox Co Ltd | Image processing apparatus and program |
JP2013020477A (en) * | 2011-07-12 | 2013-01-31 | Fuji Xerox Co Ltd | Image processing apparatus and program |
WO2014061081A1 (en) * | 2012-10-15 | 2014-04-24 | 富士通株式会社 | Form creation assistance device, form creation assistance method, and form creation assistance program |
US10650231B2 (en) | 2017-04-11 | 2020-05-12 | Ping An Technology (Shenzhen) Co., Ltd. | Method, device and server for recognizing characters of claim document, and storage medium |
JP7458600B2 (en) | 2020-05-12 | 2024-04-01 | 株式会社ミラボ | Information processing device and program |
Also Published As
Publication number | Publication date |
---|---|
JP4856235B2 (en) | 2012-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5907631A (en) | Document image processing method and system having function of determining body text region reading order | |
EP0854434B1 (en) | Ruled line extracting apparatus for extracting ruled line from normal document image and method thereof | |
JP2588491B2 (en) | Image cropping apparatus and method | |
JP4856235B2 (en) | Form recognition method and form recognition apparatus | |
JPS61267177A (en) | Retrieving system for document picture information | |
JP4450888B2 (en) | Form recognition method | |
US10762377B2 (en) | Floating form processing based on topological structures of documents | |
US7680329B2 (en) | Character recognition apparatus and character recognition method | |
JP5380040B2 (en) | Document processing device | |
JP2006338578A (en) | Character recognition apparatus | |
JP3411472B2 (en) | Pattern extraction device | |
Mitchell et al. | Newspaper document analysis featuring connected line segmentation | |
JP2012190434A (en) | Form defining device, form defining method, program and recording medium | |
JP3837193B2 (en) | Character line extraction method and apparatus | |
JP4521466B2 (en) | Form processing device | |
KR100834602B1 (en) | Character recognition apparatus and character recognition method | |
CN112766269A (en) | Picture text retrieval method, intelligent terminal and storage medium | |
CN116229497A (en) | Layout text recognition method and device and electronic equipment | |
JP4521377B2 (en) | Form processing apparatus, program for executing the apparatus, and form format creation program | |
JP3269918B2 (en) | How to set reading order of text area | |
US20240362197A1 (en) | Automated transformation of information from images to textual representations, and applications therefor | |
JPH10198761A (en) | Character recognizing method and device therefor | |
JP2022184331A (en) | Ledger sheet particular field recognizing method and particular field reading device | |
JPH11203406A (en) | Character segmenting method, character recognizing method, character recognition device, and recording medium | |
CN117116409A (en) | Test report structured recognition method based on deep learning and automatic error correction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110609 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110614 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110811 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111025 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111027 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141104 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |