(57)【要約】【課題】複雑な表構造の帳票であったり、文字列が小さ過ぎたりする帳票であっても、画像読取装置に読み取らせた帳票の正立判定を行うことが可能な帳票処理プログラム、帳票処理装置及び帳票処理方法を提供すること。【解決手段】帳票画像を画像読取装置に読み取らせ、読み取らせた帳票画像から縦横罫線を抽出し、抽出された縦横罫線に基づいてセル領域を認識し、認識されたセル領域の形状パターンの数を計数し、形状パターン毎の計数結果を算出し、算出された計数結果に基づいて、帳票画像が正立であるか否かを判断する。【選択図】図４
2018032076.tif 000002
【特許請求の範囲】
【請求項１】
帳票処理装置のコンピュータを、
帳票画像を画像読取装置に読み取らせる画像読取手段、
前記画像読取手段によって読み取らせた帳票画像から縦横罫線を抽出する罫線抽出手段、
前記罫線抽出手段によって抽出された縦横罫線に基づいてセル領域を認識するセル領域認識手段、
前記セル領域認識手段によって認識されたセル領域の形状パターンの数を計数し、前記形状パターン毎の計数結果を算出するセル形状パターン計数手段、
前記セル形状パターン計数手段によって算出された計数結果に基づいて、前記帳票画像が正立であるか否かを判断する帳票画像正立判断手段、
として機能させるための帳票処理プログラム。
【請求項２】
前記セル形状パターン計数手段は、前記認識されたセル領域の上下左右の４方向の各形状パターンの数を計数して各方向の計数結果を算出し、
前記帳票画像正立判断手段は、前記各方向の計数結果が最大値の方向を、前記帳票画像が正立であると判断する、
ことを特徴とする請求項１に記載の帳票処理プログラム。
【請求項３】
前記コンピュータを、更に、
前記帳票画像正立判断手段によって前記帳票画像が正立でないと判断された場合、前記帳票画像を回転させる帳票画像回転手段、
として機能させ、
前記帳票画像回転手段によって回転させた帳票画像に対して、前記罫線抽出手段および前記セル領域認識手段を実行する、
ことを特徴とする請求項１または２に記載の帳票処理プログラム。
【請求項４】
前記帳票画像は、独自にレイアウトした私製帳票の読み取り画像である、ことを特徴とする請求項１乃至３の何れか１項に記載の帳票処理プログラム。
【請求項５】
帳票処理装置において、
帳票画像を画像読取装置に読み取らせる画像読取部と、
前記画像読取部によって読み取らせた帳票画像から縦横罫線を抽出する罫線抽出部と、
前記罫線抽出部によって抽出された縦横罫線に基づいてセル領域を認識するセル領域認識部と、
前記セル領域認識部によって認識されたセル領域の形状パターンの数を計数し、前記形状パターン毎の計数結果を算出するセル形状パターン計数部と、
前記セル形状パターン計数部によって算出された計数結果に基づいて、前記帳票画像が正立であるか否かを判断する帳票画像正立判断部と、
を備えることを特徴とする帳票処理装置。
【請求項６】
帳票処理装置において実行される帳票処理方法であって、
帳票画像を画像読取装置に読み取らせ、
前記読み取らせた帳票画像から縦横罫線を抽出し、
前記抽出された縦横罫線に基づいてセル領域を認識し、
前記認識されたセル領域の形状パターンの数を計数し、前記形状パターン毎の計数結果を算出し、
前記算出された計数結果に基づいて、前記帳票画像が正立であるか否かを判断する、
ことを特徴とする帳票処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学的に読み取った帳票の帳票画像から所定の文字認識項目の文字認識処理を行うための帳票処理プログラム、帳票処理装置及び帳票処理方法に関する。
【背景技術】
【０００２】
従来、金融機関や公共機関をはじめとする様々な組織において、各種の帳票が利用されている。例えば、銀行等では、帳票をスキャナ等の画像読取装置で読み取り、読み取り結果の帳票画像からＯＣＲ（光学式文字読取：Optical Character Reader）処理によりテキスト情報を得ることが行われている。これにより、銀行員によるデータ入力などの事務処理を効率化させることが図られている。
【０００３】
帳票画像を文字認識する処理にあたっては、帳票が正立の状態で読取装置による読み取りを行う必要がある。したがって、帳票を読取装置にセットする際は、運用ルールに則り行員等のオペレータが帳票を正立状態にしている。
【０００４】
近年、振込業務（為替）／税金・公金収納業務の銀行負担が大きいことから、行員オペレータを介さず顧客自身が振込操作を行うセルフ化が検討されている。ところが、顧客自身によるオペレーションでは、帳票を正立にセットする運用ルールが適用できず、正立ではない方向で読取装置にセットされる場合がある。そのため、文字認識処理を実行する前に、帳票が正立か否かを判断し、正立でない場合は正立になるように帳票を回転させる必要がある。
【０００５】
例えば、文字認識した文字列の正立判定結果に基づいて帳票自身が正立か否かを判断する技術がある。また、文字列の偏りや、帳票を構成するセルが縦長なのか横長なのかの特徴を抽出し、帳票の挿入方向が正方向、右９０度、左９０度、逆方向のいずれであるかを判定する技術が開示されている（例えば、特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−１０２４１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、帳票を構成するセルの組合せは複雑であり、格子状の規則正しい表形式のみで構成される帳票ばかりであるとは限らない。また、セル内に記載された文字列が小さいため、文字列による正立判定ができない帳票もある。このような、複雑な表構造の帳票であったり、文字列が小さ過ぎたりする帳票の場合に、画像読取装置に読み取らせた帳票の正立判定ができない、という問題点があった。
【０００８】
本発明は、上述のような実状に鑑みたものであり、複雑な表構造の帳票であったり、文字列が小さ過ぎたりする帳票であっても、画像読取装置に読み取らせた帳票の正立判定を行うことが可能な帳票処理プログラム、帳票処理装置及び帳票処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、上記課題を解決するため、下記のような構成を採用した。
すなわち、本発明の一態様によれば、本発明の帳票処理プログラムは、帳票処理装置のコンピュータを、帳票画像を画像読取装置に読み取らせる画像読取手段、前記画像読取手段によって読み取らせた帳票画像から縦横罫線を抽出する罫線抽出手段、前記罫線抽出手段によって抽出された縦横罫線に基づいて（で構成された（略囲われた））セル領域を認識するセル領域認識手段、前記セル領域認識手段によって認識されたセル領域の形状パターンの数を計数し、前記形状パターン毎の計数結果を算出するセル形状パターン計数手段、前記セル形状パターン計数手段によって算出された計数結果に基づいて、前記帳票画像が正立であるか否かを判断する帳票画像正立判断手段、として機能させるための帳票処理プログラムである。
【００１０】
また、本発明の帳票処理プログラムは、前記セル形状パターン計数手段が、前記認識されたセル領域の上下左右の４方向の各形状パターンの数を計数して各方向の計数結果を算出し、前記帳票画像正立判断手段が、前記各方向の計数結果が最大値の方向を、前記帳票画像が正立であると判断することが望ましい。
【００１１】
また、本発明の帳票処理プログラムは、前記コンピュータを、更に、前記帳票画像正立判断手段によって前記帳票画像が正立でないと判断された場合、前記帳票画像を（９０、１８０、２７０度）回転させる帳票画像回転手段として機能させ、前記帳票画像回転手段によって回転させた帳票画像に対して、前記罫線抽出手段および前記セル領域認識手段を実行することが望ましい。
【００１２】
また、本発明の帳票処理プログラムは、前記帳票画像が、独自にレイアウトした私製帳票の読み取り画像であることが望ましい。
【００１３】
また、本発明の一態様によれば、本発明の帳票処理装置は、帳票画像を画像読取装置に読み取らせる画像読取部と、前記画像読取部によって読み取らせた帳票画像から縦横罫線を抽出する罫線抽出部と、前記罫線抽出部によって抽出された縦横罫線に基づいてセル領域を認識するセル領域認識部と、前記セル領域認識部によって認識されたセル領域の形状パターンの数を計数し、前記形状パターン毎の計数結果を算出するセル形状パターン計数部と、前記セル形状パターン計数部によって算出された計数結果に基づいて、前記帳票画像が正立であるか否かを判断する帳票画像正立判断部とを備えることを特徴とする。
【００１４】
また、本発明の一態様によれば、本発明の帳票処理方法は、帳票処理装置において実行される帳票処理方法であって、帳票画像を画像読取装置に読み取らせ、前記読み取らせた帳票画像から縦横罫線を抽出し、前記抽出された縦横罫線に基づいてセル領域を認識し、前記認識されたセル領域の形状パターンの数を計数し、前記形状パターン毎の計数結果を算出し、前記算出された計数結果に基づいて、前記帳票画像が正立であるか否かを判断することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、複雑な表構造の帳票であったり、文字列が小さ過ぎたりする帳票であっても、画像読取装置に読み取らせた帳票の正立判定を行うことができる。
【図面の簡単な説明】
【００１６】
【図１】本実施の形態における帳票処理装置の外観を示す図である。
【図２】本実施の形態における帳票処理装置の構成を示す図である。
【図３】本実施の形態における帳票処理装置のハードウェア構成図である。
【図４】本実施の形態における帳票処理装置の機能ブロック図である。
【図５】セル領域のデータ構造を説明するための図である。
【図６】正立の可能性があるセル領域の形状パターンを示す図である。
【図７】帳票の例を示す図である。
【図８】本実施の形態における帳票処理の操作フローチャートである。
【図９】本実施の形態における認識処理の流れを示すフローチャートである。
【図１０】抽出された縦横罫線の例を示す図である。
【図１１】抽出されたセル領域の例を示す図である。
【図１２】セルテーブルの例を示す図である。
【図１３】認識処理のサブルーチン「イメージ自動正立判定／回転処理」の流れを示すフローチャートである。
【図１４】セル領域のカウントの例を示す図である。
【図１５】イメージ自動正立判定／回転処理のサブルーチン「表形状特徴カウント処理」の流れを示すフローチャートである。
【図１６】第１乃至第４のカウント処理の対象となるセル領域の例を示す図である。
【図１７】表形状特徴カウント処理のサブルーチン「第１のカウント処理」の流れを示すフローチャートである。
【図１８】表形状特徴カウント処理のサブルーチン「第２のカウント処理」の流れを示すフローチャートである。
【図１９】表形状特徴カウント処理のサブルーチン「第３のカウント処理」の流れを示すフローチャートである。
【図２０】表形状特徴カウント処理のサブルーチン「第４のカウント処理」の流れを示すフローチャート（その１）である。
【図２１】表形状特徴カウント処理のサブルーチン「第４のカウント処理」の流れを示すフローチャート（その２）である。
【図２２】表形状特徴カウント処理の結果を示す図である。
【図２３】帳票画像の回転例を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図１は、本実施の形態における帳票処理装置の外観を示す図である。
【００１８】
図１において、帳票処理装置１は、表示装置２および画像読取装置３を備える。ここで、本実施の形態の帳票処理装置１は、例えば金融機関や公共機関等における帳票処理に用いられている。
【００１９】
画像読取装置３は、例えば、イメージスキャナであり、帳票を光学的に読み取り、表示装置２に送出する。
【００２０】
表示装置２は、例えば、タッチパネル等の各種ディスプレイを備え、画像読取装置３が読み取った帳票の画像を含む各種の情報を画面に表示する。利用者は、表示装置２に表示された情報に基づいて、画面をタッチ（押下）することで、各種の操作を行うことができる。
【００２１】
帳票処理装置１は、例えば、ワークステーション、サーバ、パーソナルコンピュータ等のコンピュータの機能を備えており、後述する帳票処理を実行する。
【００２２】
図２は、本実施の形態における帳票処理装置の構成を示す図である。
図２において、帳票処理装置１は、制御部２０、スキャナ制御部２１、文字認識処理部２２、罫線解析処理部２３、帳票認識処理部２４、イメージ正立判定処理部２５、及びイメージ回転処理部２６を備える。
【００２３】
制御部２０は、スキャナ制御部２１、文字認識処理部２２、罫線解析処理部２３、帳票認識処理部２４、イメージ正立判定処理部２５、及びイメージ回転処理部２６による一連の処理を制御する。
【００２４】
スキャナ制御部２１は、画像読取装置３を制御し、帳票の記載面を帳票画像データとして取得する。
【００２５】
文字認識処理部２２は、スキャナ制御部２１によって取得した帳票画像データから、帳票記載面に記載されている文字を認識する。文字の認識には、文字認識辞書２７を使用する。この文字認識処理は、公知の文字認識技術を使用することが可能であるので、詳細な説明は省略する。
【００２６】
罫線解析処理部２３は、スキャナ制御部２１によって取得した帳票画像データから、帳票記載面に記載されている罫線を認識する。
【００２７】
帳票認識処理部２４は、罫線解析処理部２３によって認識された罫線に囲われた領域を認識し、見出しテーブル２８を参照して領域内の記載内容を認識する。
【００２８】
イメージ正立判定処理部２５は、スキャナ制御部２１によって取得した帳票画像データに基づき、セル形状パターンを参照して帳票が正立して画像読取装置３に読み取られたのか否かを判定する。
【００２９】
イメージ回転処理部２６は、イメージ正立判定処理部２５によって帳票が正立して読み取られていないと判定された場合、帳票画像を回転させる。
【００３０】
図３は、本実施の形態における帳票処理装置のハードウェア構成図である。
図３において、帳票処理装置１は、ＣＰＵ（Central Processing Unit）３１、入力装置３２、出力装置３３、ＲＯＭ（Read Only Memory）３４、ＲＡＭ（Random Access Memory）３５、インターフェース（Ｉ／Ｆ）３６がバス３７に接続されて構成されている。
【００３１】
入力装置３２は、例えば、画像読取装置３を含むイメージスキャナ、キーボード、ジョイスティック、ライトペン、マウス、タッチパッド、タッチパネル、トラックボール等、帳票画像を含む各種のデータや信号等を入力する。
【００３２】
出力装置３３は、例えば、表示装置２を含むＬＣＤ（Liquid Crystal Display）等の各種ディスプレイ、プリンタ等であり、画像やその他の情報を出力する。
【００３３】
ＲＯＭ３４は、帳票処理装置１において実行する帳票処理を実行するプログラムの他、帳票処理装置１の各機能を制御し実行するための制御プログラム及びテーブルデータなどを格納する。
【００３４】
ＲＡＭ３５は、出力装置３３用のフレームバッファや一部のアプリケーションプログラム等を格納する。
【００３５】
インターフェース３６は、ＵＳＢ（Universal Serial Bus）等のシリアルインターフェースやイーサネット（登録商標）等のパラレルインターフェース等、外部機器と接続するためのユニットである。
【００３６】
ＣＰＵ３１は、これらの各部を制御する。
本実施の形態における帳票処理は、前述した帳票処理装置１によって実行される。
【００３７】
図４は、本実施の形態における帳票処理装置の機能ブロック図である。図５は、セル領域のデータ構造を説明するための図である。図６は、正立の可能性があるセル領域の形状パターンを示す図である。
【００３８】
図４において、帳票処理装置１は、画像読取部４１、罫線抽出部４２、セル領域認識部４３、セル形状パターン計数部４４、帳票画像正立判断部４５、および帳票画像回転部４６を備える。帳票処理装置１は、コンピュータの機能を備えており、帳票処理プログラムに従って後述する帳票処理を実行する。帳票処理装置１は、金融機関や公共機関をはじめとする様々な組織において使用する、各種の帳票を処理する。処理する帳票は、例えば、独自にレイアウトした私製帳票を含む。
【００３９】
画像読取部４１は、イメージスキャナ等の画像読取装置３に帳票を読み取らせて帳票画像を取得する。
【００４０】
罫線抽出部４２は、画像読取部４１によって読み取らせた帳票画像から縦罫線および横罫線を抽出する。例えば、縦罫線であれば、縦方向に連続する画素、すなわち縦方向の直線があるか否かを抽出し、その結果を縦罫線抽出結果として出力する。また、横罫線であれば、横方向に連続する画素、すなわち横方向の直線があるか否かを抽出し、その結果を横罫線抽出結果として出力する。
【００４１】
セル領域認識部４３は、罫線抽出部４２によって抽出された縦横罫線に基づいてセル領域を認識する。例えば、２本の縦罫線と２本の横罫線で囲われた矩形の領域をセル領域として認識する。認識されたセル領域は、例えば、左上座標、右下座標、左辺罫線番号、右辺罫線番号、上辺罫線番号、下辺罫線番号のデータ構造をセルテーブル３０に保有する。図５に例示したセル領域の場合は、左上座標が（６，３）、右下座標が（１３，６）、左辺罫線番号が縦罫線１、右辺罫線番号が縦罫線２、上辺罫線番号が横罫線１、下辺罫線番号が横罫線２となる。
【００４２】
セル形状パターン計数部４４は、正立の可能性があるセル形状の特徴（セル形状パターン）に基づき、セル領域認識部によって認識されたセル領域の形状パターンの数を計数し、形状パターン毎の計数結果を算出する。例えば、セル形状パターン計数部４４は、認識されたセル領域の上下左右の４方向の各形状パターンの数を計数して各方向の計数結果を算出する。
【００４３】
正立の可能性があるセル形状の特徴は、例えば、図６に示すように、（１）乃至（４）のような特徴である。（１）は、単に横長の領域のみで構成される。例えば、「横長セル」６１である。（２）は、左側に「見出し」が記載される領域があり、「見出し」領域の右側に「見出し」領域よりも長い（大きい）領域であって「データ」が記載される領域がある。「見出し」領域と「データ」領域は１対１の関係にある。例えば、「１対１セル」６２である。（３）は、左側に「見出し」が記載される領域が１つあり、「見出し」領域の右側に「見出し」領域よりも長い（大きい）領域であって「データ」が記載される複数の領域がある。「見出し」領域と「データ」領域は１対Ｎ（複数）の関係にある。例えば、「１対Ｎセル」６３である。（４）は、左側に「見出し」が記載される領域が複数あり、各「見出し」領域の右側に「見出し」領域よりも長い（大きい）領域であって「データ」が記載される領域が、「見出し」領域と同数ある。「見出し」領域と「データ」領域はＮ（複数）対Ｎ（複数）の関係にあり、いわゆる表構造を形成する。例えば、「表構造セル」６４である。このような特徴が正立の可能性のあるセル形状であるというのは、帳票が横書きであること、「見出し」に記載される文字数が「データ」に記載される文字数より少ないことに起因する。
【００４４】
帳票画像正立判断部４５は、セル形状パターン計数部４４によって算出された計数結果に基づいて、帳票画像が正立であるか否かを判断する。例えば、帳票画像正立判断部４５は、４方向の計数結果の内、最大値の方向を、帳票画像が正立であると判断する。
【００４５】
帳票画像回転部４６は、帳票画像正立判断部４５によって帳票画像が正立でないと判断された場合、帳票画像を回転させる。例えば、９０度、１８０度、または２７０度回転させる。罫線抽出部４２およびセル領域認識部４３は、帳票画像回転部４６によって回転させた帳票画像に対しても機能する。
【００４６】
なお、セルテーブル３０は、帳票処理装置１が備えていても良いし、外部の記憶装置に格納されていても良い。
【００４７】
次に、図７乃至図２３を用いて、本実施の形態を説明する。
図７は、帳票の例を示す図である。図８は、本実施の形態における帳票処理の操作フローチャートである。図９は、本実施の形態における認識処理の流れを示すフローチャートである。図１０は、抽出された縦横罫線の例を示す図である。図１１は、抽出されたセル領域の例を示す図である。図１２は、セルテーブルの例を示す図である。図１３は、認識処理のサブルーチン「イメージ自動正立判定／回転処理」の流れを示すフローチャートである。図１４は、セル領域のカウントの例を示す図である。図１５は、イメージ自動正立判定／回転処理のサブルーチン「表形状特徴カウント処理」の流れを示すフローチャートである。図１６は、第１乃至第４のカウント処理の対象となるセル領域の例を示す図である。図１７は、表形状特徴カウント処理のサブルーチン「第１のカウント処理」の流れを示すフローチャートである。図１８は、表形状特徴カウント処理のサブルーチン「第２のカウント処理」の流れを示すフローチャートである。図１９は、表形状特徴カウント処理のサブルーチン「第３のカウント処理」の流れを示すフローチャートである。図２０および図２１は、表形状特徴カウント処理のサブルーチン「第４のカウント処理」の流れを示すフローチャートである。図２２は、表形状特徴カウント処理の結果を示す図である。図２３は、帳票画像の回転例を示す図である。
【００４８】
本実施の形態における帳票処理は、図１乃至４を用いて説明した帳票処理装置１が帳票処理プログラムに従って実行する。帳票処理装置１は、定義体が登録されていない私製の帳票を対象とすることができる。例えば、図７に示すような帳票を対象とする。
【００４９】
まず、帳票処理装置１を操作する操作者は、図８のステップＳ８０１において、表示装置２に表示された「帳票読み取りキー」を押下することで、帳票処理の操作を開始する。
【００５０】
帳票処理装置１は、ステップＳ８０２において、サブルーチン「認識処理」を実行する。サブルーチン「認識処理」について、図９を用いて詳細に説明する。
【００５１】
まず、帳票処理装置１が備える制御部２０は、図９のステップＳ９０１において、イメージスキャナ等の画像読取装置３に帳票を読み取らせて帳票画像を取得する。
【００５２】
制御部２０は、ステップＳ９０２において、ステップＳ９０１で取得した帳票画像から罫線を抽出する。例えば、縦罫線であれば、縦方向に連続する画素、すなわち縦方向の直線があるか否かを抽出し、その結果を縦罫線抽出結果として出力する。また、横罫線であれば、横方向に連続する画素、すなわち横方向の直線があるか否かを抽出し、その結果を横罫線抽出結果として出力する。抽出された縦罫線および横罫線には、それぞれ罫線番号が付与される。罫線番号は、縦罫線と横罫線毎に付与する。例えば、左上座標を原点にして１画素ずつ横方向にスキャンし、一番右の画素まで行ったら縦方向に次の画素列をスキャンする。そして、スキャンしている画素が抽出された縦罫線および横罫線に含まれていることを検出したら、その縦罫線および横罫線に昇順の並びで罫線番号を付与する。このようにして罫線番号を付与することで、図７に例示した帳票の場合、図１０に示したように、縦罫線にはＴ１乃至Ｔ１４、横罫線にはＹ１乃至Ｙ１８の罫線番号が付与された抽出結果が得られる。
【００５３】
制御部２０は、ステップＳ９０３において、ステップＳ９０２で抽出された縦罫線と横罫線に基づいてセル領域を抽出する。例えば、縦罫線と横罫線の交点を求め、交点を４点とする最小矩形で囲われた領域（２本の縦罫線と２本の横罫線で囲われた領域）をセル領域として抽出する。抽出されたセル領域には、それぞれ固有の識別子（セルＩＤ）を付与する。セルＩＤの付与は、罫線番号の付与と同様に、例えば、左上座標を原点にして１画素ずつ横方向にスキャンし、一番右の画素まで行ったら縦方向に次の画素列をスキャンする。そして、スキャンしている画素が抽出されたセル領域に含まれていることを検出したら、そのセル領域に昇順の並びで罫線番号を付与する。また、認識されたセル領域の数を、例えば変数「セル領域数」に代入する。このようにしてセルＩＤを付与することで、図７に例示した帳票の場合、図１１に示したように、Ｓ１乃至Ｓ３４のセルＩＤが付与された抽出結果が得られる。
【００５４】
セルＩＤが付与された各セル領域は、図１２に示すように、左上座標、右下座標、左辺罫線番号、右辺罫線番号、上辺罫線番号、下辺罫線番号等のデータ構造と共に、セル情報としてセルテーブル３０に保有される。図１２に示した例は、図７に例示した帳票のセルテーブル３０の例である。セルテーブル３０は、セルＩＤの昇順の並びで保有され、左上座標、右下座標、左辺罫線番号、右辺罫線番号、上辺罫線番号、下辺罫線番号等の情報を持つ。例えば、セルＩＤが「Ｓ１」は、左上座標「（３８０，２０）」、右下座標「（６４０，４０）」、左辺罫線番号「Ｔ１」、右辺罫線番号「Ｔ２」、上辺罫線番号「Ｙ１」、下辺罫線番号「Ｙ２」の情報を持つ。
【００５５】
制御部２０は、ステップＳ９０４において、サブルーチン「イメージ自動正立判定/回転処理」を実行する。サブルーチン「イメージ自動正立判定/回転処理」について、図１３を用いて詳細に説明する。
【００５６】
サブルーチン「イメージ自動正立判定/回転処理」は、図９のステップＳ９０１で取得した帳票画像が正立であるのか否か、正立でないのであれば、９０度または２７０度の向き（横向き）になっているのか、若しくは１８０度の向き（上下反転）になっているのかを判定するために、ステップＳ１３０１乃至Ｓ１３０５を実行する。
【００５７】
ステップＳ１３０１乃至Ｓ１３０５の処理は、例えば、上下左右方向（４方向）の数だけ繰返し実行する。ただし、後述するように、ステップＳ１３０３の判断ステップを満たした場合（ステップＳ１３０３：ＹＥＳ）、残りの方向での処理を省略（スキップ）する。なお、ステップＳ１３０３の判断ステップを行わずに、４方向全てについてステップＳ１３０１のサブルーチン「表形状特徴カウント処理」を実行した後に、各方向での得点を比較判断するようにしてもよい。なお、上下左右方向とは、例えば、画像読取装置３で読み取った帳票画像を表示装置２に表示した場合、利用者が認識する帳票の上下左右方向と一致する方向である。
【００５８】
制御部２０は、図１３のステップＳ１３０１において、サブルーチン「表形状特徴カウント処理」を実行する。ここでは、ステップＳ９０３で抽出されたセル領域の形状パターンの数を計数する。例えば、図１４に示すように、正立の可能性があるセル形状の特徴である、「横長セル」６１、「１対１セル」６２、「１対Ｎセル」６３、および「表構造セル」６４を計数する。詳細は、図１５乃至図２２を用いて後述する。
【００５９】
サブルーチン「表形状特徴カウント処理」は、例えば、図１５に示すように、ステップＳ１５０１において、サブルーチン「第１のカウント処理」を実行し、ステップＳ１５０２において、サブルーチン「第２のカウント処理」を実行し、ステップＳ１５０３において、サブルーチン「第３のカウント処理」を実行し、そして、ステップＳ１５０４において、サブルーチン「第４のカウント処理」を実行する。サブルーチン「第１のカウント処理」は、図１６の（Ａ）に示すような横長セル６１を対象とする。サブルーチン「第２のカウント処理」は、図１６の（Ｂ）に示すような１対１セル６２を対象とする。サブルーチン「第３のカウント処理」は、図１６の（Ｃ）または（Ｄ）に示すような１対Ｎセル６３を対象とする。サブルーチン「第４のカウント処理」は、図１６の（Ｅ）に示すような表構造セル６４を対象とする。
【００６０】
図１７を用いて、サブルーチン「第１のカウント処理」を詳細に説明する。
サブルーチン「第１のカウント処理」は、図９のステップＳ９０３で抽出したセル領域の数だけ、ステップＳ１７０１乃至Ｓ１７０３を繰り返す。ステップＳ９０３で抽出したセル領域の数は、図９のステップＳ９０３でセル領域を抽出した際に変数「セル領域数」に格納されている。
【００６１】
制御部２０は、ステップＳ１７０１において、図９のステップＳ９０３で抽出した各セル領域のセル情報（セルＩＤ、左上座標、右下座標、左辺罫線番号、右辺罫線番号、上辺罫線番号、下辺罫線番号等のデータ構造）をセルテーブル３０から順に取得する。そして、セル領域の第１の幾何学比を算出する。例えば、セル領域の縦の長さに対する横の長さの比を第１の幾何学比として算出する。
【００６２】
制御部２０は、ステップＳ１７０２において、ステップＳ１７０１で算出した第１の幾何学比が所定の閾値以上か否かを判断する。例えば、第１の幾何学比が１．５以上か否かを判断する。これは、セル領域が横長か否かの判断となる。第１の幾何学比が所定の閾値以上でないと判断された場合（ステップＳ１７０２：ＮＯ）、ステップＳ１７０３をスキップし、ループの先頭（次のステップＳ１７０１）から実行する。
【００６３】
他方、第１の幾何学比が所定の閾値以上であると判断された場合（ステップＳ１７０２：ＹＥＳ）、制御部２０は、ステップＳ１７０３において、対象のセル領域が図１６の（Ａ）に示すような横長セル６１であると判断してカウントアップし、横長セル６１と判断されたセル領域の数を計数する。
【００６４】
図１８を用いて、サブルーチン「第２のカウント処理」を詳細に説明する。
サブルーチン「第２のカウント処理」は、図９のステップＳ９０３で抽出したセル領域の数だけ、ステップＳ１８０１乃至Ｓ１８０８を繰り返す。
【００６５】
制御部２０は、ステップＳ１８０１において、図９のステップＳ９０３で抽出した各セル領域のセル情報をセルテーブル３０から順に取得する。最初のステップＳ１８０１においては、最初のセル領域（セルＩＤがＳ１）のセル情報を取得する。２回目以降のステップＳ１８０１においては、セルテーブル３０に格納された次のセルＩＤのセル領域のセル情報を取得する。このセル領域を基準セルとする。
【００６６】
次に、図９のステップＳ９０３で抽出したセル領域の数だけ、ステップＳ１８０２乃至Ｓ１８０８を繰り返す。
【００６７】
まず、制御部２０は、ステップＳ１８０２において、図９のステップＳ９０３で抽出した各セル領域のセル情報をセルテーブル３０から順に取得する。最初のステップＳ１８０２においては、最初のセル領域（セルＩＤがＳ１）のセル情報を取得する。２回目以降のステップＳ１８０２においては、セルテーブル３０に格納された次のセルＩＤのセル領域のセル情報を取得する。このセル領域を右隣接セルと仮定する。
【００６８】
制御部２０は、ステップＳ１８０３において、基準セルの右辺罫線番号と右隣接セルの左辺罫線番号が一致するか否かを判断する。以降、隣接するセルか否かの判断は、罫線番号が一致するかで判断する。一致しないと判断された場合（ステップＳ１８０３：ＮＯ）、ステップＳ１８０４乃至Ｓ１８０８をスキップし、ループの先頭（次のステップＳ１８０２）から実行する。
【００６９】
他方、一致すると判断された場合（ステップＳ１８０３：ＹＥＳ）、仮定された右隣接セルは基準セルに隣接するセル領域であると判断でき、制御部２０は、ステップＳ１８０４において、基準セルの上辺罫線番号と右隣接セルの上辺罫線番号が一致するか否かを判断する。一致しないと判断された場合（ステップＳ１８０４：ＮＯ）、ステップＳ１８０５乃至Ｓ１８０８をスキップし、ループの先頭（次のステップＳ１８０２）から実行する。
【００７０】
他方、一致すると判断された場合（ステップＳ１８０４：ＹＥＳ）、仮定された右隣接セルと基準セルが帳票画像の縦方向において同じ画素位置から始まっていると判断でき、制御部２０は、ステップＳ１８０５において、基準セルの下辺罫線番号と右隣接セルの下辺罫線番号が一致するか否かを判断する。一致しないと判断された場合（ステップＳ１８０５：ＮＯ）、ステップＳ１８０６乃至Ｓ１８０８をスキップし、ループの先頭（次のステップＳ１８０２）から実行する。
【００７１】
他方、一致すると判断された場合（ステップＳ１８０５：ＹＥＳ）、仮定された右隣接セルと基準セルが帳票画像の縦方向において同じ画素位置で終わっていると判断でき、ステップＳ１８０２で仮定した右隣接セルが真の右隣接セルであると確定されるので、制御部２０は、ステップＳ１８０６において、基準セルと右隣接セルについて第２の幾何学比を算出する。例えば、基準セルの横の長さに対する右隣接セルの横の長さを第２の幾何学比として算出する。
【００７２】
制御部２０は、ステップＳ１８０７において、ステップＳ１８０６で算出した第２の幾何学比が所定の閾値以上か否かを判断する。例えば、第２の幾何学比が１．５以上か否かを判断する。これは、見出しの右側にデータがあるか否かの判断となる。第２の幾何学比が所定の閾値以上でないと判断された場合（ステップＳ１８０７：ＮＯ）、ステップＳ１８０８をスキップし、ループの先頭（次のステップＳ１８０２）から実行する。
【００７３】
他方、第２の幾何学比が所定の閾値以上であると判断された場合（ステップＳ１８０７：ＹＥＳ）、制御部２０は、ステップＳ１８０８において、対象のセル領域が、見出しとデータが１対１の関係にある、例えば、図１６の（Ｂ）に示すような１対１セル６２であると判断してカウントアップし、１対１セル６２と判断されたセル領域の数を計数する。
【００７４】
図１９を用いて、サブルーチン「第３のカウント処理」を詳細に説明する。
サブルーチン「第３のカウント処理」は、図９のステップＳ９０３で抽出したセル領域の数だけ、ステップＳ１９０１乃至Ｓ１９１１を繰り返す。
【００７５】
制御部２０は、ステップＳ１９０１において、図９のステップＳ９０３で抽出した各セル領域のセル情報をセルテーブル３０から順に取得する。最初のステップＳ１９０１においては、最初のセル領域（セルＩＤがＳ１）のセル情報を取得する。２回目以降のステップＳ１９０１においては、セルテーブル３０に格納された次のセルＩＤのセル領域のセル情報を取得する。このセル領域を基準セルとする。
【００７６】
次に、図９のステップＳ９０３で抽出したセル領域の数だけ、ステップＳ１９０２乃至Ｓ１９１１を繰り返す。
【００７７】
まず、制御部２０は、ステップＳ１９０２において、図９のステップＳ９０３で抽出した各セル領域のセル情報をセルテーブル３０から順に取得する。最初のステップＳ１９０２においては、最初のセル領域（セルＩＤがＳ１）のセル情報を取得する。２回目以降のステップＳ１９０２においては、セルテーブル３０に格納された次のセルＩＤのセル領域のセル情報を取得する。このセル領域を右上隣接セルと仮定する。
【００７８】
制御部２０は、ステップＳ１９０３において、基準セルの右辺罫線番号と右上隣接セルの左辺罫線番号が一致するか否かを判断する。一致しないと判断された場合（ステップＳ１９０３：ＮＯ）、ステップＳ１９０４乃至Ｓ１９１１をスキップし、ループの先頭（次のステップＳ１９０２）から実行する。
【００７９】
他方、一致すると判断された場合（ステップＳ１９０３：ＹＥＳ）、仮定された右隣接セルは基準セルに隣接するセル領域であると判断でき、制御部２０は、ステップＳ１９０４において、基準セルの上辺罫線番号と右上隣接セルの上辺罫線番号が一致するか否かを判断する。一致しないと判断された場合（ステップＳ１９０４：ＮＯ）、ステップＳ１９０５乃至Ｓ１９１１をスキップし、ループの先頭（次のステップＳ１９０２）から実行する。
【００８０】
他方、一致すると判断された場合（ステップＳ１９０４：ＹＥＳ）、仮定された右上隣接セルと基準セルが帳票画像の縦方向において同じ画素位置から始まっていると判断でき、制御部２０は、ステップＳ１９０５において、基準セルと右上隣接セルについて第３の幾何学比を算出する。例えば、基準セルの横の長さに対する右上隣接セルの横の長さを第３の幾何学比として算出する。
【００８１】
制御部２０は、ステップＳ１９０６において、ステップＳ１９０５で算出した第３の幾何学比が所定の閾値以上か否かを判断する。例えば、第３の幾何学比が１．５以上か否かを判断する。これは、見出しの右側にデータがあるか否かの判断となる。第３の幾何学比が所定の閾値以上でないと判断された場合（ステップＳ１９０６：ＮＯ）、ステップＳ１９０７乃至Ｓ１９１１をスキップし、ループの先頭（次のステップＳ１９０２）から実行する。
【００８２】
他方、第３の幾何学比が所定の閾値以上であると判断された場合（ステップＳ１９０６：ＹＥＳ）、図９のステップＳ９０３で抽出したセル領域の数だけ、ステップＳ１９０７乃至Ｓ１９１１を繰り返す。まず、制御部２０は、ステップＳ１９０７において、セルテーブル３０に格納された情報から次のセル領域（セルテーブル３０において、ステップＳ１９０２で右上隣接セルとしたセル領域の次のセル領域）のセル情報を取得する。このセル領域を右下隣接セルと仮定する。
【００８３】
制御部２０は、ステップＳ１９０８において、右上隣接セルの左辺罫線番号と右下隣接セルの左辺罫線番号が一致するか否かを判断する。一致しないと判断された場合（ステップＳ１９０８：ＮＯ）、ステップＳ１９０９乃至Ｓ１９１１をスキップし、ループの先頭（次のステップＳ１９０７）から実行する。
【００８４】
他方、一致すると判断された場合（ステップＳ１９０８：ＹＥＳ）、制御部２０は、ステップＳ１９０９において、右上隣接セルの右辺罫線番号と右下隣接セルの右辺罫線番号が一致するか否かを判断する。一致しないと判断された場合（ステップＳ１９０９：ＮＯ）、ステップＳ１９１０乃至Ｓ１９１１をスキップし、ループの先頭（次のステップＳ１９０７）から実行する。
【００８５】
他方、一致すると判断された場合（ステップＳ１９０９：ＹＥＳ）、制御部２０は、ステップＳ１９１０において、基準セルの下辺罫線番号と右下隣接セルの下辺罫線番号が一致するか否かを判断する。一致しないと判断された場合（ステップＳ１９１０：ＮＯ）、ステップＳ１９１１をスキップし、ループの先頭（次のステップＳ１９０７）から実行する。
【００８６】
他方、一致すると判断された場合（ステップＳ１９１０：ＹＥＳ）、仮定された右下隣接セルと基準セルが帳票画像の縦方向において同じ画素位置で終わっていると判断でき、制御部２０は、ステップＳ１９１１において、対象のセル領域が、見出しとデータが１対Ｎ（複数）の関係にある、例えば、図１６（Ｃ）または（Ｄ）に示すような１対Ｎセル６３であると判断してカウントアップし、１対Ｎセル６３と判断されたセル領域の数を計数する。
【００８７】
図２０および図２１を用いて、サブルーチン「第４のカウント処理」を詳細に説明する。
【００８８】
サブルーチン「第４のカウント処理」は、図９のステップＳ９０３で抽出したセル領域の数だけ、ステップＳ２００１乃至Ｓ２０１４を繰り返す。
【００８９】
制御部２０は、図２０のステップＳ２００１において、図９のステップＳ９０３で抽出した各セル領域のセル情報をセルテーブル３０から順に取得する。最初のステップＳ２００１においては、最初のセル領域（セルＩＤがＳ１）のセル情報を取得する。２回目以降のステップＳ２００１においては、セルテーブル３０に格納された次のセルＩＤのセル領域のセル情報を取得する。このセル領域を基準セルとする。
【００９０】
次に、図９のステップＳ９０３で抽出したセル領域の数だけ、ステップＳ２００２乃至Ｓ２０１４を繰り返す。
【００９１】
まず、制御部２０は、ステップＳ２００２において、図９のステップＳ９０３で抽出した各セル領域のセル情報をセルテーブル３０から順に取得する。最初のステップＳ２００２においては、最初のセル領域（セルＩＤがＳ１）のセル情報を取得する。２回目以降のステップＳ２００２においては、セルテーブル３０に格納された次のセルＩＤのセル領域のセル情報を取得する。このセル領域を右隣接セルと仮定する。
【００９２】
制御部２０は、ステップＳ２００３において、基準セルの右辺罫線番号と右隣接セルの左辺罫線番号が一致するか否かを判断する。一致しないと判断された場合（ステップＳ２００３：ＮＯ）、ステップＳ２００４乃至Ｓ２０１４をスキップし、ループの先頭（次のステップＳ２００２）から実行する。
【００９３】
他方、一致すると判断された場合（ステップＳ２００３：ＹＥＳ）、仮定された右隣接セルは基準セルに隣接するセル領域であると判断でき、制御部２０は、ステップＳ２００４において、基準セルの上辺罫線番号と右隣接セルの上辺罫線番号が一致するか否かを判断する。一致しないと判断された場合（ステップＳ２００４：ＮＯ）、ステップＳ２００５乃至Ｓ２０１４をスキップし、ループの先頭（次のステップＳ２００２）から実行する。
【００９４】
他方、一致すると判断された場合（ステップＳ２００４：ＹＥＳ）、仮定された右隣接セルと基準セルが帳票画像の縦方向において同じ画素位置から始まっていると判断でき、制御部２０は、ステップＳ２００５において、基準セルと右隣接セルについて第４の幾何学比を算出する。例えば、基準セルの横の長さに対する右隣接セルの横の長さを第４の幾何学比として算出する。
【００９５】
制御部２０は、ステップＳ２００６において、ステップＳ２００５で算出した第４の幾何学比が所定の閾値以上か否かを判断する。例えば、第４の幾何学比が１．５以上か否かを判断する。これは、見出しの右側にデータがあるか否かの判断となる。第４の幾何学比が所定の閾値以上でないと判断された場合（ステップＳ２００６：ＮＯ）、ステップＳ２００７乃至Ｓ２０１４をスキップし、ループの先頭（次のステップＳ２００２）から実行する。
【００９６】
他方、第４の幾何学比が所定の閾値以上であると判断された場合（ステップＳ２００６：ＹＥＳ）、図９のステップＳ９０３で抽出したセル領域の数だけ、ステップＳ２００７乃至Ｓ２０１４を繰り返す。まず、制御部２０は、ステップＳ２００７において、図９のステップＳ９０３で抽出した各セル領域のセル情報をセルテーブル３０から順に取得する。最初のステップＳ２００７においては、最初のセル領域（セルＩＤがＳ１）のセル情報を取得する。２回目以降のステップＳ２０７においては、セルテーブル３０に格納された次のセルＩＤのセル領域のセル情報を取得する。このセル領域を右下隣接セルとする。
【００９７】
制御部２０は、ステップＳ２００８において、右隣接セルの左辺罫線番号と右下隣接セルの左辺罫線番号が一致するか否かを判断する。一致しないと判断された場合（ステップＳ２００８：ＮＯ）、ステップＳ２００９乃至Ｓ２０１４をスキップし、ループの先頭（次のステップＳ２００７）から実行する。
【００９８】
他方、一致すると判断された場合（ステップＳ２００８：ＹＥＳ）、制御部２０は、ステップＳ２００９において、右隣接セルの右辺罫線番号と右下隣接セルの右辺罫線番号が一致するか否かを判断する。一致しないと判断された場合（ステップＳ２００９：ＮＯ）、ステップＳ２０１０乃至Ｓ２０１４をスキップし、ループの先頭（次のステップＳ２００７）から実行する。
【００９９】
他方、一致すると判断された場合（ステップＳ２００９：ＹＥＳ）、図９のステップＳ９０３で抽出したセル領域の数だけ、ステップＳ２０１０乃至Ｓ２０１４を繰り返す。まず、制御部２０は、図２１のステップＳ２０１０において、図９のステップＳ９０３で抽出した各セル領域のセル情報をセルテーブル３０から順に取得する。最初のステップＳ２０１０においては、最初のセル領域（セルＩＤがＳ１）のセル情報を取得する。２回目以降のステップＳ２０１０においては、セルテーブル３０に格納された次のセルＩＤのセル領域のセル情報を取得する。このセル領域を下隣接セルとする。
【０１００】
制御部２０は、ステップＳ２０１１において、基準セルの左辺罫線番号と下隣接セルの左辺罫線番号が一致するか否かを判断する。一致しないと判断された場合（ステップＳ２０１１：ＮＯ）、ステップＳ２０１２乃至Ｓ２０１４をスキップし、ループの先頭（次のステップＳ２０１０）から実行する。
【０１０１】
他方、一致すると判断された場合（ステップＳ２０１１：ＹＥＳ）、制御部２０は、ステップＳ２０１２において、基準セルの右辺罫線番号と下隣接セルの右辺罫線番号が一致するか否かを判断する。一致しないと判断された場合（ステップＳ２０１２：ＮＯ）、ステップＳ２０１３乃至Ｓ２０１４をスキップし、ループの先頭（次のステップＳ２０１０）から実行する。
【０１０２】
他方、一致すると判断された場合（ステップＳ２０１２：ＹＥＳ）、制御部２０は、ステップＳ２０１３において、下隣接セルの下辺罫線番号と右下隣接セルの下辺罫線番号が一致するか否かを判断する。一致しないと判断された場合（ステップＳ２０１３：ＮＯ）、ステップＳ２０１４をスキップし、ループの先頭（次のステップＳ２０１０）から実行する。
【０１０３】
他方、一致すると判断された場合（ステップＳ２０１３：ＹＥＳ）、制御部２０は、ステップＳ２０１４において、対象のセル領域が、見出しとデータがＮ（複数）対Ｎ（複数）の関係にある、例えば、図１６（Ｅ）に示すような表構造セル６４であると判断してカウントアップし、表構造セル６４と判断されたセル領域の数を計数する。
【０１０４】
上述してきたようにして、形状パターン毎の計数結果を算出する。上述の例では、図２２に示すように、「横長セル」６１の計数結果が「２２個」、「１対１セル」６２の計数結果が「７個」、「１対Ｎセル」６３の計数結果が「２個」、および「表構造セル」６４の計数結果が「４個」となる。
【０１０５】
図１３の説明に戻る。
制御部２０は、ステップＳ１３０２において、ステップＳ１３０１のサブルーチン「表形状特徴カウント処理」の処理結果を合計する。すなわち、図１７乃至図２１を用いて説明したサブルーチン「第１のカウント処理」乃至「第４のカウント処理」の処理結果を合計する。具体的には、図１７のステップＳ１７０３で計数された横長セル６１の数と、図１８のステップＳ１８０８で計数された１対１セル６２の数と、図１９のステップＳ１９１１で計数された１対Ｎセル６３の数と、図２１のステップＳ２０１４で計数された表構造セル６４の数との合計値を得点とする。
【０１０６】
制御部２０は、ステップＳ１３０３において、ステップＳ１３０２で求めた得点が所定の閾値以上か否かを判断する。
【０１０７】
得点が閾値以上であると判断された場合（ステップＳ１３０３：ＹＥＳ）、すなわち帳票画像が正立であると判断した場合、ループを抜ける。
【０１０８】
他方、得点が閾値以上でないと判断された場合（ステップＳ１３０３：ＮＯ）、すなわち帳票画像が正立でないと判断した場合、制御部２０は、ステップＳ１３０４において、図２３に示すように、帳票画像を右に９０度回転させる。
【０１０９】
制御部２０は、ステップＳ１３０５において、回転させた帳票画像について再度罫線の抽出（図９のステップＳ９０２）、およびセル領域の抽出（図９のステップＳ９０３）を行う。
【０１１０】
なお、図１３に例示したサブルーチン「イメージ自動正立判定／回転処理」は、ステップＳ１３０３の判断ステップを満たした場合（ステップＳ１３０３：ＹＥＳ）、残りの方向での処理を省略（スキップ）する。またはスキップせずに、４方向全て実行した後に、各方向での得点を比較判断するようにしてもよい。すなわち、４方向のそれぞれの得点が最も高い方向を正立と判断する。
【０１１１】
図９の説明に戻る。
制御部２０は、ステップＳ９０５において、サブルーチン「定義体レス認識処理」を実行する。定義体レス認識処理は、公知の技術と同様であり、定義体を用いずに独自にレイアウトした私製帳票を認識するもので、見出しとデータとを求める。また、定義レス認識処理の代わりに定義体認識処理を行ってもよい。定義体認識処理は、公知の技術と同様であり、定義体を用いて帳票のデータを求める。詳細な説明は省略する。
【０１１２】
制御部２０は、ステップＳ９０６において、ステップＳ９０５で実行したサブルーチン「定義体レス認識処理」の認識結果を返す。
【０１１３】
図８の説明に戻る。
ステップＳ８０１で帳票処理装置１を操作した操作者は、ステップＳ８０３において、表示装置２に表示されたサブルーチン「定義体レス認識処理」の認識結果を確認する。
【０１１４】
操作者は、修正すべき認識結果があれば、ステップＳ８０４において、入力装置３２を用いて修正する。例えば、帳票中に記載した「振込人住所氏名」のデータが誤認識された場合、操作者は入力装置３２を用いて正しい住所または氏名に修正する。
【０１１５】
そして、操作者は、ステップＳ８０５において、表示装置２に表示された「完了キー」を押下することで、帳票処理の操作を終了する。
【０１１６】
以上、本発明の実施の形態を、図面を参照しながら説明してきたが、本発明が適用される帳票処理装置は、前述の実施の形態に限定されない。
【０１１７】
前述してきた本発明の実施の形態は、帳票処理装置の一機能としてハードウェアまたはＤＳＰ（Digital Signal Processor）ボードやＣＰＵボードでのファームウェアもしくはソフトウェアにより実現することができる。
【０１１８】
また、本発明が適用される帳票処理装置は、その機能が実行されるのであれば、前述の実施の形態に限定されることなく、単体の装置であっても、複数の装置からなるシステムあるいは統合装置であっても、ＬＡＮ、ＷＡＮ等のネットワークを介して処理が行なわれるシステムであってもよいことは言うまでもない。
【０１１９】
また、バスに接続されたＣＰＵ、ＲＯＭやＲＡＭのメモリ、入力装置、出力装置、外部記録装置、媒体駆動装置、ネットワーク接続装置で構成されるシステムでも実現できる。すなわち、前述してきた実施の形態のシステムを実現するソフトェアのプログラムを記録したＲＯＭやＲＡＭのメモリ、外部記録装置、可搬記録媒体を、帳票処理装置に供給し、その帳票処理装置のコンピュータがプログラムを読み出し実行することによっても、達成されることは言うまでもない。
【０１２０】
この場合、可搬記録媒体等から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した可搬記録媒体等は本発明を構成することになる。
【０１２１】
プログラムを供給するための可搬記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、磁気テープ、不揮発性のメモリーカード、ＲＯＭカード、電子メールやパソコン通信等のネットワーク接続装置（言い換えれば、通信回線）を介して記録した種々の記録媒体などを用いることができる。
【０１２２】
また、コンピュータ（情報処理装置）がメモリ上に読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部又は全部を行ない、その処理によっても前述した実施の形態の機能が実現される。
【０１２３】
さらに、可搬型記録媒体から読み出されたプログラムやプログラム（データ）提供者から提供されたプログラム（データ）が、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行ない、その処理によっても前述した実施の形態の機能が実現され得る。
【０１２４】
すなわち、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成又は形状を取ることができる。
【符号の説明】
【０１２５】
１          帳票処理装置
２          表示装置
３          画像読取装置
２０        制御部
２１        スキャナ制御部
２２        文字認識処理部
２３        罫線解析処理部
２４        帳票認識処理部
２５        イメージ正立判定処理部
２６        イメージ回転処理部
２７        文字認識辞書
２８        見出しテーブル
３０        セルテーブル
３１        ＣＰＵ（Central Processing Unit）
３２        入力装置
３３        出力装置
３４        ＲＯＭ（Read Only Memory）
３５        ＲＡＭ（Random Access Memory）
３６        インターフェース（Ｉ／Ｆ）
３７        バス
４１        画像読取部
４２        罫線抽出部
４３        セル領域認識部
４４        セル形状パターン計数部
４５        帳票画像正立判断部
４６        帳票画像回転部
６１        横長セル
６２        １対１セル
６３        １対Ｎセル
６４        表構造セル
【図１】
2018032076.tif 000003
【図２】
2018032076.tif 000004
【図３】
2018032076.tif 000005
【図４】
2018032076.tif 000006
【図５】
2018032076.tif 000007
【図６】
2018032076.tif 000008
【図７】
2018032076.tif 000009
【図８】
2018032076.tif 000010
【図９】
2018032076.tif 000011
【図１０】
2018032076.tif 000012
【図１１】
2018032076.tif 000013
【図１２】
2018032076.tif 000014
【図１３】
2018032076.tif 000015
【図１４】
2018032076.tif 000016
【図１５】
2018032076.tif 000017
【図１６】
2018032076.tif 000018
【図１７】
2018032076.tif 000019
【図１８】
2018032076.tif 000020
【図１９】
2018032076.tif 000021
【図２０】
2018032076.tif 000022
【図２１】
2018032076.tif 000023
【図２２】
2018032076.tif 000024
【図２３】
2018032076.tif 000025