以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また以下の実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
[第1実施形態]
<画像処理システムの構成>
図1は、第1実施形態例に係る画像処理システムの全体構成の一例を示すブロック図である。画像処理システムは、MFP110とファイルサーバ120とを備える。MFP110とファイルサーバ120は、LAN(Local Area Network)を介して互いに通信可能に接続されている。
MFP(Multi Function Peripheral)110は、スキャナやプリンタといった複数の機能を有する複合機であり、画像処理装置の一例である。ファイルサーバ120は、電子化された文書ファイルの保存や管理をする外部サーバの一例である。本実施形態の画像処理システムは、MFP110とファイルサーバ120とからなる構成としているがこれに限定されない。例えば、MFP110がファイルサーバ120の役割を兼ね備えてもよい。また例えば、LANに代えてインターネットなどを介してMFP110とファイルサーバ120とが接続されていてもよい。また、MFP110は、PSTN(Public Switched Telephone Networks)を介して、ファクシミリ装置(不図示)との間で画像データをファクシミリ通信することができる。
図2は、MFP110のハードウェア構成の一例を示すブロック図である。MFP110は、制御部210、操作部220、プリンタ部221、スキャナ部222、及びモデム223を有する。制御部210は、CPU211、ROM212、RAM213、HDD214、操作部I/F215、モデムI/F218、及びネットワークI/F219を有し、MFP110全体の動作を制御する。
CPU211は、ROM212に記憶された制御プログラムを読み出して、スキャン機能やプリント機能、通信機能などMFP110が有する各種機能を実行するとともに、それら各種機能を制御する。RAM213は、CPU211の主メモリ、ワークエリア等の一時記憶領域として用いられる。なお、本実施形態では1つのCPU211が1つのメモリ(RAM213またはHDD214)を用いて後述のフローチャートに示す各処理を実行するものとするが、これに限定されない。例えば、複数のCPUや複数のRAMまたはHDDを協働させて各処理を実行させてもよい。HDD214は、画像データや各種プログラムを記憶するハードディスクドライブである。操作部I/F215は、操作部220と制御部210とを接続するインタフェースである。操作部220には、タッチパネルやキーボードなどが備えられており、ユーザによる操作や入力、指示などを受け付ける。プリンタ部I/F216は、プリンタ部221と制御部210とを接続するインタフェースである。印刷用の画像データはプリンタ部I/F216を介して制御部210からプリンタ部221へ転送され、記録媒体上に印刷される。スキャナ部I/F217は、スキャナ部222と制御部210とを接続するインタフェースである。スキャナ部222は、不図示の原稿台やADF(Auto Document Feeder)にセットされた原稿を読み取って画像データを生成し、スキャナ部I/F217を介して制御部210に入力する。MFP110は、スキャナ部222で生成された画像データをプリンタ部221から印刷出力(コピー)する他、ファイル送信またはメール送信することができる。モデムI/F218は、モデム223と制御部210とを接続するインタフェースである。モデム223は、PSTN上のファクシミリ装置との間で画像データをファクシミリ通信する。ネットワークI/F219は、制御部210(MFP110)をLANに接続するインタフェースである。MFP110は、ネットワークI/F219を用いてLAN10上の外部装置(ファイルサーバ120など)に画像データや情報を送信したり、各種情報を受信したりする。
図3は、ファイルサーバ120のハードウェア構成の一例を示すブロック図である。ファイルサーバ120は、CPU311、ROM312、RAM313、HDD314及びネットワークI/F315を有する。CPU311は、ROM312に記憶された制御プログラムを読み出して各種処理を実行することで、ファイルサーバ120全体の動作を制御する。RAM313は、CPU311の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD314は、画像データや各種プログラムを記憶するハードディスクドライブである。ネットワークI/F315は、ファイルサーバ120をLANに接続するインタフェースである。ファイルサーバ120は、ネットワークI/F315を用いてLAN上の他の装置(MFP110など)との間で各種情報を送受信する。
図4は、MFP110のソフトウェア構成の一例を示すブロック図である。MFP110は、ネイティブ機能モジュール410とアディショナル機能モジュール420とを有する。ネイティブ機能モジュール410に含まれる各部はMFP110に標準的に備えられたものであるのに対し、アディショナル機能モジュール420の各部はMFP110に追加インストールされたアプリケーションである。アディショナル機能モジュール420は、Java(登録商標)をベースとしたアプリケーションであり、MFP110への機能追加を容易に実現できる。なお、MFP110には図示しない他のアディショナル機能モジュール(追加アプリケーション)がインストールされていても良い。
ネイティブ機能モジュール410は、スキャン実行部411および画像データ保存部412を有する。アディショナル機能モジュール420は、スキャン指示部421、メタデータ生成部422、画像解析部423、アップロード実行部424、ファイル生成部425、表示制御部426、および帳票情報保持部427を有する。
表示制御部426は、MFP110の操作部220の液晶表示部に、ユーザによる操作や入力、指示などを受け付けるためのUI(ユーザインタフェース)画面を表示する。UI画面の詳細については後述する。なお、本実施形態における操作部220の液晶表示部は、タッチパネル機能を有する。したがって、以下において、操作部220の液晶表示部を単にタッチパネルと表現する場合がある。
スキャン指示部421は、表示制御部426を介して入力されるユーザ指示に従い、該ユーザ指示に含まれるスキャン設定や転送設定の情報とともに、スキャン実行部411にスキャン処理を要求する。
スキャン実行部411は、スキャン指示部421からのスキャン設定を含んだスキャン要求を受け取る。スキャン実行部411は、スキャナI/F217を介してスキャナ部222で、原稿上の画像を読み取ることでスキャン画像データを生成する。スキャン実行部411は生成したスキャン画像データを画像データ保存部412に送る。このとき、スキャン実行部411は、保存したスキャン画像データを一意に示すスキャン画像識別子をスキャン指示部421に送る。画像データ保存部412は、スキャン実行部411から受け取ったスキャン画像データをHDD214に保存する。
スキャン指示部421は、スキャン実行部411から受け取ったスキャン画像識別子に対応するスキャン画像データを画像データ保存部412から取得する。スキャン指示部421は、取得したスキャン画像データのメタデータの生成をメタデータ生成部422に要求する。このとき、スキャン指示部421は、スキャン画像識別子をメタデータ生成部422に渡す。メタデータは、スキャン画像データに関連する情報であり、例としては、スキャン画像データに付与されるファイル名が挙げられる。以下、本実施形態では、メタデータが、ファイル名である場合を例に説明する。
メタデータ生成部422は、スキャン画像データの解析指示を画像解析部423に送る。画像解析部423は、メタデータ生成部422からの解析指示に基づき、スキャン画像データに対して画像解析(レイアウト解析処理やOCR処理(文字列認識処理))を行う。画像解析部423は、スキャン画像データを画像解析して得られる領域情報を解析結果として、メタデータ生成部422に送る。表1には、領域情報の一例が示されている。領域情報は、スキャン画像データに含まれる文字領域や表領域などの各領域について、領域を識別するための番号と、領域のX座標、Y座標、幅、及び高さと、領域の種類とを示す情報を格納する。ここで、文字領域とは、画像解析によって文字列と推認された領域であり、表領域とは、画像解析によって表と推認された領域である。なお、画像データからテキストや表を検出する方法については広く知られているため、説明を省略する。また、表1には、説明の簡単のため、スキャン画像データ内の一部の領域のみが記載されている。
画像解析部423は、今回の画像解析で得られた領域情報と、以前の画像解析(過去に行われた画像解析)で得られた各領域情報のそれぞれとを比較する。なお、以前の画像解析で得られた各領域情報は、帳票情報保持部427によって保持される。また、帳票情報保持部427が保持する各領域情報には、後述するように、ステップS508の処理(ファイル名の生成処理)においてユーザが選択した文字領域を特定可能な、選択情報が付加される。以降、領域情報に選択情報を付加した情報を帳票情報(または文書情報)と呼ぶ。画像解析部423は、上記比較を行った結果、今回の画像解析で得られた領域情報と類似する領域情報が帳票情報保持部427に格納されていると判断した場合には、さらに、類似する領域情報に選択情報が付加されているかを確認する。類似する領域情報に選択情報が付加されている場合には、画像解析部423は、選択情報と該選択情報で指定された文字領域(以下、選択文字領域と呼ぶ)をOCR処理して得られる文字列とを、画像解析の解析結果に含ませてメタデータ生成部422に送る。これらの処理にいての詳細は、図5を用いて後述する。なお、画像解析の解析結果は、メタデータ生成部422を介して、表示制御部426にも送られる。
また、メタデータ生成部422は、UI画面を介して入力されるユーザ指示と、画像解析部423の解析結果とに基づいて、メタデータ(本実施形態ではファイル名)を生成する。メタデータ生成部422は、スキャン画像識別子および生成したメタデータをアップロード実行部424に送る。そして、メタデータ生成部422は、アップロード実行部424に対して、ファイルサーバ120へのスキャン画像データのアップロードを指示する。
さらに、メタデータ生成部422は、表示制御部426に表示指示を送る。表示制御部426は、メタデータ生成部422からの表示指示に基づき、MFP110の操作部220のタッチパネルに、ファイル名を生成するための操作、入力、および指示を受け付けるためのUI画面(例えば、後述する図7(a))を表示する。また、表示制御部426は、メタデータ生成部422からの表示指示に基づき、スキャン画像データのプレビュー画像をUI画面に表示する。
アップロード実行部424は、表示制御部426にUI画面の表示指示を送る。表示制御部426は、フォルダパス設定とアップロードの操作、入力、及び指示とをユーザから受け付けるためのUI画面(例えば、後述する図9)を表示する。また、アップロード実行部424は、ユーザからのアップロード指示を受け、該指示に従って、ファイル生成部425に対してスキャン画像識別子が示すスキャン画像データのファイル生成を指示する。
ファイル生成部425は、指示されたスキャン画像識別子に対応するスキャン画像データを画像データ保存部412から取得し、ファイルサーバ120に送信するファイルを生成する。
アップロード実行部424は、フォルダパス設定と、メタデータ生成部422により生成されたファイル名とを用いてファイルサーバ120に接続し、ファイル生成部425により生成されたファイルを送信する。アップロード実行部424は、アップロードが完了すると、アップロードが完了したことを表示制御部426に通知する。表示制御部426は、アップロード実行部424からの通知を受けて、表示内容を更新する。アップロード実行部424は、SMB(Server Message Block)クライアント機能を有する。これにより、アップロード実行部424は、SMBサーバ機能を有するファイルサーバ120に対してSMBを用いてファイル及びフォルダ操作を行うことができる。なお、SMBの他に、WebDAV(Distributed Authoring and Versioning protocol for the WWW)が使用可能である。また、FTP(File Transfer Protocol)やSMTP(Simple Mail Transfer Protocol)等も使用可能である。また、それ以外にファイル送信目的以外のSOAPやREST(Representational State Transfer)等も使用可能である。
図5は、MFP110がスキャンした原稿(帳票)の画像データをファイルサーバ120に転送する動作を示すフローチャートである。図5に示す各動作は、MFP110のCPU211がHDD214に記憶された制御プログラムを実行することにより実現される。以下では、図5を用いて、スキャン処理を2回実施する場合の動作について説明する。なお、本実施形態では、実施2回目において、実施1回目でスキャンされた原稿に類似する原稿(すなわち、1回目にスキャンされた原稿と同様のフォーマットの原稿)がスキャンされるものとする。すなわち、実施2回目は、類似する領域情報を含む帳票情報(類似帳票情報)が帳票情報保持部427に保持された状態で行われるものとする。なお、実施1回目は、帳票情報保持部427に類似帳票情報が保持されていない状態で行われるものとする。
まず、実施1回目について説明する。ステップS501において、スキャン指示部421は、スキャン処理における各種設定を行うためのスキャン設定画面の表示を表示制御部426に指示する。表示制御部426は、スキャン設定画面を操作部220のタッチパネルに表示する。図6は、スキャン設定画面の一例を示す図である。[カラー設定]ボタン601は、原稿をスキャンする際のカラーまたはモノクロを設定するためのボタンである。[解像度設定]ボタン602は、原稿をスキャンする際の解像度を設定するためのボタンである。[両面読み取り設定]ボタン603は、原稿の両面をスキャンしたい場合に用いる設定ボタンである。[原稿混載設定]ボタン604は、サイズが異なる原稿をまとめてスキャンしたい場合に用いる設定ボタンである。[画像形式設定]ボタン605は、スキャン画像データの保存形式を指定する際に用いる設定ボタンである。これら設定ボタン601〜605を用いた設定時には、MFP110においてサポートされている範囲で設定可能な候補(選択肢)が表示され、ユーザは表示された候補から望むものを選択する。なお、上述した設定ボタンは一例であって、これらすべての設定項目が存在しなくても良いし、これら以外の設定項目が存在しても良い。ユーザは、このようなスキャン設定画面600を介してスキャン処理について詳細な設定を行う。[キャンセル]ボタン620は、スキャン設定を中止する場合に用いるボタンである。[スキャン開始]ボタン621は、原稿台等にセットした原稿に対するスキャン処理の開始を指示するためのボタンである。
ステップS502において、スキャン指示部421は、[スキャン開始]ボタン621が押されたか、[キャンセル]ボタン620が押されたかを判定する。[スキャン開始]ボタン621が押されたと判定すると、スキャン指示部421は、各設定ボタン601〜605で選択された設定項目に従ったスキャン処理を実行させるためのスキャン指示を、スキャン実行部411に対して送出する。そして、スキャン実行部411において、原稿がスキャンされる(ステップS503)。原稿をスキャンして得られた画像データ(スキャン画像データ)は、画像データ保存部412に保存され、対応するスキャン画像識別子がスキャン指示部421に通知される。一方、[キャンセル]ボタン620が押されたとスキャン指示部421が判定した場合は、処理は終了する。
ステップS504において、スキャン指示部421は、スキャン画像識別子に対応するスキャン画像データを画像データ保存部412から取得する。画像データ保存部412からスキャン指示部421へのスキャン画像データの転送は、例えばFTPも用いて行われる。
ステップS505において、メタデータ生成部422は、ステップS504において画像データ保存部412から取得されたスキャン画像データの解析指示を、画像解析部423に送る。画像解析部423は、スキャン画像データを解析する。そして、解析した結果をメタデータ生成部422に渡す。
ここで、ステップS505における画像解析処理について説明する。図7は、ステップS505の画像解析処理を示すフローチャートである。ステップS701において、画像解析部423は、メタデータ生成部422から受け取ったスキャン画像データを読み込む。
ステップS702において、画像解析部423は、読み込んだスキャン画像データをその後の領域判定や文字列解析を実行しやすい状態に補正する。具体的には、スキャン画像データに対し、画像信号の二値化やスキャン時にずれた原稿の傾きの修正、原稿が正立する方向への回転などを行なって、解析処理を行いやすい状態に補正する。
ステップS703において、画像解析部423は、ステップS702で補正したスキャン画像データを解析して、スキャン画像データ内のどの位置にテキスト、イメージ、表、またはラインの領域が存在するかを判定する。以降、この判定を領域判定と呼ぶ。この領域判定により、上記の表1に示す領域情報が得られる。
ステップS704において、画像解析部423は、ステップS703で得られた領域情報と、後述するステップS518の処理により帳票情報保持部427に保存された各帳票情報に含まれる領域情報とを比較する。そして、画像解析部423は、以前に類似原稿(ステップS503でスキャンした原稿と類似する原稿)を処理したことがあるかどうか判定する。そして、画像解析部423は、以前に類似原稿を処理したことがあると判定した場合には、その類似原稿における選択文字領域を、今回スキャンして得られたスキャン画像データ上に復元するために必要な情報(以下、復元情報と呼ぶ)を生成する。選択文字領域の復元とは、後述するステップS507のプレビュー画面の表示時に、復元情報から特定される文字領域を予め選択状態とするとともに、選択状態とされた文字領域の文字列を今回のスキャン画像データのファイル名に適用することである。
図8は、ステップS704における選択文字領域の復元情報の生成処理を示すフローチャートである。ステップS801において、画像解析部423は、ステップS703で得られた領域情報と、帳票情報保持部427が保持する各帳票情報に含まれる領域情報と比較する。そして、画像解析部423は、ステップS703で得られた領域情報と類似する領域情報を含む帳票情報が、帳票情報保持部427に存在するかどうかを判定する。これにより、以前に類似原稿を処理したことがあるか否かが判定される。実施1回目では、類似する領域情報を含む帳票情報が帳票情報保持部427に保存されていないため(すなわち、以前に類似原稿を処理したことがないため)、ステップS801においてNoと判定され、処理は終了する。ステップS802,S803の処理は、後述する実施2回目のフローで実行される。
図5の説明に戻る。ステップS506において、メタデータ生成部422は、画像解析部423の解析結果である領域情報を取得する。領域情報は、CSVまたはXMLのフォーマットで取得されるものとするが、他のフォーマットであっても構わない。また、領域情報をHDD214に一旦保存した上で、該領域情報を所定のタイミングでメタデータ生成部422が取得する方法でも構わない。
ステップS507において、メタデータ生成部422は、表示制御部426にプレビュー画像の表示を指示する。表示制御部426は、メタデータ生成部422から領域情報(ステップS703の処理で得られた領域情報(表1)に相当)を受け取る。そして、表示制御部426は、メタデータ生成部422から受け取った領域情報と、スキャン指示部421から受け取ったスキャン画像データとを用いて、操作部220のタッチパネルにプレビュー画像を表示する。
図9は、ステップS507におけるプレビュー画像の表示処理を示すフローチャートである。ステップS901において、メタデータ生成部422は、図8に示すステップS802の処理(選択文字領域の取得)が行われているか判定する。そして、行われている場合は(ステップS901のYES)、メタデータ生成部422は、ステップS902の処理に進む。行われていない場合は(ステップS901のNO)、メタデータ生成部422は、ステップS910の処理に進む。実施1回目では、上述したように、類似する領域情報を含む帳票情報が帳票情報保持部427に存在しないため、ステップS802の処理(選択文字領域の取得)は行われていないと判定され、処理はステップS910に進む。ステップS902〜S909の処理は、後述する実施2回目のフローで実行される。
ステップS910において、表示制御部426が、スキャン指示部421から受け取ったスキャン画像データと、メタデータ生成部422から受け取った領域情報とを用いて、プレビュー画像を、図10に示すプレビュー画面1000に表示する。図10は、プレビュー画面の一例を示す図である。図10に示すように、プレビュー画像は、スキャン画像に領域情報を重畳させた画像である。プレビュー画面1000のプレビュー表示領域1010には、プレビュー画像と共に、その表示状態を変更するめのボタン1011〜1014が表示される。ボタン1011及び1012はプレビュー画像(スキャン画像)の全体を表示しきれないときに現れるボタンであり、スキャン画像の表示範囲(プレビュー表示領域1010に表示されるスキャン画像内の領域)を縦方向にスクロールするためのボタンである。MFP110が備えるタッチパネルは通常それほど大きくはない。そこで、例えば、スキャン画像がA4縦かつ横書きの原稿を読み取ったものである場合は、スキャン画像の幅方向(短手方向)全体がプレビュー表示領域1010にちょうど収まるように上詰めで縮小表示されるよう初期設定される。つまり、初期設定においては、A4縦のスキャン画像の下部はプレビュー表示領域1010内に表示されないことになる。したがって、図10(a)では、図16に示す帳票1600をスキャンして得られたスキャン画像の下部は表示されていない。このようなとき、「↓」ボタン1012を押下すると、スキャン画像の表示範囲が下にスクロールされ、スキャン画像の下部を表示させることができる。なお、スキャン画像が例えばA4横やA3などの場合には、スキャン画像の表示範囲を横方向にスクロールするためのボタンをさらに設ければよい。ボタン1013,1014は、スキャン画像の表示範囲を拡大または縮小するためのボタンであり、「+」ボタン1013を押下するとズームインし、「−」ボタン1014を押下するとズームアウトする。これらボタン操作による動作は、プレビュー画面1000上でのスワイプ、ピンチアウト、およびピンチインといったユーザの指による操作で実現されてもよい。
図10(a)において破線の矩形で示される領域1015〜1023は、文字領域を表している。文字領域1015〜1023は、画像解析部423が画像データを解析することで得られる領域情報に従って、プレビュー表示領域1010のスキャン画像上に表示される。文字領域1015〜1023は、プレビュー表示領域1010に表示中のスキャン画像がスクロールや拡大縮小された場合には、それに合わせて表示位置やサイズが変更される。文字領域1015〜1023はユーザによって選択可能であり、ユーザが文字領域をタッチ(選択)した場合、画像解析部423は、タッチされた文字領域に対して文字認識処理を行う。それにより、文字領域にある文字(テキストデータ)が抽出される。領域1024は、表領域を表している。なお、表領域内のテキストもそれぞれ文字領域として扱われるが、本実施形態では説明の簡単のため、表領域1024内のテキストについては文字領域として扱わないものとする。文字認識処理は、例えば文字領域に含まれる画素群と、予め登録されている辞書とをマッチング処理することで、文字(テキストデータ)を認識する処理である。この文字認識処理は、処理に時間を要する場合がある。このため、本実施形態においては、レイアウト解析によって抽出された文字列領域に逐次的に文字認識処理を行わずに、ユーザが所望する文字領域に対して文字認識処理を行うことで、処理の高速化を図っている。表示制御部426は、抽出された文字(テキストデータ)をファイル名表示領域1001に設定する。なお、ファイル名表示領域1001がタッチされた場合に、ソフトウェアキーボード(不図示)をタッチパネル上に表示させて、該キーボードを介したユーザ操作によってファイル名の編集を可能なようにしても良い。
図5の説明に戻る。ステップS508において、メタデータ生成部422は、プレビュー画面1000を介して入力されるユーザ操作に従って、ファイル名の生成処理を行う。図11は、ステップS508における処理を示すフローチャートである。ステップS1101において、メタデータ生成部422は、ユーザが操作部220のタッチパネルにタッチしたかどうかを判定する。タッチされたと判定すると(ステップS1101のYES)、メタデータ生成部422は、ステップS1102の処理に進み、タッチされた位置の座標を取得する。タッチされていないと判定すると(ステップS1101のNO)、メタデータ生成部422は、ステップS1101の処理に戻る。
ステップS1103において、メタデータ生成部422は、タッチされた位置の座標が文字領域と重なるか判定する。タッチされた位置の座標が文字領域と重なるか否かは、タッチされた位置の座標がプレビュー表示領域1010に表示されている文字領域1015〜1023のいずれかに含まれるか否かで判定される。なお、表領域1024内のテキストも文字領域として扱う場合には、表領域1024内の各文字領域も判定対象とされる。タッチされた位置の座標がいずれかの文字領域に含まれる(すなわち、タッチされた位置の座標がいずれかの文字領域と重なる)と判定すると(ステップS1103のYES)、メタデータ生成部422は、該文字領域がユーザによって選択されたと判断する。そして、メタデータ生成部422は、ステップS1104の処理に進む。一方、タッチされた位置の座標がいずれの文字領域とも重ならないと判定すると(ステップS1103のNO)、メタデータ生成部422は、ステップS1109の処理に進む。ステップS1109において、メタデータ生成部422は、[次へ]ボタン1031または[戻る]ボタン1030が押下されたかを判定する。ボタン1031,1032のいずれかが押下されたと判定すると(ステップS1109のYES)、処理を終了して、図5のフローに戻る。一方、ボタン1031,1032のいずれも押下されてないと判定すると(ステップS1109のNO)、メタデータ生成部422は、ステップS1101の処理に戻る。
ステップS1104において、画像解析部423は、メタデータ生成部422の指示に基づき、タッチされた位置の座標と重なる文字領域を解析する。そして、画像解析部423は、解析して得られた文字(テキストデータ)を解析結果としてメタデータ生成部422に渡す。ステップS1105において、メタデータ生成部422は、ファイル名表示領域1001に現在表示中であるファイル名を取得する。ステップS1106において、メタデータ生成部422は、ステップS1105で取得したファイル名の末尾に区切り文字を追加する。本実施形態では、アンダーバー“_”を区切り文字として使用する場合を例にするが、それ以外の文字を区切り文字と使用しても構わない。ステップS1107において、メタデータ生成部422は、ステップS1105,S1106で生成したファイル名に文字領域の文字(テキストデータ)を追加する。なお、実施1回目において、ステップS1105の処理が初めて実行される場合には、ファイル名表示領域1001には何も表示されていない。したがって、その場合には、ステップS1104の処理が実行された後、ステップS1105,S1106の処理がスキップされ、スキップS1107の処理が実行される。
ステップS1108において、メタデータ生成部422は、ステップS1107で生成したファイル名をファイル名表示領域1001に設定し直し、ステップS1101の処理に戻る。これにより、ファイル名表示領域1001に表示中のファイル名が、ステップS1107で生成されたファイル名に更新される。なお、ステップS1107で生成したファイル名の中に、転送先のファイルサーバで使用できない文字が含まれている場合は、ファイル名表示領域1001に設定する際に該当する文字を除去するようにしても良い。また、該当する文字を転送先のファイルサーバで使用可能な文字に差し替えるようにしても良い。
ここで、実施1回目において、プレビュー画面1000の文字領域1015と文字領域1021とが順に選択されたとする。図10(b)における格子状の網掛け領域は、既にユーザがファイル名に用いるべき領域としてタッチ(選択)した領域を示す。その場合、プレビュー画面1000は、図10(b)に示されるような状態となる。つまり、ファイル名表示領域1001にファイル名「見積書_R12−3456」が表示された状態となる。さらに、「↓」ボタン1012を押下して、スキャン画像の表示範囲を下に移動させ、スキャン画像の下部をプレビュー表示領域1010に表示させた状態で文字領域1027を選択した場合、プレビュー画面1000は、図10(c)に示される状態となる。図10(c)では、図16に示す帳票1600をスキャンして得られるスキャン画像の中部から下部までが、プレビュー表示領域1010に表示されている。さらに、図10(c)では、ファイル名表示領域1001内のファイル名が「見積書_R12−3456_川崎株式会社」に更新されている。
なお、本実施形態においては、上記のステップS505〜S508の処理は、原稿の1ページ目のスキャン画像データに対して行われるものとする。しかし、原稿の2ページ目以降のページのスキャン画像データに対して上記のステップS505〜S508の処理を行うようにしても良い。そのような形態を実現するには、例えば、ページを切り替えるためのボタンをプレビュー表示領域1010に用意して、該ボタンを操作することで解析対象とするページをユーザが指定可能なようにすれば良い。そして、ユーザが指定したページに対応するスキャン画像をプレビュー表示領域1010に表示させて、該画像上の文字領域からファイル名を設定できるようにすれば良い。
図5の説明に戻る。ステップS509において、メタデータ生成部422は、[次へ]ボタン1031が押下されたか[戻る]ボタン1030が押下されたかを判定する。[次へ]ボタン1031が押されたと判定すると、メタデータ生成部422は、ステップS510の処理に進む。ステップS510の処理において、メタデータ生成部422は、ファイル名表示領域1001に設定されているファイル名を取得する。メタデータ生成部422は、取得したファイル名とスキャン画像識別子とをアップロード実行部424に渡す。[戻る]ボタン1030が押されたと判定されると、処理はステップS501に戻る。
ステップS511において、アップロード実行部424は、アップロード設定画面を表示する。ユーザは、アップロード設定画面を介して、ファイルサーバ120へのアップロードに関する詳細設定を行う。図12は、アップロード設定画面の一例を示す図である。アップロード設定画面1200において、フォルダパス入力欄1201は、ファイルサーバ120への外部転送先のフォルダパス設定を受け付ける。図12に示す例では、“¥¥Server1¥Share¥ScanData”がフォルダパスとして入力されている。フォルダパス入力欄1201をユーザがタップするとアップロード実行部424は、ソフトウェアキーボード(不図示)を操作部220のタッチパネルに表示する。ユーザは、ソフトウェアキーボードを介してフォルダパスを、フォルダパス入力欄1201に入力する。アップロード実行部424は、フォルダパスの設定を終了する指示を受けると、設定されたフォルダパスを取得し、ソフトウェアキーボードを非表示にする。なお、フォルダパスは、フォルダパス入力欄1201以外から設定可能であってもよい。例えば、MFP110が保持するアドレス帳からフォルダパスを設定可能なようにしても良い。
ステップS512において、アップロード実行部424は、[アップロード]ボタン1221が押下されたか[戻る]ボタン1220が押下されたかを判定する。[アップロード]ボタン1221が押下されたと判定すると、アップロード実行部424は、ステップS513の処理に進む。ステップS513において、アップロード実行部424は、予めHDD214等のメモリに記憶されたファイルサーバ設定を取得する。ファイルサーバ設定には、ファイルサーバ120にログインするためのユーザ名とパスワードが含まれる。[戻る]ボタン1220が押されたと判定された場合には、処理はステップS507に戻る。
ステップS514において、アップロード実行部424は、ファイルサーバ120にアクセスする。このとき、アップロード実行部424は、ステップS513で取得したファイルサーバ設定に含まれるユーザ名とパスワードとをファイルサーバ120に送信し、ファイルサーバ120による認証の結果を受信する。
ステップS515において、アップロード実行部424は、認証が成功したか(ファイルサーバ120にログインできたか)否かを判定する。そして、認証が失敗した場合は(ステップS515のNO)、処理は終了し、認証が成功した場合は(ステップS515のYES)、アップロード実行部424は、ステップS516の処理に進む。ステップS516において、アップロード実行部424は、ステップS510の処理においてメタデータ生成部422から受け取ったスキャン画像識別子に対応するスキャン画像データからファイルを生成する。そして、アップロード実行部424は、生成したファイルを、ステップS511で取得したフォルダパスにアップロードする。
なお、本実施形態では、画像解析により抽出した文字列をファイル名として使用する場合を例にしたが、該文字列をそれ以外の目的で使用することもできる。例えば、文字列に対応する電話番号を特定し、特定した電話番号をあて先として、スキャン画像データをファクス送信することも可能である。また例えば、文字列に対応するメールアドレスを特定して、スキャン画像データをそのメールアドレスをあて先としてメール送信することも可能である。また、本実施形態では、アップロード設定画面1200にて、ユーザにフォルダパスを入力させる場合を例にした。しかし、ファイルサーバ設定にホスト名とフォルダパスの起点とを含ませるようにして、アップロード設定画面1200にて、スキャン画像データを格納するフォルダの名前(フォルダ名)のみをユーザに入力させるようにしても良い。そして、ファイルサーバ設定に含まれるホスト名とフォルダパスの起点と、ユーザが入力したフォルダ名とから、フォルダパスを生成するようにしてもよい。
ステップS517において、画像解析部423は、ステップS506の処理で取得した領域情報と、ステップS508の処理で選択された文字領域を示す選択情報とを帳票情報として、帳票情報保持部427に保存する。表2には、帳票情報保持部427に保存される帳票情報の一例が示されている。
表2において、帳票番号は、帳票情報保持部427に保存される帳票情報ごとに個別に割り当てられる。ここでは、例として1種類目の帳票であることを示す「1」が割り当てられている。また、表2において、選択情報における数字は、ステップS508の処理において各文字領域がユーザによって選択された順番を表している。また、選択情報における「‐」は、該当する文字領域がユーザによって選択されていないことを表している。
次に、実施2回目について説明する。実施2回目では、上述したように、実施1回目でスキャンされた原稿(図16に示す帳票1600)に類似する原稿(図17に示す帳票1700)がスキャンされるものとする。実施2回目におけるステップS501〜S504の処理は、実施1回目と同様であるため説明を省略する。
表3には、実施2回目のステップS505の処理において得られる領域情報の一例が示されている。ここで、表3に示される領域情報と、表2に示される、帳票情報保持部427に保存されている帳票情報に含まれる領域情報(実施1回目のステップS505の処理において得られた領域情報)とを比較する。すると、互いの領域情報の差分は番号8の領域の幅のみであり、その他の領域は重なっていることがわかる。したがって、画像解析部423は、帳票情報保持部427に保存されている上記帳票情報を類似帳票情報であると判定する。よって、実施2回目のステップS801では、画像解析部423は、以前に類似原稿を処理したことがあると判定し(ステップS801のYES)、ステップS802の処理に進む。なお、領域情報を比較する際に、領域情報に含まれる全ての領域について比較を行っても良いし、種類がテキストである領域、すなわち文字領域のみについて比較を行っても良い。また、互いの領域情報が類似するか否かは、比較対象とする領域の総数に対して、互いに重なる領域がどれくらい存在するかを示す割合(類似度)が、予め定めた閾値以上であるか否かに基づいて判定されても良いし、その他の基準に従って判定されても良い。領域情報の類似判定については、本実施形態の主眼ではないため詳細な説明を省略する。
ステップS802において、画像解析部423は、類似帳票情報に含まれる選択情報に基づいて、今回のスキャン画像データ(図17に示す帳票1700をスキャンして得られるスキャン画像データ)における文字領域の中から復元候補領域を決定する。具体的には、画像解析部423は、表3に示す各文字領域から、類似帳票情報(表2に示す帳票情報)において選択情報に番号が格納されている文字領域と最も重複する文字領域を特定し、特定した文字領域を復元候補領域に決定する。ここでは、表3に示す番号「1」,「3」,「13」の領域がそれぞれ、表2において選択情報に「1」,「2」,「3」が格納されている文字領域と最も重複する領域であると特定される。
ステップS803において、画像解析部423は、選択文字領域の復元情報を生成する。具体的には、画像解析部423は、ステップS802で決定した復元候補領域について文字認識処理を行う。実施1回目では、ステップS506の処理において、メタデータ生成部422は、表1に示すような、領域ごとの座標と大きさとを示す領域情報を、画像解析部423から取得していた。一方、実施2回目では、ステップS506の処理において、メタデータ生成部422は、領域情報に選択情報と文字認識結果とを加えて得られる復元情報(表4に示す情報)を、画像解析部423から取得する。
ステップS507において、メタデータ生成部422は、表示制御部426にプレビュー画面の表示を指示する。表示制御部426は、スキャン指示部421から受け取ったスキャン画像データと、メタデータ生成部422から受け取った復元情報(選択情報と文字認識結果とが加えられた領域情報)とを用いてプレビュー画像を生成する。そして、表示制御部426は、生成したプレビュー画像を操作部220のタッチパネルに表示する。その際、選択情報と文字認識結果とからファイル名を生成し、該ファイル名をプレビュー画面のファイル名表示領域に表示する。さらに、領域情報と選択情報とを用いてスキャン画像の表示範囲を決定する。
ここで、図9を用いて、実施2回目におけるステップS507の処理の詳細を説明する。ステップS901において、メタデータ生成部422は、図8に示すステップS802の処理(選択文字領域の取得)が行われているか判定する。実施2回目では、上述したようにステップS802の処理が行われていて選択文字領域が存在するため(ステップS901のYES)、メタデータ生成部422は、ステップS902の処理に進む。
ステップS902において、メタデータ生成部422は、ステップS802で取得された選択文字領域の文字(テキストデータ)を用いてファイル名の生成処理を行う。具体的には、メタデータ生成部422は、表4に示す「見積書」、「R12−3457」、「川崎株式会社」と区切り文字のアンダーバー“_” とを用いて、ファイル名「見積書_R12−3457_川崎株式会社」を生成する。これにより、類似原稿をスキャンした場合には、ユーザによる選択の手間を省きつつ、適切なファイル名を生成することができる。
ステップS903において、表示制御部426は、ステップS802で取得された選択文字領域全てがプレビュー画面に表示されるようにスキャン画像の表示範囲を決定する。例えば、A4縦の原稿をスキャンして得られたスキャン画像を横長の表示画面に表示する場合、表示画面のサイズによってはスキャン画像が縦(高さ)方向に収まらなくなる。その場合、プレビュー画面に表示されていない文字領域については、それらの文字領域がファイル名に使用されているかどうかを確認するために、画面をスクロール等しなければならず、ユーザの手間が生じる。また、スキャン画像を縮小して画像全体を表示画面に収めようとすると、文字領域のフォントサイズが小さくなってしまい、文字領域内の文字が視認しづらくなる。そこで、本実施形態では、以下で説明するように、全ての選択文字領域がプレビュー画面内に最低限収まるようにスキャン画像の表示範囲(プレビュー表示範囲とも呼ぶ)を決定する。
図13は、ステップS903における処理を示すフローチャートである。ステップS1301において、表示制御部426は、プレビュー画像を表示させる表示画面(ここでは、プレビュー画面1000)のサイズを取得する。なお、このとき、ディスプレイ装置(操作部220のタッチパネル)のサイズを取得するようにしてもよい。そして、表示制御部426は、表示画面が、縦方向(Y座標方向)に長いか横方向(X座標方向)に長いかを判定する。さらに、ステップS1302において、表示制御部426は、スキャン画像の正立方向を判定する。例えば、表示制御部426は、ステップS505における画像解析の解析結果からスキャン画像の成立方向を判定する。
ステップS1303において、表示制御部426は、ステップS1301,S1302の判定結果に基づいて、選択文字領域のX座標とY座標とのいずれを使用してプレビュー表示範囲を導出するかを決定する。例えば、A4縦の原稿をスキャンして得られたスキャン画像を横長の表示画面に表示する場合、縦(高さ)方向については、スキャン画像を表示画面内に収めることができない可能性がある。したがって、そのような場合には、縦(高さ)方向を基準にしてプレビュー表示範囲を導出する必要があるので、表示制御部426は、Y座標を使用すると決定する。A4横の原稿をスキャンして得られたスキャン画像を縦長の表示画面に表示する場合も同様にして、表示制御部426は、X座標を使用すると決定する。
ステップS1304において、表示制御部426は、ステップS1303で決定した座標方向に基づいて、各選択文字領域の座標から最小座標と最大座標を導出する。例えば、Y座標を使用してプレビュー表示範囲を導出すると決定した場合には、表示制御部426は、表4に示す番号「1」,「3」,「13」の3つの選択文字領域のY座標から最小Y座標と最大Y座標とを抽出する。そして、表示制御部426は、抽出した最小Y座標と最大Y座標とから縦(高さ)方向の表示範囲を導出する。このとき、最小Y座標は番号「1」の「見積書」の「24」であり、最大Y座標は番号「13」の「川崎株式会社」の「359」である。表示制御部426は、その最小Y座標と最大Y座標とからY座標の表示範囲を導出し、さらに、スキャン画像の縦横比率が保たれるようにして、X座標の表示範囲を導出する。これにより、スキャン画像のプレビュー表示範囲が導出される。その結果、図14(a)に示すように、最小Y座標の選択文字領域1411の「見積書」と、最大Y座標の選択文字領域1414の「川崎株式会社」とがプレビュー表示領域1410に収まるようにスキャン画像が表示される。なお、選択文字領域の近傍に文字領域が存在する場合、該文字領域が誤って選択文字領域に設定される可能性がある。そのような場合には、その文字領域分のマージンを設けて、選択文字領域の最小座標と最大座標とを導出するようにしてもよい。図14(b)には、最大Y座標の選択文字領域1414の近傍に文字領域1415が存在している場合に導出される、プレビュー表示範囲の一例が示されている。図14(b)に示す例では、文字領域1415のY座標を最大Y座標として、スキャン画像がプレビュー表示領域1410に表示されている。例えば、実施1回目で「PQR事業所」が選択されたにもかかわらず、実施2回目で「川崎株式会社」が選択文字領域に誤って設定されてしまった場合、本来の選択文字領域である「PQR事業所」がプレビュー表示領域1410に表示されなくなる。しかし、上記のようにマージンを設けることで、本来の選択文字領域である「PQR事業所」(文字領域1415)までプレビュー表示領域1410に収めることができ、選択文字領域が誤って設定されていることをユーザに認識させることが可能となる。また、文字領域「PQR事業所」をプレビュー表示領域1410に表示させることにより、ユーザはスクロール等の画面操作をすることなく容易に「PQR事業所」に選択し直すことが可能となる。
このようにプレビュー表示範囲を導出することで、類似原稿の選択文字領域を用いてファイル名を自動生成した場合に、どの文字領域がファイル名に使用されたかを、プレビュー画面に対してスクロール等の操作をすることなく確認することが可能となる。ただし、選択文字領域がスキャン画像の広範囲にわたって存在する場合、プレビュー画像が大幅に縮小され、それに合わせて各選択文字領域のフォントサイズが小さくなり、各選択文字領域の文字を確認することが困難になる。そのため、本実施形態では、後述するステップS904,S905の処理によって選択文字領域のフォントサイズを最適な値に設定する。
ステップS904において、表示制御部426は、ステップS903で決定したプレビュー表示範囲を基に各選択文字領域の文字のフォントサイズを決定する。フォントサイズの決定は、プレビュー表示領域1410のサイズとプレビュー表示範囲のサイズとから各選択文字領域の高さと幅を導出し、導出した高さと幅に基づいて各選択文字領域の文字のフォントサイズが何ポイントかを導出することで行われる。
ステップS905において、表示制御部426は、ステップS904で決定した各選択文字領域のフォントサイズが、予め設定された閾値(例えば10ポイント)以下か確認する。なお、閾値は、アディショナル機能モジュール420において予め定義されていてもよいし、設定画面(図示せず)等でユーザが設定変更可能であってもよい。決定されたフォントサイズが閾値以下である選択文字領域が1つでも存在する場合は(ステップS905のYES)、表示制御部426は、ステップS906の処理に進む。一方、各選択文字領域ともに決定されたフォントサイズが閾値を超えている場合は(ステップS905のNO)、表示制御部426は、ステップS910の処理に進む。
ステップS906において、表示制御部426は、プレビュー表示範囲内から省略可能な領域を決定する。本実施形態では、表示制御部426は、表4に示す各領域の中で種類がテキスト以外の領域で、選択文字領域を含まない領域を省略対象として決定する。表4に示す例では、表の領域(以下、表領域と呼ぶ)である番号「10」の領域が省略対象として決定される。
ステップS907において、表示制御部426は、ステップS906で取得した省略対象の領域の座標を基にスキャン画像の表示範囲を決定する。図14(a)に示す表領域1413を省略した場合、表示制御部426は、図15(a)に示すように、表領域1413を省略したスキャン画像をプレビュー画面に表示する。その際、表示制御部426は、表領域1413が省略されたことが分かるように、「+」マーク1416を表示する。この「+」マーク1416がユーザ操作によってタッチ(選択)された場合、省略された表領域1413が再び表示される。このような省略表示により、ファイル名に使用された選択文字領域がスキャン画像の広範囲にわたる場合でも、選択文字領域の内容を容易に確認することが可能となる。なお、ここでは、Y座標方向に一部の領域を省略する場合を例にしたが、プレビュー画面1400が縦長である場合には、同様にして、X座標方向に一部の領域を削除するようにすればよい。
なお、図14(a)において表領域1413の右側または左側に選択文字領域が存在する場合に図15(a)に示すような省略表示を行うと、それらの選択文字領域がプレビュー画面に表示されなくなってしまう。したがって、表領域1413の最大座標と最小座標(ここでは、最大Y座標と最小Y座標)で示される領域と、いずれかの選択文字領域とが重なっている場合には、表示制御部426は、表領域1413を省略対象として選択しないようにする。また、表4に示す各領域の中にテキスト以外の領域が複数存在する場合がある。そのような場合には、表示制御部426は、選択文字領域のフォントサイズを閾値以上にするために省略すべきY座標方向の長さに応じて、それらの領域の中から1または複数の領域を省略対象として選定する。その際に、領域の種類ごとに優先順位を決めて選定しても良いし、領域の帳票内における位置ごとに優先順位を決めて選定しても良い。例えば、中央に位置する領域を優先して省略対象とするようしても良い。ただし、選択文字領域のフォントサイズが元々小さいスキャン画像では、省略表示を行っても、選択文字領域のフォントサイズを所望の大きさまで拡大させることができない場合がある。そのような場合には、選択文字領域の文字を確認することは依然として困難である。したがって、本実施形態では、後述するステップS908,S909の処理によって選択文字領域の文字を、選択文字領域とは別に設けられた表示領域(ここでは吹き出し)に表示させる。
ステップS908において、表示制御部426は、ステップS907でスキャン画像の表示範囲を決定した後に各選択文字領域のフォントサイズが、あらかじめ設定された閾値以下か確認する。フォントサイズが閾値以下である選択文字領域が1つでも存在する場合は(ステップS908のYES)、表示制御部426は、ステップS909の処理に進む。各選択文字領域ともにフォントサイズが閾値を超えている場合は(ステップS908のNO)、表示制御部426は、ステップS910の処理に進む。
ステップS909において、フォントサイズが閾値以下の選択文字領域の文字列の吹き出し情報を生成する。吹き出し情報は、図15(b)に示すように、フォントサイズが閾値以下である選択文字領域(ここでは、選択文字領域1414)に対して、吹き出し1417を表示するための情報である。図15(b)には、省略表示後においても選択文字領域1414のフォントサイズが閾値以下である例が示されている。吹き出しは、プレビュー表示領域1410においてスキャン画像の前面に表示され、且つ、選択文字領域の近傍に表示される。吹き出しは、通常、文字領域が存在しない箇所に表示されるが、選択文字領域の近傍に文字領域が存在しない箇所がない場合には選択文字領域の右側に表示されるものとする。その他の選択文字領域1411,1412についてはフォントサイズが閾値を超えているため、吹き出しは表示されない。このような吹き出し表示により、ファイル名に使用された各選択文字領域がスキャン画像の広範囲にわたって配置されている場合でも、選択文字領域の内容を容易に確認することが可能となる。
ステップS910において、表示制御部426は、スキャン画像データと領域情報とを用いて、ステップS902〜S909の処理結果に応じたプレビュー画像を生成する。ステップS909で吹き出し情報が生成されている場合には、表示制御部426は、吹き出し情報も用いてプレビュー画像の生成を行う。そして、表示制御部426は、生成したプレビュー画像を操作部220のタッチパネルに表示する。
以上のように、本実施形態では、図9に示される表示制御によって、すべての選択文字領域がプレビュー表示範囲に収まるようにしつつ、各選択文字領域の文字が適切なフォントサイズで表示されるようにしている。これにより、プレビュー画面1400が表示された初期の状態において、各選択文字領域がプレビュー表示領域1410に表示される。したがって、ファイル名の生成に用いられた文字を確認するために画面操作をする必要がなくなり、ユーザの手間を省くことが可能となる。また、省略表示や吹き出し表示により各選択文字領域の文字を適切なフォントサイズで表示するようにしているので、ユーザは各選択文字領域の内容を確認しやすくなる。なお、図10(a)に示す初期設定の表示状態において、最小Y座標と最大Y座標の選択文字領域がプレビュー表示範囲に収まっている場合には、ステップS902〜ステップS909の処理をスキップして、ステップS910の処理に移行するようにしても良い。また、ステップS507における処理の順序は、図9に示される順序に限定されない。例えば、ステップS905でYESと判定された後に、ステップS909,S910の処理を実行して、処理を終了するようにしても良い。
また、本実施形態では、ステップS517の処理において、帳票情報を帳票情報保持部427に保存している。しかし、実施1回目でスキャンした帳票に類似する帳票が実施2回目でスキャンされた場合であって、且つファイル名に使用する文字領域の選択状態が実施1回目と実施2回目とで変わらない場合がある。そのような場合には、実施2回目のステップS517では帳票情報を帳票情報保持部427に保存しないようにしても良い。一方、ファイル名に使用する文字領域の選択状態が実施2回目で変更されている場合には、帳票情報保持部427に保存している帳票情報のうち、少なくとも選択情報を修正するようにしても良い。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。