場所モデル更新装置、位置推定方法及びプログラム

申请号 JP2013202018 申请日 2013-09-27 公开(公告)号 JP6241177B2 公开(公告)日 2017-12-06
申请人 富士通株式会社; 发明人 陳 彬;
摘要
权利要求

場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データのグラフを生成する生成手段と、 前記属性データのグラフ上の現在場所から第1の前線までの各場所を確定周辺場所リストのメンバとし、前記第1の前線から前記属性データのグラフ上で前記第1の前線より前記現在場所から離れている第2の前線までの各場所を候補周辺場所リストのメンバとし、端末装置の現在場所をクエリとして、前記確定周辺場所リストのメンバである前記属性データのグラフ上の現在場所から前記第1の前線までの各場所と、前記候補周辺場所リストのメンバである前記属性データのグラフ上の前記第1の前線から前記第2の前線までの各場所とを更新することで、周辺場所を抽出する抽出手段と、 抽出した周辺場所の周辺場所モデルのデータを前記端末装置へ送信する送信手段と、 を備え、 前記周辺場所モデルのデータに含まれる、前記抽出した周辺場所は、前記属性データのグラフ上の前記第1の前線までの場所であることを識別可能とするタグが追加されていることを特徴とする、場所モデル更新装置。前記送信手段は、前記端末装置に格納されている、前記端末装置から受信した場所モデルと前記抽出手段により抽出された周辺場所モデルとの差分データを、前記端末装置へ送信することを特徴とする、請求項1記載の場所モデル更新装置。前記送信手段は、前記端末装置の移動先の新しい現在場所が前記属性データのグラフ上で前記第1の前線または前記第1の前線の付近であることを前記端末装置が前記タグから識別すると、前記端末装置から受信する要求に応じて要求された、前記抽出手段により抽出された周辺場所モデルのデータを、前記端末装置へ送信することを特徴とする、請求項1または2記載の場所モデル更新装置。前記場所間の属性は、前記端末装置における基地局からの電波の観測状態と観測欠損状態の頻度の特徴、及び、前記端末装置における受信信号強度の特徴の夫々の類似度を表すことを特徴とする、請求項1乃至3のいずれか1項記載の場所モデル更新装置。複数の基地局と通信可能な端末装置の位置を推定する位置推定方法であって、 前記端末装置が、 前記端末装置内に格納された場所モデルに基づいて前記位置を推定し、 サーバからダウンロードされたデータに基づいて前記場所モデルを更新し、 前記サーバが、 前記端末装置から受信したデータに基づいて前記サーバ内の記憶部に格納された場所モデルを更新する更新処理と送信処理を行い、 前記更新処理は、 場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データのグラフを生成する生成手順と、 前記属性データのグラフ上の現在場所から第1の前線までの各場所を確定周辺場所リストのメンバとし、前記第1の前線から前記属性データのグラフ上で前記第1の前線より前記現在場所から離れている第2の前線までの各場所を候補周辺場所リストのメンバとし、端末装置の現在場所をクエリとして、前記確定周辺場所リストのメンバである前記属性データのグラフ上の現在場所から前記第1の前線までの各場所と、前記候補周辺場所リストのメンバである前記属性データのグラフ上の前記第1の前線から前記第2の前線までの各場所とを更新することで、周辺場所を抽出する抽出手順とを含み、 前記送信処理は、 抽出した周辺場所の周辺場所モデルのデータを前記端末装置へ送信する送信手順 を含み、 前記抽出手順または前記送信手順は、周辺場所モデルのデータに含まれる、前記抽出した周辺場所に、前記属性データのグラフ上の前記第1の前線までの場所であることを識別可能とするタグを追加する手順を含むことを特徴とする、場所推定方法。端末装置から受信したデータに基づいて場所モデルを更新する更新処理をコンピュータに実行させるプログラムであって、 場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データのグラフを生成する生成手順と、 前記属性データのグラフ上の現在場所から第1の前線までの各場所を確定周辺場所リストのメンバとし、前記第1の前線から前記属性データのグラフ上で前記第1の前線より前記現在場所から離れている第2の前線までの各場所を候補周辺場所リストのメンバとし、端末装置の現在場所をクエリとして、前記確定周辺場所リストのメンバである前記属性データのグラフ上の現在場所から前記第1の前線までの各場所と、前記候補周辺場所リストのメンバである前記属性データのグラフ上の前記第1の前線から前記第2の前線までの各場所とを更新することで、周辺場所を抽出する抽出手順と、 抽出した周辺場所の周辺場所モデルのデータを前記端末装置へ送信する送信手順 を前記コンピュータに実行させ、 前記周辺場所モデルのデータに含まれる、前記抽出した周辺場所は、前記属性データのグラフ上の前記第1の前線までの場所であることを識別可能とするタグが追加されていることを特徴とする、プログラム。

说明书全文

本発明は、場所モデル更新装置、位置推定方法及びプログラムに関する。

端末装置の一例である携帯電話などの携帯端末が複数の基地局と無線で交信して、各基地局からの距離に応じて携帯端末における電波の受信信号強度が減衰することを利用して、携帯端末のある場所を推定する位置推定技術が提案されている。基地局は、例えばWiFi(Wireless Fidelity, 登録商標)を用いるアクセスポイント(AP: Access Point)である。

このような位置推定技術では、携帯端末が、事前に各場所で受信した基地局の識別子(ID: Identifier)と受信信号強度(RSSI: Received Signal Strength Indicator)を収集する。各場所で受信した複数の基地局のIDとRSSIの数値から、各場所について一意に求まるRSSI特徴ベクトルを作成して、場所毎に場所モデルを作成する。場所モデルとは、どの場所でどの基地局から、電波をどの程度の信号強度で受信するかを示すデータベースである。場所を推定する時には、携帯端末が基地局から受信した電波のRSSIを場所モデルと照合して、携帯端末のある場所と推定する。場所モデルは、一般的にはK近傍法(k-NN: k-Nearest Neighbor algorithm)、確率分布に基づく確率法、及びノンパラメトリック法及びパターンマッチング法などの方法で作成できる。

場所数が多くなると、携帯端末が基地局から受信した電波のRSSIを多くの場所モデルと照合する。各場所モデルの情報量は比較的多いため、多くの場所モデルを携帯端末に格納するには大記憶容量を確保しなければならない。しかし、携帯端末側の記憶容量は限られているので、多くの場所モデルを格納するのに十分な記憶容量を確保できない場合がある。そこで、携帯端末が基地局から受信した電波のRSSIを照合する場所モデルの数を単純に間引くことが考えられる。しかし、携帯端末がどの場所にあるのかは事前に知り得ないため、携帯端末側に全ての場所モデルが格納されていないと、位置推定精度が低下してしまう。一方、携帯端末側に全ての場所モデルを格納するのに十分な記憶容量を確保すれば位置推定精度は維持できるが、携帯端末に大記憶容量のメモリなどを設ける必要があり、携帯端末のコストが増大してしまう。

特開2012−145586号公報

特開2013−53930号公報

従来、位置推定精度を犠牲にすることなく、端末装置側で場所モデルを格納するための記憶容量を減少させることは難しい。

そこで、本発明は、位置推定精度を犠牲にすることなく、端末装置側で場所モデルを格納するための記憶容量を減少可能な場所モデル更新装置、位置推定方法及びプログラムを提供することを目的とする。

