(57)【要約】      （修正有）【課題】モバイルデバイスに対する位置特定のためのシステム及び方法を提供する。【解決手段】位置特定のためのシステムは、１つ以上の動きセンサを使用してキャプチャされた動きデータにアクセスすることと、動きデータに基づいて、位置の第１の推定値を含む、粗い位置特定を決定することと、粗い位置特定の位置に関連付けられている、１つ以上の特徴点マップを取得することと、１つ以上の画像センサを使用して、キャプチャされた画像にアクセスすることと、画像に基づいて、１つ以上の特徴点マップのうちの特徴点マップ内に位置特定することによって、位置の第２の推定値及び方位の推定値を含む、微細な位置特定姿勢を決定することと、微細な位置特定姿勢に基づいて、仮想オブジェクトのビューを含む仮想オブジェクト画像を生成することと、仮想オブジェクト画像を表示すること、を含む。【選択図】図６
2020077363.tif 000002
【特許請求の範囲】
【請求項１】
ヘッドマウントディスプレイと、
前記ヘッドマウントディスプレイに結合されている１つ以上の画像センサと、
前記ヘッドマウントディスプレイに結合されている１つ以上の動きセンサと、
処理装置であって、
前記１つ以上の動きセンサを使用してキャプチャされた動きデータにアクセスし、
前記動きデータに基づいて、前記ヘッドマウントディスプレイの位置の第１の推定値と前記ヘッドマウントディスプレイの方位の第１の推定値とを含む、粗い位置特定姿勢を決定し、
前記粗い位置特定姿勢の位置に関連付けられている、１つ以上の特徴点マップを取得し、
前記１つ以上の画像センサを使用してキャプチャされた画像にアクセスし、
前記画像に基づいて、前記１つ以上の特徴点マップのうちの特徴点マップ内に位置特定することによって、前記ヘッドマウントディスプレイの位置の第２の推定値と前記ヘッドマウントディスプレイの方位の第２の推定値を含む、微細な位置特定姿勢を決定し、
前記微細な位置特定姿勢に基づいて、仮想オブジェクトのビューを含む仮想オブジェクト画像を生成し、
前記ヘッドマウントディスプレイを使用して前記仮想オブジェクト画像を表示する、ように構成されている、処理装置と、を備える、システム。
【請求項２】
前記処理装置は、
通信ネットワークを介して、前記粗い位置特定姿勢をサーバに送信することと、
前記通信ネットワークを介して、前記１つ以上の特徴点マップを前記サーバから受信することと、
によって、前記１つ以上の特徴点マップを取得するように構成されている、請求項１に記載のシステム。
【請求項３】
前記サーバからの前記１つ以上の特徴点マップは、連続して受信された複数の特徴点マップを含み、前記処理装置は、
前記複数の特徴点マップが受信されると、前記複数の特徴点マップのうちの前記特徴点マップ内に、位置特定を反復的に試みることと、
前記複数の特徴点マップのうちの現在の特徴点マップ内に位置特定することに失敗した後に、前記サーバからの前記複数の特徴点マップのうちの次の特徴点マップを要求することと、
前記複数の特徴点マップのうちの現在の特徴点マップ内に位置特定することに成功したことに応じて、前記サーバからの前記複数の特徴点マップのうちの特徴点マップの受信を終了することと、
によって、前記微細な位置特定姿勢を決定するように構成されている、請求項２に記載のシステム。
【請求項４】
前記１つ以上の特徴点マップは、空間的に区画されたデータ構造に記憶され、前記サーバは、
前記粗い位置特定姿勢に対応する位置の近くにある候補特徴点マップに対して前記空間的に区画されたデータ構造を検索し、
前記粗い位置特定姿勢に対応する前記位置からの距離に基づいて、送信に対して前記候補特徴点マップを優先順位付けする、ように構成されている、請求項２又は３に記載のシステム。
【請求項５】
前記１つ以上の特徴点マップは、空間的に区画されたデータ構造に記憶され、前記サーバは、
前記粗い位置特定姿勢に対応する位置の近くにある候補特徴点マップに対して前記空間的に区画されたデータ構造を検索し、
前記粗い位置特定姿勢に対応する方位と、前記粗い位置特定姿勢に対応する前記位置からの候補特徴点マップの方向との比較に基づいて、送信に対して前記候補特徴点マップを優先順位付けする、ように構成されている、請求項２又は３に記載のシステム。
【請求項６】
前記１つ以上の特徴点マップは、空間的に区画されたデータ構造に記憶され、前記サーバは、
前記粗い位置特定姿勢に対応する位置の近くにある候補特徴点マップに対して前記空間的に区画されたデータ構造を検索し、
候補特徴点マップの特徴点密度に基づいて、送信に対して前記候補特徴点マップを優先順位付けする、ように構成されている、請求項２又は３に記載のシステム。
【請求項７】
前記１つ以上の特徴点マップは、物理的空間をマッピングする八分木データ構造内に記憶されている、請求項１から６のいずれか一項に記載のシステム。
【請求項８】
前記１つ以上の特徴点マップは、グローバル座標系内のそれぞれの座標に関連付けられている、請求項１から７のいずれか一項に記載のシステム。
【請求項９】
前記１つ以上の動きセンサは、全地球測位システム受信機を含む、請求項１から８のいずれか一項に記載のシステム。
【請求項１０】
１つ以上の動きセンサを有する電子デバイスにおいて、前記１つ以上の動きセンサを使用してキャプチャされた動きデータにアクセスすることと、
前記動きデータに基づいて、前記電子デバイスの位置の第１の推定値を含む、粗い位置特定を決定することと、
前記粗い位置特定の位置に関連付けられている、１つ以上の特徴点マップを取得することと、
１つ以上の画像センサを使用してキャプチャされた画像にアクセスすることと、
前記画像に基づいて、前記１つ以上の特徴点マップのうちの特徴点マップ内に位置特定することによって、位置の第２の推定値及び方位の推定値を含む、微細な位置特定姿勢を決定することと、
前記微細な位置特定姿勢に基づいて、仮想オブジェクトのビューを含む仮想オブジェクト画像を生成することと、
前記仮想オブジェクト画像を表示することと、を含む、方法。
【請求項１１】
前記１つ以上の画像センサは、慣性測定ユニットを含む前記１つ以上の動きセンサに取り付けられている、請求項１０に記載の方法。
【請求項１２】
前記１つ以上の動きセンサは、前記デバイスからの無線信号の三角測量に基づいて、前記１つ以上の画像センサを含むデバイスの位置を推定するように構成されている受信機を含む、請求項１０又は１１に記載の方法。
【請求項１３】
前記粗い位置特定は、グローバル姿勢を含む、請求項１０から１２のいずれか一項に記載の方法。
【請求項１４】
前記仮想オブジェクト画像は、前記１つ以上の画像センサに取り付けられているヘッドマウントディスプレイを使用して表示される、請求項１０から１３のいずれか一項に記載の方法。
【請求項１５】
通信ネットワークを介して、前記粗い位置特定をサーバに送信し、
前記通信ネットワークを介して、前記１つ以上の特徴点マップを前記サーバから受信する、請求項１０から１４のいずれか一項に記載の方法。
【請求項１６】
前記サーバからの前記１つ以上の特徴点マップは、連続して受信された複数の特徴点マップを含み、前記微細な位置特定姿勢を決定することは、
前記複数の特徴点マップが受信されると、前記複数の特徴点マップのうちの前記特徴点マップ内に、位置特定を反復的に試みることと、
前記複数の特徴点マップのうちの現在の特徴点マップ内に位置特定することに失敗した後に、前記サーバからの前記複数の特徴点マップのうちの次の特徴点マップを要求することと、
前記複数の特徴点マップのうちの現在の特徴点マップ内に位置特定することに成功したことに応じて、前記サーバからの前記複数の特徴点マップのうちの特徴点マップの受信を終了することと、を含む、請求項１５に記載の方法。
【請求項１７】
前記１つ以上の特徴点マップは、空間的に区画されたデータ構造に記憶され、前記サーバは、
前記粗い位置特定に対応する位置の近くにある候補特徴点マップに対して前記空間的に区画されたデータ構造を検索し、
前記粗い位置特定に対応する前記位置からの距離に基づいて、送信に対して前記候補特徴点マップを優先順位付けする、ように構成されている、請求項１５又は１６に記載の方法。
【請求項１８】
前記１つ以上の特徴点マップは、空間的に区画されたデータ構造に記憶され、前記サーバは、
前記粗い位置特定に対応する位置の近くにある候補特徴点マップに対して前記空間的に区画されたデータ構造を検索し、
前記粗い位置特定に対応する方位と、前記粗い位置特定に対応する前記位置からの候補特徴点マップの方向との比較に基づいて、送信に対して前記候補特徴点マップを優先順位付けする、ように構成されている、請求項１５又は１６に記載の方法。
【請求項１９】
前記１つ以上の特徴点マップは、空間的に区画されたデータ構造に記憶され、前記サーバは、
前記粗い位置特定に対応する位置の近くにある候補特徴点マップに対して前記空間的に区画されたデータ構造を検索し、
候補特徴点マップの特徴点密度に基づいて、送信に対して前記候補特徴点マップを優先順位付けする、ように構成されている、請求項１５又は１６に記載の方法。
【請求項２０】
前記１つ以上の特徴点マップは、物理的空間をマッピングする八分木データ構造内に記憶されている、請求項１０から１９のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、モバイルデバイスの位置特定に関する。
【背景技術】
【０００２】
ヘッドマウントディスプレイは、仮想現実、拡張現実、及び／又はユーザに対する複合現実体験を提供するために使用される。仮想環境のオブジェクトは、ヘッドマウントディスプレイの座標系内の位置にレンダリングすることができる。
【発明の概要】
【０００３】
本明細書では、モバイルデバイスのための位置特定の実装形態が開示される。
【０００４】
第１の態様では、本明細書に記載される主題は、ヘッドマウントディスプレイと、ヘッドマウントディスプレイに結合された１つ以上の画像センサと、ヘッドマウントディスプレイに結合された１つ以上の動きセンサと、を含むシステムにおいて実施することができる。システムは、１つ以上の動きセンサを使用してキャプチャされた動きデータにアクセスし、動きデータに基づいて、ヘッドマウントディスプレイの位置の第１の推定値とヘッドマウントディスプレイの方位の第１の推定値とを含む、粗い位置特定姿勢を決定し、粗い位置特定姿勢の位置に関連付けられている、１つ以上の特徴点マップを取得し、１つ以上の画像センサを使用してキャプチャされた画像にアクセスし、画像に基づいて、１つ以上の特徴点マップのうちの特徴点マップに位置特定することによって、ヘッドマウントディスプレイの位置の第２の推定値及びヘッドマウントディスプレイの方位の第２の推定値を含む、微細な位置特定姿勢を決定し、微細な位置特定姿勢に基づいて、仮想オブジェクトのビューを含む仮想オブジェクト画像を生成し、ヘッドマウントディスプレイを使用して仮想オブジェクト画像を表示する、ように構成されている処理装置を含む。
【０００５】
第２の態様では、本明細書に記載される主題は、１つ以上の動きセンサを有する電子デバイスにおいて、１つ以上の動きセンサを使用してキャプチャされた動きデータにアクセスすることと、動きデータに基づいて、電子デバイスの位置の第１の推定値を含む、粗い位置特定を決定することと、粗い位置特定の位置に関連付けられている、１つ以上の特徴点マップを取得することと、１つ以上の画像センサを使用してキャプチャされた画像にアクセスすることと、画像に基づいて、１つ以上の特徴点マップのうちの特徴点マップに位置特定することによって、位置の第２の推定値及び方位の推定値を含む、微細な位置特定姿勢を決定することと、微細な位置特定姿勢に基づいて、仮想オブジェクトのビューを含む仮想オブジェクト画像を生成することと、仮想オブジェクト画像を表示することと、を含む方法で実施することができる。
【０００６】
第３の態様では、本明細書に記載の主題は、空間的に区画されたデータ構造に記憶された特徴点マップにアクセスし、位置の推定値に基づいて空間的に区画されたデータ構造から１つ以上の特徴点マップを選択するように構成されているサーバと、動きセンサデータに基づく位置の推定値を含む粗い位置特定を決定し、粗い位置特定を含む要求をサーバに送信し、粗い位置特定に基づいてサーバによって選択された１つ以上の特徴点マップをサーバから受信し、キャプチャされた画像を使用して１つ以上の特徴点マップのうちの特徴点マップに位置特定することによって、位置の第２の推定値及び方位の推定値を含む、微細な位置特定姿勢を決定し、微細な位置特定姿勢に基づいて仮想オブジェクトのビューを含む仮想オブジェクト画像を生成し、仮想オブジェクト画像を表示する、ように構成されているモバイルコンピューティングデバイスと、を含むシステムで実施することができる。
【０００７】
第４の態様では、本明細書に記載される主題は、非一時的コンピュータ可読記憶媒体で実施することができる。非一時的コンピュータ可読記憶媒体は、プロセッサによって実行されると、１つ以上の動きセンサを使用してキャプチャされた動きデータにアクセスすることと、動きデータに基づいて、位置の第１の推定値を含む、粗い位置特定を決定することと、粗い位置特定の位置に関連付けられている、１つ以上の特徴点マップを取得することと、１つ以上の画像センサを使用してキャプチャされた画像にアクセスすることと、画像に基づいて、１つ以上の特徴点マップのうちの特徴点マップに位置特定することによって、位置の第２の推定値及び方位の推定値を含む、微細な位置特定姿勢を決定することと、微細な位置特定姿勢に基づいて、仮想オブジェクトのビューを含む仮想オブジェクト画像を生成することと、仮想オブジェクト画像を表示することと、を含む、動作の実行を容易にする実行可能命令を含み得る。
本開示は、添付図面と併せて読むと、以下の詳細な説明から最もよく理解される。一般的な慣例に従い、図面の様々な特徴は、原寸どおりではないことを強調する。それどころか、様々な特徴の寸法は、明確さのために任意に拡大又は縮小されている。
【図面の簡単な説明】
【０００８】
【図１】拡張現実アプリケーションのための位置特定を可能にするように構成されているシステムの一例のブロック図である。
【図２】拡張現実アプリケーションのための位置特定を可能にするように構成されているシステムの一例のブロック図である。
【図３】拡張現実アプリケーションのための位置特定を可能にするように構成されているモバイルコンピューティングデバイス３００の一例のブロック図である。
【図４】拡張現実アプリケーションのための位置特定を可能にするように構成されているシステムの一例のブロック図である。
【図５】拡張現実アプリケーションのための位置特定を可能にするように構成されている位置特定サーバの一例のブロック図である。
【図６】拡張現実アプリケーションに対する位置特定のためのプロセスの一例のフローチャートである。
【図７】粗い位置特定に関連付けられた特徴点マップを取得するためのプロセスの一例のフローチャートである。
【図８】微細な位置特定を決定するために、粗い位置特定に関連付けられた特徴点マップを反復的に取得するためのプロセスの一例のフローチャートである。
【図９】粗い位置特定に基づいて、送信に対する１つ以上の特徴点マップを特定するためのプロセスの一例のフローチャートである。
【発明を実施するための形態】
【０００９】
本明細書では、座標系（例えば、地球に対するグローバル座標系）におけるその位置及び方位を決定するための、高度の精度及び安定性を有する、モバイルデバイスのための方法を提供するシステム及び方法が記載されている。例えば、これらのシステム及び方法は、ＧＰＳだけでは精度及びノイズの問題のために不十分であり得る、現実世界のセマンティクスを有する拡張現実アプリケーションのコンテキストにおいて使用することができる。
【００１０】
グローバル座標系は、地球の表面上及び表面上方の点が地球の中心に対して一意の座標のタプル（例えば、直交座標（ｘ，ｙ，ｚ）又は球面座標（θ、φ、ｒ）又は（緯度、経度、高度））と関連付けられている系である。グローバル位置は、グローバル座標系における原点からの移動デルタである。グローバル方位は、グローバル座標系における特定変換からの回転デルタである。例えば、方位は、４元数又は３×３回転行列として符号化されてもよい。姿勢は、座標系における位置及び方位を含む。姿勢は、６つの自由度を有してもよい。グローバル姿勢は、グローバル位置とグローバル方位との組合せである。例えば、姿勢は、４×４行列として、又は３つの浮動小数点値（例えば、グローバル位置）と、４元数若しくは３×３行列（例えば、グローバル方位）のいずれかとの組合せとして、符号化されてもよい。
【００１１】
粗い位置特定は、デバイスの座標（例えば、グローバル座標）を迅速ではあるが、ある程度の不確実性、ノイズ、及び／又は不安定性を伴って決定するプロセスである。例えば、粗い位置特定は、以下のタイプの動きセンサ、すなわち、ＧＰＳ受信機、Ｗｉ−Ｆｉ（登録商標）若しくはセルラ三角測量、コンパス、気圧計、及び／又は慣性測定ユニットのうちの１つ以上からの測定値又はセンサ読み取り値を処理することによって実行することができる。粗い位置特定はまた、位置及び／又は方位（例えば、位置と方位との両方を含む粗い位置特定姿勢）を含み得る、粗い位置特定プロセスの結果を指すことができる。
【００１２】
微細な位置特定は、粗い位置特定よりも高い精度及び安定性で、デバイスの座標（例えば、グローバル座標）を決定する方法である。微細な位置特定は、対象のデバイスからキャプチャされた空間の画像を、空間の領域内に存在することが知られている物理的オブジェクトのモデルと比較して、画像がキャプチャされたときに対象のデバイスの姿勢を示し得る対象のデバイスからの視点との一致を見出すことができる。例えば、特徴点マップ内に位置特定して高い精度及び安定性でデバイスの姿勢を決定するために、バンドル調整処理を（例えば、ＳＬＡＭ（同時位置特定及びマッピング）アルゴリズムを使用して）適用することができる。例えば、現実世界の場所で仮想オブジェクトのグラフィック表現（例えば、３Ｄグラフィックス）をレンダリングするいくつかの拡張現実アプリケーションでは、微細な位置特定の精度は、典型的には、１０ｃｍ未満のグローバル位置誤差、及び０．１度未満のグローバル方位誤差のオーダーであってもよい。微細な位置特定はまた、位置及び／又は方位（例えば、位置と方位との両方を含む微細な位置特定姿勢）を含み得る、微細な位置特定プロセスの結果を指すことができる。
【００１３】
特徴点マップは、コンピュータビジョンアルゴリズムによって使用され得る（例えば、特徴点のリストとして記憶される）特徴点の集合である。特徴点は、位置（例えば、グローバル座標系における位置）を有する。例えば、特徴点は、その位置を特定する３つの浮動小数点数のタプルを含み得る。いくつかの実装形態では、特徴点は、特徴点の特性（例えば、色又はローカルテクスチャ）を記述する１つ以上の追加のデータチャネルを含んでもよい。特徴点マップは、空間の領域と関連付けられてもよく、その空間の領域（例えば、立方体、球体、又は場所）内に生じる特徴点を含んでもよい。特徴点スキャンは、特徴点を収集し、現実世界のある場所の特徴点マップを生成するためのプロセス（例えば、手動プロセス）である。例えば、特徴点スキャンは、拡張現実アプリケーションに対して特徴点マップを後で使用するのと同じタイプのデバイスを使用して実行されてもよい。例えば、特徴点スキャンは、画像センサアレイと、画像センサアレイの進展する姿勢の追跡を判定するための測量用高精度センサとを含む、特殊なスキャンハードウェアを使用して実行されてもよい。
【００１４】
位置特定は、拡張現実アプリケーションが既存の特徴点マップを与えられてそれ自身を微細に位置特定しようと試みるプロセスである。例えば、特徴点マップ内に位置特定して微細な位置特定姿勢を決定するために、バンドル調整処理を（例えば、ＳＬＡＭ（同時位置特定及びマッピング）アルゴリズムを使用して）適用することができる。例えば、それらの特徴点が存在する空間の領域内にデバイスが実際には存在しない場合、又はその領域が変更された場合、又はその領域が十分にスキャンされなかった場合のシナリオでは、位置特定プロセスは失敗する可能性がある。モバイルコンピューティングデバイスは、典型的には、日常生活で移動又は持ち運ばれるコンピューティングデバイスである。モバイルコンピューティングデバイスのいくつかの例としては、スマートフォン、スマートウォッチ、タブレット、又はヘッドマウントディスプレイ（例えば、スマートグラス）が挙げられる。拡張現実アプリケーションの操作を容易にするために、モバイルコンピューティングデバイスは、２つの機能、すなわち、稼働中にインターネットを介してアクセス可能であるサービス又はサーバ又はクラウド資産を含んで、モバイルコンピューティングデバイスを粗い位置特定及び／又は微細な位置特定で支援し得る位置特定サービス、及び稼働しており、インターネットを介してアクセス可能であるサービス又はサーバ又はクラウド資産を含んで、グローバル姿勢に基づいてアプリケーションにコンテンツを販売し得るコンテンツサービス、にアクセスすることができる。いくつかの実装形態は、特徴点マップの空間的に区画されたキャッシュを含む位置特定サービスの一部として存在するデータベースである、世界マップデータベースを使用する。
【００１５】
例えば、システムの動作は、１）アプリケーションがモバイルコンピューティングデバイス（例えば、ヘッドマウントディスプレイ）上で起動し、その粗い位置特定グローバル姿勢を問合せる。２）位置特定サービスとの接続が確立されてもよい。３）モバイルコンピューティングデバイスの粗い位置特定姿勢は、位置特定サービスに送信されてもよい。４）位置特定サービスは、アプリケーション固有の検索ヒューリスティックを使用して、関連し可能性のある特徴点マップに対して、世界マップデータベースを検索することができる。５）位置特定サービスは、可能性のある特徴点マップをモバイルコンピューティングデバイスに戻すようにストリーミングし始めることができる。６）モバイルコンピューティングデバイスは、位置特定サービスがそれにストリーミングしていることを特徴点マップ内に位置特定しようと試みる、ことを含み得る。ステップ６）において成功した場合、モバイルコンピューティングデバイスは、このとき、微細に位置特定されている。次いで、モバイルコンピューティングデバイスは、コンテンツサービスを、微細な位置特定グローバル姿勢とコンタクトさせて、ユーザへのコンテンツ提示を可能にするようにデバイスが配置されている現実世界の場所に関連付けられたストリーミングコンテンツを開始することができる。ステップ６）において失敗した場合、位置特定は、候補特徴点マップのうちのいずれにも不可能であった。この時点で、モバイルコンピューティングデバイスは、異なる検索ヒューリスティックを試みるか、又は検索を追加の特徴点マップに広めるように位置特定サービスに伝えて、位置特定が成功しなかった場合に、最終的に断念して「位置特定に失敗した」というようなメッセージを表示してもよい。
【００１６】
いくつかの実装形態は、グローバル座標系への微細な位置特定を実行するために遅延並びに／又は処理リソース（例えば、プロセッササイクル、メモリ、及び／若しくは電力）を低減することなど、拡張現実アプリケーションのための位置特定に対して以前のシステムを上回る利点を提供することができる。いくつかの実装形態は、空間のレイアウトにおける頻繁な変更を考慮するような規模で頻繁に更新され得る特徴点マップの集中的集合の使用を可能にすることができる。
【００１７】
物理的環境
ａ．物理的環境とは、人々が電子システムの助けを借りずに、感知及び／又は相互作用することができる物理的世界を指す。物理的な公園などの物理的環境には、物理的な木々、物理的な建物、及び物理的な人々などの物理的物品が挙げられる。人々は、視覚、触覚、聴覚、味覚、及び臭覚などを介して、物理的環境を直接感知し、及び／又はそれと相互作用することができる。
【００１８】
コンピュータ生成現実
ａ．対照的に、コンピュータ生成現実（ＣＧＲ）環境は、人々が電子システムを介して感知及び／又は相互作用する全体的又は部分的にシミュレーションされた環境を指す。ＣＧＲでは、人の身体運動のサブセット又はその表現が追跡され、それに応じて、ＣＧＲ環境内でシミュレーションされた１つ以上の仮想オブジェクトの１つ以上の特性が、少なくとも１つの物理学の法則でふるまうように調整される。例えば、ＣＧＲシステムは、人の頭部の回転を検出し、それに応じて、そのようなビュー及び音が物理的環境においてどのように変化し得るかと同様の方法で、人に提示されるグラフィックコンテンツ及び音場を調整することができる。状況によっては（例えば、アクセス性の理由から）、ＣＧＲ環境における仮想オブジェクト（単数又は複数）の特性（単数又は複数）に対する調整は、物理的動作の表現（例えば、音声コマンド）に応じて行われてもよい。
ｂ．人は、視覚、聴覚、触覚、味覚、及び嗅覚を含む、自分の感覚のうちのいずれか１つを使用して、ＣＧＲオブジェクトを感知し、及び／又はそれと相互作用してもよい。例えば、人は、３Ｄ空間内のポイントオーディオソースの知覚を提供する、３Ｄ又は空間オーディオ環境を作り出すオーディオオブジェクトを感知し、及び／又はそれと相互作用することができる。別の実施例では、オーディオオブジェクトは、コンピュータが生成したオーディオの有無にかかわらず、物理的環境から周囲音を選択的に取り込む、オーディオ透過性を可能にすることができる。いくつかのＣＧＲ環境では、人は、オーディオオブジェクトのみを感知し、及び／又はそれと相互作用することができる。
ｃ．ＣＧＲの例としては、仮想現実及び複合現実が挙げられる。
【００１９】
仮想現実
ａ．仮想現実（ＶＲ）環境とは、１つ以上の感覚に対するコンピュータ生成感覚入力に完全に基づくように設計されたシミュレーション環境を指す。ＶＲ環境は、人が感知及び／又は相互作用することができる複数の仮想オブジェクトを含む。例えば、木、建物、及び人々を表すアバターのコンピュータ生成画像は、仮想オブジェクトの例である。人は、コンピュータ生成環境内での人の存在のシミュレーションを通じて、及び／又はコンピュータ生成環境内での人の身体運動のサブセットのシミュレーションを通じて、ＶＲ環境における仮想オブジェクトを感知し、及び／又はそれと相互作用することができる。
【００２０】
複合現実
ａ．コンピュータ生成感覚入力に完全に基づくように設計されたＶＲ環境とは対照的に、複合現実（ＭＲ）環境は、コンピュータ生成感覚入力（例えば、仮想オブジェクト）を含むことに加えて、物理的環境からの感覚入力又はその表現からの感覚入力を組み込むように設計されたシミュレーション環境を指す。仮想の連続体上では、複合現実環境は、一方の端部における完全な物理的環境と、他方の端部における仮想現実環境との間の任意の場所であるが、これらを含まない。
ｂ．いくつかのＭＲ環境では、コンピュータ生成感覚入力は、物理的環境からの感覚入力の変化に応答し得る。また、ＭＲ環境を提示するためのいくつかの電子システムは、仮想オブジェクトが現実のオブジェクト（すなわち、物理的環境又はその表現からの物理的物品）と相互作用することを可能にするために、物理的環境に対する位置及び／又は方位を追跡することができる。例えば、システムは、仮想の木が物理的な地面に対して静止して見えるように、動きを考慮することができる。
ｃ．複合現実の例としては、拡張現実及び拡張仮想が挙げられる。
ｄ．拡張現実
ｉ．拡張現実（ＡＲ）環境とは、１つ以上の仮想オブジェクトが物理的環境又はその表現の上に重ね合わされているシミュレーションされた環境を指す。例えば、ＡＲ環境を提示するための電子システムは、人が物理的環境を直接見ることができる透明又は半透明のディスプレイを有してもよい。システムは、透明又は半透明のディスプレイ上に仮想オブジェクトを提示するように構成されていてもよく、それによって、人はシステムを使用して、物理的環境上に重ねられた仮想オブジェクトを知覚する。あるいは、システムは、不透明のディスプレイと、物理的環境の表現である、物理的環境の画像又はビデオをキャプチャする１つ以上の画像センサとを有してもよい。システムは、画像又はビデオを仮想オブジェクトと合成し、その合成物を不透明なディスプレイ上に提示する。人は、システムを使用して、物理的環境の画像又はビデオによって物理的環境を間接的に観察し、物理的環境上に重ねられた仮想オブジェクトを知覚する。本明細書で使用するとき、不透明ディスプレイ上に示される物理的環境のビデオは、「パススルービデオ」と呼ばれ、システムが、１つ以上の画像センサ（単数又は複数）を使用して、物理的環境の画像をキャプチャし、不透明ディスプレイ上にＡＲ環境を提示する際にそれらの画像を使用することを意味する。更に代替的に、システムは、仮想オブジェクトを、物理的環境に、例えば、ホログラムとして又は物理的表面上に投影するプロジェクションシステムを有してもよく、それによって、人は、システムを使用して、物理的環境上に重ねられた仮想オブジェクトを知覚する。
ｉｉ．拡張現実環境はまた、物理的環境の表現がコンピュータ生成された感覚情報によって変換されるシミュレーション環境を指す。例えば、パススルービデオを提供する際に、システムは、１つ以上のセンサ画像を変換して、画像センサによってキャプチャされた視点とは異なる選択された視点（例えば、観点）を課すことができる。別の実施例として、変更された部分が代表的であるが元のキャプチャ画像の写実的なバージョンではないように、物理的環境の表現は、その部分をグラフィカルに変更（例えば、拡大）することによって変換されてもよい。更なる例として、物理的環境の表現は、その一部分をグラフィカルに除去又は曖昧化することによって変換されてもよい。
ｅ．拡張仮想
ｉ．拡張仮想（ＡＶ）環境とは、仮想又はコンピュータ生成環境が物理的環境から１つ以上の感覚入力を組み込んでいるシミュレーション環境を指す。感覚入力は、物理的環境の１つ以上の特性の表現であり得る。例えば、ＡＶパークには、仮想的な木々及び仮想ビルがあり得るが、顔を持つ人々は、物理的な人々が撮られた画像から写実的に再現される。別の例として、仮想オブジェクトは、１つ以上の画像センサによって撮像された物理的物品の形状又は色を採用してもよい。更なる例として、仮想オブジェクトは、物理的環境における太陽の位置と一致する影を採用することができる。
【００２１】
ハードウェア
ａ．人が様々なＣＧＲ環境を感知し、及び／又はそれと相互作用することを可能にする、多くの異なるタイプの電子システムが存在する。例としては、ヘッドマウントシステム、プロジェクションベースシステム、ヘッドアップディスプレイ（ＨＵＤ）、統合表示機能を有する車両ウィンドシールド、統合表示機能を有する窓、（例えば、コンタクトレンズと同様に）人の目の上に配置されるように設計されたレンズとして形成されたディスプレイ、ヘッドホン／イヤフォン、スピーカアレイ、入力システム（例えば、触覚フィードバックを有する又は有さない、ウェアラブル又はハンドヘルドコントローラ）、スマートフォン、タブレット、及びデスクトップ／ラップトップコンピュータ、が挙げられる。ヘッドマウントシステムは、１つ以上のスピーカ（単数又は複数）及び一体型不透明ディスプレイを有してもよい。あるいは、ヘッドマウントシステムは、外部の不透明ディスプレイ（例えば、スマートフォン）を受け入れるように構成されていてもよい。ヘッドマウントシステムは、物理的環境の画像若しくはビデオをキャプチャするための１つ以上の画像センサ、及び／又は物理的環境の音声をキャプチャするための１つ以上のマイクロフォンを組み込んでいてもよい。不透明ディスプレイではなく、ヘッドマウントシステムは、透明又は半透明のディスプレイを有してもよい。透明又は半透明のディスプレイは、画像を表す光が人の目に向けられる媒体を有してもよい。ディスプレイは、デジタル光、ＯＬＥＤ、ＬＥＤ、ｕＬＥＤ、液晶オンシリコン、レーザスキャン光源、又はこれらの技術の任意の組合せを利用することができる。媒体は、光導波路、ホログラム媒体、光結合器、光反射器、又はこれらの任意の組合せであってもよい。一実施形態では、透明又は半透明のディスプレイは、選択的に不透明になるように構成されていてもよい。プロジェクションベースシステムは、グラフィック画像を人間の網膜上に投影する網膜投影技術を採用することができる。プロジェクションシステムはまた、例えば、ホログラムとして、又は物理的表面上に、仮想オブジェクトを物理的環境内に投影するように構成されていてもよい。
【００２２】
図１は、拡張現実アプリケーションのための位置特定を可能にするように構成されているシステム１００の一例のブロック図である。システム１００は、ローカル環境１１２の画像をキャプチャするための１つ以上の画像センサを含む、モバイルコンピューティングデバイス１１０を含む。モバイルコンピューティングデバイス１１０は、通信ネットワーク１０６（例えば、インターネット又は別の広域ネットワーク、又はローカルエリアネットワーク）を介して、特徴点マップがモバイルコンピューティングデバイス１１０の微細な位置特定を支援するように構成されている位置特定サーバ１２０、及び（例えば、グローバル位置及び／又はグローバル方位を含む）微細な位置特定に基づいて、モバイルコンピューティングデバイス１１０上で実行されている拡張現実アプリケーションに、ローカル環境１１２に関連付けられたコンテンツを提供するように構成されているコンテンツサーバ１３０と、通信するように構成されている。
【００２３】
システム１００は、空間的に区画されたデータ構造に記憶された特徴点マップにアクセスし、位置の推定値に基づいて、空間的に区画されたデータ構造から１つ以上の特徴点マップを選択するように構成されている、位置特定サーバ１２０を含む。例えば、位置の推定値は、モバイルコンピューティングデバイス１１０に対する動きセンサデータに基づいて、粗い位置特定として決定されてもよい。例えば、位置特定サーバ１２０は、図９のプロセス９００を実行してもよい。例えば、空間的に区画されたデータ構造に記憶された特徴点マップは、既知の位置から空間領域のキャプチャされた画像に基づき、特徴抽出プロセスを使用して、生成されていてもよい。例えば、位置特定サーバ１２０は、図５の位置特定サーバ５００上に実装されてもよい。いくつかの実装形態では、空間的に区画されたデータ構造は、（例えば、データ記憶デバイス５２０内の）位置特定サーバによって記憶される。いくつかの実装形態では、空間的に区画されたデータ構造は、別個のデータベースサーバ（図示せず）に記憶され、通信ネットワーク１０６を介して位置特定サーバによってアクセスされる。
【００２４】
システム１００は、動きセンサデータに基づく位置の推定値を含む粗い位置特定を決定するように構成されているモバイルコンピューティングデバイス１１０を含む。例えば、動きセンサデータは、モバイルコンピューティングデバイス１１０に取り付けられた全地球測位システム（ＧＰＳ）受信機からの動きセンサデータを含んでもよい。例えば、動きセンサデータは、モバイルコンピューティングデバイス１１０に取り付けられた慣性測定ユニットからの動きセンサデータを含んでもよい。例えば、動きセンサデータは、モバイルコンピューティングデバイス１１０によって送信される無線信号（例えば、Ｗｉ−Ｆｉ信号又はセルラ信号）に基づいてモバイルコンピューティングデバイス１１０の位置を三角測量するように構成されている無線信号受信機からの動きセンサデータを含み得る。いくつかの実装形態では、モバイルコンピューティングデバイスの粗い位置特定はまた、モバイルコンピューティングデバイス１１０の方位の推定値を含む。モバイルコンピューティングデバイス１１０は、粗い位置特定を含む要求を位置特定サーバ１２０に送信し、粗い位置特定に基づいて位置特定サーバ１２０によって選択された１つ以上の特徴点マップを、位置特定サーバ１２０から受信するように構成されていてもよい。モバイルコンピューティングデバイス１１０は、ローカル環境１１２のキャプチャされた画像を使用して、１つ以上の特徴点マップのうちの特徴点マップ内に位置特定することによって、微細な位置特定姿勢を決定するように構成されていてもよい。例えば、特徴点マップ内に位置特定して微細な位置特定姿勢を決定するために、バンドル調整処理を（例えば、ＳＬＡＭ（同時位置特定及びマッピング）アルゴリズムを使用して）適用することができる。微細な位置特定姿勢は、位置の第２の推定値及び方位の推定値を含み得る。
【００２５】
システム１００は、微細な位置特定姿勢を含むコンテンツに対する要求をモバイルコンピューティングデバイス１１０から受信し、モバイルコンピューティングデバイス１１０にコンテンツを送信するように構成されているコンテンツサーバ１３０を含み、ここでコンテンツは、微細な位置特定姿勢を含むコンテンツに対する要求に基づいて、コンテンツサーバ１３０によって選択される。例えば、コンテンツは、ローカル環境１１２内の位置に関連付けられた１つ以上の仮想オブジェクトを記述してもよい。いくつかの実装形態（図１には示されていない）では、位置特定サーバ１２０及びコンテンツサーバ１３０は、単一のデバイス内に組み合わされてもよい。例えば、コンテンツサーバ１３０は、図５の位置特定サーバ５００上に実装されてもよい。
【００２６】
モバイルコンピューティングデバイス１１０は、微細な位置特定姿勢に基づいて仮想オブジェクトのビューを含む仮想オブジェクト画像を生成し、仮想オブジェクト画像を表示するように構成されていてもよい。いくつかの実装形態では、モバイルコンピューティングデバイス１１０は、微細な位置特定姿勢を含むコンテンツに対する要求をコンテンツサーバ１３０に送信し、メッセージに応じて、ローカル環境１１２内の位置に関連付けられたコンテンツ（例えば、１つ以上の仮想オブジェクトを記述するデータ）を受信することができる。例えば、仮想オブジェクト画像（例えば、左目画像及び／又は右目画像）は、モバイルコンピューティングデバイス１１０のディスプレイに提示されてもよい。例えば、モバイルコンピューティングデバイス１１０は、スマートフォン、スマートウォッチ、タブレット、又はヘッドマウントディスプレイであってもよい。例えば、モバイルコンピューティングデバイス１１０は、図３のモバイルコンピューティングデバイス３００を含んでもよい。例えば、モバイルコンピューティングデバイス１１０は、図４のシステム４００を含んでもよい。
【００２７】
図２は、拡張現実アプリケーションのための位置特定を可能にするように構成されているシステム２００の一例のブロック図である。システム２００では、モバイルコンピューティングデバイスは、ヘッドマウントディスプレイ２１０を含む。ヘッドマウントディスプレイ２１０は、ユーザがローカル環境２１２を見ている間、ユーザ２１６によって装着される。ヘッドマウントディスプレイ２１０は、ヘッドマウントディスプレイ２１０に対する微細な位置特定を決定するために、通信ネットワーク１０６を介して、位置特定サーバ１２０及びコンテンツサーバ１３０と通信し、微細な位置特定（例えば、グローバル座標系における微細な位置特定姿勢）に基づいて仮想オブジェクト画像を生成及び表示するように構成されていてもよい。例えば、ヘッドマウントディスプレイ２１０は、図６のプロセス６００を実行してもよい。例えば、ヘッドマウントディスプレイ２１０は、図３のモバイルコンピューティングデバイス３００を含んでもよい。例えば、ヘッドマウントディスプレイ２１０は、図４のヘッドマウントディスプレイ４１０を含んでもよい。
【００２８】
図３は、拡張現実アプリケーションのための位置特定を可能にするように構成されているモバイルコンピューティングデバイス３００の一例のブロック図である。モバイルコンピューティングデバイス３００は、処理装置３１０と、データ記憶デバイス３２０と、１つ以上の動きセンサ３３０と、１つ以上の画像センサ３４０と、ディスプレイ３５０と、処理装置３１０が他の構成要素にアクセスし得る相互接続３７０と、を含む。モバイルコンピューティングデバイス３００は、動きセンサデータに基づき決定された粗い位置特定に基づいて選択された特徴点マップ内に位置特定することによって、（例えば、グローバル位置及び／又はグローバル方位を含む）微細な位置特定を決定するように構成されてもよい。例えば、モバイルコンピューティングデバイス３００は、図６のプロセス６００を実行するように構成されていてもよい。例えば、モバイルコンピューティングデバイス３００は、図７のプロセス７００を実行するように構成されていてもよい。例えば、モバイルコンピューティングデバイス３００は、図８のプロセス８００を実行するように構成されていてもよい。
【００２９】
処理装置３１０は、データ記憶デバイス３２０に記憶されている命令を実行するように動作可能であってもよい。いくつかの実装形態では、処理装置３１０は、命令が実行されている間にデータ記憶デバイス３２０から読み取られた命令を一時的に記憶するためのランダムアクセスメモリを有するプロセッサである。処理装置３１０は、単一又は複数の処理コアをそれぞれ有する単一又は複数のプロセッサを含んでもよい。あるいは、処理装置３１０は、データを操作又は処理することができる別のタイプのデバイス、又は複数のデバイスを含んでもよい。例えば、データ記憶デバイス３２０は、ハードドライブ、ソリッドステートドライブ、読み出し専用メモリデバイス（ＲＯＭ）、光ディスク、磁気ディスク、又は非一時的コンピュータ可読メモリなどの任意の他の好適なタイプの記憶デバイスなどの、不揮発性情報記憶デバイスであってもよい。データ記憶デバイス３２０は、処理装置３１０による検索又は処理のためのデータを記憶することができる別のタイプのデバイス又は複数のデバイスを含んでもよい。処理装置３１０は、相互接続３７０を介してデータ記憶デバイス３２０に記憶されたデータにアクセスし操作することができる。例えば、データ記憶デバイス３２０は、処理装置３１０によって実行されると、処理装置３１０に動作（例えば、図６のプロセス６００を実行する動作）を実行させる、処理装置３１０によって実行可能な命令を記憶してもよい。いくつかの実装形態では、処理装置３１０及びデータ記憶デバイス３２０は、ディスプレイ３５０に取り付けられる。
【００３０】
１つ以上の動きセンサ３３０は、モバイルコンピューティングデバイス３００の動きを検出するように構成されていてもよい。例えば、１つ以上の動きセンサ３３０は、１つ以上の加速度計、ジャイロスコープ、及び／又は磁力計を含んでもよい。例えば、１つ以上の動きセンサ３３０は、全地球測位システム（ＧＰＳ）受信機を含んでもよい。いくつかの実装形態では、１つ以上の動きセンサ３３０は、ディスプレイ３５０（例えば、ヘッドマウントディスプレイ）に結合される（例えば、取り付けられる）。いくつかの実装形態では、実空間におけるモバイルコンピューティングデバイス３００の方位及び／又は位置は、１つ以上の動きセンサ３３０からの動きセンサデータに基づいて決定されてもよい。例えば、モバイルコンピューティングデバイス３００の方位及び／又は位置の変化は、ディスプレイ３５０を使用して提示される拡張現実アプリケーションの仮想環境のビューを変更するためのユーザに対する制御インタフェースとして使用されてもよい。
【００３１】
１つ以上の画像センサ３４０は、画像をキャプチャし、１つ以上の画像センサ３４０に入射する光を１つ以上のデジタル画像に変換するように構成されていてもよい。いくつかの実装形態では、１つ以上の画像センサ３４０は、ディスプレイ３５０（例えば、ヘッドマウントディスプレイ）に結合される（例えば、取り付けられる）。１つ以上の画像センサ３４０は、特定のスペクトル（例えば、可視スペクトル及び／又は赤外線スペクトル）の光を検出し、画像を構成する情報を電気信号（例えば、アナログ又はデジタル信号）として伝達することができる。例えば、１つ以上の画像センサ３４０は、電荷結合デバイス（ＣＣＤ）、又は相補型金属酸化膜半導体（ＣＭＯＳ）内のアクティブ画素センサを含んでもよい。いくつかの実装形態では、１つ以上の画像センサ３４０は、アナログデジタル変換器を含む。例えば、１つ以上の画像センサ３４０は、赤外線カメラ及び可視光カメラを含んでもよい。１つ以上の画像センサ３４０は、モバイルコンピューティングデバイス３００の近傍の画像をキャプチャするように構成されている画像センサを含んでもよい。いくつかの実装形態では、１つ以上の画像センサ３４０は、広角にわたる集合的視野を提供するために、デバイス（例えば、ヘッドマウントディスプレイ２１０）の周囲に配置された画像センサのアレイを含む。例えば、１つ以上の画像センサ３４０は、ヘッドマウントディスプレイの周囲の領域のパノラマビュー（例えば、３６０度パノラマビュー）を提供するように配置されていてもよい。例えば、１つ以上の画像センサ３４０は、それぞれのレンズ（例えば、魚眼レンズ又は直線レンズ）を通して光を受け入れてもよい。
【００３２】
ディスプレイ３５０は、スクリーン、レンズ、又はユーザに画像（例えば、ビデオフレーム）の提示を可能にするためにユーザの目に光を向けるように構成されている別のタイプの光学アセンブリを含む。例えば、ディスプレイ３５０は、モバイルコンピューティングデバイス３００がスマートフォン又はタブレットである、タッチスクリーンディスプレイを含んでもよい。いくつかの実装形態では、ディスプレイ３５０は、固定具（例えば、ヘッドバンド又はフレーム）によってユーザの顔面上の適所に保持され得る、ヘッドマウントディスプレイ（例えば、スマートグラス）を含む。いくつかの実装形態では、ディスプレイ３５０の画面は、ユーザの目の前に直接配置されている。いくつかの実装形態では、ディスプレイ３５０は、ユーザの目の前に直接配置され、ディスプレイ３５０のスクリーン又はプロジェクタからの光をユーザの目に向けるように構成されている光学アセンブリ（例えば、レンズ及び／又はミラー）を含む。光学アセンブリはまた、ユーザの周囲の環境からの光をユーザの目に向けることができる。例えば、光学アセンブリは、透明バイザーの内面に適用される部分的に反射性の偏光フィルムを含んでもよい。光学アセンブリは、光結合器として機能してもよい。例えば、光学アセンブリのレンズはまた、ユーザの前面の環境から光を通過させてユーザの目に到達させることができ、ユーザの前の物理的環境のビュー上に重ねられたディスプレイ３５０によって提示される画像に描かれた仮想環境のオブジェクトを有しながら、ユーザが自分の前で見ることを可能にし得る。
【００３３】
ネットワークインタフェース３６０は、他のデバイス、例えば、位置特定サーバ１２０又はコンテンツサーバ１３０との通信を容易にする。例えば、ネットワークインタフェース３６０は、通信ネットワーク１０６を介した通信を容易にすることができる。例えば、ネットワークインタフェース３６０は、Ｗｉ−Ｆｉネットワーク、セルラネットワーク、及び／又は有線ネットワークを介した通信を容易にすることができる。例えば、ネットワークインタフェース３６０は、ＷｉＭＡＸネットワークを介した通信を容易にすることができる。例えば、ネットワークインタフェース３６０は、光ファイバーネットワークを介した通信を容易にすることができる。
【００３４】
例えば、相互接続３７０は、システムバス、又は有線若しくは無線ネットワーク（例えば、ボディエリアネットワーク）であってもよい。
【００３５】
処理装置３１０は、拡張現実アプリケーションのための位置特定を可能にするように構成されていてもよい。例えば、処理装置３１０は、１つ以上の動きセンサ３３０を使用してキャプチャされた動きデータにアクセスし、その動きデータに基づいて、粗い位置特定姿勢を決定するように構成されていてもよい。例えば、粗い位置特定姿勢は、ディスプレイ３５０のヘッドマウントディスプレイ位置の第１の推定値と、ヘッドマウントディスプレイの方位の第１の推定値とを含み得る。例えば、処理装置３１０は、１つ以上の特徴点マップを取得するように構成されていてもよい。特徴点マップは、粗い位置特定姿勢の位置と関連付けられてもよい。例えば、処理装置３１０は、１つ以上の画像センサ３４０を使用してキャプチャされた画像にアクセスし、その画像に基づいて、１つ以上の特徴点マップのうちの特徴点マップ内に位置特定することによって、微細な位置特定姿勢を決定するように構成されていてもよい。例えば、微細な位置特定姿勢は、ヘッドマウントディスプレイの位置の第２の推定値と、ヘッドマウントディスプレイの方位の第２の推定値とを含み得る。例えば、処理装置３１０は、微細な位置特定姿勢に基づいて、仮想オブジェクトのビューを含む仮想オブジェクト画像を生成し、ヘッドマウントディスプレイを使用して仮想オブジェクト画像を表示するように構成されていてもよい。例えば、処理装置３１０は、通信ネットワーク（例えば、通信ネットワーク１０６）を介して、粗い位置特定姿勢を位置特定サーバ（例えば、位置特定サーバ１２０）に送信し、通信ネットワークを介して、１つ以上の特徴点マップを位置特定サーバから受信することによって、１つ以上の特徴点マップを取得するように構成されていてもよい。いくつかの実装形態では、位置特定サーバからの１つ以上の特徴点マップは、連続して受信された複数の特徴点マップを含み、処理装置３１０は、それらが受信されると、複数の特徴点マップのうちの特徴点マップ内に位置特定することを反復的に試みることによって、微細な位置特定姿勢を決定し、複数の特徴点マップのうちの現在の特徴点マップに位置特定することに失敗した後に、複数の特徴点マップのうちの次の特徴点マップを位置特定サーバから要求し、複数の特徴点マップのうちの現在の特徴点マップに位置特定したことに成功したことに応じて、位置特定サーバからの複数の特徴点マップのうちの特徴点マップの受信を終了する、ように構成されていてもよい。例えば、１つ以上の特徴点マップは、物理的空間をマッピングする八分木データ構造（octree data structure）に記憶されてもよい。例えば、１つ以上の特徴点マップは、グローバル座標系内のそれぞれの座標に関連付けられてもよい。
【００３６】
図４は、拡張現実アプリケーションのための位置特定を可能にするように構成されているシステム４００の一例のブロック図である。システム４００は、ヘッドマウントディスプレイ４１０と、無線通信リンク４２５を介して通信するコンピューティングデバイス４５０とを含む。ヘッドマウントディスプレイ４１０は、１つ以上の動きセンサ４１２と、１つ以上の画像センサ４１４と、無線通信インタフェース４１６と、ディスプレイ４２２と、ヘッドマウントディスプレイの構成要素が情報を交換することができる相互接続４１８と（例えば、図４には示されていないヘッドマウントディスプレイ４１０内のマイクロコントローラ又は他の処理装置の制御下で）、ヘッドマウントディスプレイ４１０を、ヘッドマウントディスプレイ４１０を装着しているユーザの頭部の適所に保持するように構成されている固定具４２０と、を含む。コンピューティングデバイス４５０は、処理装置４６０と、データ記憶デバイス４７０と、無線通信インタフェース４８０と、ユーザインタフェース４９０と、ネットワークインタフェース４９２と、処理装置４６０がコンピューティングデバイス４５０の他の構成要素にアクセスすることができる相互接続４９４と、を含む。コンピューティングデバイス４５０は、ヘッドマウントディスプレイ４１０を装着しているユーザの近くに配置することができ、ヘッドマウントディスプレイ４１０を制御するために計算タスクを実行することができる。例えば、コンピューティングデバイス４５０は、スマートフォン、タブレット、ラップトップ、デスクトップコンピュータ、又はユーザがいる部屋に位置するテーブル上の機器（例えば、スマートテレビ若しくはスマートスピーカ）であってもよく、又はコンピューティングデバイス４５０は、ユーザの異なる身体部分に着用された（例えば、胸部上に着用されたベストと一体化した）別のウェアラブルデバイスであってもよい。システム４００は、動きセンサデータに基づき決定された粗い位置特定に基づいて選択された特徴点マップ内に位置特定することによって、（例えば、グローバル位置及び／又はグローバル方位を含む）微細な位置特定を決定するように構成されてもよい。例えば、システム４００は、図６のプロセス６００を実行するように構成されていてもよい。例えば、システム４００は、図７のプロセス７００を実行するように構成されていてもよい。例えば、システム４００は、図８のプロセス８００を実行するように構成されていてもよい。
【００３７】
ヘッドマウントディスプレイ４１０は、１つ以上の動きセンサ４１２．を含む。１つ以上の動きセンサ４１２は、ヘッドマウントディスプレイ４１０の動きを検出するように構成されていてもよい。例えば、１つ以上の動きセンサ４１２は、１つ以上の加速度計、ジャイロスコープ、及び／又は磁力計を含んでもよい。例えば、１つ以上の動きセンサ４１２は、全地球測位システム（ＧＰＳ）受信機を含んでもよい。１つ以上の動きセンサ４１２は、ヘッドマウントディスプレイ４１０に結合され（例えば、取り付けられ）てもよい。いくつかの実装形態では、実空間におけるヘッドマウントディスプレイ４１０の方位及び／又は位置は、１つ以上の動きセンサ４１２からのセンサデータに基づいて決定されてもよい。例えば、ヘッドマウントディスプレイ４１０の方位及び／又は位置の変化は、ヘッドマウントディスプレイ４１０を使用して提示される拡張現実アプリケーションの仮想環境のビューを変更するためのユーザに対する制御インタフェースとして使用されてもよい。
【００３８】
ヘッドマウントディスプレイ４１０は、１つ以上の画像センサ４１４を含む。１つ以上の画像センサ４１４は、画像をキャプチャし、１つ以上の画像センサ４１４に入射する光を１つ以上のデジタル画像に変換するように構成されていてもよい。１つ以上の画像センサ４１４は、ヘッドマウントディスプレイ４１０に結合される（例えば、取り付けられる）。１つ以上の画像センサ４１４は、特定のスペクトル（例えば、可視スペクトル及び／又は赤外線スペクトル）の光を検出し、画像を構成する情報を電気信号（例えば、アナログ又はデジタル信号）として伝達することができる。例えば、１つ以上の画像センサ４１４は、電荷結合デバイス（ＣＣＤ）、又は相補型金属酸化膜半導体（ＣＭＯＳ）内のアクティブ画素センサを含んでもよい。いくつかの実装形態では、１つ以上の画像センサ４１４は、アナログデジタル変換器を含む。例えば、１つ以上の画像センサ４１４は、赤外線カメラ及び可視光カメラを含んでもよい。１つ以上の画像センサ４１４は、ヘッドマウントディスプレイ４１０の近傍の画像をキャプチャするように構成されている画像センサを含んでもよい。いくつかの実装形態では、１つ以上の画像センサ４１４は、広角にわたる集合的視野を提供するために、ヘッドマウントディスプレイ４１０の周囲に配置された画像センサのアレイを含む。例えば、１つ以上の画像センサ４１４は、ヘッドマウントディスプレイ４１０の周囲の領域のパノラマビュー（例えば、３６０度パノラマビュー）を提供するように配置されていてもよい。例えば、１つ以上の画像センサ４１４は、それぞれのレンズ（例えば、魚眼レンズ又は直線レンズ）を通して光を受け入れてもよい。
【００３９】
ヘッドマウントディスプレイ４１０は、無線通信インタフェース４１６を含む。無線通信インタフェース４１６は、コンピューティングデバイス４５０を含む他のデバイスとの通信を容易にする。例えば、無線通信インタフェース４１６は、Ｗｉ−Ｆｉネットワーク、Ｂｌｕｅｔｏｏｔｈ（登録商標）リンク、又はＺｉｇＢｅｅ（登録商標）リンクを介した通信を容易にすることができる。いくつかの実装形態では、無線通信インタフェース４１６を使用して、仮想環境のビューのディスプレイ４２２を使用するプレゼンテーションを呼び出すデータ及び／又は命令を、コンピューティングデバイス４５０から受信することができる。いくつかの実装形態では、無線通信インタフェース４１６を使用して、１つ以上の動きセンサ４１２からのセンサデータ、及び／又は１つ以上の画像センサ４１４を使用してキャプチャされた画像を、コンピューティングデバイス４５０に送信することができる。
【００４０】
ヘッドマウントディスプレイ４１０は、ディスプレイ４２２を含む。ディスプレイ４２２は、画像を提示し、デジタル画像をディスプレイ４２２から投影された光に変換するように構成されていてもよい。ディスプレイ４２２は、可視スペクトルで光を投影する画素アレイを使用して、光をすることができる。ディスプレイ４２２は、スクリーン、レンズ、又はユーザに画像（例えば、ビデオフレーム）の提示を可能にするために、ヘッドマウントディスプレイ４１０を装着しているユーザの目に光を向けるように構成されている別のタイプの光学アセンブリ、を含んでもよい。例えば、ディスプレイ４２２は、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）ディスプレイ（例えば、ＯＬＥＤディスプレイ）、又は他の好適な画面、などの画面を含んでもよい。例えば、ディスプレイ４２２はプロジェクタを含んでもよい。いくつかの実装形態では、ディスプレイ４２２の画面は、ユーザの目の前に直接配置されている。いくつかの実装形態では、ディスプレイ４２２は、ユーザの目の前に直接配置され、ディスプレイ４２２のスクリーン又はプロジェクタからの光をユーザの目に向けるように構成されている光学アセンブリ（例えば、レンズ及び／又はミラー）を含む。光学アセンブリはまた、ユーザの周囲の環境からの光をユーザの目に向けることができる。例えば、光学アセンブリは、透明バイザーの内面に適用される部分的に反射性の偏光フィルムを含んでもよい。光学アセンブリは、光結合器として機能してもよい。例えば、光学アセンブリのレンズはまた、ユーザの前面の環境から光を通過させてユーザの目に到達させることができ、ユーザの前の物理的環境のビュー上に重ねられたディスプレイ４２２によって提示される画像に描かれた仮想環境のオブジェクトを有しながら、ユーザが自分の前で見ることを可能にし得る。いくつかの実装形態では、光学アセンブリ（例えば、レンズ）の透明度は、コンピュータ生成現実アプリケーション（例えば、仮想現実アプリケーション又は拡張現実アプリケーション）に適合するように調整されてもよい。
【００４１】
例えば、相互接続４１８は、システムバス、又は有線若しくは無線ネットワーク（例えば、ボディエリアネットワーク）であってもよい。
【００４２】
ヘッドマウントディスプレイ４１０は、固定具４２０を含む。固定具４２０は、ユーザがヘッドマウントディスプレイ４１０を装着しているときに、ヘッドマウントディスプレイ４１０をユーザの頭部の適所に保持するように構成されていてもよい。例えば、固定具４２０は、ヘッドバンドを含んでもよい。例えば、固定具４２０は、ユーザの耳の上に載置され、ユーザの目の前にディスプレイ４２２のレンズ又はスクリーンを保持するアームを有するフレームを含んでもよい。
【００４３】
コンピューティングデバイス４５０は、処理装置４６０を含む。処理装置４６０は、データ記憶デバイス４７０に記憶されている命令を実行するように動作可能であってもよい。いくつかの実装形態では、処理装置４６０は、命令が実行されている間にデータ記憶デバイス４７０から読み取られた命令を一時的に記憶するためのランダムアクセスメモリを有するプロセッサである。処理装置４６０は、単一又は複数の処理コアをそれぞれ有する単一又は複数のプロセッサを含んでもよい。あるいは、処理装置４６０は、データを操作又は処理することができる別のタイプのデバイス、又は複数のデバイスを含んでもよい。例えば、データ記憶デバイス４７０は、ハードドライブ、ソリッドステートドライブ、読み出し専用メモリデバイス（ＲＯＭ）、光ディスク、磁気ディスク、又は非一時的コンピュータ可読メモリなどの任意の他の好適なタイプの記憶デバイスなどの、不揮発性情報記憶デバイスであってもよい。データ記憶デバイス４７０は、処理装置４６０による検索又は処理のためのデータを記憶することができる別のタイプのデバイス又は複数のデバイスを含んでもよい。処理装置４６０は、相互接続４９４を介してデータ記憶デバイス４７０に記憶されたデータにアクセスし操作することができる。例えば、データ記憶デバイス４７０は、処理装置４６０によって実行されると、処理装置４６０に動作（例えば、図６のプロセス６００を実行する動作）を実行させる、処理装置４６０によって実行可能な命令を記憶してもよい。
【００４４】
コンピューティングデバイス４５０は、無線通信インタフェース４８０を含む。無線通信インタフェース４８０は、ヘッドマウントディスプレイ４１０を含む他のデバイスとの通信を容易にする。例えば、無線通信インタフェース４８０は、Ｗｉ−Ｆｉネットワーク、Ｂｌｕｅｔｏｏｔｈリンク、又はＺｉｇＢｅｅリンクを介した通信を容易にすることができる。無線通信インタフェース４８０は、ヘッドマウントディスプレイ４１０と無線通信リンク４２５を確立するために使用されてもよい。いくつかの実装形態では、無線通信インタフェース４８０を使用して、ヘッドマウントディスプレイ４１０からセンサデータ（例えば、動きセンサデータ及び／又は画像）を受信することができる。いくつかの実装形態では、無線通信インタフェース４８０を使用して、仮想環境のビューのディスプレイ４２２を使用するプレゼンテーションを呼び出すデータ及び／又は命令を、ヘッドマウントディスプレイ４１０に送信することができる。
【００４５】
コンピューティングデバイス４５０は、ユーザインタフェース４９０を含む。例えば、ユーザインタフェース４９０は、タッチスクリーンディスプレイを含んでもよい。例えば、ユーザインタフェース４９０は、音声コマンドを受信するように構成されているマイクロフォンを含んでもよい。例えば、ユーザインタフェース４９０は、ハンドジェスチャコマンドを検出するように構成されている画像センサを含んでもよい。例えば、ユーザインタフェース４９０は、キーボード、マウス、ジョイスティック、及び／又は別のハンドヘルドコントローラを含んでもよい。例えば、ユーザインタフェース４９０は、ユーザ（例えば、ヘッドマウントディスプレイ４１０を装着しているユーザ）が、コンピューティングデバイス４５０上で実行されている拡張現実にコマンドを入力すること、及び／又は拡張現実アプリケーションの仮想環境のオブジェクトに関連付けられたプロセスの構成を変更することを可能にすることができる。
【００４６】
コンピューティングデバイス４５０は、ネットワークインタフェース４９２を含む。ネットワークインタフェース４９２は、他のデバイス、例えば、位置特定サーバ１２０又はコンテンツサーバ１３０との通信を容易にする。例えば、ネットワークインタフェース４９２は、通信ネットワーク１０６を介した通信を容易にすることができる。例えば、ネットワークインタフェース４９２は、Ｗｉ−Ｆｉネットワーク、セルラネットワーク、及び／又は有線ネットワークを介した通信を容易にすることができる。例えば、ネットワークインタフェース４９２は、ＷｉＭＡＸ（登録商標）ネットワークを介した通信を容易にすることができる。例えば、ネットワークインタフェース４９２は、光ファイバーネットワークを介した通信を容易にすることができる。
【００４７】
例えば、相互接続４９４は、システムバス、又は有線若しくは無線ネットワーク（例えば、ボディエリアネットワーク）であってもよい。
【００４８】
処理装置４６０は、拡張現実アプリケーションのための位置特定を可能にするように構成されてもよい。例えば、処理装置４６０は、１つ以上の動きセンサ４１２を使用してキャプチャされた動きデータにアクセスし、その動きデータに基づいて、粗い位置特定姿勢を決定するように構成されていてもよい。例えば、粗い位置特定姿勢は、ヘッドマウントディスプレイ４１０の位置の第１の推定値と、ヘッドマウントディスプレイの方位の第１の推定値とを含み得る。例えば、処理装置４６０は、１つ以上の特徴点マップを取得するように構成されていてもよい。特徴点マップは、粗い位置特定姿勢の位置と関連付けられてもよい。例えば、処理装置４６０は、１つ以上の画像センサ４１４を使用してキャプチャされた画像にアクセスし、その画像に基づいて、１つ以上の特徴点マップの特徴点マップ内に位置特定することによって、微細な位置特定姿勢を決定するように構成されていてもよい。例えば、微細な位置特定姿勢は、ヘッドマウントディスプレイの位置の第２の推定値と、ヘッドマウントディスプレイの方位の第２の推定値とを含み得る。例えば、処理装置４６０は、微細な位置特定姿勢に基づいて、仮想オブジェクトのビューを含む仮想オブジェクト画像を生成し、ヘッドマウントディスプレイを使用して仮想オブジェクト画像を表示するように構成されていてもよい。例えば、処理装置４６０は、通信ネットワーク（例えば、通信ネットワーク１０６）を介して、粗い位置特定姿勢を位置特定サーバ（例えば、位置特定サーバ１２０）に送信し、通信ネットワークを介して、１つ以上の特徴点マップを位置特定サーバから受信することによって、１つ以上の特徴点マップを取得するように構成されていてもよい。いくつかの実装形態では、位置特定サーバからの１つ以上の特徴点マップは、連続して受信された複数の特徴点マップを含み、処理装置４６０は、それらが受信されると、複数の特徴点マップのうちの特徴点マップ内に位置特定することを反復的に試みることによって、微細な位置特定姿勢を決定し、複数の特徴点マップのうちの現在の特徴点マップに位置特定することに失敗した後に、複数の特徴点マップのうちの次の特徴点マップを位置特定サーバから要求し、複数の特徴点マップのうちの現在の特徴点マップに位置特定したことに成功したこと応じて、位置特定サーバからの複数の特徴点マップのうちの特徴点マップの受信を終了する、ように構成されていてもよい。例えば、１つ以上の特徴点マップは、物理的空間をマッピングする八分木データ構造に記憶されてもよい。例えば、１つ以上の特徴点マップは、グローバル座標系内のそれぞれの座標に関連付けられてもよい。
【００４９】
いくつかの実装形態では（図４には示されていない）、拡張現実アプリケーションに対する処理は、ヘッドマウントディスプレイ４１０内の処理装置と処理装置４６０との間で分散されてもよい。例えば、シミュレーションプロセスが、仮想環境のビューに対する更新のための待ち時間を低減するために、ヘッドマウントディスプレイ４１０の処理装置上で実行されてもよく、一方、仮想環境内のオブジェクトに関連付けられた１つ以上のプロセスが、オブジェクトの状態を更新するために、処理装置４６０上で実行されてもよい。いくつかの実装形態では、リアリティフラグメントは、ヘッドマウントディスプレイ４１０とコンピューティングデバイス４５０との間で無線通信リンク４２５を介して送信されてもよい。このように、ヘッドマウントディスプレイ４１０の処理装置及び処理装置４６０は、ヘッドマウントディスプレイ４１０と、拡張現実アプリケーションを実行し、本明細書に記載のプロセス（例えば、図６のプロセス６００）を実施するコンピューティングデバイス４５０との間に分散された単一の処理装置として動作し得る。
【００５０】
図５は、拡張現実アプリケーションのための位置特定を可能にするように構成されている位置特定サーバ５００の一例のブロック図である。位置特定サーバ５００は、処理装置５１０と、データ記憶デバイス５２０と、ネットワークインタフェース５３０と、ユーザインタフェース５４０と、処理装置５１０が他の構成要素にアクセスすることができる相互接続５７０と、を含む。位置特定サーバ５００は、モバイルコンピューティングデバイスに対する動きセンサデータに基づき決定され得る、（例えば、グローバル位置及び／又はグローバル方位を含む）粗い位置特定に基づいて選択された１つ以上の特徴点マップを特定するように構成されていてもよい。例えば、位置特定サーバ５００は、図９のプロセス９００を実行するように構成されてもよい。
【００５１】
処理装置５１０は、データ記憶デバイス５２０に記憶されている命令を実行するように動作可能であってもよい。いくつかの実装形態では、処理装置５１０は、命令が実行されている間にデータ記憶デバイス５２０から読み取られた命令を一時的に記憶するためのランダムアクセスメモリを有するプロセッサである。処理装置５１０は、単一又は複数の処理コアをそれぞれ有する単一又は複数のプロセッサを含んでもよい。あるいは、処理装置５１０は、データを操作又は処理することができる別のタイプのデバイス、又は複数のデバイスを含んでもよい。例えば、データ記憶デバイス５２０は、ハードドライブ、ソリッドステートドライブ、読み出し専用メモリデバイス（ＲＯＭ）、光ディスク、磁気ディスク、又は非一時的コンピュータ可読メモリなどの任意の他の好適なタイプの記憶デバイスなどの、不揮発性情報記憶デバイスであってもよい。データ記憶デバイス５２０は、処理装置５１０による検索又は処理のためのデータを記憶することができる別のタイプのデバイス又は複数のデバイスを含んでもよい。処理装置５１０は、相互接続５７０を介してデータ記憶デバイス５２０に記憶されたデータにアクセスし操作することができる。例えば、データ記憶デバイス５２０は、処理装置５１０によって実行されると、処理装置５１０に動作（例えば、図９のプロセス９００を実行する動作）を実行させる、処理装置５１０によって実行可能な命令を記憶してもよい。
【００５２】
ネットワークインタフェース５３０は、他のデバイス、例えば、モバイルコンピューティングデバイス１１０又はヘッドマウントディスプレイ２１０との通信を容易にする。例えば、ネットワークインタフェース５３０は、通信ネットワーク１０６を介した通信を容易にすることができる。例えば、ネットワークインタフェース５３０は、Ｗｉ−Ｆｉネットワーク、セルラネットワーク、及び／又は有線ネットワークを介した通信を容易にすることができる。例えば、ネットワークインタフェース５３０は、ＷｉＭＡＸネットワークを介した通信を容易にすることができる。例えば、ネットワークインタフェース５３０は、光ファイバーネットワークを介した通信を容易にすることができる。
【００５３】
位置特定サーバ５００は、ユーザインタフェース５４０を含む。例えば、ユーザインタフェース５４０は、タッチスクリーンディスプレイを含んでもよい。例えば、ユーザインタフェース５４０は、キーボード、マウス、ジョイスティック、及び／又は別のハンドヘルドコントローラを含んでもよい。例えば、ユーザインタフェース５４０は、音声コマンドを受信するように構成されているマイクロフォンを含んでもよい。例えば、ユーザインタフェース５４０は、ハンドジェスチャコマンドを検出するように構成されている画像センサを含んでもよい。例えば、ユーザインタフェース５４０は、空間的に区画されたデータ構造及び／又は位置特定サービスの他の態様に記憶された集合特徴点マップを構成及び／又は維持するために、ユーザ（例えば、システム管理者）が位置特定サーバにコマンドを入力することを可能にし得る。例えば、特徴点マップは、特徴抽出アルゴリズムを空間領域の画像に適用する領域空間の新たなスキャンに基づいて更新されてもよい。いくつかの実装形態では、スキャンされた画像に関連付けられたグローバル姿勢情報は、建物又は他の構造物についての調査データ及び／又は詳細設計の青写真に基づいて、手動で決定及び入力されてもよい。
【００５４】
図６は、拡張現実アプリケーションのための位置特定のプロセス６００の一例のフローチャートである。プロセス６００は、１つ以上の動きセンサを使用してキャプチャされた動きデータにアクセスすること６１０と、動きデータに基づいて、位置の第１の推定値を含む、粗い位置特定を決定すること６２０と、粗い位置特定の位置と関連付けられた１つ以上の特徴点マップを取得すること６４０と、１つ以上の画像センサを使用してキャプチャされた画像にアクセスすること６５０と、画像に基づいて、１つ以上の特徴点マップのうちの特徴点マップ内に位置特定することによって、微細な位置特定姿勢を決定すること６６０と、微細な位置特定姿勢に基づいて、仮想オブジェクトのビューを含む仮想オブジェクト画像を生成すること６７０と、仮想オブジェクト画像を表示すること６８０と、を含む。例えば、プロセス６００は、図１のモバイルコンピューティングデバイス１１０によって実施されてもよい。例えば、プロセス６００は、図２のヘッドマウントディスプレイ２１０によって実施されてもよい。例えば、プロセス６００は、図３のモバイルコンピューティングデバイス３００によって実施されてもよい。例えば、プロセス６００は、図４のシステム４００によって実施されてもよい。
【００５５】
プロセス６００は、１つ以上の動きセンサを有する電子デバイスにおいて、１つ以上の動きセンサ（例えば、１つ以上の動きセンサ３３０又は１つ以上の動きセンサ４１２）を使用してキャプチャされた動きデータにアクセスすること６１０を含む。例えば、１つ以上の動きセンサは、１つ以上の加速度計、ジャイロスコープ、及び／又は磁力計を含んでもよい。いくつかの実装形態では、１つ以上の動きセンサは、ディスプレイ（例えば、ディスプレイ３５０又はヘッドマウントディスプレイ４１０）に結合される（例えば、取り付けられる）。例えば、１つ以上の動きセンサは、慣性測定ユニットを含んでもよい。いくつかの実装形態では、１つ以上の動きセンサは、全地球測位システム受信機を含む。いくつかの実装形態では、１つ以上の動きセンサは、デバイスからの無線信号の三角測量に基づいて、１つ以上の画像センサを含むデバイスの位置を推定するように構成されている受信機を含む。例えば、デバイスの位置は、デバイスからのＷｉ−Ｆｉ信号又はセルラ信号の三角測量に基づいて決定されてもよい。動きデータは、様々な方法でアクセスされ得る６１０。例えば、動きデータは、センサから直接、又は相互接続（例えば、相互接続３７０）を介してメモリから読み取ることによって、アクセスされ得る６１０。例えば、センサデータは、通信リンク（例えば、無線通信リンク４２５）を介してセンサデータを受信することによって、アクセスされ得る６１０。
【００５６】
プロセス６００は、動きデータに基づいて、粗い位置特定を決定すること６２０を含み、粗い位置特定は、電子デバイスの位置（例えば、モバイルコンピューティングデバイスの位置）の第１の推定値を含む。いくつかの実装形態では、粗い位置特定は、グローバル姿勢を含む。例えば、動きデータに基づいて、粗い位置特定姿勢を決定してもよい６２０。例えば、粗い位置特定姿勢は、ヘッドマウントディスプレイの位置の第１の推定値と、ヘッドマウントディスプレイの方位の第１の推定値とを含み得る。例えば、粗い位置特定の位置は、ＧＰＳ受信機からの緯度、経度、及び高度の値として決定されてもよい。例えば、粗い位置特定の位置は、加速度計及び／又はジャイロスコープの読み取り値の積分に基づいて決定されてもよい。例えば、粗い位置特定の位置を決定して、遠隔無線センサによってモバイルコンピューティングデバイスから受信された無線信号（例えば、Ｗｉ−Ｆｉ信号又はセルラ信号）を三角測量してもよい。例えば、粗い位置特定の方位は、磁力計及び加速度計の読み取り値に基づいて決定されてもよい。例えば、粗い位置特定の方位は、ジャイロスコープ読み取り値の積分に基づいて決定されてもよい。
プロセス６００は、１つ以上の特徴点マップを取得すること６４０を含む。１つ以上の特徴点マップは、粗い位置特定の位置と関連付けられてもよい。例えば、１つ以上の特徴点マップは、粗い位置特定姿勢の位置に関連付けられている。例えば、１つ以上の特徴点マップは、粗い位置特定（例えば、粗い位置特定姿勢）に基づいて検索される空間的に区画されたデータ構造に記憶されていてもよい。いくつかの実装形態では、１つ以上の特徴点マップは、位置特定サーバ（例えば、位置特定サーバ１２０）から取得されてもよい６４０。例えば、図７のプロセス７００は、１つ以上の特徴点マップを取得する６４０ために実施されてもよい。いくつかの実装形態では、位置特定サーバは、粗い位置特定に対応する位置の近くにある候補特徴点マップに対して空間的に区画されたデータ構造を検索し、粗い位置特定に対応する位置からの距離、粗い位置特定に対応する位置からの候補特徴点マップの方向に対する粗い位置特定に対応する方位の比較、及び／又は特徴点マップの点密度に基づいて、モバイルコンピューティングデバイスへの送信に対して候補特徴点マップを優先順位付けする、ように構成されている。例えば、１つ以上の特徴点マップが取得される６４０位置特定サーバは、図９のプロセス９００を実行することができる。いくつかの実装形態では、１つ以上の特徴点マップは、世界マップデータベースを検索することによって取得されてもよい６４０。例えば、１つ以上の特徴点マップは、世界マップデータベースがモバイルコンピューティングデバイスにローカルに記憶されているメモリから（例えば、データ記憶デバイス３２０又はデータ記憶デバイス４７０から）、１つ以上の特徴点マップを読み取ることによって取得することができる６４０。例えば、１つ以上の特徴点マップは、物理的空間をマッピングする八分木データ構造に記憶されてもよい。例えば、１つ以上の特徴点マップは、グローバル座標系内のそれぞれの座標に関連付けられてもよい。
【００５７】
プロセス６００は、１つ以上の画像センサ（例えば、１つ以上の画像センサ３４０又は１つ以上の画像センサ４１４）を使用してキャプチャされた画像にアクセスすること６５０を含む。いくつかの実装形態では、１つ以上の画像センサは、慣性測定ユニットを含み得る１つ以上の動きセンサに結合される（例えば、取り付けられる）。１つ以上の画像は、ヘッドマウントディスプレイ（例えば、ヘッドマウントディスプレイ４１０）を装着しているユーザの近傍の空間の領域を描写してもよい。例えば、画像は、画像センサから直接読み取ることによって、メモリ若しくは別の記憶デバイスから画像を読み取ることによって、又は別のデバイスとの通信リンク（例えば、無線通信リンク４２５）を介して画像を受信することによって、アクセスすることができる６１０。
【００５８】
プロセス６００は、画像に基づいて、１つ以上の特徴点マップのうちの特徴点マップ内に位置特定することによって、微細な位置特定姿勢を決定すること６６０を含む。微細な位置特定姿勢は、位置の第２の推定値及び方位の推定値を含み得る。例えば、微細な位置特定姿勢は、ヘッドマウントディスプレイ（例えば、ヘッドマウントディスプレイ２１０又はヘッドマウントディスプレイ４１０）の位置の第２の推定値と、ヘッドマウントディスプレイの方位の第２の推定値とを含み得る。例えば、特徴点マップ内に位置特定して微細な位置特定姿勢を決定する６６０ために、バンドル調整処理を（例えば、ＳＬＡＭ（同時位置特定及びマッピング）アルゴリズムを使用して）適用することができる。いくつかの実装形態では、位置特定サーバからの１つ以上の特徴点マップは、連続して受信された複数の特徴点マップを含み、微細な位置特定姿勢を決定することは、それらが受信されると、複数の特徴点マップのうちの特徴点マップ内に位置特定を反復的に試みることを含む。例えば、図８のプロセス８００は、特徴点マップへの位置特定が達成されるまで、一連の特徴点マップへの位置特定を反復的に試みるように実施されてもよい。
【００５９】
プロセス６００は、微細な位置特定姿勢に基づいて、仮想オブジェクトのビューを含む仮想オブジェクト画像を生成すること６７０を含む。例えば、仮想オブジェクト画像を生成すること６７０は、モバイルコンピューティングデバイスの微細な位置特定姿勢から見て、仮想オブジェクトに関連付けられた位置（例えば、グローバル位置）において仮想オブジェクトを描く画像をレンダリングすることを含み得る。
【００６０】
プロセス６００は、仮想オブジェクト画像（例えば、左目画像及び／又は右目画像）を表示すること６８０を含む。例えば、仮想オブジェクト画像（例えば、左目画像及び／又は右目画像）は、１つ以上の画像センサに取り付けられたヘッドマウントディスプレイ（例えば、ヘッドマウントディスプレイ２１０又はヘッドマウントディスプレイ４１０）を使用して表示されてもよい６８０。例えば、仮想オブジェクト画像は、ディスプレイ３５０を使用して表示され得る６８０。
【００６１】
図７は、粗い位置特定に関連付けられた特徴点マップを取得するためのプロセス７００の一例のフローチャートである。プロセス７００は、粗い位置特定を位置特定サーバに送信すること７１０と、１つ以上の特徴点マップを位置特定サーバから受信すること７２０と、を含む。例えば、プロセス７００は、図１のモバイルコンピューティングデバイス１１０によって実施されてもよい。例えば、プロセス７００は、図２のヘッドマウントディスプレイ２１０によって実施されてもよい。例えば、プロセス７００は、図３のモバイルコンピューティングデバイス３００によって実施されてもよい。例えば、プロセス７００は、図４のシステム４００によって実施されてもよい。
【００６２】
プロセス７００は、通信ネットワーク（例えば、通信ネットワーク１０６）を介して、（例えば、粗い位置特定姿勢を含む）粗い位置特定を、位置特定サーバ（例えば、位置特定サーバ１２０）に送信すること７１０を含む。例えば、粗い位置特定は、ネットワークインタフェース３６０を使用して送信することができる７１０。例えば、粗い位置特定は、ネットワークインタフェース４９２を使用して送信することができる７１０。
【００６３】
プロセス７００は、通信ネットワーク（例えば、通信ネットワーク１０６）を介して、位置特定サーバ（例えば、位置特定サーバ１２０）から１つ以上の特徴点マップを受信すること７２０を含む。例えば、１つ以上の特徴点マップは、ネットワークインタフェース３６０を使用して受信することができる７２０。例えば、１つ以上の特徴点マップは、ネットワークインタフェース４９２を使用して受信することができる７２０。
【００６４】
図８は、微細な位置特定を決定するために、粗い位置特定に関連付けられた特徴点マップを反復的に取得するためのプロセス８００の一例のフローチャートである。例えば、位置特定サーバからの１つ以上の特徴点マップは、連続して受信された一連の特徴点マップを含む。例えば、位置特定サーバは、（例えば、図９のプロセス９００を使用して）特徴点マップを優先順位付けし、位置特定の成功前にモバイルコンピューティングデバイスによって行われる位置特定の試行数を低減し、それらの位置特定の試行を実行することに関連する遅延を低減しようと、それらを順番に配置することができる。プロセス８００は、一連の特徴点マップ内の特徴点マップを受信すること８１０と、一連の特徴点マップ内の現在の特徴点マップに位置特定することを反復的に試みること８２０と、（８２５において）現在の特徴点マップの位置特定が成功していない場合、位置特定サーバからの一連の特徴点マップのうちの次の特徴点マップを要求すること８３０と、（８２５において）現在の特徴点マップの位置特定が成功している場合には、位置特定サーバからの一連の特徴点マップのうちの特徴点マップの受信を終了すること８４０と、を含む。例えば、プロセス８００は、図１のモバイルコンピューティングデバイス１１０によって実施されてもよい。例えば、プロセス８００は、図２のヘッドマウントディスプレイ２１０によって実施されてもよい。例えば、プロセス８００は、図３のモバイルコンピューティングデバイス３００によって実施されてもよい。例えば、プロセス８００は、図４のシステム４００によって実施されてもよい。
【００６５】
プロセス８００は、一連の特徴点マップのうちの特徴点マップを受信すること８１０を含む。例えば、現在の特徴点マップは、ネットワークインタフェース３６０又はネットワークインタフェース４９２を使用して受信されてもよい８１０。
【００６６】
それらが受信される８１０と、プロセス８００は、一連の特徴点マップのうちの特徴点マップ内に位置特定を反復的に試みること８２０を含む。例えば、現在の特徴点マップ内に位置特定を試みて８２０、微細な位置特定姿勢を決定するために、バンドル調整処理を（例えば、ＳＬＡＭ（同時位置特定及びマッピング）アルゴリズムを使用して）適用することができる。
【００６７】
（８２５において）現在の特徴点マップへの位置特定が成功しなかった場合、プロセス８００は、一連の特徴点マップのうちの現在の特徴点マップへの位置特定に失敗した後に、位置特定サーバ（例えば、位置特定サーバ１２０）から一連の特徴点マップのうちの次の特徴点マップを要求すること８３０を含む。例えば、次の特徴点マップを要求すること８３０は、ネットワークインタフェース３６０又はネットワークインタフェース４９２を使用して、要求メッセージを位置特定サーバに送信することを含み得る。
【００６８】
（８２５において）現在の特徴点マップへの位置特定が成功した場合、プロセス８００は、一連の特徴点マップのうちの現在の特徴点マップへの位置特定に成功したことに応じて、位置特定サーバ（例えば、位置特定サーバ１２０）からの一連の特徴点マップのうちの特徴点マップの受信を終了すること８４０を含む。
【００６９】
図９は、粗い位置特定に基づいて、送信のための１つ以上の特徴点マップを特定するためのプロセス９００の一例のフローチャートである。例えば、１つ以上の特徴点マップは、空間的に区画されたデータ構造に記憶されてもよい。例えば、１つ以上の特徴点マップは、物理的空間をマッピングする八分木データ構造に記憶されてもよい。いくつかの実装形態では、１つ以上の特徴点マップは、グローバル座標系内のそれぞれの座標に関連付けられてもよい。プロセス９００は、粗い位置特定に対応する位置の近くにある候補特徴点マップに対して空間的に区画されたデータ構造を検索すること９１０と、送信に対して候補特徴点マップを優先順位付けすること９２０と、を含む。例えば、プロセス９００は、図１の位置特定サーバ１２０によって実施されてもよい。例えば、プロセス９００は、図５の位置特定サーバ５００によって実施されてもよい。
【００７０】
プロセス９００は、粗い位置特定（例えば、粗い位置特定姿勢）に対応する位置の近くにある候補特徴点マップに対して空間的に区画されたデータ構造を検索すること９１０を含む。いくつかの実装形態では、空間的に区画されたデータ構造を検索して９１０、モバイルコンピューティングデバイスの微細な位置特定の位置から最大距離内の位置に対応する特徴点マップを見つけることができる。いくつかの実装形態では、モバイルコンピューティングデバイスの微細な位置特定の方位に基づいて、空間的に区画されたデータ構造を検索して９１０、モバイルコンピューティングデバイスの微細な位置特定の位置からされる光線に沿った位置に対応する特徴点マップを見つけることができる。いくつかの実装形態では、空間的に区画されたデータ構造を検索して９１０、モバイルコンピューティングデバイスの微細な位置特定姿勢に基づき、モバイルコンピューティングデバイスの１つ以上の画像センサの視野内に現れる位置に対応する特徴点マップを見つけることができる。
【００７１】
プロセス９００は、送信に対して候補特徴点マップを優先順位付けすること９２０を含む。例えば、候補特徴点マップは、粗い位置特定姿勢に対応する位置からの距離に基づいて、送信に対して優先順位付けされてもよい９２０。例えば、候補特徴点マップは、粗い位置特定姿勢に対応する方位と、粗い位置特定姿勢に対応する位置からの候補特徴点マップの方向との比較とに基づいて、送信に対して優先順位付けされてもよい９２０。例えば、候補特徴点マップは、候補特徴点マップの特徴点密度に基づいて、送信に対して優先順位付けされてもよい９２０。いくつかの実装形態では、候補特徴点マップは、位置からの距離、位置からの方向、及び／又は候補特徴点マップの点密度を含む要因の組合せに基づいて、送信に対して優先順位付けされてもよい９２０。
【００７２】
上述のように、本技術の一態様は、ユーザが求める内容又はユーザが関心を持つ可能性のある任意の他の内容に関するユーザへの配信を改善するために、種々のソースから入手可能なデータを収集及び使用することである。本開示は、いくつかの例において、この収集されたデータは、特定の人物を一意に特定する個人情報データ、又は特定の人物に連絡する若しくはその所在を突き止めるために使用できる個人情報データを含み得ることを想到している。そのような個人情報データとしては、人口統計データ、ロケーションベースのデータ、電話番号、電子メールアドレス、ツイッター（登録商標）ＩＤ、自宅の住所、ユーザの健康又はフィットネスのレベル（例えば、バイタルサイン測定値、服薬情報、運動情報）に関するデータ若しくは記録、誕生日、又は任意のその他の識別情報若しくは個人情報を挙げることができる。
【００７３】
本開示は、本技術におけるそのような個人情報データの使用がユーザの利益になる使用であり得る点を認識するものである。例えば、よりユーザの興味を引く対象のコンテンツを配信するために、個人情報データが使用されてもよい。従って、そのような個人情報データの使用は、配信されるコンテンツの計算された制御をユーザができるようにする。更には、ユーザに利益をもたらす、個人情報データに関する他の使用もまた、本開示によって想到される。例えば、健康データ及びフィットネスデータは、ユーザの全般的なウェルネスについての洞察を提供するために使用することができ、あるいは、ウェルネスの目標を追求するための技術を使用している個人への、積極的なフィードバックとして使用することもできる。
【００７４】
本開示は、そのような個人情報データの収集、分析、開示、伝送、記憶、又は他の使用に関与するエンティティが、確固たるプライバシーポリシー及び／又はプライバシー慣行を遵守するものとなることを想到する。具体的には、そのようなエンティティは、個人情報データを秘密として厳重に保守するための、業界又は政府の要件を満たしているか又は上回るものとして一般に認識されている、プライバシーのポリシー及び慣行を実施し、一貫して使用するべきである。そのようなポリシーは、ユーザによって容易にアクセス可能とするべきであり、データの収集及び／又は使用が変化するにつれて更新されるべきである。ユーザからの個人情報は、そのエンティティの合法的かつ正当な使用のために収集されるべきであり、それらの合法的使用を除いては、共有又は販売されるべきではない。更には、そのような収集／共有は、ユーザに告知して同意を得た後に実施されるべきである。更には、そのようなエンティティは、そのような個人情報データへのアクセスを保護して安全化し、その個人情報データへのアクセスを有する他者が、それらのプライバシーポリシー及び手順を遵守することを保証するための、あらゆる必要な措置を講じることを考慮するべきである。更には、そのようなエンティティは、広く受け入れられているプライバシーのポリシー及び慣行に対する自身の遵守を証明するために、第三者による評価を自らが受けることができる。更には、ポリシー及び慣行は、収集及び／又はアクセスされる具体的な個人情報データのタイプに適合されるべきであり、また、管轄権固有の考慮事項を含めた、適用可能な法令及び規格に適合されるべきである。例えば、アメリカ合衆国では、特定の健康データの収集又はアクセスは、医療保険の相互運用性と説明責任に関する法律（Health Insurance Portability and Accountability Act、ＨＩＰＡＡ）などの、連邦法及び／又は州法によって管理することができ、その一方で、他国における健康データは、他の規制及びポリシーの対象となり得るものであり、それに従って対処されるべきである。それゆえ、各国の異なる個人データのタイプに関して、異なるプライバシー慣行が保たれるべきである。
【００７５】
前述のことがらにも関わらず、本開示はまた、個人情報データの使用又は個人情報データへのアクセスを、ユーザが選択的に阻止する実施形態も想到する。すなわち、本開示は、そのような個人情報データへのアクセスを防止又は阻止するように、ハードウェア要素及び／又はソフトウェア要素を提供することができると想到する。例えば、広告配信サービスの場合において、本技術は、ユーザが、サービスの登録中又はその後のいつでも、個人情報データの収集への参加の「オプトイン」又は「オプトアウト」を選択できるように構成され得る。別の実施例では、ユーザは、対象のコンテンツ配信サービスに対して位置データを提供しないことを選択することができる。更に別の実施例では、ユーザは、位置データが維持される期間を制限するか、又は位置履歴の展開を完全に禁止するかを選択することができる。「オプトイン」及び「オプトアウト」の選択肢を提供することに加えて、本開示は、個人情報のアクセス又は使用に関する通知を提供することを想到する。例えば、ユーザの個人情報データにアクセスすることとなるアプリのダウンロード時にユーザに通知され、その後、個人情報データがアプリによってアクセスされる直前に再びユーザに注意してもよい。
【００７６】
更には、本開示の意図は、個人情報データを、非意図的若しくは非認可アクセス又は使用の危険性を最小限に抑える方法で、管理及び処理するべきであるという点である。データの収集を制限し、データがもはや必要とされなくなった時点で削除することによって、危険性を最小限に抑えることができる。更には、適用可能な場合、特定の健康関連アプリケーションにおいて、ユーザのプライバシーを保護するために、データの非特定化を使用することができる。非特定化は、適切な場合には、特定の識別子（例えば、生年月日など）を除去すること、記憶されたデータの量又は特異性を制御すること（例えば、位置データを住所レベルよりも都市レベルで収集すること）、データがどのように記憶されるかを制御すること（例えば、データをユーザ全体にわたって情報集約すること）及び／又は他の方法によって、容易にすることができる。
【００７７】
それゆえ、本開示は、１つ以上の様々な開示された実施形態を実施するための、個人情報データの使用を広範に網羅するものではあるが、本開示はまた、そのような個人情報データにアクセスすることを必要とせずに、それらの様々な実施形態を実施することもまた可能であることを想到している。すなわち、本技術の様々な実施形態は、そのような個人情報データの全て又は一部分が欠如することにより、実施不可能となるものではない。例えば、コンテンツは、ユーザに関連付けられたデバイスにより要求されたコンテンツ、コンテンツ配信サービスで使用可能な他の非個人情報、若しくは公的に使用可能な情報などの、非個人情報データ又は個人情報の最小限の量のみに基づいて嗜好を推測することにより、選択してユーザに配信することができる。
【００７８】
上記開示の実装形態又は実装形態の諸部分は、例えば、コンピュータ使用可能又はコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品の形態をとることができる。コンピュータ使用可能媒体又はコンピュータ可読媒体は、例えば、任意のプロセッサによって、又はそれと関連して使用するためのプログラム又はデータ構造を有形的に収容、記憶、通信、又は伝送することができる任意のデバイスであり得る。媒体は、例えば、電子デバイス、磁気デバイス、光学デバイス、電磁デバイス、又は半導体デバイスとすることができる。他の好適な媒体もまた、利用可能である。このようなコンピュータ使用可能又はコンピュータ可読媒体は、非一時的メモリ又は媒体と呼ばれる場合があり、ＲＡＭ若しくは他の揮発性メモリ、又は経時的に変化し得る記憶デバイスを含むことができる。
【図１】
2020077363.tif 000003
【図２】
2020077363.tif 000004
【図３】
2020077363.tif 000005
【図４】
2020077363.tif 000006
【図５】
2020077363.tif 000007
【図６】
2020077363.tif 000008
【図７】
2020077363.tif 000009
【図８】
2020077363.tif 000010
【図９】
2020077363.tif 000011
【外国語明細書】
2020077363000001.pdf