(57)【要約】【課題】  少ない負担で、対象処理の実行に適した画像を撮影し得る情報コード読取装置を提供する。【解決手段】  情報コード読取装置は、画像を撮影する撮像部と、制御部と、を備える。前記制御部は、前記撮像部に、一定周期で発生する外乱の周期に対して、位相の異なる複数個の画像を撮影させる撮影制御部と、撮影された前記複数個の画像のうちから、対象処理の実行に用いる１個の特定画像を特定する画像特定部と、前記特定画像を用いて前記対象処理を実行する処理実行部と、を備える。【選択図】図２
2019067192.tif 000002
【特許請求の範囲】
【請求項１】
情報コード読取装置であって、
画像を撮影する撮像部と、
制御部と、を備え、
前記制御部は、
前記撮像部に、一定周期で発生する外乱の周期に対して、位相の異なる複数個の画像を撮影させる撮影制御部と、
撮影された前記複数個の画像のうちから、対象処理の実行に用いる１個の特定画像を特定する画像特定部と、
前記特定画像を用いて前記対象処理を実行する処理実行部と、
を備える、
情報コード読取装置。
【請求項２】
前記対象処理は、前記特定画像に含まれる情報コードの画像に記録されている情報の読み取りを実行する読取処理を含む、請求項１に記載の情報コード読取装置。
【請求項３】
前記対象処理は、前記特定画像の明るさを解析し、前記撮像部が画像を撮影する際の露出値を決定する測光処理を含み、
前記撮影制御部は、前回実行された前記測光処理において決定された前記露出値を利用して、前記撮像部に新たな複数個の画像を撮影させる、請求項１又は２に記載の情報コード読取装置。
【請求項４】
前記撮影制御部は、前記撮像部に、前記外乱の周期に対して、Ｎ分の１ずつ位相が異なるＮ個の画像（Ｎは２以上の整数）を含む前記複数個の画像を撮影させる、請求項１から３のいずれか一項に記載の情報コード読取装置。
【請求項５】
前記画像特定部は、前記複数個の画像のうち、最も明るさが大きい画像を前記特定画像として特定する、請求項１から４のいずれか一項に記載の情報コード読取装置。
【請求項６】
前記撮影制御部は、前記撮像部に、前記複数個の画像を共通する露出値を利用して撮影させ、
前記画像特定部は、前記複数個の画像のそれぞれについて、対応する１以上の所定の画素の輝度値の積算値を計算し、前記積算値が最も大きい画像を前記特定画像として特定する、請求項５に記載の情報コード読取装置。
【請求項７】
前記複数個の画像の撮影から前記対象処理の実行までの各処理が複数回続けて実行されるべき状況において、
前記撮影制御部は、各回の前記複数個の画像のそれぞれの前記外乱の前記周期に対する位相が共通の組合せとなるように、前記撮像部に前記複数個の画像を複数回撮影させる、請求項１から６のいずれか一項に記載の情報コード読取装置。
【請求項８】
前記外乱は、照明用の光源のフリッカーである、請求項１から７のいずれか一項に記載の情報コード読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で開示する技術は、情報コード読取装置に関する。
【背景技術】
【０００２】
蛍光灯等、フリッカー（即ち、ちらつき）のある照明光源下で画像を撮影する際に、フリッカーの影響によって、撮影される画像の明るさにバラツキが出ることが知られている。特に、撮影された画像を用いて情報コードの読み取りを実行する場合のように、撮影された画像を用いて処理を実行しようとする状況では、明るさが不足した画像が撮影されると、画像を利用した処理が適切に実行されない場合がある。
【０００３】
このようなフリッカーの影響を抑え、十分な明るさの画像を撮影する手法として、画像撮影時のシャッター時間をフリッカーの周期の整数倍の長さに設定して撮影する方法が知られている。しかしながら、例えば、搬送体上を搬送される物品の画像を撮影して情報コードの読み取りを行う場合のように、撮影装置と被写体とが相対移動する状況下で上記の方法を採用すると、シャッターが開放されている間に撮影装置と被写体とが相対移動し、撮影される画像にブレが生じてしまう場合がある。その場合、フリッカーの影響が小さい画像が撮影されるものの、画像を利用した処理が適切に実行できないおそれがある。
【０００４】
これに対して、フリッカー周期よりもシャッター時間が短い場合であっても、フリッカーの影響を抑えた画像を撮影するための技術が従来多数知られている。例えば、特許文献１には、シャッターと、シャッターが開放された時に画像を撮影する撮像素子と、制御部と、を備える撮像装置が開示されている。制御部は、被写体光の輝度を測光して光源のフリッカー周期とフリッカー位相とを算出し、それに基づいて光源が明るい最適な撮影タイミングを算出し、レリーズ時に、算出された撮影タイミングでシャッターを駆動させる。これにより、特許文献１の撮像装置は、蛍光灯等のフリッカーのある照明光源下で、画像の撮影時におけるフリッカーの影響を抑制することを図っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−７４４８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一方、画像を撮影する撮像部と、撮像部によって撮影された画像に含まれる情報コードに記録されている情報を読み取る読取処理を実行する制御部と、を備える情報コード読取装置も知られている。例えば、このような情報コード読取装置において特許文献１の技術を採用することも考えられる。しかしながら、情報コード読取装置に特許文献１の技術を採用すると、制御部は、光源が明るい最適な撮影タイミングを常時算出しなければならないため、制御部の処理負担が過大になるおそれがある。その結果、制御部の処理速度が低下し、例えば、処理の実行に適した画像を適切に撮影できない等、撮影処理やその他の処理の実行に影響を与えるおそれがある。
【０００７】
本明細書では、少ない負担で、対象処理の実行に適した画像を撮影し得る情報コード読取装置を提供する。
【課題を解決するための手段】
【０００８】
本明細書が開示する情報コード読取装置は、画像を撮影する撮像部と、制御部と、を備える。前記制御部は、前記撮像部に、一定周期で発生する外乱の周期に対して、位相の異なる複数個の画像を撮影させる撮影制御部と、撮影された前記複数個の画像のうちから、対象処理の実行に用いる１個の特定画像を特定する画像特定部と、前記特定画像を用いて前記対象処理を実行する処理実行部と、を備える。
【０００９】
ここで、「一定周期で発生する外乱」は、例えば、照明用の光源のフリッカー、磁気ノイズ等、一定の周期を持つ任意の外乱要素を含む。
【００１０】
この構成によると、情報コード読取装置は、外乱の周期に対して位相の異なる複数個の画像を撮影し、その複数個の画像のうちから、対象処理の実行に用いる１個の特定画像を特定することができる。複数個の画像の位相が異なるため、情報コード読取装置は、外乱の影響を受けにくい適切な特定画像を特定し得る。外乱の周期と位相を監視及び分析して最適な撮影タイミングを常時算出しなければならない従来の構成と比較して、制御部の処理負担が少なく済む。従って、上記の構成によると、情報コード読取装置は、少ない負担で、対象処理の実行に適した画像を撮影し得る。
【００１１】
前記対象処理は、前記特定画像に含まれる情報コードの画像に記録されている情報の読み取りを実行する読取処理を含んでもよい。
【００１２】
この構成によると、情報コード読取装置は、読取処理の実行に適した特定画像を用いて読取処理を実行し得る。外乱の影響で、情報コードに記録された情報の読み取りに失敗する事態の発生を適切に抑制し得る。
【００１３】
前記対象処理は、前記特定画像の明るさを解析し、前記撮像部が画像を撮影する際の露出値を決定する測光処理を含んでもよい。前記撮影制御部は、前回実行された前記測光処理において決定された前記露出値を利用して、前記撮像部に新たな複数個の画像を撮影させてもよい。
【００１４】
この構成によると、情報コード読取装置は、測光処理の実行に適した特定画像を用いて測光処理を実行し得る。外乱の影響で、撮像部が撮影を撮影する際の露出値が適切に決定されない事態の発生を適切に抑制し得る。
【００１５】
前記撮影制御部は、前記撮像部に、前記外乱の周期に対して、Ｎ分の１ずつ位相が異なるＮ個の画像（Ｎは２以上の整数）を含む前記複数個の画像を撮影させてもよい。
【００１６】
この構成によると、撮影される複数個の画像に含まれるＮ個の画像は、外乱の周期に対してＮ分の１ずつ位相が異なっている。そのため、このＮ個の画像には、比較的外乱の影響が少ない画像が少なくとも１個は含まれる可能性が高い。この構成によると、情報コード読取装置は、外乱の影響を受けにくく、対象処理の実行に適した特定画像を適切に特定し得る。
【００１７】
前記画像特定部は、前記複数個の画像のうち、最も明るさが大きい画像を前記特定画像として特定してもよい。
【００１８】
撮影される複数個の画像のうちで最も明るさが大きい画像は、複数個の画像のうちで対象処理の実行に最も適している画像である可能性が高い。この構成によると、情報コード読取装置は、そのような最も明るさが大きい画像を特定画像として特定する。そのため、この構成によると、情報コード読取装置は、対象処理を適切に実行することができる。
【００１９】
前記撮影制御部は、前記撮像部に、前記複数個の画像を共通する露出値を利用して撮影させてもよい。前記画像特定部は、前記複数個の画像のそれぞれについて、対応する１以上の所定の画素の輝度値の積算値を計算し、前記積算値が最も大きい画像を前記特定画像として特定してもよい。
【００２０】
複数個の画像のうち、対応する１以上の所定の画素の輝度値の積算値が最も大きい画像は、複数個の画像のうちで最も明るさが大きい画像である。この構成によると、情報コード読取装置は、輝度値を基準として特定画像を特定することができる。そのため、情報コード読取装置は、対象処理の実行に適した特定画像を適切に特定することができる。
【００２１】
前記複数個の画像の撮影から前記対象処理の実行までの各処理が複数回実行されるべき状況において、前記撮影制御部は、各回の前記複数個の画像のそれぞれの前記外乱の前記周期に対する位相が共通の組合せとなるように、前記撮像部に前記Ｎ個の画像を複数回撮影させてもよい。
【００２２】
この構成によると、複数個の画像の撮影から対象処理の実行までの各処理が複数回実行されるべき状況において、毎回撮影される複数個の画像のそれぞれの外乱の周期に対する位相の組合せが共通する。即ち、特定画像として特定される画像が撮影された時点の外乱の周期に対する位相が一定となり、特定画像に対する外乱の影響のバラツキが抑制される。従って、情報コード読取装置は、複数個の画像の撮影から対象処理の実行までの各処理が複数回実行されるべき状況においても、対象処理の実行に適した特定画像を毎回適切に特定し、対象処理を適切に実行することができる。
【００２３】
前記外乱は、照明用の光源のフリッカーであってもよい。
【００２４】
この構成によると、情報コード読取装置は、光源のフリッカーの影響を受けにくく、対象処理の実行に適した特定画像を適切に特定し得る。
【００２５】
上記の情報コード読取装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ読取可能記録媒体も、新規で有用である。
【図面の簡単な説明】
【００２６】
【図１】情報コード読取装置のブロック図を示す。
【図２】第１実施例の制御部が実行する読取関連処理のフローチャートを示す。
【図３】第１実施例の各画像の撮影タイミングの例を示す。
【図４】撮影された各画像のうちから特定画像を特定する処理の例を示す。
【図５】第１実施例において特定画像が撮影された時点での明るさの例を示す。
【図６】第２実施例の各画像の撮影タイミングの例を示す。
【図７】第２実施例において特定画像が撮影された時点での明るさの例を示す。
【図８】第３実施例において、画像の撮影から読取処理までの各処理が複数回実行される場合の各画像の撮影タイミングの例を示す。
【図９】第４実施例の制御部が実行する読取関連処理のフローチャートを示す。
【図１０】複数回読取関連処理が実行される場合の測光値の例を示す。
【図１１】第５実施例において露出値の読み出しから読取処理までの各処理が複数回実行される場合の各画像の撮影タイミングと測光値の例を示す。
【発明を実施するための形態】
【００２７】
（第１実施例）
（情報コード読取装置１０の構成；図１）
図１に示す情報コード読取装置１０は、情報コード（例えば、一次元コード、二次元コード等）を読み取って、情報コードに記録されている情報を取得するための装置である。本実施例の情報コード読取装置１０は、据置式の読取装置であり、ベルトコンベア等の搬送体上で搬送されてくる物品の表面に付された情報コードを順次読み取るための装置である。なお、他の例では、情報コード読取装置１０は、可搬式の装置であってもよい。図１に示すように、情報コード読取装置１０は、制御部１２と、撮像部１４と、メモリ１６と、操作部１８と、表示部２０と、を備える。
【００２８】
制御部１２は、ＣＰＵを備える。制御部１２は、メモリ１６内のプログラムに従って様々な処理を実行する。制御部１２が実行する処理（図２参照）の内容は後で詳しく説明する。
【００２９】
撮像部１４は、レンズと撮像素子とを備える。撮像素子は、例えば、ＣＣＤイメージセンサ、ＣＭＯＳイメージセンサ等のイメージセンサである。撮像素子は、電子シャッター（例えばローリングシャッター等）を有している。撮像部１４が画像を撮影する場合、撮像素子は、電子シャッターが開いている間にレンズを通して入射される被写体光（即ち画像）を電気信号に変換し、該電気信号を制御部１２に供給する。
【００３０】
メモリ１６は、例えばＲＯＭ、ＲＡＭ等の不揮発性メモリを有しており、様々なプログラムを記憶している。また、メモリ１６は、様々な情報（例えば、ユーザによって入力されるフリッカー周期情報、撮像部１４に画像を撮影させる際の露出値を示す露出値情報、情報コードから読み取られた情報等）を記憶する領域を有している。
【００３１】
操作部１８は、複数個のキーを備える。ユーザは、操作部１８を操作して、情報コード読取装置１０に様々な情報を入力することができる。表示部２０は、様々な情報を表示するためのディスプレイであり、例えば液晶ディスプレイである。
【００３２】
（読取関連処理；図２）
続いて、図２を参照して、制御部１２が実行する読取関連処理について説明する。ユーザは、図２の読取関連処理の実行前に、予め、操作部１８を操作して、情報コード読取装置１０が配置される場所の照明の光源のフリッカー周期を示すフリッカー周期情報を情報コード読取装置１０に入力する。フリッカーは、電球や蛍光灯等の交流電源を使用する照明光に存在するちらつき現象のことである。フリッカーが発生している場合、照明の明るさは一定周期で変動する。例えば、光源の照明が利用する電源の周波数が５０Ｈｚである場合のフリッカーの周期（１周期）は１０ｍｓであり、電源の周波数が６０Ｈｚである場合のフリッカーの周期は８．３ｍｓである。入力されたフリッカー周期情報はメモリ１６に記憶される。ユーザは、上記のフリッカー周期情報の入力後、操作部１８を操作して、所定の読取関連処理開始操作を入力する。読取関連処理操作が入力されると、制御部１２は、図２の処理を開始する。
【００３３】
Ｓ１０では、制御部１２は、撮像部１４の撮影範囲内に、新たな物品が入ることを監視する。搬送体上を移送されてきた物品が新たに撮像部１４の撮影範囲内に入った場合、制御部１２は、Ｓ１０でＹＥＳと判断してＳ１２に進む。
【００３４】
Ｓ１２では、制御部１２は、撮像部１４にＮ個の画像を撮影させる。その際、制御部１２は、Ｎ個の画像のうちの各画像の撮影時の位相が、メモリ１６に記憶されているフリッカー周期情報が示す周期に対して、互いにＮ分の１ずつ異なる（ずれる）ように、撮像部１４を制御する。また、制御部１２は、撮像部１４にＮ個の画像を撮影させる際、共通の露出値（例えば、シャッター速度、絞り値等）を利用して撮影させる。本実施例では、Ｓ１２におけるＮの値は２である。そのため、Ｓ１２では、制御部１２は、メモリ１６内のフリッカー周期情報が示す周期に対して、位相が２分の１ずつ異なるように撮像部１４を制御し、撮像部１４に２枚の画像を撮影させる。２枚の画像を撮影させる際の露出値は予め定められた値であり、共通する値である。
【００３５】
図３を参照して、Ｓ１２で２枚の画像が撮影される際の撮影タイミングについて詳しく説明する。なお、照明のフリッカーは近似的にサイン波の絶対値としている。図３の例では、第１画像が撮影された後、第２画像が撮影されている。第１画像が撮影されたタイミングと、第２画像が撮影されたタイミングとの間の間隔はΔｔで表される。フリッカー周期（即ち照明の明るさが最低値０から最高値１に到達し、その後最低値０に戻るまでの時間）はＴで表される。図３の例では、撮影間隔Δｔは２Ｔ＋Ｔ／２である。即ち、第１画像が撮影されたタイミングの周期Ｔに対する位相（以下では単に「位相」と呼ぶ場合がある）と、第２画像が撮影されたタイミングの位相と、は互いに２分の１ずつずれている。図３の例では、第１画像が撮影されたタイミングの照明の明るさは約０．５であり、第２画像が撮影されたタイミングの照明の明るさは約０．８７であり、第２画像は第１照明に比べて明るい照明の下で撮影されている。
【００３６】
続くＳ１４では、制御部１２は、撮影されたＮ個（本実施例では２個）の画像のうち、最も明るい照明下で撮影された画像である１個の特定画像を特定する。具体的には、Ｓ１４では、制御部１２は、Ｎ個の画像のそれぞれについて、対応する１以上の所定の画素の輝度値を積算し、積算値が最も大きい画像を特定画像として特定する。なお、以下では、明るい照明下で撮影された画像のことを単に「明るい画像」又は「明るさが大きい画像」のように呼ぶ場合がある。
【００３７】
図４を参照して、Ｓ１２で第１画像と第２画像が撮影された場合に、Ｓ１４において、制御部１２が第２画像を特定画像として特定する例について説明する。図４の例では、制御部１２は、まず、第１画像のうちの中心付近の範囲Ｐに含まれる１６個の画素のそれぞれの輝度値を特定する。輝度値は、０〜２５５の数値で表され、明るい（即ち白に近い）ほど大きい数値（２５５に近い数値）で表され、暗い（即ち黒に近い）ほど小さい数値（０に近い数値）で表される。そして、制御部１２は、特定された１６個の輝度値を合計し、積算値を算出する。例えば、第１画像の積算値は「２４００」（即ち平均の輝度値が１５０）である。制御部１２は、第２画像の対応する範囲Ｐについても同様に積算値を算出する。例えば、第２画像の積算値は「３２００」（即ち平均の輝度値が２００）である。制御部１２は、第２画像の積算値「３２００」が第１画像の積算値「２４００」よりも大きいと判断し、第２画像を特定画像と判断する。なお、図４の例では、各画像の中心付近の範囲Ｐに含まれる１６個の画素の輝度値を基準として特定画像を判断しているが、他の例では、判断の基準となる画素の範囲はこれに限られず、任意とすることができる。
【００３８】
続くＳ１６では、制御部１２は、Ｓ１４で特定された特定画像に基づいて、読取処理を実行する。具体的には、Ｓ１６では、特定画像に含まれる情報コードの画像に基づいて、情報コードのデコードを試行し、情報コードに記録されている情報を取得することを試行する。
【００３９】
続くＳ１８では、制御部１２は、読み取りに成功したか否かを判断する。特定画像に情報コードの画像が含まれており、デコードの結果、情報コードに記録されている情報の取得に成功した場合、制御部１２は、Ｓ１８でＹＥＳと判断し、Ｓ１０の監視に戻る。一方、例えば、特定画像に情報コードの画像が含まれていない場合、又は、特定画像に情報コードの画像が含まれているが特定画像の明るさが不足した場合等には、制御部１２は、デコードを試行したとしても、情報を取得することはできない。その場合、制御部１２は、Ｓ１８でＮＯと判断し、Ｓ１２に戻って再びＮ個の画像を新たに撮影する。そして、制御部１２は、Ｓ１４〜Ｓ１８の処理を再度実行する。これにより、制御部１２は、物品の表面に付された情報コードを順次読み取ることができる。ただし、物品の表面に情報コードが付されていない場合等、連続してＳ１８でＮＯと判断される場合もある。そのため、本実施例では、制御部１２は、所定回数（例えば５回）以上Ｓ１８でＮＯと判断される場合には、エラー判定を行ってＳ１０の監視に戻る。
【００４０】
以上、本実施例の情報コード読取装置１０について説明した。上記の通り、本実施例の情報コード読取装置１０は、フリッカー周期に対して、位相が２分の１ずつずれた２個の画像である第１画像及び第２画像を撮影し（図２のＳ１２）、第１画像と第２画像のうち、より明るい画像である１個の特定画像を特定し（Ｓ１４）、特定画像を利用して読取処理を実行することができる（Ｓ１６）。即ち、情報コード読取装置１０は、フリッカーの影響を受けにくく、情報コードの読み取りに適した明るい特定画像を適切に特定することができる。フリッカーの周期と位相を監視及び分析して最適な撮影タイミングを常時算出しなければならない従来の構成と比較して、制御部１２の処理負担が少なく済む。従って、本実施例では、情報コード読取装置１０は、少ない負担で、読取処理の実行に適した画像を撮影することができる。また、フリッカーの影響で、情報コードに記録された情報の読み取りに失敗する事態の発生を適切に抑制することができる。
【００４１】
上記の通り、図２のＳ１２で撮影される２個の画像（即ち、第１画像及び第２画像）は、フリッカーの周期に対して２分の１ずつ位相が異なっている。そのため、図５に示すように、撮影される２個の画像には、フリッカーの影響が少ない画像が少なくとも１個は含まれる可能性が高い。
【００４２】
図５を参照して、このことを詳しく説明する。例えば、図５の例において、第１画像が位相Ｒ１で撮影される場合、第１画像の明るさは約０．４である一方、撮影時の位相が第１画像と２分の１異なる第２画像の明るさは約０．９である。この場合、第２画像が特定画像として特定され、読取処理が実行される。
【００４３】
また、第１画像が位相Ｒ２で撮影される場合、第１画像の明るさは約０．７である一方、第２画像の明るさも約０．７である。この場合、第１画像と第２画像とのうちの予め定められた一方が特定画像として特定され、読取処理が実行される。
【００４４】
また、第１画像が位相Ｒ３で撮影される場合、第１画像の明るさは約１である一方、第２画像の明るさは約０である。この場合、第１画像が特定画像として特定され、読取処理が実行される。
【００４５】
図５に示すように、どのタイミングで２個の画像が撮影される場合であっても、位相を２分の１ずつ異ならせて撮影された第１画像と第２画像のうちのどちらかは、明るさが約０．７を上回る。言い換えると、位相を２分の１ずつ異ならせて撮影された２個の画像に基づいて特定画像を特定すれば、特定画像は最低でも約０．７の明るさを有する。特定画像の明るさが約０．７を上回るため、読取処理に成功する可能性は比較的高い。本実施例によると、情報コード読取装置１０は、フリッカーの影響で、情報コードに記録された情報の読み取りに失敗する事態の発生を適切に抑制することができる。
【００４６】
そして、本実施例によると、ユーザは、Ｎの値が２であることを事前に知っていれば、撮影される画像の最低の明るさが約０．７であることを事前に把握することもできる。一般的に言うと、特定画像の明るさの最低値は、以下の式（１）によって表される。
明るさの最大値×ｓｉｎ（９０°−９０°／Ｎ）・・・・・式（１）
【００４７】
本実施例では、Ｎ＝２であるため、特定画像の明るさの最低値は約０．７である。ユーザは、上記の式（１）のＮに２を代入して計算することで、特定画像の明るさの最低値が約０．７であることを把握することができる。
【００４８】
また、本実施例では、情報コード読取装置１０は、２個の画像の輝度値を基準として特定画像を特定することができる（図２のＳ１６）。範囲Ｐ内の１６個の画素の輝度値の積算値が大きい画像は、２個の画像のうちのより明るい方の画像である。そのため、本実施例によると、情報コード読取装置１０は、読取処理の実行に適した特定画像を適切に特定することができる。
【００４９】
本実施例と請求項の対応関係を説明しておく。本実施例のフリッカーが「外乱」の一例である。図２のＳ１６で実行される読取処理が「対象処理」の一例である。
【００５０】
（第２実施例）
本実施例では、図２のＳ１２におけるＮの値が「３」である点が第１実施例とは異なる。即ち、本実施例では、Ｓ１２では、制御部１２は、撮像部１４に、３個の画像を撮影させる。制御部１２は、その際、各画像の撮影時の位相が、フリッカーの周期に対して互いに３分の１ずつ異なるように撮像部１４を制御する。
【００５１】
図６を参照して、Ｓ１２で３個の画像が撮影される際の撮影タイミングについて詳しく説明する。図６の例では、第１画像、第２画像、第３画像の順で３個の画像が撮影されている。フリッカー周期をＴとする場合、各画像の撮影間隔はＴ＋Ｔ／３である。即ち、第１画像が撮影されたタイミングの位相と、第２画像が撮影されたタイミングの位相と、第３画像が撮影されたタイミングの位相と、は互いに３分の１ずつずれている。図３の例では、第１画像が撮影されたタイミングの照明の明るさは約０．３５であり、第２画像が撮影されたタイミングの照明の明るさは約０．９９であり、第３画像が撮影されたタイミングの照明の明るさは約０．６４である。この例では、第２画像が最も明るい照明の下で撮影されている。そのため、この後のＳ１４では、制御部１２は、第２画像を特定画像として特定する。
【００５２】
本実施例の情報コード読取装置１０も、第１実施例と同様の作用効果を発揮することができる。本実施例でも、第１実施例と同様に、特定画像の明るさの最低値は上記の式（１）によって算出可能である。本実施例の場合Ｎ＝３であるため、特定画像の明るさの最低値は約０．８６である。図７に示すように、第１〜第３画像のうちのいずれか１個は明るさが約０．８６を上回る。言い換えると、位相を３分の１ずつ異ならせて撮影された３個の画像に基づいて特定画像を特定すれば、特定画像は最低でも約０．８６の明るさを有する。特定画像の明るさが約０．８６を上回るため、読取処理に成功する可能性はより高くなる。本実施例によると、情報コード読取装置１０は、フリッカーの影響で、情報コードに記録された情報の読み取りに失敗する事態の発生を適切に抑制することができる。
【００５３】
（第３実施例）
本実施例では、Ｓ１２〜Ｓ１６の処理が複数回実行されるべき場合（例えば、図２のＳ１８でＮＯと判断され、Ｓ１２〜Ｓ１６の処理が再度実行される場合）における処理内容の一部が第１実施例とは異なる。図８に示すように、本実施例では、制御部１２は、各回のＳ１２において撮影される２個の画像（即ち第１画像、第２画像）のそれぞれの位相が共通の組合せとなるように、撮像部１４に画像を撮影させる。
【００５４】
例えば、１回目のＳ１２において、制御部１２は、第１画像を位相αのタイミングで撮影し、第２画像を位相αと２分の１だけ異なる位相である位相βのタイミングで撮影する。この例では、第２画像の方が第１画像よりも明るい。そのため、制御部１２は、第２画像を特定画像として特定する（Ｓ１４）。続く２回目のＳ１２でも、制御部１２は、新たな第１画像を位相αのタイミングで撮影し、新たな第２画像を位相βのタイミングで撮影する。１回目の第１画像と２回目の第１画像は、光源のフリッカー周期に対する位相（位相α）が共通する。そのため、１回目の第１画像の明るさと２回目の第１画像の明るさは共通する。同様の理由で、１回目の第２画像の明るさと２回目の第２画像の明るさも共通する。そのため、制御部１２は、２回目のＳ１４においても第２画像を特定画像として特定する。
【００５５】
本実施例では、２個の画像の撮影から読取処理の実行までの各処理（図２のＳ１２〜Ｓ１６）が複数回実行されるべき状況において、毎回撮影される２個の画像のそれぞれのフリッカー周期に対する位相の組合せ（即ち図８の位相α、β）が共通する。即ち、特定画像として特定される画像が撮影された時点のフリッカーの周期に対する位相が一定となり、特定画像に対するフリッカーの影響のバラツキが抑制される。従って、本実施例の情報コード読取装置１０は、２個の画像の撮影から読取処理の実行までの各処理が複数回実行されるべき状況においても、読取処理の実行に適した特定画像を毎回適切に特定し、読取処理を適切に実行することができる。
【００５６】
（第４実施例）
本実施例では、制御部１２が、読取関連処理を実行する際に、特定画像の明るさを解析し、次回撮像部１４が画像を撮影する際の露出値を決定する測光処理をさらに実行する点が第１実施例とは異なる。
【００５７】
図９を参照して、本実施例の制御部１２が実行する読取関連処理について説明する。本実施例でも、ユーザは、図９の読取関連処理の実行前に予めフリッカー周期情報を情報コード読取装置１０に入力しておく。そして、ユーザは、フリッカー周期情報の入力後、操作部１８を操作して、所定の読取関連処理開始操作を入力する。読取関連処理操作が入力されると、制御部１２は、図９の処理を開始する。
【００５８】
Ｓ３０では、制御部１２は、撮像部１４の撮影範囲内に、新たに物品が入ることを監視する。Ｓ３０の処理の内容は図２のＳ１０と同様である。制御部１２は、Ｓ３０でＹＥＳと判断するとＳ３２に進む。
【００５９】
Ｓ３２では、制御部１２は、この時点でメモリ１６に記憶されている露出値情報を読み出す。露出値情報は、後述のＳ３８、Ｓ４０の各処理が実行されることによってメモリ１６に記憶される。そのため、初回のＳ３２の時点ではメモリ１６に露出値情報が記憶されていない。その場合は、制御部１２は、メモリ１６に予め記憶されているデフォルトの露出値情報を読み出す。
【００６０】
Ｓ３４では、制御部１２は、撮像部１４に、Ｎ個（本実施例では２個）の画像（即ち第１画像、第２画像）を撮影させる。Ｓ３４の処理の内容は図２のＳ１２とほぼ同様であるが、本実施例では、制御部１２が、撮像部１４に２個の画像を撮影させる際に、Ｓ３２で読み出された露出値情報が示す露出値を利用して撮影させる点が図２のＳ１２とは異なる。
【００６１】
Ｓ３６では、制御部１２は、撮影されたＮ個（本実施例では２個）の画像のうち、最も明るい照明下で撮影された画像である１個の特定画像を特定する。Ｓ３６の処理の内容は図２のＳ１４と同じである。本実施例でも、制御部１２は、Ｎ個の画像のそれぞれについて、対応する１以上の所定の画素の輝度値を積算し、積算値が最も大きい画像を特定画像として特定する。
【００６２】
続くＳ３８では、制御部１２は、Ｓ３６で特定された特定画像に基づいて、測光処理を実行する。具体的には、まず、Ｓ３８では、制御部１２は、特定画像の１以上の所定の画素の輝度値に基づいて測光値を算出する。測光値は、１以上の所定の画素の輝度値の代表値であり、例えば、各画素の輝度値の平均値である。本実施例では、測光値は、輝度値と同様に０〜２５５の間で示され、２５５に近づくほど明るいことを示す。そして、制御部１２は、測光値に基づいて、次回撮像部１４に画像を撮影させる際の露出値を決定する。制御部１２は、測光値と目標輝度値との誤差を解消可能な値を新たな露出値として決定する。例えば、予め決められた目標輝度値が１２８である場合において、測光値が４３であった場合、制御部１２は、現在の露出値の約３倍の値を新たな露出値として決定する。反対に、測光値が２５５であった場合、制御部１２は、現在の露出値の約２分の１の値を新たな露出値として決定する。Ｓ３８では以上の各処理が実行される。
【００６３】
続くＳ４０では、制御部１２は、Ｓ３８で決定された露出値を示す露出値情報をメモリ１６に記憶させる。
【００６４】
続くＳ４２では、制御部１２は、Ｓ３６で特定された特定画像に基づいて読取処理を時以降する。Ｓ４２の処理の内容は図２のＳ１６と同様である。
【００６５】
続くＳ４４では、制御部１２は、読み取りに成功したか否かを判断する。Ｓ４４の処理の内容は図２のＳ１８と同様である。制御部１２は、Ｓ１８でＹＥＳと判断すると、Ｓ３０の監視に戻る。一方、制御部１２は、Ｓ１８でＮＯと判断すると、Ｓ３２に戻ってメモリ１６に記憶されている露出値を読み出す。そして、制御部１２は、Ｓ３４〜Ｓ４２の処理を再度実行する。
【００６６】
上記の通り、本実施例の情報コード読取装置１０は、特定画像の明るさを解析し、次回撮像部１４が画像を撮影する際の露出値を決定する測光処理を実行する（図９のＳ３８）。そして、本実施例の情報コード読取装置１０は、フリッカーの周期に対して２分の１ずつ位相が異なる２個の画像（第１画像及び第２画像）を撮影し、そのうちの明るい画像である特定画像を特定する。そのため、図１０に示すように、特定画像の明るさは、約０．７〜１．０の範囲内である（上記の式（１）参照）。また、図１０に示すように、本実施例では、特定画像の明るさの変化が比較的小さい範囲に抑えられる。そのため、Ｓ３８で算出される測光値のバラツキも小さくなり、Ｓ３８で決定される露出値の変化幅も小さくなる。そのため、図１０に示すように、２回目以降の特定画像の測光値は、目標値である１２８に近い値で安定する。そのため、情報コード読取装置１０は、光源のフリッカーの影響を抑制して、次回の画像の撮影のための適切な露出値を決定することができる。本実施例の図９のＳ３８で実行される測光処理、及び、Ｓ４２で実行される読取処理が「対象処理」の一例である。
【００６７】
（第５実施例）
本実施例は、上記の第４実施例の変形例の一つである。本実施例では、図９のＳ３２〜Ｓ４４の処理が複数回実行されるべき場合（例えば、Ｓ４４でＮＯと判断された場合、又は、Ｓ４４でＹＥＳと判断されて戻った先のＳ３０でＹＥＳと判断された場合、等）における処理内容の一部が第４実施例とは異なる。図１１に示すように、本実施例では、各回のＳ３４において撮影される２個の画像（即ち第１画像、第２画像）のそれぞれの位相が共通の組合せとなるように、撮像部１４に画像を撮影させる。
【００６８】
例えば、１回目のＳ３４において、制御部１２は、第１画像を位相αのタイミングで撮影し、第２画像を位相αと２分の１だけ異なる位相である位相βのタイミングで撮影する。この例では、第１画像の方が第２画像よりも明るい。そのため、制御部１２は、第１画像を特定画像として特定する（Ｓ３６）。続く２回目のＳ３４でも、制御部１２は、新たな第１画像を位相αのタイミングで撮影し、新たな第２画像を位相βのタイミングで撮影する。ただし、２回目のＳ３４では、２個の画像が撮影される際に、１回目の特定画像に対して測光処理（Ｓ３８）が行われた結果として決定された露出値が用いられる。１回目の第１画像と２回目の第１画像は、光源のフリッカー周期に対する位相（位相α）が共通する。そのため、１回目の第１画像の明るさと２回目の第１画像の明るさは共通する。同様の理由で、１回目の第２画像の明るさと２回目の第２画像の明るさも共通する。そのため、制御部１２は、２回目のＳ３６においても第１画像を特定画像として特定する。
【００６９】
２回目の特定画像は、前回の特定画像に対して測光処理が行われた結果として決定された露出値を用いて撮影された画像である。そのため、２回目の特定画像に対する測光値は、目標値である１２８付近で安定する。
【００７０】
本実施例では、露出値の読み出しから読取処理の実行までの各処理（図９のＳ３２〜Ｓ４２）が複数回実行されるべき状況において、毎回撮影される２個の画像のそれぞれのフリッカー周期に対する位相の組合せ（即ち図１１の位相α、β）が共通する。即ち、特定画像として特定される画像が撮影された時点のフリッカーの周期に対する位相が一定となり、特定画像に対するフリッカーの影響のバラツキが抑制される。従って、本実施例の情報コード読取装置１０は、露出値の読み出しから読取処理の実行までの各処理が複数回実行されるべき状況においても、測光処理及び読取処理の実行に適した特定画像を毎回適切に特定し、測光処理及び読取処理を適切に実行することができる。
【００７１】
以上、本明細書に開示の技術の各実施例について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例を採用してもよい。
【００７２】
（変形例１）上記の各実施例では、制御部１２は、撮像部１４にＮ個の画像を撮影させる際に、メモリ１６に予め記憶されているフリッカー周期情報（即ちユーザが入力したフリッカー周期情報）が示す周期を利用する。これに限られず、読取関連処理（図２、図９）の実行前に、フリッカー周期情報が予めメモリ１６に記憶されていなくてもよい。その場合、制御部１２は、画像を撮影する前に、被写体光の輝度を測光して光源のフリッカー周期を算出し、算出されたフリッカー周期を利用してＮ個の画像を撮像部１４に撮影させるようにしてもよい。被写体光の輝度を測光して光源のフリッカー周期を算出する手法は、公知の任意の手法を用いることができる。
【００７３】
（変形例２）上記の各実施例では、制御部１２は、照明の光源のフリッカーのフリッカー周期に対して、位相を互いにＮ分の１ずつ異ならせて、撮像部１４にＮ個の画像を撮影させる（図２のＳ１２、図９のＳ３４）。即ち、上記の各実施例の情報コード読取装置１０は、照明の光源のフリッカーの影響を抑制するための各処理を実行している。情報コード読取装置が対策するべき外乱は、照明の光源のフリッカーに限られず、一定周期で発生する任意の外乱（例えば、一定周期で発生する電磁ノイズ等）であってもよい。従って、例えば、制御部１２は、一定周期で発生する電磁ノイズの周期に対して、位相を互いにＮ分の１ずつ異ならせて、撮像部１４にＮ個の画像を撮影させるようにしてもよい。
【００７４】
（変形例３）上記の各実施例では、制御部１２は、フリッカー周期に対して、位相を互いにＮ分の１ずつ異ならせて、撮像部１４にＮ個の画像を撮影させる（図２のＳ１２、図９のＳ３４）。これに限られず、制御部１２は、位相を互いに異ならせて撮像部１４にＮ個の画像を撮影させることができれば、位相を互いにＮ分の１ずつ異ならせなくてもよい。この場合も、制御部１２は、撮影されたＮ個の画像のうちから１個の特定画像を特定すればよい。一般的に言うと、撮影制御部は、撮像部に、一定周期で発生する外乱の周期に対して、位相の異なる複数個の画像を撮影させればよい。また、画像特定部は、撮影された複数個の画像のうちから、対象処理の実行に用いる１個の特定画像を特定すればよい。
【００７５】
（変形例４）上記の各実施例では、制御部１２は、フリッカー周期に対して、位相を互いにＮ分の１ずつ異ならせて、撮像部１４にＮ個の画像を撮影させる（図２のＳ１２、図９のＳ３４）。これに限られず、制御部１２は、位相を互いにＮ分の１ずつ異ならせて、撮像部１４にＮ＋α個（αは１以上の整数）の画像を撮影させるようにしてもよい。この場合も、制御部１２は、撮影されたＮ＋α個の画像のうちから１個の特定画像を特定すればよい。この変形例におけるＮ＋α個の画像が「複数個の画像」の一例である。
【００７６】
（変形例５）上記の各実施例では、制御部１２は、Ｎ個の画像のそれぞれについて、対応する１以上の所定の画素の輝度値を積算し、積算値が最も大きい画像を特定画像として特定する（図２のＳ１４、図９のＳ３６）。しかしながら、制御部１２が、輝度値を基準として特定画像を特定する手法はこの手法に限られない。例えば、制御部１２は、Ｎ個の画像のそれぞれについて、対応する１以上の所定の画素の輝度値のうちの上位１０％の値を抽出してその平均値を算出し、その値が最も大きい画像を特定画像として特定してもよい。
【００７７】
（変形例６）また、制御部１２は、Ｎ個の画像のうちから最も明るさが大きい画像を特定画像として特定することができれば、輝度値を基準とせずに特定画像を特定してもよい。例えば、制御部１２は、Ｎ個の画像のそれぞれの全体の色調等に基づいて特定画像を特定してもよい。一般的に言うと、画像特定部は、複数個の画像のうち、最も明るさが大きい画像を特定画像として特定すればよい。
【００７８】
（変形例７）上記の各実施例では、読取関連処理（図２、図９）において、制御部１２が、撮像部１４の撮影範囲に新たな物品が入った場合（Ｓ１０でＹＥＳ、Ｓ３０でＹＥＳ）に、Ｎ個の画像の撮影等の各処理を開始している。これに限られず、読取関連処理において、制御部１２は、Ｓ１０、Ｓ３０の監視を省略してもよい。制御部１２は、物品が撮影範囲に入ったか否かに関わらず、Ｎ個の画像の撮影を連続して行うようにしてもよい。
【００７９】
（変形例８）第３、第５実施例では、図５、図１１に示すように、各回において、位相αで第１画像が撮影され、位相βで第２画像が撮影されている。これに限られず、各回で撮影される２個の画像は、位相の組合せが共通していれば、第２画像（位相β）が第１画像（位相α）よりも先に撮影されてもよい。即ち、各回において撮影されるＮ個の画像の位相の組合せが共通すれば、各画像の撮影順、撮影間隔等は任意に変更されてもよい。
【００８０】
（変形例９）上記の第１、第３、第４、第５実施例では、図２、図９におけるＮの値は「２」であり、第２実施例では、Ｎの値は「３」である。Ｎの値はこれらに限られず、２以上の整数であれば、任意の値であってもよい。
【００８１】
（変形例１０）第４、第５実施例の読取関連処理（図９）では、測光処理と読取処理を両方連続して実行している。これに限られず、制御部１２は、特定画像を用いて測光処理のみを行うようにしてもよい。その場合、制御部１２は、別途読取指示が入力された場合に、測光処理によって決定された露出値を用いて画像を撮影し、撮影された画像を用いて読取処理を実行するようにしてもよい。
【００８２】
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００８３】
１０：情報コード読取装置、１２：制御部、１４：撮像部、１６：メモリ、１８：操作部、２０：表示部
【図１】
2019067192.tif 000003
【図２】
2019067192.tif 000004
【図３】
2019067192.tif 000005
【図４】
2019067192.tif 000006
【図５】
2019067192.tif 000007
【図６】
2019067192.tif 000008
【図７】
2019067192.tif 000009
【図８】
2019067192.tif 000010
【図９】
2019067192.tif 000011
【図１０】
2019067192.tif 000012
【図１１】
2019067192.tif 000013