(57)【要約】      （修正有）【課題】スキャン画像に対し再スキャンが必要な状況であれば、登録前に再スキャンをユーザに促すことができる画像処理装置、画像処理方法及びプログラムを提供する。【解決手段】画像処理方法であって、「スキャン開始」ボタンの押下の通知を表示制御部から受けたスキャン制御部は、スキャン実行部に対してスキャン処理の実行Ｓ１９０１を指示する。連携サービスリクエスト部は、スキャン制御部を介してスキャン画像データを取得し、ＭＦＰ連携サーバにその解析リクエストと共に送信するＳ１９０２。リクエストＩＤを取得した連携サービスリクエスト部は、処理ステータスの取得リクエストをリクエストＩＤと共にＭＦＰ連携サーバに送信するＳ１９０３。連携サービスリクエスト部が、ＭＦＰ連携サーバから送られてくるレスポンスを受信するＳ１９０４。受信したレスポンスに応じて、次に行う処理を決定するＳ１９０５。【選択図】図１９
2020198547.tif 000002
【特許請求の範囲】
【請求項１】
原稿台に載置された複数の原稿をスキャンしてスキャン画像を生成する生成手段と、
前記生成手段で生成された前記スキャン画像から前記複数の原稿それぞれに対応する原稿画像を得て各原稿画像から特定の文字列を抽出する解析処理の実行を、画像処理手段に対して指示する指示手段と、
前記解析処理の結果に基づき、前記各原稿画像のうち特定の原稿画像に対応する原稿について、前記スキャンの再実行をユーザに促すユーザインタフェース画面を表示手段に表示する表示制御手段と、
を備え、
前記特定の原稿画像は、前記特定の文字列の抽出に失敗した可能性がある原稿画像である
ことを特徴とする画像処理装置。
【請求項２】
前記画像処理手段においては、前記スキャン画像に対するマルチクロップ処理が実行され、当該マルチクロップ処理によって得られたクロップ画像が原稿単位の画像でない場合、前記クロップ画像を原稿単位の画像に分割することにより前記原稿画像を得ることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像処理手段において、前記分割によって得られた原稿画像に、前記スキャン時に原稿同士が重なることで生じた第１の領域が存在する場合、前記抽出に失敗した可能性があると判定されることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記画像処理手段において、前記第１の領域のサイズが閾値以上である場合に、前記抽出に失敗した可能性があると判定されることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記画像処理手段において、
前記特定の文字列の抽出は、キーとして予め指定された文字列を検出し、検出した文字列の周囲から、当該キーに対応するバリューとしての文字列を抽出することによって実現され、
前記第１の領域と前記原稿画像における前記キーの文字列または前記バリューの文字列との位置関係に基づいて、前記抽出に失敗した可能性があるかどうかが判定される
ことを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記画像処理手段において、さらに、前記分割によって得られた原稿画像に対応する原稿のフォーマットを特定し、当該特定されたフォーマットに応じた前記キーの文字列及び前記バリュー文字列の位置情報を取得し、当該取得した位置情報から前記第１の領域と前記キーの文字列または前記バリューの文字列の少なくとも一部とが重複していると判定される場合に、前記抽出に失敗した可能性があると判定されることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記画像処理手段において、前記スキャン画像に対するマルチクロップ処理が実行され、当該マルチクロップ処理によって得られた前記原稿画像に、前記スキャン時に原稿が折れることで生じた第２の領域が含まれる場合、前記抽出に失敗した可能性があると判定されることを特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記画像処理手段において、前記第２の領域のサイズが閾値以上である場合に、前記抽出に失敗した可能性があると判定されることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記画像処理手段において、
前記特定の文字列の抽出は、キーとして予め指定された文字列を検出し、検出した文字列の周囲から、当該キーに対応するバリューとしての文字列を抽出することによって実現され、
前記第２の領域と前記原稿画像における前記キーの文字列または前記バリューの文字列との位置関係に基づいて、前記抽出に失敗した可能性があるかどうかが判定される
ことを特徴とする請求項７に記載の画像処理装置。
【請求項１０】
前記画像処理手段において、さらに、前記マルチクロップ処理によって得られた前記原稿画像に対応する原稿のフォーマットを特定し、当該特定されたフォーマットに応じた前記キーの文字列及び前記バリューの文字列の位置情報を取得し、当該取得した位置情報から前記第２の領域と前記キーの文字列または前記バリューの文字列の少なくとも一部とが重複していると判定される場合に、前記抽出に失敗した可能性があるかどうかが判定されることを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記画像処理装置は、ネットワークを介して外部装置と接続され、
前記画像処理手段は、前記外部装置が備える、
ことを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記画像処理手段をさらに備えることを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理装置。
【請求項１３】
原稿台に載置された複数の原稿をスキャンしてスキャン画像を生成する生成ステップと、
前記生成ステップにて生成された前記スキャン画像から前記複数の原稿それぞれに対応する原稿画像を得て各原稿画像から特定の文字列を抽出する解析処理の実行を、画像処理手段に対して指示する指示ステップと、
前記解析処理の結果に基づき、前記各原稿画像のうち特定の原稿画像に対応する原稿について、前記スキャンの再実行をユーザに促すユーザインタフェース画面を表示手段に表示する表示制御ステップと、
を含み、
前記特定の原稿画像は、前記特定の文字列の抽出に失敗した可能性がある原稿画像である
ことを特徴とする画像処理方法。
【請求項１４】
コンピュータを、請求項１乃至１２のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャン画像のマルチクロップ処理に関する。
【背景技術】
【０００２】
現在、複数の領収書をまとめてスキャンした画像をクラウドサービス上でマルチクロップ処理して領収書単位の画像を取得し、そこから日付や金額といった特定の文字列を抽出して各画像と紐付けてデータベースに登録する経費精算システムが存在する。画像と紐付けて登録される特定文字列は「バリュー情報」とも呼ばれ、ユーザは、データベースにアクセスして登録済みのバリュー情報を確認することができる。そして、バリュー情報が誤って登録されている場合は、それに紐付いている画像を参照して手動で正しい値に修正することも可能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１３０８１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
スキャナ装置にて複数の原稿を同時にスキャンする際、原稿台上に載置した原稿が原稿台カバーを降ろした拍子に動いてしまい、原稿同士が重なってしまうことがある。原稿同士が重なってしまうと、マルチクロップ処理によって原稿単位の正しい画像が得られないので、ユーザは原稿を載置し直して、改めてスキャンを行う必要がある。このような問題に対しては、マルチクロップ処理によってスキャン画像から切り出した画像の中に原稿同士が重なって読み取られた画像が存在する場合に自動で原稿単位の画像に分割する技術が提案されている（特許文献１）。
【０００５】
ここで、載置した領収書に重なりが生じていても日付や金額に関する重要部分が隠れていない場合は、上述の特許文献１の技術を利用することで、分割によって得られた各画像からバリュー情報を抽出することが可能である。また、データベースにアクセスして、登録済みの画像を参照しながら、それに紐付いているバリュー情報の誤りを修正することもできる。しかしながら、原稿同士の重なりによって重要部分が隠れてしまっている場合は、上記特許文献１を適用してスキャン画像を分割しても、得られた画像から必要なバリュー情報を抽出することができない。また、この場合には、データベースにアクセスし、登録済みの画像を参照しながら、それに紐付いているバリュー情報の値を修正することもできない。こうなると、データベース上で登録内容の不備を確認したユーザは、スキャナ装置が設置されている場所まで行って原稿をセットしてスキャンをやり直さなければならない。このような作業はユーザにとって手間であり大きな負担となる。
【課題を解決するための手段】
【０００６】
本開示に係る画像処理装置は、原稿台に載置された複数の原稿をスキャンしてスキャン画像を生成する生成手段と、前記生成手段で生成された前記スキャン画像から前記複数の原稿それぞれに対応する原稿画像を得て各原稿画像から特定の文字列を抽出する解析処理の実行を、画像処理手段に対して指示する指示手段と、前記解析処理の結果に基づき、前記各原稿画像のうち特定の原稿画像に対応する原稿について、前記スキャンの再実行をユーザに促すユーザインタフェース画面を表示手段に表示する表示制御手段と、を備え、前記特定の原稿画像は、前記特定の文字列の抽出に失敗した可能性がある原稿画像である
ことを特徴とする。
【発明の効果】
【０００７】
本開示の技術によれば、スキャン画像に対しマルチクロップ処理を行って得られた原稿単位の画像と各画像から抽出したバリュー情報とを紐付けてデータベースに登録する際、再スキャンが必要な状況であれば、登録前に再スキャンをユーザに促すことができる。これにより、登録後になって原稿をスキャンし直さなくても済むようになり、ユーザの利便性が向上する。
【図面の簡単な説明】
【０００８】
【図１】画像処理システムの全体構成を示す図
【図２】ＭＦＰのハードウェア構成を示すブロック図
【図３】ＭＦＰ連携サーバ及び経費精算サーバのハードウェア構成を示すブロック図
【図４】画像処理システムのソフトウェア構成を示すブロック図
【図５】クラウドサービスによって経費精算を行う際の装置間の処理の流れを示すシーケンス図
【図６】メイン画面の一例を示す図
【図７】ログイン画面の一例を示す図
【図８】代理申請対象者リストの一例を示す図
【図９】申請者設定画面の一例を示す図
【図１０】スキャン設定画面の一例を示す図
【図１１】複数の領収書をスキャンする様子を示す図であり、（ａ）は原稿台に領収書を裏返して載置した状態を示す図、（ｂ）はそれを原稿台の内部から見た図
【図１２】（ａ）はリクエストＩＤの一例を示す図、（ｂ）は処理中を表すレスポンスの一例を示す図、（ｃ）はエラーを表すレスポンスの一例を示す図
【図１３】（ａ）は原稿の重なりが生じてもバリュー情報の抽出に成功するケースの説明図、（ｂ）はバリュー情報の抽出に失敗するケースの説明図
【図１４】警告画面の一例を示す図
【図１５】処理完了を表すレスポンスの一例を示す図
【図１６】メタデータ項目情報の一例を示す図
【図１７】メタデータ設定画面の一例を示す図
【図１８】メタデータ設定リクエストと共に送信されるデータの一例を示す図
【図１９】ＭＦＰにおける処理の流れを示すフローチャート
【図２０】ＭＦＰ連携サーバにおける処理の流れを示すフローチャート
【図２１】バリュー情報抽出処理の流れを示すフローチャート
【図２２】（ａ） はクロップ画像の中に複数の原稿の画像領域が含まれている場合の一例を示す図、（ｂ）は画像分割を行った場合の一例を示す図
【図２３】（ａ）は実施形態１に係る遮蔽判定処理の詳細を示すフローチャート、（ｂ）は実施形態２に係る遮蔽判定処理の詳細を示すフローチャート
【図２４】実施形態３に係る遮蔽判定処理の詳細を示すフローチャート
【図２５】原稿の折れによってバリューに相当する文字列が隠れてしまった場合の一例を示す図
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１０】
［実施形態１］
＜システム構成＞
図１は、本実施形態に係る、画像処理システム１００の全体構成を示す図である。画像処理システム１００は、ＭＦＰ（Multi Function Peripheral）１１０と、インターネット上でクラウドサービスを提供するサーバ装置１２０及び１３０とを含む。ＭＦＰ１１０は、インターネットを介してサーバ装置１２０及び１３０と通信可能に接続されている。
【００１１】
ＭＦＰ１１０は、スキャン機能を有する情報処理装置の一例である。ＭＦＰ１１０は、スキャン機能に加え印刷機能やＢＯＸ保存機能といった複数の機能を有する複合機である。サーバ装置１２０及び１３０は、共にクラウドサービスを提供する情報処理装置の一例である。本実施形態のサーバ装置１２０は、ＭＦＰ１１０から受け取ったスキャン画像データに対し所定の画像解析処理を行ったり、別のサービスを提供するサーバ装置１３０に対しＭＦＰ１１０からのリクエストを転送したりするクラウドサービスを提供する。以下、サーバ装置１２０が提供するクラウドサービスを「ＭＦＰ連携サービス」と呼ぶこととする。サーバ装置１３０は、経費精算を効率的に行うためのクラウドサービス（以下、「経費精算サービス」と呼ぶ。）を提供する。経費精算サービスでは、領収書の画像と当該領収書の日付等の付加情報（メタデータ）を関連付けて保存・管理したり、領収書を受領した本人以外がその電子化作業を行う場合に、当該作業を行う者（代理申請者）を設定したりすることができる。以下、ＭＦＰ連携サービスを提供するサーバ装置１２０を「ＭＦＰ連携サーバ」と呼び、経費精算サービスを提供するサーバ装置１３０を「経費精算サーバ」と呼ぶこととする。
【００１２】
図１に示す画像処理システム１００の構成は一例であって、これに限定されない。例えば、ＭＦＰ連携サーバ１２０の機能をＭＦＰ１１０が兼ね備えていてもよい。また、ＭＦＰ連携サーバ１２０はインターネット上ではなくＬＡＮ（Local Area Network）経由でＭＦＰ１１０と接続されていてもよい。また、本実施形態では、電子化作業の対象文書として領収書を例に説明を行うが、対象文書は領収書に限定されるものではない。
【００１３】
＜ＭＦＰのハードウェア構成＞
図２は、ＭＦＰ１１０のハードウェア構成を示すブロック図である。ＭＦＰ１１０は、制御部２１０、操作部２２０、プリンタ部２３０及びスキャナ部２４０で構成される。制御部２１０は、さらに以下の各部２１１〜２１８で構成され、ＭＦＰ１１０全体の動作を制御する。ＣＰＵ２１１は、ＲＯＭ２１２に記憶された様々な制御プログラム（後述のソフトウェア構成図で示す各種機能に対応するプログラム）を読み出して実行する。ＲＡＭ２１３は、ＣＰＵ２１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。なお、本実施例では１つのＣＰＵ２１１が１つのメモリ（ＲＡＭ２１３またはＨＤＤ２１４）を用いて後述のフローチャートに示す各処理を実行するものとするが、これに限定されない。例えば、複数のＣＰＵや複数のＲＡＭまたはＨＤＤを協働させて各処理を実行してもよい。ＨＤＤ２１４は、画像データや各種プログラムを記憶する大容量記憶部である。操作部Ｉ／Ｆ２１５は、操作部２２０と制御部２１０とを接続するインタフェースである。操作部２２０は、タッチパネルやハードキーを備えており、ユーザによる操作／入力／指示を受け付ける。プリンタＩ／Ｆ２１６は、プリンタ部２３０と制御部２１０とを接続するインタフェースである。印刷用の画像データはプリンタＩ／Ｆ２１６を介して制御部２１０からプリンタ部２３０へ転送され、紙等の記録媒体上に印刷される。スキャナＩ／Ｆ２１７は、スキャナ部２４０と制御部２１０とを接続するインタフェースである。スキャナ部２４０は、不図示の原稿台やＡＤＦ（Auto Document Feeder）にセットされた原稿をスキャンして得られた画像（スキャン画像）を、スキャナＩ／Ｆ２１７を介して制御部２１０に入力する。スキャナ部２４０で生成されたスキャン画像のデータは、プリンタ部２３０で印刷したり（コピー出力）、ＨＤＤ２１４に保存したり、ＬＡＮを介して外部装置に送信したりすることができる。ネットワークＩ／Ｆ２１８は、制御部２１０（ＭＦＰ１１０）をＬＡＮに接続するインタフェースである。ＭＦＰ２１０は、ネットワークＩ／Ｆ２１８を用いて、スキャン画像データをＭＦＰ連携サーバ１２０に送信したり、ＭＦＰ連携サーバ１２０から各種データを受信したりする。以上説明したＭＦＰ１１０のハードウェア構成は一例であり、必要に応じてその他の構成を備えるものであってもよいし、一部の構成を有していなくてもよい。
【００１４】
＜サーバ装置のハードウェア構成＞
図３は、ＭＦＰ連携サーバ１２０／経費精算サーバ１３０のハードウェア構成を示すブロック図である。ＭＦＰ連携サーバ１２０と経費精算サーバ１３０は共通のハードウェア構成を有し、ＣＰＵ３１１、ＲＯＭ３１２、ＲＡＭ３１３、ＨＤＤ３１４及びネットワークＩ／Ｆ３１５で構成される。ＣＰＵ３１１は、ＲＯＭ３１２に記憶された制御プログラムを読み出して各種処理を実行することで、全体の動作を制御する。ＲＡＭ３１３は、ＣＰＵ３１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ３１４は、画像データや各種プログラムを記憶する大容量記憶部である。ネットワークＩ／Ｆ３１５は、制御部３１０をインターネットに接続するインタフェースである。ＭＦＰ連携サーバ１２０及び経費精算サーバ１３０は、ネットワークＩ／Ｆ３１５を介して他の装置（ＭＦＰ１１０など）から様々な処理のリクエストを受け、当該リクエストに応じた処理結果を返す。
【００１５】
＜画像処理システムのソフトウェア構成＞
図４は、本実施形態に係る、画像処理システム１００のソフトウェア構成を示すブロック図である。以下、画像処理システム１００を構成するＭＦＰ１１０、ＭＦＰ連携サーバ１２０及び経費精算サーバ１３０それぞれの役割に対応したソフトウェア構成を、順に説明する。なお、以下では、各装置が有する諸機能のうち、原稿としての領収書をスキャンして経費精算を行うまでの処理に関わる機能に絞って説明を行うものとする。
【００１６】
≪ＭＦＰのソフトウェア構成≫
ＭＦＰ１１０の機能モジュールは、ネイティブ機能モジュール４１０とアディショナル機能モジュール４２０の２つに大別される。ネイティブ機能モジュール４１０はＭＦＰ１１０に標準的に備えられたアプリケーションであるのに対し、アディショナル機能モジュール４２０はＭＦＰ１１０に追加的にインストールされたアプリケーションである。アディショナル機能モジュール４２０は、Ｊａｖａ（登録商標）をベースとしたアプリケーションであり、ＭＦＰ１１０への機能追加を容易に実現できる。
【００１７】
ネイティブ機能モジュール４１０は、スキャン実行部４１１およびスキャン画像管理部４１２を有する。また、アディショナル機能モジュール４２０は、表示制御部４２１、スキャン制御部４２２、連携サービスリクエスト部４２３、画像処理部４２４を有する。
【００１８】
表示制御部４２１は、操作部２２０のタッチパネル機能を有する液晶表示部に、ユーザによる各種操作を受け付けるためのユーザインタフェース画面（以下、「ＵＩ画面」と表記）を表示する。各種操作には、例えば、ＭＦＰ連携サーバ１２０へアクセスするためのログイン認証情報の入力、代理申請者が領収書の電子化作業を行う場合の代理申請対象者の選択、スキャン設定、スキャンの開始指示、メタデータの入力などがある。
【００１９】
スキャン制御部４２２は、ＵＩ画面でなされたユーザ操作（例えば「スキャン開始」ボタンの押下）に応じて、スキャン設定の情報と共にスキャン実行部４１１に対しスキャン処理の実行を指示する。スキャン実行部４１１は、スキャン制御部４２２からのスキャン処理の実行指示に従い、スキャナＩ／Ｆ２１７を介してスキャナ部２４０に原稿の読み取り動作を実行させ、スキャン画像データを生成する。生成したスキャン画像データは、スキャン画像管理部４１２によってＨＤＤ２１４に保存される。この際、保存されたスキャン画像データを一意に示すスキャン画像識別子の情報が、スキャン制御部４２２へ通知される。
【００２０】
連携サービスリクエスト部４２３は、ＭＦＰ連携サーバ１２０に対して各種処理のリクエストを行ったり、そのレスポンスを受け取ったりする。各種処理には、例えば、ログイン認証、代理で経費精算できる代理申請対象者リストの取得、複数の領収書をスキャンして得られたスキャン画像データに対する解析処理、メタデータ項目情報の取得、メタデータの設定などが含まれる。ＭＦＰ連携サーバ１２０とのやり取りには例えばＲＥＳＴやＳＯＡＰなどの通信プロトコルが用いられる。
【００２１】
画像処理部４２４は、複数の領収書をスキャンして得られたスキャン画像データに対し所定の画像処理を行って、表示制御部４２１が表示するＵＩ画面で用いられる画像を生成する。所定の画像処理の詳細については後述する。
【００２２】
≪サーバ装置のソフトウェア構成≫
まず、ＭＦＰ連携サーバ１２０のソフトウェア構成について説明する。ＭＦＰ連携サーバ１２０は、リクエスト制御部４３１、画像処理部４３２、経費精算リクエスト部４３３、データ管理部４３４、表示制御部４３５を有する。リクエスト制御部４３１は、外部装置からのリクエストを受信できる状態で待機しており、受信したリクエスト内容に応じて、画像処理部４３２、経費精算リクエスト部４３３、データ管理部４３４に対し所定の処理の実行を指示する。画像処理部４３２は、ＭＦＰ１１０から送られてくるスキャン画像データに対して、マルチクロップ処理、ＯＣＲ処理、バリュー情報抽出処理といった解析処理を行う。経費精算リクエスト部４３３は、経費精算サーバ１３０に対して経費精算サービスに関する各種処理のリクエストを行ったり、そのレスポンスを受け取ったりする。各種処理には例えば、代理申請対象者や経費タイプの一覧取得、マルチクロップ処理に基づき得られる個々の領収書に対応する画像の登録や各画像に対応するメタデータの設定などが含まれる。なお、本明細書では、マルチクロップ処理によってスキャン画像から切り出された画像を「クロップ画像」と呼ぶこととする。また、スキャン対象となった複数の原稿それぞれに対応する画像を「原稿画像」と呼ぶこととする。そして、原稿が領収書であった場合の原稿画像を特に「領収書画像」と呼ぶ場合がある。データ管理部４３４は、サーバ装置１２０で管理するユーザ情報や各種設定データ等を保持・管理する。表示制御部４３５は、インターネット経由で接続されたＰＣやモバイル端末（いずれも不図示）上で動作しているウェブブラウザからのリクエストを受けて、画面表示に必要な画面構成情報（ＨＴＭＬ、ＣＳＳ等）を返す。ユーザは、ウェブブラウザで表示される画面経由で、登録されているユーザ情報を確認したり、スキャン設定を変更したりできる。
【００２３】
次に、経費精算サーバ１３０のソフトウェア構成について説明する。経費精算サーバ１３０は、リクエスト制御部４４１、経費情報管理部４４２、表示制御部４４３を有する。リクエスト制御部４４１は、外部装置からのリクエストを受信できる状態で待機しており、本実施形態においてはＭＦＰ連携サーバ１２０からのリクエストに応じて、経費情報管理部４４２が管理する情報をＭＦＰ連携サーバ１２０に返す。表示制御部４４３は、インターネット経由で接続されたＰＣやモバイル端末（いずれも不図示）上で動作しているウェブブラウザからのリクエストを受けて、画面表示に必要な画面構成情報（ＨＴＭＬ、ＣＳＳ等）を返す。ユーザは、ウェブブラウザで表示される画面経由で、登録されている経費レポートの情報や領収書画像を含む経費情報を確認したりすることができる。
【００２４】
＜画像処理システム全体の処理の流れ＞
図５は、ＭＦＰ１１０で領収書をスキャンし、クラウドサービスによって経費精算を行う際の装置間の処理の流れを示すシーケンス図である。図６はＭＦＰ１１０の起動時に表示されるメインメニューのＵＩ画面（以下、「メイン画面」と表記）の一例を示す図である。経費精算サービスの利用に必要な専用のアプリケーションをＭＦＰ１１０にインストールすることで、メイン画面６００上に「経費精算」ボタン６０１が表示されるようになる。そして、ユーザがメイン画面６００内に表示されたメニューボタンの中から「経費精算」ボタン６０１を押下すると、図５のシーケンス図で示される一連の処理が開始する。以下、図５のシーケンス図に沿って、装置間のやり取りを時系列に説明する。なお、以下の説明において記号「Ｓ」はステップを表す。
【００２５】
ＭＦＰ１１０は、ＭＦＰ連携サーバ１２０にアクセスするためのログイン認証の情報を入力するＵＩ画面（以下、「ログイン画面」と表記）を操作部２２０に表示する（Ｓ５０１）。図７にログイン画面の一例を示す。ユーザが、予め登録されているユーザＩＤとパスワードを、ログイン画面７００上の入力欄７０２及び７０３にそれぞれ入力し「ログイン」ボタン７０１を押下すると、ログイン認証のリクエストがＭＦＰ連携サーバ１２０に送信される（Ｓ５０２）。
【００２６】
ログイン認証のリクエストを受けたＭＦＰ連携サーバ１２０は、当該リクエストに含まれるユーザＩＤとパスワードを用いて認証処理を行う（Ｓ５０３）。認証処理の結果、正規のユーザであることが確認されれば、ＭＦＰ連携サーバ１２０は、アクセストークンをＭＦＰ１１０に返す。以後、ＭＦＰ１１０からＭＦＰ連携サーバ１２０に対して行う各種リクエストの際にこのアクセストークンを一緒に送ることで、ログイン中のユーザが特定される。本実施形態では、ＭＦＰ連携サーバ１２０へのログインの完了によって、経費精算サーバ１３０へのログインも同時に完了するものとする。このためにユーザは、インターネット上のＰＣ（不図示）のウェブブラウザ等を介して、ＭＦＰ連携サービスを利用するためのユーザＩＤと経費精算サービスを利用するためのユーザＩＤとの紐づけを予め行っておく。これにより、ＭＦＰ連携サーバ１２０へのログイン認証に成功すれば同時に経費精算サーバ１３０へのログイン認証も完了し、経費精算サーバ１３０にログインするための操作を省略できる。そして、ＭＦＰ連携サーバ１２０においては、自装置にログインしたユーザからの経費精算サービスに関するリクエストにも対応可能となる。なお、ログイン認証の方法は一般的に公知な手法（Ｂａｓｉｃ認証、Ｄｉｇｅｓｔ認証、OAuthを用いた認可等）を用いて行えばよい。
【００２７】
ログインが完了すると、ＭＦＰ１１０は、代理申請対象者リストの取得リクエストをログインユーザのアクセストークンと共にＭＦＰ連携サーバ１２０に送信する（Ｓ５０４）。代理申請対象者リストとは、経費精算サービスにおいて本人以外の者が領収書の電子化作業を行う場合（代理申請）における、ログインユーザが代理申請者となり得る対象者を規定した名簿情報である。代理申請対象者リストには、例えばログインユーザが所属する部署の同僚など、同一のＭＦＰ１１０を使用する環境にある、自身と一定の関係にある他のユーザが含まれ、例えば管理者等によって予め作成される。代理申請対象者リストの取得リクエストを受信したＭＦＰ連携サーバ１２０は、アクセストークンで特定されるログインユーザの代理申請対象者リストの取得リクエストを、経費精算サーバ１３０に送信する（Ｓ５０５）。代理申請対象者リストの取得リクエストを受けた経費精算サーバ１３０は、ログインユーザについての代理申請対象者リストを読み出してＭＦＰ連携サーバ１２０に返す。そして、ＭＦＰ連携サーバ１２０は、経費精算サーバ１３０から受け取った代理申請者リストをＭＦＰ１１０に送信する。これにより、図８に示すような、ログインユーザが代理申請者となり得る対象者の“UserID”と“UserName”の一覧情報が、ＭＦＰ１１０で取得される。なお、経費精算サーバ１３０で保持している代理申請対象者リストをそのままＭＦＰ１１０に送信してもよいし、フォーマットの全部又は一部を変更して送信してもよい。
【００２８】
代理申請対象者リストを受信したＭＦＰ１１０は、申請者を設定するためのＵＩ画面（以下、「申請者設定画面」と表記）を操作部２２０に表示する（Ｓ５０６）。図９に、申請者設定画面の一例を示す。申請者設定画面９００の選択欄９０２には、代理申請対象者リストに含まれていたユーザ名に、ログインユーザ自身のユーザ名を加えた一覧が選択候補としてプルダウン表示される。ログインユーザは、本人として領収書の電子化作業を行う場合は自身のユーザ名を、代理申請者として第三者の領収書の電子化作業を行う場合は代理申請対象者のユーザ名を選択して、「次へ」ボタン９０１を押下する。
【００２９】
「次へ」ボタン９０１が押下されると、スキャン時の動作条件を設定するＵＩ画面（以下、「スキャン設定画面」と表記）が操作部２２０に表示される（Ｓ５０７）。図１０にスキャン設定画面の一例を示す。スキャン設定画面１０００には、「スキャン開始」ボタン１００１、カラー設定欄１００２、解像度設定欄１００３が存在する。「スキャン開始」ボタン１００１は、原稿台に載置された原稿（本実施形態では、複数の領収書）に対するスキャン処理の開始を指示するためのボタンである。カラー設定欄１００２では、スキャン時のカラーモードを設定する。例えばフルカラーやモノクロといった選択肢の中から指定できるようになっている。解像度設定欄１００３では、スキャン時の解像度を設定する。例えば６００ｄｐｉや１２００ｄｐｉといった選択肢の中から指定できるようになっている。なお、カラーモードと解像度は設定項目の一例であって、これらすべてが存在しなくてもよいし、これら以外の設定項目が存在してもよい。また、カラーモードや解像度に関する選択肢を、経費精算サービスの要求する設定値のみに限定したりしてもよい。ログインユーザは、このようなスキャン設定画面１０００を介してスキャン処理についての詳細な条件設定を行なう。スキャン設定を終えたログインユーザが、ＭＦＰ１１０の原稿台にスキャン対象の領収書をセットし、「スキャン開始」ボタン１００１を押下するとスキャンが実行される（Ｓ５０８）。図１１は、３枚の領有書１１０１〜１１０３をまとめてスキャンする様子を示す図であり（ａ）は読み取り対象となる表面を下（フェイスダウン）にして原稿台上に各領収書が置かれている状態を示し、同（ｂ）はそれを原稿台の内側から見た状態を示している。このようにして複数の領収書が同時にスキャンされる。スキャンの完了後、ＭＦＰ１１０は、スキャンによって得られた画像データを、その解析リクエストと共にＭＦＰ連携サーバ１２０に送信する（Ｓ５０９）。
【００３０】
スキャン画像の解析リクエストを受けたＭＦＰ連携サーバ１２０では、リクエスト制御部４３１が画像処理部４３２に対し、マルチクロップ処理を含む解析処理の実行を指示する（Ｓ５１０）。その際、リクエスト制御部４３１は、受信した解析リクエストを一意に特定可能なリクエストＩＤをＭＦＰ１１０に返す。図１２（ａ）にリクエストＩＤの一例を示す。一方、解析処理の実行指示を受けた画像処理部４３２は、スキャン画像に対する解析処理を実行する（Ｓ５１１）。この解析処理においては、まず、マルチクロップ処理が実行される。そして、マルチクロップ処理によって検出した個々の原稿に対応する画像領域に対して、回転処理、文字認識（ＯＣＲ）処理、バリュー情報抽出処理、原稿種別検知処理が施される。具体的には、まず、個々の原稿に対応する各画像領域が斜めになっている場合に原稿の各辺が水平または垂直な状態となるように修正する。そして、修正後の各画像領域に対してＯＣＲ処理を行って文字情報を特定する。そして、各画像領域から日付や金額といった特定の文字列の情報（バリュー情報）を抽出する。例えば合計金額を抽出する際には、文字列“合計”をキーとして用い、その周囲にある対応する文字列（例えば“￥100”）をバリューとして抽出する。さらに、原稿種別の検知を行って、各画像領域に対応する原稿の種類を特定する。こうして得られた解析結果は、リクエスト制御部４３１に渡される。
【００３１】
上記解析処理が行われている間、ＭＦＰ１１０は、上述のリクエストＩＤを使用して、ＭＦＰ連携サーバ１２０に対して定期的（例えば３秒毎など）に処理状況の問合せを行う（Ｓ５１２〜Ｓ５１２’）。この問合せは、ＭＦＰ連携サーバ１２０からの解析処理の完了レスポンスが取得できるまで繰り返し実行される。ＭＦＰ連携サーバ１２０は、処理状況の問合せを受けると、リクエストＩＤに対応する解析処理の進行状況を確認し、完了していない場合は処理中を表すレスポンス（図１２（ｂ）を参照）を返す。そして、原稿同士の重なりによって、バリュー情報の抽出失敗の可能性がある場合には、エラーの発生を表すレスポンス（図１２（ｃ）を参照）を返す。ここで、原稿の重なりによってバリュー情報の文字列の抽出に失敗するケースの具体例を説明する。いま、バリュー情報として合計金額に対応する文字列を抽出するものとする。図１３（ａ）は、原稿の重なりが生じてもバリュー情報の抽出に成功するケース、同（ｂ）は原稿の重なりが生じた結果、抽出に失敗するケースをそれぞれ示している。図１３（ａ）のケースの場合、「Ａ商店」の領収書の上に「Ｂ交通」の領収書が重なっているが、キーに対応する文字列“合計”及びバリューに対応する文字列“￥432”が隠れていない。よって、「Ｂ交通」の領収書だけでなく「Ａ商店」の領収書についても問題なくバリュー情報を抽出することができる。一方、図１３（ｂ）のケースでは、「Ｂ交通」の領収書によって「Ａ商店」の領収書におけるバリューに対応する文字列“￥432”が隠れてしまっており、バリュー情報を抽出することができない。こうした図１３（ｂ）のような原稿の重なりによってキーやバリューの文字列が隠れている（その可能性が高い）と判断される場合に、ＭＦＰ連携サーバ１２０は、上述の図１２（ｃ）に示すエラーレスポンスをＭＦＰ１１０に返す。この際、原稿の重なりによるバリュー情報の抽出失敗の虞があると判断された領収書画像のデータもＭＦＰ１１０に併せて送信される。ＭＦＰ連携サーバ１２０における解析処理の詳細については後述する。
【００３２】
上記エラーレスポンスを受け取った場合、ＭＦＰ１１０は、ユーザに対してバリュー情報の抽出失敗の虞がある旨を警告して原稿の再スキャンを促すＵＩ画面（以下、「警告画面」と呼ぶ）を操作部２２０に表示する（Ｓ５１３）。図１４に、警告画面の一例を示す。警告画面１４００の画像表示領域１４１０には、対象の領収書画像が縮小処理されてプレビュー表示され、その下部には、バリュー情報の抽出に失敗した可能性がある旨と再スキャンの要否を確認するメッセージが表示されている。「再スキャン」ボタン１４０１は、スキャンを再実行するためのボタンである。原稿台上の原稿を置き直す等してユーザが「再スキャン」ボタン１４０１を押下すると、スキャン処理が再実行され、これによって得られたスキャン画像（以下、「再スキャン画像」と呼ぶ。）に対して解析処理が実行される（Ｓ５１４）。ここではＳ５１４を１つの処理として表現しているが、その中身は、前述のＳ５０８〜Ｓ５１２の各処理で構成される。つまり、スキャン処理の再実行後には再スキャン画像の解析リクエストが送信され、ＭＦＰ連携サーバ１２０にてその解析処理が実行される。再スキャンの必要がない場合、ユーザは「キャンセル」ボタン１４０２を押下する。この場合、スキャン処理は再実行されることなく、解析処理の継続を指示するリクエストがＭＦＰ連携サーバ１２０に対して送られる。この継続リクエスト受けてＭＦＰ連携サーバ１２０では、残りの解析処理が再開される。
【００３３】
解析処理が完了すると、ＭＦＰ連携サーバ１２０は、完了を表すレスポンス（図１５を参照）を返す。図１５に示すとおり、処理完了時のレスポンスには、ステータス情報に加え、スキャン画像の解析結果の情報を含む。図１５は、前述の図１１に対応しており、３枚の領収書をスキャンして得られたスキャン画像の解析結果の情報が示されている。まず、“Status”には、完了を表す内容の文字列（completed）が入る。“Images”には、マルチクロップ処理で検知した原稿に対応するクロップ画像それぞれについて、“ImageID”、“ContentsType”、“ReceiptData”の各情報が格納される。“ImageID”は、例えばＵＲＬやＵＲＬパラメータを用いた文字列で表された、各原稿画像を識別するＩＤ情報である。このImageIDを指定して取得リクエストをＭＦＰ連携サーバ１２０に送信することで、特定の原稿画像を取得できる。“ContentsType”は、検知した原稿の種類を示す。例えば、「領収書」の場合は“Receipt”、「名刺」の場合は“BusinessCard”、「免許証」の場合は“DriverLicense”などの文字列となる。“ReceiptData”は、“ContentsType”が領収書を示す“Receipt”であった場合に追加で含まれる情報であり、バリュー情報抽出処理によって得られた日付を表す“Date”と合計金額を表す“Amount”の値が格納されている。“Points”は、スキャン画像のどの領域に原稿があったかを示す座標情報である。座標情報は、スキャン画像の左上隅を原点（ｘ，y）＝（0，0）として、先頭から順に、各原稿画像の左上隅、右上隅、右下隅、左下隅の各位置を示している。
【００３４】
解析処理の完了レスポンスを受信した後、ＭＦＰ１１０は、最初に表示する領収書の原稿画像のImageIDを指定して、ＭＦＰ連携サーバ１２０に画像取得リクエストを送信する（Ｓ５１５）。画像取得リクエストを受けて、ＭＦＰ連携サーバ１２０は、ImageIDに対応する原稿画像のデータをＭＦＰ１１０に返す。この原稿画像は、回転処理によって正しい向きになっている。
【００３５】
次に、ＭＦＰ１１０は、メタデータ項目情報の取得リクエストをＭＦＰ連携サーバ１２０に送信する（Ｓ５１６）。メタデータ項目情報とは、各原稿画像と対応付けて登録されるメタデータ項目の内容（例えば領収書の使用目的など）を記した一覧情報である。図１６にメタデータ項目情報の一例を示す。“ExpenseTypes”には、その領収書の使用目的を表す定義値として、“ID”と“Name”の各文字列が含まれる。ＭＦＰ連携サーバ１２０は、ＭＦＰ１１０からのメタデータ項目情報取得リクエストを受けて、それに対応する取得リクエストを経費精算サーバ１３０に送信して、ログインユーザのメタデータ項目情報を取得する（Ｓ５１７）。ＭＦＰ連携サーバ１２０は経費精算サーバ１３０から取得したメタデータ項目情報をそのままＭＦＰ１１０に返してもよいし、適宜加工したものを返してもよい。例えばＭＦＰ連携サーバ１２０からの取得リクエストを満足するために複数のメタデータ項目情報が必要な場合は、まず、当該複数のメタデータ項目情報の取得リクエストを経費精算サーバ１３０に送信して取得する。そして、ＭＦＰ１１０にレスポンスを返すときはそれぞれのメタデータ項目情報を結合し１つにまとめたものを返してもよい。また、これとは逆に、経費精算サーバ１３０が返したメタデータ項目情報から必要な情報を間引いたものを返してもよい。
【００３６】
メタデータ項目情報を受け取ったＭＦＰ１１０は、各原稿画像にメタデータを設定するためのＵＩ画面（以下、「メタデータ設定画面」と表記）をスキャン画像の解析結果に基づいて操作部２２０に表示する（Ｓ５１８）。このメタデータ設定画面は、スキャン画像から切り出された原稿画像の単位（ここでは領収書画像の単位）で生成され、操作部２２０に表示される。図１７に、メタデータ設定画面の一例を示す。メタデータ設定画面１７００の画像表示領域１７１０には、メタデータの設定対象となる領収書画像が縮小処理されてプレビュー表示される。また、メタデータ設定画面１７００には、ユーザが各種指示を行うための入力要素として様々なボタンが存在する。「次へ」ボタン１７０２又は「戻る」ボタン１７０３は、領収書画像毎に生成されるメタデータ設定画面の表示を切り替えるためのボタンである。「次へ」ボタン１７０２は、次の領収書画像についてのメタデータ設定画面を表示させるためのボタンである。スキャン画像から切り出された領収書画像のうち最後の領収書画像についてのメタデータ設定画面を表示している時は「次へ」ボタン１７０２は非表示状態となる。「戻る」ボタン１７０３は、一つ前の領収書画像についてのメタデータ設定画面を表示させるためのボタンである。スキャン画像から切り出された領収書画像のうち最初の領収書画像についてのメタデータ設定画面を表示しているときは「戻る」ボタン１７０３は非表示状態となる。そして、画像表示領域１７１０の右側に設けられた４つの項目（経費タイプ、取引日、金額、場所）の入力欄１７０４〜１７０７には、表示中の領収書画像における対応する値をそれぞれ入力する。「経費タイプ」入力欄１７０４には、経費タイプの候補が表示され、ユーザは処理対象の領収書に対応する経費タイプを表示中の候補の中から１つ選択する。前述の図１６の例では、“Hotel”や“Car Rental”の文字列の一覧が候補として表示されることになる。「取引日」入力欄１７０５には、処理対象の領収書の取引日を入力する。「金額」入力欄１７０６には、処理対象の領収書の金額を入力する。そして、メタデータ設定画面１７００の初期表示の時点では、プレビュー表示に係る領収書画像についての“ReceiptData”内の“Date”や“Amount”の情報の情報（図１５を参照）がそれぞれ初期値として表示される。このように、完了レスポンスの“ReceiptData”に記載の項目については、メタデータ設定画面の初期表示の時点で、解析処理で得られたバリュー情報が初期値として表示されるので、ユーザは対応する値を入力する手間を省くことできる。場所」入力欄１７０７には、領収書が発行された場所を入力する。この場合において、例えば前述のメタデータ項目情報の取得時に、場所の項目情報を追加で取得するようにし、場所の項目一覧を候補として表示するようにしてもよい。なお、入力欄１７０５〜１７０７に値を手入力する方法としては、例えば対象の入力欄を押下することで画面上にキーボードを表示して、ユーザが任意の数字や文字列を入力できるようにすればよい。
【００３７】
各領収書画像に対して、必要な情報の入力を終えたログインユーザが、メタデータ設定画面１７００内の「送信」ボタン１７０１を押下すると、ＭＦＰ１１０は、メタデータ設定リクエストをＭＦＰ連携サーバ１２０に送信する（Ｓ５１９）。この際、メタデータ設定画面１７００で入力された上記４つの項目（ExpenseTypeID、TransactionDate、Amount、Location）に関するデータが、図１８に示すような形式にてメタデータ設定リクエストと共に送信される。なお、メタデータ設定画面１７００内の「送信」ボタン１７０１については、スキャン画像から切り出されたすべての領収書画像についてのメタデータ設定画面１７００が表示されるまで無効状態としてもよい。また、本実施形態では、１つの領収書画像に対して１つのメタデータ設定画面を表示するようにしているため、スキャン画像内で検知された領収書の数だけメタデータ設定リクエストを送信する必要がある。しかし、複数の領収書画像についてのメタデータ設定リクエストをまとめて送信できるようにしてもよい。
【００３８】
ＭＦＰ１１０からメタデータ設定リクエストを受信したＭＦＰ連携サーバ１２０は、当該リクエストに係る領収書画像の登録リクエストとそのメタデータの設定リクエストを、経費精算サーバ１３０に送信する（Ｓ５２０）。ＭＦＰ連携サーバ１２０から画像登録とメタデータ設定のリクエストを受け取った経費精算サーバ１３０は、当該リクエストに係る領収書画像とそのメタデータを、自装置で管理する経費情報に登録及び設定する処理を行なう。その後、領収書画像の登録とメタデータの設定が完了したことを示すレスポンスをＭＦＰ連携サーバ１２０に返す。そして、経費精算サーバ１３０から上記完了レスポンスを受け取ったＭＦＰ連携サーバ１２０も、同様の完了レスポンスをＭＦＰ１１０に返す。
【００３９】
以上が、画像処理システム全体の処理の流れである。
【００４０】
＜ＭＦＰにおける処理の詳細＞
続いて、図５のシーケンス図におけるＳ５０８〜Ｓ５１３間の処理ついて、ＭＦＰ１１０における動作に着目して説明する。図１９は、この間のＭＦＰ１１０における処理の流れを示すフローチャートである。この一連の処理は、制御部２１０において、ＣＰＵ２１１がＨＤＤ２１４に記憶された制御プログラムを実行することにより実現され、前述のスキャン設定画面１０００での「スキャン開始」ボタン１００１の押下に応答して開始される。以下、図１９に示すフローチャートに沿って詳しく説明する。なお、各処理の冒頭における記号「Ｓ」はステップを意味する。
Ｓ１９０１において、「スキャン開始」ボタン１００１の押下の通知を表示制御部４２１から受けたスキャン制御部４２２は、スキャン実行部４１１に対してスキャン処理の実行を指示する。当該指示を受けてスキャン実行部４１１が、原稿台に置かれた領収書をスキャンする。スキャンによって生成されたスキャン画像データは、画像データ保存部４１２に保存され、当該スキャン画像を特定可能な識別子がスキャン制御部４２１に通知される。この際、スキャンの実行中である旨を示すメッセージ画面（不図示）が操作部２２０上に表示されるようにしてもよい。
【００４１】
Ｓ１９０２において、連携サービスリクエスト部４２３は、スキャン制御部４２１を介してスキャン画像データを取得し、ＭＦＰ連携サーバ１２０にその解析リクエストと共に送信する。当該解析リクエストに基づき、ＭＦＰ連携サーバ１２０では、受信したスキャン画像データに対して、前述の解析処理が実行される。その際、ＭＦＰ連携サーバ１２０のリクエスト制御部４３１からリクエストＩＤが返される。
【００４２】
リクエストＩＤを取得した連携サービスリクエスト部４２３は、Ｓ１９０３において、処理ステータスの取得リクエストをリクエストＩＤと共にＭＦＰ連携サーバ１２０に送信する。当該取得リクエストに基づき、ＭＦＰ連携サーバ１２０は、リクエストＩＤで特定される解析処理の進行状況に応じたレスポンスをＭＦＰ１１０に返す。
【００４３】
Ｓ１９０４では、連携サービスリクエスト部４２３が、ＭＦＰ連携サーバ１２０から送られてくるレスポンスを受信する。そして、Ｓ１９０５では、受信したレスポンスに応じて、次に行う処理が決定される。受信したレスポンスが処理中を示す内容（図１２（ｂ）を参照）であった場合はＳ１９０３に戻り、所定時間（例えば数秒程度）の経過を待って、再び処理ステータスの取得リクエストをＭＦＰ連携サーバ１２０に送信する。受信したレスポンスがエラーを示す内容（図１２（ｃ）を参照）であった場合はＳ１９０６に進む。そして、受信したレスポンスが完了を示す内容（図１５を参照）であった場合は、本フローを抜ける。この際、操作部２０３に、解析処理が正常に終了したことを示すメッセージを表示してもよい。
【００４４】
Ｓ１９０６において、画像処理部４３２は、エラーレスポンスと共にＭＦＰ連携サーバ１２０から送られてきた領収書画像（バリュー情報の抽出失敗の可能性ありと判断された領収書画像）のデータを用いて、前述の警告画面１４００を生成する。そして、Ｓ１９０７において、表示制御部４２１は、Ｓ１９０６で生成された警告画面を操作部２２０に表示する。
【００４５】
以上が、ＭＦＰ１１０の動作に着目した、スキャンの実行から警告画面の表示までの処理の流れである。
【００４６】
＜サーバにおける処理の詳細＞
続いて、図５のシーケンス図におけるＳ５１０〜Ｓ５１２間の処理ついて、ＭＦＰ連携サーバ１２０における動作に着目して説明する。図２０は、この間のＭＦＰ連携サーバ１２０における処理の流れを示すフローチャートである。この一連の処理は、制御部３１０において、ＣＰＵ３１１がＨＤＤ３１４に記憶された制御プログラムを実行することにより実現され、前述のスキャン画像解析リクエスト（Ｓ５０９）の送信を検知すると開始される。以下、図２０に示すフローチャートに沿って詳しく説明する。なお、各処理の冒頭における記号「Ｓ」はステップを意味する。
【００４７】
Ｓ２００１において、リクエスト制御部４３１は、ＭＦＰ１１０から送られてきたスキャン画像データとその解析リクエストを受信する。そして、リクエスト制御部４３１は、画像処理部４３２に対し、スキャン画像の解析を指示する。
【００４８】
Ｓ２００２において、画像処理部４３２は、スキャン画像に対し、マルチクロップ処理を実行する。具体的には、スキャン画像から各原稿（ここでは各領収書）の画像領域を枠エッジ抽出等により検出して、原稿単位の画像を切り出す処理を行う。続くＳ２００３において、画像処理部４３２は、Ｓ２００２で切り出した画像（クロップ画像）に対し、前述のバリュー情報抽出処理を行う。このバリュー情報抽出処理では、クロップ画像が１つの原稿ではなく複数の原稿に対応している場合、クロップ画像を原稿単位の画像に分割する処理も行われる。バリュー情報抽出処理の結果は、リクエスト制御部４３１に渡される。
【００４９】
Ｓ２００４において、リクエスト制御部４３１は、スキャン画像から得られた原稿単位の画像からバリュー情報が正常に抽出されているか（抽出エラーが発生していないか）を判定する。どの原稿画像からもバリュー情報が正常に抽出されている場合はＳ２００５に進んで、前述した解析処理の完了レスポンスをＭＦＰ１１０に送信する。一方、バリュー情報の抽出エラーが発生している場合はＳ２００６に進んで、前述したエラーレスポンスを、抽出エラーに係る原稿画像のデータと共にＭＦＰ１１０に送信する。
【００５０】
以上が、ＭＦＰ連携サーバ１２０の動作に着目した、スキャン画像の解析リクエストの受信から解析処理結果のレスポンス送信までの処理の流れである。
【００５１】
＜バリュー情報抽出処理の詳細＞
続いて、上述の図２０のフローにおけるＳ２００３のバリュー情報抽出処理について詳しく説明する。図２１は、バリュー情報抽出処理の詳細を示すフローチャートである。
【００５２】
Ｓ２１０１では、Ｓ２００２で切り出されたクロップ画像のうち注目するクロップ画像が決定され、当該注目クロップ画像が原稿単位の画像であるかどうかチェックされる。図２２（ａ）は、クロップ画像の中に複数の原稿の画像が含まれている場合の一例である。２枚の領収書が重なった状態の場合、それぞれの領収書の枠エッジを検出することができないために、このようなクロップ画像がスキャン画像から切り出されることになる。そこで、クロップ画像内で複数の原稿が重なっているか否かを、クロップ画像に含まれる頂点の数や枠エッジの形状等に基づいて判定する。例えば、クロップ画像が１枚の領収書の画像のみを含む場合、その１枚の領収書のエッジが検出されているので、頂点の数は４個で、枠エッジの形状は矩形になる。これに対し、図２２（ａ）の例では、2枚の領収書が重なった状態でエッジが検出されるので、頂点の数が９個で、枠エッジの形状は矩形とは異なる歪な形状になっている。このような違いに着目して、原稿の重なりの有無を判断する。なお、原稿の重なり判定の手法はこれに限定されず、例えば、一定以上の長さの線分の数に基づいて判定してもよい。
【００５３】
Ｓ２１０２では、Ｓ２１０１での判定結果に基づき、次の処理が決定される。判定の結果、原稿の重なりは存在せず、注目クロップ画像が原稿単位の画像である場合は、Ｓ２１０７に進む。一方、原稿の重なりが存在し、注目クロップ画像が原稿単位の画像でない場合は、Ｓ２１０３に進む。
【００５４】
Ｓ２１０３では、注目クロップ画像を原稿単位の画像に分割する処理が実行される。画像分割の手法としては、ＯＣＲ処理を行って文字列を抽出してその連続性を基に原稿の上下を判断し、さらに枠エッジの情報に基づき原稿単位の画像に分割するといった公知の手法を適用すればよい。上述の図２２（ａ）に示したクロップ画像の場合、図２２（ｂ）に示すような２枚の原稿画像２２０１及び２２０２に分割されることになる。
【００５５】
Ｓ２１０４では、画像分割処理によって得られた原稿画像それぞれに対して、バリュー情報の抽出に必要なキーやバリューに相当する文字列が他の原稿によって遮蔽されていないかどうかを判定する処理（遮蔽判定処理）が実行される。図２３（ａ）は、本実施形態に係る遮蔽判定処理の詳細を示すフローチャートである。ここで、図２３（ａ）のフローに沿ってその詳細を説明する。
【００５６】
Ｓ２３０１では、分割によって得られた複数の原稿画像のうち注目する原稿画像について、原稿の重なり領域（他の原稿が重なったことでスキャン時に読み取れなかった領域）が存在するかどうか判定される。重なり領域が存在する場合はＳ２３０２に進み、存在しない場合はＳ２３０４に進む。前述の図２２（ｂ）の例では、分割によって得られた２枚の原稿画像のうち、原稿画像２２０１には原稿の重なり領域が存在するが、原稿画像２２０２については原稿の重なり領域は存在しない。本ステップでは、分割によって得られた複数の原稿画像のうち、原稿の重なりによってその一部が欠けている画像が特定されることになる。次に、Ｓ２３０２では、Ｓ２３０１で特定された重なり領域のサイズが、所定の閾値以上であるか否かが判定される。この時、基準となる閾値は、画素数の絶対値を用いて定義してもよいし、スキャンされた原稿の実サイズと比較した時の相対値で定義してもよい。前者の場合は、重なり領域を構成する画素の数が１0000画素以上といったような閾値となり、後者の場合は、元の原稿サイズの5％以上といったような閾値となる。重なり領域のサイズが閾値以上である場合はＳ２３０３に進み、閾値未満である場合はＳ２３０４に進む。そして、Ｓ２３０３では、注目原稿画像は、原稿の重なりによってキーまたはバリューが隠れている可能性のある画像であると判断される。この際、注目原稿画像のデータが、エラーレスポンスと共にＭＦＰ１１０に送信する画像データとしてＲＡＭ２１３に格納される。また、Ｓ２３０４では、注目原稿画像は、キーまたはバリューが隠れている可能性のない画像であると判断される。
【００５７】
以上の処理が、画像分割によって得られたすべての原稿画像について完了すると、図２１のフローチャートに戻る。
【００５８】
Ｓ２１０５では、Ｓ２１０３の画像分割によって得られた各原稿画像についての次の処理が、Ｓ２１０４での遮蔽判定処理に基づき決定される。具体的には、キー又はバリューが隠れている可能性があると判断された原稿画像についてはＳ２１０６に進む。一方、キー又はバリューが隠れている可能性がないと判断された原稿画像についてはＳ２１０７に進む。
【００５９】
Ｓ２１０６では、キー又はバリューが隠れている可能性がある原稿画像について、抽出エラーの判断がなされる。これにより、前述のエラーレスポンスがＭＦＰ１１０に返されることになる。
【００６０】
Ｓ２１０７では、処理対象の原稿画像から、特定のキーに対応するバリューの文字列が抽出される。ここで、処理対象となる原稿画像は、Ｓ２１０２で原稿単位の画像であると判定された注目クロップ画像、或いはＳ２１０３の画像分割によって得られた原稿画像のうちキー又はバリューが隠れている可能性がないと判断された原稿画像である。本ステップでは、まず、処理対象の原稿画像に対してＯＣＲ処理を実行する。次に、ＯＣＲ結果から、キーとして予め指定された文字列（例えば“合計”）を検出し、検出した文字列の周囲から、当該キーに対応するバリューとしての文字列（例えば“￥984”）を抽出する。この場合の“周囲”については特定の周辺領域（例えばキーとして検出された文字列を基準として右側に存在する文字領域など）に限定してもよく、予めユーザによって設定しておけばよい。また、予め指定する特定のキー毎に“周囲”の内容を異ならせてもよい。
【００６１】
Ｓ２１０８では、スキャン画像から切り出されたすべてのクロップ画像について処理が完了したかどうかが判定される。未処理のクロップ画像があればＳ２１０１に戻って、次の注目クロップ画像を決定して処理を続行する。一方、切り出されたすべてのクロップ画像についての処理が完了していれば、本処理を抜ける。
【００６２】
以上が、バリュー情報抽出処理の内容である。なお、上述の遮蔽判定処理（Ｓ２１０４）では、重なり領域のサイズに基づいてキー又はバリューが隠れている可能性を判定したが、例えば重なり領域の存在する場合は一律にキーまたはバリューが隠れている可能性があると判断してもよい。
【００６３】
以上のとおり本実施形態によれば、スキャン時の原稿同士の重なりによって、バリュー情報の抽出に必要な文字列が隠れている可能性がある場合、原稿の再スキャンがユーザに対して促される。これにより、原稿画像にメタデータを付してストレージサーバ等に登録した後になって登録済みの原稿画像の不備に気付き、再び原稿をスキャンし直すということを防ぐことができる。
【００６４】
［実施形態２］
実施形態１においては、原稿の重なり領域のサイズに基づいて、キーまたはバリューが隠れている可能性があるか否かを判定していた。次に、キーやバリューの文字列と重なり領域との位置関係に基づいて判定することで、遮蔽判定処理の判定精度を高める態様を実施形態２として説明する。
【００６５】
図２３（ｂ）は、本実施形態に係る遮蔽判定処理の詳細を示すフローチャートである。なお、実施形態１に係る遮蔽判定処理（図２３（ａ）のフローチャート）と共通の内容についてはその説明を省略ないしは簡略化し、以下では差異点を中心に説明を行うものとする。
【００６６】
Ｓ２３１１では、Ｓ２３０１と同様、分割によって得られた複数の原稿画像のうち注目する原稿画像について、原稿の重なり領域が存在するかどうかが判定される。重なり領域が存在する場合はＳ２３１２に進み、存在しない場合はＳ２３１３に進む。
【００６７】
Ｓ２３１２では、処理対象の原稿画像に対してＯＣＲ処理を実行し、その結果から予め指定されたキーの文字列を検出して、原稿の重なり領域が、検出されたキーの文字列の文字並び方向に存在するか否かが判定される。これは、バリューの文字列の多くが、キーの文字列の文字並び方向に存在することに着目したものである。例えば、キーの文字列が左から右への横書きであって、その延長線上に原稿の重なり領域が存在している場合は、当該キーに対応するバリューの文字列が隠れている可能性が高いと判断する。原稿の重なり領域がキーの文字列の文字並び方向に存在する場合はＳ２３１４に進み、存在しない場合はＳ２３１３に進む。
【００６８】
Ｓ２３１３では、Ｓ２３１２で検出されたキーに対応するバリューの文字列をＯＣＲ結果からさらに検出し、原稿の重なり領域が、キーやバリューの文字列の領域と隣接しているかどうかが判定される。キーやバリューの文字列が検出された位置と原稿の重なり領域とが隣接している場合は、原稿の重なり領域によって、キーやバリューの文字列の一部が隠れてしまっている可能性があるためである。原稿の重なり領域がキーやバリューの文字列の位置に隣接している場合はＳ２３１４へ進み、隣接していない場合はＳ２３１５に進む。
【００６９】
Ｓ２３１４は前述のＳ２３０３と同じであり、Ｓ２３１５はＳ２３０４と同じである。すなわち、Ｓ２３１４では、注目原稿画像は、原稿の重なりによってキーまたはバリューが隠れている可能性のある画像であると判断される。この際、注目原稿画像のデータが、エラーレスポンスと共にＭＦＰ１１０に送信する画像データとしてＲＡＭ３１３に格納される。また、Ｓ２３１５では、注目原稿画像は、キーまたはバリューが隠れている可能性のない画像であると判断される。そして、これらの処理が、画像分割によって得られたすべての原稿画像について完了すると、図２１のフローチャートに戻る。
【００７０】
以上が、本実施形態に係る遮蔽判定処理の内容である。本実施形態の場合、原稿の重なり領域とキーやバリューの文字列との位置関係を考慮することで、より精度の高い遮蔽判定処理を実現できる。
【００７１】
［実施形態３］
領収者や見積書といったビジネス帳票の多くはその書式が定型化されており、キーやバリューの位置が決まっている。そこで、書式が予め分かっている原稿について、キーとバリューに対応する文字列の位置情報を利用することによって、より正確に、キーやバリューが隠れているか否かを判定する態様を実施形態３として説明する。
【００７２】
図２４は、本実施形態に係る遮蔽判定処理の詳細を示すフローチャートである。なお、実施形態１及び２に係る遮蔽判定処理と共通の内容についてはその説明を省略ないしは簡略化し、以下では差異点を中心に説明を行うものとする。
【００７３】
Ｓ２４０１では、実施形態１に係る図２３（ａ）のフローチャートにおけるＳ２３０１と同様、画像分割によって得られた複数の原稿画像のうち注目する原稿画像について、原稿の重なり領域が存在するかどうか判定される。重なり領域が存在する場合はＳ２４０２に進み、存在しない場合はＳ２４０６に進む。
【００７４】
Ｓ２４０２では、注目原稿画像における原稿のフォーマットが特定される。原稿フォーマットの特定は公知の手法を適用すればよい。例えば、予め複数種類の原稿それぞれのフォーマットの特徴情報（特定の文字列やロゴの形状・配置の情報など）をＨＤＤ３１４等に保持しておく。そして、注目原稿画像にパターンマッチングを行う等して、予め保持しておいた各原稿のフォーマットの特徴情報と比較することで注目原稿画像のフォーマットを特定することができる。
【００７５】
Ｓ２４０３では、Ｓ２４０２で特定された原稿フォーマットについての、キー及びバリューに対応する文字列の位置情報（原稿内の位置を示す座標情報など）が取得される。キー及びバリューに対応する文字列の位置情報は、各原稿フォーマットと紐付けてＨＤＤ３１４に保持しておけばよい。あるいは、原稿画像からバリュー情報を抽出する度に学習を行って、新規の原稿フォーマットについての位置情報をＨＤＤ３１４に追加したり、既存の原稿フォーマットについての位置情報を更新したりしてもよい。
【００７６】
Ｓ２４０４では、Ｓ２４０３で取得したキー及びバリューの位置情報を用いて、原稿の重なり領域に、キーまたはバリューに対応する文字列が含まれているか否か（当該文字列領域の少なくとも一部が重なり領域と重複しているか）が判定される。原稿の重なり領域にキーまたはバリューに対応する文字列が含まれている場合はＳ２４０５へ進み、含まれていない場合はＳ２４０６へ進む。
【００７７】
Ｓ２４０５は前述のＳ２３０３と同じであり、Ｓ２４０６はＳ２３０４と同じである。すなわち、Ｓ２４０５では、注目原稿画像は、原稿の重なりによってキーまたはバリューが隠れている可能性のある画像であると判断される。この際、注目原稿画像のデータが、エラーレスポンスと共にＭＦＰ１１０に送信する画像データとしてＲＡＭ３１３に格納される。また、Ｓ２４０６では、注目原稿画像は、キーまたはバリューが隠れている可能性のない画像であると判断される。そして、これらの処理が、画像分割によって得られたすべての原稿画像について完了すると、図２１のフローチャートに戻る。
【００７８】
以上が、本実施形態に係る遮蔽判定処理の内容である。本実施形態によれば、原稿の書式が判明している場合の遮蔽判定処理の判定精度をさらに高めることができる。
【００７９】
（その他の実施形態）
実施形態１〜３では、原稿の重なりによってキーやバリューが隠れてしまうケースを想定していたが、原稿の折れによってキーやバリューが隠れてしまうケースもある。図２５は、原稿の折れによってバリューに対応する文字列が隠れてしまった場合の一例を示す図である。実施形態１〜３で説明した手法は、このような原稿の折れについても同様に適用可能である。例えば、実施形態１に適用する場合には、マルチクロップ処理によって得られた原稿画像に図２５に示すような「折れ領域」が存在するかを判定する。そして、図２３のフローチャートにおける「重なり領域」を「折れ領域」と読み替えて適用すればよい。この場合のＳ２３０１における原稿の折れの有無は、例えば、原稿画像のエッジが形成する図形の形状が矩形であるかどうか或いは当該図形の各辺が成す角度が直角であるかどうかに基づき判定することが可能である。そして、Ｓ２３０２では、「折れ領域」のサイズが一定サイズ以上であるかどうかを、「重なり領域」の場合と同様に判定すればよい。
【００８０】
また、本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2020198547.tif 000003
【図２】
2020198547.tif 000004
【図３】
2020198547.tif 000005
【図４】
2020198547.tif 000006
【図５】
2020198547.tif 000007
【図６】
2020198547.tif 000008
【図７】
2020198547.tif 000009
【図８】
2020198547.tif 000010
【図９】
2020198547.tif 000011
【図１０】
2020198547.tif 000012
【図１１】
2020198547.tif 000013
【図１２】
2020198547.tif 000014
【図１３】
2020198547.tif 000015
【図１４】
2020198547.tif 000016
【図１５】
2020198547.tif 000017
【図１６】
2020198547.tif 000018
【図１７】
2020198547.tif 000019
【図１８】
2020198547.tif 000020
【図１９】
2020198547.tif 000021
【図２０】
2020198547.tif 000022
【図２１】
2020198547.tif 000023
【図２２】
2020198547.tif 000024
【図２３】
2020198547.tif 000025
【図２４】
2020198547.tif 000026
【図２５】
2020198547.tif 000027