以下、本実施形態について、図面を参照しながら説明する。
まず、実施形態に係るチェックアウト装置2の構成例について説明する。
図1は、本実施形態に係るチェックアウト装置2の外観を示す図である。
チェックアウト装置2は、商品読取装置を含む装置(システム)の一例である。チェックアウト装置2は、制御装置としてプログラムを実行するコンピュータを有する。チェックアウト装置2は、各種のプログラムを実行することにより商品読取(登録)処理および会計処理を実行する。実施形態に係るチェックアウト装置2としての商品読取装置は、コンピュータが商品読取プログラムを実行することにより商品読取処理を実行する。
図1に示すチェックアウト装置2は、商品を購入する顧客の操作によって、商品登録処理および会計処理が実行されるセルフチェックアウト装置(セルフレジ)であるものとする。ただし、実施形態に係る商品読取装置は、セルフレジに適用されるものに限定されるものではない。例えば、実施形態に係る商品読取装置は、係員(店員)が操作するチェックアウト装置(POSシステム)に適用されるものであっても良い。
図2に示すように、チェックアウト装置2は、本体10と、本体10の左右に配置された第1の商品載置台11と第2の商品載置台12とを備える。本実施形態において、第1の商品載置台11は、読取処理前の商品を載置する商品置き場である。また、第2の商品載置台12は、読取処理(登録処理)後の商品を載置するものとする。ただし、読取処理前の商品は、ショッピングカート(以下、カート)に入れた状態で所定位置(商品置き場)に配置されるようにしても良い。
第1の商品載置台11は、本体10に向かって本体10の右側に配置する。例えば、第1の商品載置台11には、顧客が購入しようとする商品(読取処理前の商品)を入れたかご(容器)が載置される。また、第1の商品載置台11は、顧客が購入しようとする商品(読取処理前の商品)が直接載置されるものとしても良い。
第2の商品載置台12は、本体10に向かって本体10の左側に配置する。第2の商品載置台12は、読取(登録)処理が終了した商品が移動される位置である。例えば、第2の商品載置台12は、第1の商品載置台11から取り出されて読取(登録)処理がなされた商品が置かれる。また、第2の商品載置台12は、読取(登録)処理がなされた商品を収納するレジ袋あるいは持ち帰り用のかご等の商品収納部が載置されるようにしても良い。この場合、読取(登録)処理がなされた商品が、第2の商品載置台12に置かれた商品収納部内に商品が収納(載置)されるものとする。
第2の商品載置台12には、秤29が設けられる。秤29は、第2の商品載置台12に商品が置かれたこと(第2の商品載置台12に置かれた商品収納部に商品が収納されたこと)を検知する。秤29は、置かれた商品の重量分だけ重くなったことを検知するだけでなく、商品が置かれる(又は商品収納部に商品が収納される)という操作によって計測値が変動する。例えば、秤29は、軽量の商品であっても、第2の商品載置台12に商品を置くという顧客の操作に応じて計測値の変化を検知するものである。
さらに、図1に示す構成例において、第2の商品載置台12は、上部に支柱を介して一時置き台12aを設ける。一時置き台12aは、例えば、商品を買い物袋に入れる前に一時的に載置するために使用される。一時置き台12aには、左右に離間させて2本の保持アーム12bが設けられる。保持アーム12bは、商品収納部としての商品収納袋(レジ袋)を開口させた状態で係止する。
また、秤29は、一時置き台12aおよび保持アーム12bが設けられる支柱にかかる重量を計測する機能もする。秤29は、一時置き台12aに商品の重量、および、保持アーム12bに係止された商品収納袋に入れられた商品の重量を計測することもできる。この機能によって、秤29は、一時置き台12aに商品が置かれたこと、又は、保持アーム12bに係止された商品収納袋に商品が入れられたことによる重量変化も検知する。すなわち、秤29は、第2の商品載置台12、一時置き台12aおよび保持アーム12bにかかる重量の変化を計測する。
本体10には、ディスプレイ21、カードリーダライタ(RW)22、プリンタ23、スピーカ24、スキャナ25、ハンドスキャナ26、および、現金処理機27が設けられる。本体10の上部には、支柱を介してカメラ28が設けられる。さらに、本体10内には、後述する図2に示すような制御ユニット30を実現するコンピュータを設けられる。本体10内に設ける制御ユニット30には、ディスプレイ21、カードリーダライタ(RW)22、プリンタ23、スピーカ24、スキャナ25、ハンドスキャナ26、現金処理機27、カメラ28および秤29が電気的に接続される。
ディスプレイ21は、表示デバイス21aとタッチセンサ21bとを含むタッチパネルである。表示デバイス21aは、操作案内、顧客が選択可能なアイコン(タッチキー)、或は、アラートとして警告のメッセージなどを表示する。表示デバイス21aは、例えば、LCD(Liquid Crystal Display)である。
タッチセンサ21bは、操作デバイスの一例である。タッチセンサ21bは、表示デバイス21aの表示画面(操作画面)における人のタッチ位置を検出する。タッチセンサ21bは、検知したタッチ位置を示す情報を特定する処理を行う後述する制御ユニット30内のプロセッサ40へ送る。
例えば、表示デバイス21aは、顧客のタッチ操作により支払い方法(現金、カード)などの選択指示や各種情報を入力するためのGUI(Graphical User Interface)を表示する。また、表示デバイス21aは、案内画面、情報入力画面、商品登録画面、精算画面などを表示する。案内画面は、顧客に操作方法を知らせるための案内(メッセージ)を表示する画面である。情報入力画面は、例えば、バーコードが付されていない商品の情報を入力するための操作画面である。商品登録画面は、登録した商品に関する情報を表示する画面である。商品登録画面では、例えば、スキャナ25又はハンドスキャナ26が読み取ったバーコードによって識別した商品、商品に適用される値引額等の付加情報、あるいは、キー操作で指定された商品などの情報を表示する。精算画面は、商品の代金を顧客が支払う会計処理において、個々の商品の精算金額(価格、値引額、税率)、購入する商品(登録した商品)の合計の精算金額、預かり金額、および、釣り銭額などを表示する画面である。
カードリーダライタ(RW)22は、カードを処理する。カードリーダライタ22は、カード挿入口を有する。カードリーダライタ22は、カードに記録されたデータを読み取る機能とカードへデータを書き込む機能とを有する。カードリーダライタ49は、磁気情報を記録する磁気カードであっても良いし、接触式あるいは非接触式のICカードであっても良い。また、カードリーダライタ22は、複数種のカードを処理する機構を有するものであっても良い。
例えば、カードリーダライタ22は、カード挿入口に挿入される精算用のクレジットカード又は会員カードなどのカードを処理する。精算(決済)用のカードとしては、クレジットカード、デビットカード、電子マネーカード、プリペイドカードなどがある。また、会員カードとしては、会員情報を記録したメンバーズカード、或は、サービスとして利用可能なポイントを記録したポイントカードなどがある。
プリンタ23は、レシートを印刷する。プリンタ23は、レシート発行口を有する。プリンタ23は、レシート用紙に対して各種の文字列や画像などを印刷することによりレシートを発行する。プリンタ23は、例えばサーマルプリンタやドットインパクトプリンタなどを実現される。例えば、プリンタ23は、会計処理が完了した場合に、処理内容(会計内容)を印刷したレシートを作成し、作成したレシートをレシート発行口から排出する。
スピーカ24は、アラートしての警告音、或は、メッセージとしての音声などの音を出力する。
スキャナ25およびハンドスキャナ26は、CCDイメージセンサ等の撮像素子を有する撮像デバイスで構成される。スキャナ25およびハンドスキャナ26は、商品を識別する商品識別情報を示す画像、および、商品に適用される値引などの付加情報を示す画像を撮像する。
例えば、スキャナ25およびハンドスキャナ26は、商品識別情報を示す画像として、商品識別情報を示すコード(バーコード)の画像を撮像する。ここで、商品に付されるコードは、商品の表面に表示され、商品識別情報を光学的に読み取れる情報(光学符号)であるものとする。例えば、コードは、バーコードであっても良いし、二次元バーコードであっても良い。
また、スキャナ25およびハンドスキャナ26は、付加情報を示す画像として、商品に適用される値引などの付加情報が記載されたラベル(付加情報、値引ラベル)の画像を撮像する。商品に添付されるラベルは、例えば、商品を販売する店舗が決めたタイミングで店舗等の係員が特定の商品の表面(商品のパッケージ)に貼り付けられる。ラベルは、当該商品に対する値引額あるいは値引率などの値引情報を記載した値引ラベル(値引シール)であっても良い。また、ラベルは、当該商品に対して適用される税率などを示すラベルであっても良い。
スキャナ25は、所定の撮像位置(読取位置)において、商品のコードおよびラベルを含む画像を撮像する。例えば、スキャナ25は、顧客が商品に付されたコードおよびラベルが相対するように翳した商品のコードおよびラベルを含む画像を撮像する。スキャナ25が撮像した画像からコードが示す商品識別情報とラベルに記載された付加情報(値引情報)とが認識される。
ハンドスキャナ26は、顧客が手持ちで操作されるものである。ハンドスキャナ26は、商品に付されたコードおよび値引ラベルに近接されることによりコードおよび値引ラベルを含む画像を撮影する。ハンドスキャナ26が撮像した画像からもバーコードが示す商品識別情報と値引ラベルが示す値引情報(付加情報)とが認識される。
なお、スキャナ25およびハンドスキャナ26は、商品に付されたバーコード(コード)の画像と商品に添付される付加情報ラベル(値引ラベル)の画像との両方を含む画像を撮像しても良い。また、スキャナ25およびハンドスキャナ26は、商品に付されたバーコード(コード)を含む画像と商品に添付される付加情報ラベル(値引ラベル)の画像とを順番に撮像しても良い。
現金処理機27は、現金を処理するものである。現金処理機27は、紙幣投入口、紙幣排出口、硬貨投入口および硬貨排出口などを有する。現金処理機27は、紙幣投入口27aに投入された紙幣を処理する。現金処理機27は、釣銭としての紙幣を紙幣排出口27bから排出する。現金処理機27は、硬貨投入口27cに投入された硬貨を受け入れて処理する。現金処理機27は、釣銭としての硬貨を硬貨排出口27dから排出する。
カメラ28は、チェックアウトの対象となる商品に対して顧客が商品読取および会計処理などの作業(操作)を行うための作業エリアを含む撮影範囲を撮影するように設定される。顧客が商品の読取処理および会計処理などに伴う作業(操作)をする領域を撮影するように設置される。
カメラ28は、顧客による商品の読取(登録)処理および会計処理のための動作(作業)の様子を撮影する。例えば、カメラ28は、第1の商品載置台11と第2の商品載置台12とが撮影範囲に含まれるように設置する。このように設置されたカメラ28は、第1の商品載置台11に載置された商品が第2の商品載置台12に載置されるまでの間の映像を撮影できる。カメラ28が撮影した映像は、RAM42に一時記憶された後にデータメモリ43などに保存される。
次に、本実施形態に係るチェックアウト装置2における制御系の構成について説明する。
図2は、本実施形態に係るチェックアウト装置2における制御系の構成例を示すブロック図である。
図2に示す構成例において、チェックアウト装置2の本体10は、制御ユニット30を有する。制御ユニット30は、例えば、コンピュータで実現される。制御ユニット30には、ディスプレイ21、カードリーダライタ22、プリンタ23、スピーカ24、スキャナ25、ハンドスキャナ26、現金処理機27、カメラ28、および、秤29などが接続される。また、制御ユニット30は、プロセッサ40、ROM(read-only memory)41、RAM(random-access memory)42、データメモリ43、および、各種のインターフェース(IF)44~53を有する。
プロセッサ40は、プログラムを実行することにより種々の処理を実行する。プロセッサ40は、例えば、CPU(central processing unit)である。プロセッサ40は、ROM41又はデータメモリ43が記憶するプログラムを実行することにより各種の処理機能を実現する。例えば、プロセッサ40は、商品の読取(登録)処理用のプログラム(商品読取プログラム)を実行することにより、各商品の商品情報を読み取る(登録する)商品読取(登録)処理を実行する。プロセッサ40は、会計処理用のプログラムを実行することにより、商品読取処理によって取得した対象商品の商品情報に基づく精算金額を決済する会計処理を実行する。
また、プロセッサ40は、画像解析用のプログラムを実行することにより画像解析処理を行う画像解析装置としても機能する。プロセッサ40は、画像解析処理として、カメラ28から取得する画像からチェックアウト装置2を操作する人物(顧客又は店員)の動作を解析する。例えば、プロセッサ40は、動作認識用のプログラムを実行することにより、チェックアウト装置2に対応する作業エリアにおける人物の動作などを認識する処理を実行する。本実施形態において、プロセッサ40は、人物が読取処理を行った商品を第2の商品載置台12にセットした商品収納部に収納したこと(読取処理が終了した商品を移動させたこと)を検出する。
なお、上述したような画像解析処理は、通信IF53等を介してプロセッサ40に接続される外部装置としての画像解析装置が実施するようにしても良い。この場合、プロセッサ40は、通信IF53を介して接続する画像解析装置へカメラ28が撮影した画像を供給し、画像解析装置から画像解析の結果を取得するようにすれば良い。
ROM41は、不揮発性のメモリであり、プログラムおよびデータを記憶する。例えば、ROM41は、オペレーティングシステム、ミドルウェア、アプリケーションなどのプログラムを記憶する。また、ROM41は、プロセッサ40が各種の処理を実行する場合に参照するデータを記憶しても良い。
RAM42は、作業用のデータを記憶する。RAM42は、プロセッサ40が各種の処理を実行する場合に参照するデータ、あるいは、一時的に使用するデータなどを適宜記憶する。
データメモリ43は、データを記憶するメモリである。データメモリ43は、書き換え可能な不揮発性のメモリである。データメモリ43は、例えばEEPROM(登録商標)(electric erasable programmable read-only memory)、HDD(hard disk drive)、あるいはSSD(solid state drive)などで構成する。データメモリ43は、プロセッサ40が各種の処理を実行する場合に使用するデータ、或は、プロセッサ40による処理で生成されたデータを保存する。また、データメモリ43は、プロセッサ40が実行する各種のプログラムを記憶しても良い。例えば、データメモリ43は、商品読取処理用のプログラム(商品読取プログラム)、会計処理用のプログラム、画像解析用のプログラム(動作認識用のプログラム)を記憶しても良い。
また、RAM42あるいはデータメモリ43は、後述する第1、第2又は第3の動作例の商品読取処理においてキャッシュメモリとして機能する。キャッシュメモリとしてのRAM42あるいはデータメモリ43は、読取処理の対象とする1つの商品に対する商品識別情報および値引情報(付加情報)を含む商品に関する情報(商品情報)を記憶(キャッシュ)する。
また、RAM42あるいはデータメモリ43は、例えば、読取(登録)処理した各商品に関する商品情報をリスト形式のデータとして記録するようにしても良い。また、RAM42あるいはデータメモリ43は、カメラ28が撮影する撮影画像を記憶する。データメモリ43は、例えば、カメラ28が撮影する撮影画像に撮影時刻を示すタイムスタンプのデータを付加した映像データを記憶するようにしても良い。
プロセッサ40は、スキャナIF44を介してスキャナ25に接続する。プロセッサ40は、スキャナIF44を介してスキャナ25が読み取る画像(スキャン画像)を取得する。また、プロセッサ40は、スキャナIF45を介してハンドスキャナ26に接続する。プロセッサ40は、スキャナIF45を介してハンドスキャナ26が撮像する撮影画像(スキャン画像)を取得する。
プロセッサ40は、スキャナ25又はハンドスキャナ26の撮影画像に含まれるバーコードおよび値引ラベルを抽出する。プロセッサ40は、撮影画像から抽出したバーコードをデコードすることによりバーコードが示す商品識別情報を取得する。また、プロセッサ40は、撮影画像から抽出した値引ラベルの画像から値引ラベルに表示されている情報を認識することにより値引情報(付加情報)を取得する。
プロセッサ40は、表示IF46を介してディスプレイ21に接続する。プロセッサ40は、表示IF46を介してディスプレイ21の表示デバイス21aが表示する表示内容を制御する。例えば、プロセッサ40は、読取処理前(未登録)の商品が存在することを報知するためのアラート或はインジケータとしてのメッセージをディスプレイ21に表示する。
また、プロセッサ40は、操作デバイスとしてタッチセンサ21bを有する。プロセッサ40は、表示IF46を介してディスプレイ21のタッチセンサ21bが検知するタッチ位置を示す情報を取得する。プロセッサ40は、タッチセンサ21bが検知するタッチ位置を示す情報によりディスプレイ21に表示した各アイコン(タッチキー)への入力を検知する。例えば、プロセッサ40は、個々の商品の読取終了を指示する確定キーをディスプレイ21に表示し、確定キーへの指示入力をタッチセンサ21bにより検知する。また、チェックアウト装置2は、操作デバイスとして、確定キーとして機能するハードキー(ボタン)などを設けても良い。
プロセッサ40は、カードIF47を介してカードリーダライタ22に接続する。プロセッサ40は、カードIF47を介してカードリーダライタ22によるカードに対する処理を制御する。例えば、プロセッサ40は、カードリーダライタ22が処理するクレジットカードによる精算処理を実行する。
プロセッサ40は、プリンタIF48を介してプリンタ23に接続する。プロセッサ40は、プリンタIF48を介してプリンタ23を制御する。例えば、プロセッサ40は、プリンタ23により会計処理の結果を示すレシートを発行する。
プロセッサ40は、音声IF49を介してスピーカ24に接続する。プロセッサ40は、音声IF49を介してスピーカ24から出力する音を制御する。例えば、プロセッサ40は、値引ラベルが表示する値引情報を読み取ったことを示すアラートをスピーカ24から出力するようにしても良い。
プロセッサ40は、入出金IF50を介して現金処理機27に接続する。プロセッサ40は、入出金IF50を介して現金処理機27を制御する。例えば、プロセッサ40は、顧客が入金した現金を現金処理機27が計数し、現金処理機27が計数した入金金額を示す情報を取得する。また、プロセッサ40は、入金した金額と登録済みの商品の合計金額(商品代金)とから算出した釣銭を現金処理機27によって放出する制御を行う。
プロセッサ40は、カメラIF51を介してカメラ28に接続する。プロセッサ40は、カメラIF51を介してカメラ28が撮影する撮影画像を取得する。例えば、プロセッサ40は、会計処理に移行する際にカメラ28が撮影する第1の商品載置台11上のカゴ(容器)内の画像を含む撮影画像を取得する。また、プロセッサ40は、登録処理中において継続的に(例えば所定周期で)カメラ28が撮影する第1の商品載置台11上のカゴ(容器)内の画像を含む撮影画像を取得する。
プロセッサ40は、秤IF52を介して秤29に接続する。プロセッサ40は、秤IF52を介して秤29が検知(計測)した重量値を示す情報を取得する。また、プロセッサ40は、秤IF52を介して秤29が計測する重量が変化したことを示す情報を取得するようにしても良い。
プロセッサ40は、通信IF53を介して外部装置に接続する。例えば、プロセッサ40は、通信IF53を介して外部装置としてのアテンダント端末に接続する。アテンダント端末は、チェックアウト装置2における商品の読取(登録)状況あるいは会計処理の実行状況などの利用状況を示す情報を表示する装置である。プロセッサ40は、通信IF53を介してアテンダント端末5に動作状況を示す情報を送信する。
また、プロセッサ40は、通信IF53を介して外部装置としての管理サーバなどのコンピュータに接続するようにしても良い。例えば、プロセッサ40は、読取(登録)処理で確定した商品情報あるいは会計処理で会計済みとなった商品を示す情報を通信IF53を介して管理サーバへ送信するようにしても良い。また、プロセッサ40は、通信IF53を介して通信するストアコンピュータから商品に関する情報などを適宜取得するようにしても良い。
次に、上記のように構成されるチェックアウト装置2における第1、第2および第3の動作例について説明する。
まず、実施形態に係る商品読取装置としてのチェックアウト装置2における商品読取(登録)処理を含む処理の第1の動作例について説明する。
図3は、実施形態に係る商品読取装置としてのチェックアウト装置2における商品読取(登録)処理の第1の動作例を説明するためのフローチャートである。
ここで、顧客は、購入対象とする商品を持ってチェックアウト装置2の前に訪れるものとする。顧客は、購入対象とする商品(登録前の商品)を所定の位置にセットする。例えば、顧客は、購入対象とする商品(対象商品)を入れたカゴ(容器)を商品置き場としての第1の商品載置台11上に載置する。また、顧客は、対象商品を第1の商品載置台11上に直接載置するようにしても良い。また、顧客は、対象商品を入れたカートを商品置き場としての所定位置に配置するようにしても良い。
対象商品を商品置き場にセットした後、顧客は、所定の操作により商品読取処理(又はチェックアウト処理)の開始を指示する。例えば、顧客は、ディスプレイ21に表示される開始キーをタッチすることにより商品読取処理の開始を指示する。プロセッサ40は、タッチセンサ21bにより商品読取処理の開始を指示する開始キーがタッチされたことを検知することにより商品読取処理の開始を判断する。
また、商品読取処理の開始は、顧客の動きに応じてプロセッサ40が認識するようにしても良い。例えば、プロセッサ40は、カメラ28が撮影する画像を解析することにより作業エリアに進入してきた人物(顧客)の動きを認識し、認識した人物の動きに応じて商品読取処理の開始を判断しても良い。
チェックアウト装置2のプロセッサ40は、商品読取処理の開始指示に応じて対象商品から商品識別情報および付加情報(値引情報)を読み取る商品読取処理を開始する。商品読取処理において、プロセッサ40は、個々の商品ごとに商品識別情報と値引情報とを取得する処理を行う(ACT10~14)。
第1の動作例では、プロセッサ40は、1つの商品に対する商品識別情報と値引情報との読み取りが終了した場合に顧客が確定キーを指示入力するものとする。プロセッサ40は、個々の商品の読取(登録)が終了したことを示す確定キーが入力されるまでの間(ACT15、NO)、商品識別情報と値引情報とを取得する処理を行う(ACT10~14)。
すなわち、プロセッサ40は、顧客の操作に応じてスキャナ25(又はハンドスキャナ26)が撮影する個々の商品の撮影画像を取得する(ACT10)。プロセッサ40は、スキャナ25から取得する撮影画像に基づいて商品識別情報と値引情報とを取得する処理を行う(ACT11~14)。
例えば、プロセッサ40は、スキャナ25から取得する撮影画像において商品識別情報を示すバーコードの画像および値引情報を示す値引ラベルの画像を抽出する。プロセッサ40は、撮影画像からパーコードの画像が抽出できた場合、撮影画像から抽出したバーコードを読み取る(デコードする)。プロセッサ40は、バーコードをデコードして得た情報が有効な商品識別情報であるかを判定する。プロセッサ40は、撮影画像から抽出したバーコードから有効な商品識別情報が得られた場合、当該商品の商品識別情報を取得できたものと判断する。
プロセッサ40は、当該商品の商品識別情報を取得できたと判断した場合(ACT11、YES)、撮影画像中のバーコードから取得した商品識別情報をキャッシュメモリに保存する(ACT12)。例えば、プロセッサ40は、商品の撮影画像から取得した商品識別情報をキャッシュメモリとしてのRAM42又はデータメモリ43に記憶する。これにより、プロセッサ40は、当該商品に付されたバーコードが示す商品識別情報をキャッシュメモリに保持する。
なお、キャッシュメモリに保持している商品識別情報とは異なる商品識別情報を取得した場合、つまり、別の商品の商品識別情報を取得した場合、プロセッサ40は、次の商品の商品識別情報を取得したものと判断する。この場合、プロセッサ40は、商品の読取エラーとしても良いし、キャッシュメモリに既に保持している情報(商品識別情報および値引情報)を1つの商品情報として確定するようにして良い。
前者の場合(別の商品の商品識別情報を取得した場合に商品の読取エラーとする場合)の動作としては、例えば、商品読取のエラーを報知し、確定キーの入力又は商品の読取操作のやり直しなどを促す。このような動作は、プロセッサ40が、ディスプレイ21に読取エラーと確定キーの入力または商品の読取操作のやり直しなどの案内とを表示することで実現できる。このような動作することにより、確定キーの入力によって1つの商品に対する商品識別情報と値引情報との読取終了を確実に確認することができる。
また、後者の場合(別の商品の商品識別情報を取得した場合にキャッシュメモリに既に保持している情報を1つの商品の情報として確定する場合)の動作は、保持している情報(商品識別情報および値引情報)を1つの商品情報として出力し、取得した商品識別情報をメモリに新たに保持するようにしても良い。例えば、プロセッサ40は、キャッシュメモリに既に保持している商品識別情報と値引情報とを1つの商品情報として出力(商品情報として登録)する。プロセッサ40は、メモリに保持していた情報を1つの商品情報として出力した後、次の商品の情報として取得した商品識別情報をキャッシュメモリに保持する。これにより、チェックアウト装置2は、次の商品の商品識別情報(バーコード)を読み取った場合に1つの商品に対する商品識別情報と値引情報との読取終了として動作することができる。
また、プロセッサ40は、撮影画像から値引ラベルの画像を抽出した場合、抽出した値引ラベルに記載された情報を認識する。プロセッサ40は、値引ラベルの画像に対する文字認識などによって値引ラベルに記載されている情報を取得する。プロセッサ40は、値引ラベルの認識によって得た情報が有効な値引情報(付加情報)であるかを判定する。プロセッサ40は、撮影画像から抽出した値引ラベルの認識結果として得た情報が有効な値引情報である場合、当該商品に添付された値引情報を取得したものと判断する。
プロセッサ40は、当該商品に添付された値引ラベルの認識結果から有効な値引情報を取得したと判断した場合(ACT13、YES)、撮影画像中の値引ラベルから取得した値引情報をキャッシュメモリに保持する(ACT14)。例えば、プロセッサ40は、商品の撮影画像から取得した値引情報をキャッシュメモリとしてのRAM42又はデータメモリ43に記憶する。これにより、プロセッサ40は、当該商品に添付された値引ラベルが示す値引情報をキャッシュメモリに保持することができる。
なお、キャッシュメモリに既に保持している値引情報とは異なる値引情報を取得した場合、プロセッサ40は、読込済みのラベルとは別の値引ラベルを読み取ったものと判断する。この場合、プロセッサ40は、値引ラベルの読取エラーとしても良いし、当該商品に対する別(2つ目)の値引ラベルが示す値引情報としてキャッシュメモリに保持するようにしても良い。
前者の場合(別の値引ラベルの読取をエラーとする場合)の動作としては、例えば、読取エラーを報知し、確定キーの入力又は商品の読取操作のやり直しなどを促す。このような動作は、プロセッサ40が、ディスプレイ21に値引情報の読取エラーと確定キーの入力又は商品の読取操作のやり直しなどの案内とを表示することで実現できる。このような動作することにより、確定キーの入力によって1つの商品に対して1つの値引ラベルの読取終了を確実に確認することができる。
後者の場合(別の値引ラベルの認識結果をキャッシュに追記する場合)、例えば、プロセッサ40は、取得した値引ラベルの認識結果を1つの商品に対する他(2つ目)の値引情報としてキャッシュメモリに保持するようにすれば良い。このような動作によれば、1つの商品に対して複数の付加情報ラベル(複数の値引ラベル、あるいは、値引ラベルと別の付加情報ラベル)が添付される場合であっても複数のラベルに記載された情報を精算金額の算出に適用できる。
また、プロセッサ40は、ACT10~14の処理を実行中において、顧客による確定キーへの入力を受け付ける。例えば、プロセッサ40は、操作デバイスとしてのタッチセンサ21bにより確定キーが入力されたか否かを検知する。
プロセッサ40は、確定キーへの入力がない場合(ACT15、NO)、会計処理への移行指示もなければ(ACT17、NO)、ACT10へ戻り、当該商品に対する商品識別情報および値引情報の読取処理を繰り返し実行する。すなわち、プロセッサ40は、確定キーが入力されるまで、1つの商品に対するバーコードが示す商品識別情報と値引ラベルが示す値引情報との入力を繰り返し実行する。この結果、商品読取装置としてのチェックアウト装置2では、1つの商品に対して商品識別情報と値引情報とを任意の順序で読み取ることができる。
また、プロセッサ40は、確定キーへの入力を検知した場合(ACT15、YES)、RAM42などのメモリに保持している当該商品の商品識別情報および値引情報を出力する(ACT16)。プロセッサ40は、確定キーへの入力に応じて当該商品の撮影画像から取得した商品識別情報と値引情報とを当該商品の商品情報(商品を決済するための情報)として確定(登録)する。つまり、第1動作例のチェックアウト装置2は、確定キーへの入力に応じて1つの商品に対する商品識別情報と値引情報とを確定して登録する。
プロセッサ40は、商品の商品識別情報および値引情報を出力すると、会計処理への移行指示の有無をチェックする(ACT17)。会計処理への移行の指示がなければ(S17、NO)、プロセッサ40は、ACT10へ戻り、次の商品に対する商品識別情報および値引情報の読取処理を実行する。
全ての購入対象とする商品の読取(登録)が完了したと判断した顧客は、会計処理への移行(商品読取(登録)の終了)を指示する。例えば、顧客は、ディスプレイ21に表示されるタッチキーとしての読取(登録)終了キーを操作することにより会計処理への移行を指示する。この場合、プロセッサ40は、タッチセンサ21bにより読取(登録)終了キーへの入力を検知することにより会計処理への移行を判断する。
会計処理への移行(又は、商品登録処理の終了)が指示された場合(ACT17、YES)、プロセッサ40は、商品情報が登録された全ての商品に対する会計処理を実行する(ACT18)。会計処理において、プロセッサ40は、登録された個々の商品について商品識別情報に基づく商品の金額と値引情報(付加情報)に基づく値引額とから個々の商品の精算金額を決定する。また、付加情報として税率等が指定される場合には、プロセッサ40は、税率に基づく税額を加算した個々の商品の精算金額を算出する。
全ての購入対象とする各商品の精算金額を算出すると、プロセッサ40は、購入対象とする全商品の精算金額の合計金額を算出する。プロセッサ40は、算出した合計金額をディスプレイ21に表示し、顧客から購入対象とする全商品の精算金額の合計金額を収受する処理を行う。購入対象とする全商品の合計金額の収受が完了すると、プロセッサ40は、購入対象とする商品に対する会計処理を終了する。
以上のような第1の動作例を適用したチェックアウト装置(商品読取装置)によれば、確定キーが入力された場合に1つの商品に対する情報の読取終了を確定する。これにより、商品読取装置は、確定キーが入力されるまでの間であれば、1つの商品に付されたコードとラベルとを自由な順序で読み取ることができる。この結果、商品読取装置は、個々の商品に付されたバーコードが示す商品識別情報だけでなく、添付のラベルに記載された付加情報(値引情報など)を確実に取得できる。また、顧客などのオペレータは、1つの商品に付されたコードとラベルとを商品読取装置に読み取らせる操作を自由度の高い操作手順で行うことができる。
次に、実施形態に係る商品読取装置としてのチェックアウト装置2における第2の動作例について説明する。
図4は、実施形態に係る商品読取装置としてのチェックアウト装置2における商品読取(登録)処理を含む処理の第2の動作例を説明するためのフローチャートである。
まず、チェックアウト装置2のプロセッサ40は、第1の動作例と同様、商品読取処理の開始指示に応じて対象商品から商品識別情報および付加情報(値引情報)を読み取る商品読取処理を開始する。商品読取処理において、プロセッサ40は、商品ごとに商品識別情報と値引情報とを取得する処理を行う(ACT20~24)。
第2の動作例では、プロセッサ40は、1つの商品に対する商品識別情報と値引情報との読み取りが終了したことを秤29が計測する重量変化によって検知する。すなわち、プロセッサ40は、秤29が計測する重量変化で1つの商品の読取が終了したことを検知するまでの間(ACT25、NO)、1つの商品に対する商品識別情報と値引情報とを取得する処理を行う(ACT20~24)。
商品読取処理を開始すると、プロセッサ40は、利用者の操作に応じてスキャナ25(又はハンドスキャナ26)が撮影する個々の商品の撮影画像を取得する(ACT20)。プロセッサ40は、スキャナ25から取得する撮影画像に基づいて商品識別情報と値引情報とを取得する処理を行う(ACT21~24)。
例えば、プロセッサ40は、スキャナ25から取得する撮影画像において商品識別情報を示すバーコードの画像および値引情報を示す値引ラベルの画像を抽出する。プロセッサ40は、撮影画像からパーコードの画像が抽出できた場合、撮影画像から抽出したバーコードを読み取る(デコードする)。プロセッサ40は、バーコードを読み取って得た情報が有効な商品識別情報であるかを判定する。プロセッサ40は、撮影画像から抽出したバーコードから有効な商品識別情報が得られた場合、当該商品の商品識別情報を取得できたものと判断する。
プロセッサ40は、当該商品の商品識別情報を取得できたと判断した場合(ACT21、YES)、撮影画像中のバーコードから取得した商品識別情報をキャッシュメモリに保存する(ACT22)。例えば、プロセッサ40は、商品の撮影画像から取得した商品識別情報をキャッシュメモリとしてのRAM42又はデータメモリ43に記憶する。これにより、プロセッサ40は、当該商品に付されたバーコードが示す商品識別情報をキャッシュメモリに保持する。
なお、キャッシュメモリに保持している商品識別情報とは異なる商品識別情報を取得した場合、つまり、別の商品の商品識別情報を取得した場合、プロセッサ40は、次の商品の商品識別情報を取得したものと判断する。この場合、プロセッサ40は、第1の動作例と同様、商品の読取エラーとしても良いし、キャッシュメモリに既に保持している情報(商品識別情報および値引情報)を1つの商品情報として確定するようにして良い。
また、プロセッサ40は、撮影画像から値引ラベルの画像を抽出した場合、抽出した値引ラベルに記載された情報を認識する。プロセッサ40は、値引ラベルの画像に対する文字認識などによって値引ラベルに記載されている情報を取得する。プロセッサ40は、値引ラベルの認識によって得た情報が有効な値引情報(付加情報)であるかを判定する。プロセッサ40は、撮影画像から抽出した値引ラベルの認識結果として得た情報が有効な値引情報である場合、当該商品に添付された値引情報を取得したものと判断する。
プロセッサ40は、当該商品に添付された値引ラベルの認識結果から有効な値引情報を取得したと判断した場合(ACT23、YES)、撮影画像中の値引ラベルから取得した値引情報をキャッシュメモリに保持する(ACT24)。例えば、プロセッサ40は、商品の撮影画像から取得した値引情報をキャッシュメモリとしてのRAM42又はデータメモリ43に記憶する。これにより、プロセッサ40は、当該商品に添付された値引ラベルが示す値引情報をキャッシュメモリに保持することができる。
なお、キャッシュメモリに既に保持している値引情報とは異なる値引情報を取得した場合、プロセッサ40は、読込済みのラベルとは別の値引ラベルを読み取ったものと判断する。この場合も、プロセッサ40は、第1の動作例と同様、値引ラベルの読取エラーとしても良いし、当該商品に対する別(2つ目)のラベルが示す付加(値引)情報をキャッシュメモリに保持するようにしても良い。
第2の動作例において、プロセッサ40は、ACT20~24の処理を実行中、秤29が計測する計測値に基づいて重量変化によって検知する(ACT25)。プロセッサ40は、秤29が計測する重量の変化によって、1つの商品が読取終了後の位置である第2の商品載置台12に移動したことを検知する。つまり、プロセッサ40は、1つの商品に対する読取処理が終了したことを示す確定トリガーとして、秤29が計測する重量の変化を検知する。
プロセッサ40は、確定トリガーとする重量変化が検知されない場合(ACT25、NO)、会計処理への移行指示もなければ(ACT27、NO)、ACT20へ戻り、当該商品に対する商品識別情報および値引情報の読取処理を繰り返し実行する。プロセッサ40は、商品が読取終了後の位置(第2の商品載置台12)に移動を示す重量変化が検知されるまで、1つの商品に対するバーコードが示す商品識別情報と値引ラベルが示す値引情報との入力を繰り返し実行する。この結果、商品読取装置としてのチェックアウト装置2では、確定トリガーとしての重量変化が検知されるまでの間、1つの商品に対する商品識別情報と値引情報とを任意の順序で読み取ることができる。
また、プロセッサ40は、確定トリガーとしての重量変化を検知した場合(ACT25、YES)、RAM42などのキャッシュメモリに保持している当該商品の商品識別情報および値引情報(付加情報)を出力する(ACT26)。プロセッサ40は、重量変化の検知に応じて当該商品の撮影画像から取得した商品識別情報と値引情報とを当該商品の商品情報(商品を決済するための情報)として出力(登録)する。
プロセッサ40は、当該商品の商品識別情報および値引情報を出力(登録)すると、会計処理への移行指示の有無をチェックする(ACT27)。会計処理への移行の指示がなければ(S27、NO)、プロセッサ40は、ACT20へ戻り、次の商品に対する商品識別情報および値引情報の読取処理を実行する。
ここで、全ての購入対象とする商品の読取(登録)が完了したと判断した顧客(オペレータ)は、会計処理への移行(商品読取(登録)の終了)を指示するものとする。例えば、顧客は、ディスプレイ21に表示されるタッチキーとしての読取(登録)終了キーを操作することにより会計処理への移行を指示する。この場合、プロセッサ40は、タッチセンサ21bにより読取(登録)終了キーへの入力を検知することにより会計処理への移行を判断する。
会計処理への移行(又は、商品登録処理の終了)が指示された場合(ACT27、YES)、プロセッサ40は、商品情報が登録された全ての商品に対する会計処理を実行する(ACT28)。会計処理において、プロセッサ40は、登録された個々の商品について商品識別情報に基づく商品の金額と値引情報(付加情報)に基づく値引額とから個々の商品の精算金額を決定する。また、付加情報として税率等が指定される場合には、プロセッサ40は、税率に基づく税額を加算した個々の商品の精算金額を算出する。
全ての購入対象とする各商品の精算金額を算出すると、プロセッサ40は、購入対象とする全商品の精算金額の合計金額を算出する。プロセッサ40は、算出した合計金額をディスプレイ21に表示し、顧客から購入対象とする全商品の精算金額の合計金額を収受する処理を行う。購入対象とする全商品の合計金額の収受が完了すると、プロセッサ40は、購入対象とする商品に対する会計処理を終了する。
以上のような第2の動作例を適用したチェックアウト装置(商品読取装置)は、第2の商品載置位置での重量変化が検知された場合に1つの商品に対する情報の読取終了を確定する。これにより、第2の動作例の商品読取装置は、第2の商品載置位置での重量変化が検知されるまでの間、1つの商品に付されたコードとラベルとを自由な順序で読み取ることができる。
すなわち、第2の動作例を適用した商品読取装置は、バーコードが示す商品識別情報だけでなく、個々の商品に任意に貼付けられるラベルに記載された付加情報(値引情報など)を確実に取得できる。また、顧客などのオペレータは、商品に付されたコードとラベルとを商品読取装置に読み取らせる操作を自由度の高い操作手順で行うことができる。さらに、顧客などのオペレータは、商品を読取終了位置(第2の商品載置位置)に移動させることで次の商品の読取処理に移行させることができる。
次に、実施形態に係る商品読取装置としてのチェックアウト装置2における第3の動作例について説明する。
図5は、実施形態に係る商品読取装置としてのチェックアウト装置2における商品読取(登録)処理を含む処理の第3の動作例を説明するためのフローチャートである。
まず、チェックアウト装置2のプロセッサ40は、第1の動作例と同様、商品読取処理の開始指示に応じて対象商品から商品識別情報および付加情報(値引情報)を読み取る商品読取処理を開始する。商品読取処理において、プロセッサ40は、商品ごとに商品識別情報と値引情報とを取得する処理を行う(ACT30~34)。
第3の動作例では、プロセッサ40は、1つの商品に対する商品識別情報と値引情報との読み取りが終了したことを顧客が商品を商品収納部に入れた動作(又は、読取終了後の商品の位置(例えば、第2の商品読取位置12)へ商品を移動させる動作)を検知する。すなわち、プロセッサ40は、カメラ28が撮影する人物が商品を商品収納部に入れた動作を検知するまでの間(ACT35、NO)、1つの商品に対する商品識別情報と値引情報とを取得する処理を行う(ACT30~34)。
商品読取処理を開始すると、プロセッサ40は、利用者の操作に応じてスキャナ25(又はハンドスキャナ26)が撮影する個々の商品の撮影画像を取得する(ACT30)。プロセッサ40は、スキャナ25から取得する撮影画像に基づいて商品識別情報と値引情報とを取得する処理を行う(ACT31~34)。
例えば、プロセッサ40は、スキャナ25から取得する撮影画像において商品識別情報を示すバーコードの画像および値引情報を示す値引ラベルの画像を抽出する。プロセッサ40は、撮影画像からパーコードの画像が抽出できた場合、撮影画像から抽出したバーコードを読み取る(デコードする)。プロセッサ40は、バーコードを読み取って得た情報が有効な商品識別情報であるかを判定する。プロセッサ40は、撮影画像から抽出したバーコードから有効な商品識別情報が得られた場合、当該商品の商品識別情報を取得できたものと判断する。
プロセッサ40は、当該商品の商品識別情報を取得できたと判断した場合(ACT31、YES)、撮影画像中のバーコードから取得した商品識別情報をキャッシュメモリに保存する(ACT32)。例えば、プロセッサ40は、商品の撮影画像から取得した商品識別情報をキャッシュメモリとしてのRAM42又はデータメモリ43に記憶する。これにより、プロセッサ40は、当該商品に付されたバーコードが示す商品識別情報をキャッシュメモリに保持する。
なお、キャッシュメモリに保持している商品識別情報とは異なる商品識別情報を取得した場合(別の商品の商品識別情報を取得した場合)、プロセッサ40は、次の商品の商品識別情報を取得したものと判断する。この場合、プロセッサ40は、第1の動作例と同様、商品の読取エラーとしても良いし、キャッシュメモリに既に保持している情報(商品識別情報および値引情報)を1つの商品情報として確定するようにして良い。
また、プロセッサ40は、撮影画像から値引ラベルの画像を抽出した場合、抽出した値引ラベルに記載された情報を認識する。プロセッサ40は、値引ラベルの画像に対する文字認識などによって値引ラベルに記載されている情報を取得する。プロセッサ40は、値引ラベルの認識によって得た情報が有効な値引情報(付加情報)であるかを判定する。プロセッサ40は、撮影画像から抽出した値引ラベルの認識結果として得た情報が有効な値引情報である場合、当該商品に添付された値引情報を取得したものと判断する。
プロセッサ40は、当該商品に添付された値引ラベルの認識結果から有効な値引情報を取得したと判断した場合(ACT33、YES)、撮影画像中の値引ラベルから取得した値引情報をキャッシュメモリに保持する(ACT34)。例えば、プロセッサ40は、商品の撮影画像から取得した値引情報をキャッシュメモリとしてのRAM42又はデータメモリ43に記憶する。これにより、プロセッサ40は、当該商品に添付された値引ラベルが示す値引情報をキャッシュメモリに保持することができる。
なお、キャッシュメモリに既に保持している値引情報とは異なる値引情報を取得した場合、プロセッサ40は、読込済みのラベルとは別の値引ラベルを読み取ったものと判断する。この場合も、プロセッサ40は、第1の動作例と同様、値引ラベルの読取エラーとしても良いし、当該商品に対する別(2つ目)のラベルが示す付加(値引)情報をキャッシュメモリに保持するようにしても良い。
第3の動作例では、プロセッサ40は、ACT30~34の処理を実行中、カメラ28が撮影する画像から確定トリガーとする動作(人物が商品を商品収納部に入れる動作又は、人物が商品を読取終了後の位置に移動させる動作)を検出する(ACT35)。プロセッサ40は、カメラ28が撮影する画像を連続的に取得する。プロセッサ40は、画像解析処理を実行することにより、カメラ28が撮影した画像における人物(顧客)の動作を解析する。プロセッサ40は、カメラ28が撮影する画像から当該商品に対する読取処理が終了したことを示す動作を確定トリガーとして検出する。
例えば、プロセッサ40は、OpenPoseのような骨格推定技術を用いて人物の動作を認識する処理を実現することができる。例えば、プロセッサ40は、確定トリガーとして、顧客が第2の商品載置台12などにセットした商品を収納するための商品収納部(例えば、買い物袋(レジ袋)、持ち帰り用の収納容器(かご、バック、箱、カード等))へ商品を入れる動作を検出する。また、プロセッサ40は、確定トリガーとして、顧客が第2の商品載置台12に商品を移動させる動作を検出するようにしても良い。
プロセッサ40は、確定トリガーとする顧客の動作が検出されない場合(ACT35、NO)、会計処理への移行指示もなければ(ACT37、NO)、ACT30へ戻り、当該商品に対する商品識別情報および値引情報の読取処理を繰り返し実行する。プロセッサ40は、商品の読取終了位置への移動を示す重量変化が検知されるまで、1つの商品に対するバーコードが示す商品識別情報と値引ラベルが示す値引情報との入力を繰り返し実行する。この結果、商品読取装置としてのチェックアウト装置2では、確定トリガーとしての重量変化が検知されるまでの間、1つの商品に対する商品識別情報と値引情報とを任意の順序で読み取ることができる。
また、プロセッサ40は、確定トリガーとする顧客の動作を検出した場合(ACT35、YES)、RAM42などのキャッシュメモリに記憶している当該商品の商品識別情報および値引情報を出力する(ACT36)。プロセッサ40は、1つの商品に対する読取終了を示す顧客の動作に応じて当該商品の撮影画像から取得した商品識別情報と値引情報とを当該商品の商品情報(商品を決済するための情報)として出力(登録)する。
プロセッサ40は、当該商品の商品識別情報および値引情報を出力(登録)すると、会計処理への移行指示の有無をチェックする(ACT37)。会計処理への移行の指示がなければ(S37、NO)、プロセッサ40は、ACT30へ戻り、次の商品に対する商品識別情報および値引情報の読取処理を実行する。
プロセッサ40は、上述した第1および第2の動作例と同様に、顧客による読取(登録)終了キーへの入力を検知することにより会計処理への移行を判断する。会計処理への移行(又は、商品登録処理の終了)が指示された場合(ACT37、YES)、プロセッサ40は、商品情報が登録された全ての商品に対する会計処理を実行する(ACT38)。会計処理において、プロセッサ40は、登録された個々の商品について商品識別情報に基づく商品の金額と値引情報(付加情報)に基づく値引額とから個々の商品の精算金額を決定する。また、付加情報として税率等が指定される場合には、プロセッサ40は、税率に基づく税額を加算した個々の商品の精算金額を算出する。
全ての購入対象とする各商品の精算金額を算出すると、プロセッサ40は、購入対象とする全商品の精算金額の合計金額を算出する。プロセッサ40は、算出した合計金額をディスプレイ21に表示し、顧客から購入対象とする全商品の精算金額の合計金額を収受する処理を行う。購入対象とする全商品の合計金額の収受が完了すると、プロセッサ40は、購入対象とする商品に対する会計処理を終了する。
以上のような第3の動作例を適用したチェックアウト装置(商品読取装置)は、1つの商品に対する読取終了を示す人物の動作が検出された場合に当該商品に対する情報の読取終了を確定する。これにより、商品読取装置は、1つの商品に対する読取終了を示す人物の動作が検出されるまでの間、1つの商品に付されたコードとラベルとを自由な順序で読み取ることができる。
すなわち、第3の動作例を適用した商品読取装置は、バーコードが示す商品識別情報だけでなく、個々の商品に任意に貼付けられるラベルに記載された付加情報(値引情報など)を確実に取得できる。また、顧客などのオペレータは、商品に付されたコードとラベルとを商品読取装置に読み取らせる操作を自由度の高い操作手順で行うことができる。さらに、顧客などのオペレータは、1つの商品に対する読取終了を示す動作が商品読取装置に検出されれば、キー入力などの特別な操作などを行わなくても次の商品の読取処理に移行させることができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。