(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-14
(54)【発明の名称】オブジェクトの動作モダリティを動的に選択するための方法及びデバイス
(51)【国際特許分類】
G06F 3/01 20060101AFI20240806BHJP
G06F 3/0346 20130101ALI20240806BHJP
G06T 19/00 20110101ALI20240806BHJP
【FI】
G06F3/01 514
G06F3/01 570
G06F3/0346 423
G06F3/0346 422
G06T19/00 600
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024500164
(86)(22)【出願日】2022-07-01
(85)【翻訳文提出日】2024-01-05
(86)【国際出願番号】 US2022036027
(87)【国際公開番号】W WO2023283145
(87)【国際公開日】2023-01-12
(32)【優先日】2021-07-05
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】503260918
【氏名又は名称】アップル インコーポレイテッド
【氏名又は名称原語表記】Apple Inc.
【住所又は居所原語表記】One Apple Park Way,Cupertino, California 95014, U.S.A.
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100170209
【氏名又は名称】林 陽和
(72)【発明者】
【氏名】バーンズ アーロン マッケイ
(72)【発明者】
【氏名】ブラフニツキー ベンジャミン ロルフ
(72)【発明者】
【氏名】コイア サマンサ
(72)【発明者】
【氏名】フォン カプリ アネット リア フライン
(72)【発明者】
【氏名】ヨガナンダン アルン ラケシュ
(72)【発明者】
【氏名】ノレット クリストファー ルーク
(72)【発明者】
【氏名】シャッテル デヴィッド マイケル
【テーマコード(参考)】
5B050
5B087
5E555
【Fターム(参考)】
5B050AA10
5B050BA09
5B050BA11
5B050CA08
5B050DA04
5B050EA09
5B050EA19
5B050EA27
5B050FA02
5B050FA05
5B050FA08
5B087AA09
5B087BC12
5B087BC13
5E555AA64
5E555BA38
5E555BB38
5E555BC04
5E555BE17
5E555CA42
5E555CA47
5E555CB55
5E555CB64
5E555CB65
5E555CB66
5E555CC01
5E555CC05
5E555DB53
5E555DC13
5E555DC21
5E555DD05
5E555EA11
5E555EA22
5E555FA00
(57)【要約】
一実装形態では、物理オブジェクトの動作モダリティを動的に選択するための方法が提供される。本方法は、複数の異なる入力モダリティのうちの1つに関連付けられた少なくとも1つのユーザ入力インジケータ値を含むユーザ入力ベクトルを取得することと、物理オブジェクトに関連付けられた追跡データを取得することと、ユーザ入力ベクトル及び追跡データに基づいて、姿勢値及びユーザグリップ値を含む、物理オブジェクトについての第1の特徴付けベクトルであって、姿勢値は、物理オブジェクトとコンピューティングシステムのユーザとの間の空間関係を特徴付け、ユーザグリップ値は、物理オブジェクトがユーザによって保持されている様式を特徴付ける、第1の特徴付けベクトルを生成することと、第1の特徴付けベクトルに基づいて、物理オブジェクトについての現在の動作モダリティとして第1の動作モダリティを選択することと、を含む。
【特許請求の範囲】
【請求項1】
方法であって、
非一時的メモリと1つ以上のプロセッサとを含み、ディスプレイデバイスに通信可能に結合される、コンピューティングシステムにおいて、
複数の異なる入力モダリティのうちの1つに関連付けられた少なくとも1つのユーザ入力インジケータ値を含むユーザ入力ベクトルを取得することと、
物理オブジェクトに関連付けられた追跡データを取得することと、
前記ユーザ入力ベクトル及び前記追跡データに基づいて、姿勢値及びユーザグリップ値を含む、前記物理オブジェクトについての第1の特徴付けベクトルであって、前記姿勢値は、前記物理オブジェクトと前記コンピューティングシステムのユーザとの間の空間関係を特徴付け、前記ユーザグリップ値は、前記物理オブジェクトが前記ユーザによって保持されている様式を特徴付ける、第1の特徴付けベクトルを生成することと、
前記第1の特徴付けベクトルに基づいて、第1の動作モダリティを前記物理オブジェクトについての現在の動作モダリティとして選択することと、を含む方法。
【請求項2】
前記第1の動作モダリティは、口述モード、デジタルアシスタントモード、ナビゲーションモード、操作モード、マーキングモード、消去モード、ポインティングモード、又は具現化モードのうちの1つに対応する、請求項1に記載の方法。
【請求項3】
前記第1の動作モダリティを前記物理オブジェクトについての前記現在の出力モダリティとして選択した後に、
前記ディスプレイデバイスを介して、ユーザインタフェースを表示することと、
前記ユーザインタフェース内のコンテンツに向けられた前記物理オブジェクトによる修正入力を検出することと、
前記修正入力を検出したことに応じて、前記修正入力及び前記第1の動作モダリティに基づいて前記ユーザインタフェース内の前記コンテンツを修正することと、
を更に含む、請求項1又は2に記載の方法。
【請求項4】
前記物理オブジェクトに関連付けられた前記ユーザ入力ベクトル又は前記追跡データのうちの1つの変化を検出することと、
前記ユーザ入力ベクトル又は前記物理オブジェクトに関連付けられた前記追跡データのうちの1つの前記変化を検出したことに応じて、
前記ユーザ入力ベクトル又は前記物理オブジェクトに関連付けられた前記追跡データのうちの1つの前記変化に基づいて、前記物理オブジェクトについての第2の特徴付けベクトルを判定することと、
前記第2の特徴付けベクトルに基づいて、前記物理オブジェクトについての現在の動作モダリティとして、前記第1の動作モダリティとは異なる第2の動作モダリティを選択することと、
を更に含む、請求項1又は2に記載の方法。
【請求項5】
前記ディスプレイデバイスを介して、ユーザインタフェースを表示することと、
前記物理オブジェクトについての前記現在の出力モダリティとして前記第2の動作モダリティを選択した後に、前記ユーザインタフェース内のコンテンツに向けられた前記物理オブジェクトによる修正入力を検出することと、
前記修正入力を検出したことに応じて、前記修正入力及び前記第2の動作モダリティに基づいて前記ユーザインタフェース内の前記コンテンツを修正することと、
を更に含む、請求項4に記載の方法。
【請求項6】
前記第1の動作モダリティを前記物理オブジェクトについての前記現在の出力モダリティとして選択した後に、前記ディスプレイデバイスを介して、1つ以上の仮想オブジェクトを含む拡張現実(XR)環境を提示することを更に含み、前記物理オブジェクトは、前記第1の動作モダリティに従って前記XR環境内の前記1つ以上の仮想オブジェクトと対話するように提供される、
請求項1~5のいずれか一項に記載の方法。
【請求項7】
前記ディスプレイデバイスが透明レンズアセンブリに対応し、前記XR環境の前記提示が前記透明レンズアセンブリ上に投影される、請求項6に記載の方法。
【請求項8】
前記ディスプレイデバイスが、ニアアイシステムに対応し、前記XR環境を提示することが、前記XR環境の前記提示を、外向き画像センサによってキャプチャされた物理環境の1つ以上の画像と合成することを含む、請求項6に記載の方法。
【請求項9】
前記XR環境が、前記姿勢値及び前記ユーザグリップ値のうちの少なくとも1つに関連付けられた1つ以上の視覚インジケータを含む、請求項6~8のいずれか一項に記載の方法。
【請求項10】
前記XR環境が、前記現在の動作モダリティに関連付けられた1つ以上の視覚インジケータを含む、請求項6~9のいずれか一項に記載の方法。
【請求項11】
物理環境の1つ以上の画像を取得することと、
前記物理環境の前記1つ以上の画像を用いて前記物理オブジェクトを認識することと、
ユーザインタフェースと対話するときにフォーカス選択部として機能するように前記物理オブジェクトを割り当てることと、
を更に含む、請求項1~10のいずれか一項に記載の方法。
【請求項12】
前記コンピューティングシステムが、前記物理オブジェクトに更に通信可能に結合され、前記物理オブジェクトに関連付けられた前記追跡データを取得することが、前記物理オブジェクトから前記追跡データを取得することを含み、前記追跡データが、前記物理オブジェクトの1つ以上の統合センサからの出力データに対応する、請求項1~11のいずれか一項に記載の方法。
【請求項13】
前記物理オブジェクトに関連付けられた前記追跡データが、前記姿勢値を含む、請求項12に記載の方法。
【請求項14】
前記コンピューティングシステムが、前記物理オブジェクトに更に通信可能に結合され、前記ユーザ入力ベクトルを取得することが、前記物理オブジェクトから前記ユーザ入力ベクトルを取得することを含み、前記ユーザ入力ベクトルが、前記物理オブジェクトの1つ以上の統合センサからの出力データに対応する、請求項1~11のいずれか一項に記載の方法。
【請求項15】
前記ユーザ入力ベクトルが、前記ユーザグリップ値を含む、請求項14に記載の方法。
【請求項16】
前記コンピューティングシステムが、1つ以上の外向き画像センサに更に通信可能に結合され、前記物理オブジェクトに関連付けられた前記追跡データを取得することが、前記物理オブジェクトを視覚的に追跡するために、前記1つ以上の外向き画像センサによってキャプチャされた画像ストリームを分析することを含む、請求項1~15のいずれか一項に記載の方法。
【請求項17】
前記コンピューティングシステムが、1つ以上の四肢追跡インジケータ値を出力する四肢追跡サブシステムに更に通信可能に結合され、前記1つ以上の四肢追跡インジケータ値が、前記複数の入力モダリティのうちの四肢追跡モダリティに関連付けられ、前記ユーザ入力ベクトルが、前記1つ以上の四肢追跡インジケータ値を含む、請求項1~16のいずれか一項に記載の方法。
【請求項18】
前記コンピューティングシステムが、1つ以上の頭部/胴体姿勢追跡インジケータ値を出力する頭部/胴体姿勢追跡サブシステムに更に通信可能に結合され、前記1つ以上の頭部/胴体姿勢追跡インジケータ値が、前記複数の入力モダリティのうちの頭部/胴体姿勢追跡モダリティに関連付けられ、前記ユーザ入力ベクトルが、前記1つ以上の頭部/胴体姿勢追跡インジケータ値を含む、請求項1~17のいずれか一項に記載の方法。
【請求項19】
前記コンピューティングシステムが、1つ以上の音声検出インジケータ値を出力する音声検出サブシステムに更に通信可能に結合され、前記1つ以上の音声検出インジケータ値が、前記複数の入力モダリティのうちの音声検出モダリティに関連付けられ、前記ユーザ入力ベクトルが、前記1つ以上の音声検出インジケータ値を含む、請求項1~18のいずれか一項に記載の方法。
【請求項20】
前記コンピューティングシステムが、1つ以上の視線追跡インジケータ値を出力する視線追跡サブシステムに更に通信可能に結合され、前記1つ以上の視線追跡インジケータ値が、前記複数の入力モダリティのうちの視線追跡モダリティに関連付けられ、前記ユーザ入力ベクトルが、前記1つ以上の視線追跡インジケータ値を含む、請求項1~19のいずれか一項に記載の方法。
【請求項21】
前記第1の動作モダリティがデジタルアシスタントを呼び出すことに対応すると判定したことに応じて、ユーザインタフェース内にデジタルアシスタント(DA)インジケータを表示することと、
前記1つ以上の視線追跡インジケータ値が前記DAインジケータに対応すると判定したことに応じて、前記DAインジケータの外観を変更し、前記DAを有効にすることと、
を更に含む、請求項20に記載の方法。
【請求項22】
前記DAインジケータの前記外観を変更することが、前記DAインジケータのサイズをスケーリングすること、前記DAインジケータの色を変更すること、又は前記DAインジケータの輝度を変更することのうちの少なくとも1つに対応する、請求項21に記載の方法。
【請求項23】
デバイスであって、
1つ以上のプロセッサと、
非一時的メモリと、
ディスプレイデバイスと通信するためのインタフェースと、
前記非一時的メモリに記憶された1つ以上のプログラムであって、前記1つ以上のプロセッサによって実行されると、前記デバイスに請求項1~22のいずれか一項に記載の方法を実行させる、1つ以上のプログラムと、を備えるデバイス。
【請求項24】
1つ以上のプログラムを記憶する非一時的メモリであって、前記1つ以上のプログラムが、ディスプレイデバイスと通信するためのインタフェースを有するデバイスの1つ以上のプロセッサによって実行されると、前記デバイスに請求項1~22のいずれか一項に記載の方法を実行させる、非一時的メモリ。
【請求項25】
デバイスであって、
1つ以上のプロセッサと、
非一時的メモリと、
ディスプレイデバイスと通信するためのインタフェースと、
前記デバイスに、請求項1~22のいずれか一項に記載の方法を実行させる手段と、を備えるデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、オブジェクトを有する環境と対話することに関し、特に、物理オブジェクトについての動作モダリティを動的に選択するためのシステム、方法、及び方法に関する。
【背景技術】
【0002】
スタイラスの挙動を変更するために、ユーザは通常、利用可能なツールのメニューから異なるツールを選択する。これは、扱いにくく面倒なプロセスであり得る。
【0003】
本開示は、当業者によって理解され得るように、いくつかの例示的な実装形態の態様を参照することによって、より詳細な説明を有してもよく、そのいくつかは添付図面に示されている。
【図面の簡単な説明】
【0004】
【
図1】いくつかの実装形態に係る、例示的な動作アーキテクチャのブロック図である。
【0005】
【
図2】いくつかの実装形態に係る、例示的なコントローラのブロック図である。
【0006】
【
図3】いくつかの実装形態に係る、例示的な電子デバイスのブロック図である。
【0007】
【
図4】いくつかの実装形態に係る、例示的な制御デバイスのブロック図である。
【0008】
【
図5A】いくつかの実装形態に係る、例示的なコンテンツ配信アーキテクチャの第1の部分のブロック図である。
【0009】
【
図5B】いくつかの実装形態に係る、例示的なデータ構造を示す。
【0010】
【
図5C】いくつかの実装形態に係る、例示的なコンテンツ配信アーキテクチャの第2の部分のブロック図である。
【0011】
【
図6A】いくつかの実装形態に係る、コンテンツ配信シナリオのためのインスタンスのシーケンスを示す。
【
図6B】いくつかの実装形態に係る、コンテンツ配信シナリオのためのインスタンスのシーケンスを示す。
【
図6C】いくつかの実装形態に係る、コンテンツ配信シナリオのためのインスタンスのシーケンスを示す。
【
図6D】いくつかの実装形態に係る、コンテンツ配信シナリオのためのインスタンスのシーケンスを示す。
【
図6E】いくつかの実装形態に係る、コンテンツ配信シナリオのためのインスタンスのシーケンスを示す。
【
図6F】いくつかの実装形態に係る、コンテンツ配信シナリオのためのインスタンスのシーケンスを示す。
【
図6G】いくつかの実装形態に係る、コンテンツ配信シナリオのためのインスタンスのシーケンスを示す。
【
図6H】いくつかの実装形態に係る、コンテンツ配信シナリオのためのインスタンスのシーケンスを示す。
【
図6I】いくつかの実装形態に係る、コンテンツ配信シナリオのためのインスタンスのシーケンスを示す。
【
図6J】いくつかの実装形態に係る、コンテンツ配信シナリオのためのインスタンスのシーケンスを示す。
【
図6K】いくつかの実装形態に係る、コンテンツ配信シナリオのためのインスタンスのシーケンスを示す。
【
図6L】いくつかの実装形態に係る、コンテンツ配信シナリオのためのインスタンスのシーケンスを示す。
【
図6M】いくつかの実装形態に係る、コンテンツ配信シナリオのためのインスタンスのシーケンスを示す。
【
図6N】いくつかの実装形態に係る、コンテンツ配信シナリオのためのインスタンスのシーケンスを示す。
【
図6O】いくつかの実装形態に係る、コンテンツ配信シナリオのためのインスタンスのシーケンスを示す。
【
図6P】いくつかの実装形態に係る、コンテンツ配信シナリオのためのインスタンスのシーケンスを示す。
【
図6Q】いくつかの実装形態に係る、コンテンツ配信シナリオのためのインスタンスのシーケンスを示す。
【
図6R】いくつかの実装形態に係る、コンテンツ配信シナリオのためのインスタンスのシーケンスを示す。
【0012】
【
図7】いくつかの実装形態に係る、物理オブジェクトの動作モダリティを動的に選択する方法のフローチャートである。
【発明を実施するための形態】
【0013】
慣行により、図面に示される様々な特徴は縮尺どおりに描かれていない場合がある。したがって、様々な特徴の寸法は明確化のために、任意に拡大又は縮小されている場合がある。加えて、いくつかの図面は、所与のシステム、方法、又はデバイスの構成要素の全てを描いていない場合がある。最後に、本明細書及び図の全体を通して、同様の特徴を有することを示すために、同様の参照番号が使用される場合がある。
【0014】
本明細書で開示される様々な実装形態は、物理オブジェクトの動作モダリティを動的に選択するためのデバイス、システム、及び方法を含む。いくつかの実装形態によれば、方法は、非一時的メモリと1つ以上のプロセッサとを含むコンピューティングシステムにおいて実行され、コンピューティングシステムは、ディスプレイデバイスに通信可能に結合される。本方法は、複数の異なる入力モダリティのうちの1つに関連付けられた少なくとも1つのユーザ入力インジケータ値を含むユーザ入力ベクトルを取得することと、物理オブジェクトに関連付けられた追跡データを取得することと、ユーザ入力ベクトル及び追跡データに基づいて、姿勢値及びユーザグリップ値を含む、物理オブジェクトについての第1の特徴付けベクトルであって、姿勢値は、物理オブジェクトとコンピューティングシステムのユーザとの間の空間関係を特徴付け、ユーザグリップ値は、物理オブジェクトがユーザによって保持されている様式を特徴付ける、第1の特徴付けベクトルを生成することと、第1の特徴付けベクトルに基づいて、物理オブジェクトについての現在の動作モダリティとして第1の動作モダリティを選択することと、を含む。
【0015】
いくつかの実装形態では、電子デバイスは、1つ以上のディスプレイと、1つ以上のプロセッサと、非一時的メモリと、1つ以上のプログラムと、を含み、1つ以上のプログラムは、非一時的メモリに記憶され、1つ以上のプロセッサによって実行されるように構成されており、1つ以上のプログラムは、本明細書に記載の方法のいずれかを実行するか又は実行させる命令を含む。いくつかの実装形態によれば、非一時的コンピュータ可読記憶媒体は内部に命令を記憶しており、この命令は、デバイスの1つ以上のプロセッサによって実行されると、それに基づきデバイスは本明細書内で説明する方法のうちのいずれかの動作を実行又は実行させる。いくつかの実装形態によれば、デバイスは、1つ以上のディスプレイと、1つ以上のプロセッサと、非一時的メモリと、本明細書に記載される方法のいずれかを実行する又は実行させる手段と、を含む。
【0016】
いくつかの実装形態によれば、コンピューティングシステムは、1つ以上のプロセッサと、非一時的メモリと、ディスプレイデバイス及び1つ以上の入力デバイスと通信するためのインタフェースと、1つ以上のプログラムと、を含み、1つ以上のプログラムは、非一時的メモリに記憶され、1つ以上のプロセッサによって実行されるように構成されており、1つ以上のプログラムは、本明細書に記載の方法のいずれかの動作を実行する又は実行させる命令を含む。いくつかの実装形態によれば、非一時的コンピュータ可読記憶媒体は、命令を内部に記憶し、命令はディスプレイデバイス及び1つ以上の入力デバイスと通信するためのインタフェースを有するコンピューティングデバイスの1つ以上のプロセッサによって実行されると、コンピューティングシステムは本明細書に説明する方法のうちのいずれかの動作を実行するか、又は実行させる。いくつかの実装形態によれば、コンピューティングシステムは、1つ以上のプロセッサと、非一時的メモリと、ディスプレイデバイス及び1つ以上の入力デバイスと通信するためのインタフェースと、本明細書で説明する方法のいずれかの動作を実行するか又は実行させるための手段と、を含む。
【0017】
図面に示される例示的な実装形態の十分な理解を提供するために、数多くの詳細が記載されている。しかしながら、図面は単に本開示のいくつかの例示的な態様を示すものであり、したがって、限定的であると考慮されるべきではない。当業者であれば、他の有効な態様及び/又は変形が本明細書に記載される特定の詳細全てを含むものではないと理解するであろう。更に、本明細書に記載される例示的な実装形態のより適切な態様を不明瞭にしないよう、周知のシステム、方法、構成要素、デバイス及び回路は、網羅的に詳細を記載していない。
【0018】
人々は、電子デバイスを使用することなく、物理環境又は世界を感知し、又はそれと対話することができる。物理オブジェクト又は表面などの物理的特徴は、物理環境内に含まれ得る。例えば、物理環境は、物理的な建物、道路、及び車両を有する物理的な都市に対応し得る。人々は、聴覚、視覚、味覚、触覚、及び嗅覚などの種々の手段を通じて、物理環境を直接的に感知する、及び/又は物理環境と対話し得る。これと対照的に、拡張現実(XR)環境は、人々が電子デバイスを介して感知及び/又は対話する、全体的又は部分的にシミュレートされた環境であり得る。例えば、XR環境は、仮想現実(VR)コンテンツ、複合現実(MR)コンテンツ、仮想現実(AR)コンテンツなどを含み得る。XRシステムを使用して、人の物理的動きの一部又はその表現が追跡され得、それに応じて、XR環境内の仮想オブジェクトの特性が、少なくとも1つの物理法則に従ってふるまうように調整され得る。例えば、XRシステムは、ユーザの頭部の移動を検出し、物理環境において音及びビューがどのように変化するかをシミュレートするように、ユーザに提示される聴覚及びグラフィカルコンテンツを調整し得る。他の例では、XRシステムは、XR環境を提示する電子デバイス(例えば、ラップトップ、タブレット、携帯電話など)の移動を検出し得る。したがって、XRシステムは、物理環境において音及びビューがどのように変化するかをシミュレートするように、ユーザに提示される聴覚コンテンツ及びグラフィカルコンテンツを調整し得る。いくつかの事例では、物理的な動きの表現(例えば、音声コマンド)などの他の入力が、XRシステムにグラフィカルコンテンツのプロパティを調整させ得る。
【0019】
多数のタイプの電子システムは、ユーザがXR環境を感知するか、又はXR環境と対話することを可能にすることができる。例の非網羅的リストは、ユーザの眼に配置される統合ディスプレイ機能を有するレンズ(例えば、コンタクトレンズ)、ヘッドアップディスプレイ(HUD)、投影ベースのシステム、ヘッドマウントシステム、統合ディスプレイ技術を有する窓又はフロントガラス、ヘッドホン/イヤホン、触覚フィードバックを伴う又は伴わない入力システム(例えば、ハンドヘルド又はウェアラブルコントローラ)、スマートフォン、タブレット、デスクトップ/ラップトップコンピュータ、及びスピーカアレイを含む。ヘッドマウントシステムは、不透明ディスプレイ及び1つ以上のスピーカを含み得る。他のヘッドマウントシステムは、スマートフォンのような不透明外部ディスプレイを受け入れるように構成され得る。ヘッドマウントシステムは、1つ以上の画像センサを使用して物理環境の画像/ビデオをキャプチャし得る、又は1つ以上のマイクロフォンを使用して物理環境のオーディオをキャプチャし得る。ヘッドマウントシステムは、不透明ディスプレイではなく、透明又は半透明のディスプレイを有してもよい。透明又は半透明ディスプレイは、ホログラム媒体、光導波路、光結合器、光反射器、他の同様の技術、又はそれらの組み合わせなどの媒体を通して、画像を表す光をユーザの眼に指向してもよい。液晶オンシリコン、LED、μLEDs、OLED、レーザ走査光源、デジタル光投射、又はそれらの組み合わせなどの種々のディスプレイ技術が、使用され得る。いくつかの例では、透明又は半透明のディスプレイは、不透明になるように選択的に制御され得る。投影ベースのシステムは、画像をユーザの網膜上に投影する網膜投影技術を利用し得るか、又は仮想コンテンツを物理表面上に、若しくはホログラムとしてなど、物理環境内に投影し得る。
【0020】
図1は、いくつかの実装形態に係る、例示的な動作アーキテクチャ100のブロック図である。関連する特徴が示されているが、当業者であれば、本明細書に開示される例示的な実装形態のより適切な態様を曖昧にしないように簡潔化するために、様々な他の特徴が示されていないことを、本開示から理解するであろう。その目的で、非限定的な例として、動作アーキテクチャ100は、任意選択の処理デバイス110及び電子デバイス120(例えば、タブレット、モバイルフォン、ラップトップ、ニアアイシステム、ウェアラブルコンピューティングデバイスなど)を含む。
【0021】
いくつかの実装形態では、処理デバイス110は、左手150及び右手152を有するユーザ149、並びに任意選択的に他のユーザのためのXR体験(本明細書では「XR環境」又は「仮想環境」又は「グラフィカル環境」と呼ばれることもある)を管理及び調整するように構成される。いくつかの実装形態では、処理デバイス110は、ソフトウェア、ファームウェア、及び/又はハードウェアの好適な組み合わせを含む。処理デバイス110について、
図2を参照して以下でより詳細に説明する。いくつかの実装形態では、処理デバイス110は、物理環境105に対してローカル又はリモートであるコンピューティングデバイスである。例えば、処理デバイス110は、物理環境105内に所在するローカルサーバである。別の例では、処理デバイス110は、物理環境105の外側に所在するリモートサーバ(例えば、クラウドサーバ、中央サーバなど)である。いくつかの実装形態では、処理デバイス110は、1つ以上の有線又は無線通信チャネル144(例えば、BLUETOOTH、IEEE 802.11x、IEEE 802.16x、IEEE 802.3xなど)を介して、電子デバイス120と通信可能に結合される。いくつかの実装形態では、処理デバイス110の機能は、電子デバイス120によって提供される。したがって、いくつかの実装形態では、処理デバイス110の構成要素は電子デバイス120に統合される。
【0022】
図1に示すように、ユーザ149は、右手152でコントローラ130を把持する。
図1に示すように、コントローラ130は、第1の端部176及び第2の端部177を含む。様々な実施形態では、第1の端部176は、コントローラ130の先端(例えば、鉛筆の先端)に対応し、第2の端部177は、コントローラ130の反対側又は下端(例えば、鉛筆の消しゴム)に対応する。
図1に示すように、コントローラ130は、ユーザ149からタッチ入力を受信するためのタッチ感知面175を含む。いくつかの実装形態では、コントローラ130は、ソフトウェア、ファームウェア、及び/又はハードウェアの好適な組み合わせを含む。コントローラ130については、
図4を参照して以下により詳細に説明する。いくつかの実装形態では、コントローラ130は、処理デバイス110への有線又は無線通信チャネルを有する電子デバイスに対応する。例えば、コントローラ130は、スタイラス、指装着型デバイス、ハンドヘルドデバイスなどに対応する。いくつかの実装形態では、処理デバイス110は、1つ以上の有線又は無線通信チャネル146(例えば、BLUETOOTH、IEEE 802.11x、IEEE 802.16x、IEEE 802.3xなど)を介して、コントローラ130と通信可能に結合される。
【0023】
いくつかの実装形態では、電子デバイス120は、オーディオ及び/又は映像(A/V)コンテンツをユーザ149に提示するように構成される。いくつかの実装形態では、電子デバイス120は、ユーザインタフェース(UI)及び/又はXR環境128をユーザ149に提示するように構成される。いくつかの実装形態では、電子デバイス120は、ソフトウェア、ファームウェア、及び/又はハードウェアの適切な組み合わせを含む。電子デバイス120について、
図3を参照して以下でより詳細に説明する。
【0024】
いくつかの実装形態によれば、電子デバイス120は、ユーザ149が、電子デバイス120の視野(FOV)111内にテーブル107を含む物理環境105内に物理的に存在する間に、XR体験をユーザ149に提示する。したがって、いくつかの実装形態では、ユーザ149は、自分の手(単数又は複数)で電子デバイス120を保持する。いくつかの実装形態では、電子デバイス120は、XR体験を提示している間、XRシリンダ109を含むXRコンテンツ(本明細書では「グラフィカルコンテンツ」又は「仮想コンテンツ」と呼ばれることもある)を提示し、ディスプレイ122上で物理環境105(例えば、テーブル107又はその表現を含む)のビデオパススルーを可能にするように構成されている。例えば、XRシリンダ109を含むXR環境128は、立体又は3次元(3D)である。
【0025】
一例では、XRシリンダ109は、電子デバイス120の並進移動及び/又は回転移動に起因してFOV111が変化するとき、XRシリンダ109がディスプレイ122上の同じロケーションに表示されたままであるように、表示ロックされたコンテンツに対応する。別の例として、XRシリンダ109は、電子デバイス120の並進移動及び/又は回転移動に起因してFOV111が変化してもXRシリンダ109がその元のロケーションに表示されたままであるように、世界ロックされたコンテンツに対応する。したがって、この例では、FOV111が原点ロケーションを含まない場合、XR環境128はXRシリンダ109を含まない。例えば、電子デバイス120は、ニアアイシステム、モバイルフォン、タブレット、ラップトップ、ウェアラブルコンピューティングデバイスなどに対応する。
【0026】
いくつかの実装形態では、ディスプレイ122は、テーブル107を含む物理環境105の光学的シースルーを可能にする追加ディスプレイに対応する。例えば、ディスプレイ122は透明レンズに対応し、電子デバイス120はユーザ149が装着するメガネに対応する。従って、いくつかの実装形態では、電子デバイス120は、追加ディスプレイ上にXRコンテンツ(例えば、XRシリンダ109)を投影することによってユーザインタフェースを提示し、次いで、ユーザインタフェースは、ユーザ149の視点から物理環境105上にオーバーレイされる。いくつかの実装形態では、電子デバイス120は、追加ディスプレイ上にXRコンテンツ(例えば、XRシリンダ109)を表示することによってユーザインタフェースを提示し、次いで、ユーザインタフェースは、ユーザ149の視点から物理環境105上にオーバーレイされる。
【0027】
いくつかの実装形態では、ユーザ149は、ニアアイシステムなどの電子デバイス120を装着する。したがって、電子デバイス120は、XRコンテンツを表示するために設けられた1つ以上のディスプレイ(例えば、単一のディスプレイ又は各眼に1つ)を含む。例えば、電子デバイス120は、ユーザ149のFOVを包囲する。そのような実装形態では、電子デバイス120は、XR環境128に対応するデータを1つ以上のディスプレイ上に表示することによって、又はXR環境128に対応するデータをユーザ149の網膜上に投影することによって、XR環境128を提示する。
【0028】
いくつかの実装形態では、電子デバイス120は、XR環境128を表示する一体型ディスプレイ(例えば、内蔵ディスプレイ)を含む。いくつかの実装形態では、電子デバイス120は、ヘッドマウントエンクロージャを含む。様々な実装形態では、ヘッドマウントエンクロージャは、ディスプレイを有する別のデバイスを取り付けることができる取り付け領域を含む。例えば、いくつかの実装形態では、電子デバイス120をヘッドマウントエンクロージャに取り付けることができる。様々な実装形態では、ヘッドマウントエンクロージャは、ディスプレイを含む別のデバイス(例えば、電子デバイス120)を受容するためのレセプタクルを形成するように成形される。例えば、いくつかの実装形態では、電子デバイス120は、ヘッドマウントエンクロージャにスライド/スナップ嵌めされる、又は別の方法で取り付けられる。いくつかの実装形態では、ヘッドマウントエンクロージャに取り付けられたデバイスのディスプレイは、XR環境128を提示する(例えば、表示する)。いくつかの実装形態では、電子デバイス120は、ユーザ149が電子デバイス120を着用又は保持せずに、XRコンテンツを提示するように構成されたXRチャンバ、エンクロージャ、又は部屋に置き換えられる。
【0029】
いくつかの実装形態では、処理デバイス110及び/又は電子デバイス120は、物理環境105内の電子デバイス120及び/又は任意選択のリモート入力デバイスからの移動情報(例えば、胴体姿勢データ、視線追跡データ、手/肢/指/四肢追跡データなど)に基づいて、ユーザ149のXR表現をXR環境128内で移動させる。いくつかの実装形態では、オプションのリモート入力デバイスは、物理環境105内の固定又は可動感知機器(例えば、画像センサ、深度センサ、赤外線(IR)センサ、イベントカメラ、マイクロフォンなど)に対応する。いくつかの実装形態では、リモート入力デバイスの各々は、ユーザ149が物理環境105内に物理的にいる間に、入力データを収集/キャプチャし、入力データを処理デバイス110及び/又は電子デバイス120に提供するように構成される。いくつかの実装形態では、リモート入力デバイスはマイクロフォンを含み、入力データは、ユーザ149に関連付けられたオーディオデータ(例えば、発話サンプル)を含む。いくつかの実装形態では、リモート入力デバイスは、画像センサ(例えば、カメラ)を含み、入力データは、ユーザ149の画像を含む。いくつかの実装形態では、入力データは、異なる時間におけるユーザ149の胴体姿勢を特徴付ける。いくつかの実装形態では、入力データは、異なる時間におけるユーザ149の頭部姿勢を特徴付ける。いくつかの実装形態では、入力データは、異なる時間におけるユーザ149の手に関連付けられた手追跡情報を特徴付ける。いくつかの実装形態では、入力データは、ユーザ149の手などのユーザの胴体部分の速度及び/又は加速度を特徴付ける。いくつかの実装形態では、入力データは、ユーザ149の関節ポジション及び/又は関節配向を示す。いくつかの実装形態では、リモート入力デバイスは、スピーカ、ライトなどのフィードバックデバイスを含む。
【0030】
図2は、いくつかの実装形態に係る、電子デバイス110の一例のブロック図である。特定の特徴が示されているが、当業者は、本明細書に開示される実装形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。その目的で、非限定的な例として、いくつかの実装形態では、処理デバイス110は、1つ以上の処理ユニット202(例えば、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィック処理ユニット(GPU)、中央処理ユニット(CPU)、処理コアなど)、1つ以上の入出力(I/O)デバイス206、1つ以上の通信インタフェース208(例えば、ユニバーサルシリアルバス(USB)、IEEE802.3x、IEEE802.11x、IEEE802.16x、グローバル移動通信システム(GSM)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、グローバル測位システム(GPS)、赤外線(IR)、BLUETOOTH、ZIGBEE、及び/又は同様のタイプのインタフェース)、1つ以上のプログラミング(例えば、I/O)インタフェース210、メモリ220、並びにこれら及び様々な他の構成要素を相互接続するための1つ以上の通信バス204を含む。
【0031】
いくつかの実装形態では、1つ以上の通信バス204は、システム構成要素間を相互接続し、かつ通信を制御する回路を含む。いくつかの実装形態では、1つ以上のI/Oデバイス206は、キーボード、マウス、タッチパッド、タッチスクリーン、ジョイスティック、1つ以上のマイクロフォン、1つ以上のスピーカ、1つ以上の画像センサ、1つ以上のディスプレイなどのうちの少なくとも1つを含む。
【0032】
メモリ220は、ダイナミックランダムアクセスメモリ(dynamic random-access memory、DRAM)、スタティックランダムアクセスメモリ(static random-access memory、SRAM)、ダブルデータレートランダムアクセスメモリ(double-data-rate random-access memory、DDRRAM)、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含む。いくつかの実装形態では、メモリ220には、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性記憶デバイスなどの不揮発性メモリが含まれる。メモリ220は、1つ以上の処理ユニット202からリモートに位置する1つ以上の記憶デバイスを任意選択的に含む。メモリ220は、非一時的コンピュータ可読記憶媒体を含む。いくつかの実装形態では、メモリ220又はメモリ220の非一時的コンピュータ可読記憶媒体は、以下のプログラム、モジュール、及びデータ構造、又は
図2を参照して後述するそれらのサブセットを記憶する。
【0033】
オペレーティングシステム230は、様々な基本システムサービスを処理するための手順、及びハードウェア依存タスクを実行するための手順を含む。
【0034】
いくつかの実装形態では、データ取得部242は、処理デバイス110のI/Oデバイス206、電子デバイス120のI/Oデバイス及びセンサ306、並びに任意選択のリモート入力デバイスのうちの少なくとも1つからデータ(例えば、物理環境105のキャプチャされた画像フレーム、プレゼンテーションデータ、入力データ、ユーザ対話データ、カメラ姿勢追跡情報、視線追跡情報、頭部/胴体姿勢追跡情報、手/四肢/指/四肢追跡情報、センサデータ、ロケーションデータなど)を取得するように構成される。その目的で、様々な実装形態では、データ取得部242は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0035】
いくつかの実装形態では、マッパ及びロケータエンジン244は、物理環境105をマッピングし、物理環境105に対する少なくとも電子デバイス120又はユーザ149のポジション/ロケーションを追跡するように構成される。その目的で、様々な実装形態において、マッパ及びロケータエンジン244は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0036】
いくつかの実装形態では、データ送信部246は、少なくとも電子デバイス120及び任意選択的に1つ以上の他のデバイスにデータ(例えば、XR環境に関連するレンダリングされた画像フレームなどの提示データ、ロケーションデータなど)を送信するように構成される。その目的で、様々な実装形態において、データ送信部246は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0037】
いくつかの実装形態では、プライバシーアーキテクチャ508は、データを取り込み、1つ以上のプライバシーフィルタに基づいて、データ内のユーザ情報及び/又は識別情報をフィルタリングするように構成される。プライバシーアーキテクチャ508について、
図5Aを参照して以下でより詳細に説明する。その目的で、様々な実装形態において、プライバシーアーキテクチャ508は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0038】
いくつかの実装形態では、オブジェクト追跡エンジン510は、追跡データに基づいて物理オブジェクト(例えば、コントローラ130又はプロキシオブジェクト)を追跡するためのオブジェクト追跡ベクトル511を判定/生成し、姿勢特徴付けベクトル515オブジェクト追跡ベクトル511を経時的に更新するように構成される。例えば、
図5Bに示すように、オブジェクト追跡ベクトル511は、物理オブジェクトの並進値572(例えば、物理環境105に対するx、y、及びz座標に関連付けられた)物理オブジェクトの並進値、物理オブジェクトの回転値574(例えば、ロール、ピッチ、及びヨー)、物理オブジェクトに関連付けられた1つ以上の圧力値576、物理オブジェクトに関連付けられた任意選択のタッチ入力情報578などを含む。オブジェクト追跡エンジン510は、
図5Aに関して以下でより詳細に説明する。その目的で、様々な実装形態では、オブジェクト追跡エンジン510は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0039】
いくつかの実装形態では、視線追跡エンジン512は、入力データに基づいて
図5Bに示されるような視線追跡ベクトル513を(例えば、視線方向と共に)判定/生成し、視線追跡ベクトル513を経時的に更新するように構成される。例えば、視線方向は、ユーザ149が現在見ている物理環境105内の(例えば、物理環境105又は世界全体に対するx、y、及びz座標に関連付けられた)点、物理オブジェクト、又は関心領域(ROI)を示す。別の例として、視線方向は、ユーザ149が現在見ているXR環境128内の(例えば、XR環境128に対するx、y、及びz座標に関連付けられた)点、XRオブジェクト、又は関心領域(ROI)を示す。視線追跡エンジン512は、
図5Aを参照して以下でより詳細に説明する。その目的で、様々な実装形態において、視線追跡エンジン512は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0040】
いくつかの実装形態では、胴体/頭部姿勢追跡エンジン514は、入力データに基づいて姿勢特徴付けベクトル515を判定/生成し、姿勢特徴付けベクトル515を経時的に更新するように構成される。例えば、
図5Bに示されるように、姿勢特徴付けベクトル515は、頭部姿勢記述子592A(例えば、上向き、下向き、中立など)、頭部姿勢についての並進値592B、頭部姿勢についての回転値592C、胴体姿勢記述子594A(例えば、直立、着座、うつ伏せなど)、胴体部分/四肢/肢/関節についての並進値594B、胴体部分/四肢/肢/関節についての回転値594Cなどを含む。胴体/頭部姿勢追跡エンジン514は、
図5Aを参照して以下でより詳細に説明する。その目的で、様々な実装形態では、胴体/頭部姿勢追跡エンジン514は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。いくつかの実装形態では、オブジェクト追跡エンジン510、視線追跡エンジン512、及び胴体/頭部姿勢追跡エンジン514は、処理デバイス110に加えて、又はその代わりに電子デバイス120上に配置され得る。
【0041】
いくつかの実装形態では、コンテンツ選択部522は、1つ以上のユーザ要求及び/又は入力(例えば、音声コマンド、XRコンテンツアイテムのユーザインタフェース(UI)メニューからの選択など)に基づいて、コンテンツライブラリ525からXRコンテンツ(本明細書では「グラフィカルコンテンツ」又は「仮想コンテンツ」と呼ばれることもある)を選択するように構成される。コンテンツ選択部522について、
図5Aを参照して以下でより詳細に説明する。その目的で、様々な実装形態では、コンテンツ選択部522は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0042】
いくつかの実装形態では、コンテンツライブラリ525は、オーディオ/ビジュアル(A/V)コンテンツ、仮想エージェント(VA)、及び/又はXRコンテンツ、オブジェクト、アイテム、風景などの複数のコンテンツアイテムを含む。一例として、XRコンテンツは、ユーザがキャプチャしたビデオ、映画、TVエピソード、及び/又は他のXRコンテンツの3D再構成を含む。いくつかの実装形態では、コンテンツライブラリ525は、ユーザ149によって事前に入力されるか、又は手動で作成される。いくつかの実装形態では、コンテンツライブラリ525は、処理デバイス110に対してローカルに位置する。いくつかの実装形態では、コンテンツライブラリ525は、処理デバイス110からリモートに(例えば、リモートサーバ、クラウドサーバなどに)配置される。
【0043】
いくつかの実装形態では、動作モダリティ管理部540は、姿勢値及びユーザグリップ値を含む、物理オブジェクトについての
図5Bに示される特徴付けベクトル543に基づいて、物理オブジェクト(例えば、コントローラ130又はプロキシオブジェクト)のための動作モダリティを選択するように構成され、特徴付けベクトル543は、ユーザ入力ベクトル(例えば、視線追跡ベクトル513及び姿勢特徴付けベクトル515の組み合わせ)と追跡データ(例えば、オブジェクト追跡ベクトル511)の関数である。動作モダリティ管理部540は、
図5Aを参照して以下でより詳細に説明する。その目的で、様々な実装形態では、動作モダリティ管理部540は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。いくつかの実装形態では、動作モダリティ管理部540は、特徴付けエンジン542及び動作モダリティ選択部544を含む。
【0044】
いくつかの実装形態では、特徴付けエンジン542は、ユーザ入力ベクトル(例えば、視線追跡ベクトル513と姿勢特徴付けベクトル515との組み合わせ)と追跡データ(例えば、オブジェクト追跡ベクトル511)とに基づいて、物理オブジェクトの特徴付けベクトル543を判定/生成するように構成される。いくつかの実装形態では、特徴付けエンジン542はまた、姿勢特徴付けベクトル515を経時的に更新するように構成される。
図5Bに示されるように、特徴付けベクトル543は、ユーザグリップ値5102及び姿勢値5104を含む。特徴付けエンジン542は、
図5Aを参照して以下更に詳細に説明する。その目的で、様々な実装形態では、特徴付けエンジン542は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0045】
いくつかの実装形態では、動作モダリティ選択部544は、特徴付けベクトル543に基づいて(XR環境128と対話するときに)物理オブジェクトの現在の動作モダリティを選択するように構成される。例えば、動作モダリティは、口述モード、デジタルアシスタントモード、ナビゲーションモード、操作モード、マーキングモード、消去モード、ポインティングモード、具現化モードなどを含み得る。動作モダリティ選択部544は、
図5Aを参照して以下でより詳細に説明する。その目的で、様々な実装形態では、動作モダリティ選択部544は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0046】
いくつかの実装形態では、コンテンツ管理部530は、VA、XRコンテンツ、XRコンテンツに関連付けられた1つ以上のユーザインタフェース(UI)要素などのうちの1つ以上を含むXR環境128のレイアウト、設定、構造などを管理し、更新するように構成される。コンテンツ管理部530は、
図5Cを参照して以下でより詳細に説明する。その目的で、様々な実装形態では、コンテンツ管理部530は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。いくつかの実装形態では、コンテンツ管理部530は、バッファ534と、コンテンツ更新部536と、フィードバックエンジン538とを含む。いくつかの実装形態では、バッファ534は、1つ以上の過去のインスタンス及び/又はフレームについてのXRコンテンツ、レンダリングされた画像フレームなどを含む。
【0047】
いくつかの実装形態では、コンテンツ更新部536は、物理環境105内の電子デバイス120又は物理オブジェクトの並進移動又は回転移動、ユーザ入力(例えば、手/四肢追跡入力、視線追跡入力、タッチ入力、音声コマンド、物理オブジェクトによる操作入力など)などに基づいて、XR環境128を経時的に修正するように構成される。その目的で、様々な実装形態では、コンテンツ更新部536は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0048】
いくつかの実装形態では、フィードバックエンジン538は、XR環境128に関連付けられた感覚フィードバック(例えば、テキスト又は照明の変化などの視覚フィードバック、オーディオフィードバック、触覚フィードバックなど)を生成するように構成される。その目的で、様々な実装形態では、フィードバックエンジン538は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0049】
いくつかの実装形態では、レンダリングエンジン550は、XR環境128(本明細書では「グラフィカル環境」又は「仮想環境」と呼ばれることもある)又はそれに関連付けられた画像フレーム、並びにVA、XRコンテンツ、XRコンテンツに関連付けられた1つ以上のUI要素などをレンダリングするように構成される。その目的で、様々な実装形態では、レンダリングエンジン550は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。いくつかの実装形態では、レンダリングエンジン550は、姿勢判定部552と、レンダリング部554と、任意選択的な画像処理アーキテクチャ562と、任意選択的な合成部564とを含む。当業者は、任意選択の画像処理アーキテクチャ562及び任意選択の合成部564は、ビデオパススルー構成のために存在し得るが、完全VR又は光学シースルー構成のために除去され得ることを理解するであろう。
【0050】
いくつかの実装形態では、姿勢判定部552は、A/Vコンテンツ及び/又はXRコンテンツに対する電子デバイス120及び/又はユーザ149の現在のカメラ姿勢を判定するように構成される。姿勢判定部552について、
図5Aを参照して以下でより詳細に説明する。その目的で、様々な実装形態では、姿勢判定部552は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0051】
いくつかの実装形態では、レンダリング部554は、A/Vコンテンツ及び/又はXRコンテンツを、それに対する現在のカメラ姿勢に従ってレンダリングするように構成される。レンダリング部554については、
図5Aを参照して以下により詳細に説明する。その目的で、様々な実装形態では、レンダリング部554は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0052】
いくつかの実装形態では、画像処理アーキテクチャ562は、電子デバイス120及び/又はユーザ149の現在のカメラ姿勢から物理環境105の1つ以上の画像を含む画像ストリームを取得する(例えば、受信する、取り出す、又はキャプチャする)ように構成される。いくつかの実装形態では、画像処理アーキテクチャ562はまた、ワーピング、色補正、ガンマ補正、シャープニング、ノイズ低減、ホワイトバランスなどの1つ以上の画像処理動作を画像ストリームに対して実行するように構成される。画像処理アーキテクチャ562は、
図5Aを参照して以下により詳細に説明する。その目的で、様々な実装形態では、画像処理アーキテクチャ562は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0053】
いくつかの実装形態では、合成部564は、レンダリングされたA/Vコンテンツ及び/又はXRコンテンツを、画像処理アーキテクチャ562からの物理環境105の処理された画像ストリームと合成して、表示のためのXR環境128のレンダリングされた画像フレームを生成するように構成される。合成部564について、
図5Aを参照して以下により詳細に説明する。その目的で、様々な実装形態では、合成部564は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0054】
データ取得部242、マッパ及びロケータエンジン244、データ送信部246、プライバシーアーキテクチャ508、オブジェクト追跡エンジン510、視線追跡エンジン512、胴体/頭部姿勢追跡エンジン514、コンテンツ選択部522、コンテンツ管理部530、動作モダリティ管理部540、及びレンダリングエンジン550は、単一のデバイス(例えば、処理デバイス110)上に存在するものとして示されているが、他の実装形態では、データ取得部242、マッパ及びロケータエンジン244、データ送信部246、プライバシーアーキテクチャ508、オブジェクト追跡エンジン510、視線追跡エンジン512、胴体/頭部姿勢追跡エンジン514、コンテンツ選択部522、コンテンツ管理部530、動作モダリティ管理部540、及びレンダリングエンジン550の任意の組み合わせが別個のコンピューティングデバイス内に配置され得ることを理解されたい。
【0055】
いくつかの実装形態では、処理デバイス110の機能及び/又は構成要素は、
図3において以下に示される電子デバイス120と組み合わされるか、又はそれによって提供される。更に、
図2は、本明細書に記載される実装形態の構造概略ではなく、特定の実装形態に存在する様々な特徴の機能を説明することをより意図している。当業者によって認識されるように、別々に示された事項を組み合わせることができ、また、一部の事項は分離することができる。例えば、
図2に別々に示されるいくつかの機能モジュールは、単一のモジュール内に実装することができ、単一の機能ブロックの様々な機能は、様々な実装形態において1つ以上の機能ブロックによって実装され得る。モジュールの実際の数、並びに特定の機能の分割及びそれらの間にどのように機能が割り当てられるかは、実装形態によって異なり、いくつかの実装形態では、特定の実装形態のために選択されたハードウェア、ソフトウェア、及び/又はファームウェアの特定の組み合わせに部分的に依存する。
【0056】
図3は、いくつかの実装形態に係る、電子デバイス120(例えば、モバイルフォン、タブレット、ラップトップ、ニアアイシステム、ウェアラブルコンピューティングデバイスなど)の一例のブロック図である。特定の特徴が示されているが、当業者は、本明細書に開示される実装形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。その目的で、非限定的な例として、いくつかの実装形態では、電子デバイス120は、1つ以上の処理ユニット302(例えば、マイクロプロセッサ、ASIC、FPGA、GPU、CPU、処理コアなど)、1つ以上の入出力(I/O)デバイス及びセンサ306、1つ以上の通信インタフェース308(例えば、USB、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、GSM、CDMA、TDMA、GPS、赤外線、BLUETOOTH、ZIGBEE、及び/又は同様のタイプのインタフェース)、1つ以上のプログラミング(例えば、I/O)インタフェース310、1つ以上のディスプレイ312、画像キャプチャデバイス370(例えば、1つ以上の任意選択の内向き及び/又は外向き画像センサ)、メモリ320、並びにこれら及び様々な他のコンポーネントを相互接続するための1つ以上の通信バス304を含む。
【0057】
いくつかの実装形態では、1つ以上の通信バス304は、システム構成要素間を相互接続し、かつ通信を制御する回路を含む。いくつかの実装形態では、1つ以上のI/Oデバイス及びセンサ306は、慣性測定ユニット(IMU)、加速度計、ジャイロスコープ、磁力計、温度計、1つ以上の生理学的センサ(例えば、血圧モニタ、心拍数モニタ、血液酸素測定モニタ、血糖モニタなど)、1つ以上のマイクロフォン、1つ以上のスピーカ、触覚エンジン、加熱及び/又は冷却ユニット、皮膚せん断エンジン、1つ以上の深度センサ(例えば、構造化光、飛行時間、LiDARなど)、位置特定及びマッピングエンジン、視線追跡エンジン、胴体/頭部姿勢追跡エンジン、手/四肢/指/四肢追跡エンジン、カメラ姿勢追跡エンジンなどのうちの少なくとも1つを含む。
【0058】
いくつかの実装形態では、1つ以上のディスプレイ312が、ユーザにXR環境を提示するように構成される。いくつかの実装形態では、1つ以上のディスプレイ312は、フラットビデオコンテンツ(例えば、TVエピソード若しくは映画に関連付けられた2次元又は「フラット」AVI、FLV、WMV、MOV、MP4などのファイル、又は物理環境105のライブビデオパススルー)をユーザに提示するようにも構成される。いくつかの実装形態では、1つ以上のディスプレイ312は、タッチスクリーンディスプレイに対応する。いくつかの実装形態では、1つ以上のディスプレイ312は、ホログラフィック、デジタル光処理(DLP)、液晶ディスプレイ(LCD)、反射型液晶(LCoS)、有機発光電界効果トランジスタ(OLET)、有機発光ダイオード(OLED)、表面伝導型電子放出素子ディスプレイ(SED)、電界放出ディスプレイ(FED)、量子ドット発光ダイオード(QD-LED)、微小電気機械システム(MEMS)、及び/又は同様のディスプレイタイプに相当する。いくつかの実装形態では、1つ以上のディスプレイ312は、回折、反射、偏光、ホログラフィックなどの、導波路ディスプレイに相当する。例えば、電子デバイス120は、単一のディスプレイを含む。別の例では、電子デバイス120は、ユーザの各眼用のディスプレイを含む。いくつかの実装形態では、1つ以上のディスプレイ312は、AR及びVRコンテンツを提示することができる。いくつかの実装形態において、1つ以上のディスプレイ312は、AR又はVRコンテンツを提示することができる。
【0059】
いくつかの実装形態では、画像キャプチャデバイス370は、(例えば、相補型金属酸化膜半導体(CMOS)画像センサ又は電荷結合デバイス(CCD)画像センサを備えた)1つ以上のRGBカメラ、IR画像センサ、イベントベースのカメラなどを含む。いくつかの実装形態では、画像キャプチャデバイス370は、レンズアセンブリ、フォトダイオード、及びフロントエンドアーキテクチャを含む。いくつかの実装形態では、画像キャプチャデバイス370は、外向き及び/又は内向き画像センサを含む。
【0060】
メモリ320は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの、高速ランダムアクセスメモリを含む。いくつかの実装形態では、メモリ320には、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性記憶デバイスなどの不揮発性メモリが含まれる。メモリ320は、1つ以上の処理ユニット302からリモートに位置する1つ以上の記憶デバイスを任意選択的に含む。メモリ320は、非一時的コンピュータ可読記憶媒体を含む。いくつかの実装形態では、メモリ320、又はメモリ320の非一時的コンピュータ可読記憶媒体は、任意選択のオペレーティングシステム330及び提示エンジン340を含む、以下のプログラム、モジュール及びデータ構造、又はそれらのサブセットを記憶する。
【0061】
オペレーティングシステム330は、様々な基本システムサービスを処理するための手順、及びハードウェア依存タスクを実行するための手順を含む。いくつかの実装形態では、提示エンジン340は、1つ以上のディスプレイ312を介して媒体アイテム及び/又はXRコンテンツをユーザに提示するように構成される。その目的で、様々な実装形態では、提示エンジン340は、データ取得部342、提示部570、対話処理部520、及びデータ送信部350を含む。
【0062】
いくつかの実装形態では、データ取得部342は、電子デバイス120のI/Oデバイス及びセンサ306、処理デバイス110、並びにリモート入力デバイスのうちの少なくとも1つからデータ(例えば、ユーザインタフェース又はXR環境に関連するレンダリングされた画像フレームなどの提示データ、入力データ、ユーザ対話データ、頭部追跡情報、カメラ姿勢追跡情報、視線追跡情報、手/肢/指/四肢追跡情報、センサデータ、ロケーションデータなど)を取得するように構成される。その目的で、様々な実装形態では、データ取得部342は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0063】
いくつかの実装形態では、対話処理部520は、提示されたA/Vコンテンツ及び/又はXRコンテンツとのユーザ対話(例えば、手/四肢追跡を介して検出されるジェスチャ入力、視線追跡を介して検出される視線入力、音声コマンドなど)を検出するように構成される。その目的で、様々な実装形態では、対話処理部520は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0064】
いくつかの実装形態では、提示部570は、1つ以上のディスプレイ312を介してA/Vコンテンツ及び/又はXRコンテンツ(例えば、VA、XRコンテンツ、XRコンテンツに関連付けられた1つ以上のUI要素などを含む、ユーザインタフェース又はXR環境128に関連付けられたレンダリングされた画像フレーム)を提示及び更新するように構成される。その目的で、様々な実装形態では、提示部570は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0065】
いくつかの実装形態では、データ送信部350は、データ(例えば、提示データ、ロケーションデータ、ユーザ対話データ、頭部追跡情報、カメラ姿勢追跡情報、視線追跡情報、手/肢/指/四肢追跡情報など)を少なくとも処理デバイス110に送信するように構成される。その目的で、様々な実装形態では、データ送信部350は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
【0066】
データ取得部342、対話処理部520、提示部570、及びデータ送信部350は、単一のデバイス(例えば、電子デバイス120)上に存在するものとして示されているが、他の実装形態では、データ取得部342、対話処理部520、提示部570、及びデータ送信部350の任意の組み合わせが、別個のコンピューティングデバイス内に配置されてもよいことを理解されたい。
【0067】
更に、
図3は、本明細書に記載される実装形態の構造概略ではなく、特定の実装形態に存在する様々な特徴の機能を説明することをより意図している。当業者によって認識されるように、別々に示された事項を組み合わせることができ、また、一部の事項は分離することができる。例えば、
図3に別々に示されるいくつかの機能モジュールは、単一のモジュール内に実装することができ、単一の機能ブロックの様々な機能は、様々な実装形態において1つ以上の機能ブロックによって実装され得る。モジュールの実際の数、並びに特定の機能の分割及びそれらの間にどのように機能が割り当てられるかは、実装形態によって異なり、いくつかの実装形態では、特定の実装形態のために選択されたハードウェア、ソフトウェア、及び/又はファームウェアの特定の組み合わせに部分的に依存する。
【0068】
図4は、いくつかの実装形態に係る、例示的なコントローラ130のブロック図である。コントローラ130は、単にスタイラスと呼ばれる場合もある。コントローラ130は、非一時的メモリ402(任意選択的に、1つ以上のコンピュータ可読記憶媒体を含む)、メモリコントローラ422、1つ以上の処理ユニット(CPU)420、周辺機器インタフェース418、RF回路408、入出力(I/O)サブシステム406、及びその他の入力又は制御デバイス416を含む。コントローラ130は、任意選択的に、外部ポート424及び1つ以上の光学センサ464を含む。コントローラ130は、任意選択的に、デバイス100上の(例えば、コントローラ130が電子デバイス120のディスプレイシステム122などのタッチ感知面と共に使用されるとき)、又は他の表面(例えば机の表面)上のコントローラ130の接触の強度を検出するための、1つ以上の接触強度センサ465を含む。コントローラ130は、任意選択的に、コントローラ130上に触知出力を生成するための1つ以上の触知出力生成器463を含む。これらの構成要素は、任意選択的に、1つ以上の通信バス又は信号ライン403を介して通信する。
【0069】
コントローラ130は、電子スタイラスの一例にすぎず、コントローラ130は、示されているものよりも多くの構成要素又は少ない構成要素を任意選択的に有し、2つ以上の構成要素を任意選択的に組み合わせるか、又は、それらの構成要素の異なる構成若しくは配置を任意選択的に有することを理解されたい。
図4に示された様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせに実装される。
【0070】
図1に示すように、コントローラ130は、第1の端部176及び第2の端部177を含む。様々な実施形態では、第1の端部176は、コントローラ130の先端(例えば、鉛筆の先端)に対応し、第2の端部177は、コントローラ130の反対側又は下端(例えば、鉛筆の消しゴム)に対応する。
【0071】
図1に示すように、コントローラ130は、ユーザ149からタッチ入力を受信するためのタッチ感知面175を含む。いくつかの実装形態では、タッチ感知面175は、容量性タッチ要素に対応する。コントローラ130は、タッチ感知面175との触覚及び/又は触知接触に基づいてユーザからの入力を検出するセンサ又はセンサのセットを含む。いくつかの実装形態では、コントローラ130は、容量性、抵抗性、赤外線及び表面弾性波技術、並びに他の近接センサアレイ又はタッチ感知面175との1つ以上の接触点を判定する他の要素を含むがこれに限定されない現在知られている又は今後開発される複数のタッチ感知技術のいずれかを使用して接触及びその移動又は切断を検出する。コントローラ130は、様々なセンサ及び様々なタイプのセンサを含むため、コントローラ130は、ユーザ149からの様々な入力を検出することができる。いくつかの実装形態では、1つ以上のセンサは、ユーザがタッチ感知面175を1回又は複数回タップすることに応じて、単一のタッチ入力又は連続するタッチ入力を検出することができる。いくつかの実装形態では、1つ以上のセンサは、ユーザが1本以上の指でタッチ感知面175に沿ってストロークすることに応じて、コントローラ130上のスワイプ入力を検出することができる。いくつかの実装形態では、ユーザがタッチ感知面175に沿ってストロークする速度が閾値を超える場合、1つ以上のセンサは、スワイプ入力ではなくフリック入力を検出する。
【0072】
コントローラ130はまた、1つ以上の加速度計467、1つ以上のジャイロスコープ468、1つ以上の磁力計469など、コントローラ130の配向(例えば、角度ポジション)及び/又は移動を検出する1つ以上のセンサを含む。1つ以上のセンサは、回転のタイプ及び方向を含む、ユーザによるコントローラ130の様々な回転移動を検出することができる。例えば、1つ以上のセンサは、ユーザがコントローラ130をロール及び/又は旋回させることを検出することができ、ロール/旋回の方向(例えば、時計回り又は反時計回り)を検出することができる。いくつかの実装形態では、検出される入力は、電子デバイス120に対するコントローラ130の第1の端部176及び第2の端部177の角度位置、世界全体、物理環境105内の物理表面又はオブジェクト、XR環境128内の仮想表面又はオブジェクトに依存する。例えば、いくつかの実装形態では、コントローラ130が電子デバイスに対して実質的に垂直であり、第2の端部177(例えば、消しゴム)が電子デバイスにより近い場合、電子デバイスの表面を第2の端部177に接触させることによって消去動作が行われる。一方、コントローラ130が電子デバイスに対して実質的に垂直であり、第1の端部176(例えば、先端)が電子デバイスにより近い場合、電子デバイスの表面を第1の端部176と接触させることによってマーキング動作が行われる。
【0073】
メモリ402は、任意選択的に、高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上のフラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイスなどの、不揮発性メモリも含む。CPU(単数又は複数)420及び周辺機器インタフェース418などの、コントローラ130の他の構成要素によるメモリ402へのアクセスは、任意選択的に、メモリコントローラ422によって制御される。
【0074】
周辺機器インタフェース418を使用して、このスタイラスの入力及び出力周辺機器を、CPU(単数又は複数)420及びメモリ402に結合することができる。1つ以上のプロセッサ420は、コントローラ130のための様々な機能を実行するため及びデータを処理するために、メモリ402に記憶された様々なソフトウェアプログラム及び/又は命令セットを動作させる、又は実行する。いくつかの実装形態では、周辺機器インタフェース418、CPU(単数又は複数)420、及びメモリコントローラ422は、任意選択的に、チップ404などの単一のチップ上に実装される。いくつかの他の実施形態では、それらは別々のチップ上に任意選択的に実装される。
【0075】
RF(無線周波数)回路408は、電磁信号とも呼ばれるRF信号を送受信する。RF回路408は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して、処理デバイス110、電子デバイス120など、通信ネットワーク、及び/又は他の通信デバイスと通信する。RF回路408は、任意選択的に、これらの機能を実行するための周知の回路を含み、それらの回路としては、限定するものではないが、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(SIM)カード、メモリなどが挙げられる。RF回路408は、任意選択的に、ワールドワイドウェブ(WWW)とも呼ばれるインターネット、イントラネット、並びに/又はセルラ電話ネットワーク、無線ローカルエリアネットワーク(LAN)及び/若しくはメトロポリタンエリアネットワーク(MAN)などの無線ネットワークなどのネットワークと、また他のデバイスと、無線通信によって通信する。無線通信は、任意選択的に、Global System for Mobile Communications(GSM)(登録商標)、Enhanced Data GSM Environment(EDGE)(登録商標)、高速ダウンリンクパケットアクセス(HSDPA)、高速アップリンクパケットアクセス(HSUPA)、Evolution、Data-Only(EV-DO)、HSPA、HSPA+、Dual-Cell HSPA(DC-HSPA)、ロングタームエボリューション(LTE)、近距離無線通信(NFC)、広帯域符号分割多元接続(W-CDMA)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、BLUETOOTH、ワイヤレスフィデリティ(Wi-Fi)(登録商標)(例えば、IEEE802.11a、IEEE802.11ac、IEEE802.11ax、IEEE802.11b、IEEE 802.11g、及び/又はIEEE802.11n)、又は本文書の出願日の時点でまだ開発されていない通信プロトコルを含む任意の他の適切な通信プロトコルを含むが、これらに限定されない複数の通信規格、プロトコル及び技術のいずれかを用いる。
【0076】
I/Oサブシステム406は、その他の入力又は制御デバイス416などのコントローラ130上の入出力周辺機器を、周辺機器インタフェース418に結合する。I/Oサブシステム406は、任意選択的に、光センサコントローラ458、強度センサコントローラ459、触覚フィードバックコントローラ461、及びその他の入力又は制御デバイスのための1つ以上の入力コントローラ460を含む。1つ以上の入力コントローラ460は、他の入力又は制御デバイス416から電気信号を受信し、それらへ電気信号を送信する。その他の入力又は制御デバイス416は、任意選択的に、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。いくつかの代替的実施形態では、入力コントローラ(単数又は複数)460は、赤外線ポート及び/又はUSBポートのうちのいずれかに、任意選択的に結合される(又は、いずれにも結合されない)。
【0077】
コントローラ130はまた、様々な構成要素に電力を供給する電力システム462を含む。電力システム462は、任意選択的に、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイス及び/又はポータブルアクセサリにおける電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
【0078】
コントローラ130はまた、1つ以上の光学センサ464も任意選択的に含む。
図4は、I/Oサブシステム406内の光センサコントローラ458に結合された、光センサを示す。1つ以上の光学センサ464は、任意選択的に、電荷結合デバイス(CCD)又は相補的金属酸化物半導体(CMOS)フォトトランジスタを含む。1つ以上の光学センサ464は、1つ以上のレンズを通じて投影された環境からの光を受光し、その光を画像を表すデータに変換する。
【0079】
コントローラ130はまた、1つ以上の接触強度センサ465も任意選択的に含む。
図4は、I/Oサブシステム406内の強度センサコントローラ459に結合された、接触強度センサを示す。接触強度センサ465は、任意選択的に、1つ以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ(例えば、表面に対する、又はユーザ149の把持に対する接触の力(若しくは圧力)を測定するために使用するセンサ)を含む。接触強度センサ465は、接触強度情報(例えば、圧力情報、又は圧力情報に対するプロキシ)を環境から受信する。いくつかの実装形態では、少なくとも1つの接触強度センサが、コントローラ130の先端に並置されているか、又はそれに近接している。いくつかの実装形態では、少なくとも1つの接触強度センサが、コントローラ130の本体に並置されているか、又は、それに近接している。
【0080】
コントローラ130はまた、任意選択的に、1つ以上の近接センサ466も含む。
図4は、周辺機器インタフェース418に結合された、1つ以上の近接センサ466を示す。あるいは、1つ以上の近接センサ466は、任意選択的に、I/Oサブシステム406内の入力コントローラ460に結合される。いくつかの実装形態では、1つ以上の近接センサ466は、電子デバイス(例えば、電子デバイス120)へのコントローラ130の近接度を判定する。
【0081】
コントローラ130はまた、任意選択的に、1つ以上の触知出力生成器463も含む。
図4は、I/Oサブシステム406内の触覚フィードバックコントローラ461に結合された触知出力生成器を示す。1つ以上の触知出力生成器(単数又は複数)463は、任意選択的に、スピーカ若しくは他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又は、モータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、電子デバイス上で電気信号を触知出力に変換する構成要素)などの、エネルギを直線的な動きに変換する電気機械デバイスを含む。1つ以上の触知出力生成器(単数又は複数)463は、触覚フィードバックモジュール433から触知フィードバック生成命令を受信し、コントローラ130のユーザが感知できる触知出力をコントローラ130上で生成する。いくつかの実装形態では、少なくとも1つの触知出力生成器は、コントローラ130の長さ(例えば、本体又は筐体)と並置されているか、又はそれに近接しており、任意選択的に、コントローラ130を垂直方向(例えば、コントローラ130の長さと平行な方向)に、又は横方向(例えば、コントローラ130の長さの法線方向)に動かすことによって、触知出力を生成する。
【0082】
コントローラ130はまた、任意選択的に、コントローラ130のロケーション及びポジション状態に関する情報を得るための、1つ以上の加速度計467、1つ以上のジャイロスコープ468、及び/又は1つ以上の磁力計469(例えば、慣性測定ユニット(IMU)の一部として)を含む。
図4は、周辺機器インタフェース418に結合された、センサ467、468、及び469を示す。あるいは、センサ467、468、及び469は、任意選択的に、I/Oサブシステム406内の入力コントローラ460に結合される。コントローラ130は、任意選択的に、コントローラ130のロケーションに関する情報を得るためのGPS(又はGLONASS若しくは他の全地球的航法システム)受信機(図示せず)を含む。
【0083】
コントローラ130は、タッチ感知システム432を含む。タッチ感知システム432は、タッチ感知面175で受信された入力を検出する。これらの入力は、コントローラ130のタッチ感知面175に関して本明細書で説明される入力を含む。例えば、タッチ感知システム432は、タップ入力、旋回入力、ロール入力、フリック入力、スワイプ入力などを検出することができる。タッチ感知システム432は、タッチ感知面175で受信された特定の種類のタッチ入力(例えば、旋回/ロール/フリック/スワイプなど)を解読するために、タッチ解釈モジュール477と連携する。
【0084】
いくつかの実装形態では、メモリ402に記憶されたソフトウェア構成要素は、オペレーティングシステム426、通信モジュール(又は命令セット)428、接触/動きモジュール(又は命令セット)430、ポジションモジュール(又は命令セット)431、及び全地球測位システム(GPS)モジュール(又は命令セット)435を含む。更に、いくつかの実装形態では、メモリ402は、
図4に示すように、デバイス/グローバル内部状態457を記憶する。更に、メモリ402は、タッチ解釈モジュール477を含む。デバイス/グローバル内部状態457は、スタイラスの様々なセンサ及び他の入力又は制御デバイス416から取得された情報、コントローラ130のポジション及び/又は配向に関する情報(例えば、並進及び/又は回転値)、及びコントローラ130のロケーションに関するロケーション情報(例えば、GPSモジュール435によって判定される)を含む、センサ状態のうちの1つ以上を含む。
【0085】
オペレーティングシステム426(例えば、iOS、Darwin(登録商標)、RTXC(登録商標)、LINUX(登録商標)、UNIX(登録商標)、OS X(登録商標)、WINDOWS(登録商標)、又はVxWorks(登録商標)などの組み込みオペレーティングシステム)は、一般的なシステムタスク(例えば、メモリ管理、電力管理など)を制御及び管理するための様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェア構成要素とソフトウェア構成要素との間の通信を容易にする。通信モジュール428は、任意選択的に、1つ以上の外部ポート424を介して他のデバイスとの通信を容易にし、RF回路408及び/又は外部ポート424が受信したデータを処理するための様々なソフトウェア構成要素をも含む。外部ポート424(例えば、ユニバーサルシリアルバス(USB)、FIREWIREなど)は、直接的に、又はネットワーク(例えばインターネット、無線LANなど)を介して間接的に、他のデバイスに結合するように適合されている。いくつかの実装形態では、コントローラ130のいくつかの機能又は動作は、処理デバイス110及び/又は電子デバイス120によって提供される。
【0086】
接触/動きモジュール430は、任意選択的に、コントローラ130及びコントローラ130の他のタッチ感知デバイス(例えば、コントローラ130のボタン又は他のタッチ感知構成要素)との接触を検出する。接触/動きモジュール430は、接触が発生したかどうかの判定(例えば、タッチダウンイベントの検出)、接触の強度(例えば、接触の力若しくは圧力、又は、接触の力若しくは圧力の代用物)の判定、(例えば、電子デバイス120のディスプレイ122にわたる)接触の移動及びその移動の追跡があるかどうかの判定、並びに接触が中止されたかどうか(例えば、リフトオフイベント又は接触の中断の検出)の判定などの、接触の検出(例えば、電子デバイス120のディスプレイ122などのタッチ感知ディスプレイに対する、又は机の表面などの別の表面に対する、スタイラスの先端の検出)に関係する様々な動作を実行するための、ソフトウェア構成要素を含む。いくつかの実装形態では、接触/動きモジュール430は、I/Oサブシステム406から接触データを受信する。一連の接触データによって表される、接触点の移動を判定することは、任意選択的に、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変更)を判定することを含む。上述のように、いくつかの実装形態では、接触の検出に関係するこれらの動作の内の1つ以上は、(接触/動きモジュール430を使用するスタイラスに加えて、又はその代わりに)電子デバイス120又は処理デバイス110によって実行される。
【0087】
接触/動きモジュール430は、任意選択的に、コントローラ130によるジェスチャ入力を検出する。コントローラ130による異なるジェスチャは、異なる接触パターン(例えば、検出される接触の異なる動き、タイミング、及び/又は強度)を有する。したがって、ジェスチャは、任意選択的に、特定の接触パターンを検出することによって検出される。例えば、単一のタップジェスチャを検出することは、タッチダウンイベントを検出し、続いて(例えば、アイコンのポジションでの)そのタッチダウンイベントと同じポジション(又は、実質的に同じポジション)でリフトオフイベントを検出することを含む。別の例として、スワイプジェスチャの検出は、タッチダウンイベントを検出し、続いて1つ以上のスタイラスドラッグイベントを検出し、その後、リフトオフイベントを検出することを含む。上述のように、いくつかの実装形態では、ジェスチャ検出は、(接触/動きモジュール430を使用するスタイラスに加えて、又はその代わりに)接触/動きモジュール430を使用する電子デバイスによって実行される。
【0088】
ポジションモジュール431は、1つ以上の加速度計467、1つ以上のジャイロスコープ468、及び/又は1つ以上の磁力計469と共に、任意選択的に、特定の基準系におけるコントローラ130の姿勢(例えば、ロール、ピッチ、及び/又はヨー)などのスタイラスに関するポジション情報を検出する。ポジションモジュール431は、1つ以上の加速度計467、1つ以上のジャイロスコープ468、及び/又は1つ以上の磁力計469と連携して、任意選択的に、コントローラ130のフリック、タップ、及びロールなどの移動ジェスチャを検出する。ポジションモジュール431は、特定の座標系内のスタイラスのポジションの検出及びスタイラスのポジションの変化の検出に関係する、様々な動作を実行するためのソフトウェア構成要素を含む。いくつかの実装形態では、ポジションモジュール431は、物理環境105又は世界全体に対するコントローラ130のポジション状態を検出し、コントローラ130のポジション状態の変化を検出する。
【0089】
触覚フィードバックモジュール433は、コントローラ130とのユーザ対話に応じて、コントローラ130上の1つ以上のロケーションで触知出力を生成するために、1つ以上の触知出力生成器463によって使用される命令を生成する様々なソフトウェア構成要素を含む。GPSモジュール435は、コントローラ130のロケーションを判定し、様々なアプリケーション(例えば、紛失したデバイス及び/又はアクセサリを見付けるためのアプリケーションなどの、ロケーションに基づくサービスを提供するアプリケーション)において使用するために、この情報を提供する。
【0090】
タッチ解釈モジュール477は、コントローラ130のタッチ感知面175で受信されたタッチ入力のタイプを判定(例えば、解読又は識別)するために、タッチ感知システム432と連携する。例えば、タッチ解釈モジュール477は、ユーザが十分に短い時間量でコントローラ130のタッチ感知面175にわたって十分な距離をストロークする場合、タッチ入力が(タップ入力とは対照的に)スワイプ入力に対応すると判定する。別の例として、タッチ解釈モジュール477は、ユーザがコントローラ130のタッチ感知面175をストロークする速度がスワイプ入力に対応する速度よりも十分に速い場合、タッチ入力が(スワイプ入力とは対照的に)フリック入力に対応すると判定する。ストロークの閾値速度は、予め設定することができ、変更することができる。様々な実施形態では、タッチ感知面でタッチが受け取られる圧力及び/又は力が、入力のタイプを判定する。例えば、軽いタッチは第1のタイプの入力に対応することができ、強いタッチは第2のタイプの入力に対応することができる。いくつかの実装形態では、タッチ解釈モジュール477の機能(単数又は複数)は、磁気センサからのデータ又はコンピュータビジョン技法を介したタッチ入力検出など、処理デバイス110及び/又は電子デバイス120によって提供される。
【0091】
上記特定されたモジュール及びアプリケーションの各々は、上記説明された1つ以上の機能、並びに本出願で説明される方法(例えば、コンピュータによって実行される方法、及び本明細書で説明される他の情報処理方法)を実行する実行可能な命令セットに対応する。それらのモジュール(すなわち、命令セット)は、別々のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、よって、それらのモジュールの様々なサブセットは、任意選択で、様々な実施形態において、組み合わされ、又はその他の方式で再配置される。いくつかの実装形態では、メモリ402は、任意選択的に、上記で識別したモジュール及びデータ構造のサブセットを記憶する。更に、メモリ402は、任意選択的に、上で説明されていない追加のモジュール及びデータ構造を記憶する。
【0092】
図5Aは、いくつかの実装形態に係る、例示的なコンテンツ配信アーキテクチャの第1の部分500Aのブロック図である。関連する特徴が示されているが、当業者であれば、本明細書に開示される例示的な実装形態のより適切な態様を曖昧にしないように簡潔化するために、様々な他の特徴が示されていないことを、本開示から理解するであろう。そのために、非限定的な例として、コンテンツ配信アーキテクチャは、
図1及び
図2に示される処理デバイス110などのコンピューティングシステム、
図1及び
図3に示される電子デバイス120、及び/又はそれらの適切な組み合わせに含まれる。
【0093】
図5Aに示すように、処理デバイス110、電子デバイス120、及び/又はこれらの組み合わせの1つ以上のローカルセンサ502は、物理環境105に関連付けられたローカルセンサデータ503を取得する。例えば、ローカルセンサデータ503は、物理環境105の画像又はそのストリーム、物理環境105についての同時ロケーション及びマッピング(SLAM)情報、及び物理環境105に対する電子デバイス120又はユーザ149のロケーション、物理環境105についての周辺照明情報、物理環境105についての周辺音声情報、物理環境105についての音響情報、物理環境105についての寸法情報、物理環境105内のオブジェクトについてのセマンティックラベルなどを含む。いくつかの実装形態では、ローカルセンサデータ503は、未処理又は後処理された情報を含む。
【0094】
同様に、
図5Aに示すように、物理環境105内の任意選択のリモート入力デバイスに関連付けられた1つ以上のリモートセンサ504は、物理環境105に関連付けられたリモートセンサデータ505を取得する。例えば、リモートセンサデータ505は、物理環境105の画像又はそのストリーム、物理環境105のSLAM情報及び物理環境105に対する電子デバイス120又はユーザ149のロケーション、物理環境105の周囲照明情報、物理環境105の周囲音声情報、物理環境105の音響情報、物理環境105の寸法情報、物理環境105内のオブジェクトの意味ラベル、及び/又は同様のものを含む。いくつかの実装形態では、リモートセンサデータ505は、未処理又は後処理された情報を含む。
【0095】
図5Aに示されるように、追跡データ506は、コントローラ130を位置特定及び追跡するために、処理デバイス110、電子デバイス120、又はコントローラ130のうちの少なくとも1つによって取得される。一例として、追跡データ506は、コントローラ130を含む電子デバイス120の外向き画像センサによってキャプチャされた物理環境105の画像又はそのストリームを含む。別の例として、追跡データ506は、コントローラ130の統合センサからのIMU情報、加速度計情報、ジャイロスコープ情報、磁力計情報、及び/又は同様のものに対応する。
【0096】
いくつかの実装形態によれば、プライバシーアーキテクチャ508は、ローカルセンサデータ503、リモートセンサデータ505、及び追跡データ506を取り込む。いくつかの実装形態では、プライバシーアーキテクチャ508は、ユーザ情報及び/又は識別情報に関連付けられた1つ以上のプライバシーフィルタを含む。いくつかの実装形態では、プライバシーアーキテクチャ508は、電子デバイス120が、どのユーザ情報及び/又は識別情報が監視されているか、並びにユーザ情報及び/又は識別情報がどのように使用されるかに関してユーザ149に通知するオプトイン機能を含む。いくつかの実装形態では、プライバシーアーキテクチャ508は、コンテンツ配信アーキテクチャ500A/500B又はその一部がユーザ情報を取得及び/又は送信することを選択的に防止及び/又は制限する。この目的のために、プライバシーアーキテクチャ508は、ユーザ149にユーザ選好及び/又は選択を促すことに応じて、ユーザ149からユーザ選好及び/又は選択を受信する。いくつかの実装形態では、プライバシーアーキテクチャ508は、プライバシーアーキテクチャ508がユーザ149からインフォームド・コンセントを取得しない限り、及び取得するまで、コンテンツ配信アーキテクチャ500A/500Bがユーザ情報を取得及び/又は送信することを防止する。いくつかの実装形態では、プライバシーアーキテクチャ508は、特定のタイプのユーザ情報を匿名化する(例えば、スクランブルする、不明瞭にする、暗号化するなど)。例えば、プライバシーアーキテクチャ508は、プライバシーアーキテクチャ508がどのタイプのユーザ情報を匿名化するかを指定するユーザ入力を受信する。別の例として、プライバシーアーキテクチャ508は、機密情報及び/又は識別情報を含む可能性が高い特定のタイプのユーザ情報を、ユーザ指定とは無関係に(例えば、自動的に)匿名化する。
【0097】
いくつかの実装形態によれば、オブジェクト追跡エンジン510は、プライバシーアーキテクチャ508にかけられた後、追跡データ506を取得する。いくつかの実装形態では、オブジェクト追跡エンジン510は、追跡データ506に基づいてオブジェクト追跡ベクトル511を判定/生成し、オブジェクト追跡ベクトル511を経時的に更新する。
【0098】
図5Bは、いくつかの実装形態に係る、オブジェクト追跡ベクトル511の例示的なデータ構造を示す。
図5Bに示すように、オブジェクト追跡ベクトル511は、タイムスタンプ571(例えば、オブジェクト追跡ベクトル511が更新された直近の時間)、物理オブジェクトの1つ以上の並進値572(例えば、物理環境105に対するx、y、及びz値、世界全体など)、物理オブジェクトの1つ以上の回転値574(例えば、ロール、ピッチ、及びヨー値)、物理オブジェクトに関連付けられた1つ以上の圧力値576(例えば、コントローラ130の端部と表面との間の接触に関連付けられた第1の圧力値、ユーザ149によって把持されている間にコントローラ130の本体に加えられた圧力の量に関連付けられた第2の圧力値など)、任意選択のタッチ入力情報578(例えば、コントローラ130のタッチ感知面175に向けられたユーザタッチ入力に関連付けられた情報)、及び/又は雑多情報579を含むNタプル特徴付けベクトル又は特徴付けテンソルに対応し得る。当業者は、
図5Bにおけるオブジェクト追跡ベクトル511のためのデータ構造が、様々な他の実装形態において異なる情報部分を含み得る例にすぎず、様々な他の実装形態において無数の方法で構造化され得ることを理解するであろう。
【0099】
いくつかの実装形態によれば、視線追跡エンジン512は、プライバシーアーキテクチャ508にかけられた後に、ローカルセンサデータ503及びリモートセンサデータ505を取得する。いくつかの実装形態では、視線追跡エンジン512は、入力データに基づいて視線追跡ベクトル513を判定/生成し、視線追跡ベクトル513を経時的に更新する。
【0100】
図5Bは、いくつかの実装形態に係る、視線追跡ベクトル513の例示的なデータ構造を示す。
図5Bに示されるように、視線追跡ベクトル513は、タイムスタンプ581(例えば、視線追跡ベクトル513が更新された直近の時間)、現在の視線方向に対する1つ以上の角度値582(例えば、ロール、ピッチ、及びヨー値)、現在の視線方向に対する1つ以上の並進値584(例えば、物理環境105に対するx、y、及びz値、世界規模など)、及び/又は雑多情報586を含むNタプル特徴付けベクトル又は特徴付けテンソルに対応し得る。当業者であれば、
図5Bの視線追跡ベクトル513のデータ構造は、様々な他の実装形態において異なる情報部分を含み得る例にすぎず、様々な他の実装形態において無数の方法で構造化され得ることを理解するであろう。
【0101】
例えば、視線方向は、ユーザ149が現在見ている物理環境105内の(例えば、物理環境105又は世界全体に対するx、y、及びz座標に関連付けられた)点、物理オブジェクト、又は関心領域(ROI)を示す。別の例として、視線方向は、ユーザ149が現在見ているXR環境128内の(例えば、XR環境128に対するx、y、及びz座標に関連付けられた)点、XRオブジェクト、又は関心領域(ROI)を示す。
【0102】
いくつかの実装形態によれば、胴体/頭部姿勢追跡エンジン514は、プライバシーアーキテクチャ508にかけられた後に、ローカルセンサデータ503及びリモートセンサデータ505を取得する。いくつかの実装形態では、胴体/頭部姿勢追跡エンジン514は、入力データに基づいて姿勢特徴付けベクトル515を判定/生成し、姿勢特徴付けベクトル515を経時的に更新する。
【0103】
図5Bは、いくつかの実装形態に係る、姿勢特徴付けベクトル515の例示的なデータ構造を示す。
図5Bに示されるように、姿勢特徴付けベクトル515は、タイムスタンプ591(例えば、姿勢特徴付けベクトル515が更新された直近の時間)、頭部姿勢記述子592A(例えば、上向き、下向き、中立など)、頭部姿勢の並進値592B、頭部姿勢の回転値592C、胴体姿勢記述子594A(例えば、起立、着座、うつ伏せなど)、胴体部分/四肢/肢/関節の並進値594B、胴体部分/四肢/肢/関節の回転値594C、及び/又は雑多な情報596を含むNタプル特徴付けベクトル又は特徴付けテンソルに対応し得る。いくつかの実装形態では、姿勢特徴付けベクトル515はまた、指/手/四肢追跡に関連付けられた情報を含む。当業者は、
図5Bの姿勢特徴付けベクトル515のためのデータ構造が、様々な他の実装形態において異なる情報部分を含み得る例にすぎず、様々な他の実装形態において無数の方法で構造化され得ることを理解するであろう。いくつかの実装形態によれば、視線追跡ベクトル513及び姿勢特徴付けベクトル515は、まとめてユーザ入力ベクトル519と呼ばれる。
【0104】
いくつかの実装形態によれば、特徴付けエンジン542は、オブジェクト追跡ベクトル511、視線追跡ベクトル513、及び姿勢特徴付けベクトル515を取得する。いくつかの実装形態では、特徴付けエンジン542は、オブジェクト追跡ベクトル511、視線追跡ベクトル513、及び姿勢特徴付けベクトル515に基づいて、物理オブジェクトの特徴付けベクトル543を判定/生成する。
【0105】
図5Bは、いくつかの実装形態に係る、特徴付けベクトル543の例示的なデータ構造を示す。
図5Bに示されるように、特徴付けベクトル543は、タイムスタンプ5101(例えば、特徴付けベクトル543が更新された直近の時間)、物理オブジェクトに関連付けられたユーザグリップ値5102、及び物理オブジェクトに関連付けられた姿勢値5104を含む、Nタプル特徴付けベクトル又は特徴付けテンソルに対応し得る。いくつかの実装形態では、ユーザグリップ値5102の値は、ユーザ149が物理オブジェクトを把持する様式を示す。例えば、ユーザグリップ値5102は、リモコン様グリップ、ワンド様グリップ、筆記グリップ、逆筆記グリップ、ハンドルグリップ、サムトップグリップ、レベル様グリップ、ゲームパッド様グリップ、フルート様グリップ、又は、発火具様グリップなどのうちの1つに対応する。いくつかの実装形態では、姿勢値5104は、ユーザ149、物理表面、又はコンピュータビジョン(CV)を介して検出可能である別のオブジェクトに対する物理オブジェクトの配向又はポジションを示す。例えば、姿勢値5104は、中立姿勢、コンダクタ/ワンド姿勢、筆記姿勢、表面姿勢、口近傍姿勢、照準姿勢などのうちの1つに対応する。
【0106】
上述したように、一例では、物理オブジェクトは、統合センサを含み、処理デバイス110に通信可能に結合されたコントローラ130に対応する。この例では、コントローラ130は、スタイラス、指装着型デバイス、ハンドヘルドデバイスなどに対応する。別の例では、物理オブジェクトは、処理デバイス110に通信可能に結合されていないプロキシオブジェクトに対応する。
【0107】
いくつかの実装形態によれば、動作モダリティ選択部544は、物理オブジェクトの特徴付けベクトル543を取得し、特徴付けベクトル543に基づいて(XR環境128と対話するときに)物理オブジェクトの現在の動作モダリティ545を選択する。一例として、姿勢値が中立姿勢に対応し、ユーザグリップ値が筆記具様グリップに対応するとき、選択された動作モダリティ545は、マーキングモードに対応し得る。別の例として、姿勢値が中立姿勢に対応し、ユーザグリップ値が逆筆記具様グリップに対応するとき、選択された動作モダリティ545は、消去モードに対応し得る。更に別の例として、姿勢値が口近傍姿勢に対応し、ユーザグリップ値がワンド様グリップに対応するとき、選択された動作モダリティ545は、口述モードに対応し得る。更に別の例として、姿勢値が中立姿勢に対応し、ユーザグリップ値がワンド様グリップに対応するとき、選択された動作モダリティ545は、操作モードに対応し得る。更に別の例として、姿勢値が照準姿勢に対応し、ユーザグリップ値がワンド様グリップに対応するとき、選択された動作モダリティ545は、ポインティングモードに対応し得る。
【0108】
図5Cは、いくつかの実装形態に係る、例示的なコンテンツ配信アーキテクチャの第2の部分500Bのブロック図である。関連する特徴が示されているが、当業者であれば、本明細書に開示される例示的な実装形態のより適切な態様を曖昧にしないように簡潔化するために、様々な他の特徴が示されていないことを、本開示から理解するであろう。その目的で、非限定的な例として、コンテンツ配信アーキテクチャは、
図1及び
図2に示される処理デバイス110などのコンピューティングシステム、
図1及び
図3に示される電子デバイス120、及び/又はそれらの適切な組み合わせに含まれる。
図5Cは、
図5Aと類似しており、そこから改変されている。したがって、同様の参照番号が
図5A及び
図5Cで使用される。よって、簡潔にするために、
図5Aと
図5Cとの間の差異のみを以下に説明する。
【0109】
いくつかの実装形態によれば、対話処理部520は、提示のためにA/Vコンテンツ、1つ以上のVA、及び/又はXRコンテンツを選択することに関連する、ユーザ149によって提供された1つ以上のユーザ入力521を取得する(例えば、受信する、取り出す、又は検出する)。例えば、1つ以上のユーザ入力521は、手/四肢追跡を介して検出されたUIメニューからXRコンテンツを選択するジェスチャ入力、視線追跡を介して検出されたUIメニューからXRコンテンツを選択する視線入力、マイクロフォンを介して検出されたUIメニューからXRコンテンツを選択する音声コマンドなどに対応する。いくつかの実装形態では、コンテンツ選択部522は、1つ以上のユーザ入力521(例えば、音声コマンド、XRコンテンツアイテムのメニューからの選択など)に基づいて、コンテンツライブラリ525からXRコンテンツ527を選択する。
【0110】
様々な実装形態では、コンテンツ管理部530は、オブジェクト追跡ベクトル511、ユーザ入力ベクトル519、選択された動作モダリティ545、ユーザ入力521などに基づいて、VA、XRコンテンツ、XRコンテンツに関連付けられた1つ以上のUI要素などのうちの1つ以上を含むXR環境128のレイアウト、セットアップ、構造などを管理及び更新する。その目的で、コンテンツ管理部530は、バッファ534、コンテンツ更新部536、及びフィードバックエンジン538を含む。
【0111】
いくつかの実装形態では、バッファ534は、1つ以上の過去のインスタンス及び/又はフレームについてのXRコンテンツ、レンダリングされた画像フレームなどを含む。いくつかの実装形態では、コンテンツ更新部536は、オブジェクト追跡ベクトル511、ユーザ入力ベクトル519、選択された動作モダリティ545、XRコンテンツ又はVAの修正及び/又は操作に関連付けられたユーザ入力521、物理環境105内のオブジェクトの並進移動又は回転移動、電子デバイス120(又はユーザ149)の並進移動又は回転移動などに基づいて、XR環境128を経時的に修正する。いくつかの実装形態では、フィードバックエンジン538は、XR環境128に関連付けられた感覚フィードバック(例えば、テキスト又は照明の変化などの視覚フィードバック、オーディオフィードバック、触覚フィードバックなど)を生成する。
【0112】
いくつかの実装形態によれば、
図5Cのレンダリングエンジン550を参照して、姿勢判定部552は、姿勢特徴付けベクトル515に少なくとも部分的に基づいて、XR環境128及び/又は物理環境105に対する電子デバイス120及び/又はユーザ149の現在のカメラ姿勢を判定する。いくつかの実装形態では、レンダリング部554は、それに対する現在のカメラ姿勢に従って、VA、XRコンテンツ527、XRコンテンツに関連付けられた1つ以上のUI要素などをレンダリングする。
【0113】
いくつかの実装形態によれば、任意選択の画像処理アーキテクチャ562は、電子デバイス120及び/又はユーザ149の現在のカメラ姿勢からの物理環境105の1つ以上の画像を含む画像ストリームを画像キャプチャデバイス370から取得する。いくつかの実装形態では、画像処理アーキテクチャ562はまた、ワーピング、色補正、ガンマ補正、シャープニング、ノイズ低減、ホワイトバランスなどの1つ以上の画像処理動作を画像ストリームに対して実行する。いくつかの実装形態では、任意選択的な合成部564は、レンダリングされたXRコンテンツを、画像処理アーキテクチャ562からの物理環境105の処理された画像ストリームと合成して、XR環境128のレンダリングされた画像フレームを生成する。様々な実装形態において、提示部570は、XR環境128のレンダリングされた画像フレームを、1つ以上のディスプレイ312を介してユーザ149に提示する。当業者であれば、任意選択の画像処理アーキテクチャ562及び任意選択の合成部564が、完全仮想環境(又は光学シースルーシナリオ)に適用可能でない場合があることを理解するであろう。
【0114】
図6A~
図6Nは、いくつかの実装形態に係る、コンテンツ配信シナリオのための一連のインスタンス610~6140を示す。特定の特徴が示されているが、当業者は、本明細書に開示される実装形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。その目的で、非限定的な例として、インスタンス610~6140のシーケンスは、
図1及び
図2に示す処理デバイス110などのコンピューティングシステム、
図1及び
図3に示される電子デバイス120、及び/又はそれらの適切な組み合わせによってレンダリングされ、提示される。
【0115】
図6A~
図6Nに示すように、コンテンツ配信シナリオは、(例えば、ユーザ149に関連付けられた)電子デバイス120のディスプレイ122上に表示される物理環境105及びXR環境128を含む。電子デバイス120は、ユーザ149が、電子デバイス120の外向き画像センサのFOV111内に現在あるドア115を含む物理環境105内に物理的に存在する間、XR環境128をユーザ149に提示する。したがって、いくつかの実装形態では、ユーザ149は、
図1の動作環境100と同様に、自分の左手150で電子デバイス120を保持する。
【0116】
言い換えれば、いくつかの実装形態では、電子デバイス120は、XRコンテンツを提示し、ディスプレイ122(例えば、ドア115)上の物理環境105の少なくとも一部分の光学シースルー又はビデオパススルーを可能にするように構成される。例えば、電子デバイス120は、モバイルフォン、タブレット、ラップトップ、ニアアイシステム、ウェアラブルコンピューティングデバイスなどに対応する。
【0117】
図6Aに示されるように、コンテンツ配信シナリオのインスタンス610(例えば、時間T
1に関連付けられる)の間、電子デバイス120は、物理環境105内の仮想エージェント(VA)606及びドア115の表現116を含むXR環境128を提示する。
図6Aに示すように、XR環境128はまた、現在の姿勢値(例えば、コントローラ130が現在ユーザ149によって把持されていないので現在の姿勢値がない)及び現在のユーザグリップ値(例えば、コントローラ130が現在ユーザ149によって把持されていないので現在のユーザグリップ値がない)を有するインスタンス610の視覚インジケータ612を含む。当業者であれば、視覚インジケータ612が、様々な他の実装形態において修正又は置換され得る姿勢及びユーザグリップ値を有する例示的な視覚化にすぎないことを理解するであろう。一例として、視覚インジケータ612は、テキスト通知の代わりに、バッジ、アイコン、音声出力などであってもよい。
【0118】
図6Bに示すように、コンテンツ配信シナリオの(例えば、時間T
2に関連付けられた)インスタンス620の間、電子デバイス120は、VA606と、現在の姿勢値(例えば、口近傍)及び現在のユーザグリップ値(例えば、ワンド)を有するインスタンス620の視覚インジケータ622と、ユーザ149の右手152の表現153によって保持されているコントローラ130の表現131(例えば、物理環境105のビデオパススルー)と、を含むXR環境128を提示する。
図6Bは、ユーザ149が自分の口の近傍で自分の右手152でコントローラ130を把持している、インスタンス620に対するユーザ149の現在の胴体姿勢625の図を含む。
【0119】
現在の姿勢値が「口近傍」に対応し、現在のユーザグリップ値が「ワンド」に対応すると判定したことに応じて、電子デバイス120は、コントローラ130の現在の動作モダリティとして口述モードを選択し、「口述モード起動中」を示す通知624も表示する。したがって、コントローラ130の現在の動作モダリティが口述モードに対応している間、ユーザ149は、XR環境128内に表示される宣伝文、メモ、コンテンツなどを口述することができる。当業者であれば、通知624は、様々な他の実装形態において修正又は置換され得る例示的な視覚化にすぎないことを理解するであろう。
【0120】
図6Cに示すように、コンテンツ配信シナリオのインスタンス630(例えば、時間T
3に関連付けられる)の間、電子デバイス120は、VA606と、現在の姿勢値(例えば、中立)及び現在のユーザグリップ値(例えば、ライティング)を有するインスタンス630の視覚インジケータ632と、ユーザ149の右手152の表現153によって保持されているコントローラ130の表現131(例えば、物理環境105のビデオパススルー)と、を含むXR環境128を提示する。
図6C~
図6Eは、インスタンス630~650に対するユーザ149の現在の胴体姿勢635の図を含み、ユーザ149は、空間に(例えば、3次元で)書く/スケッチする/描く/マークするために、右手152でコントローラ130を把持している。
【0121】
現在の姿勢値が「中立」に対応し、現在のユーザグリップ値が「ライティング」に対応すると判定したことに応じて、電子デバイス120は、コントローラ130の現在の動作モダリティとしてマーキングモードを選択し、「マーキングモード起動中」を示す通知634も表示する。
図6Cに示されるように、重力に対して、第1の端部176は下方に向けられ、第2の端部177は上方に向けられる。したがって、コントローラ130の現在の動作モダリティがマーキングモードに対応する間、ユーザ149は、3次元で書き込み/スケッチ/描画/マーキングすることができ、電子デバイス120は、XR環境128内に対応するマークを表示する。
【0122】
図6Dに示すように、コンテンツ配信シナリオの(例えば、時間T
4に関連付けられた)インスタンス640の間に、電子デバイス120は、(例えば、コントローラ130からの追跡データ506、コンピュータビジョンなどに基づいて)コントローラ130が空間内にある状態でマーキング入力644を検出する。
図6Eに示すように、コンテンツ配信シナリオの(例えば、時間T
5に関連付けられた)インスタンス650の間、電子デバイス120は、
図6Eにおけるマーキング入力644の検出に応じて、XR環境128内にマーク654を表示する。例えば、マーク654は、マーキング入力644の形状や変位などに対応する。別の例では、マーク654は、マーキング入力644の形状、変位など、及び重み係数(例えば、増幅値、減衰値など)の関数に対応する。
【0123】
図6Fに示すように、コンテンツ配信シナリオの(例えば、時間T
6に関連付けられた)インスタンス660の間、電子デバイス120は、現在の姿勢値(例えば、表面)と、現在のユーザグリップ値(例えば、逆書き)を有するインスタンス660についてのVA606及び視覚インジケータ662と、を含むXR環境128を提示する。
図6F~
図6Hは、インスタンス660~680に対するユーザ149の現在の胴体姿勢665の図を含み、ユーザ149は、電子デバイス120のディスプレイ122上に書く/スケッチする/描く/マークするために、右手152でコントローラ130を把持している。
【0124】
現在の姿勢値が「表面」に対応し、現在のユーザグリップ値が「逆書き込み」に対応すると判定したことに応じて、電子デバイス120は、コントローラ130の現在の動作モダリティとして消去モードを選択し、「消去モード起動中」を示す通知664も表示する。
図6Fに示すように、重力に対して、第2の端部177は下方に向けられ、第1の端部176は上方に向けられる。したがって、コントローラ130の現在の動作モダリティが消去モードに対応する間、ユーザ149は、XR環境128からピクセルマークを除去/消去することができる。
【0125】
図6Gに示すように、コンテンツ配信シナリオの(例えば、時間T
7に関連付けられた)インスタンス670の間、電子デバイス120は、コントローラ130を用いてディスプレイ122(例えば、タッチ感知面など)上の消去入力674を検出する。
図6Hに示すように、コンテンツ配信シナリオのインスタンス680(例えば、時間T
8に関連付けられている)の間、電子デバイス120は、
図6Gにおける消去入力674の検出に応じて、XR環境128内のマーク654を除去する。
【0126】
図6Iに示されるように、コンテンツ配信シナリオの(例えば、時間T
9に関連付けられた)インスタンス690の間、電子デバイス120は、VA606と、現在の姿勢値(例えば、照準)及び現在のユーザグリップ値(例えば、ワンド)を有するインスタンス690の視覚インジケータ692と、ユーザ149の右手152の表現153によって保持されている物理オブジェクト695の表現696(例えば、物理環境105のビデオパススルー)とを含むXR環境128を提示する。
図6I及び6Jは、インスタンス690及び6100に対するユーザ149の現在の胴体姿勢697の図を含み、それによって、ユーザ149は、空間内を指すために、彼/彼女の右手152で物理オブジェクト695(例えば、定規、スティック、コントローラ130など)を把持している。
【0127】
現在の姿勢値が「照準」に対応し、現在のユーザグリップ値が「ワンド」に対応すると判定したことに応じて、電子デバイス120は、物理オブジェクト695の現在の動作モダリティとしてポインティングモードを選択し、「ポインティングモード起動中」を示す通知694も表示する。したがって、物理オブジェクト695の現在の動作モダリティがポインティングモードに対応する間、ユーザ149は、XR環境128内で物理オブジェクト695をレーザポインタ型デバイスとして使用することができる。
図6I及び
図6Jに示すように、物理オブジェクト695の表現696は、XR環境128内のVA606に向けられている。
【0128】
図6Jに示されるように、コンテンツ配信シナリオの(例えば、時間T
10に関連付けられた)インスタンス6100の間、電子デバイス120は、物理オブジェクト695の表現696が
図6IのXR環境128内のVA606に向けられていると判定したことに応じて、XR環境128内のVA606と同じ場所に配置されたクロスヘア6102(例えば、フォーカス選択部)を提示する。
【0129】
図6Kに示すように、コンテンツ配信シナリオの(例えば、時間T
11に関連付けられた)インスタンス6110の間、電子デバイス120は、VA606、XRコンテンツの第1の視点6116A(例えば、立方体、箱などの前面)、現在の姿勢値(例えば、中立)及び現在のユーザグリップ値(例えば、ワンド)を有するインスタンス6110の視覚インジケータ6112、並びにユーザ149の右手152の表現153によって保持されている物理オブジェクト695の表現696(例えば、物理環境128のビデオパススルー)を含むXR環境105を提示する。
図6K~
図6Mは、ユーザ149がXRコンテンツを操作するために自分の右手152で物理オブジェクト695(例えば、定規、スティック、コントローラ130など)を把持しているインスタンス6110~6130についてのユーザ149の現在の胴体姿勢6115の図を含む。
【0130】
現在の姿勢値が「中立」に対応し、現在のユーザグリップ値が「ワンド」に対応すると判定したことに応じて、電子デバイス120は、物理オブジェクト695の現在の動作モダリティとして操作モードを選択し、「操作モード起動中」を示す通知6114も表示する。したがって、物理オブジェクト695の現在の動作モダリティが操作モードに対応する間、ユーザ149は、物理オブジェクト695を使用して、XR環境128内のXRコンテンツを操作(例えば、並進、回転など)することができる。
【0131】
図6Lに示すように、コンテンツ配信シナリオの(例えば、時間T
12に関連付けられた)インスタンス6120の間、電子デバイス120は、(例えば、コンピュータビジョンなどに基づいて)空間内の物理オブジェクト695を用いて操作入力6122を検出する。例えば、操作入力6122は、時計回り方向への180度の回転入力に対応する。
図6Mに示されるように、コンテンツ配信シナリオの(例えば、時間T
13に関連付けられた)インスタンス6130の間、電子デバイス120は、
図6Lにおける操作入力6122を検出したことに応じて、XRコンテンツの第2の視点6116B(例えば、立方体、箱などの背面)を示すために、XRコンテンツを時計回りに180度回転させる。
【0132】
図6Nに示すように、コンテンツ配信シナリオの(例えば、時間T
14に関連付けられた)インスタンス6140の間、電子デバイス120は、VA606と、現在の姿勢値(例えば、口近傍)及び現在のユーザグリップ値(例えば、ワンド)を有するインスタンス6140の視覚インジケータ6142と、ユーザ149の右手152の表現153によって保持されている物理オブジェクト695の表現696(例えば、物理環境105のビデオパススルー)とを含むXR環境128を提示する。
図6N~
図6Rは、ユーザ149が自分の口の近傍で自分の右手152で物理オブジェクト695(例えば、定規、スティック、コントローラ130など)を把持している、インスタンス6140~6180についてのユーザ149の現在の胴体姿勢6145の図を含む。
【0133】
現在の姿勢値が「口近傍」に対応し、現在のユーザグリップ値が「ワンド」に対応すると判定したことに応じて、かつキーワード又はキーフレーズ(例えば、「へい、デジタルアシスタント」など)を有するユーザ149からの発話入力6146を検出したことに応じて、電子デバイス120は、物理オブジェクト695の現在の動作モダリティとしてデジタルアシスタントモードを選択し、「デジタルアシスタントモード起動中」を示す通知6144も表示する。したがって、物理オブジェクト695の現在の動作モダリティがデジタルアシスタントモードに対応する間、ユーザ149は、デジタルアシスタントプログラムが実行するための可聴コマンドや検索文字列などを提供することができる。
【0134】
図6Oに示すように、コンテンツ配信シナリオの(例えば、時間T
15に関連付けられた)インスタンス6150の間、電子デバイス120は、XR環境128内にデジタルアシスタント(DA)インジケータ6152A(例えば、アイコン、バッジ、画像、テキストボックス、通知など)を表示する。
図6Oに示すように、XR環境128はまた、
図6OのDAインジケータ6152Aに現在向けられているユーザ149の視線方向の視覚化6154を含む。当業者であれば、DAインジケータ6152Aが、様々な他の実装形態において修正又は置換され得る例示的な視覚化にすぎないことを理解するであろう。当業者であれば、視線方向の視覚化6154が様々な他の実装形態において表示されなくてもよいことを理解するであろう。
【0135】
図6Pに示すように、コンテンツ配信シナリオの(例えば、時間T
16に関連付けられた)インスタンス6160の間、電子デバイス120は、
図6Oにおいて、ユーザ149の視線方向が少なくとも所定の時間量にわたってDAインジケータ6152Aに向けられたことを検出したことに応じて、オーディオ出力6162を提供し(例えば、検索文字列又は音声コマンドを提供するようにユーザ149に促す)、XR環境128内にDAインジケータ6152Bを表示する。
図6Pに示すように、DAインジケータ6152Bは、
図6OのDAインジケータ6152Aよりも大きなサイズに関連付けられている。いくつかの実装形態では、電子デバイス120は、ユーザ149の視線方向が少なくとも所定の時間量にわたってDAインジケータに向けられたことを検出したことに応じて、(例えば、
図6O及び
図6Pに示すように)DAインジケータの外観を変化させて、DAが検索文字列又は音声コマンドを受信する準備ができていることを示す。
【0136】
図6Qに示すように、コンテンツ配信シナリオの(例えば、時間T
17に関連付けられた)インスタンス6170の間、電子デバイス120は、ユーザ149からの発話入力6172(例えば、検索文字列)を検出する。
図6Rに示すように、コンテンツ配信シナリオの(例えば、時間T
18に関連付けられた)インスタンス6180中に、電子デバイス120は、
図6Qにおいて検出された発話入力6172に関連付けられた検索文字列に対応する検索結果6182をXR環境内に提示する。例えば、検索結果6182は、テキスト、オーディオコンテンツ、ビデオコンテンツ、3Dコンテンツ、XRコンテンツなどを含む。
【0137】
図7は、いくつかの実装形態に係る、物理オブジェクトの動作モダリティを動的に選択する方法700のフローチャートである。様々な実装形態では、方法700は、非一時的メモリ及び1つ以上のプロセッサを含むコンピューティングシステムにおいて実行され、コンピューティングシステムは、ディスプレイデバイス及び(任意選択の)1つ以上の入力デバイス(例えば、
図1及び
図3に示す電子デバイス120、
図1及び
図2の処理デバイス110、又はそれらの適切な組み合わせ)に通信可能に結合される。いくつかの実装形態では、方法700は、処理ロジックによって実行され、処理ロジックは、ハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせを含む。いくつかの実装形態では、方法700は、非一時的コンピュータ可読媒体(例えば、メモリ)に記憶されたコードを実行するプロセッサによって実行される。いくつかの実装形態では、コンピューティングシステムは、タブレット、ラップトップ、モバイルフォン、ニアアイシステム、ウェアラブルコンピューティングデバイスなどのうちの1つに対応する。
【0138】
上述したように、スタイラスの挙動を変更するために、ユーザは通常、利用可能なツールのメニューから異なるツールを選択する。これは、扱いにくく面倒なプロセスであり得る。対照的に、本明細書で説明される革新は、ユーザが、その姿勢及び把持に基づいて、物理オブジェクト(例えば、スタイラス、指装着型デバイス、ハンドヘルドデバイスなどのプロキシオブジェクト又は電子デバイス)の動作モダリティを動的に変更することを可能にする。例えば、コンピューティングシステム(例えば、提示デバイス)は、物理オブジェクト自体に関連付けられた追跡データ、並びにコンピューティングシステムによって取得されたコンピュータビジョン、視線追跡、手/四肢追跡、音声入力などの他の入力に基づいて、物理オブジェクトの姿勢及び把持を判定する。したがって、ユーザは、自分のワークフローを中断することなく、物理オブジェクト(例えば、ハンドヘルドスタイラス)の動作モダリティをシームレスに変更し得る。
【0139】
ブロック710によって表されるように、方法700は、複数の異なる入力モダリティのうちの1つに関連付けられた少なくとも1つのユーザ入力インジケータ値を含むユーザ入力ベクトルを取得する(例えば、受信する、取り出す、又は検出/収集する)ことを含む。例えば、ユーザは、コンピューティングシステムの1つ以上の入力デバイスを介してベクトルを入力する。この例を続けると、1つ以上の入力デバイスは、視線追跡エンジン、指/手/四肢追跡エンジン、頭部/胴体姿勢追跡エンジン、1つ以上のマイクロフォン、外向き画像センサなどを含み得る。
【0140】
図5Aに示されるように、コンテンツ配信アーキテクチャの第1の部分500Aは、ローカルセンサデータ503及びリモートセンサデータ505に基づいて視線追跡ベクトル513を判定/生成し、視線追跡ベクトル513を経時的に更新する視線追跡エンジン512を含む。更に、
図5Aに示されるように、コンテンツ配信アーキテクチャの第1の部分500Aは、ローカルセンサデータ503及びリモートセンサデータ505に基づいて姿勢特徴付けベクトル515を判定/生成し、経時的に姿勢特徴付けベクトル515を更新する胴体/頭部姿勢追跡エンジン514を含む。いくつかの実装形態によれば、視線追跡ベクトル513及び姿勢特徴付けベクトル515は、まとめてユーザ入力ベクトル519と呼ばれる。
図5Bは、視線追跡ベクトル513及び姿勢特徴付けベクトル515の例示的なデータ構造を示す。
【0141】
いくつかの実装形態では、コンピューティングシステムは、1つ以上の外向き画像センサに更に通信可能に結合され、物理オブジェクトに関連付けられた追跡データを取得することは、物理オブジェクトを視覚的に追跡するために、1つ以上の外向き画像センサによってキャプチャされた画像ストリームを分析することを含む。
【0142】
いくつかの実装形態では、コンピューティングシステムが、1つ以上の四肢追跡インジケータ値を出力する四肢追跡サブシステムに更に通信可能に結合され、1つ以上の四肢追跡インジケータ値が、複数の入力モダリティのうちの四肢追跡モダリティに関連付けられ、ユーザ入力ベクトルが、1つ以上の四肢追跡インジケータ値を含む。
【0143】
いくつかの実装形態では、コンピューティングシステムが、1つ以上の頭部/胴体姿勢追跡インジケータ値を出力する頭部/胴体姿勢追跡サブシステムに更に通信可能に結合され、1つ以上の頭部/胴体姿勢追跡インジケータ値が、複数の入力モダリティのうちの頭部/胴体姿勢追跡モダリティに関連付けられ、ユーザ入力ベクトルが、1つ以上の頭部/胴体姿勢追跡インジケータ値を含む。
【0144】
いくつかの実装形態では、コンピューティングシステムは、1つ以上の音声検出インジケータ値を出力する音声検出サブシステムに更に通信可能に結合され、1つ以上の音声検出インジケータ値は、複数の入力モダリティのうちの音声検出モダリティに関連付けられ、ユーザ入力ベクトルは、1つ以上の音声検出インジケータ値を含む。
【0145】
いくつかの実装形態では、コンピューティングシステムは、1つ以上の視線追跡インジケータ値を出力する視線追跡サブシステムに更に通信可能に結合され、1つ以上の視線追跡インジケータ値は、複数の入力モダリティのうちの1つの視線追跡モダリティに関連付けられ、ユーザ入力ベクトルは、1つ以上の視線追跡インジケータ値を含む。
【0146】
ブロック720によって表されるように、方法700は、物理オブジェクトに関連付けられた追跡データを取得する(例えば、受信する、取り出す、又は検出/収集する)ことを含む。
図5Aに示されるように、コンテンツ配信アーキテクチャの第1の部分500Aは、追跡データ506に基づいてオブジェクト追跡ベクトル511を判定/生成し、オブジェクト追跡ベクトル511を経時的に更新するオブジェクト追跡エンジン510を含む。
図5Bは、オブジェクト追跡ベクトル511の例示的なデータ構造を示す。
【0147】
一例として、物理オブジェクトは、鉛筆、ペン、定規、スティックなど、コンピューティングシステムへの通信チャネルがない物理環境内で検出されたプロキシオブジェクトに対応する。
図6I~
図6Rは、電子デバイス120と通信することができず、XR環境128と対話するために使用される物理オブジェクト695を把持しているユーザ149を示す。別の例として、物理オブジェクトは、スタイラス、指装着型デバイス、ハンドヘルドデバイスなど、コンピューティングシステムへの有線又は無線通信チャネルを有する電子デバイスに対応する。
図6A~
図6Hは、電子デバイス120と通信し、XR環境128と対話するために使用されるコントローラ130を把持するユーザ149を示す。いくつかの実装形態によれば、コンピューティングシステムは、物理オブジェクトがプロキシオブジェクトに対応するか、又は電子デバイスに対応するかにかかわらず、物理オブジェクトの動作モダリティを動的に選択する。
【0148】
いくつかの実装形態では、1つ以上の入力デバイスは、1つ以上の外向き画像センサを含み、物理オブジェクトに関連付けられた追跡データを取得することは、物理オブジェクトを視覚的に追跡するために、1つ以上の外向き画像センサによってキャプチャされた画像ストリームを分析することを含む。いくつかの実装形態では、追跡データは、コンピュータビジョン技法を介して6自由度(6DOF)で物理オブジェクトの追跡を可能にするために、物理オブジェクトを含む物理環境の1つ以上の画像に対応する。いくつかの実装形態では、追跡データは、GPS、IMU、加速度計、ジャイロスコープ、磁力計などの物理オブジェクトの様々な統合センサによって収集されたデータに対応する。例えば、追跡データは、生のセンサデータ又は処理されたデータ、例えば、(物理環境又は世界全体に対する)物理オブジェクトに関連付けられた並進値、(重力に対する)物理オブジェクトに関連付けられた回転値、物理オブジェクトに関連付けられた速度値、物理オブジェクトに関連付けられた角速度値、物理オブジェクトに関連付けられた加速度値、物理オブジェクトに関連付けられた角加速度値、物理オブジェクトが物理表面にどの程度強く接触しているかに関連付けられた第1の圧力値、物理オブジェクトが物理表面にどの程度強くユーザによって把持されているか接触しているかに関連付けられた第2の圧力値などに対応する。いくつかの実装形態では、コンピューティングシステムはまた、通信インタフェースを介して物理オブジェクトによって検出された指操作データを取得する。例えば、指操作データは、物理オブジェクトのタッチ感知領域に向けられたタッチ入力又はジェスチャなどを含む。例えば、指操作データは、物理オブジェクトの本体に対する接触強度データを含む。
【0149】
いくつかの実装形態では、コンピューティングシステムは、物理オブジェクトに更に通信可能に結合され、物理オブジェクトに関連付けられた追跡データを取得することは、物理オブジェクトから追跡データを取得することを含み、追跡データは、物理オブジェクトの1つ以上の統合センサからの出力データに対応する。したがって、いくつかの実装形態によれば、物理オブジェクトに関連付けられた追跡データは、姿勢値を含む。
図6A~
図6Hは、電子デバイス120と通信し、XR環境128と対話するために使用されるコントローラ130を把持するユーザ149を示す。例えば、1つ以上の統合センサは、IMU、加速度計、ジャイロスコープ、GPS、磁力計、1つ以上の接触強度センサ、タッチ感知面、及び/又は同様のもののうちの少なくとも1つを含む。いくつかの実装形態では、追跡データは更に、物理オブジェクトの先端が、物理表面に接触するか否か、及びそれに関連付けられた圧力値を示す。
【0150】
いくつかの実装形態では、コンピューティングシステムは、物理オブジェクトに更に通信可能に結合され、ユーザ入力ベクトルを取得することは、物理オブジェクトからユーザ入力ベクトルを取得することを含み、ユーザ入力ベクトルは、物理オブジェクトの1つ以上の統合センサからの出力データに対応する。したがって、いくつかの実装形態によれば、ユーザ入力ベクトルは、ユーザグリップ値を含む。
【0151】
いくつかの実装形態では、方法700は、物理環境の1つ以上の画像を取得することと、物理環境の1つ以上の画像を用いて物理オブジェクトを認識することと、ユーザインタフェースと対話するときにフォーカス選択部として機能するように物理オブジェクト(例えば、プロキシオブジェクト)を割り当てることと、を含む。
図6I~
図6Rは、電子デバイス120と通信することができず、XR環境128と対話するために使用される物理オブジェクト695を把持しているユーザ149を示す。いくつかの実装形態では、コンピューティングシステムは、物理オブジェクトがユーザによって把持されるとき、物理オブジェクトをフォーカス選択部として指定する。いくつかの実装形態では、コンピューティングシステムは、物理オブジェクトがユーザによって把持され、物理オブジェクトが事前定義された制約(例えば、最大又は最小サイズ、特定の形状、デジタル著作権管理(DRM)非限定子など)を満たすとき、物理オブジェクトをフォーカス選択部として指定する。したがって、いくつかの実装形態では、ユーザは、家庭用オブジェクトを使用して、XR環境と対話することができる。いくつかの実装形態では、姿勢及びグリップインジケータは、プロキシオブジェクトが移動する及び/又はFOVが移動するとき、プロキシオブジェクト(又はその表現)に固定され得る。
【0152】
ブロック730によって表されるように、方法700は、ユーザ入力ベクトル及び追跡データに基づいて、姿勢値及びユーザグリップ値を含む、物理オブジェクトについての第1の特徴付けベクトルであって、姿勢値は、物理オブジェクトとコンピューティングシステムのユーザとの間の空間関係を特徴付け、ユーザグリップ値は、物理オブジェクトがユーザによって保持されている様式を特徴付ける、第1の特徴付けベクトルを生成することを含む。
図5Aに示されるように、コンテンツ配信アーキテクチャの第1の部分500Aは、ユーザ入力ベクトル(例えば、視線追跡ベクトル513及び姿勢特徴付けベクトル515の組み合わせ)及び追跡データ(例えば、オブジェクト追跡ベクトル511)に基づいて、物理オブジェクトの特徴付けベクトル543を判定/生成し、特徴付けベクトル543を経時的に更新する、特徴付けエンジン542を含む。
図5Bは、ユーザグリップ値5102及び姿勢値5104を含む特徴付けベクトル543の例示的なデータ構造を示す。
【0153】
いくつかの実装形態では、ユーザ入力ベクトルは、追跡データ内の任意のオクルージョン又はギャップを埋めて曖昧さをなくすために使用される。したがって、いくつかの実装形態では、コンピューティングシステムは、リソース消費を低減するために、追跡データに基づいて判定/生成された姿勢値及びユーザグリップ値が所定の信頼値を突破しない場合、ユーザ入力ベクトルを使用し得る。
【0154】
例えば、姿勢値は、中立姿勢、コンダクタ/ワンド姿勢、筆記姿勢、表面姿勢、口近傍姿勢、照準姿勢などのうちの1つに対応する。いくつかの実装形態では、姿勢値は、コンピュータビジョン技法を介して検出可能な物理表面又は別のオブジェクトなどに対する物理オブジェクトの配向を示す。一例では、他のオブジェクトは、環境の可視領域内の異なる物理オブジェクト又は仮想オブジェクトに対応する。別の例では、他のオブジェクトは、環境の可視領域の外側にあるが、ユーザの口の近傍で移動する物理オブジェクトなど、推測され得る異なる物理オブジェクト又は仮想オブジェクトに対応する。例えば、姿勢値は、他のオブジェクトに対する物理オブジェクトの近接度を示し得る。例えば、グリップ値は、リモコン様グリップ、ワンド様グリップ、筆記グリップ、逆筆記グリップ、ハンドルグリップ、サムトップグリップ、レベル様グリップ、ゲームパッド様グリップ、フルート様グリップ、又は発火具様グリップなどのうちの1つに対応する。
【0155】
ブロック740によって表されるように、方法700は、第1の特徴付けベクトルに基づいて、物理オブジェクトについての現在の動作モダリティとして第1の動作モダリティを選択することを含む。一例として、
図6Bを参照すると、現在の姿勢値が「口近傍」に対応し、現在のユーザグリップ値が「ワンド」に対応すると判定したことに応じて、電子デバイス120は、コントローラ130の現在の動作モダリティとして口述モードを選択し、「口述モード起動中」を示す通知624も表示する。したがって、コントローラ130の現在の動作モダリティが口述モードに対応している間、ユーザ149は、XR環境128内に表示される宣伝文、メモ、コンテンツなどを口述することができる。物理オブジェクトが1つ以上のマイクロフォンを含まないいくつかの実装形態では、電子デバイス120のマイクロフォンは、ユーザの発話を感知するために使用され得る。物理オブジェクトが1つ以上のマイクロフォンを含まないいくつかの実装形態では、電子デバイス120の画像センサによってキャプチャされた画像は、ユーザの唇を読み取り、次にユーザの発話を感知するために分析することができる。当業者であれば、通知624は、様々な他の実装形態において修正又は置換され得る例示的な視覚化にすぎないことを理解するであろう。
【0156】
別の例として、
図6Cを参照すると、現在の姿勢値が「中立」に対応し、現在のユーザグリップ値が「筆記」に対応すると判定したことに応じて、電子デバイス120は、コントローラ130の現在の動作モダリティとしてマーキングモードを選択し、「マーキングモード起動中」を示す通知634も表示する。更に別の例として、
図6Fを参照すると、現在の姿勢値が「表面」に対応し、現在のユーザグリップ値が「逆筆記」に対応すると判定したことに応じて、電子デバイス120は、コントローラ130の現在の動作モダリティとして消去モードを選択し、「消去モード起動中」を示す通知664も表示する。
【0157】
更に別の例として、
図6Iを参照すると、現在の姿勢値が「照準」に対応し、現在のユーザグリップ値が「ワンド」に対応すると判定したことに応じて、電子デバイス120は、物理オブジェクト695の現在の動作モダリティとしてポインティングモードを選択し、「ポインティングモード起動中」を示す通知694も表示する。したがって、物理オブジェクト695の現在の動作モダリティがポインティングモードに対応する間、ユーザ149は、XR環境128内で物理オブジェクト695をレーザポインタ型デバイスとして使用することができる。更に別の例として、
図6Iを参照すると、現在の姿勢値が「中立」に対応し、現在のユーザグリップ値が「ワンド」に対応すると判定したことに応じて、電子デバイス120は、物理オブジェクト695の現在の動作モダリティとして操作モードを選択し、「操作モード起動中」を示す通知6114も表示する。したがって、物理オブジェクト695の現在の動作モダリティが操作モードに対応する間、ユーザ149は、物理オブジェクト695を使用して、XR環境128内のXRコンテンツを操作(例えば、並進、回転など)することができる。
【0158】
いくつかの実装形態では、ブロック742によって表されるように、第1の動作モダリティは、口述モード、デジタルアシスタントモード、ナビゲーションモード、操作モード、マーキングモード、消去モード、ポインティングモード、又は具現化モードのうちの1つに対応する。一例として、姿勢値が中立姿勢(又は表面姿勢)に対応し、ユーザグリップ値が筆記用具様グリップに対応するとき、第1の動作モダリティは、マーキングモードに対応する。別の例として、姿勢値が中立姿勢(又は表面姿勢)に対応し、ユーザグリップ値が逆筆記用具様グリップに対応するとき、第1の動作モダリティは、消去モードに対応する。更に別の例として、姿勢値が口近傍姿勢に対応し、ユーザグリップ値がワンド様グリップに対応するとき、第1の動作モダリティは口述モードに対応する。更に別の例として、姿勢値が中立姿勢に対応し、ユーザグリップ値がワンド様グリップに対応するとき、第1の動作モダリティは、操作モードに対応する。更に別の例として、姿勢値が照準姿勢に対応し、ユーザグリップ値がワンド様グリップに対応するとき、第1の動作モダリティは、ポインティングモードに対応する。更に別の例として、姿勢値が口近傍姿勢に対応し、ユーザグリップ値がワンド様グリップに対応し、コンピューティングデバイスがキーワード又はキーフレーズを有する発話入力を検出するとき、第1の動作モダリティは、デジタルアシスタントモードに対応する。当業者であれば、姿勢値とユーザグリップ値との異なる組み合わせが、前述の動作をトリガし得ることを理解するであろう。
【0159】
いくつかの実装形態では、第1の動作モダリティを物理オブジェクトの現在の出力モダリティとして選択した後、方法700は、ディスプレイデバイスを介して、1つ以上の仮想オブジェクトを含む拡張現実(XR)環境を提示することを含み、物理オブジェクトは、第1の動作モダリティに従ってXR環境内の1つ以上の仮想オブジェクトと対話するように提供される。いくつかの実装形態では、1つ以上の仮想オブジェクトは、XR環境内に表示されている間に物理環境上にオーバーレイされる。一例として、
図6Aでは、XR環境128は、ドア115の表現116と、物理環境105の表現上にオーバーレイされた仮想エージェント606と、を含む。別の例として、
図6Kでは、XR環境128は、物理環境105の表現上にオーバーレイされたXRコンテンツの第1の視点6116A(例えば、立方体や箱などの前面)を含む。
【0160】
いくつかの実装形態では、ディスプレイデバイスは透明レンズアセンブリに対応し、XR環境の提示は透明レンズアセンブリ上に投影される。いくつかの実装形態では、ディスプレイデバイスはニアアイシステムに対応し、XR環境を提示することは、XR環境の提示を、外向き画像センサによってキャプチャされた物理環境の1つ以上の画像と合成することを含む。
【0161】
いくつかの実装形態では、XR環境は、姿勢値及びユーザグリップ値のうちの少なくとも1つに関連付けられた1つ以上の視覚インジケータを含む。一例として、
図6Aにおいて、XR環境128は、現在の姿勢値(例えば、コントローラ130が現在ユーザ149によって把持されていないので現在の姿勢値がない)及び現在のユーザグリップ値(例えば、コントローラ130が現在ユーザ149によって把持されていないのでユーザグリップ値がない)を有するインスタンス610の視覚インジケータ612を含む。当業者であれば、視覚インジケータ612が、様々な他の実装形態において修正又は置換され得る姿勢及びユーザグリップ値を有する例示的な視覚化にすぎないことを理解するであろう。一例として、視覚インジケータ612は、テキスト通知の代わりに、バッジ、アイコン、オーディオ出力などであってもよい。別の例として、
図6Bでは、XR環境128は、現在の姿勢値(例えば、口近傍)及び現在のユーザグリップ値(例えば、ワンド)を有するインスタンス620の視覚インジケータ622と、ユーザ149の右手152の表現153によって保持されているコントローラ130の表現131(例えば、物理環境105のビデオパススルー)と、を含む。
【0162】
いくつかの実装形態では、1つ以上の視覚インジケータは、現在の姿勢及びグリップ値をユーザに示すためのアイコン、バッジ、テキストボックス、通知などに対応する。いくつかの実装形態では、1つ以上の視覚インジケータは、世界ロック、頭部ロック、胴体ロックなどのうちの1つである。一例では、1つ以上の視覚インジケータは、物理オブジェクトが移動する、及び/又はFOVが移動するときに、物理オブジェクト(又はその表現)に固定され得る。いくつかの実装形態では、1つ以上の視覚インジケータは、追跡データ及び/又はユーザ入力ベクトルに対する変化に基づいて経時的に変化し得る。例えば、姿勢値に関連付けられた視覚インジケータは、物理オブジェクトの表現(例えば、アイコン)及び関連付けられた姿勢の表現を含む。
【0163】
いくつかの実装形態では、XR環境は、現在の動作モダリティに関連付けられた1つ以上の視覚インジケータを含む。一例として、
図6Bにおいて、XR環境128は、「口述モード起動中」を示す通知624を含む。当業者であれば、通知624は、様々な他の実装形態において修正又は置換され得る例示的な視覚化にすぎないことを理解するであろう。いくつかの実装形態では、1つ以上の視覚インジケータは、現在の動作モダリティをユーザに示すためのアイコン、バッジ、テキストボックス、通知などに対応する。いくつかの実装形態では、1つ以上の視覚インジケータは、世界ロック、頭部ロック、胴体ロックなどのうちの1つである。一例では、1つ以上の視覚インジケータは、物理オブジェクトが移動する、及び/又はFOVが移動するときに、物理オブジェクト(又はその表現)に固定され得る。いくつかの実装形態では、1つ以上の視覚インジケータは、追跡データ及び/又はユーザ入力ベクトルに対する変化に基づいて経時的に変化し得る。
【0164】
いくつかの実装形態では、第1の動作モダリティを物理オブジェクトの現在の出力モダリティとして選択した後、方法700は、ディスプレイデバイスを介して、ユーザインタフェースを表示することと、(例えば、IMUデータ、コンピュータビジョン、磁気追跡などを用いて3Dで物理オブジェクトを追跡することによって)ユーザインタフェース内のコンテンツに向けられた物理オブジェクトによる修正入力を検出することと、を含む。修正入力を検出したことに応じて、修正入力(例えば、修正入力の大きさ、形状、変位など)及び第1の動作モダリティに基づいてユーザインタフェース内のコンテンツを修正することと、を含む。一例として、
図6C~
図6Eは、電子デバイス120が、
図6Eにおけるマーキング入力644(例えば、修正入力)を検出したことに応じて、XR環境128内にマーク654を表示するシーケンスを示す。例えば、マーク654は、マーキング入力644の形状や変位などに対応する。別の例では、マーク654は、マーキング入力644の形状や変位など、及び重み係数(例えば、増幅値、減衰値など)の関数に対応する。別の例として、
図6K~
図6Mは、電子デバイス120が、
図6Lにおける操作入力6122(例えば、修正入力)を検出したことに応じて、XRコンテンツを
図6Kにおける第1の視点6116A(例えば、立方体、箱などの前面)から
図6Mにおける第2の視点6116B(例えば、立方体、箱などの背面)へ時計回りに180度回転させるシーケンスを示す。
【0165】
いくつかの実装形態では、方法700は、ユーザ入力ベクトル又は物理オブジェクトに関連付けられた追跡データのうちの1つの変化を検出することと、ユーザ入力ベクトル又は物理オブジェクトに関連付けられた追跡データのうちの1つの変化に基づいて物理オブジェクトの第2の特徴付けベクトルを決定することと、第2の特徴付けベクトルに基づいて、物理オブジェクトの現在の動作モダリティとして、第1の動作モダリティとは異なる第2の動作モダリティを選択することと、を含む。いくつかの実装形態では、方法700は、ディスプレイデバイスを介して、ユーザインタフェースを表示することと、第2の動作モダリティを物理オブジェクトについての現在の出力モダリティとして選択した後、(例えば、IMUデータ、コンピュータビジョン、磁気追跡などを用いて3Dで物理オブジェクトを追跡することによって)ユーザインタフェース内のコンテンツに向けられた物理オブジェクトを用いて修正入力を検出することと、修正入力を検出したことに応じて、修正入力(例えば、修正入力の大きさ、形状、変位など)及び第2の動作モダリティに基づいてユーザインタフェース内のコンテンツを修正することと、を含む。
【0166】
いくつかの実装形態では、方法700は、第1の動作モダリティがデジタルアシスタントを呼び出すことに対応すると判定したことに応じて、ユーザインタフェース内にデジタルアシスタント(DA)インジケータを表示することと、1つ以上の視線追跡インジケータ値がDAインジケータに対応すると判定したことに応じて、DAインジケータの外観を変更し、DAを有効化することとを含む。いくつかの実装形態では、DAインジケータの外観を変更することは、DAインジケータのサイズをスケーリングすること、DAインジケータの色を変更すること、DAインジケータの輝度を変更することなどのうちの少なくとも1つに対応する。一例として、
図6N~
図6Rは、現在の動作モダリティがデジタルアシスタント(DA)モードに対応するシーケンスを示す。この例を続けると、ユーザ149の視線方向が少なくとも所定の時間量にわたってDAインジケータに向けられたことを検出したことに応じて、DAインジケータの外観が変化する(例えば、
図6OのDAインジケータ6152Aから
図6PのDAインジケータ6152Bにサイズが増大する)。この例を続けると、DAは、
図6Qにおけるユーザ149からの発話入力6172(例えば、検索文字列)に基づいて検索動作を実行し、電子デバイス120は、
図6Qにおいて検出された発話入力6172に関連付けられた検索文字列に対応する検索結果6182をXR環境内に表示する。例えば、検索結果6182は、テキスト、オーディオコンテンツ、ビデオコンテンツ、3Dコンテンツ、XRコンテンツなどを含む。
【0167】
いくつかの実装形態では、DAインジケータは、物理オブジェクトのロケーションに隣接して表示され、物理オブジェクトが移動する及び/又はFOVが移動するときに、物理オブジェクト(又はその表現)に固定されたままである。いくつかの実装形態では、電子デバイスは、検索文字列を取得し、それに応じて、XR環境内に表示されるDAから結果情報を取得する。一例では、ユーザは、XR環境内で結果情報を平行移動及び/又は回転させることができる。別の例では、ユーザは、得られた情報をXR環境内の掲示板又は他のリポジトリに固定することができる。
【0168】
添付の特許請求の範囲内の実装形態の様々な態様を上述したが、上述の実装形態の様々な特徴は、多種多様な形態で具現化されてもよく、上記の特定の構造及び/又は機能は単なる例示にすぎないことは明らかである。本開示に基づいて、当業者は、本明細書に記載される態様は、任意の他の態様とは独立して実施されてもよく、これらの態様のうちの2つ以上が様々な方法で組み合わされてもよいことを理解すべきである。例えば、本明細書に記載される任意の数の態様を使用して、装置が実装されてもよい、及び/又は方法が実行されてもよい。加えて、本明細書に記載される態様のうちの1つ以上に加えて、又はその他の構造及び/又は機能を使用して、このような装置が実装されてもよい、及び/又はこのような方法が実行されてもよい。
【0169】
本明細書では、様々な要素を説明するために「第1の」、「第2の」などの用語が使用される場合があるが、これらの要素は、これらの用語によって限定されるべきではないことも理解されるであろう。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、「第1の媒体アイテム」の全ての出現について一貫して名前が変更され、「第2の媒体アイテム」の全ての出現について一貫して名前が変更される限り、説明の意味を変えることなく、第1の媒体アイテムは第2の媒体アイテムと呼ぶことができ、同様に、第2の媒体アイテムは第1の媒体アイテムと呼ぶことができる。第1の媒体アイテム及び第2の媒体アイテムは両方とも媒体アイテムであるが、それらは同じ媒体アイテムではない。
【0170】
本明細書で使用される用語は、特定の実装形態を説明する目的のためであり、特許請求の範囲を限定することを意図するものではない。説明される実装形態の説明及び添付の特許請求の範囲で使用されるとき、単数形の「a」、「an」、及び「the」は、文脈がそうではないことを明確に示さない限り、複数形も含むことを意図している。また、本明細書で使用されるとき、用語「及び/又は」は、関連する列挙された項目のうちの1つ以上のいずれか及び全ての考えられる組み合わせを指し、かつこれを含むことを理解されたい。用語「comprises(含む)」及び/又は「comprising(含む)」が、本明細書で使用される場合、述べられた特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらのグループの存在又は追加を除外しないことを更に理解されたい。
【0171】
本明細書で使用されるときには、用語「if」は、文脈に応じて、「時」又は「際に」又は、先に述べた条件が正しいとの「判定に応じて」又は「判定に従って」、「検出に応じて」を意味するものと解釈できる。同様に、「[先に述べた条件が正しい]と判定される場合」、「[先に述べた条件が正しい]場合」、又は「[先に述べた条件が正しい]とき」というフレーズは、先に述べた条件が正しいとの「判定に際して」、「判定に応じて」、「判定に従って」、「検出した際に」、又は「検出に応じて」ということを意味するものと解釈できる。
【手続補正書】
【提出日】2024-01-05
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
方法であって、
非一時的メモリと1つ以上のプロセッサとを含み、ディスプレイデバイスに通信可能に結合される、コンピューティングシステムにおいて、
複数の異なる入力モダリティのうちの1つに関連付けられた少なくとも1つのユーザ入力インジケータ値を含むユーザ入力ベクトルを取得することと、
物理オブジェクトに関連付けられた追跡データを取得することと、
前記ユーザ入力ベクトル及び前記追跡データに基づいて、姿勢値及びユーザグリップ値を含む、前記物理オブジェクトについての第1の特徴付けベクトルであって、前記姿勢値は、前記物理オブジェクトと前記コンピューティングシステムのユーザとの間の空間関係を特徴付け、前記ユーザグリップ値は、前記物理オブジェクトが前記ユーザによって保持されている様式を特徴付ける、第1の特徴付けベクトルを生成することと、
前記第1の特徴付けベクトルに基づいて、第1の動作モダリティを前記物理オブジェクトについての現在の動作モダリティとして選択することと、を含む方法。
【請求項2】
前記第1の動作モダリティは、口述モード、デジタルアシスタントモード、ナビゲーションモード、操作モード、マーキングモード、消去モード、ポインティングモード、又は具現化モードのうちの1つに対応する、請求項1に記載の方法。
【請求項3】
前記第1の動作モダリティを前記物理オブジェクトについての前記現在の出力モダリティとして選択した後に、
前記ディスプレイデバイスを介して、ユーザインタフェースを表示することと、
前記ユーザインタフェース内のコンテンツに向けられた前記物理オブジェクトによる修正入力を検出することと、
前記修正入力を検出したことに応じて、前記修正入力及び前記第1の動作モダリティに基づいて前記ユーザインタフェース内の前記コンテンツを修正することと、を更に含む、請求項
1に記載の方法。
【請求項4】
前記物理オブジェクトに関連付けられた前記ユーザ入力ベクトル又は前記追跡データのうちの1つの変化を検出することと、
前記ユーザ入力ベクトル又は前記物理オブジェクトに関連付けられた前記追跡データのうちの1つの前記変化を検出したことに応じて、
前記ユーザ入力ベクトル又は前記物理オブジェクトに関連付けられた前記追跡データのうちの1つの前記変化に基づいて、前記物理オブジェクトについての第2の特徴付けベクトルを判定することと、
前記第2の特徴付けベクトルに基づいて、前記物理オブジェクトについての現在の動作モダリティとして、前記第1の動作モダリティとは異なる第2の動作モダリティを選択することと、を更に含む、請求項
1に記載の方法。
【請求項5】
前記ディスプレイデバイスを介して、ユーザインタフェースを表示することと、
前記物理オブジェクトについての前記現在の出力モダリティとして前記第2の動作モダリティを選択した後に、前記ユーザインタフェース内のコンテンツに向けられた前記物理オブジェクトによる修正入力を検出することと、
前記修正入力を検出したことに応じて、前記修正入力及び前記第2の動作モダリティに基づいて前記ユーザインタフェース内の前記コンテンツを修正することと、を更に含む、請求項4に記載の方法。
【請求項6】
前記第1の動作モダリティを前記物理オブジェクトについての前記現在の出力モダリティとして選択した後に、前記ディスプレイデバイスを介して、1つ以上の仮想オブジェクトを含む拡張現実(XR)環境を提示することを更に含み、前記物理オブジェクトは、前記第1の動作モダリティに従って前記XR環境内の前記1つ以上の仮想オブジェクトと対話するように提供される、請求項
1に記載の方法。
【請求項7】
前記ディスプレイデバイスが透明レンズアセンブリに対応し、前記XR環境の前記提示が前記透明レンズアセンブリ上に投影される、請求項6に記載の方法。
【請求項8】
前記ディスプレイデバイスが、ニアアイシステムに対応し、前記XR環境を提示することが、前記XR環境の前記提示を、外向き画像センサによってキャプチャされた物理環境の1つ以上の画像と合成することを含む、請求項6に記載の方法。
【請求項9】
前記XR環境が、前記姿勢値及び前記ユーザグリップ値のうちの少なくとも1つに関連付けられた1つ以上の視覚インジケータを含む、請求項
1に記載の方法。
【請求項10】
前記XR環境が、前記現在の動作モダリティに関連付けられた1つ以上の視覚インジケータを含む、請求項
1に記載の方法。
【請求項11】
物理環境の1つ以上の画像を取得することと、
前記物理環境の前記1つ以上の画像を用いて前記物理オブジェクトを認識することと、
ユーザインタフェースと対話するときにフォーカス選択部として機能するように前記物理オブジェクトを割り当てることと、を更に含む、請求項
1に記載の方法。
【請求項12】
前記コンピューティングシステムは、前記物理オブジェクトに更に通信可能に結合され、前記物理オブジェクトに関連付けられた前記追跡データを取得することは、前記物理オブジェクトから前記追跡データを取得することを含み、前記追跡データは、前記物理オブジェクトの1つ以上の統合センサからの出力データに対応する、請求項
1に記載の方法。
【請求項13】
前記物理オブジェクトに関連付けられた前記追跡データが、前記姿勢値を含む、請求項12に記載の方法。
【請求項14】
前記コンピューティングシステムが、前記物理オブジェクトに更に通信可能に結合され、前記ユーザ入力ベクトルを取得することが、前記物理オブジェクトから前記ユーザ入力ベクトルを取得することを含み、前記ユーザ入力ベクトルが、前記物理オブジェクトの1つ以上の統合センサからの出力データに対応する、請求項
1に記載の方法。
【請求項15】
前記ユーザ入力ベクトルが、前記ユーザグリップ値を含む、請求項14に記載の方法。
【請求項16】
前記コンピューティングシステムが、1つ以上の外向き画像センサに更に通信可能に結合され、前記物理オブジェクトに関連付けられた前記追跡データを取得することが、前記物理オブジェクトを視覚的に追跡するために、前記1つ以上の外向き画像センサによってキャプチャされた画像ストリームを分析することを含む、請求項
1に記載の方法。
【請求項17】
前記コンピューティングシステムが、1つ以上の四肢追跡インジケータ値を出力する四肢追跡サブシステムに更に通信可能に結合され、前記1つ以上の四肢追跡インジケータ値が、前記複数の入力モダリティのうちの四肢追跡モダリティに関連付けられ、前記ユーザ入力ベクトルが、前記1つ以上の四肢追跡インジケータ値を含む、請求項
1に記載の方法。
【請求項18】
前記コンピューティングシステムが、1つ以上の頭部/胴体姿勢追跡インジケータ値を出力する頭部/胴体姿勢追跡サブシステムに更に通信可能に結合され、前記1つ以上の頭部/胴体姿勢追跡インジケータ値が、前記複数の入力モダリティのうちの頭部/胴体姿勢追跡モダリティに関連付けられ、前記ユーザ入力ベクトルが、前記1つ以上の頭部/胴体姿勢追跡インジケータ値を含む、請求項
1に記載の方法。
【請求項19】
デバイスであって、
1つ以上のプロセッサと、
非一時的メモリと、
ディスプレイデバイスと通信するためのインタフェースと、
前記非一時的メモリに記憶された1つ以上のプログラムであって、前記1つ以上のプロセッサによって実行されると、前記デバイスに
、
複数の異なる入力モダリティのうちの1つに関連付けられた少なくとも1つのユーザ入力インジケータ値を含むユーザ入力ベクトルを取得させ、
物理オブジェクトに関連付けられた追跡データを取得させ、
前記ユーザ入力ベクトル及び前記追跡データに基づいて、姿勢値及びユーザグリップ値を含む、前記物理オブジェクトについての第1の特徴付けベクトルであって、前記姿勢値は、前記物理オブジェクトと前記デバイスのユーザとの間の空間関係を特徴付け、前記ユーザグリップ値は、前記物理オブジェクトが前記ユーザによって保持されている様式を特徴付ける、第1の特徴付けベクトルを生成させ、
前記第1の特徴付けベクトルに基づいて、第1の動作モダリティを前記物理オブジェクトについての現在の動作モダリティとして選択させる、1つ以上のプログラムと、を備えるデバイス。
【請求項20】
1つ以上のプログラムを記憶する非一時的メモリであって、前記1つ以上のプログラムが、ディスプレイデバイスと通信するためのインタフェースを有するデバイスの1つ以上のプロセッサによって実行されると、前記デバイスに
、
複数の異なる入力モダリティのうちの1つに関連付けられた少なくとも1つのユーザ入力インジケータ値を含むユーザ入力ベクトルを取得させ、
物理オブジェクトに関連付けられた追跡データを取得させ、
前記ユーザ入力ベクトル及び前記追跡データに基づいて、姿勢値及びユーザグリップ値を含む、前記物理オブジェクトについての第1の特徴付けベクトルであって、前記姿勢値は、前記物理オブジェクトと前記デバイスのユーザとの間の空間関係を特徴付け、前記ユーザグリップ値は、前記物理オブジェクトが前記ユーザによって保持されている様式を特徴付ける、第1の特徴付けベクトルを生成させ、
前記第1の特徴付けベクトルに基づいて、第1の動作モダリティを前記物理オブジェクトについての現在の動作モダリティとして選択させる、非一時的メモリ。
【国際調査報告】