(57)【要約】コンピューティング・システムは、データストアと、ネットワーク・インターフェースと、クエリ・モジュールとを備える。前記データストアは複数のローカライゼーション・エリア記述ファイルを記憶する。前記ネットワーク・インターフェースは、モバイル・デバイスからローカライゼーション・エリア記述ファイルのリクエストを受信する。前記リクエストは空間的フィーチャのセットと１以上の非画像位置インジケータとを含む。前記クエリ・モジュールは、前記リクエストの前記空間的フィーチャのセットと前記リクエストの前記１以上の位置インジケータとのうち一方に基づいて１以上の候補ローカライゼーション・エリア記述ファイルを識別するクエリ・インターフェースと、前記リクエストの前記空間的フィーチャのセットと前記１以上の位置インジケータとのうち他方に基づいて候補ローカライゼーション・エリア記述ファイルのからローカライゼーション・エリア記述ファイルを選択する選択モジュールと、を含む。前記クエリ・モジュールは選択された前記ローカライゼーション・エリア記述ファイルを前記モバイル・デバイスに対して提供する。
2018526698.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティング・システムのデータストアにおいて複数のローカライゼーション・エリア記述ファイルを記憶する工程であって、各ローカライゼーション・エリア記述ファイルは、対応する空間的フィーチャのセットと、前記空間的フィーチャのセットが識別されて、前記空間的フィーチャのセットに関連付けられている位置情報と、を表す工程と、
前記コンピューティング・システムにおいてモバイル・デバイスからローカライゼーション・エリア記述ファイルのリクエストを受信する工程であって、前記リクエストは空間的フィーチャのセットと１以上の非画像位置インジケータとを含む工程と、
前記リクエストの前記空間的フィーチャのセットと前記リクエストの前記１以上の位置インジケータとのうち一方に基づいて、前記データストアから１以上の候補ローカライゼーション・エリア記述ファイルからなる候補ローカライゼーション・エリア記述ファイルのセットを識別する工程と、
前記リクエストの前記空間的フィーチャのセットと前記リクエストの前記１以上の位置インジケータとのうち他方に基づいて、前記候補ローカライゼーション・エリア記述ファイルのセットからローカライゼーション・エリア記述ファイルを選択する工程と、
選択された前記ローカライゼーション・エリア記述ファイルを前記リクエストに応じて前記モバイル・デバイスに対して提供する工程と
を備える方法。
【請求項２】
前記１以上の位置インジケータは前記モバイル・デバイスの地理的位置のインジケータを含む、
請求項１に記載の方法。
【請求項３】
前記１以上のインジケータは無線基地局に関連付けられている識別子を含む、
請求項２に記載の方法。
【請求項４】
前記候補ローカライゼーション・エリア記述ファイルのセットを識別する工程は、前記リクエストの前記空間的フィーチャのセットに基づいて前記候補ローカライゼーション・エリア記述ファイルのセットを識別する工程を含み、
前記ローカライゼーション・エリア記述ファイルを選択する工程は、前記リクエストの前記１以上の位置インジケータに基づいて前記ローカライゼーション・エリア記述ファイルを選択する工程を含む、
請求項１に記載の方法。
【請求項５】
前記リクエストの前記空間的フィーチャのセットに基づいて前記候補ローカライゼーション・エリア記述ファイルのセットを識別する工程は、
前記複数のローカライゼーション・エリア記述の各ローカライゼーション・エリア記述ファイルに関して、前記リクエストの前記空間的フィーチャのセットのうちの空間的フィーチャと合致する前記ローカライゼーション・エリア記述ファイルの空間的フィーチャの数に基づいて第１スコアを判定する工程と、
前記複数のローカライゼーション・エリア記述ファイルの各ローカライゼーション・エリア記述ファイルに関して判定された前記第１スコアに基づいて、前記候補ローカライゼーション・エリア記述ファイルのセットを選択する工程と、を含む、
請求項４に記載の方法。
【請求項６】
ローカライゼーション・エリア記述ファイルの前記第１スコアを判定する工程は、ループ閉じ込みアルゴリズムを用いて前記第１スコアを判定する工程を含む、
請求項５に記載の方法。
【請求項７】
前記１以上の位置インジケータに基づいて前記ローカライゼーション・エリア記述ファイルを選択する工程は、
各候補ローカライゼーション・エリア記述ファイルに関して、前記リクエストの前記１以上の位置インジケータのうちの位置インジケータに対応する前記ローカライゼーション・エリア記述ファイルの前記位置情報によって表される位置インジケータの数に基づいて第２スコアを判定する工程と、
各候補ローカライゼーション・エリア記述ファイルに関して判定された前記第２スコアに基づいて、前記ローカライゼーション・エリア記述ファイルを選択する工程と、を含む、
請求項５に記載の方法。
【請求項８】
前記候補ローカライゼーション・エリア記述ファイルのセットを識別する工程は、前記リクエストの前記１以上の位置インジケータに基づいて、前記候補ローカライゼーション・エリア記述ファイルのセットを識別する工程を含み、
前記ローカライゼーション・エリア記述ファイルを選択する工程は、前記リクエストの前記空間的フィーチャのセットに基づいて、前記ローカライゼーション・エリア記述ファイルを選択する工程を含む、
請求項１に記載の方法。
【請求項９】
前記リクエストの前記１以上の位置インジケータに基づいて前記候補ローカライゼーション・エリア記述ファイルのセットを識別する工程は、
前記複数のローカライゼーション・エリア記述ファイルの各ローカライゼーション・エリア記述ファイルに関して、前記リクエストの前記１以上の位置インジケータのうちの位置インジケータに対応する前記ローカライゼーション・エリア記述ファイルの前記位置情報によって表される位置インジケータの数に基づいて第１スコアを判定する工程と、
前記複数のローカライゼーション・エリア記述ファイルの各ローカライゼーション・エリア記述ファイルに関して判定された前記第１スコアに基づいて、前記候補ローカライゼーション・エリア記述ファイルのセットを選択する工程と、を含む、
請求項８に記載の方法。
【請求項１０】
前記リクエストの前記空間的フィーチャのセットに基づいて前記ローカライゼーション・エリア記述ファイルを選択する工程は、
各候補ローカライゼーション・エリア記述ファイルに関して、前記リクエストの前記空間的フィーチャのセットの空間的フィーチャと合致する前記候補ローカライゼーション・エリア記述ファイルの空間的フィーチャの数に基づいて第２スコアを判定する工程と、
各候補ローカライゼーション・エリア記述ファイルに関して判定された前記第２スコアに基づいて、前記ローカライゼーション・エリア記述ファイルを選択する工程と、を含む、
請求項９に記載の方法。
【請求項１１】
複数のローカライゼーション・エリア記述ファイルを記憶するデータストアであって、各ローカライゼーション・エリア記述ファイルは、対応する空間的フィーチャのセットと、前記空間的フィーチャのセットが識別されて、前記空間的フィーチャのセットに関連付けられている位置情報とを表す前記データストアと、
モバイル・デバイスからローカライゼーション・エリア記述ファイルのリクエストを受信するネットワーク・インターフェースであって、前記リクエストは空間的フィーチャのセットと１以上の非画像位置インジケータとを含む前記ネットワーク・インターフェースと、
前記データストアと前記ネットワーク・インターフェースとに接続されるクエリ・モジュールと、を備えるコンピューティング・システムであって、
前記クエリ・モジュールは、
前記リクエストの前記空間的フィーチャのセットと前記リクエストの前記１以上の位置インジケータとのうち一方に基づいて、前記データストアから１以上の候補ローカライゼーション・エリア記述ファイルからなる候補ローカライゼーション・エリア記述ファイルのセットを識別するクエリ・インターフェースと、
前記リクエストの前記空間的フィーチャのセットと前記リクエストの前記１以上の位置インジケータとのうち他方に基づいて、前記候補ローカライゼーション・エリア記述ファイルのセットからローカライゼーション・エリア記述ファイルを選択する選択モジュールと、を含み、
前記クエリ・モジュールは、選択された前記ローカライゼーション・エリア記述ファイルを前記リクエストに応じて前記ネットワーク・インターフェースを介して前記モバイル・デバイスに対して提供する、
コンピューティング・システム。
【請求項１２】
前記１以上の位置インジケータは、前記モバイル・デバイスの地理的位置のインジケータと、無線基地局に関連付けられている識別子とのうち少なくとも１つを含む、
請求項１１に記載のコンピューティング・システム。
【請求項１３】
前記クエリ・インターフェースは、前記リクエストの前記空間的フィーチャのセットに基づいて、前記候補ローカライゼーション・エリア記述ファイルのセットを識別し、
前記選択モジュールは、前記リクエストの前記１以上の位置インジケータに基づいて、前記ローカライゼーション・エリア記述ファイルを選択する、
請求項１１に記載のコンピューティング・システム。
【請求項１４】
前記データストアは、前記ローカライゼーション・エリア記述ファイルの前記位置情報に基づいて各ローカライゼーション・エリア記述ファイルにインデックス付けするのではなく、前記ローカライゼーション・エリア記述ファイルの前記空間的フィーチャのセットに基づいて前記ローカライゼーション・エリア記述ファイルにインデックス付けする、
請求項１３に記載のコンピューティング・システム。
【請求項１５】
前記クエリ・インターフェースは、
前記複数のローカライゼーション・エリア記述の各ローカライゼーション・エリア記述ファイルに関して、前記リクエストの前記空間的フィーチャのセットのうちの空間的フィーチャと合致する前記ローカライゼーション・エリア記述ファイルの空間的フィーチャの数に基づいて第１スコアを判定することと、
前記複数のローカライゼーション・エリア記述ファイルの各ローカライゼーション・エリア記述ファイルに関して判定された前記第１スコアに基づいて、前記候補ローカライゼーション・エリア記述ファイルのセットを選択することと、によって、
前記候補ローカライゼーション・エリア記述ファイルのセットを識別する、
請求項１３に記載のコンピューティング・システム。
【請求項１６】
前記選択モジュールは、ループ閉じ込みアルゴリズムを用いてローカライゼーション・エリア記述ファイルの前記第１スコアを判定する、
請求項１５に記載のコンピューティング・システム。
【請求項１７】
前記選択モジュールは、
各候補ローカライゼーション・エリア記述ファイルに関して、前記リクエストの前記１以上の位置インジケータのうちの位置インジケータに対応する前記ローカライゼーション・エリア記述ファイルの前記位置情報によって表される位置インジケータの数に基づいて第２スコアを判定することと、
各候補ローカライゼーション・エリア記述ファイルに関して判定された前記第２スコアに基づいて、前記ローカライゼーション・エリア記述ファイルを選択することと、によって、
前記ローカライゼーション・エリア記述ファイルを選択する、
請求項１５に記載のコンピューティング・システム。
【請求項１８】
前記クエリ・インターフェースは、前記リクエストの前記１以上の位置インジケータに基づいて、前記候補ローカライゼーション・エリア記述ファイルのセットを識別し、
前記選択モジュールは、前記リクエストの前記空間的フィーチャのセットに基づいて、前記ローカライゼーション・エリア記述ファイルを選択する、
請求項１１に記載のコンピューティング・システム。
【請求項１９】
前記クエリ・インターフェースは、
前記複数のローカライゼーション・エリア記述の各ローカライゼーション・エリア記述ファイルに関して、前記リクエストの前記１以上の位置インジケータのうちの位置インジケータに対応する前記ローカライゼーション・エリア記述ファイルの前記位置情報によって表される位置インジケータの数に基づいて第１スコアを判定することと、
前記複数のローカライゼーション・エリア記述ファイルの各ローカライゼーション・エリア記述ファイルに関して判定された前記第１スコアに基づいて、前記候補ローカライゼーション・エリア記述ファイルのセットを選択することと、によって、
前記候補ローカライゼーション・エリア記述ファイルのセットを識別する、
請求項１８に記載のコンピューティング・システム。
【請求項２０】
前記選択モジュールは、
各候補ローカライゼーション・エリア記述ファイルに関して、前記リクエストの前記空間的フィーチャのセットの空間的フィーチャと合致する前記候補ローカライゼーション・エリア記述ファイルの空間的フィーチャの数に基づいて第２スコアを判定することと、
各候補ローカライゼーション・エリア記述ファイルに関して判定された前記第２スコアに基づいて、前記ローカライゼーション・エリア記述ファイルを選択することと、によって
前記ローカライゼーション・エリア記述ファイルを選択する、
請求項１９に記載のコンピューティング・システム。
【請求項２１】
モバイル・デバイスが配置されているエリアの視像をキャプチャする１以上の撮像センサと、
前記１以上の撮像センサに接続されている空間的フィーチャ検出モジュールであって、キャプチャされた前記視像において空間的フィーチャのセットを判定する前記空間的フィーチャ検出モジュールと、
前記空間的フィーチャ検出モジュールに接続されているリクエスト・モジュールであって、前記リクエスト・モジュールは前記エリアのローカライゼーション・エリア記述ファイルのリクエストを生成し、前記ローカライゼーション・エリア記述ファイルは前記空間的フィーチャのセットと前記エリアに関連付けられている１以上の位置インジケータとを含む、前記リクエスト・モジュールと、
前記リクエスト・モジュールに接続されているネットワーク・インターフェースであって、リモート・コンピューティング・システムに前記リクエストを送信する前記ネットワーク・インターフェースと
を備えるモバイル・デバイス。
【請求項２２】
前記ネットワーク・インターフェースと、前記空間的フィーチャ検出モジュールと、前記リクエスト・モジュールとに接続されているローカライゼーション・モジュールであって、前記空間的フィーチャ検出モジュールによって検出される空間的フィーチャと、前記リクエストに応じて前記リモート・コンピューティング・システムから受信されるローカライゼーション・エリア記述ファイルとを用いてローカライゼーション工程を実行する前記ローカライゼーション・モジュールをさらに備える、
請求項２１に記載のモバイル・デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般的には、視覚的マッピング・システムに関し、より詳細には、視覚的情報を用いたモバイル・デバイスのローカライゼーションに関する。
【背景技術】
【０００２】
視覚的マッピング・システムは、慣性情報だけでなく、モバイル・デバイスによってキャプチャされた視像において検出された空間的フィーチャ（「視覚的フィーチャ」とも称される）に依拠して、三次元（３Ｄ）空間内のモバイル・デバイスの現在位置および配向を判定する。典型的には、既知の固定参照フレームに対しての同期を必要とする様々な機能（たとえば、仮想現実（ＶＲ）機能、拡張現実（ＡＲ）機能、または、複数のモバイル・デバイス間においてゲーム機あるいは他のデバイスを使用可能にする対話）を促進するように、規定された座標フレームのコンテキストにおいて位置および配向が判定される。同時ローカライゼーション・マッピング（ＳＬＡＭ）手法によって、モバイル・デバイスは、以前にマッピングされていないエリアを、該エリア内の位置および配向を同時に学習しつつマッピングできるようになる。したがって、モバイル・デバイスは、同一エリアに戻ると、「ローカライゼーション」として知られている工程において以前に観察された空間的フィーチャを検出することによって、該エリア内の現在位置および配向をすぐに判定し得る。しかしながら、モバイル・デバイスは、あるエリアに初めて進入するとき、これらの以前に検出されたローカライゼーション・キューを欠いている。従来の視覚的マッピング・システムにおいて、モバイル・デバイスは、相当な時間とリソースとを要する視覚的マッピング工程を実装することでエリアを「学習」しなければならない。以前にマッピングされていないエリアについて視覚的マッピング工程を実行することに関わる遅延を避けるために、従来の視覚的マッピング・システムは、その代わりに、非視覚的配向入力（たとえば、慣性センサ・フィードバックを介したグローバル・ポジショニング・システム（ＧＰＳ（登録商標））情報または位置マッピング）に基づいてモバイル・デバイスの配向または位置の検出に戻り得る。しかしながら、これらの非視覚的マッピング・ソリューションは、センサおよび計測の変位によって、信頼性を欠き（たとえば、屋内、または、高い障害物によって囲まれるエリア内においてＧＰＳ受信状態が悪い）、精密でなく、エラーを起こしやすい可能性がある。
【図面の簡単な説明】
【０００３】
【図１】本開示の少なくとも一実施形態によるローカライゼーション用にモバイル・デバイスに対して提供されるエリア記述ファイルをクラウド・ソーシングによって生成および更新するためのクラウド・ベースでの視覚的マッピング・システムを示す図。
【図２】本開示の少なくとも一実施形態による図１の視覚的マッピング・システムのエリア記述ファイル・サーバを示すブロック図。
【図３】本開示の少なくとも一実施形態による図１の視覚的マッピング・システムのモバイル・デバイスを示すブロック図。
【図４】本開示の少なくとも一実施形態による以前にマッピングされたローカライゼーション工程または以前にマッピングされていないローカライゼーション工程のうちの１つを選択するための方法を示すフロー図。
【図５】本開示の少なくとも一実施形態によるローカライゼーション・エリア記述ファイルをクラウド・ソーシングによって生成するための方法を示すフロー図。
【図６】本開示の少なくとも一実施形態によるリモート・エリア記述ファイル・サーバから得られるローカライゼーション・エリア記述ファイルを用いてモバイル・デバイスに対してローカライゼーションを行うための方法を示すフロー図。
【図７】本開示の少なくとも一実施形態によるローカライゼーション・エリア記述ファイルをクラウド・ソーシングによって更新するための方法を示すフロー図。
【図８】本開示の少なくとも一実施形態によるローカライゼーション・エリア記述ファイルに含めるための候補空間的フィーチャを評価するための方法を示すフロー図。
【図９】本開示の少なくとも一実施形態によるローカライゼーション・エリア記述ファイルから除外するための空間的フィーチャを評価するための方法を示すフロー図。
【図１０】本開示の少なくとも一実施形態によるローカライゼーション・エリア記述ファイル・クエリを実行するためのエリア記述ファイル・サーバのＬＡＤＦデータベースのための二段階クエリ・インターフェースを示す図。
【図１１】本開示の少なくとも一実施形態によるローカライゼーション・エリア記述ファイルのための二段階クエリのための方法を示すフロー図。
【図１２】本開示の少なくとも一実施形態によるローカライゼーション・エリア記述ファイル・クエリを実行するためのエリア記述ファイル・サーバのＬＡＤＦデータベースのための別の二段階クエリ・インターフェースを示す図。
【発明を実施するための形態】
【０００４】
本開示は、添付の図面を参照することによって、当業者によってよりよく理解され得るし、その多くの特徴および利点も当業者に明らかになり得る。異なる図面における同じ参照符号の使用は、類似または同一の項目を示す。
【０００５】
以下の説明は、視覚的マッピング・システムに関する多くの具体的な実施形態および詳細を提供することによって、本開示の完全な理解を伝達することを意図している。しかしながら、本開示は、単なる例示でありこれらの特定の実施形態および詳細に限定されるものではなく、本開示の範囲は、したがって、特許請求の範囲およびその均等物によってのみ限定されることが意図される、ということが理解される。既知のシステムおよび方法に照らして、当業者は、特定の設計および他の必要性に応じて、任意の数の代替実施形態における意図された目的および利益のための開示の使用が理解されるであろう、ということがさらに理解される。
【０００６】
図１〜図１２は、クラウド・ベースでローカライゼーション・エリア・データをモバイル・デバイスに対して生成、改良、および提供するための例示的なシステムと手法とを示す。少なくとも一実施形態において、視覚的マッピング・システムは、１以上の有線または無線ネットワークを介して複数のモバイル・デバイスに通信可能に接続されるエリア記述ファイル（ＡＤＦ）サーバを備える。モバイル・デバイスは、以前にマッピングされていないエリアに進入すると、エリア学習工程を開始し、それによってモバイル・デバイスは、該エリアの視像をキャプチャし、キャプチャされた視像を用いて空間的フィーチャを検出し、空間的フィーチャの表現と、それらの相対形状と、関連付けられている統計データと、同時にキャプチャされたＡＤＦ内のセンサ・データとをＡＤＦサーバに対して送信する。ＡＤＦサーバはこのＡＤＦを用いて、ローカライゼーションＡＤＦ（ＬＡＤＦ）を生成する。ＬＡＤＦは、該エリアの空間的フィーチャの粗いポイント・クラウドを表す。なお、用語「ファイル」（たとえば、「エリア記述ファイル」の中で用いられるか、本明細書において他の箇所で用いられる）は、データと他の情報フィールドとを関連付けるために用いられる任意のデータ構造、または、そのようなデータ構造の任意の組み合わせを指す。そして、ＬＡＤＦは、ＬＡＤＦによってカバーされるエリア内の他のモバイル・デバイス１０４へダウンロードされ得る。ＬＡＤＦを受信するモバイル・デバイスは、該エリアの視像をキャプチャしてもよく、その中にある空間的フィーチャを検出してもよく、検出された空間的フィーチャおよび相対形状を、ＬＡＤＦによって表される検出された空間的フィーチャおよび相対形状と比較してもよく、それによって、ＬＡＤＦによって提示される参照座標フレームを用いて該エリア内のモバイル・デバイスをローカライズする。このように、以前にマッピングされていないエリアのエリア発見およびマッピングは、モバイル・デバイスによるデータの受動的な収集およびアップロードを通じて、効率的にクラウド・ソーシングされ得る。
【０００７】
いくつかの実施形態において、ＡＤＦサーバは複数のモバイル・デバイスから同一エリアに関して、すなわち、隣接エリアに関してＡＤＦファイルを受信し、ＡＤＦサーバはこれらの複数のＡＤＦファイルをマージされたＡＤＦファイル（またはＡＤＦファイルのマージされたクラスタ）にマージするよう動作する。マージされたＡＤＦファイルは、該エリアの、すなわち、それらのサブ・エリアの１以上のＬＡＤＦを生成するために使用され得る。さらに、該エリアにおいて変化が生じる可能性が高い場合、ＡＤＦサーバは、あるエリアに生成されるＬＡＤＦのクラウド・ソーシングによる更新を、モバイル・デバイスからのフィードバックに基づいて、該エリアにおけるローカライゼーション用のＬＡＤＦを用いて、活用し得る。たとえば、ＬＡＤＦ内のいくつかの空間的フィーチャがモバイル・デバイスによって確実に観察されていないことを示すフィードバックに応じて、ＡＤＦサーバは該ＬＡＤＦからこれらの空間的フィーチャを除去し得る。一方、ＬＡＤＦに含まれない空間的フィーチャが該エリア内のモバイル・デバイスによって確実に観察されていることを示すフィードバックに応じて、ＡＤＦサーバはこれらの空間的フィーチャを該ＬＡＤＦに付加し得る。
【０００８】
ＡＤＦおよびＬＡＤＦによって表されるポイント・クラウドと関連付けられているデータとはあるエリアの視覚的表現をある程度提供するので、モバイル・デバイスからＡＤＦを収集することとＬＡＤＦをモバイル・デバイスに対して分配することとは、プライバシ含意を有し得る。したがって、いくつかの実施形態において、視覚的マッピング・システムは一定のプライバシ制御を実装する。そのようなプライバシ制御の１つは、ＡＤＦがＡＤＦサーバにアップロードされる前に該ＡＤＦのデータ上で１以上のプライバシ・フィルタ工程をモバイル・デバイスが実装するよう構成することを含んでもよく、したがって、該エリアの有用な視覚的コンテンツを再生成する目的のためには有用でない該ＡＤＦのアップロードされたバージョンによって表される情報をレンダリングすることを含んでもよい。そのようなプライバシ制御のもう１つは、モバイル・デバイスに対して分配するためのＬＡＤＦにアクセスするための二段階ＬＡＤＦクエリを含み得る。モバイル・デバイスは、利用可能なＬＡＤＦを有さないエリアに進入すると、視像をキャプチャし、キャプチャされた視像から空間的フィーチャを検出し、ＬＡＤＦリクエストをＡＤＦサーバに提出し、それによって、ＬＡＤＦリクエストは、検出された空間的フィーチャのセットとモバイル・デバイスの位置のインジケータと（たとえば、ＧＰＳ座標または１以上の無線基地局識別子）を含む。ＡＤＦサーバはその後、第１クエリ段階を実施することで、検出された空間的フィーチャのセットまたはモバイル・デバイスの位置のインジケータのうち一方に合致する候補ＬＡＤＦのセットを識別してもよく、ＡＤＦサーバはさらに、検出された空間的フィーチャのセットまたはモバイル・デバイスの位置のインジケータのうち他方に基づいて候補ＬＡＤＦのセットからＬＡＤＦを選択し得る。このように、モバイル・デバイスによって提出される空間的フィーチャのセットは、モバイル・デバイスが識別されたエリア内にあるか、該識別されたエリアへのアクセスを有することの証明として機能する。したがって、ＬＡＤＦをリクエスト中のモバイル・デバイスに供給するときのプライバシ侵害のリスクが大幅に低減される。
【０００９】
図１は、本開示の少なくとも一実施形態による視覚的マッピング・システム１００を示す。図示される例において、視覚的マッピング・システム１００は、１以上のモバイル・デバイス１０４に通信可能に接続されるＡＤＦサーバ１０２を備える。クラウド１０６によって表されるように、ＡＤＦサーバ１０２は、モバイル・デバイスにとってリモートであるコンピューティング・システムを備え、１以上の有線または無線ネットワークを介して（たとえば、無線ローカル・エリア・ネットワーク（ＷＬＡＮ）、セルラ・データ・ネットワーク、インターネット、または、それらの組み合わせを介して）モバイル・デバイス１０４に接続される。ＡＤＦサーバ１０２は、本明細書内では単一のサーバの例示的コンテキストにおいて記載されているが、他の実施形態において、サーバのクラスタを備えるコンピューティング・システムとして実装され得る。ＡＤＦサーバ１０２の例示的実施形態は、以下で図２を参照して、より詳細に説明される。
【００１０】
モバイル・デバイス１０４は、１以上のユーザ１１０によって操作される任意の様々な持ち運び可能な電子デバイス（たとえば、ヘッド・マウント・ディスプレイ（ＨＭＤ）、タブレット・コンピュータ、コンピュータ使用可能の携帯電話（たとえば、「スマートフォン」）、ノート型パソコン、携帯情報端末（ＰＤＡ）、ゲーム機システム、ドローンなど）を含み得る。図示される例において、モバイル・デバイス１０４は、他の表面１１６に対向する表面１１４を有するハウジング１１２を含む。それによって、ハウジング１１２は典型的にはユーザ１１０に対して配向され、ユーザがハウジング１１２の表面１１４の方を向くようにする。さらに、図示される実施形態において、モバイル・デバイス１０４は、ユーザ１１０に対して視覚的情報を提示するための表面１１６に配置されるディスプレイ１１８を含む。したがって、容易に参照できるように、本例示的配向の反射として、表面１１６は本明細書において「前向き」表面と称され、表面１１４は本明細書において「ユーザ向き」表面と称される。ただし、これらの表面の配向は、これらの相関的な表示に限定されない。
【００１１】
モバイル・デバイス１０４はさらに、現在モバイル・デバイス１０４が位置しているエリア１２２に関する情報を取得するための複数のセンサを含む。モバイル・デバイス１０４は、１以上の撮像センサ（たとえば前向き表面１１６に配置される撮像センサ１２４および１２６など）を介して、エリア１２２の視覚的情報（視像）を取得する。撮像センサ１２４および１２６は前向き表面１１６上に配置および配向されることで、モバイル・デバイス１０４からの特定の距離において始まるそれらの視野が重複する。それによって、多視点分析を介して、重複している視野の領域に位置するエリア１２２内のオブジェクトの深度感知を可能とする。それに代えて、表面１１６に配置される深度センサ１３０が、エリア内のオブジェクトの深度情報を提供するために用いられ得る。
【００１２】
深度センサ１３０は、一実施形態において、変調光プロジェクタを用いて前向き表面１１６からの変調光パターンをエリア１２２内に投影し、撮像センサ１２４および１２６の一方または両方を用いて、エリア１２２内のオブジェクトから反射されるときの変調光パターンの反射をキャプチャする。これらの変調光パターンは、空間的変調光パターンまたは一時的変調光パターンのどちらであってもよい。変調光パターンのキャプチャされた反射は、本明細書において「深度画像」または「深度視像」と称される。深度センサ１２０はその後、深度視像の分析に基づいて、オブジェクトの深度、すなわち、モバイル・デバイス１０４からのオブジェクトの距離を算出し得る。結果的に深度センサ１３０から得られた深度データは、撮像センサ１２４および１２６によってキャプチャされた画像データの多視点分析（たとえば、立体分析）から得られる深度情報を較正、もしそうでない場合は、拡張するために用いられ得る。それに代えて、画像分析から得られた深度情報の代わりに、深度センサ１３０からの深度データが用いられ得る。モバイル・デバイス１０４の電子システムの更なる詳細な例が、以下で図３を参照して、より詳細に説明される。
【００１３】
モバイル・デバイス１０４は動作中、撮像センサ１２４および１２６の一方または両方を介してエリア１２２の視像をキャプチャし、キャプチャされた視像を修正、もしそうでない場合は処理し、処理されたキャプチャされた視像を表示デバイス１０８上に表示されるように提供する。キャプチャされた視像の処理は、たとえば、空間的または色彩的フィルタリング、拡張現実（ＡＲ）オーバーレイの追加、視像の実コンテンツの対応する仮想現実（ＶＲ）への転換、などを含む。このＡＲまたはＶＲ機能の提供のために、モバイル・デバイス１０４は、特定の座標フレームに対する現在の６自由度（６ＤＯＦ）配向および位置（本明細書において、集合的に「姿勢」と称される）の正確な判定に依拠する。したがって、いくつかの実施形態において、モバイル・デバイス１０４は、撮像センサ１２４および１２６によってキャプチャされた視像と非画像センサ・データ（たとえば、慣性センサ・データ）とを使用し、モバイル・デバイス１０４の相対位置／配向、すなわち、エリア１２２に対する位置／配向を、１以上の同時ローカライゼーション・マッピング（ＳＬＡＭ）工程、視覚的オドメトリ工程、または他の視覚的マッピング工程を用いて、判定する。
【００１４】
従来、モバイル・デバイスは、新しいエリア（すなわち、特定のモバイル・デバイスが以前に進入したことのないエリア）に進入すると、その新しいエリアを学習するためのエリア学習工程（たとえば、ＳＬＡＭ工程）を完了させるか、または、座標フレームに対するモバイル・デバイスの現在の姿勢を示唆するものを提供するための非視覚的キュー（たとえば、ＧＰＳ座標）に依拠しなくてはならない。その一方、視覚的マッピング・システム１００は、エリア内における他のモバイル・デバイスによる以前の探索を通じて提供されるクラウド・ソーシングを活用することで、該エリアにとって新しいモバイル・デバイスが、該エリアを広範囲において視覚的にマッピングすることなく、座標フレームに即座にローカライズできるようにする。この目的を達成するために、ＡＤＦサーバ１０２に接続されたモバイル・デバイス１０４は、モバイル・デバイス１０４がエリア１２２の周りを移動するときに、ＡＤＦ１３２を収集して、そのＡＤＦ１３２をＡＤＦサーバ１０２にアップロードするよう動作する。以下でさらに詳細に説明されるように、ＡＤＦ１３２は、空間的フィーチャに関連付けられている視像のキャプチャ時に慣性計測装置（ＩＭＵ）または他の非画像センサから収集されるセンサ・データだけでなく、モバイル・デバイス１０４によって検出される空間的フィーチャのセット、空間的フィーチャの相対形状、モバイル・デバイスの姿勢から実質的に独立した方法で空間的フィーチャを記述する空間的フィーチャに関する様々な統計的メタデータ、照明条件、もしくは、他の一時的な環境条件またはデバイス特有の条件を含む。ＡＤＦサーバ１０２は、ＡＤＦ１３２に含まれる情報に基づいて同一エリア（または隣接エリア）の複数のモバイル・デバイス１０４からのＡＤＦをフィルタリングおよびマージし、結果として生じたマージされたＡＤＦから１以上のＬＡＤＦ１３４を生成する。各ＬＡＤＦ１３４は、該エリアの、または、その対応するサブ・エリアの空間的フィーチャの粗いポイント・クラウドを表す。
【００１５】
したがって、他のモバイル・デバイス１０４は、次に新しいエリアに進入すると、該エリアに関連付けられているＬＡＤＦについてＡＤＦサーバ１０２に対してクエリを行い得る。このクエリに応答して、ＡＤＦサーバ１０２は、リクエスト中のモバイル・デバイス１０４に対してＬＡＤＦ１３４を提供する。モバイル・デバイス１０４は、エリア１２２の視像をキャプチャしてもよく、それに含まれる一定の空間的フィーチャを検出してもよく、検出された空間的フィーチャとそれらの相対形状とを、ＬＡＤＦ１３４によって表される空間的フィーチャと関連付けられている相対形状とに比較してもよく、空間的フィーチャの比較に基づいて（たとえば、ループ閉じ込みアルゴリズムの適用を通じて）現在の姿勢をローカライズ（すなわち、現在の姿勢を判定、または、以前に判定された変位した姿勢を修正）してもよい。モバイル・デバイス１０４はさらに、モバイル・デバイス１０４がＬＡＤＦ１３４を使用することに基づいて、フィードバック（たとえば、ＬＡＤＦ１３４の空間的フィーチャがモバイル・デバイス１０４によって観察されなかったことを示すフィードバック・データ、または、ＬＡＤＦ１３４に含まれない空間的フィーチャがモバイル・デバイス１０４によって観察されたことを示すフィードバック・データ）をＡＤＦサーバ１０２に対して提供し得る。
【００１６】
クラウド・ソーシングされた、および、クラウド・ベースでの、ＬＡＤＦ１３４の生成、改良、および配分によって、モバイル・デバイス１０４は、新しいエリアに進入するとき、即座かつ効率的にローカライズを行うことができ、したがって、時間のかかるエリア学習工程を実行する必要、または、ＧＰＳセンサもしくは慣性センサからのより精密でなく大抵は信頼できない計測値を使用する必要をなくすことができる。さらに、ＬＡＤＦ１３４の空間的フィーチャが特定の座標フレームに参照され得ると、複数のモバイル・デバイス１０４はＬＡＤＦ１３４を用いて、現在の姿勢を共通座標フレームに対してローカライズし得る。これによって、デバイスの姿勢情報（たとえば、多人数プレイゲーム、共有されたＡＲまたはＶＲ機能など）に依拠する機能についての複数のモバイル・デバイス１０４間における、より効率的で正確な対話を容易にする。
【００１７】
図２は、本開示の少なくとも一実施形態による図１のＡＤＦサーバ１０２の例示的実施形態を示す。図示された例において、ＡＤＦサーバ１０２はネットワーク・インターフェース２０２、ＡＤＦデータストア２０４、ＬＡＤＦデータストア２０６、フィーチャ・スコア・データストア２０８、ジオリファレンス・データストア２１０、マージ・モジュール２１２、ジオリファレンス・モジュール２１４、空間的フィーチャ・フィルタ・モジュール２１６、ローカライゼーション生成モジュール２１８、およびクエリ・モジュール２２０を有するコンピューティング・システムを備える。１以上のデータストア２０４、２０６、２０８、および２１０は、別体のデータストアとして図示されているが、単一のデータストアとして共に実装され得る。
【００１８】
モジュール２１２、２１４、２１６、２１８、および２２０は、ハード・コーディングされたロジック（たとえば、特定用途向け集積回路またはプログラマブル・ロジック）、メモリ２２６もしくは他のストレージ・デバイス内に記憶されたソフトウェア命令２２４を実行する１以上のプロセッサ２２２、または、それらの組み合わせとして実装され得る。さらに、ＡＤＦサーバ１０２は、説明を容易にすべく単一のサーバとして示されているが、その代わりに、複数のサーバを備えるコンピューティング・システムとして実装され得る。たとえば、モジュール２１２、２１４、２１６および２１８の機能は１つのサーバにおいて実装されてもよいし、クエリ・モジュール２２０およびＬＡＤＦデータストア２０６の機能は別のサーバにおいて実装されてもよい。
【００１９】
概観すると、マージ・モジュール２１２は、ネットワーク・インターフェース２０２を介して、ＬＡＤＦが未だにコンパイルされていないエリアに進入した１以上のモバイル・デバイス２３２（図１のモバイル・デバイス１０４の一実施形態）からＡＤＦ１３２を受信するよう動作する。マージ・モジュール２１２は、モバイル・デバイス２３２からの１以上のＡＤＦ１３２をマージすることで、マージされたＡＤＦデータをＡＤＦデータストア２０４に記憶用に生成する。ジオリファレンス・モジュール２１４は、ジオリファレンス・データストア２１０からのジオリファレンス情報（たとえば、グーグル社によって提供されるストリート・ビュー・ツールからの視像および関連付けられているジオリファレンス位置を含み得る）を活用することによって、マージされたＡＤＦに対する地理的参照を提供する。ローカライゼーション生成モジュール２１８は、結果としてマージされたＡＤＦデータから１以上のＬＡＤＦを生成することで、あとで取り出せるようＬＡＤＦデータストア２０６内の１以上のＬＡＤＦにインデックスを付け、該ＬＡＤＦを記憶する。クエリ・モジュール２２０は、ネットワーク・インターフェース２０２を介してモバイル・デバイス２３４（モバイル・デバイス１０４の一実施形態）からＬＡＤＦリクエスト２３６を受信し、ＬＡＤＦリクエスト２３６に対応するＬＡＤＦ１３４を求めてＬＡＤＦデータストア２０６をサーチし、ＬＡＤＦ１３４をモバイル・デバイス２３４に提供する。モバイル・デバイス２３４は、モバイル・デバイス２３４のローカライゼーションのためにＬＡＤＦ１３４を使用する。このローカライゼーション工程中、モバイル・デバイス２３４は、ネットワーク・インターフェース２０２を介してＬＡＤＦ１３４に対するＬＡＤＦフィードバック２３８をＡＤＦサーバ１０２に提供し得る。ＡＤＦサーバ１０２はＬＡＤＦフィードバック２３８を用いて、フィーチャ・スコア・データストア２０８において、ＬＡＤＦフィードバック２３８内で表される空間的フィーチャのフィーチャ・スコアを調整してもよく、フィーチャ・スコアに基づいて、空間的フィーチャを追加または除去することによってＬＡＤＦ１３４を改良してもよい。これらの動作は、図４〜図１２を参照して、以下でより詳細に説明される。
【００２０】
前述の通り、モバイル・デバイス２３２および２３４は、モバイル・デバイス１０４の実施形態を表す。それぞれの動作上の必要条件のために、ＬＡＤＦを用いてローカライゼーション工程を実行するモバイル・デバイス２３２は、ＡＤＦアップロード工程を実行するモバイル・デバイス２３４と同一の機能を必要としない可能性がある。たとえば、モバイル・デバイス２３４は、深度センサ１２０またはステレオ・カメラ構成を活用して、ＡＤＦを生成およびアップロードする工程に関連付けられているＳＬＡＭ動作を容易にし得る。一方で、モバイル・デバイス２３２は、典型的には、ローカライゼーション工程を容易にするために、深度センサ１２０は必要とせず、単眼カメラ構成のみを必要としている。
【００２１】
図３は、本開示の少なくとも一実施形態によるモバイル・デバイス１０４によって実装される例示的処理システム３００を示す。処理システム３００は、ディスプレイ１１８と、撮像センサ１２４および１２６と、深度センサ１３０とを備える。プロセッシング・システム３００はさらに、グラフィックス処理装置（ＧＰＵ）３０２と、フレーム・バッファ３０３および３０５と、アプリケーション・プロセッサ３０４と、表示コントローラ３０６と、システム・メモリ３０８と、非画像センサのセット３１０と、ユーザ・インターフェース３１２とを備える。ユーザ・インターフェース３１２は、モバイル・デバイス１０４に対してユーザ入力を提供するためにユーザによって操作される１または複数のコンポーネント（たとえば、タッチスクリーン３１４、マウス、キーボード、マイクロフォン３１６、様々なボタンまたはスイッチ、様々な触覚アクチュエータ３１８）を備える。非画像センサのセット３１０は、モバイル・デバイス１０４の非画像コンテキストまたは状態を提供するために用いられる任意の様々なセンサを含み得る。そのようなセンサの例は、１以上のジャイロスコープ３２１、磁力計３２２、および加速度計３２３を備える慣性測定装置（ＩＭＵ）３２０を含む。非画像センサはさらに、様々な無線送受信に基づくセンサ（たとえば、ＧＰＳセンサ３２８、無線ローカル・エリア・ネットワーク（ＷＬＡＮ）インターフェース３３０、セルラ・インターフェース３３２、ピア・トゥ・ピア（Ｐ２Ｐ）無線インターフェース３３４、および近距離通信（ＮＦＣ）インターフェース３３６）だけでなく、環境光センサ３２６を含み得る。非画像センサはさらに、ユーザ・インターフェース３１２のユーザ入力コンポーネント（たとえば、タッチスクリーン３１４またはマイクロフォン３１６）を含み得る。
【００２２】
モバイル・デバイス１０４はさらに、画像処理、位置マッピング、および位置活用工程に連動して用いられる情報またはメタデータを記憶する様々なデータストア３３８へのアクセスを有する。データストア３３８は、モバイル・デバイス１０４の撮像センサによってキャプチャされた視像から識別される二次元または三次元のメタデータを記憶するための空間的フィーチャ・データストアと、ＳＬＡＭを基にした情報（たとえば、モバイル・デバイス１０４によって既に探索されたエリア１２２（図１）のサブ・エリアのマッピング情報）を記憶するＳＬＡＭデータストアと、ＡＲオーバーレイ情報またはＶＲ情報（たとえば、エリア１２２内の注目オブジェクトの相対位置のＣＡＤに基づく表示）を記憶するＡＲデータストアとを含み得る。データストア３３８は、モバイル・デバイス１０４の１以上のストレージ・コンポーネント（たとえば、ハード・ドライブ、ソリッド・ステート・メモリ、または取り外し可能な記憶媒体（図示しない）上にある）において実装され得る。
【００２３】
撮像センサ１２４および１２６は動作中、エリアの視像をキャプチャし、キャプチャされた視像をフレーム・バッファ３０３および３０５においてバッファリングする。視像が原形もしくは変形で表示されるように、ＧＰＵ３０２はキャプチャされた視像を表示用に処理し（たとえば、ＡＲオーバーレイをレンダリングすることによって）、表示コントローラ３０６はディスプレイ１１８を制御して、処理された視像を表示する。さらに、本明細書において説明されるように、モバイル・デバイス１０４は、以前にマッピングされた位置のＬＡＤＦをダウンロードし、ダウンロードされたＬＡＤＦを使用するだけでなく、以前にマッピングされていない位置のＡＤＦ１３４をアップロードするよう動作することで、モバイル・デバイス１０４のローカライゼーションを容易にする。この目的を達成するために、１以上のソフトウェア・プログラムは、システム・メモリ３０８または他の非一過性のコンピュータ読取可能媒体内に記憶され、アプリケーション・プロセッサ３０４とＧＰＵ３０２との一方または両方によって実行されることによって、このＡＤＦ生成およびＬＡＤＦ活用機能を提供してもよい。説明を簡単にするために、該１以上のソフトウェア・プログラムは、図３においてＡＤＦ生成プログラム３４２およびＬＡＤＦ処理プログラム３４４として示される。これらのプログラムは、処理システム３００によって実行されるオペレーティング・システム（ＯＳ）内のスレッドまたは他の工程として、同一のソフトウェア・アプリケーションのスレッド、工程、もしくはサブルーチンとして、または、個々に実行されるソフトウェア・アプリケーションとして実装され得る。さらに、いくつかの実施形態において、本明細書において説明されるプログラム３４２および３４４の機能のいくつかまたは全てが、ＡＳＩＣ、プログラマブル・ロジック、または他のハード・コーディングされたロジックを介して実装され得る。
【００２４】
ＡＤＦ生成プログラム３４２は、たとえば、プライバシ・フィルタ・モジュール３４６、空間的フィーチャ検出モジュール３４８、およびＡＤＦアセンブリ・モジュール３５０を含み得る。図３に示すように、プライバシ・フィルタ・モジュール３４６は、１以上の画像コンテンツ・フィルタ（たとえば、ダウンサンプラ・モジュール３５６だけでなく、テキスト・フィルタ・モジュール３５２および顔フィルタ・モジュール）を備え得る。ＬＡＤＦ処理プログラム３４４は、たとえば、空間的フィーチャ検出モジュール３５８（空間的フィーチャ検出モジュール３４８であってもよい）、リクエスト・モジュール３６０、ローカライゼーション・モジュール３６２、およびフィードバック・モジュール３６４を含み得る。処理システム３００の動作は、ＡＤＦ生成プログラム３４２とＬＡＤＦ処理プログラム３４４との動作を含め、以下に詳述される。
【００２５】
上述の通り、モバイル・デバイス１０４は、マッピングされていないエリア（すなわち、ＡＤＦサーバ１０２が利用可能なＬＡＤＦを有さないエリア）内にあるとき、ＡＤＦ生成モードで動作し得る。それによって、モバイル・デバイス１０４は、マッピングされていないエリア内で検出された空間的フィーチャを表すＡＤＦを生成し、該ＡＤＦをＡＤＦサーバ１０２にアップロードする。しかしながら、該エリアが既にマッピングされており、ＡＤＦサーバ１０２が該エリアのＬＡＤＦを有している場合、モバイル・デバイス１０４は代わりにＬＡＤＦローカライゼーション・モードで動作し得る。それによって、モバイル・デバイス１０４は、ＡＤＦサーバ１０２から該エリアのＬＡＤＦを取得し、ＬＡＤＦによって表される粗いポイント・クラウドを使用する。そうすることで、該エリアに対してモバイル・デバイス１０４をローカライズさせるように、ローカライゼーション工程を実行する。
【００２６】
図４は、本開示の少なくとも一実施形態によるこれらの動作モード間の選択のための例示的方法４００を示す。説明を容易にするために、方法４００は、図３の処理システム３００の例示的コンテキストにおいて説明される。方法４００は、ブロック４０２において開始される。それによって、モバイル・デバイス１０４がモバイル・デバイス１０４によって以前にマッピングされていないエリアに進入したことを、モバイル・デバイス１０４は判定する。それに応じて、モバイル・デバイス１０４は、ローカライゼーション工程またはモーション・トラッキング工程を開始する。
【００２７】
ブロック４０４において、モバイル・デバイス１０４はＡＤＦサーバ１０２に対してクエリを行い、ＬＡＤＦが該エリアにとって利用可能であるかどうかを判定する。図１０〜図１２を参照して以下で説明されるように、ＡＤＦサーバ１０２は二段階クエリ工程を実装してもよく、それによって、モバイル・デバイス１０４は該エリア内のモバイル・デバイスによってキャプチャされた視像からの空間的フィーチャのセットと、１以上の位置インジケータ（たとえば、モバイル・デバイス１０４によって検出されるＧＰＳ座標およびＷＬＡＮまたはセル・タワー基地局の基地局識別子）との両方を提供し、ＡＤＦサーバ１０２はＬＡＤＦデータストア２０６に対してクエリを行い対応するＬＡＤＦを識別する。
【００２８】
ＬＡＤＦがＡＤＦサーバ１０２から利用可能でない場合、該エリアはマッピングされていない位置とみなされる。したがって、ブロック４０６において、モバイル・デバイス１０４とＡＤＦサーバ１０２とが連動して、マッピングされていない位置に対してＡＤＦ／ＬＡＤＦ生成工程を実行する。この工程は、以下で図５を参照して、より詳細に説明される。ＬＡＤＦがＡＤＦサーバ１０２から利用可能である場合、該エリアはマッピングされた位置とみなされる。したがって、ブロック４０８において、モバイル・デバイス１０４とＡＤＦサーバ１０２とが連動して、ＬＡＤＦローカライゼーションおよび更新工程を実行する。この工程は、以下で図６を参照して、より詳細に説明される。
【００２９】
図５は、本開示の少なくとも一実施形態によるＡＤＦ／ＬＡＤＦ生成工程を実装するための例示的方法５００を示す。上述の通り、ＡＤＦ／ＬＡＤＦ生成工程は、ＬＡＤＦがモバイル・デバイス１０４によって新たに遭遇されたエリアにとって利用可能でないという判定に応答して、実行される。したがって、エリア記述データの受動的収集に対するユーザの同意の受信後、方法５００がブロック５０２において開始され、モバイル・デバイス１０４のセンサを用いてエリア学習工程が開始される。エリア学習工程を実行するために、モバイル・デバイス１０４は、モバイル・デバイス１０４が該エリアを通るとき、撮像センサ１２４および１２６を介して視像３７２（図３）をキャプチャし、深度センサ１３０を介して対応する深度情報３７３をキャプチャする。モバイル・デバイス１０４は、たとえば、双方向型ゲームを用いて、モバイル・デバイス１０４のユーザに対して、視像３７２と深度情報３７３とがモバイル・デバイス１０４によってキャプチャされるとき該エリアを探索するよう促し得る。
【００３０】
同時に、ＡＤＦアセンブリ・モジュール３５０は、セット３１０の１以上の非画像センサから非画像センサ・データ３７４（図３参照）をキャプチャする。たとえば、ＡＤＦアセンブリ・モジュール３５０は、視像３７２のキャプチャの間に加速度計３２３からセンサ・データをキャプチャしてもよく、したがって、視像キャプチャ時に重力に対するモバイル・デバイス１０４の配向を表してもよい。同様に、ジャイロスコープ３２１からキャプチャされるセンサ・データは、キャプチャされた視像内に表される視覚的フィーチャに対するモバイル・デバイス１０４の移動方向を判定するために用いられ得る。さらに、非画像センサ・データ３７４は、モバイル・デバイス１０４の複数の位置インジケータとして作用し得るセンサ・データを含み得る。これらの位置インジケータは、ジオリファレンスされた位置インジケータ（たとえば、ＧＰＳセンサ３２８によって提供されるセンサ・データ内に表される緯度／経度座標）であり得る。それに代えて、これらの位置インジケータは、推定位置インジケータであり得る。たとえば、ＷＬＡＮ基地局とセル・タワー基地局とが固定されたと推測されると、ＷＬＡＮ基地局またはセル・タワー基地局の検出は、モバイル・デバイスが検出された基地局に近接している示唆として機能する。したがって、基地局識別子（ＢＳＩＤ）、メディア・アクセス・コントロール（ＭＡＣ）アドレス、または、基地局の他の識別子が、モバイル・デバイスの推定位置インジケータとして機能し得る。
【００３１】
以下で説明されるように、キャプチャされた視像３７２と深度情報３７３とは、最終的にＡＤＦサーバ１０２にアップロードされる空間的フィーチャのポイント・クラウドを判定するために用いられる。このポイント・クラウドは画像データそのものではないが、ポイント・クラウドの密度と他の条件とによって、無修正ポイント・クラウドがキャプチャされた視像３７２に当初は存在していた一定の視覚的コンテンツを再構築するために用いられた可能性がある。たとえば、モバイル・デバイス１０４が特にドキュメントの近くに設置された場合、該ドキュメントのキャプチャされた視像から判定されるポイント・クラウドが該ドキュメントのテキストを再生成するために用いられた可能性がある。したがって、意図されていない視覚的コンテンツの開示を防ぐため、プライバシ・フィルタ・モジュール３４６は少なくとも２つのプライバシ制御を実装し得る。
【００３２】
第１のプライバシ制御は、ブロック５０４において実装される。ブロック５０４において、プライバシ・フィルタ・モジュール３４６は、キャプチャされた視像３７２に対して１以上のコンテンツ・フィルタ工程を実行し、プライバシ含意を有し得る領域から画像コンテンツを除去する、たとえば、ブロック５０４において、テキスト・フィルタ・モジュール３５２は、テキスト・フィルタ工程を行ってもよく、それによって、１以上の周知のテキスト認識アルゴリズムを用いてブロック５０２においてキャプチャされた各画像がスキャンされ、テキスト・コンテンツを表す可能性のある画像内に任意の領域が存在するかどうかを判定する。テキストの可能性がある領域として検出された各領域に関して、テキスト・フィルタ・モジュール３５２は、たとえば、該領域または複数の隣接領域においてピクセルとの混合動作を実行することによって、該領域内のピクセル値を同一のデフォルト・ピクセル領域に置き換えることによって、または、もしそうでない場合、該領域内のピクセル値を削除することによって、該領域を曖昧にするか、削除し得る。同様に、ブロック５０４において、顔フィルタ・モジュール３５４は顔フィルタ工程を実装してもよく、それによって、１以上の周知の顔認識アルゴリズムを用いて各キャプチャされた画像がスキャンされ、人間の顔を表す可能性のある画像内に任意の領域が存在するかどうかを判定し、画像をフィルタリングすることで、そのように識別された各領域から画像コンテンツを除去する。こうして、視像が事前にフィルタリングされることで、機密の可能性がある視覚的コンテンツを空間的フィーチャ検出よりも前に除去し、したがって、結果として生じる空間的フィーチャのポイント・クラウドは、機密の可能性がある視覚的コンテンツを再構築するために用いられ得ない。
【００３３】
ブロック５０６において、空間的フィーチャ検出モジュール３４８は、フィルタリングされた視像を分析し、そこに含まれる空間的フィーチャを検出する。任意の様々な空間的フィーチャ抽出アルゴリズム（たとえば、スケール不変フィーチャ変換（ＳＩＦＴ）アルゴリズム、高速化ロバスト・フィーチャ（ＳＵＲＦ）アルゴリズム、グレー・レベル・パッチ・アルゴリズム、勾配位置配向ヒストグラム（ＧＬＯＨ）アルゴリズム、ゼルニケ・モーメント・アルゴリズム、バイナリ・ロバスト独立基本フィーチャ（ＢＲＥＩＦ）アルゴリズム、指向性ＢＲＩＳＫ（ＯＲＢ）アルゴリズム、バイナリ・ロバスト不変拡張可能キーポイント（ＢＲＩＳＫ）アルゴリズム、ガウス差分（ＤＯＧ）アルゴリズム、高速レティナ・キーポイント（ＦＲＥＡＫ）アルゴリズム、など）が用いられ得る。空間的フィーチャ検出モジュール３４８は、これらの検出された空間的フィーチャを、空間的フィーチャ・データ３７６として提供する。たとえば、ＦＲＥＡＫアルゴリズムは、イメージ・パッチ内のピクセルの組の比較を提供し、各比較の出力は該組中でどのピクセルがより明るいかまたは暗いかに基づいて「０」か「１」となる。ＦＲＥＡＫアルゴリズムにおいて、このような比較はイメージ・パッチ上で計算され、その結果は、三次元参照フレーム内の空間的フィーチャの位置を識別する（ｘ，ｙ，ｚ）ベクトルだけでなく、イメージ・パッチを表す対応する空間的フィーチャの長さ５１２のバイナリ文字列である空間的フィーチャ記述子である。
【００３４】
さらに、空間的フィーチャ検出モジュール３４８は、各々検出された点についての統計的メタデータ３７８を判定する。統計的メタデータ３７８は、モバイル・デバイス１０４の特定の視野角または対応する視像がキャプチャされたときの定常照明から実質的に独立した方法で、対応する空間的フィーチャを記述する。たとえば、統計的メタデータ３７８は、空間的フィーチャを表すピクセルの輝度の平均および標準偏差を表す値、１以上の方向における輝度勾配（または他の視覚的特徴勾配）などを備える。
【００３５】
プライバシ・フィルタ・モジュール３４６が検出されたテキストおよび顔コンテンツの視像を除去したので、空間的フィーチャ・データ３７６によって表される空間的フィーチャの当初のポイント・クラウドにはテキストおよび顔コンテンツが実質的に存在しないが、当初のポイント・クラウドは依然として、当初のポイント・クラウドからエリアの外観をある程度再構築できる程度に十分な空間的フィーチャ濃度を有し得る。したがって、第２のプライバシ制御として、ブロック５０８において、プライバシ・フィルタ・モジュール３４６のダウンサンプラ・モジュール３５６は、当初のポイント・クラウドをダウンサンプリングして、当初のポイント・クラウドの空間的フィーチャの選択されたサブセットのみを含む空間的フィーチャのフィルタリング済みポイント・クラウド３８０（図３）を生成するようにする。このことは、結果として生じるフィルタリング済みポイント・クラウド３８０を表すために必要であるデータ量を削減することだけでなく、結果として生じるポイント・クラウドからあるエリアの外観が再構築される可能性を低下させること、の両方の利点を有する。ダウンサンプリング工程は、１以上のダウンサンプリング基準によって制御され得る。たとえば、いくつかの実施形態において、ダウンサンプリング工程は、フィルタリングされたポイント・クラウドから除外するために空間的フィーチャを無作為に選択すること、各Ｘ番目の空間的フィーチャを除去すること（Ｘは２よりも大きい整数）、または、フィルタリング済みポイント・クラウドに含めるために空間的フィーチャの最大数未満を選択することを含み得る。他の例として、ダウンサンプリング工程は、立方体毎（すなわち、単位体積）の空間的フィーチャの最大数を特定する最大空間的フィーチャ密度基準によって制御され得る。たとえば、最大空間的フィーチャ密度基準は、フィルタリング済みポイント・クラウド３８０が立方フィート毎で最大１つの空間的フィーチャを含むことを特定し得るので、当初のポイント・クラウドをダウンサンプリングして、立方フィート毎でわずか１つの空間的フィーチャが結果として生じるフィルタリング済みポイント・クラウド内で表されるようにする。
【００３６】
ブロック５１０において、ＡＤＦアセンブリ・モジュール３５０は、フィルタリング済みポイント・クラウド３８０、統計的メタデータ３７８、および非画像センサ・データ３７４を用いて、ＡＤＦ１３２を生成する。一実施形態において、ＡＤＦ１３２は、多次元座標の一覧または他のセットとしてフィルタリング済みポイント・クラウド３８０を表すファイルまたは他のデータ構造を、表された空間的フィーチャに関する統計的メタデータ３７８を記憶するための各多次元座標のフィールドと共に備える。たとえば、各多次元座標は、モバイル・デバイス１０４の（Ｘ，Ｙ，Ｚ）座標内の対応する空間的フィーチャの三次元位置を表す浮動小数点ベクトル（ｘ，ｙ，ｚ）を備え得る。データ構造はさらに、以下に説明されるように、ＡＤＦサーバ１０２によってＡＤＦ１３２に割り当てられる一意識別子（ＵＩＤ）を記憶するためのフィールドだけでなく、非画像センサ・データ３７４を記憶するための１以上のフィールドを含み得る。
【００３７】
ブロック５１２において、ＡＤＦアセンブリ・モジュール３５０はＡＤＦ１３２を適切なネットワーク・インターフェース（たとえば、セルラ・インターフェース３３２またはＷＬＡＮインターフェース３３０）に対してＡＤＦサーバ１０２への送信用に提供する。いくつかの実施形態において、ＡＤＦアセンブリ・モジュール３５０はＡＤＦをＡＤＦサーバ１０２にアップロードするためのリクエストを送り、ＡＤＦサーバ１０２は該ＡＤＦに割り当てられたＵＩＤによって反応する。該ＡＤＦは、アップロードされる前に、ＡＤＦアセンブリ・モジュール３５０がＡＤＦ１３２における適切なフィールド内に挿入するものである。さらに、ＡＤＦ１３２がアップロードされる前に完了されるようにブロック５０２〜５１２の工程は順次工程として説明されたが、いくつかの実施形態において、ＡＤＦ１３２は反復工程において生成およびアップロードされ、それによって、ＡＤＦ１３２は一連のＡＤＦブロックとして生成される。各ＡＤＦブロックは、キャプチャされた視像の一部から生成されたポイント・クラウドのサブセットを含む。また、各ＡＤＦブロックは、ＡＤＦ１３２が生成されるときにＡＤＦに割り当てられてＡＤＦサーバ１０２にアップロードされるＵＩＤによってマーキングされる。ＡＤＦサーバ１０２は、したがって、これらのＡＤＦブロックを個々に記憶してもよいし、同一のＵＩＤによって示されるＡＤＦブロックを単一のＡＤＦ１３２に結合してもよい。
【００３８】
モバイル・デバイス１０４によってアップロードされるＡＤＦ１３２は、モバイル・デバイス１０４が位置するエリアに存在する一定の視覚的フィーチャを表す。しかしながら、ブロック５０４および５０８を参照して上述されたモバイル・デバイス１０４によって実装されるプライバシ制御を通じて、ＡＤＦサーバ１０２に対して提供されるＡＤＦ１３２内に含まれる情報は、プライバシ含意を有し得る任意のコンテンツが実質的に存在しなくなる。むしろ、結果として生じるＡＤＦ１３２は、これらの視覚的フィーチャに基づいて他のモバイル・デバイスが以降にローカライズできるようになる程度に該エリアの様々な縁、隅、および他の視覚的フィーチャを記述し得る粗いポイント・クラウドを含むが、粗いポイント・クラウドは、人間の知覚にとって重要である方法で該エリアの外観の複製をサポートするのには不十分な情報を含む。したがって、ＡＤＦサーバ１０２は、マッピングされたエリアに関して機密の可能性がある情報を公開する可能性が高いモバイル・デバイス１０４からの情報を有するべきではない。
【００３９】
ＡＤＦ／ＬＡＤＦ生成工程におけるＡＤＦサーバ１０２の役割は、ブロック５１４において開始され、マージ・モジュール２１２がネットワーク・インターフェース２０２を介してモバイル・デバイス１０４からＡＤＦサーバ１０２を受信することを伴う。ＡＤＦ１３２を受信すると、マージ・モジュール２１２は、一時的にＡＤＦ１３２にインデックスを付け、該ＡＤＦ１３２をＡＤＦデータストア２０４内に記憶する。ＡＤＦ１３２は、たとえば、ＡＤＦ１３２に割り当てられたＵＩＤに基づいて、ＡＤＦ１３２によって表されたポイント・クラウド内に表された空間的フィーチャに基づいて、ＡＤＦ１３２と共に含まれる１または複数の位置インジケータに基づいて、一時記憶のためにインデックスが付けられる。少なくとも一実施形態において、以下で図１０〜図１２を参照して説明される二層クエリ・アプローチを用いて、各ＡＤＦ１３２はＡＤＦデータストア２０４内で記憶され、インデックスが付けられる。
【００４０】
いくつかの例において、複数のモバイル・デバイスは、あるエリアまたは複数の隣接エリアの対応するＡＤＦをアップロードしていた可能性がある。ＡＤＦサーバ１０２は、したがって、ブロック５１６において、これらの場所が同じであるＡＤＦをマージするよう動作してから、結果として生じるマージされたＡＤＦを処理して１以上のＬＡＤＦにする。ブロック５１６のマージ工程は、任意の様々なトリガに応えて開始され得る。たとえば、マージ工程は、規定時間の経過によって、モバイル・デバイスからの規定数のＡＤＦの受信によって、モバイル・デバイスからのＬＡＤＦのリクエストによって、トリガされ得る。そのようなトリガに応えて、ブロック５１８において、マージ・モジュール２１２は、クエリ・モジュール２２０に、ＡＤＦデータストア２０４に対してクエリを行うよう信号を送り、「近接」ＡＤＦ（すなわち、同一エリアまたは隣接エリアをカバーするＡＤＦ）が存在するかどうかを識別する。いくつかの実施形態において、近接ＡＤＦは、ＡＤＦデータストア２４０内のＡＤＦに関連付けられている位置インジケータの比較に基づいて、識別され得る。たとえば、モバイル・デバイス１０４からＡＤＦ１３２をアップロードすることによってマージ工程がトリガされ、アップロードされたＡＤＦ１３２が位置インジケータとして１以上のＷＬＡＮ  ＭＡＣアドレスを含むと仮定すると、アップロードされたＡＤＦに供給されたか、アップロードされたＡＤＦによって識別されたＷＬＡＮ基地局によってカバーされたエリアに隣接すると知られているＷＬＡＮ基地局のＷＬＡＮ  ＭＡＣアドレスに供給されたものと同一のＷＬＡＮ  ＭＡＣアドレスを有するものとしてクエリ・モジュール２２０によって識別されたＡＤＦデータストア２４０内のそれらのＡＤＦが、近接ＡＤＦとして識別される。他の例として、アップロードされたＡＤＦには位置インジケータとしてＧＰＳ座標が提供されてもよく、クエリ・モジュール２２０はＡＤＦデータストア２４０内のＡＤＦを、対応するＧＰＳ座標に基づいて近接していると識別し得る。他の実施形態において、近接ＡＤＦは、アップロードされたＡＤＦ内に表される空間的フィーチャとＡＤＦデータストア２４０内のＡＤＦに表される空間的フィーチャとの比較に基づいて、識別され得る。空間的フィーチャの十分に重複しているセットを有するそれらのＡＤＦは、したがって、同一エリアまたは近接エリアを表すと識別され得るため、近接ＡＤＦとして識別され得る。さらに、図１０〜図１２を参照して以下に説明されるように、ＡＤＦサーバ１０２は、ＡＤＦデータストア２０４とＬＡＤＦデータストア２０６との一方または両方に対して二層クエリを実装してもよく、その結果、各々記憶されたＡＤＦ／ＬＡＤＨにはその空間的フィーチャのセットと１以上の位置インジケータとの両方に基づいて記憶用にインデックスが付けられる。そして、アップロードされたＡＤＦの１以上の位置インジケータだけでなくアップロードされたＡＤＦの空間的フィーチャのセットを用いて二層インデックス付け工程を実行することによって、近接ＡＤＦが識別される。
【００４１】
クエリ・モジュール２２０によって識別される１以上の近接している、すなわち、場所が同じであるＡＤＦのセットは、本明細書において「ＡＤＦクラスタ」と称される。識別されたＡＤＦクラスタによって、ブロック５２０において、マージ・モジュール２１２は１以上の重複排除工程を実行するよう動作し、ＡＤＦクラスタのＡＤＦ内に表される重複した空間的フィーチャを除去する。さらに、ＡＤＦクラスタが過度に大きいエリアを表しているか、過度に多い数の空間的フィーチャを含む場合、マージ・モジュール２１２はＡＤＦクラスタを１以上のより小さいＡＤＦに分割し得る。本明細書において説明される通りに該１以上のより小さいＡＤＦは各々処理され得る。ブロック５２２において、マージ・モジュール２１２は１以上の周知のループ閉じ込みアルゴリズムを用いて、ＡＤＦクラスタのＡＤＦ間における相対アライメントを判定する。ブロック５２４において、マージ・モジュール２１２はＡＤＦクラスタを分析し、１以上の安定性基準を用いて識別された、ＡＤＦクラスタのほとんどまたは全てのＡＤＦ内で確実には観察されない空間的フィーチャを（したがって、ローカライゼーション用の信頼できないソースも）選択的に除去する。これは、ＡＤＦクラスタによって表される組み合わされたポイント・クラウドにおける空間的フィーチャの総数を減らす目的だけでなく、該エリアの永続的な視覚的フィーチャを表す可能性がない空間的フィーチャを除去する目的を果たす。除去する空間的フィーチャを選択するとき、マージ・モジュール２１２は安全性基準に基づいてスコアリング・システムを活用し得る（たとえば、空間的フィーチャがＡＤＦクラスタのＡＤＦ内で観察される頻度に基づき空間的フィーチャに対してスコアを与えることによって）。さらに、より新しいＡＤＦが該エリアの現在の状態を表す可能性がより高いので、マージ・モジュール２１２はより新しいＡＤＦにおける空間的フィーチャに対して含有嗜好を与え得る。
【００４２】
いくつかの例において、ＡＤＦが供給される非画像センサ・データ３７４は、ＡＤＦがジオリファレンスされることを許可し得る。たとえば、非画像センサ・データ３７４は、ＡＤＦ内での空間的フィーチャの検出時におけるＧＰＳ座標とモバイル・デバイス１０４のジオリファレンスされた姿勢のインジケータとを含み得る。ブロック５２２において判定されるＡＤＦクラスタのＡＤＦの相対アライメントによって、ＡＤＦクラスタ内の１つのＡＤＦがジオリファレンスされる場合、ブロック５２６において、ＡＤＦクラスタ内の他のＡＤＦは、ジオリファレンスされたＡＤＦの相対アライメントおよびジオロケーション情報を用いて、座標フレームのトランスレーションの適用に基づいてジオリファレンスされ得る。さらに、ジオリファレンスされた視覚的参照データが利用可能である場合（たとえば、グーグル社によって提供されるストリート・ビュー・ツールを介して）、ＡＤＦクラスタのＡＤＦは、このジオリファレンスされた視覚的参照データを用いてジオリファレンスされ得る。
【００４３】
マージされたＡＤＦクラスタのＡＤＦによって、ブロック５２８において、ローカライゼーション生成モジュール２１８はマージされたＡＤＦを用いて、マージされたＡＤＦによって表されるエリアの１以上のＬＡＤＦを生成する。マージされたＡＤＦのデータ・サイズが十分に小さいか、十分に小さいエリアをカバーする場合、マージされたＡＤＦは単一のＬＡＤＦとして記憶され、インデックスが付けられる。しかしながら、マージされたＡＤＦのデータ・サイズが閾値を超えている場合、マージされたＡＤＦがあまりにも大きいエリアをカバーしている場合、または、該エリアが複数の別々のサブ・エリア（ＡＤＦのポイント・クラウド内の壁、パーティション、ドア、およびウインドウを介して識別される）を含む場合、ローカライゼーション生成モジュール２１８はマージされたＡＤＦを空間的に仕切り、複数のＬＡＤＦを生成し得る。各ＬＡＤＦは、異なるサブ・エリアをカバーする。そのような例において、ローカライゼーション生成モジュール２１８は、論理的な仕切り線を識別することを試みて（たとえば、マージされたＡＤＦによって表されるポイント・クラウド内における壁または他の空間仕切りの検出に基づいて、エリア内の複数の空間を識別することによって）、各々識別された空間の別々のＬＡＤＦを生成し得る。このことは、ＬＡＤＦの範囲を単一の空間に限定するプライバシの観点からの更なる利点を有する。
【００４４】
各生成されたＬＡＤＦについて、ブロック５３０において、ローカライゼーション生成モジュール２１８は該ＬＡＤＦをインデックス付けおよび記憶用にＬＡＤＦデータストア２０６に対して提供する。上述のように、および、以下で詳述されるように、いくつかの実施形態において、ＬＡＤＦデータストア２０６は各ＬＡＤＦに対して二層インデックスを活用し、それにより、各ＬＡＤＦは１以上の位置表示とＬＡＤＦによって表される空間的フィーチャとの両方によってインデックスが付けられる。したがって、ＬＡＤＦデータストア２０６内にＬＡＤＦを記憶するとき、ＬＡＤＦデータストア２０６は、１または複数の位置インジケータまたは空間的フィーチャのセット（およびその中にある関連形状）のうちの一方によってインデックスが付けられたデータストア・エントリ内に、ＬＡＤＦを記憶する。そして、１または複数の位置インジケータあるいは空間的フィーチャのセットのうちの他方は、同様にインデックスが付けられた複数のＬＡＤＦ間における選択のために用いられる。
【００４５】
方法５００のブロック５３０における工程が終了することで、ＡＤＦサーバ１０２は、以前にマッピングされていないエリアの１以上のＬＡＤＦを、該エリアを探索する機会を有していた１以上のモバイル・デバイス１０４からアップロードされた１以上のＡＤＦを用いて生成した。したがって、以下に図６を用いて説明されるように、ＡＤＦサーバ１０２は、初めてこのエリアに遭遇した任意の他のモバイル・デバイスに対してＬＡＤＦを提供する準備ができている。
【００４６】
図６は、本開示の少なくとも一実施形態による図４のブロック４０８によって表されるＬＡＤＦローカライゼーションおよび更新工程を実行するための例示的方法６００を示す。方法６００は、ブロック６０２において、モバイル・デバイス１０４が以前に遭遇およびマッピングしなかったエリアに進入すると、開始される。この判定に応じて、モバイル・デバイスは該エリアに対して空間的フィーチャ検出工程を開始する。この目的を達成するために、モバイル・デバイス１０４は撮像センサ１２４および１２６をトリガして該エリアの視像３８２（図３）のキャプチャを開始させ、深度センサ１３０をトリガして該エリアの深度情報のキャプチャを開始させ、空間的フィーチャ検出モジュール３５８は視像３８２と深度情報とから該エリアを表す空間的フィーチャの初期セットを検出する。ブロック６０４において、リクエスト・モジュール３６０は、該エリアにおける空間的フィーチャ検出時に、モバイル・デバイス１０４の位置の１以上の位置インジケータを判定する。上述の通り、これらの位置インジケータは、特定の位置インジケータ（たとえば、ＧＰＳセンサ３２８から取得されるＧＰＳ座標）、推定位置インジケータ（たとえば、ＷＬＡＮ  ＭＡＣアドレス、ＷＬＡＮ  ＢＳＩＤ、もしくは、セル・タワーＢＳＩＤ）、または、それらの組み合わせであり得る。ブロック６０６において、リクエスト・モジュール３６０は、初期空間的フィーチャ・セットと該１以上の位置インジケータとを用いて、ＬＡＤＦリクエスト２３６の生成およびＬＡＤＦリクエスト２３６の送信を行い、該エリアのＬＡＤＦの利用可能性についての問い合わせを開始する。
【００４７】
ＡＤＦサーバ１０２のクエリ・モジュール２２０におけるネットワーク・インターフェース２０２を介するＬＡＤＦリクエスト２３６の受信に応じて、ブロック６０８において、クエリ・モジュール２２０はＬＡＤＦデータストア２０６に対してクエリを行い、モバイル・デバイス１０４による使用のための該エリアの適切なＬＡＤＦを識別する。少なくとも一実施形態において、クエリ・モジュール２２０とＬＡＤＦデータストア２０６とは二層インデックス付けスキームを活用して、以下で図１０〜図１２を参照して詳述されるように、初期空間的フィーチャ・セットと位置インジケータとの両方に基づいて、適切なＬＡＤＦを識別する。適切なＬＡＤＦが識別されると仮定すると、ブロック６１０において、クエリ・モジュール２２０は選択されたＬＡＤＦ（ＬＡＤＦ１３４）をリクエスト中のモバイル・デバイス１０４に送信する。
【００４８】
ＬＡＤＦリクエスト２３６に応じてＬＡＤＦ１３４を受信すると、リクエスト・モジュール３６０はＬＡＤＦ１３４をローカライゼーション・モジュール３６２とフィードバック・モジュール３６４との両方に対して提供する。ブロック６１２において、ローカライゼーション・モジュール３６２は周知のループ閉じ込みアルゴリズムを用いて、空間的フィーチャ検出モジュール３５８によって検出されるエリアからの空間的フィーチャをＬＡＤＦ１３４内に表される空間的フィーチャの粗いポイント・クラウドと比較することに基づいて、ＬＡＤＦ１３４内に表される座標フレームに対してモバイル・デバイス１０４をローカライズする。その結果は、識別された座標フレーム内のモバイル・デバイス１０４の判定姿勢３８４（図３）である。さらに、ＬＡＤＦがジオリファレンス可能であった場合、判定姿勢３８４も同様に適切なトランスレーションを通じてジオリファレンスされ得る。ローカライズされたモバイル・デバイス１０４および判定された姿勢３８４によって、ブロック６１４において、モバイル・デバイス１０４の１以上のコンポーネントは、正確な姿勢情報に依拠する様々な機能（たとえば、ＡＲまたはＶＲコンテンツ、複数プレイヤーのゲーム、ナビゲーション・ツールなどの実装）を提供し得る。
【００４９】
ＬＡＤＦ１３４の生成は、１以上のモバイル・デバイス１０４によって該エリア内で観察される空間的フィーチャの検出および選択に依拠する。しかしながら、該エリアが観察された空間的フィーチャ内に含まれる一時的オブジェクトを有し得ると、または、該エリアの構成が経時的に変化し得ると、ＬＡＤＦ１３４は有用性がより低くなり得る、すなわち、「新鮮」ではなくなり得る。したがって、いくつかの実施形態において、ユーザ許可によって、モバイル・デバイス１０４はＬＡＤＦに対するフィードバックを提供し得る。そのフィードバックは、あとで他のモバイル・デバイスによって使用されるようにＬＡＤＦを改良する、すなわち「リフレッシュ」させるようＡＤＦサーバ１０２によって用いられ得る。この目的を達成するために、ブロック６１６において、フィードバック・モジュール３６４は、該エリア内において空間的フィーチャ検出モジュール３５８によって識別された空間的フィーチャをＬＡＤＦ１３４によって表される粗いポイント・クラウドの空間的フィーチャと比較してもよく、空間的フィーチャ検出モジュール３５８によって観察もされたＬＡＤＦ１３４の空間的フィーチャと、空間的フィーチャ検出モジュール３５８によって観察されなかったＬＡＤＦ１３４の空間的フィーチャと、空間的フィーチャ検出モジュール３５８によって観察されたがＬＡＤＦ１３４内に存在していなかった空間的フィーチャとのうち１以上を表すＬＡＤＦフィードバック２３８を生成してもよい。ＬＡＤＦフィードバック２３８は、ＡＤＦサーバ１０２に対してアップロードされる。ブロック６１８において、空間的フィーチャ・フィルタ・モジュール２１６は、ＬＡＤＦフィードバック２３８を受信して、それに応じてフィーチャ・スコア・データストア２０８内の空間的フィーチャのフィーチャ・スコアを更新して、その後、更新されたフィーチャ・スコアに基づいて、ＬＡＤＦを更新することで新たな空間的フィーチャを含むか、以前に含まれていた空間的フィーチャを除去し得る。
【００５０】
図７〜図９は共に、少なくとも一実施形態によるＬＡＤＦフィードバック２３８に基づくＬＡＤＦ１３４を改良する工程の例を示す。まず、ＬＡＤＦ１３４内に表されている全ての空間的フィーチャには初期フィーチャ・スコアが提供される。初期フィーチャ・スコアは、ＬＡＤＦ１３４内の全ての空間的フィーチャにおいて同一であってもよく、空間的フィーチャの１以上の特性に基づくものであってもよい。たとえば、空間的フィーチャには、ＬＡＤＦ１３４が生成されたＡＤＦクラスタのＡＤＦ内に空間的フィーチャが現れた回数に基づいて初期フィーチャ・スコアが割り当てられ得る。以下の説明において、より高いフィーチャ・スコアはより信頼できる空間的フィーチャを反映し、逆に、より低いフィーチャ・スコアはより信頼できない空間的フィーチャを反映していると仮定する。モバイル・デバイス１０４によって供給されるＬＡＤＦフィードバック２３８は、１以上のエントリを含み得る。各エントリは、ＬＡＤＦ１３４内に存在する空間的フィーチャのモバイル・デバイス１０４による観察を確認する、ＬＡＤＦ１３４内に存在する空間的フィーチャのモバイル・デバイス１０４による観察を否定する、または、モバイル・デバイス１０４によって観察されたがＬＡＤＦ１３４内に存在しない新しい空間的フィーチャを示唆する。空間的フィーチャのフィーチャ・スコアは、したがって、エントリと該エントリが表すフィードバック・タイプとに基づいて調整され得る。
【００５１】
図７の方法７００は、ＡＤＦサーバ１０２によってＬＡＤＦフィードバック２３８の各エントリに対して実装される処理を表す。ブロック７０２において、空間的フィーチャ・フィルタ・モジュール２１６は、ＬＡＤＦフィードバック２３８の選択されたエントリにアクセスして、該エントリによって表されるフィードバックのタイプを判定する。モバイル・デバイス１０４がＬＡＤＦ１３４の対応する空間的フィーチャを観察したことをフィードバック・エントリが確認する場合、ブロック７０４において、空間的フィーチャ・フィルタ・モジュール２１６は、フィードバック・エントリ内に表される空間的フィーチャの識別に関連する１以上のパラメータ（たとえば、モバイル・デバイス１０４による空間的フィーチャの観察時刻を示すタイム・スタンプ）を抽出し、抽出したパラメータをフィーチャ・スコア・データストア２０８に記録する。さらに、ブロック７０６において、空間的フィーチャ・フィルタ・モジュール２１６は、対応する空間的フィーチャのフィーチャ・スコアを上昇させて、最新の観察を反映する。
【００５２】
ブロック７０２に戻って、モバイル・デバイス１０４がＬＡＤＦ１３４内に表される空間的フィーチャを観察しなかったことをフィードバック・エントリが示す場合、ブロック７０８において、空間的フィーチャ・フィルタ・モジュール２１６は、フィードバック・エントリ内に表される空間的フィーチャの識別に関連する１以上のパラメータ（たとえば、空間的フィーチャが観察されるべきであったものの実際には観察されなかった領域の視像をキャプチャしていた時刻を示すタイム・スタンプ）を抽出し、抽出したパラメータをフィーチャ・スコア・データストア２０８に記録する。さらに、ブロック７１０において、空間的フィーチャ・フィルタ・モジュール２１６は、対応する空間的フィーチャのフィーチャ・スコアを低下させて、見逃した観察を反映する。
【００５３】
再度ブロック７０２に戻って、モバイル・デバイス１０４がＬＡＤＦ１３４内に表されていない空間的フィーチャを確実に観察したことをフィードバック・エントリが示す場合、ブロック７１２において、空間的フィーチャ・フィルタ・モジュール２１６はフィードバック・エントリ内に表されている以前に観察されなかった空間的フィーチャの識別に関連する１以上のパラメータ（たとえば、モバイル・デバイス１０４が最初または最後に空間的フィーチャを観察した時刻を示すタイム・スタンプ、空間的フィーチャの観察の頻度（たとえば、モバイル・デバイス１０４が空間的フィーチャを含む領域の方向に配向されたときに空間的フィーチャが観察された回数の割合）など）を抽出し、抽出したパラメータをフィーチャ・スコア・データストア２０８に記録する。さらに、ブロック７１４において、空間的フィーチャ・フィルタ・モジュール２１６は、対応する空間的フィーチャのフィーチャ・スコアをフィーチャ・スコア・データストア２０８において生成し、空間的フィーチャが既にフィーチャ・スコア・データストア２０８に表されていない場合、初期値をフィーチャ・スコアに割り当てる。もしそうでない場合、フィーチャ・スコアが新しく観察される空間的フィーチャに対して存在する場合（すなわち、空間的フィーチャが以前に別のモバイル・デバイス１０４によっても観察された場合）、空間的フィーチャ・フィルタ・モジュール２１６は空間的フィーチャのフィーチャ・スコアを上昇させる。その後、方法７００はブロック７０２に戻り、ＬＡＤＦフィードバック２３８内の次のエントリに関する工程を繰り返す。
【００５４】
図８は、少なくとも一実施形態によるＬＡＤＦ１３４に含めるための候補空間的フィーチャを評価するための例示的方法８００を示す。上述の通り、モバイル・デバイス１０４は、あるエリアのＬＡＤＦ１３４に含めるための候補であり得る、該エリア内で新しく観察される空間的フィーチャを識別するＬＡＤＦフィードバック２３８を提供し得る。そして、空間的フィーチャ・フィルタ・モジュール２１６は空間的フィーチャが最初に検出されるときにフィーチャ・スコアを生成してもよく、他のモバイル・デバイス１０４によって同一の空間的フィーチャが観察されるたびにフィーチャ・スコアを上昇させてもよい。したがって、これらの空間的フィーチャのフィーチャ・スコアの各々は、ＬＡＤＦ１３４に含めるための空間的フィーチャの候補の可能性（すなわち、ローカライゼーションのために空間的フィーチャがどれだけ「信頼」できるか）のインジケータとして機能する。したがって、トリガ条件（たとえば、一定の閾値を超えるＬＡＤＦ１３４のエイジング）に応じて、または、ＬＡＤＦ１３４の変更が認められるであろうことを示すモバイル・デバイス１０４からの十分なフィードバックに応じて、ブロック８０２において、空間的フィーチャ・フィルタ・モジュール２１６は、フィーチャ・スコア・データストア２０８からＬＡＤＦ１３４に含めることを検討中である複数の候補空間的フィーチャのうちの１つを選択する。そして、ブロック８０４において、空間的フィーチャ・フィルタ・モジュール２１６は、選択された候補空間的フィーチャのフィーチャ・スコアを「ＴＨＲＥＳＨ＿Ｈ」として指定された特定の閾値と比較する。この閾値は、固定閾値であってもよいし、１以上の現在の条件に基づいてもよい。たとえば、一実施形態において、閾値ＴＨＲＥＳＨ＿Ｈは、ＬＡＤＦ１３４に現在含まれている空間的フィーチャの平均の現在のフィーチャ・スコアに設定され得る。
【００５５】
候補空間的フィーチャのフィーチャ・スコアが閾値ＴＨＲＥＳＨ＿Ｈを超えない場合、空間的フィーチャ・フィルタ・モジュール２１６は（今回の評価において）候補空間的フィーチャのそれ以上の検討を中止する。そして、方法８００は次の候補空間的フィーチャの選択のためにブロック８０２に戻る。もしそうでない場合は、フィーチャ・スコアが閾値ＴＨＲＥＳＨ＿Ｈを超えると、ブロック８０６において、空間的フィーチャ・フィルタ・モジュール２１６はローカライゼーション生成モジュール２１８に信号を送り、選択された候補空間的フィーチャをＬＡＤＦ１３４内に組み込む。いくつかの実施形態において、新しい空間的フィーチャをＬＡＤＦ１３４内に組み込むことは、ＬＡＤＦ１３４から他の空間的フィーチャを除去することを必要とし得る。そのような場合、空間的フィーチャ・フィルタ・モジュール２１６は、たとえば、ＬＡＤＦ１３４に現在含まれる全ての空間的フィーチャのうちの最も低いフィーチャ・スコアを有する空間的フィーチャを選択し得る。候補空間的フィーチャをＬＡＤＦ１３４内に組み込んだあと、方法８００は次の候補空間的フィーチャの選択および評価のためにブロック８０２に戻る。
【００５６】
図９は、少なくとも一実施形態によるＬＡＤＦ１３４から除外するための空間的フィーチャを評価するための例示的方法９００を示す。上述の通り、モバイル・デバイス１０４は、ＬＡＤＦ１３４の空間的フィーチャがモバイル・デバイス１０４によって観察されたかどうかを確認するＬＡＤＦフィードバック２３８を提供してもよく、空間的フィーチャ・フィルタ・モジュール２１６はそれに応じて空間的フィーチャのフィーチャ・スコアを調整してもよい。したがって、これらの空間的フィーチャの各々のフィーチャ・スコアは、ローカライゼーションのための空間的フィーチャの現在の信頼性のインジケータとして機能する。したがって、トリガ条件に応じて、ブロック９０２において、空間的フィーチャ・フィルタ・モジュール２１６はＬＡＤＦ１３４に現在含まれる空間的フィーチャを選択し、ブロック９０４において、空間的フィーチャ・フィルタ・モジュール２１６は選択された空間的フィーチャのフィーチャ・スコアを「ＴＨＲＥＳＨ＿Ｌ」として指定された特定の閾値と比較する。この閾値は、固定閾値であってもよいし、１以上の現在の条件に基づいてもよい。たとえば、一実施形態において、閾値ＴＨＲＥＳＨ＿Ｌは、ＬＡＤＦ１３４に現在含まれていない候補空間的フィーチャの平均の現在のフィーチャ・スコアに設定され得る。
【００５７】
候補空間的フィーチャのフィーチャ・スコアが閾値ＴＨＲＥＳＨ＿Ｌを超える場合、空間的フィーチャ・フィルタ・モジュール２１６は（今回の評価において）選択された空間的フィーチャのそれ以上の検討を中止する。そして、方法９００はＬＡＤＦ１３４における次の空間的フィーチャの選択のためにブロック９０２に戻る。もしそうでない場合は、フィーチャ・スコアが閾値ＴＨＲＥＳＨ＿Ｌより低くなると、ブロック９０６において、空間的フィーチャ・フィルタ・モジュール２１６はローカライゼーション生成モジュール２１８に信号を送り、選択された空間的フィーチャをＬＡＤＦ１３４から除去する。いくつかの実施形態において、ＬＡＤＦ１３４から空間的フィーチャを除去することは、他の空間的フィーチャを選択し除去された空間的フィーチャを置き換えることを必要としてもよく、したがって、図８の方法８００の候補空間的フィーチャ評価工程を開始するためのトリガ条件として機能してもよい。選択された空間的フィーチャをＬＡＤＦ１３４から除去したあと、方法９００はＬＡＤＦ１３４における次の空間的フィーチャの選択および評価のためにブロック９０２に戻る。
【００５８】
ＡＤＦサーバ１０２によって維持されるＬＡＤＦは、世界のエリアの視覚的フィーチャと幾何学的情報との表現を含む。この情報は機密の可能性があるため、ＡＤＦサーバ１０２は、ＬＡＤＦデータストア２０６内に記憶されるＬＡＤＦコンテンツとＡＤＦデータストア２０４（いくつかの実施形態において、同一のデータストアを含み得る）に記憶されるＡＤＦコンテンツとに対しての権限のないアクセスまたは意図しないアクセスを防ぐよう注意する。この目的を達成するため、ＡＤＦサーバ１０２は、ＬＡＤＦデータストア２０６のＬＡＤＦコンテンツの二層インデックス付けスキームの形式であるプライバシ保護措置を活用する。図１０〜図１２は、クエリ・モジュール２２０およびＬＡＤＦデータストア２０６の例示的構成と、この二層インデックス付けスキームに従うそれらの動作とを示す。ＡＤＦデータストア２０４は、以下で示す方法と同様に構成され得る。
【００５９】
図１０は、クエリ・モジュール２２０とＬＡＤＦデータストア２０６とによって実装される例示的二層クエリ・インターフェース１０００を示す。図示されるように、ＬＡＤＦデータストア２０６によって記憶される各ＬＡＤＦ（たとえば、ＬＡＤＦ１３４）は、ＬＡＤＦデータストア２０６に実装されるＬＡＤＦデータベース１００４の対応するＬＡＤＦエントリ１００２内に記憶される。各ＬＡＤＦエントリ１００２は、複数のフィールド（ＵＩＤフィールド１００６に記憶されるＬＡＤＦに関連付けられているＵＩＤを記憶するＵＩＤフィールド１００６と、ＬＡＤＦによって現在表されている空間的フィーチャのセットを記憶する空間的フィーチャ・フィールド１００８と、ＬＡＤＦに関連付けられている位置インジケータまたは他の位置データを記憶する位置フィールド１０１０とを含む）を含む。
【００６０】
十分な保護措置がなければ、権限のない第三者はＬＡＤＦデータストア２０６からＬＡＤＦ１３４を取得できる可能性があり、したがって、機密の可能性がある情報を晒すリスクがあり得る。二層クエリ・インターフェース１０００は、リクエスト中のモバイル・デバイス１０４または他のリクエスタが、ＬＡＤＦデータがリクエストされたＬＡＤＦに関連付けられているエリアに存在する（または存在してきた）と証明することを必要とすることによって、ＬＡＤＦデータストア２０６のＬＡＤＦデータをより十分に確保し得る。いくつかの位置インジケータ（たとえば、ＧＰＳ座標）は、容易になりすまされ得るか、もしそうでない場合、偽造され得る。さらに、他のタイプの位置インジケータ（たとえば、ＷＬＡＮ  ＭＡＣアドレスまたはセル・タワーＢＳＩＤ）は、関心領域よりもはるかに大きい領域をカバーする可能性があるので、十分な粒度が不足している可能性がある。したがって、位置インジケータ単独では、リクエスト中のモバイル・デバイスが実際に特定のエリア内に存在することの十分な証明になり得ない可能性がある。したがって、クエリ・インターフェース１０００は代わりに、リクエスト中のモバイル・デバイスが実際に特定のエリア内に存在することの証明を、モバイル・デバイス１０４が特定のエリア内でモバイル・デバイス１０４によって観察された空間的フィーチャのセットを提出することを必要とすることによって、必要とし得る。クエリ・インターフェース１０００はその後、空間的フィーチャのこのセットをＬＡＤＦエントリの空間的フィーチャと比較して、合致するＬＡＤＦを識別する。しかしながら、多くのエリアが類似する構造上の配置（たとえば、オフィス・ビル内での類似する空間）を有するので、複数のＬＡＤＦが空間的フィーチャの提出されたセットに十分に合致し得るリスクがある。したがって、正しくないＬＡＤＦがリクエスト中のモバイル・デバイス１０４に供給され得る。このことは、該正しくないＬＡＤＦがモバイル・デバイス１０４にローカライゼーションに関する正しくない参照を提供するだけでなく、プライバシ侵害の可能性を表すので、二重の問題である。
【００６１】
したがって、モバイル・デバイスが表される該エリア内に実際に存在することを確実にするため、および、正しいＬＡＤＦがモバイル・デバイスに供給されることの両方を確実にするため、クエリ・インターフェース１０００は、モバイル・デバイスによって提出される空間的フィーチャのセットと１以上の位置インジケータとの両方を用いて、ＬＡＤＦデータベース１００４から正しいＬＡＤＦを識別する。この方法において、モバイル・デバイスまたは他のリクエスタが、識別されたエリア内で観察された空間的フィーチャを提出することによって、リクエスタが識別されたエリア内にあることを証明する、ということが理解されるであろう。したがって、識別されたエリアのＬＡＤＦを除去することは、リクエスタは単に示されたエリアを見回して供給されるＬＡＤＦによって表される視覚的情報よりも数段詳細である視覚的情報を取得するときに、機密の可能性がある情報が意図せず公開されるリスクが低い。
【００６２】
この目的を達成するために、クエリ・モジュール２２０は空間的フィーチャ・クエリ・インターフェース１０１２と位置選択モジュール１０１４とを含む。空間的フィーチャ・クエリ・インターフェース１０１２は、モバイル・デバイス１０４によって提出されたＬＡＤＦリクエスト２３６内の空間的フィーチャ・セット１０１６を用いて、ＬＡＤＦデータベース１００４のＬＡＤＦエントリ１００２の空間的フィーチャ・フィールド１００８のサーチに基づいて、候補ＬＡＤＦの最初のクエリを実行する。このサーチは、ＬＡＤＦデータベース１００４内の空間的フィーチャに対しての一貫性を確認するために、ＬＡＤＦリクエスト２３６によって表される画像に投影されるときの空間的フィーチャの相対形状を考慮に入れる。位置選択モジュール１０１４はその後、ＬＡＤＦリクエスト２３６と共に提出された１以上の位置インジケータ１０１８を候補ＬＡＤＦの位置フィールド１０１０内の各ＬＡＤＦの位置情報と比較することに基づいて、識別された候補ＬＡＤＦからの選択を行う。
【００６３】
さらに、空間的フィーチャのセットに加えて位置インジケータまたは他のキーを用いてＬＡＤＦエントリ１００２のサーチまたは他のアクセスを防ぐために、いくつかの実施形態において、ＬＡＤＦデータストア２０６は空間的フィーチャ・フィールド１００８によってＬＡＤＦエントリ１００２にインデックスを付けるよう構成され、さらに、位置フィールド１０１０によるＬＡＤＦエントリ１００２へのインデックス付けを避けるよう構成されている。この構成において、ＬＡＤＦのＬＡＤＦエントリ１００２はＬＡＤＦデータベース１００４の空間的フィーチャ・セットを介してサーチ可能であるが、当初は位置によってサーチすることができない。このように、位置インジケータ単体を提出することによって、ＬＡＤＦデータベース１００４から任意のＬＡＤＦ１３４を識別または生成することにはならない。
【００６４】
図１１は、本開示の少なくとも一実施形態による図１０の二層クエリ・インターフェース１０００の動作の例示的方法１１００を示す。方法１１００はブロック１１０２において開始され、示されたエリアのＬＡＤＦリクエスト２３６をモバイル・デバイスまたは他のリクエスタから提出することを伴う。少なくとも一実施形態において、処理されるＬＡＤＦリクエスト２３６を承認するために、ＡＤＦサーバ１０２は、ＬＡＤＦリクエスト２３６が少なくとも該示されたエリア内で観察された空間的フィーチャ・セット１０１６と、モバイル・デバイスによって該示されたエリア内で取得または判定された１以上の位置インジケータ１０１８とを含むことを必要とする。
【００６５】
ブロック１１０４において、空間的フィーチャ・クエリ・インターフェース１０１２は、ＬＡＤＦデータベース１００４のＬＡＤＦエントリ１００２をサーチして、ＬＡＤＦリクエスト２３６の空間的フィーチャ・セット１０１６と十分に重なる空間的フィーチャ・フィールド１００８内の空間的フィーチャ・セットを有し、空間的フィーチャ・セット１０１６の投影された空間的フィーチャの形状と一致している相対形状を有するＬＡＤＦエントリ１００２を求める。一実施形態において、分析された各ＬＡＤＦエントリ１００２について、空間的フィーチャ・クエリ・インターフェース１０１２は、空間的フィーチャ・セット１０１６とＬＡＤＦエントリ１００２の空間的フィーチャ・フィールド１００８との間において合致している空間的フィーチャのカウントを判定し得る。空間的フィーチャ・クエリ・インターフェース１０１２はその後、ＬＡＤＦエントリ１００２に関して判定されたカウント値に基づいてＮ個の候補ＬＡＤＦ（たとえば、図１０の候補ＬＡＤＦ１０２１、１０２２、および１０２３）を選択し得る。たとえば、いくつかの例において、特定の閾値よりも大きいカウントを有する各ＬＡＤＦは、候補ＬＡＤＦとして選択され得る。他の例において、空間的フィーチャ・クエリ・インターフェース１０１２は、最も高いカウント値を有するＮ個のＬＡＤＦをＮ個の候補ＬＡＤＦとして選択し得る。
【００６６】
ブロック１１０６において、空間的フィーチャ・クエリ・インターフェース１０１２は、少なくとも１つの候補ＬＡＤＦがＬＡＤＦデータベース１００４から識別されたことを確認する。もし識別されない場合、ブロック１１０８において、クエリ・モジュール２２０は実行中のモバイル・デバイスに対して信号を送り、示されていたエリアにとってＬＡＤＦが利用不可能であると伝える。もしそうでない場合、１以上の識別された候補ＬＡＤＦは位置選択モジュール１０１４に供給される（たとえば、候補ＬＡＤＦのＵＩＤを識別することによって）。そして、ブロック１１１０において、位置選択モジュール１０１４はＬＡＤＦリクエスト２３６の１以上の位置インジケータ１０１８を、候補ＬＡＤＦの位置フィールド１０１０によって示される位置と比較し、各候補ＬＡＤＦと１以上の位置インジケータ１０１８との間における合致をスコア化する。ブロック１１１２において、位置選択モジュール１０１４は、１以上の位置インジケータ１０１８と候補ＬＡＤＦのうちの１つの位置情報との間において十分な合致があるかどうかを確認する。もし十分な合致がない場合、ブロック１１１４において、クエリ・モジュール２２０は実行中のモバイル・デバイスに対して信号を送り、示されていたエリアにとってＬＡＤＦが利用不可能であると伝える。もしそうでない場合、ブロック１１１６において、位置選択モジュール１０１４は、識別されたエリアと場所が同じであるＬＡＤＦとして最も良い位置合致スコアを有する候補ＬＡＤＦを選択し、この選択されたＬＡＤＦを該エリアのＬＡＤＦ１３４として、ＬＡＤＦリクエスト２３６に応じてモバイル・デバイスに提供する。
【００６７】
ＬＡＤＦデータベース１００４のＬＡＤＦへの権限のないまたは意図しないアクセスを防ぐことに加えて、モバイル・デバイスによって検出される空間的フィーチャとそれらの形状とを用いてＬＡＤＦクエリを実行することで、二段階クエリ工程を通じて最終的に選択されたＬＡＤＦによってモバイル・デバイスが合致しているＬＡＤＦを用いてローカライズを行うことを成功させることを確実にする。これは、ＬＡＤＦ内の観察された空間的フィーチャとそれらの画像形状とを用いてＬＡＤＦに対するモバイル・デバイスの姿勢を探すモバイルにおいて実行されたローカライゼーション工程として、ＬＡＤＦクエリ工程の第一段階で同一または類似の「ローカライゼーション」工程を実行して候補ＬＡＤＦを識別するためである。
【００６８】
図１２は、少なくとも一実施形態による二層クエリ・インターフェース１０００の別の構成を示す。図１０に示される実施形態と同様、ＬＡＤＦデータストア２０６は、複数のＬＡＤＦエントリ１２０２を備えるＬＡＤＦデータベース１２０４を実装し、各ＬＡＤＦエントリ１２０２はＵＩＤフィールド１００６と、空間的フィーチャ・フィールド１００８と、位置フィールド１０１０とを有する。しかしながら、図１０の実施形態とは対照的に、ＬＡＤＦデータベース１２０４は代わりに、位置フィールド１０１０に基づいてＬＡＤＦエントリ１２０２にインデックスを付ける。さらに、この実施形態において、クエリ・モジュール２２０は、ＬＡＤＦデータベース１２０４に対する位置クエリ・インターフェース１２１２と、空間的フィーチャ選択モジュール１２１４とを備える。
【００６９】
図示される実施形態において、ＬＡＤＦの二層クエリは、ＬＡＤＦリクエスト２３６の１以上の位置インジケータ１０１８に十分に合致する位置情報を有するＬＡＤＦの位置クエリ・インターフェース１２１２によってＬＡＤＦエントリ１２０２の第１層サーチとして実装され、１以上の候補ＬＡＤＦのセットを識別する。空間的フィーチャ選択モジュール１２１４はその後、ＬＡＤＦリクエスト２３６の空間的フィーチャ・セット１０１６を比較し、ＬＡＤＦリクエスト２３６に応じてリクエスト中のモバイル・デバイスに供給されるＬＡＤＦ１３４として空間的フィーチャ・セット１０１６と最も合致する候補ＬＡＤＦを選択する。
【００７０】
本発明の機能の多くおよび上記の本発明の原理の多くは、特定用途向けＩＣ（ＡＳＩＣ）などの集積回路（ＩＣ）を用いる実装、またはそれらの中における実装によく適している。本明細書に開示された概念および原理によって導かれる場合、例えば、利用可能な時間、現在の技術、および経済的考慮事項によって動機付けられた多大な努力および多くの設計選択にもかかわらず、当業者は、最小限の実験によって、そのようなＩＣを容易に生成することができるであろう。したがって、本開示に係る原理および概念を不明瞭にするリスクを最小限にするために、そのようなソフトウェアおよびＩＣの更なる説明は、もし存在するならば、好ましい実施形態内における原則および概念に関する本質的事項に限定されるであろう。
【００７１】
本明細書では、第１および第２などの関係用語は、そのような実体または動作の間における任意の実際の関係または順序を必ずしも要求または暗示することなく、ある実体または動作を別の実体または動作と区別するためにのみ使用され得る。用語「含む（ｃｏｍｐｒｉｓｅｓ）」、「含む（ｃｏｍｐｒｉｓｉｎｇ）」、またはその任意の他の変形は、非排他的な包含を対象とすることを意図し、要素の一覧を含むプロセス、方法、物品、または装置が、それらの要素のみを含むのではなく、そのようなプロセス、方法、物品、または装置に明示的に列挙されていないか固有ではない他の要素を含むことができる。「〜を備える（ｃｏｍｐｒｉｓｅｓ…ａ）」で始まる要素は、更なる制限なく、要素を含むプロセス、方法、項目、または装置内における追加の同一要素の存在を排除するものではない。本明細書で使用する「別の（ａｎｏｔｈｅｒ）」という用語は、少なくとも第２またはそれ以上のものとして定義される。本明細書で使用される「含む（ｉｎｃｌｕｄｉｎｇ）」および／または「有する（ｈａｖｉｎｇ）」という用語は、備えるものとして定義される。電気光学技術に関して本明細書で使用される用語「結合された（ｃｏｕｐｌｅｄ）」は、接続されるものとして定義されるが、必ずしも直接的ではないし、必ずしも機械的ではない。本明細書で使用する「プログラム（ｐｒｏｇｒａｍ）」という用語は、コンピュータ・システム上で実行するように設計された一連の命令として定義される。「プログラム（ｐｒｏｇｒａｍ）」または「コンピュータ・プログラム（ｃｏｍｐｕｔｅｒ  ｐｒｏｇｒａｍ）」は、サブルーチン、関数、プロシージャ、オブジェクト方法、オブジェクト実装、実行可能アプリケーション、アプレット、サーブレット、ソース符号、オブジェクト符号、共有ライブラリ／動的ロード・ライブラリ、および／またはコンピュータ・システム上での実行のために設計された他の命令シーケンスを含み得る。
【００７２】
明細書および図面は、単なる例として考えるべきであり、したがって、本開示の範囲は、以下の特許請求の範囲およびその均等物によってのみ限定されることが意図される。なお、一般的な記述の中で上述した活動または要素の全てが必要であるとは限らないし、特定の活動または装置の一部が必要でなくてもよいし、１または複数の更なる活動が、記載されているそれらの要素に加えて、実行され得る。さらに、活動が列挙される順序は、必ずしも、それらが実施される順序ではない。上記フローチャートの工程は、別段の指定がない限り、任意の順序で行うことができ、実装に応じてステップを削除、反復、および／または追加することができる。また、これらの概念は、特定の実施形態を参照して説明されている。しかし、当業者であれば、以下の特許請求の範囲に記載された本開示の範囲から逸脱することなく、様々な修正および変更を行うことができることを理解する。したがって、明細書および図は、限定的な意味ではなく例示的な意味で考慮されるべきであり、そのような変更の全ては、本開示の範囲内に含まれることが意図される。
【００７３】
利点、他の利点、および問題に対する解決策は、特定の実施形態に関して上述されている。しかしながら、利益、利点、ならびに問題の解決策、および、利益、利点、または解決策が発生または顕在化させ得る１または複数の特徴は、任意または全ての特許請求の範囲の重要な、必須な、または不可欠な特徴と解釈されるべきではない。
【図１】
2018526698.tif 000003
【図２】
2018526698.tif 000004
【図３】
2018526698.tif 000005
【図４】
2018526698.tif 000006
【図５】
2018526698.tif 000007
【図６】
2018526698.tif 000008
【図７】
2018526698.tif 000009
【図８】
2018526698.tif 000010
【図９】
2018526698.tif 000011
【図１０】
2018526698.tif 000012
【図１１】
2018526698.tif 000013
【図１２】
2018526698.tif 000014
【国際調査報告】
2018526698.tif 000015
2018526698.tif 000016
2018526698.tif 000017