(57)【要約】【課題】搬送システムのコストの増加を抑え、作業効率の低下を防ぎつつ、光学コードの読取処理と読取安定度の判定処理を行うこと。【解決手段】ＣＭＯＳ１１２は、撮像を行う。プロセッサ１２２は、ＣＭＯＳ１１２が撮像した画像データに含まれる光学コードを読取り、光学コードの読取に成功した場合に信号を出力する。また、プロセッサ１２２は、ティーチング時における第１コントラストと、読取成功時における第２コントラストをそれぞれ計算し、第１コントラストに対する第２コントラストの低下率に基づいて読取安定度を判定する。【選択図】図４
2019197492.tif 000002
【特許請求の範囲】
【請求項１】
撮像を行う撮像部と、
前記撮像部が撮像した画像データに含まれる光学コードを読取り、前記光学コードの読取に成功した場合に信号を出力する制御部と、
を具備し、
前記制御部は、
ティーチング時における第１コントラストと、読取成功時における第２コントラストをそれぞれ計算し、
前記第１コントラストに対する前記第２コントラストの低下率に基づいて読取安定度を判定する、
光学的情報読取装置。
【請求項２】
前記制御部は、
前記ティーチング時と前記読取成功時とにおける前記光学コードの画面上の位置の差に応じて前記第１コントラストを補正する、
請求項１に記載の光学的情報読取装置。
【請求項３】
前記制御部は、
前記ティーチング時と前記読取成功時とにおける前記光学コードの画面上の大きさの差に応じて前記第１コントラストを補正する、
請求項１に記載の光学的情報読取装置。
【請求項４】
前記光学コードは、誤り訂正用の処理が施されている二次元コードであり、
前記制御部は、
誤り訂正されたセルパターン数を計数し、
セルパターンの総数に対する前記誤り訂正されたセルパターン数の割合である訂正レベルを計算し、
前記訂正レベルに基づいて読取安定度を判定し、
前記低下率に基づく読取安定度と前記訂正レベルに基づく読取安定度に基づいて最終的な読取安定度を判定する、
請求項１から３のいずれか一項に記載の光学的情報読取装置。
【請求項５】
前記制御部は、
２値化判定で誤ったドット数を計数し、
前記光学コードのドットの総数に対する前記２値化判定で誤ったドット数の割合である欠損率を計算し、
前記欠損率に基づいて読取安定度を判定し、
前記低下率に基づく読取安定度と前記欠損率に基づく読取安定度に基づいて最終的な読取安定度を判定する、
請求項１から３のいずれか一項に記載の光学的情報読取装置。
【請求項６】
撮像を行う撮像部と、
前記撮像部が撮像した画像データに含まれる光学コードを読取り、前記光学コードの読取に成功した場合に信号を出力する制御部と、
を具備し、
前記制御部は、
２値化判定で誤ったドット数を計数し、
前記光学コードのドットの総数に対する前記２値化判定で誤ったドット数の割合である欠損率を計算し、
前記欠損率に基づいて読取安定度を判定する、
光学的情報読取装置。
【請求項７】
撮像部にて撮像を行い、
前記撮像部が撮像した画像データに含まれる光学コードを読取り、
前記光学コードの読取に成功した場合に信号を出力し、
ティーチング時における第１コントラストと、読取成功時における第２コントラストをそれぞれ計算し、
前記第１コントラストに対する前記第２コントラストの低下率に基づいて読取安定度を判定する、
光学的情報読取方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学コードの読取処理及び安定度判定処理を行う光学的情報読取装置及び光学的情報読取方法に関する。
【背景技術】
【０００２】
現在、商品管理や、位置検出等の広範な分野において、光反射率が周囲と異なる記号で情報を表記した一次元コード、二次元コード等の光学コードが利用されている。一次元コードは、バーコード、リニアコード等とも呼ばれ、種々の幅の線条を隣接して直線的に並べてバー部分と空白部分によって英数字等の情報を表現することができ、例えば、ユニバーサルプロダクトコードを表現する。二次元コードは、二次元シンボル等とも呼ばれ、情報を縦横に配置したシンボルであり、情報化密度が高く、一次元コードに比べてより多くの情報を格納できる。なお、ＱＲコード（登録商標、以下同様）は、二次元コードの一種である。
【０００３】
一次元コードや二次元コードといった光学コードを読取るために、コードスキャナ等の光学的情報読取装置が用いられる。光学的情報読取装置は、様々な分野で広く使用されている。例えば、光学的情報読取装置は、搬送システムのビークルと呼ばれる移動体に取り付けられる。この場合、光学的情報読取装置は、ビークルに伴って移動し、所定位置（ステーション）に貼り付けられた光学コードを読取り、読取に成功すると、ビークルのプロセッサにコード情報を出力する。コード情報は、ビークルの減速や停止のトリガとなる。
【０００４】
光学的情報読取装置では、コードラベルの汚れ、印字品質低下、あるいは、光学的情報読取装置の読取窓の汚れ等により、光学コードの読取安定度が低下する。従来から、読取安定度を計測し、読取安定度を示す予知保全情報（ＰＭＩ）を出力する処理が行われている（特許文献１参照）。
【０００５】
光学的情報読取装置が、光学コードの読取可能な段階で、読取安定度が低下していることをユーザに通知することによって、ユーザは、光学的情報読取装置が光学コードの読取をできなくなる前に必要な対策を講じることができ、光学コードが不意に読取不能になる事態を防ぐことができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−５４６４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年、読取安定度の判定をより正確に行うことが求められている。
【０００８】
本発明は、上記の点に鑑みて為されたものであり、読取安定度の判定処理を正確に行うことができる光学的情報読取装置及び光学的情報読取方法を提供する。
【課題を解決するための手段】
【０００９】
本発明に係る光学的情報読取装置は、撮像を行う撮像部と、前記撮像部が撮像した画像データに含まれる光学コードを読取り、前記光学コードの読取に成功した場合に信号を出力する制御部と、を具備し、前記制御部は、ティーチング時における第１コントラストと、読取成功時における第２コントラストをそれぞれ計算し、前記第１コントラストに対する前記第２コントラストの低下率に基づいて読取安定度を判定する。
【００１０】
本発明に係る光学的情報読取方法は、撮像部にて撮像を行い、前記撮像部が撮像した画像データに含まれる光学コードを読取り、前記光学コードの読取に成功した場合に信号を出力し、ティーチング時における第１コントラストと、読取成功時における第２コントラストをそれぞれ計算し、前記第１コントラストに対する前記第２コントラストの低下率に基づいて読取安定度を判定する。
【発明の効果】
【００１１】
本発明によれば、読取安定度の判定処理を正確に行うことができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態１に係るコードスキャナの概略ハードウェア構成を示す図
【図２】本発明の実施の形態１に係るコードスキャナのプロセッサの処理の流れを示すフロー図
【図３】本発明の実施の形態１に係るビークルのプロセッサの処理の流れを示すフロー図
【図４】本発明の実施の形態１に係るコードスキャナの読取安定度の判定処理の流れを示すフロー図
【図５】本発明の実施の形態１に係るコードスキャナの処理の具体例を説明する図
【図６】画像データの明るさが画面の位置によって変わることを説明する図
【図７】画像データの明るさが距離（深度）によって変わることを説明する図
【図８】本発明の実施の形態２に係るコードスキャナの読取安定度の判定処理の流れを示すフロー図
【図９】本発明の実施の形態３に係るコードスキャナの読取安定度の判定処理の流れを示すフロー図
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、各実施の形態では、光学的情報読取装置の一例としてコードスキャナを用いる場合について説明する。また、各実施の形態では、コードスキャナが、工場の天井等に設置された軌道を走行して部品等を搬送するビークル（図示せず）に取り付けられ、所定位置に貼り付けられた光学コードを読取るために使用される場合について説明する。ビークルは、「シャトル」、「搬送車」、「走行台車」、「移動体」等と呼ばれても良い。なお、ビークルは、搬送システムを統括するホストコンピュータ（図示せず）と無線接続している。
【００１４】
（実施の形態１）
実施の形態１では、コードスキャナ１００が二次元コードの読取処理を行うと供に、読取安定度の判定処理を行う場合について説明する。
【００１５】
＜コードスキャナの構成＞
まず、実施の形態１のコードスキャナ１００の概略ハードウェア構成について図１を用いて説明する。コードスキャナ１００は、光学ヘッド部１１０と、デコーダ部１２０と、から構成される。
【００１６】
光学ヘッド部１１０は、レンズ１１１と、固体撮像素子の一例であるＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサ（以下単に「ＣＭＯＳ」という）１１２と、を備える。また、光学ヘッド部１１０は、光源の一例である発光ダイオード（ＬＥＤ）１１３をさらに備える場合もある。
【００１７】
レンズ１１１は、例えば光学レンズであり、光学コードを含む読取対象物の画像を光学ヘッド部１１０に取り入れ、ＣＭＯＳ１１２の撮像エリア上に結像させる。
【００１８】
ＣＭＯＳ１１２は、レンズ１１１が取り入れた読取対象物からの反射光により、読取対象物を撮像し、撮像で得たアナログの画像信号からデジタルの輝度値で表現される画像データを生成してデコーダ部１２０に出力する。
【００１９】
ＬＥＤ１１３は、光を照射し、読取対象物を照明する。これにより、ＣＭＯＳ１１２は、鮮明な画像を撮像できる。
【００２０】
デコーダ部１２０は、第１の入出力インタフェース（第１Ｉ／Ｏ）１２１と、プロセッサ１２２と、ＲＡＭ（Random Access Memory）１２３と、ＲＯＭ（Read Only Memory）１２４と、第２の入出力インタフェース（第２Ｉ／Ｏ）１２５と、を備える。
【００２１】
第１Ｉ／Ｏ１２１は、光学ヘッド部１１０とデコーダ部１２０とがデータ通信を行うためのインタフェースであり、ＣＭＯＳ１１２から出力された画像データは、第１Ｉ／Ｏ１２１を介してプロセッサ１２２に入力される。
【００２２】
プロセッサ１２２は、ＣＭＯＳ１１２及びＬＥＤ１１３の制御、ＣＭＯＳ１１２から第１Ｉ／Ｏ１２１を介して入力される画像データに対するノイズ除去のためのフィルタ処理、デコード準備のためのデータ加工処理、加工後の画像データに含まれる光学コードに対するデコード処理等を行う。なお、デコード処理の詳細については、例えば特開２００５−２５４１７号公報に記載の手法など、公知の任意の手法を採用すればよい。
【００２３】
さらに、プロセッサ１２２は、読取安定度を判定する。そして、プロセッサ１２２は、光学コードの読取結果であるコード情報と、読取安定度の判定結果を表すＰＭＩとを、第２Ｉ／Ｏを介してビークルのプロセッサに出力する。
【００２４】
ＲＡＭ１２３は、ＣＭＯＳ１１２から入力される画像データを一時的に記憶したり、デコード準備のためのデータ加工処理の際にワークメモリとして用いられたり、その他のコードスキャナ１００の動作に必要なデータなど動的に変更するデータを記憶したりする記憶手段である。なお、ＲＡＭ１２３の一部を不揮発性としてもよい。
【００２５】
ＲＯＭ１２４は、コードスキャナ１００を起動させるプログラムなどを記憶する不揮発性の記憶手段である。
【００２６】
第２Ｉ／Ｏ１２５は、プロセッサ１２２とビークルのプロセッサとがデータ通信を行うためのインタフェースであり、プロセッサ１２２から出力されたデコード後のデータ情報は、第２Ｉ／Ｏ１２５を介してビークルのプロセッサに入力される。
【００２７】
＜コードスキャナの処理フロー＞
次に、実施の形態１のコードスキャナ１００のプロセッサ１２２の処理の流れについて、図２を用いて説明する。なお、実施の形態１では、搬送システムの運用を開始する前の、コードスキャナ１００に閾値の設定等を行うティーチング時において、二次元コードの読取処理及びコントラストＣＴの計算が行われている。
【００２８】
プロセッサ１２２は、トリガ信号がオンされたか、または、読取開始要求が入力されるまで待機する（ＳＴ１０１：ＮＯ）。トリガ信号がオンされた、または、読取開始要求が入力された場合（ＳＴ１０１：ＹＥＳ）、プロセッサ１２２は、ＬＥＤ１１３を点灯させ（ＳＴ１０２）、ＣＭＯＳ１１２から入力された画像データの取込を行い（ＳＴ１０３）、ＬＥＤ１１３を消灯させる（ＳＴ１０４）。
【００２９】
そして、プロセッサ１２２は、取り込んだ画像データに含まれる二次元コードからの反射強度を２値化処理し、２値化データをデコードして数桁から数百桁のコード情報に変換し、コード情報を解読する（ＳＴ１０５）。なお、本実施の形態では、画像データ上のコードの位置をコード情報に含めることができる。
【００３０】
プロセッサ１２２は、コード情報を解読できたか否かを判定する（ＳＴ１０６）。コード情報を解読できた場合（ＳＴ１０６：ＹＥＳ）、プロセッサ１２２は、読取処理が完了したことを示す完了通知信号をビークルのプロセッサに出力する（ＳＴ１０７）。
【００３１】
ＳＴ１０７の後、プロセッサ１２２は、読取安定度を判定し（ＳＴ１０８）、所定のデータ（コード情報、コード位置情報、ＰＭＩ等）をビークルのプロセッサに出力し（ＳＴ１０９）、処理を終了する。ビークルのプロセッサは、コード情報に基づいてビークルの位置を把握し、ビークルを減速させ、所定位置に停止させる等の制御を行う。また、コード情報及びＰＭＩは、ビークルからホストコンピュータに転送され、ホストコンピュータのディスプレイに表示される。なお、読取安定度の判定処理の詳細については後述する。
【００３２】
また、上記ＳＴ１０６の判定において、プロセッサ１２２は、コード情報を解読できなかった場合（ＳＴ１０６：ＮＯ）、フローはＳＴ１１０に進む。
【００３３】
ＳＴ１１０において、トリガ信号がオフされていない、かつ、読取停止要求が入力されていない場合には（ＳＴ１１０：ＮＯ）、フローは、ＳＴ１０２に戻る。一方、トリガ信号がオフされた、または、読取停止要求が入力された場合には（ＳＴ１１０：ＹＥＳ）、プロセッサ１２２は、二次元コードの読取処理を完了できなかったこと、すなわち異常が発生したこと示す異常通知信号をビークルのプロセッサに出力し（ＳＴ１１１）、処理を終了する。ビークルのプロセッサは、異常通知信号を入力すると、ビークルを緊急停止させる等の制御を行う。
【００３４】
＜ビークルの処理フロー＞
次に、実施の形態１のコードスキャナ１００が搭載されるビークルのプロセッサの処理の流れについて、図３を用いて説明する。なお、実施の形態１では、フローのスタート時点でビークルが高速に移動しているものとする。
【００３５】
ビークルのプロセッサは、コードスキャナ１００から、コード情報、コード位置情報、ＰＭＩ等を含む所定のデータが入力されるまで待機する（ＳＴ１３１：ＮＯ）。所定のデータが入力された場合（ＳＴ１３１：ＹＥＳ）、プロセッサは、該データの入力が初回の場合には（ＳＴ１３２：ＹＥＳ）、ビークルを減速させる（ＳＴ１３３）。フローはＳＴ１３１に戻る。
【００３６】
また、所定のデータが入力された場合（ＳＴ１３１：ＹＥＳ）、かつ、該データの入力が初回ではない場合には（ＳＴ１３２：ＮＯ）、プロセッサは、二次元コードが画面の中央領域内にあるか否かを判定する（ＳＴ１３４）。
【００３７】
二次元コードが画面の中央領域内に無い場合（ＳＴ１３４：ＮＯ）、フローはＳＴ１３１に戻る。一方、二次元コードが画面の中央領域内に有る場合（ＳＴ１３４：ＹＥＳ）、ビークルを停止させ（ＳＴ１３５）、処理を終了する。
【００３８】
＜読取安定度の判定処理＞
次に、実施の形態１の読取安定度の判定処理（図２のＳＴ１０８）の詳細について図４を用いて説明する。なお、実施の形態１では、ＲＡＭ１２４には、注意閾値Ｌ１及び警告閾値Ｌ２（Ｌ１＞Ｌ２）が予め設定されている。
【００３９】
まず、プロセッサ１２２は、読取成功時における二次元コードのコントラストＣＳを計算する（ＳＴ１５１）。
【００４０】
次に、プロセッサ１２２は、ティーチング時に計算したコントラストＣＴに対するコントラストＣＳの低下率（（ＣＴ−ＣＳ）／ＣＴ）を計算する（ＳＴ１５２）。
【００４１】
次に、プロセッサ１２２は、低下率と、注意閾値Ｌ１及び警告閾値Ｌ２とを比較する（ＳＴ１５３、ＳＴ１５５）。
【００４２】
低下率が、注意閾値Ｌ１以下の場合（ＳＴ１５３：ＹＥＳ）、プロセッサ１２２は、読取安定度が正常レベルと判定してＰＭＩの簡易文字を“Ａ”に設定する（ＳＴ１５４）。また、低下率が、注意閾値Ｌ１より大きく（ＳＴ１５３：ＮＯ）、かつ、警告閾値Ｌ２以下である場合（ＳＴ１５５：ＹＥＳ）、プロセッサ１２２は、読取安定度が注意レベルと判定してＰＭＩの簡易文字を“Ｂ”に設定する（ＳＴ１５６）。また、低下率が警告閾値Ｌ２より大きい場合（ＳＴ１５５：ＮＯ）、プロセッサ１２２は、読取安定度が警告レベルと判定してＰＭＩの簡易文字を“Ｃ”に設定する（ＳＴ１５７）。
【００４３】
プロセッサ１２２は、読取安定度を判定した後、図２のＳＴ１０９において、二次元コードの読取結果であるコード情報と、読取安定度の判定結果であるＰＭＩとを、ビークルのプロセッサに出力する。
【００４４】
なお、上記の説明ではＰＭＩを簡易文字とする場合について説明したが、実施の形態１はこれに限られず、例えば、低下率（（ＣＴ−ＣＳ）／ＣＴ）をＰＭＩとしても良い。この場合、上記図４のＳＴ１５３乃至ＳＴ１５７の処理が不要となる。
【００４５】
また、上記の説明では、二次元コードの読取を例に説明したが、実施の形態１は、一次元コードの読取に対しても適用することができる。
【００４６】
＜コードスキャナ、ビークルの処理例＞
実施の形態１に係るコードスキャナ１００およびビークルの処理の一例について図５を用いて説明する。なお、本例では、Ｘ座標が「２５０以上３５０未満」を中央領域内とする。
【００４７】
ビークルに取り付けられたコードスキャナ１００は、該ビークルの移動に伴って移動する（図５のＡ方向）。
【００４８】
図５において、時刻ｔＴＲにおいてトリガ信号がオンされたとする。その後、コードスキャナ１００は、時刻ｔｊ（ｊは１以上の整数）において、ＬＥＤ１１３を点灯させ、二次元コード４００の読取処理を繰り返し試行し、都度、二次元コード４００の読取に成功したか失敗したかを判定する。
【００４９】
図５において、時刻ｔ１における画面Ｆ１の中、および、時刻ｔ２における画面Ｆ２の中には二次元コード４００が存在しないので、コードスキャナ１００は、コード情報を解読できなかったと判断する（図２のＳＴ１０６：ＮＯ）。この場合、コードスキャナ１００からビークルにはデータが出力されため、ビークルのプロセッサは速度制御を行わない（図３のＳＴ１３１：ＮＯ）。この結果、ビークルの速度は高速に維持される。
【００５０】
そして、時刻ｔ３における画面Ｆ３の中に初めて二次元コード４００が存在し、コードスキャナ１００が二次元コード４００の読取に成功したものとする。すなわち、時刻ｔ３が初回読取成功時となる。この場合、コードスキャナ１００は、読取安定度の判定処理を行い（図２のＳＴ１０８）、コード情報、コード位置情報、ＰＭＩ等を含むデータをビークルに出力する（図２のＳＴ１０９）。図５では、コード位置情報が「（Ｘ，Ｙ）＝（６００，２００）」、コード情報が「２４２５６」、ＰＭＩが「Ｂ」である。データ入力が初回であるため、ビークルのプロセッサは、ビークルを減速させる（図３のＳＴ１３２：ＹＥＳ、ＳＴ１３３）。
【００５１】
また、時刻ｔ４における画面Ｆ４の中に二次元コード４００が存在し、コードスキャナ１００が二次元コード４００の読取に成功したものとする。この場合も、コードスキャナ１００は、読取安定度の判定処理を行い、データをビークルに出力する。図５では、コード位置情報が「（Ｘ，Ｙ）＝（４００，２００）」、コード情報が「２４２５６」、ＰＭＩが「Ａ」である。ビークルのプロセッサは、データ入力が初回ではないため、二次元コードが画面の中央領域内にあるか否かを判定する（図３のＳＴ１３４）。
【００５２】
画面Ｆ４では、二次元コードが画面の中央領域内に無いため（図３のＳＴ１３４：ＮＯ）、ビークルのプロセッサは、新たな速度制御を行わない。この結果、ビークルの減速状態が維持される。
【００５３】
また、時刻ｔ５における画面Ｆ５の中に二次元コード４００が存在し、コードスキャナ１００が二次元コード４００の読取に成功したものとする。この場合も、コードスキャナ１００は、読取安定度の判定処理を行い、データをビークルに出力する。図５では、コード位置情報が「（Ｘ，Ｙ）＝（３２０，２００）」、コード情報が「２４２５６」、ＰＭＩが「Ａ」である。ビークルのプロセッサは、データ入力が初回ではないため、二次元コードが画面の中央領域内にあるか否かを判定する。
【００５４】
画面Ｆ５では、二次元コードが画面の中央領域内にあるため（図３のＳＴ１３４：ＹＥＳ）、ビークルのプロセッサは、ビークルを停止させる（図３のＳＴ１３４：ＹＥＳ、ＳＴ１３５）。
【００５５】
＜効果＞
以上のように、実施の形態１では、ティーチング時と読取成功時におけるコントラストの低下率（相対評価）に基づいて読取安定度を判定する。これにより、読取を行う環境に応じた判定を行うことができるので、固定の閾値と読取成功時におけるコントラストとの比較による評価（絶対評価）に比べて、安定度の判定をより正確に行うことができる。
【００５６】
＜バリエーション１＞
画像データの明るさは画面の位置によって変わり、端部ほど暗くなる。例えば、図６では、画面の中央（ｘ＝０、ｙ＝０）の明るさは「７０．７」であるのに対し、画面の左上端部（ｘ＝−３０、ｙ＝−２０）の明るさは「２４．９」である。このため、ティーチング時における光学コードの位置と、読取成功時における光学コードの位置とのずれ量が大きいほど、コントラストの低下率の精度が落ちる。
【００５７】
そこで、実施の形態１のバリエーション１として、コードスキャナ１００が、ティーチング時と読取成功時とにおける画像データ中の光学コードの位置の差に応じて、ティーチング時に計算したコントラストＣＴを補正し、補正後のコントラストＣＴに対する、コントラストＣＳの低下率（（ＣＴ−ＣＳ）／ＣＴ）を計算しても良い。
【００５８】
これにより、画面の位置による明るさの変化を補正することができるので、読取安定度の判定精度をより向上させることができる。
【００５９】
＜バリエーション２＞
また、光学コード等の画像データの明るさは、コードスキャナ１００と光学コードとの距離（深度）、すなわち画面中の光学コードの大きさによっても変わる。例えば、図６（深度１０１ｍｍ）の画面の中央（ｘ＝０、ｙ＝０）の明るさは「７０．７」であるのに対し、図７（深度１１１ｍｍ）の画面の中央（ｘ＝０、ｙ＝０）の明るさは「５０．３」である。このため、ティーチング時における光学コードの大きさと、読取成功時における光学コードの大きさとのずれ量が大きいほど、コントラストの低下率の精度が落ちる。
【００６０】
そこで、実施の形態１のバリエーション２として、コードスキャナ１００が、ティーチング時と読取成功時とにおける画像データ中の光学コードの大きさの差に応じて、ティーチング時に計算したコントラストＣＴを補正し、補正後のコントラストＣＴに対する、コントラストＣＳの低下率（（ＣＴ−ＣＳ）／ＣＴ）を計算しても良い。
【００６１】
これにより、距離（深度）による明るさの変化を補正することができるので、読取安定度の判定精度をより向上させることができる。なお、レーザ測距を使用して深度を測定してもよい。
【００６２】
（実施の形態２）
実施の形態２では、実施の形態１で説明したものと異なる読取安定度の判定処理について説明する。なお、実施の形態２において、コードスキャナ１００の構成及び処理フローは、実施の形態１と同一であるので、その説明を省略する。
【００６３】
二次元コードには、コードの一部のセルパターンが欠損しても読取ることができるように、コードのパターンニングの際、リードソロモン符号等の誤り訂正用の処理が施されている。これにより、コードスキャナ１００は、二次元コードの一部が欠損しても、全てのコード情報を読取ることができる。このとき、コードスキャナ１００は、誤り訂正を実施するため、誤ったセルパターン数を認識できる。そこで、実施の形態２では、この訂正レベルに基づいて読取安定度の判定処理を行う。
【００６４】
＜読取安定度の判定処理＞
実施の形態２の読取安定度の判定処理の詳細について図８を用いて説明する。なお、実施の形態２では、ＲＡＭ１２４には、注意閾値Ｌ１及び警告閾値Ｌ２（Ｌ１＞Ｌ２）が予め設定されている。
【００６５】
まず、プロセッサ１２２は、誤ったセルパターン数ＣＰＥを計数する（ＳＴ２５１）。
【００６６】
次に、プロセッサ１２２は、二次元コードの最大訂正可能数ＣＰＴに対する、誤ったセルパターンの数ＣＰＥの割合である訂正レベル（ＣＰＥ／ＣＰＴ）を計算する（ＳＴ２５２）。なお、ＣＰＴはセルパターンの総数としてもよい。
【００６７】
次に、プロセッサ１２２は、訂正レベルと、注意閾値Ｌ１及び警告閾値Ｌ２とを比較する（ＳＴ２５３、ＳＴ２５５）。
【００６８】
訂正レベルが、注意閾値Ｌ１以下の場合（ＳＴ２５３：ＹＥＳ）、プロセッサ１２２は、読取安定度が正常レベルと判定してＰＭＩの簡易文字を“Ａ”に設定する（ＳＴ２５４）。また、訂正レベルが、注意閾値Ｌ１より大きく（ＳＴ２５３：ＮＯ）、かつ、警告閾値Ｌ２以下である場合（ＳＴ２５５：ＹＥＳ）、プロセッサ１２２は、読取安定度が注意レベルと判定してＰＭＩの簡易文字を“Ｂ”に設定する（ＳＴ２５６）。また、訂正レベルが警告閾値Ｌ２より大きい場合（ＳＴ２５５：ＮＯ）、プロセッサ１２２は、読取安定度が警告レベルと判定してＰＭＩの簡易文字を“Ｃ”に設定する（ＳＴ２５７）。
【００６９】
なお、上記の説明ではＰＭＩを簡易文字とする場合について説明したが、実施の形態２はこれに限られず、例えば、訂正レベル（ＣＰＥ／ＣＰＴ）をＰＭＩとしても良い。この場合、上記図８のＳＴ２５３乃至ＳＴ２５７の処理が不要となる。
【００７０】
＜効果＞
以上のように、実施の形態２では、二次元コードの訂正レベルにより読取安定度を判定する。これにより、二次元コードのパターン全体の評価に基づいて読取安定度を判定できるので、安定度の判定をより正確に行うことができる。
【００７１】
（実施の形態３）
実施の形態３では、実施の形態１で説明したものと異なる読取安定度の判定処理について説明する。なお、実施の形態３において、コードスキャナ１００の構成及び処理フローは、実施の形態１と同一であるので、その説明を省略する。
【００７２】
二次元コードの２値化データの一部が誤っていても、コードスキャナ１００は、２値化データをデコードして正しいコード情報を得ることができる。また、スキャナ１００は、得られたコード情報を再び２値化データに変換することにより、２値化判定で誤ったドット数を知ることができる。そこで、実施の形態３では、２値化判定で誤ったドットの数に基づいて読取安定度の判定処理を行う。
【００７３】
＜読取安定度の判定処理＞
実施の形態３の読取安定度の判定処理の詳細について図９を用いて説明する。なお、実施の形態３では、ＲＡＭ１２４には、注意閾値Ｌ１及び警告閾値Ｌ２（Ｌ１＞Ｌ２）が予め設定されている。
【００７４】
まず、プロセッサ１２２は、２値化判定で誤ったドット数ＤＥを計数する（ＳＴ３５１）。
【００７５】
次に、プロセッサ１２２は、二次元コードのドットの総数ＤＴに対する、２値化判定で誤ったドット数ＤＥの割合である欠損率（ＤＥ／ＤＴ）を計算する（ＳＴ３５２）。
【００７６】
次に、プロセッサ１２２は、欠損率と、注意閾値Ｌ１及び警告閾値Ｌ２とを比較する（ＳＴ３５３、ＳＴ３５５）。
【００７７】
欠損率が、注意閾値Ｌ１以下の場合（ＳＴ３５３：ＹＥＳ）、プロセッサ１２２は、読取安定度が正常レベルと判定してＰＭＩの簡易文字を“Ａ”に設定する（ＳＴ３５４）。また、欠損率が、注意閾値Ｌ１より大きく（ＳＴ３５３：ＮＯ）、かつ、警告閾値Ｌ２以下である場合（ＳＴ３５５：ＹＥＳ）、プロセッサ１２２は、読取安定度が注意レベルと判定してＰＭＩの簡易文字を“Ｂ”に設定する（ＳＴ３５６）。また、欠損率が警告閾値Ｌ２より大きい場合（ＳＴ３５５：ＮＯ）、プロセッサ１２２は、読取安定度が警告レベルと判定してＰＭＩの簡易文字を“Ｃ”に設定する（ＳＴ３５７）。
【００７８】
なお、上記の説明ではＰＭＩを簡易文字とする場合について説明したが、実施の形態３はこれに限られず、例えば、欠損率（ＤＥ／ＤＴ）をＰＭＩとしても良い。この場合、上記図９のＳＴ３５３乃至ＳＴ３５７の処理が不要となる。
【００７９】
また、上記の説明では、二次元コードの読取を例に説明したが、実施の形態３は、一次元コードの読取に対しても適用することができる。
【００８０】
＜効果＞
以上のように、実施の形態３では、光学コードの欠損率により読取安定度を判定する。これにより、光学コードのパターン全体の評価に基づいて読取安定度を判定できるので、安定度の判定をより正確に行うことができる。
【００８１】
以上説明した実施の形態１乃至３における読取安定度の判定処理は、それぞれ独立して行われるものであるが、本発明では、これらを複数組み合わせて読取安定度を判定してもよい。この場合、読取安定度の信頼性をより向上させることができる。
【００８２】
例えば、実施の形態１で説明したコントラストによる読取安定度を判定した結果が正常レベルであり、実施の形態２で説明した訂正レベルによる読取安定度を判定した結果が注意レベルであった場合、プロセッサ１２２は、判定結果の中で最も悪い注意レベルを、最終的な読取安定度と判定し、ＰＭＩの簡易文字を“Ｂ”に設定する。
【００８３】
なお、上記の各実施の形態では、光学的情報読取装置としてコードスキャナを用いる場合について説明したが、本発明は他の光学的情報読取装置を用いる場合にも適用できる。
【００８４】
また、上記の各実施の形態では、読取安定度を、２つの閾値との大小関係による３段階で評価する場合について説明したが、本発明はこれに限られず、読取安定度を２段階で評価しても良く、４段階以上で評価しても良い。
【００８５】
また、上記の各実施の形態において、光学的情報読取装置が、複数の光学コードに対して読取装安定度の判定を行い、全ての光学コードの読取装安定度が低下している場合には、光学的情報読取自身が劣化したと判定し、警告を通知する信号を、ビークルを介してホストコンピュータに送信しても良い。
【００８６】
また、上記の各実施の形態において、ホストコンピュータが、各ビークルの光学的情報読取装置からＰＭＩを収集し、１つの光学コードに対する複数のＰＭＩが注意レベルあるいは警告レベルであった場合に、当該光学コードが劣化したと判定し、管理者に警告を発し、当該光学コードの位置を知らせるようにしても良い。
【００８７】
また、上記の各実施の形態において、ホストコンピュータが、１つのビークルの光学的情報読取装置から１つの光学コードに対する複数のＰＭＩを収集し、注意レベルあるいは警告レベルの割合が所定値以上であった場合に、当該光学コードが劣化したと判定し、管理者に警告を発し、当該光学コードの位置を知らせるようにしても良い。
【産業上の利用可能性】
【００８８】
本発明は、光学コードの読取処理及び安定度判定処理を行う読取る光学的情報読取装置及び光学的情報読取方法に用いるのに好適である。
【符号の説明】
【００８９】
１００  コードスキャナ
１１０  光学ヘッド部
１１１  レンズ
１１２  ＣＭＯＳ
１１３  ＬＥＤ
１２０  デコーダ部
１２１  第１Ｉ／Ｏ
１２２  プロセッサ
１２３  ＲＡＭ
１２４  ＲＯＭ
１２５  第２Ｉ／Ｏ
【図１】
2019197492.tif 000003
【図２】
2019197492.tif 000004
【図３】
2019197492.tif 000005
【図４】
2019197492.tif 000006
【図５】
2019197492.tif 000007
【図６】
2019197492.tif 000008
【図７】
2019197492.tif 000009
【図８】
2019197492.tif 000010
【図９】
2019197492.tif 000011