(57)【要約】【課題】情報コードがないにも拘らず読取処理を行うといった無駄な時間を生じさせない技術を提供する。【解決手段】情報コード読取装置は、光学センサと、解析処理部と、出力部と、を備える。光学センサは、読取対象から光学情報を取得し、当該光学情報に応じた信号を出力する。解析処理部は、光学センサが出力する信号に基づいて、読取対象内における情報コードの有無を判定する。出力部は、解析処理部での判定結果を出力する。情報コード読取方法は、取得制御ステップと、解析処理ステップと、出力処理ステップと、を備える。取得制御ステップでは、読取対象から光学情報を取得し、当該光学情報に応じた信号を出力する。解析処理ステップでは、取得制御ステップで出力される信号に基づいて、読取対象内における情報コードの有無を判定する。出力処理ステップでは、解析処理ステップでの判定結果を出力する。【選択図】図２
2020135358.tif 000002
【特許請求の範囲】
【請求項１】
読取対象から光学情報を取得し、当該光学情報に応じた信号を出力する光学センサと、
前記光学センサが出力する前記信号に基づいて、前記読取対象内における情報コードの有無を判定する解析処理部と、
前記解析処理部での判定結果を出力する出力部と、
を備える、情報コード読取装置。
【請求項２】
前記解析処理部は、
前記光学センサが出力する前記信号を用いて、前記読取対象内に含まれるエッジを抽出し、
抽出した前記エッジの総数が第１閾値以下又は第２閾値以上であった場合に、前記読取対象内に前記情報コードがないと判定する、請求項１に記載の情報コード読取装置。
【請求項３】
前記解析処理部は、
前記光学センサが出力する前記信号に含まれる波を、その高低差及び幅に基づいて抽出し、
抽出した前記波の総数を用いて、前記読取対象内に含まれるエッジの総数を算出し、
算出した前記エッジの総数が第１閾値以下又は第２閾値以上であった場合に、前記読取対象内に前記情報コードがないと判定する、請求項１に記載の情報コード読取装置。
【請求項４】
複数の読取対象に対して前記情報コードの読取りを順に行う請求項１〜３の何れかに記載の情報コード読取装置であって、
前記読取対象内に前記情報コードがないと前記解析処理部が判定した場合、その判定結果を前記出力部から出力し、且つ、その読取対象に対する読取りを停止する、情報コード読取装置。
【請求項５】
前記解析処理部は、前記読取対象内に前記情報コードがあると判定した場合、更に、その判定に用いた前記信号に対するデコードを行い、そのデコードに成功したのか否かを判断する、請求項１〜４の何れかに記載の情報コード読取装置。
【請求項６】
読取対象から光学情報を取得し、当該光学情報に応じた信号を出力する取得制御ステップと、
前記取得制御ステップで出力される前記信号に基づいて、前記読取対象内における情報コードの有無を判定する解析処理ステップと、
前記解析処理ステップでの判定結果を出力する出力処理ステップと、
を備える、情報コード読取方法。
【請求項７】
読取対象から光学情報を取得し、当該光学情報に応じた信号を出力する取得制御ステップと、
前記取得制御ステップで出力される前記信号に基づいて、前記読取対象内における情報コードの有無を判定する解析処理ステップと、
前記解析処理ステップでの判定結果を出力する出力処理ステップと、
を情報コード読取装置に実行させる、情報コード読取プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーコードなどの情報コードを読み取る技術に関する。
【背景技術】
【０００２】
情報コード読取装置には、バーコードなどの１次元コードを読み取る１次元コードリーダや、ＱＲコード（登録商標）などの２次元コードを読み取る２次元コードリーダが存在する。これらのコードリーダは、１次元コードや２次元コードなどの情報コードから光学情報を取得する光学センサ（撮像素子など）を備え、当該光学センサから出力される電気信号（アナログ信号）をデジタル信号に変換し、そのデジタル信号をデコードすることにより、情報コードを読み取る（例えば、特許文献１参照）。
【０００３】
このような情報コード読取装置は、例えば、製造工場において商品の出荷チェックを行うラインなどで、当該ラインを流れてくる商品に付された情報コードの読取りに用いられる。そして、このような製造工場のラインなどでは、近年、情報コードの読取りが自動化されつつある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−５１２０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来の情報コード読取装置は、デジタル信号をデコードできなかった場合には、所定時間が経過するまで読取りのリトライを繰り返し、それでもデコードできなかった場合に読取りを停止していた。このため、自動化されたラインでは、情報コードの貼忘れや印刷漏れなどが原因で商品に情報コードが付されておらず、作業者から見れば、情報コードがなくて読取りできないことが明らかな場合であっても、その商品に対する読取りが実行されてしまい、所定時間が経過するまで読取りのリトライが繰り返されていた。そして、このように情報コードがないにも拘らず読取りのリトライを繰り返すといった無駄な時間は、作業効率の低下を招く。
【０００６】
そこで本発明の目的は、情報コードがないにも拘らず読取処理を行うといった無駄な時間を生じさせない技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明に係る情報コード読取装置は、光学センサと、解析処理部と、出力部と、を備える。光学センサは、読取対象から光学情報を取得し、当該光学情報に応じた信号を出力する。解析処理部は、光学センサが出力する信号に基づいて、読取対象内における情報コードの有無を判定する。出力部は、解析処理部での判定結果を出力する。
【０００８】
上記情報コード読取装置によれば、光学センサが出力する信号に基づいて情報コードの有無が判定されるために、読取処理の開始後の早い段階で、情報コードを読み取るための処理（デコードなど）を実行すべきか否かを決定することが可能になる。
【０００９】
上記情報コード読取装置において、解析処理部は、光学センサが出力する信号を用いて、読取対象内に含まれるエッジを抽出し、抽出したエッジの総数が第１閾値以下又は第２閾値以上であった場合に、読取対象内に情報コードがないと判定してもよい。この構成によれば、光学センサが出力する信号を用いた簡単なデータ解析で、読取対象内における情報コードの有無を判別できる。
【００１０】
上記情報コード読取装置において、解析処理部は、光学センサが出力する信号に含まれる波を、その高低差及び幅に基づいて抽出し、抽出した波の総数を用いて、読取対象内に含まれるエッジの総数を算出し、算出したエッジの総数が第１閾値以下又は第２閾値以上であった場合に、読取対象内に情報コードがないと判定してもよい。この構成においても、光学センサが出力する信号を用いた簡単なデータ解析で、読取対象内における情報コードの有無を判別できる。
【００１１】
上記情報コード読取装置は、複数の読取対象に対して情報コードの読取りを順に行うものであってもよい。この場合、情報コード読取装置は、読取対象内に情報コードがないと解析処理部が判定した場合、その判定結果を出力部から出力し、且つ、その読取対象に対する読取りを停止してもよい。この構成によれば、解析処理部において、読取対象内に情報コードがあると判定された場合にのみ、当該情報コードを読み取るための処理（デコードなど）が更に実行される。
【００１２】
上記情報コード読取装置において、解析処理部は、読取対象内に情報コードがあると判定した場合、更に、その判定に用いた信号に対するデコードを行い、そのデコードに成功したのか否かを判断してもよい。この構成によれば、情報コードを読み取ることができない原因を、読取対象内に情報コードがない場合と、読取対象内に情報コードはあるが、何らかの理由でそれを読み取ることができない場合と、に判別できる。
【００１３】
本発明に係る情報コード読取方法は、取得制御ステップと、解析処理ステップと、出力処理ステップと、を備える。取得制御ステップでは、読取対象から光学情報を取得し、当該光学情報に応じた信号を出力する。解析処理ステップでは、取得制御ステップで出力される信号に基づいて、読取対象内における情報コードの有無を判定する。出力処理ステップでは、解析処理ステップでの判定結果を出力する。
【００１４】
本発明に係る情報コード読取プログラムは、取得制御ステップと、解析処理ステップと、出力処理ステップと、を情報コード読取装置に実行させる。取得制御ステップでは、読取対象から光学情報を取得し、当該光学情報に応じた信号を出力する。解析処理ステップでは、取得制御ステップで出力される信号に基づいて、読取対象内における情報コードの有無を判定する。出力処理ステップでは、解析処理ステップでの判定結果を出力する。
【発明の効果】
【００１５】
本発明によれば、情報コードがないにも拘らず読取処理を行うといった無駄な時間がなくなる。
【図面の簡単な説明】
【００１６】
【図１】第１実施形態のバーコードリーダを備えた読取システムを例示した概念図である。
【図２】バーコードリーダの構成を概念的に示したブロック図である。
【図３】（Ａ）読取対象内にバーコードがある場合に得られるデジタル波形を示した図、及び（Ｂ）読取対象内にバーコードがない場合に得られるデジタル波形を示した図である。
【図４】第１実施形態で実行される読取処理を示したフローチャートである。
【図５】第２実施形態で実行される読取処理を示したフローチャートである。
【図６】第１変形例で実行される読取処理を示したフローチャートである。
【発明を実施するための形態】
【００１７】
［１］第１実施形態
１次元コードであるバーコードを読み取るバーコードリーダに本発明を適用した実施形態について、具体的に説明する。
【００１８】
［１−１］概要
図１は、本実施形態のバーコードリーダ１を備えた読取システムを例示した概念図である。図１に示されるように、読取システムは、バーコードリーダ１に接続されるホスト機器２（パーソナルコンピュータなど）を備え、当該ホスト機器２によって読取システム全体が管理及び制御される。
【００１９】
このような読取システムは、例えば、製造工場において商品の出荷チェックを行うラインなどにおいて、当該ラインを流れてくる商品に付されたバーコードＣ１の読取りに用いられる。この場合、商品の外周面のうちのバーコードＣ１が付されているべき部分が、バーコードリーダ１の読取対象Ｔとなる。一方、ラインを流れくる商品には、バーコードリーダ１の読取対象Ｔとなる部分にバーコードＣ１が付されていないものが存在し得る。バーコードリーダ１は、そのような商品に対しても、読取対象Ｔ内にバーコードＣ１があるものとして、当該バーコードＣ１を読み取るための読取処理を開始する。しかし、この場合に従来のように読取りのリトライを繰り返したのでは、時間が無駄となって作業効率が低下してしまう。
【００２０】
そこで、本実施形態のバーコードリーダ１は、読取対象Ｔ内におけるバーコードＣ１の有無を判別することで、バーコードＣ１がない場合の読取りのリトライを回避する。以下、バーコードリーダ１の詳細について、具体的に説明する。
【００２１】
［１−２］バーコードリーダの構成
図２は、バーコードリーダ１の構成を概念的に示したブロック図である。バーコードリーダ１は、投光ＬＥＤ１１と、レンズ１２と、ＣＭＯＳセンサ１３と、Ａ／Ｄコンバータ１４と、ＣＰＵ１５と、メモリ１６と、入出力Ｉ／Ｆ１７と、を備える。ここで、ＬＥＤはLight  Emitting  Deviceの略、ＣＭＯＳはComplementary  Metal  Oxide  Semiconductorの略、Ａ／ＤはAnalog  to  Digitalの略、ＣＰＵはCentral  Processing  Unitの略、Ｉ／ＦはInterfaceの略である。
【００２２】
＜投光ＬＥＤ＞
投光ＬＥＤ１１は、読取処理の実行時に、読取対象Ｔとなる部分に光を照射する。読取対象Ｔに照射された光は、当該読取対象Ｔの表面において、バーコードＣ１を構成するバー（黒色系の部分）で吸収される一方で、バーコードＣ１以外の下地の部分（バー間のスペースを含む。白色系の部分）で反射される。そして、読取対象Ｔの表面で反射された光（読取対象Ｔからの反射光）は、当該読取対象Ｔの像を構成する光としてレンズ１２に入射する。
【００２３】
＜レンズ＞
レンズ１２は、読取対象Ｔからの反射光を、ＣＭＯＳセンサ１３の検出面上に集光させることで、当該検出面上に読取対象Ｔの像を形成する。これにより、ＣＭＯＳセンサ１３は、読取対象Ｔの像を鮮明に捉えることができる。
【００２４】
＜ＣＭＯＳセンサ＞
ＣＭＯＳセンサ１３は、読取対象Ｔを撮像する光学センサであり、レンズ１２で集光させた光を検出して読取対象Ｔの像を捉えることにより、その像を構成する光が持つ光学情報（明暗など）を取得する。そして、ＣＭＯＳセンサ１３は、取得した光学情報に応じた信号を出力する。
【００２５】
本実施形態では、ＣＭＯＳセンサ１３は、フォトダイオードが横一列に並んだラインセンサであり、読取対象Ｔを横切るラインＬ１（図２参照）上で反射された光を検出することで読取対象Ｔの像を１次元的に捉える。ここで、ラインＬ１は、読取対象Ｔ内の正しい位置にバーコードＣ１があった場合に当該バーコードＣ１を横切るラインである。従って、読取対象Ｔ内の正しい位置にバーコードＣ１がある場合には、バーコードＣ１の像が１次元的に捉えられ、読取対象Ｔ内にバーコードＣ１がない場合には、バーコードＣ１がない下地の像が１次元的に捉えられる。
【００２６】
そして、ＣＭＯＳセンサ１３のフォトダイオードは、読取対象Ｔの像を１次元的に捉えて得た光学情報（明暗など）に応じた電気信号（アナログ信号）を出力する。そして、この電気信号は、バーコードＣ１を構成するバーに対応した部分（暗い部分）で強度が弱くなり、下地に対応した部分（バー間のスペースを含む。明るい部分）で強度が強くなる。
【００２７】
＜Ａ／Ｄコンバータ＞
Ａ／Ｄコンバータ１４は、ＣＭＯＳセンサ１３のフォトダイオードから出力される電気信号（アナログ信号）をデジタル信号に変換する。これにより、ＣＭＯＳセンサ１３で１次元的に捉えられた読取対象Ｔの像に対応するデジタル波形が得られ、読取対象Ｔの像に対するＣＰＵ１５でのデータ解析が可能になる。
【００２８】
図３（Ａ）は、読取対象Ｔ内にバーコードＣ１がある場合に得られるデジタル波形を示した図である。一方、図３（Ｂ）は、読取対象Ｔ内にバーコードＣ１がない場合に得られるデジタル波形を示した図である。読取対象Ｔ内にバーコードＣ１がある場合には、デジタル波形は、バーコードＣ１を構成するバーに対応した部分で信号の強度が弱くなり、バー間のスペースに対応した部分で信号の強度が強くなる。このため、デジタル波形には、バーの数や位置、太さなどに応じた波が含まれることになる。一方、読取対象Ｔ内にバーコードＣ１がない場合には、バーコードＣ１がない下地の像が検出されるため、殆どの部分で信号の強度が強くなる。このため、デジタル波形には、バーに対応した波が含まれず、何らかの波が含まれていたとしても、その波は、下地の表面の凹凸や汚れなどによって生じたノイズなどである。
【００２９】
＜ＣＰＵ＞
ＣＰＵ１５は、バーコードリーダ１の制御部であり、メモリ１６に記憶されているプログラムを読み出して実行することにより、読取処理を実現するための処理部として機能する。尚、バーコードリーダ１の制御部は、ＣＰＵ１５に限らず、読取処理を実現できる他の処理装置（マイクロコンピュータなど）に適宜変更されてもよい。
【００３０】
本実施形態において、読取処理を実現するための処理部には、取得制御部１５１と、解析処理部１５２と、出力処理部１５３と、が含まれる（図２参照）。ここで、取得制御部１５１は、読取対象Ｔとなる部分への光の照射を投光ＬＥＤ１１に実行させると共に、光が照射された部分の撮像をＣＭＯＳセンサ１３に実行させることにより、読取対象Ｔの像（本実施形態では、１次元的な像）についての光学情報（明暗など）を取得する。解析処理部１５２は、Ａ／Ｄコンバータ１４から出力されるデジタル波形（デジタル信号）を用いて、読取対象Ｔの像に対するデータ解析を行う。出力処理部１５３は、解析処理部１５２での解析結果や判定結果を入出力Ｉ／Ｆ１７から出力する。尚、読取処理の詳細については後述する。
【００３１】
＜メモリ＞
メモリ１６は、各種情報（上述したプログラムを含む）を記憶する記憶部であり、揮発性メモリや不揮発性メモリを含む。
【００３２】
＜入出力Ｉ／Ｆ＞
入出力Ｉ／Ｆ１７は、各種信号の入出力に用いられるインタフェースであり、入出力端子や通信インタフェースなどを含む。本実施形態では、ホスト機器２が入出力Ｉ／Ｆ１７に接続されている。そして、ホスト機器２からの読取りの実行指令が、入出力Ｉ／Ｆ１７からバーコードリーダ１に入力され、解析処理部１５２での解析結果や判定結果が、入出力Ｉ／Ｆ１７からホスト機器２へ出力される。
【００３３】
［１−３］読取処理
図４は、第１実施形態で実行される読取処理を示したフローチャートである。読取処理は、ホスト機器２からの読取りの実行指令をバーコードリーダ１が受け取ったときに開始される。読取処理が開始されると、先ず、取得制御部１５１が、読取対象Ｔとなる部分への光の照射を投光ＬＥＤ１１に実行させると共に、光が照射された部分の撮像をＣＭＯＳセンサ１３に実行させることにより、読取対象Ｔの像（本実施形態では、１次元的な像）についての光学情報（明暗など）をＣＭＯＳセンサ１３で取得する（図４のステップＳ１１）。また、ＣＭＯＳセンサ１３は、光学情報を取得した場合、当該光学情報に応じた電気信号（アナログ信号）を出力する。ＣＭＯＳセンサ１３から出力された電気信号は、Ａ／Ｄコンバータ１４でデジタル波形（デジタル信号）に変換される。そして、そのデジタル波形がＣＰＵ１５に入力される。
【００３４】
ＣＰＵ１５にデジタル波形が入力されると、解析処理部１５２が、そのデジタル波形に基づいて、読取対象Ｔ内におけるバーコードＣ１の有無を判定する（図４のステップＳ１２）。
【００３５】
具体的には、解析処理部１５２は、デジタル波形を用いて、読取対象Ｔの像内に含まれるエッジを抽出する（図４のステップＳ１２１Ａ）。尚、エッジの抽出には、画像処理技術の１つであるエッジ処理の手法を用いることができる。
【００３６】
次に、解析処理部１５２は、抽出したエッジの数をカウントすることにより、読取対象Ｔの像内に含まれるエッジの総数Ｎｅを算出する（図４のステップＳ１２１Ｂ）。
【００３７】
その後、解析処理部１５２は、算出したエッジの総数Ｎｅを第１閾値Ｎｔ１及び第２閾値Ｎｔ２と比較することにより、エッジの総数Ｎｅが第１閾値Ｎｔ１以上又は第２閾値Ｎｔ２以下であるか否かを判断する（図４のステップＳ１２１Ｃ）。即ち、解析処理部１５２は、エッジの総数Ｎｅが所定範囲（上限値＝Ｎｔ１、下限値＝Ｎｔ２）外であるのか否かを判断する。
【００３８】
ここで、バーコードＣ１は複数のバー（黒色系の部分）で構成されている。このため、読取対象Ｔ内にバーコードＣ１がある場合には、各バーの両端がエッジとして抽出され、バーの数の約２倍の数がエッジの総数Ｎｅとして得られることになる。従って、読み取ろうとしている１種又は複数種のバーコードＣ１のそれぞれに含まれるバーの数から、読取対象Ｔ内にバーコードＣ１があった場合に抽出されるべきエッジの総数Ｎｅの上限値及び下限値（所定範囲）を決定することができ、当該上限値及び下限値をそれぞれ第１閾値Ｎｔ１及び第２閾値Ｎｔ２とすることができる。そして、解析処理部１５２で算出されたエッジの総数Ｎｅが所定範囲内であった場合には、抽出したエッジはバーコードＣ１に対応したものであると判断できる。一方、解析処理部１５２で算出されたエッジの総数Ｎｅが所定範囲外であった場合には、抽出したエッジはバーコードＣ１に対応したものでないと判断できる。
【００３９】
そこで、解析処理部１５２は、ステップＳ１２１Ｃにて「エッジの総数Ｎｅが第１閾値Ｎｔ１以上又は第２閾値Ｎｔ２以下である（Ｙｅｓ）」と判断した場合（即ち、エッジの総数Ｎｅが所定範囲外であると判断した場合）、その判断を以て、読取対象Ｔ内にバーコードＣ１がないと判定する。この場合、読取対象Ｔ内にバーコードＣ１がないとの判定結果が、出力処理部１５３により、入出力Ｉ／Ｆ１７からホスト機器２へ出力される（図４のステップＳ２１）。その後、読取処理が終了する。即ち、解析処理部１５２は、後述するステップＳ１４〜Ｓ１６の処理（バーコードＣ１を読み取るための処理（二値化、デコードなど））を実行することなく、途中で読取対象Ｔに対する読取りを停止する。
【００４０】
一方、解析処理部１５２は、ステップＳ１２１Ｃにて「エッジの総数Ｎｅが第１閾値Ｎｔ１以上又は第２閾値Ｎｔ２以下でない（Ｎｏ）」と判断した場合（即ち、エッジの総数Ｎｅが所定範囲内であると判断した場合）、その判断を以て、読取対象Ｔ内にバーコードＣ１があると判定する。この場合、解析処理部１５２は、読取対象Ｔ内にあるバーコードＣ１を読み取るための処理を更に実行する。具体的には、以下のとおりである。
【００４１】
解析処理部１５２は、デジタル波形を二値化する（図４のステップＳ１３）。具体的には、解析処理部１５２は、デジタル波形について、信号の強度が閾値より大きい部分（明るい部分）を「１」とし、信号の強度が閾値より小さい部分（暗い部分）を「０」とする。これにより、解析処理部１５２は、デジタル波形を、「０」と「１」の数字の並びに変換することで、バーに対応して「０」が連続して現れる部分（バー部分）と、バー間のスペースに対応して「１」が連続して現れる部分（スペース部分）とを判別することが可能になる。
【００４２】
そして、解析処理部１５２は、二値化後のデータを用いて、バー部分の幅（太さ）とスペース部分の幅（太さ）とを算出する。この処理は、二値化後のデータにランレングス化処理を施すことで実行されてもよい。
【００４３】
その後、解析処理部１５２は、二値化後のデータを用いてデコードを行う（図４のステップＳ１４）。具体的には、解析処理部１５２は、二値化後のデータから得られるバー部分の幅（太さ）とスペース部分の幅（太さ）との組合せを、バーコード規則に従ってコード化する。そして、デコードに成功した場合には、数字やアルファベットなどが並んだ文字列が得られる。一方、印刷不良でバーコードＣ１の一部が不鮮明であったり、バーコードＣ１のシールに皺が生じていたりした場合には、解析処理部１５２は、不鮮明な部分や皺の部分でコード化できずに、デコードに失敗することになる。
【００４４】
そこで、解析処理部１５２は、デコードの実行後に、そのデコード（バーコード規則に従ったコード化）に成功したのか否かを判断する（図４のステップＳ１５）。そして、解析処理部１５２は、ステップＳ１５で「デコードに成功した（Ｙｅｓ）」と判断した場合、その判断を以て、バーコードＣ１の読取りに成功したと判断する。この場合、バーコードＣ１の読取りに成功したとの解析結果が、出力処理部１５３により、入出力Ｉ／Ｆ１７からホスト機器２へ出力される（図４のステップＳ２２Ａ）。このとき、出力処理部１５３は、ステップＳ１２での判定結果（即ち、読取対象Ｔ内にバーコードＣ１があるとの判定結果）もホスト機器２へ出力してもよい。その後、読取処理が終了する。
【００４５】
一方、解析処理部１５２は、ステップＳ１５で「デコードに成功しなかった（Ｎｏ）」と判断した場合、その判断を以て、バーコードＣ１の読取りに失敗したと判断する。この場合、解析処理部１５２は、読取処理の開始時からの経過時間ｔが、所定時間ｔｃに達したか否かを判断する（図４のステップＳ１６）。ここで、所定時間ｔｃは、デコードに成功しなかった場合に、読取りのリトライをどの程度の時間が経過するまで繰り返すかを規定したものである。
【００４６】
そして、解析処理部１５２は、ステップＳ１６にて「所定時間ｔｃに達していない（Ｎｏ）」と判断した場合、ステップＳ１１からの処理を再び実行する。一方、ステップＳ１６にて解析処理部１５２が「所定時間ｔｃに達した（Ｙｅｓ）」と判断した場合には、バーコードＣ１の読取りに失敗したとの解析結果が、出力処理部１５３により、入出力Ｉ／Ｆ１７からホスト機器２へ出力される（図４のステップＳ２２Ｂ）。このとき、出力処理部１５３は、ステップＳ１２での判定結果（即ち、読取対象Ｔ内にバーコードＣ１があるとの判定結果）もホスト機器２へ出力してもよい。その後、読取処理が終了する。
【００４７】
上記読取処理によれば、Ａ／Ｄコンバータ１４から出力されるデジタル波形を用いた簡単なデータ解析で、読取対象Ｔ内におけるバーコードＣ１の有無を判別できる。また、デジタル波形の二値化（図４のステップＳ１３）の前に、バーコードＣ１の有無が判定されるため、読取処理の開始後の早い段階で、バーコードＣ１を読み取るための処理（二値化、デコードなど）を実行すべきか否かを決定できる。本実施形態では、読取対象Ｔ内にバーコードＣ１がないと判定された場合、途中で読取対象Ｔに対する読取りが停止される。そして、読取対象Ｔ内にバーコードＣ１があると判定された場合にのみ、当該バーコードＣ１を読み取るための処理（二値化、デコードなど）が更に実行される。よって、読取対象Ｔ内にバーコードＣ１がないにも拘らず読取りのリトライが繰り返されるといった無駄な時間がなくなり、その結果として、バーコードＣ１に対する読取処理が効率良く実行される。
【００４８】
また、読取対象Ｔ内におけるバーコードＣ１の有無を判別に加えて、デジタル波形（デジタル信号）に対するデコードに成功したのか否かの判断が実行されることにより、バーコードＣ１を読み取ることができない原因を、読取対象Ｔ内にバーコードＣ１がない場合と、読取対象Ｔ内にバーコードＣ１はあるが、何らかの理由でそれを読み取ることができない場合（例えば、印刷不良でバーコードＣ１の一部が不鮮明であったり、バーコードＣ１のシールに皺が生じていたりして、デコードできない場合）と、に判別できる。
【００４９】
更に、商品の出荷チェックを行うラインなどを流れる複数の商品に対してバーコードＣ１の読取りを順に行うシステム（図１参照）では、ある商品において読取対象Ｔ内にバーコードＣ１がないと判定された場合、その商品に対する読取りを停止し、次の商品に対する読取りに即座に移行できる。具体的には、ホスト機器２が、読取対象Ｔ内にバーコードＣ１がないとの判定結果をバーコードリーダ１から受信した場合、次の商品に対する読取りを実行するための実行指令をバーコードリーダ１に送信する。このようなシステムによれば、無駄な時間を生じずに、次の商品に対するバーコードＣ１の読取りに移行できる。
【００５０】
［２］第２実施形態
図５は、第２実施形態で実行される読取処理を示したフローチャートである。解析処理部１５２は、上述した読取処理のステップＳ１２において、読取対象Ｔ内におけるバーコードＣ１の有無を別の方法で判定してもよい。以下、本実施形態でのステップＳ１２の処理内容について、具体的に説明する。
【００５１】
先ず、解析処理部１５２は、Ａ／Ｄコンバータ１４から出力されるデジタル波形（デジタル信号）に含まれる波を、その高低差及び幅に基づいて抽出する（図５のステップＳ１２２Ａ）。具体的には、解析処理部１５２は、デジタル波形に含まれる波のうち、波の高低差が所定範囲内にあり、且つ波の幅が所定範囲内にあるものを抽出する。ここで、これらの所定範囲は、波の高低差及び幅がそれぞれ所定範囲内であった場合に、その波を、バーコードＣ１を構成するバーの数や位置、太さなどに応じてデジタル波形に現れる波と同程度の高低差及び幅を持ったものであると認定できるように設定される。
【００５２】
また、読取対象Ｔ内にバーコードＣ１がある場合には、デジタル波形は、バーコードＣ１を構成するバーに対応した部分で信号の強度が弱くなり、バー間のスペースに対応した部分で信号の強度が強くなる。従って、デジタル波形においては、バーに対応した部分が下向きに凸状の波として現れ、スペースに対応した部分が上向きに凸状の波として現れる。このため、解析処理部１５２は、高低差及び幅がそれぞれ所定範囲内である波を全て抽出しなくても、バーに対応した波だけを選択するべく下向きに凸状の波だけを抽出してもよいし、スペースに対応した波だけを選択するべく上向きに凸状の波だけを抽出してもよい。
【００５３】
次に、解析処理部１５２は、抽出した波の数をカウントすることにより、デジタル波形に含まれる波の総数Ｎｗを算出する（図４のステップＳ１２２Ｂ）。そして、解析処理部１５２は、算出した波の総数Ｎｗを用いて、読取対象Ｔ内に含まれるエッジの総数Ｎｅを算出する（図５のステップＳ１２２Ｃ）。一例として、解析処理部１５２は、上述したように上向きに凸状又は下向きに凸状の何れか一方の波をだけを抽出した場合には、波の総数Ｎｗを２倍にすることでエッジの総数Ｎｅ（＝２×Ｎｗ）を算出できる。
【００５４】
その後、解析処理部１５２は、算出したエッジの総数Ｎｅを第１閾値Ｎｔ１及び第２閾値Ｎｔ２と比較することにより、エッジの総数Ｎｅが第１閾値Ｎｔ１以上又は第２閾値Ｎｔ２以下であるか否かを判断する（図５のステップＳ１２２Ｄ）。尚、このステップＳ１２２Ｄでは、第１実施形態で説明したステップＳ１２１（図４）と同様の処理が実行されるため、詳細については説明を省略する。
【００５５】
このような方法でも、第１実施形態と同様、Ａ／Ｄコンバータ１４から出力されるデジタル波形を用いた簡単なデータ解析で、読取対象Ｔ内におけるバーコードＣ１の有無を判別できる。また、デジタル波形の二値化（図４のステップＳ１３）の前に、バーコードＣ１の有無が判定されるため、読取処理の開始後の早い段階で、バーコードＣ１を読み取るための処理（二値化、デコードなど）を実行すべきか否かを決定できる。
【００５６】
［３］変形例
上述した第１実施形態及び第２実施形態のバーコードリーダ１は、以下のように変形されてもよい。
【００５７】
［３−１］第１変形例
図６は、第１変形例で実行される読取処理を示したフローチャートである。このフローチャートのように、解析処理部１５２は、ステップ１２にて読取対象Ｔ内にバーコードＣ１があると判定した場合でも、ステップＳ１３で得た二値化後のデータに基づいて、再度、読取対象Ｔ内におけるバーコードＣ１の有無を判定してもよい（図６のステップＳ３１）。尚、図６は、第１実施形態（図４）の変形例として第１変形例を示したものであるが、本変形例は、第２実施形態（図５）にも適用できる。
【００５８】
ステップＳ３１では、解析処理部１５２は、二値化後のデータを用いて、読取対象Ｔの像内に含まれるエッジを抽出し、抽出したエッジの数をカウントすることでエッジの総数Ｎｅを算出する。その後、解析処理部１５２は、算出したエッジの総数Ｎｅを第１閾値Ｎｔ１及び第２閾値Ｎｔ２と比較することにより、エッジの総数Ｎｅが第１閾値Ｎｔ１以上又は第２閾値Ｎｔ２以下であるか否かを判断する。尚、ステップＳ３１では、この方法に限らず、二値化後のデータを用いた他の方法でバーコードＣ１の有無が判定されてもよい。
【００５９】
そして、解析処理部１５２は、ステップＳ３１にて「読取対象Ｔ内にバーコードＣ１がある」と判定した場合には、ステップＳ１４（デコード）からの処理を実行する。一方、解析処理部１５２は、ステップＳ３１にて「読取対象Ｔ内にバーコードＣ１がない」と判定した場合には、ステップＳ２１（判定結果の出力）の処理を実行する。
【００６０】
このように、読取対象Ｔ内におけるバーコードＣ１の有無を、デジタル波形に基づく判定と、二値化後のデータに基づく判定といった２種類の方法で判定することにより、バーコードＣ１の有無についての判定精度を高めることができる。
【００６１】
［３−２］第２変形例
上述したバーコードリーダ１は、読取対象Ｔを撮像する光学センサとして、ＣＭＯＳセンサ１３に限らず、ＣＣＤ（Charge  Coupled  Device）センサなどの撮像素子を備えたものであってもよい。また、バーコードリーダ１は、読取対象Ｔを横切るラインＬ１（図２参照）に沿って、ポリゴンミラーで走査しながらレーザ光を照射し、そのときの反射光を受光素子（フォトダイオードなど）で検出することで読取対象Ｔの像を捉えるものであってもよい。
【００６２】
また、上述したバーコードリーダ１は、バーコードＣ１に限らず、ＥＡＮ（European  Article  Number）やＣｏｄｅ３９などの他の１次元コードの読取りにも適用できる。
【００６３】
［３−３］第３変形例
上述したバーコードリーダ１において、ＣＭＯＳセンサ１３は、フォトダイオードがマトリクス状に並んだエリアセンサであってもよい。この場合、読取対象Ｔの像が２次元的に捉えられるため、Ａ／Ｄコンバータ１４からも、２次元的なデジタル波形（デジタル信号）が出力される。このような構成であっても、解析処理部１５２は、２次元的なデジタル波形のうち、上述した読取対象Ｔを横切るラインＬ１上で反射された光に対応する部分（１次元的な情報）だけを取り出して用いることにより、上述した第１実施形態や第２実施形態と同様のデータ解析（図４、図５）を実行することが可能になる。
【００６４】
また、このように２次元的なデジタル波形から１次元的な情報を取り出す技術は、バーコードＣ１などの１次元コードに限らず、ＱＲコード（登録商標）などの２次元コードの読取り時において、読取対象Ｔ内における２次元コードの有無の判定にも適用できる。
【００６５】
［３−４］第４変形例
上述した読取処理のステップＳ１２において、解析処理部１５２は、読取対象Ｔ内におけるバーコードＣ１の有無の判定を、以下のような方法で行ってもよい。
【００６６】
先ず、解析処理部１５２は、Ａ／Ｄコンバータ１４から出力されるデジタル波形（デジタル信号）から信号の強度に関する情報を取得する。ここで、この情報には、強度の平均値や、強度の分布などが含まれる。そして、解析処理部１５２は、取得した信号の強度に関する情報に基づいて、読取対象Ｔ内におけるバーコードＣ１の有無を判定する。例えば、読取対象Ｔ内にバーコードＣ１がない場合には、バーコードＣ１がない下地の像が１次元的に捉えられるため、デジタル波形全体で信号の強度が強くなり、それが、強度の平均値の大きさや分布の偏りとして現れることになる。よって、解析処理部１５２は、信号の強度に関する情報を用いることで、読取対象Ｔ内におけるバーコードＣ１の有無を判定できる。
【００６７】
上述の実施形態の説明は、すべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述の実施形態ではなく、特許請求の範囲によって示される。更に、本発明の範囲には、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【００６８】
１  バーコードリーダ
２  ホスト機器
Ｔ  読取対象
ｔ  経過時間
１１  投光ＬＥＤ
１２  レンズ
１３  ＣＭＯＳセンサ
１４  Ａ／Ｄコンバータ
１５  ＣＰＵ
１６  メモリ
１７  入出力Ｉ／Ｆ
Ｃ１  バーコード
Ｌ１  ライン
Ｎｅ  エッジの総数
Ｎｗ  波の総数
ｔｃ  所定時間
１５１  取得制御部
１５２  解析処理部
１５３  出力処理部
Ｎｔ１  第１閾値
Ｎｔ２  第２閾値
【図１】
2020135358.tif 000003
【図２】
2020135358.tif 000004
【図３】
2020135358.tif 000005
【図４】
2020135358.tif 000006
【図５】
2020135358.tif 000007
【図６】
2020135358.tif 000008