(57)【要約】      （修正有）【課題】位置推定精度を犠牲にすることなく、端末装置側で場所モデルを格納するための記憶容量を減少させる。【解決手段】場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データを生成する生成部と、現在場所から第１の前線までの各場所を確定周辺場所リストのメンバとし、第１の前線から第２の前線までの各場所を候補周辺場所リストのメンバとし、端末装置の現在場所をクエリとして、確定周辺場所リストのメンバである属性データ上の現在場所から第１の前線までの各場所と、候補周辺場所リストのメンバである属性データ上の第１の前線から第２の前線までの各場所とを更新することで、周辺場所を抽出する抽出部と、抽出した周辺場所に第１の前線までの場所であることを識別可能とするフラグを周辺場所モデルに含めて、抽出した周辺場所の場所モデルのデータを端末装置へ送信する送信部を備える。【選択図】図８
2015068696.tif 000002
【特許請求の範囲】
【請求項１】
場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データを生成する生成手段と、
現在場所から第１の前線までの各場所を確定周辺場所リストのメンバとし、前記第１の前線から第２の前線までの各場所を候補周辺場所リストのメンバとし、端末装置の現在場所をクエリとして、前記確定周辺場所リストのメンバである前記属性データ上の現在場所から前記第１の前線までの各場所と、前記候補周辺場所リストのメンバである前記属性データ上の前記第１の前線から前記第２の前線までの各場所とを更新することで、周辺場所を抽出する抽出手段と、
抽出した周辺場所に前記第１の前線までの場所であることを識別可能とするフラグを周辺場所モデルに含めて、抽出した周辺場所の場所モデルのデータを前記端末装置へ送信する送信手段
を備えたことを特徴とする、場所モデル更新装置。
【請求項２】
前記送信手段は、前記端末装置に格納されており前記端末装置から受信した場所モデルと前記抽出手段により抽出された周辺場所モデルとの差分データを前記端末装置へ送信することを特徴とする、請求項１記載の場所モデル更新装置。
【請求項３】
前記送信手段は、前記端末装置の移動先の新しい現在場所が前記第１の前線または前記第１の前線の付近であることを前記端末装置が前記フラグから識別すると前記端末装置から受信する要求に応じて、要求された前記抽出手段により抽出された周辺場所モデルのデータを前記端末装置へ送信することを特徴とする、請求項１または２記載の場所モデル更新装置。
【請求項４】
前記場所間の属性は、前記端末装置における基地局からの電波の観測状態と観測欠損状態の頻度の特徴、及び、前記端末装置における受信信号強度の特徴の夫々の類似度を表すことを特徴とする、請求項１乃至３のいずれか１項記載の場所モデル更新装置。
【請求項５】
複数の基地局と通信可能な端末装置の位置を推定する位置推定方法であって、
前記端末装置が
前記端末装置内に格納された場所モデルに基づいて前記位置を推定し、
サーバからダウンロードされたデータに基づいて前記場所モデルを更新し、
前記サーバが
前記端末装置から受信したデータに基づいて前記サーバ内の記憶部に格納された場所モデルを更新する場所モデル更新処理と送信処理を行い、
前記場所モデル更新処理は、
場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データを生成する生成手順と、
現在場所から第１の前線までの各場所を確定周辺場所リストのメンバとし、前記第１の前線から第２の前線までの各場所を候補周辺場所リストのメンバとし、端末装置の現在場所をクエリとして、前記確定周辺場所リストのメンバである前記属性データ上の現在場所から前記第１の前線までの各場所と、前記候補周辺場所リストのメンバである前記属性データ上の前記第１の前線から前記第２の前線までの各場所とを更新することで、周辺場所を抽出する抽出手順とを含み、
前記送信処理は、
抽出した周辺場所に前記第１の前線までの場所であることを識別可能とするフラグを周辺場所モデルに含めて、抽出した周辺場所の場所モデルのデータを前記端末装置へ送信する送信手順
を含むことを特徴とする、場所推定方法。
【請求項６】
端末装置から受信したデータに基づいて場所モデルを更新する場所モデル更新処理をコンピュータに実行させるプログラムであって、
場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データを生成する生成手順と、
現在場所から第１の前線までの各場所を確定周辺場所リストのメンバとし、前記第１の前線から第２の前線までの各場所を候補周辺場所リストのメンバとし、端末装置の現在場所をクエリとして、前記確定周辺場所リストのメンバである前記属性データ上の現在場所から前記第１の前線までの各場所と、前記候補周辺場所リストのメンバである前記属性データ上の前記第１の前線から前記第２の前線までの各場所とを更新することで、周辺場所を抽出する抽出手順と、
抽出した周辺場所に前記第１の前線までの場所であることを識別可能とするフラグを周辺場所モデルに含めて、抽出した周辺場所の場所モデルのデータを前記端末装置へ送信する送信手順
を前記コンピュータに実行させることを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、場所モデル更新装置、位置推定方法及びプログラムに関する。
【背景技術】
【０００２】
端末装置の一例である携帯電話などの携帯端末が複数の基地局と無線で交信して、各基地局からの距離に応じて携帯端末における電波の受信信号強度が減衰することを利用して、携帯端末のある場所を推定する位置推定技術が提案されている。基地局は、例えば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を照合する場所モデルの数を単純に間引くことが考えられる。しかし、携帯端末がどの場所にあるのかは事前に知り得ないため、携帯端末側に全ての場所モデルが格納されていないと、位置推定精度が低下してしまう。一方、携帯端末側に全ての場所モデルを格納するのに十分な記憶容量を確保すれば位置推定精度は維持できるが、携帯端末に大記憶容量のメモリなどを設ける必要があり、携帯端末のコストが増大してしまう。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１４５５８６号公報
【特許文献２】特開２０１３−５３９３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来、位置推定精度を犠牲にすることなく、端末装置側で場所モデルを格納するための記憶容量を減少させることは難しい。
【０００７】
そこで、本発明は、位置推定精度を犠牲にすることなく、端末装置側で場所モデルを格納するための記憶容量を減少可能な場所モデル更新装置、位置推定方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一観点によれば、場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データを生成する生成手段と、現在場所から第１の前線までの各場所を確定周辺場所リストのメンバとし、前記第１の前線から第２の前線までの各場所を候補周辺場所リストのメンバとし、端末装置の現在場所をクエリとして、前記確定周辺場所リストのメンバである前記属性データ上の現在場所から前記第１の前線までの各場所と、前記候補周辺場所リストのメンバである前記属性データ上の前記第１の前線から前記第２の前線までの各場所とを更新することで、周辺場所を抽出する抽出手段と、抽出した周辺場所に前記第１の前線までの場所であることを識別可能とするフラグを周辺場所モデルに含めて、抽出した周辺場所の場所モデルのデータを前記端末装置へ送信する送信手段を備えた場所モデル更新装置が提供される。
【発明の効果】
【０００９】
開示の場所モデル更新装置、位置推定方法及びプログラムによれば、位置推定精度を犠牲にすることなく、端末装置側で場所モデルを格納するための記憶容量を減少させることができる。
【図面の簡単な説明】
【００１０】
【図１】一実施例における携帯端末の一例の構成を示すブロック図である。
【図２】複数のAPと携帯端末が存在し得る場所の関係の一例を説明する図である。
【図３】携帯端末の位置推定処理の一例を説明するフローチャートである。
【図４】全領域内AP情報リストのデータ構造の一例を示す図である。
【図５】場所モデルのデータ構造の一例を示す図である。
【図６】一実施例における位置推定システムの動作の一例を説明する図である。
【図７】場所モデルの一例を説明する図である。
【図８】位置推定システムに本発明者が見出した手法を適用した場合の構成の構成の一例をより詳細に示す図である。
【図９】プレイスグラフの一例を説明する図である。
【図１０】第１の尤度差の値の分布の一例を示す図である。
【図１１】第２の尤度差の値の分布の一例を示す図である。
【図１２】第１及び第２の尤度差の分布距離の一例を示す図である。
【図１３】類似度マトリックスの一例を説明する図である。
【図１４】確定周辺場所リストと候補周辺場所リストの更新処理の一例を説明するフローチャートである。
【図１５】周辺場所抽出処理の一例をより詳細に説明するフローチャートである。
【図１６】周辺場所抽出処理で用いるプレイスグラフの一例を示す図である。
【図１７】周辺場所抽出処理で用いるプレイスグラフの一例を示す図である。
【図１８】周辺場所抽出処理で用いるプレイスグラフの一例を示す図である。
【図１９】周辺場所抽出処理で用いるプレイスグラフの一例を示す図である。
【図２０】周辺場所抽出処理で用いるプレイスグラフの一例を示す図である。
【図２１】場所モデルのデータ構造の他の例を示す図である。
【図２２】サーバ側と携帯端末側の処理の概略を説明するフローチャートである。
【図２３】サーバ側の一部の処理の詳細を説明する図である。
【図２４】携帯端末側の一部の処理の詳細を説明する図である。
【発明を実施するための形態】
【００１１】
開示の場所モデル更新装置、位置推定方法及びプログラムでは、場所モデル更新装置が、場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データを生成する。現在場所から第１の前線までの各場所を確定周辺場所リストのメンバとし、第１の前線から第２の前線までの各場所を候補周辺場所リストのメンバとする。端末装置の現在場所をクエリとして、場所モデル更新装置は、確定周辺場所リストのメンバである属性データ上の現在場所から第１の前線までの各場所と、候補周辺場所リストのメンバである属性データ上の第１の前線から第２の前線までの各場所とを更新することで、端末装置の現在場所の周辺場所の場所モデルを抽出する。場所モデル更新装置は、抽出した周辺場所に第１の前線までの場所であることを識別可能とするフラグを周辺場所モデルに含め、端末装置へ送信する。端末装置が移動し、端末装置の移動先の新しい現在場所が第１の前線または第２の前線の付近であることをフラグから識別すると、端末装置は場所モデルを更新するため、場所モデル更新装置に対して、場所モデル更新装置が抽出した周辺場所モデルのデータを要求する。場所モデル更新装置は、要求に応じて、抽出された周辺場所モデルのデータを端末装置へ送信する。
【００１２】
端末装置が場所モデル更新装置から受信する周辺場所モデルのデータは、端末装置に格納されている場所モデルと場所モデル更新装置において抽出された周辺場所モデルとの差分データであっても良い。
【００１３】
以下に、開示の場所モデル更新装置、位置推定方法及びプログラムの各実施例を図面と共に説明する。
【実施例】
【００１４】
図１は、一実施例における携帯端末の一例の構成を示すブロック図である。図１に示す携帯端末１は、通信機能を備えた端末装置の一例であり、例えばスマートホンなどの携帯電話などであっても良い。携帯端末１は、ＣＰＵ（Central Processing Unit）１１、記憶部１２、入力部１３、表示部１４、及び通信部１５がバス１６で接続された構成を有するが、バス１６による接続に限定されるものではない。
【００１５】
ＣＰＵ１１は、コンピュータまたはプロセッサの一例である。ＣＰＵ１１は、携帯端末１全体の制御を司り、プログラムを実行することで後述する位置推定処理などを実行する。記憶部１２は、ＣＰＵ１１が実行するプログラム、ＣＰＵ１１が実行する演算の中間結果、ＣＰＵ１１が実行するプログラム及び演算で用いるデータなどを格納する。記憶部１２は、コンピュータ読み取り可能な記憶媒体で形成可能である。コンピュータ読み取り可能な記憶媒体は、半導体記憶装置であっても良い。また、コンピュータ読み取り可能な記憶媒体が磁気記録媒体、光記録媒体、光磁気記録媒体などの場合、記憶部１２はロードされた記録媒体に対して情報の読み書きを行うリーダ・ライタで形成可能である。
【００１６】
入力部１３は、キーボードなどで形成可能であり、例えば携帯端末１にコマンド、データなどを入力する際に操作される。表示部１４は、例えばＬＣＤ（Liquid Crystal Display）により形成可能であり、ガイダンス、メッセージなどを表示する。入力部１３及び表示部１４は、一体的に設けられていても良く、例えばタッチパネルなどで形成されていても良い。通信部１５は、外部装置（図示せず）と無線で通信可能な無線通信機能を備え、受信機、送信機、アンテナなどを含む周知の構成を有する。この例では、通信部１５は例えばWiFiを用いるアクセスポイント（AP: Access Point）と通信可能である。APは、基地局の一例である。
【００１７】
図２は、複数のAPと、携帯端末が存在し得る場所の関係の一例を説明する図である。図２に示す例では、複数のAP1〜AP5が場所名L1, L2の場所をカバーしており、ユーザが保持する携帯端末１は場所名L1の場所内に存在する。携帯端末１の受信信号強度（RSSI）は、AP1からがRSSI-1、AP2からがRSSI-2、AP3からがRSSI-3、AP4からがRSSI-4、及びAP5からがRSSI-5である。
【００１８】
図３は、携帯端末の位置推定処理の一例を説明するフローチャートである。図３に示す位置推定処理は、ＣＰＵ１１により実行可能である。図３において、ステップＳ１では、ＣＰＵ１１が通信部１５を介して各APからのWiFiデータ（以下、「WiFiスキャンデータ」とも言う）をスキャンして、各APのマックアドレス（MAC address: Media Access Control address）とRSSIを取得して、RSSI特徴ベクトルを作成すると共に、記憶部１２に格納された全域内AP情報リスト１００を参照して、全域内AP情報リスト１００に無い未学習のAPを除外する。
【００１９】
図４は、全領域内AP情報リストのデータ構造の一例を示す図である。図４に示す全域内AP情報リスト１００には、各APに便宜上割り当てられたAP番号１，２，...に対し、各APのMACアドレスM1, M2, ...及びAPのカバー場所リストが格納されている。APのカバー場所リストには、場所名L1, L2, L3, ...などが格納されている。
【００２０】
全域内AP情報リスト１００は、例えば以下に説明するように、WiFiスキャンデータから取得した情報に基づいて作成することができる。最初は、空の全域内AP情報リスト１００を用意する。その後、全域内AP情報リスト１００を検索して、WiFiスキャンデータのソースであるチェックインAPが新しければ、チェックインAPのMACアドレスを全域内AP情報リスト１００に追加する。同時に、このチェックインAPのカバー場所リストにチェックインした場所名を追加する。チェックインAPが全域内AP情報リスト１００の中に既に格納されている場合、このチェックインAPのカバー場所リストを検索して、チェックイン場所名が新しければ、チェックイン場所名をカバー場所リストに追加する。
【００２１】
ステップＳ２では、ＣＰＵ１１が図４の全域内AP情報リスト１００を参照して、検索したAPの全てのカバー場所を候補場所として、候補場所リストを作成し、記憶部１２に格納する。ステップＳ２では、例えば以下の処理を各APiに対して実行する。先ず、全域内AP情報リスト１００を参照してAPiのカバー場所リストを抽出する。次に、APiのカバー場所リストの全てのメンバ（即ち、場所）を候補場所リストへの追加する処理を行い、メンバ（即ち、場所）が候補場所リストへの追加済みであればこの処理はスキップする。次に、全APiに対する処理が完了したか否かを判定し、判定結果がＮＯであるとAPiのカバー場所リストを抽出する処理へ戻り、判定結果がＹＥＳであると処理は図３のステップＳ３へ進む。
【００２２】
図３において、ステップＳ３では、ＣＰＵ１１が候補場所リストの各メンバ（即ち、場所）に対して、WiFiスキャンデータのソースであるAPの第１段階観測確率を計算する。図５は、場所モデルのデータ構造の一例を示す図である。図５に示す場所モデル２００には、場所番号、場所名、場所内で使用する第２段階観測確率の閾値、及び観測可能なAPリストが格納されている。観測可能なAPリストには、MACアドレスに対し、欠損確率、観測確率、APが観測された場合のRSSIの強度レベル別観測確率などが格納されている。図５は、例えばAPが観測された場合のRSSIの強度レベル数が４であり、観測可能なAPのリストの長さが例えば３の場合を示す。場所モデル２００は、例えば記憶部１２に格納される。なお、観測可能なAPリストは、場所モデル２００の確率情報部分を含むため、図３では「場所モデル（確率情報）」として示されている。一方、観測可能なAPリスト以外の部分は、場所モデル２００の各場所で使用する第２段階観測確率の閾値情報部分を含むため、図３では「場所モデル（閾値情報）」として示されている。
【００２３】
ステップＳ３では、ＣＰＵ１１が例えば以下の処理を各候補場所に対して、各APiに対して実行する。先ず、図５に示す場所モデル２００の候補場所の観測可能なAPリストを検索し、APiがこの観測可能なAPリストにあれば、事前に学習した観測確率を取得する。一方、APiがこの観測可能なAPリストの中に無ければ、事前に設定した例えば比較的小さな定数をAPiの観測確率とする。次に、APiの観測確率を記憶部１２に格納された観測確率の積に累積し、全APiに対する処理が完了したか否かを判定し、判定結果がＮＯであると処理は各APiに対する処理へ戻り、判定結果がＹＥＳであると図５に示す場所モデル２００の候補場所の観測可能なAPリストを抽出する。
【００２４】
次に、各観測可能なAPに対して以下の処理を実行する。先ず、WiFiスキャンデータ（AP1(MAC, RSSI), ...）を検索して、観測可能なAPが欠損であるか否かを判定し、観測可能なAPのMACアドレスがWiFiスキャンデータの中に無いと、欠損ではないと判定して欠損の判定を繰り返す。一方、欠損であると判定されると、欠損である観測可能なAPの欠損確率を場所モデル２００から抽出し、欠損確率を記憶部１２に格納された欠損確率の積に累積する。観測可能な全APに対する処理が完了すると、記憶部１２に格納された観測確率の積と欠損確率の積の値の積を計算する。計算した値の積は、候補場所の第１段階観測確率として、候補場所とペアリングして記憶部１２に格納する。全候補場所に対する処理が完了すると、処理は図３のステップＳ４へ進む。
【００２５】
図３において、ステップＳ４では、ＣＰＵ    １１が第１段階観測確率の下位の候補場所を切り捨て、候補場所を絞り込む。ステップＳ５では、ＣＰＵ１１が絞り込んだ候補場所に対して、RSSI特徴ベクトルに基づき第２段階観測確率を計算する。第２段階観測確率計算処理は、ステップＳ３で計算した第１段階観測確率によってステップＳ４において絞り込んだ候補場所リストを対象とする。
【００２６】
ステップＳ５では、ＣＰＵ１１が例えば以下の処理を各候補場所に対して、各APiに対して実行する。先ず、場所モデル２００を参照して、APiのMACアドレスが候補場所の観測可能なAPリストにあれば、APiのRSSIから強度レベルを計算して、APi が観測された場合のRSSIの強度レベル別観測確率を場所モデル２００から取得する。一方、APiのMACアドレスが候補場所の観測可能なAPリストに無ければ、事前に設定した例えば比較的小さな固定値をAPiが観測された場合のRSSIの強度レベル別観測確率とする。次に、APiが観測された場合のRSSIの強度レベル別観測確率を、記憶部１２に格納された強度レベル別観測確率の積へ積算し、全APiに対する処理が完了したか否かを判定し、判定結果がＮＯであると処理は各APiに対する処理へ戻り、判定結果がＹＥＳであるとステップＳ３で計算した欠損確率の積を、強度レベル別観測確率の積と積算し、記憶部１２に格納する。次に、計算した積を第２段階観測確率と定義して、候補場所とペアリングして記憶部１２に格納する。全候補場所に対する処理が終了すると、処理は図３のステップＳ６へ進む。
【００２７】
図３において、ステップＳ６では、ＣＰＵ１１が第２段階確率が最大である候補場所を抽出（または、選択）する。ステップＳ７では、ＣＰＵ１１が図５に示す場所モデル２００を参照して、第２段階確率が最大である候補場所の閾値を用いて、第２段階確率が閾値未満であれば携帯端末１が最終候補場所におらず携帯端末１の場所は不明であり、第２段階確率が閾値以上であれば携帯端末１が最終候補場所にあると判定する。ステップＳ８では、ＣＰＵ１１が携帯端末１のある場所、または、携帯端末１の場所がわからないという判定結果を出力し、位置推定処理は終了する。ステップＳ８で出力される判定結果は、例えば携帯端末１の位置を利用したサービスを提供するアプリケーションなどへ出力しても良い。
【００２８】
ＣＰＵ１１は、位置推定方法の手順であるステップＳ１〜Ｓ５の処理を実行することで、複数の基地局からの受信信号に基づき推定した携帯端末の候補位置を、ある基地局からの受信信号のデータ欠損に基づき絞り込む絞り込み手段（または、絞り込み部）として機能しても良い。また、ＣＰＵ１１は、位置推定方法の手順であるステップＳ６，Ｓ７の処理を実行することで、絞り込んだ候補位置の中から受信信号強度の観測確率に基づき携帯端末の位置を推定する推定手段（または、推定部）として機能しても良い。
【００２９】
次に、一実施例における位置推定システムの一例を、図６と共に説明する。図６は、一実施例における位置推定システムの動作の一例を説明する図である。図６に示す位置推定システム２０は、携帯端末１と、携帯端末１と無線通信を行えるサーバ２１を有する。サーバ２１は、携帯端末１からチェックインしたデータ（以下、「チェックインデータ」とも言う）を用いて、場所モデル２００を学習（以下、「更新」と言う）する機能を有する。携帯端末１が、サーバ２１からダウロードした場所モデル２００に基づいて、新たに観測したRSSI特徴ベクトルに基づいて位置推定処理を行う。なお、サーバ２１は、プロセッサ及び記憶部を備えた周知の構成を有し、例えば図１に示す携帯端末１と同様のハードウェア構成を有しても良いため、サーバ２１のハードウェア構成の図示及び説明は省略する。この例では、サーバ２１は、場所データ更新装置の一例として機能する。
【００３０】
図６において、ステップＳＴ１では、携帯端末１のプロセッサ（例えば、ＣＰＵ１１）がWiFiスキャンデータから各APのMACアドレスとRSSIを含むチェックインデータを取得する。ステップＳＴ２では、携帯端末１のプロセッサがチェックインデータをサーバ２１へ送信する。
【００３１】
ステップＳＴ２１では、サーバ２１のプロセッサ（図１のＣＰＵ１１に相当）が携帯端末１からのチェックインデータを受信してサーバ２１の記憶部内のチェックインデータファイル３００に保存する。チェックインデータをチェックインデータファイル３００に保存してから一定期間が経過すると、ステップＳＴ２２では、サーバ２１のプロセッサがチェックインデータファイル３００をサーバ２１の記憶部（図１の記憶部１２に相当）から読み込み、場所モデル２００の更新処理を実行する。
【００３２】
場所モデル２００の更新処理には、場所モデル２００の確率情報部分の更新、場所モデル２００の閾値情報部分の更新などを含んでも良い。確率情報部分の更新では、チェックインデータを用いて場所モデル２００の確率情報部分である場所モデル（確率情報）を更新する。その後、第２段階観測確率の計算において、場所モデル（確率情報）に基づいて、チェックインデータに対して、場所推定の第２段階の処理を行う。場所推定の第２段階の処理で得られた第２段階観測確率とチェックイン場所の場所名は、第２段階観測確率の閾値、即ち、各チェックイン場所における閾値の計算に用いられ、場所モデル２００の閾値情報部分である場所モデル（閾値情報）を更新する。このように、場所モデルの確率情報部分と閾値情報部分が更新された後、場所モデル２００の更新が完了する。
【００３３】
ステップＳＴ２３では、サーバ２１のプロセッサが更新された場所モデル２００のファイル（以下、「場所モデルファイル」とも言う）２００Ａを生成し、サーバ２１の記憶部に格納する。ステップＳＴ２４では、サーバ２１のプロセッサが場所モデルファイル２００Ａを読み込み携帯端末１へ送信する。
【００３４】
ステップＳＴ３では、携帯端末１のプロセッサがサーバ２１からの場所モデルファイル２００Ａを受信して携帯端末１の記憶部１２に格納する。つまり、携帯端末１は、サーバ２１側で新しい場所モデルファイル２００Ａが生成される度に、場所モデルファイル２００Ａを記憶部１２に格納して場所モデルを更新する。ステップＳＴ４では、携帯端末１のプロセッサが記憶部１２から場所モデルファイル２００Ａを読み込み、場所モデル２００を用いて、チェックインデータRSSI特徴ベクトルに基づいて位置推定処理を行い、携帯端末１の場所の判定結果を出力する。
【００３５】
図７は場所モデルの一例を説明する図であり、AP観測及び欠損確率、及びRSSIレベル別観測確率を示す。図７のＨＴＧ１中、（ａ）は場所名L1の場所で収集した２２個の学習サンプル（チェックインデータ）の内、AP1の観測を欠損したサンプルが５個、観測したサンプルが１７個ある例を示す欠損及び観測ヒストグラムである。この場合、場所名L1の場所におけるAP1の欠損確率は5/22=0.227、観測確率は17/22=0.773である。さらに、ＨＴＧ１中、（ｂ）に示すRSSIヒストグラムのように、AP1を観測した１７個サンプルの内、RSSIレベル０からレベル３のサンプル数が夫々４個、６個、５個及び２個である。従って、場所名L1の場所でAP1が観測された場合、RSSIレベル０からレベル３の観測確率が夫々、4/17=0.235、6/17=0.353、5/17=0.294、2/17=0.118である。同様に、ＨＴＧ１中、（ｃ）に示す欠損及び観測ヒストグラムのように、場所名L1の場所におけるAP2の欠損確率は2/22=0.091、観測確率は20/22=0.909である。また、ＨＴＧ１中、（ｄ）に示すRSSIヒストグラムのように、場所名L1の場所でAP2が観測された場合、RSSIレベル１からレベル５の観測確率は夫々、2/20=0.100、5/20=0.250、2/20=0.100、8/20=0.400、3/20=0.150である。
【００３６】
図７のＨＴＧ２中、（ａ）は場所名L2の場所で収集した２０個の学習サンプル（チェックインデータ）の内、AP1の観測を欠損したサンプルが２個、観測したサンプルが１８個ある例を示す。この場合、場所名L1の場所におけるAP1の欠損確率は2/20=0.100、観測確率は18/20=0.900である。さらに、ＨＴＧ２中、（ｂ）に示すように、AP1を観測した１８個サンプルの内、RSSIレベル１からレベル５のサンプル数が夫々１個、２個、３個、５個及び７個である。同様に、ＨＴＧ２中、（ｃ）に示すように、場所名L2の場所におけるAP2の欠損確率は5/20=0.250、観測確率は15/20=0.750である。また、ＨＴＧ２中、（ｄ）に示すように、場所名L2の場所でAP2が観測された場合、RSSIレベル０からレベル５の観測確率は夫々、4/15=0.267、2/15=0.133、3/15=0.200、3/15=0.200、2/15=0.133、1/15=0.067である。
【００３７】
図７のＨＴＧ１，ＨＴＧ１'において、（ａ），（ｃ）の縦軸はデータの観測欠損頻度及び観測頻度、横軸はAP1, AP2の観測欠損状態または観測状態を示し（ｂ），（ｄ）の縦軸は観測頻度、横軸はAPI. AP2のRSSIレベルを示す。
【００３８】
候補場所の尤度は、（観測RSSIレベルの確率）×（欠損APの確率）から計算できる。例えばAP1をスキャンしたRSSIがレベル１の場合、場所名L1の場所の尤度は（AP1のRSSIレベルが１である確率（6/17））×（AP2の欠損確率（2/22））＝0.032となる。また、例えばAP1をスキャンしたRSSIレベルが１であり、且つ、AP2をスキャンしたRSSIレベルが４の場合、場所名L1の場所の尤度は（AP1のRSSIが１である確率（6/17））×（AP2のRSSIが４である確率（8/20））＝0.141となる。
【００３９】
場所検知システムの運用者が一定の場所数から収集したRSSIサンプルに基づいて初期場所モデルを作成しておき、場所モデルの更新時または場所検知の運用中に、携帯端末からのサンプルに基づいて初期場所モデルを更新することで、位置推定精度の向上を図っても良い。
【００４０】
場所数が多くなると、場所モデルの情報量、即ち、データサイズが大きくなる。しかし、  携帯端末が基地局から受信した電波のRSSIを照合する場所モデルの数を単純に間引くと、携帯端末がどの場所にあるのかは事前に知り得ないため、位置推定精度が低下してしまう。これは、場所モデルには、隣接する場所間の空間的関係が含まれないため、携帯端末が現在ある場所で照合に用いるべき場所モデルを多数の場所モデルから適切に抽出することができないことに起因する。そこで、本発明者は、比較的簡単に隣接する場所間の空間的関係を求め、この空間的関係に基づき携帯端末が現在ある場所で照合に用いるべき場所モデルを抽出することで、位置推定精度を犠牲にすることなく、携帯端末側で場所モデルを格納するための記憶容量を減少させる手法を見出した。
【００４１】
一般的に、隣接する場所間の空間的関係は未知であるが、一般的なAP配置方式の環境下では、隣接する場所間ではRSSIの分布が類似していると考えられる。例えば、互いに隣り合う場所間では、携帯端末は略同じAPから電波を受信するので、RSSIの分布が類似している。一方、互いに遠く離れた場所間では、携帯端末は異なるAPから電波を受信するため、RSSIの分布も異なる。そこで、このような特徴を活用して、隣接する場所間の空間的関係を、隣接する場所の夫々におけるAPからの電波の観測状態と観測欠損状態及びRSSIから求める。
【００４２】
具体的には、場所の属性と、隣接する場所間で、APからの電波の観測状態と観測欠損状態の頻度の特徴及びRSSIの特徴の夫々の類似度とを表すプレイスグラフ（Place Graph）を、携帯端末が現在ある場所をクエリ（Query）としてサーバ側で生成する。つまり、プレイスグラフでは、場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される。そして、プレイスグラフに基づき携帯端末が現在ある場所で照合に用いるべき周辺場所の場所モデルをサーバ側で抽出して、抽出した場所モデルを携帯端末へ送信することで携帯端末が照合に用いる携帯端末内に格納された場所モデルを更新する。携帯端末側では、照合に用いる場所モデルだけを格納して更新すれば良いため、場所数が多くなっても、携帯端末側で格納するべきデータサイズを小さくすることができ、位置推定精度を犠牲にすることなく、携帯端末側で場所モデルを格納するための記憶容量を減少させることができる。また、携帯端末側で格納するべきデータサイズを小さくすることができるので、携帯端末側に大記憶容量のメモリなどを設ける必要がなく、その分携帯端末のコストも低く抑えることができる。従って、携帯端末が移動しても、携帯端末が位置推定に用いる周辺場所モデルを自動的に更新することができる。
【００４３】
図８は、図６に示す位置推定システムに本発明者が見出した手法を適用した場合の構成の一例をより詳細に示す図である。図８中、図６と同一部分には同一符号を付し、その説明は省略する。
【００４４】
図８において、サーバ２１が実行するステップＳＴ２３には、チェックインデータ及び場所モデルに基づいて、後述するプレイスグラフを生成してサーバ２１の記憶部に格納するプレイスグラフ生成処理を実行するステップＳＴ２３１と、サーバ２１の記憶部から読み込んだプレイスグラフに基づいて携帯端末１が現在ある場所の周辺場所の場所モデルを抽出する場所モデル抽出処理を実行するステップＳＴ２３２とが含まれる。プレイスグラフは、場所モデルファイル２００Ａに格納されても良い。ステップＳＴ２３２の場所モデル抽出処理で抽出された、携帯端末１が現在ある場所の周辺場所の場所モデルは、サーバ２１が実行するステップＳＴ２４の送信処理で携帯端末１へ送信される。一方、携帯端末１が実行するステップＳＴ３には、サーバ２１が抽出して送信した、携帯端末１が現在ある場所の周辺場所の場所モデル受信し、携帯端末１の記憶部１２に格納して場所モデルを更新するステップＳＴ３０１が含まれる。つまり、携帯端末１は、サーバ２１側で携帯端末１が現在ある場所の周辺場所の場所モデルが抽出されて送信される度に、サーバ２１からダウンロードされた場所モデルに基づき記憶部１２に格納された場所モデルファイル２００Ａを更新する。ステップＳＴ４では、携帯端末１は記憶部１２から更新された場所モデルファイル２００Ａを読み込み、更新された場所モデル２００を用いて、チェックインデータRSSI特徴ベクトルに基づいて位置推定処理を行い、携帯端末１の場所の判定結果を出力する。ステップＳＴ４では、携帯端末１が、WiFiスキャン（ステップＳＴ１）で得られたRSSIデータを更新された周辺場所の場所モデルと照合して、携帯端末１の現在場所を検知できる。
【００４５】
サーバ２１のプロセッサは、上記ステップＳＴ２３１のプレイスグラフ生成処理を実行する生成手段（または、生成部）と、上記ステップＳＴ２３２の場所モデル抽出処理を実行する抽出手段（または、抽出部）として機能しても良い。また、サーバ２１のプロセッサは、上記ステップＳＴ２４の送信処理を実行する送信手段（または、送信部）として機能しても良い。
【００４６】
図８の例では、携帯端末１からのチェックインデータ送信（ステップＳＴ２）がサーバ２１に対する周辺場所の場所モデルのダウンロード要求を形成できる。この場合、サーバ２１は、ダウンロード要求を受け付けると、ステップＳＴ２１，ＳＴ２２の処理に加え、ステップＳＴ２３のステップＳＴ２３１，ＳＴ２３２においてプレイスグラフ生成処理及び場所モデル抽出処理を実行することで、携帯端末１が現在ある場所の周辺場所の場所モデルを抽出してステップＳＴ２４の送信処理で抽出した場所モデルを携帯端末１へ送信する。
【００４７】
なお、ステップＳＴ３０１において、携帯端末１が、サーバ２１に対して場所モデルの更新要求、周辺場所の場所モデルの要求などのダウンロード要求を送信するようにしても良い。この場合、ステップＳＴ２４において、サーバ２１がダウンロード要求を受け付けると、ステップＳＴ２３のステップＳＴ２３１，ＳＴ２３２において、サーバ２１がプレイスグラフ生成処理及び場所モデル抽出処理を実行し、ステップＳＴ２４の送信処理で抽出した場所モデルを携帯端末１へ送信する。これにより、ステップＳＴ３０１において、携帯端末１が、サーバ２１から抽出された周辺場所の場所モデルをダウンロードすることができる。
【００４８】
次に、ステップＳＴ２３１のプレイスグラフ生成処理について、図９と共に説明する。図９は、プレイスグラフの一例を説明する図である。図９において、○印は場所を表すプレイスグラフの場所ノードを示す。各場所ノードは、場所名、ヒストグラムのデータサイズなどの情報を保持している。例えば、C0は、場所L1でのRSSIヒストグラムのデータサイズを示すデータである。C0, C1, ...の値は、夫々の場所で観測されるAPの数で決まるデータであり、C0, C1, ...の単位は例えばバイト（Byte）である。また、図９において、○印間を繋ぐ線で表す、隣接する場所ノード間を接続するリンクは、隣接する場所間の空間的関係の一例である、隣接する一方の場所におけるAPからの電波の観測状態と観測欠損状態及びRSSIを含むRSSI分布特徴と、隣接する他方の場所におけるAPからの電波の観測状態と観測欠損状態及びRSSIを含むRSSI分布特徴との類似度を表す。例えば、リンクの値S01は、場所L0, L1間のRSSI分布特徴の類似度を示すデータであり、以下に説明する方法で計算可能である。
【００４９】
例えば、場所L0, L1間のRSSI分布特徴の類似度は、以下に説明するように第１及び第２の尤度差を計算し、第１及び第２の尤度差の分布距離を計算することで求めることができる。
【００５０】
先ず、第１の尤度差は、場所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)を計算する。図１０は、第１の尤度差の値の分布の一例を示す図であり、縦軸が頻度を任意単位で示し、横軸が第１の尤度差を任意単位で示す。場所L1, L2が空間的に近い場合、夫々の尤度qの値が近いので、第１の尤度差の値は0.0に近い。一方、場所L1, L2が空間的に離れている場合、場所L1で観測した尤度qの値が場所L2で観測した尤度qと比較して大きいので、第１の尤度差の値は0.0より大きくなる。
【００５１】
次に、第２の尤度差は、場所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)を計算する。図１１は、第２の尤度差の値の分布の一例を示す図であり、縦軸が頻度を任意単位で示し、横軸が第２の尤度差を任意単位で示す。場所L1, L2が空間的に近い場合、夫々の尤度qの値が近いので、第２の尤度差の値は0.0に近い。一方、場所L1, L2が空間的に離れている場合、場所L2で観測した尤度qの値が場所L1で観測した尤度qと比較して大きいので、第２の尤度差の値は0.0より大きくなる。
【００５２】
次に、第１及び第２の尤度差の分布距離を計算する。図１２は、第１及び第２の尤度差の分布距離の一例を示す図である。この例では、第１及び第２の尤度差の分布距離を、尤度差分散比で表す。
【００５３】
尤度差分散には、尤度差分種内の尤度差分散と尤度差分種間の尤度差分散がある。尤度差分種内の尤度分散は、次式で表すように、第１の尤度差の分散と第２の尤度差の分散の平均値から求めることができる。ここで、ＮＡは場所L1で収集したサンプル数、ＮＢは場所L2で収集したサンプル数、αｉは場所L1で収集した第i番目のサンプル、ｂｊは場所L2で収集した第j番目のサンプル、q(αｉ)はサンプルαｉから計算した第の尤度差、q(ｂｊ)はサンプルｂｊから計算した第２の尤度差、ｍαは第１の尤度差の平均値、ｍｂは第２の尤度差の平均値、ｍは第１の尤度差と第２の尤度差の平均を表す。
【００５４】
【数１】
2015068696.tif 000003
【００５５】
なお、尤度の計算方法は、上記の計算方法に限定されず、公知の計算方法を用いても良い。例えば、RSSI分布をヒストグラムで表現するのではなく、平均分散でガウス分布として表現した方法を用いても良い。
【００５６】
図１３は、類似度マトリックスの一例を説明する図である。プレイスグラフは、例えば各場所間の類似度を示す類似度マトリックスを計算し、場所をプレイスグラフの場所ノードとして、類似度が０でない場所間をリンクすることで生成することができる。類似度マトリクスは、図１３に示すように対称性を有するため、図１３の左上から右下への対角線に対して右上半分または左下半分の類似度（即ち、リンクの値）だけを計算すれば良い。ただし、２つの場所間で共有するAPが無い場合には、類似度は計算せずに、類似度マトリクスの対応するセルにゼロ（０）を挿入する。これにより、例えば図９に示す如きプレイスグラフが生成される。
【００５７】
なお、プレイスグラフは、場所の特性と場所間の類似度を表すグラフ（Graph）、表（Table）、ツリー（Tree）などであれば良く、場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データであればグラフに限定されない。
【００５８】
次に、ステップＳＴ２３２の場所モデル抽出処理について、図１４及び図１５と共に説明する。図１４は、確定周辺場所リストと候補周辺場所リストの更新処理の一例を説明するフローチャートである。
【００５９】
図１４において、ステップＳ２１では、サーバ２１のプロセッサが確定周辺場所リストと候補周辺場所リストを用意して、例えばサーバ２１の記憶部に格納されるこれらのリストを初期化する。確定周辺場所リストには、現在場所と、現在場所にリンクしている場所とが、確定周辺場所として記載される。また、候補周辺場所リストには、確定周辺場所にリンクしている未確定場所が、候補周辺場所として記載される。ステップＳ２２では、サーバ２１のプロセッサが確定周辺場所リストを更新する。確定周辺場所リストの更新では、候補周辺場所リストから、確定された周辺場所との類似度が最も高い場所を抽出して、確定周辺場所として、確定周辺場所リストに記載する。
【００６０】
ステップＳ２３では、確定周辺場所の場所モデルのモデルサイズの合計が制限値を超えたか否かを判定し、判定結果がＮＯであると処理はステップＳ２４へ進み、判定結果がＹＥＳであると処理はステップＳ２５へ進む。ステップＳ２４では、サーバ２１のプロセッサが候補周辺場所リストを更新する。候補周辺場所リストの更新では、今回確定された周辺場所のリンク先にある確定周辺場所リストと候補周辺場所リストの両方に無い場所が、候補場所として候補周辺場所に記載される。これにより、確定周辺場所の場所モデルのモデルサイズの合計が制限値に到達するまで、確定周辺場所リストの更新と候補周辺場所リストの更新が繰り返される。ステップＳ２５では、サーバ２１のプロセッサが確定場所の場所モデルをサーバ２１の記憶部から読み込む。
【００６１】
図１５は、周辺場所抽出処理の一例をより詳細に説明するフローチャートである。図１５において、ステップＳ３１では、サーバ２１のプロセッサが初期化処理を行う。この初期化処理では、確定した場所を保存する確定周辺場所リストをクリアし、候補場所を保存する候補周辺場所リストをクリアし、周辺場所の場所モデル（以下、「周辺場所モデル」とも言う）の総データサイズをゼロ（０）にセットする。
【００６２】
ステップＳ３２では、サーバ２１のプロセッサが第１の処理の一例であるクローズ（Close）処理を行う。このClose処理では、携帯端末１が現在ある場所の場所ノード（以下、「現在場所ノード」とも言う）と現在場所ノードにリンクしている場所ノードを確定周辺場所リストに追加する。ステップＳ３３では、サーバ２１のプロセッサが確定周辺場所リストの場所モデルのデータサイズを求め、総データサイズにセットする。ステップＳ３４では、サーバ２１のプロセッサが第２の処理の一例であるオープン（Open）処理を行う。このOpen処理では、確定周辺場所リストにリンクしており、且つ、候補周辺場所リストに入っていない場所ノードを、候補周辺場所リストに入れる。
【００６３】
ステップＳ３５では、サーバ２１のプロセッサが候補周辺場所リストから、親場所ノードとのリンク値（即ち、類似度）が最大である場所ノードを選択する。ステップＳ３６では、サーバ２１のプロセッサがステップＳ３５で選択された場所ノードのデータサイズを、確定周辺場所リストの場所モデルのデータサイズに加え、総データサイズの見積値を見積もる。ステップＳ３７では、サーバ２１のプロセッサがステップＳ３６で見積もった総データサイズの見積値が制限値以上であるか否かを判定し、判定結果がＹＥＳであると処理は後述するステップＳ４０へ進み、判定結果がＮＯであるとステップＳ３８へ進む。制限値は、携帯端末１側及びサーバ２１側の記憶部の記憶容量（または、メモリサイズ）に合わせて設定できる。
【００６４】
ステップＳ３８では、サーバ２１のプロセッサがClose処理を行う。このClose処理では、選択した場所ノードを確定周辺場所リストに追加することで、見積もった総データサイズを確定する。ステップＳ３９では、サーバ２１のプロセッサがClose処理で選択された場所ノードにリンクしており、且つ、Open処理とClose処理を施されていない場所ノードを候補周辺場所リストに入れ、処理はステップＳ３５へ戻る。ステップＳ４０では、サーバ２１のプロセッサが確定周辺場所リストのメンバ（即ち、場所）を抽出して、携帯端末１へ送信するべき周辺場所モデルをサーバ２１の記憶部から読み出して準備する。
【００６５】
図１６〜図２０は、周辺場所抽出処理で用いるプレイスグラフの一例を示す図である。図１６〜図２０中、同一部分には同一符号を付す。
【００６６】
図１６は、現在場所の周辺場所を抽出する場合のプレイスグラフの一例を示す。この例では、場所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である。他の値は、図１６に示す通りである。
【００６７】
図１７は、図１６のプレイスグラフに対して、図１５のステップＳ３１〜Ｓ３４までの処理を行った状態を示す。図１７において、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未満である。
【００６８】
図１８は、図１７のプレイスグラフに対して、ステップＳ３５〜Ｓ３９までの１回目の更新処理を行った状態を示す。この例では、候補周辺場所リストから、親場所ノードとのリンク値が最大である場所は場所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が記載されている。
【００６９】
図１９は、図１８のプレイスグラフに対して、ステップＳ３５〜Ｓ３９までの２回目の更新処理を行った状態を示す。この例では、候補周辺場所リストに記載された場所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が記載されている。
【００７０】
図２０は、図１９のプレイスグラフに対して、ステップＳ３５〜Ｓ３９までの３回目の更新処理を行った状態を示す。この例では、候補周辺場所リストに記載された（場所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総データサイズが制限値を超えるので（ステップＳ３７でＹＥＳとなるので）、ステップＳ３５〜Ｓ３９までの更新処理を終了し、確定周辺場所リストに記載された場所L5以外の場所L0, L1, L2, L3, L6が抽出するべき周辺場所であると判断する（ステップＳ４０）。
【００７１】
これにより、携帯端末１の現在場所をクエリとして、サーバ２１は確定周辺場所リストのメンバであるプレイスグラフ上の現在場所からClose前線までの各場所と、候補周辺場所リストのメンバであるプレイスグラフ上のClose前線からOpen前線までの各場所とを更新することで、周辺場所を抽出する。つまり、サーバ２１は、Close前線及びOpen前線の各前線にある場所を、確定周辺場所リスト及び候補周辺場所リストに対して追加または削除する更新処理を繰り返すことで、周辺場所を抽出する。そして、サーバ２１は、抽出した周辺場所にClose前線までの場所であることを識別可能とするClose前線フラグを周辺場所モデルに含め、周辺場所モデルのデータを携帯端末１へ送信する。この例では、Close前線フラグが送信処理で周辺場所モデルのデータに含められるが、抽出処理において周辺場所モデルのデータに含めても良いことは言うまでもない。携帯端末１が移動し、携帯端末１において移動先の新しい現在場所がClose前線またはClose前線の付近であることがClose前線フラグから識別されると、携帯端末１はサーバ２１に対して周辺場所モデルを要求する。サーバ２１は、要求に応じて、抽出された周辺場所モデルのデータを携帯端末１へ送信する。
【００７２】
図２１は、場所モデルのデータ構造の他の例を示す図である。図２１中、図５と同一部分には同一符号を付し、その説明は省略する。図２１に示す場所モデルのデータ構造には、サーバ２１から携帯端末１へ送信する周辺場所モデルのデータに加え、プレイスグラフにおける各場所ノードが現在場所ノードからClose前線までの場所ノード（以下、「Close前線場所ノード」とも言う）であるか否かを識別するためのClose前線タグを追加する。サーバ２１から携帯端末１に周辺場所モデルをダウンロードした後、携帯端末１を保持するユーザが移動すると、携帯端末１側では周辺場所モデルのClose前線タグに基づき、移動先の新しい場所がClose前線付近であるか否かを判断することができる。携帯端末１は、移動先の新しい場所がClose前線付近であると判断すれば、サーバ２１に対して周辺場所モデルのダウンロード要求を行うことができる。
【００７３】
次に、携帯端末側の周辺場所モデルの更新処理の他の例を、図２２と共に説明する。図２２は、サーバ側と携帯端末側の処理の概略を説明するフローチャートである。図２２において、ステップＳ３１〜Ｓ３９は携帯端末１のＣＰＵ１１などのプロセッサにより実行され、ステップＳ４１〜４３はサーバ２１側のＣＰＵなどのプロセッサにより実行される。
【００７４】
図２２において、携帯端末１の電源がオンになると、ステップＳ３１では、携帯端末１のＣＰＵ１１が携帯端末１の記憶部１２に周辺場所モデルが格納されているか、即ち、携帯端末１が周辺場所モデルを持っているかを問い合わせる。ステップＳ３２では、携帯端末１のＣＰＵ１１が問い合わせへの応答に基づき携帯端末１が周辺モデルを持っているか否かを判定し、判定結果がＹＥＳであれば処理はステップＳ３３へ進み、判定結果がＹＥＳであれば処理は後述するステップＳ３８へ進む。
【００７５】
ステップＳ３３では、携帯端末１のＣＰＵ１１が現在場所を検知する。ステップＳ３４では、携帯端末１のＣＰＵ１１が検知した現在場所が不明であるか否かを判定し、判定結果がＮＯであると処理はステップＳ３５へ進み、判定結果がＹＥＳであれば処理はステップであると処理は後述するステップＳ３８へ進む。ステップＳ３５では、携帯端末１のＣＰＵ１１が現在場所がClose前線までのClose前線場所であるか否かを判定し、判定結果がＹＥＳであると処理はステップＳ３６へ進み、判定結果がＮＯであると処理はステップＳ３７へ進む。ステップＳ３６では、携帯端末１のＣＰＵ１１が現在場所をサーバ２１へ送信することで、周辺場所モデルの更新要求（ダウンロード要求）を行う。ステップＳ３７では、携帯端末１のＣＰＵ１１が現在場所がClose前線までのClose前線場所ではないと判断し、処理はステップＳ３３へ戻る。ステップＳ３８では、携帯端末１のＣＰＵ１１がWiFiスキャンデータから各APのMACアドレスとRSSIを含むチェックインデータを取得してサーバ２１へ送信することで、周辺場所モデルの要求（ダウンロード要求）を行う。
【００７６】
一方、携帯端末１から周辺場所モデルの要求となるチェックインデータが受信されると、ステップＳ４１では、サーバ２１のＣＰＵがチェックインデータから携帯端末１の現在場所を検知する。ステップＳ４２では、サーバ２１のＣＰＵが検知した現在場所、或いは、ステップ３６で携帯端末１のＣＰＵ１１から受信した現在位置の周辺場所モデルを抽出する。ステップＳ４３では、サーバ２１のＣＰＵが抽出した周辺場所モデルを携帯端末１へ送信する。
【００７７】
サーバ２１から周辺場所モデルが受信されると、ステップＳ３９では、携帯端末１のＣＰＵ１１が受信した周辺場所モデルを携帯端末１の記憶部１２に格納することで、場所モデルを更新する。
【００７８】
これにより、携帯端末１が場所モデルを持っている場合、場所検知を行い、検知した現在場所が不明であれば、サーバ２１に対してチェックインデータを送信することで周辺場所モデルを要求する。また、携帯端末１が場所モデルを持っていない場合も、サーバ２１に対してチェックインデータを送信することで周辺場所モデルを要求する。これらの場合、サーバ２１はチェックインデータに基づいて検知した現在場所の周辺場所モデルを抽出し、携帯端末１へ送信する。
【００７９】
一方、携帯端末１が場所モデルを持っている場合、場所検知を行い、検知した現在場所がClose前線場所であれば、サーバ２１に対して現在場所を送信することで周辺場所モデルの更新を要求する。この場合、サーバ２１は現在場所の周辺場所モデルを抽出して、携帯端末へ送信する。
【００８０】
携帯端末１が場所モデルを持っている場合、場所検知を行い、検知した現在場所がClose前線場所でないと、サーバ２１への周辺場所モデルの更新要求を行わない。
【００８１】
図２３は、サーバ２１側のステップＳ４２，Ｓ４３の処理の詳細を説明する図である。図２３の処理で参照されるデータには、携帯端末１側からの周辺場所モデルの要求と共に受信した、携帯端末１側で既に保持している場所モデルの周辺場所名リスト２０００−１と、サーバ２１側の場所モデル抽出処理で生成した、携帯端末１がこれから保持するべき場所モデルの周辺場所名リスト２０００−２とが含まれる。例えば、周辺場所名リスト２０００−１，２０００−２は、サーバ２１側の記憶部に格納されていても良い。また、図２３の処理で生成されるデータには、不要となり削除するべき場所の場所名リスト２００１と、新たに追加するべき場所の場所名リスト２００２とが含まれる。例えば、場所名リスト２００１，２００２は、サーバ２１側の記憶部に格納されていても良い。
【００８２】
図２３において、ステップＳ４２１では、サーバ２１のＣＰＵが周辺場所名リスト２０００−１に基づき、サーバ２１のＣＰＵが携帯端末１側で削除するべき場所の場所名リスト２００１を抽出してサーバ２１の記憶部に格納する。ステップＳ４２２では、サーバ２１のＣＰＵが周辺場所名リスト２０００−２に基づき、サーバ２１のＣＰＵが携帯端末１側で追加するべき場所の場所名リスト２００２を抽出してサーバ２１の記憶部に格納する。ステップＳ４３１では、サーバ２１のＣＰＵが抽出した場所名リスト２００１，２００２をシリアライズしてシリアルな送信データを生成する。ステップＳ４３２では、サーバ２１のＣＰＵが送信データを携帯端末１へ送信する。
【００８３】
図２４は、携帯端末１側のステップＳ３９の処理の詳細を説明する図である。図２４において、ステップＳ３９１では、携帯端末１のＣＰＵ１１がサーバ２１からの送信データを受信する。ステップＳ３９２では、携帯端末１のＣＰＵ１１がサーバ２１からの受信データをディシリアライスすることで、削除するべき場所の場所名リスト１２０１及び追加するべき場所の場所名リスト１２０２を生成する。ディシリアライズされた場所名リスト１２０１，１２０２は、シリアライズされる前の場所名リスト２００１，２００２と同じである。ステップＳ３９３では、携帯端末１のＣＰＵ１１が場所名リスト１２０１に基づき、携帯端末１の記憶部に格納されている場所モデルから削除するべき場所名を削除するの削除処理を行う。ステップＳ３９４では、携帯端末１のＣＰＵ１１が場所名リスト２００２に基づき、携帯端末１の記憶部に格納されている場所モデルに追加するべき場所名を追加する追加処理を行う。これにより、携帯端末１が移動しても、携帯端末１が位置推定に用いる周辺場所モデルを自動的に更新することができる。
【００８４】
図２２〜図２４の更新処理によれば、サーバ２１が周辺場所モデルの全てのデータを携帯端末１に送信するのではなく、携帯端末１が既に保持している場所モデルと更新するべき新たな周辺場所モデルとの差分データのみを携帯端末１に送信する。このため、サーバ２１と携帯端末１との間の送受信データ量を削減でき、更新処理に伴う通信時間を短縮できるとと共に、携帯端末１側の更新処理に伴う消費電力を削減することができる。携帯端末１は、ユーザが保持して利用される形態では電池を電源とするので、更新処理に伴う消費電力を削減することで電池の消費を抑え、携帯端末１を連続的に利用可能な時間を延長することもできる。
【００８５】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データを生成する生成手段と、
現在場所から第１の前線までの各場所を確定周辺場所リストのメンバとし、前記第１の前線から第２の前線までの各場所を候補周辺場所リストのメンバとし、端末装置の現在場所をクエリとして、前記確定周辺場所リストのメンバである前記属性データ上の現在場所から前記第１の前線までの各場所と、前記候補周辺場所リストのメンバである前記属性データ上の前記第１の前線から前記第２の前線までの各場所とを更新することで、周辺場所を抽出する抽出手段と、
抽出した周辺場所に前記第１の前線までの場所であることを識別可能とするフラグを周辺場所モデルに含めて、抽出した周辺場所の場所モデルのデータを前記端末装置へ送信する送信手段
を備えたことを特徴とする、場所モデル更新装置。
（付記２）
前記送信手段は、前記端末装置に格納されており前記端末装置から受信した場所モデルと前記抽出手段により抽出された周辺場所モデルとの差分データを前記端末装置へ送信することを特徴とする、付記１記載の場所モデル更新装置。
（付記３）
前記送信手段は、前記端末装置の移動先の新しい現在場所が前記第１の前線または前記第１の前線の付近であることを前記端末装置が前記フラグから識別すると前記端末装置から受信する要求に応じて、要求された前記抽出手段により抽出された周辺場所モデルのデータを前記端末装置へ送信することを特徴とする、付記１または２記載の場所モデル更新装置。
（付記４）
前記場所間の属性は、前記端末装置における基地局からの電波の観測状態と観測欠損状態の頻度の特徴、及び、前記端末装置における受信信号強度の特徴の夫々の類似度を表すことを特徴とする、付記１乃至３のいずれか１項記載の場所モデル更新装置。
（付記５）
複数の基地局と通信可能な端末装置の位置を推定する位置推定方法であって、
前記端末装置が
前記端末装置内に格納された場所モデルに基づいて前記位置を推定し、
サーバからダウンロードされたデータに基づいて前記場所モデルを更新し、
前記サーバが
前記端末装置から受信したデータに基づいて前記サーバ内の記憶部に格納された場所モデルを更新する場所モデル更新処理と送信処理を行い、
前記場所モデル更新処理は、
場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データを生成する生成手順と、
現在場所から第１の前線までの各場所を確定周辺場所リストのメンバとし、前記第１の前線から第２の前線までの各場所を候補周辺場所リストのメンバとし、端末装置の現在場所をクエリとして、前記確定周辺場所リストのメンバである前記属性データ上の現在場所から前記第１の前線までの各場所と、前記候補周辺場所リストのメンバである前記属性データ上の前記第１の前線から前記第２の前線までの各場所とを更新することで、周辺場所を抽出する抽出手順とを含み、
前記送信処理は、
抽出した周辺場所に前記第１の前線までの場所であることを識別可能とするフラグを周辺場所モデルに含めて、抽出した周辺場所の場所モデルのデータを前記端末装置へ送信する送信手順
を含むことを特徴とする、場所推定方法。
（付記６）
前記送信手順は、前記端末装置に格納されており前記端末装置から受信した場所モデルと前記抽出手順により抽出された周辺場所モデルとの差分データを前記端末装置へ送信することを特徴とする、付記５記載の位置推定方法。
（付記７）
前記端末装置は、前記端末装置の移動先の新しい現在場所が前記第１の前線または前記第１の前線の付近であることを前記フラグから識別すると前記サーバに対して周辺場所モデルを要求し、
前記サーバは、前記端末装置から受信する要求に応じて、要求された前記抽出手順により抽出された周辺場所モデルのデータを前記送信手順により前記端末装置へ送信することを特徴とする、付記５または６記載の位置推定方法。
（付記８）
前記場所間の属性は、前記端末装置における基地局からの電波の観測状態と観測欠損状態の頻度の特徴、及び、前記端末装置における受信信号強度の特徴の夫々の類似度を表すことを特徴とする、付記５乃至７のいずれか１項記載の位置推定方法。
（付記９）
端末装置から受信したデータに基づいて場所モデルを更新する場所モデル更新処理をコンピュータに実行させるプログラムであって、
場所の属性が場所名と場所モデルのデータサイズで表され、場所間の属性が場所間の類似度で表される属性データを生成する生成手順と、
現在場所から第１の前線までの各場所を確定周辺場所リストのメンバとし、前記第１の前線から第２の前線までの各場所を候補周辺場所リストのメンバとし、端末装置の現在場所をクエリとして、前記確定周辺場所リストのメンバである前記属性データ上の現在場所から前記第１の前線までの各場所と、前記候補周辺場所リストのメンバである前記属性データ上の前記第１の前線から前記第２の前線までの各場所とを更新することで、周辺場所を抽出する抽出手順と、
抽出した周辺場所に前記第１の前線までの場所であることを識別可能とするフラグを周辺場所モデルに含めて、抽出した周辺場所の場所モデルのデータを前記端末装置へ送信する送信手順
を前記コンピュータに実行させることを特徴とする、プログラム。
（付記１０）
前記送信手順は、前記端末装置に格納されており前記端末装置から受信した場所モデルと前記抽出手順により抽出された周辺場所モデルとの差分データを前記端末装置へ送信することを特徴とする、付記９記載のプログラム。
（付記１１）
前記送信手順は、前記端末装置の移動先の新しい現在場所が前記第１の前線または前記第１の前線の付近であることを前記端末装置が前記フラグから識別すると前記端末装置から受信する要求に応じて、要求された前記抽出手順により抽出された周辺場所モデルのデータを前記端末装置へ送信することを特徴とする、付記９または１０記載のプログラム。
（付記１２）
前記場所間の属性は、前記端末装置における基地局からの電波の観測状態と観測欠損状態の頻度の特徴、及び、前記端末装置における受信信号強度の特徴の夫々の類似度を表すことを特徴とする、付記９乃至１１のいずれか１項記載のプログラム。
【００８６】
以上、開示の場所モデル更新装置、位置推定方法及びプログラムを実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【符号の説明】
【００８７】
１      携帯端末
１１      ＣＰＵ
１２      記憶部
１３      入力部
１４      表示部
１５      通信部
２１      サーバ
【図１】
2015068696.tif 000004
【図２】
2015068696.tif 000005
【図３】
2015068696.tif 000006
【図４】
2015068696.tif 000007
【図５】
2015068696.tif 000008
【図６】
2015068696.tif 000009
【図７】
2015068696.tif 000010
【図８】
2015068696.tif 000011
【図９】
2015068696.tif 000012
【図１０】
2015068696.tif 000013
【図１１】
2015068696.tif 000014
【図１２】
2015068696.tif 000015
【図１３】
2015068696.tif 000016
【図１４】
2015068696.tif 000017
【図１５】
2015068696.tif 000018
【図１６】
2015068696.tif 000019
【図１７】
2015068696.tif 000020
【図１８】
2015068696.tif 000021
【図１９】
2015068696.tif 000022
【図２０】
2015068696.tif 000023
【図２１】
2015068696.tif 000024
【図２２】
2015068696.tif 000025
【図２３】
2015068696.tif 000026
【図２４】
2015068696.tif 000027