(57)【特許請求の範囲】
【請求項１】
監視領域内で順番待ちしている顧客の行列ごとに、当該行列の最後尾位置、および当該行列に属する顧客群の各顧客の位置を記憶するデータベースにアクセス可能なコンピュータを、
前記監視領域内に進入した対象顧客の位置を取得する取得手段、
前記行列ごとに、前記対象顧客の位置と前記データベース内の前記行列の最後尾位置とを結ぶ第１の直線と、前記データベース内の前記顧客群から選ばれた一の顧客の位置と他の顧客の位置とを結ぶ第２の直線と、がなす角度を算出する算出手段、
前記算出手段によって算出された算出結果に基づいて、前記監視領域内の複数の行列から、前記対象顧客が順番待ちしている行列を決定する決定手段、
前記決定手段によって決定された決定結果を出力する出力手段、
として機能させることを特徴とする情報提供プログラム。
【請求項２】
前記データベースは、さらに、前記監視領域内で前記対象顧客が移動した際の移動ベクトルを記憶しており、
前記算出手段は、前記行列ごとに、前記対象顧客の位置と前記データベース内の前記行列の最後尾位置とを結ぶ第１の直線と、前記データベース内の前記対象顧客の移動ベクトルに平行な第３の直線と、がなす角度を算出することを特徴とする請求項１に記載の情報提供プログラム。
【請求項３】
前記データベースは、さらに、前記顧客が商品を収容するために利用する容器に収容されている前記商品の商品点数を記憶しており、
前記算出手段は、前記行列ごとに、前記データベース内の前記行列に属する顧客群の容器に収容されている商品の商品点数の合計を算出することを特徴とする請求項１または２に記載の情報提供プログラム。
【請求項４】
前記決定手段は、前記対象顧客のあとに前記監視領域内に進入した他の顧客が順番待ちしている行列を決定する決定結果に基づいて、前記対象顧客が順番待ちしている行列を決定することを特徴とする請求項１〜３のいずれか一つに記載の情報提供プログラム。
【請求項５】
監視領域内に進入した対象顧客の位置を取得する取得手段と、
前記監視領域内で順番待ちしている顧客の行列ごとに、当該行列の最後尾位置および当該行列に属する顧客群の各顧客の位置を記憶するデータベース内の前記行列の最後尾位置と、前記取得手段によって取得された対象顧客の位置とを結ぶ第１の直線と、前記データベース内の前記顧客群から選ばれた一の顧客の位置と他の顧客の位置とを結ぶ第２の直線と、がなす角度を前記行列ごとに算出する算出手段と、
前記算出手段によって算出された算出結果に基づいて、前記監視領域内の複数の行列から、前記対象顧客が順番待ちしている行列を決定する決定手段と、
前記決定手段によって決定された決定結果を出力する出力手段と、
を備えることを特徴とする情報提供装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を提供する情報提供プログラム、および情報提供装置に関する。
【背景技術】
【０００２】
従来、キャッシュレジスター（以下、単に「レジ」という）での精算のために順番待ちしている顧客の行列の長さを判断して待ち時間を見積もる技術がある。たとえば、従来システムは、顧客情報、レジ担当者情報、商品情報などに基づいて、行列の長さを判断して待ち時間を算出する（たとえば、下記特許文献１、２参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−２６９４５３号公報
【特許文献２】特開２００６−２３６１４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術では、複数の行列が存在する場合、新たに順番待ちしようとする顧客が、どの行列に並ぶのか特定することが難しいという問題がある。特に、複数のレジを備える大型店舗などでは、行列が蛇行したり行列同士が接近したりすることが多いため、顧客とレジ、すなわち、顧客と行列を適切に対応付けることができず、待ち時間を正確に見積もることができない場合がある。
【０００５】
また、上述した従来技術において、買い物時に顧客が携帯する、あるいは、買い物カゴなどに取り付けられた発信器などを利用して、顧客が並んでいる行列を特定することも考えられる。しかしながら、行列が蛇行したり行列同士が接近したりすると、１台の発信器からの信号を複数の受信器（たとえば、ＰＯＳレジスタ）が受信してしまい、どの行列に並んでいるのかを特定することが難しくなることが想定される。
【０００６】
本発明は、上述した従来技術による問題点を解消するため、複数の行列の中から顧客が並んでいる行列を適切に特定することができる情報提供プログラム、および情報提供装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、開示の情報提供プログラム、および情報提供装置は、監視領域内に進入した対象顧客の位置を取得し、取得された対象顧客の位置と、前記監視領域内で順番待ちしている顧客の行列ごとの最後尾位置を記憶するデータベース内の前記各行列の最後尾位置との距離を算出し、算出された算出結果に基づいて、前記監視領域内の複数の行列から、前記対象顧客が順番待ちしている行列を決定し、決定された決定結果を出力することを要件とする。
【発明の効果】
【０００８】
本情報提供プログラム、および情報提供装置によれば、複数の行列の中から顧客が並んでいる行列を適切に特定することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】情報提供システムのシステム構成図である。
【図２】監視領域の設定例を示す説明図である。
【図３】情報提供装置のハードウェア構成を示すブロック図である。
【図４】検知装置のハードウェア構成を示すブロック図である。
【図５】検知装置の機能的構成を示すブロック図である。
【図６】情報提供装置の機能的構成を示すブロック図である。
【図７】発光箇所テーブルの記憶内容の一例を示す説明図である。
【図８】発光箇所と商品点数との関係を示す説明図である。
【図９】ターゲットカゴテーブルの記憶内容の一例を示す説明図である。
【図１０】カゴ情報テーブルの記憶内容の一例を示す説明図である。
【図１１】列管理テーブルの記憶内容の一例を示す説明図である。
【図１２】待ち時間テーブルの記憶内容の一例を示す説明図である。
【図１３−１】順序判定例を示す説明図（その１）である。
【図１３−２】順序判定例を示す説明図（その２）である。
【図１３−３】順序判定例を示す説明図（その３）である。
【図１４−１】列決定例を示す説明図（その１）である。
【図１４−２】列決定例を示す説明図（その２）である。
【図１４−３】列決定例を示す説明図（その３）である。
【図１４−４】列決定例を示す説明図（その４）である。
【図１５−１】領域設定例を示す説明図（その１）である。
【図１５−２】領域設定例を示す説明図（その２）である。
【図１６】検知装置のカウンタ処理手順の一例を示すフローチャートである。
【図１７】検知装置の送信処理手順の一例を示すフローチャートである。
【図１８】情報提供装置の検出処理手順の一例を示すフローチャートである。
【図１９】情報提供装置の情報提供処理手順の一例を示すフローチャートである。
【図２０−１】順序判定処理手順の一例を示すフローチャート（その１）である。
【図２０−２】順序判定処理手順の一例を示すフローチャート（その２）である。
【図２１】列決定処理手順の一例を示すフローチャートである。
【図２２】列候補テーブルの記憶内容の一例を示す説明図である。
【図２３】第１の列決定処理手順の一例を示すフローチャートである。
【図２４】第２の列決定処理手順の一例を示すフローチャートである。
【図２５】第３の列決定処理手順の一例を示すフローチャートである。
【図２６】第４の列決定処理手順の一例を示すフローチャートである。
【図２７】待ち時間算出処理手順の一例を示すフローチャートである。
【図２８】列決定例を示す説明図（その５）である。
【図２９】未決定リストテーブルの記憶内容の一例を示す説明図である。
【図３０】第５の列決定処理手順の一例を示すフローチャートである。
【図３１】領域設定処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、この発明にかかる情報提供プログラム、および情報提供装置の好適な実施の形態を詳細に説明する。
【００１１】
（情報提供システムのシステム構成）
まず、本実施の形態にかかる情報提供システムのシステム構成の一例について説明する。図１は、情報提供システムのシステム構成図である。図１において、情報提供システム１００は、情報提供装置１０１と、カメラ１０２と、複数の検知装置ＴＭと、を含む構成である。この情報提供システム１００は、たとえば、スーパーマーケットや家電量販店などの大型店舗に構築される。
【００１２】
情報提供システム１００において、情報提供装置１０１は、無線により検知装置ＴＭと通信可能である。また、情報提供装置１０１は、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワーク１１０を介して外部のコンピュータ装置にアクセス可能である。
【００１３】
情報提供装置１０１は、店舗内のレジＲ（たとえば、レジＲ１，Ｒ２）で商品の精算を行うために順番待ちしている顧客の待ち時間を予測して、顧客に提供する機能を有する。具体的には、たとえば、情報提供装置１０１は、レジＲ１，Ｒ２ごとに設けられている電光掲示板Ｄ１、Ｄ２に行列の待ち時間を表示する。
【００１４】
カメラ１０２は、店舗内を撮影する機能を有する。カメラ１０２は、順番待ちしている顧客を俯瞰する位置（ここでは、天井）に設置されており、複数の行列を撮影可能である。撮影画像は静止画でも動画でもよい。カメラ１０２は、所定の時間間隔（たとえば、１／３０［秒］）で撮影した画像を画像Ｉ／Ｆ（不図示）を介して、情報提供装置１０１に出力する。なお、店舗内に設置するカメラ１０２の台数は複数でもよい。
【００１５】
検知装置ＴＭは、顧客が商品を収容するために利用する買い物カゴまたは／およびショッピングカートに取り付けられている。検知装置ＴＭは、買い物カゴまたはショッピングカートに収容された商品の商品点数をカウントして、情報提供装置１０１に送信する機能を有する。また、検知装置ＴＭは、後述する発光部５０３を制御して、光を発する機能を有する。
【００１６】
情報提供システム１００では、検知装置ＴＭによって買い物カゴに収容された商品の商品点数をカウントして、情報提供装置１０１に通知する。この際、検知装置ＴＭが商品点数の通知と同時に光を発することで、情報提供装置１０１において撮影画像内の発光箇所から買い物カゴの位置を特定し、顧客が順番待ちしている行列を特定する。
【００１７】
また、情報提供システム１００では、情報提供装置１０１において発光箇所と商品点数とを対応付けることで、顧客が利用している買い物カゴに収容されている商品点数を特定する。この結果、情報提供システム１００では、各行列に属する買い物カゴの商品点数から各行列の待ち時間を予測して、店舗内の電光掲示板Ｄ１、Ｄ２などに表示することができる。
【００１８】
（監視領域の設定例）
つぎに、店舗内の行列を監視する監視領域ＡＲの設定例について説明する。図２は、監視領域の設定例を示す説明図である。図２において、撮影画像Ｉは、カメラ１０２によって撮影された店舗内の画像である。ここで、撮影画像Ｉ内の「＋」はレジＲの設置位置であり、点線で囲った領域は監視領域ＡＲである。
【００１９】
情報提供システム１００では、撮影画像Ｉ上に設定された監視領域ＡＲ内に進入した顧客が順番待ちしている行列を順次特定していくことになる。なお、撮影画像Ｉにおいて、精算が終了して監視領域ＡＲから退出した顧客、あるいは、精算前に行列から離れて監視領域ＡＲから退出した顧客を判断するための退出領域（たとえば、図２中、領域ＲＡ）を確保する必要がある。
【００２０】
この監視領域ＡＲは任意に設定可能である。詳細は後述するが、たとえば、監視領域ＡＲは、順番待ちしている顧客数や行列数に応じて動的に設定することができる。ただし、店舗内にカメラ１０２を複数台設置する場合は、各カメラ１０２の撮影範囲または監視領域ＡＲが、他のカメラ１０２の撮影範囲または監視領域ＡＲと重ならないように設定される。
【００２１】
（情報提供装置のハードウェア構成）
つぎに、情報提供装置１０１のハードウェア構成の一例について説明する。図３は、情報提供装置のハードウェア構成を示すブロック図である。図３において、情報提供装置１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、磁気ディスクドライブ３０４と、磁気ディスク３０５と、光ディスクドライブ３０６と、光ディスク３０７と、ディスプレイ３０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０９と、操作パネル３１０と、を備えている。また、各構成部はバス３００によってそれぞれ接続されている。
【００２２】
ここで、ＣＰＵ３０１は、情報提供装置１０１の全体の制御を司る。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。磁気ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがって磁気ディスク３０５に対するデータのリード／ライトを制御する。磁気ディスク３０５は、磁気ディスクドライブ３０４の制御で書き込まれたデータを記憶する。
【００２３】
光ディスクドライブ３０６は、ＣＰＵ３０１の制御にしたがって光ディスク３０７に対するデータのリード／ライトを制御する。光ディスク３０７は、光ディスクドライブ３０６の制御で書き込まれたデータを記憶したり、光ディスク３０７に記憶されたデータをコンピュータに読み取らせたりする。
【００２４】
ディスプレイ３０８は、文書、画像、機能情報などのデータを表示する。具体的には、たとえば、ディスプレイ３０８は、店舗内のレジＲ１，Ｒ２ごとに設けられた電光掲示板Ｄ１，Ｄ２（図１参照）である。このディスプレイ３０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。Ｉ／Ｆ３０９は、通信回線を通じてＬＡＮ、ＷＡＮ、インターネットなどのネットワーク１１０に接続され、このネットワーク１１０を介して他の装置に接続される。なお、通信回線は有線でも無線でもよい。
【００２５】
そして、Ｉ／Ｆ３０９は、ネットワーク１１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ３０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。操作パネル３１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。
【００２６】
（検知装置のハードウェア構成）
つぎに、検知装置ＴＭのハードウェア構成の一例について説明する。図４は、検知装置のハードウェア構成を示すブロック図である。図４において、検知装置ＴＭは、ＣＰＵ４０１と、ＲＯＭ４０２と、ＲＡＭ４０３と、Ｉ／Ｆ４０４と、操作パネル４０５と、赤外線ＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）４０６と、を備えている。また、各構成部はバス４００によってそれぞれ接続されている。
【００２７】
ここで、ＣＰＵ４０１は、検知装置ＴＭの全体の制御を司る。ＲＯＭ４０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ４０３は、ＣＰＵ４０１のワークエリアとして使用される。Ｉ／Ｆ４０４は、無線により外部装置（たとえば、情報提供装置１０１）に接続される。
【００２８】
そして、Ｉ／Ｆ４０４は、無線ネットワークと内部のインターフェースを司り、外部装置からのデータの入出力を制御する。操作パネル４０５は、文字、数字、各種設定などの入力のためのキーを備え、データの入力を行う。赤外線ＬＥＤ４０６は、電流を流すと発光する半導体素子である。なお、検知装置ＴＭの電源は、たとえば、ボタン電池などによって実現される。
【００２９】
（検知装置の機能的構成）
つぎに、検知装置ＴＭの機能的構成について説明する。図５は、検知装置の機能的構成を示すブロック図である。図５において、検知装置ＴＭは、センサ５０１と、カウンタ５０２と、発光部５０３と、制御部５０４と、通信部５０５と、を含む構成である。各機能部（センサ５０１〜通信部５０５）は、具体的には、たとえば、図４に示したＲＯＭ４０２、ＲＡＭ４０３などの記憶装置に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、Ｉ／Ｆ４０４により、その機能を実現する。
【００３０】
まず、センサ５０１は、買い物カゴＢに収容されている商品の重量（以下、「カゴ重量」という）の増減を検知する機能を有する。ここで、カゴ重量は、顧客が買い物カゴＢに商品を入れた場合に増加し、顧客が買い物カゴＢから商品を取り出した場合に減少する。なお、検知された検知結果は、ＲＡＭ４０３に記憶される。このセンサ５０１は、たとえば、買い物カゴＢの底面部ａと下面部ｂとの間に設けられる。また、センサ５０１は、ショッピングカートＳＣの買い物カゴＢを載置する載置面ｃと下面部ｄとの間に設けられることにしてもよい。
【００３１】
カウンタ５０２は、買い物カゴＢに収容されている商品の商品点数［点］を計数する機能を有する。具体的には、たとえば、カウンタ５０２が、カゴ重量の増加が検知されると商品点数をインクリメントし、カゴ重量の減少が検知されると商品点数をデクリメントする。なお、計数された計数結果は、ＲＡＭ４０３に記憶される。
【００３２】
発光部５０３は、発光する機能を有する。発光部５０３から発せられる光は、赤外線などの不可視光であってもよく、また、可視光であってもよい。発光部５０３は、たとえば、図４に示した赤外線ＬＥＤ４０６によって実現される。この発光部５０３は、たとえば、買い物カゴＢの側面ｅの上部外側に取り付けられる。また、発光部５０３は、ショッピングカートＳＣの前面ｆに取り付けられることにしてもよい。
【００３３】
制御部５０４は、通信部５０５を制御する機能を有する。通信部５０５は、Ｉ／Ｆ４０４を介して、情報提供装置１０１と無線通信する機能を有する。具体的には、たとえば、制御部５０４が、通信部５０５を制御して、カウンタ５０２によって計数された計数結果（商品点数情報）を情報提供装置１０１に送信する。この際、制御部５０４は、衝突判定を実行して、他の端末装置との間で送信処理が衝突しない場合に、商品点数情報を送信することにしてもよい。
【００３４】
具体的には、たとえば、まず、制御部５０４が、通信部５０５を制御して、商品点数情報の送信許否を問い合わせるリクエストを情報提供装置１０１に送信する。この結果、商品点数情報の送信を許可するレスポンスを受信した場合に、制御部５０４が、通信部５０５を制御して、商品点数情報を情報提供装置１０１に送信することにしてもよい。
【００３５】
一方、送信を許可しないレスポンスを受信した場合は、一定時間経過後に、制御部５０４が、通信部５０５を制御して、上記リクエストを再度送信することにしてもよい。また、レスポンスがない場合は、情報提供装置１０１からのレスポンスを待つことにしてもよい。
【００３６】
また、制御部５０４は、発光部５０３を制御する機能を有する。具体的には、たとえば、制御部５０４が、発光部５０３を制御して、通信部５０５による商品点数情報の送信と同時に発光させる。より具体的には、たとえば、制御部５０４が、商品点数情報の送信指示を通信部５０５に送信する際、同時に発光指示を発光部５０３に送信する。
【００３７】
なお、カウンタ５０２の計数結果は、顧客が買い物を開始する際には０［点］となっている。具体的には、たとえば、カゴ置場近傍にカウンタ５０２の計数結果を初期化するリセット信号を発信する機器を設けることで、検知装置ＴＭがリセット信号を受信して計数結果をリセットすることにしてもよい。
【００３８】
また、買い物カゴＢを、カゴ置場などで買い物カゴＢが重なった場合に、カゴ重量の増減をセンサ５０１が検知しないような構造にしてもよい。これにより、レジＲでの精算が終了した状態（買い物カゴＢの商品点数が０［点］）を維持することが可能となり、顧客の買い物開始時には計数結果がリセットされた状態となる。
【００３９】
（情報提供装置の機能的構成）
つぎに、情報提供装置１０１の機能的構成について説明する。図６は、情報提供装置の機能的構成を示すブロック図である。図６において、情報提供装置１０１は、受信部６０１と、取得部６０２と、検出部６０３と、検索部６０４と、関連付け部６０５と、設定部６０６と、順序判定部６０７と、列決定部６０８と、算出部６０９と、待ち時間算出部６１０と、出力部６１１と、を含む構成である。各機能部（受信部６０１〜出力部６１１）は、具体的には、たとえば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０９により、その機能を実現する。
【００４０】
まず、受信部６０１は、Ｉ／Ｆ３０９を介して、検知装置ＴＭから商品点数情報を受信する機能を有する。ここで、商品点数情報とは、顧客が利用する買い物カゴＢに収容されている商品の商品点数［点］であり、検知装置ＴＭのカウンタ５０２によって計数された計数結果である。なお、受信された商品点数情報は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶される。
【００４１】
取得部６０２は、店舗内の監視領域ＡＲをカメラ１０２によって撮影した撮影画像を取得する機能を有する。具体的には、たとえば、取得部６０２が、Ｉ／Ｆ３０９を介して、所定の時間間隔で撮影された撮影画像をカメラ１０２から受信する。この撮影画像には、撮影時刻が付与されている。なお、取得された撮影画像は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶される。
【００４２】
検出部６０３は、取得した撮影画像の中から発光箇所を検出する機能を有する。ここで、発光箇所とは、検知装置ＴＭの発光部５０３によって発せられた光の位置である。光の位置は、たとえば、撮影画像上のＸ軸とＹ軸からなる直交座標系の座標位置によって表現される。なお、検出された発光箇所は、たとえば、図７に示す発光箇所テーブル７００に記憶される。
【００４３】
図７は、発光箇所テーブルの記憶内容の一例を示す説明図である。図７において、発光箇所テーブル７００は、撮影時刻および発光箇所のフィールドを有し、各フィールドに情報を設定することで、発光箇所情報（たとえば、発光箇所情報７００−１，７００−２）をレコードとして記憶している。
【００４４】
ここで、撮影時刻とは、カメラ１０２によって撮影画像が撮影された時刻である。発光箇所とは、撮影画像上の一点を特定する座標位置である。この発光箇所は、買い物カゴＢの位置、すなわち、買い物カゴＢを利用している顧客の位置となる。なお、図面では、たとえば、発光箇所を単に「ｐ１」と表現しているが、実際は、撮影画像上の一点を特定するＸ座標、Ｙ座標によって表現される。この発光箇所テーブル７００は、たとえば、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置によって実現される。
【００４５】
検索部６０４は、発光箇所テーブル７００の中から、受信した商品点数情報の受信時刻と撮影時刻が一致する発光箇所を検索する機能を有する。ここで、時刻の一致とは、たとえば、受信時刻と撮影時刻の完全一致であってもよく、受信時刻と撮影時刻の時刻差が所定範囲であってもよい。なお、検索された検索結果は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶される。
【００４６】
ここで、時間経過にともなう発光箇所と商品点数との関係の一例について説明する。図８は、発光箇所と商品点数との関係を示す説明図である。図８には、発光箇所ｐ１〜ｐ３と商品点数ｓ１〜ｓ３との関係が時間軸ｔに沿って示されている。
【００４７】
図８において、「時刻」とは、商品点数情報の受信時刻、すなわち、各撮影画像Ｉ１〜Ｉ３の撮影時刻である。「発光箇所」とは、各撮影画像Ｉ１〜Ｉ３から検出された発光箇所ｐ１〜ｐ３である。「商品点数」とは、各時刻ｔ２，ｔ５，ｔ８に受信された商品点数情報から特定される商品点数ｓ１，ｓ２，ｓ３である。
【００４８】
図６の説明に戻り、関連付け部６０５は、検索された発光箇所と商品点数情報から特定される商品点数とを関連付ける機能を有する。図８の例では、関連付け部６０５が、たとえば、発光箇所ｐ１と商品点数ｓ１とを関連付ける。これにより、撮影画像上での顧客の位置と、顧客が利用している買い物カゴＢに収容されている商品の商品点数とを対応付けることができる。
【００４９】
なお、関連付けられた関連付け結果は、たとえば、図９に示すターゲットカゴテーブル９００に記憶される。ターゲットカゴテーブル９００は、たとえば、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置によって実現される。
【００５０】
図９は、ターゲットカゴテーブルの記憶内容の一例を示す説明図である。図９において、ターゲットカゴテーブル９００は、位置および商品点数のフィールドを有し、各フィールドに情報を設定することで、ターゲットカゴ情報９００−１をレコードとして記憶している。ここで、位置とは、撮影画像の中から検出された発光箇所、すなわち、買い物カゴＢを利用している顧客の位置である。商品点数とは、買い物カゴＢに収容されている商品の商品点数である。
【００５１】
設定部６０６は、撮影画像上での監視領域ＡＲを設定する機能を有する。具体的には、たとえば、設定部６０６が、監視領域ＡＲ内の顧客密度を算出する。そして、設定部６０６が、算出された顧客密度に基づいて、監視領域ＡＲの範囲を設定する。なお、設定部６０６による領域設定処理の具体的な処理内容については、図１５−１および図１５−２を用いて後述する。
【００５２】
順序判定部６０７は、監視領域ＡＲに進入した顧客の進入順序を判定する機能を有する。具体的には、たとえば、順序判定部６０７が、ターゲットカゴ情報９００−１に基づいて、監視領域ＡＲに進入した顧客の進入順序を判定する。なお、順序判定部６０７による順序判定処理の具体的な処理内容については図１３−１〜図１３−３を用いて後述する。
【００５３】
また、判定された順序判定結果は、たとえば、図１０に示すカゴ情報テーブル１０００に記憶される。カゴ情報テーブル１０００は、たとえば、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置によって実現される。
【００５４】
なお、以下の説明では、監視領域ＡＲ内に存在する複数の買い物カゴＢを「カゴＢ１〜Ｂｎ」と表記する。また、カゴＢ１〜Ｂｎのうち任意の買い物カゴＢを「カゴＢｉ」と表記する（ｉ＝１，２，…，ｎ）。
【００５５】
図１０は、カゴ情報テーブルの記憶内容の一例を示す説明図である。図１０において、カゴ情報テーブル１０００は、カゴＩＤ、進入順序、位置、商品点数および移動ベクトルのフィールドを有する。各フィールドに情報を設定することで、買い物カゴ（以下、単に「カゴ」と表記する）Ｂ１〜Ｂｎのカゴ情報１０００−１〜１０００−ｎがレコードとして記憶されている。
【００５６】
ここで、カゴＩＤとは、カゴＢｉを識別する識別子である。進入順序とは、監視領域ＡＲ内に進入してきたカゴＢｉの順序である。位置とは、撮影画像上でのカゴＢｉの座標位置である。商品点数とは、カゴＢｉに収容されている商品の商品点数である。移動ベクトルとは、撮影画像上でのカゴＢｉの移動前または／および移動後の位置と移動方向を表す情報である
【００５７】
列決定部６０８は、監視領域ＡＲ内の複数の行列の中から、顧客が順番待ちしている行列を決定する機能を有する。具体的には、たとえば、列決定部６０８が、後述する算出部６０９によって算出された算出結果に基づいて、顧客が順番待ちしている行列を決定する。なお、列決定部６０８による列決定処理の具体的な処理内容については図１４−１〜図１４−４を用いて後述する。また、決定された列決定結果は、たとえば、図１１に示す列管理テーブル１１００に記憶される。
【００５８】
なお、以下の説明では、監視領域ＡＲ内に存在する複数の行列を「行列Ｌ１〜Ｌｍ」と表記する。また、行列Ｌ１〜Ｌｍのうち任意の行列を「行列Ｌｊ」と表記する（ｊ＝１，２，…，ｍ）。
【００５９】
図１１は、列管理テーブルの記憶内容の一例を示す説明図である。図１１において、列管理テーブル１１００は、行列ＩＤ、最後尾位置、精算速度およびカゴリストのフィールドを有する。各フィールドに情報を設定することで、行列Ｌ１〜Ｌｍごとの管理情報１１００−１〜１１００−ｍがレコードとして記憶されている。
【００６０】
ここで、行列ＩＤとは、監視領域ＡＲ内の行列Ｌｊ（ｊ＝１，２，…，ｍ）を識別する識別子である。最後尾位置とは、行列Ｌｊの最後尾の座標位置である。精算速度とは、行列Ｌｊに対応するレジＲｊでの単位時間当たりに精算可能な商品点数である（たとえば、［点／秒］）。カゴリストとは、行列Ｌｊに属するカゴＢｉのカゴＩＤをリスト化したものである。ここでは、行列Ｌｊに並んだ順にカゴＩＤが追加されていく。すなわち、行列Ｌ１の先頭位置はカゴＢ１の位置ｐ１となる。
【００６１】
待ち時間算出部６１０は、顧客が順番待ちしている行列Ｌｊの待ち時間を算出する機能を有する。具体的には、たとえば、まず、待ち時間算出部６１０が、列管理テーブル１１００の精算速度を参照して、行列Ｌｊに対応するレジＲｊの精算速度ｆｊを特定する。さらに、待ち時間算出部６１０が、列管理テーブル１１００のカゴリストを参照して、行列Ｌｊに属するカゴＢ（以下、「カゴＢｊ（１）〜Ｂｊ（ｎ）」と表記する）を特定する。
【００６２】
このあと、待ち時間算出部６１０が、カゴ情報テーブル１０００の商品点数を参照して、特定されたカゴＢｊ（１）〜Ｂｊ（ｎ）の商品点数ｓｊ（１）〜ｓｊ（ｎ）を特定する。つぎに、待ち時間算出部６１０が、下記式（１）を用いて、特定された商品点数ｓｊ（１）〜ｓｊ（ｎ）を足し合わせることにより総商品点数を算出する。そして、待ち時間算出部６１０が、下記式（２）を用いて、行列Ｌｊの待ち時間を算出する。ただし、Ｓｊは総商品点数である。また、Ｔｊは行列Ｌｊの待ち時間である。
【００６３】
【数１】
0005418151.tif 000002
【００６４】
Ｔｊ＝Ｓｊ／ｆｊ      ・・・（２）
【００６５】
なお、算出された待ち時間は、たとえば、図１２に示す待ち時間テーブル１２００に記憶される。待ち時間テーブル１２００は、たとえば、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置によって実現される。
【００６６】
図１２は、待ち時間テーブルの記憶内容の一例を示す説明図である。図１２において、待ち時間テーブル１２００は、行列ＩＤ、レジＩＤおよび待ち時間のフィールドを有する。各フィールドに情報を設定することで、行列Ｌ１〜Ｌｍの待ち時間情報１２００−１〜１２００−ｍがレコードとして記憶されている。ここで、行列ＩＤとは、行列Ｌｊを識別する識別子である。レジＩＤとは、行列Ｌｊに対応するレジＲｊを識別する識別子である。待ち時間とは、行列Ｌｊの待ち時間である。
【００６７】
なお、列管理テーブル１１００内の各レジＲｊの精算速度ｆｊは、任意に設定可能である。具体的には、たとえば、精算速度ｆｊは、レジＲｊを担当する店員の精算作業の熟練度に基づいて設定される。また、待ち時間算出部６１０が、所定の時間間隔（たとえば、１時間）で、単位商品当たりの精算時間の平均値を算出することで精算速度ｆｊを動的に算出することにしてもよい。なお、精算時間の平均値は、レジＲｊ単位でも店員単位でもよい。
【００６８】
図６の説明に戻り、出力部６１１は、算出された行列の待ち時間を出力する機能を有する。具体的には、たとえば、出力部６１１が、待ち時間テーブル１２００を参照して、レジＲｊごとに設置されている店舗内の電光掲示板（たとえば、図１に示した電光掲示板Ｄ１、Ｄ２）に、各レジＲｊに対応する待ち時間Ｔｊを表示することにしてもよい。
【００６９】
他の出力形式としては、たとえば、プリンタ（不図示）への印刷出力、Ｉ／Ｆ３０９による外部装置への送信がある。また、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶することとしてもよい。なお、出力部６１１は、列決定部６０８によって決定された列決定結果を出力することにしてもよい。
【００７０】
（順序判定処理）
つぎに、上記順序判定部６０７による順序判定処理の具体的な処理内容の一例について説明する。図１３−１〜図１３−３は、順序判定例を示す説明図である。ここでは、パターン１〜５を例に挙げて、監視領域ＡＲに進入した顧客（以下、「対象顧客」という）の進入順序を判定する場合について説明する。
【００７１】
なお、以下の説明では、対象顧客が利用しているカゴＢを「カゴＢｔ」と表記し、カゴＢｔの位置を「ｐｔ」と表記する。カゴＢｔの位置ｐｔは、たとえば、図９に示したターゲットカゴ情報９００−１の位置ｐ１である。
【００７２】
＜パターン１＞
図１３−１において、パターン１は、カゴ情報テーブル１０００にカゴ情報が未登録の場合の順序判定例である。まず、順序判定部６０７は、撮影画像Ｉａ上でのカゴＢｔの位置ｐｔが監視領域ＡＲ内か否かを判断する。これは、対象顧客が、行列Ｌｊで順番待ちしているのか、単にレジＲｊ近傍を通過しているのかを判断するための処理である。
【００７３】
ここでは、カゴＢｔの位置ｐｔは監視領域ＡＲ外のため、カゴＢｔの進入順序は未判定となる。すなわち、カゴ情報テーブル１０００に、カゴＢｔに関するカゴ情報は登録されない。これにより、買い物中など単にレジＲｊ近傍を通過している顧客を順序判定対象から除外することができる。
【００７４】
＜パターン２＞
図１３−１において、パターン２は、カゴ情報テーブル１０００にカゴ情報が未登録の場合の順序判定例である。まず、順序判定部６０７は、撮影画像Ｉｂ上でのカゴＢｔの位置ｐｔが監視領域ＡＲ内か否かを判断する。ここでは、カゴＢｔの位置ｐｔは監視領域ＡＲ内である。この場合、順序判定部６０７は、カゴＢｔの進入順序を「１」と判定する。この結果、カゴ情報テーブル１０００には、カゴＢｔに関するカゴ情報１０００−ｔが登録される。
【００７５】
＜パターン３＞
図１３−２において、パターン３は、カゴ情報テーブル１０００にカゴ情報が登録済みの場合の順序判定である。まず、順序判定部６０７は、撮影画像Ｉｃ上でのカゴＢｔの位置ｐｔとカゴＢｘの位置ｐｘとの距離ｄｔｘを算出する。そして、順序判定部６０７は、距離ｄｔｘと予め設定されている閾値ｄ０とを比較する。
【００７６】
これは、カゴＢｔとカゴＢｘが異なるものなのか、同一のものなのかを判断するための処理である。具体的には、順序判定部６０７は、距離ｄｔｘが閾値ｄ０未満の場合、カゴＢｔとカゴＢｘは同一カゴと判断する。一方、順序判定部６０７は、距離ｄｔｘが閾値ｄ０以上の場合、カゴＢｔとカゴＢｘは異なるカゴと判断する。
【００７７】
ここでは、距離ｄｔｘが閾値ｄ０未満である。したがって、カゴＢｔとカゴＢｘは同一のカゴと判断される（すなわち、顧客が少し移動しただけの状況）。これにより、監視領域ＡＲ内で順序判定済みの顧客が少し移動した場合に、別の顧客として順序判定してしまうことを防ぐことができる。なお、閾値ｄ０は、任意に設定されてＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶されている。
【００７８】
また、順序判定部６０７は、カゴＢｔの位置ｐｔが監視領域ＡＲ内か否かを判断する。ここでは、カゴＢｔの位置ｐｔは監視領域ＡＲ内である。順序判定部６０７は、距離ｄｔｘが閾値ｄ０未満かつカゴＢｔの位置ｐｔが監視領域ＡＲ内の場合、カゴ情報テーブル１０００内のカゴＢｘの位置ｐｘを位置ｐｔに更新する。
【００７９】
すなわち、監視領域ＡＲ内で少し移動したカゴＢｘの位置ｐｘを修正する。この際、順序判定部６０７は、カゴＢｘの移動ベクトルｖ（ｘ）を求めて、カゴ情報テーブル１０００内の移動ベクトルを更新する。なお、移動ベクトルｖ（ｘ）は、カゴＢｘの移動前の位置ｐｘと移動後の位置ｐｔから求めることができる。
【００８０】
＜パターン４＞
図１３−２において、パターン４は、カゴ情報テーブル１０００にカゴ情報が登録済みの場合の順序判定例である。まず、順序判定部６０７は、撮影画像Ｉｄ上でのカゴＢｔの位置ｐｔとカゴＢｘの位置ｐｘとの距離ｄｔｘを算出する。そして、順序判定部６０７が、距離ｄｔｘと閾値ｄ０とを比較する。ここでは、距離ｄｔｘが閾値ｄ０以上である。したがって、カゴＢｔとカゴＢｘは異なるカゴと判断される。
【００８１】
また、順序判定部６０７は、カゴＢｔの位置ｐｔが監視領域ＡＲ内か否かを判断する。ここでは、カゴＢｔの位置ｐｔは監視領域ＡＲ内である。順序判定部６０７は、距離ｄｔｘが閾値ｄ０以上かつカゴＢｔの位置ｐｔが監視領域ＡＲ内の場合、カゴＢｔの進入順序を「２」と判定する。この結果、カゴ情報テーブル１０００に、カゴＢｔに関するカゴ情報１０００−ｔが登録される。
【００８２】
＜パターン５＞
図１３−３において、パターン５は、カゴ情報テーブル１０００にカゴ情報が登録済みの場合の順序判定例である。まず、順序判定部６０７は、撮影画像Ｉｅ上でのカゴＢｔの位置ｐｔとカゴＢｘの位置ｐｘとの距離ｄｔｘを算出する。そして、順序判定部６０７が、距離ｄｔｘと閾値ｄ０とを比較する。ここでは、距離ｄｔｘが閾値ｄ０未満である。
【００８３】
また、順序判定部６０７は、カゴＢｔの位置ｐｔが監視領域ＡＲ内か否かを判断する。ここでは、カゴＢｔの位置ｐｔは監視領域ＡＲ外である。順序判定部６０７は、距離ｄｔｘが閾値ｄ０未満かつカゴＢｔの位置ｐｔが監視領域ＡＲ外の場合、カゴ情報テーブル１０００からカゴＢｘに関するカゴ情報１０００−ｘを削除する。
【００８４】
すなわち、順序判定部６０７は、対象顧客がレジＲｊでの精算が終了して監視領域ＡＲから退出した、あるいは、精算前に行列から離れて監視領域ＡＲから退出したと判断して、カゴＢｘに関するカゴ情報１０００−ｘをカゴ情報テーブル１０００から削除する。
【００８５】
（列決定処理）
つぎに、上記列決定部６０８の具体的な処理内容の一例について説明する。図１４−１〜図１４−４は、列決定例を示す説明図である。ここでは、カゴ情報テーブル１０００内のカゴＢｉを利用している顧客が順番待ちしている行列Ｌｊを決定する第１〜第４の列決定処理について説明する。
【００８６】
＜第１の列決定処理＞
まず、算出部６０９は、カゴＢｉの位置ｐｉと各行列Ｌ１〜Ｌｍの最後尾位置Ｐ１〜Ｐｍとの距離を算出する。具体的には、たとえば、算出部６０９が、列管理テーブル１１００を参照して、カゴＢｉの位置ｐｉと各行列Ｌ１〜Ｌｍの最後尾位置Ｐ１〜Ｐｍとの距離Ｄｉ１〜Ｄｉｍを算出する。
【００８７】
なお、行列Ｌｊのカゴリストが「空」の場合、すなわち、行列Ｌｊに誰も順番待ちしていない場合は、行列Ｌｊの最後尾位置Ｐｊは、予め設定された初期位置Ｐｊ０となる。この初期位置Ｐｊ０は、たとえば、行列Ｌｊに対応するレジＲｊの配置位置である。行列Ｌｊの初期位置Ｐｊ０は、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶領域に記憶されている。
【００８８】
列決定部６０８は、算出された距離Ｄｉ１〜Ｄｉｍに基づいて、複数の行列Ｌ１〜Ｌｍの中から、顧客が順番待ちしている行列を決定する。具体的には、たとえば、列決定部６０８が、複数の行列Ｌ１〜Ｌｍの中から、距離Ｄｉ１〜Ｄｉｍが最短となる行列Ｌｊを、顧客が順番待ちしている行列に決定する。
【００８９】
図１４−１の例では、算出部６０９が、カゴＢｉとカゴＢｘの距離Ｄｉｘを算出する。さらに算出部６０９が、カゴＢｉとカゴＢｙの距離Ｄｉｙを算出する。そして、列決定部６０８が、距離Ｄｉｘと距離Ｄｉｙを比較して（Ｄｉｘ＜Ｄｉｙ）、距離が短い行列Ｌｘを、顧客が順番待ちしている行列に決定する。
【００９０】
＜第２の列決定処理＞
まず、算出部６０９は、カゴＢｉの位置ｐｉと各行列Ｌｊの最後尾位置Ｐｊとを結ぶ第１の直線と、行列Ｌｊに属する顧客群から選ばれた一の顧客の位置と他の顧客の位置とを結ぶ第２の直線とがなす角度θｊを算出する。ここで、第２の直線は、たとえば、行列Ｌｊの最後尾から１番目のカゴＢｊ１の位置ｐｊ１と２番目のカゴＢｊ２の位置ｐｊ２とを結ぶ直線である。
【００９１】
具体的には、たとえば、算出部６０９は、下記式（３）を用いて、第１および第２の直線がなす角度θｊを表すｃｏｓθｊを算出する。ただし、Ｖ１は位置ｐｊ１から位置ｐｉへのベクトル、Ｖ２は位置ｐｊ１から位置ｐｊ２へのベクトル、｜Ｖ１｜はベクトルＶ１のノルム、｜Ｖ２｜はベクトルＶ２のノルムである。
【００９２】
ｃｏｓθｊ＝Ｖ１・Ｖ２（｜Ｖ１｜×｜Ｖ２｜）      ・・・（３）
【００９３】
そして、列決定部６０８は、算出されたｃｏｓθ１〜ｃｏｓθｍに基づいて、複数の行列Ｌ１〜Ｌｍの中から、顧客が順番待ちしている行列を決定する。具体的には、たとえば、列決定部６０８が、複数の行列Ｌ１〜Ｌｍの中から、ｃｏｓθｊが最小となる行列Ｌｊを、顧客が順番待ちしている行列に決定する。
【００９４】
図１４−２の例では、算出部６０９が、行列Ｌｘ、Ｌｙについて第１および第２の直線がなす角度θｘ、θｙを算出する。ここで、行列Ｌｘについて、第１の直線はカゴＢｉの位置ｐｉと行列Ｌｘの最後尾位置Ｐｘ（カゴＢｘ１の位置ｐｘ１）とを結ぶ直線、第２の直線は行列Ｌｘに属するカゴＢｘ１の位置ｐｘ１とカゴＢｘ２の位置ｐｘ２とを結ぶ直線である。また、行列Ｌｙについて、第１の直線はカゴＢｉの位置ｐｉと行列Ｌｙの最後尾位置Ｐｙ（カゴＢｙ１の位置ｐｙ１）とを結ぶ直線、第２の直線は行列Ｌｙに属するカゴＢｙ１の位置ｐｙ１とカゴＢｙ２の位置ｐｙ２とを結ぶ直線である。
【００９５】
具体的には、たとえば、算出部６０９は、上記式（３）を用いて、第１および第２の直線がなす角度θｘ、θｙを表すｃｏｓθｘ、ｃｏｓθｙを算出する。そして、列決定部６０８が、算出されたｃｏｓθｘとｃｏｓθｙを比較して（ｃｏｓθｘ＜ｃｏｓθｙ）、最小の行列Ｌｘを、顧客が順番待ちしている行列に決定する。
【００９６】
＜第３の列決定処理＞
まず、算出部６０９は、カゴＢｉの位置ｐｉと行列Ｌｊの最後尾位置Ｐｊとを結ぶ第１の直線と、カゴＢｉが直前に移動した際の移動前の位置ｐｉ’と移動後の位置ｐｉとを結ぶ第２の直線とがなす角度θｊを算出する。ここで、第２の直線は、カゴ情報テーブル１０００内の移動ベクトルと平行な直線である。
【００９７】
具体的には、たとえば、算出部６０９は、上記式（３）を用いて、第１および第２の直線がなす角度θｊを表すｃｏｓθｊを算出する。そして、列決定部６０８が、複数の行列Ｌ１〜Ｌｍの中から、ｃｏｓθｊが最大となる行列Ｌｊを、顧客が順番待ちしている行列に決定する。
【００９８】
図１４−３の例では、算出部６０９が、行列Ｌｘ、Ｌｙについて第１および第２の直線がなす角度θｘ、θｙを算出する。ここで、行列Ｌｘについて、第１の直線はカゴＢｉの位置ｐｉ’と位置ｐｉとを結ぶ直線、第２の直線はカゴＢｉの位置ｐｉと行列Ｌｘの最後尾位置Ｐｘ（カゴＢｘの位置ｐｘ）とを結ぶ直線である。また、行列Ｌｙについて、第１の直線はカゴＢｉの位置ｐｉ’と位置ｐｉとを結ぶ直線、第２の直線はカゴＢｉの位置ｐｉと行列Ｌｙの最後尾位置Ｐｙ（カゴＢｙの位置ｐｙ）とを結ぶ直線である。
【００９９】
具体的には、たとえば、算出部６０９は、上記式（３）を用いて、第１および第２の直線がなす角度θｘ、θｙを表すｃｏｓθｘ、ｃｏｓθｙを算出する。そして、列決定部６０８が、算出されたｃｏｓθｘとｃｏｓθｙを比較して（ｃｏｓθｘ＞ｃｏｓθｙ）、最大の行列Ｌｘを、顧客が順番待ちしている行列に決定する。
【０１００】
＜第４の列決定処理＞
まず、算出部６０９は、上記式（１）を用いて、行列Ｌｊに属する顧客のカゴＢｊ（１）〜Ｂｊ（ｎ）に収容されている商品の商品点数ｓｊ（１）〜ｓｊ（ｎ）の総商品点数Ｓｊを算出する。このあと、算出部６０９は、上記式（２）を用いて、行列Ｌｊの待ち時間Ｔｊを算出する。そして、列決定部６０８が、複数の行列Ｌ１〜Ｌｍの中から、Ｔｊが最小となる行列Ｌｊを、顧客が順番待ちしている行列に決定する。
【０１０１】
図１４−４の例では、算出部６０９が、上記式（１）を用いて、行列Ｌｘ、Ｌｙについて総商品点数Ｓｘ、Ｓｙを算出する。そして、算出部６０９が、上記式（２）を用いて、行列Ｌｘ、Ｌｙの待ち時間Ｔｘ、Ｔｙを算出する。ここでは、行列Ｌｘの総商品点数Ｓｘは６（＝２＋３＋１）［点］、行列Ｌｙの総商品点数Ｓｙは１０（＝１＋５＋４）［点］である。
【０１０２】
また、行列Ｌｘの精算速度ｆｘを「ｆｘ＝０．３」、行列Ｌｙの精算速度ｆｙを「ｆｙ＝０．２」とする。この場合、行列Ｌｘの待ち時間Ｔｘは２０（＝６／０．３）［秒］、行列Ｌｙの待ち時間Ｔｙは５０（＝１０／０．２）［秒］となる。そして、列決定部６０８が、Ｔｘ、Ｔｙを比較して（Ｔｘ＜Ｔｙ）、待ち時間が短い行列Ｌｘを、顧客が順番待ちしている行列に決定する。
【０１０３】
なお、ここでは待ち時間Ｔｊに基づいて、顧客が順番待ちしている行列を決定することにしたが、これに限らない。たとえば、列決定部６０８が、各行列Ｌｊに属するカゴ数が最小となる行列を、顧客が順番待ちしている行列に決定することにしてもよい。また、列決定部６０８が、各行列Ｌｊの総商品点数Ｓｊが最小となる行列を、顧客が順番待ちしている行列に決定することにしてもよい。
【０１０４】
（領域設定処理）
つぎに、上記設定部６０６による領域設定処理の具体的な処理内容の一例について説明する。図１５−１、図１５−２は、領域設定例を示す説明図である。
【０１０５】
図１５−１において、まず、設定部６０６が、撮影画像Ｉ上での監視領域ＡＲ内の複数の行列Ｌ１〜Ｌ３を横切るように監視領域ＡＲを所定間隔Ｈで区切って複数の区間ｒ１〜ｒ４に分割する。このあと、設定部６０６が、カゴ情報テーブル１０００を参照して、各区間ｒ１〜ｒ４に含まれるカゴ数Ｘ（１）〜Ｘ（４）を算出する。
【０１０６】
具体的には、たとえば、設定部６０６が、カゴＢｉの位置のＸ座標が『（ｉ−１）×Ｈ≦Ｘ＜ｉ×Ｈ』となるカゴＢｉを区間ｒｉに含まれるものとすることで、区間ｒｉのカゴ数Ｘ（ｉ）を算出することにしてもよい。ここでは、カゴ数Ｘ（１）〜Ｘ（４）は『Ｘ（１）＝３、Ｘ（２）＝３、Ｘ（３）＝２、Ｘ（４）＝１』である。
【０１０７】
そして、設定部６０６が、レジＲ１〜Ｒ３から最も遠い区間ｒ４に含まれるカゴ数Ｘ（４）が０［個］より大きい場合、監視領域ＡＲを所定領域ｍＡ拡張して設定する。ここで、所定領域ｍＡは、任意に設定可能であり、たとえば、各区間ｒ１〜ｒ４と同じ大きさの領域である。ここでは、区間ｒ４に含まれるカゴ数Ｘ（４）は０［個］より大きいため、監視領域ＡＲを所定領域ｍＡ拡張して設定する。
【０１０８】
図１５−２において、まず、設定部６０６が、撮影画像Ｉ上での監視領域ＡＲ内の複数の行列Ｌ１〜Ｌ３を横切るように監視領域ＡＲを所定間隔Ｈで区切って複数の区間ｒ１〜ｒ４に分割する。このあと、設定部６０６が、カゴ情報テーブル１０００を参照して、各区間ｒ１〜ｒ４に含まれるカゴ数Ｘ（１）〜Ｘ（４）を算出する。ここでは、カゴ数Ｘ（１）〜Ｘ（４）は『Ｘ（１）＝３、Ｘ（２）＝３、Ｘ（３）＝０、Ｘ（４）＝０』である。
【０１０９】
そして、設定部６０６が、レジＲ１〜Ｒ３から遠いほうから複数の区間（たとえば、１番目と２番目の区間ｒ４，ｒ３）連続してカゴ数が０［個］の場合、監視領域ＡＲを所定領域ｃＡ縮小して設定する。ここで、所定領域ｃＡは、任意に設定可能であり、たとえば、各区間ｒ１〜ｒ４と同じ大きさの領域である。ここでは、区間ｒ４，ｒ３に含まれるカゴ数Ｘ（４），Ｘ（３）が連続して０［個］のため、監視領域ＡＲを所定領域ｃＡ縮小して設定する。
【０１１０】
なお、拡張可能な最大の監視領域ＡＲの大きさ、および、縮小可能な最小の監視領域ＡＲの大きさは予め設定されている。これにより、設定部６０６が、拡張可能な最大の監視領域ＡＲの大きさを超えて拡張（たとえば、撮影画像より大きい領域）しないように、あるいは、縮小可能な最小の監視領域ＡＲの大きさを超えて縮小しないようにすることができる。
【０１１１】
（検知装置の各種処理手順）
つぎに、カゴＢｉに取り付けられている検知装置ＴＭにおいて実行される各種処理手順について説明する。
【０１１２】
＜カウンタ処理手順＞
ここではまず、検知装置ＴＭにおいて実行されるカウンタ処理手順について説明する。このカウンタ処理は、カゴＢｉに収容されている商品の商品点数ｓ（ｉ）を計数する処理である。図１６は、検知装置のカウンタ処理手順の一例を示すフローチャートである。
【０１１３】
図１６のフローチャートにおいて、まず、センサ５０１により、カゴＢｉに収容されている商品のカゴ重量の増減を検知する（ステップＳ１６０１）。このあと、カウンタ５０２により、カゴ重量が増加したか否かを判断する（ステップＳ１６０２）。ここで、カゴ重量が増加した場合（ステップＳ１６０２：Ｙｅｓ）、商品点数ｓ（ｉ）をインクリメントして（ステップＳ１６０３）、ステップＳ１６０１に戻る。
【０１１４】
一方、カゴ重量が増加していない場合（ステップＳ１６０２：Ｎｏ）、カウンタ５０２により、カゴ重量が減少したか否かを判断する（ステップＳ１６０４）。ここで、カゴ重量が減少した場合（ステップＳ１６０４：Ｙｅｓ）、商品点数ｓ（ｉ）をデクリメントして（ステップＳ１６０５）、ステップＳ１６０１に戻る。
【０１１５】
一方、カゴ重量が減少していない場合（ステップＳ１６０４：Ｎｏ）、ステップＳ１６０１に戻る。これにより、カゴＢｉに収容されている商品点数ｓ（ｉ）を適切に計数することができる。
【０１１６】
＜送信処理手順＞
つぎに、検知装置ＴＭにおいて実行される送信処理手順について説明する。この送信処理は、商品点数ｓ（ｉ）を表す商品点数情報を情報提供装置１０１に送信する処理である。図１７は、検知装置の送信処理手順の一例を示すフローチャートである。
【０１１７】
図１７のフローチャートにおいて、まず、制御部５０４により、通信部５０５を制御して衝突判定処理を実行する（ステップＳ１７０１）。この結果、商品点数情報を送信可能な場合（ステップＳ１７０２：Ｙｅｓ）、制御部５０４により、発光部５０３を制御して発光させるとともに、通信部５０５を制御して商品点数情報を情報提供装置１０１に送信する（ステップＳ１７０３）。
【０１１８】
そして、所定時間待機して（ステップＳ１７０４）、ステップＳ１７０１に戻る。一方、ステップＳ１７０２において、商品点数情報を送信不可の場合（ステップＳ１７０２：Ｎｏ）、所定時間待機して（ステップＳ１７０４）、ステップＳ１７０１に戻る。
【０１１９】
これにより、カゴＢｉに収容されている商品点数ｓ（ｉ）を情報提供装置１０１に送信することができる。この際、他の検知装置ＴＭとの送信処理の衝突判定を行うことで、情報提供装置１０１において発光箇所と商品点数とを１対１で適切に対応付けることができる。
【０１２０】
（情報提供装置の各種処理手順）
つぎに、情報提供装置１０１において実行される各種処理手順について説明する。
【０１２１】
＜検出処理手順＞
ここではまず、情報提供装置１０１において実行される検出処理手順について説明する。この検出処理は、撮影画像の中から発光箇所を検出する処理である。図１８は、情報提供装置の検出処理手順の一例を示すフローチャートである。
【０１２２】
図１８のフローチャートにおいて、まず、取得部６０２により、カメラ１０２から撮影画像を取得する（ステップＳ１８０１）。ここで、撮影画像を取得するのを待って（ステップＳ１８０１：Ｎｏ）、取得した場合（ステップＳ１８０１：Ｙｅｓ）、検出部６０３により、取得した撮影画像の中から発光箇所を検出する（ステップＳ１８０２）。
【０１２３】
そして、発光箇所が検出された場合（ステップＳ１８０３：Ｙｅｓ）、検出部６０３により、撮影画像の撮影時刻と、検出された発光箇所とを発光箇所テーブル７００に記録して（ステップＳ１８０４）、本フローチャートによる一連の処理を終了する。一方、発光箇所が検出されなかった場合（ステップＳ１８０３：Ｎｏ）、本フローチャートによる一連の処理を終了する。これにより、撮影画像上の発光箇所からカゴＢｉの位置ｐ（ｉ）を特定することができる。
【０１２４】
＜情報提供処理手順＞
つぎに、情報提供装置１０１において実行される情報提供処理手順について説明する。この情報提供処理は、行列Ｌｊの待ち時間Ｔｊを顧客に提供するための処理である。図１９は、情報提供装置の情報提供処理手順の一例を示すフローチャートである。
【０１２５】
図１９のフローチャートにおいて、まず、受信部６０１により、検知装置ＴＭから商品点数情報を受信したか否かを判断する（ステップＳ１９０１）。ここで、商品点数情報を受信するのを待って（ステップＳ１９０１：Ｎｏ）、受信した場合（ステップＳ１９０１：Ｙｅｓ）、検索部６０４により、発光箇所テーブル７００の中から、商品点数情報の受信時刻と撮影時刻が一致する発光箇所を検索する（ステップＳ１９０２）。
【０１２６】
ここで、発光箇所が検索されなかった場合（ステップＳ１９０３：Ｎｏ）、本フローチャートによる一連の処理を終了する。一方、発光箇所が検索された場合（ステップＳ１９０３：Ｙｅｓ）、関連付け部６０５により、検索された発光箇所と商品点数情報から特定される商品点数とを関連付けてターゲットカゴテーブル９００に登録する（ステップＳ１９０４）。
【０１２７】
そして、順序判定部６０７により、監視領域ＡＲに進入した顧客の進入順序を判定する順序判定処理を実行する（ステップＳ１９０５）。つぎに、列決定部６０８により、監視領域ＡＲ内の複数の行列の中から、顧客が順番待ちしている行列を決定する列決定処理を実行する（ステップＳ１９０６）。
【０１２８】
このあと、待ち時間算出部６１０により、行列Ｌｊの待ち時間を算出する待ち時間算出処理を実行して（ステップＳ１９０７）、出力部６１１により、待ち時間テーブル１２００を参照して、レジＲｊごとに設置されている店舗内の電光掲示板に各行列Ｌｊの待ち時間Ｔｊを表示して（ステップＳ１９０８）、本フローチャートによる一連の処理を終了する。
【０１２９】
これにより、複数の行列Ｌ１〜Ｌｍの中から顧客が並んでいる行列Ｌｊを適切に特定し、行列Ｌｊごとの待ち時間Ｔｊを予測して顧客に提供することができる。
【０１３０】
＜順序判定処理手順＞
つぎに、図１９に示したステップＳ１９０５の順序判定処理手順について説明する。図２０−１および図２０−２は、順序判定処理手順の一例を示すフローチャートである。図２０−１のフローチャートにおいて、まず、順序判定部６０７により、ターゲットカゴテーブル９００からカゴＢｔの位置ｐｔを抽出する（ステップＳ２００１）。
【０１３１】
このあと、順序判定部６０７により、カゴ情報テーブル１０００にカゴ情報が登録されているか否かを判断する（ステップＳ２００２）。ここで、カゴ情報が未登録の場合（ステップＳ２００２：Ｎｏ）、図２０−２のステップＳ２００３に移行して、順序判定部６０７により、カゴＢｔの位置ｐｔは監視領域ＡＲ内か否かを判断する（ステップＳ２００３）。
【０１３２】
ここで、監視領域ＡＲ内の場合（ステップＳ２００３：Ｙｅｓ）、順序判定部６０７により、カゴＢｔの進入順序ＳＮを「１」とする（ステップＳ２００４）。そして、順序判定部６０７により、カゴ情報テーブル１０００にカゴＢｔのカゴ情報を登録して（ステップＳ２００５）、図１９に示したステップＳ１９０６に移行する。一方、監視領域ＡＲ外の場合（ステップＳ２００３：Ｎｏ）、図１９に示した情報提供処理にかかる一連の処理を終了する。
【０１３３】
また、図２０−１に示したステップＳ２００２において、カゴ情報が登録されている場合（ステップＳ２００２：Ｙｅｓ）、順序判定部６０７により、「ｉ＝１」として（ステップＳ２００６）、カゴ情報テーブル１０００からカゴＢｉの位置ｐ（ｉ）を抽出する（ステップＳ２００７）。
【０１３４】
そして、順序判定部６０７により、カゴＢｔの位置ｐｔとカゴＢｉの位置ｐ（ｉ）との距離ｄｔｉを算出する（ステップＳ２００８）。つぎに、順序判定部６０７により、ｉをインクリメントして（ステップＳ２００９）、「ｉ＞ｎ」か否かを判断する（ステップＳ２０１０）。ここで、「ｉ≦ｎ」の場合（ステップＳ２０１０：Ｎｏ）、ステップＳ２００７に戻る。
【０１３５】
一方、「ｉ＞ｎ」の場合（ステップＳ２０１０：Ｙｅｓ）、順序判定部６０７により、距離ｄｔ１〜ｄｔｎの中から最小のｄｔｉを選択する（ステップＳ２０１１）。そして、順序判定部６０７により、距離ｄｔｉと閾値ｄ０とを比較して「ｄｔｉ＜ｄ０」か否かを判断する（ステップＳ２０１２）。
【０１３６】
ここで、「ｄｔｉ≧ｄ０」の場合（ステップＳ２０１２：Ｙｅｓ）、図２０−２のステップＳ２０１３に移行して、順序判定部６０７により、カゴＢｔの位置ｐｔは監視領域ＡＲ内か否かを判断する（ステップＳ２０１３）。
【０１３７】
ここで、監視領域ＡＲ内の場合（ステップＳ２０１３：Ｙｅｓ）、順序判定部６０７により、カゴＢｔの進入順序ＳＮを「ｎ＋１」とする（ステップＳ２０１４）。そして、順序判定部６０７により、カゴ情報テーブル１０００にカゴＢｔのカゴ情報を登録して（ステップＳ２００５）、図１９に示したステップＳ１９０６に移行する。一方、監視領域ＡＲ外の場合（ステップＳ２０１３：Ｎｏ）、図１９に示した情報提供処理にかかる一連の処理を終了する。
【０１３８】
また、図２０−１に示したステップＳ２０１２において、「ｄｔｉ＜ｄ０」の場合（ステップＳ２０１２：Ｎｏ）、図２０−２のステップＳ２０１５に移行して、順序判定部６０７により、カゴＢｔの位置ｐｔは監視領域ＡＲ内か否かを判断する（ステップＳ２０１５）。
【０１３９】
ここで、監視領域ＡＲ内の場合（ステップＳ２０１５：Ｙｅｓ）、順序判定部６０７により、カゴ情報テーブル１０００内のカゴＢｉの位置ｐ（ｉ）を位置ｐｔに更新する（ステップＳ２０１６）。このあと、順序判定部６０７により、カゴＢｉの移動ベクトルｖ（ｉ）を算出する（ステップＳ２０１７）。そして、順序判定部６０７により、カゴ情報テーブル１０００内のカゴＢｉの移動ベクトルを更新して（ステップＳ２０１８）、図１９に示したステップＳ１９０６に移行する。
【０１４０】
また、ステップＳ２０１５において、監視領域ＡＲ外の場合（ステップＳ２０１５：Ｎｏ）、順序判定部６０７により、カゴ情報テーブル１０００内のカゴＢｉのカゴ情報１０００−ｉを削除する（ステップＳ２０１９）。そして、順序判定部６０７により、カゴ情報テーブル１０００内のカゴ情報を進入順序が昇順となるようにソートして（ステップＳ２０２０）、図１９に示したステップＳ１９０６に移行する。
【０１４１】
これにより、監視領域ＡＲ内に進入した顧客および監視領域ＡＲ外に退出した顧客を適切に把握するとともに、各顧客の進入順序を正確に特定することができる。
【０１４２】
＜列決定処理手順＞
つぎに、図１９に示したステップＳ１９０６の列決定処理手順について説明する。図２１は、列決定処理手順の一例を示すフローチャートである。図２１のフローチャートにおいて、まず、列決定部６０８により、各行列Ｌｊの最後尾位置Ｐｊを初期位置Ｐｊ０に設定する（ステップＳ２１０１）。
【０１４３】
このあと、列決定部６０８により、「ｉ＝１」として（ステップＳ２１０２）、「ｉ＞ｎ」か否かを判断する（ステップＳ２１０３）。ここで、「ｉ≦ｎ」の場合（ステップＳ２１０３：Ｎｏ）、列決定部６０８により、カゴ情報テーブル１０００を参照して、カゴＢｉの位置ｐ（ｉ）を特定する（ステップＳ２１０４）。
【０１４４】
そして、列決定部６０８により、第１の列決定処理を実行する（ステップＳ２１０５）、このあと、列決定部６０８により、複数の行列Ｌｊが選択されたか否かを判断する（ステップＳ２１０６）。ここで、複数の行列Ｌｊが選択されなかった場合（ステップＳ２１０６：Ｎｏ）、列決定部６０８により、列管理テーブル１１００の行列ＬｊのカゴリストにカゴＢｉを登録する（ステップＳ２１０７）。
【０１４５】
さらに、列決定部６０８により、列管理テーブル１１００内の行列Ｌｊの最後尾位置ＰｊをカゴＢｉの位置ｐ（ｉ）に更新する（ステップＳ２１０８）。そして、列決定部６０８により、ｉをインクリメントして（ステップＳ２１０９）、ステップＳ２１０３に戻る。
【０１４６】
また、ステップＳ２１０６において、複数の行列Ｌｊが選択された場合（ステップＳ２１０６：Ｙｅｓ）、列決定部６０８により、複数の行列Ｌｊを列候補Ｌ（ｋ）として、図２２に示す列候補テーブル２２００に登録して（ステップＳ２１１０）、第２の列決定処理を実行して（ステップＳ２１１１）、ステップＳ２１０９に移行する。
【０１４７】
また、ステップＳ２１０３において、「ｉ＞ｎ」の場合（ステップＳ２１０３：Ｙｅｓ）、図１９に示したステップＳ１９０７に移行する。
【０１４８】
ここで、列候補テーブル２２００について説明する。図２２は、列候補テーブルの記憶内容の一例を示す説明図である。図２２において、列候補テーブル２２００は、列候補ＩＤおよび行列ＩＤのフィールドを有し、各フィールドに情報を設定することで、列候補情報２２００−１から２２００−Ｋをレコードとして記憶している。
【０１４９】
ここで、列候補ＩＤとは、列候補Ｌ（ｋ）を識別する識別子である（ｋ＝１，２，…，Ｋ）。行列ＩＤとは、列候補に対応する行列Ｌｊを識別する識別子である。この列候補テーブル２２００は、たとえば、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置によって実現される。
【０１５０】
＜＜第１の列決定処理手順＞＞
つぎに、図２１に示したステップＳ２１０５の第１の列決定処理手順について説明する。図２３は、第１の列決定処理手順の一例を示すフローチャートである。図２３のフローチャートにおいて、まず、算出部６０９により、「ｊ＝１」として（ステップＳ２３０１）、列管理テーブル１１００を参照して、列Ｌｊの最後尾位置Ｐｊを特定する（ステップＳ２３０２）。
【０１５１】
このあと、算出部６０９により、カゴＢｉの位置ｐ（ｉ）と列Ｌｊの最後尾位置Ｐｊの距離Ｄｉｊを算出する（ステップＳ２３０３）。そして、算出部６０９により、ｊをインクリメントして（ステップＳ２３０４）、「ｊ＞ｍ」か否かを判断する（ステップＳ２３０５）。ここで、「ｊ≦ｍ」の場合（ステップＳ２３０５：Ｎｏ）、ステップＳ２３０２に戻る。
【０１５２】
一方、「ｊ＞ｍ」の場合（ステップＳ２３０５：Ｙｅｓ）、列決定部６０８により、行列Ｌ１〜Ｌｍの中から距離Ｄｉｊが最小となる列Ｌｊを選択して（ステップＳ２３０６）、図２１に示したステップＳ２１０６に移行する。これにより、距離Ｄｉｊが最短となる行列Ｌｊを、顧客が順番待ちしている行列として特定することができる。
【０１５３】
＜＜第２の列決定処理手順＞＞
つぎに、図２１に示したステップＳ２１１１の第２の列決定処理手順について説明する。図２４は、第２の列決定処理手順の一例を示すフローチャートである。図２４のフローチャートにおいて、まず、算出部６０９により、「ｋ＝１」として（ステップＳ２４０１）、列管理テーブル１１００を参照して、列候補Ｌ（ｋ）の最後尾から１番目、２番目のカゴの位置ｐ（ｋ１）、ｐ（ｋ２）を特定する（ステップＳ２４０２）。
【０１５４】
ここで、位置ｐ（ｋ１）、ｐ（ｋ２）が特定された場合（ステップＳ２４０３：Ｙｅｓ）、算出部６０９により、上記式（３）を用いて、第１および第２の直線がなす角度θ（ｋ）を表すｃｏｓθ（ｋ）を算出する（ステップＳ２４０４）。なお、第１の直線とは、カゴＢｉの位置ｐｉと列候補Ｌ（ｋ）の最後尾位置Ｐ（ｋ）とを結ぶ直線である。また、第２の直線とは、列候補Ｌ（ｋ）の最後尾から１番目のカゴの位置ｐ（ｋ１）と２番目のカゴの位置ｐ（ｋ１）とを結ぶ直線である。
【０１５５】
そして、算出部６０９により、ｋをインクリメントして（ステップＳ２４０５）、「ｋ＞Ｋ」か否かを判断する（ステップＳ２４０６）。ここで、「ｋ≦Ｋ」の場合（ステップＳ２４０６：Ｎｏ）、ステップＳ２４０２に戻る。
【０１５６】
一方、「ｋ＞Ｋ」の場合（ステップＳ２４０６：Ｙｅｓ）、列決定部６０８により、複数の列候補Ｌ（１）〜Ｌ（Ｋ）の中から、ｃｏｓθ（ｋ）が最小となる列候補Ｌ（ｋ）を選択する（ステップＳ２４０７）。そして、列決定部６０８により、複数の列候補Ｌ（ｋ）が選択されたか否かを判断する（ステップＳ２４０８）。
【０１５７】
ここで、複数の列候補Ｌ（ｋ）が選択されなかった場合（ステップＳ２４０８：Ｎｏ）、列決定部６０８により、列管理テーブル１１００の列候補Ｌ（ｋ）のカゴリストにカゴＢｉを登録する（ステップＳ２４０９）。なお、列候補Ｌ（ｋ）のカゴリストとは、列候補Ｌ（ｋ）に対応する行列Ｌｊのカゴリストである。
【０１５８】
さらに、列決定部６０８により、列管理テーブル１１００内の列候補Ｌ（ｋ）の最後尾位置Ｐ（ｋ）をカゴＢｉの位置ｐ（ｉ）に更新して（ステップＳ２４１０）、図２１に示したステップＳ２１０９に移行する。なお、最後尾位置Ｐ（ｋ）とは、列候補Ｌ（ｋ）に対応する行列Ｌｊの最後尾位置Ｐｊである。
【０１５９】
また、ステップＳ２４０８において、複数の列候補Ｌ（ｋ）が選択された場合（ステップＳ２４０８：Ｙｅｓ）、列決定部６０８により、複数の列候補Ｌ（ｋ）をｋが昇順となるようにソートして列候補テーブル２２００に登録する（ステップＳ２４１１）。そして、列決定部６０８により、第３の列決定処理を実行して（ステップＳ２４１２）、図２１に示したステップＳ２１０９に移行する。
【０１６０】
また、ステップＳ２４０３において、位置ｐ（ｋ１）、ｐ（ｋ２）が特定されなかった場合（ステップＳ２４０３：Ｎｏ）、列決定部６０８により、第３の列決定処理を実行して（ステップＳ２４１２）、図２１に示したステップＳ２１０９に移行する。これにより、カゴＢｉの位置ｐ（ｉ）が行列の延長線上となる行列Ｌｊを、顧客が順番待ちしている行列として特定することができる。
【０１６１】
＜＜第３の列決定処理手順＞＞
つぎに、図２４に示したステップＳ２４１２の第３の列決定処理手順について説明する。図２５は、第３の列決定処理手順の一例を示すフローチャートである。図２５のフローチャートにおいて、まず、算出部６０９により、カゴ情報テーブル１０００を参照して、カゴＢｉの移動ベクトルｖ（ｉ）を特定する（ステップＳ２５０１）。
【０１６２】
ここで、移動ベクトルｖ（ｉ）が特定された場合（ステップＳ２５０２：Ｙｅｓ）、算出部６０９により、「ｋ＝１」として（ステップＳ２５０３）、列管理テーブル１１００を参照して、列候補Ｌ（ｋ）の最後尾位置Ｐ（ｋ）を特定する（ステップＳ２５０４）。
【０１６３】
そして、算出部６０９により、上記式（３）を用いて、第１および第２の直線がなす角度θ（ｋ）を表すｃｏｓθ（ｋ）を算出する（ステップＳ２５０５）。なお、第１の直線とは、カゴＢｉの位置ｐｉと列候補Ｌ（ｋ）の最後尾位置Ｐ（ｋ）とを結ぶ直線である。また、第２の直線とは、移動ベクトルｖ（ｉ）から特定されるカゴＢｉの移動前の位置ｐｉ’と移動後の位置ｐｉとを結ぶ直線である。
【０１６４】
つぎに、算出部６０９により、ｋをインクリメントして（ステップＳ２５０６）、「ｋ＞Ｋ」か否かを判断する（ステップＳ２５０７）。ここで、「ｋ≦Ｋ」の場合（ステップＳ２５０７：Ｎｏ）、ステップＳ２５０４に戻る。
【０１６５】
一方、「ｋ＞Ｋ」の場合（ステップＳ２５０７：Ｙｅｓ）、列決定部６０８により、複数の列候補Ｌ（１）〜Ｌ（Ｋ）の中から、ｃｏｓθ（ｋ）が最大となる列候補Ｌ（ｋ）を選択する（ステップＳ２５０８）。そして、列決定部６０８により、複数の列候補Ｌ（ｋ）が選択されたか否かを判断する（ステップＳ２５０９）。
【０１６６】
ここで、複数の列候補Ｌ（ｋ）が選択されなかった場合（ステップＳ２５０９：Ｎｏ）、列決定部６０８により、列管理テーブル１１００内の列候補Ｌ（ｋ）のカゴリストにカゴＢｉを登録する（ステップＳ２５１０）。さらに、列決定部６０８により、列管理テーブル１１００内の列候補Ｌ（ｋ）の最後尾位置Ｐ（ｋ）をカゴＢｉの位置ｐ（ｉ）に更新して（ステップＳ２５１１）、図２１に示したステップＳ２１０９に移行する。
【０１６７】
また、ステップＳ２５０９において、複数の列候補Ｌ（ｋ）が選択された場合（ステップＳ２５０９：Ｙｅｓ）、列決定部６０８により、複数の列候補Ｌ（ｋ）をｋが昇順となるようにソートして列候補テーブル２２００に登録する（ステップＳ２５１２）。そして、列決定部６０８により、第４の列決定処理を実行して（ステップＳ２５１３）、図２１に示したステップＳ２１０９に移行する。
【０１６８】
また、ステップＳ２５０２において、移動ベクトルｖ（ｉ）が特定されなかった場合（ステップＳ２５０２：Ｎｏ）、列決定部６０８により、第４の列決定処理を実行して（ステップＳ２５１３）、図２１に示したステップＳ２１０９に移行する。これにより、顧客の移動方向を考慮して、顧客が順番待ちしている行列Ｌｊを特定することができる。
【０１６９】
＜＜第４の列決定処理手順＞＞
つぎに、図２５に示したステップＳ２５１３の第４の列決定処理手順について説明する。図２６は、第４の列決定処理手順の一例を示すフローチャートである。図２６のフローチャートにおいて、まず、算出部６０９により、「ｋ＝１」として（ステップＳ２６０１）、列管理テーブル１１００を参照して、列候補Ｌ（ｋ）の精算速度ｆ（ｋ）を特定する（ステップＳ２６０２）。なお、精算速度ｆ（ｋ）とは、列候補Ｌ（ｋ）に対応する行列Ｌｊの精算速度ｆ（ｊ）である。
【０１７０】
このあと、算出部６０９により、列管理テーブル１１００を参照して、列候補Ｌ（ｋ）のカゴリストに含まれるカゴＢ（１）〜Ｂ（ｎ）を特定する（ステップＳ２６０３）。なお、カゴＢ（１）〜Ｂ（ｎ）とは、列候補テーブル２２００内の列候補Ｌ（ｋ）に対応する行列Ｌｊのカゴリストに含まれるカゴ群である。
【０１７１】
つぎに、算出部６０９により、カゴ情報テーブル１０００を参照して、カゴＢ（１）〜Ｂ（ｎ）の商品点数ｓ（１）〜ｓ（ｎ）を特定する（ステップＳ２６０４）。なお、商品点数ｓ（１）〜ｓ（ｎ）とは、列候補Ｌ（ｋ）に対応する行列Ｌｊのカゴリストに含まれるカゴ群の商品点数である。
【０１７２】
そして、算出部６０９により、上記式（１）を用いて、商品点数ｓ（１）〜ｓ（ｎ）の総商品点数Ｓ（ｋ）を算出する（ステップＳ２６０５）。このあと、算出部６０９により、上記式（２）を用いて、列候補Ｌ（ｋ）の待ち時間Ｔ（ｋ）を算出する（ステップＳ２６０６）。つぎに、算出部６０９により、ｋをインクリメントして（ステップＳ２６０７）、「ｋ＞Ｋ」か否かを判断する（ステップＳ２６０８）。
【０１７３】
ここで、「ｋ≦Ｋ」の場合（ステップＳ２６０８：Ｎｏ）、ステップＳ２６０２に戻る。一方、「ｋ＞Ｋ」の場合（ステップＳ２６０８：Ｙｅｓ）、列決定部６０８により、複数の列候補Ｌ（１）〜Ｌ（Ｋ）の中から、待ち時間Ｔ（ｋ）が最小となる列候補Ｌ（ｋ）を選択する（ステップＳ２６０９）。
【０１７４】
そして、列決定部６０８により、複数の列候補Ｌ（ｋ）が選択されたか否かを判断する（ステップＳ２６１０）。ここで、複数の列候補Ｌ（ｋ）が選択されなかった場合（ステップＳ２６１０：Ｎｏ）、列決定部６０８により、列管理テーブル１１００内の列候補Ｌ（ｋ）のカゴリストにカゴＢｉを登録する（ステップＳ２６１１）。
【０１７５】
さらに、列決定部６０８により、列管理テーブル１１００内の列候補Ｌ（ｋ）の最後尾位置Ｐ（ｋ）をカゴＢｉの位置ｐ（ｉ）に更新して（ステップＳ２６１２）、図２１に示したステップＳ２１０９に移行する。
【０１７６】
また、ステップＳ２６１０において、複数の列候補Ｌ（ｋ）が選択された場合（ステップＳ２６１０：Ｙｅｓ）、列決定部６０８により、選択された複数の列候補Ｌ（ｋ）の中から任意の列候補Ｌ（ｋ）を選択して（ステップＳ２６１３）、ステップＳ２６１１に移行する。これにより、待ち時間Ｔｊの最も短い行列Ｌｊを、顧客が順番待ちしている行列として特定することができる。
【０１７７】
＜待ち時間算出処理手順＞
つぎに、図１９に示したステップＳ１９０７の待ち時間算出処理手順について説明する。図２７は、待ち時間算出処理手順の一例を示すフローチャートである。図２７のフローチャートにおいて、まず、待ち時間算出部６１０により、「ｊ＝１」として（ステップＳ２７０１）、列管理テーブル１１００を参照して、行列Ｌｊの精算速度ｆｊを特定する（ステップＳ２７０２）。
【０１７８】
このあと、待ち時間算出部６１０により、列管理テーブル１１００を参照して、行列Ｌｊのカゴリストに含まれるカゴＢ（１）〜Ｂ（ｎ）を特定する（ステップＳ２７０３）。なお、カゴＢ（１）〜Ｂ（ｎ）とは、行列Ｌｊのカゴリストに含まれるカゴ群である。
【０１７９】
つぎに、待ち時間算出部６１０により、カゴ情報テーブル１０００を参照して、カゴＢ（１）〜Ｂ（ｎ）の商品点数ｓ（１）〜ｓ（ｎ）を特定する（ステップＳ２７０４）。なお、商品点数ｓ（１）〜ｓ（ｎ）とは、行列Ｌｊのカゴリストに含まれるカゴ群の商品点数である。
【０１８０】
そして、待ち時間算出部６１０により、上記式（１）を用いて、商品点数ｓ（１）〜ｓ（ｎ）の総商品点数Ｓｊを算出する（ステップＳ２７０５）。このあと、待ち時間算出部６１０により、上記式（２）を用いて、行列Ｌｊの待ち時間Ｔｊを算出して（ステップＳ２７０６）、待ち時間テーブル１２００に待ち時間Ｔｊを登録する（ステップＳ２７０７）。
【０１８１】
つぎに、待ち時間算出部６１０により、ｊをインクリメントして（ステップＳ２７０８）、「ｊ＞ｍ」か否かを判断する（ステップＳ２７０９）。ここで、「ｊ≦ｍ」の場合（ステップＳ２７０９：Ｎｏ）、ステップＳ２７０２に戻る。一方、「ｊ＞ｍ」の場合（ステップＳ２７０９：Ｙｅｓ）、図１９に示したステップＳ１９０８に移行する。これにより、店舗内に形成される行列Ｌｊごとの待ち時間Ｔｊを正確に予測することができる。
【０１８２】
なお、上述した説明では、第１〜第４の列決定処理を実行した結果、複数の列候補Ｌ（ｋ）が存在する場合、図２６に示したステップＳ２６１３において任意の列候補Ｌ（ｋ）を選択することにしたが、これに限らない。以下、未決定のカゴＢｉが順番待ちしている行列Ｌｊを決定する第５の列決定処理について説明する。
【０１８３】
図２８は、列決定例を示す説明図（その５）である。図２８において、第１〜第４の列決定処理を実行した結果、カゴＢ１の列候補Ｌ（ｋ）として、行列Ｌｘと行列Ｌｙが残っている（図２８中（１））。この場合、列決定部６０８が、未決定のカゴＢ１を図２９に示す未決定リストテーブル２９００に登録する（たとえば、ステップＳ２６１３）。
【０１８４】
図２９は、未決定リストテーブルの記憶内容の一例を示す説明図である。図２９において、未決定リストテーブル２９００は、未決定カゴＩＤおよび列候補ＩＤのフィールドを有し、各フィールドに情報を設定することで、未決定リスト（たとえば、未決定リスト２９００−１）をレコードとして記憶している。
【０１８５】
ここで、未決定カゴＩＤとは、順番待ちしている行列Ｌｊが決定されていない未決定のカゴＢｉを識別する識別子である。列候補ＩＤとは、カゴＢｉが順番待ちしている列候補Ｌ（ｋ）を識別する識別子である。未決定リストテーブル２９００は、たとえば、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置によって実現される。
【０１８６】
図２８において、列決定部６０８が、カゴＢ１を未決定リストテーブル２９００に登録したあと、カゴＢ２が順番待ちしている行列Ｌｊとして行列Ｌｙを決定している（図２８中（２））。この場合、列決定部６０８が、カゴＢ１の未決定リスト２９００−１の列候補ＩＤの中から行列Ｌｙを削除する。
【０１８７】
図２８において、未決定リスト２９００−１の列候補ＩＤの中から行列Ｌｙが削除された結果、列候補ＩＤが行列Ｌｘの１つとなったため、列決定部６０８が、カゴＢ１が順番待ちしている行列Ｌｊを行列Ｌｘに決定する（図２８中（３））。これは、カゴＢ２が行列Ｌｙに並んだということは、その前のカゴＢ１が行列Ｌｙとは異なる行列Ｌｘに並んだ可能性が高いという前提に基づく処理である。
【０１８８】
＜第５の列決定処理手順＞
つぎに、上述した第５の列決定処理手順について説明する。この第５の列決定処理は、たとえば、図２１に示したステップＳ２１０８のあとに実行される。図３０は、第５の列決定処理手順の一例を示すフローチャートである。
【０１８９】
図３０のフローチャートにおいて、まず、列決定部６０８により、未決定リストテーブル２９００の中から、列候補ＩＤに列Ｌｊを含む未決定リストを検索する（ステップＳ３００１）。ここで、未決定リストが検索されなかった場合（ステップＳ３００２：Ｎｏ）、ステップＳ３００１に戻る。
【０１９０】
一方、未決定リストが検索された場合（ステップＳ３００２：Ｙｅｓ）、列決定部６０８により、検索された未決定リストの列候補ＩＤから列Ｌｊを削除する（ステップＳ３００３）。そして、列決定部６０８により、未決定リストの列候補ＩＤが一つとなったか否かを判断する（ステップＳ３００４）。ここで、列候補ＩＤが複数の場合（ステップＳ３００４：Ｎｏ）、ステップＳ３００１に戻る。
【０１９１】
一方、列候補ＩＤが一つとなった場合（ステップＳ３００４：Ｙｅｓ）、列決定部６０８により、列管理テーブル１１００の列候補Ｌ（ｋ）のカゴリストにカゴＢｉを登録する（ステップＳ３００５）。そして、列決定部６０８により、未決定リストテーブル２９００の中から、検索された未決定リストを削除して（ステップＳ３００６）、列候補Ｌ（ｋ）を列Ｌｊとして（ステップＳ３００７）、ステップＳ３００１に戻る。
【０１９２】
＜領域設定処理手順＞
つぎに、撮影画像上での監視領域ＡＲを設定する領域設定処理手順について説明する。図３１は、領域設定処理手順の一例を示すフローチャートである。図３１のフローチャートにおいて、まず、設定部６０６により、カゴ情報テーブル１０００の記憶内容が更新されたか否かを判断する（ステップＳ３１０１）。
【０１９３】
ここで、更新されるのを待って（ステップＳ３１０１：Ｎｏ）、更新された場合（ステップＳ３１０１：Ｙｅｓ）、設定部６０６により、監視領域ＡＲをレジＲ１〜Ｒｍの位置を基準として行列Ｌ１〜Ｌｍの最後尾に向かって間隔Ｈで区切る（ステップＳ３１０２）。なお、レジＲ１〜Ｒｍの位置は、たとえば、予め設定された初期位置Ｐ１０〜Ｐｍ０である。
【０１９４】
このあと、設定部６０６により、カゴ情報テーブル１０００を参照して、各区間ｒ（１）〜ｒ（ｎ）に含まれるカゴ数Ｘ（１）〜Ｘ（ｎ）を算出する（ステップＳ３１０３）。なお、区間ｒ（１）〜ｒ（ｎ）は、監視領域ＡＲを間隔Ｈで区切って分割された区間である。
【０１９５】
そして、設定部６０６により、区間ｒ（ｎ）のカゴ数Ｘ（ｎ）が「０」より大きいか否かを判断する（ステップＳ３１０４）。ここで、「Ｘ（ｎ）＞０」の場合（ステップＳ３１０４：Ｙｅｓ）、設定部６０６により、監視領域ＡＲを拡張して（ステップＳ３１０５）、本フローチャートによる一連の処理を終了する。
【０１９６】
一方、「Ｘ（ｎ）＝０」の場合（ステップＳ３１０４：Ｎｏ）、設定部６０６により、「ｎ＞１」か否かを判断する（ステップＳ３１０６）。ここで、「ｎ＝１」の場合（ステップＳ３１０６：Ｎｏ）、本フローチャートによる一連の処理を終了する。一方、「ｎ＞１」の場合（ステップＳ３１０６：Ｙｅｓ）、「Ｘ（ｎ）＝Ｘ（ｎ−１）＝０」か否かを判断する（ステップＳ３１０７）。
【０１９７】
ここで、「Ｘ（ｎ）＝Ｘ（ｎ−１）≠０」の場合（ステップＳ３１０７：Ｎｏ）、本フローチャートによる一連の処理を終了する。一方、「Ｘ（ｎ）＝Ｘ（ｎ−１）＝０」の場合（ステップＳ３１０７：Ｙｅｓ）、設定部６０６により、監視領域ＡＲを縮小して（ステップＳ３１０８）、本フローチャートによる一連の処理を終了する。これにより、店舗内の混雑度に応じて監視領域ＡＲの大きさを動的に設定することができる。
【０１９８】
以上説明したように、本実施の形態によれば、複数の行列Ｌ１〜Ｌｍの中から顧客が並んでいる行列Ｌｊを適切に特定することができる。これにより、行列Ｌｊごとの待ち時間Ｔｊを予測して、顧客に提供することができる。
【０１９９】
また、本実施の形態において、監視領域ＡＲ内に進入した顧客のカゴＢｉの位置ｐ（ｉ）と各行列Ｌｊの最後尾位置Ｐｊとの距離Ｄｉｊに基づいて、顧客が順番待ちしている行列Ｌｊを決定することにしてもよい。これにより、たとえば、距離Ｄｉｊが最短となる行列Ｌｊを、顧客が順番待ちしている行列として特定することができる。
【０２００】
また、本実施の形態において、カゴＢｉの位置ｐ（ｉ）と行列Ｌｊの最後尾位置Ｐｊとを結ぶ第１の直線と、カゴ群Ｂ１〜Ｂｎから選ばれた二つのカゴの位置を結ぶ第２の直線とがなす角度θｊに基づいて、顧客が順番待ちしている行列Ｌｊを決定することにしてもよい。これにより、カゴＢｉの位置ｐ（ｉ）が行列の延長線上となる行列Ｌｊを、顧客が順番待ちしている行列として特定することができる。
【０２０１】
また、本実施の形態において、カゴＢｉの位置ｐ（ｉ）と行列Ｌｊの最後尾位置Ｐｊとを結ぶ第１の直線と、カゴＢｉの移動ベクトルｖ（ｉ）から特定される第２の直線とがなす角度θｊに基づいて、顧客が順番待ちしている行列Ｌｊを決定することにしてもよい。これにより、顧客の移動方向を考慮して、顧客が順番待ちしている行列Ｌｊを特定することができる。
【０２０２】
また、本実施の形態において、各行列Ｌｊの総商品点数Ｓｊに基づいて、顧客が順番待ちしている行列Ｌｊを決定することにしてもよい。これにより、待ち時間Ｔｊの最も短い行列Ｌｊを、顧客が順番待ちしている行列として特定することができる。
【０２０３】
また、本実施の形態において、カゴＢｘのあとに監視領域ＡＲ内に進入した他のカゴＢｙ（ｘ≠ｙ）が順番待ちしている行列Ｌｙとは異なる他の行列Ｌｘを、顧客が順番待ちしている行列Ｌｊを決定することにしてもよい。
【０２０４】
また、本実施の形態において、顧客が順番待ちしている行列Ｌｊが特定された結果、その行列Ｌｊの最後尾位置Ｐｊを、顧客のカゴＢｉの位置ｐ（ｉ）とすることにより、各行列Ｌｊの最後尾位置Ｐｊを適切に更新することができる。
【０２０５】
また、本実施の形態において、監視領域ＡＲを撮影した撮影画像の中から、検知装置ＴＭの発光部５０３によって発せられた発光箇所を検出することにより、カゴＢｉの位置ｐ（ｉ）を正確に取得することができる。
【０２０６】
また、本実施の形態において、商品点数情報が発光部５０３による発光と同時に送信されることを利用して、発光箇所が検出された撮影画像と商品点数情報とを関連付けることにより、カゴＢｉの位置ｐ（ｉ）と商品点数ｓ（ｉ）を適切に対応付けることができる。
【０２０７】
また、本実施の形態において、監視領域ＡＲ内の顧客密度に基づいて、監視領域ＡＲを拡張または縮小することにより、店舗内の混雑度に応じて監視領域ＡＲの大きさを動的に設定することができる。
【０２０８】
このように、本情報提供プログラム、および情報提供装置によれば、店舗内に形成される非固定的な複数の行列Ｌ１〜Ｌｍの中から顧客が並んでいる行列Ｌｊを適切に特定することができる。また、各行列Ｌｊに属するカゴＢｉの商品点数ｓ（ｉ）から待ち時間Ｔｊを算出するため、行列Ｌｊの長さから待ち時間を予測する場合に比べて、行列Ｌｊの待ち時間Ｔｊを正確に求めることができる。
【０２０９】
なお、本実施の形態で説明した情報提供方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報提供プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本情報提供プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２１０】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２１１】
（付記１）監視領域内で順番待ちしている顧客の行列ごとに、当該行列の最後尾位置を記憶するデータベースにアクセス可能なコンピュータを、
前記監視領域内に進入した対象顧客の位置を取得する取得手段、
前記取得手段によって取得された対象顧客の位置と、前記データベース内の前記各行列の最後尾位置との距離を算出する算出手段、
前記算出手段によって算出された算出結果に基づいて、前記監視領域内の複数の行列から、前記対象顧客が順番待ちしている行列を決定する決定手段、
前記決定手段によって決定された決定結果を出力する出力手段、
として機能させることを特徴とする情報提供プログラム。
【０２１２】
（付記２）前記データベースは、さらに、前記行列に属する顧客群の各顧客の位置を記憶しており、
前記算出手段は、前記行列ごとに、前記対象顧客の位置と前記データベース内の前記行列の最後尾位置とを結ぶ第１の直線と、前記データベース内の前記顧客群から選ばれた一の顧客の位置と他の顧客の位置とを結ぶ第２の直線と、がなす角度を算出することを特徴とする付記１に記載の情報提供プログラム。
【０２１３】
（付記３）前記データベースは、さらに、前記監視領域内で前記対象顧客が移動した際の移動ベクトルを記憶しており、
前記算出手段は、前記行列ごとに、前記対象顧客の位置と前記データベース内の前記行列の最後尾位置とを結ぶ第１の直線と、前記データベース内の前記対象顧客の移動ベクトルに平行な第３の直線と、がなす角度を算出することを特徴とする付記１または２に記載の情報提供プログラム。
【０２１４】
（付記４）前記データベースは、さらに、前記顧客が商品を収容するために利用する容器に収容されている前記商品の商品点数を記憶しており、
前記算出手段は、前記行列ごとに、前記データベース内の前記行列に属する顧客群の容器に収容されている商品の商品点数の合計を算出することを特徴とする付記１〜３のいずれか一つに記載の情報提供プログラム。
【０２１５】
（付記５）前記決定手段は、前記対象顧客のあとに前記監視領域内に進入した他の顧客が順番待ちしている行列を決定する決定結果に基づいて、前記対象顧客が順番待ちしている行列を決定することを特徴とする付記１〜４のいずれか一つに記載の情報提供プログラム。
【０２１６】
（付記６）前記コンピュータを、
前記データベース内の各行列の最後尾位置のうち、前記決定手段によって決定された対象顧客が順番待ちしている行列の最後尾位置を前記対象顧客の位置に更新する更新手段として機能させることを特徴とする付記１〜５のいずれか一つに記載の情報提供プログラム。
【０２１７】
（付記７）前記コンピュータを、
前記監視領域を撮影した画像の中から、前記対象顧客が商品を収容するために利用する容器に設けられた検知装置の発光手段によって発せられた発光箇所を検出する検出手段として機能させ、
前記取得手段は、前記検出手段によって検出された発光箇所を前記対象顧客の位置として取得することを特徴とする付記１〜６のいずれか一つに記載の情報提供プログラム。
【０２１８】
（付記８）前記コンピュータを、
前記発光手段の発光と同期させて前記検知装置から送信される前記容器に収容された商品の商品点数を受信する受信手段、
前記検出手段によって発光箇所が検出された画像のうち、前記受信手段によって受信された商品点数の受信時刻と撮影時刻が一致する画像を当該商品点数と関連付ける関連付け手段、
前記関連付け手段によって関連付けられた関連付け結果に基づいて、前記決定手段によって決定された対象顧客が順番待ちしている行列の待ち時間を算出する待ち時間算出手段として機能させ、
前記出力手段は、前記待ち時間算出手段によって算出された行列の待ち時間を出力することを特徴とする付記７に記載の情報提供プログラム。
【０２１９】
（付記９）前記コンピュータを、
前記監視領域内の前記顧客の密度に基づいて、前記監視領域の範囲を設定する設定手段として機能させ、
前記取得手段は、前記設定手段によって設定された監視領域内に進入した対象顧客の位置を取得することを特徴とする付記１〜８のいずれか一つに記載の情報提供プログラム。
【０２２０】
（付記１０）監視領域内に進入した対象顧客の位置を取得する取得手段と、
前記取得手段によって取得された対象顧客の位置と、前記監視領域内で順番待ちしている顧客の行列ごとの最後尾位置を記憶するデータベース内の前記各行列の最後尾位置との距離を算出する算出手段と、
前記算出手段によって算出された算出結果に基づいて、前記監視領域内の複数の行列から、前記対象顧客が順番待ちしている行列を決定する決定手段と、
前記決定手段によって決定された決定結果を出力する出力手段と、
を備えることを特徴とする情報提供装置。
【符号の説明】
【０２２１】
１００  情報提供システム
１０１  情報提供装置
１０２  カメラ
５０１  センサ
５０２  カウンタ
５０３  発光部
５０４  制御部
５０５  通信部
６０１  受信部
６０２  取得部
６０３  検出部
６０４  検索部
６０５  関連付け部
６０６  設定部
６０７  順序判定部
６０８  列決定部
６０９  算出部
６１０  待ち時間算出部
６１１  出力部
ＴＭ  検知装置
【図１】
0005418151.tif 000003
【図２】
0005418151.tif 000004
【図３】
0005418151.tif 000005
【図４】
0005418151.tif 000006
【図５】
0005418151.tif 000007
【図６】
0005418151.tif 000008
【図７】
0005418151.tif 000009
【図８】
0005418151.tif 000010
【図９】
0005418151.tif 000011
【図１０】
0005418151.tif 000012
【図１１】
0005418151.tif 000013
【図１２】
0005418151.tif 000014
【図１３−１】
0005418151.tif 000015
【図１３−２】
0005418151.tif 000016
【図１３−３】
0005418151.tif 000017
【図１４−１】
0005418151.tif 000018
【図１４−２】
0005418151.tif 000019
【図１４−３】
0005418151.tif 000020
【図１４−４】
0005418151.tif 000021
【図１５−１】
0005418151.tif 000022
【図１５−２】
0005418151.tif 000023
【図１６】
0005418151.tif 000024
【図１７】
0005418151.tif 000025
【図１８】
0005418151.tif 000026
【図１９】
0005418151.tif 000027
【図２０−１】
0005418151.tif 000028
【図２０−２】
0005418151.tif 000029
【図２１】
0005418151.tif 000030
【図２２】
0005418151.tif 000031
【図２３】
0005418151.tif 000032
【図２４】
0005418151.tif 000033
【図２５】
0005418151.tif 000034
【図２６】
0005418151.tif 000035
【図２７】
0005418151.tif 000036
【図２８】
0005418151.tif 000037
【図２９】
0005418151.tif 000038
【図３０】
0005418151.tif 000039
【図３１】
0005418151.tif 000040