(57)【特許請求の範囲】
【請求項１】
画像データから線で区切られた領域を判定する判定手段と、
前記判定手段により判定された前記線で区切られた領域それぞれに含まれる文字情報を抽出する抽出手段と、
前記抽出された文字情報に基づいて、前記判定手段で判定された前記線で区切られた領域のうち、所定の用語を含む領域を特定する第１の特定手段と、
前記判定手段により判定された前記線で区切られた領域のうち、前記第１の特定手段により特定された領域と同じ並びの右側にあり、かつ、領域の形状が所定の条件を満たす複数の領域を、前記所定の用語に対応する情報を含む複数の領域であると特定する第２の特定手段と、を備える、
ことを特徴とする情報処理装置。
【請求項２】
前記第２の特定手段は、前記第１の特定手段により特定された領域と同じ並びの右側にあり、かつ、領域の形状が横長でない複数の領域を、前記所定の用語に対応する情報を含む複数の領域であると特定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記特定された領域と同じ並びとは、前記特定された領域と同じ行にあることである
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第２の特定手段は、前記第１の特定手段により特定された領域と同じ並びの右側にあり、かつ文字を含む最も近い領域を、前記所定の用語に対応する情報を含む前記複数の領域の先頭領域であると特定する、
ことを特徴とする請求項１ないし３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第２の特定手段は、さらに、
前記先頭の領域の形状が横長の場合に、前記所定の用語に対応する情報が当該先頭の領域のみに含まれていると特定し、
前記先頭の領域の形状が横長でない場合に、前記所定の用語に対応する情報が当該先頭の領域から、当該先頭の領域と同じ並びにある領域のうち、当該先頭の領域の右側にあり、かつ次に横長の領域が出現するまでの間にある複数の領域を、前記所定の用語に対応する情報を含む複数の領域であると特定する、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記第２の特定手段は、前記第１の特定手段により特定された領域と同じ並びの右側にあり、前記文字を含む最も近い領域の間にある領域には、前記所定の用語に対応する情報が含まれていないと特定する、
ことを特徴とする請求項４または５に記載の情報処理装置。
【請求項７】
前記判定手段は、少なくとも前記判定した領域に対して当該領域の座標と、当該領域の幅及び高さとを当該領域の位置、及び形状に関する情報として抽出し、
前記第２の特定手段は、前記判定手段により抽出された情報を用いて、前記第１の特定手段により特定された領域と同じ並びの右側にあり、かつ、前記領域の形状が前記所定の条件を満たす複数の領域を、前記所定の用語に対応する情報を含む複数の領域であるとして特定する、
ことを特徴とする請求項１ないし６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第２の特定手段は、
前記第１の特定手段により特定された領域のＹ座標との差が所定の値以内のＹ座標を有する領域を、前記第１の特定手段により特定された領域と同じ並びにある領域として特定し、
さらに、前記特定した領域のうち、前記第１の特定手段により特定された領域のＸ座標よりも値が大きい領域を、前記第１の特定手段により特定された領域の右側にある領域として特定する、
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記第２の特定手段が前記所定の用語に対応する情報を含む複数の領域であると特定した複数の領域に含まれる情報を結合し、前記所定の用語に対応する１つの情報として取得する取得手段と、をさらに備える、
ことを特徴とする請求項１ないし８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記画像データを受信する受信手段と、
前記画像データと、前記所定の用語または前記所定の用語に対応する情報とを紐付けて外部装置に送信する送信手段と、をさらに備える、
ことを特徴とする請求項１ないし９のいずれか１項に記載の情報処理装置。
【請求項１１】
画像データから線で区切られた領域を判定する判定工程と、
前記線で区切られた領域それぞれに含まれる文字情報を抽出する抽出工程と、
前記抽出された文字情報に基づいて、前記線で区切られた領域のうち、所定の用語を含む領域を特定する第１の特定工程と、
前記線で区切られた領域のうち、前記特定された領域と同じ並びの右側にあり、かつ、領域の形状が所定の条件を満たす複数の領域を、前記所定の用語に対応する情報を含む複数の領域であると特定する第２の特定工程と、を有する、
ことを特徴とする情報処理装置の制御方法。
【請求項１２】
請求項１ないし１０のいずれか１項に記載の情報処理装置が備える各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、文書をスキャンすることにより電子化した画像データに対してＯＣＲ処理を行い、文字情報を抽出する方法がある。また、帳票などをスキャンした画像データに含まれる特定の情報を取得するために、文字が記入されている領域をあらかじめ指定したテンプレートを用意する方法がある。帳票をスキャンした画像データの当該テンプレートで指定された領域（読み取り領域）に対してＯＣＲ処理を行うことにより所望の情報を取得する。このような方法では、あらかじめスキャンする文書の種類ごとに読み取り領域を指定したテンプレートを用意しなければならず、その作業に手間がかかる。
【０００３】
特許文献１では、テンプレートを用いることなく、画像データから特定の情報を読み取ることを可能とする画像処理装置を開示している。特許文献１では、画像データから抽出された文字領域に対して文字認識を行い、特定のキーワード（項目名）を検索する。そして、検索されたキーワードに対応する情報として、当該キーワードの近傍に位置する文字領域の情報を選択することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２４７６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、１つの項目名に対応する情報（項目値）が１つのセル（線で区切られた領域）で構成されているとは限らない。例えば、帳票のフォーマットによっては、数値やフリガナなどの値を、罫線で区切られた複数のセルに１文字ずつ記載されている場合がある。このような場合に、特許文献１に開示された方法では、１文字しか取得できず正しい情報を取得することができない。
【０００６】
本発明は、特定の情報が線で区切られた複数の領域に記載されている場合であっても、当該情報を正しく取得することが可能な情報処理装置の提供を目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態の情報処理装置は、画像データから線で区切られた領域を判定する判定手段と、前記判定手段により判定された前記線で区切られた領域それぞれに含まれる文字情報を抽出する抽出手段と、前記抽出された文字情報に基づいて、前記判定手段で判定された前記線で区切られた領域のうち、所定の用語を含む領域を特定する第１の特定手段と、前記判定手段により判定された前記線で区切られた領域のうち、前記第１の特定手段により特定された領域と同じ並びの右側にあり、かつ、領域の形状が所定の条件を満たす複数の領域を、前記所定の用語に対応する情報を含む複数の領域であると特定する第２の特定手段と、を備える。
【発明の効果】
【０００８】
本発明の情報処理装置によれば、特定の情報が線で区切られた複数の領域に記載されている場合であっても、当該情報を正しく取得することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態における情報処理システムの全体構成を示す図である。
【図２】ＭＦＰのハードウェア構成を示す図である。
【図３】ファイルサーバのハードウェア構成を示す図である。
【図４】ＭＦＰのソフトウェア構成を示す図である。
【図５】ＭＦＰが画像データをファイルサーバに転送するまでの処理を示す図である。
【図６】スキャン設定画面の一例を示す図である。
【図７】ＭＦＰが画像データを解析する処理を示す図である。
【図８】画像解析処理を行った画像データの一例を示す図である。
【図９】ＭＦＰがキーワードに対応する情報を取得する処理を示す図である。
【図１０】ＭＦＰがキーワードに対応する情報を取得した結果の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面などを参照して説明する。
【００１１】
（第１実施形態）
図１は、本実施形態に係る情報処理システムの全体構成を示す図である。
本発明の一実施形態における情報処理システムは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１００、ＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１０１、及びファイルサーバ１０２を備える。ＬＡＮ１００上には、ＭＦＰ１０１及びファイルサーバ１０２が互いに通信可能に接続されている。ＭＦＰ１０１は、本発明を実現する情報処理装置の一例である。ファイルサーバ１０２は、外部装置の一例である。
【００１２】
本実施形態では、ＭＦＰ１０１及びファイルサーバ１０２を含む全体を情報処理システムとするが、ＭＦＰ１０１のみを情報処理システムと称することもできる。また、図１ではＬＡＮ１００により各装置が接続されるが、インターネットなどを介して接続されていてもよい。ＭＦＰ１０１は、ＰＳＴＮ（Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋｓ）１１０に接続され、図示しないファクシミリ装置との間で画像データをファクシミリ通信することができる。
【００１３】
図２は、ＭＦＰ１０１のハードウェア構成を示す図である。
ＭＦＰ１０１は、ＣＰＵ２１１を含む制御部２１０を備える。制御部２１０は、ＭＦＰ１０１全体の動作を制御する。ＣＰＵ２１１は、ＲＯＭ２１２に記憶された制御プログラムを読み出して、読取／印刷／通信などの各種制御を行う。ＲＡＭ２１３は、ＣＰＵ２１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。
【００１４】
なお、ＭＦＰ１０１は、１つのＣＰＵ２１１が１つのメモリ（ＲＡＭ２１３またはＨＤＤ２１４）を用いて後述するフローチャートに示す各処理を実行するものとするが、他の態様であっても構わない。例えば、複数のＣＰＵや複数のＲＡＭまたはＨＤＤを協働させてフローチャートに示す各処理を実行することもできる。ＨＤＤ２１４は、画像データや各種プログラムを記憶する。
【００１５】
操作部Ｉ／Ｆ２１５は、操作部２２０と制御部２１０とを接続する。操作部２２０には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられており、ユーザによる操作／入力／指示を受け付ける受付部としての役割を担う。プリンタＩ／Ｆ２１６は、プリンタ２２１と制御部２１０とを接続する。プリンタ２２１で印刷すべき画像データは、プリンタＩ／Ｆ２１６を介して制御部２１０から転送され、プリンタ２２１により記録媒体上に印刷される。
【００１６】
スキャナＩ／Ｆ２１７は、スキャナ２２２と制御部２１０とを接続する。スキャナ２２２は、原稿上の画像を読み取って画像データを生成し、スキャナＩ／Ｆ２１７を介して制御部２１０に当該画像データを入力する。ＭＦＰ１０１は、スキャナ２２２で生成された画像データをファイル送信またはメール送信することができる。モデムＩ／Ｆ２１８は、モデム２２３と制御部２１０とを接続する。
【００１７】
モデム２２３は、不図示のファクシミリ装置との間における画像データのファクシミリ通信を実行する。ネットワークＩ／Ｆ２１９は、制御部２１０（ＭＦＰ１０１）をＬＡＮ１００に接続する。ＭＦＰ１０１は、ネットワークＩ／Ｆ２１９を用いてＬＡＮ１００上の外部装置（ファイルサーバ１０２など）に画像データや情報を送信したり、各種情報を受信したりする。
【００１８】
図３は、ファイルサーバ１０２のハードウェア構成を示す図である。
ファイルサーバ１０２は、ＣＰＵ３１１を含む制御部３１０を備える。制御部３１０は、ファイルサーバ１０２全体の動作を制御する。ＣＰＵ３１１は、ＲＯＭ３１２に記憶された制御プログラムを読み出して、各種制御を行う。ＲＡＭ３１３は、ＣＰＵ３１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。
【００１９】
ＨＤＤ３１４は、画像データや各種プログラムを記憶する。ネットワークＩ／Ｆ３１５は、制御部３１０（ファイルサーバ１０２）をＬＡＮ１００に接続する。ファイルサーバ１０２は、ネットワークＩ／Ｆ３１５を用いてＬＡＮ１００上の他の装置との間で各種情報を送受信する。
【００２０】
図４は、ＭＦＰ１０１のソフトウェア構成を示す図である。
ＭＦＰ１０１のソフトウェア構成は、ネイティブ機能部４１０と追加アプリケーション４２０の大きく２つに分けられる。ネイティブ機能部４１０に含まれる各部は、ＭＦＰ１０１に標準的に備えられたものである。これに対して、追加アプリケーション４２０は、ＭＦＰ１０１に追加でインストールされたアプリケーションである。
【００２１】
追加アプリケーション４２０は、Ｊａｖａ（登録商標）をベースとしたアプリケーションであり、ＭＦＰ１０１への機能追加を容易に実現できる。なお、ＭＦＰ１０１には不図示のその他の追加アプリケーションがインストールされていても良い。追加アプリケーション４２０のアプリケーション表示部４２３は、ＭＦＰ１０１が備える操作部２２０のタッチパネル機能を有する液晶表示部に、ユーザによる操作／入力／指示を受け付けるためのＵＩを表示する。表示する画面の詳細については後述する。
【００２２】
スキャン指示部４２１は、アプリケーション表示部４２３が表示したＵＩを介して入力されたユーザからの情報を受信し、スキャン処理の要求をネイティブ機能部４１０のスキャン部４１１に送信する。スキャン処理の要求は、当該入力された情報に含まれるスキャン設定や転送設定を含む。また、スキャン処理の要求には、後述処理において使用する要求ＩＤを含む。要求ＩＤは、追加アプリケーション４２０が備えるアプリケーション受信部４２２が、受信した画像データが要求に対応するものか否かを識別するために用いられる。また、要求ＩＤには、後述するアプリケーション転送部４２４がファイルサーバ１０２に画像データを送信する際に使用するフォルダパスの情報が一時的に保存される。
【００２３】
ネイティブ機能部４１０が備えるスキャン部４１１は、追加アプリケーション４２０のスキャン指示部４２１からスキャン設定を含むスキャン要求を受信すると、スキャナＩ／Ｆ２１７を介してスキャナ２２２で原稿を読み取り、画像データを生成する。また、スキャン部４１１は、読み取った画像データと転送設定とを転送部４１２に送信する。転送部４１２は、スキャン部４１１から受信した画像データを、スキャン部４１１から同じく受信した転送設定に従って転送する。
【００２４】
画像データの転送先としては、ファイルサーバ１０２、ＬＡＮ１００上の不図示のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の外部装置を設定可能である。本実施形態では、スキャン部４１１が生成した画像データを一旦全て追加アプリケーション４２０に転送するように設定されているものとする。転送部４１２は、ＦＴＰクライアント機能を有しており、ＦＴＰサーバ機能を有するアプリケーション受信部４２２に対してＦＴＰで画像データを転送する。アドレス帳記憶部４１３は、ＭＦＰ１０１のユーザによって登録されたアドレス情報を記憶する。
【００２５】
追加アプリケーション４２０が備えるアプリケーション受信部４２２は、ネイティブ機能部４１０の転送部４１２から送信された画像データを受信し、アプリケーション転送部４２４に送信する。アプリケーション転送部４２４は、受信した画像データを画像解析部４２５に送信する。画像解析部４２５は、画像データに対して領域判定や文字認識等の画像解析処理を行い、解析した情報をアプリケーション転送部４２４に送信する。
【００２６】
アプリケーション転送部４２４は、画像解析部４２５から受信した情報（画像解析データ）を元に画像データを保存するためのファイル名やフォルダパスに使用する文字を取得する。また、アプリケーション転送部４２４は、受信した情報に含まれる要求ＩＤに一時的に保存されたフォルダパスの情報に対して、画像解析データから取得した文字をフォルダやファイル名に追加して、ファイルサーバ１０２に画像データを送信する。
【００２７】
アプリケーション転送部４２４は、画像データの送信が終了すると、アプリケーション表示部４２３に送信が終了したことを通知する。アプリケーション表示部４２３は、アプリケーション転送部４２４からの通知を受信すると、表示内容を更新する。また、アプリケーション転送部４２４は、ＷｅｂＤＡＶ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ａｕｔｈｏｒｉｎｇ  ａｎｄ  Ｖｅｒｓｉｏｎｉｎｇ  ｐｒｏｔｏｃｏｌ  ｆｏｒ  ｔｈｅ  ＷＷＷ）クライアント機能を有している。
【００２８】
これにより、ＷｅｂＤＡＶサーバ機能を有するファイルサーバ１０２に対してＷｅｂＤＡＶを用いてフォルダの一覧を取得する。フォルダの一覧の取得は、ＷｅｂＤＡＶの他に、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ＳＭＢ（Ｓｅｒｖｅｒ  Ｍｅｓｓａｇｅ  Ｂｌｏｃｋ）等を使用可能である。また、それ以外にファイルを送信する目的以外のＳＯＡＰやＲＥＳＴ（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ）等も使用可能である。
【００２９】
次に、図５乃至１０を用いてＭＦＰ１０１がスキャンした画像データをファイルサーバ１０２に転送するまでの処理を説明する。
図５乃至１０のフローチャートに示す処理は、ＭＦＰ１０１のＣＰＵ２１１がＨＤＤ２１４に記憶された制御プログラムを実行することにより実現される。ステップＳ５０１では、アプリケーション表示部４２３が、操作部２２０にスキャン設定画面を表示する。
【００３０】
図６は、ＭＦＰ１０１が備えるスキャン設定画面の一例を示す図である。
スキャン設定画面６００では、スキャンした画像データの保存先となるフォルダパスを、当該保存先のファイルサーバの起点となるフォルダから表示する。［アップロードファイル名］エリア６０２には、アップロードされる画像データのファイル名が表示される。ＭＦＰ１０１のユーザは、スキャン設定画面６００を介してスキャン部４１１に行わせるスキャンの設定をスキャン設定キー６０３乃至６０７を用いて行い、スキャンした画像データのアップロードを実行する。
【００３１】
［カラー設定］キー６０３は、スキャン時のカラー設定を受け付ける。［解像度設定］キー６０４は、スキャン時の解像度設定を受け付ける。［両面読み取り設定］キー６０５は、スキャン時の両面読み取り設定を受け付ける。［原稿混載設定］キー６０６は、スキャン時の原稿混載の有無の設定を受け付ける。［画像形式設定］キー６０７は、スキャン時の画像形式を受け付ける。スキャン設定キー６０３乃至６０７を用いて設定される各項目は、ＭＦＰ１０１がサポートしている範囲で候補が表示され、ユーザは、表示された候補から望む設定を選択する。
【００３２】
［キャンセル］キー６０８は、スキャン設定画面６００を閉じる指示を受け付ける。［アップロード開始］キー６０９は、スキャン設定画面６００で設定された内容に従ってスキャンを行う指示を受け付ける。［ファイル名変更］キー６１０は、［アップロードファイル名］エリア６０２に表示されるファイル名の変更を受け付ける。なお、スキャン設定画面６００は、これに限定されるものではなく、例えば、図６に示した設定項目全てが存在する必要はなく、また、その他の設定項目が存在してもよい。
【００３３】
図５の説明に戻る。ステップＳ５０２では、アプリケーション表示部４２３が、［ファイル名変更］キー６１０が押されたか否かを判定する。［ファイル名変更］キー６１０が押されたと判定した場合、処理はステップＳ５０３に進み、［ファイル名変更］キー６１０が押されていないと判定された場合、処理はステップＳ５０４に進む。ステップＳ５０３では、アプリケーション表示部４２３が、操作部２２０にキーボード画面（不図示）を表示する。
【００３４】
ユーザは、キーボード画面を介してアップロードされる画像データのファイル名を設定する。キーボード画面において、ファイル名の設定を終了する指示を受け付けると、処理はステップＳ５０１に戻る。ステップＳ５０４では、アプリケーション表示部４２３が、［アップロード開始］キー６０９が押されたか否かを判定する。［アップロード開始］キー６０９が押されたと判定した場合、アプリケーション表示部４２３が、スキャン指示部４２１に対してスキャン設定キー６０３乃至６０７において選択された設定を用いたスキャン処理を実行させる。
【００３５】
［アップロード開始］キー６０９が押されていないと判定した場合、処理はステップＳ５０２に戻る。ステップＳ５０５では、スキャン指示部４２１が、スキャン部４１１にスキャン指示を送信し、スキャン部４１１が原稿をスキャンする。ステップＳ５０６では、転送部４１２が、スキャンされた画像データをアプリケーション受信部４２２にＦＴＰで送信（内部転送）する。ステップ５０７では、アプリケーション受信部４２２から解析を指示された画像解析部４２５が、画像データを解析する。そして、解析した結果をアプリケーション受信部４２２に送信する。
【００３６】
図７は、画像解析部４２５が画像データを解析する処理（画像解析処理）を説明するためのフローチャートである。
ステップＳ７０１では、画像解析部４２５が、アプリケーション受信部４２２から受信した画像データを解析できる形態にして読み込む。ステップＳ７０２では、画像解析部４２５が、読み込んだ画像データに対して領域判定や文字解析を行いやすい状態に補正する。具体的には、スキャン時にずれた画像データの傾きを補正したり、画像データの方向を検知して回転したりする。
【００３７】
ステップＳ７０３では、画像解析部４２５が、ステップＳ７０２で補正した画像データの内容を解析して、領域判定を行う。ステップＳ７０４では、画像解析部４２５が、ステップＳ７０３で判定した領域ごとに文字解析を行う。領域判定、文字解析などの画像解析処理については、以下で詳しく説明する。
【００３８】
図８は、画像データに対して領域判定及び文字解析などの画像解析処理を行った場合の一例を示す図である。
図８（Ａ）は、アプリケーション受信部４２２から受信した画像データを示す図である。図８（Ｂ）は、ステップＳ７０２の処理を実行し、画像データの傾きを補正した後の画像データを示す図である。
【００３９】
図８（Ｃ）は、ステップＳ７０３の処理、すなわち領域判定を実行した後の判定結果を示す図である。点線の矩形は、領域判定処理により抽出した領域を示す。図８（Ｃ）に示すように、画像データの線で囲まれている領域を一つの領域と判定して抽出することができる。図８（Ｄ）は、ステップＳ７０４の処理、すなわち文字解析を実行した後の解析結果を示す図である。斜線の矩形領域は、文字を認識した領域（文字領域）を示す。同一領域内の連続した文字は一つの領域として解析できる。表Ａは、画像解析によって抽出された情報の一例を示す。
【表１】
0006762722.tif 000002
【００４０】
画像解析部４２５は、判定した領域ごとに当該領域の位置及び形状に関する情報として当該領域の座標と大きさ（幅及び高さ）を抽出する。また、画像解析部４２５は、判定した領域ごとに当該領域内に記載されている文字列を抽出する。抽出した情報は、画像解析データとしてアプリケーション転送部４２４に送信される。ステップＳ５０８では、アプリケーション転送部４２４が、ＨＤＤ２１４に保存された解析キーワード（所定の用語）を取得する。解析キーワードは、ＣＳＶまたはＸＭＬのフォーマットでＨＤＤ２１４に格納されているものとする。ただし、これに限定されるものではなく、他のフォーマットであっても構わない。
【００４１】
解析キーワードは、追加アプリケーション４２０が有する解析キーワード設定画面（不図示）を介してユーザが設定する。ステップＳ５０９では、アプリケーション転送部４２４が、画像解析部４２５から受信した画像解析データの中から解析キーワードと一致する項目名の値（項目値）となる情報を取得する。ステップＳ５０９の処理の詳細を以下で説明する。
【００４２】
図９は、アプリケーション転送部４２４が画像解析データの中から解析キーワードに対応する情報を取得する処理を説明するためのフローチャートである。
ステップＳ９０１では、アプリケーション転送部４２４が、画像解析データの中からステップＳ５０８で取得した解析キーワードと同一の文字列を含む領域を検索する。例えば、画像解析データが表Ａで、解析キーワードが「保険者番号」の場合、表Ａの「領域内文字」から「保険者番号」を検索し、番号２の領域が「領域内文字」として「保険者番号」を含むことから、番号２の領域が項目名を示す領域として判断される。
【００４３】
なお、この例では解析キーワードと画像解析データの「領域内文字」とが完全に一致する領域を、項目名を示す領域と判断したが、ＯＣＲ処理では誤認識する場合があるため、一部一致していなくても一意に特定できる検索方法を用いてもよい。ステップＳ９０２では、アプリケーション転送部４２４が、項目名を示す領域と同じ行（並び）にある領域を取得する。本実施形態では、項目名を示す領域と同じ行にある領域として、当該項目名を示す領域と近いＹ座標を持つ領域を取得する。
【００４４】
項目名を示す領域と同じ行にある領域として、当該項目名を示す領域と近いＹ座標を持つ領域を取得するのは、領域判定では誤差が生じる可能性があるため、同じ行にある領域であってもＹ座標が同じになるとは限らないためである。すなわち、少しのマージンを設け、Ｙ座標がその範囲に入れば同じ行にある領域であると判断する。マージンは、固定値であってもよく、また、画像全体の解像度や各領域の高さの平均値からの割合などを用いて算出してもよい。すなわち、項目名を示す領域と同じ行にある領域として、当該項目名を示す領域のＹ座標との差が所定の値以内のＹ座標を有する領域が取得される。
【００４５】
また、本実施形態では、領域のＹ座標のみを用いて同じ行にある領域か否かを判断しているが、これに限定されるものではない。例えば、領域のＹ座標に領域の高さを足した値、すなわち領域の下端の座標が同じであるか否かの判断を加えたり、項目名を示す領域の上端と下端の範囲に収まる領域を同じ行と判断することもできる。ステップＳ９０３では、アプリケーション転送部４２４が、ステップＳ９０２で取得した項目名を示す領域と同じ行にある領域（項目値を示す領域）をＸ座標の昇順に並び替える。
【００４６】
表Ｂは、解析キーワードが「保険者番号」の場合、すなわち項目名が「保険者番号」の場合に、その項目値を示す領域（項目名を示す領域と同じ行にある領域）を表Ａの画像解析データから取得し、当該取得した領域をＸ座標の昇順に並び替えたものである。なお、本実施形態では、項目名を示す領域と同じ行にある領域であると判断するためのＹ座標のマージンは＋−５とした。図９の処理の続きは、表Ｂを例にとり説明する。
【表２】
0006762722.tif 000003
【００４７】
ステップＳ９０４では、アプリケーション転送部４２４が、項目名を示す領域の右隣りの領域を取得する。項目名を示す領域が番号２の領域であるため、右隣りの領域は、Ｘ座標が項目名を示す領域の次に大きい番号３の領域となる。ステップＳ９０５では、アプリケーション転送部４２４が、取得した右隣りの領域の幅が高さより大きく（横長の領域である）、かつ当該領域内に文字があるか否かを判断する。領域の幅が高さより大きく、かつ領域内に文字がある場合は、処理はステップＳ９０６に進む。
【００４８】
ステップＳ９０６では、アプリケーション転送部４２４が、ステップＳ９０４で取得した、項目名の右隣りの領域内の文字を項目値の文字であると判断する。ステップＳ９０５及びステップＳ９０６の処理により、項目値の領域が分割されていない場合であっても項目値を正しく検出できる。例えば、図８に示すように、項目名が「保険者名」の場合に、当該項目名の項目値を示す右隣りの領域（表Ａに示した画像解析データ中では、番号１１の領域に該当）は分割されておらず一つの領域に項目値が記載されている。
【００４９】
このとき、ステップＳ９０５の処理において、当該領域はその幅が高さよりも大きく、かつ領域内に字があるため、ステップＳ９０６の処理により「○○市」が項目値と判断される。一方、ステップＳ９０５において、領域の幅が高さより大きくない、または、領域内に文字がない場合に、処理はステップＳ９０７に進む。表Ｂに示す例では、番号３の領域は、幅が高さより大きいが領域内に文字がないため、処理はステップＳ９０７に進む。
【００５０】
ステップＳ９０７では、アプリケーション転送部４２４が、ステップＳ９０４で取得した領域内に文字があるか否かを判断する。領域内に文字がない場合に、処理はステップＳ９０８に進み、領域内に文字がある場合に、処理はステップＳ９０９に進む。表Ｂに示す例では、番号３の領域には文字がないためステップＳ９０８に進む。ステップＳ９０８では、アプリケーション転送部４２４が、現在処理の対象としている領域の右隣りの領域を取得する。
【００５１】
ステップＳ９０７及びステップＳ９０８の処理により、例えば位置合わせなどのために設けられた空欄がある場合であっても、正しく項目値の領域を検出できるようになる。例えば、図８に示した帳票のように保険者番号と被保険者番号のそれぞれの項目値を示す上下の領域の位置を合わせるために、保険者番号の右隣に空欄が設けられている場合がある。このような場合に、本実施形態によれば、項目値を示す領域としてこの空欄は取得されず、さらに右隣の領域を取得することができる。
【００５２】
詳細には、表Ｂにおいて、番号３の領域（空欄の領域）の右隣りの領域である番号４の領域が取得される。そして、番号４の領域に対して再度ステップＳ９０７の判断が行われ、当該領域内には文字があるため、番号４の領域を処理の対象としてステップＳ９０９に進む。ステップＳ９０９では、項目値を示す領域の位置として、現在処理の対象としている領域の位置が設定される。詳細には、表Ｂに示す例では、番号４の領域のＸ座標とＹ座標が項目値を示す領域の先頭の位置として設定される。
【００５３】
すなわち、ステップＳ９０５乃至ステップＳ９０９の処理により、項目名を示す領域と同じ並びにある領域のうち、当該項目名を示す領域の右側にあり、かつ領域内に文字がある最も近い領域が、項目値を示す１または複数の領域の先頭の領域として設定される。そして、先頭の領域として設定された領域の形状が横長の場合、項目値を示す領域は当該横長の領域のみであると設定され、当該横長の領域内に記載されている文字が、項目値として取得される。
【００５４】
一方、先頭の領域として設定された領域の形状が横長でない場合、項目値は、１以上の領域に含まれているとして、先頭の領域の右隣の領域を順次取得し、次に横長の領域が出現するまでの間に取得された領域が、項目値を示す領域として設定される。このように、本実施形態によれば、項目名を示す領域の位置、及び項目名を示す領域の周辺にある領域の形状等に基づき、項目値を示す領域を正しく特定することが可能となる。
【００５５】
ステップＳ９１０では、アプリケーション転送部４２４が、現在処理の対象としている領域の幅が高さより大きいか否かを判断する。幅が高さより大きい（横長の領域である）と判断した場合に、処理はステップＳ９１２に進み、幅が高さより大きくないと判断した場合に、処理はステップＳ９１１に進む。ステップＳ９１１では、アプリケーション転送部４２４が、現在処理の対象としている領域の右隣りの領域を取得する。表Ｂに示す例では、番号４の領域は、幅より高さが大きいため、ステップＳ９１１に進み、番号４の領域の右隣りの領域である番号５の領域が取得される。
【００５６】
そして、番号５の領域に対して再度ステップＳ９１０の判断が行われる。番号５の領域も幅より高さが大きいため、再度ステップ９１１に進み、番号５の領域の右隣りの領域である番号６の領域が取得される。同様に番号６の領域、番号７の領域、番号８の領域、番号９の領域も幅より高さが大きいため、ステップＳ９１０の判断によりステップＳ９１１が実行される。そして、番号９の領域の右隣りの領域である番号１０の領域が取得され、ステップＳ９１０の判断において高さより幅が大きいためステップＳ９１２に進む。
【００５７】
すなわち、領域の幅が高さよりも大きい領域が取得されるまで、ステップＳ９１１の処理は繰り返され、右隣りの領域が取得され続ける。なお、本実施形態では、項目値を示す領域として、横長の領域が出現するまで右隣の領域を取得し続けたが、どの領域までを１つの項目値を示す領域として取得するかの条件は、これに限られるものではない。例えば、所定の個数取得するまで右隣の領域をし続けてもよく、また、ステップＳ９０９で項目値の領域の位置を設定する際に用いた先頭の領域と異なる大きさの領域が取得されるまで取得し続けてもよい。すなわち、任意の条件を設定することが可能である。
【００５８】
なお、ステップＳ９０５及びステップＳ９１０において横長の領域がそれ以外かを判定する際に領域の幅と高さの大小関係を比較しているが、領域判定では誤差が生じる可能性があるため、少しのマージンを設定してもよい。例えば、実際には幅と高さの差があまりなく、幅が少しだけ高さよりも大きいような場合に、領域の幅にプラス３のマージンを加えた後に高さと比較してもよい。これにより、領域判定において誤差が生じた場合であっても幅の方が高さよりも大きいと判断されやすくなるように調整される。
【００５９】
ステップＳ９１２では、アプリケーション転送部４２４が、項目値を示す領域の大きさを設定する。領域の大きさは、ステップＳ９０９で設定した位置から現在処理の対象となっている領域のひとつ前に対象となっていた領域の右下の座標までの変化量とする。表Ｂに示す例では、番号１０の領域が対象である際にステップＳ９１２が実行されるため、番号４の領域から番号９の領域を合わせた領域が項目値を示す領域となる。すなわち、図１０の太枠で囲んだ領域が、「保険者番号」の項目値を示す領域として抽出される。
【００６０】
ステップＳ９１３では、アプリケーション転送部４２４が、項目値を示す領域内に含まれる文字を取得する。取得方法は、項目値を示す領域内の各領域が持つ文字を左の領域から結合した文字としてもよく、また、項目値を示す領域に対して再度ＯＣＲ処理を行い、文字を解析してもよい。項目値を示す領域に致して再度ＯＣＲ処理を行う場合は、文字の間に区切り線が存在するため、梯子状の領域の値を取得するようなＯＣＲ処理を用いることで、文字の解析精度を向上しうる。
【００６１】
梯子状の領域にＯＣＲ処理を行う場合に、外側の枠も必要である場合は、項目値を示す領域の上下左右を少し広げて枠線も含まれる状態にしてからＯＣＲ処理を行うことにより、文字の解析精度を向上しうる。すなわち、使用するＯＣＲ処理の特性に合わせて最適な方法を実施すればよい。また、複数のＯＣＲ処理を実行し、その処理結果が一番よいものを選択するような方法を採用することもできる。
【００６２】
ステップＳ９１４では、アプリケーション転送部４２４が、ステップＳ９１３で取得した文字列を項目名の値（項目値）とする。表Ｂに示す例では、４番の領域から９番の領域までの文字を結合した「００００００」が項目名「保険者番号」の項目値として取得される。ここまでが、図５のステップＳ５０９の処理の詳細である。
【００６３】
なお、本実施形態では、文字が記載された領域が横並びであり、項目名を示す領域の右側に項目値を示す領域が記載されていることを前提に説明したが、ステップＳ５０９の処理はこれに限定されるものではない。例えば、図９の処理において、項目名を示す領域と同じ行（並び）の右側の領域を取得するのではなく、同じ列（並び）の下側の領域を取得してもよい。また、例えば、項目名を示す領域と同じ行の右側の領域を取得した際に、当該取得した領域の高さが項目名を示す領域よりも小さい場合に、取得した領域の下側の領域も同時に取得してもよい。このように、項目名ごとに対応する項目値が記載された領域を取得する条件を任意に設定してもよい。
【００６４】
図５の説明に戻る。ステップＳ５１０では、アプリケーション転送部４２４が、ＨＤＤ２１４に保存されたファイルサーバ設定を取得する。ファイルサーバ設定は、ＣＳＶまたはＸＭＬのフォーマットでＨＤＤ２１４に格納されるものとする。ただし、これに限定されるものではなく、他のフォーマットであっても構わない。ファイルサーバ設定は、追加アプリケーション４２０が有するファイルサーバ設定画面（不図示）を介してユーザが設定する。
【００６５】
ファイルサーバ設定には、ファイルサーバにファイルを格納するために必要となるファイルサーバ１０２のホスト名、画像データを格納するフォルダパスの起点、ファイルサーバ１０２にログインするためのユーザ名とパスワード、などの情報が記述されている。ステップＳ５１１では、アプリケーション転送部４２４が、画像データの格納先となるフォルダパスを作成する。
【００６６】
画像データの格納先となるフォルダパスは、ファイルサーバ設定に含まれるファイルサーバ１０２のホスト名、及びフォルダパスの起点にステップＳ５０９で取得した項目値などの情報を加えて作成する。例えば、「保険者番号」の項目値として「００００００」が取得された場合、「００００００」というフォルダを作成し、そのフォルダ内に画像データを格納する。取得した項目値を使用する以外に、例えば、取得した項目値をキーにして、データを管理するサーバに問い合わせ、当該キーと関連する情報を取得し、その情報をフォルダ名に追加してもよい。
【００６７】
また、上述したように画像データから取得した項目名や項目値などの値に誤検知がないかを確認するために、画像データから取得した値が存在するか否かを、データを管理するサーバに問い合わせて補正するような処理を加えてもよい。ステップＳ５１２では、アプリケーション転送部４２４が、ファイルサーバに格納する画像データのファイル名を作成する。ファイル名は、図６に示したスキャン設定画面において指定した［アップロードファイル名］エリア６０２の文字列に、ステップＳ５０９で取得した項目値を追加したものをファイル名とする。
【００６８】
例えば「保険者番号」の項目値として「００００００」が取得された場合、「００００００＿２０１４０３０３１２００００」がファイル名となる。すなわち、ステップＳ５１１及びＳ５１２では、画像データと当該画像データから取得した項目名や項目値の情報との紐付けを行う。なお、取得した項目値以外にも、取得した項目値をキーにして、データを管理するサーバに問い合わせ、当該キーと関連する情報をファイル名に追加してもよい。
【００６９】
ステップＳ５１３では、アプリケーション転送部４２４が、ファイルサーバ１０２にアクセスする。このとき、ステップＳ５１０で取得したファイルサーバ設定に含まれるユーザ名とパスワードをファイルサーバ１０２に送信し、ファイルサーバ１０２による認証の結果を受信する。ステップＳ５１４では、アプリケーション転送部４２４が、認証が成功したか（ファイルサーバ１０２にログインできたか）否かを判定し、認証が成功した場合は、処理はステップＳ５１５に進む。
【００７０】
一方、ステップＳ５１４で認証が失敗した場合は、処理を終了する。ステップＳ５１５では、アプリケーション転送部４２４が、ステップＳ５１２で作成した文字列をファイル名とした画像データをファイルサーバ１０２に外部転送し、ステップ５１１で作成した画像データの格納先となるフォルダパスが示すフォルダに格納する。
【００７１】
なお、本実施形態では、図９に示した処理により取得した項目値をフォルダ名やファイル名に付加する情報として使用したが、項目値をこれ以外の目的で使用することもできる。例えば、項目値を元に対応する電話番号を特定して画像データを当該電話番号に対してファクス送信したり、メールアドレスを特定して当該メールアドレスにメール送信を行ったりすることもできる。
【００７２】
なお、本実施形態では、ＭＦＰ１０１上にインストールされている追加アプリケーション４２０が、スキャンした画像データから項目名や項目値等の情報を取得し、取得した情報を用いて画像データを格納するまでの処理を行う場合について説明した。ただし、これに限定されるものではなく、ＰＣのアプリケーションやＷｅｂアプリケーションにおいて、同等の処理または一部の処理を行うことも可能であり、また、これらのアプリケーションのＵＩなどを適用することもできる。
【００７３】
例えば、保存する画像データの格納先やファイル名を指定する際に、本実施形態で説明したスキャン設定画面６００やファイルサーバ設定画面の構成要素と同様の機能を有するＰＣのアプリケーションやＷｅｂアプリケーションを実現することも可能である。フォルダ毎の情報を格納する設定ファイルの情報等と同様の機能を有することも可能である。
【００７４】
また、ステップＳ５０７からステップＳ５０９までの各処理または一連の処理を、Ｗｅｂサービスを介してリクエストをＰＣアプリケーションに送信することによりＰＣ側で画像解析処理を行うことも可能である。このとき、画像解析処理の結果に関する情報、例えば項目値の情報をＰＣアプリケーションからＭＦＰ１０１やＷｅｂサービスが受け取るようにすることも可能である。
【００７５】
また、本実施形態では、スキャン設定画面６００で設定した設定値を用いてスキャン処理を行い、スキャンした画像データを用いてその後の画像解析処理や当該画像データの外部転送（ファイルサーバへの格納）を行った。しかし、画像解析処理は、高解像度で行った方が望ましい場合もある。このため、スキャン設定画面６００で設定された設定値通りにスキャン処理を行った画像データとは別に画像解析処理用の画像データを作成してもよい。このとき、画像解析処理には高解像度の画像データを使用し、ファイルサーバに格納する画像データは、設定された通りの画像データを送信すればよい。
【００７６】
または、はじめにできるだけ高解像度の画像データのみを作成しておいてもよい。その後、追加アプリケーション４２０や画像データを受信したファイルサーバ１０２においてインストールされたＰＣアプリケーションなどを用いることにより画像データを変換し、設定値通りの画像データを生成することもできる。
【００７７】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７８】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【００７９】
１０１    ＭＦＰ
４２０    追加アプリケーション
４２４    アプリケーション転送部
４２５    画像解析部
【図１】
0006762722.tif 000004
【図２】
0006762722.tif 000005
【図３】
0006762722.tif 000006
【図４】
0006762722.tif 000007
【図５】
0006762722.tif 000008
【図６】
0006762722.tif 000009
【図７】
0006762722.tif 000010
【図８】
0006762722.tif 000011
【図９】
0006762722.tif 000012
【図１０】
0006762722.tif 000013