(57)【要約】【課題】  原稿画像データの文字品質が悪かったり、複数書体により構成されている場合に誤認識文字が発生しても、一括修正できる誤認識文字群をグループ化することで、誤認識文字修正時のユーザ作業負担を軽減しつつ、精度の高い修正を可能とする技術を提供すること。【解決手段】  点数が所定点数以下の文字を、文字コードが同じである文字毎にグループ分けし、グループ分けされた文字群のうち１つの文字について文字コードを修正する指示が入力された場合には、この１つの文字が属するグループ内の全ての文字コードをこの指示に従って変更する（Ｓ１０５）。【選択図】  図５
2006178543.tif 000002
【特許請求の範囲】
【請求項１】
原稿をスキャナでもって読み込むことで得られる原稿画像に記載の文字を認識し、その認識結果を表示する画像処理装置であって、
原稿画像に記載の文字を認識する際に得られる、文字コード、及び文字に対する点数を取得する取得手段と、
点数が所定点数以下の文字を、文字コードが同じである文字毎にグループ分けする分割手段と、
前記原稿画像に記載の各文字の認識結果を表示手段に表示する際、前記グループ分けされた文字については前記グループ分けされていない文字と識別可能な表示形態でもって表示する表示制御手段と、
前記グループ分けされた文字群のうち１つの文字について文字コードを修正する指示が入力された場合には、当該１つの文字が属するグループ内の文字コードを当該指示に従って変更する変更手段と、
前記変更手段による変更結果を前記表示手段による表示に反映させる制御手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記取得手段は、原稿画像に記載の文字のうち、単語を構成していない文字についてのみ、文字コード、及び文字に対する点数を取得することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
更に、
前記グループ分けされた文字群のうち修正指示の無かった未修整文字を、前記分割手段により分割されたそれぞれのグループのうち何れかに含める再分割手段を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記再分割手段は、
前記分割手段により分割されたそれぞれのグループ毎に、グループを代表する代表画像を選択する選択手段と、
前記選択手段が選択したそれぞれの代表画像について、前記未修整文字との一致の度合いを示す得点を算出する算出手段とを備え、
前記未修整文字との一致の度合いを示す得点が最も高い代表画像が属するグループに、前記未修整文字を含めることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記再分割手段は、
未修整文字群のうち、グループを代表する未修整文字を１つ選択する第１の選択手段と、
前記分割手段により分割されたそれぞれのグループ毎に、グループを代表する代表画像を選択する第２の選択手段と、
前記２の選択手段が選択したそれぞれの代表画像について、前記第１の選択手段が選択した未修整文字との一致の度合いを示す得点を算出する算出手段とを備え、
前記第１の選択手段が選択した未修整文字との一致の度合いを示す得点が最も高い代表画像が属するグループに、前記第１の選択手段が選択した未修整文字を含む全ての未修整文字を含めることを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記変更手段は、
前記グループ分けされた文字群のうち１つの文字について文字コードを修正する指示が入力された場合には、当該１つの文字が属するグループ内の全ての文字について、当該文字を含む前後所定数分の文字と、前記指示に従って修正を行うか否かを指示するための指示領域とを対応づけて一覧表示する一覧表示手段を備え、
前記指示領域を用いて指示された文字を、前記指示に従って変更することを特徴とする請求項１に記載の画像処理装置。
【請求項７】
原稿をスキャナでもって読み込むことで得られる原稿画像に記載の文字を認識し、その認識結果を表示する画像処理装置が行う画像処理方法であって、
原稿画像に記載の文字を認識する際に得られる、文字コード、及び文字に対する点数を取得する取得工程と、
点数が所定点数以下の文字を、文字コードが同じである文字毎にグループ分けする分割工程と、
前記原稿画像に記載の各文字の認識結果を表示手段に表示する際、前記グループ分けされた文字については前記グループ分けされていない文字と識別可能な表示形態でもって表示する表示制御工程と、
前記グループ分けされた文字群のうち１つの文字について文字コードを修正する指示が入力された場合には、当該１つの文字が属するグループ内の文字コードを当該指示に従って変更する変更工程と、
前記変更工程による変更結果を前記表示手段による表示に反映させる制御工程と
を備えることを特徴とする画像処理方法。
【請求項８】
コンピュータに請求項７に記載の画像処理方法を実行させることを特徴とするプログラム。
【請求項９】
請求項８に記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認識文字を修正する技術に関するものである。
【背景技術】
【０００２】
近年、文字認識技術が発達しており、その認識精度は上がってきてはいるが、まだ100%正しく原稿を認識するにはいたっていない。そのため、ユーザは認識結果を参照し、誤認識文字の修正を行わなければならない。誤認識文字を修正するには非常に手間と労力がかかるため、修正作業を容易にするための技術がいくつか考案されている。
【０００３】
特許文献１には、誤認識文字の修正を、ディスプレイの画面上でマウス等のポインティングデバイスを用いて効率よく行う技術が開示されている。この技術は、ディスプレイの画面上でマウスを用いて誤認識文字を指定すると、修正パレットが表示され、候補文字表示窓に誤認識文字の上位の３候補文字を表示するものである。ユーザによって修正パレットのスクロールキーがマウスで指定されると、より下位側または上位側の候補文字を表示させることができ、マウスで正解文字が指定されると、誤認識文字を修正することができる。ユーザは画面上で効率的に正解文字を検索して修正することができるため、操作負担が軽減されることになる。
【０００４】
特許文献２には、画像データとして入力された文字と文字辞書内の各文字とを比較して文字の訂正を行う文字認識装置の文字訂正方法において、同じ文字が出現する際に、少ないキー操作により文字の訂正が行えるようにする技術が開示されている。この技術は、誤認識文字を正解文字に訂正したときの訂正結果、及びこの正解文字を記憶する記憶手段を備え、誤認識文字の中から訂正しようとする文字を選択し、選択された文字が以前に訂正されたことがあるか否かを判定し、訂正されたことが有る場合は次位候補文字中の記憶手段に記憶された正解文字を強調表示し、リターンキーの操作により、訂正結果を用いて選択された文字を修正するものである。従って、同じ文字が出現した際に同じ訂正動作を繰り返すことがなくなるため、極めて少ないキー操作によって文字訂正が可能となり、ユーザの操作負担が軽減される。
【０００５】
特許文献３には、文字認識により得られる認識結果の誤不読文字の修正操作を簡単にする技術が開示されている。この技術は、類似文字を記憶する類似文字記憶手段と、表示された認識結果中の誤不読文字を指示する指示手段と、指示手段により指示された誤不読文字を類似文字記憶手段に記憶された類似文字に置き換える類似文字置換手段とを設けたことを特徴とするものである。従って、認識結果の中に誤不読文字が発見された場合、類似文字置換手段の操作により、誤不読文字を類似文字記憶手段に記憶された類似文字に置き換えることになるが、類似文字は、認識の結果得られる候補文字に含まれる確率は極めて高く、類似文字を置き換えることにより正しい文字が得られる確率が高くるため、ユーザの修正負担が軽減されることになる。
【０００６】
特許文献４には、より正確に誤読文字を検索できる、操作性の良い文字認識結果を修正する技術が開示されている。この技術は、ユーザに指定された誤読文字の特徴と、それ以外の特徴とを比較して、指定された誤読文字の特徴に類似した特徴を有する入力パターンを検索し、検索された入力パターンの認識結果にマーカを付けて表示部に表示させるものである。これにより、ユーザが認識結果の表示を見て、誤読文字のうちの１文字を指定すれば、指定された誤読文字と入力パターンの特徴が類似する入力パターンの文字を検索することができる。そして、検索された入力パターンに対応する認識結果にマーカを付けて表示することで、ユーザはマーカがついた文字のみに注意を向ければよく、誤読文字の見落としによる修正漏れの発生を抑制することができる。更に、修正に要する時間を低減することができる。また、マーカがつくのは特徴が類似している文字だけであるので、誤修正の低減を図り、正確に修正を行うことができることになる。
【特許文献１】特開平５−１２４８３号公報
【特許文献２】特開平７−１２１６５３号公報
【特許文献３】特開平８−２０２８１１号公報
【特許文献４】特開平９−３４９８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１記載の技術は、正解文字の検索が容易となるが一文字ずつ修正する必要があるため誤認識文字が多い場合は修正の手間がかかるという問題点がある。また、同じ原因で誤認識された文字であったとしても一文字ずつ修正しなければならず修正作業に手間がかかってしまう。
【０００８】
また、特許文献２記載の技術は、訂正されたことがある正解文字が強調表示されることで候補文字の選択は容易となるが、強調表示される文字が必ずしも正解文字であるとは限らないためその都度確認作業が必要となる。特に画像データ上の文字が複数の書体によって構成されている場合は、慎重に確認作業をする必要があり結局ユーザの負担はそれほど軽減されることはない。
【０００９】
また、特許文献３記載の技術は、認識結果の中に誤不読文字が発見された場合、類似文字置換手段の操作により、誤不読文字を類似文字記憶手段に記憶された類似文字に置き換えることになるため、置き換えられた類似文字が正解文字であればユーザの修正操作は不要となるが、置き換えられた類似文字が本当に正解文字かどうかを一文字ずつ確認する作業は必要となる。また、置き換える類似文字は事前に類似文字記憶手段に記憶されている必要があるため、類似文字が記憶手段に記憶されていない誤不読文字については一文字ずつ修正しなければならないという問題点がある。
【００１０】
また、特許文献４記載の技術は、指定された誤読文字の特徴に類似した特徴を有する入力パターンの文字にマーカをつけることにより、ユーザはマーカがついた文字のみに注意を向ければよくなるため誤読文字の見落としによる修正漏れの発生を抑制することができるが、画像データの文字品質が悪かったり、複数書体により構成されていたりした場合には、マーカ漏れが生じる可能性があるので誤読文字の見落としが発生するおそれがある。また、入力パターンの特徴は類似するが実際には異なる文字にマーカがつく可能性も有るため、ユーザは注意して修正作業を行わなければならない。
【００１１】
本発明は以上の問題に鑑みて成されたものであり、原稿画像データの文字品質が悪かったり、複数書体により構成されている場合に誤認識文字が発生しても、一括修正できる誤認識文字群をグループ化することで、誤認識文字修正時のユーザ作業負担を軽減しつつ、精度の高い修正を可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。
【００１３】
即ち、原稿をスキャナでもって読み込むことで得られる原稿画像に記載の文字を認識し、その認識結果を表示する画像処理装置であって、
原稿画像に記載の文字を認識する際に得られる、文字コード、及び文字に対する点数を取得する取得手段と、
点数が所定点数以下の文字を、文字コードが同じである文字毎にグループ分けする分割手段と、
前記原稿画像に記載の各文字の認識結果を表示手段に表示する際、前記グループ分けされた文字については前記グループ分けされていない文字と識別可能な表示形態でもって表示する表示制御手段と、
前記グループ分けされた文字群のうち１つの文字について文字コードを修正する指示が入力された場合には、当該１つの文字が属するグループ内の文字コードを当該指示に従って変更する変更手段と、
前記変更手段による変更結果を前記表示手段による表示に反映させる制御手段と
を備えることを特徴とする。
【００１４】
本発明の目的を達成するために、例えば本発明の画像処理方法は以下の構成を備える。
【００１５】
即ち、原稿をスキャナでもって読み込むことで得られる原稿画像に記載の文字を認識し、その認識結果を表示する画像処理装置が行う画像処理方法であって、
原稿画像に記載の文字を認識する際に得られる、文字コード、及び文字に対する点数を取得する取得工程と、
点数が所定点数以下の文字を、文字コードが同じである文字毎にグループ分けする分割工程と、
前記原稿画像に記載の各文字の認識結果を表示手段に表示する際、前記グループ分けされた文字については前記グループ分けされていない文字と識別可能な表示形態でもって表示する表示制御工程と、
前記グループ分けされた文字群のうち１つの文字について文字コードを修正する指示が入力された場合には、当該１つの文字が属するグループ内の文字コードを当該指示に従って変更する変更工程と、
前記変更工程による変更結果を前記表示手段による表示に反映させる制御工程と
を備えることを特徴とする。
【発明の効果】
【００１６】
本発明の構成により、原稿画像データの文字品質が悪かったり、複数書体により構成されている場合に誤認識文字が発生しても、一括修正できる誤認識文字群をグループ化することで、誤認識文字修正時のユーザ作業負担を軽減しつつ、精度の高い修正を可能とすることができる。
【発明を実施するための最良の形態】
【００１７】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１８】
［第１の実施形態］
図１は、本実施形態に係るシステムの構成を示すブロック図である。同図に示す如く、本実施形態に係るシステムはプリンタ１１、スキャナ１２、ＯＣＲサーバコンピュータ１３、プリンタ１４、クライアントコンピュータ１５ａ，１５ｂにより構成されている。
【００１９】
プリンタ１１、１４はクライアントコンピュータ１５ａ、１５ｂから送信されたプリントデータに従ってプリント処理を行うものである。このプリンタ１１には複写機などを適用しても良い。
【００２０】
スキャナ１２は紙などの記録媒体上に記録されている情報を読み取り、これを画像データとしてクライアントコンピュータ１５ａ、１５ｂに出力するものである。このスキャナ１２にはスキャン機能（光学読取機能）を持つ複写機やFAXなどを適用してもよい。
【００２１】
ＯＣＲサーバコンピュータ１３は、スキャナ１２等の光学読取装置が読み取った画像に記載の各文字を認識するための後述の各種の辞書データを保持するものであり、クライアントコンピュータ１５ａ、１５ｂはこの辞書データを用いて文字認識に係る処理を行う。
【００２２】
クライアントコンピュータ１５ａ、１５ｂは、以下説明する文字認識処理、認識結果表示処理、そして誤認識文字の修正処理などを実行する。
【００２３】
１０００は上述の各部を繋ぐネットワークで、ＬＡＮやインターネットなどにより構成されており、有線、無線は問わない。
【００２４】
なお、以下説明する各処理を実行するためのシステムの構成については図１に示した構成に限定するものではなく、適宜変更可能である。また以下の説明ではクライアントコンピュータ１５ａ、１５ｂをまとめてクライアントコンピュータ１５と呼称する。
【００２５】
図２は、クライアントコンピュータ１５（画像処理装置）の基本構成を示すブロック図である。
【００２６】
２１はＣＰＵで、ＲＡＭ２２やＲＯＭ２５に格納されているプログラムやデータを用いてクライアントコンピュータ１５全体の制御を行うと共に、クライアントコンピュータ１５が行う後述の各処理を実行する。
【００２７】
２２はＲＡＭで、外部記憶装置２６からロードされたプログラムやデータを一時的に記憶するためのエリア、ネットワークＩ／Ｆ２４を介して受信したデータを一時的に記憶するためのエリア、ＣＰＵ２１が各種の処理を実行する際に用いるワークエリア等を備える。
２４はネットワークＩ／Ｆ（Ｉ／Ｆ）で、クライアントコンピュータ１５を上記ネットワーク１０００に接続するためのインターフェースとして機能するものであり、このネットワークＩ／Ｆ２４を介してクライアントコンピュータ１５は外部機器とのデータ通信を行うことができる。このデータ通信としては、例えばＴＣＰ／ＩＰを用いたインターネット通信などが適用可能であるがこれに限定するものではない。
【００２８】
２５はＲＯＭで、クライアントコンピュータ１５の設定データやブートプログラムなどを格納する。
【００２９】
２６は外部記憶装置で、ハードディスクドライブ装置などの大容量情報記憶装置として機能するものであり、ここにＯＳ（オペレーティングシステム）やＣＰＵ２１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）、ＣＰＵ２１にクライアントコンピュータ１５が行う後述の各処理を実行させるためのプログラムやデータなどが保存されており、これらの一部もしくは全部はＲＡＭ２２にロードされ、ＣＰＵ２１の処理対象となる。
【００３０】
２７は表示装置で、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ２１による処理結果を画像や文字などでもって表示することができる。
【００３１】
２８は操作部で、キーボードやマウスなどにより構成されており、各種の指示をＣＰＵ２１に対して入力（指示）する事ができる。２９は上述の各部を繋ぐバスである。
【００３２】
図３は、クライアントコンピュータ１５の機能構成を示すブロック図である。
【００３３】
制御・操作部３０１は以下説明する各部の制御を行ったり、表示装置２７やスキャナ１２とのデータ通信を行ったりする。
【００３４】
制御・操作部３０１からスキャナ１２に対して文字の記載された記録媒体（以下原稿と呼称する）の読み取り指示を送出すると、スキャナ１２はこの指示に従って原稿を読み取り、画像として制御・操作部３０１に送出する。制御・操作部３０１はこの画像のデータをイメージメモリ３１０に送出するので、イメージメモリ３１０はこの画像のデータを一時的に記憶する。
【００３５】
文字画像抽出部３０３は、この画像を文字領域と文字領域以外の部分（図表領域）とに分ける。画像における文字領域、非文字領域の特定処理については周知の技術であるので、これに関する説明は省略する。そして画像において文字領域、非文字領域を特定すると、文字領域に属するデータには「文字領域に属する旨を示すデータ」を添付し、非文字領域に属するデータには「非文字領域に属する旨を示すデータ」を添付する。
【００３６】
次に、文字認識部（ＯＣＲ）３０４は、文字領域に属する画像部分内に配置されている各文字を文字認識辞書データＤＢ３１３に保持されているデータ群を用いて認識し、その認識結果を認識結果格納メモリ３１２に格納する。文字認識辞書データＤＢ３１３が保持するデータには周知のＯＣＲ技術で用いる辞書データが登録されており、これを用いて周知の如く文字認識処理を行う。
【００３７】
次に、文字品質評価部３０５は、文字画像抽出部３０３によってイメージメモリ３１０に格納された画像の文字領域内の各文字について、単語頻度データ格納ＤＢ３１４、及び文字品質辞書データ格納ＤＢ３１５が保持するデータ群を用いて評価し、その評価結果を認識結果格納メモリ３１２に保存する。この評価処理については後述する。
【００３８】
なお、文字認識辞書データＤＢ３１３、単語頻度データ格納ＤＢ３１４、文字品質辞書データ格納ＤＢ３１５はクライアントコンピュータ１５が有するようにしても良いし、同図に示す如く、複数のクライアントコンピュータが参照可能にすべく、ＯＣＲサーバコンピュータ１３が有するようにしても良い。
【００３９】
そして、修正部３０６は、認識結果格納メモリ３１２に格納した上記２つの認識結果を用いて、誤認識した文字を判断し、制御・操作部３０１は、正確に認識した文字と識別可能な表示形態でもって表示する。そして修正部３０６は、誤認識した文字に対する修正指示が制御・操作部３０１から入力されると、修正部３０６は入力された指示に従って誤認識した文字の修正を行う。制御・操作部３０１は、修正されたものを反映して表示する。
【００４０】
本実施形態では、図３に示した各部において、画像入力部３０２、文字画像抽出部３０３、文字認識部３０４、文字品質評価部３０５、修正部３０６、制御・操作部３０１については、ＣＰＵ２１が実行するプログラムでもって構成するが、各部を専用のハードウェアでもって構成するようにしても良い。また、文字認識辞書データＤＢ３１３、単語頻度データ格納ＤＢ３１４、文字品質辞書データ格納ＤＢ３１５については外部記憶装置２０５に保存されているデータベースとするが、それぞれのデータベースを別個の装置に保存させておくようにしても良いことはいうまでもない。
【００４１】
また本実施形態では、イメージメモリ３１０、一時メモリ３１１、認識結果格納メモリ３１２のそれぞれは、ＲＡＭ２２内に確保されたエリアとするが、それぞれが別個のメモリ装置としても良い。
次に、スキャナ１２から入力された原稿画像に記載の文字を認識し、その認識結果を一覧表示し、誤認識文字については修正を受付け、修正された場合にはそれを反映して再度表示する一連の処理について、同処理のフローチャートを示す図５を用いて説明する。なお、同図のフローチャートに従った処理をＣＰＵ２１に実行させるためのプログラムやデータは外部記憶装置２０５に保存されており、これをＲＡＭ２２にロードし、ＣＰＵ２１がこれを用いて処理を実行することで、クライアントコンピュータ１５は以下説明する各処理を実行することになる。
【００４２】
先ず、本処理の前段で、クライアントコンピュータ１５の操作者は操作部２８を操作して、スキャナ１２にセットされた原稿を読み取る指示を入力するので、ＣＰＵ２１はこの指示をスキャナ１２に送信する。スキャナ１２はセットされた原稿をＣＰＵ２１から受けた指示に従って読み取り、読み取ったものを画像データとしてクライアントコンピュータ１５に出力する。よって、同図のフローチャートに従った処理は、この画像データがスキャナ１２から出力された以降にクライアントコンピュータ１５が行う処理である。
【００４３】
ＣＰＵ２１はネットワークＩ／Ｆ２４を介してスキャナ１２から出力された画像データ（原稿画像データ）をＲＡＭ２２に格納する（ステップＳ１０１）。なお、原稿の画像データのＲＡＭ２２への取得形態についてはこれに限定するものではなく、この他にも例えば、予めスキャナ１２から入力した画像データを外部記憶装置２０５に保存させておき、これを操作部２８を用いて選択し、ロード指示を入力することで、ＲＡＭ２２にロードするようにしても良い。
【００４４】
次にＣＰＵ２１は、文字認識辞書データＤＢ３１３を用いて、原稿画像内の各文字を認識する処理（ＯＣＲ処理）を行うことで、原稿画像内の文字部分をテキストデータに変換する（ステップＳ１０２）。
【００４５】
図６は、ステップＳ１０２における処理の詳細を示すフローチャートである。本実施形態では、ステップＳ２０１からステップＳ２０９までの処理をＯＣＲ（文字認識）前に行い、その処理結果次第ではステップＳ２１１のＯＣＲ前処理を行わないので、処理速度を高めることができる。
【００４６】
先ず、ステップＳ１０１でＲＡＭ２２に取得した原稿画像において文字領域を抽出し、抽出した文字領域に対して、ＯＣＲの既存の機能である文字きりを行い、１文字ずつの画像に分ける（ステップＳ２０１）。以下では１文字の画像を「文字画像」と呼称する場合がある。
【００４７】
次に、それぞれの文字画像のうち、ランダムに所定個数の文字画像を選択し（ステップＳ２０２）、以降の処理で用いるものとしてＲＡＭ２２内の所定のエリア（上記一時メモリ３１１に相当）に格納する（ステップＳ２０３）。
【００４８】
次に、ステップＳ２０３で格納した文字画像群のうち１つを読み出し（ステップＳ２０４）、読み出した１つの文字画像に最も一致の度合いが高いものを、文字品質辞書データ格納ＤＢ３１５に登録されている文字画像群から１つ特定する（ステップＳ２０５）。これは、文字品質辞書データ格納ＤＢ３１５に登録されているそれぞれの文字画像とパターンマッチングを行うことでなされるものである。
【００４９】
図４は、文字品質辞書データ格納ＤＢ３１５の構成例を示す図である。文字品質辞書データ格納ＤＢ３１５には、各文字（「あ」、「い」、「う」、、「０」、「１」、、「Ａ」、「Ｂ」、、、）について、様々な様態の文字画像が、その読み方（テキストの文字コード）、点数と共に登録されている。例えば文字「あ」を例に取り説明すると、例えば人間が手書きにて「あ」なる文字を書いてみても、人ごとに「あ」なる文字は異なる。そこで、様々な「あ」なる文字（サイズ、太さ、大域的／局所的形状など）の文字画像を予め登録しておく。また、それぞれの文字画像の読み方はどれも「あ」であるので、「あ」のテキストの文字コードを添付しておく。また、それぞれの文字画像には、客観的にどれだけ「あ」なる文字に近いのか（文字の綺麗さ）を示す点数を示すデータも添付しておく。例えば最も綺麗な文字の文字画像には１００点、「あ」なる文字にはほど遠い「あ」なる文字画像には０点を示すデータを添付しておく。この点数は換言すれば、認識の質を数値化したものでもあり、１００点の文字画像とは十分に認識できる文字画像であることを示し、０点の文字画像とは認識できる下限の文字画像であることを示す。
【００５０】
このように、「あ」なる文字画像は、「あ」のテキストの文字コードと点数とがセットになって文字品質辞書データ格納ＤＢ３１５に登録されている。これはその他の文字についても同様である。なお、詳しくは特開２００３−１４５８９８号公報に開示しているので、こちらを参照されたい。
【００５１】
よって、ステップＳ２０５では、ステップＳ２０４で読み出した１つの文字画像と、文字品質辞書データ格納ＤＢ３１５に登録されている各文字画像とのパターンマッチングを行い、文字品質辞書データ格納ＤＢ３１５に登録されている文字画像群のうちステップＳ２０４で読み出した１つの文字画像と最も一致の度合いが高いものを特定するのであるが、特定した文字には上述の通り、文字コードと点数がセットになって登録されているので、ステップＳ２０５で特定した文字画像とセットになっている点数をＲＡＭ２２内の所定のエリア（上記一時メモリ３１１に相当）に格納する（ステップＳ２０７）。
【００５２】
次に、ステップＳ２０３で格納したそれぞれの文字画像についてステップＳ２０４〜ステップＳ２０７の処理を行ったのかをチェックし（ステップＳ２０８）、ステップＳ２０３で格納したそれぞれの文字画像についてステップＳ２０４〜ステップＳ２０７の処理を行った場合、即ち、ステップＳ２０３で格納したそれぞれの文字画像について点数が決まった場合には処理をステップＳ２０９に進め、ステップＳ２０３で格納したそれぞれの文字画像について上記処理で求めた点数の平均値を計算する（ステップＳ２０９）。
【００５３】
この平均値が高いと、ステップＳ２０３で格納したそれぞれの文字画像の文字品質は高いということになり、このことからステップＳ１０１で入力した原稿画像における文字領域の品質は良いと推定することができるので、以下説明するＯＣＲ前処理を行わずにＯＣＲ処理を行うようにする。ＯＣＲ前処理を行なわないことで処理速度の向上及び処理負担の軽減を図ることが可能となる。
【００５４】
逆に、この平均値が低いと、ステップＳ２０３で格納したそれぞれの文字画像の文字品質は低いということになり、このことからステップＳ１０１で入力した原稿画像における文字領域の品質は悪いと推定することができ、これにより、その他の文字を認識する際に誤認識の可能性が出てくるので、ステップＳ１０１で入力した原稿画像には以下説明するＯＣＲ前処理を施す必要があると判断する。
【００５５】
よって、この平均値と所定の閾値との大小比較を行い（ステップＳ２１０）、平均値が所定の閾値以上の値であれば（ステップＳ１０１で入力した原稿画像の点数がよい）処理をステップＳ２１２に進め、ステップＳ２０１で文字きりした各文字画像に対して認識処理（ＯＣＲ処理）を行い、認識した文字のテキストデータに変換する（ステップＳ２１２）。
【００５６】
一方、ステップＳ２１０における判断処理で、平均値が所定の閾値以下である場合には処理をステップＳ２１１に進め、ステップＳ１０１で入力した原稿画像に対するノイズ補正処理や傾き補正処理などのＯＣＲ前処理を行い（ステップＳ２１１）、その後、ステップＳ２１２におけるＯＣＲ処理を行う。
【００５７】
以上の処理によって、ＲＡＭ２２内には、文字領域内の各文字のテキストデータが格納されていることになる。
【００５８】
図７は、ステップＳ１０１で入力した原稿画像と、図２のフローチャートに従った処理によって得られるテキストとを示す図である。同図において５１は原稿画像を示す、５２はテキストを示す。原稿画像５１とテキスト５２とを比べるといくつかの誤認識が発生している。以下説明する処理では、この誤認識した文字を修正する。
【００５９】
図５に戻って、ステップＳ１０２における上記処理が完了すると、次に、文字品質辞書データ格納ＤＢ３１５を用いて、ステップＳ２０１で文字きりした各文字を評価し、各文字のうち誤認識した文字を抽出し、グループ化する（ステップＳ１０３）。
【００６０】
図８は、ステップＳ１０３における処理の詳細を示すフローチャートである。
【００６１】
先ず、全ての文字画像（文字きりされた全ての文字画像）、及びそれぞれの文字画像について上記ＯＣＲ処理によって得られた文字コード（ＯＣＲ文字コード）をＲＡＭ２２内の所定のエリア（上記一時メモリ３１１に相当）に格納する（ステップＳ３０１）。
【００６２】
次に、ステップＳ３０１で一時メモリ３１１に読み出した文字画像群のうち１つを読み出し（ステップＳ３０２）、単語頻度データ格納ＤＢ３１４を用いて、この文字画像が後続の文字画像とセットになって単語を構成しているのか否かを判断する（ステップＳ３０３）。具体的には、単語頻度データ格納ＤＢ３１４に登録されている単語頻度データと照合することでステップＳ３０３における処理は成されるのであるが、その処理の詳細については周知であるし、例えば特開２００２−２５９９１２号公報に開示されている技術を用いることで成される。
【００６３】
次に、ステップＳ３０２の処理の結果、ステップＳ３０２で読み出した１つの文字画像が単語を構成していない文字の画像であるのか、それとも単語を構成していて、その単語を特定したのかを判断し（ステップＳ３０４）、単語を構成していた場合には処理をステップＳ３０５に進め、この単語を構成する各文字画像のデータ、及び各文字画像のＯＣＲ文字コードを一時メモリ３１１から、ＲＡＭ２２内で「正解文字グループ」のものを記憶保持するためのエリア（以下、正解文字グループエリアと呼称する）に移動させる（ステップＳ３０５）。
【００６４】
一方、ステップＳ３０４において、ステップＳ３０２で読み出した１つの文字画像が単語を構成していない文字の画像である場合には処理をステップＳ３０７に進め、ステップＳ３０２で文字画像が取り出せたのか（一時メモリ３１１内において、まだ未処理の文字画像が存在するのか）否かを判断し、取り出せた場合には処理をステップＳ３０８に進め、この文字画像、及びこの文字画像のＯＣＲ文字コードを一時メモリ３１１に残しておく（ステップＳ３０８）。
【００６５】
次に、ステップＳ３０８で一時メモリに残しておいた文字画像を読み出し（ステップＳ３０９）、読み出した１つの文字画像に最も一致の度合いが高いものを、文字品質辞書データ格納ＤＢ３１５に登録されている文字画像群から１つ特定する（ステップＳ３１０）。この処理は上記ステップＳ２０５における処理と同じである。
【００６６】
そして、ステップＳ３１０で特定した文字には上述の通り、文字コードと点数がセットになって登録されているので、ステップＳ３１０で特定した文字画像とセットになっている文字コード、点数をＲＡＭ２２内の所定のエリアに格納する（ステップＳ３１１）。
【００６７】
次に、この点数Ｂが、予め定められた閾値としての点数α以下であるのか否かを判断する（ステップＳ３１２）。ここでαとしては例えば１００点満点中９０点を採用する。これは、文字画像の品質が高得点の場合に、現在の文字認識（ＯＣＲ）の技術をもってすれば１００％近く正しく認識できるという現状の背景がある。
【００６８】
ステップＳ３１２における判断処理の結果、Ｂ＞αである場合、即ち、ステップＳ３０９で読み出した１つの文字画像が綺麗な文字である場合には処理をステップＳ３１５に進め、この文字画像のデータ、及びこの文字画像のＯＣＲ文字コードを一時メモリ３１１から上記正解文字グループエリアに移動させる（ステップＳ３１５）。
【００６９】
一方、Ｂ≦αの場合には処理をステップＳ３１２からステップＳ３１３に進め、Ｂ≧β（例えばβ＝６０点）であるのか否かを判断し、Ｂ≧βである場合には処理をステップＳ３１４に進め、ステップＳ３０９で読み出した１つの文字画像のＯＣＲ文字コードと、ステップＳ３１１で格納した文字コードとが一致しているのか否かを判断する（ステップＳ３１４）。即ち、上記ＯＣＲ処理による認識結果と、ステップＳ３１０におけるパターンマッチング処理の結果とが一致しているのか否かを判断する。この判断処理の結果、一致していると判断した場合には処理をステップＳ３１５に進め、上述の通り、ステップＳ３０９で読み出した１つの文字画像のデータ、及びこの文字画像のＯＣＲ文字コードをセットにして上記正解文字グループエリアに移動させる。このように正解グループエリアに移動させるのは、上記ＯＣＲ処理による認識結果と、ステップＳ３１０におけるパターンマッチング処理の結果とが一致している場合は、高精度で正解文字であるといえるからである。
【００７０】
一方、Ｂ≦β、もしくはステップＳ３１４で一致していないと判断した場合には処理をステップＳ３１６に進め、ステップＳ３０９で読み出した１つの文字画像のデータ、この文字画像のＯＣＲ文字コード、ステップＳ３１１で格納した文字コード、得点のデータを、ＲＡＭ２２内で「誤認識文字グループ」のものを記憶保持するためのエリア（以下、誤認識文字グループエリアと呼称する）に移動させる（ステップＳ３１６）。
【００７１】
そして処理をステップＳ３１７に進め、一時メモリ３１１内に保持されている全ての文字画像についてステップＳ３０９からステップＳ３１６の処理を行ったのか否かを判断し、全て行っていない場合には処理をステップＳ３０２に戻し、以降の処理を繰り返す。
【００７２】
図９は、単語を構成していない文字、単語を構成する文字を正解文字グループエリア６２、誤認識文字グループエリア６１のそれぞれにグループ分けする処理を模式的に示した図である。
【００７３】
図１１は、誤認識文字グループエリア、正解文字グループエリアにデータを移動させる際に保存するデータを示す図である。まず、誤認識グループと正解グループどちらにも追加するのが、文字画像データとＯＣＲ文字コードである。このデータは、以降の表示や作業で必要となる。次に、誤認識グループのみに追加するデータは、ステップＳ３１１で格納した文字コード、得点のデータである。正解グループにはこれらの結果を以降の作業で必要としないため保存しない。
【００７４】
図８に戻って、一方、ステップＳ３０７で、ステップＳ３０２で文字画像が取り出せなかったと判断した場合（即ち、ステップＳ３０１で格納した全ての文字画像についてステップＳ３０３〜ステップＳ３１７の処理を行った場合）には処理をステップＳ３１８に進め、以降の処理では、誤認識文字グループエリア内に保持されている文字画像、ＯＣＲ文字コード、文字コード、得点のセットを、同じ文字コードを有するもの毎にグループ分けする。
【００７５】
先ず、誤認識文字グループエリア内の各文字画像のうち、まだ何のグループにも属していないセットを１つ選択し（ステップＳ３１８）、誤認識文字グループエリア内に保持されているセット群のうちまだ何のグループにも属していないセット群から、ステップＳ３１８で選択したセット内の文字コードと同じ文字コードを有するセットを検索する（ステップＳ３１９）。
【００７６】
そして、ステップＳ３１８で選択したセット内の文字コードと同じ文字コードを有するセットが存在した場合には、処理をステップＳ３２１に進め、ステップＳ３１８で選択したセットとステップＳ３１９で検索したセットとを同じグループにすべく、ＲＡＭ２２内に格納する（ステップＳ３２１）。
【００７７】
一方、ステップＳ３１８で選択したセット内の文字コードと同じ文字コードを有するセットが存在しなかった場合には、処理をステップＳ３２２に進め、ステップＳ３１８で選択したセットを、単一要素を有するグループとしてＲＡＭ２２内の所定のエリア内に格納する（ステップＳ３２２）。
【００７８】
次に、誤認識文字グループエリア内に保持されているセット群のうちまだ何のグループにも属していないセットが存在するのか否かを判断し、存在する場合には処理をステップＳ３１８に進め、存在するセットについて以下の処理を繰り返す。一方、存在しない場合には本処理を完了する。
【００７９】
以上の処理により、文字画像、ＯＣＲ文字コード、文字コード、得点のセットを、同じ文字コードを有するもの毎にグループ分けすることができる。
【００８０】
図１０は誤認識文字グループエリア内に存在するセットを同じ文字コード毎にグループ分けする様子を示す図で、同図左側に示す如く、誤認識文字グループエリア内には同じ文字コードを有しながら別個に存在していたものが、図８に示したフローチャートに従った処理によって、同図右側に示す如く、同じ文字コードを有するもの毎にグループ分けすることができる。
【００８１】
図５に戻って、以上のようにしてステップＳ１０３における処理が完了すると、次に、ステップＳ１０２における処理よってＲＡＭ２２内に格納されているテキストデータ（ＯＣＲ文字コードの集合）を表示装置２７の表示画面上に表示するのであるが、誤認識文字グループエリア内に保持されている各文字については、誤認識文字グループエリア内に保持されていないものとは識別可能なようにして表示する（ステップＳ１０４）。識別可能なようにして表示する方法には様々な方法があるが、例えば誤認識文字グループエリア内に保持されている文字については赤で表示し、誤認識文字グループエリア内に保持されていない文字については白で表示する。
【００８２】
次に、クライアントコンピュータ１５の操作者から誤認識文字について修正指示が操作部２８を介して入力されると、後述する一連の修正処理を行い（ステップＳ１０５）、修正処理による結果を反映させた画面を表示する（ステップＳ１０６）。
【００８３】
次に、ステップＳ１０５における一連の修正処理について、同処理のフローチャートを示す図１２を参照して以下説明する。図１２は、ステップＳ１０５における処理の詳細を示すフローチャートである。
【００８４】
先ず、表示装置２７の表示画面には図１３Ａに示した画面９１が表示されているものとして以下説明する。図１３Ａは、図１２のフローチャートに従った処理によって表示される画面の表示例を示す図である。
【００８５】
同画面９１上にはカーソル１３０１が表示されており、これは周知の通り操作部２８を用いて操作することができるのであるが、ここで、同画面９１において文頭の「キャノン」において「ャ」が誤認識文字として表示されており、これをカーソル１３０１で指示すると、ＣＰＵ２１はこれを検知し（ステップＳ４０１）、上記ＯＣＲ処理において用いた文字認識辞書データＤＢ３１３のデータを用いて、指示対象の文字を認識する際の候補文字群を取得し（ステップＳ４０２）、一覧表示する（ステップＳ４０３）。この一覧表示については同図の画面９２の１３０２に示す如く表示されるが、その表示形態についてはこれに限定するものではない。また、候補文字の取得については周知のものであるが、例えば特開平８−１６７２８号公報に開示されている技術を用いても良い。
【００８６】
次に、操作者はメニュー１３０２に表示されたこれらの候補文字群のうち所望の文字の位置にカーソル１３０１を合わせ、指示すると、ＣＰＵ２１はこれを検知し、処理をステップＳ４０４を介してステップＳ４０５に進め、修正対象文字として指示された文字（上記の例では「ャ」）が属するグループ（図８のフローチャートに従った処理でもって分割された各グループのうち、修正対象文字として指示された文字が属するグループ）内の各文字の表示画面における表示色を変更すると共に（ステップＳ４０５）、その前後所定数分の文字をテキスト文から読み出し、チェックボックスと共に一覧表示する（ステップＳ４０６）。この一覧表示については同図画面９３の９４に示す如く表示されるが、その表示形態についてはこれに限定するものではない。本実施形態においては、メニュー９４は認識結果を表示するようにしているが、例えば、原稿画像からの切抜きを表示してもよい。
【００８７】
このメニュー９４ではそれぞれのチェックボックスには予めチェックマークがついているので、クライアントコンピュータ１５の操作者はこの一覧表示を見て、修正しないものについてはこのチェックマークをはずす操作を行う。同図において９５は、１つチェックマークをはずしたものを示している。なお同図ではメニュー９４とメニュー９５とが同時に表示されているが、メニュー９５は、メニュー９４におけるチェックマークを１つはずした後にメニュー９４の代わりに表示されるものであり、それぞれは同時に表示されるものではない。
【００８８】
そして操作者が操作部２８を用いてメニュー９４（９５）における「修正」のボタン画像を指示すると、ＣＰＵ２１はこれを検知し、処理をステップＳ４０７を介してステップＳ４０８に進め、メニュー９４（９５）のうち、それぞれのチェックボックスを順次参照する（ステップＳ４０８）。そして参照したチェックボックスにチェックマークが付いていた場合には処理をステップＳ４０９に進め、チェックマークのついた修正対象文字を、メニュー１３０２で選択された文字に修正する処理を行う（ステップＳ４０９）。
【００８９】
具体的には、チェックマークのついた修正対象文字のＯＣＲ文字コードを、メニュー１３０２で選択された文字の文字コードに置換する処理を行うと共に、修正後の修正対象文字が修正されたことを示すためのフラグを添付する。よって、修正対象文字を修正すると、修正後の修正対象文字は、文字画像、置換された文字コードのセットでもって管理されることになる。
【００９０】
そして、このセットのデータを、誤認識文字グループエリアから正解文字グループエリアに移動する（ステップＳ４１０）。図１４は、誤認識文字グループエリア１０１から正解文字グループエリア１０２にこのようなセットのデータの移動を模式的に示した図である。またこの際、誤認識グループエリアから修正されて正解グループエリアに移動した文字は色を変えて表示を行い、修正した結果であることがわかるように表示する。
【００９１】
次に、メニュー１３０２において、全てのチェックボックスをチェックしたのかを判断し、していない場合には処理をステップＳ４０８に戻し、以降の処理を繰り返す。そしてＣＰＵ２１が本処理の終了指示を検知した場合には本処理を終了し、検知していない場合には処理をステップＳ４０１に戻し、以降の処理を繰り返す。
【００９２】
一方、ステップＳ４０８において参照したチェックボックスにチェックマークが付いていない場合には処理をステップＳ４１１に進め、誤認識文字グループエリア内の文字でありながら修正対象とならなかった文字（未修整文字）についてのグループ分け処理を行う（ステップＳ４１１）。
【００９３】
このステップＳ４１１における処理は下記の２通りがある。即ち、処理の精度に着眼した処理方法と、処理の速度に着眼した処理方法とである。先ず、処理の精度に着眼した処理のフローチャートを示す図１８を用いて、ステップＳ４１１における処理の詳細について説明する。図１８は、処理の精度に着眼したステップＳ４１１における処理の詳細を示すフローチャートである。
【００９４】
先ず、誤認識文字グループエリア内に保持されている未修整文字の個数が所定個数γ以上であるのか否かを判断する（ステップＳ６０１）。この処理を行うのは、文字数が少ないときの修正忘れをなくすためである。ここで誤認識文字グループエリア内に保持されている文字の個数が所定個数γよりも少ない場合には処理をステップＳ６０８に進め、誤認識文字グループエリア内に残っている未修整文字を１つのグループとして保持する（ステップＳ６０８）。
【００９５】
一方、誤認識文字グループエリア内に保持されている文字の個数が所定個数γ以上である場合には、処理をステップＳ６０２に進め、誤認識文字グループエリア内のそれぞれのグループ（同じ文字コードを有するセットからなるグループ）から１つのグループを選択し、選択したグループ内で、得点が最も高い文字画像（最も高い得点を含むセット内の文字画像）を代表画像として選択し（ステップＳ６０２）、選択した代表画像と、未修整文字の文字画像とのパターンマッチングを行う（ステップＳ６０３）。
【００９６】
そしてパターンマッチング結果に応じた得点（例えばＤＰ距離など）を算出し、ＲＡＭ２２内の一時メモリ３１１に相当するエリア内に、算出した得点のデータを格納する（ステップＳ６０４）。
【００９７】
そして、誤認識文字グループエリア内の全てのグループについてステップＳ６０２からステップＳ６０４の処理を行ったのか否かを判断し、行っていない場合には処理をステップＳ６０２に戻し、誤認識文字グループエリア内でその他のグループについて以降の処理を繰り返す。
【００９８】
一方、誤認識文字グループエリア内のそれぞれのグループの代表画像と、未修整文字の文字画像との得点を算出したのであれば、処理をステップＳ６０５からステップＳ６０６に進め、未修整文字の文字画像との一致の度合いが最も高い（例えばＤＰ距離が最も小さい）代表画像が属するグループに未修整文字を含めるべく、未修整文字の文字画像、ＯＣＲ文字コード、文字コード、得点をＲＡＭ２２内に保持する（ステップＳ６０６）。
【００９９】
図２０は、未修整文字を誤認識文字グループエリア内の何れかのグループ内に含める処理の様子を示す模式図である。
【０１００】
そして、未修整文字全てについてステップＳ６０２からステップＳ６０６の処理を行ったのか否かを判断し、行っていないのであれば、処理をステップＳ６０２に戻し、次の未修整文字に対して以降の処理を行う。
【０１０１】
次に、処理の速度に着眼した処理のフローチャートを示す図１９を用いて、ステップＳ４１１における処理の詳細について説明する。図１９は、処理の速度に着眼したステップＳ４１１における処理の詳細を示すフローチャートである。なお、同図に示したフローチャートにおいて、図１８に示したステップと同じものについては同じステップ番号を付けており、その説明は省略する。
【０１０２】
ステップＳ６０９における処理を誤認識文字グループエリア内の全てのグループについて行うことで、それぞれの未修整文字のうち得点が最も高いものと、それぞれのグループの代表画像とのパターンマッチングを行い、得点が最も高い未修整文字と、それぞれのグループの代表画像との一致の度合いを示す得点を求める。
【０１０３】
そしてステップＳ６１０では、得点が最も高い未修整文字の文字画像との一致の度合いが最も高い（例えばＤＰ距離が最も小さい）代表画像が属するグループに、この未修整文字を含む全ての未修整文字を含めるべく、それぞれの未修整文字の文字画像、ＯＣＲ文字コード、文字コード、得点をＲＡＭ２２内に保持する。
【０１０４】
これにより、未修正文字を一文字ずつ比較するのに比べて精度は落ちるが、それぞれの未修整文字についてグループ分けすることなく、１つの未修整文字について行えばよいので、処理速度は図１８に示したフローチャートに従った処理を実行するよりも早い。
【０１０５】
以上のようにして、ステップＳ４１１における処理は成される。
【０１０６】
図１２に戻って、ステップＳ４１１における処理が完了すると、１つの未修整文字から成るグループ（単位グループ）が存在するのか否かを判断し（ステップＳ４１２）、存在しないのであれば処理をステップＳ４１３に進める。
【０１０７】
一方、存在するのであれば処理をステップＳ４１５に進め、単位グループを構成する１つの未修整文字を上記ＯＣＲ処理によって認識する際に用いた文字認識辞書データＤＢ３１３のデータを用いて、この未修整文字を認識する際の候補文字群を取得し、コンボボックス（メニュー）にセットする処理を、単位グループ毎に行う（ステップＳ４１５）。そして、この未修整文字をその他の文字とは異なる表示形態でもって（例えば他とは異なる色でもって）表示する（ステップＳ４１６）。
【０１０８】
そして、この未修整文字と、候補文字を一覧表示するためのコンボボックスとを未修整文字毎にダイアログとして一覧表示する（ステップＳ４１７）。図１３Ｂはこのダイアログの表示例を示す図である。同図画面９７において、コンボボックスで修正したい文字を選択し、その後「修正」のボタン画像を指示すると、ＣＰＵ２１はこれを検知して処理をステップＳ４１８に進め、未修整文字のＯＣＲ文字コードを、コンボボックスで選択された文字の文字コードに置換する処理を行うと共に、修正後の未修整文字が修正されたことを示すためのフラグを添付し、未修整文字の文字画像、置換された文字コードのセットのデータを、誤認識文字グループエリアから正解文字グループエリアに移動し、本処理を終了する。
【０１０９】
以上の説明により、本実施形態によって、誤認識文字を１つ１つ修正するのではなく、同じ読み方をするもの毎にまとめて修正することができるので、その修正操作をより簡便にすることができる。また、同じ読み方のものを全て一覧表示し、その中から修正するものを選択することができるので、より柔軟な修正操作をクライアントコンピュータ１５の操作者に提供することができる。
【０１１０】
また、誤認識文字グループエリア内の文字についても、上記処理を行えば、全て修正することができる。
【０１１１】
［第２の実施形態］
本実施形態では、ステップＳ１０５における一連の修正処理を、第１の実施形態とは異なる処理でもって行う。この実施形態はウィザード形式で修正処理を自動化したものである。図１５は、本実施形態に係る、ステップＳ１０５における一連の修正処理のフローチャートである。
【０１１２】
先ず、誤認識文字グループエリア内に保持されているそれぞれのグループのうち、任意に１つを選択する（ステップＳ５０１）。選択するグループについては特に限定するものではなく、例えば、原稿での文字の出現順、読み方順等、様々な指標によって選択する。
【０１１３】
次に、ステップＳ５０１で選択したグループ内の各文字のうち得点が最も高い文字を選択し、選択したこの文字を上記ＯＣＲ処理によって認識した際に用いた文字認識辞書データＤＢ３１３のデータを用いてこの選択した文字を認識する際の候補文字群を取得する（ステップＳ５０２）。そして、ステップＳ５０１で選択したグループ内の各文字の表示画面における表示色を変更すると共に、その前後所定数分の文字をテキスト文から読み出し、チェックボックス、そしてステップＳ５０２で取得した候補文字群が選択可能なメニューと共に一覧表示する（ステップＳ５０３、Ｓ５０４）。この一覧表示については図１６に示す画面１１１に示す如く表示されるが、その表示形態についてはこれに限定するものではない。図１６は、図１５のフローチャートに従った処理によって表示される画面の表示例を示す図である。
【０１１４】
このダイアログ１１１ではそれぞれのチェックボックスには予めチェックマークがついているので、クライアントコンピュータ１５の操作者はこの一覧表示を見て、修正しないものについてはこのチェックマークをはずす操作を行う。同図において１１２は、１つチェックマークをはずしたものを示している。またダイアログ１１２では、メニューを操作者は操作することで、「ヤ」が選択されている。
【０１１５】
そしてメニューでもって修正する文字を決め、「修正」のボタン画像を指示すると、処理をステップＳ５０５，５０６を介してステップＳ５０７に進める。ステップＳ５０７からＳ５１０の処理はそれぞれ、上記ステップＳ４０８からＳ４１１の処理と同じであるので、詳しい説明は省略するが、すなわち、「修正」のボタン画像を指示すると、ＣＰＵ２１はこれを検知し、チェックマークのついた修正対象文字のＯＣＲ文字コードを、メニューで選択された文字の文字コードに置換する処理を行うと共に、修正後の修正対象文字が修正されたことを示すためのフラグを添付する。よって、修正対象文字を修正すると、修正後の修正対象文字は、文字画像、置換された文字コードのセットでもって管理されることになる。そして、このセットのデータを、誤認識文字グループエリアから正解文字グループエリアに移動する。一方、チェックボックスにチェックマークが付いていない場合には、誤認識文字グループエリア内の文字でありながら修正対象とならなかった文字（未修整文字）についてのグループ分け処理を行う。
【０１１６】
そして第１の実施形態と同様にして、全てのチェックボックスを参照して、チェックマークが付いているもの、付いていないもののそれぞれについて以上のような処理を行うのであるが、全てのチェックボックスを参照すると、処理をステップＳ５１１を介してステップＳ５１２に進め、１つの未修整文字から成るグループ（単位グループ）が存在するのか否かを判断し（ステップＳ５１２）、存在しないのであれば処理をステップＳ５１３に進め、すべての誤認識文字を修正完了したかのかを判断し（ステップＳ５１３）、完了していなければ処理をステップＳ５０１に戻し、以降の処理を繰り返す。図１６において１１３は、次のグループに対する修正のためのダイアログを示す。また、完了していれば本処理を終了する。
【０１１７】
一方、存在するのであれば処理をステップＳ５１４に進め、単位グループを構成する１つの未修整文字を上記ＯＣＲ処理によって認識する際に用いた文字認識辞書データＤＢ３１３のデータを用いて、この未修整文字を認識する際の候補文字群を取得し、コンボボックスにセットする処理を、単位グループ毎に行う（ステップＳ５１４）。そして、この未修整文字をその他の文字とは異なる表示形態でもって（例えば他とは異なる色でもって）表示する（ステップＳ５１５）。
【０１１８】
そして、この未修整文字と、候補文字を一覧表示するためのコンボボックスと、修正する文字を直接入力する為の領域（入力領域）とを未修整文字毎にダイアログとして一覧表示する（ステップＳ４１７）。図１７はこのダイアログの表示例を示す図である。同図画面１２１において、コンボボックス１７０１で修正したい文字を選択すると、ダイアログが１２２に示す表示となり、コンボボックスには選択した文字が表示されると共に、領域１７０２には選択した文字が表示される。
【０１１９】
ここで、コンボボックス１７０１に修正したい文字がない場合には領域１７０２に操作部２８を用いて直接修正文字を入力すれば良い。例えば同図のダイアログ１２３においてコンボボックス１７０３を指示して修正文字を探していても修正文字がない場合には、同図１２４に示す如く、領域１７０４に直接修正文字を入力すれば良い。
【０１２０】
以上のようにして修正文字を入力し、その後「修正」のボタン画像を指示すると、ＣＰＵ２１はこれを検知して処理をステップＳ５１７、Ｓ５１８を介してステップＳ５１９に進み、未修整文字のＯＣＲ文字コードを、コンボボックスで選択された文字の文字コード、もしくは入力領域に入力されている文字の文字コードに置換する処理を行うと共に、修正後の未修整文字が修正されたことを示すためのフラグを添付し（ステップＳ５１９）、未修整文字の文字画像、置換された文字コードのセットのデータを、誤認識文字グループエリアから正解文字グループエリアに移動する（ステップＳ５２０）処理を、全ての単位グループについて行い、本処理を終了する。
【０１２１】
［第３の実施形態］
第１，２の実施形態は、クライアントコンピュータ１５に接続されている表示装置２７に表示されているテキスト、ダイアログを見ながら操作者が誤認識文字を修正するという場合について説明したが、他にも、スキャナ、プリンタの機能を有する複写機が、自身が有するスキャナ機能でもって記録媒体上から読み取った原稿画像、もしくは通信機能によって外部機器から受信した原稿画像におけるテキスト文を複写機が有する表示装置上に表示し、この表示画面上で誤認識文字を修正するような形態にも第１、２の実施形態で説明した一連の処理は適用可能である。
【０１２２】
また、以上の実施形態で説明した各ダイアログの構成要素の操作方法についてはこれに限定するものではなくても良いし、そのダイアログへの指示の入力形態についても操作部２８を用いたものに限定するものではなく、マイクなどの音声入力装置、音声認識装置を更に用いれば、音声などの入力形態が適用可能であることはいうまでもない。
【０１２３】
以上のことをまとめると、以上の各実施形態によれば、以下のような効果を奏することができる。
【０１２４】
１．  原稿のよさを判断し、OCR内の一部処理を省くことが可能となり、認識速度の向上になる。
【０１２５】
２．  OCR処理では文字のよさや書体の違いなどに関係なく近い文字で結果を出していたものが、品質評価では品質を加味するため、どの文字が誤認識かを判断することが出来る。
【０１２６】
３．  誤認識文字を色つき表示することにより、どの文字が誤認識しているかすぐにわかる。
【０１２７】
４．  一文字選択した時に、その候補文字を表示するため、キーボードでの入力なしにどの文字に修正するか選択することが可能。
【０１２８】
５．  誤認識文字をグループ化し、修正時にチェックボックスで選択させることにより、原稿内の誤認識文字すべてを１文字ずつ探す手間が省ける。
【０１２９】
６．  修正の過程で誤認識文字の再グループ化を行うことにより、修正漏れをなくすことが出来る。
【０１３０】
７．  最後まで修正されずに残ってしまった数文字をダイアログにすべて表示し、それまでの修正方法とは違い手入力での修正をさせるため、修正漏れをなくすことができる。
【０１３１】
［その他の実施形態］
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１３２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３３】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３４】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１３５】
【図１】本発明の第１の実施形態に係るシステムの構成を示すブロック図である。
【図２】クライアントコンピュータ１５の基本構成を示すブロック図である。
【図３】クライアントコンピュータ１５の機能構成を示すブロック図である。
【図４】文字品質辞書データ格納ＤＢ３１５の構成例を示す図である。
【図５】スキャナ１２から入力された原稿画像に記載の文字を認識し、その認識結果を一覧表示し、誤認識文字については修正を受付け、修正された場合にはそれを反映して再度表示する一連の処理のフローチャートである。
【図６】ステップＳ１０２における処理の詳細を示すフローチャートである。
【図７】ステップＳ１０１で入力した原稿画像と、図２のフローチャートに従った処理によって得られるテキストとを示す図である。
【図８】ステップＳ１０３における処理の詳細を示すフローチャートである。
【図９】単語を構成していない文字、単語を構成する文字を正解文字グループエリア６２、誤認識文字グループエリア６１のそれぞれにグループ分けする処理を模式的に示した図である。
【図１０】誤認識文字グループエリア内に存在するセットを同じ文字コード毎にグループ分けする様子を示す図である。
【図１１】誤認識文字グループエリア、正解文字グループエリアにデータを移動させる際に保存するデータを示す図である。
【図１２】ステップＳ１０５における処理の詳細を示すフローチャートである。
【図１３Ａ】図１２のフローチャートに従った処理によって表示される画面の表示例を示す図である。
【図１３Ｂ】未修整文字と、候補文字を一覧表示するためのコンボボックスとを未修整文字毎にダイアログの表示例を示す図である。
【図１４】誤認識文字グループエリア１０１から正解文字グループエリア１０２にこのようなセットのデータの移動を模式的に示した図である。
【図１５】本発明の第２の実施形態に係る、ステップＳ１０５における一連の修正処理のフローチャートである。
【図１６】図１５のフローチャートに従った処理によって表示される画面の表示例を示す図である。
【図１７】未修整文字と、候補文字を一覧表示するためのコンボボックスと、修正する文字を直接入力する為の領域（入力領域）とを未修整文字毎にダイアログの表示例を示す図である。
【図１８】処理の精度に着眼したステップＳ４１１における処理の詳細を示すフローチャートである。
【図１９】処理の速度に着眼したステップＳ４１１における処理の詳細を示すフローチャートである。
【図２０】未修整文字を誤認識文字グループエリア内の何れかのグループ内に含める処理の様子を示す模式図である。
【図１】
2006178543.tif 000003
【図２】
2006178543.tif 000004
【図３】
2006178543.tif 000005
【図４】
2006178543.tif 000006
【図５】
2006178543.tif 000007
【図６】
2006178543.tif 000008
【図７】
2006178543.tif 000009
【図８】
2006178543.tif 000010
【図９】
2006178543.tif 000011
【図１０】
2006178543.tif 000012
【図１１】
2006178543.tif 000013
【図１２】
2006178543.tif 000014
【図１３Ａ】
2006178543.tif 000015
【図１３Ｂ】
2006178543.tif 000016
【図１４】
2006178543.tif 000017
【図１５】
2006178543.tif 000018
【図１６】
2006178543.tif 000019
【図１７】
2006178543.tif 000020
【図１８】
2006178543.tif 000021
【図１９】
2006178543.tif 000022
【図２０】
2006178543.tif 000023