(57)【要約】【課題】センサを用いることなく、読取対象を効率よく撮像することができる２次元画像読取装置、２次元画像読取方法、及び２次元画像読取プログラムを提供する。【解決手段】２次元画像読取装置は、撮像データ取得部と、デコード部と、撮像タイミング制御部と、を備えている。撮像データ取得部は、撮像データを取得する。デコード部は、前記撮像データから２次元画像として示された識別コードをデコードする。撮像タイミング制御部は、所定周期に基づく撮像タイミングで前記撮像データ取得部に前記撮像データを取得させ、前記撮像データの撮像結果に基づいて前記所定周期を変更する。【選択図】図２
2020154909.tif 000002
【特許請求の範囲】
【請求項１】
撮像データを取得する撮像データ取得部と、
前記撮像データから２次元画像として示された識別コードをデコードするデコード部と、
所定周期に基づく撮像タイミングで前記撮像データ取得部に前記撮像データを取得させ、前記撮像データの撮像結果に基づいて前記所定周期を変更する撮像タイミング制御部と、
を備えた２次元画像読取装置。
【請求項２】
前記撮像タイミング制御部は、前回の撮像タイミングにおける前記撮像データ内の前記２次元画像の位置と、今回の撮像タイミングにおける前記撮像データ内の前記２次元画像の位置と、に基づいて前記所定周期を変更する、
請求項１に記載の２次元画像読取装置。
【請求項３】
前記撮像タイミング制御部は、前記撮像データの撮像結果に基づいて、前記所定周期を変更せずに前記撮像タイミングを補正する、
請求項１または請求項２に記載の２次元画像読取装置。
【請求項４】
前記撮像タイミング制御部は、前記補正が所定回数以上継続した場合に、前記所定周期を変更する、
請求項３の記載の２次元画像読取装置。
【請求項５】
撮像データを取得する撮像データ取得ステップと、
前記撮像データから２次元画像として示された識別コードをデコードするデコードステップと、
所定周期に基づく撮像タイミングで前記撮像データ取得ステップで前記撮像データを取得させ、前記撮像データの撮像結果に基づいて前記所定周期を変更する撮像タイミング制御ステップと、
を備えた２次元画像読取方法。
【請求項６】
撮像データを取得する撮像データ取得ステップと、
前記撮像データから２次元画像として示された識別コードをデコードするデコードステップと、
所定周期に基づく撮像タイミングで前記撮像データ取得ステップで前記撮像データを取得させ、前記撮像データの撮像結果に基づいて前記所定周期を変更する撮像タイミング制御ステップと、
を２次元画像読取装置に実行させる２次元画像読取プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１次元コードまたは２次元コードなどの２次元画像を読み取る技術に関する。
【背景技術】
【０００２】
情報コード読取装置には、バーコードなどの１次元コードを読み取る１次元コードリーダや、ＱＲコード（登録商標）などの２次元コードを読み取る２次元コードリーダが存在する。これらのコードリーダは、１次元コードや２次元コードなどの情報コードから光学情報を取得する光学センサ（撮像素子など）を備え、当該光学センサから出力される電気信号（アナログ信号）をデジタル信号に変換し、そのデジタル信号をデコードすることにより、情報コードを読み取る（例えば、特許文献１参照）。
【０００３】
このような情報コード読取装置は、例えば、製造工場において商品の出荷チェックを行うラインなどで、当該ラインを流れてくる商品に付された情報コードの読取りに用いられる。そして、このような製造工場のラインなどでは、近年、情報コードの読取りが自動化されつつある。
【０００４】
読取対象の商品等は、一定の間隔で並んでいて、一定速度で移動している場合がある。この様な一定の間隔で並んでいる読取対象を効率よく撮像するためには、例えばセンサを併用して、当該センサで読取対象が検出された場合に撮像を行なうことが考えられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−５１２０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、センサを併用する場合、コードリーダとは別の機器が必要であるため、余分なコストがかかる。また、センサに対する余分な設置スペースが必要である。また、センサとコードリーダとをそれぞれ、ホスト機器を用いて制御する必要があり、操作が煩雑になる。
【０００７】
そこで本発明の目的は、センサを用いることなく、読取対象を効率よく撮像することができる２次元画像読取装置、２次元画像読取方法、及び２次元画像読取プログラムを提供することである。
【課題を解決するための手段】
【０００８】
本発明に係る２次元画像読取装置は、撮像データ取得部と、デコード部と、撮像タイミング制御部と、を備えている。撮像データ取得部は、撮像データを取得する。デコード部は、前記撮像データから２次元画像として示された識別コードをデコードする。撮像タイミング制御部は、所定周期に基づく撮像タイミングで前記撮像データ取得部に前記撮像データを取得させ、前記撮像データの撮像結果に基づいて前記所定周期を変更する。
【０００９】
例えば、撮像タイミング制御部は、撮像データ内に２次元画像を抽出できるまで、撮像タイミングの周期をランダムに変更する。あるいは、撮像タイミング制御部は、前回の撮像タイミングにおける撮像データ内の２次元画像の位置と、今回の撮像タイミングにおける撮像データ内の２次元画像の位置と、に基づいて所定周期を変更してもよい。
【００１０】
読取対象の移動周期に対して撮像タイミングの周期が早い場合または遅い場合、撮像毎に２次元画像の位置がずれる。したがって、撮像タイミング制御部は、撮像毎に２次元画像の位置がずれる場合、撮像タイミングの所定周期を短くする、または長くする。
【００１１】
また、読取対象は、撮像データ内の中心付近に検出されることが好ましい。しかし、例えば、撮像タイミングが早すぎる場合、２次元画像は、撮像データの端部に検出される。したがって、撮像タイミング制御部は、撮像タイミングを遅らせる補正を行なう。
【００１２】
この様な補正が所定回数以上継続した場合、読取対象の移動周期に対して撮像タイミングの周期がずれている可能性が高い。したがって、撮像タイミング制御部は、補正が所定回数以上継続した場合に、所定周期を変更する。
【発明の効果】
【００１３】
本発明によれば、別途センサを用いることなく、読取対象を効率よく撮像することができる。
【図面の簡単な説明】
【００１４】
【図１】コードリーダを備えた読取システムを例示した概念図である。
【図２】コードリーダの構成を概念的に示したブロック図である。
【図３】読取処理を示したフローチャートである。
【図４】撮像タイミングの制御の動作を示すフローチャートである。
【図５】図５（Ａ）および図５（Ｂ）は、撮像データの一例を示す図である。
【図６】図６（Ａ）および図６（Ｂ）は、撮像データの一例を示す図である。
【図７】撮像データの一例を示す図である。
【発明を実施するための形態】
【００１５】
１次元コードまたは２次元コードの情報コードを読み取るコードリーダに本発明を適用した実施形態について、具体的に説明する。
【００１６】
［１−１］概要  
図１は、本実施形態のコードリーダ１を備えた読取システムを例示した概念図である。図１に示されるように、読取システムは、コードリーダ１に接続されるホスト機器２（パーソナルコンピュータなど）を備え、当該ホスト機器２によって読取システム全体が管理及び制御される。
【００１７】
このような読取システムは、例えば、図１に示す様な検体５０を搬送する装置等に用いられる。当該装置は、モータ５により、複数の検体５０を所定の移動速度で移動させる。本実施形態の読取システムは、検体５０の側面に貼り付けられた情報コードＣ１の読取りに用いられる。この場合、検体５０の側面のうち情報コードＣ１が付されているべき部分が、コードリーダ１の読取対象Ｔとなる。無論、本実施形態の読取システムは、例えば、製造工場において商品の出荷チェックを行うラインなどにおいて、当該ラインを一定の速度で流れてくる商品に付された情報コードＣ１の読取りに用いることもできる。
【００１８】
検体５０は、一定の間隔で並んでいて、一定速度で移動している。この様な一定の間隔で並んでいる読取対象Ｔを効率よく撮像するためには、例えばセンサを併用して、当該センサで読取対象が検出された場合に撮像を行なうことが考えられる。また、読取対象Ｔの移動速度に合わせて、撮像タイミングを手動で調整することも考えられる。
【００１９】
しかし、センサを併用する場合、コードリーダとは別の機器が必要であるため、余分なコストがかかる。また、センサに対する余分な設置スペースが必要である。また、センサとコードリーダとをそれぞれ、ホスト機器を用いて制御する必要があり、煩雑である。
【００２０】
一方で、撮像タイミングを手動で調整するのは非常に煩雑である。また、長時間使用していると、わずかな撮像タイミングのずれが蓄積されて、情報コードを読み取りできなくなる可能性もある。
【００２１】
本実施形態のコードリーダ１は、センサを用いることなく、読取対象を効率よく撮像することができ、かつ手動調整を行なう必要もない。以下、コードリーダ１の詳細について、具体的に説明する。
【００２２】
［１−２］コードリーダの構成  
図２は、コードリーダ１の構成を概念的に示したブロック図である。コードリーダ１は、投光ＬＥＤ１１と、レンズ１２と、ＣＭＯＳセンサ１３と、Ａ／Ｄコンバータ１４と、ＣＰＵ１５と、メモリ１６と、入出力Ｉ／Ｆ１７と、を備える。ここで、ＬＥＤはLight  Emitting  Deviceの略、ＣＭＯＳはComplementary  Metal  Oxide  Semiconductorの略、Ａ／ＤはAnalog  to  Digitalの略、ＣＰＵはCentral  Processing  Unitの略、Ｉ／ＦはInterfaceの略である。
【００２３】
＜投光ＬＥＤ＞  
投光ＬＥＤ１１は、読取処理の実行時に、読取対象Ｔとなる部分に光を照射する。読取対象Ｔに照射された光は、当該読取対象Ｔの表面において、情報コードＣ１を構成する黒色系の部分で吸収される一方で、情報コードＣ１以外の部分（情報コード内の黒色の部分の間を含む。白色系の部分）で反射される。そして、読取対象Ｔの表面で反射された光（読取対象Ｔからの反射光）は、当該読取対象Ｔの像を構成する光としてレンズ１２に入射する。
【００２４】
＜レンズ＞  
レンズ１２は、読取対象Ｔからの反射光を、ＣＭＯＳセンサ１３の検出面上に集光させることで、当該検出面上に読取対象Ｔの像を形成する。これにより、ＣＭＯＳセンサ１３は、読取対象Ｔの像を鮮明に捉えることができる。
【００２５】
＜ＣＭＯＳセンサ＞  
ＣＭＯＳセンサ１３は、読取対象Ｔを撮像する光学センサであり、本発明における撮像データ取得部の一例である。ＣＭＯＳセンサ１３は、フォトダイオード（受光素子）がマトリクス状に並んだエリアセンサである。ＣＭＯＳセンサ１３は、レンズ１２で集光させた光を検出して読取対象Ｔの像を２次元的に捉えることにより、その像を構成する光が持つ光学情報（明暗など）を取得する。そして、ＣＭＯＳセンサ１３は、取得した光学情報に応じた信号を出力する。
【００２６】
ＣＭＯＳセンサ１３のフォトダイオードは、取得した光学情報に応じた電気信号（アナログ信号）を出力する。そして、この電気信号は、情報コードＣ１を構成する黒色の部分で強度が弱くなり、白色の部分で強度が強くなる。
【００２７】
＜Ａ／Ｄコンバータ＞  
Ａ／Ｄコンバータ１４は、ＣＭＯＳセンサ１３のフォトダイオードから出力される電気信号（アナログ信号）をデジタル信号に変換する。これにより、ＣＭＯＳセンサ１３で２次元的に捉えられた読取対象Ｔの像に対応する撮像データが得られる。
【００２８】
＜ＣＰＵ＞  
ＣＰＵ１５は、コードリーダ１の制御部であり、メモリ１６に記憶されているプログラムを読み出して実行することにより、読取処理を実現するための処理部として機能する。なお、コードリーダ１の制御部は、ＣＰＵ１５に限らず、読取処理を実現できる他の処理装置（マイクロコンピュータなど）に適宜変更されてもよい。
【００２９】
本実施形態において、読取処理を実現するための処理部には、取得制御部１５１と、解析処理部１５２と、出力処理部１５３と、撮像タイミング制御部１５４と、が含まれる（図２参照）。ここで、取得制御部１５１は、所定周期に基づく撮像タイミングで、読取対象Ｔとなる部分への光の照射を投光ＬＥＤ１１に実行させると共に、光が照射された部分の撮像をＣＭＯＳセンサ１３に実行させることにより、撮像データを取得する。解析処理部１５２は、Ａ／Ｄコンバータ１４から出力されるデジタル波形（デジタル信号）を用いて、撮像データに対するデータ解析を行う。
【００３０】
解析処理部１５２は、本発明のデコード部に対応する。解析処理部１５２は、撮像データから情報コードを切り出してデコードする。
【００３１】
出力処理部１５３は、解析処理部１５２でのデコード結果を入出力Ｉ／Ｆ１７から出力する。これにより、ホスト機器２にデコード結果が入力される。
【００３２】
撮像タイミング制御部１５４は、解析処理部１５２における撮像データの撮像結果に基づいて、取得制御部１５１の所定周期を変更する。
【００３３】
＜メモリ＞  
メモリ１６は、各種情報（上述したプログラムを含む）を記憶する記憶部であり、揮発性メモリや不揮発性メモリを含む。
【００３４】
＜入出力Ｉ／Ｆ＞  
入出力Ｉ／Ｆ１７は、各種信号の入出力に用いられるインタフェースであり、入出力端子や通信インタフェースなどを含む。本実施形態では、ホスト機器２が入出力Ｉ／Ｆ１７に接続されている。そして、ホスト機器２からの読取りの実行指令が、入出力Ｉ／Ｆ１７からコードリーダ１に入力され、解析処理部１５２でのデコード結果が、入出力Ｉ／Ｆ１７からホスト機器２へ出力される。
【００３５】
［１−３］読取処理  
図３は、読取処理を示したフローチャートである。読取処理は、ホスト機器２からの読取りの実行指令をコードリーダ１が受け取ったときに開始される。読取処理が開始されると、まず、取得制御部１５１は、所定周期で、読取対象Ｔとなる部分への光の照射を投光ＬＥＤ１１に実行させると共に、光が照射された部分の撮像をＣＭＯＳセンサ１３に実行させる。これにより、ＣＭＯＳセンサ１３は、読取対象Ｔの像（本実施形態では２次元的な像）についての光学情報（明暗など）を取得する（図３のステップＳ１１）。また、ＣＭＯＳセンサ１３は、光学情報を取得した場合、当該光学情報に応じた電気信号（アナログ信号）を出力する。ＣＭＯＳセンサ１３から出力された電気信号は、Ａ／Ｄコンバータ１４でデジタル信号に変換される。そして、そのデジタル信号が撮像データとしてＣＰＵ１５に入力される。
【００３６】
ＣＰＵ１５に撮像データが入力されると、解析処理部１５２は、解析処理を行なう（Ｓ１２）。具体的には、解析処理部１５２は、撮像データに含まれる情報コードの切り出し、フィルタリング処理、および二値化処理などの処理を実行する。解析処理部１５２は、例えば、リファレンスとなる１次元コードの画像パターンまたは２次元コードの画像パターンと、撮像データの画像とをマッチングして、情報コードらしき画像部分を切り出す処理を行なう。また、２次元コードに位置検出用パターンが存在する場合、解析処理部１５２は、位置検出用パターンを抽出することで、情報コードの画像部分を切り出す。解析処理部１５２は、デジタル信号の明度調整などのフィルタリング処理を行なう。解析処理部１５２は、フィルタリング処理後のデジタル信号を二値化する。具体的には、解析処理部１５２は、デジタル信号の強度が閾値より大きい部分（明るい部分）を「１」とし、デジタル信号の強度が閾値より小さい部分（暗い部分）を「０」とする。これにより、解析処理部１５２は、切り出した情報コードを、「０」の部分と「１」の部分に変換する。
【００３７】
そして、解析処理部１５２は、各種処理を行なった後の撮像データを用いてデコードを行う（Ｓ１３）。情報コードが１次元コードである場合、解析処理部１５２は、横方向（１次元）に並んだ「０」、「１」のパターンから、テキスト情報（英数字）の抽出を行なう。情報コードが２次元コードである場合、解析処理部１５２は、横方向および縦方向の両方のパターンから、テキスト情報の抽出を行なう。
【００３８】
そして、撮像タイミング制御部１５４は、解析処理部１５２における撮像データの撮像結果に基づいて、取得制御部１５１の所定周期を変更し、撮像タイミングを制御する（Ｓ１４）。
【００３９】
図４は、撮像タイミングの制御の動作を示すフローチャートである。撮像タイミング制御部１５４は、まず撮像データ内に情報コードが抽出されたか否かを判断する（Ｓ２１）。例えば、図５（Ａ）に示す様に情報コードＣ１の一部が撮像データからはみ出している場合、または図５（Ｂ）に示す様に撮像データ内に情報コードＣ１が全く抽出されない場合、読取対象Ｔの移動速度に対して所定周期が大きくずれている可能性が高い。したがって、撮像タイミング制御部１５４は、取得制御部１５１の所定周期を変更する（Ｓ２２）。例えば、撮像タイミング制御部１５４は、周期の分解能の最小単位（例えば０．０１秒）だけ周期を変更する。このとき、撮像タイミング制御部１５４は、周期を早くしてもよいし、遅くしてもよい。また、撮像タイミング制御部１５４は、ランダムに周期を変更してもよい。撮像タイミング制御部１５４は、Ｓ２１において、撮像データ内に情報コードが検出されたと判断するまで、周期の変更を繰り返す。これにより、撮像タイミング制御部１５４は、撮像データ内に情報コードが抽出される様に制御を行なう。
【００４０】
一方、撮像タイミング制御部１５４は、撮像データ内に情報コードが抽出されたと判断した場合、さらに、目標範囲内に情報コードが抽出されたか否かを判断する（Ｓ２３）。図６（Ａ）に示す様に、撮像タイミング制御部１５４は、例えば、撮像データの座標（Ｘ＝０〜１２７９，Ｙ＝０〜９５９）のうち、Ｘ＝４２０〜８４０の目標範囲内に情報コードが抽出されたか否かを判断する。
【００４１】
撮像タイミング制御部１５４は、Ｓ２３において、図６（Ｂ）に示す例の様に目標範囲内に情報コードが抽出されたと判断した場合、Ｓ２４の判断に進む。撮像タイミング制御部１５４は、Ｓ２４の判断において、所定回数以上連続して目標範囲内に情報コードを抽出したか否かを判断する。撮像タイミング制御部１５４は、所定回数以上連続して目標範囲内に情報コードを抽出したと判断した場合、読取対象Ｔの移動速度と所定周期が合致し、安定かつ効率的に撮像を行なうことができていると判断し、動作を終える。
【００４２】
ただし、例えば、撮像タイミングの制御を開始して最初の撮像データにおいて偶然に目標範囲内に情報コードが抽出された場合などがある。あるいは、複数回、偶然に目標範囲内に情報コードが抽出される場合などがある。したがって、撮像タイミング制御部１５４は、所定回数以上連続して目標範囲内に情報コードを抽出していないと判断した場合、Ｓ２１の判断に戻り、動作を繰り返す。
【００４３】
一方、撮像タイミング制御部１５４は、Ｓ２３の判断において、目標範囲内に情報コードが抽出されていないと判断した場合、補正処理を行なう（Ｓ２５）。
【００４４】
例えば、図６（Ａ）に示した例の場合、移動方向に対して反対側に情報コードが抽出されている。したがって、撮像タイミング制御部１５４は、所定周期を変更せずに次回の撮像タイミングのみ、所定時間（例えば０．０１秒）だけ遅くする。また、図７に示す様に、移動方向に沿って撮像範囲よりも後方に情報コードが抽出された場合、撮像タイミング制御部１５４は、所定周期を変更せずに次回の撮像タイミングのみ、所定時間（例えば０．０１秒）だけ早くする。これにより、撮像タイミング制御部１５４は、次の撮像タイミングにおいて、情報コードの位置を目標範囲に近づける。
【００４５】
次に、撮像タイミング制御部１５４は、補正回数が所定回数以上であるか否かを判断する（Ｓ２６）。撮像タイミング制御部１５４は、補正回数が所定回数未満であれば、そのままＳ２１の判断に戻る。一方で、撮像タイミング制御部１５４は、補正回数が所定回数以上であれば、前回の撮像タイミングにおける撮像データ内の情報コードの位置と、今回の撮像タイミングにおける撮像データ内の情報コードの位置と、に基づいて撮像タイミングの周期を変更する（Ｓ２７）。
【００４６】
上述の様に、撮像タイミング制御部１５４は、目標範囲内に情報コードが抽出されない場合には、所定周期を変更せずに次回の撮像タイミングのみ、撮像タイミングを遅くする、または早くすることで、情報コードの位置を目標範囲内に近づける処理を行なう。しかし、所定回数以上継続して補正が続く場合には、撮像タイミングの周期自体が撮像対象の移動速度とずれている可能性が高い。したがって、撮像タイミング制御部１５４は、補正回数が所定回数以上であれば、周期のずれであると判断して、情報コードの位置のずれが無くなる様に、周期を変更する。
【００４７】
以上の様にして、コードリーダ１は、別途センサを用いることなく、撮像タイミングを自動的に調整することができる。
【００４８】
なお、本実施形態では、情報コードＣ１が２次元コード（ＱＲコード（登録商標）、DataMatrix、またはMaxiCodeなど）である例を示したが、情報コードＣ１は１次元コードでもよい。１次元コードは、バーコード、ＥＡＮ（European  Article  Number）、またはＣｏｄｅ３９などが含まれる。
【００４９】
撮像タイミング制御部１５４は、２次元画像が１次元コードであっても、画像として解析することで、撮像タイミングの制御を行なうことができる。
【００５０】
上述の実施形態の説明は、すべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述の実施形態ではなく、特許請求の範囲によって示される。更に、本発明の範囲には、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【００５１】
例えば、本実施形態では、コードリーダ１が固定され、モータ５によって移動する検体５０等の読取対象Ｔを読み取る例を示したが、例えばコードリーダ１がモータによって移動されるものであってもよい。また、読取対象Ｔは、直線的に移動するものに限らない。例えば、円板状のテーブルを回転させるものであってもよい。
【００５２】
また、読取対象Ｔを撮像する光学センサは、ＣＭＯＳセンサ１３に限らない。例えば、ＣＣＤ（Charge  Coupled  Device）センサなどの撮像素子を備えたものであってもよい。
【符号の説明】
【００５３】
１  コードリーダ
２  ホスト機器
Ｔ  読取対象
１１  投光ＬＥＤ
１２  レンズ
１３  ＣＭＯＳセンサ
１４  Ａ／Ｄコンバータ
１５  ＣＰＵ
１６  メモリ
１７  入出力Ｉ／Ｆ
Ｃ１  情報コード
１５１  取得制御部
１５２  解析処理部
１５３  出力処理部
１５４  撮像タイミング制御部
【図１】
2020154909.tif 000003
【図２】
2020154909.tif 000004
【図３】
2020154909.tif 000005
【図４】
2020154909.tif 000006
【図５】
2020154909.tif 000007
【図６】
2020154909.tif 000008
【図７】
2020154909.tif 000009