(57)【要約】【課題】文書画像データに対する文字認識により複数の日付情報が抽出されたとき、原稿の発行日を適切に選択する。【解決手段】画像処理装置は、原稿の読み取りにより生成された文書画像データを取得し、文字認識により前記文書画像データに含まれている文字列を認識する制御部を備え、前記制御部は、前記文字列の中から複数の日付情報を抽出した場合に、前記複数の日付情報の中の時刻情報を含む日付情報を前記原稿の発行日として選択する。前記制御部は、時刻情報を含む日付情報を選択しなかった場合、前記文書画像データに基づいて前記原稿の種類を判別し、前記原稿の種類に応じて前記複数の日付情報の中から前記原稿の発行日としての日付情報を選択する。【選択図】図４
2019114193.tif 000002
【特許請求の範囲】
【請求項１】
原稿の読み取りにより生成された文書画像データを取得し、文字認識により前記文書画像データに含まれている文字列を認識する制御部を備え、
前記制御部は、前記文字列の中から複数の日付情報を抽出した場合に、前記複数の日付情報の中の時刻情報を含む日付情報を前記原稿の発行日として選択することを特徴とする画像処理装置。
【請求項２】
前記制御部は、時刻情報を含む日付情報を選択しなかった場合、前記文書画像データに基づいて前記原稿の種類を判別し、前記原稿の種類に応じて前記複数の日付情報の中から前記原稿の発行日としての日付情報を選択することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記制御部は、前記文書画像データに含まれている文字列に基づいて前記原稿の種類を判別することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記制御部は、前記文書画像データが示す前記原稿のサイズに基づいて前記原稿の種類を判別することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記制御部は、前記原稿の種類がレシートである場合には、前記複数の日付情報の中で古い日付情報を優先して選択することを特徴とする請求項２〜請求項４のいずれかに記載の画像処理装置。
【請求項６】
前記制御部は、前記原稿の種類が宿泊施設のレシートである場合には、前記複数の日付情報の中で新しい日付情報を優先して選択することを特徴とする請求項２〜請求項５のいずれかに記載の画像処理装置。
【請求項７】
前記制御部は、期間を限定する文字列とともに記述された日付情報は選択肢から除外することを特徴とする請求項１〜請求項６のいずれかに記載の画像処理装置。
【請求項８】
前記制御部は、前記文書画像データの生成日時よりも新しい日付情報は選択肢から除外することを特徴とする請求項１〜請求項７のいずれかに記載の画像処理装置。
【請求項９】
前記制御部は、前記発行日を含んだファイル名を前記文書画像データのファイル名として表示部に表示させることを特徴とする請求項１〜請求項８のいずれかに記載の画像処理装置。
【請求項１０】
原稿の読み取りにより生成された文書画像データに対する処理をコンピューターに実行させる画像処理プログラムであって、
文字認識により前記文書画像データに含まれている文字列を認識する制御機能を実行させ、
前記制御機能は、前記文字列の中から複数の日付情報を抽出した場合に、前記複数の日付情報の中の時刻情報を含む日付情報を前記原稿の発行日として選択することを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿の読み取りにより生成された文書画像データを処理する画像処理装置および画像処理プログラムに関する。
【背景技術】
【０００２】
特定フォームの原稿を読み取ることにより生成された画像データに対し、ファイル名を自動生成する情報処理端末装置において、予めフォームごとに指定されている複数の認識箇所の指定データを認識処理し、認識された前記複数箇所の文字列を、区切り文字を介して連結することによりファイル名を生成する構成が開示されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８‐７１０５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
文書画像データを文字認識処理したとき、複数の日付情報が抽出されることがある。複数の日付情報が抽出されたとき、どの日付情報が、当該文書画像データの原稿の発行日を示しているのかを判別することが難しかった。
【０００５】
本発明は上述の課題に鑑みてなされたものであり、文書画像データに対する文字認識により複数の日付情報が抽出されたとき、原稿の発行日を適切に選択する画像処理装置および画像処理プログラムを提供する。
【課題を解決するための手段】
【０００６】
本発明の態様の１つは、画像処理装置は、原稿の読み取りにより生成された文書画像データを取得し、文字認識により前記文書画像データに含まれている文字列を認識する制御部を備え、前記制御部は、前記文字列の中から複数の日付情報を抽出した場合に、前記複数の日付情報の中の時刻情報を含む日付情報を前記原稿の発行日として選択する。
当該構成によれば、画像処理装置は、文書画像データに含まれている文字列の中から複数の日付情報を抽出した場合には、時刻情報を含む日付情報が含まれていれば、当該時刻情報を含む日付情報を前記発行日として選択する。これにより、文書画像データに対する文字認識により複数の日付情報が抽出されたとき、その中から原稿の発行日を適切に選択することができる。
【０００７】
本発明の態様の１つは、前記制御部は、時刻情報を含む日付情報を選択しなかった場合、前記文書画像データに基づいて前記原稿の種類を判別し、前記原稿の種類に応じて前記複数の日付情報の中から前記原稿の発行日としての日付情報を選択するとしてもよい。
当該構成によれば、画像処理装置は、文書画像データに含まれている文字列の中から抽出した複数の日付情報の中に、時刻情報を含む日付情報が無かった場合等、何らかの理由により時刻情報を含む日付情報を選択しなかった場合に、原稿の種類に応じて複数の日付情報の中から原稿の発行日を適切に選択することができる。
本発明の態様の１つは、前記制御部は、前記文書画像データに含まれている文字列に基づいて前記原稿の種類を判別するとしてもよい。また、前記制御部は、前記文書画像データが示す前記原稿のサイズに基づいて前記原稿の種類を判別するとしてもよい。
これら構成によれば、画像処理装置は、文書画像データに基づいて原稿の種類を適切に判別することができる。
【０００８】
本発明の態様の１つは、前記制御部は、前記原稿の種類がレシートである場合には、前記複数の日付情報の中で古い日付情報を優先して選択するとしてもよい。
レシートには、レシートの発行日以外にも、例えば、商品のキャンペーン、広告、ポイントの有効期限等に関する様々な日付情報が記載されていることがある。このような状況においても、より古い日付情報を優先して選択することで、原稿（レシート）の発行日を適切に選択することができる。
【０００９】
本発明の態様の１つは、前記制御部は、前記原稿の種類が宿泊施設のレシートである場合には、前記複数の日付情報の中で新しい日付情報を優先して選択するとしてもよい。
宿泊施設のレシートには、基本的にチェックインの日付情報やチェックアウトの日付情報が記載されているが、そのような状況において複数の日付情報の中で新しい日付情報を優先して選択することで、チェックアウトの日付を原稿（宿泊施設のレシート）の発行日として選択することができる。
【００１０】
本発明の態様の１つは、前記制御部は、期間を限定する文字列とともに記述された日付情報は選択肢から除外するとしてもよい。
期間を限定する意味の文字列とともに記述された日付情報は、原稿の発行日に該当する可能性は低いため、そのような日付情報は選択しないようにすることで、不適切な日付情報を原稿の発行日に選択することを回避できる。
本発明の態様の１つは、前記制御部は、前記文書画像データの生成日時よりも新しい日付情報は選択肢から除外するとしてもよい。
文書画像データの生成日時よりも新しい日付情報は、原稿の発行日に該当することは有り得ないため、そのような日付情報は選択しないようにすることで、不適切な日付情報を原稿の発行日に選択することを回避できる。
【００１１】
本発明の態様の１つは、前記制御部は、前記発行日を含んだファイル名を前記文書画像データのファイル名として表示部に表示させるとしてもよい。
当該構成によれば、画像処理装置は、文書画像データに含まれている文字列の中から抽出した日付情報であって、原稿の発行日としての日付情報を含んだファイル名をユーザーに提示する。よって、ユーザーは、提示された（表示部に表示された）ファイル名を承認するだけで、文書画像データを、原稿の発行日を含んだファイル名を付けて保存することができる。
【００１２】
本発明の技術的思想は、画像処理装置というカテゴリー以外によっても実現される。例えば、原稿の読み取りにより生成された文書画像データに対する処理をコンピューターに実行させる画像処理プログラムであって、文字認識により前記文書画像データに含まれている文字列を認識する制御機能を実行させ、前記制御機能は、前記文字列の中から複数の日付情報を抽出した場合に、前記複数の日付情報の中の時刻情報を含む日付情報を前記原稿の発行日として選択するプログラムを、発明として把握することができる。また、このような画像処理プログラムによる処理に相当する方法の発明や、当該プログラムを記憶したコンピューター読み取り可能な記憶媒体も発明として成り立つ。
【図面の簡単な説明】
【００１３】
【図１】画像処理装置の構成を簡易的に示す図。
【図２】ファイル保存処理を示すフローチャート。
【図３】ファイル保存設定画面の一例を示す図。
【図４】ステップＳ１３０の詳細を示すフローチャート。
【図５】図５ＡはステップＳ１２０の一つの変形例を示す図、図５ＢはステップＳ１２０の別の変形例を示す図。
【図６】発行日決定表示処理を示すフローチャート。
【図７】スキャンデータ管理画面の一例を示す図。
【発明を実施するための形態】
【００１４】
以下、各図を参照しながら本発明の実施形態を説明する。なお各図は、本実施形態を説明するための例示に過ぎない。
【００１５】
１．装置構成の概略的説明：
図１は、本実施形態にかかる画像処理装置１０の構成を簡易的に示している。画像処理装置１０は、原稿を光学的に読み取って読取結果としての所定のフォーマットの画像データを生成し当該画像データを外部へ出力する読取装置（スキャナー３０）と、通信可能に接続する。スキャナー３０は、公知の製品を含めてスキャナーとして機能する装置であればよい。
【００１６】
画像処理装置１０は、例えば、パーソナルコンピューター（ＰＣ）、スマートフォン、タブレット型端末、携帯電話機、或いはそれらと同程度の処理能力を有する情報処理装置によって実現される。また、本実施形態にかかる制御部１１を実現可能なハードウェアを画像処理装置と呼んでもよい。
【００１７】
画像処理装置１０は、例えば、制御部１１、表示部１２、操作受付部１３、通信インターフェイス（ＩＦ）１４、記憶部１５等を備える。制御部１１は、例えば、プロセッサー（例えばＣＰＵ１１ａ。ＡＳＩＣやＡＳＩＣとＣＰＵ等の協働であってもよい）、ＲＯＭ１１ｂ、ＲＡＭ１１ｃ等を有する１つ又は複数のＩＣや、その他のメモリー等を適宜含んで構成される。記憶部１５は、例えば、ハードディスクドライブ（ＨＤＤ）やフラッシュメモリー等の不揮発性の記憶装置である。記憶部１５は、制御部１１の一部であってもよい。
【００１８】
制御部１１では、プロセッサー（ＣＰＵ１１ａ）が、ＲＯＭ１１ｂや記憶部１５等に保存されたプログラムに従った演算処理を、ＲＡＭ１１ｃ等をワークエリアとして用いて実行することにより、画像処理装置１０の挙動を制御する。制御部１１はプログラムの１つとしてプログラムＡを搭載しており、プログラムＡに従って、データ取得部２０、ファイル名生成部２１、表示制御部２２等といった各機能を実現する。プログラムＡは、原稿の読み取りにより生成された文書画像データに対する処理をコンピューターに実行させる画像処理プログラムである。また、プログラムＡは、文書画像データの保存や管理を実行するためのアプリケーションである。
【００１９】
通信ＩＦ１４は、公知の通信規格を含む所定の通信プロトコルに準拠して有線あるいは無線で外部と通信を実行するＩＦである。図１の例では、画像処理装置１０は、通信ＩＦ１４を介してスキャナー３０と接続している。むろん、画像処理部１０は、通信ＩＦ１４あるいは不図示の別の通信ＩＦを介して、外部のネットワークに接続することも可能であり、制御部１１（プログラムＡ）は、例えば、前記ネットワーク（ローカルエリアネットワークやインターネット通信網等）を通じて外部のサーバー（不図示）に、スキャナー３０から取得した文書画像データをアップロードすることも可能である。
【００２０】
表示部１２は、視覚的情報を表示するための手段であり、例えば、液晶ディスプレイ（ＬＣＤ）や、有機ＥＬディスプレイ等により構成される。表示部１２は、ディスプレイと、当該ディスプレイを駆動するための駆動回路とを含む構成であってもよい。操作受付部１３は、ユーザーによる操作を受け付けるための手段であり、例えば、物理的なボタンや、タッチパネルや、マウスや、キーボード等によって実現される。むろん、タッチパネルは、表示部１２の一機能として実現されるとしてもよい。また、表示部１２および操作受付部１３を含めて操作パネル等と呼ぶことができる。
【００２１】
表示部１２、操作受付部１３、記憶部１５等の図１に示した一部の構成は、画像処理装置１０に外付けされた周辺機器であってもよい。また、図１に示した画像処理装置１０とスキャナー３０とを含んだシステムを１つの発明として捉えることも可能である。あるいは、画像処理装置１０とスキャナー３０とは、実態としてそれら全体が１つの装置に含まれていてもよい。画像処理装置１０とスキャナー３０とが１つの装置に含まれている場合、そのような構成（１つの装置）を、読取装置等と呼ぶことができる。また、画像処理装置１０とスキャナー３０とを含む構成（１つの装置）は、プリンター（コピー機）やファクシミリ等としての複数の機能を併せ持った複合機であってもよい。
【００２２】
２．ファイル名表示を伴うファイル保存処理：
図２は、制御部１１がプログラムＡに従って実行するファイル保存処理をフローチャートにより示している。
先ず、スキャナー３０は、ユーザーが任意にセットした原稿を読み取ることにより画像データを生成する。本実施形態では、ユーザーがスキャナー３０に読み取らせる原稿は、少なくとも文字が記載された原稿であるとする。原稿は、例えばレシートや請求書や契約書等である。スキャナー３０は、原稿の読取結果としての画像データ（文書画像データ）を、画像処理装置１０へ送信する。制御部１１は、通信ＩＦ１４を介してスキャナー３０へ原稿の読取開始を指示し、スキャナー３０は、制御部１１からの当該読取開始の指示に従って原稿の読み取りを開始するとしてもよい。
【００２３】
制御部１１（データ取得部２０）は、上述のようにスキャナー３０から送信された文書画像データを、通信ＩＦ１４を介して取得する（ステップＳ１００）。なお、データ取得部２０は、スキャナー３０から直接に文書画像データを取得（受信）するのではなく、スキャナー３０から文書画像データが転送された転送先としての記憶部（例えば、記憶部１５）から当該文書画像データを取得するとしてもよい。
【００２４】
制御部１１（ファイル名生成部２１）は、ステップＳ１００で取得した文書画像データを対象として、文字認識（ＯＣＲ：Optical Character Recognition/Reader）を実行することにより、文書画像データに含まれている文字列を認識する（ステップＳ１１０）。この場合、文書画像データに含まれている文字列と認識可能な対象を文字データ（テキストデータ）に変換する。文字認識処理は、公知の技術であるため、これ以上の説明は省略する。
【００２５】
ステップＳ１２０では、ファイル名生成部２１は、ステップＳ１１０において認識した文書画像データに含まれている文字列（以下、データ内文字列）から、予め登録された特定文字列を検索する。特定文字列とは、テーブルＴに登録済みの文字列である。テーブルＴは、画像処理装置１０内の記憶部（例えば、記憶部１５）に記憶されている。ただし、テーブルＴは、外部のサーバーに記憶されており、画像処理装置１０は、前記ネットワークを通じて前記サーバーにアクセスすることでテーブルＴを適宜参照するとしてもよい。
【００２６】
特定文字列は、基本的には、原稿の種類（原稿がどのような用途・趣旨の書類であるか）を示す言葉である。例えば、テーブルＴには、特定文字列として“invoice”、“bill”、“contract”等、原稿内の文書に含まれていることが想定される言葉であって原稿の種類を端的に表す言葉が予め複数登録されている。テーブルＴには、更に、プログラムＡを実行する制御部１１が過去にファイル名として入力を受け付けた文字列が特定文字列の一種として登録されていてもよい。つまり、プログラムＡを実行する制御部１１は、ユーザーが操作受付部１３等を操作してファイル名入力欄（図３の符号４３参照。）に入力したファイル名に含まれる言葉（例えば、原稿の発行元の店舗や施設や会社の名称）を、テーブルＴに登録することにより、テーブルＴにおける特定文字列の登録数を増やすことができる。
【００２７】
ステップＳ１３０では、ファイル名生成部２１は、データ内文字列から日付情報を抽出する。つまり、ファイル名生成部２１は、日付を表していると判別できる所定桁数の数字や、そのような数字と例えばスラッシュ“/”や、漢字の“年”、“月”、“日”等を含んだ文字列を、日付情報として抽出する。図２では、日付情報の抽出（ステップＳ１３０）は、特定文字列の検索（ステップＳ１２０）の次に実行される態様としているが、これらステップＳ１２０，Ｓ１３０は、処理順が逆でもよいし、制御部１１の処理能力によっては並行実施されるとしてもよい。
ステップＳ１３０の詳細については、図４等を用いて後述する。
【００２８】
ステップＳ１４０では、ファイル名生成部２１は、ステップＳ１００で取得した文書画像データを保存する際に付けるファイル名を、ステップＳ１２０，Ｓ１３０の結果を用いて生成する。この場合、ファイル名生成部２１は、ステップＳ１２０における検索でデータ内文字列から検出した特定文字列と、ステップＳ１３０においてデータ内文字列から抽出した日付情報とを含んだファイル名を生成する。具体的には、ファイル名生成部２１は、特定文字列を接頭辞とし、日付情報を接尾辞とし、これら特定文字列と日付情報とをアンダーバー“_”や、ハイフン“-”等で結んだファイル名を生成する。例えば、ステップＳ１２０における検索でデータ内文字列から特定文字列として“invoice”を検出し、ステップＳ１３０において日付情報として“09/30/17”を抽出した場合には“invoice_2017/09/30”といったファイル名を生成することが可能である。
【００２９】
ステップＳ１５０では、制御部１１（表示制御部２２）は、ステップＳ１４０で生成したファイル名を表示部１２に表示させる。
図３は、表示制御部２２がステップＳ１５０で表示部１２に表示させるファイル保存設定画面４０の一例を示している。ファイル保存設定画面４０は、原稿画像表示欄４１、フォルダー設定欄４２、ファイル名入力欄４３等を含んでいる。原稿画像表示欄４１には、ステップＳ１００で取得した文書画像データに基づく画像ＩＭ、つまり原稿が表示され、ユーザーは、スキャナー３０に読み取らせた原稿を、原稿画像表示欄４１を通じて視認することができる。
【００３０】
フォルダー設定欄４２は、ステップＳ１００で取得した文書画像データの保存先としてのフォルダー（例えば、記憶部１５内のフォルダー）を設定するための入力欄である。ユーザーは、操作受付部１３等を操作してフォルダー設定欄４２に任意のフォルダー（既存のフォルダーあるいは新たに作成したフォルダー）を設定することができる。
【００３１】
ファイル名入力欄４３は、ステップＳ１００で取得した文書画像データに付けるファイル名を設定するための入力欄である。ユーザーは、操作受付部１３等を操作してファイル名入力欄４３に任意のファイル名を文字入力することで、ファイル名を設定することができる。ただし本実施形態では、図３に例示するように、表示制御部２２は、ファイル名入力欄４３の近傍にファイル名候補欄４４を表示させる。ファイル名候補欄４４は、ファイル名の設定履歴に基づくファイル名を表示するための第１欄４４ａと、ステップＳ１４０で生成されたファイル名を表示するための第２欄４４ｂとを含んでいる。第１欄４４ａには、例えば、過去（直近）にファイル名入力欄４３で設定された（ファイル保存に際してファイル名として実際に採用された）ファイル名が表示される。第２欄４４ｂには、ステップＳ１４０で生成されたファイル名、例えば、上述したような“invoice_2017/09/30”が表示される。
【００３２】
表示制御部２２は、ファイル名候補欄４４から選択されたファイル名をファイル名入力欄４３に設定する。つまり、ユーザーは、ファイル名候補欄４４からファイル名を選択する操作（ファイル名候補欄４４に表示されているファイル名のクリックまたはタップ等）を行うだけで、当該選択したファイル名をファイル名入力欄４３に設定することができる。
【００３３】
制御部１１は、ファイル保存設定画面４０に対するユーザーの入力に従って、ファイル名を決定する（ステップＳ１６０）。具体的には、制御部１１は、ファイル保存設定画面４０における所定ボタン（図３の例では、ＯＫボタン４５）への操作を検知すると、その時点でファイル名入力欄４３に設定しているファイル名を、ステップＳ１００で取得した文書画像データのファイル名に決定する。すなわちユーザーは、ステップＳ１４０で自動的に生成されたファイル名を、ファイル名候補欄４４（第２欄４４ｂ）で視認し、これを選択して承認する（ＯＫボタン４５を押す）だけで、スキャナー３０に読み取らせた原稿のスキャンデータ（文書画像データ）にファイル名を付けることができる。
【００３４】
そして、制御部１１は、ステップＳ１００で取得した文書画像データを、ステップＳ１６０で決定したファイル名を付したファイルとして保存する（ステップＳ１７０）。この場合、前記所定ボタン（ＯＫボタン４５）が操作された時点でフォルダー設定欄４２で設定されているフォルダーにファイルを保存する。このようなステップＳ１６０およびステップＳ１７０は、ほぼ同時に実行される。以上で、図２のフローチャートが終了する。
【００３５】
なお、表示制御部２２が、ステップＳ１５０で表示部１２に表示させるステップＳ１４０で生成されたファイル名は１つとは限らない。ステップＳ１２０における特定文字列の検索結果によっては、データ内文字列から複数の特定文字列の検索に成功する場合がある。そのため、ステップＳ１４０では、ファイル名生成部２１は、ステップＳ１２０における検索でデータ内文字列から検出した特定文字列毎に、特定文字列を含んだファイル名を生成する。そして、ステップＳ１５０では、それぞれ異なる特定文字列を含んだ複数のファイル名が表示され得る。図３の例では、ファイル名候補欄４４（第２欄４４ｂ）には、２つのファイル名“invoice_2017/09/30”および“bill_2017/09/30”が表示されている。これは、ステップＳ１２０において、データ内文字列から“invoice”および“bill”という２つの特定文字列が検出された事例を表している。
【００３６】
ステップＳ１２０における特定文字列の検索結果によっては、データ内文字列から特定文字列が１つも検出されない場合がある。このような場合、ファイル名生成部２１は、ステップＳ１４０では、特定文字列を含んだファイル名を生成できないため、ファイル名を生成しないとしてもよいし、特定文字列は含まないがステップＳ１３０で抽出した日付情報を含んだファイル名を生成するとしてもよい。同様に、ステップＳ１３０における日付情報の抽出結果によっては、データ内文字列から日付情報が１つも抽出されない場合がある。このような場合、ファイル名生成部２１は、ステップＳ１４０では、日付情報を含んだファイル名を生成できないため、ファイル名を生成しないとしてもよいし、日付情報は含まないがステップＳ１２０の検索により検出した特定文字列を含んだファイル名を生成するとしてもよい。このような例外的事例まで考慮すると、ステップＳ１５０では、ファイル名候補欄４４の第２欄４４ｂには、日付情報は含まないが特定文字列を含んだファイル名が表示されたり、特定文字列は含まないが日付情報を含んだファイル名が表示されたり、ファイル名が１つも表示されなかったりする可能性がある。
【００３７】
３．ステップＳ１３０の詳細：
図４は、ステップＳ１３０の詳細をフローチャートにより示している。ステップＳ１３０では、制御部１１は、先ず、データ内文字列からの日付情報の抽出を実行する（ステップＳ１３１）。プログラムＡに従って図４のフローチャートを実行する制御部１１を、日付情報抽出部あるいは発行日選択部、等と呼ぶことが出来る。
【００３８】
ステップＳ１３２では、制御部１１は、ステップＳ１３１でデータ内文字列から抽出した日付情報に対して予め定めた除外条件を適用し、除外条件に該当する日付情報は、日付情報から除外する（ステップＳ１３３以降の処理で日付情報として扱わない）。除外条件は種々考えられるが、本実施形態では、期間を限定する文字列（以下、期間限定用キーワード）とともに記述されていることを、除外条件の１つとする。期間限定用キーワードとは、例えば、“until”、“expire”、“before”等の、期間を限定する意味の単語である。原稿としてのレシート等においては、原稿の発行日以外にも、例えば、商品のキャンペーン、広告、ポイントの有効期限等に関する様々な日付情報が記載されていることが往々にしてある。そして、原稿の発行日に該当しないこれら日付情報は、期間限定用キーワードを伴っていることが多い。
【００３９】
期間限定用キーワードは、例えば、上述の特定文字列とは別にテーブルＴに予め登録されているとする。制御部１１は、データ内文字列において期間限定用キーワードとともに記述されている日付情報は、これを日付情報から除外する。データ内文字列において期間限定用キーワードとともに日付情報が記述されているとは、例えば、期間限定用キーワードと日付情報とが、データ内文字列における１行内あるいは連続する２行内に存在している場合等を指す。
【００４０】
また本実施形態では、ステップＳ１００で取得した文書画像データの生成日時よりも新しい日付情報であることを、除外条件の１つとする。文書画像データの生成日時は、例えば、文書画像データのプロパティ情報により判別可能である。原稿は、これが発行された後に、スキャナー３０により読み取られて、文書画像データが生成される。従って、文書画像データの生成日時よりも新しい（未来の）日付を指す日付情報は、原稿の発行日に該当することは有り得ない。そのため、制御部１１は、データ内文字列から抽出した日付情報のうち文書画像データの生成日時よりも新しい日付情報については、これを日付情報から除外する。
【００４１】
ステップＳ１３３では、制御部１１は、データ内文字列から複数の日付情報を抽出したか否かを判定する。つまり、ステップＳ１３１でデータ内文字列から抽出に成功した日付情報であって、ステップＳ１３２で除外条件を適用した結果、除外せずに残った日付情報が複数在るか否かを判定する。制御部１１は、ステップＳ１３３では、データ内文字列から複数の日付情報を抽出したと判定した場合は（ステップＳ１３３においてＹｅｓ）、ステップＳ１３４へ進み、データ内文字列から複数の日付情報を抽出しなかったと判定した場合は（ステップＳ１３３においてＮｏ）、ステップＳ１３０（図４）を終了する。
【００４２】
ステップＳ１３３において「Ｎｏ」と判定してステップＳ１３０を終えたということは、データ内文字列から日付情報を１つ抽出した場合と、データ内文字列から日付情報を１つも抽出できなかった場合とのいずれかである。ステップＳ１３０の結果、データ内文字列から日付情報を１つ抽出した場合には、当該抽出した日付情報を含んだファイル名が生成され（ステップＳ１４０）、表示部１２に表示される（ステップＳ１５０）。ステップＳ１３０の結果、データ内文字列から日付情報を１つも抽出できなかった場合のステップＳ１４０以降の処理は上述した通りである。
【００４３】
ステップＳ１３４では、制御部１１は、データ内文字列から抽出した複数の日付情報の中に時刻情報を含む日付情報が含まれているか否かを判定する。データ内文字列から抽出した複数の日付情報の中に、例えば、“09/30/17. 08:28pm”というように、使用されている記号や数字の組合せ等から時刻情報と判別できる文字列“08:28pm”とともに（例えば、１行内あるいは連続する２行内に）記述された日付情報が有れば、制御部１１は、時刻情報を含む日付情報有りと判定し（ステップＳ１３４においてＹｅｓ）、ステップＳ１３５へ進む。一方、時刻情報を含む日付情報有りと判定しなかった場合（ステップＳ１３４においてＮｏ）、ステップＳ１３６へ進む。
【００４４】
ステップＳ１３５では、制御部１１は、データ内文字列から抽出した複数の日付情報のうち上述のように時刻情報を含む日付情報を選択し、ステップＳ１３０（図４）を終了する。原稿（例えば、レシート等）においては、日までではなく時刻まで詳細に記載した日付情報は、原稿の発行日を指している可能性が非常に高い。そのため、本実施形態では、データ内文字列から複数の日付情報を抽出できた場合、時刻情報を含んでいる日付情報を優先して選択する。ステップＳ１３５における日付情報の選択は、ステップＳ１３０における日付情報の抽出を確定する処理である。従って、ステップＳ１３０をステップＳ１３５で終えた場合には、ステップＳ１３５で選択した日付情報が、ステップＳ１３０で抽出した日付情報としてステップＳ１４０以降で扱われる。なお、ステップＳ１３０で抽出した日付情報が、時刻情報を含んだ日付情報であったとしても、制御部１１は、ステップＳ１５０では、時刻情報まで表示部１２に表示させる必要は無い（図３の第２欄４４ｂ参照）。
【００４５】
制御部１１は、データ内文字列から抽出した複数の日付情報の中に時刻情報を含む日付情報が複数有る場合には、それら時刻情報を含む複数の日付情報を全てステップＳ１３５で選択してもよい。ただし、原稿に記載された複数の日付情報の中で古い日付情報が当該原稿の発行日である可能性が高いという実情に鑑みて、ステップＳ１３５では、データ内文字列から抽出した複数の日付情報の中に時刻情報を含む日付情報が複数有る場合には、それら時刻情報を含む複数の日付情報のうち、示す日時がより古い日付情報を選択すればよい。
【００４６】
ステップＳ１３６では（時刻情報を含む日付情報を選択しなかった場合は）、制御部１１は、ステップＳ１００で取得した文書画像データに基づいて原稿の種類を判別する。文書画像データに基づく原稿種類の判別方法は、主に２通りである。
１つは、文書画像データが示す原稿サイズ（原稿の縦横の長さ）に基づく判別方法である。原稿サイズは、文書画像データのプロパティ情報に含まれている。あるいは、原稿サイズが文書画像データのプロパティ情報に含まれていない場合であっても、制御部１１は、文書画像データの画素数と解像度（１インチあたりの画素数）とに基づいて原稿サイズを把握することができる。制御部１１は、文書画像データが示す原稿サイズが、所定のレシートサイズに該当する場合、原稿の種類はレシートであると判別する。レシートは、多くの場合、比較的小さく、かつ長尺状の紙であるため、制御部１１は、レシートサイズの範囲（縦横それぞれの長さの範囲）を予め規定しておき、規定したレシートサイズの範囲に原稿サイズが該当する場合に、原稿の種類はレシートであると判別する。
【００４７】
ただし、制御部１１は、文書画像データが示す原稿サイズが、いわゆるレターサイズに該当する場合には、原稿の種類は第２種のレシートと判別する。上述のレシートサイズの範囲は、レターサイズとは異なるサイズの範囲を規定している。よって、制御部１１は、原稿サイズが上述のレシートサイズの範囲に該当する場合には原稿の種類は第１種のレシートと判別し、原稿サイズがレターサイズに該当する場合には原稿の種類は第２種のレシートと判別する、と言える。ちなみに、第２種のレシートとしては、ホテル等の宿泊施設が発行したレシートが想定される。
【００４８】
もう１つの、文書画像データに基づく原稿種類の判別方法は、データ内文字列に基づく判別方法である。制御部１１は、データ内文字列から、例えば、“hotel”という言葉や、その他の宿泊施設に関連する所定のキーワードの検索に成功した場合、原稿の種類は第２種のレシートと判別する。その他にも、制御部１１は、データ内文字列における上述した特定文字列の検索結果に応じて、原稿の種類が第１種のレシートであることや、請求書や契約書等であることを判別（推測）することができる。
【００４９】
ステップＳ１３７では、制御部１１は、データ内文字列から抽出した複数の日付情報の中から、ステップＳ１３６で判別した原稿の種類に応じて日付情報を選択し、ステップＳ１３０（図４）を終了する。ステップＳ１３７における日付情報の選択も、ステップＳ１３０における日付情報の抽出を確定する処理である。従って、ステップＳ１３０をステップＳ１３７で終えた場合には、ステップＳ１３７で選択した日付情報が、ステップＳ１３０で抽出した日付情報としてステップＳ１４０以降で扱われる。
【００５０】
ステップＳ１３７の具体例について説明する。制御部１１は、原稿の種類に応じて、データ内文字列から抽出した複数の日付情報の中から、より古い日付情報又は、より新しい日付情報のどちらかを選択する。原稿の種類がレシート（第１種のレシート）である場合には、制御部１１は、複数の日付情報の中で古い日付情報を優先して選択する。これは、上述したようにレシートには、商品のキャンペーン、広告、ポイントの有効期限等に関する日付（レシートの発行日よりも未来の日付）が記載されていることがあり、このようなレシートの発行日よりも未来の日付を選択することを避けるためである。一方、原稿の種類が第２種のレシートである場合には、制御部１１は、複数の日付情報の中で新しい日付情報を優先して選択する。これは、宿泊施設のレシートには、基本的にチェックインの日付情報やチェックアウトの日付情報が記載されているが、より新しい日付情報を優先して選択することで、実際に原稿が発行された日付、つまりチェックアウトの日付を選択できるからである。なお、制御部１１は、ステップＳ１３６において、原稿の種類が第１種のレシート、第２種のレシートのいずれにも該当しないと判別した場合は、ステップＳ１３７では、複数の日付情報の中でより古い日付情報を優先して選択すればよい。
【００５１】
これまでの説明から判るように、ステップＳ１３０（図４）を終えた時点でデータ内文字列から抽出されている日付情報は、原稿の発行日を示す可能性が高い日付情報である。換言すると、制御部１１は、データ内文字列から原稿の発行日を示す日付情報を選択して抽出する。なお、データ内文字列から抽出できた日付情報が１つである場合（ステップＳ１３３において「Ｎｏ」の判定をしてステップＳ１３０を終えた場合）、制御部１１は、当該抽出した日付情報を原稿の発行日とみなす。従って、制御部１１は、ステップＳ１３０において、データ内文字列の中から日付情報を抽出することにより原稿の発行日を選択すると言える。また、ステップＳ１３０を終えた時点でデータ内文字列から抽出されている日付情報は、上述の除外条件（ステップＳ１３２参照）に該当しない日付情報である。つまり、ステップＳ１３０では、制御部１１は、期間限定用キーワードとともに記述された日付情報は最終的に抽出する選択肢から除外し、また、文書画像データの生成日時よりも新しい日付情報は最終的に抽出する選択肢から除外する。これにより、原稿の発行日に該当する可能性が極めて低い不適切な日付情報を原稿の発行日として選択することを回避できる。ステップＳ１３２は、図４のフローチャートにおいて必須ではないが、これを実行した方が、より適切に原稿の発行日を選択することができる。
【００５２】
４．まとめ：
このように本実施形態によれば、画像処理装置１０は、原稿の読み取りにより生成された文書画像データを取得し（ステップＳ１００）、文字認識により文書画像データに含まれている文字列（データ内文字列）を認識する制御部１１を備える。制御部１１は、データ内文字列の中から、予めテーブルＴに登録された特定文字列を検索し（ステップＳ１２０）、検索により検出した特定文字列を含んだファイル名を文書画像データのファイル名として表示部１２に表示させる（ステップＳ１４０，Ｓ１５０）。当該構成によれば、制御部１１は、前記検索により検出した特定文字列を含んだファイル名をユーザーに提示する。よって、ユーザーは、提示された（表示部１２に表示された）ファイル名を承認する所定の操作を行うだけで、文書画像データに適切なファイル名を設定することができる。また当該構成によれば、原稿における文書のフォームや原稿のサイズを問わず、原稿にとって適切なファイル名（特定文字列を含んだファイル名）を提示し、ユーザーの手間を大きく減らすことができる。
【００５３】
また本実施形態によれば、テーブルＴには、例えば“invoice”、“bill”、“contract”等の、原稿（レシート、請求書、契約書等）のデータ内文字列に含まれていることが想定される言葉であって原稿の種類を端的に表す言葉や、過去にユーザーがファイル名として入力した文字列が、特定文字列として登録されている。この結果、制御部１１は、データ内文字列からの特定文字列の検索を行うことにより、原稿の種類や過去のユーザーによるファイル命名の傾向を反映した適切なファイル名をユーザーに提示し、文書画像データに対する適切な名付けを容易化させることができる。また、このような原稿の種類や過去のユーザーによるファイル命名の傾向を反映した適切なファイル名が文書画像データに付けられて保存されることで、後に、ユーザーが記憶部１５等に保存済みのファイルを検索する際に、所望のファイルを容易に見つけることが可能となる。
【００５４】
また本実施形態によれば、制御部１１は、データ内文字列の中から日付情報を抽出し（ステップＳ１３０）、表示させるファイル名に当該抽出した日付情報を含ませる（ステップＳ１４０，Ｓ１５０）。当該構成によれば、制御部１１は、データ内文字列からの前記検索により検出した特定文字列だけでなく、データ内文字列から抽出した日付情報つまり原稿の発行日を含んだ、より適切なファイル名をユーザーに提示し、文書画像データに対する名付けを容易化させることができる。
【００５５】
さらに本実施形態によれば、制御部１１が実行するステップＳ１３０では、データ内文字列の中から複数の日付情報を抽出した場合に、複数の日付情報の中の時刻情報を含む日付情報を原稿の発行日として選択する。つまり、制御部１１は、データ内文字列の中から複数の日付情報を抽出した場合（ステップＳ１３３においてＹｅｓ）、複数の日付情報の中から前記発行日を選択する。このとき、優先事項として、複数の日付情報の中に時刻情報を含む日付情報が含まれている場合には（ステップＳ１３４においてＹｅｓ）、時刻情報を含む日付情報を選択する（ステップＳ１３５）。これにより、データ内文字列から複数の日付情報が抽出されたとき、原稿の発行日に該当する可能性が相対的に高い日付情報を、原稿の発行日として選択することができる。
【００５６】
また本実施形態によれば、制御部１１は、時刻情報を含む日付情報を選択しなかった場合（ステップＳ１３４においてＮｏ）、文書画像データに基づいて原稿の種類を判別し（ステップＳ１３６）、原稿の種類に応じて前記複数の日付情報の中から日付情報を選択する（ステップＳ１３７）。これにより、データ内文字列の中から抽出した複数の日付情報の中に、時刻情報を含む日付情報が無かったり、時刻情報を含む日付情報が有ったとしてもそれが前記除外条件に該当したりする場合であっても、原稿の種類に応じて複数の日付情報の中から原稿の発行日を適切に選択することができる。
【００５７】
５．変形例：
本実施形態は上述した態様に限られず、種々の変形例を含み得る。以下では、本実施形態に含まれる変形例を複数説明する。
図５Ａは、ステップＳ１２０（図２）の一つの変形例を示している。また図５Ｂは、ステップＳ１２０（図２）の別の変形例を示している。図５Ａの例では、ステップＳ１２０は、ステップＳ１２１，Ｓ１２２，Ｓ１２３の各ステップを含んでいる。また、図５Ｂの例では、ステップＳ１２０は、ステップＳ１２１，Ｓ１２３の各ステップを含んでいる。ステップＳ１２１は、これまでに説明したステップＳ１２０と同じ処理である。
【００５８】
図５Ａの例においては、制御部１１は、ステップＳ１２１の実行後、ステップＳ１２１における特定文字列の検索の結果、データ内文字列から特定文字列を検出できたか否かにより処理を分岐する（ステップＳ１２２）。つまり、制御部１１は、データ内文字列から特定文字列を１つ以上検出できた場合には（ステップＳ１２２においてＹｅｓ）、ステップＳ１２０を終了し、次のステップ（図２の例ではステップＳ１３０）に進む。一方、制御部１１は、データ内文字列から特定文字列を１つも検出できなかった場合には（ステップＳ１２２においてＮｏ）、ステップＳ１２３に進み、ステップＳ１２３を終えてから次のステップ（図２の例ではステップＳ１３０）に進む。
【００５９】
ステップＳ１２３では、制御部１１は、原稿サイズに基づいて原稿の種類を示す文字列を決定する。既に説明したように、制御部１１は、原稿サイズを、文書画像データに基づいて把握可能である。制御部１１は、原稿サイズが上述のレシートサイズの範囲に該当する場合には、原稿の種類（第１種のレシート）を示す文字列として、例えば“receipt”という文字列を決定する。また、原稿サイズがレターサイズに該当する場合には、原稿の種類（第２種のレシート）を示す文字列として、例えば“hotel receipt”という文字列を決定する。また、制御部１１は、原稿サイズが、規定の名刺サイズに該当する場合には、原稿の種類（名刺）を示す文字列として、例えば“name card”という文字列を決定する。このようにステップＳ１２３では、制御部１１は、原稿サイズから推測される原稿の種類を示す文字列を、所定のポリシー（例えば、予め定められた原稿サイズと文字列との対応関係）に従って決定する。
【００６０】
上述したようにステップＳ１４０（図２）では、制御部１１は、ステップＳ１００で取得した文書画像データを保存する際に付けるファイル名を、ステップＳ１２０，Ｓ１３０の結果を用いて生成する。
図５Ａに示したステップＳ１２０を実行する構成においては、制御部１１は、ステップＳ１２１でデータ内文字列から特定文字列の検索に成功した場合には、ステップＳ１４０では、ステップＳ１２１の検索でデータ内文字列から検出した特定文字列を含んだファイル名を生成する。そして、ステップＳ１５０では特定文字列を含んだファイル名を表示する。一方、ステップＳ１２１でデータ内文字列から特定文字列を検出できなかった場合には、ステップＳ１４０では、ステップＳ１２３で原稿サイズに基づいて決定した文字列を含んだファイル名を生成し、ステップＳ１５０では原稿サイズに基づいて決定した文字列を含んだファイル名を表示する。
【００６１】
図５Ｂの例においては、制御部１１は、ステップＳ１２１，Ｓ１２３の両方を実行する。従って、図５Ｂに示したステップＳ１２０を実行する構成においては、制御部１１は、ステップＳ１２１でデータ内文字列から特定文字列の検索に成功した場合には、ステップＳ１４０では、ステップＳ１２１の検索でデータ内文字列から検出した特定文字列を含んだファイル名を生成する。さらに、制御部１１は、ステップＳ１２１でデータ内文字列から特定文字列の検索に成功したか否かに関係なく、ステップＳ１４０では、ステップＳ１２３で原稿サイズに基づいて決定した文字列を含んだファイル名も生成する。この結果、基本的には、ステップＳ１５０では特定文字列を含んだファイル名と、原稿サイズに基づいて決定した文字列を含んだファイル名とを表示する。
【００６２】
図５Ａの例によれば、制御部１１は、データ内文字列から特定文字列の検索に成功しなかったとしても、文書画像データの保存に際しての適切なファイル名をユーザーに提示することができる。また、図５Ｂの例によれば、制御部１１は、文書画像データの保存に際しての適切なファイル名の選択肢をより多くユーザーに提示することができる。
【００６３】
これまで、ステップＳ１３０（図４）は、図２のフローチャートの一部、つまり文書画像データにファイル名を付けて保存する過程の一部として説明した。しかし、ステップＳ１３０（図４）で説明した内容は、図２のフローチャートと切り離して捉えることも可能である。例えば、ステップＳ１３０により原稿の発行日として決定した日付情報について、制御部１１は、原稿の発行日（Issue date）として表示部１２に表示するとしてもよい。
【００６４】
図６は、制御部１１がプログラムＡに従って実行する、本実施形態の一つの変形例としての発行日決定表示処理をフローチャートにより示している。
ステップＳ２００，Ｓ２１０，Ｓ２２０は、これまでに説明したステップＳ１００，Ｓ１１０，Ｓ１３０と同じ処理であるため、説明を省略する。
ステップＳ２３０では、制御部１１は、ステップＳ２２０（＝Ｓ１３０、図４）により抽出した日付情報（原稿の発行日として選択した日付情報）を、原稿の発行日（issue date）として表示部１２に表示させる。
【００６５】
図７は、制御部１１（表示制御部２２）がステップＳ２３０で表示部１２に表示させるスキャンデータ管理画面５０の一例を示している。図７の例では、スキャンデータ管理画面５０は、画面の左側に原稿画像表示欄５１を含んでいる。原稿画像表示欄５１には、ステップＳ２００で取得した文書画像データに基づく画像ＩＭ２、つまり原稿（例えば、レシート）の表示がなされ、ユーザーは、スキャナー３０に読み取らせた原稿を、原稿画像表示欄５１を通じて視認することができる。また、図７の例では、スキャンデータ管理画面５０は、画面の右側に複数の設定入力欄を含んでいる。ユーザーは、各設定入力欄に対して、原稿の内容に基づいた入力を行うことができる。
【００６６】
このようなスキャンデータ管理画面５０を表示する場合、制御部１１は、複数の設定入力欄のうちの１つである発行日入力欄５２に、ステップＳ２２０において原稿の発行日として決定した日付情報を表示させる。図７の例では、原稿画像表示欄５１において原稿の全体を表示している訳ではないが、符号Ｄ１，Ｄ２で示すように、原稿の各位置には日付情報が存在している。このうち、日付情報Ｄ２は、期間限定用キーワード“expire”を伴っているため、ステップＳ２２０（＝Ｓ１３０、図４）の結果、日付情報として抽出されることはない（原稿の発行日として選択されることはない）。一方、日付情報Ｄ１は、時刻情報を含んでいるため、ステップＳ２２０（＝Ｓ１３０、図４）の結果、日付情報として抽出される（原稿の発行日として選択される）。従って、図７の例では、発行日入力欄５２には、原稿の発行日として“2017/09/30”という日付が自動的に表示される。
【００６７】
制御部１１は、例えば、スキャンデータ管理画面５０に対する設定入力を終了させる所定の操作をユーザーから受け付けた場合に、スキャンデータ管理画面５０の各設定入力欄における現在の設定内容を、ステップＳ２００で取得した文書画像データとともに保存し（ステップＳ２４０）、スキャンデータ管理画面５０を閉じて、図６のフローチャートを終了する。ユーザーは、文書画像データとともに保存した設定内容については、再びスキャンデータ管理画面５０を開くことで随時編集することが可能である。
【００６８】
なお図３や図７は、ステップＳ１５０（図２）やステップＳ２３０（図６）におけるファイル名や原稿の発行日の表示態様の一例を示しているに過ぎない。ステップＳ１５０（図２）やステップＳ２３０（図６）における表示態様、例えば、表示部１２に表示させる画面上のレイアウトやデザイン、表示部１２に表示させる画面の目的や役割は、様々である。
【００６９】
さらに、本実施形態によるファイル名の生成、表示の方法は、ファイルを保存するためのフォルダーのフォルダー名の生成、表示にも応用することができる。つまり、制御部１１は、データ内文字列の中から、予め登録された特定文字列を検索し、検索により検出した特定文字列を含んだフォルダー名を、文書画像データの保存先のフォルダー名として表示部１２に（例えば、フォルダー設定欄４２の近傍に）表示させる。また、制御部１１は、データ内文字列の中から日付情報を抽出し、前記表示させるフォルダー名に前記抽出した日付情報を含ませるとしてもよい。ユーザーは、このように表示部１２に表示されたフォルダー名を選択することにより、文書画像データをファイル保存する際の保存先のフォルダー（新しく作成するフォルダー）のフォルダー名を容易に決定することができる。
【符号の説明】
【００７０】
１０…画像処理装置、１１…制御部、１２…表示部、１３…操作受付部、１４…通信ＩＦ、１５…記憶部、２０…データ取得部、２１…ファイル名生成部、２２…表示制御部、３０…スキャナー、４０…ファイル保存設定画面、４１…原稿画像表示欄、４２…フォルダー設定欄、４３…ファイル名入力欄、４４…ファイル名候補欄、４４ａ…第１欄、４４ｂ…第２欄、５０…スキャンデータ管理画面、５１…原稿画像表示欄、５２…発行日入力欄、Ａ…プログラム、Ｔ…テーブル
【図１】
2019114193.tif 000003
【図２】
2019114193.tif 000004
【図３】
2019114193.tif 000005
【図４】
2019114193.tif 000006
【図５】
2019114193.tif 000007
【図６】
2019114193.tif 000008
【図７】
2019114193.tif 000009