(57)【要約】【課題】スキャン画像から文字情報を取得する際の、プレビュー表示の高速化とＯＣＲ処理の精度向上とを両立する。【解決手段】スキャン画像から文字情報を取得する画像処理装置であって、第１の二値化手法で前記スキャン画像を二値化して得た二値画像に対し領域分割処理を行って、テキスト領域を抽出する解析手段と、ＯＣＲ処理で用いる二値画像を決定する決定手段と、前記解析手段で抽出された前記テキスト領域に対し、前記決定手段で決定した二値画像を用いて前記ＯＣＲ処理を行なう文字認識手段と、を備え、前記決定手段は、前記領域分割処理で用いた二値画像が前記ＯＣＲ処理に適している場合、当該二値画像を前記ＯＣＲ処理で用いる二値画像として決定し、前記領域分割処理で用いた二値画像が前記ＯＣＲ処理に適していない場合、前記第１の二値化手法よりも精度の高い第２の二値化手法によって二値画像を生成し、当該生成した二値画像を前記ＯＣＲ処理で用いる二値画像として決定する、ことを特徴とする。【選択図】図１１
2019057174.tif 000002
【特許請求の範囲】
【請求項１】
スキャン画像から文字情報を取得する画像処理装置であって、
第１の二値化手法で前記スキャン画像を二値化して得た二値画像に対し領域分割処理を行って、テキスト領域を抽出する解析手段と、
ＯＣＲ処理で用いる二値画像を決定する決定手段と、
前記解析手段で抽出された前記テキスト領域に対し、前記決定手段で決定した二値画像を用いて前記ＯＣＲ処理を行なう文字認識手段と、
を備え、
前記決定手段は、
前記領域分割処理で用いた二値画像が前記ＯＣＲ処理に適している場合、当該二値画像を前記ＯＣＲ処理で用いる二値画像として決定し、
前記領域分割処理で用いた二値画像が前記ＯＣＲ処理に適していない場合、前記第１の二値化手法よりも精度の高い第２の二値化手法によって二値画像を生成し、当該生成した二値画像を前記ＯＣＲ処理で用いる二値画像として決定する
ことを特徴とする画像処理装置。
【請求項２】
前記決定手段は、抽出された前記テキスト領域に含まれる１文字単位の外接矩形を表す文字枠の縦横比に基づき、二値画像が前記ＯＣＲ処理に適した状態かどうかを判定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記領域分割処理では、前記テキスト領域を行単位で分割した行領域を抽出し、
前記決定手段は、前記行領域に含まれる前記文字枠の縦横比の平均値に基づき、前記判定を行う
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記決定手段は、前記行領域に含まれる文字枠の縦横比の平均値と、予め保持された所定のフォントにおける文字枠の縦横比の平均値とを比較することにより、前記判定を行うことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記決定手段は、さらに、前記行領域に含まれる文字枠のうち一部の文字枠に対して前記ＯＣＲ処理を行い、得られた文字認識結果の信頼度に基づいて、前記判定を行うことを特徴とする請求項３乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記決定手段は、前記信頼度の基準となる閾値を予め保持し、前記得られた文字認識結果の信頼度と前記閾値との比較処理によって、前記判定を行うことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記信頼度は、前記文字認識結果における特徴量の一致率であることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記第１の二値化手法は、前記第２の二値化手法よりも処理速度が早い二値化手法であることを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
前記第１の二値化手法は、単一の閾値を用いる二値化手法であり、
前記第２の二値化手法は、複数の閾値を用いる二値化手法である
ことを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記領域分割処理で抽出された複数の行領域のうち、任意の行領域の選択を受け付けるユーザインタフェースをさらに備え、
前記決定手段は、前記ユーザインタフェースを介してユーザが選択した行領域を対象に、前記第２の二値化手法によって二値画像を生成する
ことを特徴とする請求項３乃至７のいずれか１項に記載の画像処理装置。
【請求項１１】
前記文字認識手段は、ユーザが前記選択を行うまでの間、前記第１の二値化手法によって前記スキャン画像を二値化して得られた二値画像に含まれる各行領域に対し、所定の条件にしたがってＯＣＲ処理を予め実行し、
前記決定手段は、前記予め実行するＯＣＲ処理で得られた文字認識結果の信頼度が所定の基準を満たさない場合、前記第２の二値化手法によって二値画像を生成し、当該生成した二値画像を用いてＯＣＲ処理を再度実行する
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記所定の条件は、前記ユーザインタフェースに表示されている範囲を少なくとも含む所定の範囲に存在する行領域の方が、当該所定の範囲外に存在する行領域よりも優先順位が高い、であることを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
スキャン画像から文字情報を取得する画像処理方法であって、
第１の二値化手法で前記スキャン画像を二値化して得た二値画像に対し領域分割処理を行って、テキスト領域を抽出する解析ステップと、
ＯＣＲ処理で用いる二値画像を決定する決定ステップと、
前記解析ステップで抽出された前記テキスト領域に対し、前記決定ステップで決定した二値画像を用いて前記ＯＣＲ処理を行なう文字認識ステップと、
を含み、
前記決定ステップでは、
前記領域分割処理で用いた二値画像が前記ＯＣＲ処理に適している場合、当該二値画像を前記ＯＣＲ処理で用いる二値画像として決定し、
前記領域分割処理で用いた二値画像が前記ＯＣＲ処理に適していない場合、前記第１の二値化手法よりも精度の高い第２の二値化手法によって二値画像を生成し、当該生成した二値画像を前記ＯＣＲ処理で用いる二値画像として決定する
ことを特徴とする画像処理方法。
【請求項１４】
コンピュータを、請求項１乃至１２のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャン画像から文字情報を取得するための文字認識技術に関する。
【背景技術】
【０００２】
従来より、文書の管理手法として、紙文書をスキャンして電子化する手法が広く行われている。そして、文書の電子化に際して、スキャンされた画像データに対して文字認識処理（ＯＣＲ処理）を行い、認識された文字を電子化した文書ファイルのファイル名に使用する技術がある。このような作業は、通常、ＭＦＰ（Multi Function Peripheral）等の装置において行われる。その際、先ず文字列の位置の抽出のための解析処理を行なってその結果をＵＩ画面上にプレビュー表示し、その後にＯＣＲ処理を行って得られた文字認識結果を使ってファイル名生成などが行われる。そして、ユーザがストレスなく一連の操作を行なうには、迅速なプレビュー表示と高い精度でのＯＣＲ処理の両方が求められる。
【０００３】
ここで、迅速なプレビュー表示の実現には、上記解析処理における二値化処理を高速で行うことが求められる一方で、ファイル名生成のためのＯＣＲ処理を高精度で行うには、ＯＣＲ処理に適した高画質の二値画像が必要となる。高画質の二値画像を得る技術としては、例えば特許文献１や２に開示の手法がある。特許文献１の手法では、二値化処理を行った後に文字列の並びに対して垂直方向に走査して投影分布図を作り、文字の途切れや文字間の接触の有無に応じて再度二値化処理を行なう。また、特許文献２では、文字列の状態の判定情報と、文字認識の状態の判定情報とに基づいて、二値化の閾値であるスライスレベルを決定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０２−０５６６８８号公報
【特許文献２】特開平１１−２３２３８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の手法では、二値画像の状態判定を１文字単位で行う。そうなると、ＯＣＲ処理の対象言語が日本語の場合、例えば、平仮名の“い”や漢字の“社”などの文字は、投影分布図を作る際に過分割されてしまうことがある。よって、特許文献１の手法によって、文字の途切れを正確に判断することは難しく、大量の文字列が含まれる文書を高速に処理するのにも適さない。また、特許文献２の手法では、入力画像の全体に対して、二値化の閾値を１つ決定するので、例えば入力画像に輝度が高い色の文字領域と輝度の低い色の文字領域が含まれていたりすると、適切に二値化することができなくなってしまう。
【課題を解決するための手段】
【０００６】
本発明に係る画像処理装置は、スキャン画像から文字情報を取得する画像処理装置であって、第１の二値化手法で前記スキャン画像を二値化して得た二値画像に対し領域分割処理を行って、テキスト領域を抽出する解析手段と、ＯＣＲ処理で用いる二値画像を決定する決定手段と、前記解析手段で抽出された前記テキスト領域に対し、前記決定手段で決定した二値画像を用いて前記ＯＣＲ処理を行なう文字認識手段と、を備え、前記決定手段は、前記領域分割処理で用いた二値画像が前記ＯＣＲ処理に適している場合、当該二値画像を前記ＯＣＲ処理で用いる二値画像として決定し、前記領域分割処理で用いた二値画像が前記ＯＣＲ処理に適していない場合、前記第１の二値化手法よりも精度の高い第２の二値化手法によって二値画像を生成し、当該生成した二値画像を前記ＯＣＲ処理で用いる二値画像として決定することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、スキャン画像から文字情報を取得する際のプレビュー表示の高速化とＯＣＲ処理の精度向上とを両立させることができる。
【図面の簡単な説明】
【０００８】
【図１】画像処理システムの全体構成を示す図
【図２】ＭＦＰのハードウェア構成図
【図３】ファイルサーバのハードウェア構成図
【図４】ＭＦＰのソフトウェア構成図
【図５】スキャン画像の生成からアップロードまでの動作制御の流れを示すフローチャート
【図６】スキャン設定画面の一例を示す図
【図７】領域分割処理の結果の一例を示す図
【図８】プレビュー画面の一例を示す図
【図９】アップロード画面の一例を示す図
【図１０】実施例１に係る、ファイル名生成処理の詳細を示すフローチャート
【図１１】二値画像状態判定処理の詳細を示すフローチャート
【図１２】ＯＣＲ処理結果を用いてファイル名が設定される様子を説明する図
【図１３】実施例２に係る、ファイル名生成処理の詳細を示すフローチャート
【図１４】ゾーンＯＣＲの詳細を示すフローチャート
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【実施例１】
【００１０】
＜画像処理システムの構成＞
図１は、本実施例に係る画像処理システムの全体構成を示す図である。画像処理システムは、ＭＦＰ１１０とファイルサーバ１２０とで構成され、ＬＡＮ（Local Area Network）を介して互いに通信可能に接続されている。
【００１１】
ＭＦＰ（Multi Function Printer）１１０は、スキャナやプリンタといった複数の機能を有する複合機であり、画像処理装置の一例である。ファイルサーバ１２０は、電子化された文書ファイルを保存・管理する外部サーバの一例である。本実施例の画像処理システムは、ＭＦＰ１１０とファイルサーバ１２０とからなる構成としているがこれに限定されない。例えば、ＭＦＰ１１０がファイルサーバ１２０の役割を兼ね備えてもよい。また、ＬＡＮに代えてインターネットなどを介した接続形態であってもよい。また、ＭＦＰ１１０は、ＰＳＴＮ（Public Switched Telephone Networks）に接続され、ファクシミリ装置（不図示）との間で画像データをファクシミリ通信することができる。
【００１２】
図２は、ＭＦＰ１１０のハードウェア構成図である。ＭＦＰ１１０は、制御部２１０、操作部２２０、プリンタ部２２１、スキャナ部２２２、モデム２２３で構成される。制御部２１０は、以下の各部２１１〜２１９で構成され、ＭＦＰ１１０全体の動作を制御する。ＣＰＵ２１１は、ＲＯＭ２１２に記憶された制御プログラムを読み出して、読取／印刷／通信などＭＦＰ１１０が有する各種機能を実行・制御する。ＲＡＭ２１３は、ＣＰＵ２１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。なお、本実施例では１つのＣＰＵ２１１が１つのメモリ（ＲＡＭ２１３またはＨＤＤ２１４）を用いて後述のフローチャートに示す各処理を実行するものとするが、これに限定されない。例えば、複数のＣＰＵや複数のＲＡＭまたはＨＤＤを協働させて各処理を実行してもよい。ＨＤＤ２１４は、画像データや各種プログラムを記憶する大容量記憶部である。操作部Ｉ／Ｆ２１５は、操作部２２０と制御部２１０とを接続するインタフェースである。操作部２２０には、タッチパネルやキーボードなどが備えられており、ユーザによる操作／入力／指示を受け付ける。プリンタＩ／Ｆ２１６は、プリンタ部２２１と制御部２１０とを接続するインタフェースである。印刷用の画像データはプリンタＩ／Ｆ２１６を介して制御部２１０からプリンタ部２２１へ転送され、記録媒体上に印刷される。スキャナＩ／Ｆ２１７は、スキャナ部２２２と制御部２１０とを接続するインタフェースである。スキャナ部２２２は、不図示の原稿台やＡＤＦ（Auto Document Feeder）にセットされた原稿を読み取って画像データを生成し、スキャナＩ／Ｆ２１７を介して制御部２１０に入力する。ＭＦＰ１１０は、スキャナ部２２２で生成された画像データをプリンタ部２２１から印刷出力（コピー）する他、ファイル送信またはメール送信することができる。モデムＩ／Ｆ２１８は、モデム２２３と制御部２１０とを接続するインタフェースである。モデム２２３は、ＰＳＴＮ上のファクシミリ装置との間で画像データをファクシミリ通信する。ネットワークＩ／Ｆ２１９は、制御部２１０（ＭＦＰ１１０）をＬＡＮに接続するインタフェースである。ＭＦＰ１１０は、ネットワークＩ／Ｆ２１９を用いてＬＡＮ上の外部装置（ファイルサーバ１２０など）に画像データや情報を送信したり、各種情報を受信したりする。
【００１３】
図３は、ファイルサーバ１２０のハードウェア構成図である。ファイルサーバ１２０は、ＣＰＵ３１１、ＲＯＭ３１２、ＲＡＭ３１３、ＨＤＤ３１４及びネットワークＩ／Ｆ３１５で構成される。ＣＰＵ３１１は、ＲＯＭ３１２に記憶された制御プログラムを読み出して各種処理を実行することで、ファイルサーバ１２０全体の動作を制御する。ＲＡＭ３１３は、ＣＰＵ３１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ３１４は、画像データや各種プログラムを記憶する大容量記憶部である。ネットワークＩ／Ｆ３１５は、ファイルサーバ１２０をＬＡＮに接続するインタフェースである。ファイルサーバ１２０は、ネットワークＩ／Ｆ３１５を用いてＬＡＮ上の他の装置（ＭＦＰ１１０など）との間で各種情報を送受信する。
【００１４】
＜ＭＦＰのソフトウェア構成＞
図４は、ＭＦＰ１１０のソフトウェア構成図である。ＭＦＰ１１０のソフトウェアは、ネイティブ機能モジュール４１０とアディショナル機能モジュール４２０の大きく２つに分けられる。ネイティブ機能モジュール４１０に含まれる各部は、ＭＦＰ１１０に標準的に備えられた機能モジュールである。これに対し、アディショナル機能モジュール４２０に含まれる各部は、ＭＦＰ１１０に追加的に備わる機能モジュールであり、例えばアプリケーションのインストールによって実現される機能モジュールである。本実施例におけるアディショナル機能モジュール４２０は、Ｊａｖａ（登録商標）をベースとしたアプリケーションであり、ＭＦＰ１１０への機能追加を容易に実現できる。なお、ＭＦＰ１１０には図示しない他のアプリケーションがインストールされていても良い。以下、両機能モジュール４１０及ぶ４２０を構成する各部について説明する。
【００１５】
アプリケーション表示部４２３は、操作部２２０のタッチパネルに、ユーザによる各種操作を受け付けるためのユーザインタフェース画面（ＵＩ画面）を表示する表示制御を行う。表示するＵＩ画面の詳細については後述する。スキャン指示部４２１は、ＵＩ画面を介して入力されたユーザ指示に従い、スキャン設定や転送設定の情報を含んだスキャン要求をスキャン実行部４１１に送信して、スキャン処理を実行させる。このスキャン要求には、後述するアプリケーション受信部４２２が受信する画像データが、当該スキャン要求に対応したものかどうかを識別するための要求ＩＤも含まれる。
【００１６】
スキャン実行部４１１は、スキャン指示部４２１からのスキャン要求を受けて、スキャナＩ／Ｆ２１７を介してスキャナ部２２２を制御しスキャン処理を実行する。これにより、原稿が読み取られて画像データが生成される。スキャンによって生成された画像データ（以下、「スキャン画像データ」と呼ぶ。）はその転送先を特定する転送設定の情報と共に転送部４１２に渡される。転送部４１２は、スキャン実行部４１１から受け取ったスキャン画像データを、転送設定に従って転送する。スキャン画像データの転送先としては、ファイルサーバ１２０や、ＬＡＮ上のＰＣ（不図示）等を設定可能である。ただし、本実施例では、スキャン実行部４１１で生成されたスキャン画像データは、一旦全て、アディショナル機能モジュール４２０に転送するように設定されているものとする。転送部４１２は、ＦＴＰ（File Transfer Protocol）クライアント機能を有しており、ＦＴＰサーバ機能を有するアプリケーション受信部４２２に対してＦＴＰでスキャン画像データを転送する。
【００１７】
アプリケーション受信部４２２は、転送部４１２から内部転送されたスキャン画像データを受信し、アプリケーション転送部４２４に渡す。アプリケーション転送部４２４は、受信したスキャン画像データを画像解析部４２５に渡す。画像解析部４２５は、受け取ったスキャン画像データに対してテキスト領域の特定や文字認識といった画像解析処理を行なう。そして、スキャン画像データとその解析結果は、アプリケーション転送部４２４を介してプレビュー表示部４２６に渡される。プレビュー表示部４２６は、スキャン画像データとその解析結果に基づき、ユーザがファイル名設定を行うためのＵＩ画面を生成し、操作部２２０の液晶パネルに表示するといった表示制御を行う。
【００１８】
アップロード指示部４２７は、ユーザがフォルダパス設定を行うためのＵＩ画面を生成し、操作部２２０のタッチパネルに表示する。アプリケーション転送部４２４は、ファイルサーバ１２０にスキャン画像データを転送（送信）する。アプリケーション転送部４２４は、転送が終了すると、アプリケーション表示部４２３に転送が終了したことを通知する。アプリケーション表示部４２３は、アプリケーション転送部４２４からの通知を受けて、表示内容を更新する。また、アプリケーション転送部４２４は、ＳＭＢ（Server Message Block）クライアント機能を有している。これにより、ＳＭＢサーバ機能を有するファイルサーバ１２０に対して、ＳＭＢを用いてファイル操作及びフォルダ操作を行う。なお、使用するプロトコルは、ＳＭＢに限定されるものではなく、WebDAV、ＦＴＰ、ＳＭＴＰ等であってもよい。また、ＳＯＡＰやＲＥＳＴといったファイル送信目的以外のプロトコルも使用可能である。
【００１９】
続いて、ＭＦＰ１１０において原稿からスキャン画像を生成し、ファイルサーバ１２０にアップロードする際の動作制御について説明する。図５は、スキャン画像の生成からアップロードまでの制御の流れを示すフローチャートである。この一連の処理は、制御部２１０において、ＣＰＵ２１１がＨＤＤ２１４に記憶された制御プログラムを実行することにより実現される。以下、詳しく説明する。
【００２０】
ステップ５０１では、アプリケーション表示部４２３により、スキャン処理のための各種設定を行うためのＵＩ画面（以下、「スキャン設定画面」と呼ぶ。）が、操作部２２０のタッチパネルに表示される。図６は、スキャン設定画面の一例を示す図である。図６のスキャン設定画面６００には、５つの設定ボタン６０１〜６０５が存在する。［カラー設定］ボタン６０１は、原稿をスキャンする際のカラー／モノクロを設定するためのボタンである。［解像度設定］ボタン６０２は、原稿をスキャンする際の解像度を設定するためのボタンである。［両面読み取り設定］ボタン６０３は、原稿の両面をスキャンしたい場合に用いる設定ボタンである。［原稿混載設定］ボタン６０４は、サイズが異なる原稿をまとめてスキャンしたい場合に用いる設定ボタンである。［画像形式設定］ボタン６０５は、スキャン画像データの保存形式を指定する際に用いる設定ボタンである。これら設定ボタン６０１〜６０５を用いた設定時には、ＭＦＰ１１０においてサポートされている範囲で設定可能な候補（選択肢）が表示され、ユーザは表示された候補から望むものを選択する。なお、上述の設定ボタンは一例であって、これらすべての設定項目が存在しなくても良いし、これら以外の設定項目が存在してもよい。ユーザは、このようなスキャン設定画面６００を介してスキャン処理についての詳細な設定を行なう。［キャンセル］ボタン６２０は、スキャン設定を中止する場合に用いるボタンである。［スキャン開始］ボタン６２１は、原稿台等にセットした原稿に対するスキャン処理の開始を指示するためのボタンである。
【００２１】
ステップ５０２では、アプリケーション表示部４２３により、ユーザによるボタン操作の内容によって処理の切り分けがなされる。［スキャン開始］ボタン６２１の押下が検出された場合は、アプリケーション表示部４２３によって各設定ボタン６０１〜６０５で設定された内容とスキャン処理の実行開始の受付が、スキャン指示部４２１に対して伝えられる。一方、［キャンセル］ボタン６２０の押下が検出された場合は本処理を終える。
【００２２】
ステップ５０３では、スキャン指示部４２１からの指示に応答して、スキャン実行部４１１によってスキャン処理が実行される。これにより得られたスキャン画像データは、ステップ５０４において、転送部４１２を通じてアプリケーション受信部４２２にＦＴＰで内部転送され、さらにアプリケーション転送部４２４を介して画像解析部４２５に送られる。
【００２３】
ステップ５０５では、画像解析部４２５において、スキャン画像データの解析処理が実行される。具体的には、まず、スキャン画像データに対し、画像信号の二値化やスキャン時にずれた原稿の傾きの修正、原稿が正立する方向への回転などを行なって、解析処理を行いやすい状態に補正する。ここでの二値化においては、精度よりも処理速度を優先する。すなわち、精度についてはその後に行う領域分割処理が可能な程度であればよく、例えば、大津法のような画像全体に対して単一の閾値を用いる手法によって、高速に二値化処理を行なう。そして、白黒に二値化された画像内に存在するテキスト属性の領域（テキスト領域）を特定する処理（領域分割処理）を行う。具体的には、まず、白黒の二値画像に対し輪郭線追跡を行って黒画素輪郭で囲まれる画素の塊を抽出する。そして、面積が所定の面積よりも大きい黒画素の塊については、内部にある白画素に対しても輪郭線追跡を行い、白画素の塊を抽出し、さらに一定面積以上の白画素の塊の内部から再帰的に黒画素の塊を抽出する。こうして得られた黒画素の塊を、大きさ及び形状で分類し、異なる属性を持つ領域へ分類していく。例えば、縦横比が１に近く、大きさが一定の範囲のものを文字相当の画素塊とする。さらに近接する文字が整列良くグループ化され得る部分を文字領域（Text）とする。扁平な画素塊を線領域（LINE）とする。一定大きさ以上でかつ矩形の白画素塊を整列よく内包する黒画素塊の占める範囲を表領域（TABLE）とする。不定形の画素塊が散在している領域を写真領域（PHOTO）とする。そして、それ以外の任意形状の画素塊を図画領域（PICTURE）とする。こうしてオブジェクトの属性毎に領域分割されたものの中から、テキスト領域が特定される。図７は、領域分割処理の結果の一例を示す図である。図７（ａ）は解析対象のスキャン画像を示している。図７（ａ）のスキャン画像において、「会社名」など殆どの文字列は、前景部分（文字）を構成する画素の色成分は黒、背景部分を構成する画素の色成分は白である。しかし、「注文書」の文字列は、前景部分を構成する画素の色成分は濃いグレー、背景部分を構成する画素の色成分は白である。また、「\428,760」の文字列は、前景部分を構成する画素の色成分は黒、背景部分を構成する画素の色成分は薄いグレーである。図７（ｂ）は、図７（ａ）のスキャン画像に対して二値化処理を行い、その後に領域分割処理によって得られたテキスト領域を示している。図７（ｂ）において、実線で示す矩形７０１は、近接する複数行の文字列をまとめて１つの領域としたブロック領域（Text-block area）を示している。破線で示す矩形７０２はブロック領域７０１を行単位で分割した行領域（Text-line area）を示している。また、点線で示す矩形７０３は行領域７０２を１文字単位の外接矩形で切り出した文字枠（Character bounding box）を示している。各ブロック領域７０１から行領域７０２を抽出するには、まずブロック領域７０１内の文字列が縦書きか横書きかを判定する必要がある（組版方向判定）。ブロック領域７０１に対して垂直方向と水平方向の２方向に投影ヒストグラムを生成し、規則性のある谷が垂直方向に出現すれば縦書き、水平方向に出現すれば横書きとなる。図７の例では、すべてのブロック領域７０１が横書きと判定されることになる。そして、判定された組版方向に沿って、再度、投影ヒストグラムを生成し、谷の部分で分割した文字枠群について、それぞれ始点となる左上と終点となる右下の座標を求めることで行領域７０２が得られる。ここで、図７（ａ）のスキャン画像の場合、「注文書」や「\428,760」の文字列における前景部分と背景部分との濃淡差と、「会社名」等の他の文字列における前景部分と背景部分との濃淡差とが異なっている。このように濃淡差にばらつきがあると、二値化処理の結果において、前景部分のオン画素が欠損したり（文字の掠れ）、オン画素が存在する領域が拡がったり（文字潰れ）などして、文字の外接矩形として不正確なものが含まれる可能性が高くなる。そこで、本実施例では、後段のファイル名生成処理（ステップ５０７）において、二値画像の状態判定を行い、必要に応じて高精度の二値化処理を行った上でＯＣＲ処理を実行するようにしている。本ステップの解析処理で特定された行領域７０２の情報（以下、「行領域情報」と呼ぶ。）は、画像解析データとしてアプリケーション転送部４２４に渡される。なお、行領域情報には、各行領域が属するブロック領域や文字枠の情報も含まれる。画像解析データは、例えばＣＳＶやＸＭＬのフォーマットとするが、他のフォーマットであっても構わない。また、ＨＤＤ２１４に一旦保存した上で、所定のタイミングで渡してもよい。図５のフローの説明に戻る。
【００２４】
ステップ５０６では、プレビュー表示部４２６により、ステップ５０３で読み込まれたスキャン画像が、操作部２２０のタッチパネルにプレビュー表示される。このプレビュー表示用の画面データは、アプリケーション表示部４２３によって生成・提供される。ユーザは、スキャン画像がプレビュー表示されたＵＩ画面（以下、「プレビュー画面」と呼ぶ。）を介して、スキャン画像データのファイル名を設定することができる。図８（ａ）は、プレビュー画面の一例を示す図である。プレビュー画面８００において、画面中央にあるプレビュー領域８１０内に、読み込まれたスキャン画像が表示される。そして、プレビュー領域８１０内には、スキャン画像と共にその表示状態を変更するための複数のボタン８１１〜８１４も表示される。ボタン８１１及び８１２はスキャン画像の全体を表示しきれないときに現れるボタンで、表示領域を縦方向にスクロールするためのボタンである。ＭＦＰ１１０が備えるタッチパネルは通常それほど大きくはない。そこで、例えば、スキャン画像がA4縦・横書きの原稿を読み取ったものである場合は、スキャン画像の幅方向（短手方向）全体がプレビュー領域８１０にちょうど収まるように上詰めで縮小表示されるよう初期設定される。つまり、初期設定においては、A4縦のスキャン画像の下部はプレビュー領域８１０内に表示されないことになる。このようなとき、「↓」ボタン８１２を押下すると下に表示領域がスクロールし、下部を表示させることができる。さらに、スキャン画像が例えばA4横やA3などの場合には、表示領域を横方向にスクロールするためのボタンを設ければよい。ボタン８１３及び８１４は、表示領域を拡大・縮小するためのボタンであり、「＋」のボタン８１３を押下するとズームインし、「−」のボタン８１４を押下するとズームアウトする。これらボタン操作による動作を、プレビュー画面上でのスワイプやピンチアウト／ピンチインといったユーザの指による操作で実現してもよい。また、プレビュー領域８１０には、ステップ５０５の画像解析処理によって特定された行領域が、上述の行領域情報に基づき、ユーザに識別可能な態様で表示される。図８（ｂ）は、図８（ａ）のプレビュー画面８００において、各行領域が囲み枠によって識別可能に表示された状態を示す図である。ユーザが、プレビュー領域８１０に表示された行領域の中から任意の行領域を選択（例えば指でタッチ）すると、そこに含まれる文字列がファイル名入力欄８０１に表示、すなわち自動入力され、ファイル名を構成する文字列の一部となる。これらボタン操作による動作を、プレビュー画面上でのスワイプやピンチアウト／ピンチインといったユーザの指による操作で実現してもよい。［戻る］ボタン８２０は、プレビュー表示を中止する場合に用いるボタンである。［次へ］ボタン８２１は、読み込まれたスキャン画像データのアップロード先を設定する画面に移行するためのボタンである。なお、上述した各種ボタンの種類、各行領域の表示や選択の態様は一例にすぎず、これに限定されない。例えば、ブロック領域の中に複数の行領域が存在する場合において、一定の条件下で、行領域単位ではなくブロック領域単位でプレビュー画面内に表示するようにしてもよい。この���うなケースとしては、1つのセル内に複数行の文字列が記載された表を含む帳票をスキャンした場合が考えられる。この場合、領域分割処理の属性判定の結果を利用することで、1つのセル内に記載された行文字列かどうかを判断すればよい。また、ファイル名入力欄８０１に表示された文字列を修正・変更したり、ファイル名を確定したりするためのボタンがあってもよい。
【００２５】
ステップ５０７では、プレビュー表示部４２６により、読み込まれたスキャン画像に対するファイル名の生成がなされる。このファイル名生成処理の詳細については後述する。所望するファイル名が生成されてユーザが［次へ］ボタン８２１を押下すると、ステップ５０８へ進む。
【００２６】
ステップ５０８では、プレビュー表示部４２６により、ステップ５０２と同様、ユーザによるボタン操作の内容によって処理の切り分けがなされる。［次へ］ボタン８２１の押下が検出された場合は、ファイル名入力欄８０１に表示中のファイル名（ファイル名として設定された文字列）の情報がアップロード指示部４２７へ送られ、ステップ５０９へ進む。一方、［戻る］ボタン８２０の押下が検出された場合は、ステップ５０１（スキャン設定画面の表示）へ戻る。
【００２７】
ステップ５０９では、アップロード指示部４２７により、スキャン画像データの転送先を設定するためのＵＩ画面（以下、「アップロード設定画面」と呼ぶ。）が、操作部２２０のタッチパネルに表示される。ユーザは、このアップロード設定画面を介して、ファイルサーバ１２０へのアップロードに関する詳細設定を行う。図９は、アップロード設定画面の一例を示す図である。ユーザは、［フォルダパス］入力欄９０１に、ファイルサーバ１２０へ外部転送する際のフォルダパスの名称（パス名）を入力する。図９の例では、“2017_04_04”がパス名として入力されている。入力方法としては、例えばフォルダパス入力欄９０１へのタップ操作に応じてキーボード画面のサブウインドウ（不図示）を表示し、ユーザに、当該キーボード画面を介してパス名を入力させる方法がある。あるいは、ＨＤＤ２１４内に保持するアドレス帳の中から選択して設定できるようにしてもよい。［戻る］ボタン９２０は、アップロードに関する詳細設定を中止する場合に用いるボタンである。［アップロード］ボタン９２１は、［フォルダパス］入力欄９０１で設定したフォルダパスへのアップロードを指示するためのボタンである。
【００２８】
ステップ５１０では、アップロード指示部４２７により、ステップ５０８と同様、ユーザによるボタン操作の内容によって処理の切り分けがなされる。［アップロード］ボタン９２１の押下が検出された場合は、ステップ５１１へ進む。その際、フォルダパス入力欄９０１に入力されたパス名、ステップ５０７で生成されたファイル名、ファイルサーバ設定の各情報が、アプリケーション転送部４２４へ渡される。ここで、ファイルサーバ設定は、ファイルサーバ１２０にスキャン画像データを格納するために必要な情報であり、具体的には、ホスト名、フォルダパスの起点、ログイン用のユーザ名とパスワードといった情報を含む。一方、［戻る］ボタン９２０の押下が検出された場合は、ステップ５０６（プレビュー画面の表示）へ戻る。
【００２９】
ステップ５１１では、アプリケーション転送部４２４により、スキャン画像データの格納先パスが、アップロード指示部４２７から受け取った情報に基づき生成される。具体的には、ファイルサーバ設定（ファイルサーバ１２０のホスト名、フォルダパスの起点）にフォルダパスを加えて生成される。これにより、例えば“\\server01\Share\2017_04_04”といった格納先パスが生成される。そして、ステップ５１２では、アプリケーション転送部４２４により、ファイルサーバ１２０に対するアクセスが実行される。この際、ファイルサーバ設定に含まれるユーザ名とパスワードをファイルサーバ１２０に送信する。ユーザ名とパスワードを受け取ったファイルサーバ１２０では、認証処理が実行される。
【００３０】
ステップ５１３では、アプリケーション転送部４２４により、ファイルサーバ１２０での認証結果に従って処理の切り分けがなされる。すなわち、ファイルサーバ１２０から認証成功の通知を受信した場合は、ステップ５１４に進む。一方、認証失敗の通知を受信した場合は、本処理を終了する。
【００３１】
ステップ５１４では、アプリケーション転送部４２４により、ステップ５１１で生成された格納先パスが示すフォルダにスキャン画像データが外部転送され、ファイルサーバ１２０内に格納される。
【００３２】
以上が、本実施例に係るスキャン画像の生成からアップロードまでの動作制御の内容である。なお、本実施例では、ステップ５０５及びステップ５０６の各処理を、スキャンによって生成された１ページ分の画像データに対して行うことを想定している。例えば、プレビュー画面８００内に次のページの画像解析を行うためのボタンを設け、その解析によって得られた次ページのプレビュー表示を行って、次ページ以降のブロック領域からファイル名を構成する文字列を設定できるようにしてもよい。
【００３３】
＜ファイル名の生成＞
図１０は、プレビュー表示部４２６におけるファイル名生成処理（ステップ５０７）の詳細を示すフローチャートである。以下、図１０のフローに沿って説明する。
【００３４】
ステップ１００１では、タッチパネル上に表示されたプレビュー画面８００へのユーザによるタッチ操作の有無が監視される。タッチ操作が検出されるとステップ１００２へ進む。続くステップ１００２では、タッチ操作の内容によって処理の切り分けがなされる。タッチ操作の内容が、［次へ］ボタン８２１または［戻る］ボタン８２０の押下であった場合は、本処理を終了する。［次へ］ボタン８２１または［戻る］ボタン８２０の押下ではなかった場合は、ステップ１００３へ進む。
【００３５】
ステップ１００３では、タッチ操作がなされたタッチパネル上の位置座標（x,y）が取得される。続くステップ１００４では、タッチ操作された位置座標が、いずれかの行領域と重なるかどうかが判定される。例えば、タッチ操作された位置座標が、プレビュー領域８１０に表示された各行領域の内側（行領域の四隅を表す位置座標で特定される矩形の内側）に含まれるかどうかで判定する。タッチ操作された位置座標がいずれかの行領域と重なっている場合は、ステップ１００５へ進む。一方、重なっていない場合は、ステップ１００１に戻る。
【００３６】
ステップ１００５では、画像解析部４２５によって、タッチ操作された行領域の二値画像がＯＣＲ処理に適した画像状態かどうかを判定し、適した状態でなければ新たな二値画像を生成する処理（二値画像状態判定処理）が実行される。先に述べたとおり、ステップ５０５の画像解析処理における二値化は、領域分割が可能なレベルでの処理速度を優先した高速な二値化であり、この後行うＯＣＲ処理に適した二値画像が得られているとは限らない。よって、ＯＣＲ処理に先立って、ユーザがタッチ操作した行領域における二値画像の状態を判定し、必要であれば精度を優先した二値化処理を行なって、ＯＣＲ処理に適した２値画像を生成することとしている。図１１は、二値画像状態判定処理の詳細を示すフローチャートである。以下、図１１のフローに沿って説明する。
【００３７】
ステップ１１０１では、上述の行領域情報に基づき、タッチ操作された行領域内にの文字枠のサイズ（幅及び高さ）情報が取得される。本実施例では、タッチ操作された行領域自身の文字枠のサイズ情報に加え、当該行領域が属するブロック領域内にある他の行領域（タッチ操作されていない行領域）内の文字枠のサイズ情報を含めて取得する。その理由は、日本語などの東アジア言語は、複数のパーツから成り立っている文字が少なくないためである。例えば、平仮名の“い”や、漢字の“社”はいずれも2つのパーツから成り立っている。このような文字を単純に投影ヒストグラムの谷の部分で分割すると、2つの縦長のパーツに分割されてしまう。そこで、ユーザ選択に係る行領域が属するブロック領域に含まれるすべての文字枠のサイズ情報を用いることで、算出対象の文字枠の母集団を増やし、より正確に文字幅を推定することとしている。なお、英語などの言語であれば、ユーザ選択に係る行領域内に存在する文字枠のサイズ情報のみを取得すれば足りることになる。
【００３８】
ステップ１１０２では、取得したすべての文字枠のサイズ情報を用いて、全文字枠における縦横比の平均値が算出される。ここで、文字枠の縦横比を求める理由を説明する。まず、文字枠が縦長であった場合は、文字の掠れによって細分化されてしまった可能性がある。一方、文字枠が横長であった場合は、文字の潰れによって文字間が密着してしまっている可能性がある。そこで、タッチ操作された行領域について、文字枠の縦横比を求め、その比率が１：１以外であれば、二値画像の状態はＯＣＲ処理に適さない状態であると判断できる。なお、本ステップでは、既に領域分割処理で得られている文字枠のサイズ情報を用いるので、新たな解析を行う必要がなく、高速な判定が可能となる。
【００３９】
ステップ１１０３では、ステップ１１０２で求めた文字枠の縦横比の平均値に基づき、読み取った文字に潰れや掠れが生じているかどうか（その可能性が高いかどうか）が判定される。上述のとおり、文字が掠れて文字枠が過度に分割されている場合は、文字枠の比率は縦長になる。一方、文字が潰れてしまっている場合は、文字間のスペースがなくなって文字同士が密着するので、文字枠の比率は横長になる。この特性を利用し、文字の潰れや掠れの発生の有無を判断する。詳細には、主要なフォントにおける文字枠の縦横比の平均値を予め保持しておき、当該平均値と近い（例えば差分が15％以内）かどうかで判断する。文字に潰れや掠れが生じていない（その可能性が低い）と判定された場合は、ステップ１１０７に進む。一方、文字に潰れや掠れが生じている（その可能性が高い）と判定された場合は、ステップ１１０４へ進む。
【００４０】
ステップ１１０４では、タッチ操作された行領域内の任意の文字枠を対象にＯＣＲ処理が実行される。この処理は、文字同士が密着するほどではないが、文字内部が潰れてしまっているケースを考慮したものである。よって、文字枠の縦横比に基づく判定で問題がない場合でも、タッチ操作された行領域内の任意の文字枠に対してＯＣＲ処理を実行し、文字認識結果の信頼度に基づき、二値画像の状態を判定するようにしている。なお、任意の文字枠の数は少数（1個ないしは数個）でよい。
【００４１】
ステップ１１０５では、ステップ１１０４のＯＣＲ処理によって得られた文字認識結果の信頼度が高いかどうかが判定される。ＯＣＲ処理では、予め様々な文字についての特徴量（パターン）が登録された辞書データを用いて、入力文字と特徴量が一致する文字を辞書データの中から見つけることにより特定の文字を認識する。したがって、特徴量が一致する割合が高いほど、認識結果が正しい（特定された文字が正解である可能性が高い）ことになる。そして、文字に掠れや潰れがあるほど、この一致率は低下する傾向にある。そこで、文字認識結果における特徴量の一致率を信頼度とし、その値が低ければＯＣＲ処理に適さない二値画像、その値が高ければＯＣＲ処理に適した二値画像であると判断する。なお、この信頼度は、使用するＯＣＲエンジンに依存する。このため、使用するＯＣＲエンジンから実験的に求めた基準となる信頼度の値（例えば、95％以上といった所定の閾値）を予め保持しておき、ステップ１１０４で得られた文字認識結果の信頼度と閾値との比較処理によって、信頼度が高いかどうかの判定を行う。文字認識結果の信頼度が閾値以上であればステップ１１０６に進み、閾値未満であればステップ１１０７に進む。
【００４２】
ステップ１１０６では、ステップ５０５における画像解析時に生成（領域分割処理に先立って生成）した二値画像を、ＯＣＲ処理でもそのまま用いることが決定される。一方、ステップ１１０７では、処理速度よりも精度を優先した二値化手法を用いて、ＯＣＲ処理に適した二値画像が生成される。こうして新たに生成された二値画像が、画像解析時の二値画像に代えて、次のＯＣＲ処理で用いられることになる。ここで、精度を優先した二値化手法は、例えば、複数の閾値を用いる手法であって局所的（8×8画素のブロック単位など）に閾値を変化させて二値画像を生成する適応二値化手法や、濃度勾配が強いところ（エッジ）を抽出する手法などがある。なお、この際の対象範囲は、ユーザがタッチ操作した行領域のみでよい。二値化処理の対象範囲を行領域に限定することで、使用するメモリ量を削減して処理速度を上げることができる。なお、精度優先の二値化手法を適用する際は、ユーザ選択された行領域から所定の範囲内も含めて処理対象として、適応的に二値化していくようにしてもよい。このようにすれば、行領域の周囲の画像の情報も参照しながら二値化閾値を決定していくことが可能になる。
【００４３】
以上が、二値画像状態判定処理の内容である。図１０のフローの説明に戻る。
【００４４】
ステップ１００６では、タッチ操作された行領域の二値画像（ステップ１１０６で決定された二値画像又はステップ１１０７で再生成された二値画像）に対してＯＣＲ処理が実行され、当該行領域内の文字列が抽出される。そして、ステップ１００７では、ファイル名入力欄８０１に現在表示中のファイル名の文字列がまず取得され、当該文字列に区切り文字（例えばハイフン“−”）を付加した上で、その後ろにステップ１００６で抽出した文字列が追加される。なお、ファイル名入力欄８０１が空（文字列が未入力）の場合は、区切り文字を付加せずに、抽出した文字列をそのまま追加する。こうして、得られた文字列が、続くステップ１００８で、ファイル名入力欄８０１に表示（自動入力）される。図１２に具体例を示す。いま、プレビュー領域８１０において図示された順に行領域がタッチ操作されたとする。この場合、ファイル名入力欄８０１には「見積書−株式会社川崎総合研究所」の文字列が表示されることになる。これに合わせ、プレビュー領域８１０におけるタッチ操作された行領域の表示態様を変更（例えば網掛にしたり、色を変えたり）してもよい。
【００４５】
以上が、本実施例に係る、ファイル名生成処理の内容である。
【００４６】
＜変形例＞
上述の実施例では、領域分割向けに生成した二値画像がＯＣＲ処理に適しているかどうかの状態判定を行い、二値画像の状態がＯＣＲ処理に適していない場合だけ、ユーザ選択に係る行領域に対して二値化処理を再度行っていた。このような二値画像の状態判定を行うことなく、ユーザ選択に係る行領域に対しては一律に、高精度の二値化処理を行なうようにしてもよい。この場合、後続のＯＣＲ処理に対する影響を考慮する必要がなくなるので、領域分割向けの二値化処理においてより簡易かつ高速な手法を採用することが可能となる。
【００４７】
本実施例によれば、スキャン画像の解析（領域分割）段階では、処理速度を優先した二値化手法によって二値画像を生成する。一方、ＯＣＲ処理の段階では、ユーザ選択された行領域について精度を優先した二値化手法を用い、ＯＣＲ処理に適した二値画像を生成するようにしている。これにより、スキャン画像から文字情報を取得する際の、プレビュー表示の高速化とＯＣＲ処理における文字認識精度の向上との両立が可能になる。
【実施例２】
【００４８】
次に、画像内の行領域に対してＯＣＲ処理を順次行なう態様を、実施例２として説明する。なお、実施例１と共通する内容については説明を省略するものとし、以下では差異点であるファイル名生成処理を中心に説明を行うものとする。
【００４９】
図１３は、本実施例に係る、プレビュー表示部４２６におけるファイル名生成処理（ステップ５０７）の詳細を示すフローチャートである。以下、図１３のフローに沿って詳しく説明する。
【００５０】
ステップ１３０１では、タッチパネル上に表示されたプレビュー画面８００へのユーザによるタッチ操作の有無が監視される。タッチ操作が検出されるとステップ１３０２へ進む。一方、タッチ操作が検出されなければ、ステップ１３０４へ進む。
【００５１】
ステップ１３０２では、タッチ先によって処理の切り分けがなされる。タッチ先が、［次へ］ボタン８２１または［戻る］ボタン８２０であった場合は、本処理を終了する。タッチ先がプレビュー領域８１０内に表示中の行領域のいずれかであった場合は、ステップ１３０へ進む。タッチ先がその他のボタンであった場合は、ステップ１３０３に進む。
【００５２】
ステップ１３０３では、タッチ先のボタンに応じた処理が実行される。例えば、タッチ先が「↓」ボタン８１２であれば下方向へ表示領域をスクロールし、「−」ボタン８１４であれば表示領域をズームアウトする。以降のステップ１３０４〜ステップ１３０９までの各処理は、プレビュー表示部４２６からの指示に基づき画像解析部４２５において実行される。
【００５３】
ステップ１３０４では、現在のプレビュー領域８１０の範囲（現プレビュー範囲）における表示領域の情報が取得され、必要に応じて更新される。すなわち、後述のステップ１３０９でＯＣＲ処理の一括実行が開始されている場合、現時点でＯＣＲ処理が済んだ行領域をハイライト表示（網掛け、枠や色の変更等）するなどして、未済のものと識別できるように表示態様が変更される。また、ステップ１３０３で表示領域のスクロールや拡大・縮小といった処理がなされていれば、当該処理後の現プレビュー範囲内における表示領域を基に、行領域の表示態様の変更がなされる。なお、ユーザが何も操作していなければ、前述の初期設定に従った表示領域（例えばA4縦・横書き原稿のスキャン画像であれば、その幅方向全体が収まるよう上詰めで表示）の情報が、現プレビュー範囲の情報として取得されることになる。
【００５４】
ステップ１３０５では、現プレビュー範囲内にＯＣＲ処理が未済の行領域が存在するかどうかが判定される。現プレビュー範囲の内側にＯＣＲ処理が未済の行領域が存在する場合は、ステップ１３０６に進み、現プレビュー範囲内に存在する行領域のうち、ＯＣＲ処理が未済の行領域の情報（以下、「ＯＣＲ未済一覧」と呼ぶ。）が取得される。このとき、現プレビュー範囲の内と外（境界）に跨っている行領域も、ＯＣＲ処理が済んでいなければその対象となる。また、現プレビュー範囲に一定程度マージンを持たせるようにしてもよい。すなわち、現プレビュー範囲の周辺範囲までを、“現プレビュー範囲”として扱ってもよい。これにより、ユーザがプレビューの表示領域をある程度スクロールさせても、現プレビュー範囲の周辺に存在する行領域であればＯＣＲ処理が既済となっているので、速やかにファイル名入力欄８０１に文字列が反映されることになる。このように、現プレビュー範囲にマージンを持たせる手法は、例えばプレビューを拡大表示している時やタッチパネル自体が小さい場合に有効である。判定の結果、現プレビュー範囲内に、ＯＣＲ処理が未済の行領域が存在しない場合は、ステップ１３０７に進む。
【００５５】
ステップ１３０７では、現プレビュー範囲外にＯＣＲ処理が未済の行領域が存在するかどうかが判定される。現プレビュー範囲の外側にＯＣＲ処理が未済の行領域が存在する場合は、ステップ１３０８に進み、現プレビュー範囲外に存在する行領域のうち、ＯＣＲ処理が未済の行領域の情報（ＯＣＲ未済一覧）が取得される。一方、ＯＣＲ処理が未済の文行領域が存在しない場合は、ステップ１３０１に戻る。
【００５６】
ステップ１３０９では、ステップ１３０６又はステップ１３０８で取得したＯＣＲ未済一覧の中の所定の行領域に対し、ＯＣＲ処理の一括実行（以下、「ゾーンＯＣＲ」と呼ぶ）が開始される。ここで、所定の行領域は、例えば行領域の位置座標やサイズを基準とした、予め定めた条件に従って決定される。行領域の位置座標に基づく条件としては、例えば、y座標が小さいものを第１優先、x座標が小さいものを第２優先とし、上位３つの行領域をゾーンＯＣＲの対象にする、といったものが考えられる。また、行領域のサイズに基づく条件としては、例えば、サイズが大きいものほど高い優先順位とし、上位３つの行領域をゾーンＯＣＲの対象にする、といったものが考えられる。ここで例示したように、ゾーンＯＣＲの対象を決定するための条件は、ユーザや管理者によって演算リソース等を考慮して決定される。なお、ゾーンＯＣＲはバックグラウンドで処理され、その実行開始と共にステップ１３０１に戻る。図１４は、ゾーンＯＣＲの詳細を示すフローチャートである。以下、図１４のフローに沿って、ゾーンＯＣＲについて説明する。
【００５７】
ステップ１４０１では、ＯＣＲ未済一覧の中から、注目する行領域（以下、「注目行領域」）が１つ選択される。続くステップ１４０２では、注目行領域に対してＯＣＲ処理が実行される。そして、ステップ１４０３では、実施例１における図１１のフローのステップ１１０５と同様、ＯＣＲ処理によって得られた文字認識結果の信頼度が高いかどうかが判定される。文字認識結果の信頼度が高い（閾値以上）場合はステップ１４０６に進み、低い（閾値未満）の場合はステップ１４０４に進む。ステップ１４０４では、実施例１における図１１のフローのステップ１１０７と同様、精度を優先した二値化手法を用いて、ＯＣＲ処理に適した二値画像が生成される。そして、続く１４０５では、ステップ１４０４で生成した二値画像を用いて、注目行領域に対してＯＣＲ処理が再度実行される。ステップ１４０６では、ＯＣＲ未済一覧の中に未処理の行領域があるかどうかが判定される。未処理の行領域があれば、ステップ１４０１に戻って次の注目行領域を選択して処理を続行する。一方、ＯＣＲ未済一覧の中の全ての行領域が処理されていれば、本処理を終える。以上が、ゾーンＯＣＲの内容である。図１３のフローの説明に戻る。
【００５８】
プレビュー領域８１０内に表示中のいずれかの行領域へのタッチ操作が検出された場合のステップ１３１０では、タッチ操作に係る行領域へのＯＣＲ処理が既に済んでいるかどうかが判定される。判定の結果、ＯＣＲ処理が既済の場合は、ステップ１３１５に進む。一方、ＯＣＲ処理が未済の場合は、ステップ１３１１に進む。
【００５９】
ステップ１３１１では、上述のゾーンＯＣＲが実行中であるかどうかが判定される。ゾーンＯＣＲが実行中であれば、ステップ１３１２にてゾーンＯＣＲの実行が中止される。一方、ゾーンＯＣＲが実行中でなければステップ１３１３に進み、前述の二値画像状態判定処理（前述の図１１のフローを参照）が実行される。すなわち、タッチ操作された行領域の二値画像がＯＣＲ処理に適した画像状態かどうかの判定を行い、必要に応じて精度を優先した二値化処理を行なって、ＯＣＲ処理に適した二値画像を生成する。そして、ステップ１３１４では、タッチ操作された行領域に対し、必要に応じて精度の高い二値化手法で生成された二値画像を用いてＯＣＲ処理が実行される。
【００６０】
ステップ１３１５では、タッチ操作された行領域についての、ステップ１３１４で抽出された文字列又はゾーンＯＣＲによって抽出済みの文字列が取得される。そして、ステップ１３１６では、ファイル名入力欄８０１に現在表示中のファイル名が取得され、そこにステップ１３１５で取得した文字列が追加されて、ファイル名の構成要素として新たに設定される。そして、ステップ１３１７では、現時点で設定されている文字列が、ファイル名入力欄８０１に表示（自動入力）される。
【００６１】
以上が、本実施例に係る、ファイル名生成処理の内容である。
【００６２】
本実施例によれば、ユーザが所望の行領域をタッチした時点で、当該行領域に対するＯＣＲ処理が済んでいれば、抽出済みの認識文字列を速やかに表示することが可能になる。これにより、ファイル名等の設定をより効率よく行なうことが可能となる。
【００６３】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2019057174.tif 000003
【図２】
2019057174.tif 000004
【図３】
2019057174.tif 000005
【図４】
2019057174.tif 000006
【図５】
2019057174.tif 000007
【図６】
2019057174.tif 000008
【図７】
2019057174.tif 000009
【図８】
2019057174.tif 000010
【図９】
2019057174.tif 000011
【図１０】
2019057174.tif 000012
【図１１】
2019057174.tif 000013
【図１２】
2019057174.tif 000014
【図１３】
2019057174.tif 000015
【図１４】
2019057174.tif 000016