説明

帳票上の文字を認識する文字認識装置、マスク処理方法、および、マスク処理プログラム

【課題】帳票上の文字を認識し、その帳票に含まれる見出しと、帳票上に記入または印字された文字(文字列)に対応するデータ部とを対応付けする文字認識装置において、データ部から範囲を指定してマスクを行うことを可能とした文字認識装置を提供することである。
【解決手段】提案する文字認識装置は、帳票を読み取って得られる帳票画像から文字列を認識する文字列認識部と、見出しに相当する文字列と、対応する枠であるデータ部に印字または記入されるべき文字列のデータ特性とを有する見出し定義情報を基に、前記認識された文字列のうちから見出しに相当する文字列を特定する見出し特定部と、特定された見出しに対応付けられるべき文字列がある枠としてのデータ部を特定するデータ部特定部と、マスクすべき見出しと、マスク方法とを有するマスク定義情報、及び、前記特定されたデータ部の文字列に対する認識結果情報を基に、前記マスクすべき領域を算出するマスク領域算出部と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、任意フォーマットの帳票を読み込んで帳票画像として電子化し、その帳票画像上の文字を認識し、その帳票画像に含まれる見出しと、帳票上に記入または印字された文字(文字列、データ)に対応する枠としてのデータ部との対応付けを行う文字認識装置における、データの一部または全部をマスクするマスク処理技術に関する。
【背景技術】
【0002】
金融機関等で使用する帳票に印字または記入された文字(文字列)を認識する文字認識装置がある。
帳票として、図23に示す振込依頼書を例にとる。この振込依頼書は、見出し部分の文字列と、データ部分の文字列とを有する単票形式の帳票で、見出し部分の文字列として、銀行名、支店名、種目、口座番号、受取人名、振込金額、等があり、これらの見出し部分に対応するデータ部分は、各見出し部分の隣接する枠にある。図23の振込依頼書では、見出し部分“金額”に対し、データ部“1335776”が記入されており、見出し部分“整理番号”に対し、データ部“012345678”が印字されている。
【0003】
混同しないために、用語の使用法を統一しておく。罫線で囲まれた枠を「セル」と呼ぶ。「見出し」とは帳票上のプレプリント文字の文字列であり、その見出しに対応する印字または記入欄があるもののことをいう。「見出し部」とは見出しが含まれるセル(文字枠)のことである。「データ部」とは、見出しに対応する印字または記入欄に相当するセル(文字枠)である。「データ」と単にいうとき、この「データ部」内に印字または記入された文字列を指すことがある。
【0004】
図23の振込依頼書をスキャナ等の入力装置から読み込むことで、帳票を画像化し、図24に示すように、その画像を用い、あらかじめ定義した定義領域(文字枠(帳票上で文字が印字または記入される枠))に対し文字認識処理(OCR処理)をかけ、文字認識結果を出力する。これが、帳票に対する文字認識の一般的な処理方法である。
【0005】
この結果、帳票をそのまま画像化することになり、帳票画像上の個人情報や機密情報が印字または記入されたままの形でオペレータ等に見えてしまい、個人情報の漏洩等のセキュリティ上の観点から好ましくない、という問題がある。
【0006】
帳票画像上の個人情報や機密情報をオペレータの権限では、見せたくない(役席以上の権限で閲覧可能としたい)という要望がある。そのため、図25に示すように、あらかじめ定義した定義領域(文字枠)のうちで、マスクを必要とする項目(定義領域)を設定し、図26に示すように、その設定したマスクする項目の定義領域全体に対し、それぞれマスク処理を行なっている
【0007】
このように、従来技術では、あらかじめ定義した領域の文字認識、及びあらかじめ定義した領域でのマスクしか対応できないため、以下のような不都合(問題点)が生じる。
(1)対応できる帳票が限定される。
銀行が作成するような制定帳票では、帳票の数が限られているが、私製帳票のような、エンドユーザが自由な構想で作成した帳票では、帳票レイアウトがまちまちであり、数限りないパターンがある。そのため、帳票レイアウトのパターン毎に認識する領域を定義しなければならなくなり、すべての帳票をサポートするのは困難である。
【0008】
(2)定義領域内からはみ出した文字(文字列)に対し、マスクできない
定義した領域全面に固定的にマスクをするため、領域からはみ出した文字に対しては完全にマスクができない。そのため、マスクからはみ出した文字の一部分から、文字が推測できる場合がある。
【0009】
(3)領域内(文字枠)にあるプレプリント文字がマスクされる
項目名が文字枠の中にあるレイアウトの場合、プレプリント文字がマスクされてしまうため、項目名が判断できない場合がある。
【0010】
(4)文字の位置や文字の記入の有無がわからない
文字の位置や記入有無を考慮せず、定義した領域全面にマスクをするため、領域内(文字枠)に、文字・文字列の記述があるのか無いのか、あるとしたらどの位置に何文字分の文字・文字列があるのか、が判断できない。
【0011】
(5)類似帳票の区別がつかなくなる
定義した領域がマスク領域となるため、定義した領域が広い場合、全体がマスクされ、似たような帳票と見た目の区別がつかなくなる場合がある。
【0012】
(6)部分的なマスクの対応ができない
領域内(文字枠)の文字・文字列内の、何文字目をマスクしたい、また特定のキーワード(例えば、県、市 等)をマスクせず他の文字列をマスクしたい、などの細かいマスクのニーズに対応ができない。
【0013】
このうち、上記問題点(1)については、特許文献1に示される帳票認識装置の技術を適用することで、任意のフォーマットの帳票を読み込んで帳票画像として電子化し、その帳票画像に含まれる見出しと、帳票上に記入または印字などされた文字(文字列)に対応するデータ部とを対応付けて、帳票画像を認識することが可能となる。この結果、殆どすべての帳票レイアウトを扱うことが可能となる。
【0014】
本願は、特許文献1の帳票認識技術を利用し、そのような帳票認識装置において、データ部から範囲を指定してマスクを行うマスク処理技術に関するものである。このようにすることで、後述するように、上記問題点(2)〜(6)についても解決する。
【0015】
なお、関連技術として、特許文献2には、フォーマット画像において、見出し語を認識して特定領域を認識する画像処理システムが示されている。このシステムでは、特定領域を単一色で塗りつぶすことを行っている。
【0016】
また、特許文献3には、文字領域を認識し、特定領域の座標を得て、特定領域をマスクする画像処理装置が示されている。
また、特許文献4には、守秘項目の座標値を取得し、守秘項目をマスクする電子ファイル装置が示されている。
【0017】
しかし、特許文献2〜4のいずれも、上記問題点(2)〜(6)を解決するものではない。
【先行技術文献】
【特許文献】
【0018】
【特許文献1】特開2010−003155号公報
【特許文献2】特開2006−319668号公報
【特許文献3】特開2007−158413号公報
【特許文献4】特開平06−290251号公報
【発明の概要】
【発明が解決しようとする課題】
【0019】
本発明は、上記問題を解決するためになされたものであり、帳票上の文字を認識し、その帳票に含まれる見出しと、帳票上に記入または印字された文字(文字列)に対応するデータ部とを対応付けする文字認識装置において、データ部から範囲を指定してマスクを行うことを可能とした文字認識装置、マスク処理方法、および、マスク処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0020】
提案する帳票上の文字を認識する文字認識装置は、帳票を読み取って得られる帳票画像から文字列を認識する文字列認識部と、見出しに相当する文字列と、対応する枠であるデータ部に印字または記入されるべき文字列のデータ特性とを有する見出し定義情報を基に、前記文字列認識部により認識された文字列のうちから見出しに相当する文字列を特定する見出し特定部と、特定された見出しに対応付けられるべき、印字または記入された文字列がある枠としてのデータ部を特定するデータ部特定部と、マスクすべきデータに対応する見出しと、マスク方法とを有するマスク定義情報、及び、前記特定されたデータ部の文字列に対する認識結果情報を基に、前記帳票画像上のマスクすべき領域を算出するマスク領域算出部と、算出されたマスク領域にマスク処理を施して前記帳票画像を出力する出力部と、を有する。
【発明の効果】
【0021】
提案する帳票上の文字を認識する文字認識装置では、マスクすべきデータに対応する見出しと、マスク方法とをマスク定義情報に指定することで、その見出しと対応付けられた枠としてのデータ部内に印字または記入された文字列からマスク方法の内容に応じてマスクする範囲を指定してマスク処理を行うことができる。
【図面の簡単な説明】
【0022】
【図1】本発明の一実施形態に係る帳票の文字を認識する文字認識装置の機能ブロック図である。
【図2】帳票イメージをマスク定義テーブルとともに示した図である。
【図3】見出しに対するデータ部の位置の探索方法を示す図である。
【図4】見出し定義テーブルのデータ構造を示す図である。
【図5】マスク定義テーブル、文字認識結果テーブル、及び、マスク座標テーブルのデータ構造を示す図である。
【図6】マスク方法の原理を示す図である。
【図7】帳票上の文字を認識する文字認識装置の全体フローチャートである。
【図8】マスクする文字を特定する処理のフローチャートである。
【図9】文字認識結果テーブルの状態を示す図(その1)である。
【図10】文字認識結果テーブルの状態を示す図(その2)である。
【図11】文字認識結果テーブルの状態を示す図(その3)である。
【図12】マスク座標を算出する処理のフローチャートである。
【図13】マスク領域の座標を算出する処理のフローチャートである。
【図14】マスク座標テーブルの生成方法を示す図である。
【図15】画像表示処理のフローチャートである。
【図16A】マスク処理を施さなかった場合の帳票イメージと、その帳票イメージに対する文字認識結果を示す図である。
【図16B】マスク処理を施した場合の帳票イメージと、その帳票イメージに対する文字認識結果を示す図である。
【図17】本実施形態のマスク処理方法の効果を示す図(その1)である。
【図18】本実施形態のマスク処理方法の効果を示す図(その2)である。
【図19】本実施形態のマスク処理方法の効果を示す図(その3)である。
【図20】本実施形態のマスク処理方法の効果を示す図(その4)である。
【図21】本実施形態のマスク処理方法の効果を示す図(その5)である。
【図22】本実施形態の帳票上の文字を認識する文字認識装置を実現可能なコンピュータの構成図である。
【図23】帳票イメージの一例(振込依頼書)を示す図である。
【図24】帳票イメージをその帳票上の文字認識結果とともに示した図である。
【図25】従来の帳票に対するマスク方法を示した図である。
【図26】従来の帳票に対するマスク処理結果を示した図である。
【発明を実施するための形態】
【0023】
以下、本発明に係る実施の形態について図面を参照して詳細に説明する。
図1は、本発明の一実施形態に係る帳票の文字を認識する文字認識装置の機能ブロック図である。
【0024】
この文字認識装置は、帳票を読み取って得られる電子化された帳票画像を入力し、その帳票画像上に存在する文字列(1つ以上の文字から構成されるもの)を認識するものである。
【0025】
この文字認識装置は、図1に示すように、入力部11、罫線/セル抽出部12、見出し部特定部13、データ部特定部14、データ部特徴解析部15、データ部文字認識部16、マスク対象特定部17、マスク座標算出部18、出力部19、画面表示部20、見出し定義DB21、マスク定義DB22、文字認識結果DB23、マスク座標DB24、文字認識エンジン25、を有する。
【0026】
図1において、入力部11は、スキャナ等により読み取られて電子化された帳票画像を入力する。
罫線/セル抽出部12は、入力部11が入力した帳票画像上に存在する記載をその種類別、例えば図、表、及び文字(文字列)に分けて分離して、分離された表から罫線を抽出し、表を罫線で囲まれたセルで分割し解析する。
【0027】
見出し部特定部13は、文字認識エンジンに文字認識を依頼して、文字認識結果、及び、文字認識座標を受け取り、この初回の文字認識の結果をふまえ、セル内の文字列と、見出し定義DB21とマッチングを行い、見出し部分のセル(見出しに相当する文字列を含むセル、以下、このようなセルのことを「見出し部」という)を抽出する。
【0028】
データ部特定部14は、見出し部のセルに隣接するセルを探索し、見出しに対応して印字または記入される文字列があるセル(以下、このようなセルのことを「データ部」という)として最適な(尤もらしい)セルを特定する。
【0029】
データ部特徴解析部15は、データ部の特徴を解析し、文字枠、ノイズ等を除去した文字認識に最適なイメージに加工する。
データ部文字認識部16は、文字認識エンジン25に文字認識を依頼して、文字認識結果及び、文字認識座標を受け取る。すなわち、データ部として特定されたセル内に含まれるデータに相当する文字列に対し、見出し定義テーブル31の対応する代表見出しに対するデータの属性等が考慮されてより精度が高い2回目の文字認識が行われ、見出し部特定部13が文字認識エンジンを呼び出したことによる初回の文字認識結果のうちの、データ部分に対する文字認識結果に対する調整(部分的な修正等)が行われる。
【0030】
マスク対象特定部17は、マスク定義DB22の、マスク条件に合う文字(文字列)を特定する。
マスク座標算出部18は、マスクする文字(文字列)の外郭を覆うマスク座標を算出する。
【0031】
出力部19は、文字認識の結果(文字認識結果DB23)、およびマスク座標の結果(マスク座標DB24)を画面表示部20に通知(送信)する。
画面表示部20は、マスク処理結果の帳票イメージを表示する。
【0032】
図2は、帳票イメージをマスク定義テーブルとともに示した図である。
図2において、帳票イメージ上には、見出し部に含まれる見出しに相当するプレプリント文字の文字列(以下、この“見出し部に含まれる見出しに相当するプレプリント文字の文字列”のことを単に“見出し”ということがある)として、銀行名101、金額104、預金種目106、口座番号108、口座名110、整理番号112、集団(団体)名114、集団(団体)ご住所116、がある。
【0033】
見出しに対して印字、記入される文字列がある枠(セル)としてのデータ部の位置を探索する方法としては、図3に示すように、見出しがあるセルとは別のセルがデータ部である場合に対しては、見出しの右、下、右下のセルから加点方式で探索する方法(最も得点が高いセルをデータ部として見出しに対応付ける)がある。
【0034】
見出し部とデータ部が一致する場合もある(例えば、図2の振込依頼書における集団(団体)ご住所116と、文字列117はセル118に共に含まれている)。このように、同じセル内に見出しとデータがあり、かつ、複数行ある条件の場合に対しては、そのセル(すなわち、見出し部兼用データ部)内においてデータを探索する方法(見出し以外の文字列をデータの候補とする方法)がある。
【0035】
図2では、帳票イメージの見出しとしての銀行名101に対しては、右隣りのセル102、103がデータ部として特定され、金額104に対しては、右隣りのセル105がデータ部として特定され、預金種目106に対しては、右隣りのセル107がデータ部として特定され、口座番号108に対しては、右隣りのセル109がデータ部として特定され、口座名110に対しては、右隣りのセル111がデータ部として特定され、整理番号112に対しては、下側に接するセル113がデータ部として特定され、集団(団体)名114に対しては、下側に接するセル115がデータ部として特定される。これに対し、見出しとしての集団(団体)ご住所116については、データ117もともにセル118に含まれていて、上述の見出し部とデータ部が共にセル118で一致するケースに該当する。
【0036】
図4は、見出し定義テーブルのデータ構造を示す図である。
図4に示すように、見出し定義テーブル31は、代表見出し、見出し位置、データ、文言バリエーションの各項目を有する。データは、属性、フォーマット(桁数等)、付帯記号の各項目を備えている。このデータは、代表見出しの項目に設定された各項目(銀行名、支店名、種目、口座番号、口座名、金額、整理番号、依頼人名、住所、等)がデータ部にどのような形式(桁数等)のデータ(このように、データ部に印字または記入される文字列を単に“データ”ということがある)を持つかを規定するものである。文言バリエーションは、代表見出しに示される語の、バリエーションを示すものである。見出し定義テーブル31は、見出し定義DB21に記憶される。
【0037】
帳票イメージ(帳票画像)から抽出した見出し文言に対し、見出し定義テーブル31の文言バリエーションの項目の文言と突合して、どの代表見出しに属するかを探索する。
例えば、帳票イメージ上の「預金種目」ならば、見出し定義テーブル31の文言バリエーションの項目に「預金種目」があるため、そのまま、代表見出しは「種目」となる。
【0038】
また、帳票イメージ上の「集団(団体)名」ならば、見出しの一部分の「団体」が、見出し定義テーブルの文言バリエーションの項目にあるため、代表見出しは「依頼人」にとなる。
このようにして、帳票画像上にある見出しが見出し定義テーブル31と対応付けられる。
【0039】
図5は、マスク定義テーブル、文字認識結果テーブル、及び、マスク座標テーブルのデータ構造を示す図である。マスク定義テーブル、文字認識結果テーブル、マスク座標テーブルはマスク定義DB22、文字認識結果DB23、マスク座標DB24にそれぞれ記憶される。
【0040】
図5に示すように、マスク定義テーブル32は、認識項目、マスク要否、マスク方法の各項目を有する。
ここで、認識項目は、見出し定義テーブルの代表見出しに一致するものである。マスク要否は、その認識項目(代表見出し)がマスクを必要とするものであるかどうかを示すフラグ情報である。フラグがオンであれば(図中、“○”印があれば)、その項目はマスク対象であり、フラグがオフであれば(図中、“×”印あるいは無印)であれば、その項目はマスクする対象ではない。
【0041】
また、図5において、文字認識結果テーブル33は、認識項目、文字認識桁、文字認識結果、開始X座標、開始Y座標、終了X座標、終了Y座標、マスク対象フラグ、マスク後文字認識結果、の各項目を有する。
【0042】
文字認識桁は、1かたまりとして認識した文字列のいくつ目の文字かを示している。認識項目が口座番号である場合(口座番号に対するデータ部の場合)、何桁目かを示している。文字認識結果は、その桁(位置)での認識結果の文字(1文字)を示している。開始X座標、開始Y座標は、文字に外接する矩形の左上の点の座標、終了X座標、終了Y座標は文字に外接する矩形の右下の点の座標をそれぞれ示している。左上に原点を持つ座標系が採用されているため、終了座標の方が開始座標より大きい値を持つ。
【0043】
マスク対象フラグは、その文字がマスク対象になっているかどうかを示すフラグ情報である。このように、ある項目に対応するデータ部に含まれる文字列において、その文字列内の文字毎にマスク対象フラグを持たせることで、認識項目に対応するデータ部の文字列のうちからマスクする範囲を指定することが可能となる。
【0044】
マスク後文字認識結果は、マスクした文字をどのように画面表示するかを指定するものである。ここでは、マスクした文字はすべて“*(アスタリスク)”に置き換えることにしている。他の文字で置き換えてもよい。
【0045】
また、図5において、マスク座標テーブル34は、認識項目、マスク番号、マスク開始X座標、マスク開始Y座標、マスク終了X座標、マスク終了Y座標、の各項目を有する。
マスク番号は、帳票イメージ上に形成されるマスク領域(本実施形態では単一色(例えば黒)による塗りつぶし)を識別するための領域番号である。
【0046】
マスク開始X座標、マスク開始Y座標、マスク終了X座標、マスク終了Y座標については、文字列の外接矩形(文字列を囲む四角形)の左上と右下の点である。これは、図6に示すように、文字座標から文字列を囲む、(最左端、最上端)、(最右端、最上端)、(最右端、最下端)、(最左端、最下端)の各座標を求めて、文字列を囲む四角形を求める。すなわち、視認性を考慮し、連続する文字は同じ高さでマスクする。なお、文字毎にマスクしてもよい。
【0047】
図7は、帳票上の文字を認識する文字認識装置の全体フローチャートである。
図7のステップS1で、入力部11は、文字認識対象の帳票をスキャナで読込み、帳票をイメージ化する。
【0048】
ステップS2では、罫線/セル抽出部12は、帳票画像をレイアウト解析し、罫線、及び、セルを抽出する。なお、セルとは、罫線で囲まれた枠(文字枠)のことである。
ステップS3で、見出し特定部13は、文字認識エンジン25に文字認識を依頼して、文字認識結果、及び、文字認識座標を受け取る。これにより、帳票画像上の文字全般に対しての初回の認識処理が行われる。また、見出し特定部13は、文字認識の結果をふまえ、セル内の文字列と、見出し定義テーブル31とマッチングを行い、見出しに相当する文字列を含むセル(すなわち、見出し部)を抽出する。
【0049】
ステップS4では、データ部特定部14は、見出し部分のセル(見出し部)に隣接するセルを探索し、データ部分として最適な(尤もらしい)セル(データ部)を特定する。
ステップS5では、データ部特徴解析部15は、データ部の特徴を解析し、文字枠、ノイズ等を除去した文字認識に最適なイメージに加工する。
【0050】
ステップS6では、データ部文字認識部16は、文字認識エンジンに文字認識を依頼して、文字認識結果、及び、文字認識座標を受け取る。ここでは、データ部として特定されたセル内に含まれるデータに相当する文字列に対し、見出し定義テーブル31の対応する代表見出しに対するデータの属性等が考慮されてより精度が高い2回目の文字認識が行われ、ステップS3での初回の文字認識結果のうちの、データ部分に対する文字認識結果に対する調整(部分的な修正等)が行われる。
【0051】
ステップS7では、マスク対象特定部17は、マスク定義テーブル32の、マスク条件(マスク方法)に合う文字(文字列)を特定する。
ステップS8では、マスク座標算出部18は、マスクする文字(文字列)の外郭を覆うマスク座標を算出する。
【0052】
ステップS9では、出力部19は、文字認識の結果(文字認識結果テーブル33)、およびマスク座標の結果(マスク座標テーブル34)を画面表示部20に通知する。そして、一連の処理を終了する。
【0053】
図8は、マスクする文字を特定する処理のフローチャートである。このフローチャートの処理は、マスク対象特定部17によって実行される。
図8のステップS11で、マスク対象特定部17は、文字認識結果テーブル33に文字認識結果、文字認識座標を格納する。すなわち、図9に示すように、文字認識結果テーブル33において、認識項目、文字認識桁、文字認識結果、開始X座標、開始Y座標、終了X座標、終了Y座標、マスク後文字認識結果、の各項目に認識処理の結果として値がそれぞれ設定される。なお、マスク後文字認識結果には、この時点では、文字認識結果と同一の文字が全桁で設定される。
【0054】
続く、ステップS12で、マスク対象特定部17は、文字認識結果テーブル33の全データ行を処理済みであるかどうかを判定する。
ステップS12で文字認識結果テーブル33の全データ行を処理済みであると判定された場合(ステップS12の判定結果がYesの場合)、一連の処理を終了する。
【0055】
ステップS12で文字認識結果テーブル33の全データ行を処理済みではないと判定された場合(ステップS12の判定結果がNoの場合)、ステップS13で、文字認識結果テーブル33から次の認識結果のデータ行を取得する。なお、このステップS13が初回に実行される場合は、先頭行を取得する。
【0056】
続く、ステップS14では、図5のマスク定義テーブル32から認識項目のマスク条件を取得する。すなわち、ステップS13で取得した行の認識項目の位置に設定された見出し名(銀行名、支店名、種目、口座番号、口座名、金額、整理番号、依頼人名、住所、振込手数料、等)と同一の見出し名を、マスク定義テーブル32の認識項目から見つけ、マスク定義テーブル32のその行のマスク要否、及び、マスク方法の項目に設定されたデータを取得する。
【0057】
続く、ステップS15では、取得されたマスク方法に応じて処理を分岐している。まず、マスク要否の項目がマスク定義テーブル32上で空欄になっている場合は、マスク要否のフラグがオフになっていてマスクなし、とみなし、ステップS15から先の処理がスキップされ、ステップS12に戻る。
【0058】
また、マスク要否の項目に、テーブル上で“○”印がついていて、マスク要否のフラグがオンになっている場合は、マスク方法に応じて処理を分岐する。
例えば、何桁目をマスクする、というように複数桁のうちのマスクする桁を指定するような条件の場合(ここでは、7桁の口座番号のうちの3桁、6桁、7桁目をマスクする場合を考える)、ステップS16で、マスク条件を満たす行かどうかが判定される。
【0059】
このステップS16の判定結果は、マスクする桁(3桁、6桁、7桁)に相当する文字認識結果テーブル33の行を現在処理していない限りYesとなることはない。マスクする桁以外に相当する行を処理している場合(例えば図10の1レコード目の処理のような場合)、ステップS16の判定結果はNoとなり、現在行が1行分進み、ステップS16が再度実行される。
【0060】
マスクする桁(3桁、6桁、7桁)に相当する文字認識結果テーブル33の行を現在処理している場合(例えば図10の7レコード目の処理のような場合)、ステップS16の判定結果がYesとなり、続く、ステップS17で、処理対象行のマスク対象フラグがONに設定され(図中、“○”で表記)、ステップS18で、処理対象行のマスク後文字認識結果の文字が“*”で置換される。置換は“*”以外の文字で行ってもかまわない。
【0061】
他のマスク方法(マスク条件)として、例えば、住所において、都道府県名は表示させ、市町村の“市”、“町”、“村”も表示させるが、それ以外はマスクする、という条件の場合、“都”、“道”、“府”、“県”という文字と、“市”、“町”、“村”という文字で挟まれた1つ以上の文字と、“市”、“町”、“村”以降の文字列とがマスク対象となるので、ステップS19において、マスク対象に処理対象行が該当するかどうかを判定する。
【0062】
ステップS19の判定結果がNoの場合、処理対象行を1行進めて再度ステップS19が実行される。
ステップS19の判定結果がYesの場合、ステップS20で、処理対象行のマスク対象フラグがONに設定され(図中、“○”で表記)、ステップS21で、処理対象行のマスク後文字認識結果の文字が“*”で置換される。
【0063】
なお、例えば、認識項目“口座番号”に対するマスク要否がオフで、“口座番号”がマスク対象になっていない場合、図11に示すように、文字認識結果テーブル33に対しては、ステップS11の格納処理のみが行われる(他のステップの処理はスキップする)。
【0064】
図12は、マスク座標を算出する処理のフローチャートである。このフローチャートの処理は、マスク座標算出部18によって実行される。
図12のステップ31で、マスク座標算出部18は、文字認識結果テーブル33の全データ行を処理済みであるかどうかを判定する。
【0065】
ステップ31で文字認識結果テーブル33の全データ行を処理済みであると判定された場合(ステップS31の判定結果がYesの場合)、一連の処理を終了する。
ステップ31で文字認識結果テーブル33の全データ行を処理済みでないと判定された場合(ステップS31の判定結果がNoの場合)、ステップS32で、マスク座標算出部18は、文字認識結果テーブル33から現在の認識結果のデータ行を取得する。
【0066】
そして、ステップS33で、その現在行で、マスク対象フラグがONかどうかを判定する。
ステップS33で現在行でマスク対象フラグがONでないと判定された場合(ステップS33の判定結果がNoの場合)、ステップS31に戻る。
【0067】
ステップS33で現在行でマスク対象フラグがONであると判定された場合(ステップS33の判定結果がYesの場合)、ステップS34で、マスク座標算出部18は、文字認識結果テーブル33から次の認識結果のデータ行を取得する。
【0068】
続く、ステップS35では、マスク座標算出部18は、ステップS32で取得した次行のマスク対象フラグがONであるかどうかを判定する。
ステップS35で次行のマスク対象フラグがONではないと判定された場合(ステップS35の判定結果がNoの場合)、ステップS37でマスク領域(四角形)の座標算出を行い、ステップS31に戻る。
【0069】
ステップS35で次行のマスク対象フラグがONであると判定された場合(ステップS35の判定結果がYesの場合)、ステップS36で、マスク領域座標の算出依頼用に、
マスク対象文字分の座標をワークにまとめる。そして、ステップS34に戻り、さらに次の認識結果のデータ行を取得する。
【0070】
このステップS34〜S36の処理は、連続するマスク対象文字を検索している。途切れたところで、1かたまりとしてとらえ、ステップS37において、1文字あるいは複数文字にまたがるマスク領域を算出する。
【0071】
図13は、マスク領域の座標を算出する処理のフローチャートである。この処理は、図12のステップS37の詳細フローチャートである。このフローチャートの処理は、マスク座標算出部18によって実行される。
【0072】
図13のステップS41で、マスク座標算出部18は、マスク領域の座標(左上X座標、左上Y座標、右下X座標、右下Y座標)に、1文字目の座標(左上X座標、左上Y座標、右下X座標、右下Y座標)を代入する。
【0073】
続く、ステップS42で、マスク座標算出部18は、全文字の座標計算が処理済みであるかどうかを判定する。
ステップS42で全文字の座標計算が処理済みであると判定された場合(ステップS42の判定結果がYesの場合)、ステップS43で、マスク領域の座標を、マスク座標テーブルに格納し、一連の処理を終了する。
【0074】
ステップS42で全文字の座標計算が処理済みではないと判定された場合(ステップS42の判定結果がNoの場合)、ステップS44で、次の文字の座標(左上X座標、左上Y座標、右下X座標、右下Y座標)を取得し、ステップS45で、左上X座標が、マスク領域の左上X座標より小さいかどうかを判定する。
【0075】
ステップS45で左上X座標が、マスク領域の左上X座標より小さくないと判定された場合(ステップS45の判定結果がNoの場合)、ステップS47に進む。
ステップS45で左上X座標が、マスク領域の左上X座標より小さいと判定された場合(ステップS45の判定結果がYesの場合)、ステップS46で、左上X座標を、マスク領域の左上X座標に代入し、ステップS47に進む。
【0076】
ステップS47では、左上Y座標が、マスク領域の左上Y座標より小さいかどうかを判定する。
ステップS47で左上Y座標が、マスク領域の左上Y座標より小さくないと判定された場合(ステップS47の判定結果がNoの場合)、ステップS49に進む。
【0077】
ステップS47で左上Y座標が、マスク領域の左上Y座標より小さいと判定された場合(ステップS47の判定結果がYesの場合)、ステップS48で、左上Y座標を、マスク領域の左上Y座標に代入し、ステップS49に進む。
【0078】
ステップS49では、右下X座標が、マスク領域の右下X座標より大きいかどうかを判定する。
ステップS49で、右下X座標が、マスク領域の右下X座標より大きくないと判定された場合(ステップS49の判定結果がNoの場合)、ステップS51に進む。
【0079】
ステップS49で、右下X座標が、マスク領域の右下X座標より大きいと判定された場合(ステップS49の判定結果がYesの場合)、ステップS50で、右下X座標を、マスク領域の右下X座標に代入し、ステップS51に進む。
【0080】
ステップS51では、右下Y座標が、マスク領域の右下Y座標より大きいかどうかを判定する。
ステップS51で、右下Y座標が、マスク領域の右下Y座標より大きくないと判定された場合(ステップS51の判定結果がNoの場合)、ステップS42に戻る。
【0081】
ステップS51で、右下Y座標が、マスク領域の右下Y座標より大きいと判定された場合(ステップS51の判定結果がYesの場合)、ステップS52で、右下Y座標を、マスク領域の右下Y座標に代入し、ステップS42に戻る。
【0082】
図14は、マスク座標テーブルの生成方法を示す図である。
図13のフローチャートの処理の結果として、例えば、7桁の口座番号の3桁、6桁、7桁目をマスクする場合を考えると、3桁目の場合は、1つ前や1つ後の桁がマスク対象になっていないので、3桁目の文字の開始X座標、開始Y座標、終了X座標、終了Y座標をマスク開始X座標、マスク開始Y座標、マスク終了X座標、マスク終了Y座標、として、マスク座標テーブル34のマスク番号“1”のレコードに格納する。
【0083】
これに対し、6桁目と7桁目は2文字連続でマスク対象フラグがONになっていることから、2文字の領域に対する最左端、最上端、最右端、最下端の座標を算出し、それらをマスク開始X座標、マスク開始Y座標、マスク終了X座標、マスク終了Y座標、として、マスク座標テーブル34のマスク番号“2”のレコードに格納する。
【0084】
図15は、画像表示処理のフローチャートである。このフローチャートの処理は、画面表示部20によって実行される。
図15のステップS61で、出力部19から通知された文字認識の結果(文字認識結果テーブル33)、およびマスク座標の結果(マスク座標テーブル34)を取得する。そして、ステップS62で、マスク座標テーブル34に指定されたマスク領域に対し、帳票イメージ上でマスク処理を行い、ステップS63で、図16Bに示すように、マスク処理を施した帳票イメージを画面表示する。なお、この際、図16Bに示すように、文字認識結果テーブル33から帳票イメージに対する文字認識結果もともに画面表示する。
【0085】
なお、図16Aは、マスク処理を施さなかった場合の帳票イメージと、その帳票イメージに対する文字認識結果を示す図である。
これに対し、図16Bは、マスク処理を施した場合の帳票イメージと、その帳票イメージに対する文字認識結果を示す図である。
【0086】
図16Bに示すように、本実施形態のマスク処理方法では、データ部の範囲を指定したマスクが可能となる。
以上説明したように、本実施形態の帳票上の文字を認識する文字認識装置による印字または記入された文字列であるデータ部のマスク処理方法では、マスクすべき(プレプリントの)見出しと、マスク方法とをマスク定義情報に指定することで、その見出しと対応付けられたデータ部(印字または記入された文字列)からマスク方法の内容に応じてマスクする範囲を指定してマスク処理を行うことができる。
【0087】
続いて、本実施形態の帳票上の文字を認識する文字認識装置によるマスク処理を行うことで、背景技術にて示した問題点(2)〜(6)が解決されることを、図17〜図21を参照して説明する。
【0088】
まず、問題点(2)の定義領域内からはみ出した文字(文字列)に対し、マスクできない点については、図17に示すように、従来は、定義した領域全面に固定的にマスクをするため、文字枠からはみ出した文字に対しては完全にマスクができない。そのため、マスクからはみ出した文字の一部分から、文字が推測できる場合がある。
【0089】
これに対し、本実施形態のマスク処理方法では、文字(文字列)毎にマスク処理をしているので、文字枠からはみだした文字に対してもマスク処理を行うことができ、文字枠からはみだした文字の一部が露出するという不都合を回避することができる。
【0090】
問題点(3)の領域内(文字枠)にあるプレプリント文字がマスクされる点については、図18に示すように、文字枠(セル)121内に見出し120とマスクすべきデータ122とがあった場合は、データ122の一部あるいは全部を(ここでは全部を)マスクしているので、見出し(プレプリント文字の文字列)120がマスクされることはなく、マスク処理された帳票イメージに対する視認性を向上させることができる。この結果、項目名が文字枠(セル)の中にあるレイアウトの場合に、プレプリント文字がマスクされてしまうために項目名が判断できないことを回避することができる。
【0091】
問題点(4)の文字の位置や文字の記入の有無がわからない点については、図19に示すように、従来では、文字の位置や記入有無を考慮せず、定義した領域全面にマスクをするため、領域内(文字枠)に、文字・文字列の記述があるのか無いのか、あるとしたらどの位置に何文字分の文字・文字列があるのか、が判断できなかった。しかし、本実施形態のマスク処理方法の場合、文字枠(セル)内から文字を探し出しマスクしているため、文字の位置や記入の有無が分かる(記入がない場合は、マスクすべき対象の項目であってもマスク処理は施されない)。
【0092】
問題点(5)の類似帳票の区別がつかなくなる点については、図20に示すように、従来は、定義した領域がマスク領域となるため、定義した領域が広い場合、全体がマスクされ、似たような帳票と見た目の区別がつかなくなる場合がある。また、定義した領域全面に対しマスク処理を行うため、帳票画像全体の視認性が悪くなる。これに対し、本実施形態のマスク処理方法では、文字列に外接する矩形(四角形)をマスク領域とするため、帳票レイアウトの大部分がオペレータに露出されることになり、類似している帳票の間でも、区別がつきやすくなる。また、マスク範囲がスマートになり、帳票画像全体が見やすくなる。
【0093】
問題点(6)の部分的なマスクの対応ができない点については、従来は、定義した領域(文字枠、セル)全体をマスクしているので、領域内(文字枠)の文字・文字列内の、何文字目をマスクしたい、また特定のキーワード(例えば、県、市 等)をマスクせず他の文字列をマスクしたい、などの細かいマスクのニーズに対応ができなかった。しかし、本実施形態のマスク処理方法では、文字毎にマスクするかどうかを決めることができるので、変化に富んだ部分的なマスクができる(文字列から範囲を指定してマスクすることができる)。
【0094】
図22は、図1に示す本実施形態の帳票上の文字を認識する文字認識装置を実現可能なコンピュータの構成図である。
図22に示すコンピュータは、CPU61、メモリ62、入力装置63、出力装置64、外部記憶装置65、媒体駆動装置66、及びネットワーク接続装置67を有し、 これらがバス68によって互いに接続された構成となっている。同図に示す構成は一例であり、これに限定されるものではない。
【0095】
CPU61は、当該コンピュータ全体の制御を行う。
メモリ62は、プログラム実行、データ更新等の際に、外部記憶装置65(あるいは可搬型の記録媒体69)に記憶されているプログラムあるいはデータを一時的に格納する例えばRAMである。CPU61は、プログラムをメモリ62に読み出して実行することにより、全体の制御を行う。
【0096】
入力装置63は、例えば、キーボード、マウス等の入力装置、或いはスキャナ等の画像読取装置と接続されたインターフェースである。入力装置に対するユーザの操作を検出し、その検出結果をCPU61に通知する。
【0097】
出力装置64は、例えば表示装置と接続された表示制御装置である。CPU61の制御によって送られてくるデータを表示装置上に出力させる。
ネットワーク接続装置67は、例えばイントラネットやインターネット等のネットワークを介して、外部装置と通信を行うためのものである。外部装置は、画像読取装置であってもよく、その画像読取装置と接続されたものであってもよい。外部記憶装置65は、例えばハードディスク装置である。主に各種データや プログラムの保存に用いられる。
【0098】
記憶媒体駆動装置66は、光ディスクや光磁気ディスク等の可搬型の記録媒体69にアクセスするものである。
本実施形態による帳票上の文字を認識する文字認識装置は、それに必要な機能を搭載したプログラム(以降「文字認識ソフト」と呼ぶ)をCPU61が実行することで実現される。文字認識ソフトは、記録媒体69に記録して配布してもよく、或いはネットワーク接続装置67により取得できるようにしてもよい。ここでは、外部記憶装置65に文字認識ソフト、及び、図1に示したDB21〜DB24が格納されていると想定する。
【0099】
上述した想定では、入力部11は例えばCPU61、メモリ62、入力装置63、外部記憶装置65、ネットワーク接続装置67、及びバス68によって実現される。出力部19は、例えばCPU61、メモリ62、出力装置64、外部記憶装置65、ネットワーク接続装置67、及びバス68によって実現される。DB21〜DB24は外部記憶装置65に相当する。他は、例えばCPU61、メモリ62、外部記憶装置65、及びバス68によって実現される。
【符号の説明】
【0100】
11 入力部
12 罫線/セル抽出部
13 見出し特定部
14 データ部特定部
15 データ部特徴解析部
16 データ部文字認識部
17 マスク対象特定部
18 マスク座標算出部
19 出力部
20 画面表示部
21 見出し定義DB
22 マスク定義DB
23 文字認識結果DB
24 マスク座標DB
25 文字認識エンジン
31 見出し定義テーブル
32 マスク定義テーブル
33 文字認識結果テーブル
34 マスク座標テーブル
61 CPU
62 メモリ
63 入力装置
64 出力装置
65 外部記憶装置
66 媒体駆動装置
67 ネットワーク接続装置
68 バス
69 可搬記録媒体
101、104、106、108、110、112、114、116、120 見出し
102、103、105、107、109、111、113、115 データ部
117、122 データ部内の文字列
118、121 見出し部兼用データ部