本発明の一観点によれば、場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データのグラフを生成する生成手段と、前記属性データのグラフ上の現在場所から第1の前線までの各場所を確定周辺場所リストのメンバとし、前記第1の前線から前記属性データのグラフ上で前記第1の前線より前記現在場所から離れている第2の前線までの各場所を候補周辺場所リストのメンバとし、端末装置の現在場所をクエリとして、前記確定周辺場所リストのメンバである前記属性データのグラフ上の現在場所から前記第1の前線までの各場所と、前記候補周辺場所リストのメンバである前記属性データのグラフ上の前記第1の前線から前記第2の前線までの各場所とを更新することで、周辺場所を抽出する抽出手段と、抽出した周辺場所の周辺場所モデルのデータを前記端末装置へ送信する送信手段と、を備え、前記周辺場所モデルのデータに含まれる、前記抽出した周辺場所は、前記属性データのグラフ上の前記第1の前線までの場所であることを識別可能とするタグが追加されている場所モデル更新装置が提供される。

開示の場所モデル更新装置、位置推定方法及びプログラムによれば、位置推定精度を犠牲にすることなく、端末装置側で場所モデルを格納するための記憶容量を減少させることができる。

一実施例における携帯端末の一例の構成を示すブロック図である。

複数のAPと携帯端末が存在し得る場所の関係の一例を説明する図である。

携帯端末の位置推定処理の一例を説明するフローチャートである。

全領域内AP情報リストのデータ構造の一例を示す図である。

場所モデルのデータ構造の一例を示す図である。

一実施例における位置推定システムの動作の一例を説明する図である。

場所モデルの一例を説明する図である。

位置推定システムに本発明者が見出した手法を適用した場合の構成の構成の一例をより詳細に示す図である。

プレイスグラフの一例を説明する図である。

第1の尤度差の値の分布の一例を示す図である。

第2の尤度差の値の分布の一例を示す図である。

第1及び第2の尤度差の分布距離の一例を示す図である。

類似度マトリックスの一例を説明する図である。

確定周辺場所リストと候補周辺場所リストの更新処理の一例を説明するフローチャートである。

周辺場所抽出処理の一例をより詳細に説明するフローチャートである。

周辺場所抽出処理で用いるプレイスグラフの一例を示す図である。

周辺場所抽出処理で用いるプレイスグラフの一例を示す図である。

周辺場所抽出処理で用いるプレイスグラフの一例を示す図である。

周辺場所抽出処理で用いるプレイスグラフの一例を示す図である。

周辺場所抽出処理で用いるプレイスグラフの一例を示す図である。

場所モデルのデータ構造の他の例を示す図である。

サーバ側と携帯端末側の処理の概略を説明するフローチャートである。

サーバ側の一部の処理の詳細を説明する図である。

携帯端末側の一部の処理の詳細を説明する図である。

開示の場所モデル更新装置、位置推定方法及びプログラムでは、場所モデル更新装置が、場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データを生成する。現在場所から第1の前線までの各場所を確定周辺場所リストのメンバとし、第1の前線から第2の前線までの各場所を候補周辺場所リストのメンバとする。端末装置の現在場所をクエリとして、場所モデル更新装置は、確定周辺場所リストのメンバである属性データ上の現在場所から第1の前線までの各場所と、候補周辺場所リストのメンバである属性データ上の第1の前線から第2の前線までの各場所とを更新することで、端末装置の現在場所の周辺場所の場所モデルを抽出する。場所モデル更新装置は、抽出した周辺場所に第1の前線までの場所であることを識別可能とするタグを周辺場所モデルに含め、端末装置へ送信する。端末装置が移動し、端末装置の移動先の新しい現在場所が第1の前線または第2の前線の付近であることをタグから識別すると、端末装置は場所モデルを更新するため、場所モデル更新装置に対して、場所モデル更新装置が抽出した周辺場所モデルのデータを要求する。場所モデル更新装置は、要求に応じて、抽出された周辺場所モデルのデータを端末装置へ送信する。

端末装置が場所モデル更新装置から受信する周辺場所モデルのデータは、端末装置に格納されている場所モデルと場所モデル更新装置において抽出された周辺場所モデルとの差分データであっても良い。

以下に、開示の場所モデル更新装置、位置推定方法及びプログラムの各実施例を図面と共に説明する。

図1は、一実施例における携帯端末の一例の構成を示すブロック図である。図1に示す携帯端末1は、通信機能を備えた端末装置の一例であり、例えばスマートホンなどの携帯電話などであっても良い。携帯端末1は、CPU(Central Processing Unit)11、記憶部12、入部13、表示部14、及び通信部15がバス16で接続された構成を有するが、バス16による接続に限定されるものではない。

CPU11は、コンピュータまたはプロセッサの一例である。CPU11は、携帯端末1全体の制御を司り、プログラムを実行することで後述する位置推定処理などを実行する。記憶部12は、CPU11が実行するプログラム、CPU11が実行する演算の中間結果、CPU11が実行するプログラム及び演算で用いるデータなどを格納する。記憶部12は、コンピュータ読み取り可能な記憶媒体で形成可能である。コンピュータ読み取り可能な記憶媒体は、半導体記憶装置であっても良い。また、コンピュータ読み取り可能な記憶媒体が磁気記録媒体、光記録媒体、光磁気記録媒体などの場合、記憶部12はロードされた記録媒体に対して情報の読み書きを行うリーダ・ライタで形成可能である。

入力部13は、キーボードなどで形成可能であり、例えば携帯端末1にコマンド、データなどを入力する際に操作される。表示部14は、例えばLCD(Liquid Crystal Display)により形成可能であり、ガイダンス、メッセージなどを表示する。入力部13及び表示部14は、一体的に設けられていても良く、例えばタッチパネルなどで形成されていても良い。通信部15は、外部装置(図示せず)と無線で通信可能な無線通信機能を備え、受信機、送信機、アンテナなどを含む周知の構成を有する。この例では、通信部15は例えばWiFiを用いるアクセスポイント(AP: Access Point)と通信可能である。APは、基地局の一例である。

図2は、複数のAPと、携帯端末が存在し得る場所の関係の一例を説明する図である。図2に示す例では、複数のAP1〜AP5が場所名L1, L2の場所をカバーしており、ユーザが保持する携帯端末1は場所名L1の場所内に存在する。携帯端末1の受信信号強度(RSSI)は、AP1からがRSSI-1、AP2からがRSSI-2、AP3からがRSSI-3、AP4からがRSSI-4、及びAP5からがRSSI-5である。

図3は、携帯端末の位置推定処理の一例を説明するフローチャートである。図3に示す位置推定処理は、CPU11により実行可能である。図3において、ステップS1では、CPU11が通信部15を介して各APからのWiFiデータ(以下、「WiFiスキャンデータ」とも言う)をスキャンして、各APのマックアドレス(MAC address: Media Access Control address)とRSSIを取得して、RSSI特徴ベクトルを作成すると共に、記憶部12に格納された全域内AP情報リスト100を参照して、全域内AP情報リスト100に無い未学習のAPを除外する。

図4は、全領域内AP情報リストのデータ構造の一例を示す図である。図4に示す全域内AP情報リスト100には、各APに便宜上割り当てられたAP番号1,2,...に対し、各APのMACアドレスM1, M2, ...及びAPのカバー場所リストが格納されている。APのカバー場所リストには、場所名L1, L2, L3, ...などが格納されている。

全域内AP情報リスト100は、例えば以下に説明するように、WiFiスキャンデータから取得した情報に基づいて作成することができる。最初は、空の全域内AP情報リスト100を用意する。その後、全域内AP情報リスト100を検索して、WiFiスキャンデータのソースであるチェックインAPが新しければ、チェックインAPのMACアドレスを全域内AP情報リスト100に追加する。同時に、このチェックインAPのカバー場所リストにチェックインした場所名を追加する。チェックインAPが全域内AP情報リスト100の中に既に格納されている場合、このチェックインAPのカバー場所リストを検索して、チェックイン場所名が新しければ、チェックイン場所名をカバー場所リストに追加する。

