説明

シンボルコード読取装置およびその制御プログラム

【課題】操作者に負担を掛けずにシンボルコードの二重読みを防止し、正確な情報収集を可能としたシンボルコード読取装置およびその制御プログラムを提供すること。
【解決手段】イメージセンサ22によって撮像された画像に含まれるシンボルコードをデコーダ23によってデコードする。第1判定セクション282によってデコードの結果生成された第1コード情報とその直前のデコードにより生成された第2コード情報とが同一であるかを判定する。両コード情報が同一である場合、第2判定セクション283が第2コード情報の生成元となる画像が撮像されてから第1コード情報の生成元となる画像が撮像されるまでの間にイメージセンサ22によって撮像された画像に基づいて、第1コード情報を表すシンボルコードが付された物品と第2コード情報を表すシンボルコードが付された物品とが同一であるかを判定する。両物品が同一であると判定された場合、出力制御セクション284が第1コード情報を出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、物品に付されたバーコード等のシンボルコードを読み取ってコード情報を出力するシンボルコード読取装置及びその制御プログラムに関する。
【背景技術】
【0002】
商品等の物品に付されるバーコード等のシンボルを認識するシンボルコード読取装置は、レーザ光をスキャニングさせるレーザ方式が主流である。しかしその一方で、近年では、シンボルが付された物品の二次元画像を撮像手段で撮像し、この画像からシンボルコードを読み取る方式、いわゆるカメラ撮像方式が開発されている。この種のシンボルコード読取装置は、結像レンズを介してシンボルコード像をイメージセンサに導いてアナログ信号に変換し、該アナログ信号を2値化回路で2値化出力に変換した後、デコーダにてデコードした数値を出力するようになっている。
【0003】
シンボルコード読取装置にてシンボルコードが読み取られた後に同一のシンボルコードが読取面に翳され続けると、再度そのシンボルコードを読み取ってしまうことがある。このような二重読みが生じると、1つの物品があたかも2つあるかのように取り扱うことになり、正確な情報収集が妨げられる。
【0004】
従来、レーザ方式およびカメラ撮像方式それぞれのシンボルコード読取装置において、上記のような二重読みを防止するための手段が講じられている。その方法としては、シンボルコードから読み取られるコード情報が前回読み取ったコード情報と同一である場合に何らかの二重読み防止用の機能を働かせる、との方法が主流である。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平11−110475号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
コード情報を用いて二重読みを防止しようとした場合、実際には別々の物品に付されたシンボルコードを読み取らせたにも関わらずそれらのシンボルコードが同一である場合などには、無用に二重読み防止用の機能が働いてしまう。
【0007】
したがって、二重読み防止用の機能自体が情報収集の妨げになり得るし、同機能の具体的な処理内容によってはシンボルコード読取装置の操作者の負担にもなり得る。
【0008】
このような事情により、操作者に負担を掛けずにシンボルコードの二重読みを防止し、正確な情報収集を可能としたシンボルコード読取装置が望まれていた。
【課題を解決するための手段】
【0009】
上記目的を達成するため、一実施形態におけるシンボルコード読取装置は、撮像手段と、デコード手段と、第1判定手段と、第2判定手段と、出力制御手段とを備えている。
前記撮像手段は、コード情報を表すシンボルコードが付された物品を撮像する。前記デコード手段は、前記撮像手段により撮像された画像に含まれるシンボルコードを認識し、認識したシンボルコードをデコードしてコード情報を生成する。前記第1判定手段は、前記デコード手段により新たに生成されたコード情報である第1コード情報と、この第1コード情報が生成される直前に前記デコード手段により生成されたコード情報である第2コード情報とが一致するかを判定する。前記第2判定手段は、前記第1判定手段により前記第1コード情報と前記第2コード情報とが一致すると判定されたとき、前記第2コード情報の生成元となる画像が撮像されてから前記第1コード情報の生成元となる画像が撮像されるまでの間に前記撮像手段により撮像された画像に基づいて、前記第1コード情報を表すシンボルコードが付された物品と、前記第2コード情報を表すシンボルコードが付された物品とが同一であるかを判定する。前記出力制御手段は、前記第1判定手段により前記第1コード情報と前記第2コード情報とが一致しないと判定されたとき及び前記第2判定手段により前記第1コード情報を表すシンボルコードが付された物品と前記第2コード情報を表すシンボルコードが付された物品とが同一でないと判定されたときに前記第1コード情報を出力する。
【図面の簡単な説明】
【0010】
【図1】第1の実施形態におけるバーコードスキャナの使用状態を示す模式図。
【図2】同実施形態におけるバーコードスキャナの要部構成を示すブロック図。
【図3】図1に示したバーコードスキャナのA−A断面を示す概略図。
【図4】図3に示したバーコードスキャナのB−B断面を示す概略図。
【図5】同実施形態におけるバーコードスキャナによる読み取り範囲を説明するための図。
【図6】同実施形態におけるバーコードスキャナの動作を説明するためのフローチャート。
【図7】第3の実施形態におけるバーコードスキャナの要部構成を示すブロック図。
【図8】同実施形態におけるバーコードスキャナの動作を説明するためのフローチャート。
【図9】第4の実施形態におけるバーコードスキャナの使用状態を示す模式図。
【図10】同実施形態におけるバーコードスキャナの要部構成を示すブロック図。
【図11】同実施形態におけるバーコードスキャナの動作を説明するためのフローチャート。
【発明を実施するための形態】
【0011】
以下、各実施形態について図面を参照しながら説明する。
ここで説明する各実施形態は、シンボルコード読取装置として、小売店などで商品に付されたバーコードを読み取るために使用されるバーコードスキャナを例示するものである。
【0012】
(第1の実施形態)
第1の実施形態について説明する。
図1は、バーコードスキャナ1の使用状態を示す模式図である。バーコードスキャナ1は、情報処理端末2の側面に設けられている。情報処理端末2は、例えば小売店等でチェックアウト業務に使用されるPOS(Point Of Sales)端末や、POS端末に接続されてレジカウンタ上に設けられる商品コード入力装置等である。
【0013】
バーコードスキャナ1は、直方体状のケース10に、光透過性のガラス部材11を嵌め込んで形成されている。このガラス部材11に被写体である商品に付されたバーコード(シンボルコード)を翳すと、バーコードスキャナ1によってバーコードが読み取られ、同バーコードにて表される商品コード(コード情報)が情報処理端末2の制御回路に入力される。
【0014】
情報処理端末2は、バーコードスキャナ1から入力された商品コードを用いて所定の情報処理を行う。例えば情報処理端末2が前記POS端末である場合には、入力された商品コードをキーとしてPLU(Price Look Up)ファイルを検索し、当該商品コードが示す商品の単価等を含む商品情報を読み出し、買い上げ商品の商品情報を一時記憶するためのメモリに記憶する。また、情報処理端末2が前記商品コード入力装置である場合には、入力された商品コードをPOS端末に出力する。このPOS端末は、前記した通りの処理を実行する。
【0015】
図2は、バーコードスキャナ1の要部構成を示すブロック図である。バーコードスキャナ1は、光源20、レンズ21、イメージセンサ22、デコーダ23、光源駆動回路24、輝度計測部25、メモリ26、接続インタフェース27、および制御部28を備えている。
【0016】
光源20は、本実施形態における照明手段として機能するものであり、ガラス部材11に翳された被写体を照明するLED光源201〜204(図4参照)にて構成されている。
【0017】
レンズ21は、光源20から照射され、被写体に反射して戻る反射光をイメージセンサ22に結像させる。
【0018】
イメージセンサ22は、本実施形態における撮像手段として機能するものであり、CCD(Charge Coupled Diode)やCMOS(Complementary Metal-Oxide Semiconductor)等の撮像素子により構成され、レンズ21によって結像された光学像を光電変換することにより多階調の画像データを生成する。生成された画像データは、デコーダ23および制御部28に出力される。
【0019】
デコーダ23は、本実施形態におけるデコード手段として機能するものであり、イメージセンサ22から入力された画像データに含まれるバーコードを認識し、認識したバーコードをデコードして商品コードを生成する。生成された商品コードは、制御部28に通知される。
【0020】
光源駆動回路24は、LED光源201〜204への通電タイミングを制御し、LED光源201〜204を点灯/消灯させる。
【0021】
輝度計測部25は、本実施形態における輝度計測手段として機能するものであり、イメージセンサ22から制御部28を介して入力される画像データ全体の平均輝度Baveを計測する。具体的には、画像データを構成する全画素の輝度を計測してそれらを足し合わせ、同画像データの画素数で除すことによって平均輝度Baveを算出する。輝度計測部25によって計測された平均輝度Baveは、メモリ26に出力される。
【0022】
メモリ26は、例えばEEPROMであり、デコーダ23によって生成された商品コードや輝度計測部25によって計測された平均輝度Baveなどを記憶する。特に本実施形態では、デコーダ23によってある商品コードが生成されたときから次の商品コードが生成されるまでの間に輝度計測部25によって計測される平均輝度Baveと、これら両商品コード(第1,第2コード情報)とを少なくとも記憶する。
【0023】
接続インタフェース27は、所定の通信ケーブルを介して制御部28と情報処理端末2とを相互通信可能に接続する。
【0024】
制御部28は、マイクロプロセッサやROM(Read Only Memory)等で構成されている。特に制御部28は、前記ROMに記憶された制御プログラムを実行することにより、主制御セクション281、第1判定セクション282、第2判定セクション283、および出力制御セクション284としての機能を実現する。
【0025】
主制御セクション281は、バーコードスキャナ1の制御回路を構成する各部の制御など、バーコードの読み取りに関する各種の処理を実行する。
【0026】
第1判定セクション282は、前記したようにしてメモリ26に記憶された2つの商品コードを比較し、それらが一致するか否かを判定する。
【0027】
第2判定セクション283は、デコーダ23によって新たに生成された商品コードの生成元となる画像データに映し出された商品と、デコーダ23によってこの商品コードが生成される直前に生成された商品コードの生成元となる画像データに映し出された商品とが同一であるか否かを判定する。特に本実施形態では、両商品が同一であるか否かの判断基準として、メモリ26に記憶された平均輝度Baveと、閾値Bsとを用いる。
【0028】
閾値Bsは、前記ROMなどに記憶されたものであり、その値は、全体が白色である画像データの平均輝度に所定の比率を乗じた値に設定されている。前記全体が白色である画像データとは、全体がイメージセンサ22にて撮像可能な最大輝度の画像であり、例えば輝度を8bitで表すならば「255」となる。前記所定の比率は、少なくとも平均輝度が閾値Bs以下となる画像データの生成時にはガラス部材11に何ら商品等が翳されていない状態となるように、経験的、実験的、あるいは理論的に導出される値に設定されている。その値を決定するにあたっては、例えばバーコードスキャナ1の周囲の照明の状態、光源20の照明能力、イメージセンサ22の性能等が考慮される。
【0029】
出力制御セクション284は、第1判定セクション282によって2つの商品コードが一致しないと判定された場合、および第2判定セクション283によって2つの商品が同一でないと判定された場合に、デコーダ23によって生成された商品コードを情報処理端末2に出力する。
【0030】
図3は、図1に示したバーコードスキャナ1のA−A断面を示す概略図であり、図4は、図3に示したバーコードスキャナ1のB−B断面を示す概略図である。
図3に示したように、トップカバー12とボトムカバー13とによって前記ケース10が形成され、このケース10に前記光源20、この光源20が取り付けられた照明ボード30、前記レンズ21、前記イメージセンサ22、および制御ボード31が収納されている。照明ボード30には前記光源駆動回路24が実装され、制御ボード31には前記輝度計測部25、前記メモリ26、および前記制御部28が実装されている。なお、各部を電気的に接続するためのラインは図示を省略している。図中の破線は情報処理端末2の筐体面である。すなわち、トップカバー12とボトムカバー13とで構成されたケース10は、一部が情報処理端末2の筐体面から突出し、他部が情報処理端末2に埋め込まれるようにして取り付けられている。
【0031】
トップカバー12の天面12aには、縁を矩形として底面を開口した擂鉢状の傾斜部12bが形成されている。ガラス部材11は、この傾斜部12bを塞ぎ、かつ天面12aと面一となるように、トップカバー12に嵌め込まれている。レンズ21は、その中心軸がトップカバー12の傾斜部12bの中心を通るように、イメージセンサ22に固定されている。
【0032】
照明ボード30は、ガラス部材11とレンズ21との間に設けられており、被写体像がレンズ21に届くようにレンズ21の中心軸の延長線を中心とした円形の開口部30aが形成されている。
【0033】
LED光源201〜204は、調整可能な光量幅を広く確保するために、それぞれ2つのLEDで構成されている。LED光源201は開口部30aの左側上部に、LED光源202は開口部30aの左側下部に、LED光源203は開口部30aの右側上部に、LED光源204は開口部30aの右側下部に、それぞれ傾斜部12bの傾斜の略延長線上に位置決めされて、照明ボード30に固定されている。
【0034】
このような構成のバーコードスキャナ1による読み取り範囲について、図5を用いて説明する。図中に破線で示した枠内が読み取り範囲40である。同範囲40は、例えば傾斜部12bの傾斜の略延長線上に形成される4側面と、限界面41とで仕切られる範囲である。なお、限界面41は、前記4側面内において被写体からの反射光に基づいて生成される画像データがバーコードをデコードするに足る鮮明さを有し得る限界位置を示す面である。
【0035】
光源20の点灯時において、商品51のように読み取り範囲40内に被写体や操作者の手などがある場合、同被写体等から十分な量の反射光がレンズ21に入射する。したがって、この反射光に基づいて生成される画像データは十分明るくなり、同画像データの平均輝度Baveは閾値Bsを超える値となる。
【0036】
一方、光源20の点灯時において、商品52のように読み取り範囲40の前記4側面の外側に被写体や操作者の手などがある場合、同被写体には光源20から発せられる光が当たらない。したがって、十分な反射光がレンズ21に入射しないので画像データが暗くなり、同画像データの平均輝度Baveは閾値Bsを下回る値となる。
【0037】
一方、光源20の点灯時において、商品53のように読み取り範囲40の前記4側面内かつ限界面41の外側に被写体や操作者の手などがある場合、同被写体等には光源20から発せられる光が届くものの、十分な反射光が得られない。したがって、画像データが暗くなり、同画像データの平均輝度Baveは閾値Bsを下回る値となる。
【0038】
次に、バーコードスキャナ1の動作について説明する。
図6は、本実施形態におけるバーコードスキャナ1の動作を説明するためのフローチャートである。このフローチャートに示す処理は、例えば情報処理端末2からバーコードの読み取りが指示されたことに応じて開始される。
【0039】
この処理において、先ず制御部28の主制御セクション281がメモリ26に変数X,Xpを生成するとともに(ステップS101)、光源駆動回路24に照明開始を指示する(ステップS102)。この指示を受けたとき、光源駆動回路24は、各LED光源201〜204への通電を開始し、各LED光源201〜204を点灯させる。
【0040】
照明が開始された後、イメージセンサ22がレンズ21によって結像された光学像を光電変換して画像データを生成する(ステップS103)。この画像データはデコーダ23に出力されるとともに、制御部28を介して輝度計測部25に送られる。
【0041】
イメージセンサ22から画像データを受け取ったとき、輝度計測部25は同画像データ全体の平均輝度Baveを計測してその結果をメモリ26に記憶させる(ステップS104)。また、イメージセンサ22から画像データを受け取ったとき、デコーダ23は、画像データからバーコードの認識を試み、バーコードが認識されたならばそのデコードを試みる(ステップS105)。デコーダ23は、バーコードのデコードに成功した場合、該デコードによって生成された商品コードを制御部28に通知する。
【0042】
しかる後、主制御セクション281がデコードの成否を判定する(ステップS106)。デコーダ23から商品コードが通知されていない場合、主制御セクション281はデコードに失敗したと判定する(ステップS106のNo)。この場合、主制御セクション281は他の処理を行わず、イメージセンサ22による画像データの生成(ステップS103)、輝度計測部25による平均輝度Baveの計測およびメモリ26への記憶(ステップS104)、デコーダ23によるデコード(ステップS105)が繰り返される。すなわち、デコードが成功するまでの間にステップS103〜S105の処理が実行された数だけメモリ26に平均輝度Baveが蓄積記憶される。メモリ26に記憶された平均輝度Baveは、例えばデコードの成功後に第1回目のステップS103の処理が実行される直前に消去される。
【0043】
やがて、読み取り範囲40内に適切な姿勢で商品が翳されると、同商品に付されたバーコードが画像データ中に鮮明に写り込み、同バーコードがデコーダ23によってデコードされる。このときデコーダ23から商品コードが通知されると、主制御セクション281はデコードに成功したと判定し(ステップS106のYes)、デコーダ23から受け取った商品コードをメモリ26に形成された変数Xに記述する(ステップS107)。
【0044】
次に、制御部28の第1判定セクション282が変数Xと変数Xpとを比較し、それらが一致するか否かを判定する(ステップS108)。第1判定セクション282によって変数Xと変数Xpが一致しないと判定された場合(ステップS108のNo)、制御部28の出力制御セクション284が変数Xに記述された商品コードを情報処理端末2に出力する(ステップS109)。さらに、主制御セクション281がメモリ26の変数Xpの内容を変数Xに記述された商品コードに書き換える(ステップS110)。しかる後、再びステップS103の処理に戻る。
【0045】
一方、第1判定セクション282によって変数Xと変数Xpとが一致すると判定された場合(ステップS108のYes)、第2判定セクション283が変数Xに記述された商品コードの生成元となる画像データに映し出されていた商品と、変数Xpに記述された商品コードの生成元となる画像データに映し出されていた商品とが同一であるか否かを判定する(ステップS111)。この判定は、変数Xpに記述された商品コードの生成元となる画像データが撮像されてから、変数Xに記述された商品コードの生成元となる画像データが撮像されるまでの間にメモリ26に記憶された一連の平均輝度Baveと、閾値Bsとを比較することで行われる。
【0046】
前記一連の平均輝度Baveのうちの一つでも閾値Bsを下回っている場合には、変数Xpに記述された商品コードの生成元となる画像データが撮像されてから、変数Xに記述された商品コードの生成元となる画像データが撮像されるまでの間に、商品やそれを持つ操作者の手が図5に示したような読み取り範囲40の外に出されたことになる。すなわち、変数Xおよび変数Xpに記述されたそれぞれの商品コードのデコード時にガラス部材11に翳されていた商品は商品コードが同一ではあるが別商品である可能性が高いので、第2判定セクション283は両商品が同一でないと判定する(ステップS111のNo)。この場合、出力制御セクション284は、変数Xに記述された商品コードを情報処理端末2に出力し(ステップS109)、主制御セクション281がメモリ26の変数Xpの内容を変数Xに記述された商品コードに書き換える(ステップS110)。しかる後、ステップS103の処理に戻る。
【0047】
一方、前記一連の平均輝度Baveの全てが閾値Bsを上回っている場合には、変数Xpに記述された商品コードの生成元となる画像データが撮像されてから、変数Xに記述された商品コードの生成元となる画像データが撮像されるまでの間、連続して商品やそれを持つ操作者の手が図5に示したような読み取り範囲40内にあったことになる。すなわち、変数Xおよび変数Xpに記述されたそれぞれの商品コードのデコード時にガラス部材11に翳されていた商品は同一商品である可能性が高いので、第2判定セクション283は両商品が同一であると判定する(ステップS111のYes)。この場合、出力制御セクション284による商品コードの出力が行われないまま、再びイメージセンサ22による画像データの生成(ステップS103)、輝度計測部25による平均輝度Baveの計測およびメモリ26への記憶(ステップS104)、デコーダ23によるデコード(ステップS105)が繰り返される。
【0048】
なお、図6に示したフローチャートに沿った処理は、例えば情報処理端末2からバーコードの読み取り終了が指示されるまで継続される。情報処理端末2では、一連の処理にてバーコードスキャナ1から出力された商品コードを用いて、各商品コードが示す商品の会計等が行われる。
【0049】
以上説明したように、本実施形態におけるバーコードスキャナ1は、デコーダ23によって新たに生成された商品コードが同コードの直前に生成された商品コードと一致するとき、両商品コードの生成元となる画像データの間に撮像された画像データに基づいて両商品コードが表された商品が同一であるか否かを判定する。そして、両商品が同一でないと判定された場合に限って前記新たに生成された商品コードを情報処理端末2に出力する。このような構成であれば、同一の商品が連続してバーコードスキャナ1に翳されている場合に限って二重読み防止用の機能が働くことになるので正確な情報収集が可能となるし、操作者に同機能に起因した負担を掛けることもない。
【0050】
(第2の実施形態)
次に、第2の実施形態について説明する。
本実施形態では、前記閾値Bsを動的に設定する点で第1の実施形態と異なる。第1の実施形態と同一の箇所には同一の符号を付し、重複説明は必要な場合にのみ行う。
【0051】
本実施形態における閾値Bsは、デコーダ23によるデコードが成功した画像データの平均輝度Baveに所定の比率Rを乗じて算出される。比率Rは、あるタイミングで撮像された画像データの平均輝度が、読み取り範囲40内に商品等がある状態で撮像された画像データの平均輝度に当該比率Rを乗じた程度まで低下した場合には、読み取り範囲40から商品等が出されたと判定できるような値に設定されている。比率Rの具体的な値は、経験的、実験的、あるいは理論的に導出される。
【0052】
次に、バーコードスキャナ1の動作について、図6に示したフローチャートを用いて説明する。
本実施形態におけるステップS111の処理において、第2判定セクション283は、先ず変数Xpに記述された商品コードの生成元となる画像データの平均輝度Baveに前記比率Rを乗じて閾値Bsを算出する。そして、このように算出された閾値Bsとメモリ26に記憶された一連の平均輝度Baveとを用いて、前記実施形態にて説明したように商品の同一性を判定する。
【0053】
以上説明したように、本実施形態におけるバーコードスキャナ1は、商品の同一性を判定するために用いる閾値Bsを、デコーダ23によるデコードが成功した画像データの平均輝度Baveに所定の比率Rを乗じることで動的に設定する。このようにすれば、周囲の照明や日光によってガラス部材11に翳される商品からの反射光の強弱にバラつきがあるような場合であっても、その影響を吸収することができる。
【0054】
なお、第1の実施形態と同様に正確な情報収集が可能となるなどの効果を奏することはいうまでもない。
【0055】
(第3の実施形態)
次に、第3の実施形態について説明する。
本実施形態では、新たに商品コードが読み取られた商品とその直前に商品コードが読み取られた商品との同一性を、両商品コードが読み取られる間に撮像された画像データからバーコードのバーパターンが認識できなかった時間を用いて判断する点で、前記各実施形態と異なる。前記各実施形態と同一の箇所には同一の符号を付し、重複説明は必要な場合にのみ行う。
【0056】
図7は、本実施形態におけるバーコードスキャナ1の要部構成を示すブロック図である。バーコードスキャナ1は、前記各実施形態にて説明した輝度計測部25に代えて、本実施形態における計時手段として機能するタイマ251を備えている。
【0057】
タイマ251は、制御部28に制御されて、デコーダ23がイメージセンサ22によって撮像された画像データからバーコードの存在を認識できなくなったときから、次にバーコードの存在を認識するまでの時間を計時する。
【0058】
本実施形態におけるメモリ26は、デコーダ23によって生成された商品コードやタイマ251が計時した時間Tなどを記憶する。
【0059】
また、本実施形態における第2判定セクション283は、両商品が同一であるか否かの判断基準として、メモリ26に記憶された時間Tと、閾値Tsとを用いる。閾値Tsは、前記ROMなどに記憶されたものであり、操作者がある商品をガラス部材11に翳した後に他の商品をガラス部材11に翳すまでに要する平均的な時間よりも若干短い時間となるように、経験的、実験的、あるいは理論的に導出される値に設定されている。具体的な値の設定には、例えば店舗にて販売される商品の形状、大きさ、および重さや、操作者の熟練度、レジ周りのレイアウトなどが考慮される。
【0060】
次に、バーコードスキャナ1の動作について説明する。
図8は、本実施形態におけるバーコードスキャナ1の動作を説明するためのフローチャートである。このフローチャートに示す処理は、例えば情報処理端末2からバーコードの読み取り開始が指示されたことに応じて開始される。
【0061】
この処理において、先ず制御部28の主制御セクション281がメモリ26に変数X,Xpを生成するとともに(ステップS201)、光源駆動回路24に照明開始を指示する(ステップS202)。この指示を受けたとき、光源駆動回路24は、各LED光源201〜204への通電を開始し、各LED光源201〜204を点灯させる。
【0062】
照明が開始された後、イメージセンサ22がレンズ21によって結像された光学像を光電変換して画像データを生成し、デコーダ23に出力する(ステップS203)。
【0063】
イメージセンサ22から画像データを受け取ったとき、デコーダ23は、画像データからバーコードの認識を試み、バーコードが認識されたならばそのデコードを試みる(ステップS204)。バーコードの認識は、画像データからバーコードを構成するバーパターンを検索することで行われ、その一部でも発見できた場合にはバーコードが認識できたと判定し、デコードが試行される。デコーダ23は、バーコードが認識できた場合にはその旨を制御部28に通知し、さらにバーコードのデコードに成功した場合には該デコードによって生成された商品コードを制御部28に通知する。
【0064】
デコーダ23によるデコード等の試行の後、主制御セクション281がデコーダ23によりバーコードが認識されたか否かを判定する(ステップS205)。デコーダ23からバーコードを認識できた旨の通知を受けていないとき、主制御セクション281は、バーコードが認識されていないと判定する(ステップS205のNo)。この場合、主制御セクション281は、タイマ251に計時開始を指令する(ステップS206)。この指令を受けたとき、タイマ251は、計時動作中であるならばそのまま計時動作を継続し、停止中であるならば計時動作を開始する。
【0065】
一方、デコーダ23によるデコード等の試行の後、デコーダ23からバーコードを認識できた旨の通知を受けているとき、主制御セクション281は、バーコードが認識されていると判定する(ステップS205のYes)。この場合、主制御セクション281は、タイマ251による計時時間Tをメモリ26に記憶させるとともに(ステップS207)、タイマ251の計時動作を停止させて計時時間Tを零にリセットさせる(ステップS208)。
【0066】
ステップS206またはステップS208の処理の後、主制御セクション281は、デコーダ23によるデコードの成否を判定する(ステップS209)。デコーダ23から商品コードが出力されていない場合、主制御セクション281はデコードに失敗したと判定する(ステップS209のNo)。この場合、ステップS203〜S208の処理が繰り返される。すなわち、デコードが成功するまでの間にステップS207の処理が実行された数だけメモリ26に計時時間Tが蓄積記憶される。メモリ26に記憶された計時時間Tは、例えばデコードの成功後に第1回目のステップS203の処理が実行される直前に消去される。
【0067】
やがて、読み取り範囲40内に適切な姿勢で商品が翳されると、同商品に付されたバーコードが画像データ中に鮮明に写り込み、同バーコードがデコーダ23によってデコードされる。このときデコーダ23から通知される商品コードを受け取ると、主制御セクション281はデコードに成功したと判定する(ステップS209のYes)。このとき主制御セクション281は、デコーダ23から受け取った商品コードをメモリ26に形成された変数Xに記述する(ステップS210)。
【0068】
次に、制御部28の第1判定セクション282が変数Xと変数Xpとを比較し、それらが一致するか否かを判定する(ステップS211)。第1判定セクション282によって変数Xと変数Xpが一致しないと判定された場合(ステップS211のNo)、制御部28の出力制御セクション284が変数Xに記述された商品コードを情報処理端末2に出力する(ステップS212)。さらに、主制御セクション281がメモリ26の変数Xpの内容を変数Xに記述された商品コードに書き換える(ステップS213)。しかる後、ステップS203の処理に戻る。
【0069】
一方、第1判定セクション282によって変数Xと変数Xpとが一致すると判定された場合(ステップS211のYes)、第2判定セクション283が変数Xに記述された商品コードの生成元となる画像データに映し出された商品と、変数Xpに記述された商品コードの生成元となる画像データに映し出された商品とが同一であるか否かを判定する(ステップS214)。この判定は、変数Xpに記述された商品コードの生成元となる画像データが撮像されてから、変数Xに記述された商品コードの生成元となる画像データが撮像されるまでの間にメモリ26に記憶された一連の計時時間Tと、閾値Tsとを比較することで行われる。
【0070】
前記一連の計時時間Tのうちの一つでも閾値Tsを上回っている場合には、変数Xpに記述された商品コードの生成元となる画像データが撮像されてから、変数Xに記述された商品コードの生成元となる画像データが撮像されるまでの間に、ガラス部材11に翳される商品が取り替えられた可能性が高い。すなわち、変数Xおよび変数Xpに記述されたそれぞれの商品コードのデコード時にガラス部材11に翳されていた商品は商品コードが同一ではあるが別商品である可能性が高いので、第2判定セクション283は両商品が同一でないと判定する(ステップS214のNo)。この場合、出力制御セクション284は、変数Xに記述された商品コードを情報処理端末2に出力し(ステップS212)、主制御セクション281がメモリ26の変数Xpの内容を変数Xに記述された商品コードに書き換える(ステップS213)。しかる後、再びステップS203の処理に戻る。
【0071】
一方、前記一連の計時時間Tが全て閾値Tsを下回っている場合には、変数Xpに記述された商品コードの生成元となる画像データが撮像されてから、変数Xに記述された商品コードの生成元となる画像データが撮像されるまでの間、連続して同じ商品がガラス部材11に翳されていた可能性が高い。この場合、第2判定セクション283は両商品が同一であると判定する(ステップS214のYes)。しかる後、出力制御セクション284による商品コードの出力が行われないまま、再びステップS203の処理に戻る。
【0072】
なお、図8に示したフローチャートに沿った処理は、例えば情報処理端末2からバーコードの読み取り終了が指示されるまで継続される。情報処理端末2では、一連の処理にてバーコードスキャナ1から出力された商品コードを用いて、各商品コードが示す商品の会計等が行われる。
【0073】
以上説明したように、本実施形態におけるバーコードスキャナ1は、デコーダ23が画像データからバーコードを認識できなかった時間をタイマ251によって計時し、その計時時間Tと閾値Tsとを比較することで、新たに商品コードが読み取られた商品とその直前に商品コードが読み取られた商品との同一性を判定する。このようにした場合であっても、前記各実施形態と同様に同一の商品がバーコードスキャナ1に翳された場合に限って二重読み防止用の機能が働くことになるので、正確な情報収集が可能となるし、操作者に同機能に起因した負担を掛けることもない。
【0074】
(第4の実施形態)
次に、第4の実施形態について説明する。
本実施形態では、新たに商品コードが読み取られた商品とその直前に商品コードが読み取られた商品との同一性を、操作者の手に付けられたRFID(Radio Frequency Identification)タグとバーコードスキャナ1に設けられたRFIDリーダとを用いて判断する点で、前記各実施形態と異なる。前記各実施形態と同一の箇所には同一の符号を付し、重複説明は必要な場合にのみ行う。
【0075】
図9は、本実施形態におけるバーコードスキャナ1の使用状態を示す模式図である。情報処理端末2に設けられたバーコードスキャナ1の隣には、RFIDタグと電波を送受信するためのアンテナ300が設けられている。アンテナ300は、バーコードスキャナ1と正対する方向に指向性を有し、その通信範囲は読み取り範囲40よりもやや広くなるように調整されている。
【0076】
本実施形態におけるバーコードスキャナ1の操作者は、RFIDタグ301が取り付けられたリストバンド302を手首に装着した状態で、商品をガラス部材11に翳していく。RFIDタグ301は、当該RFIDタグ301を識別するためのタグ情報が記憶されたICと、アンテナ300と無線通信するためのタグアンテナとを備えている。アンテナ300から発せられた読み取り用の電波がRFIDタグ301のタグアンテナで受信されると、前記ICに記憶されたタグ情報を示す応答電波が同タグアンテナから発信される。
【0077】
図10は、本実施形態におけるバーコードスキャナ1の要部構成を示すブロック図である。バーコードスキャナ1は、第3の実施形態にて説明した構成に加えて、本実施形態における検出手段として機能するRFIDリーダ252を備えている。RFIDリーダ252には、前記アンテナ300が接続されている。
【0078】
RFIDリーダ252は、RFIDタグ読み取り用のデジタルデータを高周波信号に変調してアンテナ300に供給するとともに、アンテナ300から出力される高周波信号をデジタルデータに復調する。アンテナ300は、RFIDリーダ252から入力される高周波信号を電波に変換して前記通信範囲に発信し、RFIDタグ301からの応答電波を受信すると該電波を高周波信号に変換してRFIDリーダ252に出力する。なお、RFIDリーダ252は、RFIDタグ301からタグ情報を検出したか否かを判定してその結果を制御部28に通知する機能を備えている。この判定は、例えばRFIDリーダ252が備えるROMに予めRFIDタグ301のタグ情報を記憶しておき、このタグ情報と復調したデジタルデータとを比較することによりなされる。すなわち前記ROMに記憶されたタグ情報と復調したデジタルデータとが一致する場合にタグ情報を検出したと判定し、一致しない場合およびデジタルデータが出力されていない場合にタグ情報を検出していないと判定する。
【0079】
本実施形態におけるタイマ251は、制御部28に制御されて、RFIDリーダ252がRFIDタグ301からタグ情報を検出できなくなったときから、次にタグ情報を検出するまでの時間を計時する。
【0080】
また、第3の実施形態と同様に、メモリ26はデコーダ23によって生成された商品コードやタイマ251が計時した時間Tなどを記憶し、第2判定セクション283は、両商品が同一であるか否かの判断基準として、メモリ26に記憶された時間Tと、閾値Tsとを用いる。すなわち第2判定セクション283は、タイマ251によって閾値Tsが示す時間が計時されているかを判定し、その結果をもって両商品が同一であるかを決定する。
【0081】
次に、バーコードスキャナ1の動作について説明する。
図11は、本実施形態におけるバーコードスキャナ1の動作を説明するためのフローチャートである。このフローチャートに示す処理は、例えば情報処理端末2からバーコードの読み取り開始が指示されたことに応じて開始される。
【0082】
この処理において、先ず制御部28の主制御セクション281がメモリ26に変数X,Xpを生成するとともに(ステップS301)、光源駆動回路24に照明開始を指示する(ステップS302)。この指示を受けたとき、光源駆動回路24は、各LED光源201〜204への通電を開始し、各LED光源201〜204を点灯させる。
【0083】
照明が開始された後、RFIDリーダ252がアンテナ300から読み取り用の電波を発信させ(ステップS303)、RFIDタグ301からタグ情報を検出したか否かを判定する(ステップS304)。操作者が商品をガラス部材11に翳していない場合には、アンテナ300の通信範囲内にRFIDタグ301がないことになる。したがって、RFIDタグ301からの応答電波が得られないので、タグ情報が検出されない(ステップS304のNo)。この場合、RFIDリーダ252は、タグ情報が検出されなかった旨を制御部28に通知する。この通知を制御部28が受けたとき、主制御セクション281がタイマ251に計時開始を指令する(ステップS305)。この指令を受けたとき、タイマ251は、計時動作中であるならばそのまま計時動作を継続し、停止中であるならば計時動作を開始する。
【0084】
一方、操作者が商品をガラス部材11に翳している場合には、アンテナ300の通信範囲内にRFIDタグ301が所在することになる。したがって、アンテナ300から発信された読み取り用の電波に対して応答電波が得られるので、タグ情報が検出される(ステップS304のYes)。この場合、RFIDリーダ252は、タグ情報が検出された旨を制御部28に通知する。この通知を制御部28が受けたとき、主制御セクション281がタイマ251による計時時間Tをメモリ26に記憶させるとともに(ステップS306)、タイマ251の計時動作を停止させて計時時間Tを零にリセットさせる(ステップS307)。
【0085】
ステップS305またはステップS307の処理の後、イメージセンサ22がレンズ21によって結像された光学像を光電変換して画像データを生成し、デコーダ23に出力する(ステップS308)。
【0086】
イメージセンサ22から画像データを受け取ったとき、デコーダ23は、画像データからバーコードの認識を試み、バーコードが認識されたならばそのデコードを試みる(ステップS309)。デコーダ23は、バーコードのデコードに成功した場合には該デコードによって生成された商品コードを制御部28に通知する。
【0087】
デコーダ23によるデコード等の試行の後、主制御セクション281がデコーダ23によるデコードの成否を判定する(ステップS310)。デコーダ23から商品コードが出力されていない場合、主制御セクション281はデコードに失敗したと判定する(ステップS310のNo)。この場合、ステップS303〜S309の処理が繰り返される。すなわち、デコードが成功するまでの間にステップS306の処理が実行された数だけメモリ26に計時時間Tが蓄積記憶される。メモリ26に記憶された計時時間Tは、例えばデコードの成功後に第1回目のステップS303の処理が実行される直前に消去される。
【0088】
やがて、読み取り範囲40内に適切な姿勢で商品が翳されると、同商品に付されたバーコードが画像データ中に鮮明に写り込み、同バーコードがデコーダ23によってデコードされる。このときデコーダ23から送出される商品コードを受け取ると、主制御セクション281はデコードに成功したと判定する(ステップS310のYes)。このとき主制御セクション281は、デコーダ23から受け取った商品コードをメモリ26に形成された変数Xに記述する(ステップS311)。
【0089】
次に、制御部28の第1判定セクション282が変数Xと変数Xpとを比較し、それらが一致するか否かを判定する(ステップS312)。第1判定セクション282によって変数Xと変数Xpが一致しないと判定された場合(ステップS312のNo)、制御部28の出力制御セクション284が変数Xに記述された商品コードを情報処理端末2に出力する(ステップS313)。さらに、主制御セクション281がメモリ26の変数Xpの内容を変数Xに記述された商品コードに書き換える(ステップS314)。しかる後、ステップS303の処理に戻る。
【0090】
一方、第1判定セクション282によって変数Xと変数Xpとが一致すると判定された場合(ステップS312のYes)、第2判定セクション283が変数Xに記述された商品コードの生成元となる画像データに映し出された商品と、変数Xpに記述された商品コードの生成元となる画像データに映し出された商品とが同一であるか否かを判定する(ステップS315)。この判定は、変数Xpに記述された商品コードの生成元となる画像データが撮像されてから、変数Xに記述された商品コードの生成元となる画像データが撮像されるまでの間にメモリ26に記憶された一連の計時時間Tと、閾値Tsとを比較することで行われる。
【0091】
前記一連の計時時間Tのうちの一つでも閾値Tsを上回っている場合には、変数Xpに記述された商品コードの生成元となる画像データが撮像されてから、変数Xに記述された商品コードの生成元となる画像データが撮像されるまでの間に、ガラス部材11に翳される商品が取り替えられた可能性が高い。すなわち、変数Xおよび変数Xpに記述されたそれぞれの商品コードのデコード時にガラス部材11に翳されていた商品は商品コードが同一ではあるが別商品である可能性が高いので、第2判定セクション283は両商品が同一でないと判定する(ステップS315のNo)。この場合、出力制御セクション284は、変数Xに記述された商品コードを情報処理端末2に出力し(ステップS313)、主制御セクション281がメモリ26の変数Xpの内容を変数Xに記述された商品コードに書き換える(ステップS314)。しかる後、再びステップS303の処理に戻る。
【0092】
一方、前記一連の計時時間Tが全て閾値Tsを下回っている場合には、変数Xpに記述された商品コードの生成元となる画像データが撮像されてから、変数Xに記述された商品コードの生成元となる画像データが撮像されるまでの間、連続して同じ商品がガラス部材11に翳されていた可能性が高い。この場合、第2判定セクション283は両商品が同一であると判定する(ステップS315のYes)。しかる後、出力制御セクション284による商品コードの出力が行われないまま、再びステップS303の処理に戻る。
【0093】
なお、図11に示したフローチャートに沿った処理は、例えば情報処理端末2からバーコードの読み取り終了が指示されるまで継続される。情報処理端末2では、一連の処理にてバーコードスキャナ1から出力された商品コードを用いて、各商品コードが示す商品の会計等が行われる。
【0094】
以上説明したように、本実施形態におけるバーコードスキャナ1は、RFIDリーダ252がRFIDタグ301からタグ情報を検出できなかった時間をタイマ251によって計時し、その計時時間Tと閾値Tsとを比較することで、新たに商品コードが読み取られた商品とその直前に商品コードが読み取られた商品との同一性を判定する。このようにした場合であっても、前記各実施形態と同様に同一の商品がバーコードスキャナ1に翳された場合に限って二重読み防止用の機能が働くことになるので、正確な情報収集が可能となるし、操作者に同機能に起因した負担を掛けることもない。
【0095】
(変形例)
なお、前記各実施形態において開示した構成は、実施段階において種々の変更を施して具体化できる。その変形例としては、例えば次のようなものがある。
(1)前記各実施形態では、商品に付されたバーコードを読み取るバーコードスキャナ1について例示した。しかしながら、商品以外の物品に付されたバーコードを読み取るために使用されるバーコードスキャナに前記各実施形態にて開示した構成を適用してもよい。また、バーコード以外のシンボルコードを読み取るシンボルコード読取装置に前記各実施形態にて開示した構成を適用してもよい。バーコード以外のシンボルコードとしては、例えばQRコード(登録商標)などの二次元コードがある。
【0096】
(2)前記各実施形態では、新たに商品コードが読み取られた商品とその直前に商品コードが読み取られた商品とが同一であると判定された場合(ステップS111,S214,S315のYes)、当該新たに読み取られた商品コードを情報処理端末2に出力せずに商品の撮像やバーコードのデコードを繰り返すとした。しかしながら、両商品が同一と判定された場合に情報処理端末2にエラーを通知する構成、あるいは光源20を消灯または点滅させるなどしてバーコードスキャナ1自体がエラーを報知する構成としてもよい。
【0097】
(3)前記各実施形態では、輝度計測部25によって計測される平均輝度Baveや、タイマ251によって計時される計時時間Tに基づいて商品の同一性を判定する場合を例示した。しかしながら、ある商品コードが読み取られた後、次の商品コードが読み取られるまでに収集される他の情報を用いて商品の同一性を判定する構成にしてもよい。
例えば、操作者の手に所定形状のマーカを付し、イメージセンサ22によって撮像された画像データから前記マーカを認識するマーカ認識手段をバーコードスキャナ1に設け、ある商品コードが読み取られてから次の商品コードが読み取られるまでの間、前記マーカ認識手段によって前記マーカが認識できない時間をタイマによって計時させる。そして、タイマによる計時時間が所定の閾値を下回る場合には、新たに商品コードが読み取られた商品とその直前に商品コードが読み取られた商品とが同一であると判定させる。このようにした場合であっても、前記各実施形態と同様の効果を奏する。
【0098】
この他、前記各実施形態に示される全構成要素から幾つかの構成要素を削除してもよいし、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0099】
1…バーコードスキャナ、2…情報処理端末、20…光源、21…レンズ、22…イメージセンサ、23…デコーダ、24…光源駆動回路、25…輝度計測部、26…メモリ、27…接続インタフェース、28…制御部、251…タイマ、252…RFIDリーダ、281…主制御セクション、282…判定セクション、283…判定セクション、284…出力制御セクション、300…アンテナ

