(57)【要約】  開示されたコンピュータ実装方法は、環境内のデバイスから、環境に関連付けられるリアルタイムデータを受信することを含み得る。本方法はまた、リアルタイムデータから、現在のマッピングおよびオブジェクトデータを決定することを含み得る。現在のマッピングデータは環境の座標データを含み得、現在のオブジェクトデータは、環境内のオブジェクトの状態データおよび関係データの両方を含み得る。本方法はまた、現在のマッピングデータとベースラインマップデータとの間のマッピングデルタを決定することと、現在のオブジェクトデータとイベントグラフとの間のオブジェクトデルタを決定することとを含み得る。イベントグラフは、オブジェクトの以前の状態データと以前の関係データを含み得る。本方法はまた、デルタに基づいてベースラインマップデータおよびイベントグラフを更新することと、更新されたベースラインマップデータおよびイベントグラフデータをデバイスに送信することとを含み得る。他の様々な方法、システム、およびコンピュータ可読媒体も開示されている。【選択図】図４
2022502728.tif 000002
【特許請求の範囲】
【請求項１】
環境内の複数のデバイスから、前記環境に関連付けられるリアルタイムデータを受信することと、
前記リアルタイムデータから、前記環境の現在のマッピングデータおよび現在のオブジェクトデータを決定することであって、前記現在のマッピングデータが前記環境の座標データを含み、前記現在のオブジェクトデータが前記複数のデバイスによって検出された前記環境内のオブジェクトの状態データおよび関係データの両方を含む、前記環境の現在のマッピングデータおよび現在のオブジェクトデータを決定することと、
前記現在のマッピングデータと前記環境の特徴を含むベースラインマップデータとの間のマッピングデルタを決定することと、
前記現在のオブジェクトデータとイベントグラフとの間のオブジェクトデルタを決定することであって、前記イベントグラフが、前記環境内のオブジェクトの以前の状態データと以前の関係データを含む、前記現在のオブジェクトデータとイベントグラフとの間のオブジェクトデルタを決定することと、
前記マッピングデルタに基づいて前記ベースラインマップデータを更新し、前記オブジェクトデルタに基づいて前記イベントグラフを更新することと、
更新されたベースラインマップデータおよび更新されたイベントグラフデータを前記複数のデバイスに送信することと
を備える、方法。
【請求項２】
前記イベントグラフの前記状態データが、前記環境内の前記オブジェクトの経時的な位置データを示す、前記環境内の前記オブジェクトの時空間状態データを含み、前記イベントグラフの前記関係データが、前記時空間状態データのノードをリンクする遷移データを含む、請求項１に記載の方法。
【請求項３】
前記遷移データが、前記環境内の前記オブジェクト間の相互作用を示すイベントに対応する、請求項２に記載の方法。
【請求項４】
前記オブジェクトデルタに基づいて前記イベントグラフを更新することが、
前記オブジェクトデルタ内のオブジェクトを前記イベントグラフ内のオブジェクトとして認識することと、
前記オブジェクトデルタからの状態データに基づいて前記イベントグラフ内に前記認識されたオブジェクトの新しいノードを作成することと、
前記オブジェクトデルタからの関係データに基づいて、前記イベントグラフ内の前記認識されたオブジェクトの以前のノードに前記新しいノードをリンクすることと
をさらに備える、請求項２に記載の方法。
【請求項５】
前記ベースラインマップデータが、前記環境内の平面図、壁、天井、構造的特徴、または静的な家具アイテムのうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項６】
前記環境内の前記オブジェクトが、無生物オブジェクトまたは人間のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項７】
人間の前記状態データが、頭のポーズ、目の状態、音声データ、手の状態、呼吸数、または心拍数のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項８】
無生物オブジェクトの前記状態データが、オブジェクトタイプ、インスタンス識別、ポーズ、または属性のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項９】
システムであって、
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサによって実行されるときに、前記システムに、
環境内の複数のデバイスから、前記環境に関連付けられるリアルタイムデータを受信することと、
前記リアルタイムデータから、前記環境の現在のマッピングデータおよび現在のオブジェクトデータを決定することであって、前記現在のマッピングデータが前記環境の座標データを含み、前記現在のオブジェクトデータが前記複数のデバイスによって検出された前記環境内のオブジェクトの状態データおよび関係データの両方を含む、前記環境の現在のマッピングデータおよび現在のオブジェクトデータを決定することと、
前記現在のマッピングデータと前記環境の特徴を含むベースラインマップデータとの間のマッピングデルタを決定することと、
前記現在のオブジェクトデータとイベントグラフとの間のオブジェクトデルタを決定することであって、前記イベントグラフが、前記環境内のオブジェクトの以前の状態データと以前の関係データを含む、前記現在のオブジェクトデータとイベントグラフとの間のオブジェクトデルタを決定することと、
前記マッピングデルタに基づいて前記ベースラインマップデータを更新し、前記オブジェクトデルタに基づいて前記イベントグラフを更新することと、
更新されたベースラインマップデータおよび更新されたイベントグラフデータを前記複数のデバイスに送信することと
を行わせる命令を備えるメモリデバイスと
を備える、システム。
【請求項１０】
前記イベントグラフの前記状態データが、前記環境内の前記オブジェクトの経時的な位置データを示す、前記環境内の前記オブジェクトの時空間状態データを含み、前記イベントグラフの前記関係データが、前記時空間状態データのノードをリンクする遷移データを含む、請求項９に記載のシステム。
【請求項１１】
前記遷移データが、前記環境内の前記オブジェクト間の相互作用を示すイベントに対応する、請求項１０に記載のシステム。
【請求項１２】
前記オブジェクトデルタに基づいて前記イベントグラフを更新するための前記命令が、
前記オブジェクトデルタ内のオブジェクトを前記イベントグラフ内のオブジェクトとして認識することと、
前記オブジェクトデルタからの状態データに基づいて前記イベントグラフ内に前記認識されたオブジェクトの新しいノードを作成することと、
前記オブジェクトデルタからの関係データに基づいて、前記イベントグラフ内の前記認識されたオブジェクトの以前のノードに前記新しいノードをリンクすることと
をさらに備える、請求項１０に記載のシステム。
【請求項１３】
前記ベースラインマップデータが、前記環境内の平面図、壁、天井、構造的特徴、または静的な家具アイテムのうちの少なくとも１つを含む、請求項９に記載のシステム。
【請求項１４】
前記環境内の前記オブジェクトが、無生物オブジェクトまたは人間のうちの少なくとも１つを含み、人間の前記状態データが、頭のポーズ、目の状態、音声データ、手の状態、呼吸数、または心拍数のうちの少なくとも１つを含み、無生物オブジェクトの前記状態データが、オブジェクトタイプ、インスタンス識別、ポーズ、または属性のうちの少なくとも１つを含む、請求項９に記載のシステム。
【請求項１５】
コンピューティングデバイスの少なくとも１つのプロセッサによって実行されるときに、前記コンピューティングデバイスに、
環境内の複数のデバイスから、前記環境に関連付けられるリアルタイムデータを受信することと、
前記リアルタイムデータから、前記環境の現在のマッピングデータおよび現在のオブジェクトデータを決定することであって、前記現在のマッピングデータが前記環境の座標データを含み、前記現在のオブジェクトデータが前記複数のデバイスによって検出された前記環境内のオブジェクトの状態データおよび関係データの両方を含む、前記環境の現在のマッピングデータおよび現在のオブジェクトデータを決定することと、
前記現在のマッピングデータと前記環境の特徴を含むベースラインマップデータとの間のマッピングデルタを決定することと、
前記現在のオブジェクトデータとイベントグラフとの間のオブジェクトデルタを決定することであって、前記イベントグラフが、前記環境内のオブジェクトの以前の状態データと以前の関係データを含む、前記現在のオブジェクトデータとイベントグラフとの間のオブジェクトデルタを決定することと、
前記マッピングデルタに基づいて前記ベースラインマップデータを更新し、前記オブジェクトデルタに基づいて前記イベントグラフを更新することと、
更新されたベースラインマップデータおよび更新されたイベントグラフデータを前記複数のデバイスに送信することと
を行わせるコンピュータ可読命令を備える、コンピュータ可読媒体。
【請求項１６】
前記イベントグラフの前記状態データが、前記環境内の前記オブジェクトの経時的な位置データを示す、前記環境内の前記オブジェクトの時空間状態データを含み、前記イベントグラフの前記関係データが、前記時空間状態データのノードをリンクする遷移データを含む、請求項１５に記載のコンピュータ可読媒体。
【請求項１７】
前記遷移データが、前記環境内の前記オブジェクト間の相互作用を示すイベントに対応する、請求項１６に記載のコンピュータ可読媒体。
【請求項１８】
前記オブジェクトデルタに基づいて前記イベントグラフを更新することが、
前記オブジェクトデルタ内のオブジェクトを前記イベントグラフ内のオブジェクトとして認識することと、
前記オブジェクトデルタからの状態データに基づいて前記イベントグラフ内に前記認識されたオブジェクトの新しいノードを作成することと、
前記オブジェクトデルタからの関係データに基づいて、前記イベントグラフ内の前記認識されたオブジェクトの以前のノードに前記新しいノードをリンクすることと
をさらに備える、請求項１６に記載のコンピュータ可読媒体。
【請求項１９】
前記ベースラインマップデータが、前記環境内の平面図、壁、天井、構造的特徴、または静的な家具アイテムのうちの少なくとも１つを含む、請求項１５に記載のコンピュータ可読媒体。
【請求項２０】
前記環境内の前記オブジェクトが、無生物オブジェクトまたは人間のうちの少なくとも１つを含み、人間の前記状態データが、頭のポーズ、目の状態、音声データ、手の状態、呼吸数、または心拍数のうちの少なくとも１つを含み、無生物オブジェクトの前記状態データが、オブジェクトタイプ、インスタンス識別、ポーズ、または属性のうちの少なくとも１つを含む、請求項１５に記載のコンピュータ可読媒体。
【請求項２１】
特にサーバにおいて、環境内の複数のデバイスから、特に複数のコンピューティングデバイスから、前記環境に関連付けられるリアルタイムデータを受信することと、
特にサーバにおいて、前記リアルタイムデータから、前記環境の現在のマッピングデータおよび現在のオブジェクトデータを決定することであって、前記現在のマッピングデータが前記環境の座標データを含み、前記現在のオブジェクトデータが前記複数のデバイスによって検出された前記環境内のオブジェクトの状態データおよび関係データの両方を含む、前記環境の現在のマッピングデータおよび現在のオブジェクトデータを決定することと、
特にサーバにおいて、前記現在のマッピングデータと前記環境の特徴を含むベースラインマップデータとの間のマッピングデルタを決定することと、
特にサーバにおいて、前記現在のオブジェクトデータとイベントグラフとの間のオブジェクトデルタを決定することであって、前記イベントグラフが、前記環境内のオブジェクトの以前の状態データと以前の関係データを含む、前記現在のオブジェクトデータとイベントグラフとの間のオブジェクトデルタを決定することと、
特にサーバにおいて、前記マッピングデルタに基づいて前記ベースラインマップデータを更新し、前記オブジェクトデルタに基づいて前記イベントグラフを更新することと、
特にサーバから、更新されたベースラインマップデータおよび更新されたイベントグラフデータを前記複数のコンピューティングデバイスに送信することと
を含む、コンピュータ実装方法。
【請求項２２】
環境内の前記複数のデバイス、特に前記複数のコンピューティングデバイスが、カメラ、マイクロフォン、ならびに前記環境内の特徴および／またはオブジェクトを検出することが可能な他のセンサなどのセンサを含み、ならびに／あるいは、
環境内の前記複数のデバイス、特に前記複数のコンピューティングデバイスが、１つまたは複数のセンサを使用してリアルタイムデータを収集し、１つまたは複数のネットワークを通じて１つまたは複数のサーバに通信可能に接続され、ネットワークは、１つまたは複数の物理的接続を通じて、任意のタイプまたは形態の通信ネットワークを備え、ならびに／あるいは、
リアルタイムデータが、ビデオデータ、オーディオデータ、タイムスタンプ、および／またはコンピューティングデバイスからのセンサデータに基づく他のデータを含み、ならびに／あるいは、
現在のマッピングデータおよび現在のオブジェクトデータが、マッピングシステムによって決定され、前記マッピングシステムが、人工知能エージェントを含み、ならびに／あるいは、
前記状態データが、属性および／または状況に関してオブジェクトの状態を記述するデータを指し、ならびに／あるいは、
前記関係データが、オブジェクト間の関係を記述するデータを指し、オブジェクト間の関係が、たとえば、オブジェクト間の相互作用を含み、オブジェクトよって引き起こされるステータスの変化、組合せ、および／またはオブジェクト間の他の接続を含み、相互作用が、たとえば、拾うことおよび／または置くこと、運ぶこと、配置すること、取り付けること、見ること、話すこと、聞くこと、触れることなどを含み、ならびに／あるいは、
前記関係データが、オブジェクトの状態における変化を記述し、ならびに／あるいは、
前記状態データが、前記関係データを決定するためにさらに使用され、ならびに／あるいは、
前記マッピングデルタが、たとえばどの特徴が変更されたかを識別しそれらの新しい座標への変換を決定することによって、相対的に定義され、ならびに／あるいは、
前記オブジェクトデルタが、前記イベントグラフにおける前記以前の状態と前記以前の関係からの状態と関係における変化によって定義される、請求項２１に記載の方法。
【請求項２３】
前記イベントグラフの前記状態データが、前記環境内の前記オブジェクトの経時的な位置データを示す、前記環境内の前記オブジェクトの時空間状態データを含み、前記イベントグラフの前記関係データが、前記時空間状態データのノードをリンクする遷移データを含む、請求項２１または２２に記載の方法。
【請求項２４】
前記遷移データが、前記環境内の前記オブジェクト間の相互作用を示すイベントに対応し、および／または
前記オブジェクトデルタに基づいて前記イベントグラフを更新することが、
前記オブジェクトデルタ内のオブジェクトを前記イベントグラフ内のオブジェクトとして認識することと、
前記オブジェクトデルタからの状態データに基づいて前記イベントグラフ内に前記認識されたオブジェクトの新しいノードを作成することと、
前記オブジェクトデルタからの関係データに基づいて、前記イベントグラフ内の前記認識されたオブジェクトの以前のノードに前記新しいノードをリンクすることと
をさらに備える、請求項２３に記載の方法。
【請求項２５】
前記ベースラインマップデータが、前記環境内の平面図、壁、天井、構造的特徴、または静的な家具アイテムのうちの少なくとも１つを含み、および／または、
前記環境内の前記オブジェクトが、無生物オブジェクトまたは人間のうちの少なくとも１つを含み、および／または、
人間の前記状態データが、頭のポーズ、目の状態、音声データ、手の状態、呼吸数、または心拍数のうちの少なくとも１つを含み、および／または、
無生物オブジェクトの前記状態データが、オブジェクトタイプ、インスタンス識別、ポーズ、または属性のうちの少なくとも１つを含む、請求項２１から２４のいずれか一項に記載の方法。
【請求項２６】
システムであって、
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサによって実行されるときに、前記システムに、
環境内の複数のデバイスから、前記環境に関連付けられるリアルタイムデータを受信することと、
前記リアルタイムデータから、前記環境の現在のマッピングデータおよび現在のオブジェクトデータを決定することであって、前記現在のマッピングデータが前記環境の座標データを含み、前記現在のオブジェクトデータが前記複数のデバイスによって検出された前記環境内のオブジェクトの状態データおよび関係データの両方を含む、前記環境の現在のマッピングデータおよび現在のオブジェクトデータを決定することと、
前記現在のマッピングデータと前記環境の特徴を含むベースラインマップデータとの間のマッピングデルタを決定することと、
前記現在のオブジェクトデータとイベントグラフとの間のオブジェクトデルタを決定することであって、前記イベントグラフが、前記環境内のオブジェクトの以前の状態データと以前の関係データを含む、前記現在のオブジェクトデータとイベントグラフとの間のオブジェクトデルタを決定することと、
前記マッピングデルタに基づいて前記ベースラインマップデータを更新し、前記オブジェクトデルタに基づいて前記イベントグラフを更新することと、
更新されたベースラインマップデータおよび更新されたイベントグラフデータを前記複数のデバイスに送信することと
を行わせる命令を備えるメモリデバイスと
を備える、システム。
【請求項２７】
前記イベントグラフの前記状態データが、前記環境内の前記オブジェクトの経時的な位置データを示す、前記環境内の前記オブジェクトの時空間状態データを含み、前記イベントグラフの前記関係データが、前記時空間状態データのノードをリンクする遷移データを含む、請求項２６に記載のシステム。
【請求項２８】
前記遷移データが、前記環境内の前記オブジェクト間の相互作用を示すイベントに対応する、請求項２７に記載のシステム。
【請求項２９】
前記オブジェクトデルタに基づいて前記イベントグラフを更新するための前記命令が、
前記オブジェクトデルタ内のオブジェクトを前記イベントグラフ内のオブジェクトとして認識することと、
前記オブジェクトデルタからの状態データに基づいて前記イベントグラフ内に前記認識されたオブジェクトの新しいノードを作成することと、
前記オブジェクトデルタからの関係データに基づいて、前記イベントグラフ内の前記認識されたオブジェクトの以前のノードに前記新しいノードをリンクすることと
をさらに備える、請求項２６から２８のいずれか一項に記載のシステム。
【請求項３０】
前記ベースラインマップデータが、前記環境内の平面図、壁、天井、構造的特徴、または静的な家具アイテムのうちの少なくとも１つを含む、請求項２６から２９のいずれか一項に記載のシステム。
【請求項３１】
前記環境内の前記オブジェクトが、無生物オブジェクトまたは人間のうちの少なくとも１つを含み、人間の前記状態データが、頭のポーズ、目の状態、音声データ、手の状態、呼吸数、または心拍数のうちの少なくとも１つを含み、無生物オブジェクトの前記状態データが、オブジェクトタイプ、インスタンス識別、ポーズ、または属性のうちの少なくとも１つを含む、請求項２６から３０のいずれか一項に記載のシステム。
【請求項３２】
コンピューティングデバイスの少なくとも１つのプロセッサによって実行されるときに、前記コンピューティングデバイスに、
環境内の複数のデバイスから、前記環境に関連付けられるリアルタイムデータを受信することと、
前記リアルタイムデータから、前記環境の現在のマッピングデータおよび現在のオブジェクトデータを決定することであって、前記現在のマッピングデータが前記環境の座標データを含み、前記現在のオブジェクトデータが前記複数のデバイスによって検出された前記環境内のオブジェクトの状態データおよび関係データの両方を含む、前記環境の現在のマッピングデータおよび現在のオブジェクトデータを決定することと、
前記現在のマッピングデータと前記環境の特徴を含むベースラインマップデータとの間のマッピングデルタを決定することと、
前記現在のオブジェクトデータとイベントグラフとの間のオブジェクトデルタを決定することであって、前記イベントグラフが、前記環境内のオブジェクトの以前の状態データと以前の関係データを含む、前記現在のオブジェクトデータとイベントグラフとの間のオブジェクトデルタを決定することと、
前記マッピングデルタに基づいて前記ベースラインマップデータを更新し、前記オブジェクトデルタに基づいて前記イベントグラフを更新することと、
更新されたベースラインマップデータおよび更新されたイベントグラフデータを前記複数のデバイスに送信することと
を行わせるコンピュータ可読命令を備える、コンピュータ可読媒体。
【請求項３３】
前記イベントグラフの前記状態データが、前記環境内の前記オブジェクトの経時的な位置データを示す、前記環境内の前記オブジェクトの時空間状態データを含み、前記イベントグラフの前記関係データが、前記時空間状態データのノードをリンクする遷移データを含み、および／または、
前記遷移データが、前記環境内の前記オブジェクト間の相互作用を示すイベントに対応する、請求項３２に記載のコンピュータ可読媒体。
【請求項３４】
前記オブジェクトデルタに基づいて前記イベントグラフを更新することが、
前記オブジェクトデルタ内のオブジェクトを前記イベントグラフ内のオブジェクトとして認識することと、
前記オブジェクトデルタからの状態データに基づいて前記イベントグラフ内に前記認識されたオブジェクトの新しいノードを作成することと、
前記オブジェクトデルタからの関係データに基づいて、前記イベントグラフ内の前記認識されたオブジェクトの以前のノードに前記新しいノードをリンクすることと
をさらに備える、請求項３２または３３に記載のコンピュータ可読媒体。
【請求項３５】
前記ベースラインマップデータが、前記環境内の平面図、壁、天井、構造的特徴、または静的な家具アイテムのうちの少なくとも１つを含み、および／または
前記環境内の前記オブジェクトが、無生物オブジェクトまたは人間のうちの少なくとも１つを含み、人間の前記状態データが、頭のポーズ、目の状態、音声データ、手の状態、呼吸数、または心拍数のうちの少なくとも１つを含み、無生物オブジェクトの前記状態データが、オブジェクトタイプ、インスタンス識別、ポーズ、または属性のうちの少なくとも１つを含む、請求項３２から３４のいずれか一項に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１８年９月１４日に出願された米国出願第１６／１３１，０６６号の利益を主張し、その開示全体が、この参照により組み込まれている。
【背景技術】
【０００２】
拡張現実（ＡＲ）デバイスは通常、コンピュータで生成された情報を用いてユーザの実世界環境を拡張する。たとえば、ＡＲデバイスは、視覚情報をユーザの通常のビューにオーバーレイすることによって、自分の実世界環境に対するユーザの認知を変えることができる。そうすることによって、ＡＲデバイスは、実世界環境に対するユーザのビューを完全に置き換えることなく、エンドユーザに没入型のエクスペリエンスを提供し得る。
【０００３】
ＡＲデバイスは、ゲームおよび他のインタラクティブなエンターテインメントアプリケーションに使用され得る。たとえば、ＡＲアプリケーションは、仮想オブジェクトが実世界にあるかのように仮想オブジェクトを表示することがよくある。次いで、ユーザは仮想オブジェクトと相互作用し得る。しかしながら、ＡＲデバイスが一般的になるにつれて、ユーザは、実世界環境に対する認知をさらに高めるためにＡＲ技術の使用を望む場合がある。
【発明の概要】
【０００４】
本発明は、独立請求項によって明示される。さらなる実施形態は、具体的には、従属請求項、および以下の記述において明示される。本発明による実施形態は、具体的には、コンピュータ実装方法、システム、およびコンピュータ可読媒体に関する添付の特許請求の範囲において開示されており、１つの請求項カテゴリ、たとえばコンピュータ実装方法において言及された任意の特徴は、別の請求項カテゴリ、たとえばシステムにおいて請求することもできる。添付の特許請求の範囲に戻る依存関係または参照は、正式な理由でのみ選択されている。しかしながら、任意の以前の請求項への意図的な参照から生じる任意の主題（具体的には、複数の依存関係）も請求することができるため、請求項とその機能の任意の組合せが開示され、添付の特許請求の範囲において選択された依存関係に関係なく請求することができる。請求することができる主題は、添付の特許請求の範囲において述べられた特徴の組合せだけでなく、請求項における特徴の任意の他の組合せも含み、特許請求の範囲に言及された各特徴は、請求項における任意の他の特徴または他の特徴の組合せと組み合わせることができる。さらに、本明細書に記載または描写された実施形態および特徴のいずれかは、別個の特許請求の範囲において、および／あるいは本明細書に記載または描写された任意の実施形態または特徴、または添付の特許請求の範囲の特徴のいずれかとの任意の組合せにおいて請求することができる。
【０００５】
以下により詳細に記載するように、本開示は、複数のＡＲデバイスからの入力に基づいて実世界環境をマッピングすることができるＡＲマッピングシステムを記載する。一例では、そのようなタスクを実行するためのコンピュータ実装方法は、（１）環境内の複数のデバイスから、環境に関連付けられるリアルタイムデータを受信することと、（２）リアルタイムデータから、環境の現在のマッピングデータおよび現在のオブジェクトデータを決定することとを含み得る。現在のマッピングデータは環境の座標データを含み得、現在のオブジェクトデータは、複数のデバイスによって検出された環境内のオブジェクトの状態データおよび関係データの両方を含み得る。本方法はまた、（３）現在のマッピングデータと環境の特徴を含むベースラインマップデータとの間のマッピングデルタを決定することと、（４）現在のオブジェクトデータとイベントグラフとの間のオブジェクトデルタを決定することとを含み得る。イベントグラフは、環境内のオブジェクトの以前の状態データと以前の関係データを含み得る。さらに、本方法は、（５）マッピングデルタに基づいてベースラインマップデータを更新し、オブジェクトデルタに基づいてイベントグラフを更新することと、（６）更新されたベースラインマップデータおよび更新されたイベントグラフデータを複数のデバイスに送信することとを含み得る。
【０００６】
いくつかの例では、イベントグラフの状態データは、環境内のオブジェクトの経時的な位置データを示す、環境内のオブジェクトの時空間状態データを含み得る。イベントグラフの関係データは、時空間状態データのノードをリンクする遷移データを含み得る。遷移データは、環境内のオブジェクト間の相互作用を示すイベントに対応し得る。
【０００７】
いくつかの例では、オブジェクトデルタに基づいてイベントグラフを更新することは、オブジェクトデルタ内のオブジェクトをイベントグラフ内のオブジェクトとして認識することと、オブジェクトデルタからの状態データに基づいてイベントグラフ内に認識されたオブジェクトの新しいノードを作成することと、オブジェクトデルタからの関係データに基づいて、イベントグラフ内の認識されたオブジェクトの以前のノードに新しいノードをリンクすることとをさらに含み得る。
【０００８】
いくつかの例では、ベースラインマップデータは、環境内の平面図、壁、天井、構造的特徴、または静的な家具アイテムのうちの少なくとも１つを含み得る。いくつかの例では、環境内のオブジェクトは、無生物オブジェクトまたは人間のうちの少なくとも１つを含み得る。
【０００９】
いくつかの例では、人間の状態データは、頭のポーズ、目の状態、音声データ、手の状態、呼吸数、または心拍数のうちの少なくとも１つを含み得る。いくつかの例では、無生物オブジェクトの状態データは、オブジェクトタイプ、インスタンス識別、ポーズ、または属性のうちの少なくとも１つを含み得る。
【００１０】
さらに、対応するＡＲマッピングシステムは、１つまたは複数のプロセッサと、１つまたは複数のプロセッサによって実行されるときに、システムに、環境内の複数のデバイスから、環境に関連付けられるリアルタイムデータを受信させる命令を備えるメモリデバイスとを含み得る。命令はまた、システムに、リアルタイムデータから、環境の現在のマッピングデータおよび現在のオブジェクトデータを決定させ得る。現在のマッピングデータは環境の座標データを含み得、現在のオブジェクトデータは、複数のデバイスによって検出された環境内のオブジェクトの状態データおよび関係データの両方を含み得る。命令はまた、システムに、現在のマッピングデータと環境の特徴を含むベースラインマップデータとの間のマッピングデルタを決定することと、現在のオブジェクトデータとイベントグラフとの間のオブジェクトデルタを決定することとを行わせ得る。イベントグラフは、環境内のオブジェクトの以前の状態データと以前の関係データを含み得る。命令はまた、システムに、マッピングデルタに基づいてベースラインマップデータを更新し、オブジェクトデルタに基づいてイベントグラフを更新することと、更新されたベースラインマップデータおよび更新されたイベントグラフデータを複数のデバイスに送信することとを行わせ得る。
【００１１】
いくつかの例では、イベントグラフの状態データは、環境内のオブジェクトの経時的な位置データを示す、環境内のオブジェクトの時空間状態データを含み得、イベントグラフの関係データは、時空間状態データのノードをリンクする遷移データを含み得る。遷移データは、環境内のオブジェクト間の相互作用を示すイベントに対応し得る。
【００１２】
いくつかの例では、オブジェクトデルタに基づいてイベントグラフを更新するための命令は、オブジェクトデルタ内のオブジェクトをイベントグラフ内のオブジェクトとして認識することと、オブジェクトデルタからの状態データに基づいてイベントグラフ内に認識されたオブジェクトの新しいノードを作成することと、オブジェクトデルタからの関係データに基づいて、イベントグラフ内の認識されたオブジェクトの以前のノードに新しいノードをリンクすることとを行うための命令をさらに含む。
【００１３】
いくつかの例では、ベースラインマップデータは、環境内の平面図、壁、天井、構造的特徴、または静的な家具アイテムのうちの少なくとも１つを含み得る。いくつかの例では、環境内のオブジェクトは、無生物オブジェクトまたは人間のうちの少なくとも１つを含み得る。人間の状態データは、頭のポーズ、目の状態、音声データ、手の状態、呼吸数、または心拍数のうちの少なくとも１つを含み得、無生物オブジェクトの状態データは、オブジェクトタイプ、インスタンス識別、ポーズ、または属性のうちの少なくとも１つを含み得る。
【００１４】
いくつかの例では、上記に記載される方法は、コンピュータ可読媒体上でコンピュータ可読命令として符号化され得る。たとえば、コンピュータ可読媒体は、コンピューティングデバイスの少なくとも１つのプロセッサによって実行されると、コンピューティングデバイスに、（１）環境内の複数のデバイスから、環境に関連付けられるリアルタイムデータを受信することと、（２）リアルタイムデータから、環境の現在のマッピングデータおよび現在のオブジェクトデータを決定することとを行わせることができる１つまたは複数のコンピュータ実行可能命令を含み得る。現在のマッピングデータは環境の座標データを含み得、現在のオブジェクトデータは、複数のデバイスによって検出された環境内のオブジェクトの状態データおよび関係データの両方を含み得る。命令はまた、コンピューティングデバイスに、（３）現在のマッピングデータと環境の特徴を含むベースラインマップデータとの間のマッピングデルタを決定することと、（４）現在のオブジェクトデータとイベントグラフとの間のオブジェクトデルタを決定することとを行わせ得る。イベントグラフは、環境内のオブジェクトの以前の状態データと以前の関係データを含み得る。命令はまた、コンピューティングデバイスに、（５）マッピングデルタに基づいてベースラインマップデータを更新し、オブジェクトデルタに基づいてイベントグラフを更新することと、（６）更新されたベースラインマップデータおよび更新されたイベントグラフデータを複数のデバイスに送信することとを行わせ得る。
【００１５】
いくつかの例では、イベントグラフの状態データは、環境内のオブジェクトの経時的な位置データを示す、環境内のオブジェクトの時空間状態データを含み得、イベントグラフの関係データは、時空間状態データのノードをリンクする遷移データを含み得る。いくつかの例では、遷移データは、環境内のオブジェクト間の相互作用を示すイベントに対応し得る。
【００１６】
いくつかの例では、オブジェクトデルタに基づいてイベントグラフを更新することは、オブジェクトデルタ内のオブジェクトをイベントグラフ内のオブジェクトとして認識することと、オブジェクトデルタからの状態データに基づいてイベントグラフ内に認識されたオブジェクトの新しいノードを作成することと、オブジェクトデルタからの関係データに基づいて、イベントグラフ内の認識されたオブジェクトの以前のノードに新しいノードをリンクすることとをさらに含み得る。
【００１７】
いくつかの例では、ベースラインマップデータは、環境内の平面図、壁、天井、構造的特徴、または静的な家具アイテムのうちの少なくとも１つを含み得る。いくつかの例では、環境内のオブジェクトは、無生物オブジェクトまたは人間のうちの少なくとも１つを含み得る。人間の状態データは、頭のポーズ、目の状態、音声データ、手の状態、呼吸数、または心拍数のうちの少なくとも１つを含み得、無生物オブジェクトの状態データは、オブジェクトタイプ、インスタンス識別、ポーズ、または属性のうちの少なくとも１つを含み得る。
【００１８】
上記および下記で言及される実施形態のいずれかからの特徴は、本明細書に記載される一般原理に従って、互いに組み合わせて使用され得る。これらおよび他の実施形態、特徴、および利点は、添付の図面および特許請求の範囲と併せて以下の詳細な記述を読むことにより、より完全に理解されるであろう。
【００１９】
一実施形態では、コンピュータ実装方法は、環境内の複数のデバイスから、特に複数のコンピューティングデバイスから、環境に関連付けられるリアルタイムデータを、特にサーバにおいて受信することを備え得る。本方法はまた、特にサーバにおいて、リアルタイムデータから、環境の現在のマッピングデータおよび現在のオブジェクトデータを決定することを備え得、現在のマッピングデータは環境の座標データを含み得、現在のオブジェクトデータは、複数のデバイスによって検出された環境内のオブジェクトの状態データおよび関係データの両方を含み得る。本方法はまた、特にサーバにおいて、現在のマッピングデータと環境の特徴を含み得るベースラインマップデータとの間のマッピングデルタを決定することを含み得る。本方法はまた、特にサーバにおいて、現在のオブジェクトデータとイベントグラフとの間のオブジェクトデルタを決定することを含み得、イベントグラフが、環境内のオブジェクトの以前の状態データと以前の関係データを含み得る。本方法はまた、特にサーバにおいて、マッピングデルタに基づいてベースラインマップデータを更新することを備え得、オブジェクトデルタに基づいてイベントグラフを更新し得る。本方法は、特にサーバから、更新されたベースラインマップデータおよび更新されたイベントグラフデータを複数のコンピューティングデバイスに送信することをさらに備え得る。
【００２０】
一実施形態では、本方法は、環境内の複数のデバイス、特に複数のコンピューティングデバイスが、カメラ、マイクロフォンを含み得、また他のセンサが、環境内の特徴および／またはオブジェクトを検出することが可能であり得ることを備え得る。
【００２１】
一実施形態では、環境内の複数のデバイス、特に複数のコンピューティングデバイスは、１つまたは複数のセンサを使用してリアルタイムデータを収集し得、１つまたは複数のネットワークを通じて１つまたは複数のサーバに通信可能に接続され得、ネットワークは、１つまたは複数の物理的接続を通じて、任意のタイプまたは形態の通信ネットワークを備え得る。
【００２２】
一実施形態では、リアルタイムデータは、ビデオデータ、オーディオデータ、タイムスタンプ、および／またはコンピューティングデバイスからのセンサデータに基づく他のデータを含み得る。
【００２３】
一実施形態では、現在のマッピングデータおよび現在のオブジェクトデータは、マッピングシステムによって決定され得、マッピングシステムは、人工知能エージェントを含み得る。
【００２４】
一実施形態では、状態データは、属性および／または状況に関してオブジェクトの状態を記述するデータを指し得る。
【００２５】
一実施形態では、関係データは、オブジェクト間の関係を記述し得るデータを指し得、オブジェクト間の関係は、たとえば、オブジェクト間の相互作用を含み得、ステータスの変化は、オブジェクト、組合せ、および／またはオブジェクト間の他の接続によって引き起こされ得、相互作用は、たとえば、拾うことおよび／または置くこと、運ぶこと、配置すること、取り付けること、見ること、話すこと、聞くこと、触れることなどを含み得る。
【００２６】
一実施形態では、関係データは、オブジェクトの状態における変化を記述し得る。
【００２７】
一実施形態では、状態データは、関係データを決定するためにさらに使用され得る。
【００２８】
一実施形態では、マッピングデルタは、たとえば、どの特徴が変更されたかを識別し、それらの新しい座標への変換を決定することによって、相対的に定義され得る。
【００２９】
一実施形態では、オブジェクトデルタは、イベントグラフにおける以前の状態と以前の関係からの状態と関係における変化によって定義され得る。
【００３０】
添付の図面は、いくつかの例示的な実施形態を例証しており、本明細書の一部である。以下の記述とともに、これらの図面は、本開示の様々な原理を実証および説明している。
【図面の簡単な説明】
【００３１】
【図１】本開示の態様による、ＡＲマッピングの例示的な方法の流れ図である。
【図２】本開示の態様による、ＡＲマッピングシステムの例示的なシステムのブロック図である。
【図３】本開示の態様による、ＡＲマッピングシステムの例示的なネットワークのブロック図である。
【図４】本開示の態様による、ＡＲマッピングシステムの例示的なパイプラインの図である。
【図５Ａ】本開示の態様による、ＡＲマッピングシステムの例示的なマッピング層である。
【図５Ｂ】本開示の態様による、ＡＲマッピングシステムの例示的なマッピング層である。
【図６】本開示の態様による、ＡＲマッピングシステムのイベントグラフに対応するグラフである。
【図７】本開示の態様による、更新されたデータを伴う図６のイベントグラフである。
【発明を実施するための形態】
【００３２】
図面全体を通して、同一の参照文字および記述は、類似しているが必ずしも同一ではない要素を示している。本明細書に記載される例示的な実施形態は、様々な修正および代替形態の影響を受けやすいが、特定の実施形態は、例として図面に呈示され、本明細書に詳細に記載される。しかしながら、本明細書に記載される例示的な実施形態は、開示される特定の形態に限定されることを意図するものではない。むしろ、本開示は、添付の特許請求の範囲内にあるすべての修正、同等物、および代替物をカバーする。
【００３３】
本開示は、一般に、ＡＲマッピングシステムを対象としている。以下でより詳細に説明されるように、本開示の実施形態は、複数のデバイスから実世界環境に関連付けられるリアルタイムデータを受信することを含み得る。ＡＲマッピングシステムは、リアルタイムデータに基づいて、環境の現在のマッピングデータおよび現在のオブジェクトデータを決定し得る。次いで、ＡＲマッピングシステムは、現在のマッピングデータおよび現在のオブジェクトデータを使用して、ベースラインマップデータおよびイベントグラフの両方を更新し得る。複数のデバイスから受信したリアルタイムデータを集約することによって、ＡＲマッピングシステムは、環境内のオブジェクトを含む改善されたマッピング機能を提供し得る。このシステムはまた、リアルタイムデータを集約するための効率的なシステムと、実世界のオブジェクトおよびそれらの間の相互作用を表すデータのための改善されたストレージを提供することによって、コンピューティングデバイスの機能を改善し得る。本システムは、環境内のオブジェクトをリアルタイムで認識できるシステムを提供することによって、マッピング技術をさらに改善し得る。さらに、本システムは、各ＡＲデバイスを強化するために複数のＡＲデバイスからのデータを集約することによって、ＡＲ技術を改善し得る。
【００３４】
以下は、図１におけるＡＲマッピングシステムを更新する例示的なプロセスを詳述する。図２は、例示的なＡＲマッピングシステムを示している。図３は、ＡＲマッピングシステムの例示的なネットワーク環境を示している。図４は、ＡＲマッピングシステムの例示的なデータパイプラインを示している。図５Ａ〜図５Ｂは、ＡＲマッピングシステムによって維持されるデータに対応する例示的な層を示している。図６〜図７は、ＡＲマッピングシステムの例示的なイベントグラフを示している。
【００３５】
図１は、ＡＲマッピングシステムを更新するための例示的なコンピュータ実装方法１００の流れ図である。図１に呈示されるステップは、図２および／または図３に例証されるシステムを含む、任意の適切なコンピュータ実行可能コードおよび／またはコンピューティングシステムによって実行され得る。一例では、図１に呈示されるステップのそれぞれは、その構造が複数のサブステップを含む、および／またはその構造が複数のサブステップによって表されるアルゴリズムを表し得、その例を以下でより詳細に提供する。
【００３６】
図１に例証されるように、ステップ１１０において、本明細書に記載されるシステムのうちの１つまたは複数は、環境内の複数のデバイスから、環境に関連付けられるリアルタイムデータを受信し得る。
【００３７】
いくつかの実施形態では、「リアルタイム」という用語は、重大なおよび／または不可避の遅延なしに発生する動作を指し得る。リアルタイム動作は、たとえば、デバイスセンサの処理速度、ネットワーク通信速度、システム処理速度などによって制限される場合がある。リアルタイムデータは、ビデオデータ、オーディオデータ、タイムスタンプ、および／または環境からのセンサデータに基づく他のデータを含み得る。
【００３８】
本明細書に記載されるシステムは、様々な方法でステップ１１０を実行し得る。図２は、ＡＲマッピングシステムを維持するための例示的なシステム２００のブロック図である。この図に例証されるように、例示的なシステム２００は、１つまたは複数のタスクを実行するための１つまたは複数のモジュール２０２を含み得る。以下でより詳細に説明されるように、モジュール２０２は、受信モジュール２０４、現在のデータモジュール２０６、マッピングデルタモジュール２０８、オブジェクトデルタモジュール２１０、更新モジュール２１２、および送信モジュール２１４を含み得る。個別の要素として例証されているが、図２のモジュール２０２のうちの１つまたは複数は、単一のモジュールまたはアプリケーションの一部を表し得る。
【００３９】
特定の実施形態では、図２のモジュール２０２のうちの１つまたは複数は、コンピューティングデバイスによって実行されると、コンピューティングデバイスに１つまたは複数のタスクを実行させることができる１つまたは複数のソフトウェアアプリケーションまたはプログラムを表し得る。たとえば、以下により詳細に記載するように、モジュール２０２のうちの１つまたは複数は、図３に例証されるデバイス（たとえば、コンピューティングデバイス３０２（１）〜（Ｎ）および／またはサーバ３０６）などの１つまたは複数のコンピューティングデバイス上で実行するように記憶および構成されたモジュールを表し得る。図２のモジュール２０２のうちの１つまたは複数はまた、１つまたは複数のタスクを実行するように構成された１つまたは複数の専用コンピュータのすべてまたは一部を表し得る。
【００４０】
図２に例証されるように、例示的なシステム２００はまた、メモリ２４０などの１つまたは複数のメモリデバイスを含み得る。メモリ２４０は、一般に、データおよび／またはコンピュータ可読命令を記憶することができる任意のタイプまたは形態の揮発性または不揮発性ストレージデバイスまたは媒体を表す。一例では、メモリ２４０は、モジュール２０２のうちの１つまたは複数を記憶、ロード、および／または維持し得る。メモリ２４０の例は、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、フラッシュメモリ、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、光ディスクドライブ、キャッシュ、同じもののうちの１つまたは複数の変形または組合せ、および／あるいは任意の他の適切なストレージメモリを含むが、これらに限定されない。
【００４１】
図２に例証されるように、例示的なシステム２００はまた、物理プロセッサ２３０などの１つまたは複数の物理プロセッサを含み得る。物理プロセッサ２３０は、一般に、コンピュータ可読命令を解釈および／または実行することができる任意のタイプまたは形態のハードウェア実装処理ユニットを表す。一例では、物理プロセッサ２３０は、メモリ２４０に記憶されたモジュール２０２のうちの１つまたは複数にアクセスするか、および／またはそれを修正し得る。追加または代替として、物理プロセッサ２３０は、マッピングシステムの維持を容易にするためにモジュール２０２のうちの１つまたは複数を実行し得る。物理プロセッサ２３０の例は、マイクロプロセッサ、マイクロコントローラ、中央処理装置（ＣＰＵ）、ソフトコアプロセッサを実装するフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、同じもののうちの１つまたは複数の部分、同じもののうちの１つまたは複数の変形または組合せ、および／あるいは任意の他の適切な物理プロセッサを含むが、これらに限定されない。
【００４２】
図２に例証されるように、例示的なシステム２００はまた、リアルタイムデータ２５０、ベースラインマップデータ２５６、およびイベントグラフ２６０などの１つまたは複数の追加の要素２２０を含み得る。リアルタイムデータ２５０、ベースラインマップデータ２５６、および／またはイベントグラフ２６０は、メモリ２４０などのローカルストレージデバイスに記憶されてもよく、リモートでアクセスされてもよい。リアルタイムデータ２５０は、環境内のデバイスから受信されたデータを表し得、以下でさらに説明されるように、現在のマッピングデータ２５２および現在のオブジェクトデータ２５４を含み得る。リアルタイムデータ２５０はまた、特定の実装形態では、リアルタイムデータ２５０のソースデバイスに関連するデータを含み得る。イベントグラフ２６０は、環境内のオブジェクトおよびそれらの間の関係に対応するデータを表し得、以下でさらに説明するように、状態データ２６２および関係データ２６４を含み得る。
【００４３】
ベースラインマップデータ２５６は、環境のマッピングデータに対応するデータを含み得る。ベースラインマップデータ２５６は、壁、床、天井、窓、ドア、大きなテーブルなどを含むがこれらに限定されない、環境の静的特徴に関するデータを含み得る。ベースラインマップデータ２５６は、静的特徴の位置を定義し得る静的特徴の座標データをさらに含み得る。座標データの座標系は、環境内の特定のポイントに関する座標などの、相対的なものであり得る。たとえば、マッピングシステムによってカバーされる環境が建物の単一のフロアまたはレベルに制限されている場合、座標データはレベル上の特定のポイントを基準にして定義され得る。あるいは、座標系は、緯度と経度によって定義されるように、グローバルであり得る。さらに、座標系には３つ以上の次元を含み得る。座標系は３Ｄの場合もあり、特徴の高さの位置を含み得る。
【００４４】
図２の例示的なシステム２００は、様々な方法で実装され得る。たとえば、例示的なシステム２００の全部または一部は、図３の例示的なネットワーク環境３００の一部を表し得る。
【００４５】
図３は、本開示の態様を実施する例示的なネットワーク環境３００を例証している。ネットワーク環境３００は、コンピューティングデバイス３０２（１）〜（Ｎ）、ネットワーク３０４、およびサーバ３０６を含む。コンピューティングデバイス３０２は、ＡＲデバイス（たとえば、ＡＲメガネ）、デスクトップコンピュータ、ラップトップコンピュータ、タブレットデバイス、スマートフォン、または他のコンピューティングデバイスなどのクライアントデバイスまたはユーザデバイスであり得る。コンピューティングデバイス３０２は、１つまたは複数のプロセッサであり得る物理プロセッサ３３０、リアルタイムデータ２５０などのデータを記憶し得るメモリ３４０、環境からのリアルタイムデータ２５０を検出することができるセンサ３７０、およびディスプレイ３８０を含み得る。いくつかの実装形態では、コンピューティングデバイス３０２は、ディスプレイ３８０が自分のローカル環境のユーザのビューに画像をオーバーレイするようなＡＲデバイスを表し得る。たとえば、ディスプレイ３８０は、ユーザが環境を見ることができるように、ユーザの環境からの光が通過することを可能にする透明な媒体を含み得る。次いで、ディスプレイ３８０は、情報をオーバーレイするために透明な媒体を利用し得る。あるいは、ディスプレイ３８０は、画像を透明媒体および／またはユーザの目に投影し得る。コンピューティングデバイス３０２はまた、いくつかの実装形態では、音声出力のためのスピーカ３８２を含み得る。
【００４６】
センサ３７０は、カメラ、マイクロフォン、ならびに環境内の特徴および／またはオブジェクトを検出することが可能な他のセンサなどの１つまたは複数のセンサを含み得る。コンピューティングデバイス３０２は、サーバ３０６に送信するためにセンサ３７０を使用してリアルタイムデータ２５０を収集することが可能であり得る。
【００４７】
サーバ３０６は、マッピングシステムをホストすることができる１つまたは複数のサーバを表してもよく、含んでもよい。マッピングシステムは、ベースラインマップデータ２５６およびイベントグラフ２６０を構築、維持、および／または更新するために、コンピューティングデバイス３０２（１）〜（Ｎ）からのリアルタイムデータ２５０を処理し得る。いくつかの例では、マッピングシステムはＡＲマッピングシステムを表し得、ＡＲマッピングシステムはＡＲデバイス上に表示するためにデータを処理し得る。サーバ３０６は、１つまたは複数のプロセッサを含み得る物理プロセッサ３３０、モジュール２０２を記憶し得るメモリ３４０、ならびにベースラインマップデータ２５６およびイベントグラフ２６０などの追加の要素２２０を含み得る。
【００４８】
コンピューティングデバイス３０２は、ネットワーク３０４を通じてサーバ３０６に通信可能に結合され得る。ネットワーク３０４は、インターネットなどの任意のタイプまたは形態の通信ネットワークを表し得、ＬＡＮなどの１つまたは複数の物理的接続、および／またはＷＡＮなどのワイヤレス接続を備え得る。
【００４９】
図１に戻ると、一例では、システム２００および／またはサーバ３０６の受信モジュール２０４は、環境内の１つまたは複数のコンピューティングデバイス３０２から、環境に関連付けられるリアルタイムデータ２５０を受信し得る。リアルタイムデータ２５０は、環境内のオブジェクトに関連付けることができ、これは、無生物オブジェクト、人間、および／またはコンピューティングデバイス３０２によって検出される他の認識可能なオブジェクトを含み得る。たとえば、コンピューティングデバイス３０２は、建物の単一レベルに設置され、その建物レベルのリアルタイムデータ２５０を収集および送信し得る。
【００５０】
図４は、マッピングシステムのデータフローを示す例示的なパイプライン４００を呈示している。この図に呈示されるように、図４は、システム２００および／またはサーバ３０６に対応し得るマッピングシステム４０６、ならびにコンピューティングデバイス３０２に対応し得るローカルデバイス４０２を含み得る。マッピングシステム４０６は、リアルタイムデータ２５０に対応し得る生データ４５０を受信し得る。生データ４５０は、環境から収集されたビデオデータ、オーディオデータ、および／または他のセンサデータを含み得る。生データ４５０はまた、ソースデバイスからの位置および／または向きデータを含み得る。いくつかの例では、生データ４５０は、マッピングシステム４０６によるさらなる処理を必要とし得る。
【００５１】
図１に戻ると、ステップ１２０において、本明細書に記載されるシステムのうちの１つまたは複数は、リアルタイムデータから、環境の現在のマッピングデータおよび現在のオブジェクトデータを決定し得る。たとえば、システム２００および／またはサーバ３０６の現在のデータモジュール２０４は、リアルタイムデータ２５０から現在のマッピングデータ２５２および現在のオブジェクトデータ２５４を決定し得る。
【００５２】
現在のマッピングデータ２５２は、ベースラインマップデータ２５６の座標系に適合し、環境内のオブジェクトの位置および／または向きを記述する座標データを含み得る。具体的には、現在のマッピングデータ２５２は、環境内の静的特徴と現在のオブジェクトデータ２５４によって表されるオブジェクトの両方の座標データを含み得る。たとえば、座標データは、環境内のコンピューティングデバイス３０２によって検出された人間、家具アイテム、および／または構造的特徴の現在の座標データを含み得る。
【００５３】
現在のオブジェクトデータ２５４は、環境内のコンピューティングデバイス３０２によって検出されたオブジェクトの状態データおよび関係データを含み得る。状態データは、たとえば、オブジェクトの状態を記述し得る。具体的には、状態データは、オブジェクトの属性、プロパティ、および／または他の際立った特徴に対応し得る。以下に詳述するように、この状態データは、座標データと組み合わせて、ＡＲマッピングシステムが、たとえばＡＲデバイスに表示するための環境内のオブジェクト（位置、向き、状態などを含む）の完全な再現を生成することを可能にし得る。
【００５４】
いくつかの実施形態では、「状態データ」という用語は、属性および／または状況に関してオブジェクトの状態を記述し得るデータを指し得る。人間の状態データは、他の多くの潜在的な例の中でも、たとえば、頭のポーズ、目の状態、音声データ、手の状態、呼吸数、心拍数、および／または他の生理学的属性を含み得る。無生物オブジェクトの状態データは、たとえば、他の多くの潜在的な例の中でも、オブジェクトタイプ、インスタンス識別、ポーズ、および／またはドアが開いているかどうかなどのオブジェクトタイプに固有の属性を含み得る。状態データは、環境の完全な状態を提供し得る。
【００５５】
いくつかの実施形態では、「関係データ」という用語は、オブジェクト間の関係を記述し得るデータを指し得る。オブジェクト間の関係は、たとえば、オブジェクト間の相互作用、オブジェクトよって引き起こされるステータスの変化、組合せ、および／またはオブジェクト間の他の接続を含み得る。相互作用は、たとえば、拾うことおよび／または置くこと、運ぶこと、配置すること、取り付けること、見ること、話すこと、聞くこと、触れることなどを含み得る。たとえば、人が椅子をつかんで関係を築く場合がある。いくつかの例では、関係データは、オブジェクトの状態における変化を記述し得る。状態データは、関係データを決定するためにさらに使用され得る。たとえば、人の手、目、および／または声を追跡することは、人の相互作用のターゲットオブジェクトを識別する際に役立つ場合がある。
【００５６】
本明細書に記載されるシステムは、様々な方法でステップ１２０を実行し得る。一例では、マッピングシステム４０６の人工知能（ＡＩ）エージェント４３２は、機械学習を使用して生データ４５０を処理し得る。ＡＩエージェント４３２は、ソフトウェアおよび／またはハードウェアに実装され得る。ＡＩエージェント４３２は、ビデオデータからオブジェクトおよび構造的特徴を認識し得る。ＡＩエージェント４３２のデータパイプラインは、マッププロセッサ４３４およびオブジェクトプロセッサ４３６に分割され得る。いくつかの例では、マッププロセッサ４３４および／またはオブジェクトプロセッサ４３６は、ＡＩエージェント４３２に統合されてもよく、別個のハードウェアおよび／またはソフトウェアで実装されてもよい。
【００５７】
マッププロセッサ４３４は、認識されたオブジェクトと構造的特徴との間の距離を計算することによって座標データを決定し得、座標データを決定するために生データ４５０のソースデバイスの位置および／または向きを使用し得る。たとえば、オブジェクト間の距離を計算するために、生データ４５０からのビデオデータが使用され得る。オブジェクトと、ソースデバイスの位置などの１つまたは複数の基準点との間の距離を使用して、オブジェクトの座標データが決定され得る。
【００５８】
オブジェクトプロセッサ４３６は、オブジェクトおよび構造的特徴を認識し得、オブジェクトおよび構造的特徴の状態データを識別するために、機械学習をさらに使用し得る。たとえば、生データ４５０からのビデオデータを分析することによって、オブジェクトプロセッサ４３６は、機械学習を使用して、オブジェクトを認識および分類し、ならびにオブジェクトの状態データを決定し得る。オーディオデータ、ソースデバイスの位置および／または向き、オブジェクト間の近接性など、状態データを決定するために、他のデータが使用され得る。
【００５９】
図１に戻ると、ステップ１３０において、本明細書に記載されるシステムのうちの１つまたは複数は、現在のマッピングデータと環境の特徴を含むベースラインマップデータとの間のマッピングデルタを決定し得る。たとえば、システム２００および／またはサーバ３０６のマッピングデルタモジュール２０８は、現在のマッピングデータ２５２とベースラインマップデータ２５６との間のマッピングデルタを決定し得る。
【００６０】
ベースラインマップデータ２５６は、建物の単一レベルなどの、環境の静的特徴を表すデータを含み得る。ベースラインマップデータ２５６は、平面図、壁、床、天井、大きなテーブル、ドア、窓、静的な家具アイテム、および環境の構造的特徴などの、環境の静的特徴を含み得る。静的特徴は、たとえば、オブジェクトが移動し得る、または配置される場所の制限を定義することによって、また、さらに座標系の基準を定義または提供することによって、環境を定義し得る。
【００６１】
特定の実装形態では、ベースラインマップデータ２５６は、詳細なレベルに分割され得る。たとえば、第１の、または最低のレベルは、環境の平面図に対応し得る。第２のレベルは、第１のレベルに入力する特徴のまばらなセットを含み得る。より高いレベルは、構造要素のクラス、構造要素のテクスチャ、および構造要素のインスタンスを含み得る。インスタンスは特定のオブジェクトに対応し得る。他の実装形態では、より少数またはより多数のレベルがあり得る。
【００６２】
ベースラインマップデータ２５６は、たとえば、知っている平面図および静的特徴をベースラインマップデータ２５６として入力することによって、以前に確立され得る。あるいは、またはさらに、ベースラインマップデータ２５６は、環境内のデバイスによる連続したスキャンから構築され得る。言い換えれば、ベースラインマップデータ２５６は、以前に受信されたマッピングデータの集合体であり得る。
【００６３】
図５Ａは、ベースラインマップデータ２５６の２Ｄ表現に対応し得、縮尺通りに呈示されていない可能性があるベース層５０１を呈示している。ベース層５０１は、平面図に類似していてもよく、構造的特徴５１０、静的家具５１２、および静的要素５１４を含んでもよい。構造的特徴５１０は、壁、ドア、窓、および環境の他の構造的特徴を含み得る。静的家具５１２は、テーブル、およびベンチ、ソファ、机などの通常は移動されない他の家具を含み得る。静的要素５１４は、大きな植物、彫像、および環境内の他の装飾的および／または機能的要素などの、静的のままであり得る他の特徴を含み得る。
【００６４】
図１に戻ると、本明細書に記載されるシステムは、様々な方法でステップ１３０を実行し得る。一例では、ＡＩエージェント４３２は、マッププロセッサ４３４を介して、ベースラインマップデータ２５６に対応し得るマップデータベース４５６と、生データ４５０からの現在のマッピングデータとの間の差異を決定し得る。マッピングデルタは、たとえばどの特徴が変更されたかを識別しそれらの新しい座標への変換を決定することによって、相対的に定義され得る。あるいは、マッピングデルタは、マップデータベース４５６内とは異なる座標を有する任意の特徴によって定義され得る。
【００６５】
場合によっては、マッピングデルタに、ソースデバイス間で不整合および／または競合が発生することがある。複数のデバイスがデータを送信するため、特徴に関する第１のデバイスのデータは、同じ特徴に関する第２のデバイスのデータとは異なる場合がある。たとえば、第１のデバイスが第２のデバイスの前に特徴を記録しているため、古いデータを送信している可能性がある。不整合は、データに優先順位を付けることによって解決され得る。たとえば、より最近のタイムスタンプを有するデータが、より古いタイムスタンプを有するデータよりも優先される場合がある。同様に、問題の特徴により近い、またはより高い解像度の検出機能を備えたソースデバイスからのデータが優先される場合がある。特定の実装形態では、たとえば優先度に基づく加重平均を使用して、不整合が組み合わされる場合がある。
【００６６】
ステップ１４０において、本明細書に記載されるシステムのうちの１つまたは複数は、現在のオブジェクトデータと、環境内のオブジェクトの以前の状態データおよび以前の関係データを含むイベントグラフとの間のオブジェクトデルタを決定し得る。たとえば、システム２００および／またはサーバ３０６のオブジェクトデルタモジュール２１０は、現在のオブジェクトデータ２５４とイベントグラフ２６２との間のオブジェクトデルタを決定し得る。
【００６７】
イベントグラフ２６０は、状態データ２６２および関係データ２６４を含み得る。イベントグラフ２６０は、環境内で検出されたすべてのオブジェクトのデータを含み得る。状態データ２６２は、環境内のオブジェクトの時空間状態データを含み得る。時空間状態データは、環境内のオブジェクトの経時的な位置データを示し得る。したがって、状態データ２６２は、オブジェクトの状態における変化が追跡されるように、オブジェクトの以前の状態データを含み得る。関係データ２６４は、オブジェクトの様々な状態をリンクする遷移データを含み得る。遷移データは、環境内のオブジェクト間の相互作用を示すイベントに対応し得る。イベントグラフ２６０は、時空間データおよび遷移データを記憶することができる多次元行列または他のデータ構造として記憶され得る。
【００６８】
図６は、イベントグラフ２６０のグラフ表現に対応し得るイベントグラフ６００を呈示している。イベントグラフ６００は、ノード６０２およびエッジ６０４を含み得る。イベントグラフ６００は、図６に時間軸および空間軸として示される２つの次元を有し得るが、他の実装形態では、イベントグラフ６００は、追加の空間次元および状態データの属性に対応する次元など、より多くの次元を含み得る。
【００６９】
ノード６０２は、オブジェクトの状態に対応し得る。時間軸に沿った所与の時間において、オブジェクトの空間（たとえば、位置）は、ノード６０２によって表され得る。ノード６０２をリンクするエッジ６０４は、ノード６０２によって表される状態間の遷移データに対応し得る。遷移は、移動する、または移動されるなどの相互作用を示し得る。ノード６０２の収束は、対応するオブジェクトが相互作用したことを示し得る。
【００７０】
図５Ｂは、例示的なライブ層５０２を示し、これは、イベントグラフ２６０の簡略化された２Ｄ環境表現に対応し得、縮尺通りに呈示されていない可能性がある。ライブ層５０２は、環境内の動的な、またはそうでなければ非静的なオブジェクトを表し得る。ライブ層５０２は、人間５２０、以前の状態５２２、オブジェクト５２４、および人間５２６を含み得る。図５Ｂは、オブジェクトの簡略化された形式を例証しているが、状態データと関係データにはポーズと向きのデータを含み得るため、オブジェクトの堅牢な３Ｄ表現が利用可能であり得る。以前の状態５２２は、人間５２０の以前の場所などの以前の状態を示し得る。したがって、以前の状態５２２は、人間５２０が移動した場所を呈示し得る。人間５２６は、オブジェクト５２４に近接して呈示されている。人間５２６およびオブジェクト５２４の状態が変化し、これは相互作用を示している可能性がある。具体的には、人間５２６は、オブジェクト５２４を再設置した可能性がある。
【００７１】
特定の実装形態では、環境内のデバイスは、別個のオブジェクトとして表されてもよく、別のオブジェクトに密接に関連していてもよい。たとえば、人間はＡＲデバイスを装着しているかもしれず、それはＡＲデバイスを持たない人間と区別され得る可能性がある。さらに、ＡＲデバイスを装着している人間は、状態および関係データの更新の一貫したストリームを含み得る。
【００７２】
図１に戻ると、本明細書に記載されるシステムは、様々な方法でステップ１４０を実行し得る。一例では、Ａｌエージェント４３２は、オブジェクトプロセッサ４３６を介して、生データ４５０からの現在のオブジェクトデータと、イベントグラフ２６０に対応し得るイベントグラフ４６０との間の差異を決定し得る。オブジェクトデータベース４６２は、環境から認識されたすべてのオブジェクトを含み得る。いくつかの実装形態では、オブジェクトデータベース４６２は、イベントグラフ４６０および／またはマップデータベース４５６内に組み込まれ得る。オブジェクトデルタは、イベントグラフ４６０における以前の状態および以前の関係からの状態および関係における変化によって定義され得る。上記に記載されるマッピングデルタと同様に、オブジェクトデルタには、ソースデバイス間で不整合および／または競合が発生する可能性があり、これはデータに優先順位を付けることによって解決され得る。たとえば、より最近のタイムスタンプを有するデータが優先され得る。同様に、問題の特徴により近い、またはより高い解像度の検出機能を備えたソースデバイスからのデータが優先される場合がある。特定の実装形態では、たとえば優先度に基づく加重平均を使用して、不整合が組み合わされる場合がある。
【００７３】
ステップ１５０において、本明細書に記載されるシステムのうちの１つまたは複数は、マッピングデルタに基づいてベースラインマップデータを更新し、オブジェクトデルタに基づいてイベントグラフを更新し得る。たとえば、システム２００および／またはサーバ３０６の更新モジュール２１２は、マッピングデルタに基づいてベースラインマップデータ２５６を更新し得、また、オブジェクトデルタに基づいてイベントグラフ２６０を更新し得る。
【００７４】
本明細書に記載されるシステムは、様々な方法でステップ１５０を実行し得る。一例では、ＡＩエージェント４３２は、マッププロセッサ４３４を介して、マップデータベース４５６を更新し得る。さらに、ＡＩエージェント４３２は、オブジェクトプロセッサ４３６を介して、イベントグラフ４６０を更新し得る。特定の実装形態では、オブジェクトプロセッサ４３６はまた、オブジェクトデータベース４６２を更新し得る。
【００７５】
オブジェクトデルタに基づいてイベントグラフを更新することは、オブジェクトデルタ内のオブジェクトをイベントグラフ４６０内のオブジェクトとして認識することと、オブジェクトデルタからの状態データに基づいてイベントグラフ４６０内で認識されたオブジェクトの新しいノードを作成することと、オブジェクトデルタからの関係データに基づいて、イベントグラフ４６０内の認識されたオブジェクトの以前のノードと新しいノードをリンクすることとをさらに含み得る。たとえば、図７は、イベントグラフ７００を呈示しており、これは、図６のイベントグラフ６００の更新されたバージョンであり得る。図７において、新しいノード７０２が追加され得、新しいエッジ７０４は、新しいノードを以前のノードに接続し得る。オブジェクトデルタは、オブジェクトがイベントグラフ６００内の最新のノードから移動したことを示し得る。オブジェクトの移動は、イベントグラフ７００において、新しいノード７０２の配置、およびオブジェクトの次の最新のノードに接続する新しいエッジ７０４とともに表され得る。オブジェクトの状態が経時的に変化するにつれて、追加ノードおよびエッジは、新しい状態ごとにイベントグラフ７００に追加され得る。
【００７６】
ベースラインマップデータ２５６を更新することにより、ベースラインマップデータ２５６が環境の最新の構造的特徴を含むことを確実にし得る。たとえば、図５では、ベース層５０１を更新すると、追加の構造的特徴５１０をマッピングアウトする可能性がある。イベントグラフ２６０を更新することにより、イベントグラフ２６０が、環境内のオブジェクトの最新の状態データ２６２および関係データ２６４を含むことを確実にすることができる。さらに、ベースラインマップデータ２５６およびイベントグラフ２６０は、経時的に、環境内のデバイスがベースラインマップデータ２５６およびイベントグラフ２６０から欠落している領域および／またはオブジェクトのデータを提供し得るので、最初に最小データでシードされ得る。
【００７７】
いくつかの例では、ベースラインマップデータ２５６およびイベントグラフ２６０は、分散方式で更新され得る。環境内の複数のデバイスにより、単一のデバイスよりも多くの環境を追跡することが可能であり得る。さらに、デバイスは環境全体を移動し得るため、静的デバイスとは異なる領域への更新が可能になる。マッピングシステムは、個々のデバイスが環境内の別の個々のデバイスからデータを要求する必要がないように、データの集約を調整し得る。
【００７８】
オブジェクトの特性および／またはそれらの間の関係をさらに決定するために、イベントグラフ２６０が分析され得る。特定のオブジェクトの動きおよび／または関係パターンを経時的に分析することによって、特定のオブジェクトの現在および／または将来の状態および関係に関して推論が行われ得る。たとえば、オブジェクトがなくなった場合（たとえば、現在の場所が不明な場合）、最後の知られている場所とおそらく動きを分析することにより、現在の場所の正確な予測を提供し得る。人間が特定の時刻に特定の経路に沿って歩く傾向がある場合、人間の位置は同じ時刻に予測され得る。イベントグラフ２６０をさらに分析すると、オブジェクトの追加の特性が明らかになる場合がある。
【００７９】
イベントグラフ２６０の他の態様が分析され得る。たとえば、発生する相互作用のタイプ、混雑状態になる場所などを決定するために、特定の時間枠が分析され得る。影響を決定するために、環境の変化が監視され得る。壁および／またはドア、ならびに／あるいは他の通常は静的な特徴の変更など、構造的特徴を変更すると、オブジェクトの相互作用が変更される場合がある。次いで、相互作用が、構造が変化する前の相互作用と比較され得る。
【００８０】
特定の実装形態では、イベントグラフ２６０は、仮想オブジェクトを含み得る。仮想オブジェクトは、環境内のデバイスによって検出されないオブジェクトであり得る。たとえば、予測されたオブジェクトの場所は、仮想オブジェクトによって表され得る。さらに、ユーザは、たとえば他のユーザによる相互作用のために、仮想オブジェクトを環境に配置し得る。
【００８１】
図１に戻ると、ステップ１６０において、本明細書に記載されるシステムのうちの１つまたは複数は、更新されたベースラインマップデータおよび更新されたイベントグラフデータを複数のデバイスに送信し得る。たとえば、システム２００および／またはサーバ３０６の送信モジュール２１４は、ベースラインマップデータ２５６の一部およびイベントグラフ２６０の一部をコンピューティングデバイス３０２に送信し得る。
【００８２】
本明細書に記載されるシステムは、様々な方法でステップ１６０を実行し得る。一例では、マッピングシステム４０６は、マップデータベース４５６、イベントグラフ４６０、および／またはオブジェクトデータベース４６２の一部を、コンピューティングデバイス３０２に対応し得るローカルデバイス４０２に送信し得る。
【００８３】
ローカルデバイス４０２は、ローカルＡＩエージェント４３３、ローカルマップデータベース４５７、ローカルイベントグラフ４６１、およびローカルオブジェクトデータベース４６３を含み得る。ローカルマップデータベース４５７は、マップデータベース４５６のサブセットであり得る。ローカルイベントグラフ４６１は、イベントグラフ４６０のサブセットであり得る。ローカルオブジェクトデータベース４６３は、オブジェクトデータベース４６２のサブセットであり得る。ローカルＡＩエージェント４３３は、マッピングシステム４０６からデータを受信し、ローカルデータベースを更新し得る。ローカルデータベースは、ローカルデバイス４０２が環境のそれ自身のローカル表現を維持することを可能にし得る。
【００８４】
開示されたマッピングシステムは、環境内のオブジェクトを追跡するために使用され得る。ユーザは自分の所有物を追跡し得る。たとえば、ユーザは自分のキー、ラップトップなどの紛失したオブジェクトを見つけることができる場合がある。たとえマッピングシステムに紛失したオブジェクトの最新データがない場合でも、ユーザは、紛失したオブジェクトを見つけるために、最後の知っている場所を確認し得る。あるいは、ユーザは、紛失したオブジェクトの以前の場所を調べて、それらの動きを追跡し、現在の場所を推定し得る。ユーザがＡＲデバイスを使用している場合、ユーザは環境を見回して、紛失したオブジェクトを視覚的に見つけることができる場合がある。たとえば、ＡＲデバイスは、ユーザがオブジェクトに直面したときにオブジェクトを強調表示してもよく、ユーザをオブジェクトに向けるための方向インジケータを表示してもよい。
【００８５】
ユーザはまた、どのオブジェクトおよび／または人がオブジェクトと相互作用したかを決定することができる場合がある。たとえば、ユーザは、ラップトップが紛失する前に、第２の人がユーザのラップトップを使用したことに気付く可能性がある。次いで、ユーザは、ラップトップの現在の所在について第２の人に尋ねることができる場合がある。ユーザは、第２の人を見つけることもできる可能性がある。たとえば、第２の人がＡＲデバイスを装着している場合、ユーザは第２の人がどこにいるかをリアルタイムで確認し、第２の人がどこにいたか、および誰と、または何と相互作用したかを確認することができる可能性がある。第２の人がＡＲデバイスを装着していない場合、ユーザは第２の人がどこにいたか、環境全体での第２の人の動きの習慣を決定し、第２の人が現在どこにいるかを推定できる可能性がある。
【００８６】
ユーザはまた、他のユーザが相互作用するための仮想オブジェクトを作成し得る。たとえば、ユーザが仮想メモを作成して壁に置いたままにすることができる。第２のユーザは、ＡＲデバイスを使用して、仮想メモを見ることができる可能性がある。
【００８７】
上で詳述したように、開示されたマッピングシステムは、環境内の複数のデバイスから環境に関するデータを収集し得る。マッピングシステムは、環境のほぼすべてのデバイス検出可能な側面のデータ表現を含み得、これは、経時的にさらに保存され得る。したがって、マッピングシステムは、現在の構成ならびに過去の構成における環境を再作成し得る。これにより、経時的な環境の変化の分析も可能になる場合がある。マッピングシステムは、デバイスが個々のデバイスで通常利用できるよりも広い環境のビューを有するように、環境内のデバイスにデータを送信し得る。デバイスは、たとえ環境全体を検出できなくても、環境全体を再作成できる場合がある。したがって、マッピングシステムは、環境内の単一のデバイスが可能にするよりも効率的に環境を再作成できるようにするために、複数のデバイスを活用し得る。
【００８８】
上で詳述したように、本明細書に記載される、および／または例証されるコンピューティングデバイスおよびシステムは、本明細書に記載されるモジュール内に含まれるものなどの、コンピュータ可読命令を実行できる任意のタイプまたは形態のコンピューティングデバイスまたはシステムを広く表す。それらの最も基本的な構成では、これらのコンピューティングデバイスはそれぞれ、少なくとも１つのメモリデバイスおよび少なくとも１つの物理プロセッサを含み得る。
【００８９】
いくつかの例では、「メモリデバイス」という用語は、一般に、データおよび／またはコンピュータ可読命令を記憶することができる任意のタイプまたは形態の揮発性または不揮発性のストレージデバイスまたは媒体を指す。一例では、メモリデバイスは、本明細書に記載されるモジュールのうちの１つまたは複数を記憶、ロード、および／または維持し得る。メモリデバイスの例は、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、フラッシュメモリ、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、光ディスクドライブ、キャッシュ、同じもののうちの１つまたは複数の変形または組合せ、および／あるいは任意の他の適切なストレージメモリを含むが、これらに限定されない。
【００９０】
いくつかの例では、「物理プロセッサ」という用語は、一般に、コンピュータ可読命令を解釈および／または実行することができる任意のタイプまたは形態のハードウェア実装処理ユニットを指す。一例では、物理プロセッサは、上記に記載されるメモリデバイスに記憶された１つまたは複数のモジュールにアクセスおよび／または修正することができる。物理プロセッサの例は、マイクロプロセッサ、マイクロコントローラ、中央処理装置（ＣＰＵ）、ソフトコアプロセッサを実装するフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、同じもののうちの１つまたは複数の部分、同じもののうちの１つまたは複数の変形または組合せ、あるいは任意の他の適切な物理プロセッサを含むが、これらに限定されない。
【００９１】
個別の要素として例証されているが、本明細書に記載される、および／または例証されるモジュールは、単一のモジュールまたはアプリケーションの一部を表し得る。さらに、特定の実施形態では、これらのモジュールのうちの１つまたは複数は、コンピューティングデバイスによって実行されると、コンピューティングデバイスに１つまたは複数のタスクを実行させることができる１つまたは複数のソフトウェアアプリケーションまたはプログラムを表し得る。たとえば、本明細書に記載される、および／または例証されるモジュールのうちの１つまたは複数は、本明細書に記載される、および／あるいは例証されるコンピューティングデバイスまたはシステムのうちの１つまたは複数で実行するように記憶および構成されたモジュールを表し得る。これらのモジュールのうちの１つまたは複数はまた、１つまたは複数のタスクを実行するように構成された１つまたは複数の専用コンピュータのすべてまたは一部を表し得る。
【００９２】
さらに、本明細書に記載されるモジュールのうちの１つまたは複数は、データ、物理デバイス、および／または物理デバイスの表現をある形式から別の形式に変換し得る。たとえば、本明細書に列挙されるモジュールのうちの１つまたは複数は、変換されるリアルタイムデータを受信し、リアルタイムデータを変換し、変換の結果を使用して、ベースラインマップデータを有するマッピングデルタおよびイベントグラフを有するオブジェクトデルタを決定し、変換の結果を記憶して、ベースラインマップデータとイベントグラフを更新し得る。追加または代替として、本明細書に列挙されるモジュールのうちの１つまたは複数は、コンピューティングデバイス上で実行すること、コンピューティングデバイス上にデータを記憶すること、および／または他の方法でコンピューティングデバイスと相互作用することによって、プロセッサ、揮発性メモリ、不揮発性メモリ、および／または物理コンピューティングデバイスの任意の他の部分をある形態から別の形態に変換し得る。
【００９３】
いくつかの実施形態では、「コンピュータ可読媒体」という用語は、一般に、コンピュータ可読命令を記憶または運ぶことができる任意の形態のデバイス、キャリア、または媒体を指す。コンピュータ可読媒体の例は、キャリア波などの送信型媒体、および磁気ストレージ媒体（たとえば、ハードディスクドライブ、テープドライブ、およびフロッピーディスク）などの非一時的型媒体、光ストレージ媒体（たとえば、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、およびブルーレイディスク）、電子ストレージ媒体（たとえば、ソリッドステートドライブおよびフラッシュメディア）、および他の配信システムを含むが、これらに限定されない。
【００９４】
本開示の実施形態は、人工現実システムを含んでもよく、それと組み合わせて実装されてもよい。人工現実は、ユーザに提示する前に何らかの方法で調整された現実の形態であり、たとえば、仮想現実（ＶＲ）、拡張現実（ＡＲ）、複合現実（ＭＲ）、ハイブリッド現実、あるいはそれらのいくつかの組合せおよび／または派生物を含み得る。人工現実コンテンツは、完全に生成されたコンテンツ、またはキャプチャされた（たとえば、現実世界）コンテンツと組み合わされた生成コンテンツを含み得る。人工現実コンテンツは、ビデオ、オーディオ、触覚フィードバック、またはそれらのいくつかの組合せを含み得、それらのいずれかが単一のチャネルまたは複数チャネル（視聴者に３次元効果をもたらすステレオビデオなど）において提示され得る。さらに、いくつかの実施形態では、人工現実はまた、たとえば、人工現実においてコンテンツを作成するために使用される、および／または人工現実において他の方法で使用される（たとえば、人工現実においてアクティビティを実行する）、アプリケーション、製品、アクセサリ、サービス、またはそれらのいくつかの組合せに関連付けられ得る。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されたヘッドマウントディスプレイ（ＨＭＤ）、スタンドアロンＨＭＤ、モバイルデバイスまたはコンピューティングシステム、あるいは１人または複数の視聴者に人工現実コンテンツを提供することができる任意の他のハードウェアプラットフォームを含む様々なプラットフォームに実装され得る。
【００９５】
本明細書に記載される、および／または例証されるステップのプロセスパラメータおよびシーケンスは、例としてのみ与えられており、必要に応じて変更することができる。たとえば、本明細書に例証および／または記載されているステップは、特定の順序で呈示または議論され得るが、これらのステップは、必ずしも、例証または議論されている順序で実行される必要はない。本明細書に記載される、および／または例証される様々な例示的な方法はまた、本明細書に記載または例証されるステップのうちの１つまたは複数を省略してもよく、開示されたものに加えて追加のステップを含んでもよい。
【００９６】
前の記述は、当業者が本明細書に開示される例示的な実施形態の様々な態様を最もよく利用できるようにするために提供された。この例示的な記述は、網羅的であること、または開示された任意の正確な形式に限定されることを意図するものではない。本開示の趣旨および範囲から逸脱することなしに、多くの修正および変形が可能である。本明細書に開示される実施形態は、すべての点で例証的であり、限定的ではないと見なされるべきである。本開示の範囲を決定する際には、添付の特許請求の範囲およびそれらの同等物を参照する必要がある。
【００９７】
特に断りのない限り、明細書および特許請求の範囲において使用される「接続された（ｃｏｎｎｅｃｔｅｄ  ｔｏ）」および「結合された（ｃｏｕｐｌｅｄ  ｔｏ）」という用語（およびそれらの派生語）は、直接的接続および間接的（すなわち、他の要素または構成要素を介する）接続の両方を許可するものとして解釈されるべきである。さらに、明細書および特許請求の範囲において使用される「ａ」または「ａｎ」という用語は、「〜の少なくとも１つ」を意味すると解釈されるべきである。最後に、使いやすさのために、明細書および特許請求の範囲で使用される「含む（ｉｎｃｌｕｄｉｎｇ）」および「有する（ｈａｖｉｎｇ）」という用語（およびそれらの派生語）は、「備える（ｃｏｍｐｒｉｓｉｎｇ）」という言葉と互換性があり、同じ意味を有する。
【図１】
2022502728.tif 000003
【図２】
2022502728.tif 000004
【図３】
2022502728.tif 000005
【図４】
2022502728.tif 000006
【図５Ａ】
2022502728.tif 000007
【図５Ｂ】
2022502728.tif 000008
【図６】
2022502728.tif 000009
【図７】
2022502728.tif 000010
【国際調査報告】
2022502728.tif 000011
2022502728.tif 000012
2022502728.tif 000013
2022502728.tif 000014