ステップS2では、CPU11が図4の全域内AP情報リスト100を参照して、検索したAPの全てのカバー場所を候補場所として、候補場所リストを作成し、記憶部12に格納する。ステップS2では、例えば以下の処理を各APiに対して実行する。先ず、全域内AP情報リスト100を参照してAPiのカバー場所リストを抽出する。次に、APiのカバー場所リストの全てのメンバ(即ち、場所)を候補場所リストへの追加する処理を行い、メンバ(即ち、場所)が候補場所リストへの追加済みであればこの処理はスキップする。次に、全APiに対する処理が完了したか否かを判定し、判定結果がNOであるとAPiのカバー場所リストを抽出する処理へ戻り、判定結果がYESであると処理は図3のステップS3へ進む。

図3において、ステップS3では、CPU11が候補場所リストの各メンバ(即ち、場所)に対して、WiFiスキャンデータのソースであるAPの第1段階観測確率を計算する。図5は、場所モデルのデータ構造の一例を示す図である。図5に示す場所モデル200には、場所番号、場所名、場所内で使用する第2段階観測確率の閾値、及び観測可能なAPリストが格納されている。観測可能なAPリストには、MACアドレスに対し、欠損確率、観測確率、APが観測された場合のRSSIの強度レベル別観測確率などが格納されている。図5は、例えばAPが観測された場合のRSSIの強度レベル数が4であり、観測可能なAPのリストの長さが例えば3の場合を示す。場所モデル200は、例えば記憶部12に格納される。なお、観測可能なAPリストは、場所モデル200の確率情報部分を含むため、図3では「場所モデル(確率情報)」として示されている。一方、観測可能なAPリスト以外の部分は、場所モデル200の各場所で使用する第2段階観測確率の閾値情報部分を含むため、図3では「場所モデル(閾値情報)」として示されている。

ステップS3では、CPU11が例えば以下の処理を各候補場所に対して、各APiに対して実行する。先ず、図5に示す場所モデル200の候補場所の観測可能なAPリストを検索し、APiがこの観測可能なAPリストにあれば、事前に学習した観測確率を取得する。一方、APiがこの観測可能なAPリストの中に無ければ、事前に設定した例えば比較的小さな定数をAPiの観測確率とする。次に、APiの観測確率を記憶部12に格納された観測確率の積に累積し、全APiに対する処理が完了したか否かを判定し、判定結果がNOであると処理は各APiに対する処理へ戻り、判定結果がYESであると図5に示す場所モデル200の候補場所の観測可能なAPリストを抽出する。

次に、各観測可能なAPに対して以下の処理を実行する。先ず、WiFiスキャンデータ(AP1(MAC, RSSI), ...)を検索して、観測可能なAPが欠損であるか否かを判定し、観測可能なAPのMACアドレスがWiFiスキャンデータの中に無いと、欠損ではないと判定して欠損の判定を繰り返す。一方、欠損であると判定されると、欠損である観測可能なAPの欠損確率を場所モデル200から抽出し、欠損確率を記憶部12に格納された欠損確率の積に累積する。観測可能な全APに対する処理が完了すると、記憶部12に格納された観測確率の積と欠損確率の積の値の積を計算する。計算した値の積は、候補場所の第1段階観測確率として、候補場所とペアリングして記憶部12に格納する。全候補場所に対する処理が完了すると、処理は図3のステップS4へ進む。

図3において、ステップS4では、CPU 11が第1段階観測確率の下位の候補場所を切り捨て、候補場所を絞り込む。ステップS5では、CPU11が絞り込んだ候補場所に対して、RSSI特徴ベクトルに基づき第2段階観測確率を計算する。第2段階観測確率計算処理は、ステップS3で計算した第1段階観測確率によってステップS4において絞り込んだ候補場所リストを対象とする。

ステップS5では、CPU11が例えば以下の処理を各候補場所に対して、各APiに対して実行する。先ず、場所モデル200を参照して、APiのMACアドレスが候補場所の観測可能なAPリストにあれば、APiのRSSIから強度レベルを計算して、APi が観測された場合のRSSIの強度レベル別観測確率を場所モデル200から取得する。一方、APiのMACアドレスが候補場所の観測可能なAPリストに無ければ、事前に設定した例えば比較的小さな固定値をAPiが観測された場合のRSSIの強度レベル別観測確率とする。次に、APiが観測された場合のRSSIの強度レベル別観測確率を、記憶部12に格納された強度レベル別観測確率の積へ積算し、全APiに対する処理が完了したか否かを判定し、判定結果がNOであると処理は各APiに対する処理へ戻り、判定結果がYESであるとステップS3で計算した欠損確率の積を、強度レベル別観測確率の積と積算し、記憶部12に格納する。次に、計算した積を第2段階観測確率と定義して、候補場所とペアリングして記憶部12に格納する。全候補場所に対する処理が終了すると、処理は図3のステップS6へ進む。

図3において、ステップS6では、CPU11が第2段階確率が最大である候補場所を抽出(または、選択)する。ステップS7では、CPU11が図5に示す場所モデル200を参照して、第2段階確率が最大である候補場所の閾値を用いて、第2段階確率が閾値未満であれば携帯端末1が最終候補場所におらず携帯端末1の場所は不明であり、第2段階確率が閾値以上であれば携帯端末1が最終候補場所にあると判定する。ステップS8では、CPU11が携帯端末1のある場所、または、携帯端末1の場所がわからないという判定結果を出力し、位置推定処理は終了する。ステップS8で出力される判定結果は、例えば携帯端末1の位置を利用したサービスを提供するアプリケーションなどへ出力しても良い。

CPU11は、位置推定方法の手順であるステップS1〜S5の処理を実行することで、複数の基地局からの受信信号に基づき推定した携帯端末の候補位置を、ある基地局からの受信信号のデータ欠損に基づき絞り込む絞り込み手段(または、絞り込み部)として機能しても良い。また、CPU11は、位置推定方法の手順であるステップS6,S7の処理を実行することで、絞り込んだ候補位置の中から受信信号強度の観測確率に基づき携帯端末の位置を推定する推定手段(または、推定部)として機能しても良い。

次に、一実施例における位置推定システムの一例を、図6と共に説明する。図6は、一実施例における位置推定システムの動作の一例を説明する図である。図6に示す位置推定システム20は、携帯端末1と、携帯端末1と無線通信を行えるサーバ21を有する。サーバ21は、携帯端末1からチェックインしたデータ(以下、「チェックインデータ」とも言う)を用いて、場所モデル200を学習(以下、「更新」と言う)する機能を有する。携帯端末1が、サーバ21からダウロードした場所モデル200に基づいて、新たに観測したRSSI特徴ベクトルに基づいて位置推定処理を行う。なお、サーバ21は、プロセッサ及び記憶部を備えた周知の構成を有し、例えば図1に示す携帯端末1と同様のハードウェア構成を有しても良いため、サーバ21のハードウェア構成の図示及び説明は省略する。この例では、サーバ21は、場所データ更新装置の一例として機能する。

図6において、ステップST1では、携帯端末1のプロセッサ(例えば、CPU11)がWiFiスキャンデータから各APのMACアドレスとRSSIを含むチェックインデータを取得する。ステップST2では、携帯端末1のプロセッサがチェックインデータをサーバ21へ送信する。

ステップST21では、サーバ21のプロセッサ(図1のCPU11に相当)が携帯端末1からのチェックインデータを受信してサーバ21の記憶部内のチェックインデータファイル300に保存する。チェックインデータをチェックインデータファイル300に保存してから一定期間が経過すると、ステップST22では、サーバ21のプロセッサがチェックインデータファイル300をサーバ21の記憶部(図1の記憶部12に相当)から読み込み、場所モデル200の更新処理を実行する。

