(57)【要約】【課題】光学式マークを使用する商品識別とオブジェクト認識を使用する商品識別とを簡易な操作で使い分け可能とする。【解決手段】実施形態の商品読取装置は、認識手段、判定手段、第１の識別手段および第２の識別手段を備える。認識手段は、撮像デバイスが撮像した動画に含まれるオブジェクトを認識する。判定手段は、認識手段が認識したオブジェクトが動画のフレーム範囲内に定めた第１の領域まで移動する間に第２の領域を通過したか否かを判定する。第１の識別手段は、判定手段が通過と判定した場合に、第１の領域内にてオブジェクトに表れた特徴量に基づいて売上商品の候補となる候補商品を識別する。第２の識別手段は、判定手段が非通過と判定した場合に、第１の領域内にて光学式マークが表す商品データを識別する。【選択図】図４
2014089669.tif 000002
【特許請求の範囲】
【請求項１】
撮像デバイスが撮像した動画に含まれるオブジェクトを認識する認識手段と、
前記認識手段が認識した前記オブジェクトが前記動画のフレーム範囲内に定めた第１の領域まで移動する間に、前記フレーム範囲内に前記第１の領域とは別に定めた第２の領域を通過したか否かを判定する判定手段と、
前記判定手段が通過と判定した場合、前記第１の領域内にて前記オブジェクトに表れた特徴量に基づいて売上商品の候補となる候補商品を識別する第１の識別手段と、
前記判定手段が非通過と判定した場合、前記第１の領域内にて光学式マークが表す商品データを識別する第２の識別手段とを具備したことを特徴とする商品読取装置。
【請求項２】
前記判定手段は、前記認識手段が前記第２の領域にて前記オブジェクトを認識したのちに、前記認識手段が前記第１の領域にて前記オブジェクトを認識するまでの間に、前記認識手段が前記オブジェクトを認識し続けた場合に通過と判定することを特徴とする請求項１に記載の商品読取装置。
【請求項３】
前記動画に、前記第１および第２の領域を表した案内画像を重畳したモニタ画像を生成する生成手段をさらに備えることを特徴とする請求項１または２に記載の商品読取装置。
【請求項４】
前記第１の識別手段が識別した候補商品が複数であった場合に、前記フレーム範囲内に前記第１および第２の領域とは別に定めた複数の第３の領域に前記複数の候補商品のうちの少なくとも２つを関連付けておき、前記認識手段が前記オブジェクトを前記複数の第３の領域のうちのいずれかで認識した場合に、当該第３の領域に関連付けた候補商品を前記売上商品として選定する選定手段をさらに備えることを特徴とする請求項１または２に記載の商品読取装置。
【請求項５】
前記動画に、前記第１および第２の領域と前記複数の第３の領域とを表した案内画像を重畳したモニタ画像を生成する生成手段をさらに備えることを特徴とする請求項１または２に記載の商品読取装置。
【請求項６】
前記生成手段は、前記案内画像を、前記複数の第３の領域にどの候補商品を関連付けたかを表した画像とすることを特徴とする請求項５に記載の商品読取装置。
【請求項７】
前記第１および第２の領域は、前記撮像デバイスの撮像範囲外から当該撮像範囲内を経由して当該撮像範囲外へとオペレータが前記売上商品を移動させる際の動線に沿って位置するように設定されることを特徴とする請求項１〜６のいずれか一項に記載の商品読取装置。
【請求項８】
撮像デバイスが撮像した動画に含まれるオブジェクトを認識する認識手段と、
前記認識手段が認識した前記オブジェクトが前記動画のフレーム範囲内に定めた第１の領域まで移動する間に、前記フレーム範囲内に前記第１の領域とは別に定めた第２の領域を通過したか否かを判定する判定手段と、
前記判定手段が通過と判定した場合、前記第１の領域内にて前記オブジェクトに表れた特徴量に基づいて売上商品の候補となる候補商品を識別する第１の識別手段と、
前記判定手段が非通過と判定した場合、前記第１の領域内にて光学式マークが表す商品データを識別する第２の識別手段と、
前記第１の識別手段が識別した前記候補商品または前記第２の識別手段が識別した前記商品データに基づいて前記売上商品についての売上登録を行う登録手段とを具備したことを特徴とする商品販売データ処理装置。
【請求項９】
コンピュータを、
撮像デバイスが撮像した動画に含まれるオブジェクトを認識する認識手段と、
前記認識手段が認識した前記オブジェクトが前記動画のフレーム範囲内に定めた第１の領域まで移動する間に、前記フレーム範囲内に前記第１の領域とは別に定めた第２の領域を通過したか否かを判定する判定手段と、
前記判定手段が通過と判定した場合、前記第１の領域内にて前記オブジェクトに表れた特徴量に基づいて売上商品の候補となる候補商品を識別する第１の識別手段と、
前記判定手段が非通過と判定した場合、前記第１の領域内にて光学式マークが表す商品データを識別する第２の識別手段として機能させるための商品読取プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、商品読取装置、商品販売データ処理装置および商品読取プログラムに関する。
【背景技術】
【０００２】
ＰＯＳ（point-of-sale）端末などにおいて売上商品の登録のための商品識別は、一般的にバーコードのような光学式マークを利用して行われている。
【０００３】
一方で、オブジェクト認識技術を利用したオブジェクト認識スキャナなどと称される商品読取装置も提案されている。オブジェクト認識スキャナは、商品の外観の特徴に基づいて当該商品を識別する。
【０００４】
オブジェクト認識スキャナは、光学式マークが付いていない商品の識別が可能である反面、光学式マークを用いた識別に比べて商品識別の精度が低い。
【０００５】
そこで、光学式マークを使用する商品識別とオブジェクト認識を使用する商品識別との双方の機能を備えた商品読取装置が有用となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０８−２２７４８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
光学式マークの読み取りのためおよび商品の外観の撮像のために同一の撮像デバイスを用いる場合、いずれの商品識別を使用するべきかを撮像画像に基づいて瞬時に自動判定することは困難である。
【０００８】
このため、オペレータが、例えばボタン操作などにより識別方法を指定することが必要となり、オペレータの負担となる。
【０００９】
光学式マークの読み取りのためおよび商品の外観の撮像のために別々の撮像デバイスを備えれば、オペレータがいずれの撮像デバイスに商品をかざすかによって識別方法を使い分けることができるが、撮像デバイスを２つ以上備えることで部品コストが上昇してしまう。
【００１０】
このような事情から、光学式マークを使用する商品識別とオブジェクト認識を使用する商品識別とを簡易な操作で使い分けられることが望まれていた。
【課題を解決するための手段】
【００１１】
実施形態の商品読取装置は、認識手段、判定手段、第１の識別手段および第２の識別手段を備える。認識手段は、撮像デバイスが撮像した動画に含まれるオブジェクトを認識する。判定手段は、認識手段が認識したオブジェクトが動画のフレーム範囲内に定めた第１の領域まで移動する間に、フレーム範囲内に第１の領域とは別に定めた第２の領域を通過したか否かを判定する。第１の識別手段は、判定手段が通過と判定したことに応じて、第１の領域内にてオブジェクトに表れた特徴量に基づいて売上商品の候補となる候補商品を識別する。第２の識別手段は、判定手段が非通過と判定したことに応じて、第１の領域内にてオブジェクトに含まれた光学式マークが表す商品データを識別する。
【図面の簡単な説明】
【００１２】
【図１】一実施形態に係る商品読取装置を含んだ店舗会計システムの外観図。
【図２】図１に示す店舗会計システムにおける電気的要素のブロック図。
【図３】領域設定テーブルに含まれた設定情報による各機能領域の定義の一例を示す図。
【図４】商品読取処理のフローチャート。
【図５】識別処理のフローチャート。
【図６】出力処理のフローチャート。
【図７】オペレータにより移動される売上商品の動線とフレーム範囲との位置関係を示す図。
【図８】オペレータにより移動される売上商品の動線とフレーム範囲との位置関係を示す図。
【図９】案内画像の一例を示す図。
【図１０】案内画像の一例を示す図。
【図１１】各機能領域の定義の変形例を示す図。
【発明を実施するための形態】
【００１３】
以下、商品読取装置の実施形態について、図面を用いて説明する。この実施形態は、スーパーマーケット等の店舗に設けられた会計カウンタに立設される縦型の商品読取装置に適用した場合である。
【００１４】
図１は本実施形態に係る商品読取装置を含んだ店舗会計システムの外観図である。この店舗会計システムは、商品読取装置１００およびＰＯＳ（point of sales）端末２００を含む。商品読取装置１００は、会計カウンタ３００の上に取り付けられる。ＰＯＳ端末２００は、レジ台４００に載置されたドロワ５００の上に設置される。商品読取装置１００とＰＯＳ端末２００とは、図示しない通信ケーブルにより電気的に接続される。ドロワ５００に代えて、自動釣銭機が設置される場合もある。
【００１５】
商品読取装置１００は、ハウジング１０１、キーボード１０２、タッチパネル１０３、客用ディスプレイ１０４および撮像部１０５を含む。
【００１６】
ハウジング１０１は、平型の箱状をなし、会計カウンタ３００の上に立つ。ハウジング１０１は、上端においてキーボード１０２、タッチパネル１０３、客用ディスプレイ１０４を支持し、内部において撮像部１０５を支持する。ハウジング１０１は、撮像部１０５に対向して読取窓１０１ａを有し、読取窓１０１ａの前に位置する物体（オブジェクト）を読取窓１０１ａを介して撮像部１０５により撮像可能とする。
【００１７】
ＰＯＳ端末２００は、ハウジング２０１、キーボード２０２、オペレータ用ディスプレイ２０３、客用ディスプレイ２０４およびプリンタ２０５を含む。
【００１８】
ハウジング２０１は、キーボード２０２をその一部を外部に露出する状態で支持し、オペレータ用ディスプレイ２０３および客用ディスプレイ２０４を外部に位置する状態で支持し、プリンタ２０５を内部にて支持する。
【００１９】
会計カウンタ３００は、細長い天板３００ａを含む。会計カウンタ３００は、天板の長手方向に沿った顧客通路（図１における奥側）とオペレータスペース（図１における手前側）とを分ける。ハウジング１０１は、天板３００ａの長手方向の略中央に位置し、キーボード１０２、タッチパネル１０３および読取窓１０１ａをそれぞれオペレータスペース側に向けるとともに、客用ディスプレイ１０４を顧客通路側に向ける。天板３００ａの上面は、商品読取装置１００を挟んで顧客移動方向の上流側の領域は、買物客が購入しようとする商品のうちの売上登録が済んでいない商品を置くためのスペースとして使用され、また、下流側の領域は、売上登録が済んだ商品を置くためのスペースとして使用される。かくして通常は、売上商品は顧客移動方向の上流側の領域から、読取窓１０１ａの前を通して下流側の領域へと移される。つまり、売上登録の際の売上商品の動線方向は、顧客の移動方向にほぼ一致する。売上商品の標準的な動線（以下、標準的動線と称する）は、図１における右側から左側に向かう水平方向となる。
【００２０】
レジ台４００は、顧客通路における顧客の移動方向に対して下流側の会計カウンタ３００の端部に並ぶようにオペレータスペース側に位置する。
【００２１】
図２は図１に示す店舗会計システムにおける電気的要素のブロック図である。なお、図２に示される要素のうちで図１に示されるのと同一の要素には図１と同一の符号を付する。
【００２２】
商品読取装置１００は電気的要素として、キーボード１０２、タッチパネル１０３、客用ディスプレイ１０４のほかに、撮像デバイス１０５ａ、ＣＰＵ（central processing unit）１０６、ＲＯＭ（read-only memory）１０７、ＲＡＭ（random-access memory）１０８、キーボードインタフェース（キーボードＩ／Ｆ）１０９、パネルインタフェース（パネルＩ／Ｆ）１１０、表示インタフェース（表示Ｉ／Ｆ）１１１、撮像インタフェース（撮像Ｉ／Ｆ）１１２、ＰＯＳ端末インタフェース（ＰＯＳ端末Ｉ／Ｆ）１１３およびバスライン１１４を含む。なお、バスライン１１４は、アドレスバスおよびデータバスなどを含み、ＣＰＵ１０６、ＲＯＭ１０７、ＲＡＭ１０８、キーボードインタフェース１０９、パネルインタフェース１１０、表示インタフェース１１１、撮像インタフェース１１２およびＰＯＳ端末インタフェース１１３を互いに接続する。
【００２３】
キーボード１０２は、複数のキースイッチを含み、これらのキースイッチに対するオペレータによる操作の内容を表したコマンドを出力する。
【００２４】
タッチパネル１０３は、例えばＬＣＤ（liquid crystal display）などの表示デバイスと、この表示デバイスの表示画面に重ねて配置された透明な二次元タッチセンサとを含む。タッチパネル１０３は、ＣＰＵ１０６の制御の下に任意の画像を表示デバイスにおいて表示する。タッチパネル１０３は、表示デバイスの表示画面におけるオペレータのタッチ位置を二次元タッチセンサにて検出し、そのタッチ位置を表す座標データを出力する。タッチパネル１０３は、オペレータに対して提示するべき各種の情報を表した画像を表示したり、オペレータの操作を入力するために利用される。
【００２５】
客用ディスプレイ１０４は、ＣＰＵ１０６の制御の下に任意の文字列または画像を表示する。客用ディスプレイ１０４は、客に対して提示するべき各種の文字列や画像を表示するために利用される。客用ディスプレイ１０４としては、例えば蛍光管表示器またはＬＣＤが利用できる。
【００２６】
撮像デバイス１０５ａは、図示しない撮像レンズとともに撮像部１０５に含まれる。撮像デバイス１０５ａは、エリアイメージセンサであるＣＣＤ（charge coupled device）撮像素子とその駆動回路とを含む。撮像レンズは、撮像領域の画像をＣＣＤ撮像素子に結像する。撮像領域とは、読取窓１０１ａから撮像レンズを通してＣＣＤ撮像素子のエリアに結像する領域を指す。撮像デバイス１０５ａは、撮像領域の画像（フレーム画像）を表すフレームデータを一定の時間間隔で取得し、当該フレームデータを出力する。かくして、撮像デバイス１０５ａによる撮像方向は、ハウジング１０１の内部から読取窓１０１ａを通してハウジング１０１の外部へと向かう方向となる。つまり、撮像デバイス１０５から見た標準的動線は、左から右への方向となり、フレーム画像の左側が標準的動線の上流側に、また右側が下流側になる。
【００２７】
ＣＰＵ１０６は、ＲＯＭ１０７およびＲＡＭ１０８に記憶されたオペレーティングシステム、ミドルウェアおよびアプリケーションプログラムに基づいて、商品読取装置１００としての各種の動作を実現するべく商品読取装置１００の各要素を制御する。
【００２８】
ＲＯＭ１０７は、上記のオペレーティングシステムを記憶する。ＲＯＭ１０７は、上記のミドルウェアやアプリケーションプログラムを記憶する場合もある。またＲＯＭ１０７は、ＣＰＵ１０６が各種の処理を行う上で参照するデータを記憶する場合もある。ＲＯＭ１０７は、領域設定テーブルを記憶する。
【００２９】
領域設定テーブルは、フレーム画像の範囲（フレーム範囲）内における各種の機能領域を定義する設定情報を含む。
【００３０】
図３は領域設定テーブルに含まれた設定情報による各機能領域の定義の一例を示す図である。
【００３１】
図３の例ではフレーム範囲１０内に、識別領域１１、トグル領域１２、一位候補領域１３、二位候補領域１４および三位候補領域１５の５つの機能領域が定義されている。
【００３２】
識別領域１１は、フレーム範囲１０内のほぼ中央に配置された矩形領域である。トグル領域１２は、フレーム範囲１０内における標準的動線の上流側（図３中の左側）の端部に、下方にオフセットして配置された台形領域である。一位候補領域１３は、フレーム範囲１０内における標準的動線の下流側の端部のほぼ中央に配置された台形領域である。二位候補領域１４は、フレーム範囲１０内における上方の端部に、標準的動線の下流側にオフセットして配置された台形領域である。三位候補領域１５は、フレーム範囲１０内における下方の端部に、標準的動線の下流側にオフセットして配置された台形領域である。なお、各機能領域の形状は、それぞれ任意である。なお、識別領域１１は第１の領域に、トグル領域１２は第２の領域に、一位候補領域１３、二位候補領域１４および三位候補領域１５は複数の第３の領域にそれぞれ相当する。なお、これらの一位候補領域１３、二位候補領域１４および三位候補領域１５の配置は、これに限定されるものではなく、任意にその配置を変更し形成することも可能である。
【００３３】
ＲＡＭ１０８は、ＣＰＵ１０６が各種の処理を行う上で参照するデータを記憶する。さらにＲＡＭ１０８は、ＣＰＵ１０６が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアとして利用される。モーションテーブルは、ＲＡＭ１０８が記憶しても良い。
【００３４】
ＲＯＭ１０７またはＲＡＭ１０８に記憶されるアプリケーションプログラムには、後述する処理に関して記述した商品読取プログラムを含む。なお、商品読取装置１００の譲渡は、一般的に商品読取プログラムがＲＯＭ１０７に記憶された状態にて行われる。商品読取装置にＥＥＰＲＯＭ（electric erasable programmable read-only memory）、ハードディスクドライブ、あるいはＳＳＤ（solid state drive）などの補助記憶デバイスを設けて、この補助記憶デバイスに商品読取プログラムを記憶した状態にて商品読取装置１００の譲渡がなされても良い。しかし、商品読取プログラムがＲＯＭ１０７や補助記憶デバイスに記憶されない状態で商品読取装置１００が譲渡されるとともに、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介して商品読取プログラムが譲渡され、この商品読取プログラムが上記の別途に譲渡された商品読取装置１００のＲＡＭ１０８や補助記憶デバイスに書き込まれても良い。
【００３５】
キーボードインタフェース１０９は、キーボード１０２とＣＰＵ１０６とのデータの授受をインタフェースする。キーボードインタフェース１０９としては、例えばＰＳ／２規格またはＵＳＢ（universal serial bus）規格に準拠した周知のデバイスを利用できる。
【００３６】
パネルインタフェース１１０は、タッチパネル１０３とＣＰＵ１０６とのデータおよび映像信号の授受をインタフェースする。パネルインタフェース１１０は、表示デバイス用のインタフェースとタッチセンサ用のインタフェースとを含む。表示デバイス用のインタフェースとしては、例えばＶＧＡ（video graphics array）規格（アナログＲＧＢ規格）、ＤＶＩ（digital video interface）規格またはＬＶＤＳ（low voltage differential signaling）規格に準拠した周知のデバイスを利用できる。タッチセンサ用のインタフェースとしては、例えばＵＳＢ規格またはＲＳ（recommended standard）−２３２Ｃ規格に準拠した周知のデバイスを利用できる。
【００３７】
表示インタフェース１１１は、客用ディスプレイ１０４とＣＰＵ１０６との映像信号の授受をインタフェースする。表示インタフェース１１１としては、客用ディスプレイ１０４が蛍光表示器である場合には例えばＵＳＢ規格またはＲＳ−２３２Ｃ規格に準拠した周知のデバイスを利用でき、客用ディスプレイ１０４がＬＣＤである場合には例えばＶＧＡ規格、ＤＶＩ規格またはＬＶＤＳ規格に準拠した周知のデバイスを利用できる。
【００３８】
撮像インタフェース１１２は、撮像デバイス１０５ａとＣＰＵ１０６とのデータの授受をインタフェースする。撮像インタフェース１１２としては、例えばＵＳＢ規格またはＩＥＥＥ（institute of electrical and electronic engineers）１３９４規格に準拠した周知のデバイスを利用できる。
【００３９】
ＰＯＳ端末インタフェース１１３は、ＰＯＳ端末２００とＣＰＵ１０６とのデータの授受をインタフェースする。ＰＯＳ端末インタフェース１１３としては、例えばＵＳＢ規格またはＲＳ−２３２Ｃ規格に準拠した周知のデバイスを利用できる。
【００４０】
ＰＯＳ端末２００は電気的要素として、キーボード２０２、オペレータ用ディスプレイ２０３、客用ディスプレイ２０４およびプリンタ２０５のほかに、ＣＰＵ２０６、ＲＯＭ２０７、ＲＡＭ２０８、補助記憶ユニット２０９、キーボードインタフェース２１０、表示インタフェース（表示Ｉ／Ｆ）２１１，２１２、プリンタインタフェース（プリンタＩ／Ｆ）２１３、読取装置インタフェース（読取装置Ｉ／Ｆ）２１４、ドロワインタフェース（ドロワＩ／Ｆ）２１５、通信デバイス２１６およびバスライン２１７を含む。なお、バスライン２１７は、アドレスバスおよびデータバスなどを含み、ＣＰＵ２０６、ＲＯＭ２０７、ＲＡＭ２０８、補助記憶ユニット２０９、キーボードインタフェース２１０、表示インタフェース２１１、表示インタフェース２１２、プリンタインタフェース２１３、読取装置インタフェース２１４、ドロワインタフェース２１５および通信デバイス２１６を互いに接続する。
【００４１】
キーボード２０２は、複数のキースイッチを含み、これらのキースイッチに対するオペレータによる操作の内容を表したコマンドを出力する。
【００４２】
オペレータ用ディスプレイ２０３は、ＣＰＵ２０６の制御の下に任意の画像を表示する。オペレータ用ディスプレイ２０３は、オペレータに対して提示するべき各種の画像を表示するために利用される。オペレータ用ディスプレイ２０３としては、例えばＬＣＤが利用できる。
【００４３】
客用ディスプレイ２０４は、ＣＰＵ２０６の制御の下に任意の文字列または画像を表示する。客用ディスプレイ２０４は、客に対して提示するべき各種の文字列や画像を表示するために利用される。客用ディスプレイ２０４としては、例えば蛍光管表示器またはＬＣＤが利用できる。
【００４４】
プリンタ２０５は、ＣＰＵ２０６の制御の下に、取引の内容を表したレシート画像をレシート用紙に対してプリントする。プリンタ２０５としては、周知の各種方式の既存のプリンタが利用できる。典型的にはプリンタ２０５は、サーマルプリンタである。
【００４５】
ＣＰＵ２０６は、ＲＯＭ２０７およびＲＡＭ２０８に記憶されたオペレーティングシステム、ミドルウェアおよびアプリケーションプログラムに基づいて、ＰＯＳ端末２００としての各種の動作を実現するべく各部を制御する。
【００４６】
ＲＯＭ２０７は、上記のオペレーティングシステムを記憶する。ＲＯＭ２０７は、上記のミドルウェアやアプリケーションプログラムを記憶する場合もある。またＲＯＭ２０７は、ＣＰＵ２０６が各種の処理を行う上で参照するデータを記憶する場合もある。
【００４７】
ＲＡＭ２０８は、ＣＰＵ２０６が各種の処理を行う上で参照するデータを記憶する。さらにＲＡＭ２０８は、ＣＰＵ２０６が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアとして利用される。ＲＡＭ２０８の記憶領域の一部は、売上登録された商品についての情報を管理するための商品リストエリアとして使用される。
【００４８】
補助記憶ユニット２０９は、例えばハードディスクドライブやＳＳＤなどであり、ＣＰＵ２０６が各種の処理を行う上で使用するデータや、ＣＰＵ２０６での処理によって生成されたデータを保存する。
【００４９】
キーボードインタフェース２１０は、キーボード２０２とＣＰＵ２０６とのデータの授受をインタフェースする。キーボードインタフェース２１０としては、例えばＰＳ／２規格またはＵＳＢ規格に準拠した周知のデバイスを利用できる。
【００５０】
表示インタフェース２１１は、オペレータ用ディスプレイ２０３とＣＰＵ１０６との映像信号の授受をインタフェースする。表示インタフェース２１１としては、例えばＶＧＡ規格、ＤＶＩ規格またはＬＶＤＳ規格に準拠した周知のデバイスを利用できる。
【００５１】
表示インタフェース２１２は、客用ディスプレイ２０４とＣＰＵ２０６との映像信号の授受をインタフェースする。表示インタフェース２１２としては、客用ディスプレイ２０４が蛍光表示器である場合には例えばＵＳＢ規格またはＲＳ−２３２Ｃ規格に準拠した周知のデバイスを利用でき、客用ディスプレイ２０４がＬＣＤである場合には例えばＶＧＡ規格、ＤＶＩ規格またはＬＶＤＳ規格に準拠した周知のデバイスを利用できる。
【００５２】
プリンタインタフェース２１３は、プリンタ２０５とＣＰＵ２０６とのデータの授受をインタフェースする。プリンタインタフェース２１３としては、例えばＵＳＢ規格、ＲＳ−２３２Ｃ規格またはＩＥＥＥ１２８４規格（いわゆるセントロニクス仕様）などに準拠した周知のデバイスを利用できる。
【００５３】
読取装置インタフェース２１４は、商品読取装置１００とＣＰＵ２０６とのデータの授受をインタフェースする。読取装置インタフェース２１４としては、ＰＯＳ端末インタフェース１１３が準拠する規格に準拠した周知のデバイスを利用できる。
【００５４】
ドロワインタフェース２１５は、ＣＰＵ２０６からドロワ開放が指示されたことに応じてドロワ５００を開放させるための駆動信号をドロワ５００に対して出力する。
【００５５】
通信デバイス２１６は、通信ネットワーク６００を介してサーバ７００と通信する。通信デバイス２１６としては、例えば既存のＬＡＮ通信デバイスを適用できる。
【００５６】
次に以上のように構成された店舗会計システムにおける商品読取装置１００の動作について説明する。
【００５７】
図４は商品読取処理のフローチャートである。
【００５８】
例えばキーボード２０２でのオペレータによる所定の操作により売上商品の登録の開始が指示されるなどにより登録処理の開始条件が成立すると、ＣＰＵ２０６は読取装置インタフェース２１４より読取開始コマンドを商品読取装置１００へ送る。この読取開始コマンドは、ＰＯＳ端末インタフェース１１３によりＣＰＵ１０６に通知される。そして読取開始コマンドを受けるとＣＰＵ１０６は、図４に示す商品読取処理を開始する。あるいは、キーボード１０２またはタッチパネル１０３でのオペレータによる所定の操作により売上商品の登録の開始が指示されるなどにより登録処理の開始条件が成立すると、ＣＰＵ１０６は図４に示す商品読取処理を商品読取プログラムに基づき開始する。
【００５９】
ステップＳａ１においてＣＰＵ１０６は、撮像インタフェース１１２より撮像デバイス１０５ａに対して撮像オン信号を出力する。この撮像オン信号を受けて撮像デバイス１０５ａは、動画撮像を開始する。かくして、この状態においてオペレータが手で把持した売上商品を読取窓１０１ａにかざすと、撮像デバイス１０５ａが撮像した動画に売上商品が映り込む。
【００６０】
ステップＳａ２においてＣＰＵ１０６は、変数Ｆｔ，Ｆｃ，Ｆ１，Ｆ２，Ｆ３，Ｆｆをいずれも０にクリアする。これら変数Ｆｔ，Ｆｃ，Ｆ１，Ｆ２，Ｆ３，Ｆｆは、いずれも「０」または「１」の値をとる。変数Ｆｔは、バーコード認識モードが有効であるときに「０」の値をとり、オブジェクト認識モード有効であるときに「１」の値をとる。変数Ｆｃは、商品が継続してトグル領域１２に位置している状態であるときに「１」の値をとる。変数Ｆ１は、一位の候補商品が選択された状態であるときに「１」の値をとる。変数Ｆ２は、二位の候補商品が選択された状態であるときに「１」の値をとる。変数Ｆ３は、三位の候補商品が選択された状態であるときに「１」の値をとる。変数Ｆｆは、動画に映り込んでいる商品についての識別が完了しているときに「１」の値をとる。
【００６１】
ステップＳａ３においてＣＰＵ１０６は、撮像デバイス１０５ａが出力するフレームデータをＲＡＭ１０８に保存する。
【００６２】
ステップＳａ４においてＣＰＵ１０６は、ＲＡＭ１０８に保存したフレームデータを解析して、当該フレームデータが表すフレーム画像に含まれる商品が存在することを認識する。言い換えるとＣＰＵ１０６は、フレーム画像中に含まれる商品を検出する。具体的には、ＣＰＵ１０６は先ず、フレーム画像から肌色領域の検出を試みる。肌色領域を検出できた場合、すなわちオペレータの手がフレーム画像に映り込んでいる場合にＣＰＵ１０６は、フレーム画像を二値化した上で、これにより得られた二値化画像から輪郭線などを抽出する。これにより、ＣＰＵ１０６は、オペレータの手が把持していると想定される商品の輪郭を抽出する。このようにしてＣＰＵ１０６は、商品を識別すべきオブジェクトとして認識（検出）する。かくしてＣＰＵ１０６は、認識手段として機能している。なお、オブジェクトは、次の手法により直接的に認識（検出）しても良い。すなわちＣＰＵ１０６はまず、ＲＡＭ１０８に保存したフレームデータを解析して、フレーム画像を二値化した画像から輪郭線等を抽出する。そしてＣＰＵ１０６は、フレーム画像に映し出されているオブジェクトの輪郭抽出を試み、オブジェクトの輪郭が抽出できたならば、物体が存在することを認識（検出）する。
【００６３】
ステップＳａ５においてＣＰＵ１０６は、商品の認識に成功したか否かを確認する。そしてここでＹＥＳと判定したならばＣＰＵ１０６は、ステップＳａ６へ進む。
【００６４】
ステップＳａ６においてＣＰＵ１０６は、フレーム画像中にて商品を認識した位置がトグル領域１２内であるか否かを確認する。商品をトグル領域１２内で認識した場合にＣＰＵ１０６は、ステップＳａ６にてＹＥＳと判定し、ステップＳａ７へ進む。
【００６５】
ステップＳａ７においてＣＰＵ１０６は、変数Ｆｃの値が「０」であるか否かを確認する。つまりＣＰＵ１０６は、商品が継続してトグル領域１２に位置している状態であるか否かを確認する。そして変数Ｆｃの値が「０」である場合には商品が継続してトグル領域１２に位置している状態ではないので、商品が新たにトグル領域１２に入った場合に、ＣＰＵ１０６はステップＳａ７にてＹＥＳと判定することとなる。そしてこの場合にＣＰＵ１０６は、ステップＳａ８へ進む。
【００６６】
ステップＳａ８においてＣＰＵ１０６は、変数Ｆｔの値を反転させる。すなわちＣＰＵ１０６は、変数Ｆｔの値が「０」であるならば「１」に変更し、「１」であるならば「０」に変更する。つまりＣＰＵ１０６は、動画に映り込んでいる商品が新たにトグル領域１２に入り込む毎に、認識モードを変更する。
【００６７】
ステップＳａ９においてＣＰＵ１０６は、変数Ｆｆの値を「０」とするとともに、変数Ｆｃの内容を「１」とする。つまりＣＰＵ１０６は、認識モードを変更したならば、動画に映り込んでいる商品についての識別が完了しているとしても、それをキャンセルする。またＣＰＵ１０６は、商品が継続してトグル領域１２に位置している状態であることを表すように変数Ｆｃを変更する。
【００６８】
ステップＳａ９を終えたならばＣＰＵ１０６は、ステップＳａ３に戻る。なお、変数Ｆｃの値が「１」である場合、つまり商品が継続してトグル領域１２に新たに入ったのではない場合には、ＣＰＵ１０６はステップＳａ８，９を実行することなくステップＳａ３に戻る。
【００６９】
商品を認識したのがトグル領域１２内ではない場合にＣＰＵ１０６は、ステップＳａ６にてＮＯと判定し、ステップＳａ１０へ進む。
【００７０】
ステップＳａ１０においてＣＰＵ１０６は、商品が継続してトグル領域１２に位置している状態ではないことを表すように、変数Ｆｃの値を「０」にする。
【００７１】
ステップＳａ１１においてＣＰＵ１０６は、フレーム画像中にて商品を認識した位置が識別領域１１内であるか否かを確認する。商品を識別領域１１内で認識した場合にＣＰＵ１０６は、ステップＳａ１１にてＹＥＳと判定し、ステップＳａ１２へ進む。
【００７２】
ステップＳａ１２においてＣＰＵ１０６は、変数Ｆｆの値が「０」であるか否かを確認する。そして、動画に映り込んでいる商品についての識別が完了していないために変数Ｆｆの値が「０」である場合にＣＰＵ１０６は、ステップＳａ１２でＹＥＳと判定し、ステップＳａ１３へ進む。
【００７３】
ステップＳａ１３においてＣＰＵ１０６は、商品読取プログラムに基づいて識別処理を実行する。
【００７４】
図５は識別処理のフローチャートである。なお、図４および図５では、識別処理を商品読取処理のサブルーチンとして図示しているが、識別処理は商品読取処理と一体的であっても良い。
【００７５】
ステップＳｂ１においてＣＰＵ１０６は、変数Ｆｔの値が「１」であるか否かを確認する。そして、変数Ｆｔの値が「０」であるためにＮＯと判定したならばＣＰＵ１０６は、ステップＳｂ１からステップＳｂ２へと進む。つまりＣＰＵ１０６は、バーコード認識モードが有効となっているならば、ステップＳｂ２へと進む。
【００７６】
なお、変数Ｆｔの値は初期状態では「０」であるから、動画に新たに映り込んだ商品がトグル領域１２に最初に入り込んだ際には、変数Ｆｔの値は「１」とされ、オブジェクト認識を行う状態が設定されることになる。かくして動画に新たに映り込んだ商品が識別領域１１まで移動する間にトグル領域１２を通過した場合には、変数Ｆｔの値が「１」である。このため、ステップＳｂ１は、動画に新たに映り込んだ商品が識別領域１１まで移動する間にトグル領域１２を通過したか否かの判定を含んでいるのであり、ＣＰＵ１０６は判定手段として機能している。
【００７７】
ステップＳｂ２においてＣＰＵ１０６は、識別領域１１内に映り込んでいる商品に付いているバーコードを認識し、そのバーコードが表すバーコードデータを取得する。すなわちＣＰＵ１０６は、第２の識別手段として機能する。なおＣＰＵ１０６は、ここで取得したバーコードデータをＲＡＭ１０８に書き込む。
【００７８】
なお、以上の説明のように本実施形態においては、商品が識別領域１１まで移動する間にトグル領域１２を通過していないと判定した場合には、このことをトリガとして、バーコードデータを取得する。しかしながら、上記判定の後における別の事象をトリガとして実行する判断において、上記の判定結果を確認した上でバーコードデータを取得しても良い。
【００７９】
変数Ｆｔの値が「１」であるためにステップＳｂ１にてＹＥＳと判定したならばＣＰＵ１０６は、ステップＳｂ１からステップＳｂ３へと進む。つまりＣＰＵ１０６は、オブジェクト認識モードが有効となっているならば、ステップＳｂ３へと進む。
【００８０】
ステップＳｂ３においてＣＰＵ１０６は、識別領域１１内に映り込んでいる商品をオブジェクト認識技術を使用して識別する。つまりＣＰＵ１０６は、第１の識別手段として機能する。
【００８１】
具体的には、ＣＰＵ１０５は、ステップＳａ４にて最も新しく抽出した輪郭内の画像から、商品の形状、表面の色合い、模様、凹凸状況等の特徴量を読み取る。そしてＣＰＵ１０６は、読み取った特徴量と、各商品に予め関連付けられた特徴量とのマッチングからフレーム画像に映り込んでいる商品を識別する。この識別のために、ＲＯＭ８または補助記憶ユニット２０９には、認識辞書ファイルを記憶しておく。認識辞書ファイルは、認識対象である商品毎に、その商品を識別する商品ＩＤ（ＰＬＵコード）および商品名と関連付けて、複数の特徴量データを記述する。対応する商品ＩＤ（ＰＬＵコード）で識別される商品を撮影した基準画像から、その商品の表面情報（外観形状、色合い、模様、凹凸具合等）である外観上の特徴量を抽出し、この外観特徴量をパラメータで表わしたものを特徴量データとする。そして、１つの商品に対し、その商品を様々な方向から撮影した基準画像のそれぞれから得た特徴量データを、該当する商品の商品ＩＤに関連付けている。１つの商品に対する特徴量データの数は、固定ではない。また、特徴量データの数は、商品によって異なっていても良い。また、商品名は必ずしも商品別辞書データに含まれていなくても良い。
【００８２】
ここでの商品の識別には、一般物体認識（generic object recognition）と呼ばれる。この一般物体認識の技術については、下記の文献において各種認識技術が解説されており、この技術を上記のオブジェクト認識に利用できる。  
柳井  啓司，“一般物体認識の現状と今後”，情報処理学会論文誌，Ｖｏｌ．４８，Ｎｏ．ＳＩＧ１６［平成２２年８月１０日検索］，インターネット＜ URL: http://mm.cs.uec.ac.jp/IPSJ-TCVIM-Yanai.pdf ＞
また、画像をオブジェクト毎に領域分割することによって、一般物体認識を行う技術が、下記の文献において解説されており、この技術も上記のオブジェクト認識に利用できる。  
Jamie Shottonら，“Semantic Texton Forests for Image Categorization and Segmentation”，［平成２２年８月１０日検索］，インターネット＜ URL: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.145.3036&rep=repl&type=pdf ＞
なお、以上の説明のように本実施形態においては、商品が識別領域１１まで移動する間にトグル領域１２を通過したと判定したことをトリガとして、オブジェクト認識を使用しての商品識別を行う。しかしながら、上記判定の後における別の事象をトリガとして実行する判断において、上記判定を確認した上でオブジェクト認識を使用しての商品識別を行っても良い。
【００８３】
このようにしてＣＰＵ１０６は商品を認識するが、外観が類似する商品は少なからず存在することが一般的であるため、１つの商品に絞り込めるとは限らず、複数の候補商品が残る場合もある。
【００８４】
そこでステップＳｂ４においてＣＰＵ１０６は、複数の候補商品が有るか否かを確認する。そして１つの商品に絞り込めたならばＣＰＵ１０６は、ＮＯと判定してステップＳｂ５へ進む。
【００８５】
ステップＳｂ５においてＣＰＵ１０６は、識別した１つの商品を売上商品として決定する。なおＣＰＵ１０６は、ここで売上商品として決定した商品のＰＬＵ（price look up）コードをＲＡＭ１０８に書き込む。
【００８６】
複数の候補商品があるためにステップＳｂ４にてＹＥＳと判定したならばＣＰＵ１０６は、ステップＳｂ６へと進む。
【００８７】
ステップＳｂ６においてＣＰＵ１０６は、複数の候補商品の中から類似度の高いもの最大３つまでを、類似度が高い順に一位候補〜三位候補として設定する。なおＣＰＵ１０６は、一位候補〜三位候補のそれぞれのＰＬＵコードをＲＡＭ１０８に書き込む。
【００８８】
ステップＳｂ２、ステップＳｂ５およびステップＳｂ６のいずれかを終えたならばＣＰＵ１０６は、ステップＳｂ７へ進む。
【００８９】
ステップＳｂ７においてＣＰＵ１０６は、変数Ｆｆの値を、動画に映り込んでいる商品についての識別が完了していることを表すように「１」とする。
【００９０】
ステップＳｂ７を終えるとＣＰＵ１０６は識別処理を終了する。そしてこののちにＣＰＵ１０６は、図４中のステップＳａ３に戻る。
【００９１】
なお、変数Ｆｆが「１」であるために図４中のステップＳａ１２でＮＯと判定したならばＣＰＵ１０６は、上記のような識別処理を実行することなくステップＳａ３に戻る。
【００９２】
さて、フレーム画像中にて商品を認識した位置が識別領域１１内ではない場合にＣＰＵ１０６は、ステップＳａ１１にてＮＯと判定し、ステップＳａ１４へ進む。
【００９３】
ステップＳａ１４〜１６においてＣＰＵ１０６は、フレーム画像中にて商品を認識した位置が一位候補領域１３、二位候補領域１４内および三位候補領域１５内のいずれであるか、あるいはいずれでもないかを確認する。そして商品を一位候補領域１３内で認識した場合にＣＰＵ１０６は、ステップＳａ１４にてＹＥＳと判定し、ステップＳａ１７へ進む。
【００９４】
ステップＳａ１７においてＣＰＵ１０６は、変数Ｆ１の値を「１」とするとともに、変数Ｆ２，Ｆ３の値をいずれも「０」とする。すなわちＣＰＵ１０６は、一位候補のみが選択された状態であることを表すように変数Ｆ１，Ｆ２，Ｆ３を設定する。こののちにＣＰＵ１０６は、ステップＳａ３に戻る。
【００９５】
商品を二位候補領域１４内で認識した場合にＣＰＵ１０６は、ステップＳａ１５にてＹＥＳと判定し、ステップＳａ１８へ進む。
【００９６】
ステップＳａ１８においてＣＰＵ１０６は、変数Ｆ２の値を「１」とするとともに、変数Ｆ１，Ｆ３の値をいずれも「０」とする。すなわちＣＰＵ１０６は、二位候補のみが選択された状態であることを表すように変数Ｆ１，Ｆ２，Ｆ３を設定する。こののちにＣＰＵ１０６は、ステップＳａ３に戻る。
【００９７】
商品を三位候補領域１５内で認識した場合にＣＰＵ１０６は、ステップＳａ１６にてＹＥＳと判定し、ステップＳａ１９へ進む。
【００９８】
ステップＳａ１９においてＣＰＵ１０６は、変数Ｆ３の値を「１」とするとともに、変数Ｆ１，Ｆ２の値をいずれも「０」とする。すなわちＣＰＵ１０６は、三位候補のみが選択された状態であることを表すように変数Ｆ１，Ｆ２，Ｆ３を設定する。こののちにＣＰＵ１０６は、ステップＳａ３に戻る。
【００９９】
そして、フレーム画像中にて商品を認識した位置が一位候補領域１３、二位候補領域１４内および三位候補領域１５内のいずれでもない場合にＣＰＵ１０６は、ステップＳａ１６においてＮＯと判定し、そのままステップＳａ３に戻る。
【０１００】
ステップＳａ４における商品の認識に成功しなかったならばＣＰＵ１０６は、ステップＳａ５にてＮＯと判定し、ステップＳａ２０へ進む。
【０１０１】
ステップＳａ２０においてＣＰＵ１０６は、変数Ｆｆの値が「１」であるか否かを確認する。そして変数Ｆｆの値が「１」であるためにここでＹＥＳと判定したならばＣＰＵ１０６は、ステップＳａ２１へ進む。なお、ここで変数Ｆｆの値が「１」であるのは、識別が完了した商品が動画に映り込まなくなった直後である。
【０１０２】
ステップＳａ２１においてＣＰＵ１０６は、商品読取プログラムに基づいて出力処理を実行する。
【０１０３】
図６は出力処理のフローチャートである。なお、図６および図４では、出力処理を商品読取処理のサブルーチンとして図示しているが、出力処理は商品読取処理と一体的であっても良い。
【０１０４】
ステップＳｃ１においてＣＰＵ１０６は、変数Ｆｔの値が「０」であるか否かを確認する。そしてバーコード認識モードが有効であるために変数Ｆｔの値が「０」であるならば、ＣＰＵ１０６はＹＥＳと判定し、ステップＳｃ２へ進む。
【０１０５】
ステップＳｃ２においてＣＰＵ１０６は、識別処理のステップＳｂ２において取得したバーコードデータをＲＡＭ１０８から読み出し、当該バーコードデータをＰＯＳ端末インタフェース１１３からＰＯＳ端末２００へと出力する。
【０１０６】
一方、オブジェクト認識モードが有効であるために変数Ｆｔの値が「１」であるならば、ＣＰＵ１０６はステップＳｃ１においてＮＯと判定し、ステップＳｃ３へ進む。
【０１０７】
ステップＳｃ３においてＣＰＵ１０６は、複数の候補商品があるか否かを確認する。そして識別処理のステップＳｂ５において１つの売上商品のみを決定したならばここでＮＯと判定し、ステップＳｃ４へ進む。
【０１０８】
ステップＳｃ４においてＣＰＵ１０６は、識別処理のステップＳｂ５において決定した売上商品のＰＬＵコードをＲＡＭ１０８から読み出し、当該ＰＬＵコードをＰＯＳ端末インタフェース１１３からＰＯＳ端末２００へと出力する。
【０１０９】
これに対して、識別処理のステップＳｂ６において複数の候補商品を設定したならば、ＣＰＵ１０６はステップＳｃ３でＹＥＳと判定し、ステップＳｃ５へ進む。
【０１１０】
ステップＳｃ５においてＣＰＵ１０６は、変数Ｆ１の値が「１」であるか否かを確認する。そして変数Ｆ１の値が「１」であるためにＹＥＳと判定したならばＣＰＵ１０６は、ステップＳｃ６へ進む。つまり、一位候補が選択された状態である場合に、ＣＰＵ１０６はステップＳｃ６へ進む。
【０１１１】
ステップＳｃ６においてＣＰＵ１０６は、識別処理のステップＳｂ５において決定した一位候補のＰＬＵコードをＲＡＭ１０８から読み出し、当該ＰＬＵコードを売上商品のＰＬＵコードとしてＰＯＳ端末インタフェース１１３からＰＯＳ端末２００へと出力する。
【０１１２】
変数Ｆ１の値が「０」であるためにステップＳｃ５でＮＯと判定したならばＣＰＵ１０６は、ステップＳｃ７へ進む。
【０１１３】
ステップＳｃ７においてＣＰＵ１０６は、変数Ｆ２の値が「１」であるか否かを確認する。そして変数Ｆ２の値が「１」であるためにＹＥＳと判定したならばＣＰＵ１０６は、ステップＳｃ８へ進む。つまり、二位候補が選択された状態である場合に、ＣＰＵ１０６はステップＳｃ８へ進む。
【０１１４】
ステップＳｃ８においてＣＰＵ１０６は、識別処理のステップＳｂ５において決定した二位候補のＰＬＵコードをＲＡＭ１０８から読み出し、当該ＰＬＵコードを売上商品のＰＬＵコードとしてＰＯＳ端末インタフェース１１３からＰＯＳ端末２００へと出力する。
【０１１５】
変数Ｆ２の値が「０」であるためにステップＳｃ７でＮＯと判定したならばＣＰＵ１０６は、ステップＳｃ９へ進む。
【０１１６】
ステップＳｃ９においてＣＰＵ１０６は、変数Ｆ３の値が「１」であるか否かを確認する。そして変数Ｆ３の値が「１」であるためにＹＥＳと判定したならばＣＰＵ１０６は、ステップＳｃ１０へ進む。つまり、三位候補が選択された状態である場合に、ＣＰＵ１０６はステップＳｃ１０へ進む。
【０１１７】
ステップＳｃ１０においてＣＰＵ１０６は、識別処理のステップＳｂ５において決定し三位候補のＰＬＵコードをＲＡＭ１０８から読み出し、当該ＰＬＵコードを売上商品のＰＬＵコードとしてＰＯＳ端末インタフェース１１３からＰＯＳ端末２００へと出力する。
【０１１８】
以上のようにＣＰＵ１０６は、選定手段として機能する。
【０１１９】
変数Ｆ３の値が「０」であるためにステップＳｃ９でＮＯと判定したならばＣＰＵ１０６は、ステップＳｃ１１へ進む。この場合は、いずれの候補商品も選択されていない状態にある。
【０１２０】
ステップＳｃ１１においてＣＰＵ１０６は、選択要求画面をタッチパネル１０３にて表示する。選択要求画面は、一位〜三位の候補商品のうちの１つの指定またはキャンセル指示をオペレータに行わせる画面である。オペレータは、この選択要求画面に従って、売上商品に合致する候補商品の１つを指定する操作を行うか、候補商品のいずれもが売上商品に合致しない場合にはキャンセル指示の操作を行うこととする。これらの操作は、例えばタッチパネル１０３にて受け付ける。
【０１２１】
ステップＳｃ１２においてＣＰＵ１０６は、上記のような候補商品の指定が行われたか否かを確認する。当該指定が行われないためにここでＮＯと判定したならばＣＰＵ１０６は、ステップＳｃ１３へ進む。
【０１２２】
ステップＳｃ１３においてＣＰＵ１０６は、キャンセル指示がなされたか否かを確認する。キャンセル指示がなされていないためにここでＮＯと判定したならばＣＰＵ１０６は、ステップＳｃ１２に戻る。
【０１２３】
かくしてＣＰＵ１０６はステップＳｃ１２およびステップＳｃ１３においては、上記のような候補商品の指定かキャンセル指示が行われるのを待ち受ける。そして候補商品の指定が行われたならば、ＣＰＵ１０６はステップＳｃ１２にてＹＥＳと判定し、ステップＳｃ１４へ進む。
【０１２４】
ステップＳｃ１４においてＣＰＵ１０６は、指定された候補商品のＰＬＵコードをＲＡＭ１０８から読み出し、売上商品のＰＬＵコードとしてＰＯＳ端末インタフェース１１３からＰＯＳ端末２００へと出力する。
【０１２５】
一方で、キャンセル指示がなされたためにステップＳｃ１３にてＹＥＳと判定したならばＣＰＵ１０６は、ステップＳｃ１４を行うことなしに、すなわちいずれの候補商品のＰＬＵコードも出力することなしに出力処理を終了し、図４中のステップＳａ２に戻る。つまりＣＰＵ１０６は、直前の商品識別の結果をキャンセルする。
【０１２６】
ステップＳｃ２，４，６，７，１０，１４のいずれかでのデータ出力を終えたならばＣＰＵ１０６は、図５に示す出力処理を終了し、図４中のステップＳａ２に戻る。
【０１２７】
なお、変数Ｆｆが「０」であるために図４中のステップＳａ２０でＮＯと判定したならばＣＰＵ１０６は、上記のような出力処理を実行することなくステップＳａ３に戻る。
【０１２８】
以上のような処理により、オペレータが売上商品を読取窓１０１ａの前にかざしている間、その商品が繰り返し認識され、その商品のフレーム範囲１０内での位置が、識別領域１１、トグル領域１２、一位候補領域１３、二位候補領域１４および三位候補領域１５のいずれかであるかどうかが確認される。そしてオペレータが売上商品をトグル領域１２内へと移動させる毎に、商品識別のモードが切り換えられる。オペレータが売上商品を認識領域１１内へと移動させると、この商品についての識別が未完了であるならば、この商品についての識別が行われる。この識別においては、設定されているモードに応じて、オブジェクト認識技術またはバーコード認識技術が選択的に適用される。オペレータが売上商品を一位候補領域１３内へと移動させると、一位の候補商品が存在するならば、その候補商品が売上商品とされる。オペレータが売上商品を二位候補領域１４内へと移動させると、二位の候補商品が存在するならば、その候補商品が売上商品とされる。オペレータが売上商品を三位候補領域１５内へと移動させると、三位の候補商品が存在するならば、その候補商品が売上商品とされる。
【０１２９】
商品が認識できない状態では、各変数を０にクリアすることにより新たな売上商品についての識別開始に備えた状態で、新たな売上商品が読取窓１０１ａの前にかざされて商品が認識できるようになるのを待ち受ける。ただし、識別が完了した売上商品をオペレータが読取窓１０１ａの前から外したことにより商品が認識できなくなった直後には、識別された売上商品のバーコードデータまたはＰＬＵコードが商品読取装置１００からＰＯＳ端末２００へと送られる。
【０１３０】
図７はオペレータにより移動される売上商品の動線とフレーム範囲１０との位置関係を示す図である。なお、図７はオペレータからの見た目を示しているため、各機能領域が図３とは鏡像関係となっている。
【０１３１】
前述したように、売上商品の標準的動線は、図１における右側から左側に向かう水平方向である。図７中の動線２１，２２は、標準的動線と実質的に同じである。
【０１３２】
しかし動線２１では、売上商品がトグル領域１２内を通らないため、商品読取装置１００はバーコード認識技術によるバーコードデータの取得を試みる。
【０１３３】
一方で動線２２では、売上商品がトグル領域１２内を一度のみ通るため、商品読取装置１００はオブジェクト認識技術による商品の識別を試みる。そして、一位候補領域１３、二位候補領域１４および三位候補領域１５のうちの一位候補領域１３のみを通るため、複数の候補商品が有った場合には、商品読取装置１００はそれら複数の候補商品のうちで類似度が最も高い商品を売上商品とする。
【０１３４】
かくして商品読取装置１００によれば、オペレータが標準的動線に準ずる動線で売上商品を移動させる場合でも、動線の上流側にて商品をフレームインさせる位置をオペレータが変化させることにより、バーコード認識技術によるバーコードデータの取得と、オブジェクト認識技術による商品の識別とを使い分けることができる。つまり、バーコード認識技術によりバーコードデータを取得するバーコード認識モードと、オブジェクト認識技術により商品を識別するオブジェクト認識モードとの切り替え（言い換えると、バーコード認識モードと、オブジェクト認識モードの設定）を、モード切り替え（言い換えるとモード設定）操作を伴わずに行うことができ、そのようなモード切り替え操作を行う場合に比べてオペレータの負担を軽減できる。しかも、いずれのモードにおいても同一の撮像デバイス１０５ａを使用するため、別々の撮像デバイスを個別に設けることによるコストアップも生じない。
【０１３５】
なお、バーコード付きの売上商品をフレームインさせるべき位置とバーコード無しの売上商品をフレームインさせるべき位置とをオペレータが簡易に認識できるように、ハウジング１０１または読取窓１０１ａにおいて図７中に一点鎖線３１で示す位置に相当する位置またはその近傍に、線やマークなどを形成しておくと良い。あるいは、一点鎖線３１で示す位置に相当する位置に仕切り板などを配置しても良い。
【０１３６】
さて、図７に示した動線２３，２４は、動線２１，２２に比べると大きく曲がっているものの、標準的動線と同様に右側から左側に向かう。
【０１３７】
動線２３では、売上商品がトグル領域１２内を一度のみ通る、商品読取装置１００はオブジェクト認識技術による商品の識別を試みる。そして、一位候補領域１３、二位候補領域１４および三位候補領域１５のうちの二位候補領域１４のみを通るため、複数の候補商品が有った場合には、商品読取装置１００はそれら複数の候補商品のうちで類似度が二番目に高い商品を売上商品とする。
【０１３８】
動線２４では、売上商品がトグル領域１２内を一度のみ通るため、商品読取装置１００はオブジェクト認識技術による商品の識別を試みる。そして、一位候補領域１３、二位候補領域１４および三位候補領域１５のうちの三位候補領域１５のみを通るため、複数の候補商品が有った場合には、商品読取装置１００はそれら複数の候補商品のうちで類似度が三番目に高い商品を売上商品とする。
【０１３９】
このように商品読取装置１００によれば、動線の下流側にて商品をフレームアウトさせる位置をオペレータが変化させることにより、オブジェクト認識技術により絞り込むことができなかった複数の候補商品のうちの１つを売上商品として確定することができる。つまり、複数の候補商品のうちの１つの選択を、そのための選択操作を行わずに行うことができ、そのような選択操作を行う場合に比べてオペレータの負担が軽減できる。
【０１４０】
図８はオペレータにより移動される売上商品の動線とフレーム範囲１０との位置関係を示す図である。なお、図８も図７と同様に、各機能領域が図３とは鏡像関係となっている。
【０１４１】
動線２５は、フレームイン時には売上商品がトグル領域１２を通ることなく識別領域１１に入るため、商品読取装置１００はまずはバーコード認識技術によるバーコードデータの取得を試みる。しかしその後に、売上商品がトグル領域１２に入り、さらにその後に売上商品が識別領域１１に入るため、商品読取装置１００はオブジェクト認識技術による商品識別を改めて試みる。
【０１４２】
このように商品読取装置１００によれば、オペレータがバーコード無し商品をバーコード付き商品であると勘違いしてトグル領域１２を通さないように識別領域１１まで売上商品を移動させた場合でも、売上商品を一旦トグル領域内１２まで戻し、さらに識別領域１１内まで移動させれば良い。これにより、売上商品をフレームアウトさせた上で動線２２のような売上商品の移動をやり直す場合に比べて、オペレータの負担が軽減される。
【０１４３】
動線２６は、フレームイン時には売上商品がトグル領域１２を通ったのちに識別領域１１に入るため、商品読取装置１００はまずはオブジェクト認識技術による商品識別を試みる。しかしその後に、売上商品がトグル領域１２に入り、さらにその後に売上商品が識別領域１１に入るため、商品読取装置１００はバーコード認識技術によるバーコードデータの取得を改めて試みる。
【０１４４】
このように商品読取装置１００によれば、オペレータがバーコード付き商品をバーコード無し商品であると勘違いしてトグル領域１２を通して識別領域１１まで売上商品を移動させた場合でも、売上商品を一旦トグル領域内１２まで戻し、さらに識別領域１１内まで移動させれば良い。これにより、売上商品をフレームアウトさせた上で動線２１のような売上商品の移動をオペレータがやり直す場合に比べて、オペレータの負担が軽減できる。
【０１４５】
動線２７は、フレームイン時には売上商品がトグル領域１２を通ったのちに識別領域１１に入るため、商品読取装置１００はオブジェクト認識技術による商品識別を試みる。しかしその後に、売上商品が一位候補領域１３内、二位候補領域１４内および三位候補領域１５内のいずれにも入ることがないままフレームアウトしているため、商品読取装置１００は選択要求画面を表示させ、一位〜三位の候補商品のうちの１つの指定またはキャンセル指示をオペレータに行わせる。
【０１４６】
このように商品読取装置１００によれば、複数の候補商品のうちの１つを選択するような動線で売上商品が移動されなかった場合には、候補商品のうちの１つを選択するようオペレータに促し、オペレータの操作に応じて候補商品のうちの１つを売上商品として確定するので、識別結果を無駄にしてしまうことが無い。また、オペレータによるキャンセル指示に応じては、識別結果をキャンセルするので、売上商品を正しく認識できなかった識別結果はキャンセルし、その売上商品についての読み取りを最初からやり直すことが可能である。
【０１４７】
この実施形態は、次のような種々の変形実施が可能である。
【０１４８】
ＣＰＵ１０６は、例えば図９に示すような案内画像４１を撮像デバイス１０５ａが得た動画に重畳したモニタ画像を生成し、これをタッチパネル１０３などに表示しておくようにしても良い。このようにすれば、動画における売上商品と各機能領域との位置関係をオペレータが容易に把握することが可能となる。このときにＣＰＵ１０６は、生成手段として機能することになる。
【０１４９】
複数の候補商品が有る場合に、例えば図１０に示すように各候補商品と各候補領域との関連付けを表す案内画像４２を撮像デバイス１０５ａが得た動画に重畳したモニタ画像を生成し、これをタッチパネル１０３などに表示しておくようにしても良い。このようにすれば、どの候補領域へと売上商品を移動させることによってどの商品として確定されるのかをオペレータが容易に把握することが可能となる。なお図１０に示される画像４３は、動画の一部であり、動画に映り込んだ売上商品である。画像４４は、オブジェクトとして認識している領域を表すものであり、案内画像４２とともに動画に重畳して表示したものである。
【０１５０】
各機能領域を例えば図１１に示すように３次元的に設定しても良い。
【０１５１】
図１１は領域設定テーブルに含まれた設定情報による各機能領域の定義の変形例を示す図である。図１１の（ａ）で示す範囲内はオペレータからの見た目での各機能領域の配置を示し、（ｂ）で示す範囲内は標準的動線の上流側から標準的動線の方向を見たときの各機能領域の配置を示す。
【０１５２】
図１１の例では、識別領域５１、トグル領域５２、一位候補領域５３、二位候補領域５４および三位候補領域５５の５つの機能領域が定義されている。
【０１５３】
識別領域５１、一位候補領域５３、二位候補領域５４および三位候補領域５５は、識別領域１１、一位候補領域１３、二位候補領域１４および三位候補領域１５の位置関係と同様な位置関係にある。しかしトグル領域５２は、識別領域５１、一位候補領域５３、二位候補領域５４および三位候補領域５５に対してハウジング１０１に違い側にずれている。
【０１５４】
かくして、オペレータは売上商品の位置をハウジング１０１に対する遠近方向に調整することにより、トグル領域５２を通過させるか否かを選択することができる。
【０１５５】
撮像デバイス１０５ａは、近い物体ほど明るく、また遠い物体ほど暗く撮像するために、オブジェクトの動画中での明暗に基づいて撮像デバイス１０５ａから売上商品までの距離を推定可能であり、このように推定した距離からトグル領域５２を通過したか否かを判定できる。
【０１５６】
候補商品を２つまたは４つ以上とし、この候補商品の数と同数の候補領域を設定しても良い。
【０１５７】
売上商品がトグル領域１２を通過したならば、その後に同一の売上商品がトグル領域１２に入っても、オブジェクト認識モードを有効としたままとしても良い。
【０１５８】
売上商品がトグル領域１２を通過したか否かは、例えば光電センサなどの別の検出デバイスを利用して判定しても良い。
【０１５９】
候補商品のうちからの売上商品の選択のためのオペレータ操作は、タッチパネル１０３などでの操作として受け付けるようにしても良い。
【０１６０】
撮像部１０５を商品読取装置１００に備えず、外付けの撮像デバイスで得られたフレームデータを取り込んで上記の処理を行うようにしても良い。
【０１６１】
ＣＰＵ１０６の処理の具体的内容は、同様な機能を実現できれば任意に変更が可能である。
【０１６２】
例えば、前記実施形態では、商品読取装置１００が商品識別のための機能を全て有したが商品識別の機能を商品読取装置１００とＰＯＳ端末２００に分散させて構成してもよい。また、ＰＯＳ端末２００に商品識別のための機能を全て有して構成してもよい。
【０１６３】
商品読取装置１００の機能を内蔵したＰＯＳ端末やキャッシュレジスタとして実現することも可能である。
【０１６４】
また、商品読取装置１００の機能を秤装置に備えたセルフチェックアウト端末に組み込んで実現することも可能である。この場合、オペレータは顧客となる。
【０１６５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１６６】
１００…商品読取装置、１０１…ハウジング、１０１ａ…読取窓、１０２…キーボード、１０３…タッチパネル、１０４…客用ディスプレイ、１０５…撮像部、１０５ａ…撮像デバイス、１０６…ＣＰＵ、１０７…ＲＯＭ、１０８…ＲＡＭ、１０９…キーボードインタフェース、１１０…パネルインタフェース、１１１…表示インタフェース、１１２…撮像インタフェース、１１３…ＰＯＳ端末インタフェース、１１４…バスライン、２００…ＰＯＳ端末。
【図１】
2014089669.tif 000003
【図２】
2014089669.tif 000004
【図３】
2014089669.tif 000005
【図４】
2014089669.tif 000006
【図５】
2014089669.tif 000007
【図６】
2014089669.tif 000008
【図７】
2014089669.tif 000009
【図８】
2014089669.tif 000010
【図９】
2014089669.tif 000011
【図１０】
2014089669.tif 000012
【図１１】
2014089669.tif 000013