(57)【要約】【課題】印字汚れやスキャンノイズ等の不慮の要因に影響を受けることなくバーコード認識率を向上させる。【解決手段】原稿を読み取って画像データを生成するスキャナ装置と、該スキャナ装置から画像データを取得して所定の画像処理を施す画像処理サーバと、を有する画像処理システムであって、画像処理サーバは、スキャナ装置から取得した画像データのグレースケール画像について、黒強調を行うための黒強調パラメータ又は白強調を行うための白強調パラメータの少なくともいずれかに基づいて階調変換を行う画像処理手段と、画像処理手段による画像処理後の画像データに含まれるバーコードを検出するバーコード検出手段と、バーコード検出手段により検出されたバーコードを認識して情報を取得するバーコード認識手段と、を有する。【選択図】図２
2011096095.tif 000002
【特許請求の範囲】
【請求項１】
原稿を読み取って画像データを生成するスキャナ装置と、該スキャナ装置から画像データを取得して所定の画像処理を施す画像処理サーバと、を有する画像処理システムであって、
前記画像処理サーバは、
前記スキャナ装置から取得した画像データのグレースケール画像について、黒強調を行うための黒強調パラメータ又は白強調を行うための白強調パラメータの少なくともいずれかに基づいて階調変換を行う画像処理手段と、
前記画像処理手段による画像処理後の画像データに含まれるバーコードを検出するバーコード検出手段と、
前記バーコード検出手段により検出されたバーコードを認識して情報を取得するバーコード認識手段と、
を有することを特徴とする画像処理システム。
【請求項２】
前記画像処理手段は、前記スキャナ装置から入力した画像データが２値である場合に、変換対象画素の周辺画素値から加重平均処理することにより前記画像データをスムージングし、グレースケール画像に変換するグレー化手段を有することを特徴とする請求項１に記載の画像処理システム。
【請求項３】
前記画像処理手段は、前記スキャナ装置から入力した画像データが多値である場合に、変換対象画素の周辺画素値から加重平均処理することにより前記画像データをスムージングするスムージング手段を有することを特徴とする請求項１又は２に記載の画像処理システム。
【請求項４】
前記画像処理手段は、前記スキャナ装置から入力した画像データが２値である場合に、黒強調パラメータ及び白強調パラメータに基づいて階調変換を行うことを特徴とする請求項１から３のいずれか１項に記載の画像処理システム。
【請求項５】
前記画像処理手段は、前記スキャナ装置から入力した画像データが多値である場合に、変換対象画素の周辺画素値から加重平均処理することにより前記画像データをスムージングするスムージング手段を有し、黒強調パラメータ及び前記スムージング手段によるスムージングＯＮ／ＯＦＦ切り替えを行うためのスムージングパラメータに基づいて階調変換を行うことを特徴とする請求項１から４のいずれか１項に記載の画像処理システム。
【請求項６】
前記画像処理サーバは、前記階調変換に用いるパラメータについて、黒強調パラメータを１桁目、白強調パラメータ又は前記スムージング手段によるスムージングＯＮ／ＯＦＦ切り替えを行うためのスムージングパラメータを２桁目で表した２桁の数値で管理することを特徴とする請求項５に記載の画像処理システム。
【請求項７】
前記画像処理サーバは、前記バーコード検出手段による検出又は前記バーコード認識手段による認識に失敗したバーコードを含む画像データに対して、画像処理並びにバーコードの検出及び認識を１組の動作とするリトライ処理を、前記階調変換に用いる前記パラメータを順次変更して繰り返し実行するリトライ手段を有することを特徴とする請求項１から６のいずれか１項に記載の画像処理システム。
【請求項８】
前記画像処理サーバは、前記スキャナ装置で生成された画像データのグレースケール画像を記憶する記憶手段を有し、
前記画像処理手段は、前記リトライ手段による前記リトライ処理を行う場合に、前記記憶手段に記憶されたグレースケール画像を用いて階調変換を行うことを特徴とする請求項７に記載の画像処理システム。
【請求項９】
原稿を読み取って画像データを生成するスキャナ装置から画像データを取得して所定の画像処理を施す画像処理サーバであって、
前記スキャナ装置から取得した画像データのグレースケール画像について、黒強調を行うための黒強調パラメータ又は白強調を行うための白強調パラメータの少なくともいずれかに基づいて階調変換を行う画像処理手段と、
前記画像処理手段による画像処理後の画像データに含まれるバーコードを検出するバーコード検出手段と、
前記バーコード検出手段により検出されたバーコードを認識して情報を取得するバーコード認識手段と、
を有することを特徴とする画像処理サーバ。
【請求項１０】
前記画像処理手段は、前記スキャナ装置から入力した画像データが２値である場合に、変換対象画素の周辺画素値から加重平均処理することにより前記画像データをスムージングし、グレースケール画像に変換するグレー化手段を有することを特徴とする請求項９に記載の画像処理サーバ。
【請求項１１】
前記画像処理手段は、前記スキャナ装置から入力した画像データが多値である場合に、変換対象画素の周辺画素値から加重平均処理することにより前記画像データをスムージングするスムージング手段を有することを特徴とする請求項９又は１０に記載の画像処理サーバ。
【請求項１２】
前記画像処理手段は、前記スキャナ装置から入力した画像データが２値である場合に、黒強調パラメータ及び白強調パラメータに基づいて階調変換を行うことを特徴とする請求項９から１１のいずれか１項に記載の画像処理サーバ。
【請求項１３】
前記画像処理手段は、前記スキャナ装置から入力した画像データが多値である場合に、変換対象画素の周辺画素値から加重平均処理することにより前記画像データをスムージングするスムージング手段を有し、黒強調パラメータ及び前記スムージング手段によるスムージングＯＮ／ＯＦＦ切り替えを行うためのスムージングパラメータに基づいて階調変換を行うことを特徴とする請求項９から１２のいずれか１項に記載の画像処理サーバ。
【請求項１４】
前記階調変換に用いるパラメータについて、黒強調パラメータを１桁目、白強調パラメータ又は前記スムージング手段によるスムージングＯＮ／ＯＦＦ切り替えを行うためのスムージングパラメータを２桁目で表した２桁の数値で管理することを特徴とする請求項１３に記載の画像処理サーバ。
【請求項１５】
前記バーコード検出手段による検出又は前記バーコード認識手段による認識に失敗したバーコードを含む画像データに対して、画像処理並びにバーコードの検出及び認識を１組の動作とするリトライ処理を、前記階調変換に用いる前記パラメータを順次変更して繰り返し実行するリトライ手段を有することを特徴とする請求項９から１４のいずれか１項に記載の画像処理サーバ。
【請求項１６】
前記スキャナ装置で生成された画像データのグレースケール画像を記憶する記憶手段を有し、
前記画像処理手段は、前記リトライ手段による前記リトライ処理を行う場合に、前記記憶手段に記憶されたグレースケール画像を用いて階調変換を行うことを特徴とする請求項１５に記載の画像処理サーバ。
【請求項１７】
原稿を読み取って画像データを生成するスキャナ装置から画像データを取得して所定の画像処理を施す画像形成装置であって、
前記スキャナ装置から取得した画像データのグレースケール画像について、黒強調を行うための黒強調パラメータ又は白強調を行うための白強調パラメータの少なくともいずれかに基づいて階調変換を行う画像処理手段と、
前記画像処理手段による画像処理後の画像データに含まれるバーコードを検出するバーコード検出手段と、
前記バーコード検出手段により検出されたバーコードを認識して情報を取得するバーコード認識手段と、
を有することを特徴とする画像形成装置。
【請求項１８】
前記画像処理手段は、前記スキャナ装置から入力した画像データが２値である場合に、変換対象画素の周辺画素値から加重平均処理することにより前記画像データをスムージングし、グレースケール画像に変換するグレー化手段を有することを特徴とする請求項１７に記載の画像形成装置。
【請求項１９】
前記画像処理手段は、前記スキャナ装置から入力した画像データが多値である場合に、変換対象画素の周辺画素値から加重平均処理することにより前記画像データをスムージングするスムージング手段を有することを特徴とする請求項１７又は１８に記載の画像形成装置。
【請求項２０】
前記画像処理手段は、前記スキャナ装置から入力した画像データが２値である場合に、黒強調パラメータ及び白強調パラメータに基づいて階調変換を行うことを特徴とする請求項１７から１９のいずれか１項に記載の画像形成装置。
【請求項２１】
前記画像処理手段は、前記スキャナ装置から入力した画像データが多値である場合に、変換対象画素の周辺画素値から加重平均処理することにより前記画像データをスムージングするスムージング手段を有し、黒強調パラメータ及び前記スムージング手段によるスムージングＯＮ／ＯＦＦ切り替えを行うためのスムージングパラメータに基づいて階調変換を行うことを特徴とする請求項１７から２０のいずれか１項に記載の画像形成装置。
【請求項２２】
前記階調変換に用いるパラメータについて、黒強調パラメータを１桁目、白強調パラメータ又は前記スムージング手段によるスムージングＯＮ／ＯＦＦ切り替えを行うためのスムージングパラメータを２桁目で表した２桁の数値で管理することを特徴とする請求項２１に記載の画像形成装置。
【請求項２３】
前記バーコード検出手段による検出又は前記バーコード認識手段による認識に失敗したバーコードを含む画像データに対して、画像処理並びにバーコードの検出及び認識を１組の動作とするリトライ処理を、前記階調変換に用いる前記パラメータを順次変更して繰り返し実行するリトライ手段を有することを特徴とする請求項１７から２２のいずれか１項に記載の画像形成装置。
【請求項２４】
前記スキャナ装置で生成された画像データのグレースケール画像を記憶する記憶手段を有し、
前記画像処理手段は、前記リトライ手段による前記リトライ処理を行う場合に、前記記憶手段に記憶されたグレースケール画像を用いて階調変換を行うことを特徴とする請求項２３に記載の画像形成装置。
【請求項２５】
原稿を読み取って画像データを生成するスキャナ装置と、該スキャナ装置から画像データを取得して所定の画像処理を施す画像処理サーバと、を有する画像処理システムで用いられる画像認識処理方法であって、
前記画像処理サーバが、
前記スキャナ装置から取得した画像データのグレースケール画像について、黒強調を行うための黒強調パラメータ又は白強調を行うための白強調パラメータの少なくともいずれかに基づいて階調変換を行う画像処理ステップと、
前記画像処理ステップでの画像処理後の画像データに含まれるバーコードを検出するバーコード検出ステップと、
前記バーコード検出ステップで検出されたバーコードを認識して情報を取得するバーコード認識ステップと、
を有することを特徴とする画像認識処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システム、画像処理サーバ、画像形成装置及び画像認識処理方法に関し、特に、スキャナ、デジタルカメラ、ファクシミリなどの画像入力装置から入力された画像の中の任意の位置に配置された任意の種類のバーコードの位置、座標の検出及び検出されたバーコードの認識に好ましく適用される技術に関する。
【背景技術】
【０００２】
バーコードや２次元コードは今や、様々な商品にも表示されているほど一般的な存在となっており、スーパーマーケットやコンビニエンスストアのレジスタや携帯電話端末などにその読み取り装置が設けられている。なお、以下の説明においては、１次元及び２次元のコードの両方を含めて単に「バーコード」と表記する。
【０００３】
一方、オフィスにおけるバーコードと言えば、運送業などの一部の業種では、業務管理、在庫管理、電子データとの紐付け・検索・管理などのために利用されている。
【０００４】
そのような動向を受けて、事務用紙にもバーコードを付け、専用のバーコードリーダではなくコンピュータ用のスキャナで読み取って電子管理と連携させるというニーズも増えている。
【０００５】
コンピュータ用のスキャナでバーコードの位置を検出・認識することに関する技術として、特許文献１に開示される「バーコード認識装置」がある。
【０００６】
また、バーコードの認識ミスを減らす方法に関する技術として、特許文献２に開示される「移動体通信端末、その撮像制御方法およびプログラム」には、バーコード認識に失敗した場合に、１サイズ大きく変倍してバーコードを認識する方法が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献２に記載の発明は、バーコード認識率の向上を試みるものであるが、単純に拡大変倍することでバーコード認識率が向上することはまれであり、バーコード認識率を向上させる効果は小さい。又は、限定された用途でなければ効果が無い。また、画像サイズが大きくなると処理に時間がかかってしまう。
【０００８】
また、前述のように一般的なスキャナとＰＣ（認識ソフト）でバーコード認識させうる場合、専用のバーコードリーダほどの認識率が得られないことが多い。その理由は次のようにいくつか考えられる。
【０００９】
・専用バーコードリーダは、成功するまで何度も「スキャン＋認識」を内部的に繰り返す。加えて、人間が操作することが多く、成功するまで向きや方向など調整できるが、スキャナとＰＣを用いたバーコード認識では１回のスキャンで処理しなければならない。
・スキャナからバーコード認識エンジンまでの条件を固定できないため、一定の条件でチューニングできない。
・ＰＣ版では、汎用的に利用できるようにバーコードの種類を限定していない等の理由から、認識条件が多様になる。
【００１０】
１回のスキャンで認識できるようにするためには、印字汚れやスキャンノイズ等の不慮の要因に対しての耐性が強いことが望まれる。
【００１１】
そこで、本発明は、上述した事情に鑑みてなされたものであり、印字汚れやスキャンノイズ等の不慮の要因に影響を受けることなくバーコード認識率を向上させることを目的とする。
【課題を解決するための手段】
【００１２】
本発明の一側面である画像処理システムは、原稿を読み取って画像データを生成するスキャナ装置と、該スキャナ装置から画像データを取得して所定の画像処理を施す画像処理サーバと、を有する画像処理システムであって、画像処理サーバは、スキャナ装置から取得した画像データのグレースケール画像について、黒強調を行うための黒強調パラメータ又は白強調を行うための白強調パラメータの少なくともいずれかに基づいて階調変換を行う画像処理手段と、画像処理手段による画像処理後の画像データに含まれるバーコードを検出するバーコード検出手段と、バーコード検出手段により検出されたバーコードを認識して情報を取得するバーコード認識手段と、を有する。
【００１３】
本発明の一側面である画像処理サーバは、原稿を読み取って画像データを生成するスキャナ装置から画像データを取得して所定の画像処理を施す画像処理サーバであって、スキャナ装置から取得した画像データのグレースケール画像について、黒強調を行うための黒強調パラメータ又は白強調を行うための白強調パラメータの少なくともいずれかに基づいて階調変換を行う画像処理手段と、画像処理手段による画像処理後の画像データに含まれるバーコードを検出するバーコード検出手段と、バーコード検出手段により検出されたバーコードを認識して情報を取得するバーコード認識手段と、を有する。
【００１４】
本発明の一側面である画像形成装置は、原稿を読み取って画像データを生成するスキャナ装置から画像データを取得して所定の画像処理を施す画像形成装置であって、スキャナ装置から取得した画像データのグレースケール画像について、黒強調を行うための黒強調パラメータ又は白強調を行うための白強調パラメータの少なくともいずれかに基づいて階調変換を行う画像処理手段と、画像処理手段による画像処理後の画像データに含まれるバーコードを検出するバーコード検出手段と、バーコード検出手段により検出されたバーコードを認識して情報を取得するバーコード認識手段と、を有する。
【００１５】
本発明の一側面である画像認識処理方法は、原稿を読み取って画像データを生成するスキャナ装置と、該スキャナ装置から画像データを取得して所定の画像処理を施す画像処理サーバと、を有する画像処理システムで用いられる画像認識処理方法であって、画像処理サーバが、スキャナ装置から取得した画像データのグレースケール画像について、黒強調を行うための黒強調パラメータ又は白強調を行うための白強調パラメータの少なくともいずれかに基づいて階調変換を行う画像処理ステップと、画像処理サーバが、画像処理ステップでの画像処理後の画像データに含まれるバーコードを検出するバーコード検出ステップと、画像処理サーバが、バーコード検出ステップで検出されたバーコードを認識して情報を取得するバーコード認識ステップと、を有する。
【発明の効果】
【００１６】
本発明によれば、バーコード認識処理の前に、黒強調や白強調を行うためのパラメータに基づいて階調変換を行う画像処理を施すため、認識対象のバーコード画像についてノイズ低減や太線・細線化等の効果が得られ、例えば一般的なスキャナとＰＣでバーコード認識させる場合であっても、印字汚れやスキャンノイズ等の不慮の要因に影響を受けることなくバーコード認識率を向上させることが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態に係る画像処理システムの構成を示す図である。
【図２】本発明の実施形態に係る画像処理サーバの構成を示す図である。
【図３】本発明の実施形態に係る画像処理及びバーコード認識処理の流れ（全体）を示す図である。
【図４】本発明の実施形態に係る画像処理及びバーコード認識処理の流れ（２値画像）を示す図である。
【図５】本発明の実施形態に係る画像処理及びバーコード認識処理の流れ（多値画像）を示す図である。
【図６】本発明の実施形態に係る画像処理（スムージンググレースケール化）に用いるフィルタの例を示す図である。
【図７】一般的なガンマ曲線を示す図である。
【図８】本発明の実施形態に係る画像処理（階調変換（ガンマ補正））による階調調整の様子を示す図である。
【図９】本発明の実施形態に係るガンマ補正による画処理効果を示す図である。
【図１０】一般的なガンマ曲線を用いたガンマ補正による画処理効果と本発明の実施形態に係るガンマ補正による画処理効果を示す図である。
【図１１】本発明の実施形態に係る画像処理を行った場合のバーコード認識結果を示す図（２値画像）である。
【図１２】本発明の実施形態に係る画像処理を行った場合のバーコード認識結果を示す図（多値画像）である。
【図１３】本発明の実施形態に係る画像処理を行った場合のバーコード認識結果を示す図（２値画像・多値画像）である。
【図１４】本発明の実施形態に係る画像処理を行った場合と多種類の画像処理を用いた場合の１Ｄバーコードに対する効果を示す図である。
【図１５】本発明の実施形態に係る画像処理を行った場合と多種類の画像処理を用いた場合の２Ｄバーコードに対する効果を示す図である。
【図１６】本発明の実施形態に係る画像処理（リトライ）に用いるリトライテーブル（２値画像）の例を示す図である。
【図１７】本発明の実施形態に係る画像処理（リトライ）に用いるリトライテーブル（多値画像）の例を示す図である。
【図１８】本発明の実施形態に係る画像処理（リトライ）に用いるリトライテーブルの策定手法を説明するための図である。
【図１９】本発明の実施形態に係る画像処理（リトライ）に用いるリトライテーブルの策定手法を説明するための図である。
【発明を実施するための形態】
【００１８】
本発明は、上述したような入力画像のばらつき等の不慮の要因により、安定したバーコード認識結果が得られにくい場合に、認識率を向上させ、安定したバーコード認識結果が得られるようにすることを狙っている。特に、グレースケール画像入力に対応したバーコード認識エンジンを利用する場合を想定している。以下のように、２値と多値とで前処理等に一部違いがあるが、多値化した後の処理ロジック（黒強調、白強調のガンマ補正部分）はほとんど同じ処理となる。
【００１９】
＜２値の場合＞
・変換する画素周辺の値からスムージングしたｎ階調のグレースケール画像に変換する。
・階調変換（ガンマ）補正として、所定のパラメータに基づいて黒強調、白強調を実施する。
画像処理対象が２値画像データなので、平滑化により階調をつけるとともに、エッジのスムージング、ノイズ低減、太線／細線化（濃淡）等の効果を得る。
実施形態として後述するが、具体的には、
・３×３画素から加重平均平滑化によりグレー値を算出し、１１階調グレースケールに変換する。
・黒強調について一の位に９段階でパラメータ設定し、白強調について十の位に９段階でパラメータ設定する。
・黒強調または白強調の処理は、パラメータで指定された任意の閾値以下（または以上）を真っ黒（または真っ白）とし、それ以外をリニアに変換するものである。
【００２０】
＜多値の場合＞
・変換する画素周辺の値からスムージングしたグレースケール画像に変換する（パラメータでＯＮ／ＯＦＦ切り替え可能に構成）
・階調変換（ガンマ）補正として、所定のパラメータに基づいて黒強調、白強調を実施する。
画像処理対象は多値画像データでもともと階調があるので、スムージング、ノイズ低減、濃淡変更等の効果を得る。
実施形態として後述するが、具体的には、
・スムージングＯＮ／ＯＦＦについて十の位にパラメータ設定する。
・黒強調について一の位に９段階でパラメータ設定する（黒強調のみで十分だったので、白強調のパラメータ設定は行わない。なお、黒強調のパラメータ設定を行わずに白協調について一の位に９段階でパラメータ設定するように構成してもよい）。
・黒強調の処理は、パラメータで指定された任意の閾値以下を真っ黒とし、それ以外をリニアに変換するものである。
【００２１】
なお、ガンマ補正に関しては、本来はガンマカーブ（図７）を使った入出力トーンカーブ制御を表しているが、広義ではトーンカーブを使用した入出力変換の意で使われることも多い。本発明におけるガンマ補正またはガンマ変換とは広義の意味を表すものとする。すなわち、図７に示す一般的なガンマ曲線ではなく、何らかの直線または曲線のトーンカーブにより入出力データの変換を行う。本発明では、後述する実施形態で詳細を説明するが、この「直線または曲線のトーンカーブ」を黒強調、白強調パラメータにより変化させてバーコード認識率向上に応用している。
【００２２】
また、本発明の特徴である階調変換（ガンマ）補正処理（所定のパラメータを用いた黒強調、白強調）の対象となるグレースケール画像は、原稿を読み取って画像データを生成するスキャナ装置から入力されたものでもよいし（この場合スキャナ装置がグレースケール画像を生成する）、スキャナ装置から入力した後に画像処理サーバがグレー化処理を行ったものでもよい。後者の場合、グレー化処理は、階調変換（ガンマ）補正処理の前段階に行われる。
【００２３】
以下、本発明の実施形態について図面を参照して説明する。
【００２４】
図１に、本実施形態に係る画像処理システムの構成を示す。本実施形態の画像処理システムは、ＭＦＰ（Multi Function Peripheral）１０、画像処理サーバ２０及び管理ツール４０がネットワーク５０を介して接続された構成であり、ＭＦＰ１０が原稿をスキャンして生成した画像データに対して画像処理サーバ２０において所定の画像処理を施し、ネットワーク５０に接続されている不図示の情報処理装置へ配信するシステムである。なお、ここではＭＦＰ１０と画像処理サーバ２０とが別体の構成を示しているが、これらが一体の構成であってもよい。
【００２５】
画像処理サーバ２０は、画像データに対して画像処理を施す画像処理装置としての機能と、情報処理装置へ情報を配信するサーバとの機能を兼ね備えている。画像処理サーバ２０は、情報処理装置への配信の手法として、電子メールによる配信、ＦＡＸによる配信、情報処理装置がアクセス可能なフォルダへのデータ転送による配信等の機能を備えている。
【００２６】
管理ツール４０は、画像データに対して行う画像処理の設定や、画像データの配信先の設定等を行うためのユーザインタフェースであり、コンピュータ端末やＰＤＡ（Personal Digital Assistant）等の情報処理装置である。なお、画像処理サーバ２０をＭＦＰ１０と一体に構成する場合には、ＭＦＰ１０の操作パネルを管理ツール４０として用いることも可能である。
【００２７】
図２に画像処理サーバ２０の構成を示す。画像処理サーバ２０は、メイン制御部２１、バーコード認識エンジン２２、バーコード認識制御部２３、バーコード認識結果処理部２４、認識結果出力部２５、画像処理制御部３１、２値用処理部３２、多値用処理部３３、スムージンググレー画像保存部３４、リトライ・繰り返し処理制御部３５、リトライパターン管理部３６を備える。
【００２８】
画像処理サーバ２０上の各機能部のうち、スムージンググレー画像保存部３４及びリトライパターン管理部３６を除く各部は、ソフトウェア処理によってコンピュータ上に実現される。すなわち、画像処理サーバ２０を構成するコンピュータのＣＰＵがソフトウェアを実行することにより、コンピュータのＣＰＵやそのワークエリアであるメモリ上に各機能部が形成される。
【００２９】
メイン制御部２１は、各機能部の動作を制御する。バーコード認識エンジン２２は、バーコード位置・角度検出部２２ａとバーコード認識部２２ｂとを有し、バーコード位置・座標、バーコード画像の傾き（３６０度任意方向）の検出、１次元コードか２次元コードかの推測、バーコード種類の決定及びバーコード認識機能を有する。バーコード位置・角度検出部２２ａは、入力された画像データに含まれるバーコードを検出し、それが画像上のどの位置にあるか（座標値）やその向き（基準となる方向に対してどの程度傾いた状態であるか）を検出するとともに、バーコードの種類を推定する。バーコード認識部２２ｂは、バーコード位置・角度検出部２２ａが検出したバーコードの位置及び向きに基づいてバーコードを認識する。
【００３０】
バーコード認識制御部２３は、バーコード認識エンジン２２を制御してバーコード認識を行い、認識結果をバーコード認識結果処理部２４に出力する。バーコード認識結果処理部２４は、バーコード認識結果に対してマージや座標変換等の処理を行う。認識結果出力部２５は、バーコード検出モジュール２２により成功したバーコード認識結果をネットワーク５０上の不図示の情報処理装置へ出力する。なお、バーコード認識結果に基づいて、各種書誌情報の設定や（格納先ファイルやファイル名の設定）、文書の分割（バーコード用紙を基点に２つ以上の文書に分割し配信、出力）を行うことも可能である。
【００３１】
画像処理制御部３１は、入力したバーコード付き原稿の画像に対してバーコードの認識が可能となるような画像処理（２値データ用の画像処理または多値データ用の画像処理）を施す。また、あらかじめ設定されたリトライパターンに従って所定回数の画像処理を施す。
【００３２】
２値用処理部３２は、スムージンググレー化処理部３２ａとガンマ補正処理部３２ｂとを有し、２値画像データについて多値への変換を行い、所定のパラメータに基づいてガンマ補正を施す。スムージンググレー化処理部３２ａは、変換する画素周辺の値からスムージングしたｎ階調のグレースケール画像に変換する。ガンマ補正処理部３２ｂは、ガンマ補正（階調変換）処理として、あらかじめ設定されたパラメータ（リトライ処理の場合はリトライパターンで定められたパラメータ）に基づいて、黒強調処理や白強調処理を施す。
【００３３】
多値用処理部３３は、スムージング処理部３３ａとガンマ補正処理部３３ｂとを有し、多値画像データについて、所定のパラメータに基づいてスムージング（平滑化）やガンマ補正を施す。スムージング処理部３３ａでは、スムージンググレー化処理部３２ａと異なり、階調化処理は行わず、必要な場合（パラメータで設定された場合）にスムージングを行う。ガンマ補正については、２値データの場合と同様である。スムージンググレー画像保存部３４は、スムージンググレー化処理部３２ａでスムージング・多値化されたグレースケール画像や、スムージング処理部３３ａでスムージングされたグレースケール画像を例えば一時記憶領域に保存する。
【００３４】
リトライ・繰り返し処理制御部３５は、バーコード認識エラーとなった画像に対して、設定されたリトライパターンに基づいて、所定の画像処理（ガンマ補正処理）とバーコード認識を繰り返す制御を行う。より具体的には、リトライ処理を行う場合、リトライ・繰り返し処理制御部３５は、画像処理制御部３１にガンマ補正処理に用いるパラメータを送出するとともに、メイン制御部２１を通じてバーコード認識制御部２３にパーコード認識処理の命令を出す。リトライパターン管理部３６は、リトライ・繰り返し処理制御部３５がリトライ処理制御を行うためのリトライパターン（図１６、図１７）を保持する。リトライパターンは、図１６、図１７に示すように、リトライ回数と各回の画像処理（ガンマ補正処理）で使用するパラメータが例えばテーブル化されて設定されている。
【００３５】
図３から図５に本実施形態に係る画像処理及びバーコード認識処理の流れを示す。図３は全体の流れ、図４は２値画像データについての流れ、図５は多値画像データについての流れを表す。図３を参照して全体の流れについて説明する。バーコード付き原稿の画像を入力した（ステップＳ１０１）後、画像処理制御部３１は該画像が２値データか多値データかを判定し（ステップＳ１０２）、２値データであった場合は２値用処理部３２が２値データ用の画像処理を実行し（ステップＳ１０３）、多値データであった場合には多値用処理部３３が多値データ用の画像処理を実行する（ステップＳ１０４）。
【００３６】
そして、上記画像処理が施された後、バーコード認識制御部２３を通じてバーコード認識エンジン２２によりバーコード位置検出処理・バーコード認識処理を実行する（ステップＳ１０５）。バーコード認証結果が成功した場合、バーコード認識結果処理部２４を通じて認識結果出力部２５が該認識結果を出力し（ステップＳ１０７）、スムージンググレー画像保存部３４で保持された一時画像の破棄等を行って終了処理となる（ステップＳ１０８）。認識結果がエラーとなった場合、リトライ処理として、２値データ用の画像処理または多値データ用の場号処理を実行し、バーコード認識処理を繰り返す（ステップＳ１０３〜ステップＳ１０５）。
【００３７】
図４を参照して２値データ用の画像処理（図３のステップＳ１０３）について説明する。バーコード付き原稿の画像を入力し該画像が２値データの場合（ステップＳ２０１）、画像処理制御部３１はリトライ・繰り返し処理制御部３５を通じてリトライパターン管理部３６内の２値用リトライテーブル（図１６）を参照し、画像処理（ガンマ補正処理）に用いるパラメータを取得する。ここで、管理ツール４０によりリトライ処理の設定（図１６における「１回のみ」、「リカバリ中」、「リカバリ強」）がなされているものとする。そして、画像処理制御部３１は、入力した画像のグレー画像がスムージンググレー画像保存部３４に保存されているかを判定し（ステップＳ２０３）、保存されていない場合（ステップＳ２０３／ＮＯ）は２値用処理部３２に入力画像データとパラメータを渡す。
【００３８】
２値用処理部３２では、スムージンググレー化処理部３２ａが入力画像データに対してスムージング処理・グレー階調化処理を実行し（ステップＳ２０４）、ガンマ補正処理部３２ｂがパラメータに基づいてグレー画像に対してガンマ補正処理を施す（ステップＳ２０６）。また、スムージンググレー画像保存部３４は、スムージング処理・グレー階調化処理が行われたグレー画像を保存する（ステップＳ２０５）。他方、入力した画像のグレー画像がスムージンググレー画像保存部３４に保存されている場合には（ステップＳ２０３／ＹＥＳ）、画像処理制御部３１は、スムージンググレー画像保存部３４からグレー画像をロードし（ステップＳ２０６）、２値用処理部３２にグレー画像とパラメータを渡す。
【００３９】
そして、画像処理制御部３１がガンマ補正処理後の画像データをメイン制御部２１に送出し、メイン制御部２１は、バーコード認識制御部２３を通じてバーコード認識エンジン２２にバーコード位置検出処理・バーコード認識処理を実行させる（ステップＳ２０８）。バーコード認識制御部２３からバーコード認識結果を取得したバーコード認識結果処理部２４は、バーコード認識が成功した場合（ステップＳ２０９／ＹＥＳ）、認識結果出力部２５に認識成功の通知を行い、認識結果出力部２５はバーコード認識結果を出力して（ステップＳ２１０）終了処理となる（ステップＳ２１１）。バーコード認識結果処理部２４は、バーコード認識が失敗した場合（ステップＳ２０９／ＮＯ）、メイン制御部２１に認識失敗の通知を行い、メイン制御部２１はリトライ・繰り返し処理制御部３５に認識結果（失敗）を通知する。ここで、認識失敗の場合にも、バーコード認識結果処理部２４が認識結果出力部２５に認識失敗の通知を行い、認識結果出力部２５はユーザにバーコード認識失敗の結果を提示するように構成してもよい。
【００４０】
リトライ・繰り返し処理制御部３５は、あらかじめ管理ツール４０によりなされたリトライ処理の設定に従って、リトライ処理を行う。１回のみのバーコード認識が設定されている場合（ステップＳ２１２／ＮＯ）は終了処理となり（ステップＳ２１３）、複数回のリトライ処理（画像処理及びバーコード認識処理）が設定されている場合（ステップＳ２０９／ＹＥＳ）は次の画像処理（ガンマ補正処理）に用いるパラメータを取得して画像処理及びバーコード認識処理を繰り返す（ステップＳ２０２〜ステップＳ２０８）。
【００４１】
なお、上述したステップ２０１からＳ２１３のフローは運用開始後の処理を示しており、これらのフローによる画像処理・バーコード認識処理を行うために、運用開始前の準備として、バーコードデータの収集やユーザ先からのデータ提供を受け（ステップＳ１０）、バーコード認識結果データ（図１１、図１４、図１８、図１９）を作成し（ステップＳ２０）、一般ユーザ向けや個別ユーザ向けの最適リトライテーブルを作成しておく（ステップＳ３０）。
【００４２】
図５を参照して多値データ用の画像処理（図３のステップＳ１０４）について説明する。多値データ用の画像処理は、ガンマ補正処理より前の処理について２値データ用の画像処理と異なり、それ以外は同様である。このため、２値データ用の画像処理との相違点であるスムージング処理について述べる。バーコード付き原稿の画像を入力し該画像が多値データの場合（ステップＳ３０１）、画像処理制御部３１はリトライ・繰り返し処理制御部３５を通じてリトライパターン管理部３６内の多値用リトライテーブル（図１７）を参照し、画像処理（ガンマ補正処理）に用いるパラメータを取得する。リトライ処理の設定（図１７における「１回のみ」、「リカバリ中」、「リカバリ強」）は、２値データ用の画像処理と同様に、ユーザが管理ツール４０を用いて行っているものとする。ここで、ガンマ補正処理に用いるパラメータは、２桁の数字で表している点では２値データ用の画像処理の場合と共通するが、１０桁目の数値の意味（処理内容）が異なる。多値データ用の画像処理では、スムージング処理の有無を１０桁目の数値で表している。
【００４３】
画像処理制御部３１は、取得したパラメータからスムージング指定有無を判定し（ステップＳ３０３）、スムージング有りが指定されており（ステップＳ３０３／ＹＥＳ）、入力した画像のグレー画像がスムージンググレー画像保存部３４に保存されていない場合（ステップＳ３０４／ＮＯ）に、多値用処理部３３に入力画像データとパラメータを渡す。多値用処理部３３では、スムージング処理部３３ａが入力画像データに対してスムージング処理を実行する（ステップＳ３０５）。また、スムージンググレー画像保存部３４は、スムージング処理が行われたグレー画像を保存する（ステップＳ３０６）。
【００４４】
他方、入力した画像のグレー画像がスムージンググレー画像保存部３４に保存されている場合には（ステップＳ３０４／ＹＥＳ）、画像処理制御部３１は、スムージンググレー画像保存部３４からグレー画像をロードし（ステップＳ３０７）、多値用処理部３３にグレー画像とパラメータを渡す。また、取得したパラメータでスムージング無しと指定されている場合（ステップＳ３０３／ＮＯ）には、入力した画像データについてスムージングを行わずにガンマ補正処理を行う（ステップＳ３０８）。
【００４５】
次に、白強調及び黒強調の処理を施すためのパラメータ、スムージング及び黒強調の処理を施すためのパラメータを用いた画像処理（スムージング処理、ガンマ補正処理）について具体的に説明する。
【００４６】
図６は、本実施形態において２値画像を平滑化しつつグレー階調画像に変換するフィルタの例を示す。３×３フィルターを１０分割しているので、１１階調のグレースケールになる。本フィルタ処理は、バーコード認識エンジンの特性や入力スキャナ特性の応じて微調整してもよい。
【００４７】
図７は、一般的なガンマ補正曲線を示したものである。通常はこのような曲線で、輝度・濃度・コントラスト等を調整する。本実施形態では、このようなガンマ曲線を用いても構わないが、処理を簡略化・高速化しつつ、黒強調（太線化、ハーフトーンノイズ除去）や白強調（細線化、孤立点ノイズ除去）等の効果を得るために、図８に示したような直線を使用する。
【００４８】
図８は、本実施形態のガンマ補正による階調調整の様子を図示したもので、処理の簡素化・高速化のために直線近似処理している。黒強調パラメータは、黒階調部分の臨界点を意味し、値を大きくすると、黒強調・太線化、ハーフトーンノイズ抑制等の効果がある。白強調パラメータは、白階調部分の臨界点を意味し、値を大きくすると、白強調・細線化、孤立点（ごま塩）ノイズ除去等の効果がある。
【００４９】
入力画像が２値データの場合、ガンマ補正処理に用いるパラメータは、図１６にも示すように、２桁の数値（“ＷＢ”と表記して説明）で、Ｗ（１０桁目）を白強調パラメータとして０〜９の数値で表し、Ｂ（１桁目）を黒強調パラメータとして０〜９の数値で表す。ただし、Ｗ＋Ｂ≦９とする。白強調、黒強調パラメータとして表した数値は次のような意味を持つものとする。
０＝強調：なし
１＝強調：最弱
・・・
９＝強調：最強
【００５０】
例えばパラメータ＝００の場合（白強調・黒強調：なし）は、図８（ａ）の「通常出力」のような１本の直線となる。実際には、図６に示したフィルタを用いたスムージング処理を行った後に何もしない（ガンマ変換なし）ことになる。すなわち、パラメータ＝００は、図６のフィルタを用いたスムージング処理そのものの画質を表すことになる。
【００５１】
また、例えばパラメータ＝０３の場合（白強調：なし、黒強調：弱）は、図８（ａ）の「黒強調の例」のように２本の直線を組み合わせた変換となる。図６のフィルタを用いたスムージング処理を行った後にこの変換を行う。入力が０（真っ黒）〜３（濃い目のグレー）ならば出力は０（真っ黒）になり、入力が４（濃い目のグレー）〜１０（真っ白）ならば出力は入力値に従って０（黒）〜１０（白）となる。その結果、濃い色がより濃く黒が強調される変換となる。
【００５２】
また、例えばパラメータ＝３０の場合（白強調：弱、黒強調：なし）は、図８（ａ）の「白強調の例」のように２本の直線を組み合わせた変換となる。図６のフィルタを用いたスムージング処理を行った後にこの変換を行う。入力が０（真っ黒）〜７（薄めのグレー）ならば出力は入力値に従って０（黒）〜１０（白）になり、入力が８（薄めのグレー）〜１０（真っ白）ならば出力は１０（真っ白）となる。その結果、薄い色がより薄く白が強調される変換となります。
【００５３】
また、例えばパラメータ＝２２の場合（白強調：弱、黒強調：弱）は、図８（ａ）の「黒＆白強調の例」のように３本の直線を組み合わせた変換となる。図６のフィルタを用いたスムージング処理を行った後にこの変換を行う。入力が０（真っ黒）〜２（濃いグレー）ならば出力は０（真っ黒）になり、入力が３（濃いグレー）〜７（薄いグレー）ならば出力は入力値にしたがい０（黒）〜１０（白）となる。入力が８（薄めのグレー）〜１０（真っ白）ならば出力は１０（真っ白）となる。その結果、濃い色はより濃く、薄い色はより薄く、黒・白ともに強調される変換となる。
【００５４】
実際のデータは、一般的な８ｂｉｔ２５６階調グレースケールの場合、入出力ともに０〜２５５の整数値となるが、図８（ａ）では白・黒強調パラメータとの関係がわかりやすいように、０〜１０の１１段階の値で図示している（上述した４つの例でもこの値で説明している）。濃度は次のようになる。
０＝真っ黒
１＝濃いグレー
・・・
９＝薄いグレー
１０＝真っ白
これに対して、図８（ｂ）は実際の値に従って図示したものである。実際のデータは、入出力ともに０〜２５５の整数値となり、２５．５といった小数点のデータは存在しないが、白・黒強調パラメータの動作はわかりやすいように１１階調（１０分割）した状態を示すために便宜上、このような表記にしている。
【００５５】
入力画像が多値データの場合、ガンマ補正処理に用いるパラメータは、図１７にも示すように、２桁の数値（“ＳＢ”と表記して説明）で、Ｓ（１０桁目）をスムージングパラメータとして０（スムージング無し）、１（スムージング有り）の数値で表し、Ｂ（１桁目）を黒強調パラメータとして０〜９の数値で表す。黒強調パラメータとして表した数値の意味は２値データの場合と同様である。
【００５６】
多値画像の場合は、スキャン特性により、白黒２値画像のような孤立点ノイズが発生しにくく、また入力画像の特性も異なるため、処理をさらに簡素化して黒強調パラメータのみにしている。それでもバーコード認識エンジンとの相性が良かったためこのようにしている。２値画像で白強調パラメータとしていた１０桁目の数値は、スムージング有り／無しを制御するパラメータとしている。これは、図６に示す平滑化スムージングフィルタのＯＮ／ＯＦＦを切り替えるものである。多値画像の場合は、元々多値階調のデータであるため、階調化処理が必要ないことと、スキャン特性等により、もともとなだらかな平滑化されたようなデータになることが多いため、平滑化処理が必要ではない場合もあり、このようにスムージングＯＮ／ＯＦＦを切り替えられるようにしている。黒強調パラメータの動作は、上述した２値の場合と同様である。
【００５７】
図９に、本実施形態の白強調・黒強調パラメータを用いた階調変換の画処理効果を示す。本実施形態の画像処理を使用すれば、以下で述べるように、１種類の処理でパラメータを変えることにより様々な効果を得ることができることがわかる。バーコードは、白いバーと黒いバーから構成されるが、用紙、プリンタ、インク、スキャナ等の特性により、黒が真っ黒にならずにハーフトーンノイズにより図９のような模様・ノイズが生じたり、バーのふちの部分がジグザグ・ジャギー状のノイズが生じたりすることがある。逆に、白が真っ白にならずに孤立点（ごま塩）ノイズが生じることもある。ここで、ハーフトーンノイズは、スキャナ等のハーフトーン処理により、本来真っ黒なバーコードの部分が、白ドット抜けや白黒模様のノイズが生じることを意味する。
【００５８】
図９（ａ）では、元画像には孤立点（ごま塩）ノイズが生じている。画処理Ｎｏ．＝００（白・黒強調ともになし）による処理を行うことでノイズは除去されていないが、画像全体が平滑化されスムージングされた画質になり、ノイズは若干弱まる。なお、画処理Ｎｏ．は白強調・黒強調パラメータをまとめた数値である（図１０から図１２、図１４から図１９についても同様）。そして、画処理Ｎｏ．＝５０（白強調：強い、黒強調：なし）による処理を行うことで白強調され、ノイズが除去される。画処理Ｎｏ．＝００の処理でノイズは若干弱まっただけでなくノイズ部分の濃度が薄くなり、画処理Ｎｏ．＝５０の処理による白強調は薄い色をより薄く変換するため、ノイズ部分の薄い色は白に変換されて、ノイズ除去のような効果を得ることができる。
【００５９】
図９（ｂ）では、元画像には孤立点（ごま塩）ノイズとともに、黒い部分と白い部分にぽつぽつとしたノイズ（ハーフトーンノイズ）が生じている。画処理Ｎｏ．＝００（白・黒強調ともになし）による処理を行うことで画像全体が平滑化され、スムージングされた結果、ノイズは若干弱まる。そして、画処理Ｎｏ．＝２２（白強調：弱い、黒強調：弱い）による処理を行うことで白強調及び黒強調を行い、白・黒それぞれの部分のノイズが抑制され、くっきりとした画像が得られる。
【００６０】
図９（ｃ）では、元画像は全体的に薄く、黒い部分にハーフトーンノイズが生じている。画処理Ｎｏ．＝００（白・黒強調ともになし）による処理を行うことで画像全体が平滑化され、スムージングされた結果、ノイズは若干弱まる。また、輪郭部分のジャギーも弱まっている。そして、画処理Ｎｏ．＝０７（白強調：なし、黒強調：強い）による処理を行うことで黒強調のみを行い、全体的な薄さを解消し、黒部分のノイズを除去している。
【００６１】
図９（ｄ）では、本実施形態での白強調・黒強調パラメータを用いた階調変換による太線化、細線化が示されている。画処理Ｎｏ．＝０６（白強調：なし、黒強調：強い）による処理を行うことで、黒強調のみを行い、太線化の効果を得ている。画処理Ｎｏ．＝６０（白強調：強い、黒強調：なし）による処理を行うことで、白強調のみを行い、細線化の効果を得ている。
【００６２】
本実施形態では、黒強調及び白強調のパラメータについて、それぞれの階調変換のｍｉｎ／ｍａｘ飽和点とすることでガンマ曲線を直線で表し、ガンマ補正処理として、グレースケール画像の階調変換を行い、処理を簡素化・高速化している。ここで、階調変換のｍｉｎ／ｍａｘ飽和点とすることでガンマ曲線を直線で表すとは、図８に示すように、黒強調及び白強調のパラメータを飽和点として、その間を直線で結んで入出力データ変換を行うことを意味する。上記のように、黒強調及び白強調のパラメータについて、それぞれの階調変換のｍｉｎ／ｍａｘ飽和点とすることでガンマ曲線を直線で表し、ガンマ補正処理に用いることで、白部分／黒部分のノイズ除去、グレーをより濃く／薄く、太線化／細線化、シャギーの解消等の効果を得ることができる。
【００６３】
図１０に、一般的なガンマ曲線を用いた階調変換と本実施形態の白強調・黒強調パラメータを用いた階調変換の画処理効果を示す。例えば孤立点（ごま塩）ノイズを除去しようとしてガンマ＝０．５で階調変換を行った場合、図１０（ａ）に示すように、全体の濃度が下がり、線がかすれやすくなる。これに対して、本実施形態におけるパラメータ＝０３で階調変換を行った場合、図１０（ｃ）に示すように、線の黒さを残しつつ、白強調をすることが可能である。また、例えば黒部分のノイズを除去しようとしてガンマ＝２．０で階調変換を行った場合、図１０（ｂ）に示すように、全体がつぶれやすくなる。これに対して、本実施形態におけるパラメータ＝３０で階調変換を行った場合、図１０（ｄ）に示すように、黒つぶれしにくく、黒強調をすることが可能である。このように、図７に示すような一般的なガンマ曲線で階調変換した場合には、上述したような効果が弱まる。
【００６４】
図１０（ｂ）で説明したように、黒強調としてガンマ＝２．０とすると画像全体が暗くなりつぶれがちになるが、これを抑制しようとすれば、複雑な曲線を採用するしかなく処理が複雑になってしまう。自由な変換曲線を表す方式として、曲線をテーブル化する方法がある（例えば変換値を全て２５６個の配列のテーブルにする方法）。確かに、この方法ならば、自由な変換曲線を表し、一部分だけの色範囲に効果のある画処理を行うことができるが、この場合は入力パラメータが多くなるか、テーブルを別管理するための余分な処理が必要となってしまう。以上から、本実施形態のような、１つのパラメータ値（実際には十の位と一の位で２つの意味を持つ）でシンプルな入力値、シンプルな処理で、図９や図１０に示したような効果的な画処理が得られるため、黒強調及び白強調のパラメータについて、それぞれの階調変換のｍｉｎ／ｍａｘ飽和点とすることでガンマ曲線を直線で表し、ガンマ補正処理に用いる方法は実効的である。
【００６５】
図１１に、２値画像における、本実施形態の画像処理（白強調・黒強調パラメータに基づくガンマ補正処理）の効果を示す。一番左の“＿ｏｒｇ”が画処理を何も行わないケースを示す。また、図５では、画処理なしでエラーになるバーコードを本実施形態の画像処理でどの程度救うことができたかを示している。画処理Ｎｏ．は、前述のとおり、黒強調・白強調パラメータをまとめた数値を表す。
【００６６】
まず、特筆すべきは、２Ｄバーコードの場合である。図１１（ｃ）は、２Ｄバーコードの結果を示す。２本の曲線は、それぞれ条件が異なる２種類のバーコード郡を表している。下段の曲線は、敢えて極端に悪条件の画像を入力しているので、やや成績の悪いケースもあるが、上段の曲線を見れば、どの画処理Ｎｏ．を選択しても、エラー率を１／２以下に改善できることがわかる。この「どの画処理Ｎｏ．を選択しても好成績」というのは、実運用では非常に重要である。どのような予期せぬ事態が発生しても、安定した認識が行えることになるからである。もちろん、最適な画処理Ｎｏ．を選択すれば、エラー率を１／１０以下にできる。好成績の画処理Ｎｏ．が複数個存在することも、実運用では安定性につながる。
【００６７】
図１１（ｂ）は、１Ｄバーコードの結果を示す。２Ｄバーコードほど、どの画処理Ｎｏ．を選択しても効果があるわけではないが、それは次のようにテストデータに起因している部分もある。図１１（ｂ）の上段の曲線と図１１（ｃ）下段の曲線がほぼ同じ条件である。すなわち、図１１（ｂ）の下段の曲線は、それよりもさらに悪条件のバーコード画像を集めたものであるため、全体的に２Ｄよりも成績が悪いように見えている。いずれにしても、１Ｄバーコードのケースでも、好成績の画処理Ｎｏ．が複数個存在し、適切な画処理Ｎｏ．を選択すれば高い効果が得られることがわかる。
【００６８】
図１２は、多値画像の場合の結果を示す。１Ｄ、２Ｄバーコードともにほぼ同等の傾向を示している。２値画像（図１１）の場合のように、どの画処理Ｎｏ．でもそれなりの効果というわけではないが、ある範囲の画処理Ｎｏ．を選択すれば、適切な効果が得られることがわかる。
【００６９】
図１３は、図１１及び図１２の結果をまとめたものである。１種類の画処理Ｎｏ．だけで救済できる率、複数の画処理Ｎｏ．を組み合わせて救済できる率を示す。前述のように、今回のテストデータの中には、明らかに認識できないであろう粗悪な条件のバーコードも含まれているため、全体的に効果が低く見えるが、複数の画処理Ｎｏ．を組み合わせれば、最低でもエラー画像の５０％以上を救済することが可能である。また、１種類の画処理Ｎｏ．だけでも１ｂｉｔ２値画像ならば、５０％以上救済可能なことがわかる。なお、複数の画処理Ｎｏ．を組み合わせる場合は、図１１及び図１２における最高値の画処理Ｎｏ．だけを選択すればいいわけではない。全体的な弱点をなくすためには、詳細は後述するが、効果の異なる画処理Ｎｏ．を選択することが重要である。
【００７０】
図１５は、多種類の画像処理（説明の便宜上、旧処理という）を用いた場合の２Ｄバーコードに対する効果と、本実施形態の画像処理（説明の便宜上、新処理という）を用いた場合の２Ｄバーコードに対する効果を比較したものである。図１５（ａ）が旧処理を表し、図１５（ｂ）が新処理を示す。旧処理は、バーコード認識が失敗した画像に対して、回転画像作成、ごま塩ノイズ除去・スムージング、グレー化・スムージングといった各種画像処理を施す方法である。図１５（ａ）は、いろいろある画処理の中から効果のあるものだけを特別に抽出・ピックアップしたものであり、図１５（ｂ）は、無作為に全ての画処理Ｎｏ．を並べたものである。
【００７１】
このように多少前提条件が異なるために、それぞれの画像処理における効果の差が縮まって見えるが、それでも図１５（ｂ）に示す新処理の方が効果が高いことがわかる。加えて、旧処理は、各種画処理を呼び出すためにプログラミングも複雑になる傾向にあり、また回転や変倍処理しているものもあることからバーコード位置や座標の変換処理等が必要になり、余計な処理を強いられることになる。一方、新画処理は、効果が高い、１関数で全てのパターンを実行可能である、処理性能にばらつきがない、さらに同じ処理を繰り返すので、スムージンググレー画像を保存しておきリトライ処理の際の活用する高速化手法が導入しやすいといったメリットがある。
【００７２】
図１４は、１Ｄバーコードに対する新旧画処理を比較したものである。図１４（ａ）が旧処理を表し、図１４（ｂ）が新処理を示す。新画処理の方がエラー回復率が高いことがわかる。なお、新画処理にエラー回復率が０％の場合があるのは、前述のように新画処理は無作為に全条件を測定したのに対して、旧画処理は、効果のある画処理をピックアップしたものだからである。
【００７３】
図１６、図１７は、それぞれ白黒１ｂｉｔ、多値画像のリトライ管理テーブルの概念図を示したもので、次の３段階を設定した例である。
・Ｌｅｖｅｌ１：リトライ無し（１回のみ）
・Ｌｅｖｅｌ２：リカバリ中（リトライ回数＝少ない）
・Ｌｅｖｅｌ３：リカバリ強（リトライ回数＝多い）
リトライ処理があると、処理が複雑になるほか、エラーがある場合に処理時間が長くなる傾向になるが、エラー率を極力下げることができるため、目的や実際に運用してエラー状況などにより、Ｌｅｖｅｌを切り替えられるようになっているのが好ましい。また、リトライ時の画処理Ｎｏ．は、単にエラー回復率が高いものからピックアップするのではなく、特徴の異なる画処理を組み合わせて、全体的なエラー回復率を増加させるようにしたほうがよい。
【００７４】
図１６、図１７のリトライ管理テーブルは、製品出荷時点では、バーコード認識のデータ収集、認識テスト結果により一般的な傾向に基づいてデフォルト値を決めて作成する。ただし、ユーザごとに認識するバーコードの傾向やプリンタ及びスキャナ機種の違いにより傾向が偏る場合もあるため、そのような場合にはユーザのバーコードデータに基づいて、リトライテーブルの内容を個別にチューニング設定し直すようにしてもよい（図４、図５のステップＳ１０〜ステップＳ３０）。このようにデフォルト値を決めたり、ユーザごとのチューニングをする方法は以下のようになる。
【００７５】
まず、Ｌｅｖｅｌ１（リトライ無し）の画処理Ｎｏ．の選択について説明する。この場合は、バーコード認識を１回しか行わないため、認識率が高くなる方式を選択するのは重要だが、最も重視すべき点はどんな条件でも失敗を少なくすることである。平均的な認識率がいくら高くても、ある条件で極端に認識率低下する場合があるようでは、安心してバーコード認識を行うことができず、運用上問題が残る。このような条件においては、図１１〜図１５のようなトータルした認識率だけでなく、条件ごとの個別のデータも重要になる。例えば、図１８に示すようなバーコード種類やユーザ先ごとのデータである。
【００７６】
このようなデータを用いて、全体的に認識率が高く、どのような条件でも失敗が少ない条件を選び出す必要がある。図１８から大きく２つの傾向が把握できる。それをわかりやすく表しているのが図１１（ｂ）である。同じ“Ｃｏｄｅ３９”の認識ですが、条件が異なっている。図１１（ｂ）において、トータルで見ればグラフ下の矢印（画処理Ｎｏ．０５、画処理Ｎｏ．２０、画処理Ｎｏ．３０、画処理Ｎｏ．４０、画処理Ｎｏ．５２）の認識率が高そうなことがわかるが、特定のユーザにおいては、傾向に偏りがあるため、画処理Ｎｏ．０５は選択してはならないこと、また画処理Ｎｏ．５１あたりが安全だろうということがわかる。このため、図１６の「1回のみ」では５１を選択している。以上のように、Ｌｅｖｅｌ１（リトライ無し）の場合は、どのような条件でも失敗の少ない画処理Ｎｏ．を選ぶのが賢明である。
【００７７】
次に、リトライ処理を行う場合、すなわちＬｅｖｅｌ２（リカバリ中）やＬｅｖｅｌ３（リカバリ強）の画処理Ｎｏ．の選択について説明する。この場合は、リトライ無しの場合と多少状況が異なり、トータルで最大の認識率を得ることを重視する必要がある。これには２つの意味があります。
・リトライの最初の方で最大の認識率を稼ぐようにしておけば、失敗ケースは後のリトライでカバーできればよい。
・失敗ケースが少なくなればなるほど、リトライ回数の影響度は少なくなる。すなわち、失敗が０．１％ならば、リトライ回数をいくら大きくしても全体処理時間への影響はわずかなので、レアケースでの失敗はリトライで救うことが可能になる。
以上のことから、リトライの最初の１回目は、最も一般的な条件で最大の認識率が得られる画処理Ｎｏ．を選択し、２回目以降のリトライでは、全体で認識率が最大になる組み合わせを選ぶ。
【００７８】
図１９に簡単な実例を示す。図１９において、１の数字は認識成功、空欄は認識失敗を表す。列（横）方向に画処理Ｎｏ．、行（縦）方向に原稿ファイル名、一番下に画処理Ｎｏ．ごとに何個成功したか合計の値を示している。図１９を参照すると、認識率上位３つは画処理Ｎｏ．１５、画処理Ｎｏ．０４、画処理Ｎｏ．２６であることがわかる。しかし、例えばリトライ回数が３回の場合に、単純に画処理Ｎｏ＝１５、０４、２６を選択すればよいわけではない。仮に、１回目の画像処理に用いるパラメータとして画処理Ｎｏ．１５を選択したとしたら、２回目以降については画処理Ｎｏ．１５が認識できない原稿を認識できる画処理Ｎｏ．を選択する必要がある。すなわち、１回目の画処理Ｎｏ．１５が認識できない原稿（原稿０１０．ｔｉｆ、原稿０１４．ｔｉｆ、原稿０１７ｔｉｆ）を認識することができる画処理Ｎｏ．である。ここでは、画処理Ｎｏ．１０、画処理Ｎｏ．１１、画処理Ｎｏ．１２、画処理Ｎｏ．２０、画処理Ｎｏ．２１、画処理Ｎｏ．４１、画処理Ｎｏ．４３がそれに該当する。この中から、画処理Ｎｏ．２０は必須で、残りは画処理Ｎｏ．４１か画処理Ｎｏ．４３のいずれかを選択すればよいことになる。このようにして、リトライ回数が３回の場合の画処理Ｎｏ．の最適な組み合わせとして、１回目の画処理Ｎｏ．１５、２回目の画処理Ｎｏ．２０、３回目の画処理Ｎｏ．４１を選択することができる。
【００７９】
別のアプローチ方法も考えられる。図１９の「トータル」の値に着目する。このトータルの値が少ないものほどバーコード認識しにくい原稿で、全体の認識率を１％でも高くするために救うべき（認識できるようにするべき）原稿といえる。逆に、トータルの値が大きい原稿は、どの画処理でも認識しやすく、あまり意識する必要はないということである。したがって、このトータル値の少ない原稿を認識できる画処理Ｎｏ．に注目してリトライ画処理を選定する。具体的には、トータル＝１の原稿０１４．ｔｉｆを救えるのは画処理Ｎｏ．２０のみなので、画処理Ｎｏ．２０は必須、その次にトータル＝２の原稿０１０．ｔｉｆを認識できるのは画処理Ｎｏ．４１または画処理Ｎｏ．４３といった具合になる。
【００８０】
実際のデータはもっと複雑になるため、上述の２つの方法を組み合わせる等して、より最適なリトライテーブルを作成することが好ましい。また、ユーザごとには、特徴が偏ることが多いため、その特徴に応じて、チューニングポイントをずらすことになる。
【００８１】
上述した本実施形態によれば、上記旧処理のように多種類の画像処理をいくつも用意しておく必要がなく、１種類の画像処理（ガンマ補正処理）で各種効果（白部分／黒部分のノイズ除去、グレーをより濃く／薄く、太線化／細線化、シャギーの解消等）を導き出すことができる。なお、多値画像データについては、パラメータに基づいてスムージング処理及びガンマ補正処理を行っているが、主に上記効果に貢献しているのは黒強調パラメータに基づくガンマ補正処理といえる。
【００８２】
また、上述した本実施形態によれば、黒強調と白強調を行うための２つのパラメータだけで画処理効果を調整できるため、それぞれを２桁の数値（黒強調(一の位)、白強調(十の位)）で表し、コントロールを容易にしている。また、１つの数値で表せるため、全画処理をすべて実行する場合も、プログラミングでループさせやすい等の効果がある。
【００８３】
また、上述した本実施形態によれば、主に１種類の画像処理（ガンマ補正処理）となるため（スムージンググレー画像は一時保存するため、リトライ処理で毎回実行されるのはガンマ補正）、処理時間が一定でリトライ総処理時間等を想定しやすいほか、上記旧処理のように回転や変倍を伴わないため、バーコード認識結果のマージ処理が複雑になるようなことはない。
【００８４】
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【００８５】
すなわち、本実施形態における画像処理サーバ２０で実行されるプログラムは、先に述べた各手段（メイン制御部２１、バーコード認識エンジン２２、バーコード認識制御部２３、バーコード認識結果処理部２４、認識結果出力部２５、画像処理制御部３１、２値用処理部３２、多値用処理部３３、リトライ・繰り返し処理制御部３５等）を含むモジュール構成となっており、実際のハードウエアを用いて具体的手段を実現する。すなわち、コンピュータ（ＣＰＵ）が所定の記録媒体からプログラムを読み出して実行することにより上記各手段が主記憶装置上にロードされて生成される。
【００８６】
本実施形態における画像処理サーバ２０で実行されるプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納され、ネットワーク経由でダウンロードさせることにより提供されるように構成してもよい。また、上記プログラムをインターネット等のネットワーク経由で提供あるいは配布するように構成してもよい。
【００８７】
また、上記プログラムは、インストール可能な形式又は実行可能な形式のファイルで、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ、不揮発性のメモリカード等のコンピュータで読み取り可能な記録媒体に記録されて提供されるように構成してもよい。また、上記プログラムは、ＲＯＭ等にあらかじめ組み込んで提供するように構成してもよい。
【００８８】
この場合、上記記録媒体から読み出された又は通信回線を通じてロードし実行されたプログラムコード自体が前述の実施形態の機能を実現することになる。そして、そのプログラムコードを記録した記録媒体は本発明を構成する。
【符号の説明】
【００８９】
１０    ＭＰＦ
２０    画像処理サーバ
２１    メイン制御部
２２    バーコード認識エンジン
２２ａ    バーコード位置・角度検出部
２２ｂ    バーコード認識部
２３    バーコード認識制御部
２４    バーコード認識結果処理部
２５    認識結果出力部
３１    画像処理制御部
３２    ２値用処理部
３２ａ    スムージンググレー化処理部
３２ｂ    ガンマ補正処理部
３３    多値用処理部
３３ａ    スムージング処理部
３３ｂ    ガンマ補正処理部
３４    スムージンググレー画像保存部
３５    リトライ・繰り返し処理制御部
３６    リトライパターン管理部
４０    管理ツール
５０    ネットワーク
【先行技術文献】
【特許文献】
【００９０】
【特許文献１】特許第３３７６１７５号公報
【特許文献２】特開２００６−２０９４４９号公報
【図１】
2011096095.tif 000003
【図２】
2011096095.tif 000004
【図３】
2011096095.tif 000005
【図４】
2011096095.tif 000006
【図５】
2011096095.tif 000007
【図６】
2011096095.tif 000008
【図７】
2011096095.tif 000009
【図８】
2011096095.tif 000010
【図９】
2011096095.tif 000011
【図１０】
2011096095.tif 000012
【図１１】
2011096095.tif 000013
【図１２】
2011096095.tif 000014
【図１３】
2011096095.tif 000015
【図１４】
2011096095.tif 000016
【図１５】
2011096095.tif 000017
【図１６】
2011096095.tif 000018
【図１７】
2011096095.tif 000019
【図１８】
2011096095.tif 000020
【図１９】
2011096095.tif 000021