以下、添付図面を参照しながら、本発明の文書処理装置を実施するための形態を詳細に説明する。図1〜図29は、本発明の実施形態を例示する図である。これらの図において、同一の符号を付した部分は同一物を表し、基本的な構成及び動作は同様であるものとする。尚、本発明の実施形態において、使用される機器、手法等は一例であり、本発明はこれらに限定されるものではないことは勿論である。
なお、以後の説明では「テーブル」構造を用いて本発明の情報について説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくても良く、リスト、DB、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「DB」、「キュー」等について単に「情報」と呼ぶことがある。
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
以後の説明では、各種処理において、「画像データ分類部」「画像切出し部」「照合部」等を主語として説明を行うが、これらの処理部は、プロセッサ(中央処理装置)によって実行されることで定められた処理をメモリ及び通信ポート(通信制御装置)を用いながら行うため、プロセッサを主語とした説明としてもよい。また、各処理部は各プログラムと読み替えることが可能(画像データ分類部→画像データ分類プログラム)である。また、プログラムの一部または全ては専用ハードウェアで実現してもよく、また、モジュール化されていても良い。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
<文書処理装置の構成>
図1は、本発明の実施形態による文書処理装置の概略構成を示す機能ブロック図である。この文書処理装置は、確認と修正の処理を行う対象データが保存された記憶装置100と、データの入出力を行うための入出力装置104と、必要な演算処理及び制御処理等を行う中央処理装置(CPU)108と、中央処理装置108での処理に必要なプログラムを格納するプログラムメモリ109と、中央処理装置108での処理に必要なデータを格納するデータメモリ105と、を備えている。
記憶装置100は、スキャナなどで取り込まれた業務文書のスキャン画像である画像データ101と、スキャン画像からOCRによる文字認識で取得した文字列と座標であるメタデータ102と、帳票形式を定義したデータである帳票形式データ103と、を有している。
入出力装置104は、データを表示するためのディスプレイやプリンタ等で構成される表示装置(図示せず)と、表示されたデータに対してメニューを選択するなどの操作を行うためのキーボード、マウスなどのポインティングデバイスや文書を取り込むためのスキャナ等で構成される入力装置(図示せず)と、を有している。
プログラムメモリ109は、画面表示やユーザの入力操作を受け付けるインターフェースである画面表示部110と、画像の分類(OCRで認識した文字列と座標の観点で分類)を行うための画像データ分類部111と、画像上の文字領域の切出しと二値化を行うための画像切出し部112と、切出した文字部分の画像を照合して類似度の算出を行うための照合部113と、算出した類似度を分類軸として画像の分類を行うための照合結果分類部114と、画像の合成処理を行うための画像合成部115と、メタデータ102の修正を行うためのメタデータ修正部116と、画像の画素値を分類軸として画像の分類を行うための画素値分類部117を含んでいる。なお、各処理部は、プログラムコードとしてプログラムメモリ109に格納されており、中央処理装置108が各プログラムコードを実行することによって各処理部が実現されている。各処理部(110乃至117)はプログラムで構成され、中央処理装置108によって実行され、各機能が実現される。
データメモリ105は、画像切出し部112の処理結果から得られる二値化画像データ106と、照合部113の処理で得られる合成座標データ107と、を格納する。合成座標データ107は画像合成部115の処理で必要となる座標の情報を含む。
<画像データの構成>
図2は、記憶装置100に含まれる画像データ101の構成例を示す図である。画像データ101は、画像識別ID200と、帳票画像201と、を構成項目として有している。帳票画像201の欄には、図3に示されるような、ファイル形式のデータである画像(例えば、ビットマップ形式)が保持されている。
<画像データの例>
図3は、帳票画像201に格納された画像データの例を示す図である。この帳票は、顧客名・担当者名等が記載された表が含まれており、タイトル300と、発行元301と、顧客名302と、表303等で構成されている。図3の例では、業務帳票の一つである検収通知書である。タイトルが「検収通知書」、発行元が「情報ソリューション株式会社」、顧客名が「OCRソフト株式会社」等、各メンバの値となっている。
また、表303は、貴社名304と、納品日305と、注文番号306と、ご担当者名307と、貴社電話番号308と、備考309と、などの構成項目を含んでいる。各項目に対応して入力された値は、貴社名が「OCRソフト株式会社」、納品日が「2010年4月1日」、注文番号が「3001045−21−3681」、ご担当者名が「大田 太郎」、貴社電話番号が「01−1234−5678」、備考は入力なし、となっている。
<メタデータの構成例>
図4は、記憶装置100に含まれるメタデータ102の構成例を示す図である。図4Aに示すメタデータは、画像データ101に保存された画像のOCR認識結果の一部である。メタデータは、画像ID400と、認識文字列401と、文字切り分け条件402と、を構成項目として含んでいる。画像ID400は、OCR処理を行った画像の識別IDを保持する。認識文字列401は、OCRの文字認識結果を保持する。文字切り分け条件402は、403〜406に示す文字データを配列で保持する。図4Aの例では、画像識別IDが「1」の画像のOCRによる文字認識結果の一つが「OCRソフト株式会社」であり、各文字の情報が文字データで保持されている関係を示す。
図4Bに示す文字データは、認識文字列401の各文字の座標や大きさ等の情報として、文字403と、座標404(画像上端からの距離)と、高さ405(画像上での文字列の高さ)と、幅406(画像上での文字列の幅)と、を有している。図4Bの例では、認識文字列401に含まれる文字「O」の座標が「(354,391)」、高さが「9」、そして幅が「11」であることを示している。
図4の例では、画像IDが「1」のメタデータに、「O」「C」「R」「ソ」「フ」「ト」「株」「式」「会」「社」の各文字データが対応付けられていることが分かる。
<帳票形式データの構成例>
図5は、記憶装置100に含まれる帳票形式データ103の構成例を示す図である。帳票形式データは、項目名500と、座標501と、幅502と、高さ503と、を構成項目として有している。また、帳票形式データは、情報500乃至503を1セットとして帳票項目数分の情報を有している。この帳票形式データは、記憶装置100に保持されている帳票画像201の帳票形式を定義している。
項目名500は、帳票中の項目名を保持する。座標501は、項目名500が示す項目に対応する入力欄の領域の左上座標を示す情報である。幅502は入力欄の幅、高さ503は入力欄の高さを保持する。図5の例では、帳票の項目の一つである「貴社名」が「OCR株式会社」に対応する入力欄の左上の座標が「(150,230)」、幅が「27」、そして高さが「9」である定義が保持されている関係を示す。
<二値化画像データの構成例>
図6は、データメモリ105に含まれる二値化画像データ106の構成例を示す図である。図6Aは二値化画像データを示しており、画像ID600と、検索対象用画像601と、テンプレート用画像602と、を構成項目として含んでいる。
検索対象用画像601とテンプレート用画像602は画像切り出し部112の処理で取得される二値の画像である。これらは照合部113のテンプレートマッチングによる類似度算出処理で参照されるデータで、テンプレートマッチングのための検索対象用の画像(検索対象用画像601:テンプレートマッチングのベースとなる文字列画像)とテンプレート用の画像(テンプレート用画像602:検索対象用画像の上に重ねて走査させる画像(文字ごとに区切った画像))となる。テンプレート用画像については、603〜604に示す文字画像データで保持される。また、検索対象用画像については、605〜607に示す画像構成データを配列で保持される。
図6Aの例では、記憶装置100のある画像データの画像識別IDに対応する画像IDが「1」であり、その画像識別IDに対応する画像から切出した2つの画像である検索対象用画像とテンプレート用画像が保持されているという関係を示す。
図6Bに示される文字画像データは、文字情報603と文字画像604を含んでいる。文字画像については、605〜607に示す画像構成データが配列で保持されている。図6Bの例では、例えば、文字列「大田太郎」の文字情報の値とする「大」に対応した画像構成データが配列で保持されている関係が示されている。
図6Cに示される画像構成データは、X座標605と、Y座標606と、画素値607を含んでいる。図6Cの例では、横軸の座標が「0」、縦軸の座標が「0」、の位置にある画素の値が「255」で保持されているという関係を示す。なお、画像構成データで保持される画像は二値の画像のみとなり、画素値607は「0」または「255」の二つのみである。
例えば、検索対象用画像が「大田太郎」の場合、文字画像データ(図6B)は4セット存在し、画像構成データ(図6C)は「4セット(各文字のデータ)+1セット(「大田太郎」の文字列のデータ)=5セット」存在することとなる。
<合成座標データの構成例>
図7は、データメモリ105に含まれる合成座標データ107の構成例を示す図である。合成座標データは、どの画像とどの画像を比較したかを示しており、検索対象画像ID700と、テンプレート画像ID701と、文字702と、X座標703と、Y座標704と、を構成項目として含んでいる。
図7の例の合成画像データでは、検索対象とする画像データの画像識別IDが「1」(図2の画像識別ID=1の画像データ)、テンプレートとして使用する画像データの画像識別IDが「2」(図2の画像識別ID=2の画像データ)である。そして、走査させたテンプレートの文字が「大」であり、走査結果の中でもっとも評価値が高かった座標が「(126,274)」であったことが示されている。
<文書管理装置における処理>
次に、上述の構成を有する文書処理装置において行われる処理について説明する。図8乃至図10は文書処理装置において行われる処理の概要を示すフローチャートである。これらのフローチャートにおける処理の主体は中央処理装置108とする。また、文書処理装置において実現する確認と修正の対象は、帳票の項目に対応した入力欄に入力された文字であり、帳票形式データ103で定義された領域のOCR認識結果の文字列となる。
(1)文書処理の全体像
図8は、文書処理の全体概要を説明するためのフローチャートである。まず、中央処理装置108は、画像データ分類部111を用いて、記憶装置100の画像データ101の分類を行う(ステップ800)。この分類によって生成されたクラスタをクラスタWとする。1度の処理で扱う画像の帳票形式は、すべて同一であるとする。この処理により、同じ文字列かつ同じ位置(帳票の同じ項目欄)にある認識文字列に対して、まとめて確認と修正の処理をステップ804の処理において行うことが可能となる。なお、画像データの分類処理は、メタデータを使ってどの画像のどの文字列を重ね合わせるかを判断するために行われる。例えば、貴社名が「OCRソフト株式会社」の帳票画像を集めてクラスタとする。そして、同じような文字列を有する帳票を振り分ける。当該実施形態では、固定帳票を用いており、フォーマットが決まっているが、図3における302の貴社名と304の貴社名のフォントサイズが異なる可能性がある。フォントサイズが異なると文字を重ねることができない。そこで、これらを正確に分類できるようにするために、各文字列の座標値も分類のための判断指標としている。この画像データ分類処理の詳細については、図11を用いて後述する。
次に、中央処理装置108は、画像表示部110を用いて、分類結果である各クラスタWを入出力装置104に表示する(ステップ801)。ここで表示される画面は、確認修正文字列選択画面(図13参照)とする。
ステップ801の処理が終了すると、中央処理装置108は、ユーザからの処理命令の待機を行う(ステップ802)。ユーザは表示された確認修正文字列選択画面からクラスタWの選択を行い、中央処理装置108に処理命令を行う。ここでの画面の詳細と操作については、確認修正文字列選択画面(図13)を用いて後述する。
続いて、中央処理装置108は、ユーザから処理命令を受ける(ステップ803)。処理命令を受けたとき、ユーザによる「クラスタの選択が無かった」場合は処理を終了する。
クラスタの選択があった場合、中央処理装置108は、クラスタの分類軸である文字列の確認と修正の処理を行う(ステップ804)。この処理は、同じ文字列の画像を重ね合わせて合成を行い、ユーザがOCRの認識結果を合成画像と比較して、一括で確認と修正を行うことを実現するものである。ステップ804の詳細は、図9を用いて後述する。
ステップ804の処理が終了すると、ステップ803の処理が再度実行される。ステップ804の最後の処理にはユーザからの処理命令の待機があるため、ステップ803とステップ804の処理を繰り返して行うことが可能となる。
(2)ステップ804の詳細
図9は、ステップ804で行われる処理の詳細を説明するためのフローチャートである。この処理の対象とするデータは、図8におけるステップ801で表示した画面からユーザが選択したクラスタWとする。
まず、中央処理装置108は、画像切出し部112を用いて、クラスタW内の各画像から、分類軸となった文字列に対応する画像領域の切出し処理を行う(ステップ900)。切出された画像は、例えば、図6に示される形式で管理される。当該画像切出し処理については、画像切出し処理(図15参照)の節で後述する。
次に、中央処理装置108は、照合部113を用いて、切出した画像の照合を行い、類似度を算出する(ステップ901)。つまり、検索対象用画像の上にテンプレート用画像を乗せてテンプレートマッチングにより照合処理を実行する。この照合結果分類処理は、クラスタWの中で類似度を分類軸として画像データの分類を行う。画像データ分類処理による位置と文字列に基づく分類と、その分類結果のクラスタに対して、画像の類似性に基づく分類を行っている。これにより、OCRの認識結果が同じであっても、文字の形状が相違している可能性がある画像を分類する。すると、後述するステップ906において、画像合成処理で生成される画像が表す文字の劣化を抑えることが可能となる。ここでの処理については、照合処理の節で後述する(図17参照)。
そして、中央処理装置108は、照合結果分類部114を用いて、算出した類似度の分類処理を行う(ステップ902)。ここでの処理については、照合結果分類処理の節で後述する。この分類によって生成されたクラスタをクラスタRとする。
次に、中層処理装置108は、画面表示部110を用いて、分類結果であるクラスタRを入出力装置104に表示する(ステップ903)。ここで表示される画面を分類結果選択画面(図20参照)とする。この画面は確認修正文字列選択画面(図13)におけるリスト内容の追加更新した画面となる。
ステップ903の処理が終了すると、中央処理装置108は、ユーザから処理命令の待機を行う(ステップ904)。ユーザは表示された画面上から分類結果のクラスタを選択して中央処理装置108に処理命令を行う。ここでの画面の詳細と操作については、分類結果選択画面(図20)を用いて後述する。
続いて、中央処理装置108は、ユーザから処理命令を受ける(ステップ905)。ユーザからの処理命令を受けたとき、ユーザによる「クラスタの選択が無かった」場合、処理は終了する。
クラスタRの選択があった場合、中央処理装置108は、選択されたクラスタ内の画像の合成を行い、合成された画像の画面表示やメタデータ102の修正などの処理を行う(ステップ906)。例えば、図20における2001乃至2003がクラスタR1乃至R3となる。なお、ここでのクラスタRの選択とは照合結果分類処理で生成されたクラスタの選択であり、それ以外の処理で生成されたクラスタの選択については、「クラスタの選択がなかった」と判定される。ステップ906の詳細は、図10を用いて後述する。
ステップ906の処理が終了すると、ステップ905の処理が再度実行される。ステップ906の最後の処理にはユーザからの処理命令の待機があるため、ステップ905とステップ906の処理を繰り返して行うことが可能となる。
(3)ステップ906の詳細
図10は、ステップ906で行われる処理の詳細を説明するためのフローチャートである。
まず、中央処理装置108は、ユーザによって選択されたクラスタRを格納したリストCを作成する(ステップ1000)。
次に、中央処理装置108は、画像合成処理部115を用いて、選択されたクラスタRに含まれる各画像に対して合成処理を実行する(ステップ1001)。合成画像は、選択されたクラスタRの分類軸である文字列と対応した画像領域を重ね合わせて合成した画像である。当該合成処理の詳細については、図21を用いて後述する。
また、中央処理装置108は、画面表示部110を用いて、入出力装置104に確認修正画面を表示する(ステップ1002)。この画面では、ステップ1001において生成された合成画像と選択されたクラスタの分類軸である文字列が表示される。ユーザは、表示された合成画像と認識文字列を見ることで、OCRによって誤認識された画像の分類や認識文字列の修正を行うことができる。ここでの画面の詳細と操作については、確認修正画面(図23)を用いて後述する。
ステップ1002の処理が終了すると、中央処理装置108は、ユーザからの処理命令の入力を待機する(ステップ1003)。ユーザは、表示された合成画像上から1つの画素の選択(例えば、AND合成画像2302やOR合成画像2303上の画素の選択)、メタデータ修正入力フォームに修正文字列の入力(修正ボタン2307の押下)、及びリターン(戻る)ボタン2308の押下(ボタン2308の押下により図20や図29の画面に戻る)のいずれかで中央処理装置108に処理命令を行う。また、確認ボタン2306が押下されると、図20の対応する文字列が処理済(「未」が「済」に変更される)となる。
ユーザから処理命令を受けたとき、中央処理装置108は、ユーザによる合成画像上の画素をマウスでクリックされたか判定を行う(ステップ1004)。
画素のクリックではなかった場合、すなわち、修正文字列の入力、又はリターン(終了)命令の場合(ステップ1004でNoの場合)、中央処理装置108は、メタデータ修正部116を用いて、選択されたクラスタの分類軸となった文字列に対応するメタデータの修正処理を行う(ステップ1005)。当該メタデータ修正処理の詳細については、図26を用いて後述する。なお、確認修正画面上のAND合成画像2302、OR合成画像2303、及び確認文字列2304が全て同じ文字列になっているとユーザが確認できた場合には、図26の処理が実行される。
ステップ1005の処理が終了すると、中央処理装置108は、表示されている確認修正画面(図23)を閉じる(ステップ1006)。このとき、確認修正画面の他に表示されている画面は、図9のステップ903で表示された分類結果選択画面(図20参照)である。
一方、画素の選択があった場合(ステップ1004でYesの場合)、中央処理装置108は、表示していた確認修正画面(図23)を閉じる(ステップ1010)。
そして、中央処理装置108は、選択された画素の座標にある画素値の分類処理を行う(ステップ1011)。この処理では、合成画像の生成時に重ね合わせた画像の中から、異なる文字の画像の分類を可能とする。ここでの処理については、画素値分類処理として、図27を用いて後述する。
次に、中央処理装置108は、ステップ1011の画素分類処理の分類結果である各クラスタを、リストCに追加する(ステップ1012)。
ステップ1006あるいはステップ1012のどちらかの処理が終了すると、中央処理装置108は、表示されている分類結果選択画面で表示されているリストの更新を行う(ステップ1007)。この更新では、リストCに格納されて各クラスタを参照して行う。ここでの処理については、図29を用いて分類結果選択画面更新処理として後述する。
画面の更新が終了すると、中央処理装置108は、ユーザから処理命令の入力を待機する(ステップ1008)。ユーザは、表示された更新された分類結果選択画面(図29参照)からクラスタの選択を行う。
中央処理装置108は、ユーザから処理命令を受けると、ユーザによるクラスタの選択があったか判定を行う(ステップ1009)。
クラスタの選択が無かった場合(ステップ1009でNoの場合)、中央処理装置108は、図10のフローチャートが示す処理、すなわち図9におけるステップ906の処理を終了する。
クラスタの選択があった場合(ステップ1009でYesの場合)、中央処理装置108は、再度ステップ1001から処理を繰り返す。このようにしてステップ1011の分類結果をリストCへ格納して、各クラスタに対してステップ1001から処理を行う。これにより、ユーザが合成画像の文字を識別できない場合、画素の分類を繰り返し行い、誤認識された画像の特定と修正を行うことが可能となる。
<画像データ分類処理>
図11は、画像データ分類部処理の詳細を説明するための示すフローチャートである。この処理は、中央処理装置108と画像データ分類部111が協働して実行する処理であり、記憶装置100の画像データ101の分類を行う処理である。以下では、画像データ分類部111を動作主体として説明するが、中央処理装置108と読み替えることも可能である。
まず、データ画像分類部111は、記憶装置100の画像データ101とメタデータ102を取得し(ステップ1100)、さらに、帳票形式データ103から帳票の各項目に対応する入力欄の座標や大きさなどを取得する(ステップ1101)。入力欄の座標は、帳票上で確認と修正の対象となる文字列が入力されている座標である。
次に、データ画像分類部111は、帳票形式データで定義された入力欄の領域内に入力された認識文字列(OCRの認識結果の文字列(文字コード))を持つ画像データを、入力欄の座標を分類軸として分類を行う(ステップ1102)。すなわち、同じ入力欄に認識文字列が入力されている画像データを、同じクラスタに分類する。例えば、図3の帳票の例で、項目300〜302と項目304〜309が当該帳票の構成項目であるが、これらの項目に対応する入力欄の座標が帳票形式データで定義されているとする。すると、項目300に対応する入力欄の領域に認識文字列を持つ画像データを同じクラスタに分類を行う。同様にして、項目301、302、及び304〜309に対しても同様に処理を行う。なお、画像のスキャン時の座標のずれやゆがみ等が発生する可能性があるが、認識文字列の文字列位置に対して重み付きユークリッド距離法等の既存のクラスタリング技術によって、帳票形式データで定義した位置相当にあたる座標を分類軸とする。
次に、データ画像分類部111は、分類されたそれぞれのクラスタ内で、認識文字列(OCRの認識結果の文字列(文字コード))の値を分類軸として画像データの分類を行う(ステップ1103)。すなわち、認識文字列が同じ画像データを、同じクラスタに分類する。例えば、図3の帳票の項目304に対応する入力欄に認識文字列を持つ画像データを含むクラスタがあるとする。そのクラスタ内において、各画像データの認識文字列の値が「OCRソフト株式会社」、「OCRソリューション株式会社」のどちらかであるとする。すると、分類結果として、「OCRソフト株式会社」が値である認識文字列を持つ画像データを含むクラスタと、「OCRソリューション株式会社」が値である認識文字列を持つ画像データを含むクラスタの2つが生成される。これらの処理により、帳票上で同じ入力欄にあり、かつ同じ認識文字列を持つ画像データを同じクラスタに分類することが可能となる。この分類によって生成れたクラスタをクラスタWとする。
<クラスタWのデータ構造例>
図12は、画像データ分類処理(図11)によって得られたクラスタWのデータ構造例を示す図である。クラスタWは、入力欄分類条件1200と、認識文字列分類条件1201と、クラスタ1202と、を構成項目として有している。 図12では、1つの表データが1つのクラスタに対応している。
入力欄分類条件1200は、ステップ1102において分類軸となった入力欄の座標が保持されている帳票形式データを示す。また、認識文字列分類条件1201は、ステップ1103において分類軸となった文字列を示す。クラスタ1202は図2における画像データの配列を示す。
<確認修正文字列選択画面>
図13は、確認修正文字列選択画面の構成例を示す図である。図13においては、画像データ分類処理(図11)で生成されたクラスタWの認識文字列分類条件の値が、リスト1300として表示される。
確認修正文字列選択画面において、リスト1300は、ラジオボタン1301と、文字列1303と、数(件数)1304と、済(処理済か否かを示すフラグ)1305と、を構成目として有している。
文字列1303は、各クラスタWの分類軸となった文字列を示す。なお、リストの中に同じ文字列が重複して現れるのは、分類軸となった認識文字列が同じであっても、帳票の入力欄が別であるクラスタがあるからである。このような結果をもたらす画像データの例を図14に示す。図14で示される帳票は、文字列が同じで帳票の入力項目が異なる入力欄がある帳票である(符号1401参照)。このような帳票があることで、リスト1300に「OCRソフト株式会社」が2つ現れることになる。
数1304の列は各クラスタW内の画像データ数を表し、済1305の列は各クラスタWが確認、あるいは修正が完了済みであるかを表している。
リスト1300は、画像データ分類処理や後述する照合結果分類処理等、分類処理が行われると更新される。更新時に、表示する各クラスタWが確認と修正の処理が行われているか確認処理を行う。
「終了」ボタン1306は、プログラムの終了ボタンとなる。また、ユーザは、表示されたリスト中からラジオボタン1301によってクラスタWを1つ選択して「確認」ボタン1302を押すことで、中央処理装置108に処理実行の命令を行うことができる。なお、終了ボタン1306を押すことにより中央処理装置108に処理実行の命令を行うことが可能であるが、この場合、「クラスタの選択はされていない」という条件の命令として中央処理装置108が受けることとなる。
<画像切出し処理>
図15は、画像切出し処理の詳細を説明するためのフローチャートである。処理の対象は、図13の画面において、ユーザによって選択されたクラスタW内の画像データとする。この処理は、照合部113のテンプレートマッチングで使用するための2種類の画像の切出しを行う。画像から切出す領域は、クラスタWの分類軸である認識文字列の領域とする。以下では、画像切出し部112を動作主体として説明するが、中央処理装置108と読み替えることも可能である。
まず、画像切出し部112は、記憶装置100のメタデータ102を参照することにより、検索対象用画像を生成する(ステップ1500)。
次に、画像切出し部112は、テンプレート用画像を生成する(ステップ1501)。図16は、2種類の画像の生成処理の概念を説明するための図である。検索対象用画像生成(ステップ1500)では、メタデータで示す文字の領域より広い範囲で画像を切出して画像が生成される。広い範囲で切出しを行うのは、後述する照合処理(図17参照)において、テンプレートマッチングを行う際の検索対象の画像とテンプレートの画像の大きさが相違したときに起こる問題を回避するためである。OCRを行う際の環境などで、実際の画像では文字の大きさは同じであるが、認識した領域が異なる場合がある。このとき、テンプレートとなる画像の高さや幅が検索対象の画像より大きくなった場合、画像外の参照を行い、適切な評価値が取得できない問題が発生する。この問題を回避するために、検索対象用画像は本来の領域より大きく(広く)切出す必要がある。また、テンプレート用画像は、切出しを行う領域内の文字列を、文字ごとに切り出すことにより生成される。文字ごとの切出し範囲は、記憶装置100のメタデータ102にある単語ごとの座標データを参照することにより取得される。
続いて、画像切出し部112は、切出した画像に対して二値化処理を行い、画像を白と黒の二値のデータに変換する(ステップ1502)。二値化の閾値は判別分析法等の既存技術によって決定することが可能である。本発明の文書処理装置で扱う帳票は、背景が白に対して文字が黒である一般的な業務文書であるため、文字の劣化が少ない閾値を決定し易い。
<照合処理>
図17は、照合処理の詳細を説明するためのフローチャートである。処理対象は、画像切出し処理において生成された検索対象用画像とテンプレート用画像の2つとする。この処理は、クラスタWの分類軸である認識文字列の画像領域の類似度(各画像間のピクセルパターンの相関の強さ)の算出を行う。以下では、照合部113を動作主体として説明するが、中央処理装置108と読み替えることも可能である。
まず、照合部113は、クラスタW内の二値化画像データを登録したリストLを作成する(ステップ1700)。
次に、照合部113は、リストLから二値化画像データを1つ取り出す(ステップ1701)。
そして、照合部113は、取り出した二値化画像データに対して、リストLに残ったすべての二値化画像データの類似度を算出する(ステップ1702)。類似度算出の処理は、テンプレートマッチングを用いて実行される。検索対象の画像は、取り出した二値化画像データの検索対象用画像とする。テンプレートとして検索対象の画像上を走査させる画像は、リストLにある各二値化画像データのテンプレート用画像となる。検索対象の画像の各文字の周辺に対して、同じ単語となるテンプレート用画像の画像を走査させる。走査を行う際には、正規化相互相関などの二信号の評価値(二信号間のパターンの相関係数)を求める既存技術が適用可能である。走査した中で最も高い評価値をその単語の類似度として、また、そのときの座標をデータメモリ105に合成座標データ107として保存する。保存した座標データは画像を合成する処理の際に、重ね合わせる座標として使用する。このようにして、検索対象用画像の文字すべてに対して類似度と座標を求める。
続いて、照合部113は、リストL内に二値化画像データが2つ以上あるか確認する(ステップ1703)。二値化画像データが1つ以下であった場合、処理は終了する。
二値化画像データが2つ以上あった場合、照合部113は、リストLの二値化画像データが1つになるまでステップ1701とステップ1702を繰り返し実行する。
図18は、図17の処理の概要を概念的に示す図である。図18のようにしてテンプレートマッチングを逐一実行していくことにより、クラスタW内のすべての画像間で類似度を求めることができるようになる。
<照合結果分類処理>
照合結果分類処理は、照合結果分類部114によって実行される処理であり、これによって、クラスタW内の画像データが、照合処理で求めた類似度を参照して分類される。当該照合結果分類処理によって、クラスタ内において文字の形状が異なる画像を分類することが可能である。
例えば、画像データ分類部111の分類によって文字列が「大田 太郎」かつ帳票上の入力項目がご担当者名の値のクラスタWが生成されたとする。「太田 太郎」に対して「大田 太郎」とOCRが誤認識した画像がある場合、入力値が同じであれば生成されたクラスタWに含まれる。このクラスタW内で類似度を算出した場合、「大」と「太」の類似度が「大」と「大」の類似度より低くなることが見込まれる。そして、クラスタW内で相対的に低い類似度であるものを照合結果分類処理で分類することでOCRが誤認識した画像をクラスタWから分類することが出来る。これにより、形状が異なる文字の画像の分類を行い、画像合成部115の画像合成処理で生成する画像の歪みを抑えることが可能となる。
なお、分類の閾値はクラスタW内の類似度の標準偏差から求める方法やあらかじめ決定した定量値等で定める。
図19は、当該照合結果分類処理により生成されたクラスタRのデータ構造を示す図である。クラスタRのデータ構造は、クラスタ1900と、確認修正済みフラグ1901と、を構成項目として有している。
クラスタ1900は、分類された画像データの配列であり、確認修正済みフラグ1901はクラスタ1900内のすべての画像の確認、又は修正が完了しているかを示す値である。確認修正済み条件1901の値は、「true」または「false」のどちらかである。「true」の場合は確認、又は修正が完了していることを意味し、「false」は確認、又は修正が完了していないことを意味している。
<分類結果選択画面>
図20は、分類結果選択画面の構成例を示す図であり、上述の照合結果分類処理によって生成されたクラスタRをリスト2000で表示している。図20では、照合結果分類処理で生成されたクラスタRを、図13のリスト1300の更新を行い、文字列2001〜2003で表示している例が示されている。文字列2001〜2003をクラスタR1〜R3とすると、例えば、分類の閾値を0.8(上述の照合結果分類処理におけるクラスタW内において、各画像間の類似度(ピクセルパターンの相関係数)が0.8)とした場合、クラスタR1が各画像の類似度が閾値以上の関係をもつグループ、クラスタR2とクラスタR3も同様に前記相関関係(類似度が閾値以上の関係)をもつグループとすることができる。つまり各クラスタは、閾値以上の相関の強さの関係をもつ文字列を含むグループとすることができる。このように同じ内容の文字列であるにも拘わらず異なるクラスタに分類されるのは、例えば、各文字列において、フォント、サイズや文字飾りの有無等が異なる場合には類似度が異なってくるからである。
確認修正文字列選択画面(図13参照)と同様に、ユーザは表示されたクラスタRのリスト中からラジオボタンによって生成されたクラスタRを1つ選択して「確認」ボタンを押すことで、中央処理装置108に対して処理実行の命令を入力することができる。
また、リストの構成項目や終了ボタンについても、確認修正文字列選択画面と同様とする。
<画像合成処理>
図21は、画像合成処理の詳細を説明するためのフローチャートである。以下では、画像合成部115を動作主体として説明するが、中央処理装置108と読み替えることも可能である。
まず、画像合成部115は、クラスタ内の画像データに対応する二値化画像データをデータメモリ105から取得して登録したリストD(例えば、図20における文字列2000のクラスタに含まれる6件のデータのリスト)の作成を行う(ステップ2100)。なお、ここで扱うクラスタのデータ構造は、図19で示したものである。
次に、画像合成部115は、リストDの中から1つの二値化画像データを取り出し(ステップ2101)、この取り出した二値化画像データから検索対象用画像(前述のように、文字列の画像)を取得する(ステップ2102)。この取得した画像を合成画像のベースとする。
そして、画像合成部115は、リストDの各二値化画像データからテンプレート用画像(前述のように、文字ごとの画像)を取得する(ステップ2103)。この各テンプレート用画像は、取り出した検索対象用画像上にすべて重ね合わせて合成処理を行うための画像である。
また、画像合成部115は、データメモリ105からは、取得した検索対象用画像と各テンプレート用画像の組み合わせに対応した合成座標データを取得する(ステップ2104)。つまり、画像として一番マッチングが取れた場所の座標データが取得される。
さらに、画像合成部115は、検索対象用画像、各テンプレート用画像、及び合成座標データを参照して合成を行う(ステップ2105)。
ここで、合成方法としては、検索対象用画像上の単語に、同じテンプレート用画像の単語を重ね合わせる方法がある。重ね合わせる座標は、取得した合成座標データで保存されている座標とする。合成座標データの位置で重ね合わせることは、画像として類似している評価値が最も高い位置で重ね合わせることに相当する。これにより、OCRの文字位置の認識にずれがあった場合でも、最も画像が重なる位置に補正することができる。そして、重ね合わせた画像を後述する演算処理で合成を行う。合成された画像に対して、他の重ね合わせていないテンプレート用画像を重ね合わせて合成を繰り返す。重ね合わせの組合せの算出は、プリム法やクラスカル法などの既存技術の応用により、クラスタから最大全域木(辺の重みの総和が最大となる全域木)を求めることで可能となる。これにより、クラスタ内のすべての画像を合成することが可能となる。このように、重ね合わせにより生成される画像は、AND合成画像、OR合成画像、及び全体合成画像の3つである。
図22Aは、AND合成画像とOR合成画像を生成する処理の例を示す図である。なお、AND合成画像とOR合成画像の2つの画像を生成する際に使用する画像は、すべて2値の画像とし、各画素の画素値は「0」あるいは「255」とする。画素値の「0」はレンダリングされるときの色が「黒」、「255」は「白」となる。
まず、1つ目の処理は、画像が重なる部分の画素値のAND演算を行い、AND合成画像を生成する処理である。ここでのAND演算では、どちらか一方の、あるいは両方の画素の色が「白」の場合、演算結果は「白」となり、どちらとも「黒」の場合は演算結果が「黒」となる。
2つ目の処理は、OR演算によってOR合成画像を生成する処理である。ここでの演算処理では、どちらか一方の、あるいは両方の画素の色が「黒」の場合、演算結果は「黒」となり、両方が「白」の場合は演算結果が「白」となる。3つはクラスタの画像データを記憶装置100から取得して、合成する文字列の先頭文字の合成座標データの参照を行い、その位置で重ね合わせる。合成方法としては既存技術であるアルファブレンド等で全体合成画像を生成する。さらに、合成処理が終了した全体合成画像の認識文字列の文字列領域の外枠に線を描画してバウンディングボックスの生成を行う処理をする。このとき参照する座標は合成のベースとなった画像データに対応するメタデータの認識文字列の座標となる。これにより後述の確認修正画面において、表示される全体合成画像をユーザが見たとき、帳票上のどの領域の文字列を目視確認しているか確認することが可能となる。例えば、図23の2300で表示されている画像が全体合成画像であり、2301がバウンディングボックスである。
以上の画像合成処理で合成される画像は、画像データ分類処理と照合結果分類処理の2つの分類によって、同じフォント形式の文字列の画像であると考えられるため、歪みの少ない合成画像が生成することが可能である。また、適切に分類されなかった画像がある場合でも、AND演算による合成画像とOR演算による合成画像の文字列が、異なる歪み方をするため、目視で確認することができる。さらに、後述する確認修正画面(図23)において、適切に分類されなかった画像を分類することができる。
また、画素値の演算処理による合成パターンは、前述したAND演算、OR演算、及びアルファブレンドに限らない。例えば、画像を重ね合わせて、各座標において、画素値が「黒」の値である画像を数える。そして、各座標で求めた画像の数によって、輝度や色を異なるものにして画像を生成する。生成された画像の例が図22Bに示されている。この例では、「大田」を表す複数の画像の中に「太田」を表す画像が一つ混在したクラスタの合成結果である。モノクロ8ビットの画像であり、各画素において「黒」の値である画像数が少なくなるほど輝度値は高くなり、画像数が多くなるほど輝度値は低くなる。
<確認修正画面>
図23は、確認修正画面の構成例を示す図である。確認修正画面は、合成画像2300と、バウンディングボックス2301、AND合成画像2302と、OR合成画像2303と、確認文字列2304と、修正文字列入力フォーム2305と、確認ボタン2306と、修正ボタン2307と、戻るボタン2308と、を構成項目として有する画面である。
図23における画面例では、合成処理によって生成された全体合成画像が合成画像2300として、AND合成画像がAND合成画像2302として、そしてOR合成画像がOR合成画像2303として表示されている。また、AND合成画像やOR合成画像におけるOCRの文字認識結果は、認識文字列2304として表示されている。
ユーザは、当該確認修正画面において、2300で表示された画像のバウンディングボックスを見ることで、帳票上のどの部分の文字列を確認修正対象としているかが確認できる。これは、2301のバウンディングボックス内の文字列の確認と修正が可能であるということを意味している。
また、ユーザは、画像2302と画像2303を比較することで、合成された画像(クラスタ内の各画像データが含む画像)内に、OCRで誤認識されて、画像照合結果分類処理によって適切に分類されなかった画像が混在しているか否か確認できる。
図23の例では、AND合成画像2302は「大田 太郎」と表示されているが、OR合成画像2303は「太田 太郎」と表示されている。つまり、合成した画像の中に文字として異なる画像が混在していることがわかる。そこで、ユーザは、明らかに異なる文字であると判断できる画像領域の画素の選択を、AND合成画像2302、又はOR合成画像2303から行う。この選択を行う例が図24に示されている。
図24A及びBにおいて、画像2401はAND合成画像を、画像2402はOR合成画像を、領域2403は「文字が異なる」と認識できる画像領域を示している。また、図24Bは、「文字が同じ」と認識できる画像におけるAND合成画像2401とOR合成画像2402の例を示している。
図24Aにおける各画像は、「大」と「太」の2つの画像が混在した複数の画像を重ね合わせて合成処理を行った例である。AND合成画像では「大」と表示され、OR合成画像では「太」と表示されている画像を比較する。すると、この2つの文字が明らかに異なると認識できるのは、図24Aで示す2つの画像の相違部分となる。この相違した部分において、画素が「黒」で表示された部分の選択をユーザが行う。
ユーザが画素を選択すると、中央処理装置に処理命令が入力される。この命令を受けて、後述する画素値分類処理(図27参照)が行われる。
画素値分類処理が終了すると、ユーザのクラスタの選択を経て、再度確認修正画面(図23)が表示される。ユーザによる画素の選択と画素値分類処理により、類似した文字の画像や合成画像のノイズの原因となる画像の分類が可能となる。合成画像のノイズの原因となる画像とは、照合処理において、文字として適切に重ならない位置の評価値が類似度と認識されてしまった画像等を示す。適切に分類された場合は、図24Bの例で示すように、2つの画像で表す文字列が同じであることが認識できる。この文字列に対してOCRの認識結果である確認文字列2304を比較することで、合成された画像すべてに対して確認と修正を実現することが可能となる。
なお、合成を行う文字についてはアルファベットや平仮名など、例で示した漢字に限らない。例として図25にアルファベットの画像の合成画像を示す。例で示すのは、文字「C」の画像を4つ重ね合わせて合成処理を行った場合の(図25A)と、文字「C」の画像を3つと文字「O」の画像が1つを重ね合わせて合成処理を行った場合の(図25B)を示す。
図25Aの場合、AND合成画像とOR合成画像ともに文字「C」と認識できる文字であり、2つの合成画像を確認することで文字「C」以外の文字の画像が混在していないことが分かる。
一方、図25Bの場合、AND合成画像で認識できる文字は「C」であるが、OR合成画像では文字「C」以外の形をしている。よって、異なる文字の画像が混在していることが確認できる。このようにアルファベットの場合でも、合成画像の差分の比較を行うことで異なる文字の混在を識別することが可能となる。
<文字列修正処理>
次に、図23の確認修正画面上で文字列を修正する場合、ユーザは、修正文字列入力2305の入力フォームに修正文字列を入力する。
次に、ユーザが修正ボタン2307を押下すると、中央処理装置108は、文字列修正の処理命令を受けて、後述するメタデータ修正処理によるメタデータ102の修正を行う。
また、合成画像2302及び2303で表示された画像の文字列が、確認文字列2304で表示された文字列と同様の場合、OCRの文字認識結果は正常とみなせるので修正の必要はない。この場合、ユーザが確認ボタン2306を押下すると、中央処理装置108は確認処理命令を受け取り、後述するメタデータ修正処理を実行する。これにより、合成された画像に関しては確認済みとされる。
さらに、確認、又は修正を行わない場合、ユーザがリターン(戻る)ボタン2308を押下することで、中央処理装置は終了命令を受け取り、メタデータ修正処理を実行する。
<メタデータ修正処理>
図26は、メタデータ修正処理の詳細を説明するためのフローチャートである。以下では、メタデータ修正部116を動作主体として説明するが、中央処理装置108と読み替えることも可能である。
まず、メタデータ修正部116は、ユーザの処理命令が終了命令かどうか判定を行う(ステップ2600)。なお、ここで判定する命令は、図23において、修正ボタン2307、確認ボタン2306、およびリターン(戻る)ボタン2308のいずれかをユーザが押下した際に、中央処理装置108が受け取る処理命令である。
終了命令であった場合、メタデータ修正部116は、メタデータ修正処理を終了する。終了命令でなかった場合、メタデータ修正部116は、さらに、当該命令が確認処理命令であるか判定する(ステップ2601)。
確認処理命令であった場合(ステップ2601でYesの場合)、メタデータ修正部116は、ステップ2606の処理によってクラスタ内の画像データを確認済みとし、処理を終了する。
確認処理命令でなかった場合(ステップ2601でNoの場合)、メタデータ修正部116は、図23の入力フォーム2305に入力された値を取得する(ステップ2602)。この入力された値がメタデータの更新する値となる。
次に、メタデータ修正部116は、クラスタ内の各画像データに対応するメタデータを取得する(ステップ2603)。なお、ここで扱うクラスタのデータ構造は図19で示したものである。
また、メタデータ修正部116は、ステップ2603で取得したメタデータの認識文字列を、ユーザによって入力された値に書き換える(ステップ2604)。
さらに、メタデータ修正部116は、記憶装置のメタデータ102を書き換えたメタデータで更新する(ステップ2605)。
ステップ2605が終了すると、メタデータ修正部116は、処理対象としているクラスタを構成するメンバの、確認修正済みフラグの値を「true」に設定する。
以上のメタデータ修正処理により、クラスタ内の全ての画像に対してまとめてOCRの認識文字列の修正処理を行うことが可能となる。
<画素値分類処理>
図27は、画素値分類処理の詳細を説明するためのフローチャートである。以下では、画素値分類部117を動作主体として説明するが、中央処理装置108と読み替えることも可能である。
まず、画素値分類部117は、図23における確認修正画面でユーザが選択した画素の座標Xを取得する(ステップ2700)。
次に、画素値分類部117は、クラスタ内の画像データを取得する(ステップ2701)。なお、ここで扱うクラスタのデータ構造は図19で示したものである。
また、画素値分類部117は、各画像データから検索対象用画像を取得する(ステップ2702)。
そして、画素値分類部117は、取得した検索対象用画像の座標Xにあたる画素値を分類軸として、クラスタ内の画像データの分類を行う(ステップ2703)。この分類で処理対象とする検索対象用画像は二値の画像であるので、画素値が「0」あるいは「255」のどちらかに検索対象の画像に対応する画像データを分類する。
当該画素分類処理の概念について、図28を用いて説明する。確認修正画面(図23)において、OR合成画像からユーザによって選択された座標(23,41)であるとすると、ユーザの選択に応答してその座標値が取得される。また、クラスタ内の画像データが取得され、各画像データから検索対象用画像が取得される。さらに、取得した検索対象用画像の座標(23,41)にある画素値を分類軸として、画像データの分類が行われる。この処理によって、クラスタ内に混在している「大田」と「太田」の画像を含んだ画像データを分類することが可能となる。なお、AND合成画像及びOR合成画像の生成時の単語の画像の重ね合わせの際に、画像として最も重なる位置に補正が行われる場合がある(図21参照)。その場合、補正分を考慮した座標に修正を行う必要がある。以上の処理を行うことで、クラスタ内の画像データの分類を行い、クラスタを生成する。ここで生成されるクラスタのデータ構造は図19で示すものとなり、照合結果分類処理の節で説明を行ったクラスタRの構造と同じである。
<分類結果選択画面更新処理>
分類結果選択画面更新処理では、図20で示す分類結果選択画面において表示されているリスト2000の更新処理が行われる。この処理の動作主体は中央処理装置108であるとして以下説明する。
この更新処理では、中央処理装置108は、図10におけるリストCに格納されているクラスタをリストに追加する。ただし、リストCに格納されているクラスタが既にリストで表示されている場合、そのクラスタの追加は行われない。なお、ここで扱うクラスタのデータ構造は図19で示したものである。
中央処理装置108は、クラスタの追加を行った後、リスト2000で表示される各クラスタのデータの1つである確認修正済みフラグの値を参照する。参照した値が「true」の場合、リスト2000において参照を行ったクラスタが表示されている行の「済」列の文字を「済」にする。参照した値が「false」の場合、何も行わない。
図29は、更新された分類結果選択画面の構成例を示している。更新時に追加されたクラスタが符号2900及び2901で示されている。この表示された画面の構成については確認修正文字列選択画面(図13)と同様とする。
なお、本明細書では、帳票のOCRによる文字認識結果の確認と修正を行う例を述べたが、このほかにも、書籍のOCRによる文字認識結果の確認と修正を行っても良い。書籍のOCRによる文字認識結果の確認と修正を行う場合は、前記画像データ分類処理において、文字列の位置に基づく分類を行わない。なぜなら、書籍には帳票のような項目の入力欄がなく、各ページの同じ座標に同じ文字列があることは稀であるため、位置に基づく分類は意味を成さない。すると、ここでの画像データ分類処理は、図11のステップ1101とステップ1102を取り除いた処理となる。この画像データ分類処理以外は、本明細書で記述と同様となる。以上により、書籍におけるOCRの文字認識結果の確認と修正を実現することが可能となる。
<まとめ>
本発明の実施形態による文書処理装置では、例えば、各帳票から「ご担当者名」の欄の画像(図3では「大田太郎」)を分類し、同じグループに分類された画像を重ね合わせて合成処理を行い(図22参照)、AND画像とOR画像を生成する。このAND画像とOR画像及びOCR認識結果からの文字列を比較することで誤認識したものが含まれているかユーザが判断できるようにするものである。このようにすることにより、取り込んだ帳票のOCR認識結果を目視確認する作業の効率化と、対象とする画像の増加から影響を受ける確認工数の削減を利用者に提供することができる。なお、処理対象の文書は帳票形式の文書に限らず、いかなる種類の文書であっても良い。ただし、帳票出力の場合には座標情報によって各項目の画像データは特定できるため、他の種類の文書の場合にも、比較対象の少なくとも文書の部分画像を特定できるようにする必要がある。
また、合成画像としてAND画像とOR画像を生成するようにしているが、AND演算、OR演算、及びアルファブレンドに限られず、図22Bに示されるように、比較対象の画像の各ピクセルを重ね合わせ、重なる度合いが強い箇所と重なる度合いが弱い箇所の輝度値を変化させて表示するようにしても良い。つまり、各画素において「黒」の値である画像数が少なくなるほど輝度値は高くなり、画像数が多くなるほど輝度値は低くなるようにする。
さらに、図23のバウンディングボックス2301で示されるように、重ね合わせ処理の対象の項目を有する文書画像全体の合成画像と、重ね合わせ処理の対象となっている項目が何であるかを示す情報を併せて画面上に表示するようにしても良い。このようにすることにより、ユーザは、比較対象の項目を容易に確認することが可能となる。
本実施形態では、記憶装置は、複数の文書画像に対応する文書における各項目の位置を示す座標情報と、当該各項目におけるOCR認識文字列情報を格納している。そして、複数の文書画像を、座標情報とOCR認識文字列情報を基準にして複数のクラスタに分類し、同一クラスタに含まれる項目の画像に対して重ね合わせ処理を実行するようにする。このようにすることにより、同一項目であって、OCR認識文字列が同一或いは類似の文字列についてまとめて認識の正誤を確認することができ、処理の効率化を図ることが可能となる。
また、ユーザが、AND画像とOR画像に相違点が存在する場合、相違点に対応する画素の選択を選択すると、その選択された画素の値を分類軸として重ね合わせ処理に用いた項目の画像をさらにクラスタ分類する。そして、同一クラスタに含まれる画像に対して重ね合わせ処理をさらに実行してAND画像とOR画像を生成し、当該合成画像と、OCR処理の認識結果と、を比較表示する。このようにすることにより、より細かく分類された結果に対してユーザは確認作業をすることができるので、OCR認識結果の確認を効率よく実行することが可能となる。
本実施形態の文書処理装置では、ユーザは、適宜、OCR処理の認識結果を一括して修正し、或いは、OCR処理の認識結果を一括して確定することができるインターフェースが提供される。これにより、さらなる処理の効率化を図ることができるようになる。
また、複数のクラスタの情報を前記画面上に一覧表示されると共に、各クラスタにおける前記OCR処理の認識結果が確認済、修正済、或いは未処理であることを示す処理種別情報が表示される。これにより、ユーザは、処理済か否か容易に確認することが可能となる。
なお、本発明は、実施形態そのままに限定されるものではなく、実施段階では、その要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
また、実施形態で示された各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現しても良い。また、上記各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現しても良い。各機能等を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録或いは記憶装置、またはICカード、SDカード、DVD等の記録或いは記憶媒体に格納することができる。
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。