(57)【要約】【課題】  適切な待機時間を設定することができる情報コード読取装置を提供する。【解決手段】  情報コード読取装置１０は、撮影手段１２と、待機時間記憶手段１８と、デコード手段２０と、特徴抽出手段１６を備えている。撮影手段１２は、情報コードを含む画像を撮影する。待機時間記憶手段１８は、待機時間を記憶する。デコード手段２０は、読み取りを開始してから待機時間が経過した後に撮影された画像の情報コードをデコードする。特徴抽出手段１６は、待機時間中に撮影された画像の特徴を抽出する。情報コード読取装置１０では、撮影手段１２は、影を開始してから待機時間が経過するまでの間に画像を繰返し撮影する。そして、情報コード読取装置１０では、待機時間中に繰返し撮影された画像の特徴に基づいて次回の読み取りの際に適用する待機時間を変更する。【選択図】図１
2013161321.tif 000002
【特許請求の範囲】
【請求項１】
情報コードを含む画像を撮影する撮影手段と、
待機時間を記憶する待機時間記憶手段と、
読み取りを開始してから待機時間が経過した後に撮影された画像の情報コードをデコードするデコード手段と、
待機時間中に撮影された画像の特徴を抽出する特徴抽出手段と、を備えており、
撮影手段は、撮影を開始してから待機時間が経過するまでの間に画像を繰返し撮影し、
待機時間中に繰返し撮影された画像の特徴に基づいて次回の読み取りの際に適用する待機時間を変更する、情報コード読取装置。
【請求項２】
特徴抽出手段は、情報コードの白色部と黒色部との振幅、情報コードの外縁の各辺の長さの比率及び画像内における情報コードの位置のうちの少なくとも１つを抽出する、請求項１に記載の情報コード読取装置。
【請求項３】
特徴抽出手段が、少なくとも前記「情報コードの白色部と黒色部との振幅」を抽出する、請求項２に記載の情報コード読取装置。
【請求項４】
デコード手段は、待機時間が経過した後であり、かつ、抽出された特徴が所定範囲内となる画像が得られているときにデコードを開始する、請求項１から３のいずれか一項に記載の情報コード読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、情報コード読取装置に関する技術を開示する。
【背景技術】
【０００２】
バーコード、２次元コード等の情報コードをデコードし、情報を読み取る情報コード読取装置が知られている。特許文献１の情報コード読取装置は、初回の読み取り作業において、最初に撮影した情報コードのデコードを試みる。その情報コードがデコード不能であれば、再度、撮影とデコードを実行する。特許文献１は、この作業をデコードが成功するまで繰返す。そして、初回の読み取り作業においてデコード可能な画像を撮影するのに要した時間を、待機時間として記憶する。２回目以降の読み取り作業では、読み取り開始の指示があってから待機時間が経過した後に画像を撮影し、デコードを実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１４５６３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の情報コード読取装置の場合、初回の読み取り作業において偶然早いタイミングでデコード可能な画像を撮影できた場合、２回目以降の読み取り作業では、そのタイミングで画像を撮影してデコードを実行する。この場合、撮影した画像は、たまたま早いタイミングで読み取れたに過ぎず、デコード可能な程度にまで安定していないことが多い。そのため、デコードは失敗し、再度の読み取り作業が必要になる。このように、特許文献１の情報コード読取装置は、待機時間を適切に設定することができない。本明細書では、適切な待機時間を設定することができる情報コード読取装置を提供する。
【課題を解決するための手段】
【０００５】
本明細書が開示する情報コード読取装置は、撮影手段と待機時間記憶手段とデコード手段と特徴抽出手段を備えている。撮影手段は、情報コードを含む画像を撮影する。待機時間記憶手段は、待機時間を記憶する。デコード手段は、読み取りを開始してから待機時間が経過した後に撮影された画像の情報コードをデコードする。特徴抽出手段は、待機時間中に撮影された画像の特徴を抽出する。撮影手段は、撮影を開始してから待機時間が経過するまでの間に画像を繰返し撮影する。この情報コード読取装置では、待機時間中に繰返し撮影された画像の特徴に基づいて次回の読み取りの際に適用する待機時間を変更する。
【０００６】
上記の情報コード読取装置では、待機時間中に撮影された画像の特徴を抽出し、その特徴に応じて待機時間を変更する。画像の特徴を抽出する処理は、デコードに比べ短時間で実施することができる。画像の特徴を抽出するだけであれば、画像を間引きして処理したり、他のデータ処理と並列処理したり、空き時間処理をすることができ、短時間の処理が可能である。そのため、短時間の間に画像の撮影と特徴の抽出を何度も行うことができる。繰返し撮影された画像の特徴に基づいて次回の読み取りの際に使用する待機時間を変更するので、より適切な時間（デコード可能な画像が得られる時間）に待機時間を設定することができる。なお、画像の間引き処理の一例として、画像を水平方向に複数個の画像に分割したときに、全ての画像を処理しないで、複数個おきに処理する例が挙げられる。また、空き時間処理の一例として、画像データをメモリに保存している際に、画像の特徴を抽出する例が挙げられる。
【図面の簡単な説明】
【０００７】
【図１】情報コード読取装置のブロック図を示す。
【図２】初回の読み取り作業における、情報コード読取装置が実行する処理のフローチャートを示す。
【図３】特徴抽出手段が実行する処理のフローチャートを示す。
【図４】２回目以降の読み取り作業における、情報コード読取装置が実行する処理のフローチャートを示す。
【図５】撮影された情報コードのピントに関する特徴の抽出方法を説明するための図を示す。
【図６】撮影された情報コードのひずみに関する特徴の抽出方法を説明するための図を示す。
【図７】撮影した情報コードについて、画像内における位置に関する特徴の抽出方法を説明するための図を示す。
【発明を実施するための形態】
【０００８】
以下、本明細書で開示する実施例の技術的特徴の幾つかを記す。なお、以下に記す事項は、各々単独で技術的な有用性を有している。
【０００９】
（特徴１）特徴抽出手段は、情報コードの白色部と黒色部との振幅を抽出する。これにより、情報コードに対するピントが合っているか否かを判断することができる。なお、白色部の振幅と黒色部の振幅を抽出して両者の差を抽出してもよいし、黒色部に対する白色部の振幅を抽出してもよい。
【００１０】
（特徴２）特徴抽出手段は、情報コードの外縁の各辺の長さの比率を抽出する。矩形の情報コードに対して情報コード読取装置の角度が不適切な場合、読み込んだ情報コードが例えば台形等になる。情報コードの外縁の各辺の長さの比率を抽出することにより、情報コードと情報コード読取装置との相対的な角度が適当か否かを判断することができる。
【００１１】
（特徴３）特徴抽出手段は、画像内における情報コードの位置を抽出する。これにより、情報コードが画像読込手段の中央に位置しているか否かを判断することができる。
【００１２】
（特徴４）特徴抽出手段は、少なくとも「情報コードの白色部と黒色部との振幅」を抽出する。情報コードに対するピントが合っているか否かは、デコードの成否に大きな影響を及ぼす。「情報コードの白色部と黒色部との振幅」に基づいて次回の読み取り作業の際に適用する待機時間を決定すれば、次回の読み取り作業において、より確実にデコードを成功させることができる。また、情報コードに対するピントが合えば、「情報コードの外縁の各辺の長さの比率」又は「画像内における情報コードの位置」をも正確に抽出することができる。
【００１３】
（特徴５）デコード手段は、待機時間が経過した後であり、かつ、抽出された特徴が所定範囲内となる画像が得られているときにデコードを開始することが好ましい。無駄なデコード時間を省略することができるので、読み取り作業に要する時間をより短縮することができる。
【実施例】
【００１４】
図１に示すように、情報コード読取装置１０は、カメラ１２と、ＣＰＵ１４と、第１メモリ１８と、第２メモリ２４と、表示装置２２を有している。カメラ１２で撮影された画像データがＣＰＵ１４で演算処理され、画像データに含まれる情報コード（本実施例では２次元コード）に対応する情報が表示装置２２に表示される。カメラ１２は、撮影手段の一例である。第１メモリ１８は、画像データの読み取りを開始してから画像データ内の情報コードについてデコードを実行するまでの待機時間を記憶している。第１メモリ１８は、待機時間記憶手段の一例である。第２メモリ２４は、情報コード読取装置１０が実行する読み取りプログラムを記憶している。
【００１５】
ＣＰＵ１４は、第２メモリ２４に記憶されている読み取りプログラムに従って、演算処理を実行する。本実施例では、ＣＰＵ１４は、特徴抽出手段１６及びデコード手段２０として機能する。特徴抽出手段１６として機能するＣＰＵ１４は、撮影された画像データに基づいて所定の処理を実行し、その結果に応じて第１メモリ１８に記憶されている待機時間を更新する。デコード手段２０として機能するＣＰＵ１４は、撮影された画像データに含まれている情報コードのデコードを実行し、情報コードに対応する情報を表示装置２２に表示する。ＣＰＵ１４が実行する処理の詳細については後述する。
【００１６】
図２を参照し、情報コード読取装置１０の読み取り作業について、初回の読み取り作業で実行される処理を説明する。カメラ１２を情報コードに向けた状態で所定の操作が行われると、ＣＰＵ１４が、第１メモリ１８に記憶されている待機時間Ｔ０を読み込む（Ｓ２）。その後、カメラ１２が、露光，画像の読み取り（撮影）を実行する（Ｓ４）。撮影された画像データは、ＣＰＵ１４に入力される。すると、ＣＰＵ１４が、画像データの特徴を抽出し、新たな待機時間ＴＣ１を算出する（Ｓ６）。
【００１７】
ステップＳ６の処理について詳細に説明する。ＣＰＵ１４（特徴抽出手段１６）は、撮影された画像に基づいて、（１）情報コードに対するピントが合っているか否か、（２）情報コードがひずんでいるか否か、（３）情報コードが撮影された画像データの中央部に位置しているか否か、という特徴を抽出する。そして、特徴（１）〜（３）に基づいて、待機時間ＴＣ１を算出する。ステップＳ６の処理は、図３のフローチャートに従って実施される。
【００１８】
以下に、図５〜７に示す情報コード３２を含む画像データ３０が撮影された場合について、図３のフローチャートを説明する。なお、図５〜７は、矩形の情報コード３２を撮影したものである。しかしながら、情報コード３２に対して斜めに撮影が行われたために、画像データ３０上では情報コード３２が台形となっている。
【００１９】
ステップＳ５０では、ＣＰＵ１４は、図５に示している画像データ３０のうち、破線３０ａ〜３０ｅで囲った範囲について、白色部の振幅値Ａ１と黒色部の振幅値Ａ２の差（振幅係数）を計算する。すなわち、情報コード３２の一部について振幅値Ａ１とＡ２を抽出し、振幅値Ａ１とＡ２の差（振幅係数）を算出する。振幅係数（Ａ１−Ａ２）の値が大きい程、情報コード３２に対するピントが合っていることを意味する。換言すると、振幅係数（Ａ１−Ａ２）の値が大きい程、デコードが成功しやすい情報コード３２が撮影されたことを意味する。
【００２０】
振幅係数（Ａ１−Ａ２）の算出処理は、画像データ３０の一部に対して実施される。そのため、振幅係数（Ａ１−Ａ２）の算出処理は、短時間で実行することができる。なお、振幅値Ａ１とＡ２を抽出する範囲３０ａ〜３０ｅは一例であり、情報コード３２の一部が含まれていれば、画像データ３０内の任意の位置に調整することができる。
【００２１】
次に、振幅係数（Ａ１−Ａ２）と基準値ａの比較を行う（Ｓ５２）。振幅係数（Ａ１−Ａ２）が基準値ａよりも大きい場合（Ｓ５２：ＹＥＳ）、情報コード３２に対するピントが十分に合っているので、待機時間Ｔ０から補正値Ｔａを減算する（Ｓ５４）。より詳細にいうと、新たな待機時間ＴＣ１が今回の待機時間Ｔ０よりも短くなるように、待機時間ＴＣ１を算出する際に、待機時間Ｔ０から補正値Ｔａを減ずる。
【００２２】
一方、振幅係数（Ａ１−Ａ２）が基準値ａ以下の場合（Ｓ５２：ＮＯ）、情報コード３２に対するピント合わせが不十分なので、待機時間Ｔ０に補正値Ｔａを加算する（Ｓ５６）。より詳細にいうと、新たな待機時間ＴＣ１が今回の待機時間Ｔ０よりも短くなるように、待機時間ＴＣ１を算出する際に、待機時間Ｔ０に補正値Ｔａを加える。すなわち、撮影した画像のピントが合っている場合は次回の待機時間ＴＣ１を短くし、ピントが合っていない場合は待機時間ＴＣ１を長くする。
【００２３】
ステップＳ５８では、ＣＰＵ１４は、図６に示している情報コード３２の外縁の各辺の長さを抽出する。より詳細には、Ｙ方向の両辺の長さ３４ａ，３４ｃとＸ方向の両辺の長さ３４ｂ，３４ｄを抽出し、長さ３４ａ，３４ｃの差の絶対値（第１ひずみ係数）と、長さ３４ｂ，３４ｄの差の絶対値（第２ひずみ係数）を算出する。第１ひずみ係数｜３４ａ−３４ｃ｜，第２ひずみ係数｜３４ｂ−３４ｄ｜の値が小さい程、情報コード３２が本来の情報コードの形状（矩形）を反映していることを意味する。そのため、｜３４ａ−３４ｃ｜，｜３４ｂ−３４ｄ｜の値が小さい程、デコードが成功しやすい情報コード３２が撮影されたことを意味する。
【００２４】
第１，第２ひずみ係数の算出処理は、情報コード３２の外縁の長さを検出するだけである。処理する情報が僅かなので、第１，第２ひずみ係数の算出処理は、短時間で実行することができる。
【００２５】
次に、第１ひずみ係数｜３４ａ−３４ｃ｜と基準値ｂ１の比較、及び第２ひずみ係数｜３４ｂ−３４ｄ｜と基準値ｂ２の比較を行う（Ｓ６０）。｜３４ａ−３４ｃ｜＜ｂ１、かつ｜３４ｂ−３４ｄ｜＜ｂ２を満足する場合（Ｓ６０：ＹＥＳ）、画像のひずみが小さいことを示しているので、待機時間Ｔ０から補正値Ｔｂを減算する（Ｓ６２）。より詳細にいうと、新たな待機時間ＴＣ１が今回の待機時間Ｔ０よりも短くなるように、待機時間ＴＣ１を算出する際に、待機時間Ｔ０から補正値Ｔｂを減ずる。
【００２６】
一方、第１ひずみ係数｜３４ａ−３４ｃ｜≧ｂ１、及び／又は第２ひずみ係数｜３４ｂ−３４ｄ｜≧ｂ２の場合（Ｓ６０：ＮＯ）、画像のひずみが大きいことを示しているので、待機時間Ｔ０に補正値Ｔｂを加算する（Ｓ６４）。より詳細にいうと、新たな待機時間ＴＣ１が今回の待機時間Ｔ０よりも長くなるように、待機時間ＴＣ１を算出する際に、待機時間Ｔ０にＴｂを加える。すなわち、撮影された情報コードのひずみが小さい場合は次回の待機時間ＴＣ１を短くし、ひずみが大きい場合は待機時間ＴＣ１を長くする。
【００２７】
ステップＳ６６では、ＣＰＵ１４は、図７に示している画像データ３０の端辺から、情報コード３２までの距離を抽出する。換言すると、ステップＳ５８では、ＣＰＵ１４は、Ｘ、Ｙ方向において、画像データ３０内の情報コード３２が存在しない部分の距離を抽出する。より詳細には、Ｙ方向において、画像データ３０の端辺から情報コード３２が存在する位置までの距離３６ａ，３６ｂを抽出する。また、Ｘ方向において、情報コード３２が存在する位置から画像データ３０の端辺までの距離３６ｃ，３６ｄを抽出する。
【００２８】
ＣＰＵ１４はさらに、抽出したデータを用いて、距離３６ａ，３６ｂの差の絶対値（第１画像位置係数）と、距離３６ｃ，３６ｄの差の絶対値（第２画像位置係数）を算出する。第１画像位置係数｜３６ａ−３６ｂ｜，第２画像位置係数｜３６ｃ−３６ｄ｜の値が小さい程、情報コード３２が画像データ３０の中央部に位置していることを意味する。そのため、｜３６ａ−３６ｂ｜，｜３６ｃ−３６ｄ｜の値が小さい程、デコードが成功しやすい情報コード３２が撮影されたことを意味する。
【００２９】
第１，第２画像位置係数の算出処理は、画像データ３０の端辺から情報コード３２が存在する位置までの距離を検出するだけである。処理する情報が僅かなので、第１，第２画像位置係数の算出処理は、短時間で実行することができる。
【００３０】
次に、第１画像位置係数｜３６ａ−３６ｂ｜と基準値ｃ１の比較、及び第２画像位置係数｜３６ｃ−３６ｄ｜と基準値ｃ２の比較を行う（Ｓ６８）。第１画像位置係数｜３６ａ−３６ｂ｜＜ｃ１、かつ第２画像位置係数｜３６ｃ−３６ｄ｜＜ｃ２を満足する場合（Ｓ６８：ＹＥＳ）、情報コード３２が画像データ３０の中心付近に位置しているといえるので、待機時間Ｔ０から補正値Ｔｃを減算する（Ｓ７０）。より詳細にいうと、新たな待機時間ＴＣ１が今回の待機時間Ｔ０よりも短くなるように、待機時間ＴＣ１を算出する際に、待機時間Ｔ０から補正値Ｔｃを減ずる。
【００３１】
一方、第１画像位置係数｜３６ａ−３６ｂ｜≧ｃ１、及び／又は第２画像位置係数｜３６ｃ−３６ｄ｜≧ｃ２の場合（Ｓ６８：ＮＯ）、待機時間Ｔ０に補正値Ｔｃを加算する（Ｓ７２）。より詳細にいうと、新たな待機時間ＴＣ１が今回の待機時間Ｔ０よりも長くなるように、待機時間ＴＣ１を算出する際に、待機時間Ｔ０にＴｃを加える。すなわち、情報コードの画像中心からのずれが小さい場合は次回の待機時間ＴＣ１を短くし、画像中心からのずれが大きい場合は待機時間ＴＣ１を長くする。
【００３２】
一例を示すと、ステップＳ５２（ＹＥＳ），ステップＳ６０（ＹＥＳ），ステップＳ６８（ＹＥＳ）の場合、待機時間ＴＣ１＝Ｔ０−Ｔａ−Ｔｂ−Ｔｃとなる。ステップＳ５２（ＹＥＳ），ステップＳ６０（ＮＯ），ステップＳ６８（ＹＥＳ）の場合、待機時間ＴＣ１＝Ｔ０−Ｔａ＋Ｔｂ−Ｔｃとなる。
【００３３】
なお、補正値Ｔａ，補正値Ｔｂ，補正値Ｔｃの値は任意に設定することができる。しかしながら、デコードの成否は、情報コードに対するピントが合っているか否かに大きく依存する。そのため、補正値Ｔａの値を、補正値Ｔｂ及び補正値Ｔｃの値より大きくしてもよい。すなわち、ステップＳ５２（ＹＥＳ）の場合は、ステップＳ６０（ＹＥＳ），ステップＳ６８（ＹＥＳ）の場合よりも、新たな待機時間ＴＣ１を待機時間Ｔ０よりも大幅に短くしてもよい。同様に、ステップＳ５２（ＮＯ）の場合は、ステップＳ６０（ＮＯ），ステップＳ６８（ＮＯ）の場合よりも、新たな待機時間ＴＣ１を待機時間Ｔ０よりも大幅に長くしてもよい。
【００３４】
図２を参照し、情報コード読取装置１０の読み取り作業について、ステップＳ６以降の説明を続ける。なお、ステップＳ６で算出された新たな待機時間ＴＣ１は、第１メモリ１８に記憶される（図１を参照）。ステップＳ８では、読み取り作業を開始してから待機時間Ｔ０を経過しているか否かを判断する（Ｓ８）。待機時間Ｔ０を経過していない場合（Ｓ８：ＮＯ）、画像の撮影（Ｓ４）、画像の特徴抽出（Ｓ６）を繰り返す。待機時間Ｔ０を経過している場合、撮影された画像がデコード手段２０に入力され、デコードが実行される（Ｓ１０）。デコードが成功している場合（Ｓ１２：ＹＥＳ）、画像データに含まれる情報コードに対応する情報が、表示装置２２に表示される。デコードが成功していない場合（Ｓ１２：ＮＯ）、Ｓ４〜Ｓ１０の処理を繰り返す。
【００３５】
なお、ステップＳ８とステップＳ１０の間に、新たな待機時間ＴＣ１が基準値以下であるか否かを判断してもよい。そして、待機時間ＴＣ１が基準値以下の場合にデコード（Ｓ１０）を実行し、待機時間ＴＣ１が基準値よりも大きい場合は、ステップＳ４に戻ってもよい。ステップＳ６で算出された待機時間ＴＣ１が基準値よりも大きい場合、デコード可能な画像データが撮影されていないことがある。待機時間ＴＣ１が基準値以下の場合にデコード（Ｓ１０）を実行すれば、何度もデコードを繰り返すことが抑制される。
【００３６】
なお、Ｓ４〜Ｓ８の処理を繰り返すと、画像特徴抽出処理（Ｓ６）を繰り返すことになる。しかしながら、画像特徴抽出処理（Ｓ６）で実施される処理は、情報コードの一部に対して実行される。一方、デコードは、情報コードの全体に対して実行される。そのため、画像特徴抽出処理（Ｓ６）は、デコードに比べ短時間で実施することができる。画像特徴抽出処理（Ｓ６）を繰り返し実施しても、デコードを繰り返し実行することに比べ、読み取り作業に要する時間が長くなることはない。
【００３７】
上記したように、情報コード読取装置１０では、予め設定されている待機時間Ｔ０が経過するまでデコードを実行しない。そして、待機時間Ｔ０の間に上記した特徴抽出（Ｓ６）を繰り返し実行し、次回の読み取り作業に適用する待機時間ＴＣ１を算出する。そのため、偶然早いタイミングでデコード可能な画像データが撮影されても、次回の読み取り作業に適用される待機時間ＴＣ１が極端に短くなることはない。上記した特徴抽出（Ｓ６）を実行することにより、次回の読み取り作業において、適切な待機時間を確保することができる。
【００３８】
情報コード読取装置１０の取り扱いに不慣れなユーザが読み取り作業を行うと、待機時間Ｔ０の間に、情報コード読取装置１０を十分に安定させることができず、デコードが成功しやすい画像を撮影することができない。しかしながら、このような場合、画像特徴抽出処理（Ｓ６）の結果から算出される待機時間ＴＣ１は、待機時間Ｔ０よりも長くなる。その結果、次回の読み取り作業では、情報コード読取装置１０を安定させる時間が長くなるので、デコード不能な画像データに基づいてデコードを実行するという無駄が抑制される。
【００３９】
一方、情報コード読取装置１０の取り扱いに慣れているユーザが読み取り作業を行うと、待機時間Ｔ０の間に、情報コード読取装置１０を十分に安定させることができる。このような場合、画像特徴抽出処理（Ｓ６）の結果から算出される待機時間ＴＣ１は、待機時間Ｔ０よりも長くなる。その結果、次回の読み取り作業では、デコードまでの待機時間が短くなるので、読み取り作業の時間を短縮することができる。
【００４０】
図４を参照し、２回目以降の読み取り作業について説明する。ここでは、ｎ回目の読み取り作業について説明する。情報コード読取装置１０に対して所定の操作が行われると、ＣＰＵ１４が、第１メモリ１８に記憶されている待機時間ＴＣｎ−１を読み込む（Ｓ２２）。待機時間ＴＣｎ−１は、ｎ−１回目の読み取り作業の際に算出された値である。具体的には、２回目の読み取り作業では、ＣＰＵ１４は、初回の読み取り作業の際に算出された待機時間ＴＣ１を読み込む。その後、カメラ１２が、露光、画像の読み取り（撮影）を実行する（Ｓ２４）。撮影された画像データは、ＣＰＵ１４に入力される。すると、ＣＰＵ１４が、画像データの特徴を抽出し、新たな待機時間ＴＣｎを算出する（Ｓ２６）。待機時間ＴＣｎの算出方法は、図３で説明した通りである。ステップＳ２６で算出された新たな待機時間ＴＣｎは、第１メモリ１８に記憶される。
【００４１】
次に、次回の待機時間ＴＣｎと基準値Ｘとの比較を行う（Ｓ２７）。基準値Ｘは、前回の読み取り作業の際に算出された待機時間ＴＣｎ−１（今回の待機時間）と、前回の読み取り作業の際にデコードが失敗したか否かに基づいて決定される。すなわち、今回の読み取り作業中に算出された待機時間ＴＣｎが基準値Ｘ以下であれば、デコードが成功する可能性が高く、算出された待機時間ＴＣｎが基準値Ｘよりも大きければデコードが成功する可能性が低い。
【００４２】
待機時間ＴＣｎが基準値Ｘ以下の場合（Ｓ２７：ＹＥＳ）、十分にデコード可能な画像が撮影されているので、待機時間ＴＣｎ−１が経過（Ｓ２８：ＹＥＳ）していればデコードを開始する（Ｓ３０）。待機時間ＴＣｎが基準値Ｘよりも大きい場合（Ｓ２７：ＮＯ）、ステップＳ２８に進まない。待機時間ＴＣｎが基準値Ｘよりも大きい場合（Ｓ２７：ＮＯ）は、待機時間ＴＣｎ−１を経過していたとしてもデコードが失敗する可能性が高いので、画像の撮影（Ｓ２４）、画像の特徴抽出（Ｓ２６）を繰り返す。すなわち、ｎ回目の読み取り作業では、抽出された特徴に基づいて算出された待機時間ＴＣｎが基準値Ｘ以下（Ｓ２７：ＹＥＳ）であり、かつ待機時間ＴＣｎ−１が経過（Ｓ２８：ＹＥＳ）しているときにデコードを開始する。デコードの失敗を抑制することができ、何度もデコードを繰り返すことが抑制される。
【００４３】
上記したように、今回の待機時間ＴＣｎ−１中にデコードしやすい特徴が得られた場合、次回の待機時間ＴＣｎを、今回の待機時間ＴＣｎ−１よりも短くなるように調整する。それにより、読み取り作業に慣れているユーザが読み取り作業を行う場合、デコードまでの待機時間が短くなり、読み取り作業に係る時間を短縮することができる。また、読み取り作業に不慣れなユーザが読み取り作業を行う場合、デコードまでの待機時間が長くなり、情報コード読取装置を安定化させる時間を確保することができる。その結果、デコードに失敗して再度読み取り作業を繰り返すことが減り、結果として読み取り作業に係る時間を短縮することができる。
【００４４】
以上、本発明の具体例を詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時の請求項に記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数の目的を同時に達成し得るものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００４５】
１０：情報コード読取装置
１２：撮影手段（カメラ）
１６：特徴抽出手段
１８：待機時間記憶手段（第１メモリ）
２０：デコード手段
【図１】
2013161321.tif 000003
【図２】
2013161321.tif 000004
【図３】
2013161321.tif 000005
【図４】
2013161321.tif 000006
【図５】
2013161321.tif 000007
【図６】
2013161321.tif 000008
【図７】
2013161321.tif 000009