(57)【要約】【課題】自動レイアウト解析を利用した帳票書式情報作成における作業効率の改善。【解決手段】帳票画像に対してレイアウト解析を行い，解析結果に誤りがあればユーザによる修正を受け付け，その修正情報を修正履歴データとして保持する。ユーザによって設定などを変更した後にレイアウト解析を再試行した場合，レイアウト解析結果に修正履歴を反映することにより，ユーザによって修正された個所は保持され，それ以外の部分は改善されたレイアウト解析結果に更新できる。【選択図】  図５
2005056010.tif 000002
【特許請求の範囲】
【請求項１】
帳票画像のレイアウト解析を行う帳票レイアウト解析装置であって、
入力された帳票画像データを格納する記憶装置と、
上記記憶された帳票画像データについて罫線または枠を抽出するレイアウト解析処理を行って第１のレイアウト解析情報を生成するＣＰＵと、
上記生成された第１のレイアウト解析情報に基づいて第１のレイアウト解析結果を表示する表示装置と、
上記第１のレイアウト解析情報について、上記抽出された罫線又は枠の情報を修正するの修正操作の入力を受ける入力装置とを有し、
上記ＣＰＵは、上記入力された修正操作に基づいて上記第１のレイアウト解析情報を修正し、該修正の修正履歴情報を上記記憶装置に格納し、上記入力装置より入力されるレイアウト解析の再試行操作に応答して上記帳票画像データについてレイアウト解析処理を行って第２のレイアウト解析情報を生成し、上記格納された修正履歴情報に基づいて上記第２のレイアウト解析情報を修正し、
上記表示装置は、該修正された第２のレイアウト解析情報に基づいて第２のレイアウト解析結果を表示することを特徴とする帳票レイアウト解析装置。
【請求項２】
請求項１記載の帳票レイアウト解析装置であって、
上記レイアウト解析処理は、罫線または枠を抽出する際の閾値となるパラメータを用いて上記帳票画像データから罫線または枠を抽出する処理であり、
上記入力装置は、上記パラメータを指定する入力を受け付け、
上記ＣＰＵは、上記入力されたパラメータを用いてレイアウト解析処理を行って上記第２のレイアウト解析情報を生成することを特徴とする帳票レイアウト解析装置。
【請求項３】
請求項１記載の帳票レイアウト解析装置であって、
上記入力装置は、上記第１のレイアウト解析情報の生成後に、上記帳票画像データ上の一部である第１の領域を選択する入力を受け付け、
上記ＣＰＵは、上記帳票画像データ上の上記選択された第１の領域についてレイアウト解析を行って第３のレイアウト解析情報を生成し、上記選択された第１の領域以外についての上記第１のレイアウト解析情報と上記第３のレイアウト解析情報とを合成して上記第２のレイアウト解析情報を生成することを特徴とする帳票レイアウト解析装置。
【請求項４】
請求項３記載の帳票レイアウト解析装置であって、
上記ＣＰＵは、上記第２のレイアウト解析情報を修正する際に、上記記憶装置に格納されている修正履歴情報のうち上記選択された第１の領域に関連する修正履歴を選択し、該選択した修正履歴に基づいて上記第２のレイアウト解析情報を修正することを特徴とする帳票レイアウト解析装置。
【請求項５】
請求項１記載の帳票レイアウト解析装置であって、
上記入力装置は、上記第１のレイアウト解析情報の生成後に、上記帳票画像データ上の一部である第２の領域を選択する入力を受け付け、
上記ＣＰＵは、上記帳票画像データ上の上記選択された第２の領域以外の領域についてレイアウト解析を行って第４のレイアウト解析情報を生成し、上記選択された第２の領域についての上記第１のレイアウト解析情報と上記第４のレイアウト解析情報とを合成して上記第２のレイアウト解析情報を生成することを特徴とする帳票レイアウト解析装置。
【請求項６】
請求項５記載の帳票レイアウト解析装置であって、
上記ＣＰＵは、上記記憶装置に格納されている修正履歴情報のうち上記選択された第２の領域に関連する修正履歴を選択し、該選択された修正履歴を無効化することを特徴とする帳票レイアウト解析装置。
【請求項７】
請求項１記載の帳票レイアウト解析装置であって、
上記修正履歴情報は、上記修正操作の対象である罫線または枠を特定するためのオブジェクト情報と、該オブジェクト情報に対応する修正操作の内容を示す修正情報とを含み、複数の上記修正操作の入力を受けた場合には、該複数の修正操作についての上記オブジェクト情報と上記修正情報とを累積的に蓄積するものであることを特徴とする帳票レイアウト解析装置。
【請求項８】
入力された帳票画像データを記憶する記憶装置と、該記憶された帳票画像データについて罫線または枠を抽出するレイアウト解析処理を行って第１のレイアウト解析情報を生成し、上記第１のレイアウト解析情報を上記記憶装置に記憶し、上記第１のレイアウト解析情報に対応する第１の表示情報を表示装置に表示させ、該第１の表示情報の罫線または枠について修正が入力された場合に該修正に基づいて上記第１のレイアウト解析情報を変更するＣＰＵとを具備する帳票レイアウト解析装置のＣＰＵに、
上記入力された修正についての修正情報を上記記憶装置に記憶させるステップと、
上記帳票画像データについてのレイアウト解析処理の再試行の指示が入力された場合に、
上記帳票データについてレイアウト解析処理を行って第２のレイアウト解析情報を生成するステップと、上記記憶装置に記憶された修正情報に基づいて上記第２のレイアウト解析情報を変更するステップとを実行させるための帳票レイアウト解析プログラム。
【請求項９】
請求項８記載の帳票レイアウト解析プログラムであって、
上記レイアウト解析処理は、罫線または枠を抽出する際の閾値となるパラメータを用いて上記帳票画像データから罫線または枠を抽出する処理であり、
上記第２のレイアウト解析情報を生成するステップでは、上記第１のレイアウト解析情報の生成後に入力される上記パラメータを用いることを特徴とする帳票レイアウト解析プログラム。
【請求項１０】
請求項８記載の帳票レイアウト解析プログラムであって、
上記第２のレイアウト解析情報は、上記第１のレイアウト解析情報を生成するステップの後に選択入力される上記帳票画像データの一部である第１の領域について生成される第３のレイアウト解析情報と、上記第１の領域以外の領域についての上記第１のレイアウト解析情報とを合成して生成されることを特徴とする帳票レイアウト解析プログラム。
【請求項１１】
請求項１０記載の帳票レイアウト解析プログラムであって、
上記第２のレイアウト解析情報を変更するステップは、上記記憶装置に格納されている修正履歴情報のうち上記第１の領域に関連する修正履歴を選択するステップと、該選択した修正履歴に基づいて上記第２のレイアウト解析情報を修正するステップとを有することを特徴とする帳票レイアウト解析プログラム。
【請求項１２】
請求項８記載の帳票レイアウト解析プログラムであって、
上記第２のレイアウト解析情報は、上記第１のレイアウト解析情報を生成するステップの後に選択入力される上記帳票画像データの一部である第２の領域以外の領域について生成される第４のレイアウト解析情報と、上記第２の領域についての上記第１のレイアウト解析情報とを合成して生成されることを特徴とする帳票レイアウト解析プログラム。
【請求項１３】
請求項１２記載の帳票レイアウト解析プログラムであって、
上記記憶装置に格納されている修正履歴情報のうち上記選択された第２の領域に関連する修正履歴を選択し、該選択された修正履歴を無効化することを特徴とする帳票レイアウト解析プログラム。
【請求項１４】
請求項８記載の帳票レイアウト解析プログラムであって、
上記修正履歴情報は、上記修正操作の対象である罫線または枠を特定するためのオブジェクト情報と、該オブジェクト情報に対応する修正操作の内容を示す修正情報とを含み、複数の上記修正操作の入力を受けた場合には、該複数の修正操作についての上記オブジェクト情報と上記修正情報とを累積的に蓄積するものであることを特徴とする帳票レイアウト解析プログラム。
【請求項１５】
帳票画像データを格納する記憶装置と、上記記憶された帳票画像データについて罫線または枠を抽出するレイアウト解析処理を行ってレイアウト解析情報を生成するＣＰＵと、上記生成されたレイアウト解析情報に基づいてレイアウト解析結果を表示する表示装置と、上記レイアウト解析情報に含まれる罫線または枠の情報に対する修正操作の入力を受け付ける入力装置とを有する帳票レイアウト解析装置を用いて行われる帳票レイアウト解析方法であって、
罫線または枠を抽出するための第１のパラメータを用いて上記帳票画像データについてレイアウト解析処理を行って第１のレイアウト解析情報を生成し、
上記第１のレイアウト解析情報に基づいて第１のレイアウト解析結果を表示し、
上記第１のレイアウト解析情報について、上記抽出されたけ緯線または枠の情報を修正する修正操作の入力を受け付け、
上記入力された修正操作に基づいて上記第１のレイアウト解析情報を修正し、
上記入力された修正操作の修正履歴情報を上記記憶装置に格納し、
レイアウト解析の再試行操作の入力を受け付け、
第２のパラメータを用いて上記帳票画像データについてレイアウト解析を行って第２のレイアウト解析情報を生成し、
上記格納された修正履歴情報に基づいて上記第２のレイアウト解析情報を修正し、
上記修正された第２のレイアウト解析情報に基づいて第２のレイアウト解析結果を表示することを特徴とする帳票レイアウト解析方法。
【請求項１６】
請求項１５記載の帳票レイアウト解析方法であって、上記第１のパラメータと上記第２のパラメータとは異なることを特徴とする帳票レイアウト解析方法。
【請求項１７】
請求項１５記載の帳票レイアウト解析方法であって、
上記帳票画像データの一部である第１の領域を選択する入力を受け付け、
上記選択された第１の領域についてレイアウト解析を行って第３のレイアウト解析情報を生成し、上記選択された第１の領域以外に付いての上記第１のレイアウト解析情報と上記第３のレイアウト解析情報とを合成して上記第２のレイアウト解析情報を生成することを特徴とする帳票レイアウト解析方法。
【請求項１８】
請求項１７記載の帳票レイアウト解析方法であって、
上記第２のレイアウト解析情報を修正する際には、上記記憶装置に格納されている修正履歴情報のうち上記選択された第１の領域に関連する修正履歴を選択し、該選択した修正履歴に基づいて上記第２のレイアウト解析情報を修正することを特徴とする帳票レイアウト解析方法。
【請求項１９】
請求項１５記載の帳票レイアウト解析方法であって、
上記帳票画像データの一部である第２の領域を選択する入力を受け、
上記帳票画像データ上の上記選択された第２の領域以外の領域についてレイアウト解析を行って第４のレイアウト解析情報を生成し、上記選択された第２の領域についての上記第１のレイアウト解析情報と上記第４のレイアウト解析情報とを合成して上記第２のレイアウト解析情報を生成することを特徴とする帳票レイアウト解析方法。
【請求項２０】
請求項１９記載の帳票レイアウト解析方法であって、
上記記憶装置に格納されている修正履歴情報のうち上記選択された第２の領域に関連する修正履歴を選択し、該選択された修正履歴を無効化することを特徴とする帳票レイアウト解析方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，光学式文字読取装置（ＯＣＲ）や帳票処理装置，およびそのプログラムに関する。特に，帳票上に記入された文字の位置を定義する帳票書式情報作成装置とそのプログラム，さらに，その書式情報を用いて帳票を認識する帳票処理装置に関する。
【０００２】
【従来の技術】
まず，本発明で用いる語句である，帳票の「書式情報」を以下のように定義する。書式情報とは，帳票上の文字の読取りや位置検出のために，文字やチェックマークなどが記載される枠や領域を定義している情報である。書式情報には，座標情報だけでなく，その領域の読取項目名や文字の種類などの属性を含んでもよい。
【０００３】
従来，帳票書式情報では帳票上の文字や文字列の位置を厳密に規定していた。したがって，実際の帳票から帳票書式情報を作成する作業は，利用者にとって非常に負担の大きい作業であった。そこで，この作業を半自動化することを目的として，特開２００１−１２６０２５号公報（特許文献１）が提案されている。
特許文献１の方式では，スキャナ入力した帳票画像のレイアウトを解析して枠罫線を自動的に検出することができる。ユーザは検出された枠の中から，読取対象の枠を選択することにより，読取枠の位置座標を取得することができる。なお，読取対象の文字もしくは文字列が枠内に記載されるとき，この枠を「読取り枠」，読取り枠を構成する罫線を「枠罫線」と呼ぶことにする。
【０００４】
【特許文献１】特開２００１−１２６０２５号公報
【特許文献２】特開平１１−２３２３８２号公報
【特許文献３】特開平１１−０５３４６６号公報
【発明が解決しようとする課題】
本発明が解決しようとする課題は，従来例より作業効率の良い帳票書式情報作成装置を提供することである。
【０００５】
従来例に示す帳票書式情報作成プログラムの問題点は，レイアウト解析を誤った読取枠は，手作業で定義しなければならないことである。したがって，レイアウト解析に失敗する読取り枠が多いほど，手作業の定義が増えることになる。
【０００６】
この手作業の例としては，ディスプレイに表示された帳票画像上にマウスなどを用いて検出された罫線の位置を修正したり，罫線を追加したり，削除するなどして読取枠領域を指定もしくは修正することである。
【０００７】
以下，帳票書式情報作成におけるレイアウト解析の失敗に伴う問題点について説明する。
一般に，罫線抽出などのレイアウト解析のパラメータは固定の値であり，パラメータ値が対応していない読取り枠を検出することはできない。例えば，抽出可能な枠罫線の長さの最小値よりも一辺の長さが短い小さな枠は抽出できない。
【０００８】
さらに，帳票書式情報を作成するための入力画像の画質が低い場合も，レイアウト解析に失敗する頻度が高くなるため手作業が増える。入力画像は高品質かつ未記入の帳票画像を利用することが理想である。しかし，必ずしも未使用の帳票を入手できるとは限らないため，記入済み帳票や，かすれやノイズが存在するなどの低画質な帳票を利用して帳票書式情報を作成しなければならない場合が多い。この場合，レイアウト解析において記入文字やノイズを枠罫線として誤検出したり，かすれによって枠罫線の端点を誤るという誤抽出が発生する。枠罫線の誤抽出により読取枠領域を正しく抽出できない場合，不要な線分の削除や，誤った端点の修正などの手作業が発生する。
別の問題点としては，帳票画像に対してレイアウト解析は一度限りであり，誤抽出が多くても，そのまま作業を続けなければならないことである。帳票定義作業では，一般に一枚あたり複数の読取り枠を定義することが多い。この場合，読取り枠の定義作業は，帳票の部分画像を表示しながら表示領域内の読取り枠の定義を繰り返すことになる。帳票画像に部分的に小枠が多かったりノイズが多い場合，一部の領域のみ読取り枠の誤抽出率が高い場合がある。例えば，１帳票あたり１００程度の読取領域を定義する場合，６０個まで定義したのち，６１個目から１００個目の読取領域が小枠で抽出できていなかった場合，残りの４０個は全て手作業で定義する必要がある。
【０００９】
【課題を解決するための手段】
上記課題を解決するために本願において開示する代表的な発明の概要は以下の通りである。帳票書式を定義するプログラムであって，帳票画像に対してレイアウト解析ステップと、  上記レイアウト解析処理の結果を表示画面に表示するステップと、上記表示される結果に対して入力された修正操作を記憶部に記憶するステップと、上記帳票画像についてのレイアウト解析処理の再試行が設定された場合に再試行をするステップと、上記記憶される修正操作の情報を該再試行解析処理に反映させるステップを有する，帳票レイアウト解析方法をコンピュータに実行させるためのプログラム。
【００１０】
【発明の実施の形態】
具体的な処理の内容を説明する前に，本発明の基本方針と効果について説明する。
本発明の第一の特徴は，前述の課題を解決するために，帳票書式情報の定義作業の途中で条件を変えてレイアウト解析を再試行することである。しかし，一般に，レイアウト解析を再試行した場合，それまでの作業者の修正内容は破棄されるため，定義作業は最初からやり直しになる。そこで，第二の特徴は，作業者が定義作業のために読取り枠や枠罫線を追加，削除，修正した「修正履歴情報」を保持することである。さらに第三の特徴は，レイアウト解析の再試行結果と修正履歴情報とを照合することである。この結果，作業者の手作業情報を保持したまま，それ以外の部分は新たなレイアウト解析結果に更新できる。
この発明のメリットは，修正履歴情報を利用することにより，それまでユーザが手作業で修正してきた内容は保存されるため，何度でもレイアウト解析の再実行を行なうことができることである。具体的には，１帳票あたり多数の読取り枠を定義する場合，作業途中で誤抽出が多い領域が見つかっても，パラメータの値などを変更してレイアウト解析を再試行することにより，それまでの作業内容を保存したまま，その部分領域に適切な読取り枠抽出を実行することができる。
【００１１】
この修正履歴情報を利用したレイアウト解析の再試行の概略について図２を用いて説明する。
図２の（ａ）初期状態の枠（２００）は，枠と罫線のレイアウト解析結果の例である。（ｂ）の修正の例では，罫線２０２の抽出結果に誤りがあったために，作業者が２２２の位置へ修正した後の例である。この結果，枠２０６は２２４へ領域が変更となり，枠２０８は２２６へ変更となる。この状態でレイアウト解析を再試行した場合，画像上では罫線２０２が存在し，２２２は存在しないため，枠領域も元の位置に戻ってしまうため，作業者による罫線の変更が破棄されてしまう。これに対処するため，修正履歴として罫線２０２は削除済みであり，罫線２２２が追加されたという情報を格納しておく。再試行で得られたレイアウト解析結果から罫線２０２の情報を削除し，罫線２２２の情報を追加すると，作業者の変更を保持したまま，レイアウト解析結果を更新することができる。
【００１２】
同様に，（ｃ）の追加の例では，２４２の位置に存在すべき罫線が検出されなかったために，ユーザが罫線２４２を追加することにより，枠領域２０８を２４４と２４６の２つに分割した例である。この場合も，罫線２４２の追加情報を保持することにより，枠２０８を枠２４４と枠２４６に分割する。この状態でレイアウト解析を再試行した場合，画像上では罫線２４２が存在しないため，作業者による罫線の追加が破棄されてしまう。これに対しても，（ｂ）と同様に修正履歴を保持し，新たなレイアウト解析結果に罫線２４２を追加することにより対応することができる。
【００１３】
（ｄ）の削除の例では，罫線２０６が本来は無い罫線であるため作業者が削除することにより，枠２０８と枠２１０の領域を統合して枠２６２を追加する。これに対しても，（ｂ）と同様に修正履歴を保持し，新たなレイアウト解析結果から罫線２０６を削除することにより対応することができる。
【００１４】
以下，図に示す実施例により本発明をさらに詳細に説明する。なお，これにより本発明が限定されるものではない。
【００１５】
図１は，本発明の一実施例である帳票書式情報作成装置のハードウェア構成の一例である。図１において，１０はコマンドやコードデータなどを入力するための入力装置である。具体例としては，マウスやキーボードにより，枠罫線の選択や追加，削除，分割，端点位置の修正，複数罫線の統合，などを行なう。２０は処理対象の帳票画像を入力するための画像入力装置である。３０はレイアウト解析に基づく帳票書式情報作成や帳票認識などを行なう帳票認識装置で、レイアウト解析等を行う演算部（ＣＰＵ）、および帳票画像データや修正履歴情報を格納するメモリを具備している。４０は帳票書式情報を格納するデータベース，５０はレイアウト解析結果や帳票書式情報定義内容，帳票認識結果を表示する表示装置である。なお，２０の画像入力装置の代わりに６０の画像データベースから帳票画像を入力してもよい。
【００１６】
帳票書式定義ツールの状態遷移を図３に示す。図１の入力装置１０からの作業者の指示により，画像入力（３０４），結果表示（３０８），レイアウト解析（３１４），定義情報生成（３２０）の４つの状態を遷移する。
【００１７】
最も単純な遷移は，画像を入力して表示し（３００−３０２−３０４−３０６−３０８），その画像をレイアウト解析して（３１２−３１４−３１６），その結果を表示し（３０８），読取り対象の読取り枠を選択して（３１８），定義情報を生成する（３２０）遷移である。この他の遷移としては，レイアウト解析後に作業者がレイアウト解析結果を修正する遷移（３０８−３１０−３０８）と，レイアウト解析の再試行の遷移（３０８−３１２−３１４−３１６−３０８）がある。修正（３１０）は，レイアウト解析結果として表示された罫線や枠などを追加，削除，分割，統合の操作により表示内容を変更することである。再試行（３１２）の遷移は，抽出パラメータや対象領域等を変更してレイアウト解析を再試行することである。
【００１８】
さらに，一つの読取り枠について定義した後に次の読取り枠の定義に移行する（３２２−３０８）遷移がある。最後に，全ての読取り枠について定義した後に作業を終了する（３２６−３２８）遷移か，次の帳票画像に対して画像入力から作業を繰り返す（３２４−３０４）遷移がある。
【００１９】
次に，図４と図５を用いてレイアウト解析の処理フローについて説明する。図４は，図３の３１４における，再試行ではない通常のレイアウト解析のフローである。画像が入力された後，画像から罫線を抽出（４００）し，枠領域を抽出する（４０２）。ここで，罫線抽出の一実施例として，縦もしくは横方向に対して黒画素を収縮膨張することにより縦横の線分を抽出する手法が，特開平１１−２３２３８２号公報（特許文献２）で提案されている。また，枠の抽出の一実施例として，罫線の交差関係を解析して枠の四隅の交点を検出することにより枠領域を検出する手法が，特開平１１−０５３４６６号公報（特許文献３）で提案されている。
なお，レイアウト解析の処理としては，罫線と枠抽出以外に，文字行抽出や，文字認識などを加える場合がある。
【００２０】
これに対し，再試行時のレイアウト解析の処理フローを図５に示す。図５では，ユーザの指示に応じて，フローの開始点の変更（５０８，５１２，５１６，５２０）や，不要な処理のスキップを行う。また，再試行以前のレイアウト解析において抽出された罫線や枠などのレイアウト情報の保存（５２４）や，ユーザによるレイアウト解析結果の修正履歴情報（５０２−５０４−５０６）を利用したレイアウト解析結果の修正処理（５１４，５２２）を行う。このようなフローにすることにより，再試行時のレイアウト解析は，図４の機能に加えて以下の３つの機能が追加される。
【００２１】
（１）内部パラメータ変更
罫線や枠の内部パラメータを変更してレイアウト解析する。図５においては，５１０と５１８の処理がこれに相当する。例えば，枠抽出処理では、抽出する枠の最小サイズを規定して最小枠サイズ以上の枠のみを抽出するようにするが、通常の処理では抽出できないような小さい枠を抽出したい場合は，枠抽出の最小枠サイズのパラメータをユーザが小さな値に変更してこの処理が実行される。パラメータの変更が無い場合は，この処理はスキップされる。
【００２２】
内部パラメータの例を以下に示す。これらのパラメータは、画像内の点や線を罫線や枠として認識する際の閾値である。
（ｉ）罫線抽出（実線抽出）関連
・横罫線最小長さ
・縦罫線最小長さ
（ｉｉ）罫線抽出（点線抽出）関連
・点の最大長さ
・点の最大幅
・最大点間隔
・横点線最小点数
・縦点線最小点数
・横点線最小長さ
・縦点線最小長さ
（ｉｉｉ）罫線抽出（破線抽出）関連
・破線を構成する線分の最小長さ
・最大破線間隔
・横破線最小長さ
・縦破線最小長さ
（ｉｖ）枠抽出関連
・枠幅の最小値
・枠高さの最小値
・枠幅の最大値
・枠高さの最大値
・ラウンドコーナーの最大半径
（２）修正履歴の反映
作業者が手作業にてレイアウト解析結果を修正した場合，その修正情報を保持したまま，それ以外の部分は新たなレイアウト解析結果に更新できる。通常，レイアウト解析が起動のたびに全てのデータがリセットされるため，ユーザによる修正内容を反映することはできない。これを回避するため，ユーザの修正情報を履歴として保存し、レイアウト解析結果と履歴との間に整合をとるべく、修正情報の履歴に基づいてユーザにより入力された修正を再現する。具体的なデータ構造については，図６から図８を用いて後述する。
【００２３】
図５においては，ユーザが作業を開始してからレイアウト解析の再試行をするまでの罫線や枠の追加／削除／修正／分割／統合などの作業（５０４）の履歴を５０６に格納しておく。レイアウト解析の再試行の際には，罫線の修正履歴情報については５１４で，枠の修正履歴情報については５２２で，図２で説明したレイアウト解析結果と整合性をとる処理を行う。具体的な処理については後述する。
【００２４】
なお，ユーザによって枠が追加された場合，枠の追加に伴う罫線の追加が発生するため，罫線修正（５１４）と枠修正（５２２）の両方の処理を行う。
【００２５】
（３）モジュール単位の実行制御
外部からの要求により，図５の各ステップのうち必要なステップだけを選択して実行する。図５においては，５０８や５１２，５１６，５２０の５００以外のフローの開始点や，処理をスキップする矢印（５１０，５１４，５１８，５２２をスキップ）がこれに相当する。
以下，ユーザによる指示の後にレイアウト解析再試行をした場合における，モジュール単位の実行についての具体的な４つの例を示す。これらの処理は、図１に示される帳票書式情報作成・帳票認識装置のメモリに記憶されるプログラムにしたがって、ＣＰＵによって実行される。このプログラムは、帳票書式情報作成・帳票認識装置のメモリに記憶されるほか、ＣＤ−ＲＯＭやＤＶＤなどの光記憶媒体、磁気記憶媒体などに格納されてもよい。
【００２６】
（ａ）罫線抽出パラメータ変更
ユーザが罫線抽出パラメータを変更した場合，レイアウト解析処理の開始点は５０８となる。次に罫線抽出のパラメータを変更（５１０）した後，罫線抽出（４００）する。ここで，ユーザが罫線の追加や削除などの修正をしている場合や，枠を追加している場合（５０２−５０４）には，修正履歴（５０６）を利用して，罫線抽出結果との整合性をとるために修正履歴にしたがって罫線の追加や削除、また枠の追加等の罫線抽出結果の修正を行う（５１４）。していない場合は，５１４の処理をスキップする。以降の処理については，枠抽出のパラメータ変更があれば枠抽出パラメータ変更（５１８）を行い，変更がなければ５１８をスキップする。枠抽出（４０２）は，罫線の抽出結果が前回のレイアウト解析時とは異なるため，実行する。最後に，枠の追加や削除などがあれば５２２を実行し，なければ枠修正（５２２）をスキップする。
【００２７】
（ｂ）罫線追加／削除，枠追加
ユーザが罫線抽出のパラメータ変更を行わず，罫線の追加や削除，および枠の追加のみをしていた場合，再度罫線抽出を行う必要は無く，既存の罫線抽出結果（５２４）を修正すればよい。このため，罫線抽出４００以前の処理はスキップすることができるため，レイアウト解析の開始点は５１２となる。なお，ユーザが枠を追加した場合についても，「（２）修正履歴の反映」で説明したとおり，枠追加は罫線の追加を伴うため５１２を開始点とする。以降の枠抽出関連の処理については，（ａ）と同様である。
【００２８】
（ｃ）枠抽出パラメータ変更
ユーザが枠抽出パラメータを変更のみをした場合，罫線抽出結果は既存のレイアウト解析結果（５２４）を利用すればよいため，罫線抽出処理をスキップできる。このため，レイアウト解析処理の開始点は５１６となる。次に枠抽出のパラメータを変更（５１８）した後，枠を抽出（４０２）する。ここで，ユーザが枠の追加や削除などの修正をしている場合には，修正履歴（５０６）を利用して，枠抽出結果との整合性をとるための枠抽出結果の修正を行う（５２２）。していない場合は，５２２の処理をスキップする。
【００２９】
（ｄ）枠削除
ユーザが枠を削除した場合，既存の枠抽出結果（５２４）を修正すればよいため，枠抽出４０２以前の処理は全てスキップすることができる。このため，レイアウト解析の開始点は５２０となる。
【００３０】
なお，上記のフローの説明において，複数種類のユーザの指示がある状況でレイアウト解析の再試行が実行される場合，レイアウト解析の開始点はより前段の開始点が選択される。例えば，罫線抽出パラメータの変更と枠削除がある場合は，５０８の開始点が選択され，５１０，４００，４０２，５２２の順に処理が行われる。
【００３１】
次に，修正履歴を記録するためのデータ構造の例について図６から図８を用いて説明する。
【００３２】
図６は修正履歴を管理するためのデータ構造の一例である。修正履歴は，オブジェクト種別，変更状態，変更データ，次のデータとの関連の４つのデータを１組にしている。このうち，次のデータとの関連は必須ではない。入力画像に対して利用者が修正をするたびにこのデータが１個以上記録されることにより，利用者の修正履歴が累積的に記録される。
【００３３】
以下，各データの意味を説明する。
「オブジェクト種別」はユーザによって修正されたオブジェクトが罫線か枠かを区別するものである。図６の例では，罫線を０，枠を１として表現している。オブジェクトの種類としては，罫線や枠だけでなく，文字行や連結成分，文字切出し結果や文字認識結果などを含めることも可能である。
【００３４】
「変更状態」はオブジェクトの修正内容である。本実施例では，修正内容は削除と追加の２種類とする。図６の例では，削除を０，追加を１として表現している。削除と追加の２種類だけで，修正，分割，統合を表現する方法については図７と図８を用いて後述する。
【００３５】
「変更データ」は変更対照の罫線や枠のオブジェクトの情報である。罫線情報としては，両端点の座標値など，枠情報としては枠の頂点座標などが格納されている。変更データの格納方法としては，オブジェクトの座標情報を別のテーブルで管理し，変更対象のオブジェクト情報のアドレスのみを変更データとして格納してもよいし，図６の変更データのエリアに直接オブジェクトの座標情報を格納してもよい。
【００３６】
「次のデータとの関連」は，一連の修正作業で図６の修正履歴データ構造をいくつ使ったかを管理するものである。例えば，罫線１本を削除するだけであれば，修正履歴データは１つでこの作業を完了する。修正や統合，分割などの作業では複数の修正履歴データで１連の作業を表現する。図６の例では，次のデータとの関連が無ければ０，関連があれば１として表現している。この記述についても，図７と図８を用いて後述する。
【００３７】
図６の変更状態は，削除と追加の２つで，修正，分割，統合を表現することができる。ここで修正とは，既存の罫線や枠の位置などを変更することであり，オブジェクトの数は変わらないものの，座標値などが変更される。分割とは，１つの罫線や枠を２つ以上に分けることであり，オブジェクトの数が増加し，座標値が変更される。統合とは，２つ以上の罫線や枠を１つにまとめることであり，オブジェクトの数が減少し，座標値が変更される。
【００３８】
削除と追加の２つで修正，分割，統合を表現する方法を，図７と図８を用いて統合を例として説明する。図７は，枠ａと枠ｂを統合して，新たに枠Ｘを作成する例である。この場合，修正履歴データテーブルは，図８のデータ８００，８０２，８０４で示すように，枠ａと枠ｂの削除と枠ｘの追加で表現される。データ８００，８０２，８０４において，オブジェクト種別の項目は枠を表す「１」が記録されている。変更状態の項目は，枠ａと枠ｂを削除して枠ｘを追加するため，８００と８０２では削除を表す「０」が，８０４では追加を表す「１」が記録される。変更データの項目は，８００が枠ａ，８０２が枠ｂのアドレスを記録され，８０４においては，枠テーブル８０６に枠ｘの情報を追加した後，枠ｘのアドレスを記録する。この変更データの項目で記録された枠のアドレスから，枠の位置座標などを参照することができる。次のデータとの関連の項目は，８００と８０２，８０４の３つの修正履歴データでこの修正が構成されるため，８００と８０２は関連ありを表す「１」を，８０４は関連なし（終了）を表す「０」を記録する。
【００３９】
統合と同様に，修正では，修正前のオブジェクトに関して修正履歴データに削除フラグを立て，修正後のオブジェクトを登録した後，修正後のオブジェクトの修正履歴データに追加フラグを立てる。分割では，分割前の１つのオブジェクトに関して修正履歴データに削除フラグを立て，分割後の複数のオブジェクトを登録した後，これらのオブジェクトに関する修正履歴データに追加のフラグを立てる。
【００４０】
なお，枠の修正をした場合，削除／追加対象の枠の辺に相当する罫線も修正履歴に加えても良い。もしくは，枠の修正履歴から図５の罫線修正処理（５１４）が自動的に罫線の修正情報を生成して，罫線抽出結果を修正しても良い。
【００４１】
修正履歴を取り消す方法について２種類の手順を説明する。
第１は，取り消し対象の修正作業に相当する修正履歴データを削除することである。図８の８００，８０２，８０４に示したように，一回の修正作業の最後のデータは，「次のデータとの関連」の項目が「なし」になっている。したがって，修正履歴データテーブルを個々の修正作業ごとに一連の修正履歴データ群に分割し，その修正履歴データ群の中から取り消し対象の修正履歴データ群を検出して削除すればよい。修正履歴データ群へ分割するためには，１回の作業における修正履歴データの開始点と終了点の求めればよい。開始点は，修正履歴データテーブルの最初のデータか，「次のデータとの関連」の項目が「なし」となっている修正履データの次の修正履歴データである。終了点は，開始点の次に「次のデータとの関連」の項目が「なし」となっている修正履歴データである。なお，この処理を直前の修正作業の取り消しに利用される場合には，修正履歴テーブルの最後の修正履歴データ群のみを削除すればよい。
第２は，修正内容を無効にする修正履歴データ群を，修正履歴データテーブルに追加することである。図１５は図８の修正履歴を取り消す例である。修正履歴データ群８００，８０２，８０４を取り消すデータとして，１５００，１５０２，１５０４の修正履歴データ群が追加されている。具体的には，１５００にて枠ａを追加，１５０２にて枠ｂを追加，１５０４にて枠ｘを削除している。
【００４２】
次に，この修正履歴を利用したレイアウト解析結果と修正履歴の整合性をとる処理（図５の５１４と５２２）について説明する。
罫線情報の修正処理（５１４）では，修正履歴（５０６）から罫線に関する修正履歴データを抽出し，罫線情報が登録されているテーブル（罫線テーブル）と照合し、変更されているオブジェクトについての変更内容をレイアウト解析の結果に反映させる。この際，修正履歴情報に削除フラグが立っている罫線に対応するデータが罫線テーブルに含まれる場合は、その対応データを罫線テーブルから削除し，追加フラグが立っている罫線は罫線テーブルに追加登録する。修正履歴情報に削除フラグが立っている罫線に対応するデータが罫線テーブルに含まれない場合は、レイアウト解析再試行の際にはその罫線が抽出されなかったと考えられるので、罫線テーブルからデータを削除する必要はない。また、修正履歴情報に追加フラグが立っている罫線については、追加されるべき罫線と類似の罫線が罫線テーブルに含まれる場合には、レイアウト解析再試行の際にその罫線が正しく抽出されたと考えられるので、修正履歴情報に含まれる変更内容をレイアウト解析結果に反映させない、または、罫線テーブルに含まれる類似の罫線についてのデータを削除したうえで追加フラグがたっている罫線を罫線テーブルに追加登録するとよい。ここで、追加されるべき罫線と類似する罫線とは、追加フラグたたっている罫線オブジェクトが表す罫線と、画像データ中の位置や形状、色などの特徴が共通又は類似している罫線をいう。削除・追加する対象は，レイアウト解析の再試行時に罫線抽出処理（４００）を実行している場合には，４００によって抽出された罫線であり，４００を実行していない場合には，以前に行ったレイアウト解析結果（５２４）の罫線情報である。
【００４３】
枠情報の修正処理（５２２）も同様に，修正履歴（５０６）から枠に関する修正履歴データを抽出し，枠情報が登録されているテーブル（枠テーブル）と照合する。この際，修正履歴情報に削除フラグが立っている枠に対応するデータが枠テーブルに含まれる場合は、その対応データを枠テーブルから削除し，追加フラグが立っている枠は枠テーブルに追加登録する。修正履歴情報に削除フラグがたっている枠に対応するデータが枠テーブルに含まれない場合は、レイアウト解析再試行の際にその枠が抽出されなかったと考えられるので、罫線テーブルからデータを削除する必要はない。また、修正履歴情報に追加フラグがたっている枠については、追加されるべき枠と類似の枠が枠テーブルに含まれる場合は、レイアウト解析再試行の際にその枠が正しく抽出されたと考えられるので、修正履歴情報に含まれる変更内容をレイアウト解析結果に反映させない、または、枠テーブルに含まれるその類似の枠についてのデータを削除したうえで追加フラグがたっている枠を枠テーブルに追加登録するとよい。ここで、追加されるべき枠と類似する枠とは、追加フラグがたっている枠オブジェクトが表す枠と、画像データ中の位置や形状、色などの特徴が共通又は類似している枠をいう。削除・追加する対象は，レイアウト解析の再試行時に枠抽出処理（４０２）を実行している場合には，４０２によって抽出された枠であり，４０２を実行していない場合には，以前に行ったレイアウト解析結果（５２４）の枠情報である。
【００４４】
以上を行う際には、修正履歴を反映させる前、又は修正履歴を反映させた後のレイアウト解析結果に対応する情報を次のようにして表示画面に表示させる。例えば、修正履歴を反映させる前のレイアウト解析結果を表示させ、ユーザの入力に応じてまたは一定時間後に修正履歴を反映させる処理を行い、その後、修正履歴を反映させた後のレイアウト解析結果を表示させるとよい。または、修正履歴を反映させる前の表示は行わずに修正履歴を反映させる処理を行ってから修正履歴を反映させた後のレイアウト解析結果を表示させてもよい。
【００４５】
次に，レイアウト解析の再試行時における部分実行について図９と図１０を用いて説明する。部分領域内だけで抽出パラメータを変更した場合，部分領域内はパラメータ変更後の結果であり，その他の領域は以前にレイアウト解析した結果のままとなる。部分領域内の結果とその他の結果に整合性を持たせるため，以下の制御を行う。
【００４６】
処理の概略を図９に示す。まず，部分領域内と領域外に分ける。部分領域外は既存のレイアウト解析結果から領域内に存在する罫線や枠などのオブジェクトを削除し，部分領域内は変更後のパラメータを用いたオブジェクト抽出を行う。その後，両方の結果を統合することにより，部分領域内のみレイアウト解析を再試行した結果を得ることができる。
【００４７】
この処理のフローを図１０を用いて説明する。まず，部分領域内の画像を生成（１０００）し，既存のレイアウト解析結果から部分領域内に内包される罫線情報を削除する（１００２）。このとき，部分領域内の罫線を単純に削除すれば，罫線を切断することになるため，領域内に内包される罫線のみを削除する。次に，１０００の画像を用いて部分領域内で罫線抽出を行う（１００４）。１００４において，罫線抽出パラメータの変更がユーザにより指定されている場合には，変更後のパラメータでレイアウト解析を行う。次に，１００２と１００４で得られた罫線情報を統合することにより，部分領域内のみレイアウト解析を再試行した罫線抽出結果を得ることができる（１００６）。罫線の修正履歴がある場合には，１００８に対して修正履歴との整合をとる（１００８）。修正履歴が無ければ，１００８はスキップされる。次に，１００６もしくは１００８の罫線を用いて枠を抽出する（１０１０）。このとき，部分領域内に内包される枠を削除することにより部分領域外の枠情報を得る（１０１０）。部分領域内については，１００４の罫線抽出結果を用いて枠抽出を行う（１０１２）。このとき，抽出パラメータの変更があれば，変更後のパラメータで枠抽出を行う。  次に，１０１０と１０１２で得られた枠情報を統合することにより，部分領域内のみレイアウト解析を再試行した枠抽出結果を得ることができる（１０１４）。最後に，枠の修正履歴がある場合には，１０１４に対して修正履歴との整合をとる（１０１６）。修正履歴が無ければ，１０１６はスキップされる。
【００４８】
以上の選択された部分についてのみレイアウト解析を再試行して修正履歴を反映させる場合には、記憶されている全ての修正履歴を再現する必要はなく、選択された領域内に一部または全体が含まれるオブジェクトについてのみ修正処理を再現すれば十分である。修正履歴に含まれるオブジェクトが選択された領域内にあるか否かを判断するためには、図６のデータ構造の「変更データアドレス」から変更対照のオブジェクトの位置情報（始点、終点など）を参照するとよい。選択領域の範囲情報と位置情報と各オブジェクトの位置情報を比較することで、レイアウト解析再試行の部分実行に伴って修正を再現する必要があるオブジェクトを選択することができる。
【００４９】
次に，本発明におけるＧＵＩの例を説明する。
図１１は定義対象の帳票画像を表示するウィンドウの例である。この帳票画像上に，罫線や枠の抽出結果や、修正処理を反映させた抽出結果を表示する。表示方法は，抽出結果を画像上に重ねて色を変えるなどすればよい。また、抽出結果が修正された箇所と無修正の箇所を異なる色や線で表示するモードがあってもよい。
【００５０】
図１２はレイアウト解析を指示するためのメニューの例である。本実施例ではポップアップメニューにレイアウト解析を加えている。例えば、レイアウト解析によって抽出されて表示されている枠１２０１を画面上で選択してポップアップメニューで削除を選択すると、削除フラグをたてたその枠についての情報が、修正履歴情報に追加される。あわせて、表示画面上から枠１２０１の表示が削除される。図１２において、枠１２０１の右隣にもう一つの枠１２０２も誤って抽出されている場合には、枠１２０２に対しても削除処理を行う。枠１２０１および枠１２０２が抽出されていた箇所に本来は一つの枠があるべき場合は、枠があるべき位置にその枠を描画し、ポップアップメニューで追加を選択すると、追加された枠についてのデータが修正履歴情報に追加登録される。
【００５１】
同様に，図１３もポップアップメニューにレイアウト解析とレイアウト解析再試行を加えた例である。レイアウト解析再試行メニューには、帳票全体について再試行を行うか、特定領域を選択してその領域についてのみ再試行を行うかを選択できるようにしておいてもよい。また、レイアウト解析再試行時に、罫線または枠抽出の抽出に用いられるパラメータを変更するためのウィンドウを表示するとよい。これ以外に，メニュー上に罫線の追加・削除・修正や，枠の追加・削除・修正などを追加しても良い。ユーザは、表示画面上からカーソル等で修正したい箇所を指定し、修正したいオブジェクトが罫線や枠などであることを特定し、選択したオブジェクトに対して行う削除・移動などの修正を選択することで、レイアウト解析に修正を行うことができる。これらの修正入力を受け、修正履歴のデータが作成・更新される。また、帳票の一部についてレイアウト解析や修正結果が十分な水準に達したら、領域を選択してその領域については解析・修正結果を確定してレイアウト解析再試行や修正の再現の対象から除外する操作ができるようにしておいてもよい。一部の解析結果を確定することで、再解析を行う際の処理負担を軽減することができる。
【００５２】
図１４は各機能を表すボタンをウィンドウ上に配置した例である。１４００から１４０８のボタンは，それぞれ，レイアウト解析実行，罫線追加，罫線削除，枠追加，枠削除を表している。これ以外の機能を持つボタンを配置しても良い。
【００５３】
また，図１２から図１４のＧＵＩにおいて，レイアウト解析の再実行を利用者がメニュー等から指定するのではなく，システムが自動的にレイアウト解析を起動することも可能である。具体例としては，罫線追加（１４０２），罫線削除（１４０４），枠追加（１４０６），枠削除（１４０８）や，罫線修正，枠修正などの操作を利用者が行った時点で，自動的にレイアウト解析を実行することである。
【００５４】
【発明の効果】
以上説明したように，本発明によれば，帳票定義においてレイアウト解析の再試行を可能にすることにより，ユーザの修正作業を軽減できるという効果がある。
【図面の簡単な説明】
【図１】本発明の一実施例の関わる帳票書式情報作成装置の概略構成を示すブロック図。
【図２】本実施例におけるユーザによるレイアウト解析結果の修正情報の概略を示す図。
【図３】本実施例における帳票書式情報作成装置の状態遷移図。
【図４】レイアウト解析の処理フローを示すフロー図。
【図５】本実施例におけるレイアウト解析の再試行時の処理フローを示すフロー図。
【図６】本実施例における修正履歴のデータ構造を示す図。
【図７】ユーザによる枠の統合を示す図。
【図８】枠の統合時における修正履歴データを示す図。
【図９】部分領域内レイアウト解析再試行の概要を説明する図。
【図１０】部分領域内レイアウト解析再試行時の処理フローを示すフロー図。
【図１１】本実施例における帳票やレイアウト解析結果の表示を示す図。
【図１２】本実施例におけるレイアウト解析のメニューを示す図。
【図１３】本実施例におけるレイアウト解析のメニューを示す図。
【図１４】本実施例におけるレイアウト解析のボタンを示す図。
【図１５】修正履歴の取消処理を表す図。
【図１】
2005056010.tif 000003
【図２】
2005056010.tif 000004
【図３】
2005056010.tif 000005
【図４】
2005056010.tif 000006
【図５】
2005056010.tif 000007
【図６】
2005056010.tif 000008
【図７】
2005056010.tif 000009
【図８】
2005056010.tif 000010
【図９】
2005056010.tif 000011
【図１０】
2005056010.tif 000012
【図１１】
2005056010.tif 000013
【図１２】
2005056010.tif 000014
【図１３】
2005056010.tif 000015
【図１４】
2005056010.tif 000016
【図１５】
2005056010.tif 000017