(57)【要約】【課題】  ノイズや分布定数の影響を低減し、正確なデコードができるようにする。【解決手段】  コードスキャナ２００に、読取対象物までの距離を測定する距離測定部２３２を設け、フィルタ処理部２２４に、複数の距離の各々に対応した、ＣＭＯＳ２１２がその距離だけ離れた位置の読取対象物を撮像して得た画像をその読取対象物の理想的な像に近づける処理を行うための複数のフィルタ２２４ａを用意し、距離測定部２３２が測定した距離に基づいて、フィルタ選択部２３０が上記複数のフィルタ２２４ａのうちその距離で撮像した画像の処理に適した１つを選択し、フィルタ処理部２２４がＣＭＯＳ２１２によって撮像した読取対象物の画像に対してその選択したフィルタ処理を行い、デコード部２２５がその処理後の画像を解析して、読取対象物上に配置されたコード記号をデコードするようにした。【選択図】        図３０
2011159178.tif 000002
【特許請求の範囲】
【請求項１】
光反射率が周囲と異なる記号により示される情報を読み取る光学的情報読取装置であって、
読取対象物までの距離を測定する距離測定手段と、
該読取対象物の画像を撮像する撮像手段と、
複数の距離の各々に対応したフィルタ手段であって、前記撮像手段が該距離だけ離れた位置の読取対象物を撮像して得た画像を前記読取対象物の理想的な像に近づける処理を行う複数のフィルタ手段と、
前記距離測定手段が測定した距離に基づいて、前記複数のフィルタ手段のうち該距離で撮像した画像の処理に適した１つを選択するフィルタ選択手段と、
前記撮像手段によって撮像した前記読取対象物の画像を、前記フィルタ選択手段が選択したフィルタ手段によって処理し、該処理後の画像を解析して、該読取対象物上に配置された、光反射率が周囲と異なる記号により示される情報をデコードするデコード手段とを有することを特徴とする光学的情報読取装置。
【請求項２】
光反射率が周囲と異なる記号により示される情報を読み取る光学的情報読取装置であって、
該読取対象物の画像を撮像する撮像手段と、
複数の距離の各々に対応したフィルタ手段であって、前記撮像手段が該距離だけ離れた位置の読取対象物を撮像して得た画像を前記読取対象物の理想的な像に近づける処理を行う複数のフィルタ手段と、
ユーザの操作に従って前記複数のフィルタ手段のうち１つを選択するフィルタ選択手段と、
前記撮像手段によって撮像した前記読取対象物の画像を、前記フィルタ選択手段が選択したフィルタ手段によって処理し、該処理後の画像を解析して、該読取対象物上に配置された、光反射率が周囲と異なる記号により示される情報をデコードするデコード手段とを有することを特徴とする光学的情報読取装置。
【請求項３】
請求項１又は２に記載の光学的情報読取装置であって、
前記各フィルタ手段は、前記撮像手段が所定距離だけ離れた対象を撮像した場合の(i)点拡がり関数及び(ii)読取画像データにおける入力信号成分とノイズ成分とのパワースペクトル比に基づいて求めたパラメータに従ったウィーナフィルタ処理を行う手段であることを特徴とする光学的情報読取装置。
【請求項４】
請求項３に記載の光学的情報読取装置であって、
前記点拡がり関数は、
前記撮像手段が所定距離だけ離れた位置の基準部材を撮像して得たエッジ画像のうち、エッジを跨ぐ線上に位置する各画素の画素値を、画素位置の関数と見て画素位置で微分し、該微分によって得られた線拡がり関数をガウス関数にフィッティングし、該フィッティングしたガウス関数のガウス形状を対称軸を中心に回転させて得られる関数であることを特徴とする光学的情報読取装置。
【請求項５】
請求項１乃至４のいずれか一項に記載の光学的情報読取装置であって、
前記各フィルタ手段が、Ｈ(ｊω１，ｊω２)を点拡がり関数、ＰＵ(ω１，ω２)を入力信号成分のパワースペクトル、ＰＶ(ω１，ω２)をノイズ成分のパワースペクトルとして、インパルス応答の空間周波数特性が数１におけるＷ(ｊω１，ｊω２)として得られる特性を有するデジタルフィルタであることを特徴とする光学的情報読取装置。
【数１】
2011159178.tif 000018
【請求項６】
読取対象物までの距離を測定する距離測定工程と、
前記距離測定工程で測定した距離に基づいて、複数の距離の各々に対応したフィルタ手段であって、前記撮像手段が該距離だけ離れた位置の読取対象物を撮像して得た画像を前記読取対象物の理想的な像に近づける処理を行う複数のフィルタ手段から、前記距離測定工程で測定した距離で撮像した画像の処理に適した１つを選択するフィルタ選択工程と、
撮像手段によって撮像した前記読取対象物の画像を、前記フィルタ選択手段が選択したフィルタ手段によって処理し、該処理後の画像を解析して、該読取対象物上に配置された、光反射率が周囲と異なる記号により示される情報をデコードするデコード工程とを有することを特徴とする光学的情報読取方法。
【請求項７】
複数の距離の各々に対応したフィルタ手段であって、前記撮像手段が該距離だけ離れた位置の読取対象物を撮像して得た画像を前記読取対象物の理想的な像に近づける処理を行う複数のフィルタ手段から、ユーザの操作に従って１つを選択するフィルタ選択工程と、
撮像手段によって撮像した読取対象物の画像を、前記フィルタ選択工程で選択したフィルタ手段によって処理し、該処理後の画像を解析して、該読取対象物上に配置された、光反射率が周囲と異なる記号により示される情報をデコードするデコード工程とを有することを特徴とする光学的情報読取方法。
【請求項８】
請求項６又は７に記載の光学的情報読取方法であって、
前記各フィルタ手段は、前記撮像手段が所定距離だけ離れた対象を撮像した場合の(i)点拡がり関数及び(ii)読取画像データにおける入力信号成分とノイズ成分とのパワースペクトル比に基づいて求めたパラメータに従ったウィーナフィルタ処理を行う手段であることを特徴とする光学的情報読取方法。
【請求項９】
請求項８に記載の光学的情報読取方法であって、
前記点拡がり関数は、
前記撮像手段が所定距離だけ離れた位置の基準部材を撮像して得たエッジ画像のうち、エッジを跨ぐ線上に位置する各画素の画素値を、画素位置の関数と見て画素位置で微分し、該微分によって得られた線拡がり関数をガウス関数にフィッティングし、該フィッティングしたガウス関数のガウス形状を対称軸を中心に回転させて得られる関数であることを特徴とする光学的情報読取方法。
【請求項１０】
請求項６乃至９のいずれか一項に記載の光学的情報読取方法であって、
前記各フィルタ手段が、Ｈ(ｊω１，ｊω２)を点拡がり関数、ＰＵ(ω１，ω２)を入力信号成分のパワースペクトル、ＰＶ(ω１，ω２)をノイズ成分のパワースペクトルとして、インパルス応答の空間周波数特性が数２におけるＷ(ｊω１，ｊω２)として得られる特性を有するデジタルフィルタであることを特徴とする光学的情報読取方法。
【数２】
2011159178.tif 000019
【請求項１１】
Ｈ(ｊω１，ｊω２)を点拡がり関数、Ｐｕ(ω１，ω２)を入力信号成分のパワースペクトル、Ｐｖ(ω１，ω２)をノイズ成分のパワースペクトルとして、インパルス応答の空間周波数特性が数３におけるＷ(ｊω１，ｊω２)として得られる特性を有するデジタルフィルタの作成方法であって、
【数３】
2011159178.tif 000020
前記点拡がり関数を、撮像手段が所定距離だけ離れた位置の基準部材を撮像して得たエッジ画像のうち、エッジを跨ぐ線上に位置する各画素の画素値を、画素位置の関数と見て画素位置で微分し、該微分によって得られた線拡がり関数をガウス関数にフィッティングし、該フィッティングしたガウス関数のガウス形状を対称軸を中心に回転させて得られる関数を、空間周波数領域に変換することにより得ることを特徴とするデジタルフィルタの作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、光反射率が周囲と異なる記号により示される情報を読み取る光学的情報読取装置及び光学的情報読取方法、およびこのような光学的情報読取装置及び光学的情報読取方法での使用に好適なデジタルフィルタを作成するためのデジタルフィルタの作成方法に関する。
【背景技術】
【０００２】
従来から、流通，郵便，医療，化学検査，イベント会場などの広範な分野で、物品，書類，材料，被検体，その他各種の物の自動認識手段として、光反射率が周囲と異なる記号で情報を表記したバーコードや二次元コードなどのコード記号が広く使用されている。
バーコードは、例えば、白と黒の太さの異なるバーを水平方向に並べ、光を当てたときに、バーの太さによって反射率の異なる性質を利用して、情報をコード化あるいはデコード化する記号の一種である。このバーコードを読み取るために、レーザビームで走査し、その反射光による光信号を電気信号に変換してデコード処理するレーザスキャナがよく用いられている。その中でも、例えば特許文献１にあるように、正確にバーコードを読み取るために、電流信号を電圧信号に変換する際にノイズを多く含む高域成分を減少させ、その信号を増幅させて出力信号の高域成分を増加させるフィルタリング回路が提案されている。
【０００３】
また、バーコードは水平方向にだけ情報を持つが、近年は、垂直方向にも情報を持つような二次元コードの需要も高くなっている（以後、バーコード・二次元コードを総称してコード記号と呼ぶ）。
二次元コードには、大きく分けてスタック式とマトリックス式がある。スタック式は、バーコードを縮小して縦に複数段積み重ねた形態をしており、水平方向に長い長方形をしている。このスタック式コードの代表的なものとしてＰＤＦ４１７が上げられる。また、マトリックス式の代表的なものは、ＱＲコードと呼ばれ、概ね正方形をしており、碁盤の目のごとく細かく区切られた領域に大小の黒と白のセルが複雑に並んで構成されるものである。これらは、レーザスキャナと異なり、ＣＣＤ／ＣＭＯＳイメージセンサを使用して、二次元コード画像を取り込み様々な画像処理を施してデコードを行う場合が多い。
二次元コードを読み取るための読取装置については、例えば特許文献２及び特許文献３に記載がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１５６７１号公報
【特許文献２】特開２００４−５４５２９号公報
【特許文献３】特開２００９−１５１４４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、これらコード記号を読み取る読取装置では、使用の際、蛍光灯などの光の散乱による光ノイズや、印刷の汚れによる紙面ノイズなどをバーコードと一緒に読み取ってしまい、読取エラーの起こる一因となっている。また、電子素子が持つ寄生容量やインダクタンスなどによる分布定数も信号処理に影響を与える。さらに、ＣＣＤ／ＣＭＯＳイメージセンサでは、画素ごとに固定した増幅器が割り当てられるため、各増幅器の特性ばらつきによって固定ノイズが発生する。従来の読取装置では、このような問題が十分に考慮されていなかった。
この発明は上記の点に鑑みてなされたものであり、光学的情報読取装置において、ノイズや分布定数の影響を低減し、正確なデコードができるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
この発明は上記の目的を達成するため、光反射率が周囲と異なる記号により示される情報を読み取る光学的情報読取装置において、読取対象物までの距離を測定する距離測定手段と、その読取対象物の画像を撮像する撮像手段と、複数の距離の各々に対応したフィルタ手段であって、上記撮像手段がその距離だけ離れた位置の読取対象物を撮像して得た画像を上記読取対象物の理想的な像に近づける処理を行う複数のフィルタ手段と、上記距離測定手段が測定した距離に基づいて、上記複数のフィルタ手段のうちその距離で撮像した画像の処理に適した１つを選択するフィルタ選択手段と、上記撮像手段によって撮像した上記読取対象物の画像を、上記フィルタ選択手段が選択したフィルタ手段によって処理し、その処理後の画像を解析して、その読取対象物上に配置された、光反射率が周囲と異なる記号により示される情報をデコードするデコード手段とを設けたものである。
【０００７】
この発明の別の光学的情報読取装置は、光反射率が周囲と異なる記号により示される情報を読み取る光学的情報読取装置において、その読取対象物の画像を撮像する撮像手段と、複数の距離の各々に対応したフィルタ手段であって、上記撮像手段がその距離だけ離れた位置の読取対象物を撮像して得た画像を上記読取対象物の理想的な像に近づける処理を行う複数のフィルタ手段と、ユーザの操作に従って上記複数のフィルタ手段のうちその距離で撮像した画像の処理に適した１つを選択するフィルタ選択手段と、上記撮像手段によって撮像した上記読取対象物の画像を、上記フィルタ選択手段が選択したフィルタ手段によって処理し、その処理後の画像を解析して、その読取対象物上に配置された、光反射率が周囲と異なる記号により示される情報をデコードするデコード手段とを設けたものである。
【０００８】
これらの光学的情報読取装置において、上記各フィルタ手段を、上記撮像手段が所定距離だけ離れた対象を撮像した場合の(i)点拡がり関数及び(ii)読取画像データにおける入力信号成分とノイズ成分とのパワースペクトル比に基づいて求めたパラメータに従ったウィーナフィルタ処理を行う手段とするとよい。
【０００９】
さらに、上記点拡がり関数を、上記撮像手段が所定距離だけ離れた位置の基準部材を撮像して得たエッジ画像のうち、エッジを跨ぐ線上に位置する各画素の画素値を、画素位置の関数と見て画素位置で微分し、その微分によって得られた線拡がり関数をガウス関数にフィッティングし、そのフィッティングしたガウス関数のガウス形状を対称軸を中心に回転させて得られる関数とするとよい。
【００１０】
さらに、上記各フィルタ手段が、Ｈ(ｊω１，ｊω２)を点拡がり関数、ＰＵ(ω１，ω２)を入力信号成分のパワースペクトル、ＰＶ(ω１，ω２)をノイズ成分のパワースペクトルとして、インパルス応答の空間周波数特性が数１におけるＷ(ｊω１，ｊω２)として得られる特性を有するデジタルフィルタであるとよい。
【数１】
2011159178.tif 000003
【００１１】
また、この発明の光学的情報読取方法は、読取対象物までの距離を測定する距離測定工程と、上記距離測定工程で測定した距離に基づいて、複数の距離の各々に対応したフィルタ手段であって、上記撮像手段がその距離だけ離れた位置の読取対象物を撮像して得た画像を上記読取対象物の理想的な像に近づける処理を行う複数のフィルタ手段から、上記距離測定工程で測定した距離で撮像した画像の処理に適した１つを選択するフィルタ選択工程と、撮像手段によって撮像した上記読取対象物の画像を、上記フィルタ選択手段が選択したフィルタ手段によって処理し、その処理後の画像を解析して、その読取対象物上に配置された、光反射率が周囲と異なる記号により示される情報をデコードするデコード工程とを備えたものである。
【００１２】
この発明の別の光学的情報読取方法は、複数の距離の各々に対応したフィルタ手段であって、上記撮像手段がその距離だけ離れた位置の読取対象物を撮像して得た画像を上記読取対象物の理想的な像に近づける処理を行う複数のフィルタ手段から、ユーザの操作に従って１つを選択するフィルタ選択工程と、撮像手段によって撮像した読取対象物の画像を、上記フィルタ選択工程で選択したフィルタ手段によって処理し、その処理後の画像を解析して、その読取対象物上に配置された、光反射率が周囲と異なる記号により示される情報をデコードするデコード工程とを備えたものである。
【００１３】
これらの各光学的情報読取方法において、上記各フィルタ手段を、上記撮像手段が所定距離だけ離れた対象を撮像した場合の(i)点拡がり関数及び(ii)読取画像データにおける入力信号成分とノイズ成分とのパワースペクトル比に基づいて求めたパラメータに従ったウィーナフィルタ処理を行う手段とするとよい。
【００１４】
さらに、上記点拡がり関数を、上記撮像手段が所定距離だけ離れた位置の基準部材を撮像して得たエッジ画像のうち、エッジを跨ぐ線上に位置する各画素の画素値を、画素位置の関数と見て画素位置で微分し、その微分によって得られた線拡がり関数をガウス関数にフィッティングし、そのフィッティングしたガウス関数のガウス形状を対称軸を中心に回転させて得られる関数とするとよい。
【００１５】
さらにまた、上記各フィルタ手段を、Ｈ(ｊω１，ｊω２)を点拡がり関数、ＰＵ(ω１，ω２)を入力信号成分のパワースペクトル、ＰＶ(ω１，ω２)をノイズ成分のパワースペクトルとして、インパルス応答の空間周波数特性が数２におけるＷ(ｊω１，ｊω２)として得られる特性を有するデジタルフィルタとするとよい。
【数２】
2011159178.tif 000004
【００１６】
また、この発明のデジタルフィルタの作成方法は、Ｈ(ｊω１，ｊω２)を点拡がり関数、Ｐｕ(ω１，ω２)を入力信号成分のパワースペクトル、Ｐｖ(ω１，ω２)をノイズ成分のパワースペクトルとして、インパルス応答の空間周波数特性が数３におけるＷ(ｊω１，ｊω２)として得られる特性を有するデジタルフィルタの作成方法において、
【数３】
2011159178.tif 000005
上記点拡がり関数を、撮像手段が所定距離だけ離れた位置の基準部材を撮像して得たエッジ画像のうち、エッジを跨ぐ線上に位置する各画素の画素値を、画素位置の関数と見て画素位置で微分し、その微分によって得られた線拡がり関数をガウス関数にフィッティングし、そのフィッティングしたガウス関数のガウス形状を対称軸を中心に回転させて得られる関数を、空間周波数領域に変換することにより得るようにしたものである。
【発明の効果】
【００１７】
この発明による光学的情報読取装置及び光学的情報読取方法によれば、ノイズや分布定数の影響を低減し、正確なデコードができるようにすることができる。また、この発明のデジタルフィルタの作成方法によれば、このようなノイズや分布定数の影響を低減するためのフィルタ処理に好適なデジタルフィルタを作成することができる。
【図面の簡単な説明】
【００１８】
【図１】この発明の光学的情報読取装置の実施形態において用いるフィルタ処理の原理についての説明に用いるバーコードスキャナの光学系の構成を示す図である。
【図２】図１に示した処理回路の概略構成を示す図である。
【図３】読取対象物上のバーコード記号が図１及び図２に示した構成を有するバーコードスキャナにより読み取られてデコードされる際の信号処理過程のモデルを示す図である。
【図４】走査レーザビームのビームスポットプロファイルの例を示す図である。
【図５】図３に示した読取信号から入力信号を再生するためのウィーナフィルタの概念図を示す図である。
【００１９】
【図６】逆フィルタを作成する際に入力信号ｕ(t)として用いたバーコード記号を表す信号を示す図である。
【図７】図４に示したビームスポットプロファイルをフーリエ変換することによって求めた周波数特性を示す図である。
【図８】図７に示す周波数特性に基づき設計したデジタルフィルタの特性を示す図である。
【図９】（ａ）に読取信号ｙ(t)を、同（ｂ）にその読取信号を図８に示すデジタルフィルタにより処理して得られる再生信号ｕ＊(t)を示す図である。
【図１０】この発明の光学的情報読取装置の実施形態であるコードスキャナの概略ハードウェア構成を示す図である。
【００２０】
【図１１】ＰＳＦの推定のために撮像する、エッジを有する原画像を示す図である。
【図１２】図１１に示した原画像中でエッジを跨ぐラインを示す図である。
【図１３】図１１に示した原画像を撮像して得た画像データに基づくＥＳＦの例を示す図である。
【図１４】そのＥＳＦの別の例を示す図である。
【図１５】図１４に示したＥＳＦ３に基づいて式（５）により求めたＬＳＦを近似したガウス関数のグラフである。
【００２１】
【図１６】図１５に示したガウス関数から式（８）及び式（９）により推定したＰＳＦの空間周波数特性を示す図である。
【図１７】劣化関数を推定する手順を示すフローチャートである。
【図１８】パワースペクトル比を推定する際に、ＰＶ(ω１，ω２)／ＰＵ(ω１，ω２)のω２＝０の断面を近似した二次関数の例を示す。
【図１９】図１３及び図１４に示したＥＳＦを用いて求めた、読取距離３００ｍｍの場合に好適なインパルス応答を有するウィーナの逆フィルタの空間周波数特性を示す図である。
【図２０】図１９に示した空間周波数特性を有する逆フィルタを空間領域に変換し、６４次のデジタルフィルタとして実現した場合の逆フィルタのインパルス応答を示す図である。
【００２２】
【図２１】ＣＭＯＳ２１２による読取距離３００ｍｍの撮像で得られた画像を示す図であり、（ａ）にフィルタ処理前の画像を、（ｂ）にフィルタ処理後の画像を示す。
【図２２】図２１に示した画像における横１ライン分の画素値を示す図であり、（ａ）がフィルタ処理前、（ｂ）がフィルタ処理後の値を示す。
【図２３】図２２と同様に縦１ライン分の画素値を示す図である。
【図２４】最適な読取距離である１２０ｍｍで撮像したコード記号の画像を示す図である。
【図２５】読取距離３０ｍｍで図１１に示した原画像を形成した部材を撮像して得られる画像データから求めたＬＳＦを近似したガウス関数を示す図である。
【００２３】
【図２６】ＣＭＯＳ２１２による読取距離３０ｍｍの撮像で得られた画像を示す図であり、（ａ）にフィルタ処理前の画像を、（ｂ）にフィルタ処理後の画像を示す。
【図２７】図２６に示した画像における横１ライン分の画素値を示す図であり、（ａ）がフィルタ処理前、（ｂ）がフィルタ処理後の値を示す。
【図２８】図２７と同様に縦１ライン分の画素値を示す図である。
【図２９】この発明の実施形態のコードスキャナの概略ハードウェア構成を示す図である。
【図３０】別の実施形態のコードスキャナの概略ハードウェア構成を示す図である。
【図３１】ＣＭＯＳ２１２の撮像エリアに写る反射光のスポットの例を示す説明図である。
【図３２】ＣＭＯＳ２１２から読取対象物までの距離の算出に必要なパラメータの説明図である。
【図３３】複数の読取距離について実測のＥＳＦに基づき式（８）に従って求めたＰＳＦの半値幅と、読取距離との関係を示す図である。
【発明を実施するための形態】
【００２４】
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
まず、この発明の光学的情報読取装置の実施形態において用いるフィルタ処理の原理について説明する。
図１に、この説明に用いる、１次元のバーコードを読み取るバーコードスキャナの光学系の構成を示す。
【００２５】
バーコードスキャナ１は、図１に示すように、レーザ光源１１，集光レンズ１２，開口絞り１３，スキャニングミラー１４，結像レンズ１５，光電変換器１６，処理回路２０を有する。
そして、バーコードスキャナ１においては、半導体レーザを光源とするレーザ光源１１の発光点１１ａから出力されるレーザビームを、集光レンズ１２を通過させた後、開口絞り１３で径を絞り、スキャニングミラー１４により偏向させて、読取対象物３０上に設けられたバーコード３１に対して照射し、バーコード３１上をレーザビームのビームスポットにより走査できるように構成している。スキャニングミラー１４は、図１では平面鏡として示しているが、実際には正多角形柱上で側面が鏡面となっているポリゴンミラーを用いてもよい。
【００２６】
一方、結像レンズ１５には、読取対象物３０により反射されてきた走査レーザビームを入射させ、フォトダイオードからなる光電変換器１６上に結像させる。そして、光電変換器１６がその反射光を、強度に応じたアナログ電気信号に変換し、処理回路２０による解析に供する。
【００２７】
図２に、この処理回路の概略構成を示す。
処理回路２０は、図２に示す通り、ＩＶ変換部２１，プリアンプ２２，フィルタ処理部２３，二値化回路２４を有し、光電変換器１６が出力する、読み取り対象物３０により反射されてきた反射光の強度に応じた電気信号を処理し、バーコード記号のデコードに供するパルス列を出力する回路である。
【００２８】
より具体的には、まずＩＶ変換部２１が、光電変換器１６のフォトダイオードから出力される電流信号を電圧信号に変換する。次にプリアンプ２２が、ＩＶ変換部２１によって変換された電圧信号を増幅する。このＩＶ変換部２１とプリアンプ２２とによって、電流信号を電圧信号に変換して増幅する増幅部を構成している。
【００２９】
その後、プリアンプ２２から出力された信号に対してフィルタ処理部２３でノイズ除去処理を行い、二値化回路２４に入力する。フィルタ処理部２３の詳細については後述する。二値化回路２４は、低域通過（ローパス）フィルタやロジック回路で構成され、バーコード記号のバーの並びに対応した、白バー部と黒バー部の位置を示すパルス列を出力する。
【００３０】
次に、図３に、読取対象物上のバーコード記号が図１及び図２に示した構成を有するバーコードスキャナにより読み取られてデコードされる際の信号処理過程のモデルを示す。
図３において、ｕ(t)がバーコード記号の白バーと黒バーの並びに対応した方形波を示す入力信号である。理想的には、この波形が光電変換器１６に入力するはずである。しかし実際には、走査に用いるレーザビームに拡がりがあるため、その分だけ劣化した信号が光電変換器１６に入力することになる。
【００３１】
これの劣化を考慮したものが劣化系４１であり、Ｈ０(s)は、図４に示すような、光電変換器１６上における走査レーザビームのビームスポットプロファイルを示す関数である。そして、この劣化系４１による劣化後の入力信号ｘ０(t)は、入力信号ｕ(t)をｈ０(t)（＝Ｌ−１｛Ｈ０(s)｝）との畳み込みにより劣化した信号である。ここで、Ｌ｛・｝はラプラス変換を示す。
【００３２】
また、計測系４２は、増幅器のゲインを示すものであり、Ｈ１(s)がその特性を示す関数である。そして、ｘ０(t)が計測系４２を通過した後の信号をｘ１(t)とする。
また、ｖ(t)はノイズであり、回路ノイズや散乱ノイズを一括して表すものである。そして、ｙ(t)はｘ１(t)にｖ(t)が付加された読取信号であり、図２でいうプリアンプ２２の出力信号を示す。ここで，ｔ＝ｎＴｓ，ｎ＝０，１，…，Ｎ−１，Ｎ、Ｎは信号の全データ数、Ｔｓはサンプリング周期を示す。
【００３３】
処理系４３は、フィルタ処理部２３による入力信号の特性調整を示す。従って、ｕ＊(t)は、フィルタ処理部２３の出力信号、すなわち二値化回路２４の入力信号を示す。バーコード記号を正確にデコードするためには、この時点の信号が、バーコード記号の並びを示すｕ(t)の内容をなるべく正確に反映していることが好ましい。
そこで、本実施形態では、ｙ(t)を入力してｕ(t)に近い出力を得られるような特性Ｗ(s)を持つように、フィルタ処理部２３を設計することにより、入力信号から効果的にボケやノイズを除去してバーコードの読取り可能範囲を拡張することを目指した。
【００３４】
なお、劣化系４１、計測系４２及びノイズｖ(t)の加算までを一連の読取誤差の混入過程と見れば、この過程により、バーコード記号の並びを示すｕ(t)を読取信号ｙ(t)に変換するフィルタ処理が行われると考えることができる。そして、フィルタ処理部２３によりこの逆変換のフィルタ処理を行うことにより、読取信号ｙ(t)から読取誤差を除去してバーコード記号の並びを示すｕ(t)に近いｕ＊(t)を再生することができると考えられる。従ってこの意味で、フィルタ処理部２３が行うフィルタ処理の機能を、「逆フィルタ」と呼ぶことにする。
【００３５】
次に、この逆フィルタの設計手法について説明する。
ここでは、逆フィルタを、所望の信号と入力信号の差分の二乗平均を最小にする意味で最適なフィルタであるウィーナフィルタ（Wiener filter）として設計している。
図５にこのウィーナフィルタの概念図を示す。ウィーナフィルタには入力信号とノイズに因果性の仮定が求められるが、ここではその仮定が満足されているとする。
【００３６】
図５では、図３と同様な記号を用いているが、劣化系４１と計測系４２はまとめて１つのフィルタ５１として示した。そして、フィルタ５２が、設計対象の逆フィルタであり、フィルタ５２によりｙ(t)を処理して得られる再生信号ｕ＊(t)と当初の入力信号ｕ(t)との差分の二乗平均を最小にするようにフィルタ５２の特性Ｗ(s)を定めることになる。
【００３７】
ここで、フィルタ５２のインパルス応答をｗ(t)（＝Ｌ−１｛Ｗ(s)｝）とおくと、逆フィルタの設計問題は下記の式（１）における評価関数Ｊを最小にするインパルス応答を決定する問題となる。ここで、式中のＥ｛・｝は期待値を示す。
【数４】
2011159178.tif 000006
【００３８】
この問題を解き、それを周波数領域で表すと次の式（２）のようになる。
【数５】
2011159178.tif 000007
【００３９】
ここで、この逆フィルタの特殊解について説明する。
通常、図１及び図２に示したようなバーコードスキャナ１により読み取るバーコード記号の信号帯域は１３０キロヘルツ（ｋＨｚ）程度であり、それ以上の周波数成分はノイズとみなすことができる。そこで、カットオフ周波数１５０ｋＨｚ程度のバタワース低域通過フィルタをｙ(t)に（逆フィルタよりも前に）掛けることにより、逆フィルタの設計においてノイズ成分を無視することができる。
【００４０】
また、計測系４２は必要な帯域では定常ゲインであるので、図４においてＨ１(s)はｘ０(t)の周波数成分に影響を与えることはなく、逆フィルタの設計においてはＨ１(s)も無視することができる。
【００４１】
これらの条件を用いて、ウィーナの逆フィルタの特殊解として、以下の近似式（３）を得ることができる。
【数６】
2011159178.tif 000008
この場合、Ｈ０(ｊω)は図４に示したようなビームスポットプロファイルを示すＨ０(s)をフーリエ変換して得ることができる。従って、Ｈ０(s)のみから逆フィルタを作成できることになる。
【００４２】
次に、図１及び図２に示したバーコードスキャナ１において、フィルタ処理部２３に以上説明してきた考え方に基づいて作成した逆フィルタを採用した場合に得られる再生信号ｕ＊(t)のシミュレーション結果について説明する。
図６に、入力信号ｕ(t)として用いたバーコード記号を表す信号を示す。
また、各読取距離（結像レンズの主点Ｐから読取対象物までの距離）における走査レーザビームのビームスポットプロファイルは既知であり、読取距離３５０ｍｍにおけるビームスポットプロファイルは図４に示したものであるとする。これをフーリエ変換することによって求めた周波数特性は、図７に示すものである。
【００４３】
そして、図７に示す周波数特性に基づき、上記式（３）を用いて設計した次数１０、サンプリング周波数５６０ｋＨｚの逆フィルタは、図８に示す特性を有するものとなった。図８（ａ）に示すのがインパルス応答、（ｂ）に示すのがその周波数特性である。
なお、このフィルタ次数は、ＤＳＰ（Digital Signal Processor、例えばTexas Instruments, Inc.のTMS320C6713DSK）を用いて本実施形態の装置を実現する際の実装可能性を考慮して決定した。
図９（ａ）に上記条件における読取信号ｙ(t)を、同（ｂ）に再生信号ｕ＊(t)を示す。これらを比較すると、逆フィルタにより微分が効いて、読取信号ｙ(t)よりも入力信号ｕ(t)の方形波に近い形の再生信号ｕ＊(t)が得られることがわかる。
【００４４】
また、この逆フィルタを実際のバーコードスキャナに組み込んだところ、特開２００４−１５６７１号公報に記載のような従来の回路構成を用いた場合はバーコード記号を読み取り可能な距離範囲が３０〜３５０ｍｍであったのに対して、ここで説明した逆フィルタを実現する回路を用いた場合には、同等な光学系で読み取り可能な距離範囲が３０〜４００ｍｍであった。従って、ここで説明した逆フィルタを用いることにより、読み取り可能距離を伸ばすことができた。
【００４５】
次に、以上説明してきた逆フィルタを二次元コードを読み取るコードスキャナに適用した実施形態について説明する。
図１０に、この説明に用いるコードスキャナの概略ハードウェア構成を示す。
図１０に示すように、このコードスキャナ２００は、光学ヘッド部２１０及びデコーダ部２２０を有する。
【００４６】
このうち光学ヘッド部２１０は、レンズ２１１及び、固体撮像素子の一例であるＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサ（以下単に「ＣＭＯＳ」という)２１２を備える。
レンズ２１１は例えば光学レンズであり、二次元コード等のコード記号の画像を光学ヘッド部２１０に取り入れ、ＣＭＯＳ２１２の撮像エリア上に結像させるためのものである。
【００４７】
ＣＭＯＳ２１２は、レンズ２１１が取り入れた読取対象物（コード記号含むと想定される）からの反射光により、読取対象物を撮像し、その撮像で得たアナログの画像信号からデジタルの輝度値で表現される画像データを生成してデコーダ部２２０に出力する。
また、光学ヘッド部２１０は、光源の一例である発光ダイオード（ＬＥＤ）２１３も有し、ＬＥＤ２１３が照射する光により読取対象物を照明して、ＣＭＯＳ２１２により鮮明な画像を撮像できるようにしている。ただし、装置の構造によってはＬＥＤ２１３は設けなくてもよい。
【００４８】
次に、デコーダ部２２０は、第１の入出力インタフェース（第１Ｉ／Ｏ）２２１，ＡＳＩＣ（Application Specific Integrated Circuit）２２２，ＲＡＭ２２６，ＲＯＭ２２７，第２の入出力インタフェース（第２Ｉ／Ｏ）２２８を備える。
このうち第１Ｉ／Ｏ２２１は、光学ヘッド部２１０とデコーダ部２２０との間で、制御信号やＣＭＯＳ２１２が出力する画像データなどを送受信するためのインタフェースである。
【００４９】
ＡＳＩＣ２２２は、ヘッド制御部２２３，フィルタ処理部２２４及びデコード部２２５を有する。そして、ヘッド制御部２２３はＣＭＯＳ２１２及びＬＥＤ２１３の制御を行い、フィルタ処理部２２４はＣＭＯＳ２１２から第１Ｉ／Ｏ２２１を介して入力される読取対象物の画像データに対し、ノイズ除去のためのフィルタ処理や、デコード準備のための二値化処理等を行う。デコード部２２５は、フィルタ処理部２２４による処理後の画像データに基づきコード記号のデコードを行い、読み取ったコード記号が意味するデータを出力する。
なお、デコード部２２５によるデコード処理については、例えば特開２００５−２５４１７号公報に記載の手法など、公知の任意の手法を採用すればよい。
【００５０】
ＲＡＭ２２６は、フィルタ処理部２２４による処理後の画像データを記憶したり、フィルタ処理部２２４におけるフィルタ処理のパラメータや、その他コードスキャナ２００の動作に必要なデータなど動的に変更するデータを記憶する記憶手段である。一部を不揮発性としてもよい。
【００５１】
ＲＯＭ２２７は、コードスキャナ２００を起動させるプログラムなどを記憶する不揮発性の記憶手段である。
第２Ｉ／Ｏ２２８は、不図示のホストコンピュータ等の外部装置とデータ通信を行うためのインタフェースであり、デコード部２２５によるデコード後のデータを第２Ｉ／Ｏ２２８を介して外部装置に出力することができる。
【００５２】
以上のような構成を有するコードスキャナ２００において、ＣＭＯＳ２１２は、撮像時に固定ノイズとランダムノイズを発生する。すなわち、画素ごとに固定した増幅器が割り当てられるため，各増幅器のばらつきによって固定ノイズが発生する。また、紙面ノイズや光ノイズなどによってランダムノイズが発生する。
【００５３】
また、読取対象物の画像は、理想的には、コード記号上の各点からの反射光がＣＭＯＳ２１２の撮像面上の１点に入射する条件で撮像することが好ましい。しかし実際には、光学系の焦点距離と読取距離とが一致しないこともあり、各点からの反射光はある程度の拡がりを持った領域に入射することになる。従って、図１に示したバーコードスキャナ１におけるレーザビームの場合と同じような、光の拡がりに起因するノイズ（ボケ）も発生する。
【００５４】
従って、正確なデコードのためには、デコード処理の前に、撮像で得られた画像データからこれらのノイズを除去することが好ましい。
コード記号上の各点からの反射光（ｕ(t)に相当）により形成される像をＣＭＯＳ２１２により撮像して画像データ（ｙ(t)に相当）を得る際にノイズが混入する過程については、図３と同様に表現することができる（ただし２次元で考える必要がある）。
【００５５】
従って、ＣＭＯＳ２１２により撮像して得られた画像データからノイズを取り除くためのウィーナの逆フィルタは、一次元の場合について示した式（２）を２次元に拡張した、以下の式（４）に示す空間周波数特性Ｗ(ｊω１，ｊω２)を有するフィルタとして作成することができる。ここで、ω１，ω２は２次元の各軸方向における空間周波数を示す。
【数７】
2011159178.tif 000009
【００５６】
以下に説明する、空間周波数特性Ｗ(ｊω１，ｊω２)を有するフィルタの作成方法が、この発明のデジタルフィルタの作成方法の実施形態である。
１次元の場合には、周波数特性Ｗ(ｊω)を求めるに際し、他の条件を考慮して特殊解を求めたが、２次元の場合には、実験データから劣化関数Ｈ(ｊω１，ｊω２)及び信号（図３におけるｕ(t)を２次元に拡張したｕ(t1,t2)）とノイズ（図３におけるｖ(t)を２次元に拡張したｖ(t1,t2)）のパワースペクトルの比を推定し、これらに基づいてＷ(ｊω)を導出することにした。
【００５７】
このうち劣化関数Ｈ(ｊω１，ｊω２)については、点拡がり関数（ＰＳＦ）と呼ばれるものであり、鋭いエッジを有する原画像をコードスキャナ２００と同じ光学ヘッド部２１０のＣＭＯＳ２１２によって撮像して得られたノイズ除去前の画像データから、以下の手順で推定できると考えられる。
【００５８】
まず、図１１に示すような鋭いエッジ（濃度が変化する点、図１１で言えば黒部と白部の境界）を有する原画像を撮像した場合、画像データには、上述した各種ノイズにより、エッジ部に若干のボケが入ることになる。そして、撮像で得られた画像データにおける、図１２（黒部はハッチングで示した）に示すようなエッジを跨ぐラインＬ上の各画素の画素値を、ラインＬ上の位置ｘの関数として表すと、図１３に示すようなエッジ拡がり関数（ＥＳＦ）を得ることができる。このとき、Ｌが１行又は１列の画素の並びと重なり、かつエッジと垂直に交わるように原画像の撮像を行うことが好ましい。
【００５９】
そして、このエッジ拡がり関数をｘで微分することにより、式（５）で示すように線拡がり関数（ＬＳＦ）を得ることができる。
【数８】
2011159178.tif 000010
【００６０】
そして、ＬＳＦとＰＳＦには式（６）で示す関係があるため、これを利用してＰＳＦを推定することができる。
【数９】
2011159178.tif 000011
【００６１】
なお、ＬＳＦを求める際、単にＥＳＦをｘで微分すると高周波成分が強調されてしまう。そこで本実施形態では、ＬＳＦの波形がガウス関数に近いと仮定して、式（７）に示すガウス関数に最小二乗法でフィッティングした。ここで、ｂはピークの高さ、ｃは平均、ｄ２は分散である。
【数１０】
2011159178.tif 000012
【００６２】
また、ＬＳＦがガウス関数の場合、ＰＳＦが対称形であると仮定すると、ＬＳＦを、そのガウス形状を対称軸の回りに回転させて得られる、式（８）に示す２次元に拡張したガウス関数が、式（６）の関係式を満たすＰＳＦであると推定することができる。
【数１１】
2011159178.tif 000013
【００６３】
これをフーリエ変換して空間周波数領域にして、劣化関数Ｈ(ｊω１，ｊω２)が式（９）に示すようなものであると推定することができる。
【数１２】
2011159178.tif 000014
【００６４】
このように対称性を仮定して劣化関数を推定することにより、簡単な処理で劣化関数を求めることができると共に、推定された劣化関数に基づくフィルタ特性を、比較的簡単なものとすることができる。そしてこのことにより、さほど多くない次数のフィルタによっても、式（４）に従って求めた空間周波数特性を十分な精度で得られるフィルタ処理を行うことができる。２次元の画像データを処理する用途であれば、３次元画像を処理する場合などに比べて精度の要求レベルは低いので、このようにフィルタ次数の低減を図ることにより、読み取り精度をさほど犠牲にせずにコストダウンを図ることができる。
【００６５】
次に、以上の推定手順を、データの取得法及び処理手順を交えてより具体的に説明する。
まず、推定のベースとなる画像データは，図１１に示したような鋭いエッジを有する原画像を形成した部材を、コードスキャナ２００の読取距離として想定される距離だけ離れた位置から、コードスキャナ２００と同じ光学ヘッド部２１０のＣＭＯＳ２１２によって撮像する。例えば、読取距離３００ｍｍの場合の撮像画像データから効果的にノイズを除去するためのフィルタを得たい場合には、推定のベースとなる画像データの撮像も、距離３００ｍｍから行う。なお、今回の撮像に用いた光学ヘッド部２１０の光学系は、焦点距離が１２０ｍｍである（撮像距離が１２０ｍｍの場合に読取対象物の像がちょうどＣＭＯＳ２１２の受光面に結像する特性である）ので、３００ｍｍの距離で撮像すると、若干ボケた画像が得られる。
【００６６】
そして、その画像データから、図１２に示したようにエッジを跨ぐラインＬ上の各画素の画素値を取得して、ＥＳＦを求める。このとき、ランダムノイズの影響を抑えるため、同じ状況で時間をずらしながら撮像を行って複数枚の画像を取得し、各画像における画像データ値を加算平均することが好ましい。
【００６７】
図１３に、１枚の画像のみから取得したＥＳＦのグラフ（ＥＳＦ１）と、２０枚の画像における画像データの加算平均から求めたＥＳＦのグラフ（ＥＳＦ２）を示す。（ｂ）に示すのは、（ａ）のうちエッジ近傍を拡大したグラフである。
なお今回の撮像の条件では、ＥＳＦ１とＥＳＦ２に大きな差は見られず、加算平均してもほとんどノイズを除去することはできなかった。このことから、画像データに含まれるノイズには、ランダムノイズより固定ノイズの影響が大きいことが考えられる。
【００６８】
このような状況でＥＳＦ中のノイズを低減するためには、ラインＬに平行な複数のラインについて画素値を取得し、それらを加算平均することが考えられる。そこで、連続する５０ラインについて画素値を取得し、それらの加算平均からＥＳＦ（ＥＳＦ３）を求めた。なお、各ラインの画素値としては、２０枚の画像における画像データの加算平均を用いている。
【００６９】
図１４に、ＥＳＦ２とＥＳＦ３の比較を示す。（ｂ）に示すのは、図１３と同様、（ａ）のうちエッジ近傍を拡大したグラフである。
このグラフから、複数ラインの画素値を平均することにより、ＥＳＦのノイズが減少することがわかる。またこのことから、画素毎の固定ノイズには相関がなく、複数ラインの画素値を平均することにより固定ノイズの影響を小さくすることができると言える。
このようにノイズの影響を低減したＥＳＦ３が、逆フィルタのインパルス応答（及びその空間周波数特性）を決定する際に好適であり、ここではＥＳＦ３に基づいて劣化関数Ｈ(ｊω１，ｊω２)の推定を行った。
【００７０】
図１５に、ＥＳＦ３に基づいて式（５）により求めたＬＳＦを近似したガウス関数のグラフを、図１６に、そのガウス関数から式（８）及び式（９）により推定したＰＳＦ（劣化関数Ｈ(ｊω１，ｊω２)）の空間周波数特性を示す。この図において、振幅値が大きい箇所がグラフの濃い部分で、振幅値が中程度の箇所がグラフの薄い部分で、振幅値が小さい箇所もグラフの濃い部分である。グラフ画像の濃度と右側の凡例（振幅値を示す）の濃度は対応している。
以上をまとめると、劣化関数Ｈ(ｊω１，ｊω２)の推定は、図１７のフローチャートに示すステップＳ１０１乃至Ｓ１０６の手順により行うことができる。
【００７１】
次に、信号とノイズのパワースペクトル比ＰＶ／ＰＵの推定について説明する。
このパワースペクトル比も、劣化関数の場合と同様、図１１に示したような原画像を形成した部材を、読取距離として想定される距離だけ離れた位置から撮像して得られる画像データを用いて推定することができる。
【００７２】
まず、入力信号のパワースペクトルＰＵ(ω１，ω２)については、原画像の信号が既知であるので、原画像の各位置の濃度を二次元ステップ関数として表したものを入力信号ｕ(x, y)として、そのパワースペクトルを求める。
また、ノイズのパワースペクトルＰＶ(ω１，ω２)については、撮像で得られた画像データ（劣化画像）の各画素の画素値を関数ｚ(x, y)で表し、そのパワースペクトルＰＺ(ω１，ω２)と、上述の手法で求めた劣化関数Ｈ(ｊω１，ｊω２)とを用いて、以下の式（１０）により求めることができる。
【数１３】
2011159178.tif 000015
【００７３】
しかし、以上のように求めたＰＶ(ω１，ω２)とＰＵ(ω１，ω２)の比をパワースペクトル比ＰＶ(ω１，ω２)／ＰＵ(ω１，ω２)とすると、複雑な形状となってしまう。
そこで、この実施形態では、上述の手法で求めたＰＶ(ω１，ω２)とＰＵ(ω１，ω２)の比ＰＶ(ω１，ω２)／ＰＵ(ω１，ω２)について、ω１＝０又はω２＝０の断面を求め、これを最小二乗法で二次関数に近似し、この二次関数を対称性を仮定してω１，ω２＝０の軸を中心に回転させたものを、パワースペクトル比ＰＶ／ＰＵの最終的な推定結果として採用した。
図１８に、ＰＶ(ω１，ω２)／ＰＵ(ω１，ω２)のω２＝０の断面を、二次関数で最小二乗法を用いて近似した例を示す。
【００７４】
以上の手法で推定した劣化関数Ｈ(ｊω１，ｊω２)及びパワースペクトル比ＰＶ(ω１，ω２)／ＰＵ(ω１，ω２)に基づき、式（４）から、フィルタ処理部２２４において読取画像データに対して行うフィルタ処理の空間周波数特性を決定することができる。
図１９に、図１３及び図１４に示したＥＳＦを用いて求めた、読取距離３００ｍｍの場合に好適なインパルス応答を有するウィーナの逆フィルタの空間周波数特性を示す。この図においても、グラフ画像の濃度については図１６と同様である。
【００７５】
このようにして望ましい空間周波数特性が得られたら、空間周波数特性を空間領域に変換し、フィルタ処理を行うハードウェアの性能に合わせ、その空間周波数特性をなるべく精度よく得られるような、適当な次数のデジタルフィルタのパラメータを決定すればよい。この際には、空間周波数特性を単純に空間領域に変換する場合に比べ、次数を大幅に削ることになる。しかし、フィルタ処理の空間周波数特性のうち、フィルタの特性に大きく影響する中心のピークから１つめの谷を含む範囲でインパルス応答を設計することにより、次数を大きく減らしつつ、最低限必要な周波数特性を維持することができる。
発明者らは、読取距離３００ｍｍの条件では、６４次のデジタルフィルタを用いた場合に、そのフィルタ処理により、ＣＭＯＳ２１２で撮像した画像データのコントラストを改善できることを確認した。
【００７６】
図２０に、図１９に示した空間周波数特性を有する逆フィルタを、空間領域に変換して６４次のデジタルフィルタとして実現した場合の逆フィルタのインパルス応答を示す。
また、図２１乃至図２３に、コード記号の撮像で得た画像データを図２０に示したデジタルフィルタによりフィルタ処理した場合のコントラスト向上の例を示す。
【００７７】
図２１（ａ）に示すのが、ＣＭＯＳ２１２による撮像で得られたフィルタ処理前の画像、同（ｂ）に示すのが、フィルタ処理後の画像である。一見して、フィルタ処理によりボケが低減され、コントラストが向上していることがわかる。
図２２に、図２１に示した画像における横１ライン分の画素値を示す。（ａ）がフィルタ処理前、（ｂ）がフィルタ処理後の値である。図２３には、同様に縦１ライン分の画素値を示す。
これらのグラフからも、フィルタ処理により画像のコントラストが向上し、かつノイズが低減されていることがわかる。
【００７８】
参考のため、図２４に、最適な読取距離である１２０ｍｍで撮像したコード記号の画像（フィルタ処理前）を示す。この距離ではフィルタ処理を行わなくても高いコントラストの画像を得ることができるが、図２１（ｂ）に示したフィルタ処理後の画像は、（ａ）に示したフィルタ処理前の画像に比べ、理想的な距離で撮像した画像に近いものになっていることがわかる。
従って、以上説明してきたフィルタ処理を行うことにより、焦点距離よりも遠方で読取を行う場合に得られる画像のコントラストを向上させ、このことによりコード記号の読取精度を向上させることができると言える。
【００７９】
また、図２５乃至図２８に、焦点距離よりも近方の、読取距離３０ｍｍの場合に好適な逆フィルタを上述と同じ手法で作成し、コード記号の撮像で得た画像データに適用した例を示す。
図２５に示すのは、読取距離３０ｍｍで図１１に示した原画像を形成した部材を撮像して得られる画像データから求めたＬＳＦを近似したガウス関数である。図１５に示した３００ｍｍの場合のものよりも、半値幅が広くなっている。
【００８０】
図２６（ａ）に示すのが、ＣＭＯＳ２１２による撮像で得られたフィルタ処理前の画像、同（ｂ）に示すのが、フィルタ処理後の画像である。３０ｍｍの場合には、３００ｍｍの場合に比較して、フィルタ処理前の状態でコントラストが高いこともあり、目立ったコントラストの向上は見られない。
図２７に、図２６に示した画像における横１ライン分の画素値を示す。（ａ）がフィルタ処理前、（ｂ）がフィルタ処理後の値である。図２８には、同様に縦１ライン分の画素値を示す。
【００８１】
これらのグラフからは、フィルタ処理前後で画像のコントラストにあまり変化はないが、フィルタ処理によりノイズを大きく低減できていることがわかる。
従って、以上説明してきたフィルタ処理を行うことにより、焦点距離よりも近方で読取を行う場合に得られる画像のノイズを低減させ、このことによりコード記号の読取精度を向上させることができると言える。
【００８２】
次に、以上説明してきたフィルタ処理を適用したコードスキャナの実施形態について説明する。
図２９に、このコードスキャナの概略ハードウェア構成を示す。なお、この図において、図１０に示したコードスキャナと対応する箇所には同じ符号を付し、図１０と同じ部分については説明を省略する。
図２９に示したコードスキャナ２００は、フィルタ処理部２２４に複数のフィルタ２２４ａを設け、ユーザによる操作部２４０の操作に応じて、フィルタ処理に使用するフィルタを選択できるようにした点が、図１０に示したコードスキャナと異なる。
【００８３】
ここまでに説明してきた通り、フィルタ処理のパラメータは、読み取り距離毎に求めることができる。そこで、この実施形態のコードスキャナ２００においては、複数の読み取り距離の各々に対応させて、ＣＭＯＳ２１２がその距離だけ離れた位置の読取対象物を撮像して得た画像をその読取対象物の理想的な像に近づける処理を行うための、ここまで説明してきたウィーナの逆フィルタ処理のパラメータを用意してある。
【００８４】
このパラメータは、ＲＡＭ２２６あるいはＲＯＭ２２７に記憶させておくことができるが、フィルタ処理部２２４は、そのパラメータを選択的に読み出してフィルタ処理部２２４に設定することにより複数のフィルタ２２４ａの処理を選択的に実行可能である。
複数のフィルタ２２４ａとしては、例えば、近方（３０ｍｍ）と遠方（３００ｍｍ）に対応したものを用意したり、近方（３０ｍｍ）と中距離（２００ｍｍ）と遠方（３００ｍｍ）に対応したものを用意したりすることが考えられる。
【００８５】
そして、例えばユーザに読取対象物までの距離を操作部２４０に設けた適当なスイッチにより選択させ、そのスイッチの操作をデコーダ部２２０に設けた操作部Ｉ／Ｆ（インタフェース）２３１を介してフィルタ選択部２３０が検出し、その操作内容に応じて、複数のフィルタ２２４ａのうち読取対象物までの距離と対応するフィルタを、フィルタ処理部２２４に選択させる。
【００８６】
これに応じて、フィルタ処理部２２４は、選択したフィルタのパラメータを読み出し、ＣＭＯＳ２１２の撮像により得られた画像データに対してそのパラメータに応じたフィルタ処理を行って、そのフィルタ処理後の画像データをデコード部２２５でのデコードに供する。
このことにより、読取対象物までの距離に応じて画像データからノイズを取り除くと共にコントラストを向上させ、コード記号の読み取り精度を向上させることができる。
【００８７】
なお、読取距離に応じた複数のフィルタは、それぞれ別々のフィルタ回路により実現し、スイッチの切り替えなどにより適当なフィルタを選択できるようにしてもよい。
また、焦点距離付近の、フィルタなしでも高いコントラストが得られる読取距離においては、フィルタ処理を行わなくてもよい。
【００８８】
次に、以上説明してきたフィルタ処理を適用したコードスキャナの別の実施形態について説明する。
図３０に、このコードスキャナの概略ハードウェア構成を示す。なお、この図においても、図１０又は図２９に示したコードスキャナと対応する箇所には同じ符号を付し、図１０又は図２９と同じ部分については説明を省略する。
図３０に示したコードスキャナ２００は、読取対象物までの距離を測定する距離測定手段を設け、距離測定手段が測定した距離に基づいて、その距離で撮像した画像の処理に適したフィルタを選択できるようにした点が、図２９に示したコードスキャナと異なる。
【００８９】
このコードスキャナ２００に設けた距離測定手段は、レーザ光源２１４から読取対象物に対してレーザビームを照射し、読取対象物からの反射光のスポットをＣＭＯＳ２１２で検出して、そのスポットが、ＣＭＯＳ２１２の撮像エリアの中央からどの程度離れた位置に入射したかに基づき、読取対象物までの距離を算出するものである。
この場合、図３１（ａ）に示すように、読取対象物が近くにある場合にはスポットＳが撮像した画像中の横軸方向の端部に現れ、遠くにある場合には（ｃ）に示すように中央付近に現れる。
【００９０】
読取対象物（物体）までの距離の算出方法は、より具体的には、以下のものを採用できる。
図３２は、読取対象物までの距離の算出に必要なパラメータの説明図である。
読取対象物までの距離ｘについては、同図中の次のパラメータと下記式（１１）とに基づいて算出することができる。
ｘ：撮像光学系のレンズ２１１の主点Ｐから読取対象物までの距離
ａ：ＣＭＯＳ２１２のイメージエリアに平行な向きに測った場合の撮像光学系レンズの主点Ｐからレーザ光２１４ａ（の中心）までの距離
θ：レンズ２１１の主点Ｐからレーザ光２１４ａの方向に広がる、視野角θ０の１／２の角度
Ｎ：レンズ２１１の主点Ｐからレーザ光２１４ａに向かう方向に数えた場合のＣＭＯＳ２１２におけるピクセル数の１／２（図３１参照）
ｎ：ＣＭＯＳ２１２における中心位置（レンズ２１１の主点Ｐと対応する位置）から反射光２１４ｂのスポットの中心位置までのピクセル数（図５参照）
φ：レーザ光２１４ａと撮像光学系レンズの光軸ｑとがなす角
【００９１】
【数１４】
2011159178.tif 000016
なお、図６で読取対象物の上側に示したレーザ光２１４ａは、角φについて説明するためのものである。
【００９２】
また、ＣＭＯＳ２１２が撮像した画像を解析して読取対象物までの距離を求める処理は、距離測定部２３２が行う。
そして、ヘッド制御部２２３は、コード記号の読み取りに先立ってレーザ光源２１４を点灯させる。距離測定部２３２は、レーザビームの反射光により読取対象物までの距離を測定し、その結果をフィルタ選択部２３０に渡す。そして、フィルタ選択部２３０が、複数のフィルタ２２４ａのうち、距離測定部２３２が測定した距離で撮像した画像の処理に適した１つを、フィルタ処理部２２４に選択させる。
なお、読取対象物までの距離と、使用するフィルタとの対応関係は、フィルタ選択部２３０が参照可能な不揮発性記憶手段に予め記憶させておく。
そして、以上のフィルタ選択の完了後、ヘッド制御部２２３は、レーザ光源２１４を消灯すると共に必要に応じてＬＥＤ２１３を点灯させ、ＣＭＯＳ２１２にコード記号のデコード用の画像を撮像させる。
このようにすれば、ユーザの手を煩わすことなく、適切なフィルタ処理を用いた読取精度向上の効果を得ることができる。
【００９３】
なお、上述のいずれの構成を採る場合も、画像データに対してフィルタ処理を行う場合、画像データからコード記号の部分を切り出した上で、コード記号の箇所についてのみフィルタ処理を行えばよい。
また、コード記号をデコードする場合、コード記号の規格によっては、コード記号に含まれる所定の位置決めマークに従ってコード記号の画像を水平又は垂直方向にスライスしたり、ブロックに分割したりしてからデコード処理に供することも行われる。
【００９４】
例えば、特開２００５−２５４１７号公報に記載の手法では、デコード処理の際に、撮像で得た１画面分の画像データを、２ライン×３２画素のブロックに分割し、周辺のブロックのコントラストに基づき、各ブロックの画像データを２値化する際の閾値を設定することが記載されている。
このような場合、スライスや分割を行った後の画像データに対してスライスや分割した単位でフィルタ処理を行ってもよい。
【００９５】
また、スライスやブロック単位でデコード処理を行う場合については、まずフィルタ処理前の画像データを用いてデコード処理を行い、デコードに失敗した箇所についてのみフィルタ処理を行うようにすることも考えられる。このようにすれば、画像データ全体に対してフィルタ処理を行う場合よりも処理負荷を低減できるため、その分次数の大きなフィルタを採用し、インパルス応答の精度を高めてより高いコントラストを得られるようにすることができる。
【００９６】
また、多数の読取距離に応じてきめ細かくフィルタを用意しようとする場合、全ての読取距離について実測のＥＳＦに基づきフィルタパラメータを求めることは必須ではない。
図３３に、複数の読取距離について実測のＥＳＦに基づき式（８）に従って求めたＰＳＦの半値幅ＦＷＨＭと、読取距離との関係を示す。この半値幅は空間分解能に相当し、半値幅が小さいほど分解能が高い。
【００９７】
図３３のグラフから、焦点距離よりも近い読取距離の場合、読取距離が減少するにつれ、半値幅が二次関数的に増加し、焦点距離よりも遠い読取距離の場合、読取距離が増加するにつれ半値幅が一次関数的にゆるやかに増加することがわかる。
従って、これらの関係から、読取距離と半値幅の関係を二次関数や一次関数で近似し、実測値のない読取距離に対応するＰＳＦの半値幅を推定することができる。
【００９８】
そして、この半値幅ＦＷＨＭと、式（８）におけるｄとの間には、次の式（１２）に示す関係があり、これに基づいてＦＷＨＭから分散ｄ２を求めることができる。
【数１５】
2011159178.tif 000017
【００９９】
また、式（８）におけるピークの高さｂは、ＬＳＦの総和（ｘで−∞から＋∞まで積分した値）が定数（例えば１）になるように規格化するようにすれば、規格化前の値を推定する必要がない。平均ｃについては、値が変わってもＬＳＦがｘ軸上を平行移動するだけでＬＳＦの周波数特性（振幅特性）に影響を与えず、ひいてはＰＳＦの空間周波数特性に影響を与えない。従って、ｃも推定する必要がない。
【０１００】
従って、読取距離から半値幅ＦＷＨＭが推定できれば、式（１２）に基づいてｄ２を求め、ｃを適当に定めると共にＬＳＦの総和を規格化してｂを定めることにより、ＰＳＦを、ひいては劣化関数を推定することができる。
【０１０１】
また、パワースペクトル比についても、図１８に示したような、ＰＶ(ω１，ω２)／ＰＵ(ω１，ω２)のω２＝０の断面を近似して得られる二次関数の係数は、読取距離に依存すると考えられる。
そして、複数の読取距離についてこの二次関数の係数を求め、その結果に基づき、読取距離と係数との関係を一次関数や二次関数等の適当な関数で近似することにより、上記の半値幅の場合と同様、読取距離に基づき、その読取距離におけるＰＶ(ω１，ω２)／ＰＵ(ω１，ω２)のω２＝０の断面、ひいてはこれを回転して得られるパワースペクトル比を推定することができる。
【０１０２】
従って、これらの推定値を用いて、任意の読取距離について、対応する逆フィルタの空間周波数特性を推定し、それに基づいてデジタルフィルタのパラメータを求めることができる。コードスキャナ２００に十分な演算能力を備えるプロセッサを搭載していれば、距離測定手段が測定した読取対象物までの距離に基づき、読取画像に適用するフィルタのパラメータを、動的に生成することも考えられる。
【０１０３】
以上で実施形態の説明を終了するが、装置の構成や具体的なフィルタの特性、フィルタの選択手法等が上述の実施形態で説明したものに限られないことはもちろんである。
また、この発明の光学的情報読取装置は、据え置き型の装置としても、手持ち型の装置としても、構成することができる。
また、以上述べてきた構成及び変形例は、矛盾しない範囲で適宜組み合わせて適用することも可能である。
【産業上の利用可能性】
【０１０４】
この発明による光学的情報読取装置と光学的情報読取方法は、流通，郵便，医療，化学検査，イベント会場などの広範な分野で、物品，書類，材料，被検体，その他各種の物の認識のために、物品や商品に貼付されたコード記号の情報を読み取る光学情報読取装置、特に２次元コードを読み取るスキャナのような光学情報読取装置及びこのような光学的情報読取装置を用いた情報の読み取りに好適である。
また、この発明のデジタルフィルタの作成方法は、このような光学情報読取装置及び光学的情報読取方法において使用するデジタルフィルタの作成に好適である。
【符号の説明】
【０１０５】
１…バーコードスキャナ、１１…レーザ光源、１２…集光レンズ、１３…開口絞り、１４…スキャニングミラー、１５…結像レンズ、１６…光電変換器、２０…処理回路、２１…Ｉ／Ｖ変換部、２２…プリアンプ、２３…フィルタ処理部、２４…二値化回路、３０…読取対象物、３１…バーコード記号、４１…劣化系、４２…計測系、４３…処理系、５１，５２…フィルタ、２００…コードスキャナ、２１０…光学ヘッド部、２１１…レンズ、２１２…ＣＭＯＳ、２１３…ＬＥＤ、２１４…レーザ光源、２２０…デコーダ部、２２１…第１Ｉ／Ｏ、２２２…ＡＳＩＣ、２２３…ヘッド制御部、２２４…フィルタ処理部、２２４ａ…フィルタ、２２５…デコード部、２２６…ＲＡＭ、２２７…ＲＯＭ、２２８…第２Ｉ／Ｏ、２３０…フィルタ選択部、２３１…操作部Ｉ／Ｆ、２３２…距離測定部、２４０…操作部
【図１】
2011159178.tif 000021
【図２】
2011159178.tif 000022
【図３】
2011159178.tif 000023
【図４】
2011159178.tif 000024
【図５】
2011159178.tif 000025
【図６】
2011159178.tif 000026
【図７】
2011159178.tif 000027
【図８】
2011159178.tif 000028
【図９】
2011159178.tif 000029
【図１０】
2011159178.tif 000030
【図１１】
2011159178.tif 000031
【図１２】
2011159178.tif 000032
【図１３】
2011159178.tif 000033
【図１４】
2011159178.tif 000034
【図１５】
2011159178.tif 000035
【図１６】
2011159178.tif 000036
【図１７】
2011159178.tif 000037
【図１８】
2011159178.tif 000038
【図１９】
2011159178.tif 000039
【図２０】
2011159178.tif 000040
【図２１】
2011159178.tif 000041
【図２２】
2011159178.tif 000042
【図２３】
2011159178.tif 000043
【図２４】
2011159178.tif 000044
【図２５】
2011159178.tif 000045
【図２６】
2011159178.tif 000046
【図２７】
2011159178.tif 000047
【図２８】
2011159178.tif 000048
【図２９】
2011159178.tif 000049
【図３０】
2011159178.tif 000050
【図３１】
2011159178.tif 000051
【図３２】
2011159178.tif 000052
【図３３】
2011159178.tif 000053