【特許請求の範囲】
【請求項1】
コード情報を表すシンボルコードが付された物品を撮像する撮像手段と、
前記撮像手段により撮像された画像に含まれるシンボルコードを認識し、認識したシンボルコードをデコードしてコード情報を生成するデコード手段と、
前記デコード手段により新たに生成されたコード情報である第1コード情報と、この第1コード情報が生成される直前に前記デコード手段により生成されたコード情報である第2コード情報とが一致するかを判定する第1判定手段と、
前記第1判定手段により前記第1コード情報と前記第2コード情報とが一致すると判定されたとき、前記第2コード情報の生成元となる画像が撮像されてから前記第1コード情報の生成元となる画像が撮像されるまでの間に前記撮像手段により撮像された画像に基づいて、前記第1コード情報を表すシンボルコードが付された物品と、前記第2コード情報を表すシンボルコードが付された物品とが同一であるかを判定する第2判定手段と、
前記第1判定手段により前記第1コード情報と前記第2コード情報とが一致しないと判定されたとき及び前記第2判定手段により前記第1コード情報を表すシンボルコードが付された物品と前記第2コード情報を表すシンボルコードが付された物品とが同一でないと判定されたときに前記第1コード情報を出力する出力制御手段と、
を備えていることを特徴とするシンボルコード読取装置。
【請求項2】
前記撮像手段により撮像された画像の平均輝度を計測する輝度計測手段をさらに備え、
前記第2判定手段は、前記第2コード情報の生成元となる画像が撮像されてから前記第1コード情報の生成元となる画像が撮像されるまでの間に前記撮像手段により撮像された1又は複数の画像について前記輝度計測手段により計測された平均輝度のうちの少なくとも1つが予め定められた閾値を下回る場合に、前記第1コード情報を表すシンボルコードが付された物品と、前記第2コード情報を表すシンボルコードが付された物品とが同一でないと判定することを特徴とする請求項1に記載のシンボルコード読取装置。
【請求項3】
前記閾値は、前記第2コード情報の生成元となる画像について前記輝度計測手段により計測された平均輝度に所定の比率を乗じて算出されることを特徴とする請求項2に記載のシンボルコード読取装置。
【請求項4】
前記デコード手段が前記撮像手段により撮像された画像からシンボルコードの存在を認識できなくなったときから、次にシンボルコードの存在を認識するまでの時間を計時する計時手段をさらに備え、
前記第2判定手段は、前記第2コード情報の生成元となる画像が撮像されてから前記第1コード情報の生成元となる画像が撮像さるまでの間に、前記計時手段により予め定められた時間が計時されている場合に、前記第1コード情報を表すシンボルコードが付された物品と、前記第2コード情報を表すシンボルコードが付された物品とが同一でないと判定することを特徴とする請求項1に記載のシンボルコード読取装置。
【請求項5】
コード情報を表すシンボルコードが付された物品を撮像する撮像手段と、
前記撮像手段により撮像された画像に含まれるシンボルコードをデコードしてコード情報を生成するデコード手段と、
タグ情報を記憶した無線タグから無線通信により前記タグ情報を検出する検出手段と、
前記検出手段が前記タグ情報を検出できなくなったときから、次に前記タグ情報を検出するまでの時間を計時する計時手段と、
前記デコード手段により新たに生成されたコード情報である第1コード情報と、この第1コード情報が生成される直前に前記デコード手段により生成されたコード情報である第2コード情報とが一致するかを判定する第1判定手段と、
前記第2コード情報の生成元となる画像が撮像されてから前記第1コード情報の生成元となる画像が撮像されるまでの間に前記計時手段により所定の時間が計時されているかを判定する第2判定手段と、
前記第1判定手段により前記第1コード情報と前記第2コード情報とが一致しないと判定されたとき、及び、前記第1判定手段により前記第1コード情報と前記第2コード情報とが一致すると判定され、かつ前記第2判定手段により所定の時間が計時されていると判定されたときに前記第1コード情報を出力する出力制御手段と、
を備えていることを特徴とするシンボルコード読取装置。
【請求項6】
コード情報を表すシンボルコードが付された物品を撮像する撮像部と、前記撮像部により撮像された画像に含まれるシンボルコードをデコードしてコード情報を生成するデコード部と、を備えたシンボルコード読取装置の制御プログラムであって、
前記シンボルコード読取装置に、
前記デコード部により新たに生成されたコード情報である第1コード情報と、この第1コード情報が生成される直前に前記デコード部により生成されたコード情報である第2コード情報とが一致するかを判定する第1判定機能と、
前記第1判定機能により前記第1コード情報と前記第2コード情報とが一致すると判定されたとき、前記第2コード情報の生成元となる画像が撮像されてから前記第1コード情報の生成元となる画像が撮像されるまでの間に前記撮像部により撮像された画像に基づいて、前記第1コード情報を表すシンボルコードが付された物品と、前記第2コード情報を表すシンボルコードが付された物品とが同一であるかを判定する第2判定機能と、
前記第1判定機能により前記第1コード情報と前記第2コード情報とが一致しないと判定されたとき及び前記第2判定機能により前記第1コード情報を表すシンボルコードが付された物品と前記第2コード情報を表すシンボルコードが付された物品とが同一でないと判定されたときに前記第1コード情報を出力する出力制御機能と、
を実現させるための制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2013−101720(P2013−101720A)
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願番号】特願2013−44456(P2013−44456)
【出願日】平成25年3月6日(2013.3.6)
【分割の表示】特願2010−99022(P2010−99022)の分割
【原出願日】平成22年4月22日(2010.4.22)
【出願人】(000003562)東芝テック株式会社 (5,631)
【Fターム(参考)】