【特許請求の範囲】
【請求項1】
帳票上の文字の認識を行う文字認識装置において、
帳票を読み取って得られる帳票画像から文字列を認識する文字列認識部と、
見出しに相当する文字列と、対応する枠であるデータ部に印字または記入されるべき文字列のデータ特性とを有する見出し定義情報を基に、前記文字列認識部により認識された文字列のうちから見出しに相当する文字列を特定する見出し特定部と、
特定された見出しに対応付けられるべき、印字または記入された文字列がある枠としてのデータ部を特定するデータ部特定部と、
マスクすべきデータに対応する見出しと、マスク方法とを有するマスク定義情報、及び、前記特定されたデータ部の文字列に対する認識結果情報を基に、前記帳票画像上のマスクすべき領域を算出するマスク領域算出部と、
算出されたマスク領域にマスク処理を施して前記帳票画像を出力する出力部と、を有することを特徴とする文字認識装置。
【請求項2】
前記マスク方法は、文字列のうちでマスクする文字位置を指定すること、あるいは、文字列に含まれるキーとなる文字を指定し、その文字の前後の所定範囲をマスクすること、であることを特徴とする請求項1記載の文字認識装置。
【請求項3】
帳票を読み取って得られる帳票画像から文字列を認識する文字列認識部、を使用して帳票上の文字の認識を行う文字認識装置、が行うマスク処理方法において、
見出しに相当する文字列と、対応する枠であるデータ部に印字または記入されるべき文字列のデータ特性とを有する見出し定義情報を基に、前記文字列認識部により認識された文字列のうちから見出しに相当する文字列を特定する見出し特定ステップと、
特定された見出しに対応付けられるべき、印字または記入された文字列がある枠としてのデータ部を特定するデータ部特定ステップと、
マスクすべきデータに対応する見出しと、マスク方法とを有するマスク定義情報、及び、前記特定されたデータ部の文字列に対する認識結果情報を基に、前記帳票画像上のマスクすべき領域を算出するマスク領域算出ステップと、
算出されたマスク領域にマスク処理を施して前記帳票画像を出力する出力ステップと、を有することを特徴とするマスク処理方法。
【請求項4】
帳票を読み取って得られる帳票画像から文字列を認識する文字列認識部、を呼び出して帳票上の文字の認識を行わせるようにコンピュータを機能させるプログラムであり、
該プログラムは、コンピュータを、
見出しに相当する文字列と、対応する枠であるデータ部に印字または記入されるべき文字列のデータ特性とを有する見出し定義情報を基に、前記文字列認識部により認識された文字列のうちから見出しに相当する文字列を特定する見出し特定部、
特定された見出しに対応付けられるべき、印字または記入された文字列がある枠としてのデータ部を特定するデータ部特定部、
マスクすべきデータに対応する見出しと、マスク方法とを有するマスク定義情報、及び、前記特定されたデータ部の文字列に対する認識結果情報を基に、前記帳票画像上のマスクすべき領域を算出するマスク領域算出部、
算出されたマスク領域にマスク処理を施して前記帳票画像を出力する出力部、として機能させるマスク処理プログラム。

【図1】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図7】
image rotate

【図8】
image rotate

【図10】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図22】
image rotate

【図2】
image rotate

【図6】
image rotate

【図9】
image rotate

【図11】
image rotate

【図16A】
image rotate

【図16B】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate


【公開番号】特開2012−234344(P2012−234344A)
【公開日】平成24年11月29日(2012.11.29)
【国際特許分類】
【出願番号】特願2011−102221(P2011−102221)
【出願日】平成23年4月28日(2011.4.28)
【出願人】(000237639)富士通フロンテック株式会社 (667)
【Fターム(参考)】