(57)【特許請求の範囲】
【請求項１】
読み取り対象画像を読み取り装置にて読み取ることにより得られた画像データに対する第１の周波数解析の結果から求まる交流周波数成分の振幅と、読み取り対象画像を前記読み取り装置にて所定距離離れて読み取ることにより得られる画像データに対する第２の周波数解析の結果から求まる交流周波数成分の振幅と、に基づいて、所定の処理を行うことにより、前記読み取り対象と読み取り装置間との間の距離を検出することを特徴とする距離検出装置。
【請求項２】
請求項１に記載の距離検出装置であって、
読み取り対象画像を前記読み取り装置にて所定距離離れて読み取ることにより得られる画像データは、読み取り対象画像を読み取り装置にて読み取ることにより得られた画像データから得られたものであることを特徴とする距離検出装置。
【請求項３】
請求項２に記載の距離検出装置であって、
読み取り対象画像を前記読み取り装置にて所定距離離れて読み取ることにより得られる画像データは、読み取り対象画像を読み取り装置にて読み取ることにより得られた画像データを二値化することにより得られたものであることを特徴とする距離検出装置。
【請求項４】
請求項１乃至３の何れか１項に記載の距離検出装置であって、
前記第１の周波数解析の結果から求まる交流周波数成分の振幅と、前記第２の周波数解析の結果から求まる交流周波数成分の振幅と、に基づく処理とは、前記第１の周波数解析の結果から求まる１以上の交流周波数成分の振幅の和と、前記第２の周波数解析の結果から求まる１以上の交流周波数成分の振幅の和との間の差を、前記第２の周波数解析の結果から求まる１以上の交流周波数成分の振幅の前記和で除することにより得られる正規化差と、読み取り対象画像と前記読み取り装置との間の距離との対応関係を用いた処理であることを特徴とする距離検出装置。
【請求項５】
前記読み取り対象の種別を判定し、判定結果に応じて異なる内容の前記対応関係を用いることを特徴とする請求項４に記載の距離検出装置。
【請求項６】
前記画像データを二値化したデータを前記読み取り対象に対応した規則に従いデコードし、前記検出した距離が所定距離の長さの範囲内である場合に前記デコードの結果を出力するデコード手段を更に備えることを特徴とする請求項１乃至５の何れか１項に記載の距離検出装置。
【請求項７】
請求項１乃至６の何れか１項に記載の距離検出装置を備える読み取り装置であって、
前記読み取り対象を読み取ることにより前記画像データを取得する手段と、
前記取得した画像データを前記距離検出装置に供給する手段と、
を備えることを特徴とする読み取り装置。
【請求項８】
読み取り対象画像を読み取り装置にて読み取ることにより得られた画像データに対する第１の周波数解析の結果から求まる交流周波数成分の振幅と、読み取り対象画像を前記読み取り装置にて所定距離離れて読み取ることにより得られる画像データに対する第２の周波数解析の結果から求まる交流周波数成分の振幅と、に基づいて、所定の処理を行うことにより、前記読み取り対象と読み取り装置間との間の距離を検出することを特徴とする距離検出方法。
【請求項９】
読み取り対象画像を読み取り装置にて読み取ることにより得られた画像データに対する第１の周波数解析の結果から求まる交流周波数成分の振幅と、読み取り対象画像を前記読み取り装置にて所定距離離れて読み取ることにより得られる画像データに対する第２の周波数解析の結果から求まる交流周波数成分の振幅と、に基づいて、所定の処理を行うことにより、前記読み取り対象と読み取り装置間との間の距離を検出することを特徴とする距離検出装置としてコンピュータを機能させることを特徴とする距離検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、距離を検出するための、距離検出装置、距離検出装置を備えた読取装置、距離検出方法及び距離検出プログラムに関する。
【背景技術】
【０００２】
物品の管理等の目的でバーコード（ｂａｒｃｏｄｅ）が広く普及している。バーコードの利用方法としては、物品に添付或いは印刷されたバーコードを、ユーザが手に持ったバーコード読取装置（以下適宜「バーコードスキャナ」と呼ぶ。）を利用して読み取るという方法が一般的である。
【０００３】
もっとも、バーコード読取装置を利用するにあたり、手元の読み取りたいバーコードラベルではなく、手元から外れた遠くのラベルを予期せずに読み取ってしまう、という問題が生じることがある。
【０００４】
この問題について具体的に説明する。「バーコードラベルの読み取りが可能な距離」は、バーコードスキャナの設計仕様として定義される。もっとも、現実的にはバーコードスキャナとバーコードラベルとの間の距離を正確に測定してデコードの可否を判断したうえで定義しているものではない。現実的なバーコードラベルの読み取りが可能な距離は、有効な強度で照明が届く距離、バーコードスキャナのセンサ上で映像を適切に結像するための光学的（焦点距離や絞り、センサの許容錯乱円径）に有効な焦点の幅（被写界深度）等に依存する。また、さらにバーコードラベルの大きさやバーコードを構成する縞模様一つ一つの幅（最小モジュール幅）によっても、大きく左右されてしまう。
【０００５】
つまり、バーコードスキャナはバーコードラベルまでの距離に関係なく、センサに映った映像がデコードできるか否かによって、結果的に「読み取り可能な距離」が決まる。そして、読み取り可能となるバーコードスキャナとラベルの距離の範囲外は、いわゆるピンボケ状態となるため、「事実上デコードができない距離」となる。
【０００６】
ところで、バーコードスキャナでバーコードラベルを読み取らせる際に、条件によっては、バーコードスキャナ使用者の手元のラベルではなく、テーブルの上のラベルや足元にあるラベルなど、使用者が予期しない離れたラベルを読み取ってしまう可能性があるという問題があった。例えば、バーコードラベルが予想の範囲を外れるほど大きく印刷されている場合であって、想定される読み取り距離から離れていたような場合においては、想定の範囲を超えて読み取りが可能となってしまうというような問題である。
【０００７】
この問題を技術的に解決するために、バーコードスキャナに距離測定用のモジュールを組み込むという方法が考えられる。この距離測定用のモジュールとは、例えば、光学式や超音波式のモジュールである。
【０００８】
このような技術の一例が特許文献１の明細書段落［００１８］及び明細書段落［００３４］等に記載されている。
【０００９】
具体的には、特許文献１に記載のバーコードリーダは、バーコードラベルに記載されたバーコードデータを光学的に読み取る読み取り部と、読み取り部にて光学的に読み取られたバーコードデータを電気信号へ変換する光電変換部と、光電変換部にて変換された電気信号からデータキャラクタ解読を行うデコード部という一般的なバーコードリーダとしての部分を含んでいる。そして、引用文献１のバーコードリーダは、更にバーコードリーダからバーコードラベルまでの距離を測定する距離測定手段である距離センサを含んでいる。そして、距離センサによって測定された距離と、メモリに格納された測定許容距離範囲とを比較することにより、読み取り部にて現在読み取られたバーコードデータが有効なものかどうかを判断する。なお、特許文献１では、距離センサについて、赤外線ＬＥＤとフォトトランジスタとで構成されるものでも良いし、超音波やレーザ光によって測定されるものであっても良い、とも記載されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００６−２０１９２１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述した特許文献１等に記載されているようにバーコードスキャナに距離測定用のモジュールを組み込むという方法を取ることにより、想定外の距離に存在するバーコードを誤って読み取ってしまうという問題の解決につながる。しかし、特許文献１等に記載されているような距離測定用のモジュールを組み込むという方法では、厳密には実際に測定すべき対象物と若干異なる位置の距離を測定しているという点が課題となっていた。また、更に部品数の増加によってバーコードスキャナが大きくなってしまう点やコストが上昇してしまうという点が課題となっていた。
【００１２】
他方、他の距離の測定方法として、バーコードスキャナの照明用光源に距離測定用パルスを混ぜ、映像取得用センサでそのパルス応答の時間差を測定するという方法も考えられる。もっとも、観測しなくてはならない時間が１０−１１秒程度と極めて短い一方で、センサからデータを取得できる時間が１０−３秒程度であるため、データの取得と距離の測定の双方を確実に実現することが困難であった。
【００１３】
このように、バーコードリーダでは、遠くにあるバーコードラベルを誤って読み取ってしまわないようにするために何らかの手段で距離を測定する必要があるにも関わらず、一般的技術ではその合理的解決手段が無かった。
【００１４】
そこで、本発明は、距離測定用の専用モジュールを組み込む必要が無く、且つ、想定外の距離にあるバーコードの読み取りを防止することが可能な、距離検出装置、距離検出装置を備えた読取装置、距離検出方法及び距離検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の第１の観点によれば、読み取り対象画像を読み取り装置にて読み取ることにより得られた画像データに対する第１の周波数解析の結果から求まる交流周波数成分の振幅と、読み取り対象画像を前記読み取り装置にて所定距離離れて読み取ることにより得られる画像データに対する第２の周波数解析の結果から求まる交流周波数成分の振幅と、に基づいて、所定の処理を行うことにより、前記読み取り対象と読み取り装置間との間の距離を検出することを特徴とする距離検出装置が提供される。
【００１６】
本発明の第２の観点によれば、読み取り対象画像を読み取り装置にて読み取ることにより得られた画像データに対する第１の周波数解析の結果から求まる交流周波数成分の振幅と、読み取り対象画像を前記読み取り装置にて所定距離離れて読み取ることにより得られる画像データに対する第２の周波数解析の結果から求まる交流周波数成分の振幅と、に基づいて、所定の処理を行うことにより、前記読み取り対象と読み取り装置間との間の距離を検出することを特徴とする距離検出方法が提供される。
【００１７】
本発明の第３の観点によれば、読み取り対象画像を読み取り装置にて読み取ることにより得られた画像データに対する第１の周波数解析の結果から求まる交流周波数成分の振幅と、読み取り対象画像を前記読み取り装置にて所定距離離れて読み取ることにより得られる画像データに対する第２の周波数解析の結果から求まる交流周波数成分の振幅と、に基づいて、所定の処理を行うことにより、前記読み取り対象と読み取り装置間との間の距離を検出することを特徴とする距離検出装置としてコンピュータを機能させることを特徴とする距離検出プログラムが提供される。
【発明の効果】
【００１８】
本発明によれば、距離測定用の専用モジュールを組み込む必要が無く、且つ、想定外の距離にあるバーコードの読み取りを防止することが可能となる。
【図面の簡単な説明】
【００１９】
【図１−１】本発明の実施形態の基本的構成を表す図である。
【図１−２】本発明の実施形態の読み取り時の光の流れを表す図である。
【図２】本発明の実施形態におけるプロセッサに含まれる機能ブロックの一例を表す図である。
【図３】バーコードの読み取りと焦点位置との関係を表す図である。
【図４−１】本発明の実施形態における周波数解析について説明する図（１／６）である。
【図４−２】本発明の実施形態における周波数解析について説明する図（２／６）である。
【図４−３】本発明の実施形態における周波数解析について説明する図（３／６）である。
【図４−４】本発明の実施形態における周波数解析について説明する図（４／６）である。
【図４−５】本発明の実施形態における周波数解析について説明する図（５／６）である。
【図４−６】本発明の実施形態における周波数解析について説明する図（６／６）である。
【図５】一般的なバーコードラベルの一例を表す図である。
【図６】説明のためにバーコードラベルを模式化したラベルを表す図である。
【図７】図６に表されるラベルを適切な距離にて読み取りを行った場合の受光強度について表す図である。
【図８】図６に表されるラベルを適切な距離にて読み取りを行った場合の受光強度と不適切な距離にて読み取りを行った場合の受光強度を重ね合わせた図である。
【図９】図６に表されるラベルを適切な距離にて読み取りを行った場合の受光強度と不適切な距離にて読み取りを行った場合の受光強度の周波数解析結果を重ね合わせた図である。
【図１０】図９の一部を拡大した図である。
【図１１】説明のためにバーコードラベルを模式化したラベルを表す図である。
【図１２】本発明の実施形態の基本的動作を表すフローチャートである。
【図１３】図１１に表されるラベルを不適切な距離にて読み取りを行った場合の受光強度について表す図である。
【図１４】図１１に表されるラベルを適切な距離にて読み取りを行った場合の受光強度について表す図である。
【図１５】図１１に表されるラベルを適切な距離にて読み取りを行った場合の受光強度と不適切な距離にて読み取りを行った場合の受光強度を重ね合わせた図である。
【図１６】図１１に表されるラベルを適切な距離にて読み取りを行った場合の受光強度と不適切な距離にて読み取りを行った場合の受光強度の周波数解析結果を重ね合わせた図である。
【発明を実施するための形態】
【００２０】
まず、本発明の実施形態の概略を説明する。本発明の実施形態は、概略、バーコードスキャナ（バーコード読み取り機）とバーコードラベルとの距離を、バーコードスキャナのセンサに映るバーコードの映像解析によって測定することを特徴とするというものである。更に本実施形態は、これを実現するために、バーコードスキャナとして機能するためのセンサ以外の、他の特別なセンサを必要としないことを特徴とするというものである。
【００２１】
次に、本発明の実施形態について図面を用いて詳細に説明する。
【００２２】
図１−１及び図１−２には本実施形態であるバーコードスキャナ１００及びバーコードラベル１０６が表される。ここで、図１−１は、もっぱらバーコードスキャナ１００の構成要素の一例を表す図である。図１−２は、更にバーコードスキャナ１００が読み取りを行う際の光路を表す図である。
【００２３】
図１−１及び図１−２を参照すると、本実施形態のバーコードスキャナ１００は、プロセッサ１０１、イメージセンサ１０２、集光レンズ／フィルタ１０３、反射ミラー１０４及び照明光源１０５を含む。加えて、図１−１及び図１−２には、バーコードスキャナ１００の読み取り対象となるバーコードラベル１０６が表されている。
【００２４】
バーコードスキャナ１００の基本的な構成は、一般的なバーコードスキャナの基本構成と同じであり、バーコードスキャナとしての機能を実現するために、イメージを取得するイメージセンサ１０２が含まれてはいるがこれ以外の特別なセンサや物理的な機構等は含まれていない。すなわち、バーコードスキャナ１００には距離取得のためだけの特別な物理的なモジュールは設けられていない。
【００２５】
バーコードスキャナ１００は、プロセッサ１０１の制御によりバーコードラベル１０６を読み取る。具体的には、照明光源１０５がバーコードラベル１０６を照射する。そして、照明光源１０５の照射に基づくバーコードラベル１０６の反射光を反射ミラー１０４が反射させる。そして、反射ミラー１０４による反射光は集光レンズと照射光を適切に通す集光レンズ／フィルタ１０３を通してイメージセンサ１０２により取得される。取得された反射光はプロセッサ１００によりデコードされ、デコード結果は上位装置と通信をするためのラインを介して上位装置に伝達される。
【００２６】
なお、バーコードスキャナ１００の形状によっては反射ミラー１０４を省略することが可能である。また、集光レンズ／フィルタ１０３についても、フィルタが不要であれば、集光レンズだけで実現するようにしても良い。
【００２７】
なお、プロセッサ１０１は、本願発明の「距離検出装置」に相当する。また、バーコードスキャナ１００は、本願発明の「距離検出装置を備えた読取装置」に相当する。
【００２８】
続いて、図２を参照してプロセッサ１０１に含まれる機能ブロックについて説明をする。
【００２９】
図２を参照すると、プロセッサ１０１は、センサ制御部１０１−１、処理部１０１−２、記憶部１０１−３及びデータ送受信部１０１−４を含む。
【００３０】
センサ制御部１０１−１は、イメージセンサ１０２の制御を行う機能と、イメージセンサ１０２によりデータの取得を行う機能を含む。取得されたデータは記憶部１０１−３に格納される。なお、今回の説明において、イメージセンサ１０２は２５６ドットの幅を持つイメージセンサであることを想定して説明をするが、これは説明のための一例に過ぎず、イメージセンサ１０２のドット幅に特に制限はない。
【００３１】
処理部１０１−２は、バーコードスキャナ１００全体を制御する機能を有する。また、処理部１０１−２は、イメージセンサ１０２により取得したデータをセンサ制御部１０１−１から受け取り、記憶部１０１−３に格納に格納する。そして、処理部１０１−２は、記憶部１０１−３に格納したデータと記憶部１０１−３に格納されている「距離・正規化対応表」とに基づいて画像解析等の処理を行い、バーコードスキャナ１００とバーコードラベル１０６との距離を検出する機能も有する。ここで、距離・正規化対応表が具体的にどのようなデータであるのかについては後述する。
【００３２】
記憶部１０１−３は、イメージセンサ１０２より取得したデータを格納する記憶部である。また、記憶部１０１−３は、事前に測定されたデータである距離・正規化対応表も格納する。
【００３３】
そして、バーコードスキャナ１００とバーコードラベル１０６との距離が適切な範囲である場合に、イメージセンサ１０２により取得した画像データを二値化し、更にこの二値化したデータをバーコードの種別に対応してデコードしたデータをデータ送受信部１０１−４に出力する。
【００３４】
データ送受信部１０１−４は、バーコードスキャナ１００と上位装置とがデータを送受信するための機能を有する。データ送受信部１０１−４は、処理部１０１−２から入力したデータを上位装置に送信する。
【００３５】
なお、プロセッサ１０１に含まれる各機能ブロックは、プロセッサ１０１に含まれる図示を省略した演算処理装置が、記憶部１０１−３又は図示を省略した他の記憶部に格納されている本実施形態特有のプログラムに基づいて演算処理を行い、演算処理の結果に基づいて各種のハードウェアを制御することにより実現される。また、プロセッサ１０１に含まれる機能の一部を例えば上位装置等の他の装置により実現するようにしても良い。プロセッサ１０１を用いて構成されている距離検出装置のうちの一部又は全部を、プログラムを用いずに動作するハードウェアによって構成してもよい。
【００３６】
続いて、本実施形態の処理部１０１−２における、バーコードスキャナ１００とバーコードラベル１０６との距離の検出方法について詳細に説明する。
【００３７】
本実施形態では、バーコードスキャナ１００のイメージセンサ１０２が読み込んだ映像から、その映像に基づいた光の受光強度分布を分析し、周波数解析（例えば、フーリエ変換）することによって、バーコードスキャナ１００とバーコードラベル１０６との距離を取得する処理も行う。
【００３８】
より詳細には、本実施形態では、イメージセンサ１０２に映し出されて、イメージセンサ１０２が読み込んだ映像を周波数解析したものと、イメージセンサに映し出されて、イメージセンサ１０２が読み込んだ映像をデコードのために二値化したものを周波数解析したものとを比較することによって、バーコードスキャナ１００とバーコードラベル１０６との距離を取得する処理を行う。
【００３９】
この点、［課題を解決するための手段］の欄で述べたように一般的な技術では、厳密には実際に測定すべき対象物であるバーコードラベルと若干異なる位置とバーコードスキャナとの間の距離を測定している点に加え、部品数増加によってバーコードスキャナが大きくなってしまう点やコストが上昇してしまう点が課題となっていた。
【００４０】
しかし、本実施形態のこの手段を用いれば、距離測定対象をバーコードラベルそのものとすることができる。更に本実施形態であれば、一般的なバーコードスキャナの構成品のままで、距離の測定を実現できる。すなわち、本実施形態では一般的な技術が抱えていた課題を解決することが可能となる。
【００４１】
なお、周波数解析にかける周波数領域のデータを読み取り画像データから得るためにはフーリエ変換を用いても良い。特に、高速化のためには、高速フーリエ変換（ＦＦＴ：Fast Fourier Transform）を用いても良い。
【００４２】
ここで、本実施形態の基本原理について図３を参照して説明する。
【００４３】
まず前提として、バーコードスキャナ１００の光学的焦点位置にあるバーコードラベル１０６と比較して、バーコードラベル１０６が焦点位置から離れると、バーコードスキャナ１００のイメージセンサに映る映像がぼける。これを表すのが図３上段に表される３０１〜３０３である。
【００４４】
バーコードラベル１０６は中間色の無い二色の部分（例えば、白部と黒部）によって実現される。そして、バーコードラベル１０６が適切な焦点位置にある場合には３０１のように白部と黒部の境界は明確である。しかし、バーコードラベル１０６が適切な焦点位置からやや離れると３０２のようにバーコードスキャナ１００のイメージセンサに結像した映像がぼけた状態となる。また、３０２より更に離れた場合には３０３に表されるように、映像が３０２よりも更にぼけた状態となる。
【００４５】
そして、バーコードスキャナ１００のイメージセンサに結像した映像がぼけていない状態である場合には、バーコードスキャナ１００のイメージセンサでの受光強度は、バーコードの白・黒の境界部で急峻に又はステップ状に変化するようになる。これに対して、バーコードスキャナ１００のイメージセンサに結像した映像がぼけた状態となった場合には、バーコードスキャナ１００のイメージセンサでの受光強度は、バーコードの白・黒の境界部でなだらかに変化するようになる。これを表すのが図３の３０４〜３０６である。バーコードラベル１０６が適切な焦点位置にあり、読み取り画像３０１を得られる場合には、反射率の変化する箇所、すなわちバーコードの白・黒の境界部が明確である（すなわち、境界部での変化が急峻又はステップ状である）波形データ３０４が得られる。これに対して、バーコードラベル１０６が適切な焦点位置から離れて、読み取り画像３０２を得る場合には、反射率の変化する箇所、すなわちバーコードの白・黒の境界部が不明確である（すなわち、境界部での変化がなだらかである）波形データ３０５が得られる。バーコードラベル１０６が適切な焦点位置から更に離れて、読み取り画像３０３を得る場合には、反射率の変化する箇所、すなわちバーコードの白・黒の境界部が更に不明確である（すなわち、境界部での変化が更になだらかである）波形データ３０６が得られる。このように映像がぼけて白・黒の境界部がなだらかになったものは、バーコードラベル１０６が適切な焦点位置にあるものと比較して、周波数解析すると低周波となる傾向がある。一方で、適切な焦点位置にあるものは、白・黒の境界部が急峻に変化するため、高周波となる傾向がある。すなわち、バーコードラベル１０６が、バーコードリーダからの焦点位置にある場合には、読み取られる波形データは白黒変化部が急峻な矩形データであるので、周波数分析をすると、かなり高次までの高調波を多く含むが、バーコードラベル１０６が、バーコードリーダからの焦点位置からずれた位置にある場合には、読み取られる波形データは、白黒変化部がなだらかな矩形データであるので、周波数分析をすると、低い次数の高調波までしか含まないこととなる。
【００４６】
本実施形態では、これらの、画像の周波数解析による周波数の偏りとバーコードラベルのバーコードリーダからの距離との関係を、その距離毎に、予め調べておき、距離・正規化対応表として記憶部１０１−３に格納しておく。そして、センサイメージセンサ１０２の読み取り画像データから得られた波形データをフーリエ変換することにより得られた周波数データにおける交流周波数成分の振幅和を、距離・正規化対応表に含まれる、距離毎の交流周波数成分の振幅和と比較し、最も振幅和が近い周波数データに対応する距離を、実際の距離の推測値として得る。
【００４７】
ここで、比較の前処理となる周波数解析について図４−１〜図４−６を参照して詳細に説明する。
【００４８】
この周波数解析の説明におけるイメージセンサは、横方向に受光素子が１つずつ、計２５６ピクセル並んでいるラインイメージセンサであるものと想定する。そして、各受光素子には、左側から０番、１番・・・２５５番と番号が振られるものと想定する。また、受光強度最大値を１とし、最小値を０とする。
【００４９】
このとき、横軸を受光素子の番号、縦軸を各受光素子の受光強度としたときに、図４−１の様な波形になるものとする。ここで、図４−１の波形は正弦波形である。
【００５０】
また、図４−１の例では、受光素子２５６個に対して１周期分の正弦波形であり、これを波長１と定める。
【００５１】
図４−１の２５６個の受光強度データを周波数解析（ＦＦＴで解析した結果出てくる複素数の値の絶対値を利用）すると、図４−２の様になる。図４−２の周波数解析結果の横軸は
【００５２】
【数１】
0005559393.tif 000002
【００５３】
を示していて、即ち周波数そのものである。図４−２では、横軸０のときに縦軸１２８、横軸１のときに縦軸６４となっている。
【００５４】
なお、一般的には、音波や電波の場合、波長×周波数＝速度という式が成り立つが、本実施形態では、具体的な速度成分や時間成分が存在しないため、上記の式においては、波長×周波数＝定数、とみなし、さらに簡単のために定数＝１としている。
【００５５】
図４−２に現れている、横軸の０とは、直流成分であって、周波数や波長として示されない成分を示している。これは図４−１の波形が正弦波形に対して、＋０．５底上げされた状態のデータが２５６個分の合計値、即ち０．５×２５６＝１２８の成分が表現されていることになる。
【００５６】
図４−２に現れている、横軸１は、上記したように
【００５７】
【数２】
0005559393.tif 000003
【００５８】
であることを示しているので、即ち波長１、周波数１であるということになる。
【００５９】
上述した説明は、波長１／４の場合と波長１／１６の場合も同様に適用できる。
【００６０】
図４−３は、波長１／４（イメージセンサ素子の全体幅に対して波形が４周期分あるという意味）の場合の受光強度分布を表す図である。図４−４は図４−３を周波数解析した結果を表す図である。図４−４を参照すると、図４−１と同様に横軸０のときに縦軸１２８、また、横軸４のところで縦軸６４となる。この横軸の”４”が即ち周波数を示している。
【００６１】
図４−５は波長１／１６の場合の受光強度分布（の一部）を表す図である。図４−６は図４−５を周波数解析した結果を表す図である。図４−６を参照すると、図４−１と同様に横軸０のときに縦軸１２８、また、横軸１６のところで縦軸６４となる。この横軸の”１６”が即ち周波数を示している。
【００６２】
このように、イメージセンサ全体幅で１周期となる周期波形を波長１とし、このときの周波数を１とすると、イメージセンサ受光強度を示す波形データを周波数解析した結果の横軸が周波数であり、縦軸はその周波数成分の強度を示すということである。なお、周波数成分の強度としては、上述したように、ＦＦＴで解析した結果出てくる複素数の値の絶対値である振幅を利用してもよいが、その自乗であるパワーを用いてもよい。
【００６３】
そして、横軸の値が小さいと周波数が「低い」、大きいと周波数が「高い」ということになる。
【００６４】
以下、上述の説明で示した図のデータを表として示す。ここで、表１−１及び表１−２は各波形のセンサ受光強度を表し、表２は各波形のセンサ受光強度を周波数解析した結果を表す。
【００６５】
【表１−１】
0005559393.tif 000004
【００６６】
【表１−２】
0005559393.tif 000005
【００６７】
【表２】
0005559393.tif 000006
【００６８】
なお、上述の説明では、周波数解析のために高速フーリエ変換（ＦＦＴ）を利用している。このため、解析結果の有効データ数は解析元のデータ数の半分となる。つまり、本例では解析元の波形データの数が０〜２５５の２５６個であるから、解析結果の周波数データの有効データ数は０〜１２７までの１２８個となる。
【００６９】
以上が本実施形態における周波数解析の概念である。続いて、具体例を用いた周波数解析及び解析結果に基づいた比較について詳細に説明する。
【００７０】
図５にはバーコードラベル１０６の具体例として、一般的なバーコードラベル５０１を表す。バーコードスキャナ１００を通常使用する際に実際に読み取るのは、バーコードラベル５０１のような一般的なバーコードラベルである。もっとも以下の説明においては、説明を簡単にするために、図６に表されるバーコードラベルを模した等間隔に縦筋が描かれたラベル６０１を用いて説明する。
【００７１】
図６のラベル６０１を、バーコードスキャナの光学的な焦点となる位置に配置した場合、イメージセンサ部１０２に適切に結像し、ラベル６０１の白部分は受光強度が高く、黒部分は受光強度が低い状態としてイメージセンサ出力を得ることができる。
【００７２】
説明を簡単にするため、適切な距離にて読み取りを行った場合にイメージセンサ１０２で取得される白部分の受光強度の値をイメージセンサ出力の最大値とする。また、適切な距離にて読み取りを行った場合にイメージセンサ１０２で取得される黒部の受光強度の値を０とする。更に、イメージセンサの受光素子が２５６ピクセルあるものとする。このときにイメージセンサから得られる受光強度の値は、その最大値を１として規格化した場合、横軸をイメージセンサ１０２のピクセルの位置、縦軸を受光強度値として表すと、図７に表される様になる。
【００７３】
次に、図８は図７の一部（４０ピクセル分）を拡大すると共に、バーコードラベルがバーコードスキャナの光学的な焦点となる位置から所定距離だけ離れた位置にある場合の受光強度を重ね合わせた図である。
【００７４】
図８の破線８０１は、バーコードラベルがバーコードスキャナの光学的な焦点となる位置にある場合のイメージセンサ受光強度波形を示す。すなわち、８０１は図７に表された波形を拡大したものである。８０１を参照すると明らかなように受光強度が１の或るピクセルがあり、この或るピクセルに隣接するピクセルでは受光強度が０となっている。このようにバーコードラベルがバーコードスキャナの光学的な焦点となる位置にある場合には、受光強度が１であるか０であるかを正確に測定できることから波形が急峻なものとなっている。
【００７５】
一方で、バーコードラベルがバーコードスキャナの光学的な焦点となる位置に無い場合には図８の実線８０２の様に、白部と黒部の境界がなだらかな曲線となる。これは境界付近の受光強度が１又は０以外の値を取り、なだらかに変化していくからである。この例では、値が０であるピクセルと値が１であるピクセルとの間には、値が０よりも大きくて、１よりも小さいピクセルが６個程度ある。
【００７６】
次に、図９は前述のバーコードラベルがバーコードスキャナの光学的な焦点となる位置にある場合と、バーコードラベルがバーコードスキャナの光学的な焦点となる位置から所定距離だけ離れた位置にある場合について、受光強度波形（図８の破線８０１の波形及び実線８０２の波形に相当）について、それぞれ高速フーリエ変換による周波数解析を行った結果を重ねたものである。破線９０１がイメージセンサ強度波形を二値化した波形（図８の破線８０１の波形に相当）を周波数解析したもの、実線９０２がイメージセンサ強度（図８の実線８０２の波形に相当）を周波数解析したものである。
【００７７】
図１０は図９の枠９０３を拡大して得られた、部分拡大グラフである。拡大図においても、破線９０１は、イメージセンサ強度波形を二値化した波形（図８の破線８０１の波形に相当）を周波数解析したもの、実線９０２がイメージセンサ強度（図８の実線８０２の波形に相当）を周波数解析したものである。
【００７８】
図１０を参照すると、バーコードラベル５０１がバーコードスキャナ１００の光学的な焦点から所定距離だけ離れた位置にある場合の周波数解析の結果である周波数・振幅特性（実線９０２を参照）は、バーコードラベル５０１がバーコードスキャナ１００の光学的な焦点となる位置にある場合の周波数解析の結果である周波数・振幅特性（破線９０１を参照）と比較して、全体的に高周波成分の値の振幅が小さくなっていることがわかる。
【００７９】
図７〜図１０に図示された内容に関する表を以下に表す。ここで、表３−１及び表３−２は各波形のセンサ受光強度を表し、表４は各波形のセンサ受光強度を周波数解析した結果を表す。
【００８０】
【表３−１】
0005559393.tif 000007
【００８１】
【表３−２】
0005559393.tif 000008
【００８２】
【表４】
0005559393.tif 000009
【００８３】
表３−１及び表３−２は、イメージセンサ１０２におけるピクセル番号と、各ピクセル番号に対応する受光強度との対応関係を、バーコードラベル５０１がバーコードスキャナ１００の光学的な焦点位置にある場合と、バーコードラベル５０１がバーコードスキャナ１００の光学的な焦点距離にない場合とについて、比較できるように、並べて示した表である。
【００８４】
表４は、周波数領域における周波数番号と、各周波数番号に対応する振幅との対応関係を、バーコードラベル５０１がバーコードスキャナ１００の光学的な焦点位置にある場合と、バーコードラベル５０１がバーコードスキャナ１００の光学的な焦点距離にない場合とについて、比較できるように、並べて示した表である。
【００８５】
上記の表４に表されるように周波数解析結果の違いを定量的に示すために、それぞれの周波数解析結果を表に並べた後、周波数解析結果の値の合計値を比較する。すなわち、上述の例で言うと、周波数番号１に対応する振幅から周波数番号１２７に対応する振幅までの合計値を、それぞれの場合について求め、これにより得た２つの合計値を比較する。比較としては、例えば、焦点位置にあるかどうかがわからない場合に対応する合計値の、焦点位置にある場合に対応する合計値に対する割合を求めることを行う。
【００８６】
すると、バーコードラベルが焦点位置にある場合に対応するセンサ合計値（「合計値１」とする）と、バーコードラベルが焦点位置から所定距離だけ離れた位置にある場合に対応する合計値（「合計値２」とする）とを比較すると、合計値２は、合計値１に対して、約２１．９％小さいことがわかる。
【００８７】
もっとも、この周波数解析結果の合計値そのものや、合計値の比較結果そのものを用いて、バーコードラベルがバーコードスキャナ１００の焦点距離から離れた位置にあるか否かを判断することや、離れている場合にはどれだけ離れた位置にあるかということを判断することを簡単に行うことはできない。
【００８８】
そのため本実施形態では、事前に、バーコードラベルとバーコードスキャナ１００との間の距離を複数設定し、設定した各距離毎に、その距離だけバーコードラベルとバーコードスキャナ１００とが離れている場合に得られる周波数解析値の合計値（つまり、周波数毎の振幅を直流以外の周波数について合計した値）を求める。そして、距離と合計値との対応関係を保持しておく。距離には、焦点距離（つまり、適正距離）も含まれる。それから、各距離に対応する合計値と焦点距離に対応する合計値との比率を求める。そして、各距離に対応するこの比率と、焦点距離に対応する合計値と、を事前に記憶部１０１−３に格納しておく。
【００８９】
バーコードスキャナ１００がバーコードを読み取った場合には、その読み取りにより得られた合計値と記憶部１０１−３に記憶されている焦点距離との比率を算出し、算出された比率に最も近い比率を記憶部１０１−３から探し、その最も近い比率に対応する距離を、バーコードを読み取った時の、バーコードスキャナ１００とバーコードとの間の実際の距離として推測する。
【００９０】
上記の例では、比率を用いたが、そうではなく、各距離とその距離に対応する合計値との対応関係を複数の距離について、事前に記憶部１０１−３に格納しておいて、バーコードスキャナ１００がバーコードを読み取った場合には、その読み取りにより得られた合計値に最も近い合計値を記憶部１０１−３から探し、その最も近い合計値に対応する距離を、バーコードを読み取った時の、バーコードスキャナ１００とバーコードとの間の実際の距離として推測するようにしてもよい。
【００９１】
更に、上記の何れの場合であっても、直流の振幅で各周波数の振幅を正規化してから上記の処理を行うようにするのが好ましい。
【００９２】
なお、距離・正規化対応表を格納するメモリとしては記憶部１０１−３を利用することが考えられるがこれ以外のメモリを利用するようにしても良い。
【００９３】
上記の方法では、予め記憶部１０１−３に、各距離に対応する上述の比率と、焦点距離に対応する合計値と、を格納しておくことや、予め記憶部１０１−３に、各距離とその距離に対応する合計値との対応関係を複数の距離について格納しておくことが必要である。すなわち、事前に測定と計算をして、その計算結果を記憶部１０１−３に格納しておく必要がある。また、上記の方法では、同一のバーコードを読み取る場合には、距離推定の精度を維持できるが、異なったバーコードを読み取る場合には、距離測定の精度を維持できるとは限らない。
【００９４】
これに対して、次に説明する方法を用いると、記憶部１０１−３に何かしらのデータを記憶しておく必要がなくなり、１回のバーコードの読み取り操作により得られたバーコード画像自体から、バーコードがバーコードスキャナ１００の焦点位置にあるか否かを判断することができる。つまり、バーコードを読み取る度に、その読み取りの時に得られたバーコード画像から、バーコードがバーコードスキャナ１００の焦点位置にあるか否かを判断することができる。
【００９５】
すなわち、その方法では、バーコードスキャナでバーコードラベルをデコードする際に、必ず存在する、「受光強度波形を二値化する工程」により得られた二値化データを利用する。
【００９６】
そして、この二値化工程で得られた二値化データを仮想の理想的な波形データ（バーコードラベルが焦点位置にある場合の波形データ）であるとみなす。そして、この二値化データを周波数解析する。他方では、二値化する前の元のバーコード画像も周波数解析する。そして、これらの２つの周波数解析の結果を利用して、バーコードがバーコードスキャナ１００の焦点位置にあるか否かを判断する。
【００９７】
これにより、バーコードラベルがバーコードスキャナ１００の焦点位置にあると想定される場合の周波数解析結果と、バーコードラベルがバーコードスキャナ１００の焦点位置にあるか否かが不明である場合の周波数解析結果とを用いて、バーコードラベルが実際にバーコードスキャナ１００の焦点位置にあるか否かを判断し、また、焦点位置になければ、どれだけ焦点距離から離れた位置にあるかを求めることができる。
【００９８】
より詳細に説明をすると、一方では、読み取ったバーコード画像を二値化する前のデータを周波数解析することにより得られた全ての交流周波数の振幅の和（「二値化前振幅和」という。）を求め、他方では、読み取ったバーコード画像を二値化した後のデータを周波数解析することにより、全ての交流周波数の振幅の和（「二値後前振幅和」という。）を求める。そして、二値化前振幅和の二値化後振幅和に対する比率を算出する。算出された比率が１００％から所定の範囲にあれば、バーコードは、バーコードスキャナ１００の焦点位置にあると判断する。また、バーコードの位置とバーコードスキャナ１００の焦点位置との間の距離と、二値化前振幅和の二値化後振幅和に対する比率との関係に関する既存のデータがあるならば、このデータを参照することにより、現在読み取ったバーコードから得た比率を基に、現在読み取ったバーコードがバーコードスキャナ１００の焦点位置からどれだけ離れた位置にあるかを推定することができる。
【００９９】
尚、参考までに、周波数解析結果の合計値そのもの、あるいは理想波形との差から算術的に距離を決定するような通常の方法では、バーコードのバーコードスキャナ１００に対する距離を精度良く求めることが難しい理由について次に説明をする。すなわち、バーコードスキャナのレンズの焦点距離、レンズの性能、光学的なＦ値、イメージセンサの許容錯乱円径（画素の大きさ）、バーコードラベルの焦点が合う距離、バーコードスキャナから照射する照明の強度など、バーコードスキャナそのものの設計仕様に、通常の方法により求めたバーコードのバーコードスキャナ１００に対する距離が、依存するため、通常の方法により、そのような距離を算出してもその距離精度を高めることができないのである。つまり、周波数解析結果の合計値そのものや理想波形との差は、バーコードスキャナの種別に左右されるため、複数の種類のバーコードスキャナに一律に適用できる所定の基準を設けた上で、通常の方法で距離を求めることが難しい。
【０１００】
続いて、図１２を参照して本実施形態の動作について説明する。図１２は、本実施形態の基本的動作を表すフローチャート且つイメージ図である。なお、今回の動作は、図５のラベル５０１のような一般的なバーコードラベルを読み取る場合を想定した動作の例である。もっとも説明を単純化するために、実際のラベルを模した図１１のラベル１００１を用いる。
【０１０１】
まず、バーコードスキャナ１００の読み取り処理が開始される（ステップＳ１１）。読み取り対象となるバーコードのイメージ図をフローチャート中のステップＳ１１と併記する。
【０１０２】
次に、バーコードスキャナ１００内の各部が協働することによりバーコードラベルがイメージセンサ１０２に結像する（ステップＳ１２）。なお、バーコードラベルを模式化したラベルのイメージ図をフローチャート中のステップＳ１２と併記する。
【０１０３】
そして、イメージセンサ制御部１０１−１はイメージセンサ１０２から受光強度を示す波形を有するバーコード画像データを取得する。取得したバーコード画像データは処理部１０１−２が記憶部１０１−３に格納する（ステップＳ１３）。なお、センサ受光強度を示す波形を有するバーコード画像データの模式的な波形図をフローチャート中のステップＳ１３と併記する。
【０１０４】
次に、ステップＳ１３にて取得した二値化前バーコード画像データを二値化することにより二値化後バーコード画像データを取得する（ステップＳ１４）。二値化後バーコード画像データの波形の模式的な波形図をフローチャート中のステップＳ１４と併記する。
【０１０５】
このとき、バーコード１０６がバーコードスキャナ１００の光学的な焦点位置からずれているのであれば、焦点があわずにイメージセンサ−１０２にはバーコードラベル１０６が不鮮明に映り、これにより二値化前バーコード画像データの白黒境界部がなだらかになる。例えば、図１１のラベルに対して、イメージセンサ１０２には図１３のような受光強度波形が得られたものと想定する。なお、図１３における数値は規格化（最大値を１とする。）したものとする。
【０１０６】
図１３の二値化前バーコード画像データの波形は若干白・黒の境界部がなだらかになっている。この図１３にその波形が示されている二値化前バーコード画像データを二値化することにより得られた二値化後バーコード画像データの波形を表すのが図１４である。
【０１０７】
また、図１３と図１４にそれぞれ表されていた二値化前バーコード画像データと二値化後バーコード画像データの波形を重ねて、更に、その一部を拡大することにより得た部分拡大図が図１５である。図１５中、破線１５０１が二値化後バーコード画像データの波形（図１４に表される波形に相当）であり、実線１５０２が受光強度そのままの二値化前バーコード画像データの波形（図１３に表される波形に相当）である。
【０１０８】
次に、二値化前バーコード画像データを周波数解析する（ステップＳ１６）。これと並行して、二値化後バーコード画像データを周波数解析する（ステップＳ１５）。これらの周波数解析には、例えば、高速フーリエ変換を使用する。なお、それぞれの周波数解析結果のイメージ図をフローチャート中のステップＳ１５及びステップＳ１６と併記する。
【０１０９】
図１６は、ステップＳ１５での周波数解析の結果と、ステップＳ１６での周波数解析の結果とを重ねて示す。破線１６０１は、ステップＳ１５での周波数解析の結果を示し、実線１６０２は、ステップＳ１６での周波数解析の結果を示す。すなわち、破線１６０１は、二値化後バーコード画像データの周波数解析の結果である、周波数・振幅特性を示し、実線１６０２は、二値化前バーコード画像データの周波数解析の結果である、周波数・振幅特性を示す。
【０１１０】
次に、ステップＳ１５で二値化後バーコード画像データを周波数解析することにより得られた全ての交流周波数の振幅の和である、上述した二値化後振幅和と、ステップＳ１６で二値化前バーコード画像データを周波数解析することにより得られた全ての交流周波数の振幅の和である、上述した二値化前振幅和と、を求め、その上で、下記の計算式に従って、両者の差の二値化後振幅和に対する比率（すなわち、正規化差）を求める（ステップＳ１７）。
【０１１１】
正規化差＝差／二値化後振幅和
＝（二値化前振幅和―二値化後振幅和）／二値化後振幅和
一方、ステップＳ１５〜１７の処理と前後して、又は、ステップＳ１５〜１７の処理と平行してステップＳ１８が実施される。
【０１１２】
ステップＳ１８では、ステップＳ１４にて得た二値化後バーコード画像データに対して、バーコードの規格に対応した方法にて、デコードを試みる（ステップＳ１８）。次に、デコードに成功したか否かを確認する（ステップＳ１９）。
【０１１３】
ここで、デコードに成功すれば（ステップＳ１９においてＹｅｓ）、距離を決定する工程であるステップＳ２０にすすむ。
【０１１４】
ここで、記憶部１０１−３には、バーコードのバーコードスキャナ１００に対する距離と、正規化差との対応関係を、想定した複数の距離範囲についてまとめた距離・正規化差対応表が格納されている。ステップＳ２０では、ステップＳ１７で算出した正規化差が、正規化差対応表のどの範囲の正規化差に属しているかを見て、正規化差対応表においてその正規化差範囲に対応する距離範囲を、バーコードのバーコードスキャナ１００に対する実際の距離範囲として推測する（ステップＳ２０）。なお、距離・正規化対応表から得た距離・正規化差対応表のイメージ図をフローチャート中のステップＳ２０と併記する。
【０１１５】
距離・正規化対応表の一例を表５として下記に示す。なお、これは一例に過ぎず、例えば何ｃｍ単位で項目を分けるか、及び、項目を何段階にするか、等は任意に設定することが可能である。
【０１１６】
【表５】
0005559393.tif 000010
【０１１７】
本例では、次の様な結果となる。合計の範囲は０〜１２７番目のデータとする。
・二値化されたデータを周波数解析した結果の合計値（二値化後振幅和）：６．５６０
・受光強度波形そのものを周波数解析した結果の合計値（二値化前振幅和）：４．９２９
・上記の差の比率（正規化差）：１．６３１／６．５６０＝０．２４８６
・前記正規化差と表３を比較することで、バーコードラベル１０６のバーコードスキャナ１００に対する距離範囲は６〜１０ｃｍと分かる。
【０１１８】
なお、ステップＳ２０にて利用する距離・正規化対応表として、バーコードの種類別にそれぞれ事前測定を行っておき、バーコードの種類別にそれぞれ対応した距離・正規化差対応表を用意するようにしても良い。この場合は、ステップＳ１８でデコードした結果から得られたバーコードの種類の情報を用いて、バーコードの種類に応じた距離・正規化差対応表を参照する。このようにすることによって、バーコードの種別に対応できることから、より高い精度で距離の決定が可能となる。
【０１１９】
次に、ステップＳ２０における工程で得られた「距離範囲」に対応した距離（例えば、その距離範囲の最大値、その距離範囲の平均値など）が、読み取りを許可すべき「距離」の許容範囲内にあるか否かを判断する（ステップＳ２１）。ここで、ステップＳ２０における工程で得られた「距離範囲」に対応した距離が、読み取りを許可すべき「距離」の許容範囲内であれば（ステップＳ２１においてＹｅｓ）、ステップＳ１８の工程におけるデコード結果を上位装置に対して出力する（ステップＳ２２）。なお、読み取りを許可すべき「距離」の許容範囲はバーコードスキャナ１００の機能や用途に応じて予め定めておく。
【０１２０】
他方で、ステップＳ１８でのデコードが成功しなかった場合（ステップＳ１９においてＮｏ）、又は、ステップＳ２１における比較を行い、ステップＳ２０における工程で得られた「距離範囲」に対応した距離が許容範囲外の場合（ステップＳ２１においてＮｏ）は、処理を終了し、結果は出力しない。これにより、許容範囲外に位置するバーコードスキャナ１０６を誤って読み取ってしまったような場合であっても、この読み取り結果は上位装置に出力されることは無い。そのため、本実施形態では、距離測定用の専用モジュールを組み込む必要が無く、且つ、想定外の距離にあるバーコードの読み取りを防止することが可能となる、という効果を奏する。
【０１２１】
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【０１２２】
例えば、本実施形態の処理内容を、バーコードスキャナのデコードプログラムの一部の処理として利用するようにしても良い。
【０１２３】
他にも、上述した説明ではバーコードスキャナの読み取り対象として１次元のバーコードを例にしていた。もっとも、上述した説明と同様の考え方で、２次元コードを対象として距離を測定するようにしても良い。
【０１２４】
他にも、上述した本実施形態のプロセッサを、ピントを合わせる機構を更に含むバーコードスキャナと組み合わせ、周波数解析結果の二値化前振幅和が最大となるようにピントを合わせる機構を制御することによって、バーコードスキャナのオートフォーカスを実現するようにしても良い。また、正規化差が許容範囲外の距離に対応する値であれば、正規化差が許容範囲外の距離に対応する値になるまで、オートフォーカスの機構を動作させるようにしてもよい。
【０１２５】
他にも、上述した説明においてはイメージセンサで取得した全てのピクセルのセンサ受光強度を利用して周波数解析を行っていたが、一部のピクセルのセンサ受光強度を利用して周波数解析を行うようにしても良い。また、上述した説明においては周波数解析結果の全ての交流周波数の振幅和を比較していたが一部のみの交流周波数の振幅和を比較するようにしても良い。例えば差異の出やすいと考えられる高周波部分のみを比較するようにしても良い。このようにすることにより演算処理の量を減らすことも可能である。なお、このような比較方法を採用するのであれば、同じ方法にて距離・正規化対応表を作成しておけば良い。
【０１２６】
なお、上記のプロセッサ及びこれを含んだバーコードスキャナは、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記のプロセッサ及びこれを含んだバーコードスキャナにより行なわれる距離測定方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【０１２７】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ(Read Only Memory)、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ(Programmable ROM)、ＥＰＲＯＭ(Erasable PROM)、フラッシュＲＯＭ、ＲＡＭ(random access memory）)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【０１２８】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１２９】
（付記１）  読み取り対象画像を読み取り装置にて読み取ることにより得られた画像データに対する第１の周波数解析の結果と、読み取り対象画像を前記読み取り装置にて所定距離離れて読み取ることにより得られる画像データに対する第２の周波数解析の結果と、に基づいて、所定の処理を行うことにより、前記読み取り対象と読み取り装置間との間の距離を検出することを特徴とする距離検出装置。
【０１３０】
（付記２）  付記１に記載の距離検出装置であって、
読み取り対象画像を前記読み取り装置にて所定距離離れて読み取ることにより得られる画像データは、読み取り対象画像を読み取り装置にて読み取ることにより得られた画像データから得られたものであることを特徴とする距離検出装置。
【０１３１】
（付記３）  付記２に記載の距離検出装置であって、
読み取り対象画像を前記読み取り装置にて所定距離離れて読み取ることにより得られる画像データは、読み取り対象画像を読み取り装置にて読み取ることにより得られた画像データを二値化することにより得られたものであることを特徴とする距離検出装置。
【０１３２】
（付記４）  付記１乃至３の何れか１に記載の距離検出装置であって、
前記所定の処理とは、前記第１の周波数解析の結果から求まる交流周波数成分の振幅と、前記第２の周波数解析の結果から求まる交流周波数成分の振幅と、に基づく処理であることを特徴とする距離検出装置。
【０１３３】
（付記５）  付記４に記載の距離検出装置であって、
前記第１の周波数解析の結果から求まる交流周波数成分の振幅と、前記第２の周波数解析の結果から求まる交流周波数成分の振幅と、に基づく処理とは、前記第１の周波数解析の結果から求まる１以上の交流周波数成分の振幅の和と、前記第２の周波数解析の結果から求まる１以上の交流周波数成分の振幅の和との間の差を、前記第２の周波数解析の結果から求まる１以上の交流周波数成分の振幅の前記和で除することにより得られる正規化差と、読み取り対象画像と前記読み取り装置との間の距離との対応関係を用いた処理であることを特徴とする距離検出装置。
【０１３４】
（付記６）  前記読み取り対象の種別を判定し、判定結果に応じて異なる内容の前記対応関係を用いることを特徴とする付記５に記載の距離検出装置。
【０１３５】
（付記７）  前記画像データを二値化したデータを前記読み取り対象に対応した規則に従いデコードし、前記検出した距離が所定の長さの範囲内である場合に前記デコードの結果を出力するデコード手段を更に備えることを特徴とする付記１乃至６の何れか１に記載の距離検出装置。
【０１３６】
（付記８）  付記１乃至７の何れか１に記載の距離検出装置を備える読み取り装置であって、
前記読み取り対象を読み取ることにより前記画像データを取得する手段と、
前記取得した画像データを前記距離検出装置に供給する手段と、
を備えることを特徴とする読み取り装置。
【０１３７】
（付記９）  読み取り対象画像を読み取り装置にて読み取ることにより得られた画像データに対する第１の周波数解析の結果と、読み取り対象画像を前記読み取り装置にて所定距離離れて読み取ることにより得られる画像データに対する第２の周波数解析の結果と、に基づいて、所定の処理を行うことにより、前記読み取り対象と読み取り装置間との間の距離を検出することを特徴とする距離検出方法。
【０１３８】
（付記１０）  読み取り対象画像を読み取り装置にて読み取ることにより得られた画像データに対する第１の周波数解析の結果と、読み取り対象画像を前記読み取り装置にて所定距離離れて読み取ることにより得られる画像データに対する第２の周波数解析の結果と、に基づいて、所定の処理を行うことにより、前記読み取り対象と読み取り装置間との間の距離を検出することを特徴とする距離検出装置としてコンピュータを機能させることを特徴とする距離検出プログラム。
【０１３９】
（付記１１）  前記読み取り対象を読み取ることにより前記画像データを取得するステップと、
前記取得した画像データを前記距離検出装置に供給するステップと、
読み取り対象画像を読み取り装置にて読み取ることにより得られた画像データに対する第１の周波数解析の結果と、読み取り対象画像を前記読み取り装置にて所定距離離れて読み取ることにより得られる画像データに対する第２の周波数解析の結果と、に基づいて、所定の処理を行うことにより、前記読み取り対象と読み取り装置間との間の距離を検出するステップと、を有することを特徴とする読み取り方法。
【産業上の利用可能性】
【０１４０】
本発明は、バーコードスキャナに好適であるが、それ以外にも測定対象から反射する光の受光強度を測定する用途であれば任意の機器に適用することが可能である。
【符号の説明】
【０１４１】
１００  バーコードスキャナ
１０１  プロセッサ
１０１−１  センサ制御部
１０１−２  処理部
１０１−３  記憶部
１０１−４  データ送受信部
１０２  イメージセンサ
１０３  集光レンズ／フィルタ
１０４  反射ミラー
１０５  照明光源
１０６  バーコードラベル
【要約】
【課題】距離測定用の専用モジュールを組み込む必要が無く、且つ、想定外の距離にあるバーコードの読み取りを防止する。
【解決手段】読み取り対象画像を読み取り装置にて読み取ることにより得られた画像データに対する第１の周波数解析の結果と、読み取り対象画像を前記読み取り装置にて所定距離離れて読み取ることにより得られる画像データに対する第２の周波数解析の結果と、に基づいて、所定の処理を行うことにより、前記読み取り対象と読み取り装置間との間の距離を検出する。
【選択図】図２【図１−１】
0005559393.tif 000011
【図１−２】
0005559393.tif 000012
【図４−１】
0005559393.tif 000013
【図４−２】
0005559393.tif 000014
【図４−３】
0005559393.tif 000015
【図４−４】
0005559393.tif 000016
【図４−５】
0005559393.tif 000017
【図４−６】
0005559393.tif 000018
【図５】
0005559393.tif 000019
【図６】
0005559393.tif 000020
【図７】
0005559393.tif 000021
【図８】
0005559393.tif 000022
【図９】
0005559393.tif 000023
【図１０】
0005559393.tif 000024
【図１１】
0005559393.tif 000025
【図１２】
0005559393.tif 000026
【図１３】
0005559393.tif 000027
【図１４】
0005559393.tif 000028
【図１５】
0005559393.tif 000029
【図１６】
0005559393.tif 000030
【図２】
0005559393.tif 000031
【図３】
0005559393.tif 000032