(57)【要約】【課題】本発明は、ＯＣＲ認識結果の目視確認の効率化を実現する文書処理技術を提供する。【解決手段】本発明の文書処理装置１００は、表示装置１０１と、複数の文書画像データを格納する記憶装置１０６と、文書画像に対するＯＣＲ処理の認識結果を表示装置１０１の画面上に表示するプロセッサ１０４とを有する。プロセッサ１０４は、文書画像データに含まれる文字画像データを切り出し、文字画像データに対してクラスタリング処理を実行して、文字画像データを複数のクラスタに分類する。プロセッサ１０４は、同一のクラスタに分類された文字画像データに対して重ね合わせ処理を実行して第１の重ね合わせ画像を生成する。プロセッサ１０４は、重ね合わせ処理の対象に対応するＯＣＲ処理の認識結果と、第１の重ね合わせ画像を表示装置１０１の画面上に表示する。【選択図】  図１
2013225170.tif 000002
【特許請求の範囲】
【請求項１】
複数の文書画像を取り込んで、ＯＣＲ処理の認識結果の確認を可能にする文書処理装置であって、
表示装置と、
複数の文書画像データを格納する記憶装置と、
前記文書画像に対する前記ＯＣＲ処理の認識結果を前記表示装置の画面上に表示するプロセッサと、を有し、
前記プロセッサは、前記文書画像データに加工処理を実行して、前記文書画像データに含まれる文字画像データを切り出し、
前記プロセッサは、前記文字画像データに対してクラスタリング処理を実行して、前記文字画像データを複数のクラスタに分類し、同一のクラスタに分類された文字画像データに対して重ね合わせ処理を実行して第１の重ね合わせ画像を生成し、
前記プロセッサは、前記重ね合わせ処理の対象に対応する前記ＯＣＲ処理の認識結果と、前記第１の重ね合わせ画像を前記画面上に表示することを特徴とする文書処理装置。
【請求項２】
請求項１において、
前記プロセッサは、前記クラスタリング処理において、全ての文字画像データ間において位置合わせ処理を実行し、前記位置合わせ処理によって算出される類似度に基づいて前記文字画像データを複数のクラスタに分類することを特徴とする文書処理装置。
【請求項３】
請求項１又は２において、
前記第１の重ね合わせ画像は、前記同一のクラスタに分類された文字画像データに対してＡＮＤ演算による重ね合わせ処理とＯＲ演算による重ね合わせ処理を実行して得られたＡＮＤ画像及びＯＲ画像であり、
前記プロセッサは、前記ＯＣＲ処理の認識結果と、前記ＡＮＤ画像及び前記ＯＲ画像を前記画面上に表示することを特徴とする文書処理装置。
【請求項４】
請求項１乃至３のいずれか一項において、
前記プロセッサは、前記加工処理において、前記文書画像データの各ピクセルに対して前記ＯＣＲ処理の認識結果の中でどの文字の近傍にあるかを示す近傍情報を算出し、前記近傍情報を用いて前記文書画像データに含まれる文字画像データを切り出すことを特徴とする文書処理装置。
【請求項５】
請求項１乃至４のいずれか一項において、
前記記憶装置は、文字の認識において優先すべき優先情報を更に格納しており、
前記プロセッサは、前記加工処理において、前記優先情報を反映させて前記文字画像データを切り出すことを特徴とする文書処理装置。
【請求項６】
請求項５において、
前記プロセッサは、前記クラスタリング処理において、全ての文字画像データ間において位置合わせ処理を実行し、
前記プロセッサは、前記文字画像データ間の位置合わせ毎に、前記優先情報のみを用いて第１の類似度を算出し、且つ前記文字画像データの全体を用いて第２の類似度を算出し、
前記プロセッサは、前記第１の類似度と前記第２の類似度とを用いて文字画像データ間の類似度を算出し、前記文字画像データを複数のクラスタに分類することを特徴とする文書処理装置。
【請求項７】
請求項６において、
前記プロセッサは、前記文字画像データ間の位置合わせ毎に、前記第１の類似度と前記第２の類似度の最小値を算出し、
前記プロセッサは、前記最小値の値を更新していくことによって前記文字画像データ間の類似度を算出し、前記文字画像データを複数のクラスタに分類することを特徴とする文書処理装置。
【請求項８】
請求項１乃至７のいずれか一項において、
前記記憶装置は、前記文書画像に含まれると想定される文字の情報を含む文字辞書データと、前記文書画像に含まれる図表の部分を示す図表認識結果データを更に格納しており、
前記プロセッサは、前記加工処理において、前記文字辞書データ及び図表認識結果データを用いて、文字を示すピクセルのみを反映させた前記文字画像データと、図表を示すピクセルのみを反映させた図表画像データとを生成することを特徴とする文書処理装置。
【請求項９】
請求項８において、
前記プロセッサは、前記重ね合わせ処理において、前記同一のクラスタに分類された文字画像データを含む前記文書画像データの前記図表画像データに対して重ね合わせ処理を実行して、第２の重ね合わせ画像を更に生成し、
前記プロセッサは、前記第１の重ね合わせ画像と前記第２の重ね合わせ画像とを重ね合わせて、第３の重ね合わせ画像を生成し、
前記プロセッサは、前記ＯＣＲ処理の認識結果と、前記第３の重ね合わせ画像とを前記画面上に表示することを特徴とする文書処理装置。
【請求項１０】
請求項９において、
前記プロセッサは、文字のみを示すピクセルと、図表のみを示すピクセルと、前記文字と前記図表の両方を示すピクセルと、前記文字と図表以外のピクセルとが別々の色で区別されるように、前記第３の重ね合わせ画像を生成することを特徴とする文書処理装置。
【請求項１１】
請求項９又は１０において、
前記第１の重ね合わせ画像は、前記同一のクラスタに分類された文字画像データに対してＡＮＤ演算による重ね合わせ処理とＯＲ演算による重ね合わせ処理を実行して得られたＡＮＤ画像及びＯＲ画像であり、
前記第２の重ね合わせ画像は、前記同一のクラスタに分類された文字画像データを含む前記文書画像の前記図表画像データに対してＡＮＤ演算による重ね合わせ処理とＯＲ演算による重ね合わせ処理を実行して得られたＡＮＤ画像及びＯＲ画像であり、
前記第３の重ね合わせ画像は、
前記第１の重ね合わせ画像のＡＮＤ画像と前記第２の重ね合わせ画像のＡＮＤ画像とをＡＮＤ演算により重ね合わせたＡＮＤ重ね合わせ画像と、
前記第１の重ね合わせ画像のＯＲ画像と前記第２の重ね合わせ画像のＯＲ画像とをＯＲ演算により重ね合わせたＯＲ重ね合わせ画像とを含み、
前記プロセッサは、前記ＯＣＲ処理の認識結果と、前記ＡＮＤ重ね合わせ画像と、前記ＯＲ重ね合わせ画像とを前記画面上に表示することを特徴とする文書処理装置。
【請求項１２】
請求項１乃至１１のいずれか一項において、
前記プロセッサは、前記加工処理において、前記ＯＣＲ処理の認識結果において文字として認識された部分の周辺を含めて文字画像データを切り出すことを特徴とする文書処理装置。
【請求項１３】
表示装置と記憶装置とプロセッサとを備える情報処理装置において、取り込んだ複数の文書画像データに対するＯＣＲ処理の認識結果の正誤確認を可能にする文書処理プログラムであって、
前記複数の文書画像データを格納した前記記憶装置から前記文書画像データを取得し、前記文書画像データに加工処理を実行して、前記文書画像データに含まれる文字画像データを切り出す機能と、
前記文字画像データに対してクラスタリング処理を実行して、前記文字画像データを複数のクラスタに分類する機能と、
同一のクラスタに分類された文字画像データに対して重ね合わせ処理を実行して第１の重ね合わせ画像を生成する機能と、
前記重ね合わせ処理の対象に対応する前記ＯＣＲ処理の認識結果と、前記第１の重ね合わせ画像を前記表示装置の画面上に表示する機能とを
を実現させる文書処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書処理装置及び文書処理プログラムに関し、例えば、文書のスキャンおよびＯＣＲ（Optical Character Reader）による文字認識を一括で確認と修正を行うための技術に関するものである。
【背景技術】
【０００２】
現在、紙文書に印字された文字情報を電子化するために、文書画像の文字認識にＯＣＲが利用されている。ＯＣＲによる文字認識結果には誤りが含まれる可能性があるため、認識結果として得られた文字に対し、オペレータの目視により、誤認識の確認と修正が行われている。
【０００３】
近年のＯＣＲでは高い精度での文字認識が可能となったが、誤認識は避けられず目視確認が前提となっている。数値のみの認識に関しては非特許文献１にあるようにチェックデジットにより誤認識率を大きく下げることが出来る場合があるが、業務の性質によってはチェックデジットを設定することができず、目視確認を必要とする場合も多い。
【０００４】
最近では、目視確認の効率向上のため、修正対象となる文字と、それに対応する画像部（画像上の一部の領域）を連動させた表示を行う技術の発明が多数ある。例えば特許文献１では、文字認識により認識された文字ごとに分類して、その文字の認識対象となる画像部から文字の形状に関する特徴量を求める。その特徴量からクラスタリング処理を行い、クラスタごとに画像部を表示する技術によって、文字認識結果の確認と修正を行う作業効率を向上させている。
【０００５】
また、確認と修正の作業時に個人情報漏えいを防止するため、認識された文字に対応する画像部以外の領域の情報をマスキングするマスク処理の技術を使用することで、確認と修正を外部に委託したコストの削減が行われている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４１７２５８４号公報
【非特許文献】
【０００７】
【非特許文献１】http://it.jeita.or.jp/document/ocr_scanner/sakuin/honmon/ocr8360.html
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、チェックデジットが適用できない文字を対象とする場合、大量件数の各文字に対して目視確認する必要がある。目視確認する際には列挙された画像部分を連続的に網羅しなければならないことから、作業工数が非常に大きくなる。また、例えば、ＯＣＲ処理による文字列の認識の精度が９０％であったとすると、１００００枚の文書のうち１０００枚に誤認識がある可能性がある。ところが、どの文書に認識ミスがあった文字が存在するのかを特定することが非常に困難である。従って、誤認識された１０００枚を特定するために、結局１００００枚全ての文書をチェックしなければならないこととなり、目視確認の作業工数が大きくなる。オペレータ自身の工数を小さくするために、作業専門のオペレータの配置や外部委託をすることなども可能であるが、コストが過大となる可能性もある。
【０００９】
また、確認と修正を外部委託する場合でも、対象とする画像の増分だけ作業工数が線形に比例してコストが増加する。特に、機密情報を含んだ認識文字の確認は外部へ委託することが困難となる。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、ＯＣＲ認識結果の目視確認の効率化を実現する文書処理技術を提供するものである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明による文書処理装置は、表示装置と、複数の文書画像データを格納する記憶装置と、文書画像に対するＯＣＲ処理の認識結果を前記表示装置の画面上に表示するプロセッサとを有している。当該プロセッサは、文書画像データに加工処理を実行して、文書画像データに含まれる文字画像データを切り出す。さらに、当該プロセッサは、文字画像データに対してクラスタリング処理を実行して、文字画像データを複数のクラスタに分類し、同一のクラスタに分類された文字画像データに対して重ね合わせ処理を実行して第１の重ね合わせ画像を生成する。さらに、当該プロセッサは、重ね合わせ処理の対象に対応するＯＣＲ処理の認識結果と、第１の重ね合わせ画像を前記画面上に表示する。
【発明の効果】
【００１２】
本発明によれば、様々な種類の文書画像におけるＯＣＲによる文字認識結果に対して、複数の文字画像に対して目視確認及び修正を一括して行うことでき、これにより、ＯＣＲ認識結果の目視確認の効率化を実現することができる。
【００１３】
本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、上記した以外の、課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態による文書処理装置の概略構成を示す機能ブロック図である。
【図２】本発明の実施形態による文字画像辞書データ及び文書画像データのデータ構造を示す図である。
【図３】本発明の実施形態によるＯＣＲ文字認識結果データ及びＯＣＲ線認識結果データのデータ構造を示す図である。
【図４】本発明の実施形態による文字近傍計算結果データ及び優先部分計算結果データのデータ構造を示す図である。
【図５】本発明の実施形態による文字画像データ、クラスタリング結果データ、及び線計算結果データのデータ構造を示す図である。
【図６】本発明の実施形態による文書処理装置の処理の全体概要を説明するためのフローチャートである。
【図７】図６のステップ６０１で行われる処理の詳細を説明するためのフローチャートである。
【図８】図７のステップ７０７で行われる処理の詳細を説明するためのフローチャートである。
【図９】図６のステップ６０２で行われるクラスタリング処理の詳細を説明するためのフローチャートである。
【図１０】図９のステップ９０４で行われる位置合わせ処理の詳細を説明するためのフローチャートである。
【図１１】図１０のステップ１００５で行われる位置合わせ処理の詳細を説明するためのフローチャートである。
【図１２】図６のステップ６０３の中で行われる合成画像の表示処理の詳細を説明するための画面例である。
【図１３】図６のステップ６０３の合成画像の生成処理の詳細を説明するためのフローチャートである。
【図１４】図１３のステップ１３０９の合成演算処理の詳細を説明するためのフローチャートである。
【図１５】文字列に対してボロノイ図を計算した結果を示した図である。
【図１６】文字画像と線画像との合成処理の一例を示した図である。
【図１７】文字が狭い間隔で印字される場合を示した図である。
【図１８】文字列に下線が設定されているために下線と文字が重なって印字される場合を示した図である。
【図１９】異なる文字でありながら画像として同一の部分が多く、かつ、細いピクセル部分が文字認識に重要な役割を果たす例を示した図である。
【図２０】ＯＣＲ処理において一番端の文字列が認識されない例を示した図である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照しながら、本発明の文書処理装置を実施するための形態を詳細に説明する。図１〜図１４は、本発明の実施形態を例示する図である。これらの図において、同一の符号を付した部分は同一物を表し、基本的な構成及び動作は同様であるものとする。
【００１６】
なお、以後の説明では「テーブル」構造を用いて本発明の情報について説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくても良く、リスト、ＤＢ、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「ＤＢ」、「キュー」等について単に「情報」と呼ぶことがある。
【００１７】
＜文書処理装置の構成＞
図１は、本発明の実施形態による文書処理装置の概略構成を示す機能ブロック図である。文書処理装置１００は、ワークステーションやパーソナルコンピュータなどの情報処理装置によって構成されている。文書処理装置１００は、データを表示するための表示装置１０１と、表示されたデータに対してメニューを選択するなどの操作を行うためのキーボード１０２及びポインティングデバイス（マウスなど）１０３と、演算処理及び制御処理などを実行する中央処理装置１０４と、中央処理装置１０４での処理に必要なプログラムを格納するプログラムメモリ１０５と、中央処理装置１０４での処理に必要なデータを格納するデータメモリ１０６と、文字画像辞書ＤＢ１０７と、文書画像ＤＢ１０８とを備えている。
【００１８】
中央処理装置１０４は、ＣＰＵ（Central Processing Unit）などのプロセッサで構成されている。中央処理装置１０４は、ＯＣＲ認識処理部１０９と、画像加工処理部１１０と、クラスタリング処理部１１１と、合成画像表示処理部１１２とを備えている。各処理部は、ハードウェア構成としてもよい。また、上述したように、この実施例では、文書処理装置１００は、コンピュータなどによって構成されており、ＯＣＲ認識処理部１０９と、画像加工処理部１１０と、クラスタリング処理部１１１と、合成画像表示処理部１１２を、コンピュータ上で実行されるプログラムの機能の一部として実現してもよい。すなわち、各処理部１０９乃至１１２は、プログラムコードとしてプログラムメモリ１０５に格納して、中央処理装置１０４が各プログラムコードを実行することによって各処理部が実現されてもよい。
【００１９】
ＯＣＲ認識処理部１０９は、文書画像に対してＯＣＲ処理を実行するものであり、ＯＣＲは既存の技術を用いて実行する。画像加工処理部１１０は、文書画像データ１２２のデータに対して加工処理を実行し、文書画像データ１２２から文字画像を切り出す処理を実行する。画像加工処理部１１０は、文字近傍計算処理部１１３と、文字図表分離処理部１１４と、優先部分処理部１１５と、周辺画像取得処理部１１６とを備えている。
【００２０】
クラスタリング処理部１１１は、位置合わせ処理部１１７を備えている。位置合わせ処理部１１７は、優先部分考慮型類似度計算処理部１１８を備えている。合成画像表示処理部１１２は、合成画像計算処理部１１９を備えている。合成画像計算処理部１１９は、文字図表合成処理部１２０を備えている。
【００２１】
データメモリ１０６は、文字画像辞書データ１２１と、文書画像データ１２２と、ＯＣＲ文字認識結果データ１２３と、ＯＣＲ線認識結果データ１２４と、文字近傍計算結果データ１２５と、優先部分計算結果データ１２６と、文字画像データ１２７と、クラスタリング結果データ１２８と、線計算結果データ１２９とを備えている。
【００２２】
＜データメモリの構成＞
図２は、データメモリ１０６に含まれる文字画像辞書データ１２１、文書画像データ１２２のデータ構造を示す図である。文字画像辞書データ１２１は、文字画像として想定される画像を予め定義したデータであり、文字・フォント種類・フォントサイズを指定している。文字画像辞書データ１２１は、文字コード２００と、フォント２０１と、フォントサイズ２０２と、ピクセルデータ２０３とを構成項目として含んでいる。図２の例では、文字「ｙ」のフォント、フォントサイズ、及び、ピクセルデータが定義されている。ピクセルデータ２０３は、黒、白、黒優先のいずれかの値が、文字画像の大きさに従った二次元配列上に保持されている。ここで、「黒優先」は、その文字画像において文字の分類（又は識別）において重要な部分を予め指定したものである。例えば、文字「ｃ」と「ｅ」の分類、文字「Ｏ」と「Ｑ」の分類などでは、異なる文字でありながら画像として同一部分が多く、分類の際に間違いがおこりやすい。「ｅ」の文字の横棒部分や、「Ｑ」の点部分など文字の分類において重要な役割を果たす箇所に「黒優先」が指定されている。
【００２３】
文書画像データ１２２は、ＯＣＲの処理対象となる文書画像データである。文書画像データ１２２は、文書ＩＤ２０４と、ピクセルデータ２０５とを構成項目として含んでいる。ピクセルデータ２０５は、黒又は白のいずれかの値が、文書画像の大きさに従った二次元配列上に保持されている。
【００２４】
図３は、データメモリ１０６に含まれるＯＣＲ文字認識結果データ１２３と、ＯＣＲ線認識結果データ１２４とのデータ構造を示す図である。ＯＣＲ認識処理部１０９は、その処理結果を、ＯＣＲ文字認識結果データ１２３及びＯＣＲ線認識結果データ１２４として、データメモリ１０６に格納する。既存のＯＣＲ処理では、処理結果において文字か線であるかを認識できる。したがって、以下に示すように、文字認識と線認識のデータを別々に格納している。
【００２５】
ＯＣＲ文字認識結果データ１２３は、文書ＩＤ３００、文字ＩＤ３０１と、文字コード３０２と、フォント３０３と、フォントサイズ３０４と、位置３０５とを構成項目として含んでいる。位置３０５は、文字の外接矩形の左上及び右下の座標の組である。
【００２６】
ＯＣＲ線認識結果データ１２４は、文書ＩＤ３０６と、線ＩＤ３０７と、位置３０８とを構成項目として含んでいる。位置３０８は、線を構成する矩形の四つの頂点座標の組である。
【００２７】
図４は、文字近傍計算結果データ１２５と、優先部分計算結果データ１２６のデータ構造を示す図である。文字近傍計算結果データ１２５は、文書画像の各位置（ピクセル）について、どの文字の近傍に位置するかを保持するデータである。文字近傍計算結果データ１２５は、文書ＩＤ４００と、文字ＩＤ４０１とを構成項目として含んでいる。文字ＩＤ４０１には、文書画像の大きさに従った二次元配列のデータが保持される。文字ＩＤ４０１の二次元配列の各要素には、文書ＩＤ４００と同じ文書ＩＤ３００を持つデータの文字ＩＤ３０１のいずれか、もしくは、ｎｕｌｌ値が保持される。二次元配列の要素に文字ＩＤ３０１に対応するデータが保持されている場合は、その位置は文字ＩＤ３０１で示される文字の近傍であることを示し、ｎｕｌｌ値である場合は、その位置はどの位置の近傍ではない（すなわち、どの文字からも離れている）ことを示している。
【００２８】
優先部分計算結果データ１２６は、文書画像の各位置について文字画像の分類において優先すべき画像部分であるかを保持するデータである。優先部分計算結果データ１２６は、文書ＩＤ４０２と、優先フラグ４０３とを構成項目として含んでいる。優先フラグ４０３は、Ｔｒｕｅ、Ｆａｌｓｅ、もしくはｎｕｌｌ値が、文書画像の大きさに従った二次元配列上に保持されている。優先フラグ４０３のデータは、文字画像辞書データ１２１の情報を用いて決定されており、文字として認識された位置で且つ「黒優先」の位置は、Ｔｒｕｅが示され、文字として認識された位置で且つ黒優先でない位置は、Ｆａｌｓｅが示され、文字でない位置は、ｎｕｌｌ値が示されている。
【００２９】
図５は、文字画像データ１２７と、クラスタリング結果データ１２８と、線計算結果データ１２９のデータ構造を示す図である。文字画像データ１２７は、ＯＣＲ処理によって得られた各文字についての文字画像データである。文字画像データ１２７は、文書ＩＤ５００と、文字ＩＤ５０１と、ピクセルデータ５０２とを構成項目として含んでいる。ピクセルデータ５０２は、黒、白、黒優先、ｎｕｌｌのいずれかの値が、文字画像の大きさに従った二次元配列上に保持されている。なお、本実施例では、ピクセルデータ５０２の黒、白、黒優先のいずれかの値を保持する領域の形状は、文書ＩＤ５００及び文字ＩＤ５０１と同じ値である文書ＩＤ３００及び文字ＩＤ３０１に対応する位置３０５で補正すると、文字ＩＤ４０１の二次元配列において文字ＩＤ５０１と同じＩＤが保持されている領域の形状と一致する。
【００３０】
クラスタリング結果データ１２８は、文字画像データ１２７をＯＣＲ認識結果及び画像の類似度で分類した結果を保持するデータである。クラスタリング結果データ１２８は、文書ＩＤ５０３と、文字ＩＤ５０４と、クラスタＩＤ５０５と、オフセット５０６とを構成項目として含んでいる。オフセット５０６は、クラスタＩＤ５０５を持つクラスタに含まれる文字画像の中で、文字ＩＤ５０４を持つ文字の文字画像の相対位置を示す座標である。
【００３１】
線計算結果データ１２９は、文書画像の各位置について、ＯＣＲ認識結果により線だと認識されたかどうかを保持するデータである。線計算結果データ１２９は、文書ＩＤ５０７と、線フラグ５０８とを構成項目として含んでいる。線フラグ５０８は、Ｔｒｕｅ、Ｆａｌｓｅのいずれかの値が、文書画像の大きさに従った二次元配列上に保持される。
【００３２】
＜文書処理装置における処理＞
次に、上述の構成を有する文書処理装置において行われる処理について説明する。図６〜１１、１３、及び１４は文書処理装置１００において行われる処理の概要を示すフローチャートである。これらのフローチャートにおける処理の主体は中央処理装置１０４とする。また、文書処理装置１００において実現する確認と修正の対象は、文書画像におけるＯＣＲ認識結果の文字列となる。
【００３３】
（１）文書処理の全体像
図６は、文書処理装置の処理の全体概要を説明するためのフローチャートである。
まず、ステップ６００において、中央処理装置１０４は、ＯＣＲ認識処理部１０９を用いて、入力された文書画像に対してＯＣＲ認識を行う。この処理については、既存のＯＣＲ技術を用いて実行する。次に、ステップ６０１において、中央処理装置１０４は、画像加工処理部１１０を用いて、画像加工処理を実行する。画像加工処理部１１０の処理ついては、図７において詳細に説明する。次に、ステップ６０２において、中央処理装置１０４は、クラスタリング処理部１１１を用いて、文字画像のクラスタリングを行う。クラスタリング処理部１１１の処理については、図９において詳細に説明する。最後に、ステップ６０３において、中央処理装置１０４は、合成画像表示処理部１１２を用いて、合成画像の表示を行う。合成画像表示処理部１１２の処理については、図１２において詳細に説明する。
【００３４】
（２）ステップ６０１の詳細
図７は、ステップ６０１で行われる処理の詳細を説明するためのフローチャートである。
まず、ステップ７００において、中央処理装置１０４は、文書のインデックス変数doc_idxを１で初期化する。次に、ステップ７０１において、中央処理装置１０４は、doc_idx件以上の文書数があるか判定する。これは、例えば、文書画像データ１２２の要素数に基づいて判定することができる。文書数がdoc_idx未満である場合は処理を終了する。文書数がdoc_idx以上である場合は、ステップ７０２に進む。
【００３５】
ステップ７０２において、中央処理装置１０４は、文字近傍計算処理部１１３を用いて、文字近傍の計算を行う。この処理は、まず、ＯＣＲ文字認識結果データ１２３のうち文書ＩＤ３００がdoc_idx番目の文書画像データの文書ＩＤ２０４と同じ値であるものにおいて、文字コード３０２、フォント３０３、フォントサイズ３０４と同じ情報を持つ文字画像辞書データ１２１の文字のピクセルデータ２０３の情報を取得する。そのピクセルデータ２０３に黒または黒優先が保持されている位置を位置３０５で補正し、それによって得られた位置集合に基づいてボロノイ図を計算する。そのボロノイ図の計算結果を文字近傍計算結果データ１２５の文字ＩＤ４０１で保持する。ボロノイ図の計算については既存技術で行うことができる。図１５は、「ｈａｐｐｙ」という文字列に対してボロノイ図を計算した例を示している。
【００３６】
次に、ステップ７０３において、中央処理装置１０４は、文字図表分離処理部１１４を用いて、図表部分の計算を行う。この処理は、まず、線計算結果データ１２９の線フラグ５０８をいったん全てＦａｌｓｅで初期化する。その後、ＯＣＲ線認識結果データ１２４のうち文書ＩＤ３０６がdoc_idx番目の文書画像データ１２２の文書ＩＤ２０４と同じ値であるものにおいて、位置３０８の座標で囲まれる領域に対応する位置にＴｒｕｅを設定して、線フラグ５０８の情報を得ることができる。
【００３７】
次に、ステップ７０４において、中央処理装置１０４は、優先部分処理部１１５を用いて、優先部分の計算を行う。この処理は、まず、優先部分計算結果データ１２６の優先フラグ４０３をいったん全てｎｕｌｌ値で初期化する。その後、ＯＣＲ文字認識結果データ１２３のうち文書ＩＤ３００がdoc_idx番目の文書画像データ１２２の文書ＩＤ２０４と同じ値であるものにおいて、文字コード３０２、フォント３０３、フォントサイズ３０４と同じ情報を持つ文字画像辞書データ１２１の文字に対応するピクセルデータ２０３を取得する。その取得されたピクセルデータ２０３に黒優先が指定されている位置を位置３０５で補正した位置にＴｒｕｅを設定し、それ以外の位置にＦａｌｓｅを設定して、優先フラグ４０３の情報を得ることができる。
【００３８】
次に、ステップ７０５において、中央処理装置１０４は、文字のインデックス変数char_idxを１で初期化する。次に、ステップ７０６において、中央処理装置１０４は、ＯＣＲ文字認識結果データ１２３のうち文書ＩＤ３００がdoc_idx番目の文書画像データ１２２の文書ＩＤ２０４と同じ値であるものの件数がchar_idx以上であるかを判定する。件数がchar_idx未満である場合は、ステップ７１０において、doc_idxを１だけインクリメントして、ステップ７０１に戻る。件数がchar_idx以上である場合は、ステップ７０７に進む。
【００３９】
次に、ステップ７０７において、中央処理装置１０４は、char_idx番目の文字に対応する文字画像を作成する。この処理は、図８において詳細に説明する。
【００４０】
次に、ステップ７０８において、中央処理装置１０４は、周辺画像取得処理部１１６を用いて、char_idx番目の文字の周辺の空白に対応する文字画像を作成する。この処理は、doc_idx番目の文書画像データ１２２の文書ＩＤ２０４と同じ値の文書ＩＤ３００を持つＯＣＲ文字認識結果データ１２３のうちchar_idx番目のものに対して、位置３０５に隣接する同じ大きさの領域を取得する。取得した隣接する領域について、文字近傍計算結果データ１２５の文字ＩＤ４０１における値がｎｕｌｌであるかを判定し、ｎｕｌｌであれば文書画像データ１２２のピクセルデータ２０５を転記し、これにより、char_idx番目の文字の周辺の空白に対応する文字画像を作成する。
【００４１】
その後、ステップ７０９において、中央処理装置１０４は、char_idxを１だけインクリメントして、ステップ７０６に戻る。
【００４２】
（３）ステップ７０７の詳細
図８は、ステップ７０７で行われる処理の詳細を説明するためのフローチャートである。
まず、ステップ８００において、中央処理装置１０４は、doc_idx番目の文書画像データ１２２の文書ＩＤ２０４を取得し、文字画像データ１２７の文書ＩＤ８００に格納する。
【００４３】
次に、ステップ８０１において、中央処理装置１０４は、doc_idx番目の文書画像データ１２２の文書ＩＤ２０４と同じ値の文書ＩＤ３００を持つＯＣＲ文字認識結果データ１２３のうちchar_idx番目の文字の情報を取得する。具体的には、中央処理装置１０４は、char_idx番目の文字の文字ＩＤ３０１、文字コード３０２、フォント３０３、フォントサイズ３０４、位置３０５を取得して、文字ＩＤ３０１を文字画像データ１２７の文字ＩＤ５０１に格納する。
【００４４】
次に、ステップ８０２において、中央処理装置１０４は、Ｙ軸方向の位置y_posをステップ８０１で得た位置の右下座標のＹ軸の値で初期化する。
【００４５】
次に、ステップ８０３において、中央処理装置１０４は、Ｙ軸方向の位置y_posがステップ８０１で得た位置の左上座標のＹ軸の値以下であるかを判定する。Ｙ軸方向の位置y_posが左上座標のＹ軸の値を超えていれば、処理を終了する。Ｙ軸方向の位置y_posが左上座標のＹ軸の値を超えていなければ、ステップ８０４に進む。
【００４６】
次に、ステップ８０４において、中央処理装置１０４は、Ｘ軸方向の位置x_posをステップ８０１で得た位置の左上座標のＸ軸の値で初期化する。
【００４７】
次に、ステップ８０５において、中央処理装置１０４は、Ｘ軸方向の位置x_posがステップ８０１で得た位置の右下座標のＸ軸の値以下であるか判定する。Ｘ軸方向の位置x_posが右下座標のＸ軸の値を超えていれば、ステップ８１５において、y_posを１だけインクリメントして、ステップ８０３に戻る。Ｘ軸方向の位置x_posが右下座標のＸ軸の値を超えていなければ、ステップ８０６に進む。
【００４８】
次に、ステップ８０６において、中央処理装置１０４は、文字近傍計算結果データ１２５のうち文書ＩＤ４００がステップ８００で得た文書ＩＤと一致するものにおける文字ＩＤ４０１のx_pos, y_pos番目の要素が、ステップ８０１で得た文字ＩＤと一致するかを判定する。ここで、一致しない場合、ステップ８０７において、文字画像データ１２７のピクセルデータ５０２の、(x_pos−Ｘ軸方向の初期値)、(y_pos−Ｙ軸方向の初期値)番目の要素にｎｕｌｌ値を格納する。一致する場合は、ステップ８０８に進む。
【００４９】
次に、ステップ８０８において、中央処理装置１０４は、文書画像データ１２２のうち文書ＩＤ２０４がステップ８００で得た文書ＩＤと一致するものにおけるピクセルデータ２０５のx_pos、y_pos番目の要素が黒であるかを判定する。白であった場合、ステップ８０９において、文字画像データ１２７のピクセルデータ５０２の、(x_pos−Ｘ軸方向の初期値)、(y_pos−Ｙ軸方向の初期値)番目の要素に「白」を格納する。黒であった場合は、ステップ８１０に進む。
【００５０】
次に、ステップ８１０において、中央処理装置１０４は、線計算結果データ１２９のうち文書ＩＤ５０７がステップ８００で得た文書ＩＤと一致するものにおける線フラグ５０８のx_pos, y_pos番目の要素がＴｒｕｅであり、且つ、文字画像辞書データ１２１のうち文字コード２００、フォント２０１、フォントサイズ２０２がステップ８０１で得た文字コード、フォント、フォントサイズと一致するもののピクセルデータ２０３の(xpos−Ｘ軸方向の初期値)、(y_pos−Ｙ軸方向の初期値)番目の要素が白であるかを判定する。この条件に合致する場合、ステップ８０９において、文字画像データ１２７のピクセルデータ５０２の、(x_pos−Ｘ軸方向の初期値)、(y_pos−Ｙ軸方向の初期値)番目の要素に「白」を格納する。この条件に合致しない場合は、ステップ８１１に進む。
【００５１】
次に、ステップ８１１において、中央処理装置１０４は、優先部分計算結果データ１２６のうち文書ＩＤ４０２がステップ８００で得た文書ＩＤと一致するものにおける優先フラグ４０３のx_pos, y_pos番目の要素がＴｒｕｅであるかを判定する。
【００５２】
Ｆａｌｓｅである場合、ステップ８１２において、中央処理装置１０４は、文字画像データ１２７のピクセルデータ５０２の、(x_pos−Ｘ軸方向の初期値)、(y_pos−Ｙ軸方向の初期値)番目の要素に「黒」を格納する。Ｔｒｕｅであった場合、ステップ８１３において、中央処理装置１０４は、文字画像データ１２７のピクセルデータ５０２の、(x_pos−Ｘ軸方向の初期値)、(y_pos−Ｙ軸方向の初期値)番目の要素に「黒優先」を格納する。
【００５３】
その後、ステップ８１４において、中央処理装置１０４は、x_posを１だけインクリメントして、ステップ８０５に戻る。
【００５４】
（４）ステップ６０２の詳細
図９は、図６のステップ６０２で行われるクラスタリング処理の詳細を説明するためのフローチャートである。このクラスタリング処理により、同一のクラスタに分類された文字列をまとめて確認及び修正することが可能となる。
まず、ステップ９００において、中央処理装置１０４は、文字画像のインデックス変数cimg_idx1を１で初期化する。次に、ステップ９０１において、中央処理装置１０４は、文字画像データ１２７を参照して、cimg_idx1以上の文字画像が存在するかを判定する。cimg_idx1以上の文字画像がある場合は、ステップ９０２に進む。
【００５５】
次に、ステップ９０２において、中央処理装置１０４は、文字画像のインデックス変数cimg_idx2をcimg_idx1＋１で初期化する。次に、ステップ９０３において、中央処理装置１０４は、cimg_idx2以上の文字画像が存在するかを判定する。もし存在しない場合は、ステップ９０６において、cimg_idx1を１だけインクリメントして。ステップ９０１に戻る。存在する場合は、ステップ９０４に進む。
【００５６】
次に、ステップ９０４において、中央処理装置１０４は、cimg_idx1番目の文字画像と、cimg_idx2番目の文字画像の位置合わせを行う。この処理については、中央処理装置１０４が、位置合わせ処理部１１７を用いて行うものであり、図１０において詳細に説明する。
【００５７】
次に、ステップ９０５において、中央処理装置１０４は、cimg_idx2を１だけインクリメントして、ステップ９０３に戻る。
【００５８】
その後、ステップ９０１において、cimg_idx1以上の文字画像が存在しない場合は、ステップ９０７に進む。ステップ９０７において、中央処理装置１０４が、最短距離法やK-means法などの既存技術の応用により、文字画像集合のクラスタを生成する。例えば、中央処理装置１０４は、ある閾値以上の類似度を持つ位置合わせ結果が得られた文字画像間には辺があると判定し、文字画像集合をグラフ構造で表す。そして、中央処理装置１０４が、文字画像データ１２７の文書ＩＤ５００と文字ＩＤ５０１と同じ値の文書ＩＤ３００と文字ＩＤ３０１を持つＯＣＲ文字認識結果データ１２３の文字コード３０２が同一である、上記グラフ構造の連結成分をクラスタとする。
【００５９】
（５）ステップ９０４の詳細
図１０は、図９のステップ９０４で行われる位置合わせ処理の詳細を説明するためのフローチャートである。なお、以下の「第一の要素数」及び「第二の要素数」という記載は、それぞれ、二次元配列上の第一の軸の要素数及び第二の軸の要素数を意味する。
まず、ステップ１０００において、中央処理装置１０４は、最大類似度の値と、それを与えるオフセット値とを初期化する。次に、ステップ１００１において、中央処理装置１０４は、Ｘ軸方向のオフセットの値x_posを０で初期化する。
【００６０】
次に、ステップ１００２において、中央処理装置１０４は、x_posが文字画像データ１２７のピクセルデータ５０２の第二の要素数以下であるかを判定する。x_posがピクセルデータ５０２の第二の要素数を超えていた場合は、処理を終了する。超えていなければ、ステップ１００３に進む。
【００６１】
次に、ステップ１００３において、中央処理装置１０４は、Ｙ軸方向のオフセットの値y_posを０で初期化する。次に、ステップ１００４において、中央処理装置１０４は、y_posが文字画像データ１２７のピクセルデータ５０２の第一の要素数以下であるかを判定する。y_posがピクセルデータ５０２の第一の要素数を超えていた場合、ステップ１００８において、x_posを１だけインクリメントして、ステップ１００２に戻る。超えていない場合、ステップ１００５に進む。
【００６２】
次に、ステップ１００５において、中央処理装置１０４は、２つの文字画像についてオフセットが（x_pos，y_pos）である場合の類似度を算出する。この処理については、中央処理装置１０４が、優先部分考慮型類似度計算処理部１１８を用いて行うものであり、図１１において詳細に説明する。
【００６３】
次に、ステップ１００６において、中央処理装置１０４は、類似度が今まで保持していた最大類似度よりも大きい場合は、最大類似度の値と、それを与えるオフセットの値を更新する。その後、ステップ１００７において、中央処理装置１０４は、y_posを１だけインクリメントして、ステップ１００４に戻る。
【００６４】
（６）ステップ１００５の詳細
図１１は、図１０のステップ１００５で行われる位置合わせ処理の詳細を説明するためのフローチャートである。
まず、ステップ１１００において、中央処理装置１０４は、文字画像データ１２７のピクセルデータ５０２全体を用いて類似度を算出する。次に、ステップ１１０１において、中央処理装置１０４は、文字画像データ１２７のピクセルデータ５０２が「黒優先」になっている要素のみを用いて類似度を算出する。その後、ステップ１１０２において、中央処理装置１０４は、ピクセルデータ５０２全体を用いた類似度と、「黒優先」になっている要素のみを用いた類似度との最小値を算出する。この最小値が、図１０のステップ１００５の類似度として使用される。
【００６５】
（７）ステップ６０３の詳細
図１２は、図６のステップ６０３の中で行われる合成画像の表示処理の詳細を説明するための画面例である。
中央処理装置１０４は、ＯＣＲ処理の認識結果と、ステップ６０３によって生成された合成画像を表示装置１０１の画面上に表示する。図１２の画面は、クラスタ表示部１２００と、ＡＮＤ合成画像表示部１２０２と、ＯＲ合成画像表示部１２０３と、ＯＣＲ認識結果表示部１２０４と、確認ボタン１２０５と、個別確認ボタン１２０６とを備える。オペレータは、図１２の画面上で複数の文字画像に対して目視確認及び修正を一括して行うことできる。クラスタ表示部１２００には、クラスタリング処理部１１１で計算したクラスタが表示される。この画面例では、目視確認及び修正がまだ終了していないクラスタが太字で表示される。符号１２０１で示されるように、図７のステップ７０８で作成した空白文字に相当するクラスタもクラスタ表示部１２００に表示される。
【００６６】
中央処理装置１０４は、クラスタ表示部１２００に対するオペレータの選択を受付け、該当するクラスタにおける文字画像の合成画像を生成し、その合成画像をＡＮＤ合成画像表示部１２０２及びＯＲ合成画像表示部１２０３に表示する。ＡＮＤ合成画像表示部１２０２には、ＡＮＤ合成画像が表示され、ＯＲ合成画像表示部１２０３には、ＯＲ合成画像が表示される。ＡＮＤ合成画像及びＯＲ合成画像を生成する処理については、中央処理装置１０４が、合成画像表示処理部１１２を用いて実行する。なお、合成画像表示処理部１１２における処理は、図１３において詳細に説明する。
【００６７】
ＯＣＲ認識結果表示部１２０４には、ＯＣＲによる文字認識結果が表示されている。中央処理装置１０４は、オペレータからの確認結果を受け取る。例えば、中央処理装置１０４は、確認ボタン１２０５が押下されたことを受け取り、クラスタ表示部１２００における太字表記を更新する。また、中央処理装置１０４は、個別確認ボタン１２０６が押下されたことを受け取り、クラスタ表示部１２００で選択されたクラスタに含まれる文字画像についてそれぞれ単独のクラスタを構成するための画面（図示せず）に遷移する。つまり、中央処理装置１０４は、遷移後の画面で、オペレータからの入力を受け付け、クラスタリング結果データ１２８におけるクラスタＩＤ５０５として異なる値を再設定する。以上の操作によって、オペレータは複数の文字画像に対して修正を一括して行うことできる。
【００６８】
（８）ステップ６０３の合成画像の生成処理の詳細
図１３は、ステップ６０３の合成画像の生成処理の詳細を説明するためのフローチャートである。
まず、ステップ１３００において、中央処理装置１０４は、Ｘ軸方向の座標位置x_posを１で初期化する。次に、ステップ１３０１において、中央処理装置１０４は、x_posが文字画像データ１２７のピクセルデータ５０２の第二の要素数以下であるかを判定する。x_posがピクセルデータ５０２の第二の要素数を超えていた場合は、処理を終了する。超えていなければ、ステップ１３０２に進む。
【００６９】
次に、ステップ１３０２において、中央処理装置１０４は、Ｙ軸方向の座標位置y_posを１で初期化する。次に、ステップ１３０３において、中央処理装置１０４は、y_posが文字画像データ１２７のピクセルデータ５０２の第一の要素数以下であるかを判定する。y_posがピクセルデータ５０２の第一の要素数を超えていた場合は、ステップ１３１１において、中央処理装置１０４は、x_posを１だけインクリメントして、ステップ１３０１に戻る。超えていない場合、ステップ１３０４に進む。
【００７０】
次に、ステップ１３０４において、中央処理装置１０４は、クラスタリング結果データのインデックス変数c_idxを１で初期化する。次に、ステップ１３０５において、中央処理装置１０４は、c_idx件以上のクラスタ数があるかを判定する。クラスタ数は、クラスタリング結果データ１２８から得ることができる。
【００７１】
次に、クラスタ数がc_idx件以上であるなら、ステップ１３０６において、中央処理装置１０４は、c_idx件目のクラスタリング結果データ１２８のクラスタＩＤ５０５が図１２の画面のクラスタ表示部１２００で指定されたクラスタのクラスタＩＤと一致するかを判定する。一致した場合、ステップ１３０７に進む。
【００７２】
ステップ１３０７において、中央処理装置１０４は、文字画像の合成処理を行う。この合成処理は、まず、クラスタリング結果データ１２８の文書ＩＤ５０３、文字ＩＤ５０４と同じ値の文書ＩＤ５００、文字ＩＤ５０１を持つ文字画像データ１２７において、x_pos、y_posをオフセット５０６で補正した要素番号におけるピクセルデータ５０２を取得する。そして、中央処理装置１０４は、黒優先を黒と同一視した上で、取得したピクセルデータ５０２についてＡＮＤ演算とＯＲ演算を行う。ＡＮＤ演算では、二つの画像におけるピクセルが両方とも黒の場合のみ黒となり、それ以外では白となる。また、ＯＲ演算では、二つの画像におけるピクセルが両方とも白の場合のみ白、それ以外では黒となる。その後、ステップ１３０８において、中央処理装置１０４は、c_idxを１だけインクリメントして、ステップ１３０５に戻る。これにより、クラスタに含まれる全ての文字画像について合成した画像を計算することができる。このようにして、ＡＮＤ演算により文字画像の合成処理を行った結果画像をＡＮＤ合成画像として、ＯＲ演算により文字画像の合成処理を行った結果画像をＯＲ合成画像として、用いる。
【００７３】
もしステップ１３０５においてクラスタ数がc_idx件未満であるなら、中央処理装置１０４は、ステップ１３０９において、上記の繰り返し処理により計算した、全ての文字画像について合成した画像と、線計算結果との合成演算を行う。この合成演算処理は、中央処理装置１０４が、文字図表合成処理部１２０を用いて計算するものであり、図１４において詳細に説明する。その後、中央処理装置１０４は、ステップ１３１０において、y_posを１だけインクリメントして、ステップ１３０３に戻る。
【００７４】
（９）ステップ１３０９の合成演算処理の詳細
図１４は、ステップ１３０９の合成演算処理の詳細を説明するためのフローチャートである。
まず、ステップ１４００において、中央処理装置１０４は、線計算結果データ１２９のインデックス変数l_idxを１で初期化する。次に、ステップ１４０１において、中央処理装置１０４は、線計算結果数がl_idx件以上であるかを判定する。線計算結果数は、線計算結果データ１２９から得ることができる。
【００７５】
線計算結果数がl_idx件以上であるなら、ステップ１４０２において、中央処理装置１０４は、図１２の画面のクラスタ表示部１２００で指定されたクラスタのクラスタＩＤと同じ値のクラスタＩＤ５０５を持つクラスタリング結果データ１２８の中で、l_idx件目の線計算結果データ１２９の文書ＩＤ５０７と同じ値の文書ＩＤ５０３を持つものが存在するかを判定する。存在する場合、ステップ１４０３に進む。存在しない場合は、ステップ１４０４において、中央処理装置１０４は、l_idxを１だけインクリメントして、ステップ１４０１に戻る。
【００７６】
ステップ１４０３において、中央処理装置１０４は、線計算結果の合成処理を行う。この合成処理は、線フラグ５０８におけるＦａｌｓｅを白、Ｔｒｕｅを黒とした上で、ＡＮＤ演算及びＯＲ演算を行うことにより計算できる。その後、中央処理装置１０４は、ステップ１４０４において、l_idxを１だけインクリメントして、ステップ１４０１に戻る。これにより、図１２の画面のクラスタ表示部１２００で指定されたクラスタに含まれる全ての文書画像について線と認識された部分を合成した結果を計算することができる。
【００７７】
なお、ステップ１４０１において、線計算結果数がl_idx件未満であるなら、中央処理装置１０４は、ステップ１４０５において、文字画像の合成結果と線の合成結果との合成処理を行う。なお、文字画像の合成結果と線の合成結果とを合成処理する場合、位置３０５のデータを用いることにより、文字画像の位置はわかるため、文字画像の画像結果と、その位置に対応する線の合成結果とを合成することができる。また、この合成処理では、文字画像のＡＮＤ合成結果と線のＡＮＤ合成結果の第１の合成処理と、文字画像のＯＲ合成結果と線のＯＲ合成結果の第２の合成処理とを行う。これらの合成処理では、「文字画像の合成結果のみ黒であるなら黒、線の合成結果のみ黒であるなら淡灰色、両方とも黒であるなら濃灰色、両方とも白であるなら白」として計算を行う。
【００７８】
以上の合成処理の具体的な処理結果の例は、図１６に示されている。図１６の例では、文書画像に含まれる黒いピクセルを文字由来のものに「黒」を割り当て、図表由来のものに「淡灰」を割り当て、両方が重なったものに「濃灰」を割り当てる。すなわち、文字由来のもの、図表由来のもの、及び両方が重なったものを、それぞれ異なる色に割り当てる。図１６Ａの左側の文字列の符号１６０１、１６０２、１６０３の部分は濃灰のピクセルの箇所を示している。図１６Ａの右側の文字列の符号１６０４、１６０５、１６０６の部分は、左の画像とピクセルが異なる箇所を示している。図１６Ｂの１６０７のＡＮＤ演算表および６０８のＯＲ演算表に示すような規則に従って合成画像を計算すると、図１６Ｃの結果となる。図１６Ｃの符号１６０９、１６１０、１６１１、１６１２の部分に示すように、合成対象となる画像の各ピクセルが、文字由来の黒いピクセル、図表由来の黒いピクセル、両方が重なったピクセル、それ以外の白いピクセルのいずれであったかを識別できる。
【００７９】
なお、ステップ１４０５により合成処理結果は、まず各文字画像で「文字由来の黒いピクセルは黒、線由来の黒いピクセルは淡灰色、両方が重なったものは濃灰色、それ以外は白」とした上で、図１６Ｂの１６０７のＡＮＤ演算表および１６０８のＯＲ演算表の規則に従って合成処理を行った場合でも、同じ計算結果が得られる。
【００８０】
＜まとめ＞
本発明の実施形態による文書処理装置１００によれば、中央処理装置１０４が、文書画像データ１２２に対して加工処理を実行して、文書画像データ１２２に含まれる文字画像を切り出して文字画像データ１２７として格納する。そして、中央処理装置１０４が、文字画像データ１２７に対してクラスタリング処理を実行して、文字画像データ１２７を複数のクラスタに分類して、その分類結果をクラスタリング結果データ１２８として格納する。また、中央処理装置１０４が、同一のクラスタに分類された文字画像データ１２７についてＡＮＤ合成画像とＯＲ合成画像の重ね合わせ画像を生成し、ＯＣＲ処理の認識結果と、ＡＮＤ合成画像及びＯＲ合成画像を表示装置１０１の画面上に表示する。
この構成によれば、オペレータが、表示装置１０１の画面上において、ＡＮＤ合成画像及びＯＲ合成画像と、ＯＣＲ認識結果との文字列を比較することによって誤認識したものが含まれているかを確認することができる。特に、同一のクラスタに分類された文字について一括で確認及び修正が可能となる。これにより、取り込んだ複数の文書のＯＣＲ認識結果を目視確認する作業を効率化することができる。
【００８１】
また、本発明の実施形態の文書処理装置１００によれば、中央処理装置１０４が、文字近傍計算処理部１１３を用いて、文書画像データ１２２の各ピクセルに対してＯＣＲ処理の認識結果の中でどの文字の近傍にあるかを示す近傍情報を文字近傍計算結果データ１２５として算出し、文字近傍計算結果データ１２５を用いて文字画像データ１２７の文字画像のピクセルデータ５０２を算出する。
従来では、図１７の符号１７０１、１７０２、及び１７０３に示すように、文書においては、（特に横軸方向に）文字が狭い間隔で印字される場合があり、矩形として文字画像を切り出すことができない場合があった。これに対して、本実施形態の構成によれば、文書画像データ１２２中の各ピクセルについてどの文字の近傍に当たるのかを計算することができる。そして、単一の文字の近傍に属すると計算された部分をその文字に対応する文字画像として切り出すことによって、文字単位で文字画像を切り出すことが可能となる。
【００８２】
また、本発明の実施形態の文書処理装置１００によれば、中央処理装置１０４が、文字画像辞書データ１２１及びＯＣＲ線認識結果データ１２４を用いて、文字を示すピクセルのみを反映させた文字画像データ１２７と、図表を示すピクセルのみを反映させた線計算結果データ１２９とを算出する。そして、中央処理装置１０４が、同一のクラスタに分類された文字画像データ１２７の合成画像（ＡＮＤ合成画像及びＯＲ合成画像）と、同一のクラスタに分類された文字画像データ１２７を含む文書画像の線計算結果データ１２９に関して合成画像（ＡＮＤ合成画像及びＯＲ合成画像）を生成する。さらに、中央処理装置１０４が、文字画像のＡＮＤ合成結果と線のＡＮＤ合成結果の第１の合成処理と、文字画像のＯＲ合成結果と線のＯＲ合成結果の第２の合成処理とを行い、これらの合成処理結果を画面上に表示する。
従来では、図１８の符号１８０１、１８０２、及び１８０３に示すように、文字列に下線が設定されているために下線と文字が重なって印字される場合があり、文字由来の黒ピクセルだけを含む形で文字画像を切り出すことができない場合があった。これに対して、本実施形態の構成によれば、認識結果に応じて文書画像におけるピクセルを文字由来のピクセルと線由来のピクセルとに分離して切り出すことができる。分離後に合成処理を行うことによって、画面上においては、文書画像の各ピクセルが、文字由来の黒いピクセル、図表由来の黒いピクセル、両方が重なったピクセル、それ以外の白いピクセルのいずれであったかを識別して表示することができる。これにより、オペレータが、文字由来のピクセルと図表由来のピクセルとを認識しながらＯＣＲ認識結果を目視確認することが可能となり、確認作業の効率化を実現することができる。
【００８３】
また、本発明の実施形態の文書処理装置１００によれば、データメモリ１０６が、文字の認識において優先すべき優先情報（黒優先情報）を含む文字画像辞書データ１２１を格納しており、中央処理装置１０４が、「黒優先」を反映させて文字画像データ１２７のピクセルデータ５０２を生成する。そして、中央処理装置１０４が、クラスタリング処理において、全ての文字画像データ間において位置合わせ処理を実行し、その位置合わせ処理において、「黒優先」のみを用いた類似度と、文字画像全体を用いた類似度を算出する。そして、これら２つの類似度を用いて文字画像を複数のクラスタに分類する。
図１９の符号１９０１、１９０２に示すように、異なる文字でありながら画像として同一の部分が多く、かつ、符号１９０３に示すように、細いピクセル部分が文字認識に重要な役割を果たす場合がある。従来では、このような文字認識に重要な役割を果たす部分が考慮されていなかった。これに対して、本実施形態の構成によれば、文字の認識において優先すべき優先情報（黒優先情報）を考慮して、文字画像のクラスタリング処理が行われるので、異なる文字でありながら画像として同一の部分が多い文字同士を分類する精度が向上する。クラスタリング処理の精度が向上するため、オペレータが画面上において個別に修正する手間が減り、結果として、ＯＣＲ認識結果を目視確認する作業を効率化することができる。
【００８４】
また、本発明の実施形態の文書処理装置１００によれば、中央処理装置１０４が、周辺画像取得処理部１１６を用いて、ＯＣＲ処理の認識結果において文字として認識された部分の周辺を含めて文字画像データを切り出す。
従来では、既存のＯＣＲの誤認識として、図２０の文字列「Ｎｏ．１２３４５」の端を読み落として、「Ｎｏ．１２３４」と認識してしまう場合があった。これに対して、本実施形態の構成によれば、ＯＣＲ処理の認識結果において文字として認識された部分の周辺の画像部分も切り出すことができるため、ＯＣＲで端の読み落としがあった場合でも、文字画像として切り出すことが可能となる。
【００８５】
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００８６】
例えば、複数の文字画像に対して目視確認及び修正を一括して行うという点においては、本発明の文書処理装置１００は、文書画像データ１２２に対する文字切り出し処理と文字画像に対するクラスタリング処理を少なくとも含めばよい。例えば、文書処理装置１００は、ＯＣＲ文字認識結果データ１２３の位置３０５の情報を用いて文書画像データ１２２から文字画像を単純に切り出し、文字画像データの全てのピクセルを用いて類似度を算出し、その類似度を用いて文字画像を複数のクラスタに分類する。少なくともこのような構成によって、文字画像データを複数のクラスタに分類することができ、同一のクラスタに分類された文字画像を画面上において一括で確認及び修正することが可能になる点に留意すべきである。上述の実施形態による文書処理装置１００は、図１７〜２０に記載の課題を解決するための手段として、文字近傍計算処理部１１３と、文字図表分離処理部１１４と、優先部分処理部１１５と、周辺画像取得処理部１１６などを備えているが、これらの処理部は本発明のより好ましい形態であり、これらの処理部を削除して本発明を構成することが可能である。
【００８７】
上述の実施形態では、文字画像辞書データ１２１について、図２に示したように、想定される文字画像の情報として、文字、フォント種類、フォントサイズを指定している。これらに加え、太字指定、斜体指定などの書式を指定する場合についても同様の処理が可能である。
【００８８】
上述の実施形態では、本明細書では、文字画像辞書データ１２１について、図２に示したように、想定される文字の形状がピクセルデータとして保持される場合について述べた。ベクタデータとして保持される場合についても同様の処理が可能である。
【００８９】
上述の実施形態では、図２に示したように、ＯＣＲにより文字及び線の認識結果が得られる場合について述べた。これらに加え、ベジエ曲線や円弧などの線画データやイラストなどの画像データの認識結果が得られる場合についても、本発明の処理を同様に適用することが可能である。
【００９０】
上述の実施形態では、図８のフローチャートにおいて、左下が座標の原点であるとして説明を行っている。左上など他の場所が原点である場合についても、同様である。
【００９１】
上述の実施形態では、図９に示したように、全ての文字画像の間で位置合わせ処理を実行し、連結成分を探すことによりクラスタリングを行う場合について述べた。それ以外の方法でクラスタリングを行う場合、例えば、最長距離法や、貪欲法によって類似度が高い文字画像が見つかり次第クラスタを生成する方法などでも、同様に位置合わせ結果を利用することができる。
【００９２】
上述の実施形態では、図１０に示したように、全てのオフセットで類似度を計算し、最大の類似度を与えるオフセットを位置合わせ結果とする場合について述べた。黒ピクセル数の数などによって前処理として探索範囲を限定させるような方法を用いてもよい。
【００９３】
上述の実施形態では、図１１に示したように、優先部分のみを用いた類似度と文字画像全体についての類似度を算出し、その最小値を用いる場合について述べた。平均値などその他の演算値を用いたり、その他の方法で類似度を算出してもよい。
【００９４】
上述の実施形態では、図１２に示したように、文字画像単位でクラスタリング処理を実行して合成画像を生成する場合について述べた。文字列単位でクラスタリングを行う場合については、文字間隔を調整することなどが考えられるが、その場合にも本発明を同様に適用することができる。
【００９５】
上述したように、実施形態の構成は、それらの一部や全部を、例えば、集積回路で設計する等によりハードウェアで実現することができる。また、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードで実現してもよい。この場合、プログラムコードを記録した記憶媒体を情報処理装置に提供し、その情報処理装置（又はＣＰＵ）が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【００９６】
また、プログラムコードの指示に基づき、情報処理装置上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、情報処理装置上のメモリなどの記憶部に書きこまれた後、そのプログラムコードの指示に基づき、情報処理装置のＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【００９７】
さらに、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それを情報処理装置の記憶装置又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、使用時にその情報処理装置のＣＰＵが当該記憶装置や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【００９８】
最後に、ここで述べたプロセス及び技術は本質的に如何なる特定の装置に関連することはなく、コンポーネントの如何なる相応しい組み合わせによってでも実装できることを理解する必要がある。更に、汎用目的の多様なタイプのデバイスがここで記述した教示に従って使用可能である。ここで述べた方法のステップを実行するのに、専用の装置を構築するのが有益であることが判るかもしれない。本発明は、具体例に関連して記述したが、これらは、すべての観点に於いて限定の為ではなく説明の為である。本分野にスキルのある者には、本発明を実施するのに相応しいハードウェア、ソフトウェア、及びファームウエアの多数の組み合わせがあることが解るであろう。例えば、本実施形態に記載の機能を実現するプログラムコードは、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【００９９】
また、図面における制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０１００】
１００  文書処理装置
１０１  表示装置
１０２  キーボード
１０３  ポインティングデバイス
１０４  中央処理装置
１０５  プログラムメモリ
１０７  文字画像辞書ＤＢ
１０８  文書画像ＤＢ
１０９  ＯＣＲ認識処理部
１１０  画像加工処理部
１１１  クラスタリング処理部
１１２  合成画像表示処理部
１１３  文字近傍計算処理部
１１４  文字図表分離処理部
１１５  優先部分処理部
１１６  周辺画像取得処理部
１１７  位置合わせ処理部
１１８  優先部分考慮型類似度計算処理部
１１９  合成画像計算処理部
１２０  文字図表合成処理部
【図１】
2013225170.tif 000003
【図２】
2013225170.tif 000004
【図３】
2013225170.tif 000005
【図４】
2013225170.tif 000006
【図５】
2013225170.tif 000007
【図６】
2013225170.tif 000008
【図７】
2013225170.tif 000009
【図８】
2013225170.tif 000010
【図９】
2013225170.tif 000011
【図１０】
2013225170.tif 000012
【図１１】
2013225170.tif 000013
【図１２】
2013225170.tif 000014
【図１３】
2013225170.tif 000015
【図１４】
2013225170.tif 000016
【図１５】
2013225170.tif 000017
【図１６】
2013225170.tif 000018
【図１７】
2013225170.tif 000019
【図１８】
2013225170.tif 000020
【図１９】
2013225170.tif 000021
【図２０】
2013225170.tif 000022