(57)【特許請求の範囲】
【請求項１】
モバイルデバイスにおいて位置を推定するための方法であって、
支援データ要求をロケーションサーバへ送ることと、
前記モバイルデバイスと前記ロケーションサーバとの間の送信レートがしきい値よりも低いと決定することと、
前記送信レートが前記しきい値よりも低いことに基づいて、概略位置推定値要求をサーバへ送ることと、ここにおいて、前記概略位置推定値要求は、モバイルデバイスセンサー測定値を備える、
前記概略位置推定値要求を送ることに応答して、概略位置推定値を受信することと、
前記概略位置推定値を用いて、前記モバイルデバイス中の推定器をブートストラップして、ブートストラップされた推定器をもたらすことと、
前記支援データ要求に応答して支援データを受信することと、
前記支援データを用いて前記ブートストラップされた推定器をロードすることと、
前記ブートストラップされた推定器からの前記モバイルデバイスの位置推定値を決定することと、
を備える、方法。
【請求項２】
局所的に計算される位置推定値の不確実性が第２のしきい値よりも大きいと決定することをさらに備え、
ここにおいて、前記概略位置推定値要求を送ることはさらに、前記局所的に計算される位置推定値の前記不確実性が前記第２のしきい値よりも大きいことに基づき、
ここにおいて、前記局所的に計算される位置推定値は、前記モバイルデバイスにおいて計算される、
請求項１に記載の方法。
【請求項３】
前記概略位置推定値要求を送ることは、前記概略位置推定値要求を前記ロケーションサーバへ送ることを備える、請求項１に記載の方法。
【請求項４】
前記概略位置推定値要求を送ることは、前記ロケーションサーバとは分離されたサーバへ前記概略位置推定値要求を送ることを備える、請求項１に記載の方法。
【請求項５】
前記モバイルデバイスセンサー測定値は、ＷｉＦｉアクセスポイントの測定値を備える、請求項１に記載の方法。
【請求項６】
前記ＷｉＦｉアクセスポイントの測定値は、
受信信号強度インジケーション（ＲＳＳＩ）測定値、または、
ラウンドトリップタイム（ＲＴＴ）測定値、のうちの少なくとも１つを備える、請求項５に記載の方法。
【請求項７】
前記モバイルデバイスセンサー測定値は、慣性センサー測定値を備える、請求項１に記載の方法。
【請求項８】
クロップされたマップを受信することと、ここにおいて、前記クロップされたマップは、前記概略位置推定値に基づく、
前記クロップされたマップを表示することと、
をさらに備える、請求項１に記載の方法。
【請求項９】
データ構造を受信することをさらに備え、ここにおいて、前記データ構造は、前記推定器の状態を備え、
ここにおいて、前記支援データを用いて前記推定器をロードすることはさらに、前記データ構造を用いて前記推定器をロードすることを備える、請求項１に記載の方法。
【請求項１０】
前記推定器は粒子フィルタを備える、請求項１に記載の方法。
【請求項１１】
第２の概略位置推定値要求を送ることと、
前記第２の概略位置推定値要求を送ることに応答して、第２の概略位置推定値を受信することと、
をさらに備え、
ここにおいて、前記概略位置推定値の不確実性は、前記第２の概略位置推定値の不確実性よりも大きい、請求項１に記載の方法。
【請求項１２】
前記概略位置推定値と前記決定された位置推定値との間で、２つの不確実性のうちの低い方に基づいて、選択することをさらに備える、請求項１に記載の方法。
【請求項１３】
前記支援データを受信することは、漸進的（progressively）により多くの解像度を有する支援データを受信することを備える、請求項１に記載の方法。
【請求項１４】
位置を推定するためのモバイルデバイスであって、
支援データ要求をロケーションサーバへ送るための手段と、
前記モバイルデバイスと前記ロケーションサーバとの間の送信レートがしきい値よりも低いと決定するための手段と、
前記送信レートが前記しきい値よりも低いことに基づいて、概略位置推定値要求をサーバへ送るための手段と、ここにおいて、前記概略位置推定値要求は、モバイルデバイスセンサー測定値を備える、
前記概略位置推定値要求を送ることに応答して、概略位置推定値を受信するための手段と、
前記概略位置推定値を用いて、前記モバイルデバイス中の推定器をブートストラップして、ブートストラップされた推定器をもたらすための手段と、
前記支援データ要求に応答して支援データを受信するための手段と、
前記支援データを用いて前記ブートストラップされた推定器をロードするための手段と、
前記ブートストラップされた推定器からの前記モバイルデバイスの位置推定値を決定するための手段と、
を備える、モバイルデバイス。
【請求項１５】
請求項１から請求項１３のうちの何れか一項に記載の方法を実行するためのプログラムコードを備える、プログラムコードを記憶した非一時的なコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
[0001]  本出願は、「Dynamic position partitioning for better user experience in indoor positioning」と題されて２０１３年１２月６日に出願された米国特許出願第１４／０９８，９７６号の優先権および利益を主張し、それは、米国特許法第１１９条（ｅ）の下で、「Dynamic position partitioning for better user experience in indoor positioning」と題されて２０１３年９月１９日に出願された米国特許仮出願第６１／８８０，０８２号の優先権および利益を主張し、その両方は、全体が参照によりここに組み込まれる。
【技術分野】
【０００２】
[0003]  本開示は一般に、ワイヤレスデバイスのポジションを決定するためのシステム、装置および方法に関し、より具体的には、粒子フィルタ等の推定器をブートストラップ（bootstrap）するために概略位置推定値（rough location estimate）を使用することに関する。
【背景技術】
【０００３】
[0005]  モバイルデバイスは、推定器を用いてポジションを決定する前に、支援データを要求して、待つことが多い。この時間の間、モバイルデバイスはアイドルである。支援データを適用する前に、このアイドル時間を使用して推定器をよりよく準備またはプレロード（preload）することが必要である。
【発明の概要】
【０００４】
[0006]  推定器をブートストラップするために、サーバから受信される概略位置推定値を使用するためのシステム、装置および方法が開示される。
【０００５】
[0007]  いくつかの態様にしたがって、モバイルデバイスにおいて位置（location）を推定するための方法が開示され、この方法は、支援データ要求をロケーションサーバへ送ること、モバイルデバイスとロケーションサーバとの間の送信レートがしきい値よりも低いと決定すること、送信レートがしきい値よりも低いことに基づいて、概略位置推定値要求を送ること、概略位置推定値要求を送ることに応答して、概略位置推定値を受信すること、概略位置推定値を用いてモバイルデバイス中の推定器をブートストラップすること、支援データ要求に応答して支援データを受信すること、支援データを用いて推定器をロードすること、および推定器からモバイルデバイスの位置推定値を決定することを備える。
【０００６】
[0008]  いくつかの態様にしたがって、位置を推定するためのモバイルデバイスが開示され、このモバイルデバイスは、支援データ要求をロケーションサーバへ送るための手段、モバイルデバイスとロケーションサーバとの間の送信レートがしきい値よりも低いと決定するための手段、送信レートがしきい値よりも低いことに基づいて、概略位置推定値要求を送るための手段、概略位置推定値要求を送ることに応答して、概略位置推定値を受信するための手段、概略位置推定値を用いてモバイルデバイス中の推定器をブートストラップするための手段、支援データ要求に応答して、支援データを受信するための手段、支援データを用いて推定器をロードするための手段、および推定器からモバイルデバイスの位置推定値を決定するための手段を備える。
【０００７】
[0009]  いくつかの態様にしたがって、位置を推定するためのモバイルデバイスが開示され、このモバイルデバイスは、支援データ要求をロケーションサーバへ送る、および送信レートがしきい値よりも低いことに基づいて、概略位置推定値要求を送るように構成される送信機、概略位置推定値要求を送ることに応答して送られた概略位置推定値を受信する、および支援データ要求に応答して送られた支援データを受信するように構成される受信機、概略位置推定値を用いてブートストラップするように構成される推定器、およびモバイルデバイスとロケーションサーバとの間の送信レートがしきい値よりも低いと決定する、および推定器からモバイルデバイスの位置推定値を決定するように構成されるプロセッサを備える。
【０００８】
[0010]  いくつかの態様にしたがって、プログラムコードを記憶した非一時的なコンピュータ読み取り可能な記憶媒体が開示され、それは支援データ要求をロケーションサーバへ送り、モバイルデバイスとロケーションサーバとの間の送信レートがしきい値よりも低いことを決定し、送信レートがしきい値よりも低いことに基づいて、概略位置推定値要求を送り、概略位置推定値要求を送ることに応答して概略位置推定値を受信し、概略位置推定値を用いて推定器をブートストラップし、支援データ要求に応答して支援データを受信し、支援データを用いて推定器をロードし、および推定器からモバイルデバイスの位置推定値を決定するためのプログラムコードを備える。
【０００９】
[0011]  他の態様は、例示として様々な態様が説明および示される以下の詳細な説明から当業者にとって容易に明らかになるであろうことは理解される。図面および詳細な説明は、本質的に例示的であると見なされるべきであり、限定的であると見なされるべきではない。
【図面の簡単な説明】
【００１０】
[0012]  本発明の実施形態が、単なる例として、図面を参照してこれから説明される。
【図１】[0013]  図１は、スローリンク（slow link）上のメッセージを示す。
【図２】[0014]  図２は、本発明のいくつかの実施形態にしたがって、概略位置を用いて推定器をブートストラップすることを例示する。
【図３】[0015]  図３は、本発明のいくつかの実施形態にしたがって、概略位置更新要求を繰り返すことを例示する。
【図４】[0016]  図４は、本発明のいくつかの実施形態にしたがって、モバイルデバイスセンサー測定値が、無線測定値、慣性センサー測定値（inertial sensor measurements）および／または他のセンサー測定値であり得ることを示す。
【図５】[0017]  図５は、本発明のいくつかの実施形態にしたがって、マップを準備しモバイルデバイスへ送るサーバを示す。
【図６】[0018]  図６は、本発明のいくつかの実施形態にしたがって、推定器をブートストラップするために使用されるデータ構造交換を例示する。
【図７】[0019]  図７は、本発明のいくつかの実施形態にしたがって、共通のサーバへ、および別々のサーバへ送られる要求を例示する。
【図８】図８は、本発明のいくつかの実施形態にしたがって、共通のサーバへ、および別々のサーバへ送られる要求を例示する。
【図９】[0020]  図９は、本発明のいくつかの実施形態にしたがって、モバイルデバイスにおいて位置を推定するための方法を示す。
【図１０】[0021]  図１０は、本発明のいくつかの実施形態にしたがって、モバイルデバイスを示す。
【図１１】[0022]  図１１は、本発明のいくつかの実施形態にしたがって、ロケーションサーバを示す。
【図１２】[0023]  図１２は、本発明のいくつかの実施形態にしたがって、サーバを示す。
【発明を実施するための形態】
【００１１】
[0024]  添付図面に関連して以下に記載される詳細な説明は、本開示の様々な態様の説明として意図されており、本開示が実現され得る唯一の態様を表すようには意図されていない。本開示で説明される各態様は、単に本開示の例または例示として提供されており、必ずしも他の態様よりも好ましいまたは有利であるように解釈されるべきではない。詳細な説明は、本開示の完全な理解を提供することを目的として特定の詳細を含む。しかしながら、本開示がこれらの特定の詳細なしに実現され得ることは、当業者にとって明らかであろう。いくつかの事例では、周知の構造およびデバイスは、本開示の概念を曖昧にすることを避けるためにブロック図形式で示される。頭文字および他の記述的な用語（descriptive terminology）は、単に利便性および明確性のために使用されているのであり得、本開示の範囲を限定するようには意図されていない。
【００１２】
[0025]  ここに説明されるポジション決定技法（Position determination technique）は、ワイヤレス広域ネットワーク（ＷＷＡＮ）、ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）、ワイヤレスパーソナルエリアネットワーク（ＷＰＡＮ）などのような、様々なワイヤレス通信ネットワークと併せてインプリメントされ得る。「ネットワーク」および「システム」という用語は、交換可能に使用されることが多い。ＷＷＡＮは、符号分割多元接続（ＣＤＭＡ）ネットワーク、時分割多元接続（ＴＤＭＡ）ネットワーク、周波数分割多元接続（ＦＤＭＡ）ネットワーク、直交周波数分割多元接続（ＯＦＤＭＡ）ネットワーク、シングルキャリア周波数分割多元接続（ＳＣ−ＦＤＭＡ）ネットワーク、ロングタームエボリューション（ＬＴＥ（登録商標））などであり得る。ＣＤＭＡネットワークは、ｃｄｍａ２０００、広帯域ＣＤＭＡ（Ｗ−ＣＤＭＡ（登録商標））などのような、１つ以上の無線アクセス技術（ＲＡＴ）をインプリメントし得る。ｃｄｍａ２０００は、ＩＳ−９５、ＩＳ−２０００、およびＩＳ−８５６規格を含む。ＴＤＭＡネットワークは、モバイル通信のためのグローバルシステム（ＧＳＭ（登録商標））、デジタルアドバンストモバイル電話システム（Ｄ−ＡＭＰＳ：Digital Advanced Mobile Phone System）、または何らかの他のＲＡＴをインプリメントし得る。ＧＳＭおよびＷ−ＣＤＭＡは、「第３世代パートナーシッププロジェクト」（３ＧＰＰ（登録商標））という名称のコンソーシアムからの文書に説明されている。ｃｄｍａ２０００は、「第３世代パートナーシッププロジェクト２」（３ＧＰＰ２）という名称のコンソーシアムからの文書に説明されている。３ＧＰＰおよび３ＧＰＰ２の文書は、公的に入手可能である。ＷＬＡＮは、ＩＥＥＥ８０２．１１ｘネットワークであり得、ＷＰＡＮは、Ｂｌｕｅｔｏｏｔｈ（登録商標）ネットワーク、ＩＥＥＥ８０２．１５ｘ、または何らかの他のタイプのネットワークであり得る。これら技法はまた、ＷＷＡＮ、ＷＬＡＮおよび／またはＷＰＡＮの任意の組み合わせと併せてインプリメントされ得る。
【００１３】
[0026]  衛星測位システム（ＳＰＳ：satellite positioning system）は、典型的に、複数の送信機から受信される信号に少なくとも部分的に基づいて、エンティティが、地上または地球上空におけるそれらの位置を決定できるように配置された、送信機システムを含む。このような送信機は、典型的に、設定されたチップ数の繰り返し疑似ランダムノイズ（ＰＮ：pseudo-random noise）符号で印を付けられた信号を送信し、地上ベースの制御局、ユーザ機器および／または宇宙ビークル上に位置し得る。特定の例では、このような送信機は、地球周回衛星ビークル（ＳＶ）（Earth orbiting satellite vehicle）に位置し得る。例えば、全地球測位システム（ＧＰＳ）、ガリレオ、ＧＬＯＮＡＳＳまたはコンパスのような全地球航法衛星システム（ＧＮＳＳ）のコンステレーション内のＳＶは、（例えば、ＧＰＳの場合のように衛星ごとに異なるＰＮ符号を使用して、または、ＧＬＯＮＡＳＳの場合のように異なる周波数上で同じ符号を使用して）そのコンステレーション内の他のＳＶによって送信されたＰＮ符号と区別可能であるＰＮ符号で印を付けられた信号を送信し得る。ある特定の態様によると、ここに提示される技法は、ＳＰＳ用のグローバルシステム（例えば、ＧＮＳＳ）に限定されない。例えば、ここに提供される技法は、例えば、日本上空の準天頂衛星システム（ＱＺＳＳ）、インド上空のインド地域航法衛星システム（ＩＲＮＳＳ）、中国上空の北斗（Ｂｅｉｄｏｕ）などのような様々な地域システム、および／または、１つ以上の全地球および／または地域航法衛星システムに関連付けられる、またはさもなければそれらとの使用のために有効にされ得る様々な補強システム（例えば、静止衛星型衛星航法補強システム（ＳＢＡＳ））に適用される、またはさもなければそれらでの使用のために有効にされ得る。限定ではなく例として、ＳＢＡＳは、インテグリティ情報、ディファレンシャル補正（differential correction）などを提供する補強システム（１つまたは複数の）、例えば、広域補強システム（ＷＡＡＳ）、欧州静止衛星航法オーバレイサービス（ＥＧＮＯＳ）、運輸多目的衛星用衛星航法補強システム（ＭＳＡＳ）、ＧＰＳ支援静止衛星補強航法（GPS Aided Geo Augmented Navigation）またはＧＰＳおよび静止衛星補強航法システム（ＧＡＧＡＮ）、および／または同様のものを含み得る。したがって、ここで使用される場合、ＳＰＳは、１つ以上の全地球および／または地域航法衛星システムおよび／または補強システムの如何なる組み合わせも含み得、ＳＰＳ信号は、ＳＰＳ信号、ＳＰＳのような信号、および／またはこのような１つ以上のＳＰＳに関連する他の信号を含み得る。
【００１４】
[0027]  ここで使用される場合、モバイルデバイスは、セルラ電話、モバイル電話または他の無線通信デバイス、パーソナル通信システム（ＰＣＳ）デバイス、パーソナルナビゲーションデバイス（ＰＮＤ）、パーソナル情報マネージャー（ＰＩＭ）、携帯情報端末（ＰＤＡ）、ラップトップ、または無線通信および／またはナビゲーション信号を受信することが可能な他の適切なモバイルデバイスのような、モバイル局（ＭＳ）またはユーザ機器（ＵＥ）と呼ばれることもある。「モバイルデバイス」という用語はまた、衛星信号受信、支援データ受信、および／またはポジション関連処理がデバイスにおいて行われるかパーソナルナビゲーションデバイス（ＰＮＤ）において行われるかに関わらず、短距離無線、赤外線、ワイヤライン接続、または他の接続などによって、ＰＮＤと通信するデバイスを含むように意図される。また、「モバイルデバイス」は、衛星信号受信、支援データ受信、および／またはポジション関連処理が、デバイスで行われるか、サーバで行われるか、またはネットワークに関連付けられた別のデバイスで行われるかに関わらず、インターネット、Ｗｉ−Ｆｉ、または他のネットワークなどを介して、サーバと通信することが可能である、ワイヤレス通信デバイス、コンピュータ、ラップトップ等を含む全てのデバイスを含むように意図される。上記のうちの何れの動作可能な組み合わせもまた、「モバイルデバイス」と見なされる。
【００１５】
[0028]  図１は、スローリンク上のメッセージ３００データを示す。モバイルデバイス１００（ＭＳ１００と示される）は、メッセージ３００をロケーションサーバ２００へ送る。メッセージ３００は、支援データ要求を含む。典型的に、モバイルデバイス１００は、モバイルデバイス１００が自身の位置を推定しようとし、且つ、新しいおよび有効な（fresh and valid）支援データを有さない時、支援データ要求メッセージを送る。つまり、支援データは、モバイルデバイス１００において存在しない（non-existent in）か、または新しくない（stale）可能性がある。
【００１６】
[0029]  ロケーションサーバ２００は、支援データを要求するメッセージ３００を受信する。３１０において、ロケーションサーバ２００は、メッセージ３００に応答して、モバイルデバイス１００のおおよその位置に合わせた（tailored for）支援データを準備する。おおよその位置は、モバイルデバイス１００のカバレッジエリアの中心にあり得る。この場合、モバイルデバイス１００とロケーションサーバ２００との間のリンクスループット、リンクレートまたは送信レートは、しきい値を下回る。例えば、支援データは、ロケーションサーバ２００からモバイルデバイス１００への送信を完了するために、数秒（例えば、１０−１２秒）またはそれ以上要し得る。支援データの送信は、混雑したトラフィックからのレイテンシが原因で、実効送信レート（effective transmission rate）が低いまたは実際の送信レートが低いこと（すなわち、１秒当たり少ないビット数）により、数秒を要し得る。
【００１７】
[0030]  数秒後、モバイルデバイス１００はようやく支援データを含んだ応答を含むメッセージ３２０を受信する。３３０において、モバイルデバイス１００は、メッセージ３２０中で受信された支援データに基づいて、自身の位置を決定する。
【００１８】
[0031]  図２は、本発明のいくつかの実施形態にしたがって、概略位置を用いて推定器をブートストラップすることを例示する。まず、モバイルデバイス１００は、メッセージ３００をロケーションサーバ２００へ送る。メッセージ３００は、支援データ要求を含む。４１０において、モバイルデバイス１００は、応答に相当な遅延が伴うことが予期されるかどうか決定する。例えば、応答は、送信レートがしきい値レートよりも低いか、または高レベルのトラフィックがロケーションサーバ２００からモバイルデバイス１００へのリンク上にある時、遅すぎることになる。
【００１９】
[0032]  モバイルデバイス１００は、シード（seed）または概略位置推定値を要求するメッセージ４２０をサーバ４００へ送る。メッセージ４２０は、１つ以上の加速度計および／またはジャイロスコープからのデッドレコニング（dead-reckoning）測定値等のモバイルデバイスセンサー測定値を含み得る。代替的に、または追加的に、センサー測定値は、ＷｉＦｉセル識別子（例えば、ＭＡＣアドレスまたは信号強度）等のワイヤレス情報を含み得る。
【００２０】
[0033]  ４３０において、サーバ４００は、モバイルデバイスセンサー測定値から概略位置推定値を決定する。メッセージ４５０において、サーバ４００は、決定された概略位置推定値を含む応答を送る。サーバ４００はまた、支援データが依然として生成されおよびメッセージ３２０内で送られている間、低解像度バージョンのマップを生成および送り得る。メッセージ３２０における支援データの送信がひとたび完了すると、モバイルデバイス１００は、受信された支援データからマップを局所的に（locally）組み立て得る。４６０において、モバイルデバイス１００は、推定器（例えば、粒子フィルタ）をブートストラップするために、メッセージ４５０からの受信された概略位置推定値を使用する。
【００２１】
[0034]  処理はロケーションサーバ２００における３１０で続く。ロケーションサーバ２００での処理は、サーバ４００上の複数のアクションと並列して起こり得る。ロケーションサーバ２００が支援データを準備した後、ロケーションサーバ２００は、メッセージ３２０においてこの支援データを含んだ応答をモバイルデバイス１００へ送る。ロケーションサーバ２００とモバイルデバイス１００との間のリンクの速度が遅い場合は、ロケーションサーバ２００は、メッセージ４２０および／またはメッセージ４５０の前にメッセージ３２０を送ることをはじめ得る。３３０において、モバイルデバイス１００は、受信された支援データおよびブートストラップされた推定器に基づいて、モバイルデバイス１００の位置を決定する。
【００２２】
[0035]  ４７０において、モバイルデバイス１００は、概略位置推定値と決定された位置との間で、２つの位置のうちのどちらがより低い不確実性（uncertainty）を有するかに基づいて、オプションで選択する。つまり、サーバ４００からの概略位置推定値は、第１の不確実性を有し得、そして推定器は第２の不確実性をもたらし得る。推定器の不確実性は、必ずしもというわけではないが、サーバ４００からの不確実性より低いことが多い。
【００２３】
[0036]  図３は、本発明のいくつかの実施形態にしたがって、概略位置更新要求を繰り返すことを例示する。支援データが受信される前にモバイルデバイス１００がアイドルである時、モバイルデバイス１００は、追加的なセンサー測定値をサーバ４００へ送り得、それは追加的な概略位置推定値（１つまたは複数の）をもたらし得る。示されたケースでは、モバイルデバイス１００は第２の概略位置推定値を受信するための追加的な時間を有する。
【００２４】
[0037]  メッセージ４２０は、モバイルデバイス１００から送られ、サーバ４００によって受信され、センサー測定値を含む。４３０において、サーバ４００は、概略位置を決定する。メッセージ４５０は、サーバ４００によって送られ、モバイルデバイス１００によって受信される。メッセージ４２０、ステップ４３０およびメッセージ４５０は、上でより詳細に説明されている。
【００２５】
[0038]  モバイルデバイス１００がセンサー測定値をメッセージ４２０中でサーバ４００に送った後、モバイルデバイス１００は、追加的なモバイルデバイスセンサー測定値を集め得る。代替的に、局所的に計算されたまたは応答メッセージ４５０中で受信された不確実性を有する概略位置は、しきい値不確実性よりも大きい（greater）可能性がある。
【００２６】
[0039]  概略位置推定値を取得する処理は、上述したメッセージ４２０、ステップ４３０およびメッセージ４５０と等しいメッセージ４２０’、ステップ４３０’およびメッセージ４５０’で繰り返す。メッセージ４２０’において、モバイルデバイス１００は、概略位置推定値を求める第２の要求を送る。第２の要求は、追加的なモバイルデバイスセンサー測定値を含み得る。メッセージ４２０’は、メッセージ４５０の後に続き得る（示されているように）か、またはメッセージ４５０に先行し得る。４３０’において、サーバ４００は、追加的なモバイルデバイスセンサー測定値から第２の概略位置推定値を決定する。いくつかの実施形態では、ステップ４３０’は、追加的なモバイルデバイスセンサー測定値のみに基づいて第２の概略位置を決定する一方で、他の実施形態では、サーバ４００は追加的なモバイルデバイスセンサー測定値と過去のモバイルデバイスセンサー測定値との両方を使用する。次に、メッセージ４５０’は、サーバ４００によって送られ、モバイルデバイス１００によって受信される。メッセージ４５０’は、第２の概略位置推定値を有する応答を含む。モバイルデバイス１００は、モバイルデバイスセンサー測定値を集め続け得、サーバ４００からの精細概略位置推定値（refine rough location estimates）を要求および受信し続け得る。後続のメッセージ４５０はまた、以下により詳細に説明されるように、更新されたマップ（図５参照）および／またはデータ構造（図６参照）を含み得る。
【００２７】
[0040]  図４は、本発明のいくつかの実施形態にしたがって、モバイルデバイスセンサー測定値が、無線測定値、慣性センサー測定値および／または他のセンサー測定値であり得ることを示す。いくつかの実施形態では、モバイルデバイス１００は、無線信号測定値、例えば、ＷｉＦｉ ＭＡＣアドレスおよび／または信号強度値および／または伝播時間を送り、サーバ４００はそれを受信する。他の実施形態では、モバイルデバイスセンサー測定値は、例えば、１つ以上の加速度計および／またはジャイロスコープからの慣性センサー測定値を含む。さらに他の実施形態では、モバイルデバイスセンサー測定値は、無線測定値と慣性センサー測定値の両方を含む。
【００２８】
[0041]  モバイルデバイス１００は、概略位置推定値を要求するためにメッセージ４２２を送り、サーバ４００はそれを受信する。要求は、上述したメッセージ４２０と等しい。メッセージ４２２は、無線測定値、慣性センサー測定値および／または他のセンサー測定値を含み得る。４３２において、サーバ４００は、無線測定値、慣性センサー測定値および／または他のセンサー測定値から概略位置推定値を決定する。ステップ４３２は、上述したステップ４３０と等しい。応答メッセージ４５０は、サーバ４００によって送られ、ＭＳ、モバイルデバイスによって受信され、モバイルデバイスセンサー測定値に基づいた概略位置推定値を含む。
【００２９】
[0042]  図５は、本発明のいくつかの実施形態にしたがって、マップを準備しモバイルデバイスへ送るサーバを示す。メッセージ４２４は、概略位置推定値およびマップを求める要求を含む。上述したメッセージ４２０および４２２と同様に、メッセージ４２４もまた、モバイルデバイスセンサー測定値を含み得る。４３０において、サーバ４００は、モバイルデバイスセンサー測定値から概略位置推定値を決定する。４３４において、サーバ４００は、モバイルデバイス１００の決定された概略位置推定値に基づいて、マップを準備および／またはクロップ（crop）する。メッセージ４５２において、サーバ４００は、概略位置推定値およびステップ４３４において準備されたマップを用いて応答する。
【００３０】
[0043]  いくつかの実施形態では、モバイルデバイス１００は、４８０で示されるように、メッセージ４５２中で受信されたマップを表示する。例えば、モバイルデバイス１００は、そのマップを、ソーシャルアプリケーションまたは他のマップ表示アプリケーション（map displaying application）において、表示する。概略位置推定値および対応する概略マップが知られている場合には、ユーザは、より詳細および正確なマップが決定され得るまで、視覚的なマップ（visual map）を提示される。いくつかの実施形態では、メッセージ３２０中の支援データの送信がひとたび完了すると、モバイルデバイス１００は、受信された支援データからモバイルデバイス１００上で局所的に生成されるマップ（locally-generated map）を組み立てることが可能であり得る。
【００３１】
[0044]  図６は、本発明のいくつかの実施形態にしたがって、推定器をブートストラップするために使用されるデータ構造交換を例示する。モバイルデバイス１００は、概略位置推定値を求めるメッセージ４２０を送り、サーバ４００は、それを受信する。４３０において、サーバ４００は、モバイル無線センサー測定値に基づいて、概略位置推定値を決定する。４３６において、サーバ４００は、粒子フィルタまたは他の推定器にロードされることになる現在の状況についてのデータ構造を準備する。メッセージ４５４は、サーバ４００によって送られ、モバイルデバイス１００によって受信される。メッセージ４５４は、概略位置推定値（ステップ４３０で決定された）およびデータ構造（ステップ４３６で準備された）を含む。４６２において、モバイルデバイス１００は、（メッセージ４５４からの）データ構造および概略位置推定値を使用して、推定器をブートストラップする。ブートストラップされた推定器は、位置をより素早く推定し得る。データ構造はまた、便宜上、概略位置推定値を含み得る。
【００３２】
[0045]  図７および図８は、本発明のいくつかの実施形態にしたがって、共通のサーバへ、および別々のサーバへ送られる要求を例示する。図７において、モバイルデバイス１００は、ロケーションサーバ２００から支援データを要求するためにメッセージ３００を送る。同じメッセージ内でまたは別個のメッセージ内で、モバイルデバイス１００は、メッセージ４２０において概略位置推定値を求める要求をサーバ２００へ送る。メッセージ４２０はまた、モバイルデバイスセンサー測定値を含み得る。この実施形態では、ロケーションサーバ２００はまた、モバイルデバイス１００にとってサーバ４００の役割をする。図８において、モバイルデバイス１００は、支援データを要求するために、メッセージ３００をロケーションサーバ２００へ送る。別個のメッセージ４２０において、モバイルデバイス１００は、メッセージ４２０をサーバ４００へ送る。この実施形態では、モバイルデバイス１００は、メッセージを２つの異なるサーバへ宛てる（directs）。
【００３３】
[0046]  図９は、本発明のいくつかの実施形態にしたがって、モバイルデバイス１００において位置を推定するための方法を示す。５１０において、モバイルデバイス１００は、支援データ要求をロケーションサーバ２００へ送る。同時に、その前に、またはその後に、モバイルデバイス１００は、５２０においてモバイルデバイス１００とロケーションサーバ２００との間の送信レートがしきい値よりも低いと決定する。その結果５３０において、モバイルデバイス１００は、送信レートがしきい値よりも低いことに基づいて、概略位置推定値要求をサーバ４００へ送る。概略位置推定値要求はまた、モバイルデバイスセンサー測定値を含み得る。
【００３４】
[0047]  ５４０において、モバイルデバイス１００は、概略位置推定値要求を送ることに応答して、サーバ４００から概略位置推定値を受信する。モバイルデバイス１００は、推定器のためのシードとしてその概略位置推定値を使用する。モバイルデバイス１００はまた、図５および図６に関してそれぞれ上述したように、サーバ４００から推定器データ構造および／またはマップを受信し得る。５６０において、モバイルデバイス１００は、シード位置として概略位置推定値を用いて推定器をブートストラップする。利用可能な場合、モバイルデバイス１００はまた、サーバ４００から受信されたマップを表示し得る、および／またはデータ構造を用いて推定器をロードし得る。
【００３５】
[0048]  図９において、点線は、モバイルデバイス１００とサーバ４００との間の処理が５３０で追加的なセンサー測定値を用いて１回以上繰り返し得、５６０において精細なシードおよび／または精細なマップおよび／または精細な推定器データ構造をもたらすことを示す。５７０において、モバイルデバイス１００は、ロケーションサーバ２００から、支援データ要求に応答して、支援データを受信する。モバイルデバイス１００は次いで、支援データおよび／または精細な推定器データ構造を用いて推定器をロードする。最終的に５９０において、モバイルデバイス１００は、決定された位置推定値をもたらすために、推定器からのモバイルデバイス１００の位置推定値を決定する。
【００３６】
[0049]  図１０は、本発明のいくつかの実施形態にしたがって、モバイルデバイス１００を示す。モバイルデバイス１００は、プロセッサ１１０、メモリ１２０、ディスプレイ１３０、トランシーバ１４０、トランシーバ１５０、およびセンサー１６０を含む。プロセッサ１１０は、特殊目的プロセッサまたは汎用プロセッサであり得る。プロセッサ１１０は、粒子フィルタ等の推定器１１２を含んだソフトウェアモジュールを含む。メモリ１２０は、実行されるとここに説明された方法にしたがって位置を推定するソフトウェアコードを含む。ディスプレイ１３０は、粗い（coarse）ポジション、精細なポジション、または最終的なポジションをそれぞれ用いた、粗いマップ、精細なマップおよび／または最終的なマップを示す。トランシーバ１４０は、プロセッサ１１０がロケーションサーバ２００またはサーバ４００と通信することを可能にする。トランシーバ１５０は、センサー１６０が無線信号（例えば、ＷｉＦｉアクセスポイントからの）を受信すること、並びに無線アドレス（例えば、ＭＡＣアドレス）および／または信号強度測定値（例えば、ＲＳＳＩ測定値）および／またはタイミング測定値（例えば、ＲＴＴ測定値）を識別することを可能にする。
【００３７】
[0050]  図１１は、本発明のいくつかの実施形態にしたがって、ロケーションサーバ２００を示す。ロケーションサーバ２００は、プロセッサ２１０、メモリ２２０、およびトランシーバ２４０を含む。プロセッサ２１０は、特殊目的プロセッサまたは汎用プロセッサであり得る。プロセッサ２１０は、１つ以上のソフトウェアモジュール２１２を含む。メモリ２２０は、プロセッサ２１０上のソフトウェアモジュール２１２として実行される（executes as）ソフトウェアコードを含む。トランシーバ２４０は、プロセッサ２１０が１つ以上のモバイルデバイス１００と通信することを可能にする。トランシーバ２４０は、しばしば、モバイルデバイス１００と論理的に結合されるが、物理的には基地局と分離される。
【００３８】
[0051]  図１２は、本発明のいくつかの実施形態にしたがって、サーバ４００を示す。サーバ４００は、プロセッサ４１０、メモリ４２０、およびトランシーバ４４０を含む。プロセッサ４１０は、特殊目的プロセッサまたは汎用プロセッサであり得る。プロセッサ４１０は、１つ以上のソフトウェアモジュール４１２を含む。メモリ４２０は、プロセッサ４１０上でソフトウェアモジュール４１２として実行されるソフトウェアコードを含む。トランシーバ４４０は、プロセッサ４１０が１つ以上のモバイルデバイス１００と通信することを可能にする。トランシーバ４４０は、しばしば、モバイルデバイス１００と論理的に結合されるが、物理的には基地局と分離される。
【００３９】
[0052]  ここに説明された手法（methodologies）は、アプリケーションに応じて様々な手段によってインプリメントされ得る。例えば、これらの手法は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの任意の組み合わせでインプリメントされ得る。ハードウェアインプリメンテーションの場合、処理ユニットは、１つ以上の特定用途向け集積回路（ＡＳＩＣ）、デジタルシグナルプロセッサ（ＤＳＰ）、デジタル信号処理デバイス（ＤＳＰＤ）、プログラマブル論理デバイス（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、ここに説明された機能を実行するために設計されたその他の電子ユニット、またはこれらの組み合わせ内でインプリメントされ得る。
【００４０】
[0053]  ファームウェアおよび／またはソフトウェアインプリメンテーションの場合、これらの手法は、ここに説明された機能を実行するモジュール（例えば、プロシージャ、関数等）を用いてインプリメントされ得る。命令を実体的に具現化する如何なる機械読み取り可能な媒体も、ここに説明された手法をインプリメントする際に使用され得る。例えば、ソフトウェアコードは、メモリ内に記憶され、プロセッサユニットによって実行され得る。メモリは、プロセッサユニット内でまたはプロセッサユニットの外でインプリメントされ得る。ここで使用される場合、「メモリ」という用語は、如何なるタイプの長期、短期、揮発性、不揮発性、または他のメモリも指し、如何なる特定のメモリタイプまたはメモリの数、あるいはメモリが記憶される媒体のタイプにも限定されるべきでない。
【００４１】
[0054]  ファームウェアおよび／またはソフトウェアでインプリメントされる場合、機能は、コンピュータ読み取り可能な媒体上に、１つ以上の命令またはコードとして記憶され得る。例としては、データ構造で符号化されたコンピュータ読み取り可能な媒体と、コンピュータプログラムで符号化されたコンピュータ読み取り可能な媒体とがある。コンピュータ読み取り可能な媒体は、物理的なコンピュータ記憶媒体を含む。記憶媒体は、コンピュータによってアクセスされることができる任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ読み取り可能な媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤＲＯＭ、または他の光ディスク記憶装置、磁気ディスク記憶装置、または他の磁気記憶デバイス、または、命令またはデータ構造の形態で所望のプログラムコードを記憶するために使用されることができ、かつ、コンピュータによってアクセスされることができる如何なる他の媒体も含むことができ、ディスク（ｄｉｓｋ）およびディスク（ｄｉｓｃ）は、ここで使用される場合、コンパクトディスク（ｄｉｓｃ）（ＣＤ）、レーザーディスク（登録商標）（ｄｉｓｃ）、光ディスク（ｄｉｓｃ）、デジタル多用途ディスク（ｄｉｓｃ）（ＤＶＤ）、フロッピー（登録商標）ディスク（ｄｉｓｋ）、およびブルーレイディスク（ｄｉｓｃ）を含み、この場合、ディスク（ｄｉｓｋ）は通常、磁気的にデータを再生するが、ディスク（ｄｉｓｃ）は、レーザーを用いて光学的にデータを再生する。上記の組み合わせもまた、コンピュータ読み取り可能な媒体の範囲内に含まれるべきである。
【００４２】
[0055]  コンピュータ読み取り可能な媒体上の記憶に加えて、命令および／またはデータは、通信装置に含まれる伝送媒体上の信号として提供され得る。例えば、通信装置は、命令およびデータを示す信号を有するトランシーバを含み得る。これら命令およびデータは、１つ以上のプロセッサに、特許請求の範囲において概説される機能をインプリメントさせるように構成される。すなわち、通信装置は、開示された機能を実行するための情報を示す信号を有する伝送媒体を含む。一度目に、通信装置に含まれる伝送媒体は、開示された機能を実行するための情報の第１の部分を含み得、二度目には、通信装置に含まれる伝送媒体は、開示された機能を実行するための情報の第２の部分を含み得る。
【００４３】
[0056]  開示された態様の上記説明は、当業者が本開示を製造または使用することが可能であるように提供されている。これらの態様への様々な修正は、当業者には容易に明らかであるだろうし、ここに定義された一般的な原理は、本開示の精神または範囲から逸脱することなく他の態様にも適用可能であり得る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[Ｃ１]  モバイルデバイスにおいて位置を推定するための方法であって、
支援データ要求をロケーションサーバへ送ることと、
前記モバイルデバイスと前記ロケーションサーバとの間の送信レートがしきい値よりも低いと決定することと、
前記送信レートが前記しきい値よりも低いことに基づいて、概略位置推定値要求を送ることと、
前記概略位置推定値要求を送ることに応答して、概略位置推定値を受信することと、
前記概略位置推定値を用いて、前記モバイルデバイス中の推定器をブートストラップすることと、
前記支援データ要求に応答して支援データを受信することと、
前記支援データを用いて前記推定器をロードすることと、
前記推定器からの前記モバイルデバイスの位置推定値を決定することと、
を備える、方法。
[Ｃ２]  局所的に計算される位置推定値の不確実性が第２のしきい値よりも大きいと決定することをさらに備え、
ここにおいて、前記概略位置推定値要求を送ることはさらに、前記局所的に計算される位置推定値の前記不確実性が前記第２のしきい値よりも大きいことに基づき、
ここにおいて、前記局所的に計算される位置推定値は、前記モバイルデバイスにおいて計算される、
Ｃ１に記載の方法。
[Ｃ３]  前記概略位置推定値要求を送ることは、前記概略位置推定値要求を前記ロケーションサーバへ送ることを備える、Ｃ１に記載の方法。
[Ｃ４]  前記概略位置推定値要求を送ることは、前記ロケーションサーバとは分離されたサーバへ前記概略位置推定値要求を送ることを備える、Ｃ１に記載の方法。
[Ｃ５]  前記概略位置推定値要求は、モバイルデバイスセンサー測定値を備える、Ｃ１に記載の方法。
[Ｃ６]  前記モバイルデバイスセンサー測定値は、ＷｉＦｉアクセスポイントの測定値を備える、Ｃ５に記載の方法。
[Ｃ７]  前記ＷｉＦｉアクセスポイントの測定値は、
受信信号強度インジケーション（ＲＳＳＩ）測定値、または、
ラウンドトリップタイム（ＲＴＴ）測定値、のうちの少なくとも１つを備える、Ｃ６に記載の方法。
[Ｃ８]  前記モバイルデバイスセンサー測定値は、慣性センサー測定値を備える、Ｃ５に記載の方法。
[Ｃ９]  クロップされたマップを受信することと、ここにおいて、前記クロップされたマップは、前記概略位置推定値に基づく、
前記クロップされたマップを表示することと、
をさらに備える、Ｃ１に記載の方法。
[Ｃ１０]  データ構造を受信することをさらに備え、ここにおいて、前記データ構造は、前記推定器の状態を備え、
ここにおいて、前記支援データを用いて前記推定器をロードすることはさらに、前記データ構造を用いて前記推定器をロードすることを備える、Ｃ１に記載の方法。
[Ｃ１１]  前記推定器は粒子フィルタを備える、Ｃ１に記載の方法。
[Ｃ１２]  第２の概略位置推定値要求を送ることと、
前記第２の概略位置推定値要求を送ることに応答して、第２の概略位置推定値を受信することと、
をさらに備え、
ここにおいて、前記概略位置推定値の不確実性は、前記第２の概略位置推定値の不確実性よりも大きい、Ｃ１に記載の方法。
[Ｃ１３]  前記概略位置推定値と前記決定された位置推定値との間で、２つの不確実性のうちの低い方に基づいて、選択することをさらに備える、Ｃ１に記載の方法。
[Ｃ１４]  前記支援データを受信することは、漸進的（progressively）により多くの解像度を有する支援データを受信することを備える、Ｃ１に記載の方法。
[Ｃ１５]  位置を推定するためのモバイルデバイスであって、
支援データ要求をロケーションサーバへ送るための手段と、
前記モバイルデバイスと前記ロケーションサーバとの間の送信レートがしきい値よりも低いと決定するための手段と、
前記送信レートが前記しきい値よりも低いことに基づいて、概略位置推定値要求を送るための手段と、
前記概略位置推定値要求を送ることに応答して、概略位置推定値を受信するための手段と、
前記概略位置推定値を用いて、前記モバイルデバイス中の推定器をブートストラップするための手段と、
前記支援データ要求に応答して支援データを受信するための手段と、
前記支援データを用いて前記推定器をロードするための手段と、
前記推定器からの前記モバイルデバイスの位置推定値を決定するための手段と、
を備える、モバイルデバイス。
[Ｃ１６]  前記概略位置推定値要求を送るための前記手段は、前記概略位置推定値要求を前記ロケーションサーバへ送るための手段を備える、Ｃ１５に記載のモバイルデバイス。
[Ｃ１７]  前記概略位置推定値要求を送るための前記手段は、前記概略位置推定値要求を前記ロケーションサーバから分離されたサーバへ送るための手段を備える、Ｃ１５に記載のモバイルデバイス。
[Ｃ１８]  前記概略位置推定値要求は、モバイルデバイスセンサー測定値を備える、Ｃ１５に記載のモバイルデバイス。
[Ｃ１９]  クロップされたマップを受信するための手段と、ここにおいて、前記クロップされたマップは、前記概略位置推定値に基づく、
前記クロップされたマップを表示するための手段と、
をさらに備える、Ｃ１５に記載のモバイルデバイス。
[Ｃ２０]  データ構造を受信するための手段をさらに備え、ここにおいて、前記データ構造は、前記推定器の状態を備える、
ここにおいて、前記支援データを用いて前記推定器をロードするための前記手段はさらに、前記データ構造を用いて前記推定器をロードするための手段を備える、
Ｃ１５に記載のモバイルデバイス。
[Ｃ２１]  前記概略位置推定値と前記決定された位置推定値との間で、２つの不確実性のうちの低い方に基づいて、選択するための手段をさらに備える、Ｃ１５に記載のモバイルデバイス。
[Ｃ２２]  位置を推定するためのモバイルデバイスであって、
支援データ要求をロケーションサーバへ送る、および、送信レートがしきい値よりも低いことに基づいて、概略位置推定値要求を送るように構成される送信機と、
前記概略位置推定値要求を送ることに応答して送られた概略位置推定値を受信する、および、前記支援データ要求に応答して送られた支援データを受信するように構成される受信機と、
前記概略位置推定値を用いてブートストラップするように構成される推定器と、
前記モバイルデバイスと前記ロケーションサーバとの間の前記送信レートが前記しきい値よりも低いと決定する、および、前記推定器からの前記モバイルデバイスの位置推定値を決定するように構成されるプロセッサと、
を備える、モバイルデバイス。
[Ｃ２３]  前記概略位置推定値要求は、モバイルデバイスセンサー測定値を備える、Ｃ２２に記載のモバイルデバイス。
[Ｃ２４]  前記モバイルデバイスセンサー測定値は、ＷｉＦｉ基地局の測定値を備える、Ｃ２３に記載のモバイルデバイス。
[Ｃ２５]  前記モバイルデバイスセンサー測定値は、慣性センサー測定値を備える、Ｃ２３に記載のモバイルデバイス。
[Ｃ２６]  前記受信機は、クロップされたマップを受信するように構成され、ここにおいて、前記クロップされたマップは、前記概略位置推定値に基づき、さらに、前記クロップされたマップを表示するように構成されるディスプレイを備える、Ｃ２２に記載のモバイルデバイス。
[Ｃ２７]  前記受信機はさらに、データ構造を受信するように構成され、ここにおいて、前記データ構造は、前記推定器の状態を備え、ここにおいて、前記推定器はさらに、前記データ構造をロードするように構成される、ことをさらに備える、Ｃ２２に記載のモバイルデバイス。
[Ｃ２８]  前記プロセッサはさらに、前記概略位置推定値と前記決定された位置推定値との間で、２つの不確実性のうちの低い方に基づいて、選択するように構成される、Ｃ２２に記載のモバイルデバイス。
[Ｃ２９]  プログラムコードを記憶した非一時的なコンピュータ読み取り可能な記憶媒体であって、
支援データ要求をロケーションサーバへ送ることと、
モバイルデバイスと前記ロケーションサーバとの間の送信レートがしきい値よりも低いと決定することと、
前記送信レートが前記しきい値よりも低いことに基づいて、概略位置推定値要求を送ることと、
前記概略位置推定値要求を送ることに応答して、概略位置推定値を受信することと、
前記概略位置推定値を用いて推定器をブートストラップすることと、
前記支援データ要求に応答して支援データを受信することと、
前記支援データを用いて前記推定器をロードすることと、前記推定器からの前記モバイルデバイスの位置推定値を決定することと、
を行うためのプログラムコードを備える、非一時的なコンピュータ読み取り可能な記憶媒体。
[Ｃ３０]  前記概略位置推定値要求を送るための前記コードは、前記概略位置推定値要求を前記ロケーションサーバへ送るためのコードを備える、Ｃ２９に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【図１】
0006386058.tif 000002
【図２】
0006386058.tif 000003
【図３】
0006386058.tif 000004
【図４】
0006386058.tif 000005
【図５】
0006386058.tif 000006
【図６】
0006386058.tif 000007
【図７】
0006386058.tif 000008
【図８】
0006386058.tif 000009
【図９】
0006386058.tif 000010
【図１０】
0006386058.tif 000011
【図１１】
0006386058.tif 000012
【図１２】
0006386058.tif 000013