以下、チェックアウトシステムを例に、本実施形態にかかる商品コード読取装置及びプログラムを説明する。本実施形態では、飲食店やスーパーマーケット等の店舗に導入されたチェックアウトシステムに適用した例について説明する。
図1は、本実施形態に係るチェックアウトシステムの構成を概略的に示す斜視図である。図1に示すように、チェックアウトシステムは、POS端末100と商品コード読取装置200とを備える。
POS端末100は、顧客が購入する商品の販売登録を行うための商品情報処理装置であって、チェックアウト台11に載置されている。POS端末100は、キーボード101と、オペレータ用の表示器102と、顧客用の表示器103と、プリンタ104と、ドロワ105とを備えている。なお、POS端末100が備える各部については後述する。
また、チェックアウト台11とL字を形成するようにして、横長テーブル状のカウンタ台12が配置されている。カウンタ台12の上面には、荷受面13が形成されている。商品コード読取装置200は、この荷受面13に載置され、有線又は無線によりPOS端末100との間で通信可能に接続されている。
商品コード読取装置200は、商品に貼付されたコードシンボルを読み取って、該コードシンボルが含む商品コードをPOS端末100に出力するための装置である。図1に示すように、商品コード読取装置200は、読取窓201と、キーボード202と、オペレータ用の表示器203と、顧客用の表示器204とを備えている。なお、商品コード読取装置200が備える各部については後述する。
荷受面13には、後述するコードラベルやポイント割増ラベルが貼付された商品Gを収納する買物カゴ14が載置される。買物カゴ14は、顧客によって持ち込まれる第1の買物カゴ14aと、第1の買物カゴ14aから商品コード読取装置200を挟んだ位置に載置される第2の買物カゴ14bとに分別される。
顧客によって持ち込まれた第1の買物カゴ14aには、一取引にかかる商品Gが収納されている。商品Gには、バーコードや二次元コード等のコードシンボルを表したコードラベルや、ポイント付与数を表したポイント割増ラベルが貼付されている。コードシンボルには、商品Gに関する商品コードが符号化された状態で保持されている。ここで商品コードは、商品Gを特定するために各商品に割り当てられたコードであり、一例としてJANコードがある。
第1の買物カゴ14a内の商品Gは、商品コード読取装置200を操作するオペレータにより第2の買物カゴ14bへと移動される。この移動過程で、コードラベル及びポイント割増ラベルが商品コード読取装置200の読取窓201に向けられる。この際、読取窓201内に設けられた後述する撮像部215(図2参照)は、商品に付されたコードラベルを撮像する。
商品コード読取装置200では、撮像部215で撮像された画像に含まれるコードシンボルを検出し、商品Gに関する商品コードを読み取る。なお、本実施形態ではコードシンボルとしてバーコードを用いた例を説明するが、これに限らず二次元コードを用いる形態としてもよい。
以下、チェックアウトシステムの構成について説明する。図2は、POS端末100及び商品コード読取装置200の構成を示すブロック図である。
まず、POS端末100の構成について説明する。POS端末100は、情報処理を実行するマイクロコンピュータとして、CPU(Central Processing Unit)111、ROM(Read Only Memory)112及びRAM(Random Access Memory)113を備えている。
CPU111は、ROM112や後述する記憶部114に記憶された各種プログラムを実行することにより、POS端末100を総括的に制御する。ROM112は、基本動作を行うためのプログラムが記憶される。RAM113は、POS端末100の主記憶装置であって、CPU111のワークエリアとして機能する。
また、CPU111には、各種の入出力回路(図示せず)を介して、上述したキーボード101、表示器102、表示器103、プリンタ104及びドロワ105が接続されている。
キーボード101は、POS端末100を操作するオペレータから入力されたキーの情報(以下、キー情報という)をCPU111に通知する入力デバイスである。このキーボード101には、数字や演算子を入力するためのテンキーや、商品代金の決済に必要な「締め」キー等の各種操作キーが配設されている。
表示器102及び表示器103は、LCD(Liquid Crystal Display)等の表示デバイスを有し、CPU111の指示に基づいて商品の名称や価格等の各種の情報を表示する。ここで、表示器102は、POS端末100を操作するオペレータ用の表示器であって、その表示面がオペレータに向けて配置されている(図1参照)。また、表示器103は、顧客用の表示器であって、その表示面が顧客に向けて配置されている(図1参照)。なお、表示器102をタッチパネル構成とすることで、キーボード101の全てのキー又は一部のキーをタッチパネル上に実現する形態としてもよい。
プリンタ104は、サーマルプリンタ等の印刷装置であって、CPU111の制御に従い、レシートやジャーナル等を印字する。ドロワ105は、現金等を収容するためのキャッシュドロワであって、CPU111の制御に従い開閉する。
また、CPU111には、各種の入出力回路(図示せず)を介して、記憶部114及び通信I/F115が接続されている。
記憶部114は、HDD(Hard Disk Drive)やフラッシュメモリ等の記憶媒体であって、CPU111が実行可能なプログラムや各種ファイルを記憶している。記憶部114に記憶されるプログラムの一例は、商品販売データ処理用のプログラム114aである。また、記憶部114に記憶されるファイルとしては、PLUファイル114b等である。
PLUファイル114bは、各商品に関する情報を保持するためのファイルである。具体的に、PLUファイル114bには、商品の種別を表わす部門コード、各商品にユニークに割り当てられた商品コード、その商品の名称及び価格を対応付けたレコードが保持されている。なお、PLUファイル114bに他の情報を対応付けて記憶する形態としてもよい。
通信I/F115は、商品コード読取装置200とデータ通信を行うためのインタフェースである。CPU111は、この通信I/F115を介し、商品コード読取装置200との間で種々のデータを送受信する。
次に、商品コード読取装置200の構成について説明する。図2に示すように、商品コード読取装置200は、情報処理を実行するマイクロコンピュータとして、CPU211、ROM212及びRAM213を備えている。
CPU211は、ROM212に記憶された各種プログラムを実行することにより、商品コード読取装置200を総括的に制御する。ROM212は、基本動作を行うためのプログラムが記憶される。RAM213は、商品コード読取装置200の主記憶装置であって、CPU211のワークエリアとして機能する。
また、CPU211には、各種の入出力回路(図示せず)を介して、上述したキーボード202、表示器203及び表示器204が接続されている。
キーボード202は、商品コード読取装置200を操作するオペレータから入力されたキー情報をCPU211に通知する入力デバイスである。このキーボード202は、主にバーコードで登録不能な商品の登録を行う場合に用いられる。
表示器203及び表示器204は、LCD等の表示デバイスを有し、CPU211の指示に基づいて商品の名称や価格等の各種の情報を表示する。ここで、表示器203は、商品コード読取装置200を操作するオペレータ用の表示器であって、その表示面がオペレータに向けて配置されている(図1参照)。また、表示器204は、顧客用の表示器であって、その表示面が顧客に向けて配置されている(図1参照)。なお、表示器203をタッチパネル構成とすることで、キーボード202の全てのキー又は一部のキーを該タッチパネル上に実現する形態としてもよい。
また、CPU211には、各種の入出力回路(図示せず)を介して、通信I/F214、撮像部215及び記憶部216が接続されている。
通信I/F214は、POS端末100とデータ通信を行うためのインタフェースである。CPU211は、この通信I/F214を介し、POS端末100との間で種々のデータを送受信する。
撮像部215は、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等のイメージセンサであって、図1に示した読取窓201内に設けられている。撮像部215は、CPU211の制御に従い撮像を開始する。また、撮像部215は、接写(マクロ)撮影を行うことが可能な接写モードを有し、CPU211の制御に従い通常モードと接写モードとを切り替える。
ここで、図3を参照して、撮像部215の撮像領域と商品Gとの関係について説明する。図3は、撮像部215の撮像領域と商品Gとの関係の一例を示す図である。図中2点鎖線で囲った領域は、撮像部215が1フレームで撮像できる領域である撮像領域215aである。また、図3に示す商品Gには、コードラベルの一例であるバーコードBCが付されており、このバーコードBCの下部には、当該バーコードBCに組み込まれている商品コードの数値「4902201337779」が表されている。
また、商品Gが加工食品等である場合、その食品の栄養成分の量や熱量を表した栄養表示が付されている場合がある。本実施形態の商品コード読取装置200では、後述する栄養表示管理ファイル216bにその商品(食品)の栄養表示情報が登録されていない場合、該商品に付された栄養表示を撮像対象として撮像を行う。なお、図3では、商品Gに付された栄養表示として、その商品の単位量当たりの栄養成分を表した成分ラベルL1と、商品名称や原材料、内容量等を表した商品ラベルL2と、その商品の栄養成分に関する特徴を表した見出しラベルL3とが表されている。
図2に戻り、記憶部216は、HDDやフラッシュメモリ等の記憶媒体であって、CPU211が実行可能なプログラム216aや、各種ファイルを記憶している。ここで、記憶部216に記憶されるプログラム216aは、撮像部215の制御用プログラムや、コードシンボル読取用のプログラム、OCRやパターンマッチング等の画像や文字認識用のプログラム等である。また、記憶部216は、商品コード読取装置200の動作に必要なファイルとして、栄養表示管理ファイル216b及び表示設定ファイル216cを記憶している。
栄養表示管理ファイル216bは、各商品の商品コードと、当該商品に付された栄養表示を表す栄養表示情報とを対応付けて管理するためのファイルである。ここで、図4は、栄養表示管理ファイル216bを説明するための図である。同図に示すように、栄養表示管理ファイル216bは、商品コード毎に、成分情報、商品情報及び見出し情報を栄養表示情報として対応付けて保持している。なお、同図では、図3に示した商品(商品コード:4902201337779)についての栄養表示情報を示している。
ここで、成分情報は、その商品の単位量当たりの栄養成分を表した情報である。図4の例では、商品コード:4902201337779についての成分情報として、図3に示した成分ラベルL1の内容が格納されている。また、商品情報は、商品名称や原材料、内容量等、その商品に関する事柄を表した情報である。図4の例では、商品コード:4902201337779についての商品情報として、図3に示した商品ラベルL2の内容の一部が格納されている。また、見出し情報は、その商品の栄養成分に関する特徴を表した情報である。図4の例では、商品コード:4902201337779についての見出し情報として、図3に示した見出しラベルL3の内容が格納されている。なお、栄養表示情報に登録する情報は、図4の例に限らないものとする。
表示設定ファイル216cは、栄養表示管理ファイル216bに格納された栄養表示情報を表示する際の表示方法を定めた設定ファイルである。ここで、図5は、表示設定ファイル216cを説明するための図である。同図に示すように、例えば、表示設定1では、栄養表示管理ファイル216bに格納された栄養表示情報のうち、見出し情報のみを表示することが定義されている。また、表示設定2では、成分情報に含まれるエネルギー量のみを、商品情報及び見出し情報とともに表示することが定義されている。また、表示設定3では、成分情報と商品情報とを表示することが定義されている。なお、表示設定は図5の例に限らず、例えば、成分情報に含まれる各成文を所定の順序に並び替えるよう定義してもよい。
後述する表示制御部223では、表示設定ファイル216cに定義された表示設定のうち、予め定められた一の表示設定を用いて、栄養表示管理ファイル216bに格納された栄養表示情報を顧客用の表示器204に表示する。
次に、商品コード読取装置200が有する特徴的な機能について説明する。CPU211は、ROM212又は記憶部216が記憶するプログラムとの協働により、図2に示すように、画像データ取込部221、コード読取部222、表示制御部223、栄養表示読取部224及び情報出力部225を実現させる。
画像データ取込部221は、撮像部215に撮像オン信号を出力することで撮像部215に撮像動作を開始させる。画像データ取込部221は、撮像部215が撮像した撮像領域215a内の画像データを取り込んで、RAM213に格納する。また、画像データ取込部221は、栄養表示読取部224の指示を受けた場合に、撮像部215が撮像した撮像領域215a内の画像データを取り込んで、RAM213に格納する。
コード読取部222は、画像データ取込部221がRAM213に格納した画像データから、バーコードの画像を検出し、検出したバーコードから商品コードを読み取るバーコード読取処理を行う。具体的に、コード読取部222は、RAM213に格納された1フレームの画像データを二値化し、この二値化したデータ内にバーコードに関するデータ領域が存在するか否かを検出する。コード読取部222は、バーコードに関するデータ領域を検出した場合には、そのバーコードをデコードし、デコードしたデータを商品Gの商品コードとして読み取る。そして、コード読取部222は、読み取った商品コードをRAM213に格納する。
表示制御部223は、コード読取部222が読み取った商品コードに対応する栄養表示情報が栄養表示管理ファイル216bに記憶されている否かを判定し、記憶されていると判定した場合に、その対応する栄養表示情報を、表示設定ファイル216cの表示設定に基づいて表示器204に表示する。
また、表示制御部223は、商品コードに対応する栄養表示情報が栄養表示管理ファイル216bに記憶されていないと判定した場合、栄養表示の撮像を促すメッセージをオペレータ用の表示器203に表示させ、栄養表示読取部224を有効化する。なお、全ての商品に栄養表示が付されているわけではないため、例えば、予め定められた特定の食品を表す商品コードや、栄養表示管理ファイル216bに登録された商品コード(栄養表示情報未登録)についてのみ、栄養表示情報の存非を判定する形態としてもよい。
また、表示制御部223は、一の取引の終了がPOS端末100から指示された場合に、この取引の終了までに栄養表示管理ファイル216bから読み出した各商品の成分情報に含まれる所定の成分の合計値を、各食品の商品情報に含まれた内容量等に基づいて算出し、顧客用の表示器204に表示する。
例えば、図4に示した商品コード“4902201337779”の商品について、該商品が有するエネルギーを求める場合、表示制御部223は、単位当たり(20g当たり)のエネルギー92kcalを、その商品の内容量80gに基づき加算(乗算)することで、その商品が有するエネルギー368kcalを商品成分量として算出する。そして、表示制御部223は、一の取引で販売登録の対象となった商品の各々について商品成分量を算出し、その合計値を求める。なお、商品成分量の算出対象となる成分は、予め定められているものとする。
栄養表示読取部224は、画像データ取込部221がRAM213の画像ワークエリアに格納した1フレームの画像データから、栄養表示部分の文字列を検出する栄養表示読取処理を行う。
具体的に、表示制御部223は、栄養表示読取処理において、パターン認識やOCR文字認識の公知の技術により栄養表示部分の文字列を検出すると、この検出した文字列を栄養表示情報として、コード読取部222で読み取られた商品コードと対応付けて栄養表示管理ファイル216bに登録する。なお、検出した文字列の成分情報、商品情報及び見出し情報への分別は、文字列に含まれる特定の単語(例えば、成分名や名称、強調文字等)に基づき栄養表示読取部224が自動で分別する形態としてもよいし、商品コード読取装置200を操作するオペレータが手動で行う形態としてもよい。
また、栄養表示読取部224は、キーボード202を介して入力された所定の操作に応じて、撮像部215の撮像モードを接写モードに切り替え、該撮像部215により接写撮影された画像から栄養表示部分の文字列を検出する。
情報出力部225は、コード読取部222が読み取った販売登録対象の商品の商品コードを、その商品の販売個数等とともに通信I/F214を介してPOS端末100に送信(出力)する。
一方、POS端末100のCPU111では、商品コード読取装置200から商品コードの入力を受け付けると、PLUファイル114bを参照して、その商品コードに対応する商品の価格等を読み込む。そして、POS端末100のCPU111は、PLUファイル114bから読み込んだ商品の価格や、その商品の販売個数に基づいて一の取引に係る各商品の販売登録を行う。
次に、図6を参照して、本実施形態のチェックアウトシステムの動作について説明する。ここで、図6は、商品コード読取装置200が行う情報出力処理の手順を示すフローチャートである。
商品コード読取装置200のCPU211は、POS端末100から所定の信号により取引開始が指示されると、情報出力処理を開始する。画像データ取込部221は、撮像部215に撮像オン信号を出力し、撮像部215による撮像動作を開始する(ステップS11)。次いで、画像データ取込部221は、撮像部215が撮像した画像データをRAM213に取り込む(ステップS12)。そして、コード読取部222は、上述したバーコード読取処理を開始する(ステップS13)。
コード読取部222は、ステップS13のバーコード読取処理においてバーコードBCを検出したか否かを判定する(ステップS14)。バーコードBCを検出することができない場合には(ステップS14;No)、ステップS12に再び戻り、撮像部215による撮像を継続する。
バーコード読取処理により、コード読取部222がバーコードBCから商品コードを読み取ると(ステップS14;Yes)、表示制御部223は、この商品コードに対応する栄養表示情報が栄養表示管理ファイル216bに登録されているか否かを判定する(ステップS15)。ここで、栄養表示情報が登録されていると判定した場合(ステップS15;Yes)、ステップS22に直ちに移行する。一方、ステップS15で栄養表示情報が未登録と判定した場合(ステップS15;No)、表示制御部223は、栄養表示の撮像を促すメッセージをオペレータ用の表示器203に表示する(ステップS16)。
ここで、図7は、ステップS16の処理により、表示器203に表示された画面の一例を示す図である。同図では、栄養表示の撮像を促すメッセージとして、「成分表示領域に撮像範囲をあわせる」ことを示している。また、このメッセージの下部には、撮像部215により撮像された撮像領域215a(成分ラベルL1)の画像を表示している。このように、撮像部215の撮像画像を表示器203に表示することで、商品コード読取装置200のオペレータに商品のどの位置を撮像しているのかを把握させることができる。
なお、図7において、選択ボタンB1は、登録のキャンセルを指示するためのボタンであり、選択ボタンB2は、撮像部215の接写モードへの変更を指示するためのボタンである。なお、選択ボタンB1、B2の選択は、キーボード202やタッチパネル操作により行われるものとする。
図6に戻り、栄養表示読取部224は、キーボード202を介し登録のキャンセルが指示されたか否かを判定する(ステップS17)。ここで、登録のキャンセルが指示された場合(ステップS17;Yes)、ステップS24に移行する。
また、接写モードへの変更指示を受け付けた場合(ステップS17;No→ステップS18;Yes)、栄養表示読取部224は、撮像部215の撮像モードを通常モードから接写モードに切り替えて撮像させ(ステップS19)、ステップS20に移行する。なお、接写モードへの変更が指示されない場合には(ステップS18;No)、ステップS20に直ちに移行する。
ここで、図8は、接写モード時の撮像領域215aと栄養表示(成分ラベルL1)との関係を示す図である。同図に示すように、接写モードに切り替えることで、栄養表示部分をより明瞭に撮像することが可能となるため、栄養表示を表す文字列の読み取りをより正確に行うことが可能となる。
図6に戻り、栄養表示読取部224は、撮像部215により撮像された画像から、栄養表示部分の文字列を検出したか否かを判定し(ステップS20)、栄養表示部分を検出できない場合には(ステップS20;No)、ステップS18に再び戻る。また、栄養表示部分を検出すると(ステップS20;Yes)、栄養表示読取部224は、この検出した文字列を栄養表示情報とし、ステップS13で読み取られた商品コードと対応付けて栄養表示管理ファイル216bに登録する(ステップS21)。
このように、栄養表示読取部224は、栄養表示管理ファイル216bに栄養表示情報が登録されていない場合に、商品の画像データから読み取った商品コードと栄養表示情報とを栄養表示管理ファイル216bに対応付けて登録する。これにより、栄養表示情報の登録を容易に行うことが可能であるため、栄養表示情報の登録に係る利便性を向上させることができる。
続いて、表示制御部223は、栄養表示管理ファイル216bからステップS13で読み取られた商品コードに対応する栄養表示情報を読み出すと(ステップS22)、この栄養表示情報を表示設定ファイル216cの表示設定に基づいて顧客用の表示器204に表示する(ステップS23)。
ここで、図9は、ステップS23の処理で表示器204に表示された画面の一例を示す図である。同図では、図4に示した商品コード“4902201337779”の栄養表示情報を、図5の表示設定2に基づいて表示した例を示している。このように、表示設定ファイル216cに設定された表示設定に基づき、栄養表示情報を様々な表示形態で顧客に提示することができるため、商品に付された栄養表示を効果的に提示することができる。
図6に戻り、情報出力部225は、ステップS13で読み取られた商品コードを、通信I/F214を介してPOS端末100に出力する(ステップS24)。そして、CPU211は、POS端末100からの所定の信号により取引終了が指示されたか否かを判定する(ステップS25)。
ここで、取引終了が指示されない場合には(ステップS25;No)、ステップS12に再び戻り、ステップS12〜S25を全ての商品の販売登録が完了するまで繰り返し実行する。また、取引終了が指示された場合(ステップS25;Yes)、画像データ取込部221は、撮像部215に撮像オフ信号を出力し(ステップS26)、撮像部215による撮像動作を停止する。
続いて、表示制御部223は、取引終了までに栄養表示管理ファイル216bから読み出した各商品の成分情報に含まれる所定の成分の合計値を、各食品の商品情報に含まれた内容量等に基づいて算出する(ステップS27)。そして、表示制御部223は、ステップS27で算出した所定の成分の合計値を、顧客用の表示器204に表示し(ステップS28)、処理を終了する。
ここで、図10は、ステップS28の処理で表示器204に表示された画面の一例を示す図である。同図では、一の取引で購入された各商品(コーンスープ、パンプキンスープ、フランスパン等)のエネルギーの合計値を、エネルギー合計値として表示している。なお、図10では、エネルギーの総和を表示する形態としたが、これに限らず、他の成分(例えば、たんぱく質、脂質等)について算出した合計値を、表示器204に表示する形態としてもよい。
このように、一の取引でコード読取部222が読み取った各商品コードについて、当該商品コードに対応する栄養表示情報の各々に含まれた所定の成分の合計値を、各商品の内容量に基づいて算出し提示することで、購入した全商品に含まれた所定の成分の合計値を顧客に提示することができるため、商品に付された栄養表示を効果的に提示することができる。
以上のように、本実施形態の商品コード読取装置200によれば、撮像部215が撮像した商品の画像データからのコードシンボル(商品コード)の読み取り時において、この商品コードに対応付けて管理された栄養表示情報を顧客用の表示器204に表示させる。このように、本実施形態の商品コード読取装置200によれば、商品からの商品コード読み取り時に、この商品にどのような成分が含まれているかを顧客に提示することができるため、商品に付された栄養表示を効果的に提示することができる。また、商品の購買意欲を向上させることが期待できるため、再購入(リピート)率の向上を図ることができる。
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、本発明の主旨を逸脱しない範囲での種々の変更、置換、追加等が可能である。
例えば、上記実施形態では、販売登録の対象となった各商品について、栄養成分情報や所定の成分の合計値を商品コード読取装置200の表示器204に表示する形態としたが、これに限らず、この表示器204に表示する画像情報をPOS端末100に送信することで、POS端末100が備える顧客用の表示器103に表示させる形態としてもよい。また、この場合、POS端末100のレシート出力に、栄養成分情報や所定の成分の合計値を含める形態としてもよい。
また、上記の実施形態では、PLUファイル114bを、POS端末100が記憶する形態としたが、これに限らず、POS端末100がアクセス可能な外部装置に記憶する形態としてもよい。また、栄養表示管理ファイル216b及び表示設定ファイル216cを、商品コード読取装置200が記憶する形態としたが、これに限らず、商品コード読取装置200がアクセス可能な外部装置に記憶する形態としてもよい。さらに、同一の商品コードに基づき、PLUファイル114bと栄養表示管理ファイル216bとを統合する形態としてもよい。
また、上記実施形態のPOS端末100及び商品コード読取装置200で実行されるプログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
また、上記実施形態のPOS端末100及び商品コード読取装置200で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記実施形態のPOS端末100及び商品コード読取装置200で実行されるプログラムを、インターネット等のネットワーク経由で提供又は配布するように構成してもよい。