(57)【特許請求の範囲】
【請求項１】
帳票上の文字の認識を行う文字認識装置において、
前記帳票のレイアウト解析を行ない、セルを検出する抽出部と、
前記帳票を読み取って得られる帳票画像から文字列を認識する文字列認識部と、
見出しに相当する文字列と、前記見出しの文字列が記載されるセルに隣接するセルからなるデータ部に印字または記入されるべき文字列のデータ特性とを有する見出し定義情報を基に、前記文字列認識部により認識された文字列のうちから見出しに相当する文字列を特定する見出し特定部と、
特定された見出しに対応付けられるべき、印字または記入された文字列があるセルとしての、前記見出しの文字列が記載されているセルに隣接するセルの内の一つであるデータ部を特定するデータ部特定部と、
マスクすべきデータ部に対応する見出しと、マスク方法とを有するマスク定義情報、及び、前記特定されたデータ部の文字列に対する認識結果情報を基に、前記帳票画像上の、マスクすべきデータ部内のマスクすべき領域を算出するマスク領域算出部と、
算出されたマスク領域にマスク処理を施して前記帳票画像を出力する出力部と、を有することを特徴とする文字認識装置。
【請求項２】
前記マスク方法は、文字列のうちでマスクする文字位置を指定すること、あるいは、文字列に含まれるキーとなる文字を指定し、その文字の前後の所定範囲をマスクすること、
であることを特徴とする請求項１記載の文字認識装置。
【請求項３】
帳票を読み取って得られる帳票画像から文字列を認識する文字列認識部、を使用して帳票上の文字の認識を行う文字認識装置、が行うマスク処理方法において、
前記帳票のレイアウト解析を行ない、セルを検出するステップと、
見出しに相当する文字列と、前記見出しの文字列が記載されるセルに隣接するセルからなるデータ部に印字または記入されるべき文字列のデータ特性とを有する見出し定義情報を基に、前記文字列認識部により認識された文字列のうちから見出しに相当する文字列を特定する見出し特定ステップと、
特定された見出しに対応付けられるべき、印字または記入された文字列があるセルとしての、前記見出しの文字列が記載されているセルに隣接するセルの内の一つであるデータ部を特定するデータ部特定ステップと、
マスクすべきデータに対応する見出しと、マスク方法とを有するマスク定義情報、及び、前記特定されたデータ部の文字列に対する認識結果情報を基に、前記帳票画像上の、マスクすべきデータ部内のマスクすべき領域を算出するマスク領域算出ステップと、
算出されたマスク領域にマスク処理を施して前記帳票画像を出力する出力ステップと、
を有することを特徴とするマスク処理方法。
【請求項４】
帳票を読み取って得られる帳票画像から文字列を認識する文字列認識部、を呼び出して帳票上の文字の認識を行わせるようにコンピュータを機能させるプログラムであり、
該プログラムは、コンピュータを、
前記帳票のレイアウト解析を行ない、セルを検出する抽出部と、
見出しに相当する文字列と、前記見出しの文字列が記載されるセルに隣接するセルからなるデータ部に印字または記入されるべき文字列のデータ特性とを有する見出し定義情報を基に、前記文字列認識部により認識された文字列のうちから見出しに相当する文字列を特定する見出し特定部、
特定された見出しに対応付けられるべき、印字または記入された文字列があるセルとしての、前記見出しの文字列が記載されているセルに隣接するセルの内の一つであるデータ部を特定するデータ部特定部、
マスクすべきデータに対応する見出しと、マスク方法とを有するマスク定義情報、及び、前記特定されたデータ部の文字列に対する認識結果情報を基に、前記帳票画像上の、マスクすべきデータ部内のマスクすべき領域を算出するマスク領域算出部、
算出されたマスク領域にマスク処理を施して前記帳票画像を出力する出力部、として機能させるマスク処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、任意フォーマットの帳票を読み込んで帳票画像として電子化し、その帳票画像上の文字を認識し、その帳票画像に含まれる見出しと、帳票上に記入または印字された文字（文字列、データ）に対応する枠としてのデータ部との対応付けを行う文字認識装置における、データの一部または全部をマスクするマスク処理技術に関する。
【背景技術】
【０００２】
金融機関等で使用する帳票に印字または記入された文字（文字列）を認識する文字認識装置がある。
帳票として、図２３に示す振込依頼書を例にとる。この振込依頼書は、見出し部分の文字列と、データ部分の文字列とを有する単票形式の帳票で、見出し部分の文字列として、銀行名、支店名、種目、口座番号、受取人名、振込金額、等があり、これらの見出し部分に対応するデータ部分は、各見出し部分の隣接する枠にある。図２３の振込依頼書では、見出し部分“金額”に対し、データ部“１３３５７７６”が記入されており、見出し部分“整理番号”に対し、データ部“012345678”が印字されている。
【０００３】
混同しないために、用語の使用法を統一しておく。罫線で囲まれた枠を「セル」と呼ぶ。「見出し」とは帳票上のプレプリント文字の文字列であり、その見出しに対応する印字または記入欄があるもののことをいう。「見出し部」とは見出しが含まれるセル（文字枠）のことである。「データ部」とは、見出しに対応する印字または記入欄に相当するセル（文字枠）である。「データ」と単にいうとき、この「データ部」内に印字または記入された文字列を指すことがある。
【０００４】
図２３の振込依頼書をスキャナ等の入力装置から読み込むことで、帳票を画像化し、図２４に示すように、その画像を用い、あらかじめ定義した定義領域（文字枠（帳票上で文字が印字または記入される枠））に対し文字認識処理（ＯＣＲ処理）をかけ、文字認識結果を出力する。これが、帳票に対する文字認識の一般的な処理方法である。
【０００５】
この結果、帳票をそのまま画像化することになり、帳票画像上の個人情報や機密情報が印字または記入されたままの形でオペレータ等に見えてしまい、個人情報の漏洩等のセキュリティ上の観点から好ましくない、という問題がある。
【０００６】
帳票画像上の個人情報や機密情報をオペレータの権限では、見せたくない（役席以上の権限で閲覧可能としたい）という要望がある。そのため、図２５に示すように、あらかじめ定義した定義領域（文字枠）のうちで、マスクを必要とする項目（定義領域）を設定し、図２６に示すように、その設定したマスクする項目の定義領域全体に対し、それぞれマスク処理を行なっている
【０００７】
このように、従来技術では、あらかじめ定義した領域の文字認識、及びあらかじめ定義した領域でのマスクしか対応できないため、以下のような不都合（問題点）が生じる。
（１）対応できる帳票が限定される。
銀行が作成するような制定帳票では、帳票の数が限られているが、私製帳票のような、エンドユーザが自由な構想で作成した帳票では、帳票レイアウトがまちまちであり、数限りないパターンがある。そのため、帳票レイアウトのパターン毎に認識する領域を定義しなければならなくなり、すべての帳票をサポートするのは困難である。
【０００８】
（２）定義領域内からはみ出した文字（文字列）に対し、マスクできない
定義した領域全面に固定的にマスクをするため、領域からはみ出した文字に対しては完全にマスクができない。そのため、マスクからはみ出した文字の一部分から、文字が推測できる場合がある。
【０００９】
（３）領域内（文字枠）にあるプレプリント文字がマスクされる
項目名が文字枠の中にあるレイアウトの場合、プレプリント文字がマスクされてしまうため、項目名が判断できない場合がある。
【００１０】
（４）文字の位置や文字の記入の有無がわからない
文字の位置や記入有無を考慮せず、定義した領域全面にマスクをするため、領域内（文字枠）に、文字・文字列の記述があるのか無いのか、あるとしたらどの位置に何文字分の文字・文字列があるのか、が判断できない。
【００１１】
（５）類似帳票の区別がつかなくなる
定義した領域がマスク領域となるため、定義した領域が広い場合、全体がマスクされ、似たような帳票と見た目の区別がつかなくなる場合がある。
【００１２】
（６）部分的なマスクの対応ができない
領域内（文字枠）の文字・文字列内の、何文字目をマスクしたい、また特定のキーワード（例えば、県、市 等）をマスクせず他の文字列をマスクしたい、などの細かいマスクのニーズに対応ができない。
【００１３】
このうち、上記問題点（１）については、特許文献１に示される帳票認識装置の技術を適用することで、任意のフォーマットの帳票を読み込んで帳票画像として電子化し、その帳票画像に含まれる見出しと、帳票上に記入または印字などされた文字（文字列）に対応するデータ部とを対応付けて、帳票画像を認識することが可能となる。この結果、殆どすべての帳票レイアウトを扱うことが可能となる。
【００１４】
本願は、特許文献１の帳票認識技術を利用し、そのような帳票認識装置において、データ部から範囲を指定してマスクを行うマスク処理技術に関するものである。このようにすることで、後述するように、上記問題点（２）〜（６）についても解決する。
【００１５】
なお、関連技術として、特許文献２には、フォーマット画像において、見出し語を認識して特定領域を認識する画像処理システムが示されている。このシステムでは、特定領域を単一色で塗りつぶすことを行っている。
【００１６】
また、特許文献３には、文字領域を認識し、特定領域の座標を得て、特定領域をマスクする画像処理装置が示されている。
また、特許文献４には、守秘項目の座標値を取得し、守秘項目をマスクする電子ファイル装置が示されている。
【００１７】
しかし、特許文献２〜４のいずれも、上記問題点（２）〜（６）を解決するものではない。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開２０１０−００３１５５号公報
【特許文献２】特開２００６−３１９６６８号公報
【特許文献３】特開２００７−１５８４１３号公報
【特許文献４】特開平０６−２９０２５１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
本発明は、上記問題を解決するためになされたものであり、帳票上の文字を認識し、その帳票に含まれる見出しと、帳票上に記入または印字された文字（文字列）に対応するデータ部とを対応付けする文字認識装置において、データ部から範囲を指定してマスクを行うことを可能とした文字認識装置、マスク処理方法、および、マスク処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
提案する帳票上の文字を認識する文字認識装置は、帳票を読み取って得られる帳票画像から文字列を認識する文字列認識部と、見出しに相当する文字列と、対応する枠であるデータ部に印字または記入されるべき文字列のデータ特性とを有する見出し定義情報を基に、前記文字列認識部により認識された文字列のうちから見出しに相当する文字列を特定する見出し特定部と、特定された見出しに対応付けられるべき、印字または記入された文字列がある枠としてのデータ部を特定するデータ部特定部と、マスクすべきデータに対応する見出しと、マスク方法とを有するマスク定義情報、及び、前記特定されたデータ部の文字列に対する認識結果情報を基に、前記帳票画像上のマスクすべき領域を算出するマスク領域算出部と、算出されたマスク領域にマスク処理を施して前記帳票画像を出力する出力部と、を有する。
【発明の効果】
【００２１】
提案する帳票上の文字を認識する文字認識装置では、マスクすべきデータに対応する見出しと、マスク方法とをマスク定義情報に指定することで、その見出しと対応付けられた枠としてのデータ部内に印字または記入された文字列からマスク方法の内容に応じてマスクする範囲を指定してマスク処理を行うことができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態に係る帳票の文字を認識する文字認識装置の機能ブロック図である。
【図２】帳票イメージをマスク定義テーブルとともに示した図である。
【図３】見出しに対するデータ部の位置の探索方法を示す図である。
【図４】見出し定義テーブルのデータ構造を示す図である。
【図５】マスク定義テーブル、文字認識結果テーブル、及び、マスク座標テーブルのデータ構造を示す図である。
【図６】マスク方法の原理を示す図である。
【図７】帳票上の文字を認識する文字認識装置の全体フローチャートである。
【図８】マスクする文字を特定する処理のフローチャートである。
【図９】文字認識結果テーブルの状態を示す図（その１）である。
【図１０】文字認識結果テーブルの状態を示す図（その２）である。
【図１１】文字認識結果テーブルの状態を示す図（その３）である。
【図１２】マスク座標を算出する処理のフローチャートである。
【図１３】マスク領域の座標を算出する処理のフローチャートである。
【図１４】マスク座標テーブルの生成方法を示す図である。
【図１５】画像表示処理のフローチャートである。
【図１６Ａ】マスク処理を施さなかった場合の帳票イメージと、その帳票イメージに対する文字認識結果を示す図である。
【図１６Ｂ】マスク処理を施した場合の帳票イメージと、その帳票イメージに対する文字認識結果を示す図である。
【図１７】本実施形態のマスク処理方法の効果を示す図（その１）である。
【図１８】本実施形態のマスク処理方法の効果を示す図（その２）である。
【図１９】本実施形態のマスク処理方法の効果を示す図（その３）である。
【図２０】本実施形態のマスク処理方法の効果を示す図（その４）である。
【図２１】本実施形態のマスク処理方法の効果を示す図（その５）である。
【図２２】本実施形態の帳票上の文字を認識する文字認識装置を実現可能なコンピュータの構成図である。
【図２３】帳票イメージの一例（振込依頼書）を示す図である。
【図２４】帳票イメージをその帳票上の文字認識結果とともに示した図である。
【図２５】従来の帳票に対するマスク方法を示した図である。
【図２６】従来の帳票に対するマスク処理結果を示した図である。
【発明を実施するための形態】
【００２３】
以下、本発明に係る実施の形態について図面を参照して詳細に説明する。
図１は、本発明の一実施形態に係る帳票の文字を認識する文字認識装置の機能ブロック図である。
【００２４】
この文字認識装置は、帳票を読み取って得られる電子化された帳票画像を入力し、その帳票画像上に存在する文字列（１つ以上の文字から構成されるもの）を認識するものである。
【００２５】
この文字認識装置は、図１に示すように、入力部１１、罫線／セル抽出部１２、見出し部特定部１３、データ部特定部１４、データ部特徴解析部１５、データ部文字認識部１６、マスク対象特定部１７、マスク座標算出部１８、出力部１９、画面表示部２０、見出し定義ＤＢ２１、マスク定義ＤＢ２２、文字認識結果ＤＢ２３、マスク座標ＤＢ２４、文字認識エンジン２５、を有する。
【００２６】
図１において、入力部１１は、スキャナ等により読み取られて電子化された帳票画像を入力する。
罫線／セル抽出部１２は、入力部１１が入力した帳票画像上に存在する記載をその種類別、例えば図、表、及び文字（文字列）に分けて分離して、分離された表から罫線を抽出し、表を罫線で囲まれたセルで分割し解析する。
【００２７】
見出し部特定部１３は、文字認識エンジンに文字認識を依頼して、文字認識結果、及び、文字認識座標を受け取り、この初回の文字認識の結果をふまえ、セル内の文字列と、見出し定義ＤＢ２１とマッチングを行い、見出し部分のセル（見出しに相当する文字列を含むセル、以下、このようなセルのことを「見出し部」という）を抽出する。
【００２８】
データ部特定部１４は、見出し部のセルに隣接するセルを探索し、見出しに対応して印字または記入される文字列があるセル（以下、このようなセルのことを「データ部」という）として最適な（尤もらしい）セルを特定する。
【００２９】
データ部特徴解析部１５は、データ部の特徴を解析し、文字枠、ノイズ等を除去した文字認識に最適なイメージに加工する。
データ部文字認識部１６は、文字認識エンジン２５に文字認識を依頼して、文字認識結果及び、文字認識座標を受け取る。すなわち、データ部として特定されたセル内に含まれるデータに相当する文字列に対し、見出し定義テーブル３１の対応する代表見出しに対するデータの属性等が考慮されてより精度が高い２回目の文字認識が行われ、見出し部特定部１３が文字認識エンジンを呼び出したことによる初回の文字認識結果のうちの、データ部分に対する文字認識結果に対する調整（部分的な修正等）が行われる。
【００３０】
マスク対象特定部１７は、マスク定義ＤＢ２２の、マスク条件に合う文字（文字列）を特定する。
マスク座標算出部１８は、マスクする文字（文字列）の外郭を覆うマスク座標を算出する。
【００３１】
出力部１９は、文字認識の結果（文字認識結果ＤＢ２３）、およびマスク座標の結果（マスク座標ＤＢ２４）を画面表示部２０に通知（送信）する。
画面表示部２０は、マスク処理結果の帳票イメージを表示する。
【００３２】
図２は、帳票イメージをマスク定義テーブルとともに示した図である。
図２において、帳票イメージ上には、見出し部に含まれる見出しに相当するプレプリント文字の文字列（以下、この“見出し部に含まれる見出しに相当するプレプリント文字の文字列”のことを単に“見出し”ということがある）として、銀行名１０１、金額１０４、預金種目１０６、口座番号１０８、口座名１１０、整理番号１１２、集団（団体）名１１４、集団（団体）ご住所１１６、がある。
【００３３】
見出しに対して印字、記入される文字列がある枠（セル）としてのデータ部の位置を探索する方法としては、図３に示すように、見出しがあるセルとは別のセルがデータ部である場合に対しては、見出しの右、下、右下のセルから加点方式で探索する方法（最も得点が高いセルをデータ部として見出しに対応付ける）がある。
【００３４】
見出し部とデータ部が一致する場合もある（例えば、図２の振込依頼書における集団（団体）ご住所１１６と、文字列１１７はセル１１８に共に含まれている）。このように、同じセル内に見出しとデータがあり、かつ、複数行ある条件の場合に対しては、そのセル（すなわち、見出し部兼用データ部）内においてデータを探索する方法（見出し以外の文字列をデータの候補とする方法）がある。
【００３５】
図２では、帳票イメージの見出しとしての銀行名１０１に対しては、右隣りのセル１０２、１０３がデータ部として特定され、金額１０４に対しては、右隣りのセル１０５がデータ部として特定され、預金種目１０６に対しては、右隣りのセル１０７がデータ部として特定され、口座番号１０８に対しては、右隣りのセル１０９がデータ部として特定され、口座名１１０に対しては、右隣りのセル１１１がデータ部として特定され、整理番号１１２に対しては、下側に接するセル１１３がデータ部として特定され、集団（団体）名１１４に対しては、下側に接するセル１１５がデータ部として特定される。これに対し、見出しとしての集団（団体）ご住所１１６については、データ１１７もともにセル１１８に含まれていて、上述の見出し部とデータ部が共にセル１１８で一致するケースに該当する。
【００３６】
図４は、見出し定義テーブルのデータ構造を示す図である。
図４に示すように、見出し定義テーブル３１は、代表見出し、見出し位置、データ、文言バリエーションの各項目を有する。データは、属性、フォーマット（桁数等）、付帯記号の各項目を備えている。このデータは、代表見出しの項目に設定された各項目（銀行名、支店名、種目、口座番号、口座名、金額、整理番号、依頼人名、住所、等）がデータ部にどのような形式（桁数等）のデータ（このように、データ部に印字または記入される文字列を単に“データ”ということがある）を持つかを規定するものである。文言バリエーションは、代表見出しに示される語の、バリエーションを示すものである。見出し定義テーブル３１は、見出し定義ＤＢ２１に記憶される。
【００３７】
帳票イメージ（帳票画像）から抽出した見出し文言に対し、見出し定義テーブル３１の文言バリエーションの項目の文言と突合して、どの代表見出しに属するかを探索する。
例えば、帳票イメージ上の「預金種目」ならば、見出し定義テーブル３１の文言バリエーションの項目に「預金種目」があるため、そのまま、代表見出しは「種目」となる。
【００３８】
また、帳票イメージ上の「集団（団体）名」ならば、見出しの一部分の「団体」が、見出し定義テーブルの文言バリエーションの項目にあるため、代表見出しは「依頼人」にとなる。
このようにして、帳票画像上にある見出しが見出し定義テーブル３１と対応付けられる。
【００３９】
図５は、マスク定義テーブル、文字認識結果テーブル、及び、マスク座標テーブルのデータ構造を示す図である。マスク定義テーブル、文字認識結果テーブル、マスク座標テーブルはマスク定義ＤＢ２２、文字認識結果ＤＢ２３、マスク座標ＤＢ２４にそれぞれ記憶される。
【００４０】
図５に示すように、マスク定義テーブル３２は、認識項目、マスク要否、マスク方法の各項目を有する。
ここで、認識項目は、見出し定義テーブルの代表見出しに一致するものである。マスク要否は、その認識項目（代表見出し）がマスクを必要とするものであるかどうかを示すフラグ情報である。フラグがオンであれば（図中、“○”印があれば）、その項目はマスク対象であり、フラグがオフであれば（図中、“×”印あるいは無印）であれば、その項目はマスクする対象ではない。
【００４１】
また、図５において、文字認識結果テーブル３３は、認識項目、文字認識桁、文字認識結果、開始Ｘ座標、開始Ｙ座標、終了Ｘ座標、終了Ｙ座標、マスク対象フラグ、マスク後文字認識結果、の各項目を有する。
【００４２】
文字認識桁は、１かたまりとして認識した文字列のいくつ目の文字かを示している。認識項目が口座番号である場合（口座番号に対するデータ部の場合）、何桁目かを示している。文字認識結果は、その桁（位置）での認識結果の文字（１文字）を示している。開始Ｘ座標、開始Ｙ座標は、文字に外接する矩形の左上の点の座標、終了Ｘ座標、終了Ｙ座標は文字に外接する矩形の右下の点の座標をそれぞれ示している。左上に原点を持つ座標系が採用されているため、終了座標の方が開始座標より大きい値を持つ。
【００４３】
マスク対象フラグは、その文字がマスク対象になっているかどうかを示すフラグ情報である。このように、ある項目に対応するデータ部に含まれる文字列において、その文字列内の文字毎にマスク対象フラグを持たせることで、認識項目に対応するデータ部の文字列のうちからマスクする範囲を指定することが可能となる。
【００４４】
マスク後文字認識結果は、マスクした文字をどのように画面表示するかを指定するものである。ここでは、マスクした文字はすべて“＊（アスタリスク）”に置き換えることにしている。他の文字で置き換えてもよい。
【００４５】
また、図５において、マスク座標テーブル３４は、認識項目、マスク番号、マスク開始Ｘ座標、マスク開始Ｙ座標、マスク終了Ｘ座標、マスク終了Ｙ座標、の各項目を有する。
マスク番号は、帳票イメージ上に形成されるマスク領域（本実施形態では単一色（例えば黒）による塗りつぶし）を識別するための領域番号である。
【００４６】
マスク開始Ｘ座標、マスク開始Ｙ座標、マスク終了Ｘ座標、マスク終了Ｙ座標については、文字列の外接矩形（文字列を囲む四角形）の左上と右下の点である。これは、図６に示すように、文字座標から文字列を囲む、（最左端、最上端）、（最右端、最上端）、（最右端、最下端）、（最左端、最下端）の各座標を求めて、文字列を囲む四角形を求める。すなわち、視認性を考慮し、連続する文字は同じ高さでマスクする。なお、文字毎にマスクしてもよい。
【００４７】
図７は、帳票上の文字を認識する文字認識装置の全体フローチャートである。
図７のステップＳ１で、入力部１１は、文字認識対象の帳票をスキャナで読込み、帳票をイメージ化する。
【００４８】
ステップＳ２では、罫線／セル抽出部１２は、帳票画像をレイアウト解析し、罫線、及び、セルを抽出する。なお、セルとは、罫線で囲まれた枠（文字枠）のことである。
ステップＳ３で、見出し特定部１３は、文字認識エンジン２５に文字認識を依頼して、文字認識結果、及び、文字認識座標を受け取る。これにより、帳票画像上の文字全般に対しての初回の認識処理が行われる。また、見出し特定部１３は、文字認識の結果をふまえ、セル内の文字列と、見出し定義テーブル３１とマッチングを行い、見出しに相当する文字列を含むセル（すなわち、見出し部）を抽出する。
【００４９】
ステップＳ４では、データ部特定部１４は、見出し部分のセル（見出し部）に隣接するセルを探索し、データ部分として最適な（尤もらしい）セル（データ部）を特定する。
ステップＳ５では、データ部特徴解析部１５は、データ部の特徴を解析し、文字枠、ノイズ等を除去した文字認識に最適なイメージに加工する。
【００５０】
ステップＳ６では、データ部文字認識部１６は、文字認識エンジンに文字認識を依頼して、文字認識結果、及び、文字認識座標を受け取る。ここでは、データ部として特定されたセル内に含まれるデータに相当する文字列に対し、見出し定義テーブル３１の対応する代表見出しに対するデータの属性等が考慮されてより精度が高い２回目の文字認識が行われ、ステップＳ３での初回の文字認識結果のうちの、データ部分に対する文字認識結果に対する調整（部分的な修正等）が行われる。
【００５１】
ステップＳ７では、マスク対象特定部１７は、マスク定義テーブル３２の、マスク条件（マスク方法）に合う文字（文字列）を特定する。
ステップＳ８では、マスク座標算出部１８は、マスクする文字（文字列）の外郭を覆うマスク座標を算出する。
【００５２】
ステップＳ９では、出力部１９は、文字認識の結果（文字認識結果テーブル３３）、およびマスク座標の結果（マスク座標テーブル３４）を画面表示部２０に通知する。そして、一連の処理を終了する。
【００５３】
図８は、マスクする文字を特定する処理のフローチャートである。このフローチャートの処理は、マスク対象特定部１７によって実行される。
図８のステップＳ１１で、マスク対象特定部１７は、文字認識結果テーブル３３に文字認識結果、文字認識座標を格納する。すなわち、図９に示すように、文字認識結果テーブル３３において、認識項目、文字認識桁、文字認識結果、開始Ｘ座標、開始Ｙ座標、終了Ｘ座標、終了Ｙ座標、マスク後文字認識結果、の各項目に認識処理の結果として値がそれぞれ設定される。なお、マスク後文字認識結果には、この時点では、文字認識結果と同一の文字が全桁で設定される。
【００５４】
続く、ステップＳ１２で、マスク対象特定部１７は、文字認識結果テーブル３３の全データ行を処理済みであるかどうかを判定する。
ステップＳ１２で文字認識結果テーブル３３の全データ行を処理済みであると判定された場合（ステップＳ１２の判定結果がＹｅｓの場合）、一連の処理を終了する。
【００５５】
ステップＳ１２で文字認識結果テーブル３３の全データ行を処理済みではないと判定された場合（ステップＳ１２の判定結果がＮｏの場合）、ステップＳ１３で、文字認識結果テーブル３３から次の認識結果のデータ行を取得する。なお、このステップＳ１３が初回に実行される場合は、先頭行を取得する。
【００５６】
続く、ステップＳ１４では、図５のマスク定義テーブル３２から認識項目のマスク条件を取得する。すなわち、ステップＳ１３で取得した行の認識項目の位置に設定された見出し名（銀行名、支店名、種目、口座番号、口座名、金額、整理番号、依頼人名、住所、振込手数料、等）と同一の見出し名を、マスク定義テーブル３２の認識項目から見つけ、マスク定義テーブル３２のその行のマスク要否、及び、マスク方法の項目に設定されたデータを取得する。
【００５７】
続く、ステップＳ１５では、取得されたマスク方法に応じて処理を分岐している。まず、マスク要否の項目がマスク定義テーブル３２上で空欄になっている場合は、マスク要否のフラグがオフになっていてマスクなし、とみなし、ステップＳ１５から先の処理がスキップされ、ステップＳ１２に戻る。
【００５８】
また、マスク要否の項目に、テーブル上で“○”印がついていて、マスク要否のフラグがオンになっている場合は、マスク方法に応じて処理を分岐する。
例えば、何桁目をマスクする、というように複数桁のうちのマスクする桁を指定するような条件の場合（ここでは、７桁の口座番号のうちの３桁、６桁、７桁目をマスクする場合を考える）、ステップＳ１６で、マスク条件を満たす行かどうかが判定される。
【００５９】
このステップＳ１６の判定結果は、マスクする桁（３桁、６桁、７桁）に相当する文字認識結果テーブル３３の行を現在処理していない限りＹｅｓとなることはない。マスクする桁以外に相当する行を処理している場合（例えば図１０の１レコード目の処理のような場合）、ステップＳ１６の判定結果はＮｏとなり、現在行が１行分進み、ステップＳ１６が再度実行される。
【００６０】
マスクする桁（３桁、６桁、７桁）に相当する文字認識結果テーブル３３の行を現在処理している場合（例えば図１０の７レコード目の処理のような場合）、ステップＳ１６の判定結果がＹｅｓとなり、続く、ステップＳ１７で、処理対象行のマスク対象フラグがＯＮに設定され（図中、“○”で表記）、ステップＳ１８で、処理対象行のマスク後文字認識結果の文字が“＊”で置換される。置換は“＊”以外の文字で行ってもかまわない。
【００６１】
他のマスク方法（マスク条件）として、例えば、住所において、都道府県名は表示させ、市町村の“市”、“町”、“村”も表示させるが、それ以外はマスクする、という条件の場合、“都”、“道”、“府”、“県”という文字と、“市”、“町”、“村”という文字で挟まれた１つ以上の文字と、“市”、“町”、“村”以降の文字列とがマスク対象となるので、ステップＳ１９において、マスク対象に処理対象行が該当するかどうかを判定する。
【００６２】
ステップＳ１９の判定結果がＮｏの場合、処理対象行を１行進めて再度ステップＳ１９が実行される。
ステップＳ１９の判定結果がＹｅｓの場合、ステップＳ２０で、処理対象行のマスク対象フラグがＯＮに設定され（図中、“○”で表記）、ステップＳ２１で、処理対象行のマスク後文字認識結果の文字が“＊”で置換される。
【００６３】
なお、例えば、認識項目“口座番号”に対するマスク要否がオフで、“口座番号”がマスク対象になっていない場合、図１１に示すように、文字認識結果テーブル３３に対しては、ステップＳ１１の格納処理のみが行われる（他のステップの処理はスキップする）。
【００６４】
図１２は、マスク座標を算出する処理のフローチャートである。このフローチャートの処理は、マスク座標算出部１８によって実行される。
図１２のステップ３１で、マスク座標算出部１８は、文字認識結果テーブル３３の全データ行を処理済みであるかどうかを判定する。
【００６５】
ステップ３１で文字認識結果テーブル３３の全データ行を処理済みであると判定された場合（ステップＳ３１の判定結果がＹｅｓの場合）、一連の処理を終了する。
ステップ３１で文字認識結果テーブル３３の全データ行を処理済みでないと判定された場合（ステップＳ３１の判定結果がＮｏの場合）、ステップＳ３２で、マスク座標算出部１８は、文字認識結果テーブル３３から現在の認識結果のデータ行を取得する。
【００６６】
そして、ステップＳ３３で、その現在行で、マスク対象フラグがＯＮかどうかを判定する。
ステップＳ３３で現在行でマスク対象フラグがＯＮでないと判定された場合（ステップＳ３３の判定結果がＮｏの場合）、ステップＳ３１に戻る。
【００６７】
ステップＳ３３で現在行でマスク対象フラグがＯＮであると判定された場合（ステップＳ３３の判定結果がＹｅｓの場合）、ステップＳ３４で、マスク座標算出部１８は、文字認識結果テーブル３３から次の認識結果のデータ行を取得する。
【００６８】
続く、ステップＳ３５では、マスク座標算出部１８は、ステップＳ３２で取得した次行のマスク対象フラグがＯＮであるかどうかを判定する。
ステップＳ３５で次行のマスク対象フラグがＯＮではないと判定された場合（ステップＳ３５の判定結果がＮｏの場合）、ステップＳ３７でマスク領域（四角形）の座標算出を行い、ステップＳ３１に戻る。
【００６９】
ステップＳ３５で次行のマスク対象フラグがＯＮであると判定された場合（ステップＳ３５の判定結果がＹｅｓの場合）、ステップＳ３６で、マスク領域座標の算出依頼用に、
マスク対象文字分の座標をワークにまとめる。そして、ステップＳ３４に戻り、さらに次の認識結果のデータ行を取得する。
【００７０】
このステップＳ３４〜Ｓ３６の処理は、連続するマスク対象文字を検索している。途切れたところで、１かたまりとしてとらえ、ステップＳ３７において、１文字あるいは複数文字にまたがるマスク領域を算出する。
【００７１】
図１３は、マスク領域の座標を算出する処理のフローチャートである。この処理は、図１２のステップＳ３７の詳細フローチャートである。このフローチャートの処理は、マスク座標算出部１８によって実行される。
【００７２】
図１３のステップＳ４１で、マスク座標算出部１８は、マスク領域の座標（左上Ｘ座標、左上Ｙ座標、右下Ｘ座標、右下Ｙ座標）に、１文字目の座標（左上Ｘ座標、左上Ｙ座標、右下Ｘ座標、右下Ｙ座標）を代入する。
【００７３】
続く、ステップＳ４２で、マスク座標算出部１８は、全文字の座標計算が処理済みであるかどうかを判定する。
ステップＳ４２で全文字の座標計算が処理済みであると判定された場合（ステップＳ４２の判定結果がＹｅｓの場合）、ステップＳ４３で、マスク領域の座標を、マスク座標テーブルに格納し、一連の処理を終了する。
【００７４】
ステップＳ４２で全文字の座標計算が処理済みではないと判定された場合（ステップＳ４２の判定結果がＮｏの場合）、ステップＳ４４で、次の文字の座標（左上Ｘ座標、左上Ｙ座標、右下Ｘ座標、右下Ｙ座標）を取得し、ステップＳ４５で、左上Ｘ座標が、マスク領域の左上Ｘ座標より小さいかどうかを判定する。
【００７５】
ステップＳ４５で左上Ｘ座標が、マスク領域の左上Ｘ座標より小さくないと判定された場合（ステップＳ４５の判定結果がＮｏの場合）、ステップＳ４７に進む。
ステップＳ４５で左上Ｘ座標が、マスク領域の左上Ｘ座標より小さいと判定された場合（ステップＳ４５の判定結果がＹｅｓの場合）、ステップＳ４６で、左上Ｘ座標を、マスク領域の左上Ｘ座標に代入し、ステップＳ４７に進む。
【００７６】
ステップＳ４７では、左上Ｙ座標が、マスク領域の左上Ｙ座標より小さいかどうかを判定する。
ステップＳ４７で左上Ｙ座標が、マスク領域の左上Ｙ座標より小さくないと判定された場合（ステップＳ４７の判定結果がＮｏの場合）、ステップＳ４９に進む。
【００７７】
ステップＳ４７で左上Ｙ座標が、マスク領域の左上Ｙ座標より小さいと判定された場合（ステップＳ４７の判定結果がＹｅｓの場合）、ステップＳ４８で、左上Ｙ座標を、マスク領域の左上Ｙ座標に代入し、ステップＳ４９に進む。
【００７８】
ステップＳ４９では、右下Ｘ座標が、マスク領域の右下Ｘ座標より大きいかどうかを判定する。
ステップＳ４９で、右下Ｘ座標が、マスク領域の右下Ｘ座標より大きくないと判定された場合（ステップＳ４９の判定結果がＮｏの場合）、ステップＳ５１に進む。
【００７９】
ステップＳ４９で、右下Ｘ座標が、マスク領域の右下Ｘ座標より大きいと判定された場合（ステップＳ４９の判定結果がＹｅｓの場合）、ステップＳ５０で、右下Ｘ座標を、マスク領域の右下Ｘ座標に代入し、ステップＳ５１に進む。
【００８０】
ステップＳ５１では、右下Ｙ座標が、マスク領域の右下Ｙ座標より大きいかどうかを判定する。
ステップＳ５１で、右下Ｙ座標が、マスク領域の右下Ｙ座標より大きくないと判定された場合（ステップＳ５１の判定結果がＮｏの場合）、ステップＳ４２に戻る。
【００８１】
ステップＳ５１で、右下Ｙ座標が、マスク領域の右下Ｙ座標より大きいと判定された場合（ステップＳ５１の判定結果がＹｅｓの場合）、ステップＳ５２で、右下Ｙ座標を、マスク領域の右下Ｙ座標に代入し、ステップＳ４２に戻る。
【００８２】
図１４は、マスク座標テーブルの生成方法を示す図である。
図１３のフローチャートの処理の結果として、例えば、７桁の口座番号の３桁、６桁、７桁目をマスクする場合を考えると、３桁目の場合は、１つ前や１つ後の桁がマスク対象になっていないので、３桁目の文字の開始Ｘ座標、開始Ｙ座標、終了Ｘ座標、終了Ｙ座標をマスク開始Ｘ座標、マスク開始Ｙ座標、マスク終了Ｘ座標、マスク終了Ｙ座標、として、マスク座標テーブル３４のマスク番号“１”のレコードに格納する。
【００８３】
これに対し、６桁目と７桁目は２文字連続でマスク対象フラグがＯＮになっていることから、２文字の領域に対する最左端、最上端、最右端、最下端の座標を算出し、それらをマスク開始Ｘ座標、マスク開始Ｙ座標、マスク終了Ｘ座標、マスク終了Ｙ座標、として、マスク座標テーブル３４のマスク番号“２”のレコードに格納する。
【００８４】
図１５は、画像表示処理のフローチャートである。このフローチャートの処理は、画面表示部２０によって実行される。
図１５のステップＳ６１で、出力部１９から通知された文字認識の結果（文字認識結果テーブル３３）、およびマスク座標の結果（マスク座標テーブル３４）を取得する。そして、ステップＳ６２で、マスク座標テーブル３４に指定されたマスク領域に対し、帳票イメージ上でマスク処理を行い、ステップＳ６３で、図１６Ｂに示すように、マスク処理を施した帳票イメージを画面表示する。なお、この際、図１６Ｂに示すように、文字認識結果テーブル３３から帳票イメージに対する文字認識結果もともに画面表示する。
【００８５】
なお、図１６Ａは、マスク処理を施さなかった場合の帳票イメージと、その帳票イメージに対する文字認識結果を示す図である。
これに対し、図１６Ｂは、マスク処理を施した場合の帳票イメージと、その帳票イメージに対する文字認識結果を示す図である。
【００８６】
図１６Ｂに示すように、本実施形態のマスク処理方法では、データ部の範囲を指定したマスクが可能となる。
以上説明したように、本実施形態の帳票上の文字を認識する文字認識装置による印字または記入された文字列であるデータ部のマスク処理方法では、マスクすべき（プレプリントの）見出しと、マスク方法とをマスク定義情報に指定することで、その見出しと対応付けられたデータ部（印字または記入された文字列）からマスク方法の内容に応じてマスクする範囲を指定してマスク処理を行うことができる。
【００８７】
続いて、本実施形態の帳票上の文字を認識する文字認識装置によるマスク処理を行うことで、背景技術にて示した問題点（２）〜（６）が解決されることを、図１７〜図２１を参照して説明する。
【００８８】
まず、問題点（２）の定義領域内からはみ出した文字（文字列）に対し、マスクできない点については、図１７に示すように、従来は、定義した領域全面に固定的にマスクをするため、文字枠からはみ出した文字に対しては完全にマスクができない。そのため、マスクからはみ出した文字の一部分から、文字が推測できる場合がある。
【００８９】
これに対し、本実施形態のマスク処理方法では、文字（文字列）毎にマスク処理をしているので、文字枠からはみだした文字に対してもマスク処理を行うことができ、文字枠からはみだした文字の一部が露出するという不都合を回避することができる。
【００９０】
問題点（３）の領域内（文字枠）にあるプレプリント文字がマスクされる点については、図１８に示すように、文字枠（セル）１２１内に見出し１２０とマスクすべきデータ１２２とがあった場合は、データ１２２の一部あるいは全部を（ここでは全部を）マスクしているので、見出し（プレプリント文字の文字列）１２０がマスクされることはなく、マスク処理された帳票イメージに対する視認性を向上させることができる。この結果、項目名が文字枠（セル）の中にあるレイアウトの場合に、プレプリント文字がマスクされてしまうために項目名が判断できないことを回避することができる。
【００９１】
問題点（４）の文字の位置や文字の記入の有無がわからない点については、図１９に示すように、従来では、文字の位置や記入有無を考慮せず、定義した領域全面にマスクをするため、領域内（文字枠）に、文字・文字列の記述があるのか無いのか、あるとしたらどの位置に何文字分の文字・文字列があるのか、が判断できなかった。しかし、本実施形態のマスク処理方法の場合、文字枠（セル）内から文字を探し出しマスクしているため、文字の位置や記入の有無が分かる（記入がない場合は、マスクすべき対象の項目であってもマスク処理は施されない）。
【００９２】
問題点（５）の類似帳票の区別がつかなくなる点については、図２０に示すように、従来は、定義した領域がマスク領域となるため、定義した領域が広い場合、全体がマスクされ、似たような帳票と見た目の区別がつかなくなる場合がある。また、定義した領域全面に対しマスク処理を行うため、帳票画像全体の視認性が悪くなる。これに対し、本実施形態のマスク処理方法では、文字列に外接する矩形（四角形）をマスク領域とするため、帳票レイアウトの大部分がオペレータに露出されることになり、類似している帳票の間でも、区別がつきやすくなる。また、マスク範囲がスマートになり、帳票画像全体が見やすくなる。
【００９３】
問題点（６）の部分的なマスクの対応ができない点については、従来は、定義した領域（文字枠、セル）全体をマスクしているので、領域内（文字枠）の文字・文字列内の、何文字目をマスクしたい、また特定のキーワード（例えば、県、市 等）をマスクせず他の文字列をマスクしたい、などの細かいマスクのニーズに対応ができなかった。しかし、本実施形態のマスク処理方法では、文字毎にマスクするかどうかを決めることができるので、変化に富んだ部分的なマスクができる（文字列から範囲を指定してマスクすることができる）。
【００９４】
図２２は、図１に示す本実施形態の帳票上の文字を認識する文字認識装置を実現可能なコンピュータの構成図である。
図２２に示すコンピュータは、ＣＰＵ６１、メモリ６２、入力装置６３、出力装置６４、外部記憶装置６５、媒体駆動装置６６、及びネットワーク接続装置６７を有し、 これらがバス６８によって互いに接続された構成となっている。同図に示す構成は一例であり、これに限定されるものではない。
【００９５】
ＣＰＵ６１は、当該コンピュータ全体の制御を行う。
メモリ６２は、プログラム実行、データ更新等の際に、外部記憶装置６５（あるいは可搬型の記録媒体６９）に記憶されているプログラムあるいはデータを一時的に格納する例えばＲＡＭである。ＣＰＵ６１は、プログラムをメモリ６２に読み出して実行することにより、全体の制御を行う。
【００９６】
入力装置６３は、例えば、キーボード、マウス等の入力装置、或いはスキャナ等の画像読取装置と接続されたインターフェースである。入力装置に対するユーザの操作を検出し、その検出結果をＣＰＵ６１に通知する。
【００９７】
出力装置６４は、例えば表示装置と接続された表示制御装置である。ＣＰＵ６１の制御によって送られてくるデータを表示装置上に出力させる。
ネットワーク接続装置６７は、例えばイントラネットやインターネット等のネットワークを介して、外部装置と通信を行うためのものである。外部装置は、画像読取装置であってもよく、その画像読取装置と接続されたものであってもよい。外部記憶装置６５は、例えばハードディスク装置である。主に各種データや プログラムの保存に用いられる。
【００９８】
記憶媒体駆動装置６６は、光ディスクや光磁気ディスク等の可搬型の記録媒体６９にアクセスするものである。
本実施形態による帳票上の文字を認識する文字認識装置は、それに必要な機能を搭載したプログラム（以降「文字認識ソフト」と呼ぶ）をＣＰＵ６１が実行することで実現される。文字認識ソフトは、記録媒体６９に記録して配布してもよく、或いはネットワーク接続装置６７により取得できるようにしてもよい。ここでは、外部記憶装置６５に文字認識ソフト、及び、図１に示したＤＢ２１〜ＤＢ２４が格納されていると想定する。
【００９９】
上述した想定では、入力部１１は例えばＣＰＵ６１、メモリ６２、入力装置６３、外部記憶装置６５、ネットワーク接続装置６７、及びバス６８によって実現される。出力部１９は、例えばＣＰＵ６１、メモリ６２、出力装置６４、外部記憶装置６５、ネットワーク接続装置６７、及びバス６８によって実現される。ＤＢ２１〜ＤＢ２４は外部記憶装置６５に相当する。他は、例えばＣＰＵ６１、メモリ６２、外部記憶装置６５、及びバス６８によって実現される。
【符号の説明】
【０１００】
１１  入力部
１２  罫線／セル抽出部
１３  見出し特定部
１４  データ部特定部
１５  データ部特徴解析部
１６  データ部文字認識部
１７  マスク対象特定部
１８  マスク座標算出部
１９  出力部
２０  画面表示部
２１  見出し定義ＤＢ
２２  マスク定義ＤＢ
２３  文字認識結果ＤＢ
２４  マスク座標ＤＢ
２５  文字認識エンジン
３１  見出し定義テーブル
３２  マスク定義テーブル
３３  文字認識結果テーブル
３４  マスク座標テーブル
６１  ＣＰＵ
６２  メモリ
６３  入力装置
６４  出力装置
６５  外部記憶装置
６６  媒体駆動装置
６７  ネットワーク接続装置
６８  バス
６９  可搬記録媒体
１０１、１０４、１０６、１０８、１１０、１１２、１１４、１１６、１２０  見出し
１０２、１０３、１０５、１０７、１０９、１１１、１１３、１１５  データ部
１１７、１２２  データ部内の文字列
１１８、１２１  見出し部兼用データ部
【図１】
0005661549.tif 000002
【図３】
0005661549.tif 000003
【図４】
0005661549.tif 000004
【図５】
0005661549.tif 000005
【図７】
0005661549.tif 000006
【図８】
0005661549.tif 000007
【図１０】
0005661549.tif 000008
【図１２】
0005661549.tif 000009
【図１３】
0005661549.tif 000010
【図１４】
0005661549.tif 000011
【図１５】
0005661549.tif 000012
【図２２】
0005661549.tif 000013
【図２】
0005661549.tif 000014
【図６】
0005661549.tif 000015
【図９】
0005661549.tif 000016
【図１１】
0005661549.tif 000017
【図１６Ａ】
0005661549.tif 000018
【図１６Ｂ】
0005661549.tif 000019
【図１７】
0005661549.tif 000020
【図１８】
0005661549.tif 000021
【図１９】
0005661549.tif 000022
【図２０】
0005661549.tif 000023
【図２１】
0005661549.tif 000024
【図２３】
0005661549.tif 000025
【図２４】
0005661549.tif 000026
【図２５】
0005661549.tif 000027
【図２６】
0005661549.tif 000028