(57)【要約】【課題】商品ごとに情報コードの位置が異なる場合でも当該情報コードを効率良く読み取ることが可能な技術を提供する。【解決手段】情報コード読取装置は、光学センサと、取得制御部と、解析処理部と、を備える。光学センサは、読取対象を撮像する。取得制御部は、読取対象ごとに、光学センサの撮像範囲内に当該撮像範囲より狭い範囲を読取範囲として指定するための範囲指定情報を取得する。解析処理部は、読取対象ごとに、撮像範囲全域が写った撮像データのうちの、取得制御部が取得した範囲指定情報で指定される読取範囲についての部分データに基づいて、読取対象から情報コードを読み取るための解析を行う。【選択図】図２
2020154908.tif 000002
【特許請求の範囲】
【請求項１】
読取対象を撮像する光学センサと、
前記読取対象ごとに、前記光学センサの撮像範囲内に当該撮像範囲より狭い範囲を読取範囲として指定するための範囲指定情報を取得する取得制御部と、
前記読取対象ごとに、前記撮像範囲全域が写った撮像データのうちの、前記取得制御部が取得した前記範囲指定情報で指定される前記読取範囲についての部分データに基づいて、前記読取対象から情報コードを読み取るための解析を行う解析処理部と、
を備える、情報コード読取装置。
【請求項２】
前記解析処理部は、前記解析の結果として前記情報コードの読取りに失敗した場合、前記読取範囲を前記撮像範囲全域に変更して改めて前記解析を行う、請求項１に記載の情報コード読取装置。
【請求項３】
前記解析処理部は、前記読取範囲を前記撮像範囲全域に変更して前記解析を行った結果として、前記情報コードの読取りに成功した場合、前記読取範囲として、前記撮像範囲内における当該情報コードの位置を基準にした範囲を設定する、請求項２に記載の情報コード読取装置。
【請求項４】
請求項１〜３の何れかに記載の情報コード読取装置と、
前記読取対象ごとに、前記情報コード読取装置に前記範囲指定情報を送信する制御装置と、
を備える、情報コード読取システム。
【請求項５】
前記制御装置は、前記読取対象ごとに、当該読取対象からの前記情報コードの読取りを実行させるための読取実行指令を前記情報コード読取装置に送信し、
前記範囲指定情報は、前記読取実行指令に付加又は包含される、請求項４に記載の情報コード読取システム。
【請求項６】
読取対象を撮像する撮像ステップと、
前記読取対象ごとに、前記光学センサの撮像範囲内に当該撮像範囲より狭い範囲を読取範囲として指定するための範囲指定情報を取得する取得制御ステップと、
前記読取対象ごとに、前記撮像範囲全域が写った撮像データのうちの、前記取得制御部が取得した前記範囲指定情報で指定される前記読取範囲についての部分データに基づいて、前記読取対象から情報コードを読み取るための解析を行う解析処理ステップと、
を備える、情報コード読取方法。
【請求項７】
読取対象を撮像する撮像ステップと、
前記読取対象ごとに、前記光学センサの撮像範囲内に当該撮像範囲より狭い範囲を読取範囲として指定するための範囲指定情報を取得する取得制御ステップと、
前記読取対象ごとに、前記撮像範囲全域が写った撮像データのうちの、前記取得制御部が取得した前記範囲指定情報で指定される前記読取範囲についての部分データに基づいて、前記読取対象から情報コードを読み取るための解析を行う解析処理ステップと、
を情報コード読取装置に実行させる、情報コード読取プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーコードやＱＲコード（登録商標）などの情報コードを読み取る技術に関する。
【背景技術】
【０００２】
情報コード読取装置には、バーコードなどの１次元コードを読み取る１次元コードリーダや、ＱＲコード（登録商標）などの２次元コードを読み取る２次元コードリーダが存在する。これらのコードリーダは、１次元コードや２次元コードなどの情報コードを撮像する光学センサ（撮像素子など）を備え、当該光学センサから出力される電気信号（アナログ信号）を撮像データ（デジタル信号）に変換し、その撮像データを解析することにより、情報コードを読み取る（例えば、特許文献１参照）。
【０００３】
このような情報コード読取装置は、例えば、製造工場において商品の出荷チェックを行うラインなどで、当該ラインを流れてくる商品に付された情報コードの読取りに用いられる。そして、このような製造工場のラインなどでは、近年、情報コードの読取りが自動化されつつある。具体的には、情報コード読取装置は、撮像データを用いて光学センサの撮像範囲全域から情報コードを探索し、情報コードが見つかった場合に、その情報コードの読取りを実行する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−５１２０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
製造工場などでは、同じラインに、１種類の商品だけが流れる場合に限らず、様々な種類の商品が流れる場合がある。また、商品に付される情報コードの位置は、商品の種類ごとに異なることが多い。このため、製造工場のラインなどで情報コードの読取りを自動化する場合には、それぞれの商品に付されている情報コードを全て読み取ることができるように、光学センサの撮像範囲は、情報コードが付されている位置として想定できる全ての位置を包含できるように広く設定される。
【０００６】
しかし、このように広く設定された撮像範囲全域を対象として情報コードの探索を行っていたのでは、その探索のための処理に時間を要し、読取りの効率が低下してしまう。
【０００７】
例えば、光学センサの撮像範囲を、種類の異なる商品ごとに、その商品に付された情報コードが占めている範囲に絞ることが考えられるが、その撮像範囲には、別の種類の商品に付された情報コードが入らなくなる。このため、ラインでの作業者には、商品の種類が変わるごとに撮像範囲の設定を手動で変更するといった煩雑な作業が強いられる。
【０００８】
そこで本発明の目的は、商品ごとに情報コードの位置が異なる場合でも当該情報コードを効率良く読み取ることが可能な技術を提供することである。
【課題を解決するための手段】
【０００９】
本発明に係る情報コード読取装置は、光学センサと、取得制御部と、解析処理部と、を備える。光学センサは、読取対象を撮像する。取得制御部は、読取対象ごとに、光学センサの撮像範囲内に当該撮像範囲より狭い範囲を読取範囲として指定するための範囲指定情報を取得する。解析処理部は、読取対象ごとに、撮像範囲全域が写った撮像データのうちの、取得制御部が取得した範囲指定情報で指定される読取範囲についての部分データに基づいて、読取対象から情報コードを読み取るための解析を行う。
【００１０】
上記情報コード読取装置によれば、読取対象ごとの読取範囲として、撮像範囲より狭くても情報コードの全体像を包含できる範囲を、範囲指定情報を用いて指定できるため、情報コードの探索範囲を、撮像範囲全域から読取範囲に絞ることできる。従って、撮像範囲全域を対象として情報コードの探索を行う必要がなくなる。よって、情報コードを探索するための処理に必要な時間が短縮化され、その結果として、情報コードの読取りが高速化される。
【００１１】
上記情報コード読取装置において、解析処理部は、解析の結果として情報コードの読取りに失敗した場合、読取範囲を撮像範囲全域に変更して改めて解析を行ってもよい。この構成よれば、制御装置側での範囲指定情報の設定ミスや、情報コードの印刷位置のズレ、情報コードのシールの貼付位置のズレなどが原因で、情報コードが、範囲指定情報で指定された読取範囲からはみ出た場合でも、その情報コードを読み取ることが可能になる。
【００１２】
上記情報コード読取装置において、解析処理部は、読取範囲を撮像範囲全域に変更して解析を行った結果として、情報コードの読取りに成功した場合、読取範囲として、撮像範囲内における当該情報コード（読取りに成功した情報コード）の位置を基準にした範囲を設定してもよい。この構成よれば、制御装置側での範囲指定情報の設定ミスや、情報コードの印刷位置のズレ、情報コードのシールの貼付位置のズレなどが、装置や作業者の癖として同じ傾向で現れた場合に、その傾向を読取範囲に反映させることができる。
【００１３】
本発明に係る情報コード読取システムは、上記情報コード読取装置と、制御装置と、を備える。そして制御装置は、読取対象ごとに、情報コード読取装置に範囲指定情報を送信する。
【００１４】
上記情報コード読取システムによれば、読取対象ごとに、範囲指定情報が、読取実行指令に関連付けて制御装置から情報コード読取装置に送信されるため、読取対象ごとの読取範囲の設定が自動化される。
【００１５】
上記情報コード読取システムにおいて、制御装置は、読取対象ごとに、当該読取対象からの情報コードの読取りを実行させるための読取実行指令を情報コード読取装置に送信してもよい。この場合、範囲指定情報は、読取実行指令に付加又は包含されてもよい。この構成よれば、読取対象ごとに情報コード読取装置に送信される読取実行指令及び範囲指定情報の関連付けが容易になる。
【００１６】
本発明に係る情報コード読取方法は、撮像ステップと、取得制御ステップと、解析処理ステップと、を備える。撮像ステップでは、読取対象を撮像する。取得制御ステップでは、読取対象ごとに、光学センサの撮像範囲内に当該撮像範囲より狭い範囲を読取範囲として指定するための範囲指定情報を取得する。解析処理ステップでは、読取対象ごとに、撮像範囲全域が写った撮像データのうちの、取得制御部が取得した範囲指定情報で指定される読取範囲についての部分データに基づいて、読取対象から情報コードを読み取るための解析を行う。
【００１７】
本発明に係る情報コード読取プログラムは、撮像ステップと、取得制御ステップと、解析処理ステップと、を情報コード読取装置に実行させる。撮像ステップでは、読取対象を撮像する。取得制御ステップでは、読取対象ごとに、光学センサの撮像範囲内に当該撮像範囲より狭い範囲を読取範囲として指定するための範囲指定情報を取得する。解析処理ステップでは、読取対象ごとに、撮像範囲全域が写った撮像データのうちの、取得制御部が取得した範囲指定情報で指定される読取範囲についての部分データに基づいて、読取対象から情報コードを読み取るための解析を行う。
【発明の効果】
【００１８】
本発明によれば、商品ごとに情報コードの位置が異なる場合でも、当該情報コードを効率良く読み取ることが可能になる。
【図面の簡単な説明】
【００１９】
【図１】実施形態に係る情報コード読取システムを示した概念図である。
【図２】情報コード読取りシステムが備えるコードリーダの構成を概念的に示したブロック図である。
【図３】（Ａ）〜（Ｃ）種類の異なる商品に付されている情報コードを全て読み取ることができるように設定された撮像範囲、及び種類の異なる商品ごとに指定される読取範囲を示した図である。
【図４】実施形態で実行される読取処理を示したフローチャートである。
【図５】情報コードの位置にズレが生じて読取範囲内に情報コードが全く含まれなくなった場合を示した図である。
【図６Ａ】第１変形例で実行される一連の読取処理を示したフローチャートである。
【図６Ｂ】第１変形例で実行される一連の読取処理を示したフローチャートである。
【図７】（Ａ）読取範囲を撮像範囲全域に変更した場合、及び（Ｂ）情報コードの位置のズレに応じて読取範囲を新たに設定した場合を示した図である。
【発明を実施するための形態】
【００２０】
［１］実施形態
ＱＲコード（登録商標）を情報コードとして読み取るコードリーダ及びそれを備えた情報コード読取システムに本発明を適用した実施形態について、具体的に説明する。
【００２１】
［１−１］概要
図１は、実施形態に係る情報コード読取システムを示した概念図である。図１に示されるように、情報コード読取システムは、情報コードＣ１を読み取るコードリーダ１と、当該コードリーダ１に接続されるホスト機器２（パーソナルコンピュータなどの制御装置）と、を備え、ホスト機器２によってシステム全体が管理及び制御される。
【００２２】
このような情報コード読取システムは、例えば、製造工場において商品の出荷チェックを行うラインなどで、当該ラインを流れてくる商品に付された情報コードＣ１の読取りに用いられる。そして、ホスト機器２は、ラインを流れる商品ごとに、その商品に付されている情報コードＣ１の読取りをコードリーダ１に実行させるタイミングで、読取実行指令Ｓをコードリーダ１に送信する。
【００２３】
［１−２］コードリーダの構成
図２は、コードリーダ１の構成を概念的に示したブロック図である。コードリーダ１は、投光ＬＥＤ１１と、レンズ１２と、ＣＭＯＳセンサ１３と、Ａ／Ｄコンバータ１４と、ＣＰＵ１５と、メモリ１６と、入出力Ｉ／Ｆ１７と、を備える。ここで、ＬＥＤはLight  Emitting  Deviceの略、ＣＭＯＳはComplementary  Metal  Oxide  Semiconductorの略、Ａ／ＤはAnalog  to  Digitalの略、ＣＰＵはCentral  Processing  Unitの略、Ｉ／ＦはInterfaceの略である。
【００２４】
＜投光ＬＥＤ＞
投光ＬＥＤ１１は、読取処理の実行時に、読取対象Ｔとなる部分に光を照射する。読取対象Ｔに照射された光は、当該読取対象Ｔの表面において、ＱＲコード（登録商標）を構成する黒色のセルの部分で吸収される一方で、黒色のセル以外の下地の部分（白色系の部分。ＱＲコード（登録商標）を構成する白色のセルの部分を含む）で反射される。そして、読取対象Ｔの表面で反射された光（読取対象Ｔからの反射光）は、当該読取対象Ｔの像を構成する光としてレンズ１２に入射する。
【００２５】
＜レンズ＞
レンズ１２は、読取対象Ｔからの反射光を、ＣＭＯＳセンサ１３の検出面上に集光させることで、当該検出面上に読取対象Ｔの像を形成する。これにより、ＣＭＯＳセンサ１３は、読取対象Ｔの像を鮮明に捉えることができる。
【００２６】
＜ＣＭＯＳセンサ＞
ＣＭＯＳセンサ１３は、読取対象Ｔを撮像する光学センサであり、レンズ１２で集光させた光を検出して読取対象Ｔの２次元的な像を捉える。そして本実施形態では、ＣＭＯＳセンサ１３の撮像範囲Ｒが次のように設定されている。製造工場などでは、同じラインに、１種類の商品だけが流れる場合に限らず、様々な種類の商品が流れる場合がある。また、商品に付される情報コードＣ１の位置は、商品の種類ごとに異なることが多い。このため、同じラインに種類の異なる商品が流れた場合でも、それぞれの商品に付されている情報コードＣ１を全て読み取ることができるように、ＣＭＯＳセンサ１３の撮像範囲Ｒは、情報コードＣ１が付されている位置として想定できる全ての位置を包含できるように設定される。
【００２７】
図３（Ａ）〜（Ｃ）は、種類の異なる商品に付されている情報コードＣ１を全て読み取ることができるように設定された撮像範囲Ｒを例示した図である。図３（Ａ）〜（Ｃ）には、撮像範囲Ｒの一例として、３つの異なる位置に付された情報コードＣ１を全て読み取ることができるように設定されたものが示されている。
【００２８】
そして、このように商品ごとにＣＭＯＳセンサ１３で撮像される部分（即ち、撮像範囲Ｒ全域に写る部分）が、コードリーダ１の読取対象Ｔとなる。また、ＣＭＯＳセンサ１３は、読取対象Ｔの２次元的な像を捉えた場合、その像を構成している光が持つ光学情報（明暗など）に応じた電気信号（アナログ信号）を出力する。
【００２９】
＜Ａ／Ｄコンバータ＞
Ａ／Ｄコンバータ１４は、ＣＭＯＳセンサ１３のフォトダイオードから出力される電気信号（アナログ信号）を撮像データＤｒ（デジタル信号）に変換する。これにより、ＣＭＯＳセンサ１３で２次元的に捉えられた読取対象Ｔの像に対応した撮像データＤｒが得られ、読取対象Ｔの像に対するＣＰＵ１５でのデータ解析が可能になる。
【００３０】
ここで、上記撮像データＤｒ（即ち、ＣＭＯＳセンサ１３の撮像範囲Ｒ全域が写った撮像データ）を用いて、従来のように撮像範囲Ｒ全域から情報コードＣ１を探索し、情報コードＣ１が見つかった場合に、その情報コードＣ１の読取りを実行したのでは、情報コードＣ１を探索するための処理に時間を要し、読取りの効率が低下してしまう。
【００３１】
そこで、本実施形態のコードリーダ１は、読取処理において、ＣＭＯＳセンサ１３の撮像範囲Ｒ全域が写った撮像データＤｒを用いつつも、ラインを流れてくる商品ごと（即ち、読取対象Ｔごと）に、情報コードＣ１を、その商品に応じた範囲（具体的には、撮像範囲Ｒより狭くても商品ごとの情報コードＣ１の全体像を包含できる範囲）に絞って探索する。尚、読取処理の詳細については、後述の「［１−３］読取処理」の箇所で説明する。
【００３２】
＜ＣＰＵ＞
ＣＰＵ１５は、コードリーダ１の制御部であり、メモリ１６に記憶されているプログラムを読み出して実行することにより、読取処理を実現するための処理部として機能する。尚、コードリーダ１の制御部は、ＣＰＵ１５に限らず、読取処理を実現できる他の処理装置（マイクロコンピュータなど）に適宜変更されてもよい。
【００３３】
本実施形態において、読取処理を実現するための処理部には、取得制御部１５１と、解析処理部１５２と、出力処理部１５３と、が含まれる（図２参照）。これらの処理部が行う処理の概要は以下のとおりである。尚。それらの処理の詳細については、後述の「［１−３］読取処理」の箇所で説明する。
【００３４】
取得制御部１５１は、ラインを流れてくる商品ごと（即ち、読取対象Ｔごと）にホスト機器２から送信されてくる読取実行指令Ｓを取得する。そして、取得制御部１５１は、読取実行指令Ｓを取得した場合に、読取対象Ｔへの光の照射を投光ＬＥＤ１１に実行させると共に、光が照射された読取対象Ｔの撮像をＣＭＯＳセンサ１３に実行させる。これにより、読取対象Ｔの撮像データＤｒがＡ／Ｄコンバータ１４から出力される。
【００３５】
本実施形態では、ホスト機器２は、ラインを流れる商品ごとに、その商品に付されている情報コードＣ１の読取りをコードリーダ１に実行させるタイミングで、読取実行指令Ｓと共に範囲指定情報Ｓｐをコードリーダ１に送信する。ここで、範囲指定情報Ｓｐは、ＣＭＯＳセンサ１３の撮像範囲Ｒ内に、当該撮像範囲Ｒより狭くても商品ごとの情報コードＣ１の全体像を包含できる範囲を、読取範囲Ｒｃ（図３（Ａ）〜（Ｃ）参照）として指定するための情報である。ここで、読取範囲Ｒｃは、後述する読取処理において情報コードＣ１の探索の対象となる範囲である。そして、取得制御部１５１は、読取実行指令Ｓの取得時に範囲指定情報Ｓｐも取得し、解析処理部１５２が、その範囲指定情報Ｓｐを用いて撮像データＤｒのデータ解析を行う。
【００３６】
一例として、撮像範囲Ｒ内に読取範囲Ｒｃを長方形で指定する場合には、その長方形が持つ４つの頂点の座標が、範囲指定情報Ｓｐとして用いられる。尚、読取範囲Ｒｃは、撮像範囲Ｒ内に長方形で指定される場合に限らず、他の形状（円形など）で指定されてもよい。また、撮像範囲Ｒ内に指定される読取範囲Ｒｃの形状に応じて、その形状を規定できる情報（例えば、中心座標と半径など）が、範囲指定情報Ｓｐとして用いられてもよい。
【００３７】
本実施形態では更に、範囲指定情報Ｓｐは、読取実行指令Ｓに付加又は包含された状態で、ホスト機器２からコードリーダ１に送信される。これにより、ラインを流れてくる商品ごと（即ち、読取対象Ｔごと）にコードリーダ１に送信される読取実行指令Ｓ及び範囲指定情報Ｓｐの関連付けが容易になる。この場合、取得制御部１５１は、読取実行指令Ｓ内のデータ又は読取実行指令Ｓに付加されているデータを読み取ることで、範囲指定情報Ｓｐを取得できる。尚、範囲指定情報Ｓｐは、読取実行指令Ｓとの関連付けが可能であれば、当該読取実行指令Ｓに付加又は包含される場合に限らず、読取実行指令Ｓとは別個にコードリーダ１に送信されてもよい。
【００３８】
解析処理部１５２は、Ａ／Ｄコンバータ１４から出力される撮像データＤｒ（デジタル信号）を用いて、読取対象Ｔの２次元的な像に対するデータ解析を行う。本実施形態では、解析処理部１５２は、撮像範囲Ｒ全域が写った撮像データＤｒのうちの、取得制御部１５１が取得した範囲指定情報Ｓｐで指定される読取範囲Ｒｃについてのデータ（後述する部分データＤｒｐや全域データＤｒｑなど。以下、これらを纏めて「読取対象データＤｒｃ」と称す）に基づいて、読取対象Ｔから情報コードＣ１を読み取るための解析を行う。
【００３９】
出力処理部１５３は、解析処理部１５２での解析結果を入出力Ｉ／Ｆ１７から出力する。
【００４０】
＜メモリ＞
メモリ１６は、各種情報（上述したプログラムを含む）を記憶する記憶部であり、揮発性メモリや不揮発性メモリを含む。
【００４１】
＜入出力Ｉ／Ｆ＞
入出力Ｉ／Ｆ１７は、各種信号の入出力に用いられるインタフェースであり、入出力端子や通信インタフェースなどを含む。本実施形態では、ホスト機器２が入出力Ｉ／Ｆ１７に接続されている。そして、ホスト機器２からの読取実行指令Ｓ及び範囲指定情報Ｓｐが、入出力Ｉ／Ｆ１７からコードリーダ１に入力され、解析処理部１５２での解析結果が、入出力Ｉ／Ｆ１７からホスト機器２へ出力される。
【００４２】
［１−３］読取処理
図４は、本実施形態で実行される読取処理を示したフローチャートである。読取処理は、ホスト機器２から送信されてくる読取実行指令Ｓをコードリーダ１の取得制御部１５１が取得したときに開始される。このとき、取得制御部１５１は、読取実行指令Ｓと共に範囲指定情報Ｓｐも取得する。
【００４３】
読取処理が開始されると、先ず、取得制御部１５１が、読取対象Ｔとなる部分への光の照射を投光ＬＥＤ１１に実行させると共に、光が照射された部分の撮像をＣＭＯＳセンサ１３に実行させることにより、撮像データＤｒを取得する（図４のステップＳ１１）。具体的には、読取対象Ｔの２次元的な像の光学情報（明暗など）に応じた電気信号（アナログ信号）がＣＭＯＳセンサ１３から出力され、その電気信号が、Ａ／Ｄコンバータ１４で撮像データＤｒ（デジタル信号）に変換される。そして、その撮像データＤｒがＣＰＵ１５に入力される。
【００４４】
ＣＰＵ１５に撮像データＤｒが入力されると、解析処理部１５２が、その撮像データＤｒを用いて、読取対象Ｔの２次元的な像に対するデータ解析を以下のように行う。
【００４５】
先ず、解析処理部１５２は、情報コードＣ１の探索の対象となる読取範囲Ｒｃを、撮像範囲Ｒ内のどの領域にするかを決定する（図４のステップＳ１２）。具体的には、解析処理部１５２は、取得制御部１５１が取得した範囲指定情報Ｓｐを用いて、当該範囲指定情報Ｓｐで指定される撮像範囲Ｒ内の領域を読取範囲Ｒｃとして決定する。
【００４６】
次に、解析処理部１５２は、読取対象データＤｒｃ（撮像範囲Ｒ全域が写った撮像データＤｒのうちの読取範囲Ｒｃについてのデータ）に基づいて、読取対象Ｔから情報コードＣ１を読み取るための解析を行う（図４のステップＳ１３）。ここでは、読取範囲Ｒｃは、範囲指定情報Ｓｐで指定された範囲であり（ステップＳ１２）、解析処理部１５２は、撮像データＤｒのうちの読取範囲Ｒｃに対応した部分データＤｒｐを読取対象データＤｒｃとして用いることにより、読取対象Ｔから情報コードＣ１を読み取るための解析を行う。
【００４７】
ステップＳ１３では、解析処理部１５２は、読取対象データＤｒｃに対して二値化処理を行う（図４のステップＳ１３１）。具体的には、解析処理部１５２は、読取対象データＤｒｃにおいて、信号の強度が閾値より大きい部分（明るい部分）を「１」とし、信号の強度が閾値より小さい部分（暗い部分）を「０」とする。これにより、解析処理部１５２は、読取対象データＤｒｃを、「０」と「１」の数字の並びに変換することで、ＱＲコード（登録商標）を構成する黒色のセルに対応して「０」が連続して現れる部分と、黒色のセル以外の下地の部分（情報コードＣ１を構成する白色のセルの部分を含む）に対応して「１」が連続して現れる部分とを判別することが可能になる。
【００４８】
その後、解析処理部１５２は、二値化後のデータを用いて、読取範囲Ｒｃ内から情報コードＣ１を探索する（図４のステップＳ１３２）。そして、解析処理部１５２は、ステップＳ１３２にて情報コードＣ１を見つけることができなかった場合（「Ｎｏ」の場合）、そのことを以て、読取範囲Ｒｃ内に情報コードＣ１がないと判定する。この場合、読取対象Ｔ内に情報コードＣ１がないとの判定結果が、出力処理部１５３により、入出力Ｉ／Ｆ１７からホスト機器２へ出力される（図４のステップＳ２１）。その後、読取処理が終了する。即ち、解析処理部１５２は、後述するステップＳ１３３〜Ｓ１３５の処理（情報コードＣ１を読み取るための処理（デコードなど））を実行することなく、途中で読取対象Ｔに対する読取りを停止する。
【００４９】
一方、解析処理部１５２は、ステップＳ１３２にて情報コードＣ１を見つけることができた場合（「Ｙｅｓ」の場合）、そのことを以て、読取範囲Ｒｃ内に情報コードＣ１があると判定する。この場合、解析処理部１５２は、読取範囲Ｒｃ内にある情報コードＣ１を読み取るための処理を更に実行する。具体的には、以下のとおりである。
【００５０】
解析処理部１５２は、二値化後のデータを用いてデコードを行う（図４のステップＳ１３３）。具体的には、解析処理部１５２は、二値化後のデータから得られる黒色のセルと白色のセルとの組合せを、コード規則に従ってコード化する。そして、デコードに成功した場合には、文字や画像などの情報が得られる。一方、印刷不良で情報コードＣ１の一部が不鮮明であったり、情報コードＣ１のシールに皺が生じていたりした場合には、解析処理部１５２は、不鮮明な部分や皺の部分でコード化できずに、デコードに失敗することになる。
【００５１】
そこで、解析処理部１５２は、デコードの実行後に、そのデコード（コード規則に従ったコード化）に成功できたか否かを判断する（図４のステップＳ１３４）。そして、解析処理部１５２は、ステップＳ１３４で「デコードに成功できた（Ｙｅｓ）」と判断した場合、その判断を以て、情報コードＣ１の読取りに成功したと判断する。この場合、情報コードＣ１の読取りに成功したとの解析結果が、出力処理部１５３により、入出力Ｉ／Ｆ１７からホスト機器２へ出力される（図４のステップＳ２２Ａ）。このとき、出力処理部１５３は、ステップＳ１３２での判定結果（即ち、読取範囲Ｒｃ内に情報コードＣ１があるとの判定結果）もホスト機器２へ出力してもよい。その後、読取処理が終了する。
【００５２】
一方、解析処理部１５２は、ステップＳ１３４で「デコードに成功できなかった（Ｎｏ）」と判断した場合、その判断を以て、情報コードＣ１の読取りに失敗したと判断する。この場合、解析処理部１５２は、読取処理の開始時からの経過時間ｔが、所定時間ｔｃに達したか否かを判断する（図４のステップＳ１３５）。ここで、所定時間ｔｃは、デコードに成功できなかった場合に、読取りのリトライをどの程度の時間が経過するまで繰り返すかを規定したものである。
【００５３】
そして、解析処理部１５２は、ステップＳ１３５にて「所定時間ｔｃに達していない（Ｎｏ）」と判断した場合、ステップＳ１３３からの処理を再び実行する（リトライ）。一方、ステップＳ１３５にて解析処理部１５２が「所定時間ｔｃに達した（Ｙｅｓ）」と判断した場合には、情報コードＣ１の読取りに失敗したとの解析結果が、出力処理部１５３により、入出力Ｉ／Ｆ１７からホスト機器２へ出力される（図４のステップＳ２２Ｂ）。このとき、出力処理部１５３は、ステップＳ１２での判定結果（即ち、読取範囲Ｒｃ内に情報コードＣ１があるとの判定結果）もホスト機器２へ出力してもよい。その後、読取処理が終了する。
【００５４】
上記読取処理によれば、商品ごと（即ち、読取対象Ｔごと）の読取範囲Ｒｃとして、撮像範囲Ｒより狭くても情報コードＣ１の全体像を包含できる範囲が、範囲指定情報Ｓｐを用いて指定されるため、情報コードＣ１の探索範囲が、撮像範囲Ｒ全域から読取範囲Ｒｃに絞られる。従って、撮像範囲Ｒ全域を対象として情報コードＣ１の探索を行う必要がなくなる。よって、情報コードＣ１を探索するための処理に必要な時間が短縮化され、その結果として、情報コードＣ１の読取りが高速化される。また、商品ごとに、範囲指定情報Ｓｐが、読取実行指令Ｓに関連付けてホスト機器２からコードリーダ１に送信されるため、商品ごとの読取範囲Ｒｃの設定が自動化される。よって、商品ごとに情報コードＣ１の位置が異なる場合でも、当該情報コードＣ１を効率良く読み取ることができる。
【００５５】
［２］変形例
上述した情報コード読取システムは、以下のように変形されてもよい。
【００５６】
［２−１］第１変形例
ステップＳ１３２での探索の結果として読取範囲Ｒｃ内に情報コードＣ１がなかった場合には、その原因として、（１）情報コードＣ１の位置にズレが生じたために、読取範囲Ｒｃ内に情報コードＣ１が全く含まれなくなったか、或いは、（２）部分的にしか含まれておらず、ステップＳ１３２にて情報コードＣ１と認識できないことが考えられる。また、ステップＳ１３３でのデコードの結果としてデコードに失敗した場合には、その原因として、（３）読取範囲Ｒｃ内に情報コードＣ１が部分的にしか含まれておらず、情報コードＣ１があることは認識できるが、読取範囲Ｒｃからはみ出した分の情報が欠落していることが考えられる。そこで、コードリーダ１は、以下のような読取処理を行ってもよい。尚、図５には、前者の例として、読取範囲Ｒｃ内に情報コードＣ１が全く含まれなくなった場合が示されている。
【００５７】
図６Ａ及び図６Ｂは、第１変形例で実行される一連の読取処理を示したフローチャートである。本変形例では解析処理部１５２は、ステップＳ１３２にて読取範囲Ｒｃ内に情報コードＣ１を見つけることができないか、或いは、ステップＳ１３３でデコードに成功できずに所定時間ｔｃが経過した場合、読取範囲Ｒｃを撮像範囲Ｒ全域に変更する（図６ＡのステップＳ１４。図７（Ａ）参照）。その後、解析処理部１５２は、撮像データＤｒのうちの撮像範囲Ｒ全域に対応した全域データＤｒｑ（即ち、撮像データＤｒそのもの）を読取対象データＤｒｃとして用いて、改めて、ステップＳ１３と同様のデータ解析を行う（図６ＢのステップＳ１５（ステップＳ１５１〜Ｓ１５５））。
【００５８】
そして、ステップＳ１５２にて情報コードＣ１が見つけられなかった場合に、読取対象Ｔ内に情報コードＣ１がないとの判定結果が、出力処理部１５３により、入出力Ｉ／Ｆ１７からホスト機器２へ出力される（図６ＢのステップＳ２１）。
【００５９】
一方、ステップＳ１５２にて情報コードＣ１が見つけられた場合には、二値化後のデータに対するデコードが実行され（図６ＢのステップＳ１５３）、デコードが成功した場合に、情報コードＣ１の読取りに成功したとの解析結果が、出力処理部１５３により、入出力Ｉ／Ｆ１７からホスト機器２へ出力される（図６ＢのステップＳ２２Ａ）。これに対し、デコードが成功せずに所定時間ｔｃが経過した場合には、情報コードＣ１の読取りに失敗したとの解析結果が、出力処理部１５３により、入出力Ｉ／Ｆ１７からホスト機器２へ出力される（図６ＢのステップＳ２２Ｂ）。
【００６０】
尚、上述したステップＳ１４及びＳ１５の処理は、ステップＳ１３２にて読取範囲Ｒｃ内に情報コードＣ１を見つけることができないか、或いは、ステップＳ１３３でデコードに成功できずに所定時間ｔｃが経過した場合の何れか一方でのみ実行されてもよい。
【００６１】
第１変形例の読取処理によれば、ホスト機器２側での範囲指定情報Ｓｐの設定ミスや、情報コードＣ１の印刷位置のズレ、情報コードＣ１のシールの貼付位置のズレなどが原因で、情報コードＣ１が、範囲指定情報Ｓｐで指定された読取範囲Ｒｃからはみ出た場合でも、情報コードＣ１を読み取ることが可能になる。
【００６２】
［２−２］第２変形例
第１変形例において、解析処理部１５２が、読取範囲Ｒｃを撮像範囲Ｒ全域に変更してデータ解析を行い（図６ＡのステップＳ１４及び図６ＢのステップＳ１５）、その結果として、情報コードＣ１の読取りに成功した場合、解析処理部１５２は、その情報コードＣ１が付された商品と同じ種類の商品については、読取範囲Ｒｃとして、撮像範囲Ｒ内における当該情報コードＣ１の位置（即ち、読取りに成功した情報コードＣ１の位置）を基準にした範囲を新たに設定してもよい（図７（Ｂ）参照）。
【００６３】
また、解析処理部１５２は、ステップＳ１４及びＳ１５での処理の結果として情報コードＣ１の読取りに成功した場合に、即座に新たな範囲を読取範囲Ｒｃとして設定するのではなく、次のような処理を行ってもよい。解析処理部１５２は、同じ種類の幾つかの商品について、ステップＳ１４及びＳ１５での処理の結果として情報コードＣ１の読取りに成功した場合であって、且つ、その情報コードＣ１の位置が、一定の範囲（例えば、範囲指定情報Ｓｐで指定される範囲と同程度の広さの範囲）に偏っていた場合に、その範囲を読取範囲Ｒｃとして新たに設定してもよい。
【００６４】
新たに設定された読取範囲Ｒｃの情報は、ホスト機器２に送信されてもよい。この場合、ホスト機器２は、受信した当該読取範囲Ｒｃの情報を、それに対応した同じ種類の商品についての範囲指定情報Ｓｐに反映させることができる。これにより、その後にラインを流れる同じ種類の商品については、反映済みの範囲指定情報Ｓｐがコードリーダ１に送信されることになる。
【００６５】
或いは、新たに設定された読取範囲Ｒｃの情報は、例えばメモリ１６に記憶されることで、コードリーダ１によって保持されてもよい。この場合、解析処理部１５２は、新たに設定した読取範囲Ｒｃに対応する同じ種類の商品については、情報コードＣ１の読取りのタイミングでホスト機器２から送信されてくる範囲指定情報Ｓｐに変えて、メモリ１６に記憶されている読取範囲Ｒｃの情報を用いてもよい。
【００６６】
このような第２変形例の読取処理によれば、ホスト機器２側での範囲指定情報Ｓｐの設定ミスや、情報コードＣ１の印刷位置のズレ、情報コードＣ１のシールの貼付位置のズレなどが、装置や作業者の癖として同じ傾向で現れた場合に、その傾向を読取範囲Ｒｃに反映させることができる。
【００６７】
［２−３］他の変形例
上述したコードリーダ１は、読取対象Ｔを撮像する光学センサとして、ＣＭＯＳセンサ１３に限らず、ＣＣＤ（Charge  Coupled  Device）センサなどの撮像素子を備えたものであってもよい。また、コードリーダ１が実行する上述の読取処理は、ＱＲコード（登録商標）などの２次元コードの読取りに限らず、バーコード、ＥＡＮ（European  Article  Number）、Ｃｏｄｅ３９などの１次元コードの読取りにも適用できる。
【００６８】
上述の実施形態の説明は、すべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述の実施形態ではなく、特許請求の範囲によって示される。更に、本発明の範囲には、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【００６９】
１  コードリーダ
２  ホスト機器
Ｒ  撮像範囲
Ｓ  読取実行指令
Ｔ  読取対象
ｔ  経過時間
１１  投光ＬＥＤ
１２  レンズ
１３  ＣＭＯＳセンサ
１４  Ａ／Ｄコンバータ
１５  ＣＰＵ
１６  メモリ
１７  入出力Ｉ／Ｆ
Ｃ１  情報コード
Ｄｒ  撮像データ
Ｒｃ  読取範囲
Ｓｐ  範囲指定情報
ｔｃ  所定時間
１５１  取得制御部
１５２  解析処理部
１５３  出力処理部
Ｄｒｃ  読取対象データ
Ｄｒｐ  部分データ
Ｄｒｑ  全域データ
【図１】
2020154908.tif 000003
【図２】
2020154908.tif 000004
【図３】
2020154908.tif 000005
【図４】
2020154908.tif 000006
【図５】
2020154908.tif 000007
【図６Ａ】
2020154908.tif 000008
【図６Ｂ】
2020154908.tif 000009
【図７】
2020154908.tif 000010