(57)【特許請求の範囲】
【請求項１】
コード画像を読取口及び結像レンズを通して撮像して撮像データを出力するＣＣＤイメージセンサあるいはＣＭＯＳイメージセンサからなる撮像手段と、
前記コード画像が設けられた被撮像面と適正撮像面との角度を検出する角度検出手段と、
検出された角度に基づいて前記撮像データを補正する補正手段と、
この補正された撮像データに基づいてデコードを行うデコード手段と
を備え、
前記角度検出手段を、ポインタ光源を有し前記被撮像面の該ポインタ光源が照らす位置と前記読取口との間の距離L1（ｍｍ）を下記式（１）により算出する第１の距離測定装置と、当該第１の距離測定装置のポインタとは別のポインタ光源を有し当該別のポインタ光源が照らす位置と前記読取口との間の距離L1´（ｍｍ）を同じく下記式（１）により算出する第２の距離測定装置とを備えて構成し、前記被撮像面と前記適正撮像面との角度β（rad）を下記式（２）に基づいて検出する構成としたことを特徴とする光学的情報読取装置。
L1（L1´）＝｛（L3・tanθ-ｂ）・L2＋a1・L3｝/（b-L3・tanθ）・・・（１）
但し、L2は前記読取口から結像レンズまでの距離（ｍｍ）、L3は結像レンズから撮像手段までの距離（ｍｍ）、a1は光軸の中心から前記第１の距離測定装置又は第２の距離測定装置のポインタ光源までの距離（ｍｍ）、ｂは光軸の中心から前記第１の距離測定装置又は第２の距離測定装置のポインタ光源の撮像手段での結像距離（ｍｍ）、θはポインタ光源と光軸との角度（rad）とする。
β＝tan-1｛（L1-L1´）/A｝・・・（２）
但し、光軸の中心から前記第１の距離測定装置の前記ポインタ光源が前記被撮像面を照らす位置までの距離（ｍｍ）をA1とし、光軸の中心から前記第２の距離測定装置の前記別のポインタ光源が前記被撮像面を照らす位置までの距離（ｍｍ）をA2としたとき、Aは当該距離A1とA2との合計とする。
【請求項２】
前記撮像手段によるコード画像撮像タイミングと前記角度検出手段による角度検出タイミングとは時間的に重ならないようにしたことを特徴とする請求項１記載の光学的情報読取装置。
【請求項３】
前記コード画像は一次元コードであり、前記角度検出手段は一つ以上設けられていることを特徴とする請求項１または２記載の光学的情報読取装置。
【請求項４】
前記コード画像は二次元コードであり、前記角度検出手段は二つ以上設けられていることを特徴とする請求項１または２記載の光学的情報読取装置。
【請求項５】
前記ポインタ光源は、前記撮像手段によるコード画像撮像期間以外の期間に点灯し、前記第１の距離測定装置及び第２の距離測定装置は撮像手段によるコード画像撮像の直前に撮像した前記ポインタ光の位置から距離を測定することを特徴とする請求項１ないし４のいずれかに記載の光学的情報読取装置。
【請求項６】
前記コード画像は一次元コードであり、前記ポインタ光源は２個以上設けられていることを特徴とする請求項１、２、３、５のいずれかに記載の光学的情報読取装置。
【請求項７】
前記コード画像は二次元コードであり、前記ポインタ光源は３個以上設けられていることを特徴とする請求項１、２、４、５のいずれかに記載の光学的情報読取装置。
【請求項８】
前記適正撮像面は前記撮像手段の光軸に直交する平面であることを特徴とする請求項１ないし７のいずれかに記載の光学的情報読取装置。
【請求項９】
前記コード画像は一次元コードであり、前記補正手段は、下記式（３）により前記撮像データである一次元コードの明暗パターンサイズを補正して真の明暗パターンサイズを得ることを特徴とする請求項１、２、３、５、６、８のいずれかに記載の光学的情報読取装置。
Lb＝X2・（L1＋L1´）/｛（L1＋L1´）・cosβ-２（X1＋X2）・sinβ｝・・・（３）
ここで、Lbを真の暗パターンサイズとしたとき、X1、X2は一次元コードの明、暗パターンサイズである。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一次元コードや二次元コードを読み取る光学的情報読取装置に関する。
【０００２】
【従来の技術】
図９には従来の光学的情報読取装置例えばバーコードハンディターミナル（以下ＢＨＴと称する）を概略的に示しており、撮像手段たるＣＣＤラインセンサ１０１及びレンズ１０２などを備えていると共に、図示しないがＣＣＤラインセンサ１０１により撮像した撮像データを２値化する２値化回路や２値化データをデコードするデコード手段などを備えている。このＢＨＴでは、ラベルの適正撮像面はＣＣＤセンサ１０１及びレンズ１０２の光軸１０３に対して直行する平面状態（一点鎖線で示す仮想線Ｔ参照）であり、この適正撮像面Ｔにラベル面が一致すると最も誤差の無い撮像データが得られる。
【０００３】
【発明が解決しようとする課題】
ところが、ラベルが図９に実線Ｊで示すように傾斜状態となることがある。この場合、ＢＨＴでは、バーコードを所定モジュール数のキャラクタ単位でデコードしており、ラベルが適正撮像面Ｔに対して多少の傾きがあっても読取りは可能であった。しかし、それにも限度があり、さらに傾きが大きくなるとモジュール間隔の不均等度合いが大きくなって、読取りができないといった不具合があった。
【０００４】
本発明は上記事情に鑑みてなされたものであり、その目的は、コード画像が設けられた被撮像面が適正撮像面に対して傾斜している場合でもコード画像を良好に読み取ることができる光学的読取装置に関する。
【０００５】
【課題を解決するための手段】
請求項１の発明においては、角度検出手段により、コード画像が設けられた被撮像面と適正撮像面との角度を検出し、補正手段により、前記検出された角度に基づいて撮像データを補正する。そして、デコード手段は、この補正された撮像データに基づいてデコードを行う。従って、被撮像面が適正撮像面に対して傾斜していても、コード画像を良好に読み取ることができる。
また、前記角度検出手段は、それぞれポインタ光源を有する第１および第２の距離測定装置を備え、これらの距離測定装置が前記式（１）から複数の前記距離L1、L1´を求めるから、撮像手段（ＣＣＤイメージセンサあるいはＣＭＯＳイメージセンサ）の画素のピッチなど既知の値に基づいて前記距離L1、L1´を求めることができ、そして、この複数の距離L1、L1´を用いて、式（２）から前記被撮像面と適正撮像面との角度βを検出することができる。この複数の距離L1、L1´に基づいて前記角度βを検出するから、角度検出精度が高い。また、ポインタ光源を備えて被撮像面におけるこのポインタ光の位置に基づいて前記距離L1、L1´を求めるから距離測定精度が高い。
【０００６】
この場合、撮像手段によるコード画像撮像タイミングと角度検出手段による角度検出タイミングとは時間的に重ならないようにしても良く（請求項２の発明）、このようにすると、コード画像撮像と角度検出制御とを一つのマイコンなどの制御手段で行う場合に制御が比較的楽となる。
【０００７】
また、コード画像としては一次元コードでも二次元コードでも良く、一次元コードであるときには角度検出手段は一つ以上であれば良く（請求項３の発明）、二次元コードであるときには角度検出手段は二つ以上であれば良い（請求項４の発明）。
【００１０】
この場合、ポインタ光源を、撮像手段によるコード画像撮像期間以外の期間に点灯させることにより（請求項５の発明）、正確に距離を測ることができる。つまり、コード画像を撮像するについては、コード画像に照明光を当てるが、この撮像時に、距離測定を行うべくポインタ光源が点灯されると、その照明光がポインタ光源のポインタ光の位置を不鮮明にしてしまうおそれがある。しかるに上記構成によると、ポインタ光が不鮮明になることがなく、距離を正確に測ることができるようになる。
【００１１】
そして、距離測定手段は撮像手段によるコード画像撮像の直前に撮像したポインタ光の位置から距離を測定するようにしても良く（同請求項５の発明）、このようにすると、最新の距離測定値ひいては最新の角度検出結果を用いて撮像データの補正およびデコードを行うことができる。
【００１２】
また、コード画像が一次元コードであるときには、ポインタ光源は２個以上設けると良く（請求項６の発明）、コード画像が二次元コードのときには、ポインタ光源は３個以上設けると良い（請求項７の発明）。さらに、適正撮像面は撮像手段の光軸に直交する平面であると良い（請求項８の発明）。
また、前記コード画像は一次元コードであり、前記補正手段は、下記式（３）により前記撮像データである一次元コードの明暗パターンサイズを補正して真の明暗パターンサイズを得るようにしても良い（請求項９の発明）。
Lb＝X2・（L1＋L1´）/｛（L1＋L1´）・cosβ-２（X1＋X2）・sinβ｝・・・（３）
ここで、Lbを真の暗パターンサイズとしたとき、X1、X2は一次元コードの明、暗パターンサイズである。
【００１３】
【発明の実施の形態】
以下、本発明をＢＨＴに適用した第１の実施例につき図１ないし図６を参照して説明する。図２に示すＢＨＴ１は、手持ち可能なケース２を主体とするものであり、そのケース２には、多数のスイッチ３、液晶表示器４などが設けられている。また、ケース２内にはプリント配線基板５が配設されており、このプリント配線基板５の一方の面に前記キースイッチ３群及び液晶表示器４などが取り付けられ、他方の面に撮像手段としてのＣＣＤイメージセンサからなるＣＣＤラインセンサ６及び結像レンズ７などが取り付けられている。
【００１４】
ケース２の前面開口部は読取口８とされ、この読取口８の近くに位置するようにしてケース２内に配設されたプリント配線基板９には、その中央に形成された孔９ａの周囲に位置して照明手段たる照明用ＬＥＤ１０及びこの照明用ＬＥＤ１０に対向して照明用レンズ１１が設けられている。さらにこのプリント配線基板９には、距離測定用のポインタ光源１２ａ、１２ｂが左右１対設けられている。そして、読取口８と結像レンズ７との間には、反射ミラー１３が設けられている。
【００１５】
図１はＢＨＴ１の電気的なブロック構成を光学的な概略構成と合わせて示すもので、上記のキースイッチ３群、液晶表示器４、ＣＣＤラインセンサ６、照明用ＬＥＤ１０、ポインタ光源１２ａ、１２ｂの他に、制御回路１４、増幅回路１５、２値化回路１６、転送手段としての通信Ｉ／Ｆ回路１７などを備えている。上記制御回路１４はＣＰＵ１８、ＲＯＭ１９、ＲＡＭ２０などを備えたコンピュータシステムとして構成されている。そして、制御回路１４は、キースイッチ３群からの入力信号及びＲＯＭ１９に予め記憶されたプログラムに従って動作し、液晶表示器４、ＣＣＤラインセンサ６、増幅回路１５、２値化回路１６、通信Ｉ／Ｆ回路１７などを制御する。
【００１６】
上記ＣＣＤラインセンサ６は受光素子であるＣＣＤを直線的に配列して構成されている。照明用ＬＥＤ１０の照明光は、バーコードラベルで反射されて読取口８から入射され、さらに、反射ミラー１３で曲げられて結像レンズ７によってＣＣＤラインセンサ６に結像される。そしてＣＣＤラインセンサ６は、結像されたバーコードラベルの画像を、その明暗に応じた電気信号に変換して撮像データ（光学的情報）として蓄積する。このＣＣＤラインセンサ６の撮像データは、走査線信号として増幅回路１５に出力され、増幅回路１５はＣＣＤラインセンサ６から走査線信号を増幅して変換手段としての２値化回路１６に与えられる。
【００１７】
２値化回路１６は、アナログの走査線信号を明暗パターンのデジタル信号に変換し、このデジタル信号は、後述するように、角度検出結果に基づいて、補正されて、記憶手段としてのＲＡＭ２０に記憶される。そして、デコード手段としてのＣＰＵ１８は、ＲＡＭ２０に記憶された補正デジタル信号（バーコード）をＲＯＭ１９に記憶されたデコードアルゴリズムに基づいてデコードし、そのデコードデータをＲＡＭ２０に記憶させると共に、液晶表示器４などで読取完了を表示（報知）し、そして、そのデコードデータを通信Ｉ／Ｆ回路１７から上位機器へ転送する。
【００１８】
さて、前記ＣＰＵ１８は、前記ポインタ光源１２ａとで、距離測定手段たる第１の距離測定装置２１を構成し、ポインタ光源１２ｂとで距離測定手段たる第２の距離測定装置２２を構成している。
【００１９】
距離測定装置２１、２２による距離測定方法について距離測定装置２１を代表して述べる。図３において、
読取口８からバーコードラベル面Ｐまでの距離をL1（ｍｍ）とし、
読取口８から結像レンズ７までの距離をL2（ｍｍ）とし、
結像レンズ７からＣＣＤラインセンサ６までの距離をL3（ｍｍ）とし、
光軸の中心からポインタ光源１２aまでの距離をa1（ｍｍ）とし、
光軸の中心からポインタ光源１２ａがラベル面Ｐに照らす距離をA1（ｍｍ）とし、
光軸の中心からポインタ光源のＣＣＤラインセンサ６での結像距離をｂ（ｍｍ）とし、
ポインタ光源１２ａと光軸との角度をθ（rad）としたとき、
L1は
L1＝｛（L3・tanθ-ｂ）・L2＋a1・L3｝/（b-L3・tanθ）・・・（１）
ここで上記L2、L3、a1、θは既知の値である。また、ｂはＣＰＵ１８により判別できる値である。すなわち、ｂは「画素のピッチ」×「光軸の中心からポインタ光源１２ａのＣＣＤラインセンサ６での結像までの画素数」で表され、上記画素のピッチは既知の値であり、また上記画素数はＣＣＤラインセンサ６からの電気信号をＣＰＵ１８で計測でき、もってｂはＣＰＵ１８により判定できる。これにより、ＣＰＵ１８はL1を求めることができる。
【００２０】
同様にして、図４に示すL1´も距離測定装置２２により測定することができる。そして、上記距離測定装置２１、２２とＣＰＵ１８とにより角度検出手段たる角度検出装置２３が構成されている。この角度検出装置２３によるバーコードラベル面Ｐと適正撮像面（線Ｔで示す）との角度βの検出方法について述べる。前記角度βは
β＝tan-1｛（L1-L1´）/A｝                    ・・・（２）
Aは前記距離測定装置２１におけるA1と、距離測定装置２２におけるA1´とを合計した数値である。
なお、前記A1は図３から容易に理解できるように
A1＝a1＋（L1＋L2）・tanθ
であり、A1´も同様に求められる。
【００２１】
さらに、ＣＰＵ１８は補正手段としても機能する。すなわち、図５に示した傾斜状態のバーコードの黒パターンの部分Ｋの測定値X2を、上記検出した角度βに基づいて補正し、真の長さLb（モジュール数）を求めるものである。
【００２２】
Lb＝X2・（L1＋L1´）/｛（L1＋L1´）・cosβ-２（X1＋X2）・sinβ｝
・・・（３）
ここで、上記X1、X2はＣＣＤラインセンサ６により測定され、そして角度βは既知であるから、長さLbを求めることができる。つまり、撮像データであるバーコードの明暗パターンサイズ（X1やX2）を補正して真の明暗パターンサイズ（LbやLa）を求めることができる。
【００２３】
ここで、ＣＰＵ１８は、図６に示す時間的順序で上述の制御を行なう。すなわち、ＣＰＵ１８は、キースイッチ３群からのバーコード読取りのためのスイッチ入力信号があると、まず、ステップＳ１で示すようにバーコードラベル面Ｐと、適正撮像面Ｔとの角度βを検出する。この角度検出は、前述したようにポインタ光源１２ａ、１２ｂを点灯させて行い、照明用ＬＥＤ１０は点灯させない。
【００２４】
この後、ステップＳ２で示すようにバーコードを撮像して撮像データを取得する。このとき、前記ポインタ光源１２ａ、１２ｂは消灯しておく。次いで、ステップＳ３に示すように撮像データを、角度検出結果に基づいて補正する。そして、ステップＳ４に移行して、前述したように補正撮像データをデコードし、その後、ステップＳ５に示すようにデコードしたデータを上位機器へ転送し、さらに、ステップＳ６に移行して、液晶表示器４に読み取り完了を表示させる。
【００２５】
このように本実施例によれば、角度検出装置２３により、バーコードラベル面Ｐと適正撮像面Ｔとの角度βを検出し、ＣＰＵ１８により、前記検出された角度に基づいて撮像データを補正する。そして、ＣＰＵ１８は、この補正された撮像データに基づいてデコードを行う。従って、バーコードラベル面Ｐが適正撮像面Ｔに対して傾斜していても、コード画像を良好に読み取ることができる。
【００２６】
また、本実施例によれば、ＣＣＤラインセンサ６によるコード画像撮像タイミングと角度検出装置２３による角度検出タイミングとは時間的に重ならないようにしているから、コード画像撮像と角度検出制御とを一つのマイコンなどの制御手段（ＣＰＵ１８）で行う場合に制御が比較的楽となる。
【００２７】
さらに本実施例によれば、角度検出装置２３を、バーコードラベル面Ｐの複数の位置と、予め定められた基準位置である読取口８との各間の距離を測定する距離測定装置２１、２２を備え、この距離測定装置２１、２２により測定された複数の距離L1、L1´の相違に基づいてバーコードラベル面Ｐと適正撮像面Ｔとの角度βを検出するようにしているから、角度検出精度が高くなる。
【００２８】
この場合、距離測定装置２１、２２は、ポインタ光源１２ａ、１２ｂを備え、それぞれ、バーコードラベル面Ｐにおけるこのポインタ光の位置に基づいて距離を測定する構成としているから、距離測定精度が高く、ひいては角度検出精度が高くなる。
【００２９】
さらに、本実施例によれば、ポインタ光源１２ａ、１２ｂを、コード画像撮像期間以外の期間に点灯させるようにしたから、正確に距離を測ることができる。
【００３０】
そして、距離測定装置２１、２２はコード画像撮像の直前に撮像したポインタ光の位置から距離を測定するようにしたから、最新の距離測定値ひいては最新の角度検出結果を用いて撮像データの補正およびデコードを行うことができる。
【００３１】
なお、上記実施例において、一次元コードを例示し、角度検出手段も角度検出装置２３を一つ設けたが、角度検出手段は二つでもよい。すなわち、本発明の第２の実施例として示す図７に示すように、第１の距離測定装置３１の一部を構成するポインタ光源３１ａ、第２の距離測定装置３２の一部を構成するポインタ光源３２ａ、第３の距離測定装置３３の一部を構成するポインタ光源３３ａを、例えば均等配設し、第１の距離測定装置３１と第２の距離測定装置３２とで、角度検出手段たる第１の角度検出装置３４を構成し、第２の距離測定装置３２と第３の距離測定装置３３とで、角度検出手段たる第２の角度検出装置３５を構成している。
【００３２】
これによれば、例えば缶などの円形物品に付設された円弧状のバーコードラベル面の左半分の面の中心C1における接線部分と適正撮像面との角度β１と、右側の半分の面の中心C2における接線部分と適正撮像面との角度β２とを検出でき、もって、円弧状のバーコードラベルのコード画像の撮像データも左右半分づつ補正でき、円弧状バーコードラベルも正確に読み取ることができる。
【００３３】
図８は本発明の第３の実施例を示しており、この実施例においては、コード画像として二次元コードを読取り対象とした光学的情報読取装置であり、概略的に示している。この場合、撮像手段としてＣＣＤイメージセンサからなるＣＣＤエリアセンサ４１を設け、３つのポインタ光源４２ａ、４３ａ、４４ａを設けている。第１のポインタ光源４２ａは第１の距離測定装置４２の一部を構成し、第２のポインタ光源４３ａは第２の距離測定装置４３の一部を構成し、第３のポインタ光源４４ａは第３の距離測定装置４４の一部を構成している。そして、第１の距離測定装置４２と第２の距離測定装置４３とで角度検出手段たる第１の角度検出装置４５を構成し、第２の距離測定装置４３と第３の距離測定装置４４とで別の角度検出手段たる第２の角度検出装置４６を構成している。これにより、二次元コード二次元的な角度を検出できる。なお、角度検出手段は３つ以上でも良い。
【００３４】
なお、距離測定手段としては、超音波型の距離測定装置でも良い。撮像手段としてはＣＣＤイメージセンサに代えてＣＭＯＳイメージセンサでも良い。また、本発明の光学的情報読取装置はＢＨＴに限られず、据付型のものにも適用できる。
【図面の簡単な説明】
【図１】ＢＨＴのブロック図
【図２】ＢＨＴの縦断側面図
【図３】距離測定装置による距離測定方法を説明するための原理図
【図４】角度検出方法を説明するための原理図
【図５】撮像データの補正を説明するための原理図
【図６】バーコード読取り制御のフローチャート
【図７】本発明の第２の実施例を示す図４相当図
【図８】本発明の第３の実施例を示す概略斜視図
【図９】従来例を示す概略構成図
【符号の説明】
６はＣＣＤラインセンサ（撮像手段）、８は読取口、１２ａ、１２ｂはポインタ光源、１４は制御回路、１８はＣＰＵ（補正手段、デコード手段）、２１は第１の距離測定装置（距離測定手段）、２２は第２の距離測定装置（距離測定手段）、２３は角度検出装置（角度検出手段）、３１ａ、３２ａ、３３ａはポインタ光源、３１は第１の距離測定装置（距離測定手段）、３２は第２の距離測定装置（距離測定手段）、３３は第３の距離測定装置（距離測定手段）、３４は第１の角度検出装置（角度検出装置）、３５は第２の角度検出装置（角度検出手段）、４１はＣＣＤエリアセンサ（撮像手段）、４２ａ、４３ａ、４４ａはポインタ光源、４２は第１の距離測定装置（距離測定手段）、４３は第２の距離測定装置（距離測定手段）、４４は第３の距離測定装置（距離測定手段）、４５は第１の角度検出装置（角度検出手段）、４６は第２の角度検出装置（角度検出手段）を示す。
【図１】
0004063021.tif 000002
【図２】
0004063021.tif 000003
【図３】
0004063021.tif 000004
【図４】
0004063021.tif 000005
【図５】
0004063021.tif 000006
【図６】
0004063021.tif 000007
【図７】
0004063021.tif 000008
【図８】
0004063021.tif 000009
【図９】
0004063021.tif 000010