場所モデル200の更新処理には、場所モデル200の確率情報部分の更新、場所モデル200の閾値情報部分の更新などを含んでも良い。確率情報部分の更新では、チェックインデータを用いて場所モデル200の確率情報部分である場所モデル(確率情報)を更新する。その後、第2段階観測確率の計算において、場所モデル(確率情報)に基づいて、チェックインデータに対して、場所推定の第2段階の処理を行う。場所推定の第2段階の処理で得られた第2段階観測確率とチェックイン場所の場所名は、第2段階観測確率の閾値、即ち、各チェックイン場所における閾値の計算に用いられ、場所モデル200の閾値情報部分である場所モデル(閾値情報)を更新する。このように、場所モデルの確率情報部分と閾値情報部分が更新された後、場所モデル200の更新が完了する。

ステップST23では、サーバ21のプロセッサが更新された場所モデル200のファイル(以下、「場所モデルファイル」とも言う)200Aを生成し、サーバ21の記憶部に格納する。ステップST24では、サーバ21のプロセッサが場所モデルファイル200Aを読み込み携帯端末1へ送信する。

ステップST3では、携帯端末1のプロセッサがサーバ21からの場所モデルファイル200Aを受信して携帯端末1の記憶部12に格納する。つまり、携帯端末1は、サーバ21側で新しい場所モデルファイル200Aが生成される度に、場所モデルファイル200Aを記憶部12に格納して場所モデルを更新する。ステップST4では、携帯端末1のプロセッサが記憶部12から場所モデルファイル200Aを読み込み、場所モデル200を用いて、チェックインデータRSSI特徴ベクトルに基づいて位置推定処理を行い、携帯端末1の場所の判定結果を出力する。

図7は場所モデルの一例を説明する図であり、AP観測及び欠損確率、及びRSSIレベル別観測確率を示す。図7のHTG1中、(a)は場所名L1の場所で収集した22個の学習サンプル(チェックインデータ)の内、AP1の観測を欠損したサンプルが5個、観測したサンプルが17個ある例を示す欠損及び観測ヒストグラムである。この場合、場所名L1の場所におけるAP1の欠損確率は5/22=0.227、観測確率は17/22=0.773である。さらに、HTG1中、(b)に示すRSSIヒストグラムのように、AP1を観測した17個サンプルの内、RSSIレベル0からレベル3のサンプル数が夫々4個、6個、5個及び2個である。従って、場所名L1の場所でAP1が観測された場合、RSSIレベル0からレベル3の観測確率が夫々、4/17=0.235、6/17=0.353、5/17=0.294、2/17=0.118である。同様に、HTG1中、(c)に示す欠損及び観測ヒストグラムのように、場所名L1の場所におけるAP2の欠損確率は2/22=0.091、観測確率は20/22=0.909である。また、HTG1中、(d)に示すRSSIヒストグラムのように、場所名L1の場所でAP2が観測された場合、RSSIレベル1からレベル5の観測確率は夫々、2/20=0.100、5/20=0.250、2/20=0.100、8/20=0.400、3/20=0.150である。

図7のHTG2中、(a)は場所名L2の場所で収集した20個の学習サンプル(チェックインデータ)の内、AP1の観測を欠損したサンプルが2個、観測したサンプルが18個ある例を示す。この場合、場所名L1の場所におけるAP1の欠損確率は2/20=0.100、観測確率は18/20=0.900である。さらに、HTG2中、(b)に示すように、AP1を観測した18個サンプルの内、RSSIレベル1からレベル5のサンプル数が夫々1個、2個、3個、5個及び7個である。同様に、HTG2中、(c)に示すように、場所名L2の場所におけるAP2の欠損確率は5/20=0.250、観測確率は15/20=0.750である。また、HTG2中、(d)に示すように、場所名L2の場所でAP2が観測された場合、RSSIレベル0からレベル5の観測確率は夫々、4/15=0.267、2/15=0.133、3/15=0.200、3/15=0.200、2/15=0.133、1/15=0.067である。

図7のHTG1,HTG1'において、(a),(c)の縦軸はデータの観測欠損頻度及び観測頻度、横軸はAP1, AP2の観測欠損状態または観測状態を示し(b),(d)の縦軸は観測頻度、横軸はAPI. AP2のRSSIレベルを示す。

候補場所の尤度は、(観測RSSIレベルの確率)×(欠損APの確率)から計算できる。例えばAP1をスキャンしたRSSIがレベル1の場合、場所名L1の場所の尤度は(AP1のRSSIレベルが1である確率(6/17))×(AP2の欠損確率(2/22))=0.032となる。また、例えばAP1をスキャンしたRSSIレベルが1であり、且つ、AP2をスキャンしたRSSIレベルが4の場合、場所名L1の場所の尤度は(AP1のRSSIが1である確率(6/17))×(AP2のRSSIが4である確率(8/20))=0.141となる。

場所検知システムの運用者が一定の場所数から収集したRSSIサンプルに基づいて初期場所モデルを作成しておき、場所モデルの更新時または場所検知の運用中に、携帯端末からのサンプルに基づいて初期場所モデルを更新することで、位置推定精度の向上を図っても良い。

場所数が多くなると、場所モデルの情報量、即ち、データサイズが大きくなる。しかし、 携帯端末が基地局から受信した電波のRSSIを照合する場所モデルの数を単純に間引くと、携帯端末がどの場所にあるのかは事前に知り得ないため、位置推定精度が低下してしまう。これは、場所モデルには、隣接する場所間の空間的関係が含まれないため、携帯端末が現在ある場所で照合に用いるべき場所モデルを多数の場所モデルから適切に抽出することができないことに起因する。そこで、本発明者は、比較的簡単に隣接する場所間の空間的関係を求め、この空間的関係に基づき携帯端末が現在ある場所で照合に用いるべき場所モデルを抽出することで、位置推定精度を犠牲にすることなく、携帯端末側で場所モデルを格納するための記憶容量を減少させる手法を見出した。

一般的に、隣接する場所間の空間的関係は未知であるが、一般的なAP配置方式の環境下では、隣接する場所間ではRSSIの分布が類似していると考えられる。例えば、互いに隣り合う場所間では、携帯端末は略同じAPから電波を受信するので、RSSIの分布が類似している。一方、互いに遠く離れた場所間では、携帯端末は異なるAPから電波を受信するため、RSSIの分布も異なる。そこで、このような特徴を活用して、隣接する場所間の空間的関係を、隣接する場所の夫々におけるAPからの電波の観測状態と観測欠損状態及びRSSIから求める。

具体的には、場所の属性と、隣接する場所間で、APからの電波の観測状態と観測欠損状態の頻度の特徴及びRSSIの特徴の夫々の類似度とを表すプレイスグラフ(Place Graph)を、携帯端末が現在ある場所をクエリ(Query)としてサーバ側で生成する。つまり、プレイスグラフでは、場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される。そして、プレイスグラフに基づき携帯端末が現在ある場所で照合に用いるべき周辺場所の場所モデルをサーバ側で抽出して、抽出した場所モデルを携帯端末へ送信することで携帯端末が照合に用いる携帯端末内に格納された場所モデルを更新する。携帯端末側では、照合に用いる場所モデルだけを格納して更新すれば良いため、場所数が多くなっても、携帯端末側で格納するべきデータサイズを小さくすることができ、位置推定精度を犠牲にすることなく、携帯端末側で場所モデルを格納するための記憶容量を減少させることができる。また、携帯端末側で格納するべきデータサイズを小さくすることができるので、携帯端末側に大記憶容量のメモリなどを設ける必要がなく、その分携帯端末のコストも低く抑えることができる。従って、携帯端末が移動しても、携帯端末が位置推定に用いる周辺場所モデルを自動的に更新することができる。

図8は、図6に示す位置推定システムに本発明者が見出した手法を適用した場合の構成の一例をより詳細に示す図である。図8中、図6と同一部分には同一符号を付し、その説明は省略する。

