(57)【要約】【課題】情報保持画像が保持する情報に基づいて読取データをサーバに処理させる場合において、ユーザの作業負担を軽減する技術を提供する。【解決手段】サーバプログラムは、読取装置から読取データを取得する取得処理と、読取データで示される読取画像からマークを検出する検出処理（Ｓ２１）と、複数のマークそれぞれに対応付けてメモリに記憶されている複数の項目情報のうち、検出処理で検出したマークに対応する項目情報をメモリから読み出す読出処理（Ｓ２３）と、読み出した項目情報で示される項目に対応する文字列を読取画像から抽出する抽出処理（Ｓ２４）と、抽出した文字列を保持する情報保持画像を生成する生成処理（Ｓ２５）と、情報保持画像が保持する文字列に従って読取画像を解析させるために、読取画像及び情報保持画像を含む出力データをサーバに送信する送信処理とをコンピュータに実行させる。【選択図】図４
2018186416.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、通信インタフェースとを備えるコンピュータによって実行可能なプログラムであって、
該プログラムは、読取データを取得する取得処理を前記コンピュータに実行させ、前記読取データは、各々が複数の項目の１つに対応する複数の文字列、及び視覚的に区別可能な複数のマークのうちの少なくとも１つが記録された原稿を、前記コンピュータに接続された読取装置が読み取って生成したデータであり、
該プログラムは、
前記取得処理で取得した前記読取データで示される読取画像内において、前記複数のマークのうちの１つのマークを検出する検出処理と、
前記複数のマークそれぞれに対応付けて前記メモリに記憶されており且つ各々が前記複数の項目の１つを示す複数の項目情報のうち、前記検出処理で検出した前記１つのマークに対応する対応項目情報を、前記メモリから読み出す読出処理と、
前記読出処理で読み出した前記対応項目情報で示される前記項目に対応する前記文字列を、第１アルゴリズムで前記読取画像から抽出する抽出処理と、
前記抽出処理で抽出した前記文字列を保持する情報保持画像を生成する生成処理とを前記コンピュータに実行させ、前記情報保持画像は、第２アルゴリズムで前記文字列を抽出可能な形式の画像であり、
該プログラムは、前記第２アルゴリズムによる処理を実行可能なサーバに前記情報保持画像が保持する前記文字列に従って前記読取画像を解析させるために、前記読取画像及び前記情報保持画像を含む出力データを前記通信インタフェースを通じて前記サーバに送信する送信処理を前記コンピュータに実行させるプログラム。
【請求項２】
該プログラムは、
前記読出処理において、前記複数のマークそれぞれに対応付けて前記メモリに記憶されており且つ各々が複数の前記サーバの１つを識別する複数のサーバＩＤのうち、前記検出処理で検出した前記マークに対応する対応サーバＩＤを、前記メモリからさらに読み出し、
前記送信処理において、前記通信インタフェースを通じて通信可能な前記複数のサーバのうち、前記読出処理で読み出した前記対応サーバＩＤで識別される前記サーバに、前記通信インタフェースを通じて前記出力データを送信する請求項１に記載のプログラム。
【請求項３】
該プログラムは、
前記取得処理において、複数の原稿を順番に読取可能な前記読取装置であるスキャナから、各々が１枚の原稿に記録された画像に対応する複数の前記読取画像を含む前記読取データを取得し、
前記読取データに含まれる前記複数の読取画像それぞれに対して、前記検出処理、前記読出処理、前記抽出処理、前記生成処理、及び前記送信処理を前記コンピュータに実行させる請求項２に記載のプログラム。
【請求項４】
前記メモリは、
第１項目を示す第１項目情報及び第１サーバを識別する第１サーバＩＤを、第１マークに対応付けて記憶し、
第２項目を示す第２項目情報及び第２サーバを識別する第２サーバＩＤを、第２マークに対応付けて記憶し、
該プログラムは、
前記取得処理において、第１読取画像及び第２読取画像を含む前記読取データを取得し、
前記検出処理で前記第１読取画像から前記第１マークを検出したことに応じて、
前記第１マークに対応する前記第１項目情報及び前記第１サーバＩＤを、前記メモリから読み出す前記読出処理と、
前記第１項目情報で示される前記第１項目に対応する第１文字列を、前記第１読取画像から抽出する前記抽出処理と、
前記第１文字列を保持する第１情報保持画像を生成する前記生成処理と、
前記第１読取画像及び前記第１情報保持画像を含む第１出力データを、前記第１サーバＩＤで識別される前記第１サーバに、前記通信インタフェースを通じて送信する前記送信処理とを前記コンピュータに実行させ、
前記検出処理で前記第２読取画像から前記第２マークを検出したことに応じて、
前記第２マークに対応する前記第２項目情報及び前記第２サーバＩＤを、前記メモリから読み出す前記読出処理と、
前記第２項目情報で示される前記第２項目に対応する第２文字列を、前記第２読取画像から抽出する前記抽出処理と、
前記第２文字列を保持する第２情報保持画像を生成する前記生成処理と、
前記第２読取画像及び前記第２情報保持画像を含む第２出力データを、前記第２サーバＩＤで識別される前記第２サーバに、前記通信インタフェースを通じて送信する前記送信処理とを前記コンピュータに実行させる請求項３に記載のプログラム。
【請求項５】
該プログラムは、前記生成処理で生成した前記情報保持画像を前記読取画像に合成する合成処理を前記コンピュータに実行させ、
前記送信処理において、前記合成処理で前記情報保持画像を合成した前記読取画像を示す前記出力データを、前記通信インタフェースを通じて前記サーバに送信する請求項１から４のいずれかに記載のプログラム。
【請求項６】
該プログラムは、前記合成処理において、前記読取画像に含まれる前記マークの位置に、前記情報保持画像を合成する請求項５に記載のプログラム。
【請求項７】
該プログラムは、前記取得処理において、通信ネットワークを通じて接続された前記読取装置から、前記通信インタフェースを通じて前記読取データを受信する請求項１から６のいずれかに記載のプログラム。
【請求項８】
前記マークは、複数の色のうちの１つで塗りつぶされた予め定められた形状の図形である請求項１から７のいずれかに記載のプログラム。
【請求項９】
メモリと、
通信インタフェースと、
コントローラとを備える情報処理装置であって、
前記コントローラは、前記通信インタフェースを通じて読取装置から読取データを取得する受信処理を実行し、前記読取データは、各々が複数の項目の１つに対応する複数の文字列、及び視覚的に区別可能な複数のマークのうちの少なくとも１つが記録された原稿を、前記読取装置が読み取って生成したデータであり、
前記コントローラは、
前記受信処理で受信した前記読取データで示される読取画像内において、前記複数のマークのうちの１つのマークを検出する検出処理と、
前記複数のマークそれぞれに対応付けて前記メモリに記憶されており且つ各々が前記複数の項目の１つを示す複数の項目情報のうち、前記検出処理で検出した前記１つのマークに対応する対応項目情報を、前記メモリから読み出す読出処理と、
前記読出処理で読み出した前記対応項目情報で示される前記項目に対応する前記文字列を、第１アルゴリズムで前記読取画像から抽出する抽出処理と、
前記抽出処理で抽出した前記文字列を保持する情報保持画像を生成する生成処理とを実行し、前記情報保持画像は、第２アルゴリズムで前記文字列を抽出可能な形式の画像であり、
前記コントローラは、前記第２アルゴリズムによる処理を実行可能なサーバに前記情報保持画像が保持する前記文字列に従って前記読取画像を解析させるために、前記読取画像及び前記情報保持画像を含む出力データを前記通信インタフェースを通じて前記サーバに送信する送信処理を実行する情報処理装置。
【請求項１０】
読取装置と、メモリ、通信インタフェース、及びコントローラを備える情報処理装置とを備えるシステムであって、
前記読取装置は、
各々が複数の項目の１つに対応する複数の文字列、及び視覚的に区別可能な複数のマークのうちの少なくとも１つが記録された原稿を読み取って、読取データを生成する読取処理と、
通信ネットワークを通じて接続された前記情報処理装置に、前記読取処理で生成した前記読取データを送信する第１送信処理とを実行し、
前記情報処理装置の前記コントローラは、 
前記通信インタフェースを通じて前記読取装置から読取データを受信する受信処理と、
前記受信処理で受信した前記読取データで示される読取画像内において、前記複数のマークのうちの１つのマークを検出する検出処理と、
前記複数のマークそれぞれに対応付けて前記メモリに記憶されており且つ各々が前記複数の項目の１つを示す複数の項目情報のうち、前記検出処理で検出した前記１つのマークに対応する対応項目情報を、前記メモリから読み出す読出処理と、
前記読出処理で読み出した前記対応項目情報で示される前記項目に対応する前記文字列を、第１アルゴリズムで前記読取画像から抽出する抽出処理と、
前記抽出処理で抽出した前記文字列を保持する情報保持画像を生成する生成処理とを実行し、前記情報保持画像は、第２アルゴリズムで前記文字列を抽出可能な形式の画像であり、
前記コントローラは、前記第２アルゴリズムによる処理を実行可能なサーバに前記情報保持画像が保持する前記文字列に従って前記読取画像を解析させるために、前記読取画像及び前記情報保持画像を含む出力データを前記通信インタフェースを通じて前記サーバに送信する送信処理を実行するシステム。
【請求項１１】
前記読取装置は、前記読取処理において、複数の原稿を順番に読み取って、複数の前記読取画像を含む前記読取データを生成し、
前記コントローラは、前記読取データに含まれる前記複数の読取画像それぞれに対して、前記検出処理、前記読出処理、前記抽出処理、前記生成処理、及び前記送信処理を実行する請求項１０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、読取データを処理する情報処理装置のプログラムに関する。
【背景技術】
【０００２】
例えば特許文献１には、バーコードが記録された原稿をスキャナで読み取ってスキャンデータを生成し、スキャンデータに含まれるバーコードを解析し、解析結果に応じた処理を実行する複合機が開示されている。そして特許文献１には、複数の原稿を無造作に原稿台に載置するだけで、所望の処理結果を得ることができると記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−０８１６５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の複合機を利用するユーザは、所望の処理を実行させるためのバーコードを原稿に付与してから、当該原稿を原稿台に載置する必要がある。しかしながら、バーコードは、所定のアルゴリズムで画像処理をして初めて意味内容を判別することができるものであって、ユーザが一見しただけで意味内容を判別することは極めて難しい。すなわち、特許文献１の技術では、適切なバーコードを原稿に付与したか否かを確認するユーザの作業負担が大きいという課題がある。
【０００５】
本発明は、上記の事情に鑑みてなされたものであり、情報保持画像が保持する情報に基づいて読取データをサーバに処理させる場合において、ユーザの作業負担を軽減する技術を提供することにある。
【課題を解決するための手段】
【０００６】
本明細書では様々な開示を行う。開示例の１つであるプログラムは、メモリと、通信インタフェースとを備えるコンピュータによって実行可能である。該プログラムは、読取データを取得する取得処理を前記コンピュータに実行させる。前記読取データは、各々が複数の項目の１つに対応する複数の文字列、及び視覚的に区別可能な複数のマークのうちの少なくとも１つが記録された原稿を、前記コンピュータに接続された読取装置が読み取って生成したデータである。該プログラムは、前記取得処理で取得した前記読取データで示される読取画像内において、前記複数のマークのうちの１つのマークを検出する検出処理と、前記複数のマークそれぞれに対応付けて前記メモリに記憶されており且つ各々が前記複数の項目の１つを示す複数の項目情報のうち、前記検出処理で検出した前記１つのマークに対応する対応項目情報を、前記メモリから読み出す読出処理と、前記読出処理で読み出した前記対応項目情報で示される前記項目に対応する前記文字列を、第１アルゴリズムで前記読取画像から抽出する抽出処理と、前記抽出処理で抽出した前記文字列を保持する情報保持画像を生成する生成処理とを前記コンピュータに実行させる。前記情報保持画像は、第２アルゴリズムで前記文字列を抽出可能な形式の画像である。該プログラムは、前記第２アルゴリズムによる処理を実行可能なサーバに前記情報保持画像が保持する前記文字列に従って前記読取画像を解析させるために、前記読取画像及び前記情報保持画像を含む出力データを前記通信インタフェースを通じて前記サーバに送信する送信処理を前記コンピュータに実行させる。
【０００７】
ユーザは、視覚的に区別可能な複数のマークのうちの所望のマークを原稿に付加すればよいので、バーコードを付加する場合と比較して、原稿に付加したマークが適切か否かを簡単に確認できる。一方、サーバは、従来と同様に、情報保持画像が保持する文字列に従って読取画像を解析することができる。すなわち上記構成によれば、既存のサーバの処理を変更せずに、ユーザの作業負担を軽減することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係るシステム１００のブロック図である。
【図２】図２は、メモリ６２に記憶される項目リストの例を示す図である。
【図３】図３は、システム１００の処理の概略を示すシーケンス図である。
【図４】図４は、バーコード合成処理のフローチャートである。
【図５】図５は、スキャナ１０に読み取らせる請求書１１０、１２０の例であって、（Ａ）はマーク１１１が付加された請求書１１０を、（Ｂ）はマーク１２１が付加された請求書１２０を示す。
【図６】図６は、バーコード合成処理で生成された編集スキャンデータで示される編集スキャン画像の例であって、（Ａ）はマーク１１１をバーコード画像１１２に置換した例を、（Ｂ）はマーク１２１をバーコード画像１２２に置換した例を示す。
【発明を実施するための形態】
【０００９】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。
【００１０】
図１は、本実施形態に係るシステム１００の概略図である。図１に示されるシステム１００は、１以上のスキャナ１０と、中継サーバ５０と、解析サーバ８０Ａ、８０Ｂ（これらを総称して、「解析サーバ８０」と表記することがある。）とで構成されている。スキャナ１０、中継サーバ５０、及び解析サーバ８０は、通信ネットワーク１０１を介して相互に通信可能とされている。通信ネットワーク１０１の具体例は特に限定されないが、例えば、インターネット、有線ＬＡＮ、無線ＬＡＮ、或いはこれらの組み合わせであってもよい。
【００１１】
スキャナ１０は、コンタクトガラス或いはＡＤＦにセットされた原稿に記録された画像を読み取って、当該画像を示すスキャンデータを生成するハードウェアである。また、スキャナ１０は、通信ネットワーク１０１を通じて接続された外部装置（例えば、中継サーバ５０）に、生成したスキャンデータを送信することができる。スキャナ１０は、読取装置の一例である。但し、読取装置の具体例はスキャナ１０に限定されず、原稿に記録された画像を撮影して、撮影データを生成するカメラであってもよい。スキャンデータ及び撮影データは読取データの一例であり、スキャンデータ及び撮影データで示される画像は読取画像の一例である。
【００１２】
中継サーバ５０は、図１に示されるように、ディスプレイ５３と、入力Ｉ／Ｆ５４と、通信Ｉ／Ｆ５５と、ＣＰＵ６１と、メモリ６２と、通信バス６３とを主に備える。中継サーバ５０を構成する各構成要素は、通信バス６３を通じて相互に接続されている。中継サーバ５０は、例えば、ＰＣであってもよい。
【００１３】
ディスプレイ５３は、液晶ディスプレイ、有機ＥＬディスプレイ等であり、各種情報を表示する表示画面を備える。入力Ｉ／Ｆ５４は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力Ｉ／Ｆ５４は、キーボード、マウス、ディスプレイ５３に重畳されたタッチセンサ、或いはこれらの組み合わせである。
【００１４】
通信Ｉ／Ｆ５５は、通信ネットワーク１０１を通じて外部装置と通信可能な通信インタフェースの一例である。すなわち、中継サーバ５０は、通信Ｉ／Ｆ５５を通じて外部装置に各種情報を送信し、通信Ｉ／Ｆ５５を通じて外部装置から各種情報を受信する。通信Ｉ／Ｆ５５の具体的な構成は特に限定されないが、例えば、ＬＡＮケーブルが着脱されるＬＡＮインタフェース、或いはＷｉ−Ｆｉ（登録商標）に準拠した無線信号を送受信するアンテナである。
【００１５】
ＣＰＵ６１は、中継サーバ５０の全体動作を制御するものである。ＣＰＵ６１は、入力Ｉ／Ｆ５４を通じて入力された各種情報、通信Ｉ／Ｆ５５を通じて外部装置から受信した各種情報等に基づいて、後述する各種プログラムをメモリ６２から読み出して実行する。ＣＰＵ６１及びメモリ６２は、コントローラの一例を構成する。
【００１６】
メモリ６２は、ＯＳ６４と、サーバプログラム６５とを記憶している。サーバプログラム６５は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ６２は、サーバプログラム６５の実行に必要なデータ或いは情報等を記憶する。メモリ６２は、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ、中継サーバ５０に着脱されるＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ６１が備えるバッファ等、或いはそれらの組み合わせによって構成される。
【００１７】
メモリ６２は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００１８】
メモリ６２は、例えば図２に示される項目リストを記憶することができる。項目リストは、１以上の項目レコードを含む。項目レコードは、例えば、中継サーバ５０の管理者によって、入力Ｉ／Ｆ５４を通じて項目リストに登録される。項目レコードは、例えば、色情報と、項目情報と、サーバＩＤとを含む。すなわち、メモリ６２は、マークを構成する複数の色それぞれに対応付けて、項目情報及びサーバＩＤの複数のセットを記憶している。換言すれば、メモリ６２は、複数のマークそれぞれに対応付けて、項目情報及びサーバＩＤの複数のセットを記憶している。
【００１９】
色情報は、後述するマーク１１１、１２１の色（例えば、赤色、黄色、青色）を示す情報である。なお、項目レコードは、マークの形状を示す形状情報を、色情報に加えて、或いは色情報に代えて含んでもよい。項目情報は、後述する原稿（例えば、請求書）に含まれる項目（例えば、日付、振込先、費目、請求金額）を示す情報である。サーバＩＤは、解析サーバ８０Ａ、８０Ｂを識別する情報である。本実施形態において、解析サーバ８０ＡはサーバＩＤ“サーバＡ”で識別され、解析サーバ８０ＢはサーバＩＤ“サーバＢ”で識別される。サーバＩＤは、例えば、ＩＰアドレス或いはＵＲＬであってもよい。
【００２０】
解析サーバ８０は、中継サーバ５０から受信した画像データを解析する。解析サーバ８０が受信する画像データは、例えば図６に示されるように、バーコード画像１１２、１２２を含む。そして、解析サーバ８０は、バーコード画像１１２、１２２が保持する情報を抽出し、抽出した情報に基づいて画像データを解析する。また、「画像データの解析」とは、例えば、画像データの分類、画像データに含まれる情報の集計、或いはこれらの組み合わせである。解析サーバ８０の具体的な動作は、後述する。
【００２１】
バーコード画像１１２、１２２は、情報を保持する情報保持画像の一例である。また、バーコード画像１１２、１２２は、所定の画像処理アルゴリズムで情報を抽出可能な形式の画像である。バーコード画像１１２、１２２から情報を抽出する画像処理アルゴリズムは、第２アルゴリズムの一例である。但し、バーコード画像１１２、１２２が保持する情報は、ユーザが一見しただけで抽出できるものではなく、コンピュータによる画像処理を必要とする。また、情報保持画像の具体例はバーコードに限定されず、ＱＲコード（登録商標）、Ｄａｔａ  Ｍａｔｏｒｉｘ等であってもよい。換言すれば、情報保持画像は、所謂二次元バーコードを表す画像であってもよい。
【００２２】
［システム１００の動作］
図３及び図４を参照して、本実施形態に係るシステム１００の動作を説明する。
【００２３】
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったＣＰＵ６１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「制御」、「取得」、「受付」等の処理は、ＣＰＵ６１の処理を表している。ＣＰＵ６１による処理は、ＯＳ６４を介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵ６１が要求することなくデータを受信するという処理も、「ＣＰＵ６１がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
【００２４】
まず、図１に示されるシステム１００が企業に導入される場合を考えると、複数の拠点（例えば、支社、店舗）それぞれにスキャナ１０が設置され、中継サーバ５０及び解析サーバ８０が本社或いはデータセンターに設置される。そして、中継サーバ５０は、各拠点のスキャナ１０からスキャンデータを受信し、受信したスキャンデータに対して図４に示されるバーコード合成処理を実行し、バーコード合成処理で編集されたスキャンデータ（以下、「編集スキャンデータ」と表記する。）を解析サーバ８０に送信する。本実施形態では、図５に示される請求書１１０、１２０をスキャナ１０に読み取らせ、図６に示される編集スキャンデータを生成し、生成した編集スキャンデータを解析サーバ８０に解析させる例を説明する。
【００２５】
請求書１１０、１２０は、各々が複数の項目の１つに対応する複数の文字列と、マーク１１１、１２１とを含む原稿の一例である。但し、原稿の具体例は請求書１１０、１２０に限定されず、例えば、見積書、発送伝票、議事録、日報等であってもよい。項目とは、請求書１１０、１２０に含まれる情報の種類（例えば、日付、請求金額、費目、消費税、振込先）を指す。文字列とは、各項目に対応する情報（例えば、“２０１７年０４月１０日”、“￥２７０，０００”、“出願手数料”、“￥２０，０００”、“Ａ銀行Ｂ支店  普通  ｘｘｘｘｘ”等）そのものである。すなわち、請求書１１０、１２０は、共通の項目（例えば、日付）に対応付けられた異なる文字列（“２０１７年４月１０日”、“２０１７年４月２２日”）を含む。
【００２６】
また、項目及び文字列の対応関係は、請求書１１０、１２０内に明示されている場合もあるし、明示されていない場合もある。一例として、項目“請求金額”を表す文字列“ご請求金額”と、金額を表す文字列“￥２７０，０００”とが左右方向に隣接して記載されることによって、文字列“￥２７０，０００”が項目“請求金額”に対応付けられている。なお、項目を表す文字列は、例えば、“費目”、“請求項目”等のように、複数のパターンが存在してもよい。他の例として、文字列“２０１７年０４月１０日”は、項目“日付”を表す文字列が対応付けられていないが、文字列のフォーマット（例えば、数字４桁［年］数字２桁［月］数字２桁［日］）と、請求書１１０内における文字列の位置（例えば、右上隅）とによって、項目“日付”に対応付けられている。
【００２７】
マーク１１１、１２１は、複数の色（例えば、赤色、黄色、青色、緑色、紫色）のうちの１色で塗りつぶされた予め定められた形状（例えば、長方形、円形、三角形、台形）の図形である。すなわち、マーク１１１、１２１は、ユーザが視覚的に容易に区別することができる図形であればよい。なお、原稿に付加されるマークは、同一の形状で色だけが異なっていてもよいし、同一の色で形状だけが異なっていてもよいし、色及び形状の両方が異なっていてもよい。
【００２８】
マーク１１１、１２１は、スキャナ１０が設置された拠点のユーザによって、請求書１１０、１２０に付加される。マーク１１１、１２１は、例えば、請求書１１０、１２０にペン等で描かれたものでもよいし、請求書１１０、１２０に貼付されたシール等でもよい。すなわち、マーク１１１、１２１は、発行元で発行された時点で請求書１１０、１２０に付加されていない図形である。
【００２９】
どの原稿にどのマークを付加するかは、例えば、中継サーバ５０の管理者によって予め定められており、各拠点にマニュアルとして配布されていてもよい。一例として、請求書１１０、１２０の発行元（例えば、“ＡＢＣ特許事務所”、“ＸＹＺ商事”）毎に、異なる色（例えば、赤色、黄色）のマークが付加されてもよい。他の例として、原稿の種類（例えば、請求書、日報）毎に、異なる形状（例えば、長方形、三角形）のマークが付加されてもよい。また、マークは、請求書１１０、１２０内の予め定められた位置に付加されてもよいし、請求書１１０、１２０内の任意の位置に付加されてもよい。さらに、１枚の原稿には、複数のマークが付加されてもよい。
【００３０】
スキャナ１０が設置された拠点のユーザは、例えば、当該拠点に届いた請求書１１０、１２０にマニュアルに従ってマーク１１１、１２１を付加し、マーク１１１、１２１を付加した請求書１１０、１２０をスキャナ１０に読み取らせる。スキャナ１０は、請求書１１０、１２０に記録された画像を読み取って、スキャンデータを生成する（Ｓ１１）。そして、スキャナ１０は、通信ネットワーク１０１を通じて接続された中継サーバ５０に、Ｓ１１で生成したスキャンデータを送信する（Ｓ１２）。Ｓ１１の処理は読取処理の一例であり、スキャナ１０が実行するＳ１２の処理は第１送信処理の一例である。
【００３１】
一例として、ユーザは、図５（Ａ）に示される請求書１１０をコンタクトガラス上に載置してスキャナ１０に読取処理を実行させ、その後に図５（Ｂ）に示される請求書１２０をコンタクトガラス上に載置してスキャナ１０に読取処理を実行させてもよい。この場合のスキャナ１０は、請求書１１０から読み取ったスキャン画像を含むスキャンデータと、請求書１２０から読み取ったスキャン画像を含むスキャンデータとを、中継サーバ５０に別々に送信する。
【００３２】
他の例として、ユーザは、請求書１１０、１２０をＡＤＦにセットしてスキャナ１０に読取処理を実行させてもよい。この場合のスキャナ１０は、請求項１１０、１２０を順番に読み取って、請求書１１０、１２０から読み取った２つのスキャン画像を含むスキャンデータを中継サーバ５０に送信する。すなわち、スキャンデータは、１枚或いは複数の原稿から読み取ったスキャン画像を含む。本実施形態では、請求書１１０、１２０それぞれから読み取ったスキャン画像をスキャンデータが含むことを前提として、以下の処理を説明する。
【００３３】
次に、中継サーバ５０のサーバプログラム６５は、通信Ｉ／Ｆ５５を通じてスキャナ１０からスキャンデータを受信する（Ｓ１２）。そして、サーバプログラム６５は、スキャナ１０から受信したスキャンデータを、メモリ６２に一時記憶させる。Ｓ１２の処理は、取得処理或いは受信処理の一例である。さらに、サーバプログラム６５は、Ｓ１２で受信したスキャンデータに対して、バーコード合成処理を実行する（Ｓ１３）。バーコード合成処理は、マーク１１１、１２１に基づいて生成したバーコード画像１１２、１２２を、スキャン画像に合成する処理である。図４を参照して、バーコード合成処理の詳細を説明する。
【００３４】
まず、サーバプログラム６５は、Ｓ１２で受信したスキャンデータに含まれる複数のスキャン画像のうち、請求書１１０から読み取ったスキャン画像をメモリ６２から読み出す。そして、サーバプログラム６５は、読み出したスキャン画像に含まれるマーク１１１を検出する（Ｓ２１）。請求書１１０の予め定められた位置にマーク１１１が付加される場合、サーバプログラム６５は、当該位置の画素値からマーク１１１を検出すればよい。一方、請求書１１０の任意の位置にマーク１１１が付加される場合、サーバプログラム６５は、スキャン画像を構成する各画素を走査してマーク１１１を検出すればよい。Ｓ２１の処理は、検出処理の一例である。
【００３５】
次に、サーバプログラム６５は、Ｓ２１でマーク１１１を検出したか否かを判断する（Ｓ２２）。そして、サーバプログラム６５は、Ｓ２１でマーク１１１を検出したと判断したことに応じて（Ｓ２２：Ｙｅｓ）、マーク１１１の色（すなわち、赤色）を特定する。そして、サーバプログラム６５は、特定した赤色を示す色情報を含む項目レコードを、図２に示される項目リストから読み出す（Ｓ２３）。すなわち、サーバプログラム６５は、項目“日付”、“振込先”を示す項目情報と、サーバＩＤ“サーバＡ”とをメモリ６２から読み出す。Ｓ２３で読み出した項目レコードに含まれる項目情報は対応項目情報の一例であり、サーバＩＤは対応サーバＩＤの一例である。Ｓ２３の処理は、読出処理の一例である。
【００３６】
次に、サーバプログラム６５は、Ｓ２３で読み出した対応項目情報で示される対応項目“日付”、“振込先”に対応する文字列“２０１７年０４月１０日”、“Ａ銀行Ｂ支店  普通  ＸＸＸＸＸ”を、請求書１１０から読み取ったスキャン画像から抽出する（Ｓ２４）。すなわち、サーバプログラム６５は、スキャン画像内において、対応項目“日付”に対応する文字列の位置を特定する。そして、サーバプログラム６５は、対応項目“日付”に対応するスキャン画像内の位置から、テキスト形式の文字列“２０１７年０４月１０日”を、ＯＣＲ技術を用いて抽出する。対応項目“振込先”に対応する文字列“Ａ銀行Ｂ支店  普通  ＸＸＸＸＸ”の抽出方法も同様である。ＯＣＲ技術は、第１アルゴリズムの一例である。Ｓ２４の処理は、抽出処理の一例である。
【００３７】
次に、サーバプログラム６５は、Ｓ２４で抽出した文字列“２０１７年０４月１０日”、“Ａ銀行Ｂ支店  普通  ＸＸＸＸＸ”を保持するバーコード画像１１２を生成する（Ｓ２５）。バーコード画像１１２は、第２アルゴリズムで文字列を抽出可能な形式の画像である。Ｓ２４で抽出した文字列からバーコード画像１１２を生成する方法は既に周知なので、説明を省略する。Ｓ２４の処理は、生成処理の一例である。
【００３８】
次に、サーバプログラム６５は、請求書１１０から読み取ったスキャン画像のマーク１１１の位置に、Ｓ２４で生成したバーコード画像１１２を合成する（Ｓ２６）。すなわち、サーバプログラム６５は、図５（Ａ）及び図６（Ａ）に示されるように、スキャン画像のマーク１１１をバーコード画像１１２で上書きする。そして、サーバプログラム６５は、バーコード画像１１２が合成されたスキャン画像（以下、「編集スキャン画像」と表記する。）を示す編集スキャンデータを、メモリ６２に一時記憶させる。Ｓ２６の処理は、合成処理の一例である。編集スキャンデータは、出力データの一例である。
【００３９】
次に、サーバプログラム６５は、Ｓ１２で受信したスキャンデータに含まれる全てのスキャン画像に対して、Ｓ２１〜Ｓ２６の処理を実行したか否かを判断する（Ｓ２７）。そして、サーバプログラム６５は、請求書１２０から読み取ったスキャン画像に対してＳ２１〜Ｓ２６の処理を実行していないと判断したことに応じて（Ｓ２７：あり）、当該スキャン画像をメモリ６２から読み出して、Ｓ２１〜Ｓ２６の処理を実行する。これにより、図６（Ｂ）に示されるように、対応項目“費目”に対応する文字列“パソコン代”を保持するバーコード画像１２２が合成された編集スキャン画像を示す編集スキャンデータが、メモリ６２に一時記憶される。
【００４０】
すなわち、サーバプログラム６５は、スキャンデータに含まれる複数のスキャン画像それぞれに対して、Ｓ２１〜Ｓ２６の処理を実行する。但し、サーバプログラム６５は、処理の対象となるスキャン画像からマークを検出できないことに応じて（Ｓ２２：Ｎｏ）、当該スキャン画像に対するＳ２３〜Ｓ２６の処理を実行せずに、Ｓ２７以降の処理を実行する。そして、サーバプログラム６５は、スキャンデータに含まれる全てのスキャン画像に対してＳ２１〜Ｓ２６の処理を実行したと判断したことに応じて（Ｓ２７：なし）、バーコード合成処理を終了する。
【００４１】
マーク１１１は第１マークの一例であり、マーク１１１を構成する赤色に対応付けられた項目情報及びサーバＩＤは第１項目情報及び第１サーバＩＤの一例であり、第１項目情報で示される項目“日付”、“振込先”は第１項目の一例であり、第１サーバＩＤ“サーバＡ”で識別される解析サーバ８０Ａは第１サーバの一例である。また、マーク１２１は第２マークの一例であり、マーク１２１を構成する黄色に対応付けられた項目情報及びサーバＩＤは第２項目情報及び第２サーバＩＤの一例であり、第２項目情報で示される項目“費目”は第２項目の一例であり、第２サーバＩＤ“サーバＢ”で識別される解析サーバ８０Ｂは第２サーバの一例である。
【００４２】
次に図３に戻って、サーバプログラム６５は、バーコード合成処理で生成した編集スキャンデータを、通信Ｉ／Ｆ５５を通じて解析サーバ８０に送信する（Ｓ１４）。中継サーバ５０が実行するＳ１４の処理は、送信処理及び第２送信処理の一例である。より詳細には、サーバプログラム６５は、図６（Ａ）に示される編集スキャン画像を示す編集スキャンデータを、Ｓ２３で読み出したサーバＩＤ“サーバＡ”で識別される解析サーバ８０Ａに送信する。また、サーバプログラム６５は、図６（Ｂ）に示される編集スキャン画像を示す編集スキャンデータを、Ｓ２３で読み出したサーバＩＤ“サーバＢ”で識別される解析サーバ８０Ｂに送信する。すなわち、サーバプログラム６５は、複数の解析サーバ８０Ａ、８０Ｂのうち、Ｓ２３で読み出したサーバＩＤで識別される解析サーバ８０に、対応する編集スキャンデータを送信する。
【００４３】
次に、解析サーバ８０Ａは、図６（Ａ）に示される編集スキャン画像を示す編集スキャンデータを、中継サーバ５０から受信する（Ｓ１４）。次に、解析サーバ８０Ａは、編集スキャンデータで示される編集スキャン画像からバーコード画像１１２を抽出する。次に、解析サーバ８０Ａは、抽出したバーコード画像１１２が保持する文字列“２０１７年０４月１０日”、“Ａ銀行Ｂ支店  普通  ＸＸＸＸＸ”を、第２アルゴリズムを用いて抽出する。そして、解析サーバ８０Ａは、抽出した文字列に従って、編集スキャンデータで示される編集スキャン画像を解析する（Ｓ１５）。
【００４４】
解析サーバ８０Ａは、例えば、発行年月“２０１７年０４月”及び振込先“Ａ銀行Ｂ支店  普通  ＸＸＸＸＸ”が共通する編集スキャンデータを、サーバメモリ内の同一のフォルダに保存（すなわち、分類）してもよい。また、解析サーバ８０Ａは、編集スキャンデータで示される編集スキャン画像から項目“請求金額”に対応する文字列“￥２７０，０００”を抽出し、抽出した文字列で示される請求金額をフォルダ毎に合計（すなわち、集計）してもよい。
【００４５】
また、解析サーバ８０Ｂは、図６（Ｂ）に示される編集スキャン画像を示す編集スキャンデータを、中継サーバ５０から受信する（Ｓ１４）。次に、解析サーバ８０Ｂは、編集スキャンデータで示される編集スキャン画像からバーコード画像１２２を抽出する。次に、解析サーバ８０Ｂは、抽出したバーコード画像１２２が保持する文字列“パソコン代”を、第２アルゴリズムを用いて抽出する。そして、解析サーバ８０Ｂは、抽出した文字列に従って、編集スキャンデータで示される編集スキャン画像を解析する（Ｓ１５）。解析サーバ８０Ｂは、例えば、共通の費目を含む編集スキャンデータを、サーバメモリ内の同一のフォルダに保存してもよい。
【００４６】
［実施形態の作用効果］
前述したシステム１００の処理を中継サーバ５０を省略して実現しようとすると、各拠点のユーザは、請求書１１０、１２０にバーコード画像１１２、１２２を付加して、スキャナ１０に読み取らせる必要がある。しかしながら、バーコード画像１１２、１２２は、ユーザが一見して区別することが難しいので、前述の作業を纏めて行った場合に、バーコード画像１２２を請求書１１０に誤って付加し、バーコード画像１１２を請求書１２０に誤って付加したとしても、誤りに気づくことが難しい。そして、誤ったバーコード画像１１２、１２２が付加された請求書１１０、１２０から読み取ったスキャン画像を解析サーバ８０に解析させると、適切な解析結果を得ることができない。
【００４７】
そこで上記の実施形態によれば、スキャナ１０が設置された拠点のユーザは、視覚的に容易に区別可能な複数のマーク１１１、１２１のうち、所望のマークを請求書１１０、１２０に付加すればよい。これにより、ユーザは、視覚的に区別するのが難しいバーコード画像１１２、１２２を付加する場合と比較して、請求書１１０、１２０に付加したマーク１１１、１２１が適切か否かを簡単に確認できる。一方、解析サーバ８０は、従来と同様に、バーコード画像１１２、１２２が保持する文字列に従って編集スキャン画像を解析することができる。すなわち上記の実施形態によれば、既存の解析サーバ８０の処理を変更せずに、各拠点のユーザの作業負担を軽減することができる。
【００４８】
また、上記の実施形態によれば、マーク１１１、１２１に対応するサーバＩＤで識別される解析サーバ８０に編集スキャンデータが送信されるので、ユーザの作業負担を増大させることなく、編集スキャンデータを所望の解析サーバ８０に解析させることができる。また、上記の実施形態によれば、１種類の原稿（例えば、請求書）のみならず、複数種類の原稿（例えば、請求書、見積書、日報）を纏めてスキャナ１０に読み取らせても、中継サーバ５０で適切なバーコード画像が付加されて、適切な解析サーバ８０に送信される。これにより、各拠点のユーザの作業負担がさらに軽減される。
【００４９】
また、バーコード画像１１２、１２２を合成する位置は、マーク１１１、１２１の位置に限定されず、解析サーバ８０が抽出可能な予め定められた位置でもよい。また、バーコード画像１１２、１２２は、スキャン画像に合成されずに、スキャン画像と対応付けて解析サーバ８０に送信されてもよい。さらに、バーコード合成処理は、中継サーバ５０が実行することに限定されず、スキャナ１０のＣＰＵが実行してもよい。すなわち、「コンピュータに接続された読取装置」とは、通信ネットワーク１０１を通じて接続された中継サーバ５０及びスキャナ１０に限定されず、内部バスによって接続されたＣＰＵ及びスキャナ１０であってもよい。この場合のＣＰＵは、Ｓ１２において、スキャナが出力したスキャンデータを内部バスを通じて取得すればよい。
【００５０】
また、上記の実施形態の中継サーバ５０において、メモリ６２に記憶された各種プログラムがＣＰＵ６１によって実行されることによって、本発明のコントローラが実行する各処理が実現される例を説明した。しかしながら、コントローラの構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
【００５１】
さらに、本発明は、中継サーバ５０として実現できるだけでなく、中継サーバ５０に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体に記録されて提供されてもよい。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の他、通信ネットワーク１０１を通じて中継サーバ５０に接続可能なサーバに搭載されたメモリを含んでもよい。そして、サーバのメモリに記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワーク１０１を通じて配信されてもよい。
【符号の説明】
【００５２】
１０・・・スキャナ
５０・・・中継サーバ
５５・・・通信Ｉ／Ｆ
６１・・・ＣＰＵ
６２・・・メモリ
６５・・・サーバプログラム
８０Ａ，８０Ｂ・・・解析サーバ
【図１】
2018186416.tif 000003
【図２】
2018186416.tif 000004
【図３】
2018186416.tif 000005
【図４】
2018186416.tif 000006
【図５】
2018186416.tif 000007
【図６】
2018186416.tif 000008