(57)【要約】【課題】  撮像ユニットの近くに翳された商品が遠方照明によって照明されてしまう状況にあっても、商品を正しく認識できるようにする。【解決手段】  実施形態の商品認識装置は、撮像ユニット、認識手段、第１の照明ユニット、第２の照明ユニット、検出手段および制御手段を備える。第１の照明ユニットは、撮像領域のうちの撮像ユニットに近い側の第１の照明領域に存在する商品を照明する。第２の照明ユニットは、第１の照明領域の少なくとも一部と、撮像領域のうちの第１の照明領域よりも撮像ユニットから遠い領域とを含んだ第２の照明領域に存在する商品を照明する。検出手段は、撮像ユニットにより撮像された画像への白とびの発生を検出する。制御手段は、白とびの発生が検出されたことに応じて、次の撮像期間と第２の発光デバイスの発光期間とのずれ量を予め定めた基準値とは異なるように第２の発光デバイスを制御する。【選択図】      図３
2015049698.tif 000002
【特許請求の範囲】
【請求項１】
撮像領域に存在する商品を、予め定めた撮像期間毎に繰り返し撮像する撮像ユニットと、
前記撮像ユニットにより撮像された前記商品の画像に基づいて当該商品を認識する認識手段と、
前記撮像領域のうちの前記撮像ユニットに近い側の第１の照明領域に存在する前記商品を照明する第１の照明ユニットと、
前記第１の照明領域の少なくとも一部と、前記撮像領域のうちの前記第１の照明領域よりも前記撮像ユニットから遠い領域とを含んだ第２の照明領域に存在する前記商品を照明する第２の照明ユニットと、
前記撮像ユニットにより撮像された前記画像への白とびの発生を検出する検出手段と、
前記検出手段により前記白とびの発生が検出されたことに応じて、次の前記撮像期間と前記第２の発光デバイスの発光期間とのずれ量を予め定めた基準値とは異ならせるように前記第２の発光デバイスを制御する制御手段とを具備したことを特徴とする商品認識装置。
【請求項２】
前記制御手段は、前記検出手段により前記白とびの発生が検出された撮像期間についての前記ずれ量に対して、その次の撮像期間についての前記ずれ量を第１の規定量だけ増加し、前記検出手段により前記白とびの発生が検出されなかった撮像期間についての前記ずれ量に対して、その次の撮像期間についての前記ずれ量を第２の規定量だけ減少することを特徴とする請求項１に記載の商品認識装置。
【請求項３】
前記白とびの度合いを測定する測定手段をさらに備え、
前記制御手段は、前記測定手段により測定された前記度合いに応じて前記第１および第２の規定量をそれぞれ変更することを特徴とする請求項２に記載の商品認識装置。
【請求項４】
前記制御手段は、前記ずれ量の最小値をゼロとし、前記ずれ量の最大値を前記撮像期間の長さよりも小さく定められた値とすることを特徴とする請求項１または２に記載の商品認識装置。
【請求項５】
前記検出手段は、前記撮像手段によって撮像された画像のうちの白画素の数が予め定めた閾値以上である場合に白とびの発生を検出することを特徴とする請求項１〜４のいずれか一項に記載の商品認識装置。
【請求項６】
撮像領域に存在する商品を、予め定めた撮像期間毎に繰り返し撮像する撮像ユニット、前記撮像領域のうちの前記撮像ユニットに近い側の第１の照明領域に存在する前記商品を照明する第１の照明ユニット、ならびに前記第１の照明領域の少なくとも一部と、前記撮像領域のうちの前記第１の照明領域よりも前記撮像ユニットから遠い領域とを含んだ第２の照明領域に存在する前記商品を照明する第２の照明ユニットとともに商品認識装置に備えられるコンピュータを、
前記撮像ユニットにより撮像された前記商品の画像に基づいて当該商品を認識する認識手段と、
前記撮像ユニットにより撮像された画像への白とびの発生を検出する検出手段と、
前記検出手段により前記白とびの発生が検出されたことに応じて、次の前記撮像期間と前記第２の発光デバイスの発光期間とのずれ量を予め定めた基準値とは異ならせるように前記第２の発光デバイスを制御する制御手段として機能させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、商品認識装置およびその制御プログラムに関する。
【背景技術】
【０００２】
ＣＣＤ（charge coupled device）などを用いた撮像ユニットによって商品を撮像した画像からバーコードの抽出および解析またはオブジェクト認識によって商品を認識する商品認識装置が知られている。
【０００３】
この種の商品認識装置においては、撮像ユニットに近接して設置した発光デバイスが発する光によって、撮像ユニットの前に操作者によって翳された商品を照明することが一般的である。
【０００４】
そして、操作者が商品を翳す位置のばらつきに対応するために、撮像ユニットの近くを照明するための第１の照明ユニットと、それよりも遠くを照明するための第２の照明ユニットとを、個別に商品認識装置に装備することがある。そしてこのように構成することによって、撮像ユニットの近くに翳された商品と、撮像ユニットから遠くに翳された商品とを、いずも撮像ユニットで撮像するのに適する明るさとすることが容易となる。
【０００５】
しかしながら、撮像ユニットの近くに翳された商品が第２の照明ユニットによって照明されてしまうと、撮像ユニットで得られる画像に白とびが生じてしまう恐れがあり、この場合には商品を正しく認識できない恐れがある。
【０００６】
このような事情から、撮像ユニットの近くに翳された商品が遠方照明用の第２の照明ユニットによって照明されてしまう状況にあっても、商品を正しく認識できることが望まれていた。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１３−８９０８５号公報
【特許文献２】特開２０１０−１９６０２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明が解決しようとする課題は、撮像ユニットの近くに翳された商品が遠方照明用の照明ユニットによって照明されてしまう状況にあっても、商品を正しく認識できる商品認識装置およびその制御プログラムを提供することである。
【課題を解決するための手段】
【０００９】
実施形態の商品認識装置は、撮像ユニット、認識手段、第１の照明ユニット、第２の照明ユニット、検出手段および制御手段を備える。撮像ユニットは、撮像領域に存在する商品を、予め定めた撮像期間毎に繰り返し撮像する。認識手段は、前記撮像ユニットにより撮像された前記商品の画像に基づいて当該商品を認識する。第１の照明ユニットは、前記撮像領域のうちの前記撮像ユニットに近い側の第１の照明領域に存在する前記商品を照明する。第２の照明ユニットは、前記第１の照明領域の少なくとも一部と、前記撮像領域のうちの前記第１の照明領域よりも前記撮像ユニットから遠い領域とを含んだ第２の照明領域に存在する前記商品を照明する。検出手段は、前記撮像ユニットにより撮像された前記商品の画像への白とびの発生を検出する。制御手段は、前記検出手段により前記白とびの発生が検出されたことに応じて、次の前記撮像期間と前記第２の発光デバイスの発光期間とのずれ量を予め定めた基準値とは異ならせるように前記第２の発光デバイスを制御する。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係る商品認識装置の外観を示す正面図。
【図２】図１中のＡ−Ａ矢視断面図。
【図３】図１，２に示す商品認識装置の電気的な構成を示すブロック図。
【図４】制御処理のフローチャート。
【図５】遠方発光の実施期間の変化のいくつかの例を示す図。
【発明を実施するための形態】
【００１１】
以下実施の形態の一例を図面を用いて説明する。
【００１２】
図１は本実施形態に係る商品認識装置１００の外観を示す正面図である。
【００１３】
図２は図１中のＡ−Ａ矢視断面図である。
【００１４】
商品認識装置１００は、筐体１に、撮像ユニット２、第１の照明ユニット３および第２の照明ユニット４を収容して構成される。なお、図２においては、筐体１のみを破断して示している。また図１，２では、本実施形態において重要な要素のみを図示し、その他の要素の図示は省略している。
【００１５】
撮像ユニット２は、図１および図２では図示しないが、ＣＣＤなどの撮像デバイスを内蔵する。撮像ユニット２は、筐体１に設けた開口に透明なガラスまたはアクリル板などを取り付けて形成された読取窓５を通して、この読取窓５の前側（図２中の左側）に操作者によって翳された商品を撮像する。撮像ユニット２による撮像領域は、図２に示す２本の破線で挟まれた領域Ｒ１である。
【００１６】
第１の照明ユニット３は、複数（本実施形態では６個）の発光デバイス３ａを含む。発光デバイス３ａとしては、例えばＬＥＤ（light emitting diode）などの周知のデバイスを利用できる。発光デバイス３ａはそれぞれ、読取窓５を通して筐体１の外部へと光を照射する。これにより第１の照明ユニット３は、図２に一点鎖線で示す領域Ｒ２を照明する。発光デバイス３ａの発光強度は、読取窓５よりも外側の読取窓５に近い領域において商品を撮像ユニット２の撮像素子により撮像するのに適する明るさとするように定められる。
【００１７】
第２の照明ユニット４は、複数（本実施形態では８個）の発光デバイス４ａを含む。発光デバイス４ａとしては、例えばＬＥＤなどの周知のデバイスを利用できる。発光デバイス４ａはそれぞれ、読取窓５を通して筐体１の外部へと光を照射する。これにより第２の照明ユニット４は、図２に二点鎖線で示す領域Ｒ３を照明する。発光デバイス４ａの発光強度は、読取窓５よりも外側の読取窓５から遠い領域において商品を撮像ユニット２の撮像素子により撮像するのに適する明るさとするように定められる。
【００１８】
このように、第１の照明ユニット３は商品認識装置１００の近傍の領域を主として照明する。第２の照明ユニット４は第１の照明ユニット３に比べて遠方の領域を主として照明する。このため以降においては、第１の照明ユニット３による照明を近傍照明と称し、第２の照明ユニット４による照明を遠方照明と称する。
【００１９】
図３は商品認識装置１００の電気的な構成を示すブロック図である。なお、図３において図１，２に示されるのと同一の要素には、同一の符号を付して示す。
【００２０】
商品認識装置１００は、電気的な要素として、撮像ユニット２、第１の照明ユニット３および第２の照明ユニット４の他に、外部インタフェース６、ＣＰＵ（central processing unit）７、ＲＯＭ（read-only memory）８、ＲＡＭ（random-access memory）９およびバスライン１０を含む。なお、バスライン１０は、アドレスバスおよびデータバスなどを含み、撮像ユニット２、第１の照明ユニット３、第２の照明ユニット４、外部インタフェース６、ＣＰＵ７、ＲＯＭ８およびＲＡＭ９を互いに接続する。
【００２１】
撮像ユニット２は、前述の撮像デバイス２ａの他に、制御回路２ｂを含む。制御回路２ｂは、予め定めたフレームレートでフレームデータを得るように間欠的に撮像デバイス２ａを駆動する。制御回路２ｂは、撮像デバイス２ａにより得られたフレームデータをＲＡＭ１２に書き込む。制御回路２ｂは、フレームデータの取得のための撮像デバイス２ａでの露光の開始および終了をＣＰＵ７に通知する。
【００２２】
第１の照明ユニット３は、複数の発光デバイス３ａの他に、駆動回路３ｂを含む。駆動回路３ｂは、ＣＰＵ７の制御の下に、近傍照明を間欠的に実施するように発光デバイス３ａを駆動する。
【００２３】
第２の照明ユニット４は、複数の発光デバイス４ａの他に、駆動回路４ｂを含む。駆動回路４ｂは、ＣＰＵ７の制御の下に、遠方照明を間欠的に実施するように発光デバイス４ａを駆動する。
【００２４】
外部インタフェース６は、例えば通信ケーブルを介してＰＯＳ端末などの外部装置に接続される。外部インタフェース６は、ＣＰＵ７と外部装置との間での各種情報の授受を仲介する。
【００２５】
ＣＰＵ７は、コンピュータの中枢部分に相当する。ＣＰＵ７は、ＲＯＭ８およびＲＡＭ９に記憶されたオペレーティングシステム、ミドルウェアおよびアプリケーションプログラムに基づいて、商品認識装置１００としての各種の動作を実現するべく商品認識装置１００の各要素を制御する。
【００２６】
ＲＯＭ８は、上記コンピュータの主記憶部分に相当する。ＲＯＭ８は、上記のオペレーティングシステムを記憶する。ＲＯＭ８は、上記のミドルウェアやアプリケーションプログラムを記憶する場合もある。またＲＯＭ８は、ＣＰＵ７が各種の処理を行う上で参照するデータを記憶する場合もある。
【００２７】
ＲＡＭ９は、上記コンピュータの主記憶部分に相当する。ＲＡＭ９は、ＣＰＵ７が各種の処理を行う上で参照するデータを記憶する。さらにＲＡＭ９は、ＣＰＵ７が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアとして利用される。
【００２８】
ＲＯＭ８に記憶されるアプリケーションプログラムには、後述する制御処理に関して記述した制御プログラムを含む。なお、商品認識装置１００の譲渡は、一般的に制御プログラムがＲＯＭ８に記憶された状態にて行われる。しかし、商品認識装置１００にＥＥＰＲＯＭ（electric erasable programmable read-only memory）、ハードディスクドライブ、あるいはＳＳＤ（solid state drive）などの補助記憶デバイスを設けて、この補助記憶デバイスに制御プログラムを記憶した状態にて商品認識装置１００の譲渡がなされても良い。さらには、制御プログラムがＲＯＭ８や上記のような補助記憶デバイスに記憶されない状態で商品認識装置１００が譲渡されるとともに、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介して制御プログラムが譲渡され、この制御プログラムが上記の別途に譲渡された商品認識装置１００の上記のような補助記憶デバイスに書き込まれても良い。
【００２９】
なお、制御プログラムに基づいてＣＰＵ７が制御処理を実行することにより実現される後述する機能の一部または全てをロジック回路などのハードウェアにより実現することも可能である。また上記の機能を、ハードウェアとソフトウェア制御とを組み合わせて実現することも可能である。
【００３０】
次に商品認識装置１００の動作について説明する。
【００３１】
なお、撮像デバイス２ａにより得られたフレームデータに基づいて読取窓５の前に翳された商品を認識する処理は、既存の同種の装置にて行われている処理と同様であって良い。この認識処理は、例えばＣＰＵ７によって実行される。従ってＣＰＵ７は、認識手段として機能する。なおここでは、当該認識処理についての説明は省略する。ちなみに、認識処理方法には、主としてバーコード認識による方法とオブジェクト認識による方法とが知られているが、どちらが採用される場合であっても本実施形態が適用できる。
【００３２】
商品認識装置１００が電源オンされると、ＣＰＵ７はＲＯＭ８に記憶された制御プログラムに基づく制御処理を開始する。
【００３３】
図４は制御処理のフローチャートである。なお、以下に説明する処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。
【００３４】
Ａｃｔ１においてＣＰＵ７は、変数Ｎに０をセットする。変数Ｎは、撮像デバイス２ａでの露光と遠方照明との実行タイミングのオフセット時間を定めるための係数を表す。
【００３５】
Ａｃｔ２においてＣＰＵ７は、制御回路２ｂに対して撮像開始を指示する。この指示を受けて制御回路２ｂは、予め定めたフレームレートでフレームデータを得るための間欠的な撮像デバイス２ａの駆動を開始する。
【００３６】
Ａｃｔ３においてＣＰＵ７は、撮像デバイス２ａでの露光の開始タイミングとなったか否かを確認する。この確認は、制御回路２ｂからの開始通知がなされたか否かを確認することにより実現できる。あるいは、制御回路２ｂでの撮像デバイス２ａの駆動に同期したタイマに基づいて上記の確認を行うこともできる。そしてＣＰＵ７は、開始タイミングとなっていないためにＮＯと判定したならば、Ａｃｔ３を繰り返す。かくしてＡｃｔ３においてＣＰＵ７は、開始タイミングとなるのを待ち受ける。そしてＣＰＵ７は、開始タイミングとなったためにＹＥＳと判定したならば、Ａｃｔ４へと進む。
【００３７】
Ａｃｔ４においてＣＰＵ７は、近傍照明を開始する。すなわちＣＰＵ７は、駆動回路３ｂに対して照明の開始を指示する。この指示に応じて駆動回路３ｂは、複数の発光デバイス３ａをそれぞれ点灯する。
【００３８】
Ａｃｔ５においてＣＰＵ７は、Ａｃｔ３にて開始タイミングとなったことを確認した時点からオフセット時間が経過したか否かを確認する。ＣＰＵ７は、オフセット時間が経過していないならば、Ａｃｔ５を繰り返す。かくしてＡｃｔ５においてＣＰＵ７は、オフセット時間が経過するのを待ち受ける。オフセット時間は、予め定めた基準オフセット時間Ｔに変数Ｎを乗じて求める。基準オフセット時間Ｔは、例えば商品認識装置１００の設計者などによって任意に定められる。本実施形態では、基準オフセット時間Ｔは、撮像デバイス２ａでの１回の露光期間の長さの１／Ｍ（Ｍは任意の正数）とする。
【００３９】
初期状態においては、変数Ｎは０であるから、オフセット時間も０である。従ってＣＰＵ７は、最初のＡｃｔ５においてＹＥＳと判定することとなる。ＣＰＵ７は、Ａｃｔ５にてＹＥＳと判定したならば、Ａｃｔ６へ進む。
【００４０】
Ａｃｔ６においてＣＰＵ７は、遠方照明を開始する。すなわちＣＰＵ７は、駆動回路４ｂに対して照明の開始を指示する。この指示に応じて駆動回路４ｂは、複数の発光デバイス４ａをそれぞれ点灯する。
【００４１】
Ａｃｔ７においてＣＰＵ７は、撮像デバイス２ａでの露光の終了タイミングとなったか否かを確認する。この確認は、制御回路２ｂからの終了通知がなされたか否かを確認することにより実現できる。あるいは、制御回路２ｂでの撮像デバイス２ａの駆動に同期したタイマに基づいて上記の確認を行うこともできる。そしてＣＰＵ７は、終了タイミングとなっていないためにＮＯと判定したならば、Ａｃｔ７を繰り返す。かくしてＡｃｔ７においてＣＰＵ７は、終了タイミングとなるのを待ち受ける。そしてＣＰＵ７は、終了タイミングとなったためにＹＥＳと判定したならば、Ａｃｔ８へと進む。
【００４２】
Ａｃｔ８においてＣＰＵ７は、近傍照明を停止する。すなわちＣＰＵ７は、駆動回路３ｂに対して照明の停止を指示する。この指示に応じて駆動回路３ｂは、複数の発光デバイス３ａをそれぞれ消灯する。
【００４３】
Ａｃｔ９においてＣＰＵ７は、Ａｃｔ７にて終了タイミングとなったことを確認した時点からオフセット時間が経過したか否かを確認する。オフセット時間が経過していないならばＣＰＵ７は、Ａｃｔ７を繰り返す。かくしてＡｃｔ７においてＣＰＵ７は、オフセット時間が経過するのを待ち受ける。
【００４４】
前述したように、初期状態においては、オフセット時間は０である。従ってＣＰＵ７は、最初のＡｃｔ９においてＹＥＳと判定することとなる。ＣＰＵ７は、Ａｃｔ９にてＹＥＳと判定したならば、Ａｃｔ１０へ進む。
【００４５】
Ａｃｔ１０においてＣＰＵ７は、遠方照明を停止する。すなわちＣＰＵ７は、駆動回路４ｂに対して照明の停止を指示する。この指示に応じて駆動回路４ｂは、複数の発光デバイス４ａをそれぞれ消灯する。
【００４６】
Ａｃｔ１１においてＣＰＵ７は、直前に取得されたフレームデータが表す画像における白とびの度合いを表す値（以下、白とび度と称する）を算出する。白とびの度合いをどのような値により評価するかは任意である。ここでは、フレームデータが表す画像に含まれる全画素に占める白画素の割合として白とび度を算出することとする。
【００４７】
Ａｃｔ１２においてＣＰＵ７は、上記の算出した白とび度が、予め定めた第１の閾値ＴＨ１以上であるか否かを確認する。第１の閾値ＴＨ１は、例えば商品認識装置１００の設計者などによって任意に定められる。第１の閾値ＴＨ１は、例えば１／６とすることが想定される。そしてＣＰＵ７は、白とび度が第１の閾値ＴＨ１以上であるためにＹＥＳと判定したならば、Ａｃｔ１３へ進む。
【００４８】
Ａｃｔ１３においてＣＰＵ７は、変数Ｎがその最大値として予め定めた値Ｎmaxから２つ減じた値以下であるか否かを確認する。最大値Ｎmaxは、例えば商品認識装置１００の設計者などによって任意に定められる。本実施形態においては、Ｍの値を値Ｎmaxとする。つまりＮmaxは、撮像デバイス２ａでの１回の露光期間の長さを基準オフセット時間Ｔで除して求まる値となる。そしてＣＰＵ７は、変数Ｎが最大値Ｎmaxから２つ減じた値以下であるためにＹＥＳと判定したならば、Ａｃｔ１４へ進む。
【００４９】
Ａｃｔ１４においてＣＰＵ７は、変数Ｎの値を２つ増加する。つまりＣＰＵ７は、変数Ｎを２つ増加しても変数Ｎが最大値Ｎmax以下となる場合にのみ、Ｎを２つ増加する。
【００５０】
ところでＣＰＵ７は、白とび度が第１の閾値ＴＨ１未満であるためにＡｃｔ１２にてＮＯと判定したならば、Ａｃｔ１５へ進む。
【００５１】
Ａｃｔ１５においてＣＰＵ７は、白とび度が、予め定めた第２の閾値ＴＨ２以上であるか否かを確認する。第２の閾値ＴＨ２は、例えば商品認識装置１００の設計者などによって第１の閾値ＴＨ１よりも小さい値として任意に定められる。第２の閾値ＴＨ２は、例えば１／８とすることが想定される。つまりＣＰＵ７は、白とび度が第２の閾値ＴＨ２以上で、かつ第１の閾値ＴＨ１未満の範囲内であるか否かを確認することになる。そしてＣＰＵ７は、白とび度が第２の閾値ＴＨ２以上であるためにＹＥＳと判定したならば、Ａｃｔ１６へ進む。なおＣＰＵ７は、Ａｃｔ１３にてＮＯと判定した場合、即ち変数Ｎを２つ増加すると変数Ｎが最大値Ｎmaxよりも大きくなってしまう状況下においても、Ａｃｔ１６へ進む。
【００５２】
Ａｃｔ１６においてＣＰＵ７は、変数Ｎが最大値Ｎmaxから１つ減じた値以下であるか否かを確認する。そしてＣＰＵ７は、変数Ｎが最大値Ｎmaxから１つ減じた値以下であるためにＹＥＳと判定したならば、Ａｃｔ１７へ進む。
【００５３】
Ａｃｔ１７においてＣＰＵ７は、変数Ｎの値を１つ増加する。つまりＣＰＵ７は、変数Ｎを１つ増加しても変数Ｎが最大値Ｎmax以下となる場合にのみ、Ｎを１つ増加する。
【００５４】
ところでＣＰＵ７は、白とび度が第１の閾値ＴＨ２未満であるためにＡｃｔ１５にてＮＯと判定したならば、Ａｃｔ１８へ進む。
【００５５】
Ａｃｔ１８においてＣＰＵ７は、変数Ｎが１以上であるか否かを確認する。そしてＣＰＵ７は、変数Ｎが１以上であるためにＹＥＳと判定したならば、Ａｃｔ１９へ進む。
【００５６】
Ａｃｔ１９においてＣＰＵ７は、変数Ｎの値を１つ減少する。つまりＣＰＵ７は、変数Ｎを１つ減少しても変数Ｎが０以上となる場合にのみ、Ｎを１つ減少する。
【００５７】
なおＣＰＵ７は、Ａｃｔ１６にてＮＯと判定した場合、即ち変数Ｎを１つ増加すると変数Ｎが最大値Ｎmaxよりも大きくなってしまう状況下と、Ａｃｔ１８にてＮＯと判定した場合、即ち変数Ｎを１つ減少すると変数Ｎが０よりも小さくなってしまう状況下とにおいては、変数Ｎを変更しない。
【００５８】
以上のようなＡｃｔ１２〜Ａｃｔ１９の処理によって、白とび度が閾値ＴＨ２以上である状況においては、変数Ｎが最大値Ｎmax以下となる範囲で増加される。なおその増加量は、白とび度が閾値ＴＨ１以上であるならば２つで、白とび度が閾値ＴＨ１未満（閾値ＴＨ２以上、かつ閾値ＴＨ１未満）であるならば２つである。一方、白とび度が閾値ＴＨ２未満である状況においては、変数Ｎが０以上となる範囲で１つ減少される。
【００５９】
そしてこのようにして定められた変数Ｎは、次にＡｃｔ３〜Ａｃｔ１０を実行する際のオフセット時間を決定するための係数として使用される。つまりオフセット時間は、１つ前の露光期間に取得されたフレームデータが表す画像における白とびが発生している状況において、当該１つ前の露光期間におけるオフセット時間よりも増大され、逆に上記の白とびが発生していない状況において、当該１つ前の露光期間におけるオフセット時間よりも減少される。
【００６０】
つまりＣＰＵ７は、白とび度が閾値ＴＨ２以上である場合に白飛びが発生していることを検出し、この場合にオフセット時間を増大して基準値とは異ならせるのである。従ってＣＰＵ７は、検出手段および制御手段として機能している。
【００６１】
さて、近傍照明は、上記のオフセット時間に拘わらずに、常に撮像デバイス２ａの露光期間において実施される。これに対して遠方照明は、撮像デバイス２ａの露光期間に対してオフセット時間だけずらしたタイミングで実施される。ただし、オフセット時間の初期値（基準値）は０であり、遠方照明も初期状態（基準状態）においては撮像デバイス２ａの露光期間において実施される。しかしながら遠方照明は、上記のようなオフセット時間の変更により、白とびの発生状況に応じた適応的な実施期間の調整がなされる。
【００６２】
図５は遠方発光の実施期間の変化のいくつかの例を示す図である。なお、この図５においては、露光期間の１／４を基準オフセット時間Ｔとしている。
【００６３】
第１のケースでは、遠方発光を基準状態で行った露光期間で、第１の閾値ＴＨ１以上の白とび度の白とびが生じている。このケースでは、次の露光期間における遠方発光の実施期間がオフセット時間２Ｔに渡って遅延される。
【００６４】
第２のケースでは、遠方発光を基準状態で行った露光期間で、第２の閾値ＴＨ２以上、かつ第１の閾値ＴＨ１未満の白とび度の白とびが生じている。このケースでは、次の露光期間における遠方発光の実施期間がオフセット時間１Ｔに渡って遅延される。
【００６５】
第３のケースでは、遠方発光を基準状態で行った露光期間における白とび度が第２の閾値ＴＨ２未満であり、白とびが生じていない。このケースでは、次の露光期間における遠方発光の実施期間は基準状態のまま変更されない。
【００６６】
第４のケースでは、オフセット時間を３Ｔとして行った露光期間で、第１の閾値ＴＨ１以上の白とび度の白とびが生じている。このケースでは、オフセット時間を２Ｔ増加するとオフセット時間が露光期間の長さよりも大きくなってしまうために、次の露光期間におけるオフセット時間は１Ｔのみを増加させて４Ｔとされる。
【００６７】
第５のケースでは、オフセット時間を４Ｔとして行った露光期間で、第２の閾値ＴＨ２以上の白とび度の白とびが生じている。このケースでは、オフセット時間を増加するとオフセット時間が露光期間の長さよりも大きくなってしまうために、次の露光期間におけるオフセット時間は４Ｔのまま変更されない。
【００６８】
第６のケースでは、オフセット時間を３Ｔとして行った露光期間で、白とび度が第２の閾値ＴＨ２未満であり、白とびが生じていない。このケースでは、次の露光期間における遠方発光のオフセット時間は２Ｔに減少される。
【００６９】
さて、商品認識装置１００においては、第１の照明ユニット３が照明する領域Ｒ２と、第２の照明ユニット４とが照明する領域Ｒ３とは、図２から分かるように一部で重複する。しかも、このような重複領域は、第２の照明ユニット４が適正に照明しようとする領域よりも第２の照明ユニット４に近いため、第２の照明ユニット４から発せされた光の到達強度が大きい。従って、当該重複領域に商品が位置していた場合で、この商品に第１の照明ユニット３および第２の照明ユニット４の双方からの光が同時に到達した場合に商品への照度が過度となり、白とびが生じる可能性が高まる。
【００７０】
しかしながら商品認識装置１００では、白とびが生じている場合には、遠方照明の実施タイミングを撮像デバイス２ａの露光期間とはずらすので、露光期間の中で、第１の照明ユニット３および第２の照明ユニット４の双方からの光が同時に到達する期間が短くなり、商品についての露光量が低減される。これにより白とびの発生を抑えて、商品が適正に撮像される可能性を高めることができる。
【００７１】
また商品認識装置１００では、露光期間に対する遠方照明の実施期間のオフセット量を徐々に変化させるので、白とびを適正に防止できるようにオフセット時間を調整できる。
【００７２】
また商品認識装置１００では、白とび度の大きさに応じてオフセット時間の１回の増加量を異ならせているので、大きな白とびが生じている場合には、その白とびを速やかに抑えるようにオフセット時間を調整することができ、また小さな白とびが生じている場合には過度なオフセット時間の調整を行うことを防止して適正な調整が行える。
【００７３】
なお、オフセット時間が露光期間の長さに至ったならば、それ以降に露光期間を超えてオフセット時間を調整しても、商品についての露光量は変化しない。商品認識装置１００では、オフセット時間の最大値は露光期間の長さとなるから、オフセット時間を商品の露光量を調整するのに有効な範囲内で効率的に変更することができる。
【００７４】
オフセット時間が露光期間の長さと同じであるとき、遠方照明は商品を照明するために実質的には機能していない。従って、このような状況にあっては、遠方照明を実施していないのと実質的に同等である。しかしながらこのような状況で遠方照明を止めてしまうと、遠方照明が実施されない期間の割合が増大し、操作者にちらつきを感じさせてしまう恐れがある。しかしながら商品認識装置１００では、このような状況であっても、遠方照明を実施し続けるので、操作者にちらつきを感じさせてしまうことがない。
【００７５】
この実施形態は、次のような種々の変形実施が可能である。
【００７６】
オフセット時間を減少する場合にも、白とび量の大きさに応じて１回の減少量を異ならせても良い。
【００７７】
白とびが検出されなくなったら、その時点におけるオフセット時間の大きさに拘わらずにオフセット時間を初期値まで一気に変更しても良い。
【００７８】
白とびの発生が検出された露光期間の次の露光期間において、遠方照明の実施期間を一定量だけずらすように制御しても良い。
【００７９】
白とびの発生が検出された露光期間に続く複数の露光期間において、遠方照明の実施期間をずらすように制御しても良い。
【００８０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８１】
１…筐体、２…撮像ユニット、２ａ…撮像デバイス、２ｂ…制御回路、３…照明ユニット、３ａ…発光デバイス、３ｂ…駆動回路、４…照明ユニット、４ａ…発光デバイス、４ｂ…駆動回路、５…読取窓、６…外部インタフェース、７…ＣＰＵ、８…ＲＯＭ、９…ＲＡＭ、１００…商品認識装置。
【図１】
2015049698.tif 000003
【図２】
2015049698.tif 000004
【図３】
2015049698.tif 000005
【図４】
2015049698.tif 000006
【図５】
2015049698.tif 000007