図8において、サーバ21が実行するステップST23には、チェックインデータ及び場所モデルに基づいて、後述するプレイスグラフを生成してサーバ21の記憶部に格納するプレイスグラフ生成処理を実行するステップST231と、サーバ21の記憶部から読み込んだプレイスグラフに基づいて携帯端末1が現在ある場所の周辺場所の場所モデルを抽出する場所モデル抽出処理を実行するステップST232とが含まれる。プレイスグラフは、場所モデルファイル200Aに格納されても良い。ステップST232の場所モデル抽出処理で抽出された、携帯端末1が現在ある場所の周辺場所の場所モデルは、サーバ21が実行するステップST24の送信処理で携帯端末1へ送信される。一方、携帯端末1が実行するステップST3には、サーバ21が抽出して送信した、携帯端末1が現在ある場所の周辺場所の場所モデル受信し、携帯端末1の記憶部12に格納して場所モデルを更新するステップST301が含まれる。つまり、携帯端末1は、サーバ21側で携帯端末1が現在ある場所の周辺場所の場所モデルが抽出されて送信される度に、サーバ21からダウンロードされた場所モデルに基づき記憶部12に格納された場所モデルファイル200Aを更新する。ステップST4では、携帯端末1は記憶部12から更新された場所モデルファイル200Aを読み込み、更新された場所モデル200を用いて、チェックインデータRSSI特徴ベクトルに基づいて位置推定処理を行い、携帯端末1の場所の判定結果を出力する。ステップST4では、携帯端末1が、WiFiスキャン(ステップST1)で得られたRSSIデータを更新された周辺場所の場所モデルと照合して、携帯端末1の現在場所を検知できる。

サーバ21のプロセッサは、上記ステップST231のプレイスグラフ生成処理を実行する生成手段(または、生成部)と、上記ステップST232の場所モデル抽出処理を実行する抽出手段(または、抽出部)として機能しても良い。また、サーバ21のプロセッサは、上記ステップST24の送信処理を実行する送信手段(または、送信部)として機能しても良い。

図8の例では、携帯端末1からのチェックインデータ送信(ステップST2)がサーバ21に対する周辺場所の場所モデルのダウンロード要求を形成できる。この場合、サーバ21は、ダウンロード要求を受け付けると、ステップST21,ST22の処理に加え、ステップST23のステップST231,ST232においてプレイスグラフ生成処理及び場所モデル抽出処理を実行することで、携帯端末1が現在ある場所の周辺場所の場所モデルを抽出してステップST24の送信処理で抽出した場所モデルを携帯端末1へ送信する。

なお、ステップST301において、携帯端末1が、サーバ21に対して場所モデルの更新要求、周辺場所の場所モデルの要求などのダウンロード要求を送信するようにしても良い。この場合、ステップST24において、サーバ21がダウンロード要求を受け付けると、ステップST23のステップST231,ST232において、サーバ21がプレイスグラフ生成処理及び場所モデル抽出処理を実行し、ステップST24の送信処理で抽出した場所モデルを携帯端末1へ送信する。これにより、ステップST301において、携帯端末1が、サーバ21から抽出された周辺場所の場所モデルをダウンロードすることができる。

次に、ステップST231のプレイスグラフ生成処理について、図9と共に説明する。図9は、プレイスグラフの一例を説明する図である。図9において、○印は場所を表すプレイスグラフの場所ノードを示す。各場所ノードは、場所名、ヒストグラムのデータサイズなどの情報を保持している。例えば、C0は、場所L1でのRSSIヒストグラムのデータサイズを示すデータである。C0, C1, ...の値は、夫々の場所で観測されるAPの数で決まるデータであり、C0, C1, ...の単位は例えばバイト(Byte)である。また、図9において、○印間を繋ぐ線で表す、隣接する場所ノード間を接続するリンクは、隣接する場所間の空間的関係の一例である、隣接する一方の場所におけるAPからの電波の観測状態と観測欠損状態及びRSSIを含むRSSI分布特徴と、隣接する他方の場所におけるAPからの電波の観測状態と観測欠損状態及びRSSIを含むRSSI分布特徴との類似度を表す。例えば、リンクの値S01は、場所L0, L1間のRSSI分布特徴の類似度を示すデータであり、以下に説明する方法で計算可能である。

例えば、場所L0, L1間のRSSI分布特徴の類似度は、以下に説明するように第1及び第2の尤度差を計算し、第1及び第2の尤度差の分布距離を計算することで求めることができる。

先ず、第1の尤度差は、場所L1で収集したサンプル[a1(xx,...),L1], [a2(xx,...),L1]の、場所L1で観測したデータとしての尤度p(a1|L1), p(a2|L1)と、場所L2で観測したデータとしての尤度p(a1|L2), p(a2|L2)との差q(a1)= p(a1|L1)-p(a1|L2), q(a2)= p(a2|L1)-p(a2|L2)を計算する。図10は、第1の尤度差の値の分布の一例を示す図であり、縦軸が頻度を任意単位で示し、横軸が第1の尤度差を任意単位で示す。場所L1, L2が空間的に近い場合、夫々の尤度qの値が近いので、第1の尤度差の値は0.0に近い。一方、場所L1, L2が空間的に離れている場合、場所L1で観測した尤度qの値が場所L2で観測した尤度qと比較して大きいので、第1の尤度差の値は0.0より大きくなる。

次に、第2の尤度差は、場所L2で収集したサンプル[b1(xx,...),L2], [b2(xx,...),L2]の、場所L1で観測したデータとしての尤度p(b1|L1), p(b2|L1)と、場所L2で観測したデータとしての尤度p(b1|L2), p(b2|L2)との差q(b1)= p(b1|L1)-p(b1|L2), q(b2)= p(b2|L1)-p(b2|L2)を計算する。図11は、第2の尤度差の値の分布の一例を示す図であり、縦軸が頻度を任意単位で示し、横軸が第2の尤度差を任意単位で示す。場所L1, L2が空間的に近い場合、夫々の尤度qの値が近いので、第2の尤度差の値は0.0に近い。一方、場所L1, L2が空間的に離れている場合、場所L2で観測した尤度qの値が場所L1で観測した尤度qと比較して大きいので、第2の尤度差の値は0.0より大きくなる。

次に、第1及び第2の尤度差の分布距離を計算する。図12は、第1及び第2の尤度差の分布距離の一例を示す図である。この例では、第1及び第2の尤度差の分布距離を、尤度差分散比で表す。

尤度差分散には、尤度差分種内の尤度差分散と尤度差分種間の尤度差分散がある。尤度差分種内の尤度分散は、次式で表すように、第1の尤度差の分散と第2の尤度差の分散の平均値から求めることができる。ここで、NAは場所L1で収集したサンプル数、NBは場所L2で収集したサンプル数、αiは場所L1で収集した第i番目のサンプル、bjは場所L2で収集した第j番目のサンプル、q(αi)はサンプルαiから計算した第の尤度差、q(bj)はサンプルbjから計算した第2の尤度差、mαは第1の尤度差の平均値、mbは第2の尤度差の平均値、mは第1の尤度差と第2の尤度差の平均を表す。

なお、尤度の計算方法は、上記の計算方法に限定されず、公知の計算方法を用いても良い。例えば、RSSI分布をヒストグラムで表現するのではなく、平均分散でガウス分布として表現した方法を用いても良い。

図13は、類似度マトリックスの一例を説明する図である。プレイスグラフは、例えば各場所間の類似度を示す類似度マトリックスを計算し、場所をプレイスグラフの場所ノードとして、類似度が0でない場所間をリンクすることで生成することができる。類似度マトリクスは、図13に示すように対称性を有するため、図13の左上から右下への対線に対して右上半分または左下半分の類似度(即ち、リンクの値)だけを計算すれば良い。ただし、2つの場所間で共有するAPが無い場合には、類似度は計算せずに、類似度マトリクスの対応するセルにゼロ(0)を挿入する。これにより、例えば図9に示す如きプレイスグラフが生成される。

