(57)【要約】【課題】バーコード認識エラーの原因によらずバーコード認識率を向上させる画像処理システム、画像処理サーバ、ＭＦＰ及び画像処理方法を提供する。【解決手段】ＭＦＰ１０と、ＭＦＰ１０が生成した画像データに対して画像処理を施しネットワーク５０を介して他の情報処理装置へ配信する画像処理サーバ２０とを有する画像処理システムであって、画像処理サーバ２０は、ＭＦＰ１０から入力された画像に含まれるバーコードを検出するバーコード位置・角度検出部２２ａと、検出したバーコードを認識して情報を取得するバーコード認識部２２ｂとを含むバーコード認識モジュール２２を有し、検出又は認識に失敗したバーコードを含む画像の画像データに対しては、画像処理実行部２６による画像処理並びにバーコード認識モジュール２２によるバーコードの検出及び認識を１組の動作とするリトライ処理を、画像処理を順次変更して繰り返し実行する。【選択図】図２
2010211738.tif 000002
【特許請求の範囲】
【請求項１】
原稿を読み取って画像データを生成する機能を備えたスキャナ装置と、該スキャナ装置が生成した画像データに対して画像処理を施しネットワークを介して他の情報処理装置へ配信する画像処理サーバとを有する画像処理システムであって、
前記画像処理サーバは、
前記スキャナ装置から入力された画像データが表す画像に含まれるバーコードを検出する手段と、
検出したバーコードを認識して情報を取得する手段とを有し、
検出又は認識に失敗したバーコードを含む画像の画像データに対しては、画像処理並びにバーコードの検出及び認識を１組の動作とするリトライ処理を、画像処理の内容を順次変更して繰り返し実行することを特徴とする画像処理システム。
【請求項２】
前記画像処理サーバは、前記画像上のバーコードの位置及び種類を特定する手段を有することを特徴とする請求項１記載の画像処理システム。
【請求項３】
前記画像処理サーバは、前記バーコードの認識結果を基に書誌情報の設定を行う手段と、
前記画像を二つ以上に分割して配信する手段とを有することを特徴とする請求項２記載の画像処理システム。
【請求項４】
前記リトライ処理において、同じ系統の前記画像処理が続かないように前記各画像処理を実行し、
同一の認識結果が所定数以上得られた時点で、該認識結果を採用することを特徴とする請求項１から３のいずれか１項記載の画像処理システム。
【請求項５】
実質的な画像の加工を伴わない画像処理後にバーコードの認識に成功した場合には、その時点で該認識結果を採用することを特徴とする請求項４記載の画像処理システム。
【請求項６】
前記画像処理サーバは、前記リトライ処理の実行回数を設定可能であることを特徴とする請求項１から５のいずれか１項記載の画像処理システム。
【請求項７】
前記画像処理サーバは、検出及び認識対象のバーコードの種類を設定可能であり、設定されたバーコードの種類に応じて前記リトライ処理に用いる画像処理を選択することを特徴とする請求項１から６のいずれか１項記載の画像処理システム。
【請求項８】
前記リトライ処理に用いる画像処理の一つとして、所定角度を単位として画像を回転させる処理を行うことを特徴とする請求項１から７のいずれか１項記載の画像処理システム。
【請求項９】
前記リトライ処理に用いる画像処理の一つとして、前記スキャナ装置の読み取り光学系の前記原稿上の任意の線を太線化又は細線化する特性を打ち消す処理を行うことを特徴とする請求項１から８のいずれか１項記載の画像処理システム。
【請求項１０】
前記リトライ処理に用いる画像処理の一つとして、スムージング拡大／縮小変倍を行うことを特徴とする請求項１から９のいずれか１項記載の画像処理システム。
【請求項１１】
前記リトライ処理の用いる画像処理の一つとして、前記画像をシャープ化する処理を行うことを特徴とする請求項１から１０のいずれか１項記載の画像処理システム。
【請求項１２】
前記リトライ処理の回数、処理時間、及び認識結果の少なくともいずれかを集計する手段と、該集計結果に基づいてユーザにアラートを報知する手段とを有することを特徴とする請求項１から１１のいずれか１項記載の画像処理システム。
【請求項１３】
前記リトライ処理時の画像処理の実行順序を、以前のバーコード検出・認識結果に基づいて決定する手段を有することを特徴とする請求項１から１１の画像処理システム。
【請求項１４】
前記画像から前記バーコードが存在する可能性のある領域を抽出し、該抽出した領域を対象として前記リトライ処理を行うことを特徴とする請求項１から１３のいずれか１項記載の画像処理システム。
【請求項１５】
スキャナ装置から入力された画像データに対して画像処理を施しネットワークを介して他の情報処理装置へ配信する画像処理サーバであって、
前記スキャナ装置から入力された画像データが表す画像に含まれるバーコードを検出する手段と、
検出したバーコードを認識して情報を取得する手段とを有し、
検出又は認識に失敗したバーコードを含む画像の画像データに対しては、画像処理並びにバーコードの検出及び認識を１組の動作とするリトライ処理を、画像処理の内容を順次変更して繰り返し実行することを特徴とする画像処理サーバ。
【請求項１６】
前記画像上のバーコードの位置及び種類を特定する手段を有することを特徴とする請求項１５記載の画像処理サーバ。
【請求項１７】
前記バーコードの認識結果を基に書誌情報の設定を行う手段と、
前記画像を二つ以上に分割して配信する手段とを有することを特徴とする請求項１６記載の画像処理サーバ。
【請求項１８】
前記リトライ処理において、同じ系統の前記画像処理が続かないように前記各画像処理を実行し、
同一の認識結果が所定数以上得られた時点で、該認識結果を採用することを特徴とする請求項１５から１７のいずれか１項記載の画像処理サーバ。
【請求項１９】
実質的な画像の加工を伴わない画像処理後にバーコードの認識に成功した場合には、その時点で該認識結果を採用することを特徴とする請求項１８記載の画像処理サーバ。
【請求項２０】
前記リトライ処理の実行回数を設定可能であることを特徴とする請求項１５から１９のいずれか１項記載の画像処理サーバ。
【請求項２１】
検出及び認識対象のバーコードの種類を設定可能であり、設定されたバーコードの種類に応じて前記リトライ処理に用いる画像処理を選択することを特徴とする請求項１５から２０のいずれか１項記載の画像処理サーバ。
【請求項２２】
前記リトライ処理に用いる画像処理の一つとして、所定角度を単位として画像を回転させる処理を行うことを特徴とする請求項１５から２１のいずれか１項記載の画像処理サーバ。
【請求項２３】
前記リトライ処理に用いる画像処理の一つとして、前記スキャナ装置の読み取り光学系の前記原稿上の任意の線を太線化又は細線化する特性を打ち消す処理を行うことを特徴とする請求項１５から２２のいずれか１項記載の画像処理サーバ。
【請求項２４】
前記リトライ処理に用いる画像処理の一つとして、スムージング拡大／縮小変倍を行うことを特徴とする請求項１５から２３のいずれか１項記載の画像処理サーバ。
【請求項２５】
前記リトライ処理の用いる画像処理の一つとして、前記画像をシャープ化する処理を行うことを特徴とする請求項１５から２４のいずれか１項記載の画像処理サーバ。
【請求項２６】
前記リトライ処理の回数、処理時間、及び認識結果の少なくともいずれかを集計する手段と、該集計結果に基づいてユーザにアラートを報知する手段とを有することを特徴とする請求項１５から２５のいずれか１項記載の画像処理サーバ。
【請求項２７】
前記リトライ処理時の画像処理の実行順序を、以前のバーコード検出・認識結果に基づいて決定する手段を有することを特徴とする請求項１５から２６のいずれか１項記載の画像処理サーバ。
【請求項２８】
前記画像から前記バーコードが存在する可能性のある領域を抽出し、該抽出した領域を対象として前記リトライ処理を行うことを特徴とする請求項１５から２７のいずれか１項記載の画像処理サーバ。
【請求項２９】
原稿を読み取って画像データを生成する画像読取手段と、該画像読取手段が生成した画像データに対して画像処理を施しネットワークを介して他の情報処理装置へ配信する情報配信手段とを有するＭＦＰであって、
前記スキャナ装置から入力された画像データが表す画像に含まれるバーコードを検出する手段と、
検出したバーコードを認識して情報を取得する手段とを有し、
検出又は認識に失敗したバーコードを含む画像の画像データに対しては、画像処理並びにバーコードの検出及び認識を１組の動作とするリトライ処理を、画像処理の内容を順次変更して繰り返し実行することを特徴とするＭＦＰ。
【請求項３０】
前記画像上のバーコードの位置及び種類を特定する手段を有することを特徴とする請求項２９記載のＭＦＰ。
【請求項３１】
前記バーコードの認識結果を基に書誌情報の設定を行う手段と、
前記画像を二つ以上に分割して配信する手段とを有することを特徴とする請求項３０記載のＭＦＰ。
【請求項３２】
前記リトライ処理において、同じ系統の前記画像処理が続かないように前記各画像処理を実行し、
同一の認識結果が所定数以上得られた時点で、該認識結果を採用することを特徴とする請求項２９から３１のいずれか１項記載のＭＦＰ。
【請求項３３】
実質的な画像の加工を伴わない画像処理後にバーコードの認識に成功した場合には、その時点で該認識結果を採用することを特徴とする請求項３２記載のＭＦＰ。
【請求項３４】
前記リトライ処理の実行回数を設定可能であることを特徴とする請求項２９から３３のいずれか１項記載のＭＦＰ。
【請求項３５】
検出及び認識対象のバーコードの種類を設定可能であり、設定されたバーコードの種類に応じて前記リトライ処理に用いる画像処理を選択することを特徴とする請求項２９から３４のいずれか１項記載のＭＦＰ。
【請求項３６】
前記リトライ処理に用いる画像処理の一つとして、所定角度を単位として画像を回転させる処理を行うことを特徴とする請求項２９から３５のいずれか１項記載のＭＦＰ。
【請求項３７】
前記リトライ処理に用いる画像処理の一つとして、前記画像読取手段の読み取り光学系の前記原稿上の任意の線を太線化又は細線化する特性を打ち消す処理を行うことを特徴とする請求項２９から３６のいずれか１項記載のＭＦＰ。
【請求項３８】
前記リトライ処理に用いる画像処理の一つとして、スムージング拡大／縮小変倍を行うことを特徴とする請求項２９から３７のいずれか１項記載のＭＦＰ。
【請求項３９】
前記リトライ処理の用いる画像処理の一つとして、前記画像をシャープ化する処理を行うことを特徴とする請求項２９から３８のいずれか１項記載のＭＦＰ。
【請求項４０】
前記リトライ処理の回数、処理時間、及び認識結果の少なくともいずれかを集計する手段と、該集計結果に基づいてユーザにアラートを報知する手段とを有することを特徴とする請求項２９から３９のいずれか１項記載のＭＦＰ。
【請求項４１】
前記リトライ処理時の画像処理の実行順序を、以前のバーコード検出・認識結果に基づいて決定する手段を有することを特徴とする請求項２９から４０のいずれか１項記載のＭＦＰ。
【請求項４２】
前記画像から前記バーコードが存在する可能性のある領域を抽出し、該抽出した領域を対象として前記リトライ処理を行うことを特徴とする請求項２９から４１のいずれか１項記載のＭＦＰ。
【請求項４３】
スキャナ装置で原稿を読み取って画像データを生成し、該画像データに対して画像処理サーバが画像処理を施した上でネットワークを介して他の情報処理装置へ配信する画像処理方法であって、
前記画像処理サーバが、
前記スキャナ装置から入力された画像データが表す画像に含まれるバーコードを検出する処理と、
検出したバーコードを認識して情報を取得する処理とを行い、
検出又は認識に失敗したバーコードを含む画像の画像データに対しては、画像処理並びにバーコードの検出及び認識を１組の動作とするリトライ処理を、画像処理の内容を順次変更して繰り返し実行することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャナ、デジタルカメラ、ファクシミリなどの画像入力装置から入力された画像の中の任意の位置に配置された任意の種類のバーコードの位置、座標の検出及び検出されたバーコードの認識方法に関する。
【背景技術】
【０００２】
バーコードや２次元コードは今や、様々な商品にも表示されているほど一般的な存在となっており、スーパーマーケットやコンビニエンスストアのレジスタや携帯電話端末などにその読み取り装置が設けられている。なお、以下の説明においては、１次元及び２次元のコードの両方を含めて単に「バーコード」と表記する。
【０００３】
一方、オフィスにおけるバーコードと言えば、運送業などの一部の業種では、業務管理、在庫管理、電子データとの紐付け・検索・管理などのために利用されている。
【０００４】
そのような動向を受けて、事務用紙にもバーコードを付け、専用のバーコードリーダではなくコンピュータ用のスキャナで読み取って電子管理と連携させるというニーズも増えている。
【０００５】
コンピュータ用のスキャナでバーコードの位置を検出・認識することに関する技術として、特許文献１に開示される「バーコード認識装置」がある。
【０００６】
また、バーコードの認識ミスを減らす方法に関する技術として、特許文献２に開示される「移動体通信端末、その撮像制御方法およびプログラム」には、バーコード認識に失敗した場合に、１サイズ大きく変倍してバーコードを認識する方法が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献２に記載の発明は、バーコード認識率の向上を試みるものであるが、単純に拡大変倍することでバーコード認識率が向上することはまれであり、バーコード認識率を向上させる効果は小さい。又は、限定された用途でなければ効果が無い。また、画像サイズが大きくなると処理に時間がかかってしまう。
【０００８】
バーコードはその内容自体が規格化されており、画像内容もシンプルであるため、ＯＣＲ（活字・手書き文字認識）に比べれば確実に認識できる要素は大きい。
しかし、実際には次のような要因で理想的な状態で運用できないことも多い。
【０００９】
・例えば運送業などで紙を持ち運び中の汚れ、折れ曲がりなど。
・プリンタの特性（トナー盛り、インク滲みなど）で黒バーが太くなり、白黒の比率が変わる。
・スキャナの読み取り精度（機械的、光学的）による揺らぎ、濃度による黒の太り・痩せなどが発生する。
・濃い目にスキャンすることにより黒バーの太りやノイズが発生する。
・プリンタやスキャナなどの機器の経年劣化や、汚れなどによりバーコード画像に汚れや歪みが発生する。
・ハーフトーン処理を行うことによりエッジがぼやけ、ノイズが載りやすくなる。
・バーコード認識エンジンが要求するグレースケール画像の容量が大きいため、画像容量の低減のために白黒画像でのスキャンを要望するユーザ側の要求と相反する。
・バーコード規格では白黒の境界が明確であることが求められるが、グレースケールでスキャンすることによってエッジがぼける。
・１回のスキャンでバーコードを認識しなければならないため、専用のバーコードリーダと比較して認識率が低い。
・バーコード認識エンジンの特性によって認識できない画像が稀に存在する。
【００１０】
本発明は係る問題に鑑みてなされたものであり、バーコード認識エラーの原因によらずバーコード認識率を向上させるバーコード認識システム、画像処理サーバ、ＭＦＰ及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明は、第１の態様として、原稿を読み取って画像データを生成する機能を備えたスキャナ装置と、該スキャナ装置が生成した画像データに対して画像処理を施しネットワークを介して他の情報処理装置へ配信する画像処理サーバとを有する画像処理システムであって、画像処理サーバは、スキャナ装置から入力された画像データが表す画像に含まれるバーコードを検出する手段と、検出したバーコードを認識して情報を取得する手段とを有し、検出又は認識に失敗したバーコードを含む画像の画像データに対しては、画像処理並びにバーコードの検出及び認識を１組の動作とするリトライ処理を、画像処理の内容を順次変更して繰り返し実行することを特徴とする画像処理システムを提供するものである。
【００１２】
また、上記目的を達成するため、本発明は、第２の態様として、スキャナ装置から入力された画像データに対して画像処理を施しネットワークを介して他の情報処理装置へ配信する画像処理サーバであって、スキャナ装置から入力された画像データが表す画像に含まれるバーコードを検出する手段と、検出したバーコードを認識して情報を取得する手段とを有し、検出又は認識に失敗したバーコードを含む画像の画像データに対しては、画像処理並びにバーコードの検出及び認識を１組の動作とするリトライ処理を、画像処理の内容を順次変更して繰り返し実行することを特徴とする画像処理サーバを提供するものである。
【００１３】
また、上記目的を達成するため、本発明は、第３の態様として、原稿を読み取って画像データを生成する画像読取手段と、該画像読取手段が生成した画像データに対して画像処理を施しネットワークを介して他の情報処理装置へ配信する情報配信手段とを有するＭＦＰであって、スキャナ装置から入力された画像データが表す画像に含まれるバーコードを検出する手段と、検出したバーコードを認識して情報を取得する手段とを有し、検出又は認識に失敗したバーコードを含む画像の画像データに対しては、画像処理並びにバーコードの検出及び認識を１組の動作とするリトライ処理を、画像処理の内容を順次変更して繰り返し実行することを特徴とするＭＦＰを提供するものである。
【００１４】
また、上記目的を達成するため、本発明は、第４の態様として、スキャナ装置で原稿を読み取って画像データを生成し、該画像データに対して画像処理サーバが画像処理を施した上でネットワークを介して他の情報処理装置へ配信する画像処理方法であって、画像処理サーバが、スキャナ装置から入力された画像データが表す画像に含まれるバーコードを検出する処理と、検出したバーコードを認識して情報を取得する処理とを行い、検出又は認識に失敗したバーコードを含む画像の画像データに対しては、画像処理並びにバーコードの検出及び認識を１組の動作とするリトライ処理を、画像処理の内容を順次変更して繰り返し実行することを特徴とする画像処理方法を提供するものである。
【発明の効果】
【００１５】
本発明によれば、バーコード認識エラーの原因によらずバーコード認識率を向上させる画像処理システム、画像処理サーバ、ＭＦＰ及び画像処理方法を提供できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の好適な実施の形態に係る画像処理システムの構成を示す図である。
【図２】画像処理サーバの構成を示す図である。
【図３】認識エラーとなるバーコードの一例を示す図である。
【図４】白抜けの一例を示す図である。
【図５】周辺ノイズの一例を示す図である。
【図６】バーコード認識エラーとなった画像に対して各種画像処理を行った後に、再度バーコード認識をさせた場合の成功数を示す図である。
【図７】複数の画像処理を実行可能とし、各画像処理＋バーコード認識を行った場合の成功数を示す図である。
【図８】各種画像処理後の認識結果を示す図である。
【図９】各種画像処理の処理時間を示す図である。
【図１０】認識ヒット数が０の画像を対象外とした対象画像リストを示す図である。
【図１１】認識ヒット数が１の画像を除いた画像リストを示す図である。
【図１２】認識ヒット数が１の画像を認識するために必要な画像処理後に認識可能な画像を除いた対象画像リストを示す図である。
【図１３】画像処理サーバの動作の動作の一例を示すフローチャートである。
【図１４】認識ヒット数が０又は１の画像を対象外とした対象画像リストを示す図である。
【図１５】認識ヒット数が２の画像を除いた画像リストを示す図である。
【図１６】同一位置・座標のバーコード認識に２回成功した場合にバーコード認識結果を出力する処理の流れを示す図である。
【図１７】チェックデジットの有無による誤認識率の違いを示す図である。
【図１８】バーコード認識に成功した段階でバーコードの種類を確認し、誤読の可能性が低いＱＲコードの場合には１回の認識成功でバーコード認識結果を出力して処理を終了する動作の流れを示す図である。
【図１９】画像処理とバーコード位置検出＋認識の処理とに要する時間及び画像処理での画像加工の度合いを示す図である。
【図２０】各画像処理の処理時間の違いを示す図である。
【図２１】各画像処理の１ページあたりの平均処理時間を示す図である。
【図２２】画像処理ごとのＱＲコード認識成功数を示す図である。
【図２３】成功数が多い順でリトライを行った場合の結果の一例を示す図である。
【図２４】処理時間が速い順でリトライを行った場合の結果の一例を示す図である。
【図２５】同じ系統の画像処理が連続しないようにリトライを行った場合の結果の一例を示す図である。
【図２６】成功数が多い順でバーコードの認識に２回成功するまでリトライを続行した場合の結果の一例を示す図である。
【図２７】処理時間が速い順でバーコードの認識に２回成功するまでリトライを続行した場合の結果の一例を示す図である。
【図２８】同じ系統の画像処理が連続しない順でバーコードの認識に２回成功するまでリトライを続行した場合の結果の一例を示す図である。
【図２９】バーコード認識処理全体の処理時間の実測値及び誤認識率を示す図である。
【図３０】バーコード認識処理での誤認識率を示す図である。
【図３１】一次抽出及び二次抽出の一例を示す図である。
【発明を実施するための形態】
【００１７】
本発明の好適な実施の形態について説明する。
図１に、本実施形態に係る画像処理システムの構成を示す。
この画像処理システムは、ＭＦＰ１０、画像処理サーバ２０及び管理ツール４０がネットワーク５０を介して接続された構成であり、ＭＦＰ１０が原稿をスキャンして生成した画像データに対して画像処理サーバ２０において所定の画像処理を施し、ネットワーク５０に接続されている不図示の情報処理装置へ配信するシステムである。なお、ここではＭＦＰ１０と画像処理サーバ２０とが別体の構成を示しているが、これらが一体の構成であっても良い。
【００１８】
画像処理サーバ２０は、画像データに対して画像処理を施す画像処理装置としての機能と、情報処理装置へ情報を配信するサーバとの機能を兼ね備えている。画像処理サーバ２０は、情報処理装置への配信の手法として、電子メールによる配信、ＦＡＸによる配信、情報処理装置がアクセス可能なフォルダへのデータ転送による配信などの機能を備えている。
【００１９】
管理ツール４０は、画像データに対して行う画像処理の設定や、画像データの配信先の設定などを行うためのユーザインタフェースであり、コンピュータ端末やＰＤＡなどの情報処理装置である。なお、画像処理サーバ２０をＭＦＰ１０と一体に構成する場合には、ＭＦＰ１０の操作パネルを管理ツール４０として用いることも可能である。
【００２０】
図２に、画像処理サーバ２０の構成を示す。
画像処理サーバ２０は、メイン制御部２１、バーコード認識モジュール２２、バーコード認識制御部２３、バーコード認識結果処理部２４、認識結果出力部２５、画像処理実行部２６、画像処理ストック部２７、リトライ・繰り返し処理制御部２８、リトライ・繰り返しパターン制御部２９、リトライ・繰り返し結果集計部３０、集計結果保存部３１、学習制御部３２、定期集計判断部３３、アラート通知処理部３４を備える。
【００２１】
画像処理サーバ２０上の各機能部のうち、画像処理ストック部２７及び集計結果保存部３１を除く各部は、ソフトウェア処理によってコンピュータ上に実現される。すなわち、画像処理サーバ２０を構成するコンピュータのＣＰＵがソフトウェアを実行することにより、コンピュータのＣＰＵやそのワークエリアであるメモリ上に各機能部が形成される。
【００２２】
メイン制御部２１は、各機能部の動作を制御する。バーコード認識モジュール２２は、バーコード位置・角度検出部２２ａとバーコード認識部２２ｂとを有し、バーコード位置・座標、バーコード画像の傾き（３６０度任意方向）の検出、１次元コードか２次元コードかの推測、バーコード種類の決定及びバーコード認識機能を有する。バーコード位置・角度検出部２２ａは、入力された画像データに含まれるバーコードを検出し、それが画像上のどの位置にあるか（座標値）やその向き（基準となる方向に対してどの程度傾いた状態であるか）を検出するとともに、バーコードの種類を推定する。バーコード認識部２２ｂは、バーコード位置・角度検出部２２ａが検出したバーコードの位置及び向きに基づいてバーコードを認識する。バーコード認識制御部２３は、バーコード認識モジュール２２を制御してバーコード認識を行い、認識結果をバーコード認識結果処理部２４に出力する。バーコード認識結果処理部２４は、バーコード認識結果に対してマージや座標変換などの処理を行う。認識結果出力部２５は、バーコード検出モジュール２２のバーコード認識結果が所定回数同じ結果となった場合に読み込んだ画像や、バーコード認識結果をネットワーク５０上の不図示の情報処理装置へ出力する。なお、バーコード認識結果を基に各種書誌情報（格納先ファイルやファイル名の設定）を行ったり、文書の分割（バーコード用紙を基点に二つ以上の文書に分割して配信、出力する）も可能である。画像処理実行部２６は、バーコード認識でエラーとなった場合に画像に対してバーコードの認識が可能となるような画像処理を施す。画像処理ストック部２７は、画像処理実行部２６が画像に対して施す画像処理の手順が格納されている。画像処理の手順は、画像処理サーバ２０に標準搭載されているものの他、任意の画像処理をプラグインモジュールとして登録することも可能である。画像処理をプラグイン化することで、画像処理内容の追加や変更に対応することが容易となる。リトライ・繰り返し処理制御部２８は、バーコード認識エラーとなった画像に対して画像処理＋バーコード認識をどのような順番で繰り返すのかを制御する。リトライ・繰り返しパターン制御部２９は、バーコード認識エラーとなった画像に対する画像処理＋バーコード認識の実行の順番が複数定義されている。換言すると、任意回数のリトライをどの画像処理をどのような順序で行うかが複数定義されている。なお、（画像処理＋バーコード位置検出・認識）×ｎ通りのリトライを“リトライパターン（ＲＰ）”と表記している。なお、図２でのＲＰ１及びＲＰ３の“弱”は、リトライ回数が少なく、高速な画像処理だけを行うリトライパターンを意味しており、ＲＰ２及びＲＰ４の“強”は、リトライ回数が多く、時間がかかる画像処理も実施するリトライパターンであることを示している。リトライ・繰り返し結果集計部３０は、リトライを行った場合のバーコード認識の結果を集計し、集計結果保存部３１に格納する。学習制御部３２は、繰り返し結果保存部３１に格納されている情報に基づいて、短時間で精度良くバーコード認識を行える効率の良いリトライパターンを学習する。定期集計判断部３３は、集計結果保存部３１に格納されて���るバーコード認識の集計結果に基づいて、ユーザへの通知が必要あるか否かを判断する。アラート通知処理部３４は、ユーザに対するアラートの通知処理を行う。
【００２３】
図３に、認識エラーとなるバーコードの一例としての２次元コードを示す。図示するようにセルの中にスジが入っていたり、コードを構成するセルが歪んでいると認識エラーが生じる。画像処理サーバ２０は、図示するような異常画像がＭＦＰ１０から入力された場合には、画像処理実行部２６において画像処理を施すことにより、バーコード読み取りモジュール２２によるバーコード認識可能を可能とする。
【００２４】
画像処理実行部２６がバーコードを認識可能にするために実行する画像処理としては、
●９０度単位での回転（９０度、１８０度、２７０度）
・９０度単位に回転した画像の作成
●ごま塩ノイズ除去（黒又は白ドットの除去）
・Ｘ・Ｙドットサイズ指定又は自動サイズ判定方式のごま塩ノイズ除去
●モノクロ平滑化
・コピーキャプチャー画像用平滑化処理
・白抜け穴埋め処理
●グレー化
・２値ＤＩＢをグレースケール化した画像の作成
●平滑化、スムージング、シャープ
・マスク処理による矩形空間フィルタ処理
・ソフト／シャープ変換した画像の作成
●変倍
・拡大／縮小した画像の作成
●グレー化縮小ズーム
・２値画像をグレースケールに変換した画像の作成
●色変換
・明るさ変換した画像の作成
・コントラスト変換した画像の作成
・ガンマ変換した画像の作成
・色調変換した画像の作成
など挙げられる。これらはあくまでも一例であることは言うまでもない。
【００２５】
以下に、これらのうちの一部の処理について具体的な手順を説明するが、これと異なる手順での処理の適用を妨げるものではない。
【００２６】
＜モノクロ２値平滑化処理＞
３×３平均値フィルタ相当の平滑化を施した画像を作成し、brightの値によって濃さを調整した画像を作成する。brightとして結果画像の濃さを０〜１０で指定する。ここでは、値が大きいほど結果画像が濃くなるものとする。
具体的には、入力画像の各点について、当該点を中心とした３×３画素領域に存在する白画素数がbright個未満の場合はその点を黒とし、bright以上の場合はその点を白とする。
brightの値を変えて、濃い目の画像を作ることで太め処理、薄目の画像を作ることで細め処理と同様の効果も得られる。brightが１〜９の時は、処理領域の境界画素には入力画像の画素値がコピーされる。また、brightに０を指定すると、境界を含む処理領域全面が白となる。また、bright＝１０を指定すると、処理領域前面全面が黒となる。このモノクロ２値平滑化処理は、コードのセルに図４に示すような白ドット抜けや、図５に示すような周辺ノイズが発生している場合に有効である。
【００２７】
＜白ドット埋め処理＞
連続した黒画素で囲まれた白孤立点画素を黒で塗りつぶす処理であり、孤立点ノイズ除去処理の白黒を反転したような動作となる。白ドット埋め処理は、図４に示すような白ドット抜けが発生している場合に有効である。
【００２８】
＜グレースケール化縮小＞
例えば、１／２に縮小する場合、ｎ×ｎ（ｎは任意の整数）ピクセルの範囲内の黒画素の数により０〜２nの（２n＋１）階調に変調できることを応用してグレースケール化する。具体例を挙げると、２×２ピクセル範囲内は、黒画素の数により０〜４の５階調に変調できることを応用してグレースケール化する。４×４ピクセルの範囲内をカウントすれば、０〜１６の１７階調を表現できる。黒画素をカウントする範囲は、縮小倍率によって変化させても良いし、倍率に関わらず固定でも良い。
【００２９】
＜縮小画像の高画質化＞
縮小画像の１画素の範囲に含まれる元画像の画素の平均値をもってその画素値を決めるという一般的な方法である。具体例としては、面積平均法（Area-Average）が挙げられる。1bit画像の場合には、0-255の中間値として得られた平均値を閾値に基づいて２値化する。
【００３０】
次に、画像処理実行部２６がバーコード認識率の向上のために行う画像処理の選定に関して説明する。
【００３１】
図６に、バーコード認識エラーとなった画像に対して画像処理実行部２６で各種画像処理を行った後に、バーコード認識モジュール２２に再度バーコード認識をさせた場合の成功数を示す。元画像の認識成功数（０個）に対して、各種画像処理を行うことによってそれなりにバーコード認識が成功するようになることが分かる。しかし、どの画像処理に関しても、単体では認識できるのはせいぜい半数程度である。
【００３２】
これに対し、図７に示すように、画像処理実行部２６で複数の画像処理を実行可能とし、各画像処理＋バーコード認識を行うことにより認識成功数が大幅に向上する。
【００３３】
なお、図６、図７は、ＱＲコード用の画像処理を行った例を示しているため、ＱＲコードに関しては元画像よりも各画像処理後の方が認識成功数が増加している。これに対し、ＣＯＤＥ３９に関しては画像処理を行ってもバーコード認識結果が改良されておらず、効果が無いことが分かる。従って、認識対象のバーコードの種類に応じて画像処理を変えることが好ましいことが分かる。
【００３４】
図８の列タイトルは、画像処理実行部２６が画像データに対して施す画像処理方法の種類を示している。画像処理名と画像名とが交差するセルで“１”と表示されているものは、その画像処理でその画像のバーコード認識に成功したことを示している。バーコード認識モジュール２２は、それぞれの画像処理ごとにバーコード認識のリトライを行うため、合計１３回バーコード認識を実施している。一番右の列“認識ヒット数”は、横方向の合計を算出した値である。すなわち、いくつの画像処理＋バーコード認識で認識できたかを示している。“認識ヒット数”は、数値が大きいほど、どのような画像処理でも認識しやすいことを表し、数値が小さいと特定の画像処理でなければ認識が困難であることを示す。“認識ヒット数”＝０は、バーコードを認識できなかったことを意味している。換言すると、図８において認識ヒット数が０のバーコードを認識するためには、図８には示されていない画像処理を行う必要がある。
【００３５】
図９に、画像処理実行部２６が実行する各種画像処理の処理時間を示す。ここでは、４２ページ分の画像を処理した結果を示している。速いものでは４２ページを５秒で処理しており、平均処理時間は約０．１秒／ページとなる。バーコード認識モジュール２２によるバーコード位置検出及び認識処理にはおおよそ０．３秒／ページを要するため、全体では０．４秒／ページとなる。よって、５回のリトライを行ったとしても、約２秒で処理が完了する。実際にはエラーとなる画像は多くとも全体の０．５％程度であるため、リトライを行っても実用上差し支えない。
【００３６】
一方、処理が遅いものは、約１．０秒／ページを要するため、このような画像処理を含める場合には、バーコード認識に要する時間が若干長くなる。したがって、遅い画像処理と速い画像処理との両方を実行する方式（例えば、全ての画像処理を総ざらいするような方式）の場合には、リトライ回数を変更可能とし、処理速度重視か認識率重視かを選択できるようにすると良い。
【００３７】
また、図８から明らかなように、同じ画像であっても画像処理の種類によって、画像処理後を行った後で認識できる場合とできない場合とがある。従って、複数の画像処理を組み合わせることで互いの弱点を補い、バーコードの認識率を向上させることができる。
【００３８】
図８には一部の結果しか載せていないが、認識エラーとなる原因が異なる９９個のサンプル画像に対して、複数の画像処理を組み合わせても認識できないものは３個であった。すなわち、認識エラーを３／９９＝１／３３まで減らすことができたことになる。なお、バーコード専用画像処理を行うことで、認識エラーをより低減し、認識エラー＝０件とすることも可能である。
【００３９】
最適な画像処理の組み合わせを見つけ出す手順の一例を説明する。
図１０に対象の画像リストを示す。ここでは表１図８において認識ヒット数が０の画像は対象外としている。図１０において認識ヒット数が１である画像が四つ存在するが、これらの認識を成功させた画像処理（１８０度回転、グレー化ズーム７０％、ｎｓ１８０（ノイズ除去／２値平滑化／１８０度回転）、ｎｓ２７０（ノイズ除去／２値平滑化／２７０度回転））は必ず採用する。
【００４０】
図１１に、図１０から認識ヒット数が１の画像を除いた画像リストを示す。図１１に含まれる画像のうち、先に採用が決定した画像処理で認識可能なものについては、認識可能とするための画像処理について考慮する必要はない。
【００４１】
図１２に、先に採用した四つの画像処理で認識可能な画像を除いた画像リストを示す。図１２に含まれる三つの画像を認識可能とするには、画像処理実行部２６で次のいずれかの画像処理を行った上でバーコード認識モジュール２２によってバーコード認識を行えば良いことが分かる。
・グレー平滑化
・グレー高画質変倍２００％＋ｎｓ９０（ノイズ除去／２値平滑化／９０度回転）
これらの二つのうち、処理時間が短い方を先に実行すれば良い。
【００４２】
なお、上記のように認識ヒット数が１の画像処理を優先して採用するのは、ほとんど全ての失敗画像のサンプルを入手できる場合とすることが好ましい。
【００４３】
図１３に、画像処理サーバの動作の一例を示す。まず、元画像に対してバーコード認識モジュール２２によるバーコード認識を試みる（ステップＳ１０１）。バーコード認識に成功すれば（ステップＳ１０２／Ｙｅｓ）、バーコード認識結果を出力して終了する（ステップＳ１０３）。認識に失敗した場合は（ステップＳ１０２／Ｎｏ）、実行する画像処理を選択する（ステップＳ１０４）。なお、画像処理を実行する順番については後段で説明する。そして、画像処理実行部２６により、元画像に対して画像処理を実行する（ステップＳ１０５）。その後、再びバーコード認識モジュール２２によるバーコード認識を行い（ステップＳ１０６）、失敗した場合には（ステップＳ１０２／Ｎｏ）次の画像処理を選択し（ステップＳ１０４元画像に対して実行する（ステップＳ１０５）。これをバーコード認識に成功するまで繰り返し、バーコード認識に成功した段階で認識結果を出力して処理を終了する。
【００４４】
ところで、元画像に対して強い加工を伴う画像処理を施すと、誤読の可能性が生じる。図８に示した実験においても、過度な画像補整を行うとＣＯＤＥ３９のバーコードをInt2to5として誤読するケースがあった。従って、強い加工を施した後のバーコード処理結果については、複数種類（例えば２種類）の画像処理による認識結果が一致した場合に採用することで、加工の影響による誤読を低減可能である。
【００４５】
すなわち、画像加工したバーコード画像を認識すると誤読の可能性があるため、１回の成功では正しいか否かを特定できない場合には、最低２回の読み取り成功が必要となる。このような条件で画像処理の種類を決定するには、表１において認識ヒット数が２の画像が重要となる。
図１４に対象画像のリストを示す。ここでは図８における認識ヒット数が０又は１の画像は対象外としている。
【００４６】
図１５に、図１４から認識ヒット数が２の画像を除いた画像リストを示す。図１５の画像リストに含まれる各画像は、認識ヒット数が２の画像に適用する画像処理（９０度、１８０度、２７０度、ｎｓ９０、ｎｓ１８０、ｇｒａｙ平滑化、ｇｒａｙｚｏｏｍ７０％、及びｇｒａｙ高画質２００％）を用いて全て２回以上認識可能である。従って、これらの画像処理を行えば全ての画像のバーコード認識が成功する。
【００４７】
図１６に、同一位置・座標のバーコード認識に２回成功した場合にバーコード認識結果を出力する処理の流れを示す。ただし、単純な回転（９０度、１８０度、２７０度等）は、単に元画像の向きを変えるだけの画像処理であり、画像に対する実質的な加工は行わない。従って、このような画像処理を行った場合のバーコード認識結果については加工の影響による誤読の可能性を考慮する必要はないため、１回の認識成功でバーコード認識結果を出力する。
【００４８】
まず、元画像に対してバーコード認識モジュール２２によるバーコード認識を試みる（ステップＳ２０１）。バーコード認識に成功すれば（ステップＳ２０２／Ｙｅｓ）、同一位置・座標でバーコード認識結果が得られているか否かを確認する（ステップＳ２０３）。認識結果が既に存在している場合は（ステップＳ２０４／Ｙｅｓ）、過去に認識結果が成功であったか否かを確認する（ステップＳ２０５）。今回のバーコード認識成功がその位置・座標における２回目の成功であるならば（ステップＳ２０６／Ｙｅｓ）、バーコード認識結果を出力して終了する（ステップＳ２０７）。
【００４９】
認識に失敗した場合は（ステップＳ２０２／Ｎｏ）、実行する画像処理を選択する（ステップＳ２０８）。そして、画像処理実行部２６により、元画像に対して画像処理を実行する（ステップＳ２０９）。その後、再びバーコード認識モジュール２２によるバーコード認識を行い、失敗した場合には次の画像処理を元画像に対して実行する。これをバーコード認識に成功するまで繰り返す。
【００５０】
成功したバーコード認識がその位置・座標における１回目の成功であった場合には（ステップＳ２０２／Ｎｏ）、画像処理実行部２６が実行すべき次に画像処理を選択し、バーコード認識モジュール２２が２回目のバーコード認識に成功するまで繰り返す。
【００５１】
なお、ある位置・座標でバーコード認識に成功した場合に（ステップＳ２０２／Ｙｅｓ）、その位置・座標での認識結果が存在していないとしても（ステップＳ２０４／Ｎｏ）、バーコード認識に成功した画像処理の種類を確認した結果（ステップＳ２１０）、画像に対する加工を伴わないタイプのものであれば（ステップＳ２１１／Ｎｏ）、バーコード認識結果を出力して処理を終了する。
【００５２】
ところで、ＱＲコードは、エラー訂正処理が充実しているため、誤読の可能性は低いが、ＣＯＤＥ３９のようにチェックデジット程度の確認方法しかない場合、又はチェックデジットを使用しない場合は、画像処理によって間違った値を読む可能性が高くなる。
図１７に示した通り、チェックデジットありであっても誤読の可能性が０になる訳ではない。従って、図１８に示すように、バーコード認識に成功した段階でバーコードの種類を確認し、誤読の可能性が低いＱＲコードの場合には１回の認識成功でバーコード認識結果を出力して処理を終了するようにしても良い。なお、ここで説明したステップ以外の各ステップでの処理は図１６と同様であるため重複する説明は割愛する。
【００５３】
次に、画像処理をどのような順番で実行するかについて説明する。
画像処理＋バーコード位置検出・認識を、全ての画像処理について実行する場合は、各画像処理の実行順序は任意である。一方、リトライしてバーコード認識に成功した時点で終了する場合には、なるべく少ないリトライ回数で高速に処理できる方が好ましいため、効果が高く高速な画像処理から順に“画像処理＋バーコード位置検出・認識”を実行するようにすると好ましい。
【００５４】
さらに、誤読の可能性について考慮することもできる。従って、画像処理の採用・実行順序の優先度としては、
・効果が高いもの
・処理が速い（処理時間が短い）もの
・画像加工の度合いが小さい（誤読の可能性が低い）もの
が考えられる。
【００５５】
図１９に、画像処理実行部２６での画像処理とバーコード検出モジュール２２によるバーコード位置検出＋認識の処理とに要する時間及び画像処理実行部２６による画像処理での画像加工の度合いを示す。なお、ｎｓ１８０（ノイズ除去／２値平滑化／１８０度回転）、ｎ＋ｓ（ノイズ除去／２値平滑化）、ｎｓ９０（ノイズ除去／２値平滑化／９０度回転）、及びｎｓ２７０（ノイズ除去／２値平滑化／２７０度回転）は同じ系統の画像処理である。また、ｇｒａｙ平滑化とｇｒａｙ加重平均とは同じ系統の画像処理である。
【００５６】
図２０に示すように、図１９に示した各画像処理では、９０度、１８０度、２７０度、ｎ＋ｓ、ｎｓ９０、ｎｓ１８０、ｎｓ２７０及びｇｚｏｏｍ７０％は高速に実行可能な処理であり、ｇｒａｙ高画質化２００％は時間を要する処理であることが分かる。
図２１は１ページ当たりの平均処理時間を示す。１ページ当たりの処理時間は画像処理の種類ではなくバーコード認識の対象となる画像の大きさに依存することがわかる。すなわち、元画像よりも小さくなるｇｚｏｏｍ７０％は元画像よりも高速に処理でき、元画像よりも大きくなるｇｒａｙ高画質２００％及びｍｏｎｏ３００％では元画像よりも処理が低速になり、元画像と大きさが変わらないこの他の画像処理は元画像と同程度の速度である。
図２２に、画像処理ごとのＱＲコード認識成功数を示す。同じ画像処理であってもバーコード認識の失敗原因（ノイズ、スジ）の違いにより効果に差があることが分かる。
【００５７】
図２３〜図２５は、図１９に示した各画像処理を、それぞれ“成功数が多い順”、“処理速度が速い順”、“最適化”した順番でリトライした結果を示している。なお、表５〜表７では、１度認識に成功したらリトライを終了している。“最適化”は、成功数や処理速度を重視しつつ、なるべく少ないリトライ回数でバーコードを認識できるように画像処理の順番を決定したものである。
図２３を例として読み方を説明すると、画像ｎｏの左端のＮｏ．１の画像に対して画像処理無し（最上端の“なし”に相当）でバーコード認識を行って失敗したため２番目のｎｓ１８０の画像処理を行ってからバーコード認識を行い、認識に成功したため画像ｎｏ左から２番目のＮｏ．２の画像に対する処理に移るという流れとなる。
【００５８】
図２６〜図２８は、バーコードの認識に２回成功するまでリトライを続行した場合の結果を示している。ただし、単純な回転（９０度、１８０度、２７０度）に関しては、画像に対して実質的な加工を施さないため、バーコードの認識が１回成功した時点でリトライを終了している。すなわち、図２６〜図２８は図１６に示した動作を行った場合の結果を示している。
【００５９】
なお、成功の確からしさが高い場合は特に問題とはならないが、同じ系統の画像処理を連続して実行すると、続けて認識に失敗する可能性が高くなるため、同じ系統の画像処理が続かないように実行順序を決定することが好ましい。具体的には、図２７に示すように、画像処理の順番を処理速度順とすると、画像処理実行部２６で同じ系統の画像処理が続けて実行され、バーコード認識モジュール２２が続けてバーコードの認識に失敗する可能性が高くなるため好ましくない。図２６や図２８に示すように、成功数の多い順や最適化した順番であれば、画像処理実行部２６で同じ系統の画像処理が続けて実行されることがないため、このような画像処理の実行順でリトライを行うことが好ましい。
【００６０】
図２９及び図３０に、バーコード認識処理全体の処理時間の実測値及び誤認識率を示す。ここでは８０００ページを処理し、そのうちの４２ページがバーコード認識エラーとなったため、約０．５％の誤認識率となっている。
【００６１】
全てのパターンを実行してバーコード認識結果処理部２３で結果をマージする処理を行うと、誤認識率が約０．０４％と約１０倍に向上する。ただし、処理時間の増分は２３１７．９％であり、約２３倍の時間がかかるため実用上の問題から適用が難しい場合がある。これに対し、効果的な画像処理だけを抽出してそれらを全て実行するようにすると、誤認識率は変わらず、処理時間の増分は８２３．３又は１３３０．９％であり、約１０倍の時間で処理できる。
認識すべきバーコードの種類、個数が特定されず、全てのバーコードを読み取りたい場合やスキャン画像にバーコードが一つも無いページが連続するような場合には、上述の処理時間となる。
認識すべきバーコードの種類、個数が特定できる場合は、１回／２回でリトライ終了方式が採用できるため、後段で説明するように誤認識率の効果はそのままで処理時間への影響を最小限にできる。
【００６２】
また、これまでのバーコード認識システムでは、バーコードの位置を厳密に指定しないと認識できないものが多かった。これは、ユーザの設定や運用を制限することになる。また、スキャン時のＡＤＦスキューやずれによってバーコードを誤認識することもある。これを回避するには、タイミングマークやスキュー補正、天地識別など、バーコード認識以外の技術を借りることとなり、全体としてバーコード認識率を低下させる要因となりかねなかった。
【００６３】
しかし、本実施形態に係る画像処理システムでは、上記の通り、任意の種類の任意個数のバーコード位置検出及び認識が可能なバーコード認識モジュール２２を用いているため、これを利用すれば、ユーザに負担をかけず、簡単にバーコード運用が可能となる。
例えば、原稿上に複数種のバーコードが存在しているとして、規格Ａのバーコードを使いたい場合には、規格Ａを指定するだけで、位置指定や原稿スキャン方向を気にせずともバーコード認識モジュール２２が自動的に規格Ａのバーコードの位置と認証結果とを返してくれる。
【００６４】
なお、規格Ａのバーコードが２個以上存在する場合に、全ての読み込みを完了する前にリトライを終了することを避けるため、原稿上のバーコードの種類及び最大数をユーザが特定できるのであれば、その最大数を管理ツール３０を介して画像処理サーバ２０に登録し、メイン制御部２１はユーザから指定された数のバーコードを読み取るまでリトライを繰り返すようにすると良い。
【００６５】
原稿上のバーコードの数をユーザが特定できない場合には、バーコードを認識できた時点で処理を終了するのではなく、所定回数又は各画像処理の全ての組み合わせの処理を実施し、それらの複数個の結果（バーコード位置、座標情報、バーコードの種類、認識結果など）をマージし、同じ位置のバーコードに関して異なる結果が得られた場合には、多数決によって最終的な結果を得るようにすると誤認識を低減できる。
【００６６】
上記のような複数の画像処理による認識結果をマージする手法は、処理時間が多少かかったとしても確実な結果を得たい場合や、画像処理後のバーコード認識の精度に不安がある場合に有効である。
【００６７】
これに対し、１回認識に成功したらリトライを終了する場合は、複数の画像処理による認識結果をマージする手法と比較すると、誤認識率は０．０４％と同じであるが、処理時間の増分は＋１．５％〜＋２．８％であり、処理時間を大きく増やすことなくバーコード認識率を向上させることができている。
【００６８】
画像加工がある場合にバーコード認識に２回成功したらリトライを終了する場合は、誤認識率は約０．０９％であり、複数の画像処理による認識結果をマージする手法と比較すると若干低くなっているが、何もしないとき（０．５３％）と比べれば認識の精度は約５．８倍に向上しており、十分な効果が得られている。また、処理時間の増分も＋４．４％〜＋４．６％であり、処理時間が大きく増えることはない。
【００６９】
２回の認識成功でリトライを終了するケースにおいて、処理時間順でリトライすると最も高速であるが、上記のように同じ系統の画像処理が連続して実行されるため、この順序ではリトライを行わないことが好ましい。
【００７０】
図３０に示すように、全ての画像処理を実行する場合には、全体としての処理時間が長くなってしまうが、１回又は２回の成功でリトライを終了させる場合には、処理時間にはほとんど影響を及ぼさない。
【００７１】
また、バーコードの認識性能は、機器の経時劣化により低下すると予想される。さらに、何らかの事情で原稿や用紙が変わってバーコード画像の特性が変化した場合にユーザの目視でそれを判断することは困難である。このため、複数の画像処理での認識結果にばらつきが大きくなった場合にはそれをユーザに通知することが好ましい。
【００７２】
本実施形態に係る画像処理システムは、任意の画像処理を行った後の認識結果について、認識に成功したか否かを画像処理サーバ２０がリトライ・繰り返し結果集計部３０で集計し、集計結果を集計結果保存部３１に格納する。このため、定期的に全パターンを実行して認識結果を集計すれば、定期集計判断部３３は集計結果保存部３１に格納されている情報に基づいてリトライ画像処理設定がユーザの思惑通りに作動しているか否かを判断することができ、思惑と異なる場合にはアラート通知処理部３４に指示を送って管理ツール４０にアラートを発することができる。
なお、バーコード認識に成功するまでの平均的なリトライ処理の実行回数が増大したり平均リトライ処理時間が増大した場合にアラートを発するようにしても良い。
【００７３】
これにより、ＭＦＰ１０が経時劣化するなどしてスキャナ機能の特性が変化したとしても、それを検知してユーザに通知できる。
【００７４】
また、集計結果保存部３１に格納されている情報に基づいて、画像処理実行部２６が実行する画像処理を選択したり、リトライの順序を決定することで、バーコード認識結果を学習し、その時点でのスキャナ機能の特性に応じてリトライ処理を行うことが可能となる。
【００７５】
また、上記のように、バーコード認識モジュール２２は、バーコード位置・傾き検出及びバーコード種類の推測機能を司るバーコード位置・角度検出部２２ａと、バーコード認識機能（種類を特定してデータを読み取る機能）を司るバーコード認識部２２ｂとを備えている。
【００７６】
バーコード位置・角度検出部２２ａは、バーコード周辺部を切り出してバーコード位置検出処理を行うが、この際に、まず画像の中からバーコードらしき部分を抽出し（一次抽出）、その中から実際にバーコード認識すべき領域を抽出（二次抽出）するようにしても良い。
【００７７】
バーコード位置の検出及び種類の推測は、認識に比べて比較的処理に時間を要するため、リトライ処理時に画像全体に毎回実行すると時間がかかってしまうが、一次抽出は画像全体に対して一度だけ実行し、リトライ時には一次抽出で切り出した画像に対して二次抽出を行うようにすることで高速に処理できる。
【００７８】
このような二段階の抽出を行うことにより、処理対象の画像が小さくなる分バーコード認識部２２ｂによるバーコード認識処理が高速になる。特にリトライ処理をする際には、バーコード認識部２２ｂがバーコード認識処理を繰り返すため、高速化の効果が顕著に現れる。
【００７９】
また、バーコード位置検出の処理は、バーコード周辺のみならず、原稿全体の画像状態に大きく左右される。したがって、バーコード位置・角度検出部２２ａがバーコード周辺部を二段階に切り出してバーコード位置検出処理を行うことで、外乱を最小限に抑え、不安要素を減らすことができる。
【００８０】
ただし、一次抽出が一回だけだと、バーコードを検出できない（一次抽出の際に抽出漏れする）場合もある。このような場合には、９０度、１８０度、２７０度回転した画像に対しても一次抽出を実行し、その結果をマージするようにすればよい。マージした領域を対象として二次抽出を行い、画像処理及びバーコード認識処理を行うことで、バーコードの抽出漏れを低減できる。
【００８１】
一次抽出及び二次抽出の一例を図３１に示す。一次抽出後の画像は元画像と比較して小さいため、これを処理対象として二次抽出を行うことで処理を高速化できることが理解できる。
【００８２】
なお、ユーザが画像上のバーコードの位置やサイズを特定できる場合には、ユーザによって指定された領域の周辺を一次抽出領域として抽出しても良い。バーコードの大きさが不明であっても、種類、最大文字数、最小セルサイズなどが指定されている場合は、これらの値からおおよそのバーコードの大きさを推定し、一次抽出領域として抽出すると良い。
一次抽出した領域でバーコード認識ができなかった場合には、一次抽出する領域を広げるか狭めるかして再び一次抽出を行い、バーコード認識を試みる。
なお、ユーザがバーコード位置を指定しない場合には、画像を複数の領域に分割し、その領域ごとにバーコードの検出及び認識を行っても良い。
【００８３】
なお、上記実施形態は本発明の好適な実施の一例であり、本発明はこれに限定されることはない。
例えば、上記実施形態では、画像処理の例として９０度単位で回転させる処理を挙げたが、必ずしも９０度単位である必要はなく、３０度単位や４５度単位などの任意の角度を単位として回転させる処理を適用することも可能である。
このように、本発明は様々な変形が可能である。
【符号の説明】
【００８４】
１０    ＭＦＰ
２０    画像処理サーバ
２１    メイン制御部
２２    バーコード認識モジュール
２２ａ    バーコード位置・角度検出部
２２ｂ    バーコード認識部
２３    バーコード認識制御部
２４    バーコード認識結果処理部
２５    認識結果出力部
２６    画像処理実行部
２７    画像処理ストック部
２８    リトライ・繰り返し処理制御部
２９    リトライ・繰り返しパターン制御部
３０    リトライ・繰り返し結果集計部
３１    集計結果記憶部
３２    学習制御部
３３    定期集計判断部
３４    アラート通知処理部
【先行技術文献】
【特許文献】
【００８５】
【特許文献１】特許第３３７６１７５号公報
【特許文献２】特開２００６−２０９４４９号公報
【図１】
2010211738.tif 000003
【図２】
2010211738.tif 000004
【図３】
2010211738.tif 000005
【図４】
2010211738.tif 000006
【図５】
2010211738.tif 000007
【図６】
2010211738.tif 000008
【図７】
2010211738.tif 000009
【図８】
2010211738.tif 000010
【図９】
2010211738.tif 000011
【図１０】
2010211738.tif 000012
【図１１】
2010211738.tif 000013
【図１２】
2010211738.tif 000014
【図１３】
2010211738.tif 000015
【図１４】
2010211738.tif 000016
【図１５】
2010211738.tif 000017
【図１６】
2010211738.tif 000018
【図１７】
2010211738.tif 000019
【図１８】
2010211738.tif 000020
【図１９】
2010211738.tif 000021
【図２０】
2010211738.tif 000022
【図２１】
2010211738.tif 000023
【図２２】
2010211738.tif 000024
【図２３】
2010211738.tif 000025
【図２４】
2010211738.tif 000026
【図２５】
2010211738.tif 000027
【図２６】
2010211738.tif 000028
【図２７】
2010211738.tif 000029
【図２８】
2010211738.tif 000030
【図２９】
2010211738.tif 000031
【図３０】
2010211738.tif 000032
【図３１】
2010211738.tif 000033