なお、プレイスグラフは、場所の特性と場所間の類似度を表すグラフ(Graph)、表(Table)、ツリー(Tree)などであれば良く、場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データであればグラフに限定されない。

次に、ステップST232の場所モデル抽出処理について、図14及び図15と共に説明する。図14は、確定周辺場所リストと候補周辺場所リストの更新処理の一例を説明するフローチャートである。

図14において、ステップS21では、サーバ21のプロセッサが確定周辺場所リストと候補周辺場所リストを用意して、例えばサーバ21の記憶部に格納されるこれらのリストを初期化する。確定周辺場所リストには、現在場所と、現在場所にリンクしている場所とが、確定周辺場所として記載される。また、候補周辺場所リストには、確定周辺場所にリンクしている未確定場所が、候補周辺場所として記載される。ステップS22では、サーバ21のプロセッサが確定周辺場所リストを更新する。確定周辺場所リストの更新では、候補周辺場所リストから、確定された周辺場所との類似度が最も高い場所を抽出して、確定周辺場所として、確定周辺場所リストに記載する。

ステップS23では、確定周辺場所の場所モデルのモデルサイズの合計が制限値を超えたか否かを判定し、判定結果がNOであると処理はステップS24へ進み、判定結果がYESであると処理はステップS25へ進む。ステップS24では、サーバ21のプロセッサが候補周辺場所リストを更新する。候補周辺場所リストの更新では、今回確定された周辺場所のリンク先にある確定周辺場所リストと候補周辺場所リストの両方に無い場所が、候補場所として候補周辺場所に記載される。これにより、確定周辺場所の場所モデルのモデルサイズの合計が制限値に到達するまで、確定周辺場所リストの更新と候補周辺場所リストの更新が繰り返される。ステップS25では、サーバ21のプロセッサが確定場所の場所モデルをサーバ21の記憶部から読み込む。

図15は、周辺場所抽出処理の一例をより詳細に説明するフローチャートである。図15において、ステップS31では、サーバ21のプロセッサが初期化処理を行う。この初期化処理では、確定した場所を保存する確定周辺場所リストをクリアし、候補場所を保存する候補周辺場所リストをクリアし、周辺場所の場所モデル(以下、「周辺場所モデル」とも言う)の総データサイズをゼロ(0)にセットする。

ステップS32では、サーバ21のプロセッサが第1の処理の一例であるクローズ(Close)処理を行う。このClose処理では、携帯端末1が現在ある場所の場所ノード(以下、「現在場所ノード」とも言う)と現在場所ノードにリンクしている場所ノードを確定周辺場所リストに追加する。ステップS33では、サーバ21のプロセッサが確定周辺場所リストの場所モデルのデータサイズを求め、総データサイズにセットする。ステップS34では、サーバ21のプロセッサが第2の処理の一例であるオープン(Open)処理を行う。このOpen処理では、確定周辺場所リストにリンクしており、且つ、候補周辺場所リストに入っていない場所ノードを、候補周辺場所リストに入れる。

ステップS35では、サーバ21のプロセッサが候補周辺場所リストから、親場所ノードとのリンク値(即ち、類似度)が最大である場所ノードを選択する。ステップS36では、サーバ21のプロセッサがステップS35で選択された場所ノードのデータサイズを、確定周辺場所リストの場所モデルのデータサイズに加え、総データサイズの見積値を見積もる。ステップS37では、サーバ21のプロセッサがステップS36で見積もった総データサイズの見積値が制限値以上であるか否かを判定し、判定結果がYESであると処理は後述するステップS40へ進み、判定結果がNOであるとステップS38へ進む。制限値は、携帯端末1側及びサーバ21側の記憶部の記憶容量(または、メモリサイズ)に合わせて設定できる。

ステップS38では、サーバ21のプロセッサがClose処理を行う。このClose処理では、選択した場所ノードを確定周辺場所リストに追加することで、見積もった総データサイズを確定する。ステップS39では、サーバ21のプロセッサがClose処理で選択された場所ノードにリンクしており、且つ、Open処理とClose処理を施されていない場所ノードを候補周辺場所リストに入れ、処理はステップS35へ戻る。ステップS40では、サーバ21のプロセッサが確定周辺場所リストのメンバ(即ち、場所)を抽出して、携帯端末1へ送信するべき周辺場所モデルをサーバ21の記憶部から読み出して準備する。

図16〜図20は、周辺場所抽出処理で用いるプレイスグラフの一例を示す図である。図16〜図20中、同一部分には同一符号を付す。

図16は、現在場所の周辺場所を抽出する場合のプレイスグラフの一例を示す。この例では、場所L0が現在場所であり、場所L0の場所モデルのデータサイズC0は2.0K(Kはキロバイトを示す)、場所L0, L1間の類似度S01は0.9、場所L1の場所モデルのデータサイズは1.2K、場所L0, L2間の類似度S02は0.3、場所L2の場所モデルのデータサイズC2は1.5K、場所L2, L5間の類似度S25は0.4である。他の値は、図16に示す通りである。

図17は、図16のプレイスグラフに対して、図15のステップS31〜S34までの処理を行った状態を示す。図17において、Close前線を一点鎖線で示し、Open前線を二点鎖線で示す。現在場所L0からClose前線までの各場所は、確定周辺場所リストのメンバである。また、Close前線からOpen前線までの各場所は、候補周辺場所リストのメンバである。現在場所ノードからClose前線までのリンク数は、現在場所ノードからOpen前線までのリンク数より少ない。従って、この例では、確定周辺場所リストには場所L0, L1, L2が記載され、候補周辺場所リストには場所L3, L4, L5が記載されている。また、Close総データサイズは、2.0K+1.2K+0.3K=3.5K<8.0Kであり、制限値8.0未満である。

図18は、図17のプレイスグラフに対して、ステップS35〜S39までの1回目の更新処理を行った状態を示す。この例では、候補周辺場所リストから、親場所ノードとのリンク値が最大である場所は場所L3であり、リンクの値S13が0.5であり、Close総データサイズに場所L3のデータサイズを加えても見積値が制限値を超えない。Close総データサイズは、2.0K+1.2K+0.3K+2.2K=5.7K<8.0Kであり、制限値8.0未満である。従って、場所L3をClose処理の候補として選択し、場所L3にリンクしている場所L6, L7にOpen処理を施す。これにより、確定周辺場所リストには場所L0, L1, L2, L3が記載され、候補周辺場所リストには場所L4, L5, L6, L7が記載されている。

図19は、図18のプレイスグラフに対して、ステップS35〜S39までの2回目の更新処理を行った状態を示す。この例では、候補周辺場所リストに記載された場所L4, L5, L6, L7から、親場所ノードとのリンク値が最大である場所は場所L6であり、リンクの値S36が0.6であり、Close総データサイズに場所L6のデータサイズを加えても見積値が制限値を超えない。Close総データサイズは、2.0K+1.2K+0.3K+2.2K+1.0K=6.7K<8.0Kであり、制限値8.0未満である。従って、場所L6をClose処理の候補として選択する。この場合、場所L6にリンクしており、且つ、Close処理及びOpen処理を施されていない場所はないため、新たにOpen処理を施すべき場所がない。従って、確定周辺場所リストには場所L0, L1, L2, L3, L6が記載され、候補周辺場所リストには場所L4, L5, L7が記載されている。

図20は、図19のプレイスグラフに対して、ステップS35〜S39までの3回目の更新処理を行った状態を示す。この例では、候補周辺場所リストに記載された(場所L4, L5, L7)から、親場所ノードとのリンク値が最大である場所は場所L5であり、リンクの値S25が1.6である。この場合、Close総データサイズに場所L5のデータサイズを加えると、見積値が制限値を超えてしまう。Close総データサイズは、2.0K+1.2K+0.3K+2.2K+1.0K+1.6K =8.3K>8.0Kであり、制限値8.0を超えてしまう。確定周辺場所リストには場所L0, L1, L2, L3, L6, L5が記載され、候補周辺場所リストには場所L4, L7が記載されている。また、Close総データサイズが制限値を超えるので(ステップS37でYESとなるので)、ステップS35〜S39までの更新処理を終了し、確定周辺場所リストに記載された場所L5以外の場所L0, L1, L2, L3, L6が抽出するべき周辺場所であると判断する(ステップS40)。

これにより、携帯端末1の現在場所をクエリとして、サーバ21は確定周辺場所リストのメンバであるプレイスグラフ上の現在場所からClose前線までの各場所と、候補周辺場所リストのメンバであるプレイスグラフ上のClose前線からOpen前線までの各場所とを更新することで、周辺場所を抽出する。つまり、サーバ21は、Close前線及びOpen前線の各前線にある場所を、確定周辺場所リスト及び候補周辺場所リストに対して追加または削除する更新処理を繰り返すことで、周辺場所を抽出する。そして、サーバ21は、抽出した周辺場所にClose前線までの場所であることを識別可能とするClose前線タグを周辺場所モデルに含め、周辺場所モデルのデータを携帯端末1へ送信する。この例では、Close前線タグが送信処理で周辺場所モデルのデータに含められるが、抽出処理において周辺場所モデルのデータに含めても良いことは言うまでもない。携帯端末1が移動し、携帯端末1において移動先の新しい現在場所がClose前線またはClose前線の付近であることがClose前線タグから識別されると、携帯端末1はサーバ21に対して周辺場所モデルを要求する。サーバ21は、要求に応じて、抽出された周辺場所モデルのデータを携帯端末1へ送信する。

図21は、場所モデルのデータ構造の他の例を示す図である。図21中、図5と同一部分には同一符号を付し、その説明は省略する。図21に示す場所モデルのデータ構造には、サーバ21から携帯端末1へ送信する周辺場所モデルのデータに加え、プレイスグラフにおける各場所ノードが現在場所ノードからClose前線までの場所ノード(以下、「Close前線場所ノード」とも言う)であるか否かを識別するためのClose前線タグを追加する。サーバ21から携帯端末1に周辺場所モデルをダウンロードした後、携帯端末1を保持するユーザが移動すると、携帯端末1側では周辺場所モデルのClose前線タグに基づき、移動先の新しい場所がClose前線付近であるか否かを判断することができる。携帯端末1は、移動先の新しい場所がClose前線付近であると判断すれば、サーバ21に対して周辺場所モデルのダウンロード要求を行うことができる。

次に、携帯端末側の周辺場所モデルの更新処理の他の例を、図22と共に説明する。図22は、サーバ側と携帯端末側の処理の概略を説明するフローチャートである。図22において、ステップS31〜S39は携帯端末1のCPU11などのプロセッサにより実行され、ステップS41〜43はサーバ21側のCPUなどのプロセッサにより実行される。

図22において、携帯端末1の電源がオンになると、ステップS31では、携帯端末1のCPU11が携帯端末1の記憶部12に周辺場所モデルが格納されているか、即ち、携帯端末1が周辺場所モデルを持っているかを問い合わせる。ステップS32では、携帯端末1のCPU11が問い合わせへの応答に基づき携帯端末1が周辺モデルを持っているか否かを判定し、判定結果がYESであれば処理はステップS33へ進み、判定結果がYESであれば処理は後述するステップS38へ進む。

ステップS33では、携帯端末1のCPU11が現在場所を検知する。ステップS34では、携帯端末1のCPU11が検知した現在場所が不明であるか否かを判定し、判定結果がNOであると処理はステップS35へ進み、判定結果がYESであれば処理はステップであると処理は後述するステップS38へ進む。ステップS35では、携帯端末1のCPU11が現在場所がClose前線までのClose前線場所であるか否かを判定し、判定結果がYESであると処理はステップS36へ進み、判定結果がNOであると処理はステップS37へ進む。ステップS36では、携帯端末1のCPU11が現在場所をサーバ21へ送信することで、周辺場所モデルの更新要求(ダウンロード要求)を行う。ステップS37では、携帯端末1のCPU11が現在場所がClose前線までのClose前線場所ではないと判断し、処理はステップS33へ戻る。ステップS38では、携帯端末1のCPU11がWiFiスキャンデータから各APのMACアドレスとRSSIを含むチェックインデータを取得してサーバ21へ送信することで、周辺場所モデルの要求(ダウンロード要求)を行う。

一方、携帯端末1から周辺場所モデルの要求となるチェックインデータが受信されると、ステップS41では、サーバ21のCPUがチェックインデータから携帯端末1の現在場所を検知する。ステップS42では、サーバ21のCPUが検知した現在場所、或いは、ステップ36で携帯端末1のCPU11から受信した現在位置の周辺場所モデルを抽出する。ステップS43では、サーバ21のCPUが抽出した周辺場所モデルを携帯端末1へ送信する。

サーバ21から周辺場所モデルが受信されると、ステップS39では、携帯端末1のCPU11が受信した周辺場所モデルを携帯端末1の記憶部12に格納することで、場所モデルを更新する。

これにより、携帯端末1が場所モデルを持っている場合、場所検知を行い、検知した現在場所が不明であれば、サーバ21に対してチェックインデータを送信することで周辺場所モデルを要求する。また、携帯端末1が場所モデルを持っていない場合も、サーバ21に対してチェックインデータを送信することで周辺場所モデルを要求する。これらの場合、サーバ21はチェックインデータに基づいて検知した現在場所の周辺場所モデルを抽出し、携帯端末1へ送信する。

一方、携帯端末1が場所モデルを持っている場合、場所検知を行い、検知した現在場所がClose前線場所であれば、サーバ21に対して現在場所を送信することで周辺場所モデルの更新を要求する。この場合、サーバ21は現在場所の周辺場所モデルを抽出して、携帯端末へ送信する。

携帯端末1が場所モデルを持っている場合、場所検知を行い、検知した現在場所がClose前線場所でないと、サーバ21への周辺場所モデルの更新要求を行わない。

図23は、サーバ21側のステップS42,S43の処理の詳細を説明する図である。図23の処理で参照されるデータには、携帯端末1側からの周辺場所モデルの要求と共に受信した、携帯端末1側で既に保持している場所モデルの周辺場所名リスト2000−1と、サーバ21側の場所モデル抽出処理で生成した、携帯端末1がこれから保持するべき場所モデルの周辺場所名リスト2000−2とが含まれる。例えば、周辺場所名リスト2000−1,2000−2は、サーバ21側の記憶部に格納されていても良い。また、図23の処理で生成されるデータには、不要となり削除するべき場所の場所名リスト2001と、新たに追加するべき場所の場所名リスト2002とが含まれる。例えば、場所名リスト2001,2002は、サーバ21側の記憶部に格納されていても良い。

図23において、ステップS421では、サーバ21のCPUが周辺場所名リスト2000−1に基づき、サーバ21のCPUが携帯端末1側で削除するべき場所の場所名リスト2001を抽出してサーバ21の記憶部に格納する。ステップS422では、サーバ21のCPUが周辺場所名リスト2000−2に基づき、サーバ21のCPUが携帯端末1側で追加するべき場所の場所名リスト2002を抽出してサーバ21の記憶部に格納する。ステップS431では、サーバ21のCPUが抽出した場所名リスト2001,2002をシリアライズしてシリアルな送信データを生成する。ステップS432では、サーバ21のCPUが送信データを携帯端末1へ送信する。

図24は、携帯端末1側のステップS39の処理の詳細を説明する図である。図24において、ステップS391では、携帯端末1のCPU11がサーバ21からの送信データを受信する。ステップS392では、携帯端末1のCPU11がサーバ21からの受信データをディシリアライスすることで、削除するべき場所の場所名リスト1201及び追加するべき場所の場所名リスト1202を生成する。ディシリアライズされた場所名リスト1201,1202は、シリアライズされる前の場所名リスト2001,2002と同じである。ステップS393では、携帯端末1のCPU11が場所名リスト1201に基づき、携帯端末1の記憶部に格納されている場所モデルから削除するべき場所名を削除するの削除処理を行う。ステップS394では、携帯端末1のCPU11が場所名リスト2002に基づき、携帯端末1の記憶部に格納されている場所モデルに追加するべき場所名を追加する追加処理を行う。これにより、携帯端末1が移動しても、携帯端末1が位置推定に用いる周辺場所モデルを自動的に更新することができる。

図22〜図24の更新処理によれば、サーバ21が周辺場所モデルの全てのデータを携帯端末1に送信するのではなく、携帯端末1が既に保持している場所モデルと更新するべき新たな周辺場所モデルとの差分データのみを携帯端末1に送信する。このため、サーバ21と携帯端末1との間の送受信データ量を削減でき、更新処理に伴う通信時間を短縮できるとと共に、携帯端末1側の更新処理に伴う消費電力を削減することができる。携帯端末1は、ユーザが保持して利用される形態では電池を電源とするので、更新処理に伴う消費電力を削減することで電池の消費を抑え、携帯端末1を連続的に利用可能な時間を延長することもできる。

以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。 (付記1) 場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データを生成する生成手段と、 現在場所から第1の前線までの各場所を確定周辺場所リストのメンバとし、前記第1の前線から第2の前線までの各場所を候補周辺場所リストのメンバとし、端末装置の現在場所をクエリとして、前記確定周辺場所リストのメンバである前記属性データ上の現在場所から前記第1の前線までの各場所と、前記候補周辺場所リストのメンバである前記属性データ上の前記第1の前線から前記第2の前線までの各場所とを更新することで、周辺場所を抽出する抽出手段と、 抽出した周辺場所に前記第1の前線までの場所であることを識別可能とするタグを周辺場所モデルに含めて、抽出した周辺場所の場所モデルのデータを前記端末装置へ送信する送信手段 を備えたことを特徴とする、場所モデル更新装置。 (付記2) 前記送信手段は、前記端末装置に格納されており前記端末装置から受信した場所モデルと前記抽出手段により抽出された周辺場所モデルとの差分データを前記端末装置へ送信することを特徴とする、付記1記載の場所モデル更新装置。 (付記3) 前記送信手段は、前記端末装置の移動先の新しい現在場所が前記第1の前線または前記第1の前線の付近であることを前記端末装置が前記タグから識別すると前記端末装置から受信する要求に応じて、要求された前記抽出手段により抽出された周辺場所モデルのデータを前記端末装置へ送信することを特徴とする、付記1または2記載の場所モデル更新装置。 (付記4) 前記場所間の属性は、前記端末装置における基地局からの電波の観測状態と観測欠損状態の頻度の特徴、及び、前記端末装置における受信信号強度の特徴の夫々の類似度を表すことを特徴とする、付記1乃至3のいずれか1項記載の場所モデル更新装置。 (付記5) 複数の基地局と通信可能な端末装置の位置を推定する位置推定方法であって、 前記端末装置が 前記端末装置内に格納された場所モデルに基づいて前記位置を推定し、 サーバからダウンロードされたデータに基づいて前記場所モデルを更新し、 前記サーバが 前記端末装置から受信したデータに基づいて前記サーバ内の記憶部に格納された場所モデルを更新する場所モデル更新処理と送信処理を行い、 前記場所モデル更新処理は、 場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データを生成する生成手順と、 現在場所から第1の前線までの各場所を確定周辺場所リストのメンバとし、前記第1の前線から第2の前線までの各場所を候補周辺場所リストのメンバとし、端末装置の現在場所をクエリとして、前記確定周辺場所リストのメンバである前記属性データ上の現在場所から前記第1の前線までの各場所と、前記候補周辺場所リストのメンバである前記属性データ上の前記第1の前線から前記第2の前線までの各場所とを更新することで、周辺場所を抽出する抽出手順とを含み、 前記送信処理は、 抽出した周辺場所に前記第1の前線までの場所であることを識別可能とするタグを周辺場所モデルに含めて、抽出した周辺場所の場所モデルのデータを前記端末装置へ送信する送信手順 を含むことを特徴とする、場所推定方法。 (付記6) 前記送信手順は、前記端末装置に格納されており前記端末装置から受信した場所モデルと前記抽出手順により抽出された周辺場所モデルとの差分データを前記端末装置へ送信することを特徴とする、付記5記載の位置推定方法。 (付記7) 前記端末装置は、前記端末装置の移動先の新しい現在場所が前記第1の前線または前記第1の前線の付近であることを前記タグから識別すると前記サーバに対して周辺場所モデルを要求し、 前記サーバは、前記端末装置から受信する要求に応じて、要求された前記抽出手順により抽出された周辺場所モデルのデータを前記送信手順により前記端末装置へ送信することを特徴とする、付記5または6記載の位置推定方法。 (付記8) 前記場所間の属性は、前記端末装置における基地局からの電波の観測状態と観測欠損状態の頻度の特徴、及び、前記端末装置における受信信号強度の特徴の夫々の類似度を表すことを特徴とする、付記5乃至7のいずれか1項記載の位置推定方法。 (付記9) 端末装置から受信したデータに基づいて場所モデルを更新する場所モデル更新処理をコンピュータに実行させるプログラムであって、 場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データを生成する生成手順と、 現在場所から第1の前線までの各場所を確定周辺場所リストのメンバとし、前記第1の前線から第2の前線までの各場所を候補周辺場所リストのメンバとし、端末装置の現在場所をクエリとして、前記確定周辺場所リストのメンバである前記属性データ上の現在場所から前記第1の前線までの各場所と、前記候補周辺場所リストのメンバである前記属性データ上の前記第1の前線から前記第2の前線までの各場所とを更新することで、周辺場所を抽出する抽出手順と、 抽出した周辺場所に前記第1の前線までの場所であることを識別可能とするタグを周辺場所モデルに含めて、抽出した周辺場所の場所モデルのデータを前記端末装置へ送信する送信手順 を前記コンピュータに実行させることを特徴とする、プログラム。 (付記10) 前記送信手順は、前記端末装置に格納されており前記端末装置から受信した場所モデルと前記抽出手順により抽出された周辺場所モデルとの差分データを前記端末装置へ送信することを特徴とする、付記9記載のプログラム。 (付記11) 前記送信手順は、前記端末装置の移動先の新しい現在場所が前記第1の前線または前記第1の前線の付近であることを前記端末装置が前記タグから識別すると前記端末装置から受信する要求に応じて、要求された前記抽出手順により抽出された周辺場所モデルのデータを前記端末装置へ送信することを特徴とする、付記9または10記載のプログラム。 (付記12) 前記場所間の属性は、前記端末装置における基地局からの電波の観測状態と観測欠損状態の頻度の特徴、及び、前記端末装置における受信信号強度の特徴の夫々の類似度を表すことを特徴とする、付記9乃至11のいずれか1項記載のプログラム。

以上、開示の場所モデル更新装置、位置推定方法及びプログラムを実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。

1 携帯端末 11 CPU 12 記憶部 13 入力部 14 表示部 15 通信部 21 サーバ

QQ群二维码
意见反馈