以下の詳細な説明は、添付図面を参照する。可能な限り、同じ又は類似の部分を指すために、図面及び以下の説明において同じ参照番号が使用される。幾つかの例示的な実施形態が本明細書に記載されているが、変更、適合、及び他の実装が可能である。例えば、図面に示された構成要素に対して置換、追加、又は変更を行うことができ、本明細書に記載された例示的な方法は、開示された方法に対してステップを置換、並べ替え、削除、又は追加することによって変更することができる。したがって、以下の詳細な説明は、特定の実施形態及び例に限定されず、添付の特許請求の範囲によって包含される一般的な原理に加えて、本明細書に記載され、図面に示される一般的な原理を含む。
本開示は、エクステンデッドリアリティ環境をユーザに提供するためのシステム及び方法に関する。「エクステンデッドリアリティ」、「エクステンデッドリアリティ空間」、又は「エクステンデッド環境」とも呼ばれ得る「エクステンデッドリアリティ環境」という用語は、コンピュータ技術によって少なくとも部分的に生成される全てのタイプの現実仮想複合環境及び人間機械相互作用を指す。エクステンデッドリアリティ環境は、完全にシミュレートされた仮想環境、又はユーザが異なる視点から知覚することができる実環境と仮想環境との組み合わせであってもよい。幾つかの例では、ユーザはエクステンデッドリアリティ環境の要素と相互作用することができる。エクステンデッドリアリティ環境の1つの非限定的な例は、「仮想現実」又は「仮想環境」としても知られる仮想現実環境であり得る。没入型仮想現実環境は、仮想環境に存在するという知覚をユーザに提供するシミュレートされた非物理環境であり得る。エクステンデッドリアリティ環境の別の非限定的な例は、「拡張現実」又は「拡張環境」としても知られる拡張現実環境であり得る。拡張現実環境は、ユーザが相互作用することができる仮想オブジェクトなどの仮想コンピュータ生成知覚情報で強化された物理的な現実世界環境のライブの直接的又は間接的なビューを含むことができる。エクステンデッドリアリティ環境の別の非限定的な例は、「複合現実」又は「複合環境」としても知られる複合現実環境である。複合現実環境は、物理的な現実世界環境と仮想環境とのハイブリッドであってもよく、物理オブジェクトと仮想オブジェクトとが共存し、リアルタイムで相互作用することができる。幾つかの例では、拡張現実環境と複合現実環境の両方は、現実世界と仮想世界の組み合わせ、リアルタイム相互作用、並びに仮想オブジェクトと現実オブジェクトの正確な3Dレジストレーションを含むことができる。幾つかの例では、拡張現実環境と複合現実環境の両方は、物理環境に追加され得る建設的なオーバーレイされた感覚情報を含み得る。他の例では、拡張現実環境と複合現実環境の両方は、物理環境の少なくとも一部をマスクすることができる破壊的な仮想コンテンツを含むことができる。
幾つかの実施形態では、システム及び方法は、エクステンデッドリアリティ機器を使用してエクステンデッドリアリティ環境を提供することができる。エクステンデッドリアリティ機器という用語は、ユーザがエクステンデッドリアリティ環境を知覚及び/又は相互作用することを可能にする任意のタイプのデバイス又はシステムを含むことができる。エクステンデッドリアリティ機器は、ユーザが1つ以上の感覚モダリティを介してエクステンデッドリアリティ環境を知覚及び/又は相互作用することを可能にすることができる。そのような感覚モダリティの幾つかの非限定的な例は、視覚、聴覚、触覚、体性感覚、及び嗅覚を含み得る。エクステンデッドリアリティ機器の一例は、ユーザが仮想現実環境を知覚及び/又は相互作用することを可能にする仮想現実機器である。エクステンデッドリアリティ機器の別の例は、ユーザが拡張現実環境を知覚及び/又は相互作用することを可能にする拡張現実機器である。エクステンデッドリアリティ機器の更に別の例は、ユーザが複合現実環境を知覚及び/又は相互作用することを可能にする複合現実機器である。
本開示の一態様によれば、エクステンデッドリアリティ機器は、頭部装着型デバイス、例えばスマートグラス、スマートコンタクトレンズ、ヘッドセット、又はエクステンデッドリアリティを人間に提示する目的で人間が装着する任意の他のデバイスなどの装着型デバイスであってもよい。他のエクステンデッドリアリティ機器は、ホログラフィックプロジェクタ、又は拡張現実(AR)、仮想現実(VR)、複合現実(MR)、又は任意の没入型体験を提供することができる任意の他のデバイス又はシステムを含むことができる。装着型エクステンデッドリアリティ機器の典型的な構成要素は、立体ヘッドマウントディスプレイ、立体ヘッドマウントサウンドシステム、ヘッドモーショントラッキングセンサ(例えば、ジャイロスコープ、加速度計、磁力計、画像センサ、構造化光センサなど)、ヘッドマウントプロジェクタ、アイトラッキングセンサ、及び以下に説明する更なる構成要素のうちの少なくとも1つを含むことができる。本開示の別の態様によれば、エクステンデッドリアリティ機器は、非装着型エクステンデッドリアリティ機器であってもよい。具体的には、非装着型エクステンデッドリアリティ機器は、マルチ投影環境機器を含むことができる。幾つかの実施形態では、エクステンデッドリアリティ機器は、ユーザの動きに応じて、特にユーザの頭の動きに応じて、エクステンデッドリアリティ環境の視野の視点を変更するように構成され得る。一例では、装着型エクステンデッドリアリティ機器は、エクステンデッドリアリティ環境におけるユーザの空間位置を変更せずに空間方向を変更することなどによって、ユーザの頭部姿勢の変更に応じてエクステンデッドリアリティ環境の視野を変更することができる。別の例では、非装着型エクステンデッドリアリティ機器は、例えば、空間位置に対する視野の方向を変更することなくエクステンデッドリアリティ環境におけるユーザの空間位置を変更することによって、実世界におけるユーザの位置の変化に応じてエクステンデッドリアリティ環境におけるユーザの空間位置を変更することができる。
幾つかの実施形態によれば、エクステンデッドリアリティ機器は、仮想コンテンツの提示を可能にするように構成された仮想コンテンツデータを受信すること、少なくとも1つの外部機器と共有するための仮想コンテンツを送信すること、少なくとも1つの外部機器からコンテキストデータを受信すること、少なくとも1つの外部機器にコンテキストデータを送信すること、エクステンデッドリアリティ機器の使用を示す使用データを送信すること、及びエクステンデッドリアリティ機器に含まれる少なくとも1つのセンサを使用して捕捉された情報に基づくデータを送信することのうちの少なくとも1つを行うように構成されたデジタル通信機器を含み得る。更なる実施形態では、エクステンデッドリアリティ機器は、仮想コンテンツの提示を可能にするように構成された仮想データ、コンテキストデータ、エクステンデッドリアリティ機器の使用を示す使用データ、エクステンデッドリアリティ機器に含まれる少なくとも1つのセンサを使用して捕捉された情報に基づくセンサデータ、処理デバイスに仮想コンテンツを提示させるように構成されたソフトウェア命令、処理デバイスにコンテキストデータを収集及び解析させるように構成されたソフトウェア命令、処理デバイスに使用データを収集及び解析させるように構成されたソフトウェア命令、及び処理デバイスにセンサデータを収集及び解析させるように構成されたソフトウェア命令のうちの少なくとも1つを格納するためのメモリを含み得る。更なる実施形態では、エクステンデッドリアリティ機器は、仮想コンテンツのレンダリング、コンテキストデータの収集及び解析、使用データの収集及び解析、並びにセンサデータの収集及び解析のうちの少なくとも1つを実行するように構成された処理デバイスを含むことができる。更なる実施形態では、エクステンデッドリアリティ機器は、1つ以上のセンサを含むことができる。1つ以上のセンサは、1つ以上の画像センサ(例えば、機器のユーザ又はユーザの環境の画像及び/又はビデオを捕捉するように構成される)、1つ以上の動きセンサ(例えば、加速度計、ジャイロスコープ、磁力計など)、1つ以上の位置決めセンサ(例えば、GPS、屋外測位センサ、屋内測位センサなど)、1つ以上の温度センサ(例えば、機器及び/又は環境の少なくとも一部の温度を測定するように構成される)、1つ以上の接触センサ、1つ以上の近接センサ(例えば、機器が現在着用されているかどうかを検出するように構成される)、1つ以上の電気インピーダンスセンサ(例えば、ユーザの電気インピーダンスを測定するように構成される)、凝視検出器、光トラッカ、電位トラッカ(例えば、眼電図(EOG)センサ)、ビデオベースの視線トラッカ、赤外線/近赤外線センサ、受動光センサ、又は人間がどこを見ているかもしくは凝視しているかを決定することができる任意の他の技術などの1つ以上の視線追跡センサを含むことができる。
幾つかの実施形態では、システム及び方法は、エクステンデッドリアリティ機器と相互作用するために入力デバイスを使用することができる。入力デバイスという用語は、ユーザ又はユーザの環境から入力を受信し、データを計算デバイスに提供するように構成された任意の物理デバイスを含むことができる。計算デバイスに提供されるデータは、デジタル形式及び/又はアナログ形式であってもよい。一実施形態では、入力デバイスは、処理デバイスによってアクセス可能なメモリデバイスにユーザから受信した入力を記憶することができ、処理デバイスは、解析のために記憶されたデータにアクセスすることができる。別の実施形態では、入力デバイスは、例えばバスを介して、又は入力デバイスから処理デバイスにデータを転送するように構成された別の通信システムを介して、データを処理デバイスに直接提供することができる。幾つかの例では、入力デバイスによって受信される入力は、キープレス、触覚入力データ、動きデータ、位置データ、ジェスチャに基づく入力データ、方向データ、又は計算のために供給するための任意の他のデータを含むことができる。入力デバイスの幾つかの例は、ボタン、キー、キーボード、コンピュータマウス、タッチパッド、タッチスクリーン、ジョイスティック、又は入力を受け取ることができる別の機構を含むことができる。入力デバイスの別の例は、ユーザからの入力を受信するための少なくとも1つの物理的構成要素を含む統合計算インタフェースデバイスを含むことができる。統合計算インタフェースデバイスは、少なくともメモリと、処理デバイスと、ユーザからの入力を受信するための少なくとも1つの物理構成要素とを含むことができる。一例では、統合計算インタフェースデバイスは、他のコンピューティングデバイスとのデジタル通信を可能にするデジタルネットワークインタフェースを更に含んでもよい。一例では、統合計算インタフェースデバイスは、ユーザに情報を出力するための物理構成要素を更に含んでもよい。幾つかの例では、統合計算インタフェースデバイスの全ての構成要素は、単一のハウジングに含まれてもよく、他の例では、構成要素は、2つ以上のハウジングに分散されてもよい。統合計算インタフェースデバイスに含まれ得るユーザからの入力を受信するための物理的構成要素の幾つかの非限定的な例は、ボタン、キー、キーボード、タッチパッド、タッチスクリーン、ジョイスティック、又は計算情報を受信することができる任意の他の機構もしくはセンサのうちの少なくとも1つを含むことができる。ユーザに情報を出力するための物理的構成要素の幾つかの非限定的な例は、光インジケータ(LEDインジケータなど)、スクリーン、タッチスクリーン、ブザー、音声スピーカ、又は人間が知覚可能な出力を提供する任意の他の音声、ビデオ、もしくは触覚デバイスのうちの少なくとも1つを含むことができる。
幾つかの実施形態では、1つ以上の画像センサを使用して画像データを取り込むことができる。幾つかの例では、画像センサは、エクステンデッドリアリティ機器、装着型デバイス、装着型エクステンデッドリアリティデバイス、入力デバイス、ユーザの環境などに含まれてもよい。幾つかの例では、画像データは、メモリから読み取られてもよく、外部デバイスから受信されてもよく、(例えば、生成モデルを使用して)生成されてもよいなどである。画像データの幾つかの非限定的な例は、画像、グレースケール画像、カラー画像、2D画像、3D画像、ビデオ、2Dビデオ、3Dビデオ、フレーム、画像、他の画像データから導出されたデータなどを含むことができる。幾つかの例では、画像データは、任意のアナログ又はデジタル形式で符号化されてもよい。そのようなフォーマットの幾つかの非限定的な例は、生フォーマット、圧縮フォーマット、非圧縮フォーマット、不可逆フォーマット、可逆フォーマット、JPEG、GIF、PNG、TIFF、BMP、NTSC、PAL、SECAM、MPEG、MPEG-4 Part14、MOV、WMV、FLV、AVI、AVCHD、WebM、MKVなどを含むことができる。
幾つかの実施形態では、エクステンデッドリアリティ機器は、例えば入力デバイスからデジタル信号を受信することができる。デジタル信号という用語は、時間的に離散的な一連のデジタル値を指す。デジタル信号は、例えば、センサデータ、テキストデータ、音声データ、ビデオデータ、仮想データ、又は知覚可能な情報を提供する任意の他の形態のデータに相当し得る。本開示と一致して、デジタル信号は、エクステンデッドリアリティ機器に仮想コンテンツを提示させるように構成され得る。一実施形態では、仮想コンテンツは、選択された向きで提示されてもよい。この実施形態では、デジタル信号は、エクステンデッドリアリティ環境などの環境における視点の位置及び角度を示すことができる。具体的には、デジタル信号は、6自由度座標(例えば、前方/後方、上方/下方、左方/右方、ヨー、ピッチ、及びロール)における位置及び角度の符号化を含むことができる。別の実施形態では、デジタル信号は、三次元座標(例えば、x、y、及びz)としての位置の符号化、及び符号化された位置から生じるベクトルとしての角度の符号化を含むことができる。具体的には、デジタル信号は、例えば、標準デフォルト角度に対して仮想コンテンツのヨー、ピッチ、及びロールを符号化することによって、環境の絶対座標における提示された仮想コンテンツの向き及び角度を示すことができる。別の実施形態では、デジタル信号は、例えば、視点に対応する方向又は他のオブジェクトに対応する方向に対する仮想コンテンツのヨー、ピッチ、及びロールを符号化することによって、他のオブジェクト(例えば、仮想オブジェクト、物理オブジェクトなど)の視点に対する提示された仮想コンテンツの向き及び角度を示すことができる。別の実施形態では、そのようなデジタル信号は、例えば、提示の準備ができているフォーマット(例えば、画像、ビデオなど)で、仮想コンテンツの1つ以上の投影を含むことができる。例えば、そのような各投影は、特定の向き又は特定の角度に対応することができる。別の実施形態では、デジタル信号は、例えば、ボクセルの三次元アレイ、ポリゴンメッシュ、又は仮想コンテンツを提示することができる任意の他のフォーマットでオブジェクトを符号化することによって、仮想コンテンツの表示を含むことができる。
幾つかの実施形態では、デジタル信号は、エクステンデッドリアリティ機器に仮想コンテンツを提示させるように構成され得る。仮想コンテンツという用語は、エクステンデッドリアリティ機器によってユーザに表示され得る任意のタイプのデータ表示を含むことができる。仮想コンテンツは、仮想オブジェクト、無生物の仮想コンテンツ、経時的に又はトリガに応じて変化するように構成された生物の仮想コンテンツ、仮想二次元コンテンツ、仮想三次元コンテンツ、物理環境の一部又は物理オブジェクト上の仮想オーバーレイ、物理環境又は物理オブジェクトへの仮想追加、仮想プロモーションコンテンツ、物理オブジェクトの仮想表示、物理環境の仮想表示、仮想文書、仮想キャラクタ又はペルソナ、仮想コンピュータスクリーン、仮想ウィジェット、又は仮想的に情報を表示するための任意の他のフォーマットを含むことができる。本開示と一致して、仮想コンテンツは、コンピュータ又は処理デバイスによってレンダリングされる任意の視覚的提示を含むことができる。一実施形態では、仮想コンテンツは、限定された領域内のコンピュータによってレンダリングされ、特定のタイプのオブジェクト(例えば、無生物の仮想オブジェクト、生物の仮想オブジェクト、仮想家具、仮想装飾オブジェクト、仮想ウィジェット、又は他の仮想表示など)を表すように構成された視覚的提示である仮想オブジェクトを含むことができる。レンダリングされた視覚的提示は、例えば、物理オブジェクトの外観の変化を模倣するように、状態オブジェクトへの変化又はオブジェクトの視野角の変化を反映するべく変化し得る。別の実施形態では、仮想コンテンツは、オペレーティングシステムによって生成された情報を表示するように構成された、仮想コンピュータスクリーン、仮想タブレットスクリーン、又は仮想スマートフォンスクリーンなどの仮想ディスプレイ(本明細書では「仮想表示スクリーン」又は「仮想スクリーン」とも呼ばれる)を含むことができ、オペレーティングシステムは、物理キーボード及び/又は仮想キーボードからテキストデータを受信し、仮想ディスプレイスクリーンにテキストコンテンツの表示を引き起こすように構成され得る。一例では、図1に示すように、仮想コンテンツは、仮想コンピュータスクリーン及び複数の仮想オブジェクトを含む仮想環境を含み得る。幾つかの例では、仮想ディスプレイは、物理ディスプレイスクリーンの機能を模倣及び/又は拡張する仮想オブジェクトであってもよい。例えば、仮想ディスプレイは、エクステンデッドリアリティ機器を使用して、エクステンデッドリアリティ環境(例えば、複合現実環境、拡張現実環境、仮想現実環境など)で提示されてもよい。一例では、仮想ディスプレイは、物理ディスプレイスクリーン上に等しく提示することができる通常のオペレーティングシステムによって生成されたコンテンツを提示することができる。一例では、キーボードを使用して(例えば、物理キーボードを使用して、仮想キーボードを使用してなど)入力されたテキストコンテンツは、テキストコンテンツが入力されるとリアルタイムで仮想ディスプレイ上に提示され得る。一例では、仮想ディスプレイ上に仮想カーソルが提示されてもよく、仮想カーソルはポインティングデバイス(物理ポインティングデバイス、仮想ポインティングデバイス、コンピュータマウス、ジョイスティック、タッチパッド、物理タッチコントローラなど)によって制御されてもよい。一例では、グラフィカルユーザインタフェースオペレーティングシステムの1つ以上のウィンドウを仮想ディスプレイ上に提示することができる。別の例では、仮想ディスプレイ上に提示されるコンテンツはインタラクティブであってもよく、すなわち、ユーザの行動に対する反応が変化してもよい。更に別の例では、仮想ディスプレイの提示は、スクリーンフレームの提示を含んでもよいし、スクリーンフレームの提示を含まなくてもよい。
幾つかの開示された実施形態は、データ構造又はデータベースを含み、及び/又はデータ構造又はデータベースにアクセスすることができる。本開示と一致するデータ構造及びデータベースという用語は、データ値及びそれらの間の関係の任意の集合を含むことができる。データは、線形的に、水平的に、階層的に、関係的に、非関係的に、単次元的に、多次元的に、動作的に、順序付けられた方法で、順序付けられていない方法で、オブジェクト指向的に、集中的に、非中央集権的に、分散的に、分散的に、カスタム的に、又はデータアクセスを可能にする任意の方法で格納され得る。非限定的な例として、データ構造は、アレイ、連想配列、リンクされたリスト、二分木、平衡木、山、スタック、キュー、セット、ハッシュテーブル、レコード、タグ付き和集合、エンティティ関係モデル、グラフ、ハイパーグラフ、行列、テンソルなどを含むことができる。例えば、データ構造は、例えば、MongoDB、Redis、Couchbase、Datastax Enterprise Graph、Elastic Search、Splunk、Solr、Cassandra、Amazon DynamoDB、Scylla、HBase、及びNeo4Jなどの、データストレージ/検索のためのXMLデータベース、RDBMSデータベース、SQLデータベース又はNoSQL代替物を含むことができる。データ構造は、開示されたシステムの構成要素又はリモートコンピューティング構成要素(例えば、クラウドベースのデータ構造)であってもよい。データ構造内のデータは、連続した又は不連続なメモリに記憶されてもよい。更に、データ構造は、情報が同じ場所に配置されることを必要としない。データ構造は、例えば、同じ又は異なるエンティティによって所有又は運用され得る複数のサーバにわたって分散され得る。したがって、単数形のデータ構造という用語は、複数のデータ構造を含む。
幾つかの実施形態では、システムは、受信した入力又は任意の決定された値の信頼性レベルを決定することができる。信頼性レベルという用語は、システムが決定されたデータで有する信頼性の量を示すレベル(例えば、所定の範囲内)の数値又はその他の任意の表示を指す。例えば、信頼性レベルは、1と10との間の値を有し得る。或いは、信頼性レベルは、パーセンテージ又は任意の他の数値もしくは非数値表示として表示されてもよい。場合によっては、システムは信頼性レベルを閾値と比較することができる。閾値という用語は、基準値、レベル、ポイント、又は値の範囲を示すことができる。動作中、決定されたデータの信頼性レベルが閾値を超える場合(特定の使用ケースに応じて、又はそれより下にある)、システムは第1の動作過程をたどることができ、信頼性レベルが閾値を下回る場合(特定の使用ケースに応じて、又は閾値を超えて)、システムは第2の動作過程をたどることができる。閾値の値は、検査対象物のタイプごとに予め決定されてもよく、又は異なる考慮事項に基づいて動的に選択されてもよい。
システム概要
ここで、本開示の様々な実施形態と一致する例示的なエクステンデッドリアリティシステムを使用するユーザを示す図1を参照する。図1は、ただ1つの実施形態の例示的な表示であり、幾つかの図示された要素は省略されてもよく、他の要素は本開示の範囲内で追加されてもよいことを理解されたい。図示のように、ユーザ100はテーブル102の後ろに座っており、キーボード104及びマウス106を支持している。キーボード104は、ユーザ100に仮想コンテンツを表示する装着型エクステンデッドリアリティ機器110に有線108によって接続されている。有線108の代わりに、又はそれに加えて、キーボード104は、装着型エクステンデッドリアリティ機器110に無線で接続することができる。説明のために、装着型エクステンデッドリアリティ機器は一対のスマートグラスとして示されているが、前述したように、装着型エクステンデッドリアリティ機器110は、エクステンデッドリアリティをユーザ100に提示するために使用される任意のタイプのヘッドマウントデバイスであってもよい。装着型エクステンデッドリアリティ機器110によって表示される仮想コンテンツは、仮想スクリーン112(本明細書では「仮想表示スクリーン」又は「仮想ディスプレイ」とも呼ばれる)及び複数の仮想ウィジェット114を含む。仮想ウィジェット114A~114Dは仮想スクリーン112の隣に表示され、仮想ウィジェット114Eはテーブル102に表示される。ユーザ100は、キーボード104を使用して仮想スクリーン112に表示された文書116にテキストを入力することができ、マウス106を使用して仮想カーソル118を制御することができる。一例では、仮想カーソル118は、仮想スクリーン112内のどこにでも移動することができる。別の例では、仮想カーソル118は、仮想スクリーン112内のどこにでも移動することができ、仮想ウィジェット114A~114Dのいずれかに移動することもできるが、仮想ウィジェット114Eには移動しない。更に別の例では、仮想カーソル118は、仮想スクリーン112内のどこにでも移動することができ、仮想ウィジェット114A~114Eのいずれかに移動することもできる。更なる例では、仮想カーソル118は、仮想スクリーン112及び仮想ウィジェット114A~114Eを含むエクステンデッドリアリティ環境のどこにでも移動することができる。更に別の例では、仮想カーソルは、全ての利用可能な表面(すなわち、仮想表面又は物理的表面)上で、又はエクステンデッドリアリティ環境内の選択された表面上でのみ移動することができる。これに代えて又は加えて、ユーザ100は、装着型エクステンデッドリアリティ機器110によって認識されたハンドジェスチャを使用して、仮想ウィジェット114A~114Eのいずれかと、又は選択された仮想ウィジェットと相互作用することができる。例えば、仮想ウィジェット114Eは、ハンドジェスチャで操作することができる相互作用型ウィジェット(例えば、仮想スライダコントローラ)であってもよい。
図2は、ユーザ100などのユーザにエクステンデッドリアリティ(XR)体験を提供するシステム200の一例を示す。図2は、1つの実施形態の例示的な表示であり、本開示の範囲内で、幾つかの図示された要素を省略し、他の要素を追加することができることを理解されたい。システム200は、コンピュータベースであってもよく、コンピュータシステム構成要素、装着型機器、ワークステーション、タブレット、ハンドヘルドコンピューティングデバイス、メモリデバイス、及び/又は構成要素を接続する内部ネットワークを含んでもよい。システム200は、システム200によって提供されるサービスをサポートするための様々なネットワークコンピューティングリソース(例えば、サーバ、ルータ、スイッチ、ネットワーク接続、記憶デバイスなど)を含むか、又はそれに接続することができる。本開示と一致して、システム200は、入力ユニット202、XRユニット204、モバイル通信デバイス206、及び遠隔処理ユニット208を含むことができる。遠隔処理ユニット208は、データ構造212などの1つ以上の物理又は仮想記憶デバイスに結合されたサーバ210を含むことができる。システム200はまた、異なるシステム構成要素とシステム200に関連する異なるエンティティとの間の通信及びデータ交換を容易にする通信ネットワーク214を含むか、又はそれに接続され得る。
本開示と一致して、入力ユニット202は、ユーザ100から入力を受信することができる1つ以上のデバイスを含むことができる。一実施形態では、入力ユニット202は、キーボード104などのテキスト入力デバイスを含むことができる。テキスト入力デバイスは、システム200にテキスト情報を入力するための全ての可能なタイプのデバイス及び機構を含むことができる。テキスト入力デバイスの例には、機械式キーボード、メンブレンキーボード、フレキシブルキーボード、QWERTYキーボード、Dvorakキーボード、Colemakキーボード、コード付きキーボード、ワイヤレスキーボード、キーパッド、キーベースの制御パネル、又は制御キーの他の配列、視覚入力デバイス、又は、メカニズムが物理的な形態で提供されるか、又は仮想的に提示されるかにかかわらず、キストを入力するための任意の他のメカニズムが含まれ得る。一実施形態では、入力ユニット202はまた、マウス106などのポインティング入力デバイスを含むことができる。ポインティング入力デバイスは、二次元又は三次元情報をシステム200に入力するための全ての可能なタイプのデバイス及び機構を含むことができる。一例では、ポインティング入力デバイスからの二次元入力は、XRユニット204を介して提示される仮想コンテンツと相互作用するために使用されてもよい。ポインティング入力デバイスの例は、コンピュータマウス、トラックボール、タッチパッド、トラックパッド、タッチスクリーン、ジョイスティック、ポインティングスティック、スタイラス、ライトペン、又は任意の他の物理的又は仮想的入力機構を含むことができる。一実施形態では、入力ユニット202はまた、接触、移動、又は移動の中断を検出するように構成されたタッチスクリーンなどのグラフィカル入力デバイスを含むことができる。グラフィカル入力デバイスは、限定はしないが、容量性、抵抗性、赤外線、及び表面弾性波技術、並びに1つ以上の接触点を決定するための他の近接センサアレイ又は他の要素を含む複数のタッチ感度技術のいずれかを使用することができる。一実施形態では、入力ユニット202はまた、マイクロフォンなどの1つ以上の音声入力デバイスを含んでもよい。音声入力デバイスは、音声認識、音声複製、デジタル記録、及び電話機能などの音声対応機能を容易にするために音声データを入力するための全ての可能なタイプのデバイス及び機構を含むことができる。一実施形態では、入力ユニット202はまた、画像データを取り込むように構成された、画像センサなどの1つ以上の画像入力デバイスを含んでもよい。一実施形態では、入力ユニット202はまた、手の動き及び姿勢データを捕捉するように構成された1つ以上の触覚手袋を含んでもよい。一実施形態では、入力ユニット202はまた、センサの近くの選択された領域内のオブジェクトの存在及び/又は動きを検出するように構成された1つ以上の近接センサを含むことができる。
幾つかの実施形態によれば、システムは、ユーザ、ユーザの行動、又はユーザの環境に関連する特性を検出及び/又は測定するように構成された少なくとも1つのセンサを含むことができる。少なくとも1つのセンサの一例は、入力ユニット202に含まれるセンサ216である。センサ216は、動きセンサ、タッチセンサ、光センサ、赤外線センサ、音声センサ、画像センサ、近接センサ、測位センサ、ジャイロスコープ、温度センサ、バイオメトリックセンサ、又は関連する機能を容易にするための任意の他の感知デバイスであってもよい。センサ216は、入力デバイスと一体化されてもよく、又は入力デバイスに接続されてもよく、又は入力デバイスから分離されてもよい。一例では、ユーザ100の体温を決定するために、マウス106に温度計を含めることができる。別の例では、キーボード104に対するユーザ100の動きを決定するために、位置決めセンサがキーボード104と一体化されてもよい。このような位置決めセンサは、全地球測位システム(GPS)、GLObal Navigation Satellite System(GLONASS)、Galileo全地球航法システム、BeiDou航法システム、他の全地球航法衛星システム(GNSS)、インド地域航法衛星システム(IRNSS)、ローカル測位システム(LPS)、リアルタイムロケーションシステム(RTLS)、屋内測位システム(IPS)、Wi-Fiベースの測位システム、セルラー三角測量、画像ベースの測位技術、屋内測位技術、屋外測位技術、又は任意の他の測位技術のうちの1つを使用して実装することができる。
幾つかの実施形態によれば、システムは、物理デバイス(物理入力デバイス、物理コンピューティングデバイス、キーボード104、マウス106、装着型エクステンデッドリアリティ機器110など)の位置及び/又は動きを特定するための1つ以上のセンサを含むことができる。1つ以上のセンサは、物理デバイスに含まれてもよく、又は物理デバイスの外部にあってもよい。幾つかの例では、物理デバイスの外部の画像センサ(例えば、他の物理デバイスに含まれる画像センサ)を使用して物理デバイスの画像データを取り込むことができ、画像データを解析して物理デバイスの位置及び/又は動きを特定することができる。例えば、画像データは、物理デバイスの動きを特定するために視覚オブジェクト追跡アルゴリズムを使用して解析されてもよく、物理デバイスの位置を(例えば、グローバル座標系などにおいて、画像センサに対して)特定するために視覚オブジェクト検出アルゴリズムを使用して解析されてもよい、などである。幾つかの例では、物理デバイスに含まれる画像センサを使用して画像データを取り込むことができ、画像データを解析して物理デバイスの位置及び/又は動きを特定することができる。例えば、画像データは、物理デバイスの位置を特定するためにビジュアルオドメトリアルゴリズムを使用して解析されてもよく、物理デバイスの動きを特定するためにエゴモーションアルゴリズムを使用して解析されてもよいなどである。幾つかの例では、屋内測位センサ又は屋外測位センサなどの測位センサが、物理デバイスに含まれてもよく、物理デバイスの位置を決定するために使用されてもよい。幾つかの例では、加速度計又はジャイロスコープなどの動きセンサが、物理デバイスに含まれてもよく、物理デバイスの動きを決定するために使用されてもよい。幾つかの例では、キーボード又はマウスなどの物理デバイスは、物理的表面上に配置されるように構成されてもよい。そのような物理デバイスは、物理的表面に向けられた光学式マウスセンサ(非機械的追跡エンジンとしても知られる)を含むことができ、光学式マウスセンサの出力は、物理的表面に対する物理デバイスの動きを決定するために解析することができる。
本開示と一致して、XRユニット204は、仮想コンテンツをユーザ100に提示するように構成された装着型エクステンデッドリアリティ機器を含み得る。装着型エクステンデッドリアリティ機器の一例は、装着型エクステンデッドリアリティ機器110である。装着型エクステンデッドリアリティ機器の更なる例は、仮想現実(VR)デバイス、拡張現実(AR)デバイス、混合現実(MR)デバイス、又はエクステンデッドリアリティコンテンツを生成することができる任意の他のデバイスを含むことができる。そのようなデバイスの幾つかの非限定的な例は、Nreal Light、Magic Leap One、Varjo、Quest 1/2、Viveなどを含むことができる。幾つかの実施形態では、XRユニット204は、仮想コンテンツをユーザ100に提示することができる。一般に、エクステンデッドリアリティ機器は、コンピュータ技術及び装着型によって生成される全ての現実及び仮想の複合環境並びに人間と機械との相互作用を含むことができる。前述したように、「エクステンデッドリアリティ」(XR)という用語は、「完全な現実」から「完全な仮想」までの全スペクトルを含むスーパーセットを指す。それは、拡張現実(AR)、複合現実(MR)、仮想現実(VR)、及びそれらの間で補間された領域などの代表的な形態を含む。したがって、「XR機器」、「AR機器」、「VR機器」、及び「MR機器」という用語は、本明細書では互換的に使用することができ、上に列挙した様々な機器のうちの任意の機器を指すことができることに留意されたい。
本開示と一致して、システムは、ユーザに関連する様々な通信デバイス、例えば、モバイル通信デバイス206とデータを交換することができる。「通信デバイス」という用語は、デジタル通信ネットワーク、アナログ通信ネットワーク、又はデータを伝達するように構成された任意の他の通信ネットワークを使用してデータを交換することができる全ての可能なタイプのデバイスを含むことを意図している。幾つかの例では、通信デバイスは、スマートフォン、タブレット、スマートウォッチ、携帯情報端末、デスクトップコンピュータ、ラップトップコンピュータ、IoTデバイス、専用端末、装着型通信デバイス、及びデータ通信を可能にする任意の他のデバイスを含み得る。場合によっては、モバイル通信デバイス206は、入力ユニット202を補足又は置換することができる。具体的には、モバイル通信デバイス206は、ポインティング入力デバイスとして機能することができる物理タッチコントローラに関連付けられてもよい。更に、モバイル通信デバイス206はまた、例えば、仮想キーボードを実装し、テキスト入力デバイスを置き換えるために使用されてもよい。例えば、ユーザ100がテーブル102から離れて自分のスマートグラスを持って休憩室に歩いて行くと、迅速な回答を必要とする電子メールを受信することができる。この場合、ユーザは、自分のスマートウォッチを入力デバイスとして使用し、スマートグラスによって仮想的に提示されている間に電子メールに対する回答を入力することを選択することができる。
本開示と一致して、システムの実施形態は、クラウドサーバの使用を含むことができる。「クラウドサーバ」という用語は、インターネットなどのネットワークを介してサービスを提供するコンピュータプラットフォームを指す。図2に示す例示的な実施形態では、サーバ210は、個々のハードウェアに対応しなくてもよい仮想マシンを使用することができる。例えば、計算及び/又は記憶能力は、データセンタ又は分散コンピューティング環境などのスケーラブルなリポジトリから所望の計算/記憶電力の適切な部分を割り当てることによって実装されてもよい。具体的には、一実施形態では、遠隔処理ユニット208をXRユニット204と共に使用して、仮想コンテンツをユーザ100に提供することができる。一構成例では、サーバ210は、装着型エクステンデッドリアリティ機器のオペレーションシステム(OS)として機能するクラウドサーバであってもよい。一例では、サーバ210は、カスタマイズされたハードワイヤードロジック、1つ以上の特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ファームウェア、及び/又はコンピュータシステムと組み合わせてサーバ210を専用マシンにするプログラムロジックを使用して、本明細書に記載の方法を実装することができる。
幾つかの実施形態では、サーバ210は、データ構造212にアクセスして、例えば、ユーザ100を表示するための仮想コンテンツを決定することができる。データ構造212は、揮発性もしくは不揮発性、磁気、半導体、テープ、光学、取り外し可能、取り外し不能、他のタイプの記憶デバイスもしくは有形もしくは非一時的コンピュータ可読媒体、又は情報を記憶するための任意の媒体もしくは機構を利用することができる。データ構造212は、図示のように、サーバ210の一部であってもよいし、サーバ210とは別個であってもよい。データ構造212がサーバ210の一部ではない場合、サーバ210は、通信リンクを介してデータ構造212とデータを交換することができる。データ構造212は、開示された方法の1つ以上の特徴を実行するために使用されるデータ及び命令を格納する1つ以上のメモリデバイスを含むことができる。一実施形態では、データ構造212は、ワークステーション上でホストされる小さなデータ構造からデータセンタ間に分散された大きなデータ構造まで、複数の適切なデータ構造のいずれかを含むことができる。データ構造212はまた、メモリコントローラデバイス(例えば、サーバ)又はソフトウェアによって制御される1つ以上のデータ構造の任意の組み合わせを含むことができる。
本開示と一致して、通信ネットワークは、通信をサポートし、情報を交換し、及び/又はシステムの構成要素間の情報の交換を容易にする任意のタイプのネットワーク(インフラストラクチャを含む)であり得る。例えば、システム200内の通信ネットワーク214は、例えば、電話ネットワーク、エクストラネット、イントラネット、インターネット、衛星通信、オフライン通信、無線通信、トランスポンダ通信、ローカルエリアネットワーク(LAN)、無線ネットワーク(例えば、Wi-Fi/302.11ネットワーク)、ワイドエリアネットワーク(WAN)、仮想プライベートネットワーク(VPN)、デジタル通信ネットワーク、アナログ通信ネットワーク、又はデータ送信を可能にする任意の他の機構もしくは機構の組み合わせを含むことができる。
図2に示すシステム200の構成要素及び配置は、開示されたプロセス及び特徴を実施するために使用されるシステム構成要素が変化し得るので、例示のみを意図しており、いかなる実施形態も限定することを意図していない。
図3は、入力ユニット202の構成例を示すブロック図である。図3は、ただ1つの実施形態の例示的な表示であり、本開示の範囲内で、幾つかの図示された要素が省略され、他の要素が追加されてもよいことを理解されたい。図3の実施形態では、入力ユニット202は、入力ユニット202内で情報を転送するためのサブシステム及び構成要素を相互接続するバス300(又は他の通信機構)に直接又は間接的にアクセスすることができる。例えば、バス300は、メモリインタフェース310、ネットワークインタフェース320、入力インタフェース330、電源340、出力インタフェース350、処理デバイス360、センサインタフェース370、及びデータベース380を相互接続することができる。
図3に示すメモリインタフェース310は、非一時的コンピュータ可読媒体に記憶されたソフトウェア製品及び/又はデータにアクセスするために使用することができる。一般に、非一時的コンピュータ可読記憶媒体は、少なくとも1つのプロセッサによって読み取り可能な情報又はデータを記憶することができる任意のタイプの物理メモリを指す。例としては、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、揮発性メモリ、不揮発性メモリ、ハードドライブ、CD ROM、DVD、フラッシュドライブ、ディスク、任意の他の光学データ記憶媒体、穴のパターンを有する任意の物理媒体、PROM、EPROM、FLASH-EPROM又は任意の他のフラッシュメモリ、NVRAM、キャッシュ、レジスタ、任意の他のメモリチップ又はカートリッジ、及びそれらのネットワークバージョンが挙げられる。「メモリ」及び「コンピュータ可読記憶媒体」という用語は、入力ユニット内又は遠隔地に配置された複数のメモリ又はコンピュータ可読記憶媒体などの複数の構造を指すことができる。更に、1つ以上のコンピュータ可読記憶媒体は、コンピュータ実装方法を実施する際に利用することができる。したがって、コンピュータ可読記憶媒体という用語は、有形のアイテムを含み、搬送波及び過渡信号を除外すると理解されるべきである。図3に示す特定の実施形態では、メモリインタフェース310を使用して、メモリデバイス311などのメモリデバイスに格納されたソフトウェア製品及び/又はデータにアクセスすることができる。メモリデバイス311は、高速ランダムアクセスメモリ及び/又は不揮発性メモリ、例えば、1つ以上の磁気ディスク記憶デバイス、1つ以上の光記憶デバイス、及び/又はフラッシュメモリ(例えば、NAND、NOR)を含んでもよい。本開示と一致して、メモリデバイス311の構成要素は、システム200の複数のユニット及び/又は複数のメモリデバイスに分散されてもよい。
図3に示すメモリデバイス311は、本開示と一致するプロセスを実行するためのソフトウェアモジュールを含むことができる。特に、メモリデバイス311は、入力決定モジュール312、出力決定モジュール313、センサ通信モジュール314、仮想コンテンツ決定モジュール315、仮想コンテンツ通信モジュール316、及びデータベースアクセスモジュール317を含むことができる。モジュール312~317は、入力ユニット202に関連付けられた少なくとも1つのプロセッサ(例えば、処理デバイス360)による実行のためのソフトウェア命令を含むことができる。入力決定モジュール312、出力決定モジュール313、センサ通信モジュール314、仮想コンテンツ決定モジュール315、仮想コンテンツ通信モジュール316、及びデータベースアクセスモジュール317は、様々な動作を実行するために協働することができる。例えば、入力決定モジュール312は、例えばキーボード104から受信したデータを用いてテキストを決定してもよい。その後、出力決定モジュール313は、例えば、キーボード104に物理的又は無線で結合された専用ディスプレイ352上に、最近入力されたテキストの提示を引き起こすことができる。このようにして、ユーザ100が入力すると、仮想スクリーン112を見るために頭を絶えず上下に動かすことなく、入力されたテキストのプレビューを見ることができる。センサ通信モジュール314は、ユーザ100の状態を決定するために異なるセンサからデータを受信することができる。その後、仮想コンテンツ決定モジュール315は、受信した入力及び決定されたユーザ100のステータスに基づいて、表示する仮想コンテンツを決定することができる。例えば、決定された仮想コンテンツは、キーボード104に仮想的に隣接して配置された仮想スクリーン上の最近入力されたテキストの仮想提示であってもよい。仮想コンテンツ通信モジュール316は、仮想コンテンツ決定モジュール315によって決定されていない仮想コンテンツを取得してもよい(例えば、別のユーザのアバター)。仮想コンテンツの検索は、データベース380から、遠隔処理ユニット208から、又は任意の他のソースからであってもよい。
幾つかの実施形態では、入力決定モジュール312は、ポインタ入力331、テキスト入力332、音声入力333、及びXR関連入力334を受信するために、入力インタフェース330の動作を調整することができる。ポインタ入力、文字入力、音声入力の詳細については前述した。「XR関連入力」という用語は、ユーザ100に表示される仮想コンテンツの変化を引き起こす可能性がある任意のタイプのデータを含むことができる。一実施形態では、XR関連入力334は、ユーザ100、装着型エクステンデッドリアリティ機器(例えば、ユーザ100の検出された手のジェスチャ)の画像データを含み得る。別の実施形態では、XR関連入力334は、ユーザ100に近接する別のユーザの存在を示す無線通信を含み得る。本開示と一致して、入力決定モジュール312は、異なるタイプの入力データを同時に受信することができる。その後、入力決定モジュール312は、検出された入力のタイプに基づいて異なる規則を更に適用することができる。例えば、音声入力よりもポインタ入力が優先されてもよい。
幾つかの実施形態では、出力決定モジュール313は、光インジケータ351、ディスプレイ352、及び/又はスピーカ353を使用して出力を生成するために、出力インタフェース350の動作を調整することができる。一般に、出力決定モジュール313によって生成された出力は、装着型エクステンデッドリアリティ機器によって提示される仮想コンテンツを含まない。代わりに、出力決定モジュール313によって生成される出力は、入力ユニット202の動作及び/又はXRユニット204の動作に関する様々な出力を含む。一実施形態では、光インジケータ351は、装着型エクステンデッドリアリティ機器の状態を示す光インジケータを含むことができる。例えば、光インジケータは、装着型エクステンデッドリアリティ機器110がキーボード104に接続されているときに緑色の光を表示し、装着型エクステンデッドリアリティ機器110のバッテリが低いときに点滅してもよい。別の実施形態では、ディスプレイ352を使用して動作情報を表示することができる。例えば、ディスプレイは、装着型エクステンデッドリアリティ機器が動作不能であるときにエラーメッセージを提示することができる。別の実施形態では、スピーカ353は、例えば、ユーザ100が他のユーザのために音楽を再生したい場合に、音声を出力するために使用されてもよい。
幾つかの実施形態では、センサ通信モジュール314は、入力デバイスと統合された、又は入力デバイスに接続された1つ以上のセンサからセンサデータを受信するために、センサインタフェース370の動作を調整することができる。1つ以上のセンサは、音声センサ371、画像センサ372、動きセンサ373、環境センサ374(例えば、温度センサ、周囲光検出器など)、及び他のセンサ375を含むことができる。一実施形態では、センサ通信モジュール314から受信したデータを使用して、入力デバイスの物理的な向きを決定することができる。入力デバイスの物理的な向きは、ユーザの状態を示すことができ、傾斜移動、ロール移動、及び横移動の組み合わせに基づいて決定することができる。その後、入力デバイスの物理的な向きは、仮想コンテンツ決定モジュール315によって、ユーザの状態(例えば、注意、眠い、活動的、座っている、立っている、後ろに傾いている、前に傾いている、歩いている、動いている、乗っているなど)に一致するように仮想コンテンツの表示パラメータを変更するために使用され得る。
幾つかの実施形態では、仮想コンテンツ決定モジュール315は、装着型エクステンデッドリアリティ機器によって表示される仮想コンテンツを決定することができる。仮想コンテンツは、入力決定モジュール312、センサ通信モジュール314、及び他のソース(例えば、データベース380)からのデータに基づいて決定され得る。幾つかの実施形態では、仮想コンテンツを決定することは、仮想オブジェクトの距離、サイズ、及び向きを決定することを含むことができる。仮想オブジェクトの位置の決定は、仮想オブジェクトのタイプに基づいて決定されてもよい。具体的には、図1に示す例に関して、仮想コンテンツ決定モジュール315は、仮想ウィジェット114Eが仮想コントローラ(例えば、ボリュームバー)であるため、仮想スクリーン112の両側に4つの仮想ウィジェット114A~114Dを配置し、テーブル102上に仮想ウィジェット114Eを配置することを決定することができる。仮想オブジェクトの位置の決定は、ユーザの好みに基づいて更に決定されてもよい。例えば、左利きユーザの場合、仮想コンテンツ決定モジュール315は、キーボード104の左に仮想ボリュームバーを配置することを決定してもよく、右利きのユーザの場合、仮想コンテンツ決定モジュール315は、仮想ボリュームバーをキーボード104の右に配置することを決定してもよい。
幾つかの実施形態では、仮想コンテンツ通信モジュール316は、ユーザ100に仮想コンテンツとして提示されるべき1つ以上のソースからデータを取得するためにネットワークインタフェース320の動作を調整してもよい。1つ以上のソースは、他のXRユニット204、ユーザのモバイル通信デバイス206、遠隔処理ユニット208、公的に入手可能な情報などを含むことができる。一実施形態において、仮想コンテンツ通信モジュール316は、モバイル通信デバイス206の仮想ディスプレイを提供するためにモバイル通信デバイス206と通信し得る。例えば、仮想ディスプレイは、ユーザ100がメッセージを読み取り、モバイル通信デバイス206にインストールされたアプリケーションと相互作用することを可能にすることができる。仮想コンテンツ通信モジュール316はまた、仮想コンテンツを他のユーザと共有するためにネットワークインタフェース320の動作を調整することができる。一例では、仮想コンテンツ通信モジュール316は、入力決定モジュールからのデータを使用して、トリガ(例えば、トリガは、ユーザのジェスチャを含むことができる)を特定し、仮想ディスプレイから物理ディスプレイ(例えば、TV)又は異なるユーザの仮想ディスプレイにコンテンツを転送することができる。
幾つかの実施形態では、データベースアクセスモジュール317は、データベース380と協働して、格納されたデータを取り出すことができる。取り出されたデータは、例えば、異なる仮想オブジェクトに関連付けられたプライバシーレベル、仮想オブジェクトと物理オブジェクトとの間の関係、ユーザの好み、ユーザの過去の行動などを含むことができる。前述したように、仮想コンテンツ決定モジュール315は、データベース380に格納されたデータを使用して仮想コンテンツを決定することができる。データベース380は、例えば、ベクトルデータベース、ラスタデータベース、タイルデータベース、ビューポートデータベース、及び/又はユーザ入力データベースを含む別個のデータベースを含むことができる。データベース380に記憶されたデータは、モジュール314~317又はシステム200の他の構成要素から受信されてもよい。更に、データベース380に記憶されたデータは、データ入力、データ転送、又はデータアップロードを使用して入力として提供されてもよい。
モジュール312~317は、ソフトウェア、ハードウェア、ファームウェア、それらのいずれかの混合などで実装されてもよい。幾つかの実施形態では、モジュール312~317及びデータベース380に関連するデータのうちのいずれか1つ以上は、XRユニット204、モバイル通信デバイス206、又は遠隔処理ユニット208に格納されてもよい。システム200の処理デバイスは、モジュール312~317の命令を実行するように構成されてもよい。幾つかの実施形態では、モジュール312~317の態様は、ハードウェア、ソフトウェア(1つ以上の信号処理及び/又は特定用途向け集積回路を含む)、ファームウェア、又はそれらの任意の組み合わせで、1つ以上のプロセッサによって実行可能に、単独で、又は互いに様々な組み合わせで実装されてもよい。具体的には、モジュール312~317は、幾つかの開示された実施形態と一致する機能を実行するために、互いに及び/又はシステム200の他のモジュールと相互作用するように構成され得る。例えば、入力ユニット202は、ユーザ100の頭の動きを決定するために、XRユニット204からのデータに対して画像処理アルゴリズムを含む命令を実行してもよい。更に、本明細書全体を通して、入力ユニット202に関して、又は入力ユニット202の構成要素に関して説明される各機能は、前記機能を実行するための命令のセットに対応することができる。これらの命令は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はない。メモリデバイス311は、更なるモジュール及び命令又はより少ないモジュール及び命令を含むことができる。例えば、メモリデバイス311は、ANDROID、iOS、UNIX、OSX、WINDOWS、DARWIN、RTXC、LINUXなどのオペレーティングシステム、又はVXWorkSなどの組み込みオペレーティングシステムを格納することができる。オペレーティングシステムは、基本的なシステムサービスを処理し、ハードウェア依存のタスクを実行するための命令を含むことができる。
図3に示すネットワークインタフェース320は、通信ネットワーク214などのネットワークに双方向データ通信を提供することができる。一実施形態では、ネットワークインタフェース320は、インターネットを介したデータ通信接続を提供するために、総合デジタル通信網(ISDN)カード、セルラーモデム、衛星モデム、又はモデムを含むことができる。別の例として、ネットワークインタフェース320は、無線ローカルエリアネットワーク(WLAN)カードを含むことができる。別の実施形態では、ネットワークインタフェース320は、無線周波数受信機及び送信機並びに/又は光(例えば、赤外線)受信機及び送信機に接続されたイーサネットポートを含むことができる。ネットワークインタフェース320の具体的な設計及び実装は、入力ユニット202が動作するように意図されている通信ネットワークに依存し得る。例えば、幾つかの実施形態では、入力ユニット202は、GSMネットワーク、GPRSネットワーク、EDGEネットワーク、Wi-Fi又はWiMaxネットワーク、及びBluetoothネットワークを介して動作するように設計されたネットワークインタフェース320を含むことができる。任意のそのような実装形態では、ネットワークインタフェース320は、様々なタイプの情報を表すデジタルデータストリーム又はデジタル信号を搬送する電気信号、電磁信号、又は光信号を送受信するように構成され得る。
図3に示す入力インタフェース330は、様々な入力デバイス、例えば、キーボード、マウス、タッチパッド、タッチスクリーン、1つ以上のボタン、ジョイスティック、マイクロフォン、画像センサ、及び物理的又は仮想的な入力を検出するように構成された任意の他のデバイスから入力を受信することができる。受信された入力は、テキスト、音声、音声、手のジェスチャ、身体のジェスチャ、触覚情報、及びユーザによって生成された任意の他のタイプの物理的又は仮想的な入力のうちの少なくとも1つの形態であってもよい。図示の実施形態では、入力インタフェース330は、ポインタ入力331、テキスト入力332、音声入力333、及びXR関連入力334を受信することができる。更なる実施形態では、入力インタフェース330は、処理デバイス360と上記の入力デバイスのいずれかとの間のブリッジとして機能することができる集積回路であってもよい。
図3に示す電源340は、電力入力ユニット202に電気エネルギーを供給することができ、任意選択的にXRユニット204にも電力を供給することができる。一般に、本開示の任意のデバイス又はシステムに含まれる電源は、1つ以上のバッテリ(例えば、鉛蓄電池、リチウムイオン電池、ニッケル水素電池、ニッケルカドミウム電池)、1つ以上のコンデンサ、外部電源への1つ以上の接続、1つ以上の電力変換器、又はそれらの任意の組み合わせを含むがこれらに限定されない、電力を繰り返し貯蔵、分配、又は伝達することができる任意のデバイスであってもよい。図3に示す例を参照すると、電源は可動式であってもよく、これは、入力ユニット202を手で(例えば、電源340の総重量は、)容易に運ぶことができることを意味する。電源の可動性は、ユーザ100が様々な状況において入力ユニット202を使用することを可能にする。他の実施形態では、電源340は、電源340を充電するために使用され得る外部電源(電力網など)への接続に関連付けられ得る。更に、電源340は、XRユニット204に含まれる1つ以上のバッテリを充電するように構成されてもよく、例えば、一対のエクステンデッドリアリティメガネ(例えば、装着型エクステンデッドリアリティ機器110)は、それらが入力ユニット202の上又は近くに置かれたときに(例えば、無線で又は非無線で)充電され得る。
図3に示す出力インタフェース350は、例えば、光インジケータ351、ディスプレイ352、及び/又はスピーカ353を使用して、様々な出力デバイスからの出力を引き起こすことができる。一実施形態では、出力インタフェース350は、処理デバイス360と上記の出力デバイスの少なくとも一方との間のブリッジとして機能することができる集積回路であってもよい。光インジケータ351は、例えば異なる色に関連付けられたLEDアレイなど、1つ以上の光源を含むことができる。ディスプレイ352は、スクリーン(例えば、LCD又はドットマトリックススクリーン)又はタッチスクリーンを含むことができる。スピーカ353は、音声ヘッドフォン、補聴器タイプのデバイス、スピーカ、骨伝導ヘッドフォン、触覚キューを提供するインタフェース、振動刺激装置などを含むことができる。
図3に示す処理デバイス360は、本開示に記載の実施形態を実行するために、コンピュータプログラム、アプリケーション、方法、プロセス、又は他のソフトウェアを実行するように構成された少なくとも1つのプロセッサを含むことができる。一般に、本開示の任意のデバイス又はシステムに含まれる処理デバイスは、1つ以上の集積回路、マイクロチップ、マイクロコントローラ、マイクロプロセッサ、中央処理デバイス(CPU)、グラフィックス処理デバイス(GPU)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)の全部又は一部、又は命令を実行し、或いは論理演算を実行するのに適した他の回路を含むことができる。処理デバイスは、Intel(商標)によって製造されたマイクロプロセッサなど、開示された方法の機能を実行するように構成された少なくとも1つのプロセッサを含むことができる。処理デバイスは、単一のコア又は並列処理を同時に実行する複数のコアプロセッサを含むことができる。一例では、処理デバイスは、仮想処理技術で構成されたシングルコアプロセッサであってもよい。処理デバイスは、複数のソフトウェアプロセス、アプリケーション、プログラムなどを実行、制御、実行、操作、記憶などする能力を提供するために、仮想マシン技術又は他の技術を実装することができる。別の例では、処理デバイスは、処理デバイスに関連するデバイスが複数のプロセスを同時に実行することを可能にする並列処理機能を提供するように構成されたマルチコアプロセッサ構成(例えば、デュアル、クワッドコアなど)を含むことができる。本明細書に開示された機能を提供するために、他のタイプのプロセッサ構成を実装できることを理解されたい。
図3に示すセンサインタフェース370は、様々なセンサ、例えば、音声センサ371、画像センサ372、動きセンサ373、環境センサ374、及び他のセンサ375からセンサデータを取得することができる。一実施形態では、センサインタフェース370は、処理デバイス360と上記のセンサのうちの少なくとも1つとの間のブリッジとして機能することができる集積回路であってもよい。
音声センサ371は、音声をデジタル情報に変換することによって音声を取り込むように構成された1つ以上の音声センサを含んでもよい。音声センサの幾つかの例は、マイクロフォン、一方向マイクロフォン、双方向マイクロフォン、カージオイドマイクロフォン、全方向マイクロフォン、オンボードマイクロフォン、有線マイクロフォン、無線マイクロフォン、又は上記の任意の組み合わせを含むことができる。本開示と一致して、処理デバイス360は、音声センサ371(例えば、音声コマンド)から受信したデータに基づいて仮想コンテンツの提示を変更することができる。
画像センサ372は、光を画像データに変換することによって視覚情報を取り込むように構成された1つ以上の画像センサを含むことができる。本開示と一致して、画像センサは、本開示における任意のデバイス又はシステムに含まれてもよく、近赤外、赤外、可視、及び紫外スペクトルの光信号を検出し、電気信号に変換することができる任意のデバイスであってもよい。画像センサの例は、デジタルカメラ、電話カメラ、半導体電荷結合素子(CCD)、相補型金属酸化膜半導体(CMOS)又はN型金属酸化膜半導体(NMOS、ライブMOS)のアクティブ画素センサを含むことができる。電気信号は、画像データを生成するために使用され得る。本開示と一致して、画像データは、画素データストリーム、デジタル画像、デジタルビデオストリーム、捕捉画像から導出されたデータ、及び1つ以上の3D画像、3D画像のシーケンス、3Dビデオ、又は仮想3D表示を構築するために使用され得るデータを含むことができる。画像センサ372によって取得された画像データは、有線又は無線送信によってシステム200の任意の処理デバイスに送信することができる。例えば、画像データは、オブジェクトを検出するため、事象を検出するため、動作を検出するため、顔を検出するため、人物を検出するため、既知の人物を認識するため、又はシステム200によって使用され得る任意の他の情報において処理され得る。本開示と一致して、処理デバイス360は、画像センサ372から受信した画像データに基づいて仮想コンテンツの提示を変更することができる。
動きセンサ373は、入力ユニット202の動き又は入力ユニット202の環境内のオブジェクトの動きを測定するように構成された1つ以上の動きセンサを含むことができる。具体的には、動きセンサは、入力ユニット202の環境内のオブジェクトの動きを検出すること、入力ユニット202の環境内のオブジェクトの速度を測定すること、入力ユニット202の環境内のオブジェクトの加速度を測定すること、入力ユニット202の動きを検出すること、入力ユニット202の速度を測定すること、入力ユニット202の加速度を測定することなどのうちの少なくとも1つを実行することができる。幾つかの実施形態では、動きセンサ373は、入力ユニット202の適切な加速度の変化を検出し、及び/又は適切な加速度を測定するように構成された1つ以上の加速度計を含むことができる。他の実施形態では、動きセンサ373は、入力ユニット202の向きの変化を検出し、及び/又は入力ユニット202の向きに関する情報を測定するように構成された1つ以上のジャイロスコープを含むことができる。他の実施形態では、動きセンサ373は、画像センサ、LIDARセンサ、レーダセンサ、又は近接センサを使用する1つ以上を含むことができる。例えば、捕捉された画像を解析することによって、処理デバイスは、例えば、エゴモーションアルゴリズムを使用して、入力ユニット202の動きを決定することができる。更に、処理デバイスは、例えば、オブジェクト追跡アルゴリズムを使用して、入力ユニット202の環境内のオブジェクトの動きを決定することができる。本開示と一致して、処理デバイス360は、入力ユニット202の決定された動き又は入力ユニット202の環境内のオブジェクトの決定された動きに基づいて、仮想コンテンツの提示を変更することができる。例えば、入力ユニット202の移動に仮想ディスプレイを追従させる。
環境センサ374は、入力ユニット202の環境を反映したデータを捕捉するように構成された異なるタイプの1つ以上のセンサを含むことができる。幾つかの実施形態では、環境センサ374は、入力ユニット202の環境内の化学的特性を測定すること、入力ユニット202の環境内の化学的特性の変化を測定すること、入力ユニット202の環境内の化学物質の存在を検出すること、入力ユニット202の環境内の化学物質の濃度を測定すること、のうちの少なくとも1つを実行するように構成された1つ以上の化学センサを含むことができる。そのような化学的特性の例には、pHレベル、毒性、及び温度が含まれ得る。そのような化学物質の例には、電解質、特定の酵素、特定のホルモン、特定のタンパク質、煙、二酸化炭素、一酸化炭素、酸素、オゾン、水素、及び硫化水素が含まれ得る。他の実施形態では、環境センサ374は、入力ユニット202の環境の温度の変化を検出し、及び/又は入力ユニット202の環境の温度を測定するように構成された1つ以上の温度センサを含むことができる。他の実施形態では、環境センサ374は、入力ユニット202の環境内の気圧の変化を検出し、及び/又は入力ユニット202の環境内の気圧を測定するように構成された1つ以上の気圧計を含むことができる。他の実施形態では、環境センサ374は、入力ユニット202の環境内の周囲光の変化を検出するように構成された1つ以上の光センサを含むことができる。本開示と一致して、処理デバイス360は、環境センサ374からの入力に基づいて仮想コンテンツの提示を変更することができる。例えば、ユーザ100の環境が暗くなったときに、仮想コンテンツの輝度を自動的に下げる。
他のセンサ375は、重量センサ、光センサ、抵抗センサ、超音波センサ、近接センサ、バイオメトリックセンサ、又は関連する機能を容易にするための他の検知デバイスを含むことができる。特定の実施形態では、他のセンサ375は、入力ユニット202の測位情報を取得し、入力ユニット202の位置の変化を検出し、及び/又は入力ユニット202の位置を測定するように構成された1つ以上の測位センサを含むことができる。或いは、GPSソフトウェアは、入力ユニット202が外部GPS受信機(例えば、シリアルポート又はBluetoothを介して接続する)にアクセスすることを可能にすることができる。本開示と一致して、処理デバイス360は、他のセンサ375からの入力に基づいて仮想コンテンツの提示を変更することができる。例えば、生体センサからのデータを用いてユーザ100を特定した後にのみ個人情報を提示する。
図3に示す構成要素及び配置は、いかなる実施形態も限定することを意図するものではない。本開示の利益を有する当業者には理解されるように、入力ユニット202の図示の構成に対して多数の変形及び/又は変更を行うことができる。例えば、入力ユニットの動作に全ての構成要素が必須であるとは限らない。任意の構成要素は、入力ユニットの任意の適切な部分に配置されてもよく、構成要素は、様々な実施形態の機能を提供しながら様々な構成に再配置されてもよい。例えば、幾つかの入力ユニットは、入力ユニット202に示すように、要素の全てを含まなくてもよい。
図4は、XRユニット204の構成例を示すブロック図である。図4は、1つの実施形態の例示的な表示であり、本開示の範囲内で、幾つかの図示された要素を省略し、他の要素を追加することができることを理解されたい。図4の実施形態では、XRユニット204は、XRユニット204内で情報を転送するためのサブシステム及び構成要素を相互接続するバス400(又は他の通信メカニズム)に直接的又は間接的にアクセスし得る。例えば、バス400は、メモリインタフェース410、ネットワークインタフェース420、入力インタフェース430、電源440、出力インタフェース450、処理デバイス460、センサインタフェース470、及びデータベース480を相互接続することができる。
図4に示すメモリインタフェース410は、詳細に前述したメモリインタフェース310の機能と同様の機能を有すると仮定される。メモリインタフェース410は、非一時的コンピュータ可読媒体又はメモリデバイス411などのメモリデバイスに記憶されたソフトウェア製品及び/又はデータにアクセスするために使用することができる。メモリデバイス411は、本開示と一致するプロセスを実行するためのソフトウェアモジュールを含むことができる。特に、メモリデバイス411は、入力決定モジュール412、出力決定モジュール413、センサ通信モジュール414、仮想コンテンツ決定モジュール415、仮想コンテンツ通信モジュール416、及びデータベースアクセスモジュール417を含むことができる。モジュール412~417は、XRユニット204に関連付けられる少なくとも1つのプロセッサ(例えば、処理デバイス460)による実行のためのソフトウェア命令を含み得る。入力決定モジュール412、出力決定モジュール413、センサ通信モジュール414、仮想コンテンツ決定モジュール415、仮想コンテンツ通信モジュール416、及びデータベースアクセスモジュール417は、様々な動作を実行するために協働することができる。例えば、入力決定モジュール412は、入力ユニット202から受信したユーザインタフェース(UI)入力を決定することができる。同時に、センサ通信モジュール414は、ユーザ100の状態を決定するために異なるセンサからデータを受信することができる。仮想コンテンツ決定モジュール415は、受信した入力及び決定されたユーザ100の状態に基づいて、表示すべき仮想コンテンツを決定することができる。仮想コンテンツ通信モジュール416は、仮想コンテンツ決定モジュール415によって決定されていない仮想コンテンツを検索し得る。仮想コンテンツの検索は、データベース380、データベース480、モバイル通信デバイス206、又は遠隔処理ユニット208からのものであってもよい。仮想コンテンツ決定モジュール415の出力に基づいて、出力決定モジュール413は、プロジェクタ454によってユーザ100に表示される仮想コンテンツの変更を引き起こすことができる。
幾つかの実施形態では、入力決定モジュール412は、ジェスチャ入力431、仮想入力432、音声入力433、及びUI入力434を受け取るために入力インタフェース430の動作を調整することができる。本開示と一致して、入力決定モジュール412は、異なるタイプの入力データを同時に受信することができる。一実施形態では、入力決定モジュール412は、検出された入力のタイプに基づいて異なる規則を適用することができる。例えば、ジェスチャ入力は、仮想入力よりも優先され得る。幾つかの実施形態では、出力決定モジュール413は、光インジケータ451、ディスプレイ452、スピーカ453、及びプロジェクタ454を使用して出力を生成するために、出力インタフェース450の動作を調整することができる。一実施形態では、光インジケータ451は、装着型エクステンデッドリアリティ機器の状態を示す光インジケータを含むことができる。例えば、光インジケータは、装着型エクステンデッドリアリティ機器110が入力ユニット202に接続されているときに緑色の光を表示し、装着型エクステンデッドリアリティ機器110のバッテリが低いときに点滅してもよい。別の実施形態では、ディスプレイ452を使用して動作情報を表示することができる。別の実施形態では、スピーカ453は、ユーザ100に音声を出力するために使用される骨伝導ヘッドフォンを含むことができる。別の実施形態では、プロジェクタ454は、仮想コンテンツをユーザ100に提示することができる。
センサ通信モジュール、仮想コンテンツ決定モジュール、仮想コンテンツ通信モジュール、及びデータベースアクセスモジュールの動作は、図3を参照して前述されており、その詳細はここでは繰り返さない。モジュール412~417は、ソフトウェア、ハードウェア、ファームウェア、それらのいずれかの混合などで実装されてもよい。
図4に示すネットワークインタフェース420は、詳細に前述したネットワークインタフェース320の機能と同様の機能を有すると仮定される。ネットワークインタフェース420の具体的な設計及び実施は、XRユニット204が動作することが意図されている通信ネットワークに依存し得る。例えば、幾つかの実施形態では、XRユニット204は、入力ユニット202にワイヤによって選択的に接続可能であるように構成される。有線で接続されている場合、ネットワークインタフェース420は、入力ユニット202との通信を可能にすることができ、有線で接続されていない場合、ネットワークインタフェース420は、モバイル通信デバイス206との通信を可能にすることができる。
図4に示す入力インタフェース430は、詳細に前述した入力インタフェース330の機能と同様の機能を有すると仮定される。この場合、入力インタフェース430は、画像センサと通信してジェスチャ入力431(例えば、仮想オブジェクトを指すユーザ100の指)を取得し、他のXRユニット204と通信して仮想入力432(例えば、XRユニット204と共有される仮想オブジェクト、又は仮想環境内で検出されたアバターのジェスチャ)を取得し、マイクロフォンと通信して音声入力433(例えば、音声コマンド)を取得し、入力ユニット202と通信してUI入力434(例えば、仮想コンテンツ決定モジュール315によって決定された仮想コンテンツ)を取得してもよい。
図4に示す電源440は、前述した電源340の機能と同様の機能を有すると仮定され、XRユニット204に電力を供給するために電気エネルギーを供給する。幾つかの実施形態では、電源440は、電源340によって充電されてもよい。例えば、電源440は、XRユニット204が入力ユニット202の上又は近傍に配置されたときに無線で変更されてもよい。
図4に示す出力インタフェース450は、詳細に前述した出力インタフェース350の機能と同様の機能を有すると仮定される。この場合、出力インタフェース450は、光インジケータ451、ディスプレイ452、スピーカ453、及びプロジェクタ454からの出力を引き起こすことができる。プロジェクタ454は、仮想コンテンツを表面上に表示するために光を投影する(又は方向付ける)ことができる任意のデバイス、装置、器具などであってもよい。表面は、XRユニット204の一部、ユーザ100の眼の一部、又はユーザ100に近接するオブジェクトの一部であってもよい。一実施形態では、プロジェクタ454は、1つ以上のミラー及びレンズによって限られた立体角内に光を集光し、規定された方向に高い値の光度を提供する照明ユニットを含むことができる。
図4に示す処理デバイス460は、詳細に前述した処理デバイス360の機能と同様の機能を有すると仮定される。XRユニット204が入力ユニット202に接続されると、処理デバイス460は処理デバイス360と協働してもよい。具体的には、処理デバイス460は、仮想マシン技術又は他の技術を実装して、複数のソフトウェアプロセス、アプリケーション、プログラムなどを実行、制御、実行、操作、記憶などする能力を提供することができる。本明細書に開示された能力を提供するために、他のタイプのプロセッサ構成を実装できることを理解されたい。
図4に示すセンサインタフェース470は、詳細に前述したセンサインタフェース370の機能と同様の機能を有すると仮定される。具体的には、センサインタフェース470は、音声センサ471、画像センサ472、動きセンサ473、環境センサ474、及び他のセンサ475と通信することができる。音声センサ、画像センサ、動きセンサ、環境センサ、及び他のセンサの動作は、図3を参照して前述されており、その詳細はここでは繰り返さない。本明細書に開示された能力を提供するために、他のタイプ及びセンサの組み合わせが使用されてもよいことが理解される。
図4に示す構成要素及び配置は、いかなる実施形態も限定することを意図するものではない。本開示の利益を有する当業者によって理解されるように、多数の変形及び/又は変更が、図示されたXRユニット204の構成に対して行われ得る。例えば、全ての構成要素が全ての場合においてXRユニット204の動作に必須であるとは限らない。任意の構成要素は、システム200の任意の適切な部分に配置されてもよく、構成要素は、様々な実施形態の機能を提供しながら様々な構成に再配置されてもよい。例えば、一部のXRユニットは、XRユニット204内の全ての要素を含まなくてもよい(例えば、装着型エクステンデッドリアリティ機器110は、光インジケータ451を有していなくてもよい)。
図5は、遠隔処理ユニット208の構成例を示すブロック図である。図5は、1つの実施形態の例示的な表示であり、本開示の範囲内で、幾つかの図示された要素を省略し、他の要素を追加することができることを理解されたい。図5の実施形態では、遠隔処理ユニット208は、サーバ210内で情報を転送するためのサブシステム及び構成要素を相互接続するバス500(又は他の通信機構)に直接又は間接的にアクセスするサーバ210を含むことができる。例えば、バス500は、メモリインタフェース510、ネットワークインタフェース520、電源540、処理デバイス560、及びデータベース580を相互接続することができる。遠隔処理ユニット208はまた、1つ以上のデータ構造を含むことができる。例えば、データ構造212A、212B、及び212C。
図5に示すメモリインタフェース510は、詳細に前述したメモリインタフェース310の機能と同様の機能を有すると仮定される。メモリインタフェース510は、非一時的コンピュータ可読媒体に、又はメモリデバイス311、411、511、又はデータ構造212A、212B、及び212Cなどの他のメモリデバイスに記憶されたソフトウェア製品及び/又はデータにアクセスするために使用することができる。メモリデバイス511は、本開示と一致するプロセスを実行するためのソフトウェアモジュールを含むことができる。特に、メモリデバイス511は、共有メモリモジュール512、ノード登録モジュール513、負荷分散モジュール514、1つ以上の計算ノード515、内部通信モジュール516、外部通信モジュール517、及びデータベースアクセスモジュール(図示せず)を含むことができる。モジュール512~517は、遠隔処理ユニット208に関連付けられた少なくとも1つのプロセッサ(例えば、処理デバイス560)による実行のためのソフトウェア命令を含むことができる。共有メモリモジュール512、ノード登録モジュール513、負荷分散モジュール514、計算モジュール515、及び外部通信モジュール517は、様々な動作を実行するために協働することができる。
共有メモリモジュール512は、遠隔処理ユニット208とシステム200の他の構成要素との間の情報共有を可能にすることができる。幾つかの実施形態では、共有メモリモジュール512は、処理デバイス560(及びシステム200内の他の処理デバイス)がデータにアクセスし、取り出し、及び記憶することを可能にするように構成され得る。例えば、共有メモリモジュール512を使用して、処理デバイス560は、メモリデバイス511、データベース580、又はデータ構造212A~Cに記憶されたソフトウェアプログラムを実行するステップ、メモリデバイス511、データベース580、又はデータ構造212A~Cに情報を記憶するステップ、又は、メモリデバイス511、データベース580、又はデータ構造212A~Cから情報を取得するステップのうちの少なくとも1つを行うことができる。
ノード登録モジュール513は、1つ以上の計算ノード515の可用性を追跡するように構成することができる。幾つかの例では、ノード登録モジュール513は、1つ以上の計算ノード515によって実行されるソフトウェアプログラムなどのソフトウェアプログラム、ハードウェア解決策、又はソフトウェアとハードウェアの組み合わせ解決策として実装されてもよい。幾つかの実装形態では、ノード登録モジュール513は、例えば、内部通信モジュール516を使用して、1つ以上の計算ノード515と通信することができる。幾つかの例では、1つ以上の計算ノード515は、例えば、起動時、シャットダウン時、一定間隔で、選択された時間に、ノード登録モジュール513から受信したクエリに応じて、又は任意の他の決定された時間にメッセージを送信することによって、それらの状態をノード登録モジュール513に通知することができる。幾つかの例では、ノード登録モジュール513は、例えば、起動時に、一定間隔で、選択された時間に、又は任意の他の決定された時間にメッセージを送信することによって、1つ以上の計算ノード515の状態について照会することができる。
負荷分散モジュール514は、ワークロードを1つ以上の計算ノード515の間で分割するように構成することができる。幾つかの例では、負荷分散モジュール514は、計算ノード515のうちの1つ以上によって実行されるソフトウェアプログラムなどのソフトウェアプログラム、ハードウェア解決策、又はソフトウェアとハードウェアの組み合わせ解決策として実装されてもよい。幾つかの実装形態では、負荷分散モジュール514は、1つ以上の計算ノード515の可用性に関する情報を取得するために、ノード登録モジュール513と相互作用することができる。幾つかの実装形態では、負荷分散モジュール514は、例えば、内部通信モジュール516を使用して、1つ以上の計算ノード515と通信することができる。幾つかの例では、1つ以上の計算ノード515は、例えば、起動時、シャットダウン時、一定間隔で、選択された時間に、負荷分散モジュール514から受信した問い合わせに応じて、又は任意の他の決定された時間にメッセージを送信することによって、負荷分散モジュール514にそれらの状態を通知することができる。幾つかの例では、負荷分散モジュール514は、例えば、起動時、一定間隔で、予め選択された時間に、又は任意の他の決定された時間にメッセージを送信することによって、1つ以上の計算ノード515の状態について照会することができる。
内部通信モジュール516は、遠隔処理ユニット208の1つ以上の構成要素から情報を受信及び/又は送信するように構成されてもよい。例えば、制御信号及び/又は同期信号は、内部通信モジュール516を介して送信及び/又は受信することができる。一実施形態では、コンピュータプログラムの入力情報、コンピュータプログラムの出力情報、及び/又はコンピュータプログラムの中間情報は、内部通信モジュール516を介して送信及び/又は受信することができる。別の実施形態では、内部通信モジュール516を介して受信された情報は、メモリデバイス511、データベース580、データ構造212A~C、又はシステム200内の他のメモリデバイスに記憶されてもよい。例えば、データ構造212Aから取得された情報は、内部通信モジュール516を使用して送信されてもよい。別の例では、入力データは、内部通信モジュール516を使用して受信され、データ構造212Bに格納され得る。
外部通信モジュール517は、システム200の1つ以上の構成要素から情報を受信及び/又は送信するように構成されてもよい。例えば、制御信号は、外部通信モジュール517を介して送信及び/又は受信することができる。一実施形態では、外部通信モジュール517を介して受信された情報は、メモリデバイス511、データベース580、データ構造212A~C、及び/又はシステム200内の任意のメモリデバイスに格納することができる。別の実施形態では、データ構造212A~Cのいずれかから検索された情報は、外部通信モジュール517を使用してXRユニット204に送信されてもよい。別の実施形態では、入力データは、外部通信モジュール517を使用して送信及び/又は受信することができる。そのような入力データの例は、入力ユニット202から受信したデータ、(例えば、音声センサ471、画像センサ472、動きセンサ473、環境センサ474、他のセンサ475)1つ以上のセンサを使用してユーザ100の環境から捕捉された情報などを含むことができる。
幾つかの実施形態では、モジュール512~517の態様は、1つ以上のプロセッサによって、単独で、又は互いに様々な組み合わせで実行可能な、ハードウェア、ソフトウェア(1つ以上の信号処理及び/又は特定用途向け集積回路を含む)、ファームウェア、又はそれらの任意の組み合わせで実装されてもよい。具体的には、モジュール512~517は、本開示の実施形態と一致する機能を実行するために、互いに及び/又はシステム200の他のモジュールと相互作用するように構成され得る。メモリデバイス511は、更なるモジュール及び命令又はより少ないモジュール及び命令を含むことができる。
図5に示すネットワークインタフェース520、電源540、処理デバイス560、及びデータベース580は、図4及び図5を参照して前述した同様の要素の機能と同様の機能を有すると仮定される。前述の構成要素の具体的な設計及び実施態様は、システム200の実施態様に基づいて変化し得る。更に、遠隔処理ユニット208は、より多くの又はより少ない構成要素を含むことができる。例えば、遠隔処理ユニット208は、1つ以上の入力デバイスから直接入力を受信するように構成された入力インタフェースを含むことができる。
本開示と一致して、システム200の処理デバイス(例えば、モバイル通信デバイス206内のプロセッサ、サーバ210内のプロセッサ、装着型エクステンデッドリアリティ機器110などの装着型エクステンデッドリアリティ機器内のプロセッサ、及び/又はキーボード104などの装着型エクステンデッドリアリティ機器110に関連する入力デバイス内のプロセッサ)は、本明細書に開示された方法のいずれかを実施するために機械学習アルゴリズムを使用することができる。幾つかの実施形態では、機械学習アルゴリズム(本開示では機械学習モデルとも呼ばれる)は、例えば以下に説明する場合に、訓練例を使用して訓練することができる。そのような機械学習アルゴリズムの幾つかの非限定的な例は、分類アルゴリズム、データ回帰アルゴリズム、画像セグメント化アルゴリズム、視覚検出アルゴリズム(例えば、オブジェクト検出器、顔検出器、人物検出器、動き検出器、エッジ検出器など)、視覚認識アルゴリズム(例えば、顔認識、人物認識、オブジェクト認識など)、音声認識アルゴリズム、数学的埋め込みアルゴリズム、自然言語処理アルゴリズム、サポートベクターマシン、ランダムフォレスト、最近傍アルゴリズム、ディープラーニングアルゴリズム、人工ニューラルネットワークアルゴリズム、畳み込みニューラルネットワークアルゴリズム、リカレントニューラルネットワークアルゴリズム、線形機械学習モデル、非線形機械学習モデル、アンサンブルアルゴリズムなどを含み得る。例えば、訓練された機械学習アルゴリズムは、予測モデル、分類モデル、データ回帰モデル、クラスタリングモデル、セグメント化モデル、人工ニューラルネットワーク(例えば、ディープニューラルネットワーク、畳み込みニューラルネットワーク、リカレントニューラルネットワークなど)、ランダムフォレスト、サポートベクターマシンなどの推論モデルを含み得る。幾つかの例では、訓練例は、例の入力と、例の入力に対応する所望の出力とを含むことができる。更に、幾つかの例では、訓練例を使用して訓練された機械学習アルゴリズムは、訓練された機械学習アルゴリズムを生成することができ、訓練された機械学習アルゴリズムは、訓練例に含まれない入力に対する出力を推定するために使用され得る。幾つかの例では、機械学習アルゴリズムを訓練するエンジニア、科学者、プロセス、及び機械は、検証例及び/又はテスト例を更に使用することができる。例えば、検証例及び/又はテスト例は、例示的な入力に対応する所望の出力と共に例示的な入力を含むことができ、訓練された機械学習アルゴリズム及び/又は中間的に訓練された機械学習アルゴリズムを使用して、検証例及び/又はテスト例の例示的な入力の出力を推定することができ、推定された出力を対応する所望の出力と比較することができ、訓練された機械学習アルゴリズム及び/又は中間的に訓練された機械学習アルゴリズムは、比較の結果に基づいて評価することができる。幾つかの例では、機械学習アルゴリズムはパラメータ及びハイパーパラメータを有することができ、ハイパーパラメータは、人によって手動で又は機械学習アルゴリズムの外部のプロセス(ハイパーパラメータ探索アルゴリズムなど)によって自動的に設定することができ、機械学習アルゴリズムのパラメータは、訓練例に基づいて機械学習アルゴリズムによって設定することができる。幾つかの実装形態では、ハイパーパラメータは、訓練例及び検証例に基づいて設定されてもよく、パラメータは、訓練例及び選択されたハイパーパラメータに基づいて設定されてもよい。例えば、ハイパーパラメータが与えられると、パラメータは、検証例から条件的に独立していてもよい。
幾つかの実施形態では、訓練された機械学習アルゴリズム(本開示では機械学習モデル及び訓練された機械学習モデルとも呼ばれる)を使用して、例えば以下に説明する場合に、入力を解析し、出力を生成することができる。幾つかの例では、訓練された機械学習アルゴリズムは、入力が提供されると推論された出力を生成する推論モデルとして使用することができる。例えば、訓練された機械学習アルゴリズムは分類アルゴリズムを含むことができ、入力はサンプルを含むことができ、推論された出力はサンプルの分類(例えば、推測されたラベル、推測されたタグなど)を含むことができる。別の例では、訓練された機械学習アルゴリズムは回帰モデルを含むことができ、入力はサンプルを含むことができ、推論された出力はサンプルに対応する推論された値を含むことができる。更に別の例では、訓練された機械学習アルゴリズムはクラスタリングモデルを含むことができ、入力はサンプルを含むことができ、推論された出力は、少なくとも1つのクラスタへのサンプルの割り当てを含むことができる。更なる例では、訓練された機械学習アルゴリズムは分類アルゴリズムを含むことができ、入力は画像を含むことができ、推論された出力は画像に描写されたアイテムの分類を含むことができる。更に別の例では、訓練された機械学習アルゴリズムは回帰モデルを含むことができ、入力は画像を含むことができ、推論された出力は、画像に描写されたアイテムに対応する推論された値を含むことができる(例えば、画像に描写された人のサイズ、体積、年齢、画像に描写されたアイテムからの距離などのアイテムの推定された特性など)。更なる例では、訓練された機械学習アルゴリズムは画像セグメント化モデルを含むことができ、入力は画像を含むことができ、推論された出力は画像のセグメント化を含むことができる。更に別の例では、訓練された機械学習アルゴリズムは、オブジェクト検出器を含むことができ、入力は画像を含むことができ、推論された出力は、画像内の1つ以上の検出されたオブジェクト及び/又は画像内のオブジェクトの1つ以上の位置を含むことができる。幾つかの例では、訓練された機械学習アルゴリズムは、1つ以上の式及び/又は1つ以上の関数及び/又は1つ以上の規則及び/又は1つ以上の手順を含むことができ、入力は、式及び/又は関数及び/又は規則及び/又は手順への入力として使用することができ、推論された出力は、式及び/又は関数及び/又は規則及び/又は手順の出力に基づくことができる(例えば、公式及び/又は関数及び/又は規則及び/又は手順の出力のうちの1つを選択すること、公式及び/又は関数及び/又は規則及び/又は手順の出力の統計的尺度を使用することなど)。
本開示と一致して、システム200の処理デバイスは、本明細書に開示される方法のいずれかを実施するために、画像センサ(例えば、画像センサ372、画像センサ472、又は任意の他の画像センサ)によって捕捉された画像データを解析することができる。幾つかの実施形態では、画像データを解析することは、画像データを解析して前処理された画像データを得ることと、その後、画像データ及び/又は前処理された画像データを解析して所望の結果を得ることとを含むことができる。当業者であれば分かるように、以下が例であり、画像データが他のタイプの前処理方法を使用して前処理され得る。幾つかの例では、変換関数を使用して画像データを変換して変換画像データを得ることによって画像データを前処理することができ、前処理された画像データは変換画像データを含むことができる。例えば、変換画像データは、画像データの1つ以上の畳み込みを含むことができる。例えば、変換関数は、ローパスフィルタ、ハイパスフィルタ、バンドパスフィルタ、オールパスフィルタなどの1つ以上の画像フィルタを含むことができる。幾つかの例では、変換関数は非線形関数を含み得る。幾つかの例では、画像データは、例えばガウス畳み込みを使用して、メディアンフィルタを使用してなど、画像データの少なくとも一部を平滑化することによって前処理されてもよい。幾つかの例では、画像データは、画像データの異なる表示を取得するために前処理されてもよい。例えば、前処理された画像データは、周波数領域における画像データの少なくとも一部の表示、画像データの少なくとも一部の離散フーリエ変換、画像データの少なくとも一部の離散ウェーブレット変換、画像データの少なくとも一部の時間/周波数表示、画像データの少なくとも一部の低次元での表示、画像データの少なくとも一部の非可逆表示、記画像データの少なくとも一部の無損失表示、上記のいずれかの時系列、上記の任意の組み合わせなどを含むことができる。幾つかの例では、画像データを前処理してエッジを抽出することができ、前処理された画像データは、抽出されたエッジに基づく及び/又は関連する情報を含むことができる。幾つかの例では、画像データを前処理して、画像データから画像特徴を抽出することができる。そのような画像特徴の幾つかの非限定的な例は、エッジ、角部、ブロブ、リッジ、スケール不変特徴変換(SIFT)特徴、時間的特徴などに基づく及び/又は関連する情報を含むことができる。幾つかの例では、画像データを解析することは、画像データの少なくとも一部の少なくとも1つの畳み込みを計算することと、計算された少なくとも1つの畳み込みを使用して、少なくとも1つの結果値を計算すること、及び/又は決定、特定、認識、分類などを行うこととを含むことができる。
本開示の別の態様と一致して、システム200の処理デバイスは、本明細書に開示された方法のいずれかを実施するために画像データを解析することができる。幾つかの実施形態では、画像を解析することは、1つ以上の規則、関数、手順、人工ニューラルネットワーク、オブジェクト検出アルゴリズム、顔検出アルゴリズム、視覚事象検出アルゴリズム、行動検出アルゴリズム、動き検出アルゴリズム、背景減算アルゴリズム、推論モデルなどを使用して画像データ及び/又は前処理された画像データを解析することを含むことができる。そのような推論モデルの幾つかの非限定的な例は、手動で事前にプログラムされた推論モデル、分類モデル、回帰モデル、機械学習アルゴリズム及び/又はディープラーニングアルゴリズムなどの訓練アルゴリズムの訓練例に対する結果を含むことができ、訓練例はデータインスタンスの例を含むことができ、場合によっては、データインスタンスは、対応する所望のラベル及び/又は結果などでラベル付けされることができる。幾つかの実施形態では、画像データを(例えば、本明細書に記載の方法、ステップ、及びモジュールによって)解析することは、画像データに含まれる画素、ボクセル、点群、距離データなどを解析することを含むことができる。
畳み込みは、任意の次元の畳み込みを含み得る。1次元畳み込みは、元の数列を変換された数列に変換する関数である。1次元畳み込みは、一連のスカラーによって定義され得る。変換された数列内の各特定の値は、特定の値に対応する元の数列の部分列内の値の線形結合を計算することによって決定され得る。計算された畳み込みの結果値は、変換された数列内の任意の値を含むことができる。同様に、n次元畳み込みは、元のn次元配列を変換済み配列に変換する関数である。n次元畳み込みは、スカラーのn次元アレイ(n次元畳み込みのカーネルとして知られている)によって定義され得る。変換された配列内の各特定の値は、特定の値に対応する元の配列のn次元領域内の値の線形結合を計算することによって決定され得る。計算された畳み込みの結果値は、変換された配列内の任意の値を含むことができる。幾つかの例では、画像は1つ以上の成分(例えば、色成分、深度成分など)を含むことができ、各成分は画素値の二次元配列を含むことができる。一例では、画像の畳み込みを計算することは、画像の1つ以上の成分に対する二次元畳み込みを計算することを含むことができる。別の例では、画像の畳み込みを計算することは、異なる成分からの配列を積み重ねて三次元配列を作成することと、得られた三次元配列に対して三次元畳み込みを計算することとを含むことができる。幾つかの例では、ビデオは、1つ以上の構成要素(例えば、色成分、深度成分など)を含むことができ、各構成要素は、(2つの空間軸及び1つの時間軸を有する)画素値の三次元アレイを含むことができる。一例では、ビデオの畳み込みを計算することは、ビデオの1つ以上の構成要素上の三次元畳み込みを計算することを含むことができる。別の例では、ビデオの畳み込みを計算することは、異なる構成要素からの配列を積み重ねて4次元配列を作成することと、得られた4次元配列に対して4次元畳み込みを計算することとを含むことができる。
装着型エクステンデッドリアリティ機器を使用する場合、オブジェクトをズームインすることによって、又はオブジェクトの仮想方向を変更することによってなど、斜視図を変更する要望があり得る。タッチセンサ上の指のピンチ又は回転がシーンの斜視図を変化させるように、装着型エクステンデッドリアリティ機器と相互作用するタッチコントローラを介してこのタイプの制御を可能にすることが望ましい場合がある。以下の開示は、物理タッチコントローラを使用してエクステンデッドリアリティ環境で視点を制御するための様々なシステム、方法、及び非一時的コンピュータ可読媒体を説明する。
幾つかの開示された実施形態は、物理タッチコントローラを使用してエクステンデッドリアリティ環境における視点を制御するためのシステム、方法、及び非一時的コンピュータ可読媒体を含むことができる。非一時的という用語は、伝播する電磁信号を除くコンピュータ可読記憶媒体を説明することを意図しているが、コンピュータ可読媒体という語句に包含される物理的なコンピュータ可読記憶デバイスのタイプを限定することを意図していない。例えば、非一時的コンピュータ可読媒体という用語は、例えばランダムアクセスメモリ(RAM)を含む、必ずしも情報を永続的に記憶しないタイプの記憶デバイスを包含することを意図している。非一時的形式で有形のコンピュータアクセス可能記憶媒体に記憶されたプログラム命令及びデータは、ネットワーク及び/又は無線リンクなどの通信媒体を介して伝達され得る、電気信号、電磁信号、又はデジタル信号などの伝送媒体又は信号によって更に送信され得る。非一時的コンピュータ可読媒体は、磁気ディスク、カード、テープ、ドラム、パンチカード、紙テープ、光ディスク、バーコード、及び磁気インク文字、又は機械的デバイスによって読み取り可能なフォーマットでデータを記憶することができる任意の他の有形媒体を含むことができる。
本開示で使用されるような視点の制御は、例えば、固定距離におけるシーンの位置を変更すること、シーンの距離を変更すること、シーンの角度を変更すること、シーンのサイズを変更すること、シーンの回転を引き起こすこと、又は、観察者がシーンを視覚化することができる方法の変化を引き起こす可能性があるシーンの任意の他の操作を含むことができる。一例では、視点を制御することは、シーンの空間変換を変更することを含むことができる。空間変換の幾つかの非限定的な例は、並進変換、回転変換、反射変換、拡張変換、アフィン変換、射影変換などを含むことができる。一例では、視点を制御することは、シーンの第1の部分の第1の空間変換を変更することと、シーンの第2の部分の第2の空間変換を変更することとを含むことができる(第2の空間変換は第1の空間変換と異なっていてもよく、第2の空間変換への変更は第1の空間変換への変更と異なっていてもよく、かつ/又はシーンの第2の部分はシーンの第1の部分と異なっていてもよい)。シーンは、例えば、場所、場所、位置、地点、スポット、場所、アリーナ、ステージ、セット、軌跡、セクション、セグメント、部分、クリップ、シーケンス、生物又は無生物、人物、又は視野の任意の他の構成要素を含むことができる。シーンの位置を固定距離で変更することは、例えば、シーンを三次元フィールド内の水平方向、垂直方向、対角方向、回転方向、又は他の任意の方向に並進させることを含むことができる。シーンの距離を変更することは、例えば、シーンと任意の基準点との間の空間の量を、水平方向、垂直方向、斜め方向、回転方向、又は三次元フィールド内の任意の他の方向に増大又は減少させることを含むことができる。
シーンの角度を変更することは、例えば、2つの基準点間の勾配、傾斜、傾斜、又は任意の他の傾斜を増減することを含むことができる。シーンのサイズを変更することは、例えば、シーン内の任意の構成要素、複数の構成要素、又は構成要素の組み合わせの1つ以上の寸法を拡大すること、増大すること、広げること、拡張すること、延ばすこと、増やすこと、膨らませること、伸長すること、大きくすること、膨れ上がらせること、幅広にすること、増幅させること、拡開すること、引き延ばすこと、拡延させること、伸張させること、縮小させること、減少させること、小さくすること、少なくすること、狭くすること、低下させること、短くすること、圧縮すること、又は収縮させることを含むことができる。シーンの他の操作は、元のシーンに対するシーンの任意の視覚的変更を含み得る。
物理タッチコントローラは、表面との指の接触又は表面上の指の動きの検出を通じてディスプレイ上の情報の操作を可能にするデバイスを含むことができる。本明細書における指への任意の言及は、任意の他の指、ペン、道路などの他のオブジェクトにも同様に適用することができる。本明細書における指の接触及び/又は動きへの任意の言及は、任意の他の指、ペン、道路、複数のそのようなオブジェクト(例えば、マルチタッチ面において)などの任意の他のオブジェクトの接触及び/又は動きにも同様に適用することができる。物理タッチコントローラは、ソフトウェア、ハードウェア、又はそれらの任意の組み合わせを介して実装され得る。幾つかの実施形態では、物理タッチコントローラは、例えば、1つ以上のコンピュータチップ、1つ以上の回路基板、1つ以上の電子回路、又はそれらの任意の組み合わせを含むことができる。これに加えて又は代えて、物理タッチコントローラは、例えば、タッチセンサと通信するように適合された実行可能命令を有する記憶媒体を含むことができる。特定の実施形態では、物理タッチコントローラは、有線又は無線システムを使用してセンサ及びプロセッサなどの他の構成要素に接続されてもよい。例えば、タッチコントローラは、タッチ感知面上の指(又は指の代用)の圧力感知を通じて、又はタッチ又は指の動きを検出する光学センサを通じて実装され得る。幾つかの例では、物理タッチコントローラは、タッチセンサ、タッチパッド、トラックパッド、タッチスクリーンなどのうちの少なくとも1つを介してディスプレイ上の情報の操作を可能にすることができる。
コンピュータ可読媒体の幾つかの開示された実施形態は、少なくとも1つのプロセッサによって実行されるときに少なくとも1つのプロセッサに1つ以上の機能を実行させる命令を含むことができる。命令は、何かがどのように行われ、操作され、又は処理されるべきかを示す任意の順序、コマンド、指示、プログラム、コード、又は条件を含むことができる。命令を実行するプロセッサは、汎用コンピュータであってもよいが、例えば、専用コンピュータ、マイクロコンピュータ、ミニコンピュータ、メインフレームコンピュータ、プログラムされたマイクロプロセッサ、マイクロコントローラ、周辺集積回路素子、CSIC(顧客固有集積回路)、ASIC(特定用途向け集積回路)、論理回路、デジタル信号プロセッサ、FPGA(フィールドプログラマブルゲートアレイ)、PLD(プログラマブルロジックデバイス)、PLA(プログラマブルロジックアレイ)などのプログラマブルロジックデバイス、RFID集積回路、スマートチップ、又は本開示のステップもしくはプロセスを実施することができる任意の他のデバイスもしくはデバイスの配置を含む、多種多様な他の技術のいずれかを利用することができる。幾つかの実施形態では、少なくとも1つのプロセッサは、物理的に同じ場所にある必要がない複数のプロセッサを備えてもよい。各プロセッサは、地理的に別個の位置にあってもよく、任意の適切な方法で互いに通信するように接続されてもよい。幾つかの実施形態では、複数のプロセッサのそれぞれは、機器の異なる物理的部分から構成されてもよい。
非一時的コンピュータ可読媒体で具現化される命令は、プロセッサに特定の1つ以上のタスクを実行させる様々な命令を含むことができる。特定のタスクを実行するためのそのような命令のセットは、例えば、プログラム、ソフトウェアプログラム、ソフトウェア、エンジン、モジュール、構成要素、機構、ユニット、又はツールとして特徴付けることができる。幾つかの実施形態は、メモリに記憶され、少なくとも1つのプロセッサ上で実行される複数のソフトウェア処理モジュールを含むことができる。プログラムモジュールは、少なくとも1つのプロセッサが命令を読み取ることを可能にするために機械語又はオブジェクトコードに変換される任意の適切なプログラミング言語の形態であってもよい。使用されるプログラミング言語は、アセンブリ言語、Ada、APL、Basic、C、C++、COBOL、dBase、Forth、FORTRAN、Java、Modula-2、Pascal、Prolog、REXX、Visual Basic、JavaScript、又はマシンコード出力を生成する任意の他の文字列セットを含むことができる。
幾つかの開示された実施形態と一致して、非一時的コンピュータ可読媒体は、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、装着型エクステンデッドリアリティ機器を介した提示のために、シーンの第1の視点を反映する第1の表示信号を出力させる命令を含むことができる。出力は、データの生成、配信、又は供給のうちの1つ以上を含むことができる。出力は、例えば、1つ以上の静止画像又は動画像、テキスト、アイコン、ビデオ、又はそれらの任意の組み合わせを含むグラフィック表示の形態で提示されてもよい。グラフィック表示は、二次元、三次元、ホログラフィックであってもよく、又は様々な他のタイプの視覚的特性を含んでもよい。少なくとも1つのプロセッサは、1つ以上のアナログ又はデジタル信号を生成させ、ユーザが見るためのグラフィック表示を提示するための表示デバイスに送信させることができる。幾つかの実施形態では、表示デバイスは、装着型エクステンデッドリアリティ機器を含むことができる。本開示の他の場所で説明するように、装着型エクステンデッドリアリティ機器は、例えば、拡張現実技術、仮想現実技術、複合現実技術、それらの任意の組み合わせ、又は現実環境と仮想環境とを組み合わせることができる任意の他の技術を実装することができる。装着型エクステンデッドリアリティ機器は、例えば、帽子、バイザ、ヘルメット、ゴーグル、眼鏡、又は着用することができる任意の他のオブジェクトの形態をとることができる。本開示で使用されるシーンの視点は、例えば、シーン又はシーンの一部の向き、角度、サイズ、方向、位置、アスペクト、空間変換、又は任意の他の仮想特性を含むことができる。少なくとも1つのプロセッサは、シーンの第1の視点を含むグラフィック表示の提示を引き起こすように構成され得る。例として、図7に示すように、プロセッサは、シーン710の第1の視点の提示を引き起こすように構成され得る。
幾つかの開示された実施形態は、タッチセンサを介して、タッチセンサとの第1の多指相互作用によって引き起こされる第1の入力信号を受信することを含むことができる。前述のタッチセンサは、これに加えて又は代えて、例えば、ピエゾ抵抗センサ、圧電センサ、光学センサ、静電容量センサ、弾性抵抗センサ、又は物理的相互作用に基づいて情報を決定する任意の他のタイプのセンサを含むことができる。幾つかの実施形態では、タッチセンサは、キーボード、マウス、操作ロッド、光学式もしくはトラックボール式マウス、又は任意の他のタイプのタクティカルインプットデバイスに組み込まれてもよい。幾つかの実施形態では、タッチセンサは、単独で、又は他の入力機器と組み合わせて使用されるタッチスクリーンを含むことができる。タッチスクリーンは、例えば、指、手のひら、手首、指関節、又はユーザの任意の他の身体部分を使用することによってユーザによって実行され得るようなタッチ操作を検出するために使用され得る。これに加えて又は代えて、タッチ操作は、例えば、タッチペン、スタイラス、又は任意の他の外部入力デバイスを用いて、タッチスクリーンに触れることによって、又はタッチスクリーンの近くでデバイスを移動させることによって、ユーザによって実行されてもよい。使用されるタッチセンサのタイプにかかわらず、本明細書に開示されるタッチセンサは、物理的タッチ情報を入力信号に変換するように構成され得る。
第1の入力信号は、タッチセンサとのユーザの相互作用に基づいてユーザのタッチに関する情報を提供する信号を含むことができる。第1の入力信号は、タッチセンサとのタッチ相互作用に基づいて決定され得る1つ以上のパラメータに関する情報を含み得る。例えば、第1の入力信号は、圧力、力、歪み、位置、動き、速度、加速度、温度、占有率、又は任意の他の物理的又は機械的特性に関する情報を含むことができる。第1の複数指相互作用は、ユーザが2本以上の指を使用してタッチセンサに接触することを含むタッチセンサとの任意の相互作用を含むことができる(又は、指、ペン、棒などの任意のタイプの2つ以上のオブジェクトを使用して、タッチセンサに接触する)。幾つかの実施形態では、第1の多指相互作用は、例えば、ユーザが2本以上の指を一緒に挟むこと、2本以上の指を引き離すこと、又はタッチセンサ上で2本以上の指で任意の他の動作を実行することを含み得る。図6は、本開示の幾つかの実施形態に関連して使用され得る様々な多指相互作用の幾つかの例、例えば、ピンチイン、ピンチアウト、回転、及びスライドを示す。第1の多指相互作用610は、ユーザが親指と人差し指とを互いに近づけるピンチイン動作を表す。第2の多指相互作用612は、ユーザがピンチアウト動作で親指と人差し指とを互いにより遠くに移動させることを表す。第3の多指相互作用614は、ユーザが回転動作で自分の親指と人差し指を時計回り又は反時計回りに一緒に動かすことを表す。第4の多指相互作用616は、ユーザがスライド動作で親指と人差し指を反対方向に動かすことを表す。多指相互作用の別の例では、ユーザは同じ方向に2つ以上の指を動かすことができる。他の多指相互作用も使用され得る。
幾つかの開示された実施形態は、第1の入力信号に応じて、装着型エクステンデッドリアリティ機器を介して提示するために、シーンの第1の視点を変更することによって装着型エクステンデッドリアリティ機器を介してシーンの第2の視点を提示させるように構成された第2の表示信号を出力させることを含むことができる。第2の表示信号は、前述したように第1の表示信号と同様の特性を有することができ、シーンの第1の視点を変更するように構成することができる。シーンの視点を変更することは、例えば、シーン又はシーンの一部の向き、角度、サイズ、方向、位置、アスペクト、空間変換のパラメータ、空間変換、又は任意の他の視覚的特性のうちの1つ以上を変更することを含むことができる。したがって、提示されるシーンの第2の視点は、例えば、第2の向き、第2の角度、第2のサイズ、第2の方向、第2の位置、第2の態様、第2の空間変換、又はシーンの第1の視点とは異なるエクステンデッドリアリティ環境におけるシーン(又はシーンの一部)の提示の任意の他の特性の変更のうちの1つ以上を含み得る。
幾つかの例では、物理オブジェクトが装着型エクステンデッドリアリティ機器の環境内の特定の位置に配置されているという表示を受信することができる。幾つかの例では、第1の装着型エクステンデッドリアリティ機器に含まれる画像センサを使用して捕捉された画像データを受信することができる。例えば、画像データは、画像センサから、第1の装着型エクステンデッドリアリティ機器から、第1の装着型エクステンデッドリアリティ機器の外部の中間デバイスから、メモリユニットなどから受信することができる。画像データは、環境内の特定の位置にある物理的なオブジェクトを検出するために解析され得る。別の例では、レーダー、ライダー、又はソナーセンサを使用して、環境内の特定の位置における物理的なオブジェクトの存在を検出することができる。幾つかの例では、シーンの第2の視点は、特定の位置に位置する物理的なオブジェクトに基づいて選択され得る。一例では、シーンの第2の視点は、シーン内の仮想オブジェクトが物理オブジェクトと衝突するように見えないように選択され得る。別の例では、シーンの第2の視点は、特定の仮想オブジェクトが(例えば、装着型エクステンデッドリアリティ機器の位置に基づいて)装着型エクステンデッドリアリティ機器のユーザに対して物理オブジェクトによって(完全に又は部分的に)隠されないように選択することができる。一例では、特定の仮想オブジェクトが装着型エクステンデッドリアリティ機器のユーザに対して物理オブジェクトによって隠されていることを決定するために、レイキャスティングアルゴリズムが使用され得る。更に、第2の表示信号は、シーンの第2の視点の選択に基づくことができる。一例では、物理オブジェクトが特定の位置に配置されていない場合、第1の入力信号に応じて、第2の表示信号の第1のバージョンを装着型エクステンデッドリアリティ機器を介した提示のために出力することができ、第2の表示信号の第1のバージョンは、シーンの第1の視点を変更し、それによってシーンの第2の視点を装着型エクステンデッドリアリティ機器を介して提示させるように構成され、第2の視点は、特定の位置における仮想オブジェクトの提示を含むことができる。更に、物理オブジェクトが特定の位置に配置されている場合、第1の入力信号に応じて、第2のバージョンの第2の表示信号を装着型エクステンデッドリアリティ機器を介した提示のために出力することができ、第2のバージョンの第2の表示信号は、シーンの第1の視点を変更し、それによってシーンの代替の視点を装着型エクステンデッドリアリティ機器を介して提示させるように構成することができ、代替の視点は、特定の位置における仮想オブジェクトの提示を含まなくてもよく、及び/又は特定の位置とは異なる代替の位置における仮想オブジェクトの提示を含んでもよい。
幾つかの開示された実施形態は、タッチセンサを介して、タッチセンサとの第2の多指相互作用によって引き起こされる第2の入力信号を受信することを更に含むことができる。第2の入力信号は、前述の第1の入力信号と同様であってもよく、タッチセンサとのタッチ相互作用に基づいて決定され得る1つ以上のパラメータに関する情報を提供する信号を含んでもよい。第2の多指相互作用は、ユーザが手の2本以上の指を使用してタッチセンサに接触することを含む、タッチセンサとの任意の相互作用を含み得る。したがって、例えば、第2の多指相互作用は、第1の多指相互作用に関して前述した動きと同様の手の2本以上の指の動きを含み得る。
幾つかの開示された実施形態と一致して、第1の多指相互作用及び第2の多指相互作用は、一般的な多指相互作用タイプのものであり得る。一般的な多指相互作用タイプは、同じ手の指、同じタイプの指(例えば、人差し指、親指、中指など)、反対側の手の同じ指、同じタイプの動き、それらの任意の組み合わせ、又は2本の指の間の別のタイプの相互作用と共通性を共有する2本の指の間の任意の他のタイプの相互作用を含む相互作用を包含し得る。例として、第1の複数指相互作用及び第2の複数指相互作用は両方とも指のピンチを含み得る。
幾つかの開示された実施形態と一致して、第1の多指相互作用は、第2の多指相互作用のタイプとは異なるタイプのものであり得る。例えば、第2の多指相互作用のタイプとは異なるタイプの第1の多指相互作用は、異なるタイプの動きを含む相互作用、異なる指もしくは異なる手、それらの任意の組み合わせ、又は2本の指の間の別のタイプの相互作用とは異なる2本の指の間の任意の他のタイプの相互作用を含み得る。一例として、第1の多指相互作用は、一方では親指と人差し指との間の距離を増大させるユーザであってもよく、第2の多指相互作用は、他方では親指と人差し指との間の距離を減少させるユーザであってもよい。別の例では、第1の多指相互作用は、一方の手で親指と人差し指を時計回りに回転させるユーザであってもよく、第2の多指相互作用は、他方の手で親指と人差し指を反時計回りに回転させるユーザであってもよい。他の例では、第1の多指相互作用は、一方では親指と人差し指との間の距離を時計回りに増大させるユーザであってもよく、第2の多指相互作用は、他方では親指と人差し指とを時計回りに回転させるユーザであってもよい。
幾つかの開示された実施形態は、第2の入力信号に応じて、装着型エクステンデッドリアリティ機器を介して提示するために、シーンの第2の視点を変更することによって装着型エクステンデッドリアリティ機器を介してシーンの第3の視点を提示させるように構成された第3の表示信号を出力することを更に含み得る。第3の表示信号は、前述したように第1の表示信号と同様の特性を有することができ、シーンの第2の視点を変更するように構成することができる。シーンの第2の視点を変更することは、シーンの第1の視点を変更することに関して前述したものと同様の変更を含むことができる。例えば、シーンの第2の視点を変更することはまた、シーン又はシーンの一部の向き、角度、サイズ、方向、位置、態様、空間変換のパラメータ、空間変換、又は任意の他の視覚的特性のうちの1つ以上を変更することを含むことができる。したがって、提示されるシーンの第3の視点は、第3の向き、第3の角度、第3のサイズ、第3の方向、第3の位置、第3の態様、第3の空間変換、又はシーンの第2の視点とは異なるエクステンデッドリアリティ環境におけるシーン(又はシーンの一部)の提示の任意の他の特性の変更のうちの1つ以上を含み得る。
例として、図7は、本開示の幾つかの実施形態と一致する、シーンの視点における例示的な変化のセットを示す。例えば、プロセッサは、装着型エクステンデッドリアリティ機器を介した提示のために、シーン710の第1の視点を反映する第1の表示信号を最初に出力するように構成され得る。プロセッサは、タッチセンサを介して、タッチセンサとの第1の多指相互作用620(例えば、ピンチ)によって引き起こされる第1の入力信号712を受信することができる。第1の入力信号712に応じて、プロセッサは、装着型エクステンデッドリアリティ機器を介した提示のために、シーンの第1の視点を変更することによって装着型エクステンデッドリアリティ機器を介してシーン714の第2の視点を提示させるように構成された第2の表示信号を出力してもよい。図7に示すように、シーン710の第1の視点は、シーン714の第2の視点に変更されている。プロセッサは、例えばシーン710の第1の視点がシーン714の第2の視点に変更された後に、タッチセンサを介して、タッチセンサとの第2の多指相互作用622(例えばスライド)によって引き起こされる第2の入力信号716を受信してもよい。図7に示すように、第2の複数指相互作用は、ユーザの親指と人差し指の上方向のスワイプ又はドラッグ動作であってもよい。第2の入力信号716に応じて、プロセッサは、装着型エクステンデッドリアリティ機器を介した提示のために、シーン714の第2の視点を変更することによって装着型エクステンデッドリアリティ機器を介してシーン718の第3の視点を提示させるように構成された第3の表示信号を出力することができる。図7に示すように、シーン714の第2の視点は、シーン718の第3の視点に変更されている。
幾つかの開示された実施形態と一致して、シーンは複数のコンテンツウィンドウを含むことができる。コンテンツウィンドウは、テキスト、静止画像もしくは動画像、又は他のビジュアルコンテンツを表示するように構成されたエクステンデッドリアリティ環境の領域であり得る。例えば、コンテンツウィンドウは、ウェブブラウザウィンドウ、ワードプロセッシングウィンドウ、オペレーティングシステムウィンドウ、又は特定のプログラムの情報を表示するスクリーン上の任意の他の領域を含むことができる。別の例では、コンテンツウィンドウは、仮想ディスプレイ(本明細書に記載のコンピュータスクリーンを模倣する仮想オブジェクトなど)を含むことができる。幾つかの実施形態では、コンテンツウィンドウは、シーンの第1の視点において、複数のコンテンツウィンドウの全てが、装着型エクステンデッドリアリティ機器から同じ仮想距離に表示され得るように構成されてもよく、シーンの第2の視点において、複数のウィンドウのうちの少なくとも1つは、複数のウィンドウのうちの他のウィンドウの距離とは異なる仮想距離に表示され、シーンの第3の視点において、少なくとも1つのウィンドウは、複数のウィンドウのうちの他のウィンドウの向きとは異なる向きで表示される。一例では、他のウィンドウの距離とは異なる距離に表示されているコンテンツウィンドウは、他のコンテンツウィンドウよりも装着型エクステンデッドリアリティ機器の近くに表示されているコンテンツウィンドウを含むことができる。別の例として、他のコンテンツウィンドウの距離とは異なる距離に表示されているコンテンツウィンドウは、他のコンテンツウィンドウよりも装着型エクステンデッドリアリティ機器から遠くに表示されているコンテンツウィンドウを含み得る。或いは、他のコンテンツウィンドウの距離とは異なる距離に表示されているコンテンツウィンドウは、ズームインされたオブジェクトと共に表示されているコンテンツウィンドウを含むことができ、他のコンテンツウィンドウは、ズームアウトされたオブジェクトと共に表示される。他のコンテンツウィンドウの距離とは異なる距離に表示されているコンテンツウィンドウの更なる例は、ズームアウトされたオブジェクトと共に表示されているコンテンツウィンドウを含むことができ、他のコンテンツウィンドウはズームインされたオブジェクトと共に表示されている。他のコンテンツウィンドウの向きとは異なる向きで表示されているコンテンツウィンドウは、他のコンテンツウィンドウと比較して、コンテンツウィンドウの角度、傾斜、傾斜、方向、又は相対的な物理的位置の任意の態様を変更する任意の表示を含むことができる。例えば、他のコンテンツウィンドウの向きとは異なる向きで表示されているコンテンツウィンドウは、他のコンテンツウィンドウが0度のままである間に90度回転されるコンテンツウィンドウを含むことができる。別の例として、他のコンテンツウィンドウの向きとは異なる向きで表示されているコンテンツウィンドウは、装着型エクステンデッドリアリティ機器の左側を向くコンテンツウィンドウを含むことができ、他のコンテンツウィンドウは装着型エクステンデッドリアリティ機器の右側を向く。
シーンの視点の更なる例を図8に示す。例えば、810に示すように、一方の視点は、並んで提示される2つのコンテンツウィンドウを含むことができる。別の視点は、812に示すように、同じ方向に向かって傾斜した2つのコンテンツウィンドウを含むことができる。別の視点では、814に示すように、二つの内容物窓は、互いに向かって内側を向いていてもよい。或いは、816の例は、互いに外方に面し、上方に傾斜した2つのコンテンツウィンドウを示す。818の別の例は、2つのコンテンツウィンドウが互いに向かって湾曲していることを示している。更に別の例では、820に示すように、二つのコンテンツウィンドウは同じ方向に湾曲していてもよいが、一方のコンテンツウィンドウは別のウィンドウのコンテンツの上に提示されてもよい。これらは、シーンの視点のほんの数例であるが、シーンの視覚的提示の任意の変化が、本明細書に開示された実施形態とともに使用するために企図される。
幾つかの開示された実施形態と一致して、シーンは複数の仮想オブジェクトを含むことができる。仮想オブジェクトは、アイコンなどの現実世界に存在しない表示、現実世界に存在しても存在しなくてもよいものの画像、二次元仮想オブジェクト、三次元仮想オブジェクト、生物の仮想オブジェクト、無生物の仮想オブジェクト、又は非物理的表示、現実又は想像のいずれかの物理的なものでシミュレートする任意の他の表示を含むことができる。幾つかの実施形態では、1つ以上の仮想オブジェクトは、シーンの第1の視点において、仮想オブジェクトのうちの1つ以上が装着型エクステンデッドリアリティ機器から同じ距離又は可変仮想距離に表示され得るように構成されてもよく、シーンの第2の視点において、仮想オブジェクトのうちの少なくとも1つは、複数の仮想オブジェクトのうちの他の仮想オブジェクトとは異なるサイズで表示され、シーンの第3の視点では、少なくとも1つの仮想オブジェクトのサイズは、シーンの第2の視点で提示される前の少なくとも1つの仮想オブジェクトのサイズに戻る。1つ以上の仮想オブジェクトが装着型エクステンデッドリアリティ機器から同じ距離に表示される場合、装着型エクステンデッドリアリティ機器のユーザは、ユーザと1つ以上の仮想オブジェクトのそれぞれとの間の空間量が同じ1つ以上の仮想オブジェクトを見ることができる。1つ以上の仮想オブジェクトが装着型エクステンデッドリアリティ機器から可変仮想距離に表示されると、装着型エクステンデッドリアリティ機器のユーザは、ユーザから離れた異なる量の空間で1つ以上の仮想オブジェクトのそれぞれ又は一部を見ることができる。仮想オブジェクトのうちの少なくとも1つが複数の仮想オブジェクトのうちの他のものとは異なるサイズで表示されるとき、装着型エクステンデッドリアリティ機器のユーザは、仮想オブジェクトのうちの少なくとも1つを複数の仮想オブジェクトのうちの他のものよりも大きい又は小さいものとして見ることができる。少なくとも1つの仮想オブジェクトのサイズがシーンの第2の視点で提示される前に少なくとも1つの仮想オブジェクトのサイズに戻ると、装着型エクステンデッドリアリティ機器のユーザは、少なくとも1つの仮想オブジェクトをシーンの第2の視点のサイズよりも小さい又は大きいサイズで見ることができる。
幾つかの開示された実施形態と一致して、タッチセンサからの入力は、複数の仮想オブジェクトの選択的な位置制御を可能にして、複数の仮想オブジェクトを装着型エクステンデッドリアリティ機器から可変仮想距離に向けることができる。可変仮想距離は、器具着用者からの仮想オブジェクトの知覚距離を指すことができる。仮想オブジェクトが物理的ではないのと同様に、その距離も現実的ではない。むしろ、着用者からの仮想オブジェクトの距離は、仮想オブジェクト自体と同じくらい仮想的である。一例では、距離は、仮想オブジェクトのレンダリングのサイズとして、異なる視点から(例えば、観察者の両眼の2つの視点から、観察者の移動視点からなど)レンダリングされたときの仮想オブジェクトの位置として、仮想オブジェクトが見る人の視野角で仮想オブジェクトと重なる他のオブジェクト(物理的又は仮想的)を隠すか又はそれによって隠されることなどとして現れることができる。タッチセンサからの入力により、そのような仮想距離を変化させることができる(すなわち、仮想距離の変化を着用者に知覚させるように提示を変更する)。そのようなユーザ入力は、ユーザがタッチセンサを見ることを可能にするように装着型エクステンデッドリアリティ機器を介した提示が構成され得るように、第1の入力信号の前に発生するように構成され得る。ユーザがタッチセンサと相互作用できるようにするために、ユーザがタッチセンサを見ることができないように、複数の仮想オブジェクトがユーザの視野を遮る場合に、ユーザがタッチセンサを見ることを可能にすることが望ましい場合がある。選択的位置制御は、別の仮想オブジェクトと比較して、仮想オブジェクトの1つ以上のサイズ、向き、距離、又は任意の他の空間属性を変更する能力を含み得る。したがって、幾つかの実施形態では、ユーザは、仮想オブジェクトが装着型エクステンデッドリアリティ機器から可変距離に配置されるように、1つ以上の仮想オブジェクトの距離を選択的に変更することができる。
幾つかの開示された実施形態と一致して、選択的位置制御は、複数の仮想オブジェクトを物理空間にドッキングすることと、装着型エクステンデッドリアリティ機器の着用者が物理空間内を歩き、各仮想オブジェクトの位置を別々に調整することを可能にすることとを含み得る。複数の仮想オブジェクトを物理空間にドッキングすることは、物理空間を参照して複数の仮想オブジェクトのサイズ、向き、距離、又は任意の他の空間属性を維持することを含み得る。このタイプの選択的位置制御は、ユーザが、ユーザが移動するときに維持される複数の仮想オブジェクトのサイズ、向き、距離、又は任意の他の空間属性を維持しながら、物理空間内で移動することを可能にすることができる。例えば、ユーザは、仮想オブジェクトに向かって移動して選択し、その仮想オブジェクトのサイズ、向き、距離、又は任意の他の空間属性のいずれかを調整することができるが、他の仮想オブジェクトのサイズ、向き、距離、又は任意の他の空間属性の他のものは変更されないままであり得る。ユーザは、物理空間内で別の仮想オブジェクトに移動し、その仮想オブジェクトのサイズ、向き、距離、又は任意の他の空間属性のいずれかを調整することができるが、他の仮想オブジェクトのサイズ、向き、距離、又は任意の他の空間属性の他のものは変更されないままであり得る。ユーザは、ユーザが物理空間を動き回るときに、幾つか又は全ての仮想オブジェクトに対して同じことを続けて行うことができる。ユーザは、各仮想オブジェクトのサイズ、向き、距離、又は任意の他の空間属性のいずれかを調整するが、他の仮想オブジェクトの他の調整されていない特性又は他の空間属性は変更されないままであり得る。
幾つかの開示された実施形態と一致して、シーンの第2の視点は、第1の入力信号と、タッチセンサを含むハウジングが第1の多指相互作用時に物理的表面上に配置されるかどうかとに基づいて選択され得る。例えば、入力デバイスの位置は、エクステンデッドリアリティ環境におけるシーンの提示の視点を定義するのを助けることができる。ディスプレイ特性は、例えば、関連するタッチセンサがユーザによって保持されているのではなくテーブル上にある場合に異なり得る。或いは、例えば、タッチ感知ディスプレイに対するユーザの相対位置(左右)は、エクステンデッドリアリティ環境におけるシーンの提示の好ましい視点に影響を及ぼし得る。幾つかの例では、第2の視点の少なくとも1つのパラメータは、物理的表面に基づいて決定されてもよい。例えば、物理的表面(例えば、物理的表面に平行、物理的表面に重なる、物理的表面に垂直、仮想表面に対して選択された向きなど)に基づいて仮想面を決定し、仮想面上で仮想オブジェクトを移動させてもよい。一例では、仮想表面上の仮想オブジェクトの動きの方向及び/又は距離は、第1の入力信号に基づいて選択され得る。例えば、第1の入力信号に応じて、仮想オブジェクトは、仮想表面上で第1の方向及び第1の距離に移動されてもよく、第2の入力信号に応じて、仮想オブジェクトは、仮想表面上で第2の方向及び第2の距離に移動されてもよい。別の例では、仮想オブジェクトの仮想面上の新しい位置は、第1の入力信号に基づいて選択されてもよい。
その時点でハウジングが物理的表面上に配置されているかどうかに部分的に基づく視点選択はまた、装着型エクステンデッドリアリティ機器のユーザが所与の時点でモバイルであるか静止しているかに応じて特定のタイプの表示を可能にするために望ましい場合がある。例えば、ユーザがモバイルである場合、特定のタイプのシーン視点は、例えばユーザの視野を遮ることによってユーザの安全な移動を妨げる可能性があるため、望ましくない場合がある。ユーザが移動している場合、ユーザは、最初の多指相互作用時に物理的表面上にハウジングを配置するのではなく、ハウジングを保持しているか、そうでなければハウジングに取り付けられている可能性が高い。ユーザが静止しているとき、ユーザは物理的表面上にハウジングを配置することができ、これにより、ユーザがユーザの前の視野の部分を見ることを必要としない他の視点をユーザが選択できるようにする。ユーザが静止しているとき、ユーザは、ハウジングを保持するか、そうでなければハウジングに取り付けられるのではなく、最初の多指相互作用時に物理的表面上にハウジングを配置する可能性が高い。一例では、シーンの第2の視点の選択は、表面のタイプ、例えば表面がテーブルの上面であるかどうかに更に基づくことができる。別の例では、シーンの第3の視点は、第2の入力信号と、第2の多指相互作用時にハウジングが物理的表面上に配置されているかどうかとに基づいて選択されてもよい。
特定の実施形態では、タッチセンサからの第1の入力信号は、二次元座標入力を反映することができ、第2の表示信号は、シーンに三次元変化を導入するためにシーンの第1の視点を変更するように構成される。二次元座標入力は、奥行きを欠いているが、長さ及び幅などの2つの測定値のみを有する幾何学的設定に影響を及ぼす入力を含むことができる。シーンへの三次元変化は、長さ、幅、及び深度などの3つの測定値を有するシーンの変化を含むことができる。例えば、シーンの第1の視点は、立方体を含むことができる。この例では、タッチセンサからの第1の入力信号は、ユーザがスライド動作で親指と人差し指を反対方向に動かすことを含む入力を反映することができる。この例における第2の表示信号は、立方体の深さを増減することによって立方体を変更するように構成されてもよい。
幾つかの実施形態では、タッチセンサからの第1の入力信号はデカルト座標入力を反映することができ、シーンの視点を変更するように構成された第2の表示信号は球面座標系にある。デカルト座標入力は、3つのタイプの点によって定義される幾何学的設定に影響を及ぼす入力を含むことができ、各タイプの点は別個の直交軸上にある。球面座標系は、3つのタイプの点によって定義される三次元空間を含むことができ、点のタイプは、直交軸上の2つの角度と、座標系の原点から直交軸上の2つの角度によって作成されたタイプの点までの距離とを含む。例えば、シーンの第1の視点は、立方体を含むことができる。この例では、タッチセンサからの第1の入力信号は、ユーザがスライド動作で親指と人差し指を反対方向に動かすことを含む入力を反映することができる。この例における第2の表示信号は、立方体の深さを増減することによって立方体を変更するように構成されてもよい。デカルト入力は、座標系間の変換のための任意の数学的技法を使用することによって、入力のデカルト座標を変更のために球面座標に変換することによって、球面座標におけるシーンの視点を変更するために使用され得る。
幾つかの実施形態では、各タイプの多指相互作用は、装着型エクステンデッドリアリティ機器を介して提示されるシーンの視点を変更するための複数の動作のうちの1つを制御することができる。例えば、1つ以上の動作は、ズームイン、ズームアウト、回転、及びスライドを含むことができ、ユーザがピンチイン動作で親指と人差し指とを互いに近づけることを表す多指相互作用は、ズームイン動作を制御することができる。別の例として、ユーザがピンチアウト動作で親指と人差し指とを互いにより遠くに移動させることを表す多指相互作用が、ズームアウト動作を制御することができる。別の例として、回転動作において、ユーザが自分の親指と人差し指とを一緒に時計回り又は反時計回りに動かすことを表す複数指相互作用は、回転動作を制御することができる。別の例として、ユーザがスライド動作で親指と人差し指を反対方向に動かすことを表す多指相互作用が、スライド動作を制御することができる。
幾つかの実施形態では、シーンの視点を変更するための複数の動作は、シーンに対する視点位置を変更すること、シーンからの距離を変更すること、シーンの角度を変更すること、及びシーンのサイズを変更することのうちの少なくとも2つを含むことができる。しかしながら、これらの変更はシーン全体に限定されず、シーンに対する視点位置の変更、距離の変更、角度の変更、及びサイズの変更は、シーン内の選択されたオブジェクトの1つ以上に適用されてもよい。
幾つかの実施形態では、第1の入力信号及び第2の入力信号は、視点を制御するためのタッチセンサの第1の動作モードに関連付けられてもよい。タッチセンサの動作モードは、例えば、タッチセンサの手段、方法、アプローチ、動作方法、手順、プロセス、システム、技術、又は任意の他の機能状態を含むことができる。第1の動作モードは、タッチセンサの手段、方法、アプローチ、動作方法、手順、プロセス、システム、技術、又は任意の他の機能状態に関して第2の動作モードとは異なり得る。例えば、第1の動作モードは、親指と人差し指との間の距離を増大又は減少させるユーザを表す入力信号を生成するタッチセンサを含むことができ、第2の動作モードは、親指と人差し指とを一緒に時計回り又は反時計回りの方向に動かすユーザを表す入力信号を生成するタッチセンサを含むことができる。別の例として、第1の動作モードは、タッチセンサの定義された領域内で複数の指の相互作用を実行するユーザを表す入力信号を生成するタッチセンサを含むことができ、第2の動作モードは、タッチセンサ上の任意の場所で複数の指の相互作用を実行するユーザを表す入力信号を生成するタッチセンサを含むことができる。
幾つかの実施形態では、少なくとも1つのプロセッサは、第1の入力信号を受信する前に、タッチセンサを介して、装着型エクステンデッドリアリティ機器を介して提示されるポインタを制御するためのタッチセンサの第2の動作モードに関連する初期入力信号を受信するように構成されてもよい。本開示で使用される初期入力信号は、例えば、ユーザとタッチセンサとの相互作用に基づいてユーザのタッチに関する情報を提供し、装着型エクステンデッドリアリティ機器を介して提示されるエクステンデッドリアリティ環境におけるポインタの位置を制御する信号を含むことができる。初期入力信号は、圧力、力、歪み、位置、動き、加速度、占有、及びタッチセンサとのタッチ相互作用に基づいて決定され得る任意の他のパラメータに関する情報を含み得る。ポインタは、例えば、矢印、ダイヤル、ディレクタ、ガイド、インジケータ、マーク、信号、又は装着型エクステンデッドリアリティ機器を介して提示されるコンテンツ又はエクステンデッドリアリティ環境における位置の任意の他の視覚的表示を含むことができる。
幾つかの実施形態は、初期入力信号に応じて、シーン内の仮想オブジェクトを選択することを含むことができる。シーン内の仮想オブジェクトを選択することは、更なる操作のためにシーン内の仮想オブジェクトを選択することを含むことができる。シーン内の仮想オブジェクトの選択は、初期入力信号を使用して、ポインタを制御して、仮想オブジェクトのクリック、選択、ハイライト、ピン留め、ボックスの周りの描画、又は任意の他のタイプのマーキングを実行することによって達成され得る。例えば、仮想オブジェクトは、森のシーン内の木であってもよい。ユーザは、タッチセンサ上で指をドラッグし、木をクリックして選択されたものとしてマークすることにより、ポインタの位置を木に案内することにより、森の中の木を選択することができる。幾つかの実施形態では、少なくとも1つのプロセッサは、第1の入力信号及び第2の入力信号に応じて、選択された仮想オブジェクトの表示の変化を装着型エクステンデッドリアリティ機器を介して提示させるように構成されてもよい。選択された仮想オブジェクトの表示の変更は、オブジェクトに対する視点位置の変更、オブジェクトからの距離の変更、オブジェクトの角度の変更、及びオブジェクトのサイズの変更を含むことができる。例えば、仮想オブジェクトは、森のシーン内の木であってもよい。ユーザは、親指と人差し指との間の距離を大きくすることによって、タッチセンサを介して第1の入力信号を入力することによって木のサイズを大きくすることができる。次いで、ユーザは、親指と人差し指とを一緒に時計回り又は反時計回りの方向に動かすことによって、タッチセンサを介して第2の入力信号を入力することによって木を回転させることができる。
幾つかの実施形態では、命令は、第1の表示信号、第2の表示信号、及び第3の表示信号が第1の通信チャネルを介して装着型エクステンデッドリアリティ機器に送信され、第1の入力信号及び第2の入力信号が第2の通信チャネルを介して装着型エクステンデッドリアリティ機器以外のコンピューティングデバイスから受信されるように構成される。本開示で使用されるように、通信チャネルは、有線通信チャネル又は無線通信チャネルのいずれかを含むことができる。有線通信チャネルは、ネットワークケーブル、同軸ケーブル、イーサネットケーブル、又は有線接続を介して情報を送信する任意の他のチャネルを利用することができる。無線通信チャネルは、WiFi、Bluetooth(商標)、NFC、又は有線接続なしで情報を送信する任意の他のチャネルを利用することができる。コンピューティングデバイスは、パーソナルコンピュータ(PC)、UNIXワークステーション、サーバ、メインフレームコンピュータ、携帯情報端末(PDA)、携帯電話、スマートフォン、タブレット、これらの何らかの組み合わせ、又は計算を自動的に実行するための任意の他のデバイスなどの一般的なコンピュータを含む、装着型エクステンデッドリアリティ機器以外の任意のデバイスであってもよい。
幾つかの実施形態では、コンピューティングデバイスは、装着型エクステンデッドリアリティ機器に接続可能なスマートフォンであってもよく、タッチセンサは、スマートフォンのタッチスクリーンであってもよい。別の例として、コンピューティングデバイスは、装着型エクステンデッドリアリティ機器に接続可能なスマートフォン又はスマートウォッチであってもよく、タッチセンサは、スマートウォッチのタッチスクリーンであってもよい。そのような実施形態では、第1及び第2の多指相互作用は、スマートフォン又はスマートウォッチのタッチスクリーン上で発生することができる。
幾つかの実施形態では、コンピューティングデバイスは、装着型エクステンデッドリアリティ機器に接続可能なキーボードを含むことができ、タッチセンサはコンピューティングデバイスに関連付けられる。キーボードは、標準的なタイプライタスタイルのキーボード(例えば、QWERTYスタイルのキーボード)、又はDvorakレイアウトもしくはコード化レイアウトなどの別の適切なキーボードレイアウトであってもよい。一実施形態では、キーボードは、少なくとも30個のキーを含み得る。キーボードは、英数字キー、機能キー、修飾キー、カーソルキー、システムキー、マルチメディア制御キー、又は押されたときにコンピュータ固有の機能を実行する他の物理キーを含み得る。キーボードはまた、仮想キー又はプログラム可能キーを含むことができ、キーの機能は、統合計算インタフェースデバイス上で実行される機能又はアプリケーションに応じて変化する。幾つかの実施形態では、キーボードは、装着型エクステンデッドリアリティ機器に関連付けられた動作を実行するための専用入力キーを含み得る。幾つかの実施形態では、キーボードは、装着型エクステンデッドリアリティ機器を介して投影されたコンテンツ(例えば、エクステンデッドリアリティ環境、又は仮想コンテンツなど)の照明を変更するための専用入力キーを含み得る。タッチセンサは、キーボードの一部であるタッチパッドを介してキーボードに組み込まれてもよい。タッチセンサは、キーボードの1つ以上のキーに配置された1つ以上のタッチセンサとしてキーボードに組み込まれてもよい。そのような構成では、タッチセンサは装着型ではなく、装着型エクステンデッドリアリティ機器に接続されていないか、又は装着型エクステンデッドリアリティ機器と共に移動するように構成されていない。
幾つかの実施形態は、装着型エクステンデッドリアリティ機器を使用してコンテンツを表示するためのデフォルト設定を取得することを含むことができる。デフォルト設定は、メモリに格納されてもよく、製造業者、配布者、又はユーザによって事前設定されてもよい。設定は、色、サイズ、解像度、向き、又はディスプレイに関連する任意の他の条件を含むことができる。デフォルト設定は、ユーザ又はプログラマによる使用時に代替手段が指定されていない場合、コンピュータプログラム又は他のメカニズムによって採用されるそのような条件のための任意の予め選択されたオプションを含むことができる。デフォルト設定は、ユーザから受信されてもよく、使用される装着型エクステンデッドリアリティ機器のタイプ、時間、位置、又は任意の他のタイプのヒューリスティックデータに基づいて決定されてもよい。非一時的コンピュータ可読媒体の更なる実施形態は、デフォルト設定に基づいてシーンの第1の視点を選択することを含む。
幾つかの実施形態では、デフォルト設定は、シーンの以前の視点に基づいて決定される。シーンの以前の視点は、装着型エクステンデッドリアリティ機器の以前の使用からの視点など、シーンを提示するための所与の時点より前の任意の視点を含むことができる。例えば、以前の使用においてシーンの視点が特定の量だけズームインされた場合、シーンのデフォルト表示が特定の量だけズームインされたその視点になるようにデフォルト設定を設定することができる。他の実施形態では、命令は、ユーザ選好に基づいてシーンの第1の視点を選択するようにプロセッサに指示することができる。ユーザ選好は、色、サイズ、解像度、向き、又は変更され得るディスプレイに関連する任意の他の条件など、装着型エクステンデッドリアリティ機器のユーザによってカスタマイズされた設定を含むことができる。例えば、装着型エクステンデッドリアリティ機器のユーザは、第1の視点が黒色及び白色のみで表示されるように指示するユーザプリファレンスを設定することができる。この例では、命令は、これらのユーザ選好に基づいて、白黒色のみで表示されるべきシーンの第1の視点を選択するようにプロセッサに指示することができる。
幾つかの実施形態では、デフォルト設定は、装着型エクステンデッドリアリティ機器にペアリングされたキーボードに関連付けられている。ペアリングされたキーボードは、ユーザの業務用キーボード、ホームキーボード、オフィスキーボード、フィールドキーボード、又はユーザが任意の電子機械にテキストを入力することを可能にする任意の他のタイプの周辺機器であってもよい。ペアリングは、有線ペアリング又は無線ペアリングのいずれかを含むことができる。有線ペアリングは、同軸ケーブル、イーサネット、又は有線接続を介して情報を送信する任意の他のチャネルを利用することができる。無線ペアリングは、WiFi、Bluetooth(商標)、又は有線接続なしで情報を送信する任意の他のチャネルを利用することができる。例えば、装着型エクステンデッドリアリティ機器のユーザは、装着型エクステンデッドリアリティ機器と無線でペアリングされたキーボードを介してデフォルト設定に関する情報を入力することによって、装着型エクステンデッドリアリティ機器にデフォルト設定を入力することができる。一例では、ペアリングは、キーボードを使用して仮想オブジェクトの変更を可能にすることができる。例えば、仮想オブジェクトは、キーボードを使用して入力されたテキストの提示を含み得る。
他の開示された実施形態は、物理タッチコントローラを使用してエクステンデッドリアリティ環境で視点を制御するための方法を含むことができる。例として、図9は、本開示の幾つかの実施形態と一致する、シーンの視点を変更するための例示的なプロセス900を示すフローチャートを示す。本方法は、ブロック910に示すように、装着型エクステンデッドリアリティ機器を介した提示のために、シーンの第1の視点を反映する第1の表示信号を出力するステップを含む。本方法はまた、ブロック912に示すように、タッチセンサを介して、タッチセンサとの第1の多指相互作用によって引き起こされる第1の入力信号を受信するステップを含む。本方法は、第1の入力信号に応じて、装着型エクステンデッドリアリティ機器を介した提示のために、シーンの第1の視点を変更することによって装着型エクステンデッドリアリティ機器を介してシーンの第2の視点を提示させるように構成された第2の表示信号を出力するステップを更に含む。このステップはブロック914に示されている。ブロック916に示すように、本方法はまた、タッチセンサを介して、タッチセンサとの第2の多指相互作用によって引き起こされる第2の入力信号を受信するステップを含む。ブロック918は、第2の入力信号に応じて、装着型エクステンデッドリアリティ機器を介した提示のために、シーンの第2の視点を変更することによってシーンの第3の視点を装着型エクステンデッドリアリティ機器を介して提示させるように構成された第3の表示信号を出力するステップを示す。
本開示の幾つかの実施形態は、不可視仮想オブジェクトとのジェスチャ相互作用を可能にすることに関することができる。装着型エクステンデッドリアリティ機器によって表示される仮想オブジェクトは、物理オブジェクト(例えば、仮想オブジェクトが物理オブジェクトに対して固定位置を有することができるように)にドッキングすることができる。仮想オブジェクトがドッキングされた位置が、仮想オブジェクトがディスプレイシステムによって表示されないように、装着型エクステンデッドリアリティ機器のディスプレイシステムに関連付けられた視野部分の外側にある場合、ユーザは、ドッキング位置とのジェスチャ相互作用によって仮想オブジェクトと相互作用することができる。別の例では、仮想オブジェクトが装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野部分にドッキングされているが、仮想オブジェクトが表示システムによって表示されないように仮想オブジェクトが別のオブジェクト(物理的又は仮想的)によって隠されている位置では、ユーザは、ドッキング位置とのジェスチャ相互作用によって仮想オブジェクトと相互作用することができる。ドッキング位置とのジェスチャ相互作用を捕捉することができ(例えば、画像センサによって)、仮想オブジェクトとのユーザの相互作用を決定するために使用することができる。不可視仮想オブジェクトとのジェスチャ相互作用を可能にすることに関する更なる詳細は、以下で説明される。
幾つかの開示された実施形態は、不可視仮想オブジェクトとのジェスチャ相互作用を可能にすることに関するものであってもよく、実施形態は、方法、システム、装置、及び非一時的コンピュータ可読媒体として表示される。いずれかの表示形式が以下に記載される場合、それぞれの開示は他のものにも等しく適用可能であることを理解されたい。例えば、非一時的コンピュータ可読媒体で具現化された1つ以上のプロセスは、方法、システム、又は装置として実行されてもよい。そのようなプロセスの幾つかの態様は、有線、無線、又はその両方であり得るネットワークを介して電子的に行われ得る。そのようなプロセスの他の態様は、非電子的手段を使用して行われてもよい。最も広い意味では、プロセスは、特定の物理的手段及び/又は電子的手段に限定されず、むしろ多くの異なる手段を使用して達成され得る。例えば、幾つかの開示された実施形態は、不可視仮想オブジェクトとのジェスチャ相互作用を可能にするための方法、システム、又は装置を含むことができる。この方法は、本明細書に記載の様々なプロセスを含むことができる。システムは、本明細書に記載の様々なプロセスを実行するように構成された少なくとも1つのプロセッサを含むことができる。この装置は、本明細書に記載されたような様々な処理を実行するように構成された少なくとも1つのプロセッサを含み得る。
非一時的コンピュータ可読媒体は、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに本明細書で説明されるような様々なプロセスを実行させる命令を含むことができる。非一時的コンピュータ可読媒体は、少なくとも1つのプロセッサによって読み取り可能な情報又はデータが格納され得る任意のタイプの物理メモリを含み得る。非一時的コンピュータ可読媒体は、例えば、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、揮発性メモリ、不揮発性メモリ、ハードドライブ、コンパクトディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、フラッシュドライブ、ディスク、任意の光学データ記憶媒体、ホールのパターンを有する任意の物理媒体、プログラマブル読み出し専用メモリ(PROM)、消去可能プログラマブル読み出し専用メモリ(EPROM)、FLASH-EPROMもしくは任意の他のフラッシュメモリ、不揮発性ランダムアクセスメモリ(NVRAM)、キャッシュ、レジスタ、任意の他のメモリチップもしくはカートリッジ、又はそれらのネットワークバージョンを含むことができる。非一時的コンピュータ可読媒体は、ローカル位置又はリモート位置に配置された複数の非一時的コンピュータ可読媒体などの複数の構造を指すことができる。更に、1つ以上の非一時的コンピュータ可読媒体を、コンピュータ実装方法を実施する際に利用することができる。したがって、非一時的コンピュータ可読媒体は、有形のアイテムを含むことができ、搬送波又は過渡信号を除外することができる。
非一時的コンピュータ可読媒体に含まれる命令は、例えば、ソフトウェア命令、コンピュータプログラム、コンピュータコード、実行可能命令、ソースコード、機械命令、機械言語プログラム、又はコンピューティングデバイスの任意の他のタイプの指示を含むことができる。非一時的コンピュータ可読媒体に含まれる命令は、様々なタイプの所望のプログラミング言語のうちの1つ以上に基づくことができ、本明細書で説明される不可視仮想オブジェクトとのジェスチャ相互作用を可能にするための様々なプロセスを含むことができる(例えば、具体化する)。
少なくとも1つのプロセッサは、非一時的コンピュータ可読媒体に含まれる命令を実行して、本明細書で説明される不可視仮想オブジェクトとのジェスチャ相互作用を可能にするための様々な動作を実行させることができる。プロセッサは、例えば、集積回路、マイクロチップ、マイクロコントローラ、マイクロプロセッサ、中央処理デバイス(CPU)、グラフィックス処理デバイス(GPU)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、又は命令の実行もしくは論理演算の実行に適した他のユニットを含むことができる。プロセッサは、シングルコア又はマルチコアプロセッサを含み得る。幾つかの例では、プロセッサは、仮想化技術で構成されたシングルコアプロセッサであってもよい。プロセッサは、例えば、複数のソフトウェアプロセス、アプリケーション、又はプログラムを実行、制御、実行、操作、又は記憶する能力を提供するために、仮想化技術又は他の機能を実装することができる。別の例では、プロセッサは、プロセッサに関連付けられたデバイスが複数のプロセスを同時に実行することを可能にするための並列処理機能を提供するように構成されたマルチコアプロセッサ(例えば、デュアルコア、クワッドコア、又は任意の所望の数のコア)を含み得る。本明細書に記載の機能を提供するために、他のタイプのプロセッサ構成が実装されてもよい。
幾つかの開示された実施形態は、不可視仮想オブジェクトとのジェスチャ相互作用を可能にすることに関することができる。ジェスチャは、任意の指又は手の動き、例えば、ドラッグ、ピンチ、スプレッド、スワイプ、タップ、ポインティング、スクロール、回転、フリック、タッチ、ズームイン、ズームアウト、サムアップ、サムダウン、タッチアンドホールド、又は手の任意の他の動作を含むことができる。幾つかの例では、ジェスチャは、目、口、顔、又は人の身体の他の部分の動作を含み得る。仮想オブジェクトは、コンピューティングデバイスによってレンダリングされ、オブジェクトを表すように構成された視覚的表示を指すことができる。仮想オブジェクトは、例えば、無生物の仮想オブジェクト、生物の仮想オブジェクト、仮想家具、仮想装飾オブジェクト、仮想ウィジェット、仮想スクリーン、又は任意の他のタイプの仮想ディスプレイを含むことができる。ユーザは、ジェスチャを介して仮想オブジェクトと相互作用することができる。幾つかの例では、本明細書でより詳細に説明するように、ユーザが仮想オブジェクトと相互作用するために仮想オブジェクトをユーザに表示する必要はない。例えば、ユーザが音量制御の仮想オブジェクトを机の角にドッキングすると、ユーザが机の角をタッチするたびに、センサ(例えば、カメラ)がタッチジェスチャを検出し、相互作用が開始された時点で音量制御の仮想オブジェクトが表示されていなくても音量調整を可能にすることができる。物理オブジェクトへの仮想オブジェクトのドッキングは、例えば、仮想オブジェクトを物理オブジェクトに対して固定位置にすることができる。不可視仮想オブジェクト(例えば、ドッキングを含む)とのジェスチャ相互作用を可能にするための様々なプロセスに関する更なる詳細は、以下で説明される。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器(WER-機器)の少なくとも1つの画像センサによって捕捉された画像データを受信することを含むことができる。画像データは、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサに関連付けられた視野内の複数の物理オブジェクトの表示を含むことができる。例えば、ユーザは、装着型エクステンデッドリアリティ機器を使用することができる。装着型エクステンデッドリアリティ機器は、少なくとも1つの画像センサを含むことができる。少なくとも1つの画像センサは、画像センサ372又は画像センサ472を含んでもよく、又はそれらと同様に実装されてもよい。幾つかの例では、少なくとも1つの画像センサは、装着型エクステンデッドリアリティ機器が存在する場所の画像データ(例えば、少なくとも1つの画像センサが面している可能性がある物理的空間設定の画像)を連続的又は定期的に取り込むように構成されてもよい。画像データの捕捉は、例えば、可視光、赤外光、電磁波、又は任意の他の所望の放射など、画像センサが存在する環境から発せられた光信号を画像センサによって受信することを含むことができる。画像データの取り込みは、例えば、受信した光信号を、コンピューティングデバイスによって記憶又は処理することができるデータに変換することを含むことができる。少なくとも1つのプロセッサは、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサによって捕捉された画像データを受信することができる。幾つかの例では、少なくとも1つのプロセッサは、処理デバイス360、処理デバイス460、処理デバイス560、又は装着型エクステンデッドリアリティ機器に関連する任意の他のプロセッサを含んでもよく、又はそれらと同様に実装されてもよい。
装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサは、視野を有することができる。視野は、任意の所与の瞬間に観察又は検出され得る空間的範囲を指し得る。例えば、画像センサの視野は、画像センサが放射(例えば、可視光、赤外光、又は他の光信号)に敏感であり得る立体角を含み得る。幾つかの例では、視野は、画角を含むことができる。視野は、水平、垂直、斜め、又は任意の他の所望の方法で測定することができる。
装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサによって捕捉された画像データは、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサに関連付けられた視野内の複数の物理オブジェクトの表示を含むことができる。複数の物理オブジェクトは、机、テーブル、キーボード、マウス、タッチパッド、ランプ、カップ、電話、モバイルデバイス、プリンタ、スクリーン、棚、機械、車両、ドア、窓、椅子、ボタン、表面、又は画像センサによって観察され得る任意の他のタイプの物理的物品を含み得る。複数の物理オブジェクトは、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサの視野内にあってもよく、複数の物理オブジェクトの表示を含む画像データは、少なくとも1つの画像センサによって捕捉されてもよい。
図10は、本開示の幾つかの実施形態と一致する不可視仮想オブジェクトとのジェスチャ相互作用を可能にするための例示的なプロセス1000を示すフローチャートである。図10を参照すると、ステップ1010において、プロセッサによって実行されたときに非一時的コンピュータ可読媒体に含まれる命令は、プロセッサに、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサによって捕捉された画像データを受信させることができ、画像データは、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサに関連付けられた視野内の複数の物理オブジェクトの表示を含む。
図11は、本開示の幾つかの実施形態と水平方向に一致する視野を示す概略図である。図11を参照すると、装着型エクステンデッドリアリティ機器1110は、少なくとも1つの画像センサを含むことができる。少なくとも1つの画像センサの視野は、水平範囲1112を有することができる。図12は、本開示の幾つかの実施形態と垂直に一致する視野を示す概略図である。図12を参照すると、装着型エクステンデッドリアリティ機器1110の少なくとも1つの画像センサの視野は、垂直範囲1210を有することができる。
図13は、本開示の幾つかの実施形態と一致する例示的な装着型エクステンデッドリアリティ機器を使用するユーザを示す概略図である。図13に示すような1つ以上の要素は、図1に関連して説明したような1つ以上の要素と同じであってもよく、又は類似していてもよい。例えば、図13を参照すると、ユーザ100は、テーブル102の後ろに座っていてもよい。ユーザ100は、装着型エクステンデッドリアリティ機器(例えば、装着型エクステンデッドリアリティ機器110)を使用することができる。キーボード104及びマウス106は、テーブル102上に配置されてもよい。装着型エクステンデッドリアリティ機器(例えば、装着型エクステンデッドリアリティ機器110)は、仮想スクリーン112及び仮想ウィジェット114C、114D、114Eなどの仮想コンテンツをユーザ100に表示することができる。装着型エクステンデッドリアリティ機器(例えば、装着型エクステンデッドリアリティ機器110)は、少なくとも1つの画像センサを含むことができる。少なくとも1つの画像センサは、装着型エクステンデッドリアリティ機器の点からの立体角によって表され得る視野1310を有することができる。少なくとも1つの画像センサは、視野1310内の複数の物理オブジェクトの表示を含む画像データを取り込むように構成されてもよい。複数の物理オブジェクトは、例えば、テーブル102、キーボード104、及びマウス106を含むことができる。
図14、図15、図16、図17、図18、及び図19は、本開示の幾つかの実施形態と一致する不可視仮想オブジェクトとのジェスチャ相互作用を可能にするための例示的なシステムの様々な使用スナップショットを示す。図14、図15、図16、図17、図18、及び図19は、別の視点(例えば、ユーザ100の視点、ユーザ100の装着型エクステンデッドリアリティ機器の視点、又はユーザ100の装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサの視点)から図13に関連して説明したような1つ以上の要素を示すことができる。図14を参照すると、キーボード104及びマウス106は、テーブル102上に配置されてもよい。装着型エクステンデッドリアリティ機器は、仮想スクリーン112及び仮想ウィジェット114C、114D、114Eなどの仮想コンテンツをユーザに表示することができる。装着型エクステンデッドリアリティ機器は、少なくとも1つの画像センサを含むことができる。少なくとも1つの画像センサは、視野1310を有することができ、視野1310内の複数の物理オブジェクトの表示を含む画像データを取り込むように構成することができる。複数の物理オブジェクトは、例えば、テーブル102、キーボード104、及びマウス106を含むことができる。
幾つかの開示された実施形態は、視野の一部に複数の仮想オブジェクトを表示することを含むことができ、視野の一部は、装着型エクステンデッドリアリティ機器の表示システムに関連付けられる。前述したように、仮想オブジェクトは、例えば、無生物の仮想オブジェクト、生物の仮想オブジェクト、仮想家具、仮想装飾オブジェクト、仮想ウィジェット、仮想スクリーン、又は任意の他のタイプの仮想ディスプレイを含むことができる。装着型エクステンデッドリアリティ機器は、表示システムを介して複数の仮想オブジェクトをユーザに表示することができる。装着型エクステンデッドリアリティ機器の表示システムは、例えば、光学ヘッドマウントディスプレイ、単眼ヘッドマウントディスプレイ、双眼ヘッドマウントディスプレイ、シースルーヘッドマウントディスプレイ、ヘルメットマウントディスプレイ、又はユーザに画像を表示するように構成された任意の他のタイプのデバイスを含むことができる。幾つかの例では、装着型エクステンデッドリアリティ機器の表示システムは、投影された画像を反射し、ユーザがディスプレイを通して見ることを可能にするように構成されたディスプレイを含むことができる。ディスプレイは、導波路技術、回折光学系、ホログラフィック光学系、偏光光学系、反射光学系、又は計算デバイスによって投影された画像と物理的なオブジェクトから発せられた光学信号とを組み合わせるための他のタイプの技術に基づくことができる。
装着型エクステンデッドリアリティ機器の表示システムは、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサの視野の一部に仮想コンテンツ(例えば、1つ以上の仮想オブジェクト)をユーザに表示するように構成されてもよい。視野の一部は、装着型エクステンデッドリアリティ機器の表示システムに関連付けられてもよい。例えば、装着型エクステンデッドリアリティ機器の表示システムによって出力される仮想コンテンツは、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサの視野を表す立体角内にあり得る立体角を占有し得る。幾つかの例では、装着型エクステンデッドリアリティ機器の表示システムは、仮想コンテンツを表示することができる視野を有することができる。表示システムの視野は、少なくとも1つの画像センサの視野の一部に対応し得る。幾つかの例では、表示システムの視野を表す立体角は、少なくとも1つの画像センサの視野を表す立体角の頂点と同じ又は近似する頂点(例えば、そこからオブジェクトを見ることができる点)を有することができる。
図10を参照すると、ステップ1012において、プロセッサによって実行されると、非一時的コンピュータ可読媒体に含まれる命令は、プロセッサに、視野の一部に複数の仮想オブジェクトを表示させることができ、視野の一部は、装着型エクステンデッドリアリティ機器の表示システムに関連付けられる。
例えば、図11を参照すると、装着型エクステンデッドリアリティ機器1110は、少なくとも1つの画像センサを含むことができる。少なくとも1つの画像センサの視野は、水平範囲1112を有することができる。少なくとも1つの画像センサの視野の一部は、水平範囲1114を有することができる。水平範囲1114は、水平範囲1112内であってもよい。幾つかの例では、水平範囲1112の頂点は、水平範囲1114の頂点と同じであってもよく、又は(例えば、互いに1mm未満、互いに1cm未満、互いに10cm未満など)近似していてもよい。
別の例として、図12を参照すると、装着型エクステンデッドリアリティ機器1110の少なくとも1つの画像センサの視野は、垂直範囲1210を有することができる。少なくとも1つの画像センサの視野の一部は、垂直範囲1212を有することができる。垂直範囲1212は、垂直範囲1210内にあってもよい。幾つかの例では、垂直範囲1210の頂点は、垂直範囲1212の頂点と同じであってもよく、又は(例えば、互いに1mm未満、互いに1cm未満、互いに10cm未満など)近似していてもよい。
図13を参照すると、装着型エクステンデッドリアリティ機器(例えば、装着型エクステンデッドリアリティ機器110)は、少なくとも1つの画像センサを含むことができる。少なくとも1つの画像センサは、装着型エクステンデッドリアリティ機器の点からの立体角によって表され得る視野1310を有することができる。視野1310の一部は1312であってもよい。視野部分1312は、視野1310を表す立体角内の立体角によって表すことができる。視野部分1312は、装着型エクステンデッドリアリティ機器の表示システムに関連付けられてもよい。装着型エクステンデッドリアリティ機器は、視野部分1312に複数の仮想オブジェクト(例えば、仮想スクリーン112及び仮想ウィジェット114C、114D、114E)を表示することができる。引き続き例を続けると、図14を参照すると、視野部分1312は視野1310内にあってもよく、装着型エクステンデッドリアリティ機器は視野部分1312に複数の仮想オブジェクト(例えば、仮想スクリーン112及び仮想ウィジェット114C、114D、114E)を表示してもよい。
幾つかの例では、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサに関連付けられた視野は、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部よりも広くてもよい。幾つかの例では、表示システムに関連する視野の一部の水平範囲及び/又は垂直範囲は、45~90度であってもよい。他の実施態様では、表示システムに関連付けられた視野の一部は、人間の視野又は視野まで増大させることができる。例えば、表示システムに関連付けられた視野の一部は、水平範囲については約200度に、垂直範囲については約150度に増大させることができる。別の例として、少なくとも1つの画像センサに関連付けられた視野は、それに応じて、表示システムに関連付けられた視野の一部よりも広くなるように増大されてもよい。
幾つかの例では、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサに関連付けられた視野の水平範囲は、120度を超えてもよく、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部の水平範囲は、120度未満であってもよい。幾つかの例では、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサに関連付けられた視野の垂直範囲は120度を超えてもよく、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部の垂直範囲は120度未満であってもよい。
幾つかの例では、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサに関連付けられた視野の水平範囲は、90度を超えてもよく、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部の水平範囲は、90度未満であってもよい。幾つかの例では、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサに関連付けられた視野の垂直範囲は90度を超えてもよく、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部の垂直範囲は90度未満であってもよい。
幾つかの例では、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサに関連付けられた視野の水平範囲は、150度を超えてもよく、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部の水平範囲は、150度未満であってもよい。幾つかの例では、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサに関連付けられた視野の垂直範囲は130度を超えてもよく、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部の垂直範囲は130度未満であってもよい。
これに加えて又は代えて、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部の水平範囲及び/又は垂直範囲は、仮想コンテンツをユーザに表示するための任意の所望の度数になるように構成されてもよい。例えば、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサに関連付けられた視野は、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部よりも広くなるように構成されてもよい(例えば、水平範囲及び/又は垂直範囲に関して)。
幾つかの例では、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部に表示される複数の仮想オブジェクトは、第1のオペレーティングシステム上で起動することができる第1の仮想オブジェクトと、第2のオペレーティングシステム上で起動することができる第2の仮想オブジェクトとを含むことができる。オペレーティングシステムは、コンピュータの動作を制御し、プログラムの処理を指示するソフトウェアを含むことができる。仮想オブジェクトを制御及び/又は提示するために、複数のオペレーティングシステムを使用することができる。例えば、第1のオペレーティングシステムは、キーボード(例えば、キーボード104)に関連して実装されてもよく、第2のオペレーティングシステムは、装着型エクステンデッドリアリティ機器(例えば、装着型エクステンデッドリアリティ機器110)上に実装されてもよい。これに加えて又は代えて、入力ユニット(例えば、入力ユニット202)、装着型エクステンデッドリアリティ機器(例えば、エクステンデッドリアリティユニット204)、又はリモートプロセッシングユニット(例えば、遠隔処理ユニット208)は、それぞれのオペレーティングシステムを有してもよい。別の例では、第1のオペレーティングシステムはリモートクラウド上で起動することができ、第2のオペレーティングシステムはローカルデバイス(例えば、装着型エクステンデッドリアリティ機器、キーボード、装着型エクステンデッドリアリティ機器の近傍のスマートフォンなど)上で実行することができる。第1の仮想オブジェクトは、オペレーティングシステムのうちの1つで起動することができる。第2の仮想オブジェクトは、オペレーティングシステムの別の1つで起動されてもよい。
幾つかの開示された実施形態は、複数の物理オブジェクトから特定の物理オブジェクトの選択を受信することを含むことができる。例えば、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサは、少なくとも1つの画像センサの視野内のシーンを連続的又は定期的に監視することができ、少なくとも1つのプロセッサは、監視されたシーンに基づいて、複数の物理オブジェクトからの特定の物理オブジェクトの選択の表示を検出することができる。特定の物理オブジェクトの選択の表示は、例えば、特定の物理オブジェクトの選択を示すユーザによるジェスチャ(例えば、特定の物理オブジェクトを指すこと、特定の物理オブジェクト上のタッチアンドホールド、又は特定の物理オブジェクト上のタップ)を含んでもよい。幾つかの例では、少なくとも1つのプロセッサは、ユーザによるジェスチャに基づいて、選択された特定の物理オブジェクト上の、又は選択された特定の物理オブジェクトに近い特定の点又は領域を決定することができる。特定の点又は領域は、ドッキング仮想オブジェクトを受け取るために使用され得る。幾つかの例では、選択された特定の物理オブジェクトは、物理オブジェクト(例えば、テーブル上の特定の点又は領域)の一部であってもよい。幾つかの他の例では、複数の物理オブジェクトからの特定の物理オブジェクトの選択は、外部デバイスから受信されてもよく、物理オブジェクトの選択を指定するデータ構造から受信されてもよく、メモリユニットから受信されてもよく、ユーザから受信されてもよく、自動化プロセス(例えば、画像データを解析して特定の物理オブジェクトを検出し、それによってそれを選択するために使用されるオブジェクト検出アルゴリズムから)から受信されてもよい、などである。
幾つかの例では、特定の物理オブジェクトの選択は、複数の物理オブジェクトを含むリスト又はメニューからのものであってもよい。例えば、複数の物理オブジェクトの表示を含む少なくとも1つの画像センサによって捕捉された画像データを受信することに基づいて、少なくとも1つのプロセッサは、複数の物理オブジェクトのそれぞれの物理オブジェクトにラベルを割り当てるために画像データを解析することができ、それぞれの物理オブジェクトを特定するラベルを含むリスト又はメニューを生成することができる。装着型エクステンデッドリアリティ機器のユーザは、リスト又はメニューを呼び出し、リスト又はメニューから特定の物理オブジェクトを選択することができる。ユーザは、ドッキング仮想オブジェクトを受け取るために選択された特定の物理オブジェクト上の、又はそれに近い特定の点又は領域を更に示すことができる。
特定の物理オブジェクトは、複数の物理オブジェクトから選択された任意の物理オブジェクトを含み得る。幾つかの例では、特定の物理オブジェクトはタッチパッドの一部を含み得る。幾つかの例では、特定の物理オブジェクトは、非制御面を含み得る。非制御面は、テーブルの表面、衣類の表面など、コンピューティングデバイスに制御信号を提供するように構成されていない表面を含むことができる。幾つかの例では、特定の物理オブジェクトはキーボードを含み得る。幾つかの例では、特定の物理オブジェクトはマウスを含み得る。幾つかの例では、特定の物理オブジェクトは、テーブル又はその一部を含むことができる。幾つかの例では、特定の物理オブジェクトはセンサを含むことができる。
図10を参照すると、ステップ1014において、プロセッサによって実行されたときに非一時的コンピュータ可読媒体に含まれる命令は、プロセッサに、複数の物理オブジェクトからの特定の物理オブジェクトの選択を受信させることができる。例えば、図15を参照すると、ハンドジェスチャ1510は、テーブル102上のタップを示すことができる。少なくとも1つのプロセッサは、例えば、視野1310を有する少なくとも1つの画像センサによって捕捉された画像データに基づいてハンドジェスチャ1510を検出することができ、ハンドジェスチャ1510に基づいて、特定の物理的なオブジェクト(例えば、テーブル102)の選択の表示を決定することができる。幾つかの例では、少なくとも1つのプロセッサは、ハンドジェスチャ1510に基づいて、ドッキング仮想オブジェクトを受け取るための選択された特定の物理オブジェクト(例えば、ハンドジェスチャ1510によってタップされたテーブル102の点又は領域)上の、又はそれに近い特定の点又は領域を更に決定することができる。幾つかの例では、選択された特定の物理オブジェクトは、物理オブジェクト(例えば、テーブル102上の特定の点又は領域)の一部であってもよい。
幾つかの開示された実施形態は、特定の物理オブジェクトと関連付けるために複数の仮想オブジェクトから特定の仮想オブジェクトの選択を受信することを含むことができる。例えば、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサは、少なくとも1つの画像センサの視野内のシーンを連続的又は定期的に監視することができる。少なくとも1つのプロセッサは、監視されたシーンに基づいて、複数の仮想オブジェクトから特定の仮想オブジェクトの選択の表示を検出することができる。特定の仮想オブジェクトの選択の表示は、例えば、特定の仮想オブジェクトの選択を示すユーザによるジェスチャ(例えば、特定の仮想オブジェクトを指すこと、特定の仮想オブジェクト上のタッチアンドホールド、又は特定の仮想オブジェクト上のタップ)を含んでもよい。幾つかの例では、特定の仮想オブジェクトの選択は、複数の仮想オブジェクトを含むリスト又はメニューからのものであってもよい。例えば、少なくとも1つのプロセッサは、複数の仮想オブジェクトを含むリスト又はメニューを生成することができる。装着型エクステンデッドリアリティ機器のユーザは、リスト又はメニューを呼び出し、リスト又はメニューから特定の仮想オブジェクトを選択することができる。特定の仮想オブジェクトは、特定の物理オブジェクトとの関連付けのために選択されてもよい。幾つかの他の例では、特定の物理オブジェクトと関連付けるための複数の仮想オブジェクトからの特定の仮想オブジェクトの選択は、外部デバイスから受信されてもよく、仮想オブジェクトの所望の選択を異なる物理オブジェクトに関連付けるデータ構造から受信されてもよく、メモリユニットから受信されてもよく、ユーザから受信されてもよく、自動化プロセス(例えば、仮想オブジェクトと物理オブジェクトとの互換性をランク付けするアルゴリズムなどから)から受信されてもよいなどである。
図10を参照すると、ステップ1016において、プロセッサによって実行されたときに非一時的コンピュータ可読媒体に含まれる命令は、プロセッサに、特定の物理オブジェクトと関連付けるために複数の仮想オブジェクトから特定の仮想オブジェクトの選択を受信させることができる。図16を参照すると、ハンドジェスチャ1610は、仮想ウィジェット114E上のタップを示すことができる。少なくとも1つのプロセッサは、例えば、視野1310を有する少なくとも1つの画像センサによって捕捉された画像データに基づいてハンドジェスチャ1610を検出することができ、ハンドジェスチャ1610に基づいて、特定の物理オブジェクト(例えば、テーブル102)と関連付けるための特定の仮想オブジェクト(例えば、仮想ウィジェット114E)の選択の表示を決定することができる。
幾つかの例では、特定の物理オブジェクトの選択及び特定の仮想オブジェクトの選択の両方は、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサによって捕捉された画像データの解析から決定されてもよい。画像データは、少なくとも1つの画像センサの視野内の1つ以上のシーンの表示を含むことができる。1つ以上のジェスチャが、少なくとも1つの画像センサの視野に入り、少なくとも1つの画像センサによって捕捉されてもよい。少なくとも1つのプロセッサは、画像データに基づいて、1つ以上のジェスチャが特定の物理オブジェクトの選択及び/又は特定の仮想オブジェクトの選択を示すことができると決定することができる。幾つかの例では、特定の物理オブジェクトの選択及び特定の仮想オブジェクトの選択の両方は、単一の所定のジェスチャの検出から決定されてもよい。単一の所定のジェスチャは、例えば、タップ、タッチアンドホールド、ポインティング、又はオブジェクトの選択を示す任意の他の所望のジェスチャを含む様々なジェスチャのいずれか1つを含むことができる。一例では、データ構造は、ジェスチャを1つの物理オブジェクトと1つの仮想オブジェクトのペアの選択に関連付けることができ、データ構造は、特定の物理オブジェクト及び特定の仮想オブジェクトを選択するために単一の所定のジェスチャに基づいてアクセスされ得る。幾つかの他の例では、装着型エクステンデッドリアリティの少なくとも1つの画像センサによって捕捉された画像データは、特定のカテゴリの特定の物理オブジェクト(及び/又は特定の物理オブジェクトの位置)を検出するためにオブジェクト検出アルゴリズムを使用して解析されてもよく、特定の物理オブジェクトは、検出された特定の物理オブジェクトであるように選択されてもよい。更に、特定の仮想オブジェクトは、画像データで検出された特定の物理オブジェクトに基づいて、及び/又は画像データを解析することによって決定された特定の物理オブジェクトの特性に基づいて選択され得る。例えば、画像データを解析して特定の物理オブジェクトの寸法を決定し、決定した寸法に適合する仮想オブジェクトを特定の仮想オブジェクトとして選択してもよい。
幾つかの開示された実施形態は、特定の仮想オブジェクトを特定の物理オブジェクトとドッキングすることを含むことができる。特定の仮想オブジェクトを特定の物理オブジェクトにドッキングすることは、例えば、特定の仮想オブジェクトを特定の物理オブジェクトに対して固定された位置に配置することを含み得る。これに加えて又は代えて、特定の仮想オブジェクトを特定の物理オブジェクトにドッキングすることは、特定の仮想オブジェクトを特定の物理オブジェクトに取り付けることを含み得る。取り付けは、関連付けを確立する任意の方法で行われ得る。例えば、システム設計者の選択に応じて、物理的コマンド(例えば、ハード又はソフトボタンプレス)、音声コマンド、ジェスチャ、ホバー、又はドッキングを引き起こすために事前定義された任意の他の動作を使用することができる。特定の仮想オブジェクトは、特定の物理オブジェクト上の、又は特定の物理オブジェクトに近い特定の点又は領域に取り付けられてもよい。特定の物理オブジェクト上の、又は特定の物理オブジェクトに近い特定の点又は領域は、例えば、装着型エクステンデッドリアリティ機器のユーザによって指定され得る。特定の仮想オブジェクトを特定の物理オブジェクトにドッキングすることは、特定の物理オブジェクトの選択及び特定の仮想オブジェクトの選択に基づくことができる。幾つかの例では、選択された特定の物理オブジェクトは、物理オブジェクトの一部(例えば、テーブル上の特定の点又は領域)であってもよく、特定の仮想オブジェクトは、物理オブジェクトの一部にドッキングされてもよい。
幾つかの例では、特定の仮想オブジェクトを特定の物理オブジェクトにドッキングすることは、特定の仮想オブジェクトを特定の物理オブジェクト(例えば、特定の仮想オブジェクトを特定の物理オブジェクトにドラッグするジェスチャ)にドッキングするためのユーザ入力表示を受信することに基づいてもよい。特定の仮想オブジェクトを特定の物理オブジェクトにドッキングすることにより、特定の仮想オブジェクトは、特定の物理オブジェクトに対して固定され得る位置に留まることができる。ドッキングに基づいて、特定の仮想オブジェクトは、特定の物理オブジェクトに対して固定され得る位置にあるように表示され得る。
幾つかの例では、特定の仮想オブジェクトを特定の物理オブジェクトにドッキングすることは、特定の仮想オブジェクトの位置を特定の物理オブジェクトに接続することを含み得る。ドッキングされた特定の仮想オブジェクトは、特定の仮想オブジェクトがドッキングされた特定の物理オブジェクトと共に移動することができる。特定の物理オブジェクトは、仮想オブジェクトが特定の物理オブジェクトにドッキングされるように配置され得るドッキング可能領域に関連付けられ得る。ドッキング可能領域は、例えば、特定の物理的なオブジェクトの領域(例えば、表面)、及び/又は特定の物理的なオブジェクトを囲む領域を含むことができる。例えば、テーブルのドッキング可能領域は、テーブルの表面を含むことができる。別の例として、キーボードのドッキング可能領域は、キーボードを取り囲む領域(例えば、キーボードが支持面上に置かれたとき)、及び/又はキーボードの表面(例えば、ボタン又はキーを有さないその一部)を含み得る。幾つかの例では、特定の仮想オブジェクトをドッキング可能領域(例えば、特定の物理オブジェクトの領域)にドラッグすることができる。幾つかの例では、特定の仮想オブジェクトを移動させると、ドッキング可能領域が強調表示され(例えば、装着型エクステンデッドリアリティ機器によって表示される仮想コンテンツを使用して)、ドッキング可能領域の表示がユーザに視覚的に表示され、特定の仮想オブジェクトを配置しドッキングすることができる。
図10を参照すると、ステップ1018において、プロセッサによって実行されたときに非一時的コンピュータ可読媒体に含まれる命令は、プロセッサに、特定の仮想オブジェクトを特定の物理オブジェクトとドッキングさせることができる。
図17を参照すると、ハンドジェスチャ1710、1712、1714は、仮想ウィジェット114Eのテーブル102へのドラッグを示すことができる。少なくとも1つのプロセッサは、例えば、視野1310を有する少なくとも1つの画像センサによって捕捉された画像データに基づいてハンドジェスチャ1710、1712、1714を検出することができ、ハンドジェスチャ1710、1712、1714に基づいて、特定の仮想オブジェクト(例えば、仮想ウィジェット114E)を特定の物理オブジェクト(例えば、テーブル102)とドッキングする表示を決定することができる。特定の仮想オブジェクトは、特定の物理オブジェクト上の特定の点又は領域にドッキングされてもよく、又は特定の物理オブジェクトに近似してもよい。特定の点又は領域は、ユーザによって指定されてもよい。幾つかの例では、選択された特定の物理オブジェクトは、物理オブジェクトの一部(例えば、テーブル102上の特定の点又は領域)であってもよく、特定の仮想オブジェクトは、物理オブジェクトの一部にドッキングされてもよい。図18を参照すると、特定の仮想オブジェクト(例えば、仮想ウィジェット114E)が特定の物理オブジェクト(例えば、テーブル102、又はテーブル102上の特定の点又は領域)にドッキングされている。
幾つかの例では、特定の物理オブジェクトはキーボードであってもよく、複数の仮想オブジェクトの少なくとも一部は、装着型エクステンデッドリアリティ機器がドッキングキーボードから離れるときの仮想オブジェクトの挙動を定義する少なくとも1つの規則に関連付けられてもよい。仮想オブジェクト挙動は、例えば、ドッキングされた仮想オブジェクトをドッキング解除すること、ドッキングされた仮想オブジェクトを非アクティブにすること、ドッキングされた仮想オブジェクトを隠すこと、ドッキングできない仮想オブジェクトをレンダリングすること、又は他の所望の動作を含むことができる。仮想オブジェクト挙動を定義する少なくとも1つの規則は、少なくとも1つのプロセッサに、ドッキングされたキーボードから閾値距離(例えば、1メートル、2メートル、3メートル、5メートル、10メートル、又は任意の他の所望の長さ)だけ離れる装着型エクステンデッドリアリティ機器に基づいて、1つ以上の対応する仮想オブジェクトに対して仮想オブジェクト挙動の1つ以上を実行させるように構成され得る。幾つかの例では、少なくとも1つの規則は、キーボードのタイプ、時刻、又はキーボードにドッキングされた他の仮想オブジェクトのうちの少なくとも1つに基づいてもよい。規則は、発生又は発生の条件に基づいて効果を引き起こす任意の命令を含むことができる。例えば、仮想オブジェクトに対するキーボードの移動は、仮想オブジェクトに対して何らかの変化を引き起こす可能性がある(例えば、仮想オブジェクトはキーボードと共に移動することができる。これに代えて又は加えて、効果は条件に基づくものであってもよい。例えば、少なくとも1つの規則は、少なくとも1つのプロセッサに、オフィス内のキーボード用の仮想オブジェクトに対して第1の仮想オブジェクト動作を実行させ、家庭内のキーボード用の仮想オブジェクトに対して第2の仮想オブジェクト動作を実行させるように構成され得る。別の例として、少なくとも1つの規則は、少なくとも1つのプロセッサに、非営業時間中に仮想オブジェクトに対して第1の仮想オブジェクト挙動を実行させ、営業時間中に仮想オブジェクトに対して第2の仮想オブジェクト挙動を実行させるように構成されてもよい。更なる例として、少なくとも1つの規則は、他の仮想オブジェクトがキーボードにドッキングされていない場合、少なくとも1つのプロセッサに、仮想オブジェクトの第1の仮想オブジェクトの挙動を実行させ、他の仮想オブジェクトがキーボードにドッキングされている場合、仮想オブジェクトの第2の仮想オブジェクトの挙動を実行させるように構成されてもよい。
幾つかの実施形態では、特定の物理オブジェクト及び特定の仮想オブジェクトが、特定の仮想オブジェクトが装着型エクステンデッドリアリティ機器のユーザには見えないように、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部の外側にあるとき、これらの実施形態は、手が特定の仮想オブジェクトと相互作用していることを示すジェスチャ入力を受信することを含むことができる。特定の仮想オブジェクトが特定の物理オブジェクトとドッキングされた後、ユーザは装着型エクステンデッドリアリティ機器を移動させることができ、装着型エクステンデッドリアリティ機器の位置及び/又は向きが変化することができる。位置及び/又は向きの変化に基づいて、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部は、特定の仮想オブジェクトがドッキングされている位置をカバーしない場合がある。したがって、特定の仮想オブジェクトは、ユーザに表示されず、ユーザに見えなくなる可能性がある。特定の仮想オブジェクトがドッキングされた位置が表示システムに関連付けられた視野の一部の外側にあるとき、ユーザは、特定の仮想オブジェクトがドッキングされた位置と相互作用するためのジェスチャを行うことができる。
装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサは、少なくとも1つの画像センサの視野内の画像データを取り込むことができ、ジェスチャ入力を検出することができる。ジェスチャ入力は、例えば、ドラッグ、ピンチ、スプレッド、スワイプ、タップ、ポインティング、グラブ、スクロール、回転、フリック、タッチ、ズームイン、ズームアウト、サムアップ、サムダウン、タッチアンドホールド、又は1つ以上の指又は手の任意の他の動作を含むことができる。幾つかの例では、ジェスチャ入力は、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサによって捕捉された画像データの解析から決定されてもよい。画像データに基づいて(例えば、ジェスチャ認識アルゴリズムを用いた画像データの解析に基づいて)、少なくとも1つのプロセッサは、ジェスチャ入力が、手又はその一部が特定の仮想オブジェクトと相互作用していることを示し得ると決定することができる。特定の仮想オブジェクトと相互作用する手は、特定の物理オブジェクトと相互作用する手に基づいて決定され得る。幾つかの例では、特定の仮想オブジェクトと相互作用している手は、装着型エクステンデッドリアリティ機器のユーザの手であり得る。幾つかの例では、特定の仮想オブジェクトと相互作用している手は、装着型エクステンデッドリアリティ機器のユーザ以外の人の手であってもよい。
幾つかの例では、ジェスチャ入力は、装着型エクステンデッドリアリティ機器に接続可能な入力デバイスに関連付けられた更なるセンサによって取得された更なるセンサデータの解析から決定されてもよい。更なるセンサは、任意の他の物理的要素に配置、接続、又は関連付けられてもよい。例えば、更なるセンサは、キーボードに関連付けられてもよい。したがって、ユーザがユーザの視野外でキーボードをレンダリングするキーボードから目を離した場合でも、キーボード上の更なるセンサはジェスチャを感知することができる。更なるセンサは、好ましくは画像センサであるが、必ずしもそうである必要はない。更に、キーボード関連センサは一例にすぎない。更なるセンサは、任意のアイテムに関連付けられてもよい。例えば、更なるセンサは、触覚グローブ、有線グローブ、又はデータグローブなどのグローブ上のセンサを含んでもよい。更なるセンサは、手位置センサ(例えば、物品に含まれる画像センサ又は近接センサ)を含むことができる。これに加えて又は代えて、更なるセンサは、キーボードに含まれる手位置センサに関連して本明細書で説明されるセンサを含むことができる。センサは、キーボード以外の入力デバイスに含まれてもよい。更なるセンサデータは、手又は手の部分の位置及び/又は姿勢を含むことができる。幾つかの例では、特定の物理オブジェクトはタッチパッドの一部を含んでもよく、ジェスチャ入力は、タッチパッドから受信したタッチ入力の解析に基づいて決定されてもよい。幾つかの例では、特定の物理オブジェクトはセンサを含んでもよく、ジェスチャ入力はセンサから受信されてもよく、及び/又はセンサから受信されたデータに基づいて決定されてもよい。幾つかの例では、特定の物理オブジェクト及び特定の仮想オブジェクトが、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部にあるが、別のオブジェクト(仮想又は物理)によって隠されているため、特定の仮想オブジェクトが装着型エクステンデッドリアリティ機器のユーザには見えない場合、幾つかの開示された実施形態は、例えば、前述したように装着型エクステンデッドリアリティ機器に接続可能な入力デバイスに関連付けられた更なるセンサによって取得された更なるセンサデータの解析から、手が特定の仮想オブジェクトと相互作用していることを示すジェスチャ入力を受信することを含み得る。
図10を参照すると、ステップ1020において、プロセッサによって実行されたときに非一時的コンピュータ可読媒体に含まれる命令は、特定の物理オブジェクト及び特定の仮想オブジェクトが装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部の外側にあるとき、特定の仮想オブジェクトが装着型エクステンデッドリアリティ機器のユーザに見えないように、プロセッサに、手が特定の仮想オブジェクトと相互作用していることを示すジェスチャ入力を受信させることができる。
図19を参照すると、装着型エクステンデッドリアリティ機器の位置及び/又は向きは変化し得、視野1310及び視野部分1312はそれぞれのカバレッジエリアを変化させ得る。特定の仮想オブジェクト(例えば、仮想ウィジェット114E)がドッキングされている特定の点又は領域は視野部分1312の外側に移動しており、仮想ウィジェット114Eはユーザに見えなくなっている。ジェスチャ1910は、仮想ウィジェット114Eがドッキングされている点又は領域との相互作用を示すことができる。ジェスチャ1910は、視野1310内で生じてもよく、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサによって捕捉されてもよい。少なくとも1つのプロセッサは、ジェスチャ1910に基づいて、手が仮想ウィジェット114Eと相互作用している可能性があると決定することができる。
幾つかの開示された実施形態は、ジェスチャ入力に応じて、特定の仮想オブジェクトに関連付けられた出力を引き起こすことを含み得る。特定の仮想オブジェクトに関連付けられた出力は、ジェスチャ入力に基づくことができ、例えば、特定の仮想オブジェクトが装着型エクステンデッドリアリティ機器のユーザには見えない場合であっても、ジェスチャ入力が特定の仮想オブジェクトと相互作用しているかのように生成され得る。例えば、ジェスチャ入力がタップである場合、特定の仮想オブジェクトに関連付けられた出力は、特定の仮想オブジェクトをアクティブにすることを含むことができる。ジェスチャ入力がスクロールアップ又はスクロールダウンである場合、特定の仮想オブジェクトに関連付けられた出力は、例えば、スクロールバーを上下に移動することを含み得る。幾つかの例では、特定の仮想オブジェクトに関連付けられた出力を引き起こすことは、特定の仮想オブジェクトに関連付けられた以前の出力を変更することを含むことができる。したがって、特定の仮想オブジェクトがユーザの視野外にある場合でも、ユーザは仮想オブジェクトを操作することを許可され得る。そのような操作は、例えば、(仮想オブジェクトがボリュームコントロールである場合に)ボリュームを変更すること、特定の仮想オブジェクトに関連付けられた別の仮想オブジェクトを回転又は再配置すること(特定の仮想オブジェクトが位置決め制御装置である場合)、表示パラメータを変化させること(特定の仮想オブジェクトが表示パラメータ制御である場合)、特定の仮想オブジェクトをユーザの視野の外側からユーザの視野内に移動させることと、システム設計者の選択に応じて、機能、又は任意の他の動作を起動すること、を含むことができる。
図10を参照すると、ステップ1022において、プロセッサによって実行されたときに非一時的コンピュータ可読媒体に含まれる命令は、ジェスチャ入力に応じて、特定の仮想オブジェクトに関連する出力をプロセッサに行わせることができる。図19を参照すると、ジェスチャ1910は、例えば、スクロールアップを含んでもよい。ジェスチャ1910に応じて、少なくとも1つのプロセッサは、仮想ウィジェット114Eに関連付けられた出力を引き起こすことができる。例えば、仮想ウィジェット114Eはボリュームバーであってもよく、仮想ウィジェット114Eに関連付けられた出力はボリュームを増大させてもよい。
先に示唆したように、幾つかの例では、特定の仮想オブジェクトは提示制御であってもよく、出力は、提示制御に関連する提示パラメータの変化を含んでもよい。提示制御は、例えば、開始ボタン、次ページボタン、前ページボタン、終了ボタン、一時停止ボタン、最後に見たボタン、音量バー、ズームインボタン、ズームアウトボタン、視点選択、セキュリティ制御、プライバシーモード制御、又は提示を制御するための任意の他の機能を含むことができる。提示制御(例えば、ユーザには見えない可能性がある)との相互作用を示すジェスチャ入力に応じて、少なくとも1つのプロセッサは、提示制御(例えば、提示のページ番号の変更)に関連付けられた提示パラメータの変更を引き起こすことができる。幾つかの例では、提示パラメータは、音量、ズームレベル、視点、セキュリティ、又はプライバシーモードのうちの少なくとも1つを含むことができる。例えば、提示の音量を変更してもよい。他の例として、提示のズームレベルが変更されてもよいし、提示の視点が変更されてもよい。例えば、提示パラメータの変更により、提示のセキュリティレベルを変更して、視聴者に関連付けられたセキュリティ認証情報又はレベルに基づいて、提示への視聴者のアクセスを変更することができる。更に別の例として、提示パラメータの変更により、提示のプライバシーモードが変更され、視聴者の信頼レベルに基づいて提示への視聴者のアクセスを変更することができる。
幾つかの例では、特定の仮想オブジェクトはアプリケーションのアイコンであってもよく、出力は、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部の内側のアプリケーションに関連付けられた仮想コンテンツを含んでもよい。例えば、特定の仮想オブジェクトは、天候アプリケーション、電子メールアプリケーション、ウェブブラウザアプリケーション、インスタントメッセージングアプリケーション、ショッピングアプリケーション、ナビゲーションアプリケーション、又は1つもしくは複数のタスクを実行するための任意の他のコンピュータプログラムなどのアプリケーションのアイコンであってもよい。アプリケーションアイコン(例えば、ユーザには見えない可能性がある)との相互作用を示すジェスチャ入力に応じて、少なくとも1つのプロセッサは、例えば、アプリケーションを起動し、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部の内側にアプリケーションの仮想コンテンツを表示させることができる。
幾つかの開示された実施形態は、関連する機能に基づいて複数の仮想オブジェクトのデフォルト位置を推奨することを含むことができる。デフォルト位置は、仮想オブジェクトがドッキングされ得る特定の点又は領域であり得る。少なくとも1つのプロセッサは、例えば、仮想オブジェクトを機能性に関連付けるデータ構造にアクセスすることによって、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部に表示された複数の仮想オブジェクトに関連付けられた機能性を決定することができる。機能に基づいて、少なくとも1つのプロセッサは、複数の仮想オブジェクトのデフォルト位置を決定することができる。例えば、仮想オブジェクトが音量を制御する機能に関連付けられている場合、仮想オブジェクトのデフォルト位置は、例えば、キーボードの上部領域、テーブルの隅、又は仮想オブジェクトをドッキングするための任意の他の所望の位置を含み得る。仮想オブジェクトがアプリケーションの機能(例えば、電子メールアプリケーション)に関連付けられている場合、仮想オブジェクトのデフォルト位置は、例えば、仮想オブジェクトをドッキングするためのテーブルの中央領域又は任意の他の所望の位置を含むことができる。別の例では、特定の仮想オブジェクト機能が触覚フィードバックから恩恵を受ける1つ以上のジェスチャに関連付けられている場合、特定の仮想オブジェクトのデフォルト位置は表面上にあり得る。少なくとも1つのプロセッサは、例えば、ドッキングのために仮想オブジェクトが選択されたときに、デフォルト位置の推奨をユーザに提供することができる。幾つかの例では、推奨されるデフォルト位置は、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部の物理オブジェクトの上にオーバーレイ表示としてユーザに表示されてもよい。
幾つかの例では、装着型エクステンデッドリアリティ機器は、複数の異なるキーボードとペアリングするように構成されてもよい。幾つかの開示された実施形態は、選択されたペアリングされたキーボードに基づいて特定の仮想オブジェクトの表示を変化させることを含むことができる。異なるキーボードは、特定の仮想オブジェクトをドッキングするための特定の物理オブジェクトであってもよい。例えば、第1のキーボードは家庭内にあってもよく、特定の仮想オブジェクトの第1の設定に関連付けられてもよい。第2のキーボードは、オフィス内にあってもよく、特定の仮想オブジェクトの第2の設定に関連付けられてもよい。第1の設定は、第2の設定と異なっていてもよい。異なるキーボードは、装着型エクステンデッドリアリティ機器(例えば、装着型エクステンデッドリアリティ機器の入力デバイスとして使用することができる)とペアリングされてもよい。特定の仮想オブジェクト(例えば、ボリュームバー)は、第1のキーボードにドッキングされてもよく、第2のキーボードにドッキングされてもよい。特定の仮想オブジェクトは、異なる設定で構成されてもよく、異なるキーボードとドッキングされたときに異なるように表示されてもよい。例えば、特定の仮想オブジェクトは、家庭内で第1のキーボードとドッキングされたときに第1の設定で構成されてもよく、オフィス内で第2のキーボードとドッキングされたときに第2の設定で構成されてもよい。別の例として、特定の仮想オブジェクトは、オフィス内で第2のキーボードとドッキングされたときよりも、家庭内で第1のキーボードとドッキングされたときの方が大きいサイズを有するように表示されてもよい。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部に特定の物理オブジェクトが入ることを特定すると、特定の物理オブジェクトに近接して特定の仮想オブジェクトを仮想的に表示することを含むことができる。特定の物理オブジェクト(例えば、テーブル上の特定の点又は領域)は、装着型エクステンデッドリアリティ機器の表示システムに関連付けられた視野の一部に入ることができる。少なくとも1つのプロセッサは、例えば、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサによって捕捉された画像データに基づいて、視野の一部への特定の物理オブジェクトの進入を特定することができる。新たに捕捉された画像データは、記憶された画像データと比較され、比較に基づいて物理オブジェクトを認識することができる。これは、物理オブジェクトの一部のみで比較が行われ得るため、物理オブジェクトの一部のみが視野に入る場合でも起こり得る(例えば、比較は、物理オブジェクトの画像データの完全なセットよりも少ないセットに対して実行されてもよい)。物理オブジェクト又はその一部が認識されると、少なくとも1つのプロセッサは、特定の物理オブジェクトに近接した特定の仮想オブジェクトの仮想提示を引き起こすことができる(例えば、特定の物理オブジェクトが視野の一部に完全に入っていない場合であっても)。幾つかの例では、特定の仮想オブジェクトは、特定の物理オブジェクト(例えば、キーボード)に近接した位置にドッキングされてもよい。例えば、ボリュームバーは、キーボードの隣の位置にドッキングされてもよい。少なくとも1つのプロセッサは、視野の一部における特定の物理オブジェクトの進入を特定すると、特定の物理オブジェクトに近接した特定の仮想オブジェクトの仮想提示を引き起こすことができる。
幾つかの開示された実施形態は、特定の仮想オブジェクトと相互作用している手が装着型エクステンデッドリアリティ機器のユーザの手であるかどうかを決定することを含むことができる。(全体を通して使用されるように、手への言及は、完全な手又は手の一部を含む。)ハンドソース認識は、幾つかの方法のいずれか1つ、又は方法の組み合わせで行われ得る。例えば、手の相対位置に基づいて、システムは、手が装着型エクステンデッドリアリティ機器のユーザのものであると決定することができる。これは、着用者の手が、手が着用者の手であるというテルテール標識である視野内の向きを有し得るために起こり得る。これは、現在の手の画像に対して画像解析を実行し、それを記憶された画像又は着用者の手の向きと関連付けられた画像データと比較することによって決定することができる。同様に、着用者以外の人の手は異なる向きを有することができ、手がエクステンデッドリアリティ機器の着用者の1人であると決定するのと同様に、システムは、検出された手が着用者以外の人のものであると決定することができる。
別の例として、異なる個人の手は異なり得る。システムは、皮膚又は構造の固有の特性を検査することによって、エクステンデッドリアリティデバイス着用者の手であると認識するようになり得る。着用者がシステムを使用するにつれて、着用者の手の特徴をデータ構造に記憶することができ、画像内の現在の手が着用者の手であることを確認するために画像解析を実行することができる。同様に、着用者以外の個人の手を認識することができ、システムがその手の特性に基づいて複数の個人を区別することを可能にする。この特徴は、独自のシステム制御を可能にすることができる。例えば、複数の個人が同じ仮想空間内の同じ仮想オブジェクトと相互作用する場合、仮想オブジェクトの制御及び移動は、仮想オブジェクトと相互作用する人に基づいて変化し得る。
したがって、少なくとも1つのプロセッサは、例えば、装着型エクステンデッドリアリティ機器の少なくとも1つの画像センサによって捕捉された画像データに基づいて、特定の仮想オブジェクト(例えば、ジェスチャ1910)と相互作用している手が装着型エクステンデッドリアリティ機器のユーザの手であるかどうかを決定することができる。少なくとも1つのプロセッサは、例えば、画像データに基づいて手の特徴を決定し、決定された手の特徴を装着型エクステンデッドリアリティ機器のユーザの手の記憶された特徴と比較することによって、手特定のために画像データを解析することができる。幾つかの例では、少なくとも1つのプロセッサは、手に関連付けられた特定のオブジェクト(例えば、ユーザの手を特定するための特定のリング)に基づいて手の特定を実行することができる。幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器のユーザの手である特定の仮想オブジェクトと相互作用している手及びジェスチャ入力に応じて、特定の仮想オブジェクトに関連付けられた出力を引き起こすことを含み得る。例えば、特定の仮想オブジェクト(例えば、ジェスチャ1910)と相互作用している手が装着型エクステンデッドリアリティ機器のユーザの手である場合、少なくとも1つのプロセッサは、特定の仮想オブジェクトに関連付けられた出力を引き起こすことができる。更なる開示された実施形態は、特定の仮想オブジェクトと相互作用している手が装着型エクステンデッドリアリティ機器のユーザの手ではないことに応じて、特定の仮想オブジェクトに関連付けられた出力を引き起こすことを取り止めることを含み得る。例えば、特定の仮想オブジェクトと相互作用している手(例えば、ジェスチャ1910)が装着型エクステンデッドリアリティ機器のユーザの手ではない場合、少なくとも1つのプロセッサは、特定の仮想オブジェクトに関連付けられた出力を引き起こすことを取り止めることができる。
エクステンデッドリアリティ環境で作業する場合、ユーザは、システムが運動学的選択(例えば、ジェスチャを通して、又は凝視を通して)を意図したオブジェクトを認識するかどうか、又は運動学的選択が単一のオブジェクトを示すのに十分な精度である場合を知ることが困難な場合がある。したがって、運動学的選択が単一のオブジェクトを示すのに十分に正確ではないことを示す中間フィードバックをユーザに提供することが有用であり得る。例えば、ジェスチャの開始時に、ジェスチャがあまり具体的でない場合、ジェスチャの方向の仮想オブジェクトのグループが強調表示されてもよい。ユーザが意図された選択に手を加えると、選択されたオブジェクトのみが強調表示されたままになるまで、周囲のオブジェクトが強調表示されなくなる可能性がある。これは、初期ジェスチャが正しい方向にあるが、単一の仮想オブジェクトを示すために更に洗練される必要があることをユーザに示すことができる。
様々な実施形態は、システム、方法、装置、及び/又はコンピュータ可読媒体を参照して説明することができる。1つの開示は全ての開示であることが意図される。例えば、本明細書で説明されるように、非一時的コンピュータ可読媒体で実施される1つ以上のプロセスの開示はまた、コンピュータ可読媒体によって実施される方法、並びに例えば少なくとも1つのプロセッサを介して、非一時的コンピュータ可読媒体で実施されるプロセスを実施するためのシステム及び/又は装置の開示を構成し得ることを理解すべきである。したがって、幾つかの実施形態では、非一時的コンピュータ可読媒体は、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに拡張環境で増分収束動作を実行させることができる命令を含むことができる。そのようなプロセスの幾つかの態様は、有線、無線、又はその両方であり得るネットワークを介して電子的に行われ得る。そのようなプロセスの他の態様は、非電子的手段を使用して行われてもよい。最も広い意味で、本明細書に開示されるプロセスは、特定の物理的手段及び/又は電子的手段に限定されず、むしろ、それらは、任意の数の異なる手段を使用して達成され得る。前述したように、非一時的コンピュータ可読媒体という用語は、メモリに記憶された動作、方法、又は任意の他の命令を実行するための少なくとも1つのプロセッサを有する任意のコンピューティングデバイスによって読み取られ得る方法で任意のメモリにデータを記憶することができる任意の媒体を網羅するように拡張的に解釈されるべきである。
非一時的コンピュータ可読媒体は、例えば、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、揮発性メモリ、不揮発性メモリ、ハードドライブ、コンパクトディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、フラッシュドライブ、ディスク、任意の光学データ記憶媒体、ホールのパターンを有する任意の物理媒体、プログラマブル読み出し専用メモリ(PROM)、消去可能プログラマブル読み出し専用メモリ(EPROM)、FLASH-EPROMもしくは任意の他のフラッシュメモリ、不揮発性ランダムアクセスメモリ(NVRAM)、キャッシュ、レジスタ、任意の他のメモリチップもしくはカートリッジ、又はそれらのネットワークバージョンを含むことができる。非一時的コンピュータ可読媒体は、ローカル位置又はリモート位置に配置された複数の非一時的コンピュータ可読媒体などの複数の構造を指すことができる。更に、1つ以上の非一時的コンピュータ可読媒体を、コンピュータ実装方法を実施する際に利用することができる。したがって、非一時的コンピュータ可読媒体は、有形のアイテムを含むことができ、搬送波又は過渡信号を除外することができる。
非一時的コンピュータ可読媒体に含まれる命令は、例えば、ソフトウェア命令、コンピュータプログラム、コンピュータコード、実行可能命令、ソースコード、機械命令、機械言語プログラム、又はコンピューティングデバイスの任意の他のタイプの指示を含むことができる。非一時的コンピュータ可読媒体に含まれる命令は、1つ以上の様々なタイプの所望のプログラミング言語に基づくことができ、本明細書に記載のエクステンデッドリアリティ環境における増分収束を検出、測定、処理、及び/又は実装するための、或いはそれに基づくフィードバックを提供するための様々なプロセスを含むことができる(例えば、具体化する)。
少なくとも1つのプロセッサは、非一時的コンピュータ可読媒体に含まれる命令を実行して、本明細書に記載のエクステンデッドリアリティ環境で増分収束を実施するために様々なプロセスを実行させるように構成され得る。プロセッサは、例えば、集積回路、マイクロチップ、マイクロコントローラ、マイクロプロセッサ、中央処理デバイス(CPU)、グラフィックス処理デバイス(GPU)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、又は命令の実行もしくは論理演算の実行に適した他のユニットを含むことができる。プロセッサは、シングルコア又はマルチコアプロセッサを含み得る。幾つかの例では、プロセッサは、仮想化技術で構成されたシングルコアプロセッサであってもよい。プロセッサは、例えば、複数のソフトウェアプロセス、アプリケーション、又はプログラムを実行、制御、実行、操作、又は記憶する能力を提供するために、仮想化技術又は他の機能を実装することができる。別の例では、プロセッサは、プロセッサに関連付けられたデバイスが複数のプロセスを同時に実行することを可能にするための並列処理機能を提供するように構成されたマルチコアプロセッサ(例えば、デュアルコア、クワッドコア、又は任意の所望の数のコア)を含み得る。本明細書に記載の機能を提供するために、他のタイプのプロセッサ構成が実装されてもよい。
幾つかの開示された実施形態は、エクステンデッドリアリティ環境(仮想現実環境、拡張現実環境、複合現実環境など)で増分収束動作を実行することに関することができる。増分収束という用語は、エクステンデッドリアリティ環境とのユーザの物理的相互作用の開始及び停止だけでなく、任意の増大又は減少に関連するか、又は他の方法で表すことができる。エクステンデッドリアリティ環境とのユーザの物理的相互作用は、ユーザがエクステンデッドリアリティ環境の座標系内の仮想オブジェクトを選択するか、そうでなければ相互作用することを可能にすることができる運動入力として機能することができる。エクステンデッドリアリティ環境との相互作用は、ハンドジェスチャ、身体ジェスチャ、眼球運動、及び/又は任意のジェスチャベースの相互作用又はジェスチャベースの相互作用の組み合わせを含むことができる。増分収束動作は、選択又はアイテムをホーニングするためのプロセスに関連し得る。これは、時間の経過とともに、ターゲット特定が最終的な選択又は特定のアイテムに急激になるか、又は近づくように徐々に発生し得る。選択を指示するのに役立つフィードバックに基づいて、段階的な収束が行われる場合がある。例えば、フィードバックは、ユーザがエクステンデッドリアリティ環境のユーザインタフェースに表示された複数の仮想オブジェクトのうちの少なくとも1つに近づいたり、他の方法で関与したりするときに、エクステンデッドリアリティ環境内の仮想オブジェクトの運動学選択プロセス中にユーザに提供されてもよい。
幾つかの開示された実施形態は、複数の仮想領域にわたって複数の分散された仮想オブジェクトを表示することを含むことができる。仮想オブジェクトは、エクステンデッドリアリティ機器を介してエクステンデッドリアリティ環境において、ユーザに視覚的に表示され、ユーザが相互作用することができる任意のタイプのデータ表示を含む仮想コンテンツに関連することができる。仮想オブジェクトは、それらが全て正確に同じ位置に配置されていない場合、分散されていると見なされ得る。例えば、仮想オブジェクトは、仮想ディスプレイ上の異なる位置又はエクステンデッドリアリティ環境に現れる場合、分散されていると見なされ得る。互いに隣接して位置するオブジェクトは、分散されるオブジェクトの一例である。仮想ディスプレイ又はエクステンデッドリアリティ環境は、互いに近いか又は互いに離間した領域を有することができる。いずれの場合も、オブジェクトは複数の領域にわたって分散していると見なされ得る。
仮想オブジェクトは、コンピュータ又は無生物の仮想オブジェクトもしくは生物の仮想オブジェクトなどの処理デバイスによってレンダリングされる任意の視覚的提示を含むことができる。場合によっては、仮想オブジェクトは、経時的に又はトリガに応じて変化するように構成されてもよい。幾つかの実施形態では、複数の分散された仮想オブジェクトの仮想オブジェクトは、仮想メニューに少なくとも1つの仮想ウィジェット及び/又はオプションを含むことができる。少なくとも1つの仮想ウィジェット及び/又は仮想メニュー内のオプションなどの仮想オブジェクトは、コマンドを発行し、ダイアログシーケンスを開始し、相互作用モードを変更し、及び/又は関連する仮想オブジェクトを完全に開く必要なくユーザに情報への迅速なアクセスを与えるために使用され得る。これに加えて又は代えて、仮想オブジェクトは、アイコンに関連付けられた特定の仮想オブジェクトに関連付けられた動作を引き起こすためのスクリプトをアクティブにすることができる少なくとも1つのアイコンを含むことができ、及び/又は関連するプログラム又はアプリケーションにリンクされることができる。
複数の分散された仮想オブジェクトは、エクステンデッドリアリティ環境のユーザインタフェースを介してユーザに視覚的に表示又は提示され得る任意の数の仮想オブジェクトに関連し得る。例えば、複数の分散された仮想オブジェクトは、オペレーティングシステムによって生成された仮想オブジェクトを表示する仮想コンピュータスクリーン(本明細書では仮想ディスプレイとも呼ばれる)にわたって分散されてもよい。幾つかの実施形態では、複数の仮想領域はエクステンデッドリアリティ環境の複数の仮想領域であり、複数の分散された仮想オブジェクトを表示することは、装着型エクステンデッドリアリティ機器に複数の分散された仮想オブジェクトを表示させることを含み得る。
エクステンデッドリアリティ環境のユーザインタフェースは、複数の仮想領域を表示するように構成されてもよい。複数の仮想領域は、ユーザインタフェースの空間全体内の空間の少なくとも2つの個別の又は接続されたサブセットに関連し得る。複数の仮想領域のそれぞれは、その境界、内部領域、外部領域、又は仮想領域に含まれる要素(仮想オブジェクトなど)のうちの少なくとも1つによって定義され得る。境界は、視覚的に提示されてもされなくてもよい。例えば、視覚的な意味では、所与の仮想領域の境界は、ユーザインタフェースの空間全体のサブセットを包含し、仮想領域の内部領域と外部領域との間のインタフェースを形成することができる任意のタイプの閉じた幾何学的形状によって示されることができる。仮想領域の内部領域は、仮想領域の境界の内側の空間のサブセットに関連することができ、複数の分散された仮想オブジェクトのうちの少なくとも1つを含むことができる。したがって、所与の仮想領域は、単一の仮想オブジェクト又は複数の仮想オブジェクトの数を含むことができる。仮想領域の外部領域は、仮想領域の境界の外側の空間のサブセットに関連することができ、仮想領域の内部に含まれる仮想オブジェクト又は仮想オブジェクトを除く複数の分散された仮想オブジェクトの数を含むことができる。仮想領域の外部領域に位置する仮想オブジェクトは、複数の仮想領域のうちの別の1つの仮想領域の内部領域に位置してもよい。他の実施形態では、色又は他の視覚的特性は、異なる領域を示すことができる。また、他の実施形態では、領域は、知覚可能な分割器なしで一緒に起動することができる。
複数の仮想領域は、少なくとも第1の仮想領域と、第1の仮想領域とは異なる第2の仮想領域とを含んでもよい。この用語は、第1の仮想領域が、第2の仮想領域に含まれない複数の分散された仮想オブジェクトのうちの少なくとも1つの仮想オブジェクトを含み、第2の仮想領域が、第1の仮想領域に含まれない複数の分散された仮想オブジェクトのうちの少なくとも1つの仮想オブジェクトを含み得ることを示し得る。したがって、複数の仮想領域は、所与の仮想オブジェクトと少なくとも1つの重複しない領域を含む。これに加えて又は代えて、第1の仮想領域内の仮想オブジェクトの全てが第2の仮想領域に含まれなくてもよく、第2の仮想領域内の仮想オブジェクトの全てが第1の仮想領域に含まれなくてもよい。幾つかの実施形態では、第1の仮想領域は、初期運動入力に基づいて選択されてもよい。以下で詳細に説明するように、初期運動入力は、ユーザが、例えば最初に第1の仮想領域を指す、及び/又は第1の仮想領域を見ることによって、第1の仮想領域などの仮想領域に関心を示し始める、又はそうでなければ注意を払い始める任意のジェスチャに基づく相互作用を含むことができる。
幾つかの実施形態では、第1の仮想領域の境界は、運動入力に応じてリアルタイムで適応可能であり得る。例えば、第1の仮想領域の境界は、エクステンデッドリアリティ環境の座標系内のユーザの運動入力に基づいて、異なる数の複数の分散された仮想オブジェクトを含める又は除外するように動的に適応可能であり得る。一例では、第1の仮想領域の境界は、ユーザが複数の仮想オブジェクトの第1の数のうちの1つの運動学的選択を行うことを意図し得る閾値確信度に基づいて、複数の仮想オブジェクトの第1の数を包含し得る。1つの非限定的な例では、少なくとも1つのプロセッサが、ユーザが複数の仮想オブジェクトのうちの幾つかの隣接する仮想オブジェクトのうちの少なくとも1つを、前記仮想オブジェクトを指すユーザに基づいて選択することを意図し得ると決定した場合、境界は、ユーザが閾値確信度を超えて、例えば50%の確信度を超えて相互作用することを意図し得る仮想オブジェクトのそれぞれを含むように定義され得る。別の例では、第1の仮想領域の境界は、ユーザが複数の仮想オブジェクトの第2の数のうちの1つの運動学的選択を行うことを意図し得るというより高い閾値確信度に基づいて、複数の仮想オブジェクトの第1の数よりも少ない複数の仮想オブジェクトの第2の数を包含し得る。
図20は、本開示の幾つかの実施形態と一致する、エクステンデッドリアリティ環境における増分収束に基づいてフィードバックを提供するための例示的なプロセス2000を示すフローチャートである。図20のステップ2010を参照すると、非一時的コンピュータ可読媒体に含まれる命令は、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、複数の仮想領域にわたって複数の分散された仮想オブジェクトを表示させることができる。例として、図21は、本開示の幾つかの実施形態と一致する、複数の仮想領域にわたって複数の分散された仮想オブジェクトを表示するエクステンデッドリアリティ環境の非限定的な一例を示す。
図21を参照すると、ユーザインタフェース2110は、エクステンデッドリアリティ環境のユーザの視点から例示的なエクステンデッドリアリティ環境内に提示される。ユーザインタフェース2110は、ユーザが複数の分散された仮想オブジェクト2112と相互作用することができるように、ユーザインタフェース2110にわたって複数の分散された仮想オブジェクト2112を含む仮想コンテンツをユーザに表示することができる。エクステンデッドリアリティ環境のユーザに提示される複数の分散された仮想オブジェクト2112は、仮想メニュー内の少なくとも1つの相互作用型仮想ウィジェット及び/又はオプションを含むことができる。複数の分散された仮想オブジェクト2112のうちの所与の仮想オブジェクト内には、ユーザが相互作用することができる更なる仮想オブジェクトが存在することができる。幾つかの例では、ユーザインタフェース2110は、ユーザが複数の分散された仮想オブジェクト2112と相互作用することができるように、オペレーティングシステムによって生成された複数の分散された仮想オブジェクト2112をユーザに表示するように構成された仮想コンピュータスクリーンに関連することができる。
複数の分散された仮想オブジェクト2112は、ユーザインタフェース2110の複数の仮想領域にわたって表示されてもよい。例えば、ユーザインタフェース2110は、複数の分散された仮想オブジェクト2112の第1のサブセットを含む第1の仮想領域2114と、複数の分散された仮想オブジェクト2112の第2のサブセットを含む第2の仮想領域2116とを含んでもよい。第1の仮想領域2114の境界は、短破線として描かれ、複数の分散された仮想オブジェクト2112の第1のサブセットを包含するように示され、第2の仮想領域2116の境界は、短破線として描かれ、複数の分散された仮想オブジェクト2112のそれぞれが第1の仮想領域2114又は第2の仮想領域2116に含まれるように、複数の分散された仮想オブジェクト2112の第2のサブセットを包含するように示される。仮想領域の境界は、ユーザには見えない可能性があり、例示目的のために本明細書に示されていることを理解されるべきである。更に、この図における第1の仮想領域2114及び第2の仮想領域2116の境界は、簡単にするために複数の分散された仮想オブジェクト2112の任意に選択された第1のサブセット及び第2のサブセットを含むように描かれており、エクステンデッドリアリティ環境とのユーザの過去及び/又は現在の相互作用を含む幾つかの要因に基づいて、複数の分散された仮想オブジェクト2112の異なる数を含むように変化し得る。
幾つかの開示された実施形態は、第1の仮想領域に向かう傾向がある初期運動入力を受信することを含むことができる。運動入力という用語は、ユーザの自然な人間の動き及び/又はジェスチャに関連し得る。そのような動きは、エクステンデッドリアリティ環境の仮想座標系内の仮想動作に変換され得る入力データとして追跡及び/又は捕捉され得る実座標系内で発生し得る。ユーザの運動入力は、ハンドジェスチャ、身体ジェスチャ(例えば、ユーザの頭又は体の動き)、眼球運動もしくは他の眼球運動、及び/又は任意の他のジェスチャに基づく相互作用、顔の動き、又はジェスチャに基づく相互作用の組み合わせを含むことができる。別の例では、ユーザの運動入力は、仮想ディスプレイ及び/又はエクステンデッドリアリティ環境におけるコンピュータカーソルの移動を含むことができる。ユーザの運動入力は、検出され、エクステンデッドリアリティ環境との仮想相互作用に変換され、それによってユーザがエクステンデッドリアリティ環境内の仮想オブジェクトを選択するか、又は他の方法で相互作用することを可能にすることができる。
本開示の幾つかの実施形態では、運動入力の受信は、立体ヘッドマウントディスプレイ、ヘッドモーショントラッキングセンサ(例えば、ジャイロスコープ、加速度計、磁力計、画像センサ、構造化光センサ)、アイトラッキングセンサ、及び/又はユーザの様々な感覚的運動入力の少なくとも1つを認識し、感知された運動入力を読み取り可能な電気信号に変換することができる任意の他の構成要素などの装着型エクステンデッドリアリティ機器の構成要素による少なくとも1つの運動入力の捕捉及び/又は認識に関連し得る。幾つかの例では、これらの構成要素を利用して、ユーザの運動入力の速度及び/又は加速度を検出又は測定し、ユーザのわずかなジェスチャに基づく相互作用に基づいてユーザの意図を区別するために、特定の運動入力間の時間差を検出するか、そうでなければ測定することができる。
更に、初期運動入力という用語は、ユーザが少なくとも1つの仮想オブジェクトを含む第1の仮想領域などの仮想領域に関心を示し始めるか、そうでなければ注意を払い始める任意の運動入力に関することができる。ユーザは、少なくとも1つの仮想オブジェクトを含む第1の仮想領域に向かう少なくとも1つのわずかな動きを含む運動入力を生成することによって、少なくとも1つの仮想オブジェクトを含む第1の仮想領域に関心を表明するか、そうでなければ注意を払うことができる。第1の仮想領域に向かうこのわずかな動きは、ユーザがエクステンデッドリアリティ環境内で感知された運動入力のほぼシームレスなフィードバックを受信し、感知された運動入力の結果を直感的に発見することを可能にすることができる。例えば、最初に仮想オブジェクトのグループを含む第1の仮想領域を指す及び/又は見るなどの初期運動入力によってエクステンデッドリアリティ環境内の仮想オブジェクトの運動学的選択を行おうとするユーザは、相互作用の意図が特定の関心のある仮想オブジェクトを選択する意図を特定するのに十分に具体的ではない場合、初期運動入力に基づいて初期フィードバック及び/又は中間フィードバックを提供され得る。
幾つかの例では、第1の領域及び/又は第2の領域は、例えばシステム構成に基づいて予め決定されてもよい。幾つかの他の例では、第1の領域及び/又は第2の領域は、動的に作成、変更、及び/又は破棄されてもよい。幾つかの例では、第1の領域及び/又は第2の領域は、複数の分散された仮想オブジェクトに基づいて決定されてもよい。一例では、複数の分散された仮想オブジェクトへの変更(例えば、仮想オブジェクトの追加、仮想オブジェクトの削除、仮想オブジェクトの位置の変更、仮想オブジェクトの状態の変更など)は、第1の領域及び/又は第2の領域への変更を引き起こすことができる。仮想オブジェクトのそのような状態の幾つかの非限定的な例は、通知に関連付けられていない仮想オブジェクト、通知に関連付けられた仮想オブジェクト、閉じられた仮想オブジェクト、開いた仮想オブジェクト、アクティブな仮想オブジェクト、非アクティブな仮想オブジェクトなどを含むことができる。
一例では、所与の時点(例えば、システム起動時、変更時など)において、クラスタリングアルゴリズムを使用して、例えば仮想オブジェクトの位置、仮想オブジェクトのアイデンティティ、又は仮想オブジェクトの状態のうちの少なくとも1つに基づいて、仮想オブジェクトを領域にクラスタリングすることができる。別の例では、所与の時点(例えば、システム起動時、変更時など)において、セグメント化アルゴリズムを使用して、エクステンデッドリアリティ環境の少なくとも一部及び/又は仮想ディスプレイの少なくとも一部を領域にセグメント化することができる。
幾つかの例では、第1の領域及び/又は第2の領域は、仮想ディスプレイ及び/又はエクステンデッドリアリティ環境の寸法に基づいて決定されてもよい。一例では、仮想ディスプレイ及び/又はエクステンデッドリアリティ環境の寸法の変更は、第1の領域及び/又は第2の領域の変更を引き起こすことができる。一例では、所与の時点(例えば、システム起動時、変更時など)において、仮想ディスプレイ及び/又はエクステンデッドリアリティ環境は、例えば、所定数の等しいサイズ(又はほぼ等しいサイズ)の領域のグリッド、所定の固定サイズの領域、及び/又は様々なサイズの領域に分割され得る。
幾つかの例では、第1の領域及び/又は第2の領域は、エクステンデッドリアリティ機器(エクステンデッドリアリティ機器の環境における周囲照明条件、エクステンデッドリアリティ機器の動き、エクステンデッドリアリティ機器の使用モードなど)に関連する条件に基づいて決定されてもよい。一例では、エクステンデッドリアリティ機器に関連する条件の変更は、第1の領域及び/又は第2の領域の変更を引き起こすことができる。一例では、エクステンデッドリアリティ機器の環境内のより明るい周囲照明は、より大きな領域の使用をトリガすることができる。別の例では、移動するエクステンデッドリアリティ機器は、移動しないエクステンデッドリアリティ機器よりも大きな領域を有することができる。
幾つかの例では、第1の領域及び/又は第2の領域は、運動入力に基づいて、例えば、運動入力に関連する方向、位置、ペース、又は加速度のうちの少なくとも1つに基づいて決定されてもよい。例えば、機械学習モデルは、運動入力に基づいて領域を決定するために訓練例を使用して訓練され得る。そのような訓練例の一例は、サンプル運動入力及びサンプル分布に対応する所望の領域を示すラベルと共に、サンプル運動入力及びサンプル仮想オブジェクトのサンプル分布を含むことができる。別の例では、より速い動きに関連付けられた運動入力は、より遅い動きに関連付けられた運動入力よりも運動入力に関連付けられた位置からより遠い領域の決定を引き起こすことができる。
図20のステップ2012を参照すると、非一時的コンピュータ可読媒体に含まれる命令は、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、第1の仮想領域に向かう傾向がある初期運動入力を受信させてもよい。一例では、初期運動入力は、ステップ2010による複数の仮想領域にわたる複数の分散された仮想オブジェクトの表示後に受信されてもよい。例として、図22は、本開示の幾つかの実施形態と一致する、図21のエクステンデッドリアリティ環境の第1の仮想領域に向かう傾向があるユーザの初期運動入力の非限定的な一例を示す。
図22を参照すると、エクステンデッドリアリティ環境のユーザインタフェース2210は、第2の仮想領域2218内の複数の分散された仮想オブジェクト2216の第2のサブセットとは異なる領域にグループ化された、第1の仮想領域2214内の複数の分散された仮想オブジェクト2212の第1のサブセットを含む。第1の仮想領域2214は、任意の数の複数の分散された仮想オブジェクトを含むように動的に定義されてもよく、ユーザ2220は、前記仮想オブジェクトへの少なくとも1つのジェスチャを含む初期運動入力を生成することによって、前記複数の分散された仮想オブジェクトに興味を示し始めるか、そうでなければ注意を払い始める。例えば、第1の仮想領域2214内に含まれるべき複数の分散された仮想オブジェクト2212の第1のサブセットは、ユーザ2220からの初期運動入力に基づいて決定されてもよい。ユーザ2220が複数の分散された仮想オブジェクト2212の第1のサブセットと相互作用することを望む可能性があると決定された場合、第1の仮想領域2214は、前記仮想オブジェクト2212を含むように定義され得る。任意の所与の初期運動入力に応じて、第1の仮想領域2214に含まれる仮想オブジェクト2212の数は、ユーザ2220の初期運動入力に関連する特異性及び/又は決定された確信レベルに基づいて変化し得る。
図22に示す非限定的な例では、ユーザ2220は、複数の分散された仮想オブジェクト2212の第1のサブセットを含む第1の仮想領域2214を指すハンドジェスチャによって、第1の仮想領域2214内の複数の分散された仮想オブジェクト2212の第1のサブセットのうちの少なくとも1つの仮想オブジェクトに関心を表すように示されている。図22に示される時点において、複数の分散された仮想オブジェクト2212の第1のサブセットのうちの少なくとも1つの運動学的選択を行おうとするユーザ2220の初期運動入力は、ユーザ2220が相互作用を希望し得る仮想オブジェクト2212のうちの特定のものを明確に検出するのに十分なほど具体的ではない場合がある。しかしながら、少なくとも1つのプロセッサは、ユーザ2220の初期運動入力が、ユーザのハンドジェスチャに基づいて複数の分散された仮想オブジェクト2216の第2のサブセットのうちの少なくとも一方の運動学的選択を行うことを意図していないと決定することができる。
図に示すユーザ2220の手は、必ずしもユーザ2220に見える手の虚像を表すものではないことを理解すべきである。むしろ、図示された例では、ユーザ2220の図示された仮想的な手は、エクステンデッドリアリティ環境の対応する仮想座標系内の仮想相互作用に捕捉及び変換され、それによってユーザがエクステンデッドリアリティ環境内の仮想オブジェクトを選択するか、又は他の方法で相互作用することを可能にすることができる実座標系内の一タイプの運動入力の図であることを意図している。しかしながら、幾つかの実施形態では、ユーザ2220の手の仮想画像もエクステンデッドリアリティ環境に重ね合わせることができる。更に、幾つかの実施形態では、ユーザ2220の初期運動入力は、これに加えて又は代えて、ユーザ2220の眼球ジェスチャを含んでもよい。
幾つかの実施形態では、初期運動入力は、凝視検出とジェスチャ検出との組み合わせを含むことができる。初期運動入力の凝視検出及びジェスチャ検出は、ユーザの手及び/又は身体のジェスチャ及び/又は眼球運動の捕捉及び/又は認識に関連し得る。一般的な意味で、凝視検出及びジェスチャ検出は、前述のユーザの運動入力の検出と同様の方法で行うことができる。ユーザのジェスチャ及び眼球運動の凝視検出及びジェスチャ検出は、同時に行われてもよく、少なくとも1つのプロセッサに、ユーザの組み合わされた初期運動入力の意図を決定させるために両方が使用されてもよい。一例では、検出された凝視が第1の仮想領域に向かっており、検出されたジェスチャが第2の仮想領域に向かっている場合、非一時的コンピュータ可読媒体は、少なくとも1つのプロセッサに、第1の仮想領域内の仮想オブジェクトのグループを強調表示させることができる。別の例では、検出された凝視が第1の仮想領域に向かっており、検出されたジェスチャが仮想オブジェクトのない領域に向かっている場合、非一時的コンピュータ可読媒体は、少なくとも1つのプロセッサに、第1の仮想領域内の仮想オブジェクトのグループを強調表示させることができる。
幾つかの例では、初期運動入力などの運動入力に関連する確信レベルの決定は、凝視検出に関連する確信レベル及びジェスチャ検出に関連する確信レベルを決定することを含むことができる。これに加えて又は代えて、検出されたジェスチャよりも検出された凝視を優先する、及びその逆の決定は、エクステンデッドリアリティ環境との以前に記憶されたユーザ相互作用、予め選択された及び/又は解析されたユーザの好み、人工知能、機械学習、ディープラーニング、及び/又はニューラルネットワーク処理技術を使用した、過去及び/又はリアルタイムの運動入力を含む運動入力の解析に基づいて通知されるか、又は他の方法で重みが与えられてもよい。
図22を参照すると、ユーザ2220は、第1の仮想領域2214に向かう第1のジェスチャによって、第1の仮想領域2214内の複数の分散された仮想オブジェクト2212のうちの第1のサブセットの少なくとも1つの仮想オブジェクトに対する第1の興味を同時に表示してもよく、第2の仮想領域2218に向かう第2のジェスチャによって、第2の仮想領域2218内の複数の分散された仮想オブジェクト2216のうちの第2のサブセットの少なくとも1つの仮想オブジェクトに対する第2の興味を表示してもよい。或いは、ユーザの第2の興味は、第2のジェスチャにより、仮想オブジェクトを含まない第1の仮想領域2214以外の領域に向けられてもよい。
例えば、ユーザ2220は、視線を介して一の仮想領域内の少なくとも1つの仮想オブジェクトに対する1つの興味を同時に表示してもよく、ハンドジェスチャを介して、異なる仮想領域内の少なくとも他の仮想オブジェクト又は仮想オブジェクトを含まない領域に対する第2の興味を表示してもよい。場合によっては、第1の仮想領域2214に向かうジェスチャがユーザ2220の視線に関連し、第2の仮想領域2218に向かうジェスチャがハンドジェスチャに関連するとき、非一時的コンピュータ可読媒体は、少なくとも1つのプロセッサに、検出された凝視及び検出されたジェスチャに基づいて第1の仮想領域2214内の仮想オブジェクト2212のグループを強調表示させることができる。他の例では、第1の仮想領域2214へのジェスチャがユーザ2220の視線に関連し、ハンドジェスチャが仮想オブジェクトのない領域に向かう傾向がある場合、非一時的コンピュータ可読媒体は、少なくとも1つのプロセッサに、検出された凝視及び検出されたジェスチャに基づいて第1の仮想領域2214内の仮想オブジェクト2212のグループを強調表示させることができる。
幾つかの開示された実施形態は、初期運動入力に基づいて第1の仮想領域内の仮想オブジェクトのグループを強調表示することを含むことができる。初期運動入力に応じて強調表示され得る第1の仮想領域内の仮想オブジェクトのグループは、ユーザが関心を表示するか又は注意を払うことができる領域内の仮想オブジェクトの任意のセットを含むことができる。これは、例えば、グループの方向へのジェスチャ及び/又は凝視によって起こり得る。任意の所与の初期運動入力に応じて、第1の仮想領域内の仮想オブジェクトのグループに含まれる仮想オブジェクトの数は、ユーザの運動入力の特異性及び/又は運動入力の意図に関する閾値確信度に依存し得る。更に、第1の仮想領域は、仮想オブジェクトのグループに対する初期運動入力を生成することによって、ユーザが関心を示し始める、又は他の様態で注意を払い始める隣接する仮想オブジェクトのグループを含むように動的に定義されてもよい。幾つかの実施形態では、第1の仮想領域内の強調表示された仮想オブジェクトのグループは、複数の分散された仮想オブジェクトのうちの少なくとも2つの仮想オブジェクトを含むことができる。一例では、第1の仮想領域内の仮想オブジェクトの強調表示されたグループは、第1の仮想領域内の仮想オブジェクトの全てを含むことができる。別の例では、第1の仮想領域内の強調表示された仮想オブジェクトのグループは、第1の仮想領域内の仮想オブジェクトの全てではなく一部を含むことができる。
第1の仮想領域内の仮想オブジェクトのグループは、第1の仮想領域内の仮想オブジェクトのグループに向かう傾向がある初期運動入力に応じて強調表示されてもよい。幾つかの実施形態では、仮想オブジェクトのグループの強調表示は、第1の仮想領域の外側の仮想オブジェクト(例えば、第2の領域内の仮想オブジェクト)に対して第1の仮想領域内のオブジェクトのグループを強調又は他の様態で区別するのに役立ち得る、ユーザが知覚可能な任意の視覚インジケータの提示に関連し得る。幾つかの実施形態では、初期運動入力に基づいて第1の仮想領域内の仮想オブジェクトのグループを強調表示することは、第1の仮想領域内の仮想オブジェクトのグループ内の各仮想オブジェクトの外観を変更することを含むことができる。例えば、強調表示は、グループ内の少なくとも1つの仮想オブジェクトを拡大すること、グループ内の少なくとも1つの仮想オブジェクトの色を変更すること、例えば、グループ内の少なくとも1つの仮想オブジェクトのフレームの周りの影又は輝きを引き起こすか、そうでなければ変更すること、及び/又はグループ内の少なくとも1つの仮想オブジェクトを点滅させること、及び/又は第2の仮想領域内の仮想オブジェクトに対してグループ内の少なくとも1つの仮想オブジェクトを移動させることを含むことができる。これに加えて又は代えて、初期運動入力に基づいて第1の仮想領域内の仮想オブジェクトのグループを強調表示することは、初期運動入力に基づいて第1の仮想領域内の仮想オブジェクトのグループの視覚的表示を提供することを含むことができる。
幾つかの実施形態では、強調表示は、第1の仮想領域内の仮想オブジェクトのグループ内の仮想オブジェクトのそれぞれを別々に強調表示すること、及び/又は仮想オブジェクトのグループを含む第1の仮想領域の任意の部分を強調表示することを含むことができる。仮想オブジェクトのグループは、等しく強調表示されてもよく、又はユーザが仮想オブジェクトのグループの中の任意の所与の1つ以上の仮想オブジェクトに関心を示すことができる特異度に応じて様々な程度に強調表示されてもよい。幾つかの実施形態では、仮想オブジェクトのグループを強調表示することは、装着型エクステンデッドリアリティ機器に仮想オブジェクトのグループを強調表示させることを含む。
他の実施形態では、初期運動入力に基づいて第1の仮想領域内の仮想オブジェクトのグループを強調表示することは、第1の仮想領域の仮想オブジェクトのグループ内の少なくとも1つの仮想オブジェクトとの相互作用を可能にする制御を表示又は追加することを含むことができる。例えば、表示されたコントロールは、ユーザによって選択されたときにプログラム又はアプリケーションのためのスクリプトをアクティブにするか、そうでなければプログラム又はアプリケーションにリンクすることができる仮想ウィジェットなどの仮想オブジェクト上のボタンを含むことができる。他の実施形態では、強調表示は、例えば、運動入力に応じてユーザに物理的フィードバック(例えば、触覚フィードバック)を提供することによって、第1の仮想領域内のオブジェクトのグループを強調又は他の方法で区別するのに役立ち得る、ユーザが知覚可能な任意の物理的インジケータに関連し得る。
図20のステップ2014を参照すると、少なくとも1つのプロセッサによって実行されると、非一時的コンピュータ可読媒体に含まれる命令は、少なくとも1つのプロセッサに、初期運動入力に基づいて第1の仮想領域内の仮想オブジェクトのグループを強調表示させることができる。例として、図22は、本開示の幾つかの実施形態と一致する、ユーザの初期運動入力に基づいて第1の仮想領域内の仮想オブジェクトのグループが強調表示されるインスタンスの非限定的な一例を示す。
図22を参照すると、ユーザ2220が第1の仮想領域2214内の複数の分散された仮想オブジェクト2212の第1のサブセットに含まれる仮想オブジェクトのグループのうちの少なくとも1つの仮想オブジェクトに興味を示したとき、初期運動入力の方向の仮想オブジェクト2212のグループは、ユーザ2220が視覚的に知覚可能な方法で強調表示されてもよい。ユーザ2220が仮想オブジェクト2212のグループ内の仮想オブジェクトのうちの1つを運動学的に選択することを潜在的に望む可能性があると決定されると、仮想オブジェクト2212のグループは、第1の仮想領域2214に向かう傾向があるユーザ2220の初期運動入力に応じて強調表示される。図22に示す例では、第1の仮想領域2214における仮想オブジェクト2212のグループの各仮想オブジェクトの視覚的外観は、仮想オブジェクト2216のフレームの周りに追加された影に起因して、第2の仮想領域2218における分散された仮想オブジェクト2212の第2のサブセットから強調されるか、そうでなければ区別されるように示されている。
これに加えて又は代えて、第1の仮想領域2214における仮想オブジェクト2212のグループの少なくとも1つの仮想オブジェクトの強調表示は、ユーザ2220が相互作用することができる仮想オブジェクト2212のグループの少なくとも1つの仮想オブジェクトに関連付けられた制御を表示又は追加することを含むことができる。図23を参照すると、ユーザ2310は、第1の仮想領域2314の仮想オブジェクトのグループ内の少なくとも1つの仮想オブジェクト2312とのユーザ相互作用を可能にする、強調表示された仮想オブジェクト2312に含まれるコントローラ2318を示す。仮想オブジェクトのグループの少なくとも1つの仮想オブジェクトの強調表示は、感知された運動入力に基づいてエクステンデッドリアリティ環境内でユーザにほぼシームレスなフィードバックを提供し、ユーザが感知された運動入力の結果を直感的に発見することを可能にするのに役立ち得る。
幾つかの開示された実施形態は、強調表示された仮想オブジェクトのグループの中から特定の仮想オブジェクトに向かう傾向がある洗練された運動入力を受信することを含むことができる。一般的な意味では、洗練された運動入力の受信は、前述の運動入力の受信と同様であり得る。洗練された運動入力は、ユーザのより正確なジェスチャ、凝視、又は他の動作に関連することができる。そのようなより高い精度は、相応の選択精緻化を可能にし得る。例えば、強調表示された仮想オブジェクトのグループの知覚に応じて、ユーザは、強調表示された仮想オブジェクトのグループの中の単一の関心のある仮想オブジェクトに向けて初期運動入力に対する運動入力の正確さ又は精度を高めることができる。洗練された運動入力は、洗練された運動入力に関連する確信度が、初期運動入力に関連する決定された確信度よりも大きいと少なくとも1つのプロセッサによって決定され得るように、受信、検出、又は他の方法で認識され得る。
幾つかの実施形態では、洗練された運動入力の受信は、仮想オブジェクトのグループ内の仮想オブジェクトの少なくとも幾つかの強調表示をキャンセルすることをもたらすことができる。例えば、初期運動入力によってエクステンデッドリアリティ環境内の仮想オブジェクトの運動学的選択を行おうとするユーザは、相互作用の意図があまり具体的でない場合、初期運動入力に基づいて、仮想オブジェクトの強調されたグループなどの中間フィードバックを提供され得る。ユーザが選択を意図し得る特定の仮想オブジェクトに向かって第1の仮想領域のより具体的な領域に手を伸ばすと、選択を意図した単一の仮想オブジェクトのみがユーザの洗練された動きに基づいて強調表示されたままになるまで、特定の仮想オブジェクトの周囲の仮想オブジェクトを強調表示解除することによって後続のフィードバックがユーザに提供され得る。或いは、仮想オブジェクトのグループ内の全ての仮想オブジェクトは、洗練された運動入力に応じて強調表示されなくなり得る。これに加えて又は代えて、仮想オブジェクトのグループ内の仮想オブジェクトの少なくとも幾つかの強調表示を解除することは、仮想オブジェクトのグループ内の仮想オブジェクトの少なくとも幾つかの視覚的表示の提供を停止することを含むことができる。
幾つかの実施形態では、初期運動入力は、第1のタイプの運動入力に関連付けられてもよく、洗練された運動入力は、第1のタイプの運動入力とは異なる第2のタイプの運動入力に関連付けられてもよい。例えば、第1の運動入力は凝視であってもよく、第2の運動入力はポインティングなどのジェスチャであってもよい。或いは、第1の運動入力は、ディスプレイの特定の領域に向かって回転する頭部であってもよく、第2の運動入力は、特定の領域又はアイテム上の集中した凝視であってもよい。一般的な意味で、第1のタイプの運動入力及び第2のタイプの運動入力は、ハンドジェスチャ、身体ジェスチャ(例えば、ユーザの頭又は体の動き)、及び眼球運動などのジェスチャに基づく相互作用の任意の組み合わせを含むことができる。
図20のステップ2016を参照すると、非一時的コンピュータ可読媒体に含まれる命令は、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、強調表示された仮想オブジェクトのグループの中から特定の仮想オブジェクトに向かう傾向がある洗練された運動入力を受信させることができる。一例では、強調表示された仮想オブジェクトのグループの中から特定の仮想オブジェクトに向かう傾向がある洗練された運動入力は、ステップ2014による第1の仮想領域内の仮想オブジェクトのグループの強調表示の後及び/又はステップ2012による初期運動入力の受信の後に受信されてもよい。例として、図23は、本開示の幾つかの実施形態と一致して、洗練された運動入力が強調表示された仮想オブジェクトのグループの中から特定の仮想オブジェクトに向かう傾向がある、図22に示す初期運動入力と比較した、ユーザの洗練された運動入力の非限定的な一例を示す。図22及び図23に示す初期運動入力及び洗練された運動入力は両方ともユーザのハンドジェスチャを示すが、初期運動入力及び洗練された運動入力のそれぞれは、ハンドジェスチャ及び/又は眼球運動を含むジェスチャベースの相互作用の任意の組み合わせを含むことができることを理解すべきである。
図23を参照すると、ユーザ2310は、洗練された運動入力を介して、第1の仮想領域2314内の以前に強調表示された仮想オブジェクトのグループの中から特定の仮想オブジェクト2312に特定の関心を表示するように示されている。図23に示す時点で、ユーザ2310の洗練された運動入力は、第1の仮想領域2314内の他の仮想オブジェクト2316よりも特定の仮想オブジェクト2312に向かう傾向がより明確である。したがって、図23に示す洗練された運動入力に関連する確信度は、図22に示す初期運動入力に関連する確信度よりも高く、洗練された運動入力は、より具体的には、ユーザ2310が特定の仮想オブジェクト2312の運動学的選択を行いたい可能性があることを示す。洗練された運動入力に応じて、所定の確信度を超えて選択を意図していると少なくとも1つのプロセッサによって決定された特定の仮想オブジェクト2316のみが、ユーザの洗練された動きに基づいて強調表示されたままになるまで、特定の仮想オブジェクト2312の周囲の第1の仮想領域2314内の他の仮想オブジェクト2312を強調表示解除することによって、後続のフィードバックをユーザ2310に提供することができる。
幾つかの開示された実施形態は、洗練された運動入力に基づいて特定の仮想オブジェクトに関連付けられた機能をトリガすることを含むことができる。特定の仮想オブジェクトに関連付けられた「機能をトリガする」という用語は、特定の仮想オブジェクトの特定から生じる任意の出現を含むことができる。そのような出現は、仮想オブジェクトの外観を変更すること、又は仮想オブジェクトに結び付けられたコードの動作を開始することを含むことができる。したがって、仮想オブジェクトの選択は、仮想メニューの提示、追加コンテンツの提示、又はアプリケーションのトリガをもたらすことができる。特定の仮想オブジェクトに関連付けられた機能がトリガされると、特定の仮想オブジェクトの仮想コンテンツ及び/又は機能は、初期運動入力に基づいて非関与状態、又は他の方法で強調表示された状態から、洗練された運動入力を介した仮想オブジェクトの選択又は関与に応じて、関与状態に変化し得る。幾つかの実施形態では、特定の仮想オブジェクトに関連付けられた機能は、装着型エクステンデッドリアリティ機器に特定の仮想コンテンツの表示を開始させることを含む。
特定の仮想オブジェクトに関連付けられた機能は、追加的に強調表示されるなど、特定の仮想オブジェクトに関連付けられた動作を引き起こすことを含み得る。これに加えて又は代えて、特定の仮想オブジェクトに関連する機能は、特定の仮想オブジェクトを拡大すること、特定の仮想オブジェクト内での選択のための、又は他の様態で特定の仮想オブジェクトに関連する更なる仮想オブジェクトを明らかにすること、特定の仮想オブジェクトに関連付けられた仮想コンテンツを含む更なるビューイングエリアを表示又は非表示にすること、及び/又は洗練された運動入力に基づいて、特定の仮想オブジェクトに機能的に関連付けられた任意の仮想コンテンツ又はプロセスを開始させることを含むことができる。幾つかの実施形態では、特定の仮想オブジェクトがアイコンである場合、トリガされる機能は、アイコンに関連付けられたスクリプトをアクティブにすることを含む、特定の仮想オブジェクトに関連付けられた動作を引き起こすことを含むことができる。
図20のステップ2018を参照すると、非一時的コンピュータ可読媒体に含まれる命令は、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、洗練された運動入力に基づいて特定の仮想オブジェクトに関連する機能をトリガさせることができる。例として、図23は、本開示の幾つかの実施形態と一致する、エクステンデッドリアリティ環境内の特定の仮想オブジェクトに関連付けられた結果として生じる機能をトリガするユーザによって提供される洗練された運動入力の非限定的な一例を示す。
図23を参照すると、ユーザ2310の洗練された運動入力に応じて、選択を意図した特定の仮想オブジェクト2312に関連する少なくとも1つの機能は、特定の仮想オブジェクト2312に関連する動作を引き起こす少なくとも1つのプロセッサによってトリガされ得る。例えば、この例でトリガされる特定の仮想オブジェクト2312に関連する一機能は、ユーザ2310の洗練された運動入力に応じて特定の仮想オブジェクトを拡大することである。この例でトリガされる特定の仮想オブジェクト2312に関連する別の機能は、特定の仮想オブジェクト2312内で選択するための更なる仮想コントローラ2318を明らかにすることである。図24に示すように、特定の仮想オブジェクト2412内の選択のために更なる仮想オブジェクト2414を明らかにするなど、特定の仮想オブジェクト2412に関連付けられた動作がトリガされると、ユーザ2410は、前記更なる仮想オブジェクト2414と相互作用することができる。
他の実施形態は、初期運動入力を受信した後の経過時間を追跡することを含むことができる。時間の追跡を使用して、初期運動入力を受信してから洗練された運動入力を受信するまでの経過時間に基づいて、機能をトリガすべきか、又は強調表示をキャンセルすべきかを決定することができる。例えば、調整された運動入力が初期運動入力に続く所定の期間中に受信されると、特定の仮想オブジェクトに関連付けられた機能がトリガされ得る。洗練された運動入力が所定の期間中に受信されない場合、第1の仮想領域内の仮想オブジェクトのグループの強調表示はキャンセルされてもよい。
幾つかの実施形態では、初期運動入力に続く所定の期間という用語は、初期運動入力が受信された後の時間の測定に関連し得る。例えば、初期運動入力に続く所定の期間は、初期運動入力が検出された、又は他の様態で認識された、及び/又はエクステンデッドリアリティ環境との仮想相互作用に変換されて、第1の仮想領域内の仮想オブジェクトのグループが強調表示された後に開始する期間に関連し得る。場合によっては、経過時間の追跡は、ユーザが停止位置から又は別の予備運動入力から初期運動入力を開始すると開始することができる。他の例では、経過時間の追跡は、ユーザが初期運動入力を終了するか、そうでなければ初期運動入力を閾値レベル未満に減速すると開始することができる。洗練された運動入力の受信が開始される時間は、仮想オブジェクトのグループ及び/又は前記仮想オブジェクトを含む仮想領域のうちの特定の1つからのユーザの初期運動入力の距離の測定値、及び/又はユーザの初期運動入力に関連する速度及び/又は加速度の測定値、又はその変化に基づくことができる。
他の実施形態は、初期運動入力を受信する前に、第2の仮想領域に向かう傾向がある予備運動入力を受信し、予備運動入力に基づいて第2の仮想領域内の仮想オブジェクトのグループを強調表示することを含むことができる。一般的な意味で、予備運動入力は、前述の運動入力と同様であってもよい。予備的な運動入力という用語は、少なくとも1つの異なる仮想オブジェクトを含む別の領域に関心を表示する前に、ユーザが少なくとも1つの仮想オブジェクトを含む領域に関心を表示し始めるか、そうでなければ注意を払うことができる任意の運動入力に関することができる。幾つかの例では、予備運動入力に続く初期運動入力の受信時に第1の仮想領域内の仮想オブジェクトのグループに含まれる第2の仮想領域からの仮想オブジェクトのグループ内に少なくとも1つの仮想オブジェクトがあり得る。
初期運動入力を受け取ると、第2の仮想領域内の仮想オブジェクトのグループの強調表示をキャンセルすることができ、第1の仮想領域内の仮想オブジェクトのグループを強調表示することができる。一実施態様では、強調表示を解除することは、予備運動入力に応じて強調表示された仮想オブジェクトのグループを、初期運動入力に応じて強調表示されていない状態に復元又は変更することに関連し得る。例えば、予備運動入力に応じて強調表示された第2の仮想領域内の仮想オブジェクトのグループは、強調表示されていない状態に復元されてもよく、第1の仮想領域内の仮想オブジェクトの新しいグループは、初期運動入力に応じて、強調表示されていない状態から強調表示された状態に遷移してもよい。一例では、第2の仮想領域内の仮想オブジェクトのグループの強調表示解除は、第1の仮想領域内の仮想オブジェクトのグループが強調表示されるときに行われ得る。別の例では、第2の仮想領域内の仮想オブジェクトのグループの強調表示解除は、第1の仮想領域内の仮想オブジェクトのグループが強調表示されるか、又は強調表示された状態に遷移するにつれて、フェードし始めるか、そうでなければ強調表示されていない状態に遷移し始めることができる。
図25は、本開示の幾つかの実施形態と一致する、予備運動入力に応じて強調表示された仮想オブジェクトのグループの強調表示、及び初期運動入力に応答した仮想オブジェクトのグループの強調表示の解除のための例示的なプロセス2500を示すフローチャートである。図25を参照すると、ステップ2510において、少なくとも1つのプロセッサによって実行されたときに非一時的コンピュータ可読媒体に含まれる命令は、少なくとも1つのプロセッサに、初期運動入力の受信の前に、第2の仮想領域に向かう傾向がある予備運動入力を受信させることができる。ステップ2512において、少なくとも一方のプロセッサに、予備運動入力に基づいて第2の仮想領域内の仮想オブジェクトのグループを強調表示させることができる。ステップ2514において、少なくとも1つのプロセッサは、初期運動入力を受信すると、第2の仮想領域内の仮想オブジェクトのグループの強調表示をキャンセルし、第1の仮想領域内の仮想オブジェクトのグループを強調表示させることができる。
他の実施形態は、初期運動入力に関連する確信レベルを決定することと、確信レベルに基づいて強調表示の視覚特性を選択することとを含むことができる。確信レベルという用語は、複数の分散された仮想オブジェクトのうちの幾つかが、初期運動入力などの運動入力に基づいてユーザによって選択されるように意図され得るという閾値確信度に関連することができる。複数の分散された仮想オブジェクトの数が、少なくとも1つのプロセッサによって、初期運動入力に基づいて選択される可能性についての閾値確信度内に入ると決定された場合、仮想オブジェクトのグループは、初期運動入力に基づいて強調表示される仮想オブジェクトのグループに含まれ得る。初期運動入力に関連付けられた確信レベルを決定する1つの非限定的な例では、ユーザが評価された確信レベル、例えば50%の確信レベル以上の仮想オブジェクトの数に関心を示しているか、又は他の方法で注目していると決定された場合、相互作用は仮想オブジェクトのグループを強調表示させることができる。ユーザが評価された確信レベル、例えば50%の確信レベル未満の幾つかの仮想オブジェクトに注目していると決定された場合、相互作用は仮想オブジェクトを強調表示させない可能性がある。
幾つかの実施形態では、非一時的コンピュータ可読媒体は、少なくとも1つのプロセッサに、ユーザプロファイルを決定するために過去の仮想オブジェクト選択を解析させ、ユーザプロファイルに基づいて、初期運動入力などの運動入力に関連する確信レベルを決定させることができる。過去の仮想オブジェクト選択を解析することは、任意の人工知能、機械学習、ディープラーニング、及び/又はニューラルネットワーク処理技術を含むことができる。そのような技術は、例えば、感知された運動入力、事前選択認識プロセス、及び/又はビデオ、並びにある期間にわたって解析されたユーザの好みなどの大量の非構造化データを吸収することによって機械学習を可能にすることができる。人工知能を使用して、過去及び/又は現在の仮想オブジェクト選択、又はエクステンデッドリアリティ環境内の任意の他の相互作用の解析を実施するために、任意の適切なコンピューティングシステム又はコンピューティングシステムのグループを使用することができる。更に、解析された過去及び/又は現在の仮想オブジェクト選択、ユーザプロファイル、並びにユーザの過去及び/又は現在の運動入力に関連する確信レベルに対応するデータは、1つ以上のメモリデバイスを含む任意の適切なデータベース及び/又はデータ構造に記憶され、及び/又はそこからアクセスされてもよい。例えば、少なくとも1つのデータベースは、エクステンデッドリアリティ環境とのユーザの過去の相互作用を記録及び/又は参照して、新しい運動入力に関連する確信レベルを特定するように構成及び動作可能とすることができる。
他の実施形態は、洗練された運動入力に関連する確信レベルを決定することと、確信レベルが閾値よりも低いときに特定の仮想オブジェクトに関連する機能をトリガすることを取り止めることとを含むことができる。一般的な意味で、洗練された運動入力に関連する確信レベルの決定は、前述した初期運動入力に関連する確信レベルの決定と同様の方法で行うことができる。特定の仮想オブジェクトが、少なくとも1つのプロセッサによって、洗練された運動入力に基づいてトリガされる可能性についての閾値確信度内に入ると決定された場合、特定の仮想オブジェクトに関連する機能のトリガは、開始されなくてもよく、そうでなければ開始を中止させられてもよい。ジェスチャ及び眼球運動を含む洗練された運動入力に関連する確信レベルの決定は、凝視検出に関連する確信レベル及びジェスチャ検出に関連する確信レベルを決定することを含むことができることを理解されたい。洗練された運動入力の検出されたジェスチャよりも検出された凝視を優先するか、又はその逆を優先するかの決定は、前述の初期運動入力と同様の方法で通知されるか、又は他の方法で重みが与えられてもよい。
洗練された運動入力に応答した特定の仮想オブジェクトに関連付けられた機能の中止は、運動入力に応答した仮想オブジェクトのグループ内の仮想オブジェクトの少なくとも幾つかの強調表示の取り消しと同様の方法で行われ得る。特定の仮想オブジェクトに関連付けられた機能の中止は、洗練された運動入力に関連付けられた低い確信レベルに応じて、特定の仮想オブジェクトを非関与状態に復元すること、又は強調表示状態に戻すことに関連し得る。洗練された運動入力に関連する確信レベルを決定する1つの非限定的な例では、特定の仮想オブジェクトに対するユーザの表明された関心が評価された確信レベル、例えば90%の確信レベル未満であると決定された場合、相互作用は、選択の非特異的な意図を含むことが分かり、特定の仮想オブジェクトに関連する機能のトリガを開始させないか、又は開始を停止させることができる。特定の仮想オブジェクトに対するユーザの表明された関心が評価された確信レベル、例えば90%の確信レベル以上であると決定された場合、相互作用は、選択の特定の意図を含むことが分かり、仮想オブジェクトを拡大する、又は仮想オブジェクトの選択前に特定の仮想オブジェクト内で選択するための更なる仮想オブジェクトを提示するなど、特定の仮想オブジェクトに関連付けられた中間動作を発生させることができる。ユーザがほぼ100%の確信レベル内で特定の仮想オブジェクトに関心を示したと決定された場合、相互作用は、特定の仮想オブジェクトに関連付けられた何らかの動作をトリガさせることができる。
幾つかの実施形態では、非一時的コンピュータ可読媒体は、少なくとも1つのプロセッサに、初期運動入力の前に実行された少なくとも1つの動作を示すユーザ動作履歴にアクセスさせ、ユーザ動作履歴に基づいて、洗練された運動入力に関連付けられた確信レベルを決定させることができる。一般的な意味では、動作履歴は、前述したように、過去の仮想オブジェクト選択、ユーザプロファイル、及びユーザの以前の運動入力に関連する確信レベルと同様の方法で記憶、アクセス、及び/又は解析することができる。更に、ユーザ行動履歴は、進行中のセッション及び/又は以前のセッションからのデータを含む行動履歴に関連してもよく、任意のタイプのジェスチャに基づく相互作用に関連してもよい。幾つかの例では、ユーザ行動履歴は、エクステンデッドリアリティ環境との相互作用の過去及び/又は現在のパターンを含むデータに関連し得る。進行中のセッション及び/又は以前のセッションに関する行動履歴は、少なくとも1つのプロセッサによって、新たに開始された洗練された運動入力に関連する確信レベルを決定するために使用され得る。
幾つかの実施形態では、閾値確信レベルは、特定の仮想オブジェクトに基づいて選択されてもよい。一例では、特定の仮想オブジェクトに関連付けられたユーザの以前の選択履歴、ユーザプロファイル、及び/又はユーザ行動履歴は、前記仮想オブジェクトの選択のための閾値確信レベルを、あまり頻繁に使用されていない仮想オブジェクトなどの別の仮想オブジェクトの選択のための閾値確信レベルよりも大きく又は低くすることができる。別の例では、特定の仮想オブジェクトの選択がユーザの混乱を引き起こしたり(例えば、データのストリームを一時停止又は終了する)、ユーザのデータ損失を引き起こしたりする(例えば、アプリケーションを閉じる、又はデバイスの電源を切る)可能性がある場合、特定の仮想オブジェクトに関連する機能をトリガする前に、より高い確信レベルを必要とするように閾値を選択することができる。これ加えて又は代えて、特定の仮想オブジェクトの閾値確信度は、前記仮想オブジェクトに関連する通知及び/又は警告、又は前記仮想オブジェクトに関連するプログラムとの間で情報を送受信しようとする並行して実行中のプログラムなどの少なくとも1つの外部要因に基づく前記仮想オブジェクトの必要性の決定された増大及び/又は減少に基づいて増大及び/又は減少され得る。
幾つかの実施形態は、初期運動入力に関連付けられた第1の確信レベルを決定することと、第1の確信レベルが第1の閾値よりも低い場合、第1の仮想領域内の仮想オブジェクトのグループを強調表示することを取り止めることと、洗練された運動入力に関連付けられた第2の確信レベルを決定することと、第2の確信レベルが第2の閾値よりも低い場合、特定の仮想オブジェクトに関連付けられた機能をトリガすることを取り止めることとを含むことができる。一般的な意味では、初期運動入力に関連する第1の確信レベル及び洗練された運動入力に関連する第2の確信レベルは、それぞれ前述したように、初期運動入力に関連する確信レベル及び洗練された運動入力に関連する確信レベルと同様であってもよい。更に、一般的な意味では、仮想オブジェクトのグループを強調表示することを取り止め、機能をトリガすることを取り止めることは、前述した機能をトリガすることを取り止めることと同様の方法で実行することができる。幾つかの実施形態では、特定の仮想オブジェクトに関連付けられた機能のトリガを取り止めるための第2の閾値は、第1の仮想領域内の仮想オブジェクトのグループを強調表示するための第1の閾値よりも大きくてもよい。
図26は、運動入力に関連する確信レベルを決定し、確信レベルが閾値レベル未満である場合、仮想オブジェクトの強調表示又は仮想オブジェクトに関連する機能のトリガを実施しない、又は実施を中止するための例示的なプロセス2600を示すフローチャートである。図26を参照すると、ステップ2610において、少なくとも1つのプロセッサによって実行されたときに非一時的コンピュータ可読媒体に含まれる命令は、少なくとも1つのプロセッサに、初期運動入力に関連する第1の確信レベルを決定させてもよい。ステップ2612において、少なくとも1つのプロセッサは、第1の確信レベルが第1の閾値よりも低い場合に、第1の仮想領域内の仮想オブジェクトのグループを強調表示することを取り止めさせることができる。ステップ2614において、少なくとも一方のプロセッサに、洗練された運動入力に関連する第2の確信レベルを決定させることができる。ステップ2616において、少なくとも1つのプロセッサは、第2の確信レベルが第2の閾値よりも低い場合に、特定の仮想オブジェクトに関連付けられた機能をトリガすることを取り止めさせることができる。
装着型エクステンデッドリアリティ機器のユーザは、表示されたエクステンデッドリアリティ環境に没頭し、周囲の物理環境に気付かなくなる可能性がある。物理環境は、装着型エクステンデッドリアリティ機器のユーザが位置する領域を含むと考えることができる。例えば、ユーザが屋内に位置する場合、物理環境は、ユーザが位置する部屋であってもよい。別の例として、ユーザが屋外に位置する場合、物理環境は、ユーザが位置する周囲の所定の半径の距離であってもよい。幾つかの実施形態では、所定の半径は、装着型エクステンデッドリアリティ機器と通信する1つ以上のセンサの範囲によって決定されてもよい。例えば、1つ以上のセンサは、音声センサ471、画像センサ472、動きセンサ473、環境センサ474、又は、図4に示されるような他のセンサ475を含んでもよい。他の例では、物理環境は、ユーザが装着型エクステンデッドリアリティ機器を使用しなかった場合にユーザに見える領域であり得る。他の例では、物理環境は、装着型エクステンデッドリアリティ機器に含まれる画像センサに見える領域であってもよい。幾つかの実施形態では、装着型エクステンデッドリアリティ機器は、ユーザの周りの物理環境への変化を検出し、装着型エクステンデッドリアリティ機器によって提供されるエクステンデッドリアリティディスプレイの1つ以上の表示パラメータを自動的に調整するように構成されてもよく、それにより、環境変化に対するユーザの認識を高める。例えば、物理環境への変化は、別の人(すなわち、非ユーザ)が装着型エクステンデッドリアリティ機器の視野に向かって又は視野に入ることを含んでもよく、この変化に応じて、仮想オブジェクトは、ユーザが他の人を見ることを可能にするために邪魔にならないように移動されてもよい。別の例として、物理環境への変更は、ユーザの近くの周囲光レベルの変更を含むことができ、この変更に応じて、エクステンデッドリアリティディスプレイが現在の周囲光レベルを考慮してより良好な視認性を有するように、エクステンデッドリアリティディスプレイの輝度を変更することができる。
装着型エクステンデッドリアリティ機器のユーザによって歩いている人(すなわち、非ユーザ)は、エクステンデッドリアリティ環境へのユーザの没頭度に気付かないことがある。幾つかの実施形態では、装着型エクステンデッドリアリティ機器のユーザが見ることができない可能性があるという表示を非ユーザに提供することができる。例えば、ユーザが見ることができない可能性があることを非ユーザに警告するために、装着型エクステンデッドリアリティ機器の外部部分にインジケータライト(例えば、図4に示すような1つ以上の光インジケータ451)を設けることができる。別の例として、装着型エクステンデッドリアリティ機器によって提示される仮想オブジェクトは、ユーザが1人又は複数の非ユーザを閲覧する(又はよりよく見る)ことを可能にするために邪魔にならないように移動されてもよい。
幾つかの開示された実施形態は、物理環境における環境適応型エクステンデッドリアリティディスプレイを容易にするための方法、システム、及びコンピュータ可読媒体(3つの形態の連接)を含むことができる。本開示は、3つの形態全ての関節を網羅することを意図しており、1つの形態のみの関節に関連して説明されている場合であっても、説明されている任意の詳細は、3つ全ての開示として意図されていることを理解すべきである。
環境適応型エクステンデッドリアリティディスプレイは、エクステンデッドリアリティディスプレイのユーザの周りの物理環境の変化に応じて1つ以上の表示パラメータ(すなわち、エクステンデッドリアリティディスプレイを適応させる)を変更するものである。この文脈において、「ディスプレイ」という用語は、ソフトウェア又はコントローラがディスプレイのハウジング内に物理的に配置されているかどうかにかかわらず、ディスプレイ自体、並びにディスプレイに関連付けられたソフトウェア又はコントローラを指すことができることを理解すべきである。表示パラメータを変更することは、エクステンデッドリアリティディスプレイ(及び/又はエクステンデッドリアリティ環境)が装着型エクステンデッドリアリティ機器のユーザによってどのように知覚されるかの調整を含むことができる。表示パラメータ及び表示パラメータの調整方法については、以下でより詳細に説明する。
幾つかの開示された実施形態は、方法の動作を実行するための命令を含む非一時的コンピュータ可読媒体を介して実施されてもよい。幾つかの実施形態では、本方法は、本方法の動作を実行するように構成された少なくとも1つのプロセッサを含むシステム上で実施することができる。幾つかの実施形態では、本方法は、装着型エクステンデッドリアリティ機器に関連付けられた1つ以上のプロセッサによって実施することができる。例えば、第1のプロセッサは、装着型エクステンデッドリアリティ機器内に配置されてもよく、本方法の1つ以上の動作を実行してもよい。別の例として、第2のプロセッサは、装着型エクステンデッドリアリティ機器に関連付けられた統合計算インタフェースデバイスに配置されてもよく、第2のプロセッサは、本方法の1つ以上の動作を実行してもよい。別の例として、第1のプロセッサ及び第2のプロセッサは、本方法の1つ以上の動作を実行するために協働してもよい。第1のプロセッサと第2のプロセッサとの間の協調は、負荷分散、ワークシェアリング、又は複数のプロセッサ間でワークロードを分割するための他の既知のメカニズムを含み得る。
幾つかの開示された実施形態は、物理環境で動作する装着型エクステンデッドリアリティ機器を介してコンテンツを仮想的に表示することを含むことができる。エクステンデッドリアリティディスプレイは、装着型エクステンデッドリアリティ機器に関連付けられたディスプレイであってもよく、エクステンデッドリアリティディスプレイは、装着型エクステンデッドリアリティ機器のユーザが見ることができてもよい。物理環境は、装着型エクステンデッドリアリティ機器のユーザが位置する領域を含むと見なされてもよく、ユーザが移動すると変化し得る。例えば、ユーザが屋内に位置する場合、物理環境は、ユーザが位置する部屋であってもよい。別の例として、ユーザが屋外に位置する場合、物理環境は、ユーザが位置する周囲の所定の半径の距離であってもよい。幾つかの実施形態では、所定の半径は、装着型エクステンデッドリアリティ機器と通信する1つ以上のセンサの範囲によって決定されてもよい。例えば、1つ以上のセンサは、音声センサ471、画像センサ472、動きセンサ473、環境センサ474、又は、図4に示されるような他のセンサ475を含んでもよい。他の例では、物理環境は、ユーザが装着型エクステンデッドリアリティ機器を使用しなかった場合にユーザに見える領域であり得る。他の例では、物理環境は、装着型エクステンデッドリアリティ機器に含まれる画像センサに見える領域であってもよい。物理環境は、例えば、ユーザが屋内で別の部屋に移動したり、屋内から屋外に移動したり、屋外を動き回ったりすると変化し得る。
幾つかの実施形態では、装着型エクステンデッドリアリティ機器を介したコンテンツの表示は、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータに関連付けられ得る。少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータは、装着型エクステンデッドリアリティ機器のユーザに対するエクステンデッドリアリティディスプレイ(又はエクステンデッドリアリティ環境)の外観を制御又は調整するために使用され得る1つ以上の特性、特性、又は特徴に対する調整を含み得る。例えば、調整され得るエクステンデッドリアリティディスプレイのパラメータは、輝度、コントラスト、シャープネス、又は表示モード(例えば、所定の設定を有するゲームモード)などの画像設定、色成分レベル又は他の色調整設定などの色設定、ユーザの頭部の位置に対する仮想コンテンツの位置、装着型エクステンデッドリアリティ機器によって定義されたユーザの視野内の仮想コンテンツのサイズ、位置、形状、又は角度、エクステンデッドリアリティディスプレイが物理環境の少なくとも一部の視界を干渉したり遮ったりすることなく(又はエクステンデッドリアリティディスプレイが物理環境の少なくとも一部の視界を干渉したり遮ったりすることが少なく)、ユーザが装着型エクステンデッドリアリティ機器を装着し続けながら物理環境の少なくとも一部を眺めることを可能にし得る他の設定を含むことができる。
幾つかの実施形態では、エクステンデッドリアリティ表示パラメータは、1つ以上のユーザ固有のエクステンデッドリアリティ表示パラメータを含むことができる。例えば、ユーザは、文書で作業している間の第1の輝度パラメータ及び映画を見ている間の第2の輝度パラメータ、又は仮想的に提示された文書で作業しているときの仮想コンテンツからの仮想距離が、仮想的に提示された映画を見ているときよりも短いことを好む場合がある。幾つかの実施形態では、ユーザ固有のエクステンデッドリアリティ表示パラメータは、規則が実装されるときにその規則によって格納及びアクセスされてもよい。幾つかの実施形態では、ユーザ固有のエクステンデッドリアリティ表示パラメータ及び規則は、装着型エクステンデッドリアリティ機器に関連付けられたメモリ、装着型エクステンデッドリアリティ機器と通信する別のデバイスに関連付けられたメモリ(例えば、統合計算インタフェースデバイス)、又は装着型エクステンデッドリアリティ機器もしくは他のデバイスによってアクセス可能なリモートストレージ(例えば、クラウドベースのストレージ)に格納されてもよい。幾つかの実施形態では、ユーザ固有のエクステンデッドリアリティ表示パラメータ及び規則は、同じメモリに格納されてもよい。幾つかの実施形態では、ユーザ固有のエクステンデッドリアリティ表示パラメータ及び規則は、異なるメモリに格納されてもよい。幾つかの実施形態では、規則は、装着型エクステンデッドリアリティ機器(例えば、図4に示す処理デバイス460)と通信するプロセッサによってアクセス及び実装(すなわち、実行される)され得る。幾つかの実施形態では、ユーザ固有のエクステンデッドリアリティ表示パラメータは、例えば、ユーザが文書の作業から映画の視聴に切り替えるときに自動的に変更されてもよい。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器から画像データを取得することを含むことができる。幾つかの実施形態では、画像データは、装着型エクステンデッドリアリティ機器上に配置された、又は他の様態で装着型エクステンデッドリアリティ機器に関連付けられたCCD又はCMOSセンサなどの画像センサから取得されてもよい。例えば、装着型エクステンデッドリアリティ機器には、図4に示すような画像センサ472が採用され得る。画像センサによって受信又は生成された画像データは、ユーザの物理環境に関連付けられてもよく、1つ以上の静止画像、一連の静止画像、又はビデオを含んでもよい。
幾つかの開示された実施形態は、仮想的に表示されたコンテンツとは無関係の特定の環境変化を画像データにおいて検出することを含むことができる。環境変化は、装着型エクステンデッドリアリティ機器のユーザの周りの物理環境への変化を含み得る。ユーザの周りの物理環境への変化は、例えば、ユーザが物理的位置(例えば、屋内では別の部屋に移動したり、屋内から屋外に移動したり、屋外では歩いたり動き回ったりする。)を変更したときに起こり得る。環境変化の別の例は、画像センサの視野内に移動するオブジェクト(例えば、ユーザの前を歩いている人)を含むことができる。幾つかの実施形態では、特定の環境変化は、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによって検出され得る。幾つかの実施形態では、特定の環境変化は、装着型エクステンデッドリアリティ機器と通信する1つ以上のセンサによって検出されてもよい。そのようなセンサは、画像センサ、動きセンサ、LIDARセンサ(すなわち、別のタイプの画像センサ)、音声センサ、近接センサ、又はある時間フレームから別の時間フレームへの環境変化を特定することができる任意の他のセンサを含むことができる。例えば、1つ以上のセンサは、音声センサ471、画像センサ472、動きセンサ473、環境センサ474、又は、図4に示されるような他のセンサ475を含んでもよい。幾つかの例では、画像データを解析して特定の環境変化を検出することができる。例えば、機械学習モデル(例えば、畳み込みニューラルネットワークロングショートタームメモリモデル、畳み込みニューラルネットワーク再帰型ニューラルネットワークモデルなど)は、画像及び/又はビデオから環境の変化を決定するために訓練例を使用して訓練することができる。そのような訓練例の一例は、時系列画像の特定の画像における特定のタイプの環境変化を示すラベルと共に、時系列画像を含むことができる。そのようなタイプの環境変化の非限定的な例は、第1の特定の環境条件から第2の特定の環境条件への変化を含むことができる。訓練された機械学習モデルを使用して、画像データを解析して特定の環境変化を検出することができる。更なる例では、画像(又は画像の一部)の時系列内の各画像は、画像に関連する環境条件を特定するために視覚的分類モデルを使用して解析され得る。一例では、特定された1つの環境条件から別の環境条件への遷移が発生すると、特定の環境変化が検出され得る。別の例では、特定された環境条件は、例えばマルコフモデルを使用して高い信頼性で変化を検出するために解析され、それによって特定の環境変化を検出することができる。
幾つかの開示された実施形態は、環境の変化を少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータの変化に関連付ける規則のグループにアクセスすることを含むことができる。調整可能なエクステンデッドリアリティ表示パラメータは、エクステンデッドリアリティディスプレイ又はエクステンデッドリアリティ環境に関連する任意の知覚可能な提示変更を含むことができる。そのようなパラメータは、単なる例として、不透明度、輝度、コンテンツシフト、コンテンツ置換、仮想オブジェクトの再配置、仮想オブジェクトのサイズ変更、表示された視覚的マーカ又は警告、更なるデータ提示、データ除去、又はディスプレイを介して起こり得る任意の他の知覚可能な変化を含むことができる。幾つかの実施形態では、規則のグループは、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによってアクセスされてもよい。規則のグループは、検出された環境変化に応じて行われるべき1つ以上の特定の動作(例えば、表示パラメータ調整)を定義することができる。幾つかの実施形態では、規則と環境変化との間に1対1の対応関係があり得る(すなわち、各規則は異なる環境変化に対応する)。幾つかの実施形態では、1つの規則は、幾つかの異なる環境変化に対応し得る。幾つかの実施形態では、規則のグループと検出された環境変化との間の対応関係は、対応関係表又は同様のデータ構造に記憶されてもよい。幾つかの実施形態では、規則のグループは、装着型エクステンデッドリアリティ機器に配置されたメモリ、装着型エクステンデッドリアリティ機器と通信する別のデバイスに配置されたメモリ(例えば、統合計算インタフェースデバイス)、又は装着型エクステンデッドリアリティ機器によってアクセス可能なリモートストレージ(例えば、クラウドベースのストレージ)に記憶されてもよい。幾つかの実施形態では、規則のグループは、特定の環境変化が検出されたときに評価され得る(例えば、プロセッサによって)一連の論理「if/then」文として実装され得る。幾つかの実施形態では、規則のグループは、例えば、機械学習又は人工知能アルゴリズムによって支援され得るプロセッサで実行される決定論理として実装されてもよい。機械学習アルゴリズムは、対応する環境変化に関連する1つ以上のエクステンデッドリアリティ表示パラメータに対する変更を含む訓練データセットを使用して訓練することができる。訓練された機械学習モデルを使用して、環境条件の変化の入力に基づいてエクステンデッドリアリティ表示パラメータの1つ以上の変化を決定することができる。
幾つかの実施形態では、規則のグループは、装着型エクステンデッドリアリティ機器の特徴、機能、又は技術的能力に基づいて事前定義されてもよい。幾つかの実施形態では、規則の異なるグループは、装着型エクステンデッドリアリティ機器の異なるモデル又はバージョンに適用することができる。幾つかの実施形態では、装着型エクステンデッドリアリティ機器の異なるモデル又はバージョンは、異なる特徴、機能、又は技術的能力を有してもよく、幾つかの規則又は規則のグループは、装着型エクステンデッドリアリティ機器の特定のモデル又はバージョンに固有の特徴、機能、又は技術的能力にのみ適用可能であってもよい。そのような状況では、全ての規則は、必ずしも装着型エクステンデッドリアリティ機器の全てのモデル又はバージョンによって実行可能であるとは限らない。例えば、装着型エクステンデッドリアリティ機器の第1のバージョンは、ユーザの周りの物理環境における周囲光レベルの変化を検出するように構成された周囲光センサを含むことができる。したがって、装着型エクステンデッドリアリティ機器の第1のバージョンに関連付けられた規則のグループはまた、周囲光センサから受信した入力に応じて1つ以上のエクステンデッドリアリティ表示パラメータを調整することに関する1つ以上の規則を含むことができる。装着型エクステンデッドリアリティ機器の別のバージョンは、周囲光センサを含まなくてもよく、装着型エクステンデッドリアリティ機器の第2のバージョンに関連付けられた規則のグループは、周囲光センサから受信した入力に関する規則を含まなくてもよい。幾つかの実施形態では、規則のグループは、装着型エクステンデッドリアリティ機器の機能、機能、又は技術的能力に対する対応する更新に基づいて更新され得る。
設計選択に基づいて実施され得る規則は幾つかある。例えば、人が視野に入ったことが検出された場合、人の検出時に調整を発生させる、すなわち、人が近くにいるという警告をディスプレイに表示する、画像認識を実行して人物を特定し、人物の名前を提示し、及び/又は人物の身元に基づいてエクステンデッドリアリティ表示パラメータの変化を選択する、人の位置を特定し(例えば、人物検出アルゴリズムを使用する)、その位置に基づいてエクステンデッドリアリティ表示パラメータへの変更を選択する、人からの距離を特定し(例えば、画像データ内の人物のサイズに基づいて、人物からの距離を推定するように構成された回帰モデルなどを使用する)、距離に基づいてエクステンデッドリアリティ表示パラメータへの変更を選択する、(例えば、視覚的活動認識アルゴリズムを使用して)人の活動を特定し、活動に基づいてエクステンデッドリアリティ表示パラメータへの変更を選択する、人が少なくとも部分的に見えるようにディスプレイの不透明度レベルを変更する、ユーザが仮想コンテンツの視聴に没頭しており、環境内の他人の存在に気付かない可能性があることを人に示すために、音声又は光の形式で外部警告を提示する、エクステンデッドリアリティディスプレイ上の(又はエクステンデッドリアリティ環境内の)仮想コンテンツを人が位置している領域以外の領域に移動させる、仮想コンテンツの提示を一時停止する、仮想コンテンツを変更する、仮想コンテンツを縮小する、又はユーザもしくはユーザの環境内の人をより状況的に認識させるのに役立つ任意の他の調整を行う、規則に基づいて、以下のエクステンデッドリアリティ表示パラメータの変化のうちの1つ以上が発生する可能性がある。幾つかの例では、顔認識アルゴリズムを使用して、画像データを解析して、視野に入る及び/又はユーザに近づくことが検出された人物を特定することができる。一例では、人物の第1の特定情報に応じて、1つ以上のエクステンデッドリアリティ表示パラメータを調整するための特定の規則を実施することができ(例えば、後述するように)、人物の第2の特定情報に応じて、1つ以上のエクステンデッドリアリティ表示パラメータを調整するための特定の規則を実施することを回避することができる。別の例では、人物の第1の特定情報に応じて、1つ以上のエクステンデッドリアリティ表示パラメータを調整するための第1の特定の規則が実装されてもよく(例えば、後述するように)、人物の第2の特定情報に応じて、1つ以上のエクステンデッドリアリティ表示パラメータを調整するための第2の特定の規則が実装されてもよく(例えば、後述するように)、第2の規則は第1の規則と異なってもよい。例えば、第1の特定情報はユーザに知られている人物に対応してもよく、第2の特定情報はユーザに知られていない人物に対応してもよい。別の例では、第1の特定情報はユーザの監督者に対応し得、第2の特定情報はユーザの従者に対応し得る。
同様に、ユーザが移動すると、ユーザの移動は、人又はオブジェクトのいずれかに関して同様の変化を引き起こす可能性があり、前述の例示的な調整のいずれか1つは、状況認識を高めるために関連する規則によって実施され得る。
幾つかの実施形態では、規則のグループは、ユーザ定義規則を含むことができる。例えば、ユーザ定義規則は、調整可能なエクステンデッドリアリティ表示パラメータのうちの1つ以上に対するユーザ固有又はユーザ好みのエクステンデッドリアリティ表示パラメータを含むことができる。例えば、ユーザは、文書の作業中に第1の輝度設定を好み、映画の視聴中に第2の輝度設定を好み、ユーザ定義の規則は、ユーザが文書の作業から映画の視聴に切り替えることが検出されたときに、輝度設定が第1の輝度設定から第2の輝度設定に自動的に変更することを許可してもよい。別の例では、ユーザは、仮想的に提示された映画を見るときよりも、仮想的に提示された文書で作業するときの方が、仮想コンテンツまでの仮想距離が短いことを好む場合がある。更に別の例では、ユーザは、物理環境内の他の人々と相互作用するときに仮想コンテンツに対して1つのサイズを好み、そうでなければ仮想コンテンツに対して異なるサイズを好む場合がある。或いは、別の例として、ユーザは、人が視野に入ったときに表示パラメータがどのように変化するかを選択することができる。
幾つかの開示された実施形態は、特定の環境変化が規則群の特定の規則に対応すると決定することを含んでもよい。例えば、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサは、特定の環境変化を検出し、検出された環境変化に対応する特定の規則を選択することができる。幾つかの実施形態では、環境変化は、データ構造内の対応表又は他のルックアップメカニズムに基づいて特定の規則に関連付けられ得る。幾つかの実施形態では、環境変化は、環境変化の分類に属するようにプロセッサによって決定されてもよく、特定の規則は、分類に関連付けられてもよい。例えば、無生物のオブジェクトとの全ての遭遇は1つの規則をトリガし得るが、生物のオブジェクト(例えば、人々、ペット、ロボット)との全ての遭遇は別の規則をトリガし得る。
幾つかの開示された実施形態は、特定の環境変化に基づいて1つ以上のエクステンデッドリアリティ表示パラメータを調整するための特定の規則を実施することを含むことができる。例えば、特定の環境変化が、オブジェクトがユーザの視野に入ることである場合(例えば、人がユーザの前を歩く)、実施される特定の規則は、ユーザがユーザの前にいる人を明確に見ることができるように、仮想オブジェクトのサイズを縮小すること、及び/又は仮想オブジェクトをユーザの視野の側に(及び/又はエクステンデッドリアリティ環境の異なる位置に)移動させることを含むことができる。
幾つかの実施形態では、調整されたエクステンデッドリアリティ表示パラメータは、エクステンデッドリアリティディスプレイ(及び/又はエクステンデッドリアリティ環境)への恒久的な変更を含むことができ、これは、エクステンデッドリアリティ表示パラメータが、別の環境変化又はエクステンデッドリアリティ表示パラメータを調整するためのユーザの手動操作のいずれかによって再び調整されるまで、調整されたエクステンデッドリアリティ表示パラメータが有効なままであることを意味する。幾つかの実施形態では、ユーザは、調整されたエクステンデッドリアリティ表示パラメータを以前の状態に手動で戻すオプションを有することができ、これは、エクステンデッドリアリティ表示パラメータが、検出された環境変化の前に存在した設定に戻され得ることを意味する。例えば、調整されたエクステンデッドリアリティ表示パラメータを前の状態に戻すために、エクステンデッドリアリティディスプレイ上(及び/又はエクステンデッドリアリティ環境内)に仮想ウィジェットを提示することができる。幾つかの実施形態では、仮想ウィジェットは相互作用型ユーザインタフェース要素であってもよく、調整されたエクステンデッドリアリティ表示パラメータを前の状態に戻すためにユーザ入力を必要としてもよい。別の例として、調整されたエクステンデッドリアリティ表示パラメータを前の状態に戻すために、装着型エクステンデッドリアリティ機器に物理的ボタン又は他のタイプの物理的制御があってもよい。別の例として、調整されたエクステンデッドリアリティ表示パラメータを前の状態に戻すために、装着型エクステンデッドリアリティ機器に関連付けられた統合計算インタフェースデバイス上に物理的ボタン又は他のタイプの物理的制御があってもよい。
幾つかの実施形態では、調整されたエクステンデッドリアリティ表示パラメータは、環境変化が進行している間に有効であってもよく、エクステンデッドリアリティディスプレイ(及び/又はエクステンデッドリアリティ環境)は、環境変化がもはや発生していないときに以前の状態に戻ることができる。例えば、人がユーザの前を歩いている場合、エクステンデッドリアリティディスプレイの輝度は、ユーザがその人を見ることができるように暗くされてもよく、人がユーザの視野を出ると、エクステンデッドリアリティディスプレイは、以前の輝度設定に戻ってもよい。幾つかの実施形態では、エクステンデッドリアリティディスプレイ(及び/又はエクステンデッドリアリティ環境)は、環境変化がもはや発生していないときに以前の状態に自動的に戻ることができる。幾つかの実施形態では、環境変化がもはや生じていないときにエクステンデッドリアリティディスプレイ(及び/又はエクステンデッドリアリティ環境)を以前の状態に戻したいことを確認するようにユーザに促すことができる。例えば、エクステンデッドリアリティディスプレイ上(及び/又はエクステンデッドリアリティ環境内)に仮想ウィジェットを提示して、ユーザが調整されたエクステンデッドリアリティ表示パラメータを以前の状態に戻したいことを確認するように促すことができる。
幾つかの実施形態では、調整されたエクステンデッドリアリティ表示パラメータは、所定の期間有効なままであり得る。幾つかの実施形態では、所定の期間は、規則と関連付けられてもよい。例えば、規則は、所定の期間を規則定義に含めてもよいし、所定の期間を規則と共に格納してもよい。幾つかの実施形態では、エクステンデッドリアリティディスプレイは、所定の期間が満了した後に以前の状態に自動的に戻ることができる。幾つかの実施形態では、ユーザは、例えば、エクステンデッドリアリティディスプレイ上に(及び/又はエクステンデッドリアリティ環境で)仮想ウィジェットを提示することによって、所定の期間が経過した後にエクステンデッドリアリティディスプレイ(及び/又はエクステンデッドリアリティ環境)を前の状態に戻したいことを確認するように促され得る。
図27は、物理環境における環境適応型エクステンデッドリアリティディスプレイを容易にするための例示的な方法2700のフローチャートである。図27は、単なる一実施形態の例示であり、本開示の範囲内で、幾つかの図示された要素を省略し、他の要素を追加することができることを理解すべきである。方法2700の1つ以上の動作は、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによって実行されてもよい。例えば、第1のプロセッサは、装着型エクステンデッドリアリティ機器内に配置されてもよく、方法2700の1つ以上の動作を実行してもよい。別の例として、第2のプロセッサは、装着型エクステンデッドリアリティ機器に関連付けられた統合計算インタフェースデバイスに配置されてもよく、第2のプロセッサは、方法2700の1つ以上の動作を実行してもよい。別の例として、第1のプロセッサと第2のプロセッサとは協働して方法2700の1つ以上の動作を実行してよい。第1のプロセッサと第2のプロセッサとの間の協調は、負荷分散、ワークシェアリング、又は複数のプロセッサ間でワークロードを分割するための他の既知のメカニズムを含み得る。
仮想コンテンツは、装着型エクステンデッドリアリティ機器のユーザに表示され得る(動作2702)。画像データは、例えば、装着型エクステンデッドリアリティ機器内の画像センサを介して、装着型エクステンデッドリアリティ機器から取得することができる(動作2704)。ユーザの環境の変化は、例えば、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによって、画像データ内で検出することができる(動作2706)。幾つかの実施形態では、検出は、装着型エクステンデッドリアリティ機器と通信する1つ以上のプロセッサ及び/又は1つ以上のセンサによって実行されてもよい。一例では、例えば前述したように、画像データを解析してユーザの環境の変化を検出することができる。
ユーザの環境の変化を検出すると、規則のグループにアクセスすることができる(動作2708)。幾つかの実施形態では、規則のグループは、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによって、又は異なるプロセッサによってアクセスされてもよい。幾つかの実施形態では、規則のグループは、装着型エクステンデッドリアリティ機器内に配置されたメモリ、装着型エクステンデッドリアリティ機器と通信するデバイス内に配置されたメモリ(例えば、統合計算インタフェースデバイス)、又は装着型エクステンデッドリアリティ機器によってアクセス可能なリモートストレージ(例えば、クラウドベースのストレージ)に記憶されてもよい。
検出された環境変化に対応する規則のグループ内に規則があるかどうかを決定することができる(動作2710)。幾つかの実施形態では、決定は、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによって行われてもよい。検出された環境変化に対応する規則がない場合(動作2710、「いいえ」分岐)、少なくとも1つのエクステンデッドリアリティ表示パラメータを調整するためにデフォルト規則を実施することができる(動作2712)。幾つかの実施形態では、デフォルト規則は、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによって実施されてもよい。幾つかの実施形態では、対応する規則がない環境変化のタイプが発生し得る。そのような状況では、何も動作を起こさない代わりに、少なくとも1つのエクステンデッドリアリティ表示パラメータを調整するためのデフォルト規則を実施することができる。例えば、デフォルトの規則は、ユーザが物理環境の変化を知覚できるように、エクステンデッドリアリティディスプレイの不透明度を50%の設定に調整することであってもよい。別の例として、デフォルトの規則は、ユーザが物理環境の変化を知覚できるように、エクステンデッドリアリティディスプレイの側面に仮想スクリーンを移動させることであってもよい。他のタイプのデフォルト規則も可能であるが、デフォルト規則は、ユーザが物理環境の変化を知覚できるように、少なくとも1つのエクステンデッドリアリティ表示パラメータに対する1つ以上の調整を含むべきである。
検出された環境変化に対応する規則がある場合(動作2710、「はい」分岐)、規則は、エクステンデッドリアリティディスプレイの少なくとも1つのエクステンデッドリアリティ表示パラメータを調整するために、装着型エクステンデッドリアリティ機器に実装され得る(動作2714)。幾つかの実施形態では、規則は、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによって実施されてもよい。
幾つかの実施形態では、上記の画像設定及び色設定に加えて、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータは、仮想的に表示されたコンテンツに関連付けられたスクリーンの数、仮想的に表示されたコンテンツに関連付けられた少なくとも1つの仮想スクリーンのサイズ、仮想的に表示されたコンテンツに関連付けられた少なくとも1つの仮想スクリーンの位置、仮想的に表示されたコンテンツに関連付けられた少なくとも1つの仮想スクリーンの形状、仮想的に表示されたコンテンツに関連付けられた少なくとも1つの仮想スクリーンの角度、仮想的に表示されたコンテンツの不透明度、装着型エクステンデッドリアリティ機器からの仮想的に表示されたコンテンツの仮想距離、又は仮想的に表示されたコンテンツに含まれるウィジェットのタイプのうちの少なくとも1つを含み得る。例えば、ユーザが環境の変化に遭遇すると、ユーザに提示されるスクリーンの数が変化する可能性がある。視野が開いている場合、より多くのスクリーンが提示される可能性がある。視野がより混雑する場合、より少ないスクリーンが提示され得る。ほぼ同様に、スクリーンサイズ、位置、形状、角度、不透明度、距離、又はコンテンツタイプは、物理環境の変化に対応するように変化し得る。
例えば、仮想的に表示されたコンテンツは、複数の仮想スクリーンを含むか、又は複数の仮想スクリーン上に提示されてもよい。各仮想スクリーン(本明細書では仮想ディスプレイとも呼ばれる)は、異なるタイプのコンテンツ(例えば、会議に関連付けられたビデオのための第1の仮想スクリーン及びテキスト文書のための第2の仮想スクリーン)を見るための異なる表示ウィンドウであってもよい。幾つかの実施形態では、調整可能なエクステンデッドリアリティ表示パラメータは、複数の仮想スクリーンのうちの1つ以上に適用されてもよい。幾つかの実施形態では、調整可能なエクステンデッドリアリティ表示パラメータが適用される仮想スクリーンは、仮想スクリーン及び/又は仮想スクリーンに示されるコンテンツに関連する優先度に基づいて決定されてもよい。例えば、会議に関連付けられたビデオを含む第1の仮想スクリーンは、第2の仮想スクリーンの表示パラメータが調整され、第1の仮想スクリーンの表示パラメータが調整されないように、テキスト文書を含む第2の仮想スクリーンよりも高い優先度を有することができる。幾つかの実施形態では、第1の仮想スクリーンの表示パラメータは調整されてもよく、第2の仮想スクリーンの表示パラメータは調整されなくてもよい。幾つかの実施形態では、それらの表示パラメータを調整することができる仮想スクリーンは、仮想スクリーンがエクステンデッドリアリティディスプレイに表示された時間の長さによって決定された順序に基づくことができる。例えば、より長い期間表示された仮想スクリーンでは表示パラメータが調整され、より短い期間表示された仮想スクリーンでは表示パラメータが調整されない場合がある。別の例として、より短い期間表示された仮想スクリーンでは表示パラメータが調整され、より長い期間表示された仮想スクリーンでは表示パラメータが調整されない場合がある。幾つかの実施形態では、表示パラメータを調整する仮想スクリーンをランダムに決定することができる。幾つかの実施形態では、調整可能なエクステンデッドリアリティ表示パラメータは、エクステンデッドリアリティディスプレイ上の全ての仮想スクリーンに適用されてもよい。
幾つかの実施形態では、規則は、表示される仮想スクリーンの数が減少する(すなわち、一部の仮想スクリーンが表示されない)ことを示すことができる。例えば、仮想的に表示されたコンテンツが7つの仮想スクリーンを含む場合、規則は、エクステンデッドリアリティディスプレイが2つの仮想スクリーンのみを表示するように調整されるべきであることを示すことができる。幾つかの実施形態では、規則は、エクステンデッドリアリティディスプレイの不透明度が50%低減されるべきであることを示すことができ、この規則を実施するために、表示された仮想スクリーンの全ての不透明度が50%低減され得る。
幾つかの実施形態では、調整可能なエクステンデッドリアリティ表示パラメータは、仮想的に表示されたコンテンツに関連付けられた少なくとも1つの仮想スクリーンのサイズを変更することを含むことができる。例えば、規則は、所定のサイズよりも大きい任意の仮想スクリーンをより小さい所定のサイズに縮小すべきであることを示すことができる。別の例として、規則は、1つ以上の仮想スクリーンが最小化されるか、そうでなければ所定の最小サイズに縮小されることを示すことができる。
幾つかの実施形態では、調整可能なエクステンデッドリアリティ表示パラメータは、仮想的に表示されたコンテンツに関連付けられた少なくとも1つの仮想スクリーンの位置を変更することを含むことができる。例えば、規則は、1つ以上の仮想スクリーンがユーザの視野の一部(例えば、左辺、右辺、上角、又は下角)に移動されることを示すことができる。幾つかの実施形態では、異なる仮想スクリーンは、エクステンデッドリアリティディスプレイ及び/又はエクステンデッドリアリティ環境の異なる部分に移動することができる。例えば、1つ以上の仮想スクリーンをエクステンデッドリアリティディスプレイ及び/又はエクステンデッドリアリティ環境の左側に移動させることができ、1つ以上の他の仮想スクリーンをエクステンデッドリアリティディスプレイ及び/又はエクステンデッドリアリティ環境の右側に移動させることができる。
幾つかの実施形態では、調整可能なエクステンデッドリアリティ表示パラメータは、仮想的に表示されたコンテンツに関連付けられた少なくとも1つの仮想スクリーンの形状を変更することを含むことができる。例えば、規則は、広い長方形の仮想スクリーンを小さい正方形の仮想スクリーンに変更するなど、仮想スクリーンの形状を変更する必要があることを示すことができる。別の例として、ユーザが仮想スクリーンのデフォルト形状を変更した場合、規則は、仮想スクリーンをそのデフォルト形状に戻すことを示すことができる。別の例として、規則は仮想スクリーンの目標形状を示してもよく、仮想スクリーンは目標形状に調整されてもよい。
幾つかの実施形態では、調整可能なエクステンデッドリアリティ表示パラメータは、仮想的に表示されたコンテンツに関連付けられた少なくとも1つの仮想スクリーンの角度を変更することを含むことができる。例えば、規則は、ユーザが物理環境をよりよく見ることができるように、1つ以上の仮想スクリーンの視野角が変更されて、少なくとも部分的にユーザの視野から1つ以上の仮想スクリーンを効果的に傾けることを示すことができる。
幾つかの実施形態では、調整可能なエクステンデッドリアリティ表示パラメータは、仮想的に表示されたコンテンツの不透明度を変更することを含むことができる。例えば、規則は、ユーザが物理環境を見るために仮想的に表示されたコンテンツをよりよく見ることを可能にするために、仮想的に表示されたコンテンツの不透明度が低減されることを示すことができる。
幾つかの実施形態では、調整可能なエクステンデッドリアリティ表示パラメータは、装着型エクステンデッドリアリティ機器上に仮想的に表示されたコンテンツの仮想距離を変更することを含むことができる。例えば、規則は、仮想的に表示されたコンテンツがユーザからより遠くに移動しているように見える(すなわち、小さく見えるようにする)、又はユーザの近くに移動しているように見える(すなわち、より大きく見えるようにされる)ことを示すことができる。
幾つかの実施形態では、調整可能なエクステンデッドリアリティ表示パラメータは、仮想的に表示されたコンテンツに含まれるウィジェットのタイプを変更することを含み得る。幾つかの実施形態では、ウィジェットは、1つのタイプのコンテンツを表示する所定のサイズの仮想スクリーンであってもよい。例えば、天候ウィジェットは、天候関連情報を表示することができる。幾つかの実施形態では、異なるタイプのウィジェットを異なるタイプのコンテンツに関連付けることができる。幾つかの実施形態では、複数のウィジェットをエクステンデッドリアリティディスプレイ上及び/又はエクステンデッドリアリティ環境に表示することができる。例えば、エクステンデッドリアリティディスプレイ及び/又はエクステンデッドリアリティ環境は、天気ウィジェット、時計ウィジェット、及びローカルニュースビデオウィジェットを含むことができる。例えば、規則は、ユーザが歩いている場合、ローカルニュースビデオウィジェットは表示されるべきではないことを示すことができる(すなわち、ローカルニュース映像ウィジェットは、無効にされても、閉じられてもよい)。
幾つかの実施形態では、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整することは、仮想的に表示されたコンテンツに関連付けられたエクステンデッドリアリティ表示パラメータの組み合わせを変更することを含む。すなわち、調整は、本明細書に記載の例示的なパラメータの1つのみに限定されない。複数の調整は、並行して又は順次に行うことができる。逐次的な調整は、例えば、動的環境で行うことができる。人が第1の距離で視野に入る場合、第1の調整が行われてもよく、人が近づくにつれて、更なる調整又は複数の更なる調整が行われてもよい。例えば、規則は、少なくとも1つの仮想スクリーンのサイズ及び少なくとも1つの仮想スクリーンの不透明度の両方が同時に又は順次に変更されることを示すことができる。上記の例を続けると、少なくとも1つの仮想スクリーンの不透明度が変更されると同時に、少なくとも1つの仮想スクリーンの不透明度が変更される前に、又は少なくとも1つの仮想スクリーンの不透明度が変更された後に、少なくとも1つの仮想スクリーンのサイズを変更することができる。幾つかの実施形態では、異なるエクステンデッドリアリティ表示パラメータは、異なる仮想スクリーンに対して異なるように調整されてもよい。例えば、ビデオコンテンツを有する仮想表示スクリーンのサイズを縮小することができる一方で、ユーザの視野内のオブジェクトの特定情報(例えば、拡張現実アプリケーションを見る鳥)を含む仮想表示スクリーンの不透明度を低減することができる。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器から分離された入力デバイスからデータを取得することを含むことができる。例えば、ヘッドセットは、スマートフォン、タブレット、キーボード、独立型センサ、又は任意の他のデバイスとペアリングされるか、又は他の方法で情報を受信することができる。幾つかの実施形態では、統合計算インタフェースデバイスは、装着型エクステンデッドリアリティ機器から物理的に分離しているか又は離間している入力デバイスを含むことができる。入力デバイスは、装着型エクステンデッドリアリティ機器と無線通信することができる。データは、入力デバイスに接続された、又は入力デバイスと通信する1つ以上のセンサから取得することができる。例として、入力デバイスが図3に示す入力ユニット202である実施形態では、データは、センサインタフェース370(例えば、音声センサ371、画像センサ372、動きセンサ373、環境センサ374、又は他のセンサ375)に接続された、又はそれと通信する1つ以上のセンサから取得することができる。
幾つかの実施形態では、仮想的に表示されたコンテンツとは無関係の特定の環境変化を決定することは、入力デバイスから取得されたデータ及び装着型エクステンデッドリアリティ機器からの画像データに基づくことができる。入力デバイスは、例えば、ユーザの環境の1つ以上の物理的特性を測定又は検出するように構成することができる1つ以上のセンサを有することができる。そのような物理的特性は、例として、温度、圧力、音声レベル、光レベル、近接度、特定、又は周囲環境に関連する他のパラメータを含むことができる。例えば、1つ以上のセンサは、前述の物理的特性のうちの1つ以上を検知するように構成された、図3に示すような環境センサ374を含むことができる。物理環境における周囲光レベルの変化は、入力デバイスに関連付けられた光センサによって検出することができる。
幾つかの実施形態では、特定の環境変化はまた、装着型エクステンデッドリアリティ機器からの画像データに基づいて決定されてもよい。例えば、入力デバイスは、本明細書で説明するように、画像センサを含むことができる。したがって、環境変化の検出は、画像データ及び他のデータ(又は2つの異なるセンサからの画像データ)の両方に基づくことができる。一例として、個人の存在は、画像センサからの画像データに基づいて決定されてもよく、近接は、近接センサからのデータに基づいてもよい。画像センサの一例は、図3に示すような画像センサ372又は動きセンサ373である。装着型エクステンデッドリアリティ機器の視野内に移動するオブジェクトは、装着型エクステンデッドリアリティ機器に関連付けられた画像センサによって検出されてもよく、更なるデータが動きセンサによって提供されてもよい。別の例として、装着型エクステンデッドリアリティ機器の視野内に移動するオブジェクトのタイプを決定することは、装着型エクステンデッドリアリティ機器からの画像データ及び入力デバイスからの音声データを利用することができる。自動車の画像は、自動車のエンジンの音と共に、自動車が動いていることを確認するために使用され得る。
幾つかの実施形態では、特定の環境変化を決定することは、装着型エクステンデッドリアリティ機器から画像データを受信した後に入力デバイスによって(例えば、入力デバイスに関連付けられたプロセッサによって)実行されてもよい。幾つかの実施形態では、特定の環境変化を決定することは、入力デバイスから取得されたデータを受信した後に、装着型エクステンデッドリアリティ機器によって(例えば、装着型エクステンデッドリアリティ機器と関連付けられたプロセッサによって)実行されてもよい。幾つかの実施形態では、特定の環境変化を決定することは、入力デバイスと装着型エクステンデッドリアリティ機器の両方とは別のデバイスによって、例えば、入力デバイスから取得されたデータ及び装着型エクステンデッドリアリティ機器からの画像データを受信した後に、クラウドコンピューティング環境内のサーバによって実行されてもよい。特定の環境変化が装着型エクステンデッドリアリティ機器によって検出されない実施形態では、特定の環境変化は、装着型エクステンデッドリアリティ機器が検出された特定の環境変化に基づいて少なくとも1つのエクステンデッドリアリティ表示パラメータを調整することを可能にするために、装着型エクステンデッドリアリティ機器に通信され得る。
幾つかの実施形態では、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整することにより、装着型エクステンデッドリアリティ機器のユーザの目を物理環境の人々に見えるようにすることができる。例えば、ユーザが装着型エクステンデッドリアリティ機器を使用しているとき、装着型エクステンデッドリアリティ機器によって表示される仮想オブジェクトはユーザに面することができる。ユーザの近くの物理環境にいる人々は、装着型エクステンデッドリアリティ機器の反対側から仮想オブジェクトを見ることができるが、ユーザの目は仮想オブジェクトによって少なくとも部分的に隠されている可能性があるため、ユーザの目を見ることができない可能性がある。少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整すること(例えば、仮想的に表示されたコンテンツの不透明度を変更すること、及び/又は仮想的に表示されたコンテンツに関連付けられた少なくとも1つの仮想スクリーンのサイズを縮小すること)により、ユーザの目の一方又は両方が物理環境の人々に見えるようになり得る。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器のユーザが別の人と相互作用したい場合にアクセス及び実装され得る更なる規則グループを有することを含み得る。幾つかの実施形態では、装着型エクステンデッドリアリティ機器のユーザは、ユーザが装着型エクステンデッドリアリティ機器を取り外すことなく、非ユーザ(すなわち、ユーザの近くの物理環境にいる他の人々)と相互作用することができる場合がある。幾つかの開示された実施形態は、別の個人と装着型エクステンデッドリアリティ機器のユーザとの人間相互作用のタイプを決定することを含むことができる。例えば、ユーザの視野を横切って歩いている人間(ユーザと相互作用する可能性が低いかもしれない)と、ユーザに接近している人間(ユーザと相互作用する可能性が高いかもしれない)との間の違いを区別することができる。幾つかの実施形態では、人間相互作用のタイプを決定するステップは、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによって実行されてもよい。
幾つかの実施形態では、プロセッサは、画像のセット(例えば、1つ以上の画像センサから受信された画像)内の画像データを解析することによって、1つ以上の音声センサから受信した音を解析することによって、又はその両方の組み合わせによって、人間相互作用のタイプを決定するように構成され得る。幾つかの実施形態では、プロセッサは、他の人が近づいたときに他の人がユーザに影を投影するために、(例えば、周囲光センサによって)ユーザの環境内の周囲光レベルの変化を決定することによって人間相互作用のタイプを決定するように構成され得る。幾つかの実施形態では、プロセッサは、ユーザから所定の距離内の動きを検出するように構成された1つ以上の動きセンサから受信した動きセンサデータを解析することによって、人間相互作用のタイプを決定するように構成されてもよい。幾つかの実施形態では、プロセッサは、上記の方法のうちの1つ以上からのデータを解析することによって、例えば、画像データ、周囲光データ、及び動きデータを解析することによって人間相互作用のタイプを決定するように構成されてもよい。
幾つかの開示された実施形態は、人間相互作用のタイプを少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータの変化に関連付ける更なる規則グループにアクセスすることを含むことができる。人間相互作用は、視野内の着用者と人との間の任意の程度の相互作用を含み得る。相互作用は、いかなる相互作用もないものから、認識、接近、アウトリーチ、通信、潜在的な衝突、又は任意の他の程度の相互作用にまで及ぶことができる。規則は、相互作用タイプに基づいて変化し得る。ある距離で視野を横切る人は、第1の規則(例えば、無視する)をトリガすることができる。着用者に向かって歩いている人は、着用者からの距離に依存してもしなくてもよい第2の規則をトリガすることができる。極端には、全てのエクステンデッドリアリティディスプレイが停止し、着用者に人が見えるようになる可能性がある。中間レベルでは、不透明度が増大するか、コンテンツがシフトするか、又は前述の他の変化が発生する可能性がある。幾つかの実施形態では、規則の第1のグループは、1つ以上の環境変化に基づく1つ以上のエクステンデッドリアリティ表示パラメータの調整に関連付けられ得る。第1のグループとは異なる規則の第2のグループは、1つ以上のタイプの人間相互作用に基づく1つ以上のエクステンデッドリアリティ表示パラメータの調整に関連付けられ得る。幾つかの実施形態では、第1及び第2の規則グループは、1つの規則グループに組み合わされてもよい。例えば、人間がユーザに近づいていると決定された場合(例えば、ユーザの視界を通過する自動車の代わりに)、エクステンデッドリアリティ表示パラメータを調整するための更なる規則グループ(例えば、規則の第2のグループ)にアクセスすることができる。更なる規則のグループは、検出された環境変化に関連付けられた第1の規則のグループと同様の方法で構築、記憶、アクセス、及び実施することができる。例えば、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによって。
幾つかの開示された実施形態は、決定されたタイプの相互作用に基づいて少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整するために、更なる規則グループの少なくとも1つの規則を実施することを含むことができる。規則の更なるグループ(例えば、規則の第2のグループ)は、対応表又は同様のデータ構造によって、決定されたタイプの相互作用と関連付けられ得る。例えば、人が着用者に近づくと、規則は、着用者が非ユーザを見て、装着型エクステンデッドリアリティ機器を取り外す必要なしに非ユーザと相互作用することができるように、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを変更させること(例えば、仮想的に表示されたコンテンツの不透明度を調整すること、及び/又は仮想的に表示されたコンテンツに関連付けられた少なくとも1つの仮想スクリーンのサイズを縮小すること)ができる。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器のユーザが少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータへの調整を中止することを可能にするための相互作用要素を装着型エクステンデッドリアリティ機器を介して提示することを含むことができる。例えば、仮想ボタン又は他の仮想要素は、ユーザが要素と相互作用して表示パラメータを制御することができる装着型エクステンデッドリアリティ機器によって提示されるユーザインタフェースを介して(例えば、エクステンデッドリアリティ環境で)提示されてもよい。例えば、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータが規則によって自動的に調整された後、ユーザが調整されたエクステンデッドリアリティ表示パラメータを保持したいことを確認するために、又はユーザがエクステンデッドリアリティ表示パラメータを以前の状態(すなわち、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータへの調整を中止する)に戻すことを可能にするために、装着型エクステンデッドリアリティ機器のユーザはエクステンデッドリアリティ環境内の相互作用要素を示すことができる。例えば、相互作用要素は、エクステンデッドリアリティ環境から除去される前にユーザ入力を必要とするポップアップウィンドウ、警告、又は他のユーザインタフェース制御として実装されてもよい。例えば、ユーザの選択肢は、ボタン、ラジオボタン、チェックボックス、ドロップダウンリスト、リストボックス、トグル、又は他のタイプのユーザインタフェースセレクタとして提示されてもよい。
幾つかの実施形態では、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータが調整される前に、相互作用要素をユーザに提示することができる。この実施形態では、ユーザがエクステンデッドリアリティ表示パラメータを調整したいこと、又はユーザが現在のエクステンデッドリアリティ表示パラメータを保持したいことを確認するために、装着型エクステンデッドリアリティ機器のユーザにエクステンデッドリアリティ環境の相互作用要素を示すことができる。
幾つかの実施形態では、装着型エクステンデッドリアリティ機器のユーザは、相互作用要素内の仮想制御を操作することによって、装着型エクステンデッドリアリティ機器上の物理的制御を操作することによって、又は、インタラクティブ計算インタフェースデバイスなどの装着型エクステンデッドリアリティ機器と通信するデバイス上の物理的制御を操作することによって、相互作用要素と相互作用することができる。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器を介して表示される仮想コンテンツに関連付けられたコンテンツタイプの変化を検出すると、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整するための規則を実施することを含み得る。例えば、ユーザが文書の作業から映画の視聴に切り替えると、エクステンデッドリアリティ表示パラメータは映画の視聴に適した設定に変更され得る。例えば、仮想スクリーンを可能な限り大きくしてもよい。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器を介して表示される仮想コンテンツに関連付けられたコンテンツタイプの変化を検出することを含み得る。装着型エクステンデッドリアリティ機器を介して表示される仮想コンテンツは、幾つかの異なるタイプのコンテンツを含むことができる。例えば、仮想コンテンツは、ビデオ、音声、テキスト、相互作用型コンテンツ、マルチメディアコンテンツ、ウェブベースコンテンツ、又は様々なフォーマットの他のタイプのコンテンツを含むことができる。幾つかの実施形態では、ユーザは、異なるタイプのコンテンツに基づいて、1つ以上のエクステンデッドリアリティ表示パラメータに対して異なる好みを有することができる。例えば、ユーザは、文書で作業している間に第1の輝度パラメータを好み、映画を見ている間に第2の輝度パラメータを好む場合がある。幾つかの実施形態では、コンテンツタイプの変化は、例えば、ユーザが文書の作業から映画の視聴に切り替えるときにプロセッサによって検出されてもよい。
幾つかの開示された実施形態は、コンテンツタイプの変化を少なくとも1つの調整可能な仮想現実表示パラメータの変化と関連付ける更なる規則のグループにアクセスすることを含むことができる。例えば、環境変化と関連付けられた規則のグループなど、他の規則のグループとは異なり得るコンテンツタイプの変化と関連付けられた規則の別個のグループが存在し得る。コンテンツタイプの変化と関連付けられた規則の更なるグループは、検出された環境変化と関連付けられた規則のグループと同様の方法で構築され、記憶され、アクセスされ、実施され得る。コンテンツタイプの変化が検出されると、更なる規則グループにアクセスすることができる。幾つかの実施形態では、規則の更なるグループは、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによってアクセスされてもよい。
幾つかの開示された実施形態は、検出されたコンテンツタイプ変更が更なる規則グループの特定の規則に対応すると決定することを含み得る。例えば、コンテンツタイプ変更と特定の規則との間の対応関係は、対応関係表又は同様のデータ構造で提供されてもよい。幾つかの実施形態では、第1のコンテンツタイプ(コンテンツタイプの変化前にユーザが相互作用している)及び第2のコンテンツタイプ(コンテンツタイプの変化後にユーザが相互作用している)に基づいて異なる規則が決定され得る。例えば、第1の規則は、ユーザが文書の作業から映画の視聴に切り替える場合に適用することができ、第2の規則は、ユーザが映画の視聴から文書の作業に切り替える場合に適用することができる。
幾つかの開示された実施形態は、検出されたコンテンツタイプの変化に基づいて少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整するための特定の規則を実施することを含むことができる。例えば、プロセッサは、コンテンツタイプの変化に基づいて少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整するように構成され得る。例えば、文書上で作業することから映画を見ることに切り替わるユーザからのコンテンツタイプの変化が(例えば、プロセッサによって)検出されると、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを映画を見るためのパラメータに調整するために、コンテンツタイプの変化から映画を見ることに関連する特定の規則が実施されてもよい(例えば、プロセッサによって)。例えば、エクステンデッドリアリティディスプレイの輝度パラメータは、文書の作業に関連する第1の輝度パラメータから映画の視聴に関連する第2の輝度パラメータに調整することができる。別の例では、仮想コンテンツまでの仮想距離は、文書の作業に関連するより短い距離から映画の視聴に関連するより長い距離に変化し得る。
幾つかの開示された実施形態は、ユーザが装着型エクステンデッドリアリティ機器上で「邪魔しない」モードに入った場合にエクステンデッドリアリティ表示パラメータを調整することを回避することを含むことができる。妨害なしモードは、ユーザが中断することなく仮想コンテンツに集中できることを望む装着型エクステンデッドリアリティ機器の動作モードであり得る。例えば、ユーザが仮想会議にいる場合、ユーザは会議の中断を回避したい場合がある。そのような場合、エクステンデッドリアリティ表示パラメータに対する調整を管理する規則は、(例えば、進行中の会議の着用者の視界を遮らないようにするために)変更することができる。
幾つかの開示された実施形態は、妨害なしモードの選択を受信することを含むことができる。妨害なしモードの選択は、ユーザ入力を介して、装着型エクステンデッドリアリティ機器によって、又は装着型エクステンデッドリアリティ機器と通信する入力デバイス(例えば、相互作用型計算インタフェースデバイス)によって受信されてもよい。或いは、選択は自動的に行われてもよい。例えば、ビデオ会議のために妨害なし規則が存在する場合、ビデオ会議の実装は、更なるユーザ入力なしで規則を自動的にトリガすることができる。これは一例にすぎず、妨害なしモードは、エクステンデッドリアリティディスプレイ上及び/又はエクステンデッドリアリティ環境内に現在提示されているコンテンツに関連付けられたコンテンツタイプに基づいて自動的に入力されてもよい。
幾つかの実施形態では、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整する妨害なしモードが、検出された特定の環境変化に基づいて回避され得る。例えば、ユーザが、選択された妨害なしモード(すなわち、妨害なしモードはアクティブである)で仮想会議中であり、環境変化が検出された場合、妨害なしモードにかかわらず、エクステンデッドリアリティ表示パラメータを調整することができる。例えば、差し迫った衝突が予測される場合、妨害なしモード規則は、競合する安全規則によって無効にされてもよい。そのような場合、衝突が差し迫っている人を着用者が見ることを可能にするために、不透明度調整を無効にすることができる。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器が妨害なしモードにあるという表示のディスプレイをもたらすことを含むことができる。場合によっては、表示は、エクステンデッドリアリティ環境内のウィジェット又は他のインジケータとして装着型エクステンデッドリアリティ機器のユーザに表示されてもよい。これに加えて又は代えて、ユーザの物理環境内の他の人々(すなわち、非ユーザ)が、装着型エクステンデッドリアリティ機器が妨害なしモードにあるという視覚的表示を知覚することができるように、装着型エクステンデッドリアリティ機器の外側に面する部分にインジケータ(例えば、図4に示すような光インジケータ451)が表示されてもよい。幾つかの実施形態では、ユーザの物理環境内の他の人々(すなわち、非ユーザ)が、装着型エクステンデッドリアリティ機器が妨害なしモードにあるという視覚的表示を知覚することができるように、装着型エクステンデッドリアリティ機器と通信する入力デバイス(例えば、統合計算インタフェースデバイス)にインジケータ(例えば、図3に示すような光インジケータ351)を表示することができる。
幾つかの実施形態では、妨害なしモードの選択は調整可能であり、妨害なしモードのレベルは、装着型エクステンデッドリアリティ機器のユーザによって選択可能である。例えば、妨害なしモードは、異なるレベルの妨害なしモードが存在するように(すなわち、調整可能である)構成可能であり得る。妨害なしモードの異なるレベルでは、特定の規則が実施されてもよいが、他の規則は実施されなくてもよい。例えば、ユーザが仮想会議にいる場合、ユーザは何らかの理由で邪魔されないことを好む可能性があり、環境変化がある場合(幾つかの実施形態では、妨害なしモードの高レベル設定に対応する)、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整するための規則は実装されない可能性がある。別の例として、ユーザが文書で作業している場合(幾つかの実施形態では、妨害なしモードの低レベル設定に対応する)、ユーザは、全ての環境の変化ではなく、特定の環境の変化について警告されることを好む可能性があるため、環境の変化がある場合、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整するための幾つかの規則を実施することができる。
幾つかの実施形態では、妨害なしモードレベルの選択は、環境変化を検出したときにどの規則が実施され得るかを自動的に決定することができる。幾つかの実施形態では、ユーザは、選択された妨害なしモードで環境変化を検出すると、どの規則を実施することができるかを選択することができる。例えば、ユーザが妨害なしモードレベルを選択した後、ユーザは、選択された妨害なしレベルで実施され得る規則のリストを提示されてもよく、ユーザは、実施される個々の規則を選択してもよい。規則のリストは、エクステンデッドリアリティ環境においてユーザに提示されてもよく、ユーザは、チェックボックスのセット、ドロップダウンリスト、リストボックス、又はユーザが複数のオプションのうちの1つ以上を選択することを可能にする他のタイプのユーザインタフェース要素などのユーザインタフェース要素を介して個々の規則を選択してもよい。妨害なしモードのレベルを選択する(幾つかの実施形態では、選択された妨害なしモードレベルで実施されるべき特定の規則も選択する)柔軟性は、装着型エクステンデッドリアリティ機器と関与している間のユーザの体験を向上させることができる。
幾つかの実施形態では、妨害なしモードのレベルは、エクステンデッドリアリティ環境内の相互作用要素を介して調整可能であり得る。例えば、相互作用要素は、スライダ、チェックボックス、ラジオボタン、ボタン、ドロップダウンリスト、リストボックス、又はユーザが妨害なしモードのレベルを選択するための複数のオプションのうちの1つを選択することを可能にする他のタイプのユーザインタフェース入力コントロールを含むことができる。例えば、拡張現実(AR)モードから仮想現実(VR)モードに(又はその逆に)変更するとき、スライダコントロールを仮想相互作用要素に使用することができる。
幾つかの実施形態では、妨害なしモードのレベルは、装着型エクステンデッドリアリティ機器又は装着型エクステンデッドリアリティ機器と通信する入力デバイス(例えば、統合計算インタフェースデバイス)に配置された物理制御(例えば、スライダ又はノブ)を介して調整可能であり得る。
図28は、装着型エクステンデッドリアリティ機器が妨害なしモードを含む物理環境において環境適応型エクステンデッドリアリティディスプレイを容易にするための例示的な方法2800のフローチャートである。図28は、単なる一実施形態の例示であり、本開示の範囲内で、幾つかの図示された要素を省略し、他の要素を追加することができることを理解すべきである。
仮想コンテンツは、装着型エクステンデッドリアリティ機器のユーザに表示され得る(動作2802)。画像データは、例えば、装着型エクステンデッドリアリティ機器内の画像センサを介して、装着型エクステンデッドリアリティ機器から取得することができる(動作2804)。ユーザの環境の変化を画像データにおいて検出することができる(動作2806)。幾つかの実施形態では、特定の環境変化は、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによって検出され得る。幾つかの実施形態では、検出は、装着型エクステンデッドリアリティ機器と通信する1つ以上のセンサによって実行されてもよい。
ユーザの環境の変化を検出すると、規則のグループにアクセスすることができる(動作2808)。幾つかの実施形態では、規則のグループは、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによってアクセスされてもよい。幾つかの実施形態では、規則のグループは、装着型エクステンデッドリアリティ機器内に配置されたメモリ、装着型エクステンデッドリアリティ機器と通信するデバイス内に配置されたメモリ(例えば、統合計算インタフェースデバイス)、又は装着型エクステンデッドリアリティ機器によってアクセス可能なリモートストレージ(例えば、クラウドベースのストレージ)に記憶されてもよい。
検出された環境変化に対応する規則のグループ内に規則があるかどうかを決定することができる(動作2810)。幾つかの実施形態では、決定は、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによって行われてもよい。検出された環境変化に対応する規則がない場合(動作2810、「いいえ」分岐)、少なくとも1つのエクステンデッドリアリティ表示パラメータを調整するために実施される規則としてデフォルト規則を選択することができる(動作2812)。幾つかの実施形態では、デフォルト規則は、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによって選択されてもよい。幾つかの実施形態では、対応する規則がない環境変化のタイプが発生し得る。そのような状況では、何も動作を起こさない代わりに、少なくとも1つのエクステンデッドリアリティ表示パラメータを調整するためのデフォルト規則を実施することができる。例えば、デフォルトの規則は、ユーザが物理環境の変化を知覚できるように、エクステンデッドリアリティディスプレイの不透明度を50%の設定に調整することであってもよい。別の例として、デフォルトの規則は、ユーザが物理環境の変化を知覚できるように、エクステンデッドリアリティディスプレイ及び/又はエクステンデッドリアリティ環境の側に仮想スクリーンを移動させることであってもよい。他のタイプのデフォルト規則も可能であるが、デフォルト規則は、ユーザが物理環境の変化を知覚できるように、少なくとも1つのエクステンデッドリアリティ表示パラメータに対する1つ以上の調整を含むべきである。
検出された環境変化に対応する規則がある場合(動作2810、「はい」分岐)、又はデフォルト規則が選択されている場合には(動作2812)、装着型エクステンデッドリアリティ機器の妨害なしモードがアクティブであるかどうかの決定を行うことができる(動作2814)。幾つかの実施形態では、妨害なしモードがアクティブであるかどうかの決定は、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによって行われてもよい。幾つかの実施形態では、妨害なしモードは、自動的に入力されてもよいし、手動で入力されてもよい。方法2800の動作は、妨害なしモードがどのようにアクティブにされたかに基づいて変化しない。
妨害なしモードがアクティブでない場合(動作2814、「いいえ」分岐)、検出された環境変化に対応する規則又はデフォルト規則は、エクステンデッドリアリティディスプレイの少なくとも1つのエクステンデッドリアリティ表示パラメータを調整するために、装着型エクステンデッドリアリティ機器に実装される(動作2816)。幾つかの実施形態では、規則又はデフォルト規則は、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによって実施されてもよい。
妨害なしモードがアクティブである場合(動作2814、「はい」分岐)、妨害なしモードが検出された環境変化に対応し得る任意の規則に優先するかどうかの決定を行うことができる(動作2818)。幾つかの実施形態では、決定は、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによって行われてもよい。妨害なしモードがいずれの規則も無効にしない場合(動作2818、「いいえ」分岐)、検出された環境変化に対応する規則又はデフォルト規則は、エクステンデッドリアリティディスプレイの少なくとも1つのエクステンデッドリアリティ表示パラメータを調整するために、装着型エクステンデッドリアリティ機器に実装され得る(動作2816)。
妨害なしモードが少なくとも1つの規則に優先する場合(動作2818、「はい」分岐)、検出された環境変化に対応する規則、又は妨害なしモードによって許可されたデフォルト規則が、エクステンデッドリアリティディスプレイの少なくとも1つのエクステンデッドリアリティ表示パラメータを調整するために、装着型エクステンデッドリアリティ機器に実装される(動作2820)。幾つかの実施形態では、規則又はデフォルト規則は、装着型エクステンデッドリアリティ機器に関連付けられたプロセッサによって実施されてもよい。
幾つかの実施形態では、妨害なしモードは、デフォルト規則を含む任意の規則を無効にすることができる。幾つかの実施形態では、デフォルト規則が実施されるように選択された場合、デフォルト規則は、妨害なしモードを無効にすることができる。
幾つかの実施形態では、環境の変化は、装着型エクステンデッドリアリティ機器のユーザの動き、装着型エクステンデッドリアリティ機器のユーザの姿勢の変化、装着型エクステンデッドリアリティ機器のユーザと別の個人との相互作用、装着型エクステンデッドリアリティ機器のユーザとオブジェクトとの相互作用、物理環境の周囲光レベルの変化、物理環境のノイズレベルの変化、又は物理環境の温度の変化のうちの少なくとも幾つかを含み得る。例えば、環境変化は、能動的変化(例えば、ユーザが移動すること、又はユーザの物理環境の近くを移動する別の個人もしくはオブジェクト)及び受動的変化(例えば、温度の変化又は周囲光レベルの変化)を含むことができる。幾つかの実施形態では、規則の異なるグループは、異なるタイプの環境変化に関連付けられてもよい。例えば、規則の第1のグループは、能動的変更(装着型エクステンデッドリアリティ機器のユーザが物理環境を見ることを可能にするためにエクステンデッドリアリティ環境の側に仮想スクリーンを移動することなど)に関連付けられてもよく、規則の第2のグループは、受動的変更に関連付けられてもよい(装着型エクステンデッドリアリティ機器のユーザがエクステンデッドリアリティ表示パラメータを手動で調整する必要なく仮想コンテンツを見続けることができるように、物理環境の周囲光レベルの変化に対応するためにエクステンデッドリアリティディスプレイの輝度を変更することなど)。
幾つかの実施形態では、規則の第1のグループは、規則の第2のグループよりも実施において優先度を有することができる。例えば、物理環境内のオブジェクトがユーザに向かって移動しており、関連する規則が、ユーザが装着型エクステンデッドリアリティ機器の外側を見てオブジェクトを観察できるようにエクステンデッドリアリティディスプレイを減光又は移動すべきであることを示す場合、この規則は、物理環境内の周囲光レベルの変化に関連する規則よりも優先され得、その結果、移動オブジェクトに関連する規則は、周囲光レベルの変化に関連する規則の前又は代わりに実施され得る。
幾つかの実施形態では、検出された特定の環境変化が装着型エクステンデッドリアリティ機器のユーザの動きを含む場合、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整することは、仮想的に表示されたコンテンツを縮小することを含み得る。例えば、ユーザは物理環境内を移動している可能性があり、全ての仮想スクリーンのサイズを縮小することができ、その結果、ユーザは、物理環境を見るために装着型エクステンデッドリアリティ機器を通して見ることができ、ユーザは、仮想オブジェクトによって視野が遮られることなく物理環境内を安全に移動することができる。幾つかの実施形態では、仮想的に表示されたコンテンツを縮小することに伴って、又は仮想的に表示されたコンテンツを縮小する代わりに、他のエクステンデッドリアリティ表示パラメータを調整することができる。例えば、エクステンデッドリアリティディスプレイの不透明度は、ユーザが物理環境を見るために装着型エクステンデッドリアリティ機器を通して見ることができ、ユーザが仮想オブジェクトによって視野を遮られることなく物理環境内を安全に移動することができるように低減され得る。別の例として、エクステンデッドリアリティディスプレイの仮想スクリーンは、ユーザが物理環境を見るために装着型エクステンデッドリアリティ機器を通して見ることができ、ユーザがエクステンデッドリアリティ環境の仮想スクリーンの少なくとも幾つかによって視野が遮られることなく物理環境内を安全に移動することができるように、移動することができる。(例えば、仮想スクリーンは、エクステンデッドリアリティ環境の左側、右側、上部、下部、又は角に移動することができる)幾つかの実施形態では、異なる仮想スクリーンをエクステンデッドリアリティ環境の異なる部分に移動させることができる。
幾つかの実施形態では、検出された特定の環境変化が装着型エクステンデッドリアリティ機器の視野への個人の進入を含む場合、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整することは、仮想的に表示されたコンテンツを移動させることを含む。例えば、装着型エクステンデッドリアリティ機器の視野内への個人の進入が検出されると、全ての仮想スクリーンは、エクステンデッドリアリティ環境の側面、エクステンデッドリアリティ環境の上部もしくは下部、又はエクステンデッドリアリティ環境の角に移動されてもよく、その結果、ユーザは、仮想スクリーンによって視野が遮られることなく、装着型エクステンデッドリアリティ機器を通して個人を見ることができる。別の例として、装着型エクステンデッドリアリティ機器の視野内への個人の進入が検出されたとき、1つ以上の仮想スクリーンはエクステンデッドリアリティ環境の一方の側に移動されてもよく、一方で1つ以上の他の仮想スクリーンはエクステンデッドリアリティ環境の反対側に移動されてもよい。幾つかの実施形態では、仮想的に表示されたコンテンツを移動するのに伴って、又は仮想的に表示されたコンテンツを移動する代わりに、他のエクステンデッドリアリティ表示パラメータを調整することができる。例えば、エクステンデッドリアリティディスプレイの不透明度は、ユーザがエクステンデッドリアリティディスプレイによって視野が遮られることなく個人を見るために装着型エクステンデッドリアリティ機器を通して見ることができるように低減されてもよい。
幾つかの実施形態では、検出された特定の環境変化が装着型エクステンデッドリアリティ機器のユーザの姿勢の変化を含む場合、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整することは、仮想的に表示されたコンテンツの仮想サイズを変更すること、及び仮想的に表示されたコンテンツからの仮想距離を変更することを含む。例えば、ユーザがある距離を移動することを伴わない物理環境に対するユーザの身体位置の変化を検出することが可能であり得る。ユーザがポーズをレイバック位置に変更する場合(例えば、座位からリクライニング又は横になる位置まで)、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整することは、仮想的に表示されたコンテンツを拡大し、仮想的に表示されたコンテンツのユーザからの仮想距離を増大させることを含むことができる(すなわち、仮想コンテンツは、より大きくなりながらユーザから遠ざかるようにユーザに見える)。別の例として、ユーザが姿勢を前傾姿勢に(例えば、座位姿勢又は横になった姿勢から前傾姿勢に)変更している場合、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整することは、ユーザからの仮想表示コンテンツの仮想距離を減少させることを含むことができる(すなわち、仮想コンテンツは、ユーザに向かって移動しているようにユーザに見える)。幾つかの実施形態では、仮想的に表示されたコンテンツの仮想サイズを変更し、仮想的に表示されたコンテンツからの仮想距離を変更するとともに、又は仮想的に表示されたコンテンツの仮想サイズを変更し、仮想的に表示されたコンテンツからの仮想距離を変更する代わりに、他のエクステンデッドリアリティ表示パラメータを調整することができる。例えば、仮想オブジェクトの視野角は、ユーザの姿勢の変化に対応して調整されてもよい。
幾つかの実施形態では、検出された特定の環境変化が環境の動きを含む場合、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整することは、仮想的に表示されたコンテンツの不透明度を変更することを含む。特定の環境変化は、装着型エクステンデッドリアリティ機器の動きに起因する(例えば、装着型エクステンデッドリアリティ機器のユーザが歩行しているか、又は移動車両に位置していることに起因する)、又は物理環境内で動き始めるオブジェクトに起因し得る。例えば、静止環境が移動環境に変化した(例えば、ユーザは歩行を開始する)ことに応じて、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整することは、仮想オブジェクトによって視野が遮られることなくユーザが物理環境をよりよく見ることを可能にするために、仮想的に表示されたコンテンツの不透明度を減少させることを含むことができる。別の例として、移動環境が静止環境に変化した(例えば、ユーザは歩行を止める)ことに応じて、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整することは、仮想的に表示されたコンテンツの不透明度を増大させて、ユーザが仮想的に表示されたコンテンツをよりよく見ることを可能にし、場合によっては物理環境のユーザの視界を遮ることを含むことができる。幾つかの実施形態では、他のエクステンデッドリアリティ表示パラメータは、不透明度の変更と共に、又は不透明度の変更の代わりに調整されてもよい。例えば、仮想的に表示されたコンテンツのサイズ及び/又は位置を調整することができる。
幾つかの実施形態では、検出された特定の環境変化が装着型エクステンデッドリアリティ機器のユーザの運動を含む場合、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整することは、仮想的に表示されたコンテンツの不透明度を減少させることを含み得る。運動という用語は、歩行、ランニング、ユーザの物理的位置の変更、又は歩行、ランニングの開始、又は物理的位置の変更のうちの任意の1つ以上を含み得る。幾つかの実施形態では、仮想的に表示されたコンテンツの不透明度を減少させることにより、装着型エクステンデッドリアリティ機器のユーザは、仮想コンテンツを見ることができる一方で、物理環境をよりよく見ることができ、物理環境内を安全に移動することができる。幾つかの実施形態では、他のエクステンデッドリアリティ表示パラメータは、不透明度の変更と共に、又は不透明度の変更の代わりに調整されてもよい。例えば、仮想的に表示されたコンテンツのサイズを縮小(すなわち、仮想的に表示されたコンテンツの複数の仮想スクリーンのうちの1つが縮小されてもよい。)してもよい。別の例として、仮想的に表示されたコンテンツは、ユーザの移動方向から離れるように移動されてもよい。
幾つかの実施形態では、検出された特定の環境変化が、装着型エクステンデッドリアリティ機器のユーザによる運動の停止を含む場合、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整することは、仮想的に表示されたコンテンツの不透明度を増大させることを含むことができる。例えば、装着型エクステンデッドリアリティ機器のユーザが移動を停止すると、仮想的に表示されたコンテンツの不透明度が増大して、仮想的に表示されたコンテンツをよりよく見ることができ、物理環境のユーザの視界を少なくとも部分的に遮ることができる。幾つかの実施形態では、不透明度を以前の状態(例えば、運動が開始される前の不透明度設定に対して、)に戻すことができる。幾つかの実施形態では、他のエクステンデッドリアリティ表示パラメータは、不透明度の変更と共に、又は不透明度の変更の代わりに調整されてもよい。例えば、仮想的に表示されたコンテンツのサイズは、運動が開始される前に、仮想的に表示されたコンテンツのサイズに拡大又は戻されてもよい。別の例として、仮想的に表示されたコンテンツがユーザの移動方向から以前に移動された場合、仮想的に表示されたコンテンツは、ユーザの視野内に戻されてもよく、又はユーザの視野内でより中心になるように移動されてもよい。
幾つかの実施形態では、仮想的に表示されたコンテンツが音声を含む場合、コンテンツを仮想的に表示することは、装着型エクステンデッドリアリティ機器に音声を出力させることを含むことができ、特定の規則を実施することは、音声の出力に関連する音量又は音声の出力に関連する音声ソースの仮想位置のうちの少なくとも1つを調整することを含むことができる。仮想コンテンツに関連する音声は、スピーカを介して装着型エクステンデッドリアリティ機器によって出力され得る。一例として、図4に示すように、スピーカ453又は出力インタフェース450に接続された他の出力デバイスが音声を出力してもよい。幾つかの実施形態では、音声の出力に関連する音量を調整することは、ユーザが検出された環境変化に反応又は応答することを可能にするために、音声の音量を減少させること又は音声をミュートすることを含むことができる。幾つかの実施形態では、音声ソースの仮想位置を調整することは、例えば、検出された環境変化が発生しているユーザの側とは反対側のユーザの側に音声の仮想位置を移動させることを含むことができる。例えば、外部ノイズがユーザの左側で検出された場合、音声の仮想位置は、ユーザが表示された仮想コンテンツに関連する音声を聴き続けながら環境変化を引き起こした外部ノイズを聞くことができるように、ユーザの右側にあるように調整され得る。
幾つかの実施形態では、装着型エクステンデッドリアリティ機器に関連付けられた任意の他の設定又はパラメータ(例えば、規則の緊急グループ)に関係なく、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整するために実装され得る更なる規則グループがあり得る。幾つかの実施形態では、規則の緊急グループは、妨害なしモードを無効にすることができる。幾つかの実施形態では、妨害なしモードのレベルは、規則の緊急グループからの全ての規則又は規則の緊急グループからの特定の規則のみの実施を可能にするように選択可能であり得る。幾つかの実施形態では、規則の緊急グループは、ユーザによって無効にされなくてもよい。
例えば、物理環境内のオブジェクトがユーザに向かって移動していることが検出された場合、又はユーザが物理環境内でオブジェクトに向かって移動している場合、規則の緊急グループからの規則は、ユーザが物理環境を明確に見ることができ、オブジェクトとの衝突を回避することができるように、全ての仮想コンテンツ(又は特定のタイプの全ての仮想コンテンツ)のエクステンデッドリアリティディスプレイ及び/又はエクステンデッドリアリティ環境をクリアするために実装され得る。例えば、仮想的に表示されたコンテンツの不透明度は、ユーザが装着型エクステンデッドリアリティ機器を通して物理環境を明確に見ることを可能にするために低レベルに低減され得る。別の例として、仮想スクリーンの全ては、ユーザが装着型エクステンデッドリアリティ機器を介して物理環境を明確に見ることを可能にするために、ユーザの視野から縮小又は移動されてもよい。別の例として、図4に示すように、スピーカ453又は出力インタフェース450に接続された他の出力デバイスを介して、装着型エクステンデッドリアリティ機器のユーザに音声警報を出力することができる。
別の例として、ユーザは、着信通信が特定の個人から受信された場合に警告される規則の緊急グループ内の規則を設定することができる。着信通信が特定の個人から受信されると、通信はエクステンデッドリアリティ環境にあり得る他の仮想オブジェクトの前にエクステンデッドリアリティ環境に表示されてもよく、他の仮想オブジェクトに関連付けられた表示パラメータは、ユーザが着信通信に注意を集中させることを可能にするように調整され得る。
図29A~図29Cは、装着型エクステンデッドリアリティ機器を装着したユーザの視点からの一例、及び環境変化が発生したときのエクステンデッドリアリティディスプレイ及び/又はエクステンデッドリアリティ環境への2つの変更例を示す。説明のために、装着型エクステンデッドリアリティ機器は図29A~図29Cには示されていない。図29Aは、「前」の状況、すなわち、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整するための特定の規則が実施される前を表す。図29B及び図29Cは、「後」の状況、すなわち、少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整するための特定の規則が実装された後の状況の2つの異なる例を表す。
図29Aは、環境変化の前に使用されている装着型エクステンデッドリアリティ機器の例示的な概略図である。エクステンデッドリアリティ環境2900が、装着型エクステンデッドリアリティ機器のユーザに示されている。エクステンデッドリアリティ環境2900は、1つ以上のスクリーン2904を有する仮想コンテンツ2902を含む。図29Aに示すように、仮想コンテンツ2902は、仮想スクリーン2904a、2904bを含む。幾つかの実施形態では、仮想コンテンツ2902は、任意の数の仮想スクリーン2904を含むことができる。装着型エクステンデッドリアリティ機器に関連付けられた画像センサの視野2906が、図29Aに破線で示されている。環境変化2908(ユーザが位置する部屋に入る人として図29Aに示されている。)が視野2906内で生じる。
図29Bは、環境変化に応じて実装される少なくとも1つのエクステンデッドリアリティ表示パラメータの調整の第1の例の例示的な概略図である。図29Bに示すように、環境変化2908は、ユーザの場所(例えば、人がユーザに近づく)の近くの視野2906内で発生する。幾つかの実施形態では、環境変化2908が視野2906内で発生したときに、特定の環境変化に基づいて少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整するための特定の規則を実施することができる。
幾つかの実施形態では、環境変化2908が視野2906内で検出されたときだけでなく、環境変化2908がユーザから所定の距離内で発生したときに、特定の環境変化に基づいて少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整するための特定の規則を実施することができる。例えば、人がユーザと同じ部屋に入ったが、部屋の一部に沿って移動し、ユーザに向かっていない場合など、ユーザから離れているが視野2906内に生じる環境変化2908を区別することが可能であり得る。この動きは依然として視野2906内にあり得るが、特定の規則を実施させるのに十分にユーザに近くない可能性がある。
環境変化2908がユーザの現在の物理的位置の近くの視野2906内に位置するとき、特定の環境変化に基づいて少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整するための特定の規則を実施することができる。図29Bに示すように、特定の規則が実施される場合、仮想スクリーン2904aは、仮想スクリーン2904bの上に重ねて表示されてもよい(すなわち、仮想スクリーン2904bは、エクステンデッドリアリティ環境2900の右側のその元の位置からエクステンデッドリアリティ環境2900の左側に移動することができる)。仮想スクリーン2904a及び2904bをエクステンデッドリアリティ環境2900の左側に移動させることにより、ユーザは、装着型エクステンデッドリアリティ機器を取り外すことなく人を見て相互作用することができる。
図29Cは、環境変化に応じて実装される少なくとも1つのエクステンデッドリアリティ表示パラメータの調整の第2の例の例示的な概略図である。環境変化2908がユーザの現在の物理的位置の近くの視野2906内に位置するとき、特定の環境変化に基づいて少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整するための特定の規則を実施することができる。特定の規則が実施されると、仮想スクリーン2904a及び2904bは元の不透明度パラメータで表示され、仮想スクリーン2904cの不透明度パラメータは、ユーザが仮想スクリーン2904cを通して見ることができ、装着型エクステンデッドリアリティ機器を取り外すことなく人と相互作用することができるように低減され得る。
幾つかの実施形態では、環境変化2908が視野2906内で発生したときに、特定の環境変化に基づいて少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整するための第1の特定の規則を実施することができ、環境変化2908がユーザの物理的位置に接近した場合に、特定の環境変化に基づいて少なくとも1つの調整可能なエクステンデッドリアリティ表示パラメータを調整するための第2の特定の規則を実施することができる(すなわち、環境変化2908は、ユーザの物理的位置から所定の距離内で発生する)。例えば、図29A及び図29Cに示すように、第1の規則は、人が視野2906に入ると(図29Aに示すように)仮想スクリーン2904cの不透明度を第1の値に変更することを含んでもよく、第2の規則は、人がユーザの物理的位置に近いと(図29Cに示すように)仮想スクリーン2904cの不透明度を第2の値に変更することを含んでもよい。
図29A~図29Cは、2つの実施形態の例示的な表示であり、本開示の範囲内で、幾つかの図示された要素を省略し、他の要素を追加することができることを理解すべきである。更に、他のタイプの環境変化2908、並びにエクステンデッドリアリティディスプレイ及び/又はエクステンデッドリアリティ環境に対する調整が考えられる。図29A~図29Cに関連して説明されたエクステンデッドリアリティディスプレイ及び/又はエクステンデッドリアリティ環境に対する特定のタイプの環境変化及び対応する調整は、本明細書に記載された特定の例に限定されると見なされるべきではなく、特許請求の範囲に包含されることが意図される。
幾つかの開示された実施形態は、仮想オブジェクトの表示を選択的に制御するための命令を含む非一時的コンピュータ可読媒体に関し、コンピュータ可読媒体は、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに様々なステップを実行させる命令を含む。非一時的コンピュータ可読媒体は、本明細書で説明するように、少なくとも1つのプロセッサによって読み取り可能な情報又はデータを格納することができる任意のタイプの物理メモリを指すことができる。例としては、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、揮発性メモリ、不揮発性メモリ、ハードドライブ、CD ROM、DVD、フラッシュドライブ、ディスク、任意の他の光学データ記憶媒体、穴のパターンを有する任意の物理媒体、PROM、EPROM、FLASH-EPROM又は任意の他のフラッシュメモリ、NVRAM、キャッシュ、レジスタ、任意の他のメモリチップ又はカートリッジ、及びそれらのネットワークバージョンが挙げられる。選択的制御は、所望の又は所定の方法での指示、操作、変更、動作又は変化(例えば、ディスプレイ)を指すことができる。ディスプレイは、本明細書で説明するように、エクステンデッドリアリティ機器によってユーザに提示され得る任意のタイプのデータ表示を指すことができる。提示される仮想コンテンツは、仮想オブジェクト、無生物の仮想オブジェクト、経時的に又はトリガに応じて変化するように構成された生物の仮想オブジェクト、仮想二次元コンテンツ、仮想三次元コンテンツ、物理環境の一部又は物理オブジェクト上の仮想オーバーレイ、物理環境又は物理オブジェクトへの仮想追加、仮想プロモーションコンテンツ、物理オブジェクトの仮想ディスプレイ、物理環境の仮想ディスプレイ、仮想文書、仮想キャラクタ又はペルソナ、仮想コンピュータスクリーン、仮想ウィジェット、又は仮想的に情報を提示するための任意の他のフォーマットを含むことができる。本開示と一致して、ディスプレイは、コンピュータ又は処理デバイスによってレンダリングされる任意の視覚的提示を含むことができる。一実施形態では、ディスプレイは、限定された領域内でコンピュータによってレンダリングされ、特定のタイプのオブジェクト(無生物の仮想オブジェクト、生物の仮想オブジェクト、仮想家具、仮想装飾オブジェクト、仮想ウィジェット、又は他の仮想ディスプレイなど)を表すように構成された視覚的提示である仮想オブジェクトを含むことができる。レンダリングされた視覚的提示は、例えば、物理オブジェクトの外観の変化を模倣するように、状態オブジェクトへの変化又はオブジェクトの視野角の変化を反映するべく変化し得る。別の実施形態では、仮想的に提示されるコンテンツは、情報を提示するように構成された仮想コンピュータスクリーン(本明細書では仮想ディスプレイとも呼ばれる)を含むことができる。
幾つかの開示された実施形態は、第1の表示モード及び第2の表示モードで動作可能な装着型エクステンデッドリアリティ機器を介して環境内に複数の仮想オブジェクトを仮想的に提示することを含むことができ、第1の表示モードでは、複数の仮想オブジェクトの位置は、装着型エクステンデッドリアリティ機器の検出された動きに関係なく環境内に維持され、第2の表示モードでは、複数の仮想オブジェクトは、装着型エクステンデッドリアリティ機器の検出された動きに応じて環境内で動く。複数のオブジェクトは、2つ以上のオブジェクトを指し得る。環境は、1つ以上のオブジェクトが位置する周囲、設定、コンテキスト、又は任意の他の状態又は条件を指すことができる。環境の幾つかの非限定的な例は、エクステンデッドリアリティ環境、拡張現実環境、複合現実環境、及び仮想現実環境を含むことができる。表示モードは、任意の形態の提示を指すことができる。第1の表示モードでは、情報が1つの形態で提示されてもよく、第2の表示モードでは、情報が別の形態で提示されてもよい。異なる形態は、例えば、物質、アニメーション、提示方法、又は入力に応答した相互作用もしくは変化の方法のうちの1つ以上において異なり得る。第2の表示モードは、第1の表示モードとは異なる表示モードであってもよい。仮想オブジェクトは、環境内に留まることができるという意味で、環境内に維持され得る。例えば、装着型エクステンデッドリアリティ機器のユーザが向きを変更した場合でも、幾つかの実施形態では、向きの変更前にユーザの視野内にあった仮想オブジェクトは、ユーザの視野内に依然として残っている場合がある。装着型エクステンデッドリアリティ機器の検出された動きは、装着型エクステンデッドリアリティ機器の位置、向き、又は回転の認識された変化を指すことができる。そのような動きの非限定的な例は、例えば、ユーザが装着型エクステンデッドリアリティ機器を1インチ、1フィート、1ヤード、又は任意の他の距離だけ変位させることを、ユーザが装着型エクステンデッドリアリティ機器を1°、10°、90°、180°、270°、360°、又は任意の他の角度だけ回転させること、ユーザが装着型エクステンデッドリアリティ機器の任意の片側を任意の方向に傾けること、又は、装着型エクステンデッドリアリティ機器の場所、位置、向き、又は回転の任意の他の変更を含むことができる。装着型エクステンデッドリアリティ機器は、装着型エクステンデッドリアリティ機器の動きを検出するための1つ以上のセンサ(例えば、画像センサ、方位センサ、又は動きセンサ)を装備することができる。
幾つかの実施形態は、第1の表示モード(例えば、マトリクスモード)及び第2の表示モード(例えば、非マトリクスモード)で動作可能な装着型エクステンデッドリアリティ機器(例えば、スマートグラス)を介して環境(例えば、エクステンデッドリアリティ環境)内に複数の仮想オブジェクト(例えば、仮想コンピュータスクリーン、仮想ウィジェット、生物の仮想オブジェクト、又は無生物の仮想オブジェクト)を仮想的に提示することを含むことができる。マトリクスモードでは、複数の仮想オブジェクトの位置は、ユーザの位置にかかわらず変更されないままであり得る。対照的に、非マトリクスモードでは、複数の仮想オブジェクトの位置は、ユーザが移動するにつれてユーザに追従することができる。第1の表示モードの幾つかの実施形態では、複数の仮想オブジェクトの位置は、装着型エクステンデッドリアリティ機器の検出された動き(例えば、変位)に関係なく、環境内に維持される。第2の表示モードの幾つかの実施形態では、複数の仮想オブジェクトは、装着型エクステンデッドリアリティ機器の検出された動きに応じて環境内を移動することができる。複数の仮想オブジェクトの位置は、それらの位置、場所、向き、又は任意の他の配置方法を指すことができる。複数の仮想オブジェクトの位置の非限定的な例は、仮想もしくは実表面上又は別の仮想オブジェクト上に立っている、座っている、又は横たわっている複数の仮想オブジェクトを含み得る。例えば、第1の表示モードでは、2つの仮想オブジェクトが机の上に配置され、1つの仮想オブジェクト(例えば、仮想スクリーン)がユーザの正面に垂直に配置されてもよい。第1の表示モードの幾つかの実施形態では、複数の仮想オブジェクトは、装着型エクステンデッドリアリティ機器の検出された動きに関係なく、これらの位置に留まることができる。他の実施形態では、複数の仮想オブジェクトは、装着型エクステンデッドリアリティ機器の検出された動きに応じて、ユーザと共に又はユーザに隣接して移動することができる。
例として、図30は、複数の仮想オブジェクト3002(例えば、仮想コンピュータスクリーン3008、仮想ウィジェット、生物の仮想オブジェクト、及び無生物の仮想オブジェクト)及び装着型エクステンデッドリアリティ機器3006(例えば、スマートグラス)を含む例示的な環境3000を示す。例として、図31Aは、複数の仮想オブジェクト3002が第1の表示モードにある例示的な環境3000を示す。第1の表示モードでは、複数の仮想オブジェクト3002の位置は、装着型エクステンデッドリアリティ機器3006の検出された動きに関係なく、環境3000内に維持される。例えば、デカルト座標系の原点に対する複数の仮想オブジェクトの距離は、x軸、y軸、又はz軸に対して変化しなくてもよい。例として、図31Bは、複数の仮想オブジェクト3002が第2の表示モードにある例示的な環境3000を示す。第2の表示モードでは、複数の仮想オブジェクト3002は、装着型エクステンデッドリアリティ機器3006の検出された動きに応じて、環境3000内のそれらの元の位置(図31Aに示すように、)に対して移動している。
幾つかの開示された実施形態と一致して、装着型エクステンデッドリアリティ機器を介して提示される複数の仮想オブジェクトは、1つ以上の仮想平面上に配置され得る。1つの移植では、少なくとも1つ以上の仮想平面が湾曲していてもよい。仮想平面は、(非湾曲平面の場合)その仮想表面上の任意の2点を結ぶ直線がその仮想表面上に完全に存在するように、平坦、水平、垂直、対角、均一、又は湾曲した仮想表面を指すことができる。湾曲した仮想平面は、その部分の一部又は全部にわたって平坦な表面から逸脱するアーチ状、楕円状、丸みを帯びた、又は任意の他の形状の表面を指すことができる。曲面上の点は3つの方向で変化するが、平面の曲率は既知であるため、本開示の範囲内で、平面は曲面を含むことができる。湾曲した平面の幾つかの非限定的な例は、内側(例えば、凹面)又は外側(例えば、凸状)に湾曲した平面を含むことができる。装着型エクステンデッドリアリティ機器(例えば、スマートグラス)を介して提示される複数の仮想オブジェクト(例えば、仮想コンピュータスクリーン、仮想ウィジェット、生物の仮想オブジェクト、及び無生物の仮想オブジェクト)は、1つ以上の仮想平面(例えば、水平仮想平面、垂直仮想平面、又は曲面)上に配置されてもよい。例えば、2つの仮想オブジェクトが水平仮想平面(例えば、机の表面)上に配置され、異なる仮想オブジェクト(例えば、仮想表示スクリーン)がユーザの正面の垂直仮想平面上に配置されてもよい。少なくとも1つ以上の仮想平面(例えば、1つの仮想平面)は、湾曲していてもよい(例えば、凹面)。
一例として、図30は、複数の仮想オブジェクト3002(例えば、仮想コンピュータスクリーン3008、仮想ウィジェット、生物の仮想オブジェクト、及び無生物の仮想オブジェクト)を含む例示的な環境3000を示す。仮想オブジェクト3012の第1のセット(例えば、仮想コンピュータスクリーン3008及び仮想ウィジェット)は、仮想平面(例えば、x軸及びy軸によって画定される平面)上に配置される。仮想オブジェクト3010の第2のセット(例えば、生物の仮想オブジェクト及び無生物の仮想オブジェクト)は、仮想平面(例えば、x軸及びz軸によって画定される平面)上に配置される。
幾つかの実施形態によれば、装着型エクステンデッドリアリティ機器を介して提示される複数の仮想オブジェクトは、実質的に垂直な表面上に提示される仮想オブジェクトの第1のセットと、実質的に水平な表面上に提示される仮想オブジェクトの第2のセットとを含むことができ、実施形態は、装着型エクステンデッドリアリティ機器の動きの方向を決定することを更に含むことができる。第1のセットの仮想オブジェクトは1つのグループを指すことができ、第2のセットの仮想オブジェクトは第2のグループを指すことができる。例えば、仮想オブジェクトの第1のセットは、装着型エクステンデッドリアリティ機器を介して提示されている全ての仮想オブジェクトから選択された1つ以上の仮想オブジェクトを含むことができる。第2のセットの仮想オブジェクトは、第1のセットと完全に異なっていてもよく、又は第1のセットに含まれる仮想オブジェクトの一部又は全てを含んでもよい。
実質的に垂直な表面は、主に、ほとんど、又は全体的に重力方向に平行な表面を指すことができる。仮想オブジェクトの第1のセットは、実質的に垂直な表面上に提示されてもよい。幾つかの実施形態の文脈では、実質的に水平な表面という用語は、主に、ほとんど、又は全体的に重力方向に直交する表面を指すことができる。仮想オブジェクトの第2のセットは、実質的に水平面上に提示されてもよい。
移動方向は、方位、軌道、経路、向き、角度、又は移動のコースを指すことができる。移動方向の幾つかの非限定的な例は、座標軸に沿った正の変位、座標軸に沿った負の変位、2つ以上の座標軸に沿った正及び/又は負の変位、又は1つ以上の座標軸に対する角回転を含むことができる。一例では、方向を決定することは、移動方向を確立すること、決定すること、計算すること、又は確認することを指すことができる。
仮想環境に提示される複数の仮想オブジェクトは、第1のセットの仮想オブジェクトと第2のセットの仮想オブジェクトとに分割され得る。第1のセットの仮想オブジェクトは、ユーザの前の垂直仮想平面上に提示されてもよい。仮想オブジェクトの第2のセットは、机の表面上に提示されてもよい。更に、装着型エクステンデッドリアリティ機器の移動方向は、座標軸の1つ以上に沿った変位(例えば、位置の変化)に基づいて決定することができる。
一例として、図30は、複数の仮想オブジェクト3002(例えば、仮想コンピュータスクリーン3008、仮想ウィジェット、生物の仮想オブジェクト、及び無生物の仮想オブジェクト)を含む例示的な環境3000を示す。装着型エクステンデッドリアリティ機器3006(例えば、スマートグラス)を介して提示される複数の仮想オブジェクト3002は、実質的に垂直な表面(例えば、x軸及びy軸によって画定される平面)上の第1のセットの仮想オブジェクト3012(例えば、仮想コンピュータスクリーン3008及び仮想ウィジェット)及び実質的に水平な表面(例えば、x軸及びz軸によって画定される平面)上の第2のセットの仮想オブジェクト3010(例えば、生物の仮想オブジェクト及び無生物の仮想オブジェクト)を含むことができる。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器の動きを検出することを含むことができる。動きを検出することは、位置及び/又は向きの変化が生じたことを確認することを含む。例えば、少なくとも1つのプロセッサは、装着型エクステンデッドリアリティ機器の現在の位置又は向きに対する装着型エクステンデッドリアリティ機器の変位及び/又は回転を検出するように構成されてもよい。幾つかの実施形態では、装着型エクステンデッドリアリティ機器は、装着型エクステンデッドリアリティ機器の位置及び/又は向きの変化を検出することができる少なくとも1つのセンサ(例えば、画像センサ、方位センサ、又は動きセンサ)を含むことができる。例えば、画像センサは、装着型エクステンデッドリアリティ機器に関連付けられた周囲又は環境の複数の画像を取得し、移動(例えば、位置又は向きの変化)を検出するために、エゴモーションアルゴリズムを使用して画像又は画素を互いに比較することができる。別の例として、動きセンサ(例えば、加速度計)は、装着型エクステンデッドリアリティ機器に関連する速度、加速度、又は振動の変化を検出して、装着型エクステンデッドリアリティ機器の位置又は向きの変化を決定するように構成され得る。
例として、図31Aは、装着型エクステンデッドリアリティ機器3006(例えば、スマートグラス)を含む例示的な環境3000を示す。装着型エクステンデッドリアリティ機器3006の移動3150を検出することは、図30-1に示すように、その以前の位置からの装着型エクステンデッドリアリティ機器3006の変位(例えば、x軸及びy軸の両方に沿った変位)又は向きの変化(例えば、x軸、y軸、及びz軸に対して)を検出することを含むことができる。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器が移動している間に複数の仮想オブジェクトを仮想的に提示する際に使用するための第1の表示モード又は第2の表示モードの選択を受信することを含むことができる。第1の表示モードの選択は、第1の表示モードの選択、選択、又は好みを指すことができる。選択の非限定的な例は、ユーザ入力選択(例えば、ボタンを押すこと、又はボタンもしくは他の制御装置を凝視すること)、又はコンピュータ生成選択(例えば、特定の状況に基づいてモードを自動的に選択する)を含むことができる。例えば、幾つかの実施形態は、装着型エクステンデッドリアリティ機器(例えば、スマートグラス)が移動している間に複数の仮想オブジェクト(例えば、仮想コンピュータスクリーン、仮想ウィジェット、生物の仮想オブジェクト、及び無生物の仮想オブジェクト)を仮想的に提示するのに使用するための第1の表示モード(例えば、マトリクスモード)の選択を受信することを含むことができる。この例では、第1の表示モードにおいて、複数の仮想オブジェクトの位置は、環境内での位置を変えずに維持され得る。別の例では、幾つかの実施形態は、装着型エクステンデッドリアリティ機器が移動している間に複数の仮想オブジェクトを仮想的に提示する際に使用するための第2の表示モード(例えば、非マトリクスモード)の選択を受信することを含むことができる。この例では、第2の表示モードにおいて、複数の仮想オブジェクトの位置が環境内で移動してもよい。
幾つかの開示された実施形態は、少なくとも1つの仮想オブジェクトを再配置すると、第2の表示モードの選択を示す更なる入力を受信することを含むことができる。少なくとも1つの仮想オブジェクトは、1つの仮想平面から異なる仮想平面に再配置されてもよい。仮想オブジェクトを再配置すると、装着型エクステンデッドリアリティ機器は、複数の仮想オブジェクトが装着型エクステンデッドリアリティ機器の検出された動きに応じて動く第2の表示モードの選択を示す入力デバイスを介してユーザからの入力を受信することができる。例えば、入力は、キーを押すことによってキーボードから、ポインティングデバイスを動かすことによってポイントデバイスから、1本又は複数の指をタッチパッド上で動かすことによってタッチパッドから、音声テキスト変換による口頭コマンドから、又は任意の他のタイプの入力デバイスを介して受け取ることができる。
更に、第2の表示モードの選択を示す更なる入力を受信した後、装着型エクステンデッドリアリティ機器の更なる検出された動きに応じて、1つ以上の仮想平面及び異なる仮想平面は、装着型エクステンデッドリアリティ機器の更なる検出された動きと一致する環境内で移動されてもよい。1つ以上の仮想平面及び異なる仮想平面を移動させる非限定的な例は、任意の垂直仮想平面を座標軸に沿って異なる座標軸に移動させること、任意の水平仮想平面を垂直仮想平面に移動させること、又は任意の垂直仮想平面を水平仮想平面に移動させることを含むことができる。例えば、第2の表示モードの選択を示すキーボード上のキーを押すユーザからの入力を受信した後、装着型エクステンデッドリアリティ機器の10°の回転に応じて、1つ以上の仮想平面及び異なる仮想平面を移動させることができる。この動きは、装着型エクステンデッドリアリティ機器の更なる検出された動きと一致し得る。例えば、更なる検出された動きがx軸からz軸に向かって10°の回転である場合、1つ以上の仮想平面及び異なる仮想平面は、x軸及びy軸で形成された仮想平面からy軸及びz軸で形成された仮想平面に移動することができる。
幾つかの開示された実施形態は、選択された表示モードが第2の表示モードであるときに、装着型エクステンデッドリアリティ機器の検出された動きと一致する1つ以上の仮想平面を移動させるステップを更に含むことができる。例えば、1つ以上の仮想平面及び異なる仮想平面を移動させることができる。例えば、装着型エクステンデッドリアリティ機器の更なる検出された動きがx軸からz軸に向かって10°の回転を含む場合、1つ以上の仮想平面及び異なる仮想平面は、一致するように、x軸及びy軸で形成された仮想平面からy軸及びz軸で形成された仮想平面に移動することができる。
幾つかの開示された実施形態は、選択された表示モードが第2の表示モードであるときに第2のセットの仮想オブジェクトの位置を維持しながら、装着型エクステンデッドリアリティ機器の検出された動きに基づいて第1のセットの仮想オブジェクトを移動させることを更に含むことができる。例えば、第2の表示モードにある間、仮想オブジェクトの第1のセットは、装着型エクステンデッドリアリティ機器の検出された動きに基づいて移動され得る。検出された動きは、x軸に沿った装着型エクステンデッドリアリティ機器の正の変位であってもよく、生物の仮想オブジェクト及び無生物の仮想オブジェクトはまた、x軸に沿った正の変位によって移動してもよい。更に、第2のオブジェクトセットの位置は、装着型エクステンデッドリアリティ機器の正の変位に関係なく、同じ位置に固定又は維持され得る。
例として、図32は、仮想オブジェクト3010のセット(例えば、生物の仮想オブジェクト及び無生物の仮想オブジェクト)及び仮想オブジェクト3012の異なるセット(例えば、仮想コンピュータスクリーン3008及び仮想ウィジェット)を有する例示的な環境3000を示す。仮想オブジェクト3010のセット(例えば、生物の仮想オブジェクト及び無生物の仮想オブジェクト)は、装着型エクステンデッドリアリティ機器3006の移動3150によって示される装着型エクステンデッドリアリティ機器3006(例えば、スマートグラス)の検出された正変位と同じ正変位だけx軸に沿って移動することができる。更に、仮想オブジェクト3012の異なるセット(例えば、仮想コンピュータスクリーン3008及び仮想ウィジェット)の位置は、装着型エクステンデッドリアリティ機器の容積に関係なく固定又は維持され得る。
幾つかの開示された実施形態は、選択された表示モードが第1の表示モードであるときに、装着型エクステンデッドリアリティ機器の移動の決定された方向に基づいて仮想オブジェクトの第1のセットの位置を維持しながら仮想オブジェクトの第1のセットを回転させることと、仮想オブジェクトの第2のセットを非回転状態に維持することとを更に含むことができる。例えば、仮想オブジェクトのセット(例えば、生物の仮想オブジェクト及び無生物の仮想オブジェクト)を90°回転させることができる。仮想オブジェクトのセットの位置は、装着型エクステンデッドリアリティ機器(例えば、スマートグラス)の移動の決定された方向がx軸(例えば、ユーザが瞬間的に作業机から離れたことを示す)に沿った正の変位である場合に維持され得る。他の例では、方向がx軸(例えば、ユーザがその日の作業を終えたことを示す)に沿った正の変位ではない場合、仮想オブジェクトのセットの位置は維持されなくてもよい。更に、幾つかの実施形態では、異なる仮想オブジェクトのセット(例えば、仮想コンピュータスクリーン及び仮想ウィジェット)を非回転状態に維持することができる。両方のステップは、選択された表示モードが第1の表示モードであるときに行われてもよい。或いは、これらのステップは、選択された表示モードが第1の表示モードではないときに行われてもよいし、行われなくてもよい。
例として、図33は、仮想オブジェクト3010のセット(例えば、生物の仮想オブジェクト及び無生物の仮想オブジェクト)及び仮想オブジェクト3012の異なるセット(例えば、仮想コンピュータスクリーン3008及び仮想ウィジェット)を有する例示的な環境3000を示す。仮想オブジェクト3010のセット(例えば、生物の仮想オブジェクト及び無生物の仮想オブジェクト)は、90°回転され得る。仮想オブジェクト3010のセットの位置は、装着型エクステンデッドリアリティ機器3006(例えば、スマートグラス)の移動3150の決定された方向がx軸に沿った正の変位である場合に維持され得る(例えば、ユーザが瞬間的に作業机から離れたことを示す)。更に、幾つかの実施形態では、仮想オブジェクト3012の異なるセット(例えば、仮想コンピュータスクリーン3008及び仮想ウィジェット)は、非回転状態に維持されてもよい。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器に接続可能なコンピューティングデバイスから入力を受信することを更に含むことができ、第1の表示モード又は第2の表示モードの選択は、受信した入力に基づくことができる。コンピューティングデバイスの非限定的な例は、ラップトップ、電話、コンピュータ、デスクトップコンピュータ、又はタブレットを含むことができる。例えば、コンピューティングデバイスは、キーボード上のキーの押下、マウスによるクリック、ジョイスティックの回転、トラックボールの回転、画像センサ、スキャナ、バーコードリーダ、バイオメトリックセンサ、又はマイクロフォンからの画像などの入力デバイスによる入力を受信することができる。これらの非限定的な例は、装着型エクステンデッドリアリティ機器(例えば、スマートグラス)に無線及び/又は物理的に接続可能又は取り付け可能であってもよい。表示モードの選択に関して、に基づく用語は、受信した入力に関連して部分的、部分的、又は全体的に選択を決定又は決定することを指すことができる。例えば、幾つかの実施形態は、ユーザが装着型エクステンデッドリアリティ機器に無線接続可能なキーボード上のキーを押す入力を受信することを更に含むことができ、第1の表示モード(例えば、マトリクスモード)又は第2の表示モード(例えば、非マトリクスモード)の選択は、受信した入力に基づくことができる。例えば、ユーザがキーボード上の「1」を押すと、第1の表示モードの選択が受け付けられる。或いは、ユーザがキーボード上の「2」を押すと、第2の表示モードの選択が受け付けられる。キーボードは一例であるが、ユーザは、前述のように1つ以上の他の入力デバイスを使用して入力を提供することができる。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器に含まれる画像センサから画像データを受信することを更に含むことができ、第1の表示モード又は第2の表示モードの選択は、受信した画像データの解析に基づくことができる。例えば、幾つかの実施形態は、装着型エクステンデッドリアリティ機器(例えば、スマートグラス)に含まれるカメラから画像データを受信することを更に含むことができ、第1の表示モード(例えば、マトリクスモード)又は第2の表示モード(例えば、非マトリクスモード)の選択は、例えば選択を示すジェスチャを特定するためのジェスチャ認識アルゴリズムを使用して、受信した画像データの解析に基づくことができる。一例として、受信画像データの解析に基づく選択は、ユーザが20フィート離れて移動したことを示す受信画像データの解析を含むことができ、したがって第2の表示モードを選択することができる。別の例として、受信された画像データの解析は、ユーザがまったく移動していないことを明らかにすることができ、したがって、第1の表示モードが選択され得る。別の例では、画像データを解析して、装着型エクステンデッドリアリティ機器のユーザの近くに他の人が存在するかどうかを決定することができ、選択は、他の人が存在するかどうかに基づくことができる(例えば、他の人がいる場合には、第1の表示モードの選択を回避してもよい)。更に別の例では、画像データを解析して、装着型エクステンデッドリアリティ機器の周りの空間(部屋など)のレイアウトを決定することができ、選択はレイアウトに基づくことができる(例えば、スペースが小さい場合には、第1の表示モードの選択を回避する)。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器又は装着型エクステンデッドリアリティ機器に接続可能なコンピューティングデバイスに含まれるマイクロフォンから音声データを受信することを更に含むことができ、第1の表示モード又は第2の表示モードの選択は、受信された音声データの解析に基づくことができる。音声データとは、音声信号から導出される情報である。音声データは、例えば、音を表してもよく、音の派生物であってもよい。音声データの非限定的な例は、波形フォーマット、mp3フォーマット、又はWMAフォーマットのファイルを含むことができる。或いは、音声データは、パターン又は音シグネチャなどの音声ファイルから導出された情報であってもよい。マイクロフォンは、音波を電気エネルギー変動に変換し、その後増幅、送信、又は記録するための機器を指すことができる。マイクロフォンの例は、ダイナミックマイクロフォン、コンデンサマイクロフォン、及びリボンマイクロフォンを含むことができる。そのようなマイクロフォン又はマイクロフォンから音声信号を受信するプロセッサのいずれかが、音声をデジタル処理することができる。マイクロフォンは、装着型エクステンデッドリアリティ機器(例えば、スマートグラス)又は装着型エクステンデッドリアリティ機器に無線接続可能なコンピューティングデバイスに含まれてもよく、第1の表示モード(例えば、マトリクスモード)又は第2の表示モード(例えば、非マトリクスモード)の選択は、少なくとも部分的に、受信した音声データの解析に基づいてもよい。一例として、受信された音声データの解析に基づく選択は、ユーザが「第2の表示モードを選択する」と述べたことを明らかにする受信された音声データの音声認識解析を含むことができる。これに応じて、第2の表示モードが選択されてもよい。別の例として、受信された音声データの解析は、ユーザが「第1の表示モードを選択する」と述べたことを明らかにすることができる。これに応じて、第1の表示モードが選択されてもよい。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器の動きを特徴付ける少なくとも1つのパラメータの値を決定するステップを更に含むことができ、第1の表示モード又は第2の表示モードの選択は、少なくとも1つのパラメータの決定された値に基づくことができる。値は、割り当てられた、又は計算もしくは測定によって決定された量又は品質を指すことができる。パラメータは、その値が何かの特性又は挙動を決定する特性のセットのいずれかを指すことができる。そのような特性は、例えば、装着型エクステンデッドリアリティ機器の位置又は向きの変化、装着型エクステンデッドリアリティ機器の速度又は加速度の変化、位置、向き、速度、又は加速度の変化なし、位置、向き、速度、及び加速度のうちの2つ以上の変化を含み得る。
例として、幾つかの実施形態は、装着型エクステンデッドリアリティ機器(例えば、スマートグラス)の動き(例えば、5°の回転)を特徴付ける少なくとも1つのパラメータの値を決定することを含むことができる。第1の表示モード(例えば、マトリクスモード)又は第2の表示モード(例えば、非マトリクスモード)の選択は、少なくとも1つのパラメータの決定された値に(例えば、部分的に)基づいてもよい。少なくとも1つのパラメータの決定された値に基づく選択の非限定的な例は、決定された値が正である場合の第1の表示モードの選択、又は決定された値が負である場合の第2の表示モードの選択を含むことができる。例えば、装着型エクステンデッドリアリティ機器の正回転は、第1の表示モードの選択として特徴付けることができる。或いは、装着型エクステンデッドリアリティ機器の負の回転は、第2の表示モードの選択として特徴付けることができる。
幾つかの実施形態によれば、少なくとも1つのパラメータは、距離、速度、加速度、又は方向のうちの少なくとも1つを含むことができる。距離は、2つの物の間の長さ、サイズ、空間、スパン、幅、又は任意の量の空間を指すことができる。幾つかの非限定的な例は、1ミリメートル、1インチ、1フィート、又は任意の他の距離の距離を含むことができる。幾つかの開示された実施形態の文脈において、速度という用語は、基準フレームに対する位置の変化率を指すことができる。速度の幾つかの非限定的な例は、北への毎秒2メートル、東への毎秒5メートル、又は南への毎秒2メートルであり得る。加速度は、時間に対するオブジェクトの速度の変化率を指すことができる。加速度の幾つかの非限定的な例は、毎秒2メートル、毎秒5メートル、又は毎秒1メートルであってもよい。方向は、人又は何かが移動するコースを指すことができる。例えば、少なくとも1つのパラメータは、x軸に沿った装着型エクステンデッドリアリティ機器(例えば、スマートグラス)の2メートルの正の変位、x軸に沿った毎秒1メートルの速度、x軸に沿った毎秒1メートルの加速度、及びx軸に沿った正の方向を含むことができる。
幾つかの開示された実施形態は、少なくとも1つのパラメータの決定された値が閾値よりも大きい場合に第1の表示モードを選択するステップを更に含むことができる。或いは、他の実施形態は、少なくとも1つのパラメータの決定された値が閾値未満である場合に第2の表示モードを選択することを更に含むことができる。閾値は、基準又は限界値、又はレベル、又は基準又は限界値又はレベルの範囲を指すことができる。動作中、少なくとも1つのパラメータの決定された値が閾値を超える場合(特定の使用ケースに応じて、又はそれより下にある)、少なくとも1つのプロセッサは、第1の表示モードを選択することができ、少なくとも1つのパラメータの決定された値が閾値未満である場合(特定の使用ケースに応じて、又はそれを超えて)、少なくとも1つのプロセッサは、第2の表示モードを選択することができる。閾値の値は、予め決定されてもよく、又は様々な考慮事項に基づいて動的に選択されてもよい。閾値の幾つかの非限定的な例は、x軸に沿った装着型エクステンデッドリアリティ機器(例えば、スマートグラス)の10メートルの正の変位、x軸に沿った毎秒10メートルの速度、x軸に沿った毎秒1メートルの加速度、及びx軸に沿った正の方向を含むことができる。少なくとも1つのパラメータが、x軸に沿った装着型エクステンデッドリアリティ機器の2メートルの正の変位、x軸に沿った1メートル毎秒の速度、x軸に沿った0.1メートル毎秒の加速度、及びx軸に沿った負の方向である場合、ステップは第1の表示モードを選択する。或いは、ステップは第1の表示モードを選択しない。
選択された表示モードに応じて、幾つかの実施形態は、装着型エクステンデッドリアリティ機器を介した提示のために、選択された表示モードと一致する態様で複数の仮想オブジェクトを提示するように構成された表示信号を出力することを含むことができる。提示は、例えば、コンピュータ生成、コンピュータ化、シミュレート、デジタル、又はソフトウェア命令を使用して生成され得る主題、物質、材料、又は物質を描写、描写、又はレンダリングすることを含み得る。少なくとも1つのプロセッサは、表示デバイスにテキスト、1つ以上の写真、スクリーンショット、メディアクリップ、又は他のテキストもしくはグラフィックの主題を提示させるために表示信号を送信するように構成されてもよい。表示信号は、例えば、表示デバイスにコンテンツを仮想表示又はデジタル表示の形態で提示させることができるアナログ又はデジタル電気信号を含むことができる。仮想又はデジタル表示は、例えば、1つ以上の静止又は動画、テキスト、アイコン、ビデオ、又はそれらの任意の組み合わせを含むことができる。グラフィック表示は、二次元、三次元、ホログラフィックであってもよく、又は様々な他のタイプの視覚的特性を含んでもよい。例えば、選択された表示モードに応じて、装着型エクステンデッドリアリティ機器(例えば、スマートグラス)は、選択された表示モードと一致する態様で複数の仮想オブジェクト(例えば、仮想コンピュータスクリーン、仮想ウィジェット、生物の仮想オブジェクト、及び無生物の仮想オブジェクト)を提示するように構成された表示信号を出力するように構成され得る。一例として、第1の表示モード(例えば、マトリクスモード)が選択されると、装着型エクステンデッドリアリティ機器は、装着型エクステンデッドリアリティ機器の検出された動きに関係なく、環境内の固定位置に複数の仮想オブジェクトを提示することができる信号を出力することができる。別の例として、第2の表示モード(例えば、非マトリクスモード)が選択されると、装着型エクステンデッドリアリティ機器は、装着型エクステンデッドリアリティ機器の検出された動きに応じて、環境内の移動された位置に複数の仮想オブジェクトを提示することができる信号を出力することができる。
例として、図30は、例示的な環境3000を示す。選択された表示モードに応じて、装着型エクステンデッドリアリティ機器3006(例えば、スマートグラス)は、選択された表示モードと一致する態様で複数の仮想オブジェクト3002(例えば、仮想コンピュータスクリーン3008、仮想ウィジェット、生物の仮想オブジェクト、及び無生物の仮想オブジェクト)を提示するように構成された表示信号を出力することができる。例えば、図31Aでは、複数の仮想オブジェクト3002が、選択された表示モード、すなわち、装着型エクステンデッドリアリティ機器3006が動いても仮想オブジェクト3002が動かない第1の表示モード(例えば、マトリクスモード)で提示されている。別の例として、図31Bでは、複数の仮想オブジェクト3002は、選択された表示モード、すなわち、装着型エクステンデッドリアリティ機器3006が移動するときに複数の仮想オブジェクト3002が移動する第2の表示モード(例えば、非マトリクスモード)で提示される。
幾つかの開示された実施形態は、選択されたモードが第1の表示モードであるときに、複数の仮想オブジェクトのうちの少なくとも1つの仮想オブジェクトを異なる仮想平面上に再配置するための入力を検出することを含むことができる。入力を受け取る幾つかの例は、ボタン、キー、キーボード、コンピュータマウス、タッチパッド、タッチスクリーン、ジョイスティック、又は入力を受け取ることができる別の機構の起動を受け取ることを含むことができる。例えば、幾つかの実施形態では、ユーザは、キーボードの1つ以上のキーを押すことによって1つ以上の入力を提供することができる。別の例として、ユーザは、ジョイスティックの直線動作又は回転動作によってジョイスティックの位置を変更することによって1つ以上の入力を提供することができる。別の例として、ユーザは、タッチスクリーンに触れながら1つ以上のジェスチャ(例えば、ピンチ、ズーム、スワイプ、又は他の指の動き)を実行することによって1つ以上の入力を提供することができる。更に別の例では、ユーザは、ハンドジェスチャを用いて1つ以上の入力を提供することができる。再配置は、オブジェクトの場所、位置、又は向きの変更、調整、又は変更を指すことができる。例えば、ユーザは、少なくとも1つの仮想オブジェクトを再配置するためにキーボードの1つ以上のキーを押すことができる。ユーザは、仮想オブジェクトを異なる仮想平面に変位させることによって、少なくとも1つの仮想オブジェクトを再配置したい場合がある。キーボードは、ユーザがキーを押すことに応じて信号を生成することができる。装着型エクステンデッドリアリティ機器に関連付けられた少なくとも1つのプロセッサ及び/又は幾つかの実施形態に関連付けられた別のプロセッサは、信号を受信し、その信号に基づいてキーの押下を検出することができる。
例として、図36は、第1のセットの仮想オブジェクト3012(例えば、仮想コンピュータスクリーン3008及び仮想ウィジェット)及び第2のセットの仮想オブジェクト3010(例えば、生物の仮想オブジェクト及び無生物の仮想オブジェクト)を有する例示的な環境3000を示す。例えば、ユーザは、少なくとも1つの仮想オブジェクトを異なる平面上に再配置するためにキーボード3414上の黒キーを押すことができる。図36は、図31Aに示すように、x軸とy軸とによって形成される仮想平面から、y軸とz軸とによって形成される仮想平面とは異なる仮想平面に再配置された第1の組の仮想オブジェクト3012を示す。
幾つかの実施形態によれば、装着型エクステンデッドリアリティ機器を介して提示される複数の仮想オブジェクトは、物理オブジェクトにドッキングされた少なくとも1つの仮想オブジェクトを含むことができ、実施形態は、装着型エクステンデッドリアリティ機器の移動の方向を決定することを更に含むことができる。物理的なオブジェクトへのドッキングは、デバイス又はオブジェクトを別のデバイス又はオブジェクトに仮想的又は物理的に接続する動作を指すことができる。ドッキングの非限定的な例は、仮想コンピュータスクリーンを物理キーボードに仮想的に接続すること、又は仮想コンピュータスクリーンを物理キーボード及び物理ジョイスティックの両方に仮想的に接続することを含むことができる。例えば、装着型エクステンデッドリアリティ機器(例えば、スマートグラス)を介した複数の仮想オブジェクト(例えば、仮想コンピュータスクリーン、仮想ウィジェット、生物の仮想オブジェクト、及び無生物の仮想オブジェクト)は、キーボードに無線でドッキングされた仮想コンピュータスクリーンを含むことができる。更に、幾つかの実施形態では、装着型エクステンデッドリアリティ機器の移動の方向は、前述のように決定されてもよい。
例として、図34は、例示的な環境3000を示す。幾つかの実施形態では、装着型エクステンデッドリアリティ機器3006(例えば、スマートグラス)を介して提示される複数の仮想オブジェクト3002(例えば、仮想コンピュータスクリーン3008、仮想ウィジェット、生物の仮想オブジェクト、及び無生物の仮想オブジェクト)は、物理オブジェクト(例えば、キーボード3414)に無線ドッキングされた仮想コンピュータスクリーン3008を含むことができる。更に、実施形態は、装着型エクステンデッドリアリティ機器3006の移動3150の方向を決定することができる。
幾つかの開示された実施形態は、物理オブジェクトにドッキングされた少なくとも1つの仮想オブジェクト以外の仮想オブジェクトを回転させることを更に含むことができ、回転する仮想オブジェクトの位置は、選択された表示モードが第1の表示モードであるときに装着型エクステンデッドリアリティ機器の移動の決定された方向に基づいて維持され得る。前述したように、1つ以上の仮想オブジェクトを物理オブジェクトにドッキングすることができる。幾つかの実施形態では、選択された表示モードが第1の表示モード(例えば、マトリクスモード)であるとき、物理オブジェクトがある位置又は向きから別の位置又は向きに移動されるとき、1つ以上のドッキングされた仮想オブジェクトは移動されなくてもよい。例えば、キーボードなどの物理オブジェクトが90°回転されると、キーボードとドッキングされていない仮想オブジェクトは90°回転され得る。対照的に、キーボードが90°回転されたとき、キーボードにドッキングされた1つ以上の仮想オブジェクトの位置及び向きは変更されなくてもよい。
例として、図33は、例示的な環境3000を示す。図33に示すように、仮想オブジェクト3010は90°回転されてもよく、物理オブジェクト(例えば、キーボード3414)に無線でドッキングされた仮想コンピュータスクリーン3008は回転されなくてもよい。回転された仮想オブジェクト3010の相対位置は、選択された表示モードが第1の表示モード(例えば、マトリクスモード)であるとき、装着型エクステンデッドリアリティ機器3006(例えば、スマートグラス)の移動3150の決定された方向に基づいて維持され得る。
幾つかの開示された実施形態は、選択された表示モードが第2の表示モードであるときに、装着型エクステンデッドリアリティ機器の検出された動きに基づいて、物理オブジェクトにドッキングされた少なくとも1つの仮想オブジェクト以外の仮想オブジェクトを移動させることを更に含むことができる。前述したように、1つ以上の仮想オブジェクトを物理オブジェクトにドッキングすることができる。幾つかの実施形態では、選択された表示モードが第2の表示モード(例えば、非マトリクスモード)である場合、1つ以上のドッキングされた仮想オブジェクトは、装着型エクステンデッドリアリティ機器の検出された動きに基づいて移動されなくてもよい。代わりに、物理オブジェクトにドッキングされていない1つ以上の仮想オブジェクトは、装着型エクステンデッドリアリティ機器の移動方向に移動されてもよい。
例として、図35は、例示的な環境3000を示す。幾つかの実施形態では、複数の仮想オブジェクト3002(例えば、仮想コンピュータスクリーン3008、仮想ウィジェット、生物の仮想オブジェクト、及び無生物の仮想オブジェクト)は、装着型エクステンデッドリアリティ機器3006(例えば、スマートグラス)を介して提示されてもよい。仮想コンピュータスクリーン3008は、物理オブジェクト(例えば、キーボード3414)にドッキングすることができる。第2の表示モード(例えば、非マトリクスモード)では、装着型エクステンデッドリアリティ機器3006の移動3150が検出されると、物理オブジェクトにドッキングされていない1つ以上の仮想オブジェクト3010(例えば、生物の仮想オブジェクト及び無生物の仮想オブジェクト)は、装着型エクステンデッドリアリティ機器3006の移動3150の方向に移動され得る。しかしながら、物理オブジェクトにドッキングされた仮想コンピュータスクリーン3008は、装着型エクステンデッドリアリティ機器3006の検出された移動3150に基づいて移動されなくてもよい。
幾つかの実施形態によれば、複数の仮想オブジェクトのうちの特定の仮想オブジェクトは、ソフトウェアアプリケーションの出力を提示することができ、選択された表示モードが第1の表示モードであるとき、(i)ソフトウェアアプリケーションに関連する事象の表示を受信し、(ii)事象に応じて、装着型エクステンデッドリアリティ機器を介した提示のために、第2の表示モードと一致する態様で少なくとも特定の仮想オブジェクトを提示するように構成された第2の表示信号を出力する。出力は、装着型エクステンデッドリアリティ機器又は任意の表示デバイスに信号を送信することを指すことができる。ソフトウェアアプリケーションは、典型的にはエンドユーザによって使用される、コンピュータ自体の動作に関連するタスク以外の特定のタスクを実行するように設計されたコンピュータプログラムを指すことができる。ソフトウェアアプリケーションの非限定的な例は、Microsoft Word、スプレッドシート、VLCメディアプレーヤ、Google Chrome、ビデオゲーム、アプリ、又は機能を実行する任意の他のソフトウェアプログラムもしくはモジュールを含むことができる。表示は、何かを示す任意の視覚的又は聴覚的な標識、マーク、信号、又は他の標識又は情報を指すことができる。事象は、ソフトウェアアプリケーションに関連する発生を指すことができる。事象の非限定的な例は、仮想コンピュータスクリーン上に仮想タスクペインを提示すること、音声を移動又は出力する仮想生物のオブジェクト、色を変える仮想無生物のオブジェクト、天候のタイプとして提示される仮想ウィジェットアプリ(例えば、太陽、雲、雨、雷、又は雪)を含むことができる。他の非限定的な例は、受信した通知又はメッセージ、着信又はビデオ通話、又はアラームサウンディングを含むことができる。例えば、複数の仮想オブジェクト(例えば、仮想コンピュータスクリーン、仮想ウィジェット、生物の仮想オブジェクト、及び無生物の仮想オブジェクト)に含まれる仮想コンピュータスクリーンは、ソフトウェアアプリケーション(例えば、Google Chrome)の出力を提示することができる。更に、選択された表示モードが第1の表示モード(例えば、マトリクスモード)である場合、仮想コンピュータスクリーン上に仮想作業ウィンドウを提示することができる。更に、事象に応じて、第2の表示モード(例えば、非マトリクスモード)と一致する態様で少なくとも特定の仮想オブジェクトを提示するように構成された表示信号は、装着型エクステンデッドリアリティ機器(例えば、スマートグラス)を介した提示のために出力され得る。例えば、第2の表示モードと一致するように、表示信号は、少なくとも特定の仮想オブジェクトを移動位置に提示することができる。
選択された表示モードが第1の表示モードである場合、幾つかの実施形態は、(i)装着型エクステンデッドリアリティ機器に含まれる画像センサから画像データを受信すること、(ii)物理的事象を特定するために画像データを解析すること、(iii)物理的事象に応じて、装着型エクステンデッドリアリティ機器を介した提示のために、第2の表示モードと一致する態様で複数の仮想オブジェクトのうちの少なくとも1つを提示するように構成された第2の表示信号を出力することを含むことができる。物理的事象は、例えば、環境に入る人、ユーザに近づく人、ユーザ又は環境を歩いている別の人、ユーザが所定の空間(部屋など)を離れること、ユーザの環境内の照明条件に変化することなどを指すことができる。例えば、選択された表示モードが第1の表示モード(例えば、マトリクスモード)である場合、装着型エクステンデッドリアリティ機器(例えば、スマートグラス)に含まれるカメラからの画像データを受信することができる。画像データは、例えば、環境に入る人を特定するために、1つ以上の画像処理アルゴリズムを使用して解析することができる。物理的事象(例えば、環境に入る人を検出すること)に応じて、装着型エクステンデッドリアリティ機器は、第2の表示モード(すなわち、複数の仮想オブジェクトを、装着型エクステンデッドリアリティ機器の検出された動きに応じて環境内で移動させる)と一致する態様で複数の仮想オブジェクト(例えば、仮想コンピュータスクリーン)のうちの少なくとも1つを提示するように構成された第2の表示信号を提示のために出力することができ、幾つかの例では、他の表示信号の出力を停止することができる(第1の表示モードと一致する態様で複数の仮想オブジェクトのうちの少なくとも1つを提示するように構成された表示信号の出力など)。幾つかの例では、物理的事象の特性を決定するために画像データを解析することができる。更に、物理的事象の第1の決定された特性に応じて、第2の表示モードと一致する態様で複数の仮想オブジェクトのうちの少なくとも1つを表示するように構成された第2の表示信号は、装着型エクステンデッドリアリティ機器を介した提示のために出力されてもよく、物理的事象の第2の決定された特性に応じて、第2の表示信号の出力は、保留及び/又は回避されてもよい。幾つかの例では、機械学習モデルは、画像及び/又はビデオから物理的事象の特性を特定するために訓練例を使用して訓練することができる。そのような訓練例の一例は、サンプル物理的事象の特性を示すラベルと共に、サンプル物理的事象のサンプル画像及び/又はサンプルビデオを含むことができる。訓練された機械学習モデルを使用して、画像データを解析し、物理的事象の特性を決定することができる。幾つかの例では、画像データの少なくとも一部の畳み込みを計算して、計算された畳み込みの結果値を取得することができる。一例では、計算された畳み込みの第1の結果値に応じて、物理的事象の第1の特性が決定されてもよく、計算された畳み込みの第2の結果値に応じて、物理的事象の第2の特性が決定されてもよく、第2の特性は第1の特性と異なってもよい。幾つかの例では、物理的事象は、ユーザの環境に入る人を含むことができ、物理的事象の特性は、人が装着型エクステンデッドリアリティ機器を使用しているか否かであってもよく、画像データは、バイナリ視覚分類器を使用して解析され、1つ又は2つのクラス、「装着型エクステンデッドリアリティ機器を使用する人」又は「装着型エクステンデッドリアリティ機器を使用していない人」に分類し、それによって特性を決定することができる。幾つかの例では、物理的事象は、ユーザの環境に入る人物を含むことができ、物理的事象の特性は、人物の身元であってもよく、画像データは、人物の身元を決定するために顔認識アルゴリズムを使用して解析され得る。
本開示の別の実施形態によれば、仮想オブジェクトの表示を選択的に制御するための方法を提供することができる。幾つかの実施形態によれば、本方法は、第1の表示モード及び第2の表示モードで動作可能な装着型エクステンデッドリアリティ機器を介して環境内に複数の仮想オブジェクトを仮想的に提示するステップを含むことができ、第1の表示モードでは、複数の仮想オブジェクトの位置は、装着型エクステンデッドリアリティ機器の検出された動きに関係なく環境内に維持され、第2の表示モードでは、複数の仮想オブジェクトは、装着型エクステンデッドリアリティ機器の検出された動きに応じて環境内で動く。本方法は、装着型エクステンデッドリアリティ機器の動きを検出するステップを更に含むことができる。本方法は、装着型エクステンデッドリアリティ機器が移動している間に複数の仮想オブジェクトを提示する際に使用するための第1の表示モード又は第2の表示モードの選択を受信するステップを更に含むことができる。本方法は、表示モード選択に応じて、装着型エクステンデッドリアリティ機器を介した提示のために、選択された表示モードと一致する態様で複数の仮想オブジェクトを提示するように構成された表示信号を出力するステップを含むことができる。
図37Aは、仮想オブジェクトの表示を選択的に制御するための例示的な方法3700を示す。方法3700は、入力ユニット202(図3参照)、XRユニット204(図4参照)、及び/又は遠隔処理ユニット208(図5参照)に関連する1つ以上のプロセッサ(例えば、360、460、又は560)によって実行されてもよい。開示された方法3700のステップは、ステップの並べ替え及び/又はステップの挿入もしくは削除を含む任意の方法で変更することができる。方法3700は、第1の表示モード及び第2の表示モードで動作可能な装着型エクステンデッドリアリティ機器3006(例えば、スマートグラス)を介して環境3000内に複数の仮想オブジェクト3002(例えば、仮想コンピュータスクリーン3008、仮想ウィジェット、生物の仮想オブジェクト、及び無生物の仮想オブジェクト)を仮想的に提示するステップ3720を含むことができる。第1の表示モードの幾つかの実施形態では、複数の仮想オブジェクト3002の位置は、装着型エクステンデッドリアリティ機器3006の検出された動きに関係なく、環境3000内に維持される。第2の表示モードの幾つかの実施形態では、複数の仮想オブジェクト3002は、装着型エクステンデッドリアリティ機器3006の検出された動きに応じて環境3000内を移動する。方法3700は、装着型エクステンデッドリアリティ機器3006の移動3150を検出するステップ3722を含むことができる。方法3700は、装着型エクステンデッドリアリティ機器3006が移動している間に複数の仮想オブジェクト3002を提示する際に使用するための第1の表示モード又は第2の表示モードの選択を受信するステップ3724を含むことができる。方法3700は、表示モード選択に応じて、装着型エクステンデッドリアリティ機器3006を介した提示のために、選択された表示モードと一致する態様で複数の仮想オブジェクト3002を提示するように構成された表示信号を出力するステップ3726を含むことができる。方法3700は、装着型エクステンデッドリアリティ機器3006の移動3150の方向(例えば、x軸に沿った正の変位)を決定するステップ3722を更に含むことができる。
本開示の別の実施形態によれば、仮想オブジェクトの表示を選択的に制御するためのシステムを提供することができる。幾つかの実施形態によれば、システムは、少なくとも1つのプロセッサを含むことができる。少なくとも1つのプロセッサは、第1の表示モード及び第2の表示モードで動作可能な装着型エクステンデッドリアリティ機器を介して環境内に複数の仮想オブジェクトを仮想的に提示するように構成されてもよく、第1の表示モードでは、複数の仮想オブジェクトの位置は、装着型エクステンデッドリアリティ機器の検出された動きに関係なく環境内に維持され、第2の表示モードでは、複数の仮想オブジェクトは、装着型エクステンデッドリアリティ機器の検出された動きに応じて環境内で移動する。少なくとも1つのプロセッサは、装着型エクステンデッドリアリティ機器の動きを検出するように構成されてもよい。少なくとも1つのプロセッサはまた、装着型エクステンデッドリアリティ機器が移動している間に複数の仮想オブジェクトを提示する際に使用するための第1の表示モード又は第2の表示モードの選択を受信するように構成されてもよい。少なくとも1つのプロセッサは、表示モード選択に応じて、装着型エクステンデッドリアリティ機器を介した提示のために、選択された表示モードと一致する態様で複数の仮想オブジェクトを提示するように構成された表示信号を出力するように更に構成されてもよい。
図37Bは、仮想オブジェクトの表示を選択的に制御するための別の例示的な方法3750を示す。方法3750は、入力ユニット202(図3参照)、XRユニット204(図4参照)、及び/又は遠隔処理ユニット208(図5参照)に関連する1つ以上のプロセッサ(例えば、360、460、又は560)によって実行されてもよい。開示された方法3750のステップは、ステップの並べ替え及び/又はステップの挿入もしくは削除を含む任意の方法で変更することができる。方法3750は、装着型エクステンデッドリアリティ機器3006に接続可能なコンピューティングデバイスから入力を受信するステップ3754を含むことができ、選択は受信した入力に基づくことができる。例えば、ユーザが装着型エクステンデッドリアリティ機器3006に無線接続可能なキーボード上のキーを押すと、入力が受信され得る。更に、第1の表示モード又は第2の表示モードの選択は、受信した入力に基づくことができる。例えば、ユーザがキーボード上の「1」を押すと、第1の表示モードの選択が受け付けられる。或いは、ユーザがキーボード上の「2」を押すと、第2の表示モードの選択が受け付けられる。方法3750は、装着型エクステンデッドリアリティ機器3006に含まれる画像センサから画像データを受信するステップ3756を含むことができる。更に、第1の表示モード又は第2の表示モードの選択は、受信した画像データの解析に基づいてもよい。例えば、ユーザが20フィート離れたところに移動したことを明らかにする装着型エクステンデッドリアリティ機器3006に含まれるカメラから画像データを受信することができ、したがって、複数の仮想オブジェクト3002がユーザと共に移動するように第2の表示モードを選択することができる。或いは、画像データは、ユーザが移動していないことを明らかにすることができ、したがって、複数の仮想オブジェクト3002がそれらの初期位置及び/又は向きに留まるように第1の表示モードが選択されてもよい。方法3750は、装着型エクステンデッドリアリティ機器3006に含まれるマイクロフォンから音声データを受信するステップ3758を含むことができる。更に、第1の表示モード又は第2の表示モードの選択は、受信された音声データの解析に基づくことができる。例えば、解析は、ユーザが「第2の表示モードを選択してください」と言ったことを明らかにすることができ、したがって第2の表示モードが選択され得る。或いは、解析は、ユーザが「第1の表示モードを選択する」と述べたことを明らかにすることができ、したがって第1の表示モードが選択されてもよい。方法3750は、装着型エクステンデッドリアリティ機器3006の移動3150を特徴付ける少なくとも1つのパラメータの値を決定するステップ3760を含むことができる。更に、第1の表示モード又は第2の表示モードの選択は、少なくとも1つのパラメータの決定された値に基づくことができる。
図38は、仮想オブジェクトの表示を選択的に制御するための別の例示的な方法3800を示す。方法3800は、入力ユニット202(図3参照)、XRユニット204(図4参照)、及び/又は遠隔処理ユニット208(図5参照)に関連する1つ以上のプロセッサ(例えば、360、460、又は560)によって実行されてもよい。開示された方法3800のステップは、ステップの並べ替え及び/又はステップの挿入もしくは削除を含む任意の方法で変更することができる。方法3800は、複数の仮想オブジェクト3002を1つ以上の仮想平面上に配置するステップ3828を含むことができる。更に、方法3800は、少なくとも1つ以上の仮想平面が湾曲していてもよいステップ3829を含んでもよい。方法3800は、本明細書で説明されるように、複数の仮想オブジェクト3002のうちの少なくとも1つの仮想オブジェクトを異なる仮想平面上に再配置するための入力を検出するステップ3830を含むことができる。方法3800は、本明細書で説明されるように、少なくとも1つの仮想オブジェクトを再配置する際に、及び更なる入力を受信した後に、1つ以上の仮想平面及び異なる仮想平面を移動させるステップ3832を含み得る。方法3800は、本明細書で説明するように、装着型エクステンデッドリアリティ機器3006の検出された移動3150と一致するように1つ以上の仮想平面を移動させるステップ3833を含むことができる。
図39は、特定の仮想オブジェクト(例えば、仮想コンピュータスクリーン3008、仮想ウィジェット、生物の仮想オブジェクト、及び無生物の仮想オブジェクト)3002がソフトウェアアプリケーション(例えば、Google Chrome)の出力を提示するステップ3942を含むことができる例示的な方法3900を示す。選択された表示モードが第1の表示モードである場合(例えば、マトリクスモード)、方法3900は、ソフトウェアアプリケーションと関連付けられた事象の表示を受信するステップ3944を含んでもよい(例えば、仮想コンピュータスクリーン上に仮想タスクペインを提示すること)。選択された表示モードが第1の表示モードである場合、方法3900は、事象に応じて、装着型エクステンデッドリアリティ機器3006(例えば、スマートグラス)を介した提示のために、第2の表示モードと一致する態様で少なくとも特定の仮想オブジェクトを提示するように構成された第2の表示信号を出力するステップ3946を含んでもよい。
図40は、装着型エクステンデッドリアリティ機器3006(例えば、スマートグラス)に含まれる画像センサから画像データを受信するステップ4048を含むように構成され得る例示的な方法4000を示す。方法4000は、物理的事象を特定するために画像データを解析するステップ4050を含むことができる。方法4000はまた、物理的事象に応じて、装着型エクステンデッドリアリティ機器を介した提示のために、第2の表示モードと一致する態様で複数の仮想オブジェクト3002(例えば、仮想コンピュータスクリーン3008、仮想ウィジェット、生物の仮想オブジェクト、及び無生物の仮想オブジェクト)のうちの少なくとも一方を提示するように構成された第2の表示信号を出力するステップ4052を含むことができる。
幾つかの開示された実施形態は、方法、システム、装置、及び非一時的コンピュータ可読媒体を含む、2つの横断仮想平面に沿った仮想カーソルの移動に関することができる。仮想カーソルは、エクステンデッドリアリティディスプレイ上で移動可能であり、例えば、入力又は焦点の位置を示すために、ユーザからの入力によって影響を受け得る任意の視覚インジケータを含むことができる。そのような仮想カーソルは、矢印、手、アイコン、ポインタ、待機カーソル、Iビームポインタ、マウスポインタ、テキストカーソル、又は位置もしくは焦点を反映する任意の他のオブジェクトの形態をとることができる。仮想カーソルは、選択、移動、サイズ変更、ドラッグ、アクティブ化及び/又はトリガ機能、コンテキストウィンドウのオープン、描画、書き込み、バックグラウンドでの作業、ビジー、利用不可、焦点領域の表示、又は任意の他の所望の機能などの1つ以上の機能のために構成され得る。仮想カーソルは、点滅、ポインタの尾を有する、又はアニメーションを有するなど、任意の所望のサイズ、形状、色、又は視覚効果を有することができる。
仮想平面は、長さ及び幅を有する二次元オブジェクト又は領域を含むことができる。平面は、平坦であってもよく、湾曲していてもよく、又は任意の他の形状をとることができる。平面が可視であるかどうかにかかわらず、エクステンデッドリアリティディスプレイ又はエクステンデッドリアリティ環境に関連して使用される場合、平面は仮想と見なされ得る。具体的には、平面は、エクステンデッドリアリティ機器の着用者に見えるように色又はテクスチャで表示されてもよく、又は平面は目に見えないが、可視オブジェクトが平面内に位置するときに知覚可能になり得る。一例では、エクステンデッドリアリティ環境で仮想平面を仮想グリッド線で示すことができる。仮想平面は、例えば、平面、非平面、曲面、又は任意の他の所望の構成を有する面を含むことができる。幾つかの例では、仮想平面は、0.5平方メートル、1平方メートル、2平方メートル、5平方メートル、10平方メートル、100平方メートル、又は任意の他の所望の面積などの特定のサイズを有することができる。幾つかの例では、仮想平面は無限に遠くまで延びてもよい。仮想平面は、本明細書に記載の様々なプロセスのためにコンピューティングデバイスによって定義、生成、及び/又は使用することができる。幾つかの例では、仮想平面又はその一部は、装着型エクステンデッドリアリティ機器によって仮想コンテンツとしてユーザに表示されてもよい。幾つかの例では、仮想平面は、装着型エクステンデッドリアリティ機器のユーザに表示されなくてもよく、ユーザには見えない表面であってもよく、それによって様々なオブジェクト(物理的又は仮想的)の位置が測定され得る。
2つの平面に沿って仮想カーソルを移動させることは、ある平面から別の平面への位置の変化をもたらす移動を指すことができる。例えば、第1の平面が机の上部水平面と一致し、第2の平面が第1の平面を横切って垂直に延びる場合、第1の平面から第2の平面へのカーソルの移動は、2つの平面に沿ったカーソル移動の一例である。同様に、2つの垂直表示面は互いに横方向(例えば、V字形状、又は任意の他の角度)であってもよく、1つの表示面から別の表示面へのカーソル移動は、2つの面に沿った移動の別の例である。
装着型エクステンデッドリアリティ機器を使用する場合、トラバース面間で仮想カーソルを移動させたい場合がある。例えば、装着型エクステンデッドリアリティ機器は、垂直仮想スクリーン(本明細書では仮想ディスプレイとも呼ばれる)上及び水平机上に仮想オブジェクトを表示することができる。幾つかの開示された実施形態は、本明細書で説明するように、二次元入力を使用して三次元環境で仮想カーソルの移動を制御することを含むことができる。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器(WER-機器)を介してディスプレイを生成することを含むことができ、ディスプレイは、仮想カーソルと、物理的表面の上にある第2の仮想平面を横断する第1の仮想平面上に配置された複数の仮想オブジェクトとを含む。仮想オブジェクトは、コンピューティングデバイスによってレンダリングされた視覚的表示を含むことができる。仮想オブジェクトは、エクステンデッドリアリティ機器を介した任意のアイテム、アイコン、シンボル、データ表示、仮想キャラクタ、仮想表示、又は他の情報の表示の任意のレンダリングを含むことができる。オブジェクトは、例えば、それらが全て第1の仮想平面に現れるように生成され得る。例えば、第1の仮想平面が曲面スクリーンを表す場合、複数のオブジェクトが曲面スクリーンを表す平面の曲率に沿って表示され得る。
生成されたディスプレイは、例えば、装着型エクステンデッドリアリティ機器のディスプレイシステムによって示される仮想コンテンツを含むことができる。幾つかの例では、表示システムは、光学ヘッドマウントディスプレイシステム、単眼ヘッドマウントディスプレイシステム、双眼ヘッドマウントディスプレイシステム、シースルーヘッドマウントディスプレイシステム、ヘルメットマウント表示システム、又はユーザに画像を表示するように構成された任意の他のタイプのデバイスを含むことができる。幾つかの例では、表示システムは、投影された画像を反射し、ユーザが表示システムを通して見ることを可能にすることに基づいてディスプレイを生成するように構成されてもよい。他の実施形態では、表示画像は、着用者の目に投影されてもよい。生成されたディスプレイは、導波路技術、回折光学系、ホログラフィック光学系、偏光光学系、反射光学系、又はコンピューティングデバイスによって投影された画像と、ユーザ、ディスプレイシステム、及び/又は装着型エクステンデッドリアリティ機器の周囲の物理環境から発せられた光信号とを組み合わせるための他のタイプの技術に基づくことができる。幾つかの例では、生成されたディスプレイは、仮想コンテンツを含むエクステンデッドリアリティディスプレイを指すことができる。少なくとも1つのプロセッサは、装着型エクステンデッドリアリティ機器を介してディスプレイを生成することができる。
仮想平面は、本明細書に記載の1つ以上の実施形態に関連して使用されるように構成された表面を指すことができる。仮想カーソルは、第1の仮想平面上に表示されてもよい。例えば、表示される仮想カーソルは、特定の方向を向いていてもよい。
第1の仮想平面は、物理的表面の上にある第2の仮想平面を横切ることができる。物理的表面は、物理オブジェクトの表面を含むことができる。物理オブジェクトは、例えば、机、テーブル、キーボード、マウス、タッチパッド、ランプ、カップ、電話、モバイルデバイス、プリンタ、スクリーン、棚、機械、車両、ドア、窓、椅子、ボタン、又は任意の他の物理的物品を含むことができる。幾つかの例では、物理的表面は、テーブル又は机の上面を含み得る。幾つかの例では、物理的表面は、オブジェクト(物理的又は仮想的)が配置され得る水平面を含み得る。例えば、物理的表面は、物理的キーボードが置かれる机の水平面を含み得る。
第2の仮想平面は、物理的表面の上にあってもよい(例えば、)。幾つかの例では、第2の仮想平面の境界は、物理的表面の境界と同じであってもよい。幾つかの例では、第2の仮想平面の境界は、物理的表面の境界内にあってもよい。幾つかの例では、第2の仮想平面及び物理的表面は、重なり合う領域を有することができ、互いに重なり合わない領域をそれぞれ有することができる。幾つかの例では、物理的表面の境界は、第2の仮想平面の境界内にあってもよい。幾つかの例では、第2の仮想平面は、物理的表面の輪郭と一致してもよい。例えば、物理的表面が平坦である場合、第2の仮想平面は平坦であってもよい。物理的表面が湾曲している場合、第2の仮想平面は、物理的表面の湾曲形態と同様の曲率を有することができる。幾つかの例では、第2の仮想平面の位置、向き、又は任意の他の態様は、物理的表面のものと同じ又は同様であり得る。幾つかの実施形態では、第2の仮想平面の寸法は、物理的表面の寸法に対応し得る。例えば、物理オブジェクト及び第2の仮想平面は、同じ又は類似の寸法を共有してもよく、そうでなければ重複してもよい。例えば、物理オブジェクトは、位置、向き、サイズ、輪郭、形態、又は表面の任意の他の態様のうちの1つ以上における第2の仮想平面の寸法に対応することができる。
第1の仮想平面(又は第1の仮想平面の延長)は、第2の仮想平面(又は第2の仮想平面の延長)を横切ることができる。例えば、第1仮想平面と第2仮想平面とが一列に交差していてもよい。幾つかの例では、交差線は、直線(例えば、第1の仮想平面が平面であり、第2の仮想平面が平面である場合)又は曲線(例えば、第1の仮想平面及び第2の仮想平面のいずれか又はそれぞれが曲面である1つ以上のシナリオにおいて)であってもよい。幾つかの例では、第1の仮想平面及び第2の仮想平面の横断は、仮想平面のうちの他方を横断する仮想平面のうちの1つの延長、又は仮想平面のうちの他方の延長を横断する仮想平面のうちの1つの延長を含み得る。例えば、第1の仮想平面及び第2の仮想平面(例えば、互いに平行ではない)が、第1の仮想平面及び第2の仮想平面が最初に交差し得ないような特定のサイズを有する場合、第1の仮想平面又は第2の仮想平面のうちの1つ以上は、延長された仮想平面が交差し得、交差線が作成され得るように延長され得る。
幾つかの実施形態では、第1の仮想平面は湾曲していてもよく、第2の仮想平面は平坦であってもよい。向きに関係なく、平面は同じ形状を有する必要はない。例えば、第1の仮想平面(例えば、垂直に向けられる)は、ユーザが見るために仮想オブジェクト(例えば、仮想スクリーン又は仮想ウィジェット)を配置することができる凹面であるように構成されてもよい。第2の仮想平面(例えば、水平に向けられる)は、テーブルの上面を覆う平坦面であるように構成されてもよい。
図41は、本開示の幾つかの実施形態と一致する、仮想カーソルを2つの横断仮想平面に沿って移動させるための例示的なプロセス4100を示すフローチャートである。図41を参照すると、ステップ4110において、プロセッサによって実行されると、非一時的コンピュータ可読媒体に含まれる命令は、プロセッサに、装着型エクステンデッドリアリティ機器を介してディスプレイを生成させることができ、ディスプレイは、仮想カーソルと、物理的表面の上にある第2の仮想平面を横断する第1の仮想平面上に配置された複数の仮想オブジェクトとを含む。
図42は、本開示の幾つかの実施形態と一致する例示的な装着型エクステンデッドリアリティ機器の使用を示す概略図である。図42に示すような1つ以上の要素は、図1に関連して説明したような1つ以上の要素と同じであってもよく、又は類似していてもよい。例えば、図42を参照すると、ユーザ100は、テーブル102の後ろに座っていてもよい。ユーザ100は、装着型エクステンデッドリアリティ機器(例えば、装着型エクステンデッドリアリティ機器110)を使用することができる。キーボード104及びマウス106は、テーブル102上に配置されてもよい。装着型エクステンデッドリアリティ機器(例えば、装着型エクステンデッドリアリティ機器110)は、仮想スクリーン112及び仮想ウィジェット114C、114D、114Eなどの仮想コンテンツをユーザ100に表示することができる。装着型エクステンデッドリアリティ機器は、仮想カーソル4216をユーザ100に表示することができる。仮想カーソル4216及び複数の仮想オブジェクト(例えば、仮想スクリーン112及び仮想ウィジェット114C、114D)は、第1の仮想平面4210上に位置してもよい。仮想ウィジェット114Eは、テーブル102の上面に現れることができる。第2の仮想平面4212は、テーブル102の上面に重なることができる。第1の仮想平面4210(又は第1の仮想平面の延長部)は、交差線4214によって第2の仮想平面4212(又は第2の仮想平面の延長部)を横断(例えば、交差)してもよい。幾つかの例では、第1の仮想平面4210及び/又は第2の仮想平面4212は、装着型エクステンデッドリアリティ機器によってユーザ100に表示されてもよい。幾つかの例では、第1の仮想平面4210及び/又は第2の仮想平面4212は、ユーザ100に表示されなくてもよい。
図43、図44、図45、図46、及び図47は、本開示の幾つかの実施形態と一致する、2つの横断仮想平面に沿って仮想カーソルを移動させるための例示的なシステムの様々な使用スナップショットを示す概略図である。図43、図44、図45、図46、及び図47は、図42に関連して説明したような1つ以上の要素を示すことができる。図43を参照すると、第1の仮想平面4210には、仮想カーソル4216及び複数の仮想オブジェクト(例えば、仮想スクリーン112及び仮想ウィジェット114C、114D)が位置してもよい。キーボード104及びマウス106は、テーブル102上に配置されてもよい。仮想ウィジェット114Eは、テーブル102の上面に現れることができる。第2の仮想平面4212は、テーブル102の上面に重なってもよい。第1の仮想平面4210は、交差線4214によって第2の仮想平面4212を横断(例えば、)してもよい。
幾つかの開示された実施形態は、仮想カーソルが第1の仮想平面上に表示されている間に、表面入力デバイスを介して第1の二次元入力を受信することを含んでもよい。第1の二次元入力は、第1の仮想平面上に位置する第1の仮想オブジェクトを選択する意図を反映することができる。表面入力デバイスは、表面からユーザによって操作可能な任意の入力制御を含むことができる。例えば、コンピュータマウス、タッチセンサ、トラックボール、ポインティングスティック、スタイラスペン、ライトペン、タッチパッド、仮想タッチパッド(例えば、物理的表面に投影される)、又は任意の他の物理的又は仮想的入力機構は、表面入力デバイスと見なされ得る。幾つかの実施形態では、表面入力デバイスは、ポインティングデバイス又はタッチセンサデバイスを含むことができる。表面入力デバイスは、ボタン(例えば、上、下、左、及び/又は右ボタン、矢印キー、又はカーソル移動キー)を含んでもよい。幾つかの例では、表面入力デバイスは、表面(例えば、テーブルの上面に沿って移動するコンピュータマウス、又はタッチパッドの表面に沿って移動するユーザの指)に沿った移動を示す入力を受信することができる。
二次元入力は、例えば、二次元空間に基づくことができる入力を含むことができる。例えば、2つの値を使用して二次元空間内の要素の位置を決定することができ、2つの値を使用して二次元空間内のベクトル(例えば、変位、速度など)を決定することができる(角度及び大きさなど)など。幾つかの例では、二次元空間は表面(例えば、平坦、非平坦、又は湾曲)であってもよく、二次元入力は表面に沿った移動に基づいてもよい。例えば、二次元入力は、テーブルの上面に沿ったコンピュータマウスの動きに基づいてもよい。別の例として、二次元入力は、タッチパッドの表面に沿ったユーザの指の動きに基づいてもよい。表面入力デバイスは、動き(例えば、表面に沿った動き)を捕捉することができ、捕捉された動きに基づいて二次元入力を生成することができる。曲面は、二次元が変化するという点で二次元と考えることができるが、三次元は可変ではない。
幾つかの例では、表面入力デバイスに関連付けられた1つ以上の移動方向(例えば、上、下、左、又は右)は、第1の仮想平面及び/又は第2の仮想平面にマッピングされてもよい。例えば、第1の仮想平面及び/又は第2の仮想平面上に座標系を確立することができ、座標系の方向(例えば、上、下、左、又は右)は、表面入力デバイス(例えば、上、下、左、又は右)に関連する移動方向に対応することができる。幾つかの例では、表面入力デバイスに関連付けられた1つ以上の移動方向を第1の仮想平面にマッピングすることができる方法は、表面入力デバイスに関連付けられた1つ以上の移動方向を第2の仮想平面にマッピングすることができる方法と調和していてもよい。例えば、第1の仮想平面及び第2の仮想平面の方向マッピングの方法は、仮想平面が一致するようになる程度まで仮想平面のうちの1つが仮想平面間の交差線の周りを回転する場合、第1の仮想平面のマッピングされた方向が第2の仮想平面のマッピングされた方向と一致する(例えば、以下と同じであってもよく、又は同様であってもよい)ようにすることができる。
幾つかの例では、表面入力デバイスに関連する移動距離(例えば、0.01cm、0.1cm、1cm、2cm、3cm、5cm、10cm、又は任意の他の長さ)は、第1の仮想平面及び/又は第2の仮想平面にマッピングされてもよい。例えば、第1の仮想平面及び/又は第2の仮想平面上での(例えば、仮想カーソルの)移動距離は、表面入力デバイスに関連付けられた移動距離に基づくことができる(例えば、は、移動距離に比例してもよい)。幾つかの例では、第1の仮想平面上を移動する距離と表面入力デバイスに関連する移動する距離との間の比例関係は、第2の仮想平面上を移動する距離と表面入力デバイスに関連する移動する距離との間の比例関係と同じであってもよい。幾つかの例では、第1の仮想平面上を移動する距離と、表面入力デバイスに関連付けられた移動する距離との間の比例関係は、第2の仮想平面上を移動する距離と、表面入力デバイスに関連付けられた移動する距離との間の比例関係とは異なっていてもよい。
仮想カーソルが第1の仮想平面上に表示されている間、少なくとも1つのプロセッサは、表面入力デバイスを介して第1の二次元入力を受信することができる。例えば、仮想カーソルが第1の仮想平面上に表示されると、ユーザはコンピュータマウスをテーブルの上面に沿って移動させることができる。テーブル表面に沿った移動を示す第1の二次元入力は、コンピュータマウスによって捕捉されてもよく、少なくとも1つのプロセッサに送信されてもよい。別の例として、仮想カーソルが第1の仮想平面上に表示されると、ユーザはタッチパッドの表面に沿って指を動かすことができる。タッチパッドの表面に沿った移動を示す第1の二次元入力は、タッチパッドによって捕捉され、少なくとも1つのプロセッサに送信され得る。
第1の二次元入力は、第1の仮想平面上に位置する第1の仮想オブジェクトを選択する意図を反映することができる。ユーザが、例えば、カーソル又は他のインジケータを表示されたオブジェクトと重なるように移動させる入力を行った場合、そのような入力は、そのオブジェクトを選択する意図を反映していると見なされ得る。例えば、第1の二次元入力は、表面(例えば、テーブルの上面、又はタッチパッドの表面)に沿った動きに基づくことができる。移動は、第1の仮想平面上の仮想カーソルと第1の仮想平面上の第1の仮想オブジェクトとの間の位置差に対応し得る位置変化を含み得る。位置変化は、位置差の距離に比例し得る距離を含み得る。位置変化は、位置差の方向と同じになるように第1の仮想平面にマッピングされ得る方向を含み得る。表面に沿った移動は、例えば、ユーザが仮想カーソルをその現在の位置から第1の仮想オブジェクトの位置に移動させ、第1の仮想オブジェクトを選択しようとすることによって引き起こされ得る。幾つかの例では、第1の二次元入力は、表面に沿った動きの一部に基づいてもよい。
幾つかの例では、第1の二次元入力は、表面入力デバイスによって捕捉された表面(例えば、二次元移動)に沿った動きに基づくことができ、動きは、第1の仮想平面上にマッピングされたときに、第1の仮想平面上に位置する第1の仮想オブジェクトを指すことができる方向を有することができる。移動の方向は、第1の仮想平面上に位置する第1の仮想オブジェクトを選択する意図を示すことができる。幾つかの例では、動きは直線移動又はほぼ直線移動であり得る。幾つかの例では、動きは、湾曲した動き又は自由曲面の動きであってもよい。移動は、第1の仮想平面上にマッピングされたときに、第1の仮想平面上に位置する第1の仮想オブジェクトに向かうことができる方向(例えば、特定の時間インスタンスで移動する方向、全体的な方向、又は平均的な方向)を有することができる。
図41を参照すると、ステップ4112において、プロセッサによって実行されたときに非一時的コンピュータ可読媒体に含まれる命令は、仮想カーソルが第1の仮想平面上に表示されている間に、プロセッサに、表面入力デバイスを介して第1の二次元入力を受信させることができる。第1の二次元入力は、第1の仮想平面上に位置する第1の仮想オブジェクトを選択する意図を反映することができる。一例では、第1の二次元入力は、仮想カーソルが第1の仮想オブジェクトに到達すると、仮想カーソルを第1の仮想オブジェクトに移動させ、第1の仮想オブジェクトを選択する意図に対応する一連の入力を含むことができる。別の例では、二次元入力は、第1の仮想オブジェクトの位置を示す入力を含むことができる(例えば、第1の仮想オブジェクトに対応する座標、仮想カーソルの元の位置からの第1の仮想オブジェクトの位置の変位など)。
図44を参照すると、マウス106は、テーブル102の上面に沿って移動することができる。マウス106の移動4410が引き起こされ得る(例えば、ユーザ100によって、)。移動4410又はその一部は、マウス106を介して第1の二次元入力を引き起こすことができる。第1の二次元入力は、第1の仮想平面4210上に位置する第1の仮想オブジェクト(例えば、仮想ウィジェット114C)を選択する意図を反映してもよい。例えば、移動4410は、テーブル102の上面上の位置変化を含むことができる。位置変化は、第1の仮想平面4210上の仮想カーソル4216の位置と第1の仮想平面4210上の仮想ウィジェット114Cの位置との間の位置差の距離に比例し得る距離を含み得る。位置変化は、位置差の方向と同じになるように第1の仮想平面4210にマッピングされ得る方向を含んでもよい。
幾つかの開示された実施形態は、第1の二次元入力に応じて、第1の仮想オブジェクトに向かって第1のカーソル移動を引き起こすことを含むことができ、第1のカーソル移動は第1の仮想平面に沿っている。少なくとも1つのプロセッサは、第1の二次元入力を受信し、第1の仮想オブジェクトに向かって第1のカーソル移動を引き起こすことができる。幾つかの例では、第1の二次元入力は、表面入力デバイスによって定期的又は連続的に捕捉され、少なくとも1つのプロセッサに送信され得るデータを含み得る(例えば、位置変化のセグメントの数を示すデータストリーム)。少なくとも1つのプロセッサは、第1の二次元入力のデータが受信されると、第1のカーソル移動(又はその一部)を実行させてもよい。
第1のカーソル移動は、第1の仮想平面に沿っていてもよい。例えば、仮想カーソルは、表面入力デバイスによって捕捉された移動表示に従って移動するように構成されてもよい。表面入力デバイスによって捕捉された要素の移動は、第1の仮想平面上にマッピングされ得る1つ以上の方向を有することができる。表面入力デバイスによって捕捉された要素の移動は、仮想カーソルが第1の仮想平面に沿って移動することができる距離に比例することができる距離を有することができる。第1の二次元入力に応じて、少なくとも1つのプロセッサは、仮想カーソルを第1の仮想平面に沿って第1の仮想オブジェクトに向かって移動させることができる。
図41を参照すると、ステップ4114において、プロセッサによって実行されたときに非一時的コンピュータ可読媒体に含まれる命令は、プロセッサに、第1の二次元入力に応じて、第1の仮想平面に沿った第1のカーソル移動を第1の仮想オブジェクトに向けて行わせることができる。
図44を参照すると、移動4410又はその一部に基づく第1の二次元入力に応じて、少なくとも1つのプロセッサは、第1の仮想平面4210に沿って第1の仮想オブジェクト(例えば、仮想ウィジェット114C)に向かって第1のカーソル移動(例えば、移動4412又はその一部)を生じさせてもよい。第1のカーソル移動(例えば、移動4412又はその一部)において、仮想カーソル4216は、第1の仮想平面4210に沿って第1の仮想オブジェクト(例えば、仮想ウィジェット114C)に向かって移動してもよい。
図45を参照すると、移動4410の後、マウス106は、マウス106の以前の位置とは異なるテーブル102の上面上の位置にあってもよい。移動4412の後、仮想カーソル4216は、仮想カーソル4216の以前の位置とは異なる第1の仮想オブジェクト(例えば、仮想ウィジェット114C)の位置にあるように表示されてもよい。例えば、仮想カーソル4216は、第1の仮想オブジェクト上にホバーして表示されてもよい(例えば、仮想ウィジェット114C)。ユーザ100は、仮想カーソル4216を使用して第1の仮想オブジェクト(例えば、仮想ウィジェット114C)を選択することができる。
幾つかの開示された実施形態は、仮想カーソルが第1の仮想平面上に表示されている間に、表面入力デバイスを介して第2の二次元入力を受信することを含んでもよい。第2の二次元入力は、物理的表面上に現れる第2の仮想オブジェクトを選択する意図を反映することができる。仮想カーソルが第1の仮想平面上に表示されている間、少なくとも1つのプロセッサは、表面入力デバイスを介して第2の二次元入力を受信することができる。例えば、仮想カーソルが第1の仮想平面上に表示されると、ユーザはコンピュータマウスをテーブルの上面に沿って移動させることができる。テーブル表面に沿った移動を示す第2の二次元入力は、コンピュータマウスによって捕捉されてもよく、少なくとも1つのプロセッサに送信されてもよい。別の例として、仮想カーソルが第1の仮想平面上に表示されると、ユーザはタッチパッドの表面に沿って指を動かすことができる。タッチパッドの表面に沿った移動を示す第2の二次元入力は、タッチパッドによって捕捉され、少なくとも1つのプロセッサに送信され得る。
第2の二次元入力は、物理的表面(例えば、第2の仮想平面は、)上に現れる第2の仮想オブジェクトを選択する意図を反映することができる。例えば、第2の二次元入力は、表面(例えば、テーブルの上面、又はタッチパッドの表面)に沿った動きに基づくことができる。移動は、第1の仮想平面上の仮想カーソルと物理的表面上に現れる第2の仮想オブジェクトとの間の位置差に対応し得る位置変化を含み得る。位置差は、例えば、第1の仮想平面に沿って、第1の仮想平面と第2の仮想平面(物理的表面の上にあってもよい)との間の交差線を横切って、物理的表面及び/又は第2の仮想平面に沿って測定されてもよい。位置変化は、位置差の距離に比例し得る距離を含み得る。位置変化は、第1の仮想平面上の位置差の方向と同じになるように第1の仮想平面上にマッピングされ得る方向、及び/又は第2の仮想平面上の位置差の方向と同じになるように第2の仮想平面上にマッピングされ得る方向を含み得る。表面に沿った移動は、例えば、ユーザが仮想カーソルをその現在の位置から第2の仮想オブジェクトの位置に移動させ、第2の仮想オブジェクトを選択しようとすることによって引き起こされ得る。幾つかの例では、第2の二次元入力は、表面に沿った動きの一部に基づいてもよい。
幾つかの例では、第2の二次元入力は、表面入力デバイスによって捕捉された表面(例えば、二次元移動)に沿った動きに基づくことができる。移動は、第1の仮想平面上にマッピングされたときに、第2の仮想オブジェクト(例えば、第2の仮想平面が、第2の仮想平面に対して固定された位置にある状態で、第2の仮想平面が、第1の仮想平面と第2の仮想平面とが一致するようになる程度まで、仮想オブジェクト及び/又は物理オブジェクトを区分する第1の仮想平面及び第2の仮想平面の区分間の角度を拡大するように、第1の仮想平面と第2の仮想平面との間の交差線の周りを回転する場合)を指すことができる方向を有することができる。幾つかの例では、移動は、第1の仮想平面にマッピングされたときに、第1の仮想平面と第2の仮想平面との間の交差線に向かうことができる方向を有することができる。これに加えて又は代えて、動きは、第2の仮想平面にマッピングされたときに、物理的表面上に現れる第2の仮想オブジェクトを指すことができる方向を有することができる。移動の方向は、物理的表面上に現れる第2の仮想オブジェクトを選択する意図を示すことができる。幾つかの例では、動きは直線移動又はほぼ直線移動であり得る。幾つかの例では、動きは、湾曲した動き又は自由曲面の動きであってもよい。移動の方向は、例えば、特定の時間インスタンスで移動する方向、全体の方向、又は平均方向を含むことができる。
第1の二次元入力及び第2の二次元入力は、異なる仮想オブジェクトを選択する意図を反映することができる(例えば、第1の二次元入力は、第1の仮想オブジェクトを選択する意図を反映することができ、第2の二次元入力は、第2の仮想オブジェクトを選択する意図を反映することができる)。異なる意図は、例えば、第1又は第2の二次元入力が基づく表面入力デバイスに関連付けられた移動方向に基づいて決定されてもよい。これに加えて又は代えて、異なる意図は、仮想カーソルの現在位置に基づいて決定されてもよい。例えば、表面入力デバイスに関連付けられた移動の方向を使用して、仮想カーソルの現在位置からの仮想カーソルの投影移動方向を決定することができる。仮想カーソルの現在位置からの投影移動方向が第1の仮想オブジェクトに向いているかどうか(及び/又は第1の仮想オブジェクトに関連付けられたオブジェクト、位置、領域、線、もしくは表面)、又は仮想カーソルの現在位置からの投影移動方向が第2の仮想オブジェクトに向いているかどうか(及び/又は第2の仮想オブジェクトに関連付けられたオブジェクト、位置、領域、線、もしくは表面)を決定することに基づいて、表面入力デバイスに関連付けられた移動に基づく二次元入力が第1の仮想オブジェクトを選択する意図を反映しているか、又は第2の仮想オブジェクトを選択する意図を反映しているかどうかを決定することができる。
図41を参照すると、ステップ4116において、プロセッサによって実行されたときに非一時的コンピュータ可読媒体に含まれる命令は、仮想カーソルが第1の仮想平面上に表示されている間に、プロセッサに、表面入力デバイスを介して第2の二次元入力を受信させてもよい。第2の二次元入力は、物理的表面上に現れる第2の仮想オブジェクトを選択する意図を反映することができる。
図46を参照すると、マウス106は、テーブル102の上面に沿って移動することができる。マウス106の移動4610が引き起こされ得る(例えば、ユーザ100によって、)。移動4610又はその一部は、マウス106を介して第2の二次元入力を引き起こすことができる。第2の二次元入力は、物理的表面(例えば、テーブル102の上面)上に現れる第2の仮想オブジェクト(例えば、仮想ウィジェット114E)を選択する意図を反映することができる。例えば、移動4610は、テーブル102の上面上の位置変化を含むことができる。位置変化は、第1の仮想平面4210上の仮想カーソル4216の位置と物理的表面(例えば、テーブル102の上面)上に現れる仮想ウィジェット114Eの位置との間の位置差の距離に比例し得る距離を含み得る。位置差の距離は、例えば、第1の仮想平面4210に沿って、交差線4214を横切って、物理的表面(例えば、テーブル102の上面)及び/又は第2の仮想平面4212に沿って測定することができる。位置変化は、第1の仮想平面4210上の位置差の方向と同じになるように第1の仮想平面4210上にマッピングされ得る方向、及び/又は第2の仮想平面4212上の位置差の方向と同じになるように第2の仮想平面4212上にマッピングされ得る方向を含み得る。
幾つかの開示された実施形態は、第2の二次元入力に応じて、第2の仮想オブジェクトに向かって第2のカーソル移動を引き起こすことを含むことができる。第2のカーソル移動は、第1の仮想平面に沿った部分移動及び第2の仮想平面に沿った部分移動を含むことができる。少なくとも1つのプロセッサは、第2の二次元入力を受信することができる。第2の二次元入力に応じて、少なくとも1つのプロセッサは、第2のカーソルを第2の仮想オブジェクトに向かって移動させることができる。幾つかの例では、第2の二次元入力は、表面入力デバイスによって定期的又は連続的に捕捉され、少なくとも1つのプロセッサに送信され得るデータを含み得る(例えば、位置変化のセグメントの数を示すデータストリーム)。少なくとも1つのプロセッサは、第2の二次元入力のデータが受信されると、第2のカーソル移動(又はその一部)を実行させてもよい。
第2のカーソル移動は、第1の仮想平面に沿った部分移動を含み得る。例えば、仮想カーソルは、表面入力デバイスによって捕捉された移動表示に従って移動するように構成されてもよい。表面入力デバイスによって捕捉された要素の移動は、第1の仮想平面上にマッピングされ得る1つ以上の方向を有することができる。表面入力デバイスによって捕捉された要素の移動は、仮想カーソルが第1の仮想平面に沿って移動することができる距離に比例することができる距離を有することができる。第2の二次元入力に応じて、少なくとも1つのプロセッサは、仮想カーソルを第1の仮想平面に沿って第2の仮想オブジェクトに向かって移動させることができる。幾つかの例では、第2のカーソル移動は、第1の仮想平面と第2の仮想平面との間の交差線に向かって移動する仮想カーソルを含み得る。更に、第2のカーソル移動は、第1の仮想平面から第2の仮想平面上に、交差線を横切って移動する仮想カーソルを含むことができる。
第2のカーソル移動は、第2の仮想平面に沿った部分移動を含み得る。第2の仮想平面に沿った部分移動は、仮想カーソルが第1の仮想平面と第2の仮想平面との間の交差線を横切った後に行われ得る。例えば、仮想カーソルは、表面入力デバイスによって捕捉された移動表示に従って移動するように構成されてもよい。表面入力デバイスによって捕捉された要素の移動は、第2の仮想平面上にマッピングされ得る1つ以上の方向を有することができる。表面入力デバイスによって捕捉された要素の移動は、仮想カーソルが第2の仮想平面に沿って移動することができる距離に比例することができる距離を有することができる。第2の二次元入力に応じて、少なくとも1つのプロセッサは、仮想カーソルを第2の仮想平面に沿って第2の仮想オブジェクトに向かって移動させることができる。
図41を参照すると、ステップ4118において、プロセッサによって実行されたときに非一時的コンピュータ可読媒体に含まれる命令は、プロセッサに、第2の二次元入力に応じて、第1の仮想平面に沿った部分移動及び第2の仮想平面に沿った部分移動を含む第2のカーソル移動を第2の仮想オブジェクトに向けて行わせることができる。
図46を参照すると、移動4610又はその一部に基づく第2の二次元入力に応じて、少なくとも1つのプロセッサは、第2の仮想オブジェクト(例えば、仮想ウィジェット114E)に向かって第2のカーソル移動を生じさせてもよい。第2のカーソル移動は、第1の仮想平面4210に沿った部分移動(例えば、移動4612又はその一部)を含んでもよい。第1の仮想平面4210に沿った部分移動において、仮想カーソル4216は、第1の仮想平面4210に沿って第2の仮想オブジェクト(例えば、仮想ウィジェット114E)に向かって移動してもよい。更に、仮想カーソル4216は、交差線4214を横切って、第1の仮想平面4210から第2の仮想平面4212上に移動することができる。第2のカーソル移動は、第2の仮想平面4212に沿った部分移動(例えば、移動4614又はその一部)を含んでもよい。第2の仮想平面4212に沿った部分移動において、仮想カーソル4216は、第2の仮想平面4212に沿って第2の仮想オブジェクト(例えば、仮想ウィジェット114E)に向かって移動してもよい。
図47を参照すると、移動4610の後、マウス106は、マウス106の以前の位置とは異なるテーブル102の上面上の位置にあってもよい。移動4612及び移動4614の後、仮想カーソル4216は、仮想カーソル4216の以前の位置とは異なる第2の仮想オブジェクト(例えば、仮想ウィジェット114E)の位置にあるように表示されてもよい。例えば、仮想カーソル4216は、第2の仮想オブジェクト上にホバーして表示されてもよい(例えば、仮想ウィジェット114E)。ユーザ100は、仮想カーソル4216を使用して第2の仮想オブジェクト(例えば、仮想ウィジェット114E)を選択することができる。
幾つかの実施形態では、表面入力デバイスを介した第2の二次元入力は、単一の方向への移動を含むことができ、第2のカーソル移動は、2つの方向への仮想カーソルの移動を含むことができる。第2の二次元入力に関連する移動は、表面入力デバイスに関連する要素の移動を含むことができる。幾つかの例では、第2の二次元入力に関連する移動は、ユーザによる物理的なオブジェクトの移動を含むことができる。例えば、表面入力デバイスがコンピュータマウスである場合、第2の二次元入力に関連する動きは、表面上のコンピュータマウスの動きを含むことができる。別の例として、表面入力デバイスがタッチパッドである場合、第2の二次元入力に関連する動きは、タッチパッド上のユーザの指の動きを含み得る。
移動方向は、例えば、特定の時間インスタンスにおける移動方向、全体方向、平均方向、又は移動方向の任意の他の測定値を含むことができる。幾つかの例では、第2の二次元入力に関連付けられた移動の単一の方向は、仮想カーソルの移動の2つの方向とは異なり得る。幾つかの例では、第2の二次元入力に関連付けられた移動の単一の方向は、仮想カーソルの移動の2つの方向のうちの一方と同じ又は同様であってもよい。仮想カーソルの移動の2つの方向のうちの第1の方向は、第1の仮想平面に沿っていてもよく、仮想カーソルの移動の2つの方向のうちの第2の方向は、第2の仮想平面及び/又は物理的表面(例えば、第2の仮想平面がそのうちに位置し得る)に沿っていてもよい。
例えば、図46を参照すると、表面入力デバイス(例えば、マウス106)を介した第2の二次元入力は、単一方向での(例えば、マウス106)の移動(例えば、移動4610又はその一部)を含んでもよい。第2のカーソル移動は、二方向への仮想カーソル4216の移動(例えば、第1の方向への移動4612又はその一部、及び第1の方向とは異なる第2の方向への移動4614又はその一部)を含んでもよい。
幾つかの実施形態では、第1のカーソル移動は、第1の視点からレンダリングされてもよく、第2の仮想平面に沿った部分移動では、仮想カーソルは、第1の視点とは異なる第2の視点から再レンダリングされてもよい。少なくとも1つのプロセッサは、装着型エクステンデッドリアリティ機器のユーザに仮想カーソルを表示させることができる。仮想カーソルは、第1仮想平面上又は第2仮想平面上に位置するように表示されてもよい。仮想カーソルが第1の仮想平面上にあるように表示されるとき、仮想カーソルは第1の視点からレンダリングされてもよい。例えば、仮想カーソルは、第1の仮想平面が向いているのと同じ方向(例えば、第1の仮想平面に垂直な方向)を向いていてもよい。別の例として、仮想カーソルは、第1の仮想平面上の他の仮想オブジェクトと同じように向けられてもよい。仮想カーソルが第2の仮想平面上にあるように表示されるとき、仮想カーソルは、第2の視点(例えば、第1の視点とは異なる)からレンダリングされ得る。例えば、仮想カーソルは、第2の仮想平面が向いている方向(例えば、第2の仮想平面に垂直な方向)と同じ方向を向いていてもよい。別の例として、仮想カーソルは、第2の仮想平面上の他の仮想オブジェクトと同じように向けられてもよい。これに加えて又は代えて、仮想カーソルをレンダリングすることができる視点は、仮想カーソルのサイズ、形状、輪郭、色、視覚効果、又は他の構成を含むことができる。第1のカーソル移動において、仮想カーソルは、第1の仮想平面上に表示されてもよく、第1の視点からレンダリングされてもよい。第2の仮想平面に沿った部分移動では、仮想カーソルは、第2の仮想平面上に表示されてもよく、第2の視点(例えば、第1の視点とは異なる)からレンダリングされてもよい。例えば、図44及び図45を参照すると、仮想カーソル4216(例えば、移動4412において)は、第1の視点からレンダリングされてもよい。図46及び図47を参照すると、仮想カーソル4216(例えば、移動4614において)は、第1の視点とは異なる第2の視点からレンダリングされてもよい。
幾つかの開示された実施形態は、仮想カーソルの視点が第1の視点から第2の視点に変化するとき、及び仮想カーソルの視点が第2の視点から第1の視点に変化するときに通知を発行することを含むことができる。例えば、少なくとも1つのプロセッサは、仮想カーソルの位置を監視することができる。仮想カーソルの位置に基づいて、少なくとも1つのプロセッサは、仮想カーソルが第1の仮想平面と第2の仮想平面との間の交差線を横切って、第1の仮想平面から第2の仮想平面上に、又は第2の仮想平面から第1の仮想平面上に移動するときのインスタンスを検出することができる。そのような事例を検出することに基づいて、少なくとも1つのプロセッサは、ユーザに通知を発行することができる(例えば、送信する)。これに加えて又は代えて、少なくとも1つのプロセッサは、仮想カーソルがレンダリングされる視点を監視することができる。仮想カーソル(例えば、第1の視点から第2の視点へ、又は第2の視点から第1の視点へ)の視点の変化の検出に基づいて、少なくとも1つのプロセッサは、ユーザに通知を発行することができる(例えば、送信する)。通知は、例えば、仮想カーソルがある面から別の面に移動したこと、又は仮想カーソルがある視点からレンダリングされている状態から別の視点からレンダリングされた状態に変化したことをユーザに通知することができる。幾つかの例では、通知は、仮想カーソルの現在位置をユーザに示すことができる。通知は、ユーザが仮想カーソルの位置を追跡すること、及び/又は仮想カーソルを検索することを支援することができる(例えば、ユーザが仮想カーソルを見失った場合)。
幾つかの実施形態では、通知は、視覚通知、可聴通知、又は触覚通知のうちの少なくとも1つを含むことができる。視覚通知は、例えば、テキスト及び/又は画像を含むメッセージ、仮想カーソルの強調効果(例えば、サイズを大きくする)、ポップアップウィンドウ、又は情報の任意の他の所望の表示を含むことができる。仮想通知は、例えば、装着型エクステンデッドリアリティ機器の表示システムによってユーザに表示されてもよい。可聴通知は、例えば、特定の音の再生、テキストを含むメッセージの再生、又は任意の他の所望の音声の再生を含むことができる。可聴通知は、例えば、スピーカ、ヘッドフォン、ヘッドセット、イヤホン、イヤホン、イヤホン、イヤホン、イヤホン、又は任意の他の所望の音声機器などの装着型エクステンデッドリアリティ機器に関連する音声システムによってユーザに再生されてもよい。触覚通知は、例えば、振動、力、又はユーザにタッチ感を作り出すための任意の他の所望の動きの形態を適用することを含み得る。触覚通知は、例えば、偏心回転質量アクチュエータ、モータ、又はユーザに触覚を生成するための任意の他の所望の機器などの装着型エクステンデッドリアリティ機器に関連する触覚システムによって、ユーザに生成され得る。触覚通知は、所望に応じて特定のパターンを有することができる。例えば、触覚通知は、特定のパターンの振動であってもよい。幾つかの例では、触覚通知は、表面入力デバイス(例えば、第1の二次元入力及び/又は第2の二次元入力を受信することができる)によって生成されてもよい。幾つかの例では、視覚的通知、可聴通知、及び/又は触覚的通知は、0.5秒、1秒、2秒、3秒、5秒、又は任意の他の所望の時間などの一時的な時間だけ継続することができる。幾つかの例では、複数の形態の通知が同時にアクティブにされてもよい。
幾つかの実施形態では、物理的表面(例えば、第2の仮想平面がその上に位置し得る)は机であってもよい。幾つかの開示された実施形態は、仮想カーソルが少なくとも1つの机の縁を越えて移動するのを防止することを含んでもよい。例えば、少なくとも1つのプロセッサは、画像センサを介して、装着型エクステンデッドリアリティ機器の前のシーンの画像データを取り込むことができる。画像データ(例えば、机の画像を含む)に基づいて、少なくとも1つのプロセッサは、例えば、画像解析アルゴリズムを使用して、捕捉された画像内の物理的なオブジェクト(机を含む)の特徴を抽出することにより、机の縁を決定することができる。机の縁のうちの1つ以上は、仮想カーソルがそれを超えて移動することができない境界であるように構成されてもよい。少なくとも1つのプロセッサは、例えば、仮想カーソルの位置を定期的又は連続的に監視することができる。仮想カーソルの監視された位置に基づいて、少なくとも1つのプロセッサは、仮想カーソルが構成された境界に到達するインスタンスを検出することができる。そのような場合、少なくとも1つのプロセッサは、仮想カーソルが構成された境界(を超えて移動するのを防止することができる例えば、仮想カーソルが構成された境界を横切って移動するのを防止することができる)。例えば、少なくとも1つのプロセッサは、仮想カーソルを、仮想カーソルが位置する構成された境界の側から、構成された境界に垂直な方向に、仮想カーソルが位置しない境界の側に向かって移動させることができる(例えば、表面入力デバイスからの)入力データの態様を無視することができる。
幾つかの実施形態では、物理的表面(例えば、第2の仮想平面がその上に位置し得る)は机であってもよい。幾つかの開示された実施形態は、机の上に配置されたキーボードを検出することと、机からのキーボードの離脱を特定することと、仮想カーソルを第1の仮想平面に戻すこととを含むことができる。例えば、少なくとも1つのプロセッサは、画像センサを介して、装着型エクステンデッドリアリティ機器の前のシーンの画像データを取り込むことができる。画像データに基づいて、少なくとも1つのプロセッサは、例えば、画像解析アルゴリズムを使用して、捕捉された画像内の物理オブジェクト(キーボード及び机を含む)の特徴を抽出することにより、机の上に配置されたキーボードを決定することができる。
少なくとも1つのプロセッサは、画像センサを介して、装着型エクステンデッドリアリティ機器の前のシーンの画像データを定期的又は連続的に捕捉することができ、捕捉された画像データに基づいて、机の位置に対するキーボードの位置を監視することができる。少なくとも1つのプロセッサは、例えば、キーボードと机の上面との間の距離が距離閾値(例えば、1cm、2cm、3cm、5cm、10cm、15cm、又は任意の他の所望の長さ)を満たす(例えば、以下を満たす、又は超える)と判断することによって、机からのキーボードの離脱を特定することができる。キーボードと机の上面との間の距離は、例えば、キーボードと机の上面との間の平均距離、キーボードと机の上面との間の最小距離、キーボードと机の上面との間の最大距離、キーボードの特定の点と机の上面との間の距離、又はキーボードと机の上面との間の長さの任意の他の所望の測定値を含み得る。
机からのキーボードの離脱の特定に基づいて、少なくとも1つのプロセッサは、仮想カーソルを第1の仮想平面に戻すことができる。例えば、仮想カーソルが第2の仮想平面上にあるように表示されると、少なくとも1つのプロセッサは、机からのキーボードの離脱を特定することができ、離脱の特定に基づいて、仮想カーソルを第1の仮想平面に戻すことができる。幾つかの例では、仮想カーソルを第1の仮想平面に戻す際に、仮想カーソルを第1の仮想平面の構成された位置(例えば、第1の仮想平面の中心、1つ以上の仮想オブジェクトを含む領域の中心、近くに仮想オブジェクトがない位置、第1の仮想平面上のランダムな点、仮想カーソルが第1の仮想平面に戻される前の仮想カーソルの位置に近い第1の仮想平面上の点、又は仮想カーソルを配置するための第1の仮想平面上の任意の他の所望の点)に移動させることができる。
幾つかの開示された実施形態は、仮想カーソルが第2の仮想平面上に表示されている間に、装着型エクステンデッドリアリティ機器のユーザのアテンションが第2の仮想平面から第1の仮想平面にシフトしたことを検出することと、仮想カーソルを第1の仮想平面に自動的に戻すこととを含むことができる。幾つかの実施形態では、第2の仮想平面から第1の仮想平面にシフトされた装着型エクステンデッドリアリティ機器のユーザのアテンションを検出することは、装着型エクステンデッドリアリティ機器に配置されたセンサからの入力に基づくことができる。焦点の変化の検出は、頭部、目、手、ユーザの身体の任意の他の部分の位置の変化を感知することから、又は入力デバイスから受信した信号に基づいて行われ得る。例えば、視線追跡のためにセンサを構成することができる。センサは、ユーザの凝視点(例えば、ユーザが見ている場所)及び/又はユーザの目の動きを測定することができる。少なくとも1つのプロセッサは、センサによって測定された視線追跡のデータを受信することができ、データに基づいて、(例えば、第1の仮想平面又は第2の仮想平面上で)ユーザの注意を決定することができる。例えば、少なくとも1つのプロセッサは、ユーザが特定の仮想平面を閾値時間(例えば、0.5秒、1秒、2秒、3秒、5秒、10秒、又は任意の他の所望の時間)見続けているという決定に基づいて、ユーザの注意が特定の仮想平面上にあると決定することができる。少なくとも1つのプロセッサは、例えば、ユーザの凝視点が第2の仮想平面から第1の仮想平面に移動すると決定することに基づいて、及び/又はユーザの凝視点が閾値時間(例えば、0.5秒、1秒、2秒、3秒、5秒、10秒、又は任意の他の所望の時間)にわたって第1の仮想平面上に留まると決定することに基づいて、ユーザの注意が第2の仮想平面から第1の仮想平面にシフトしたことを検出することができる。
ユーザの注意が第2の仮想平面から第1の仮想平面にシフトしたことを検出することに基づいて、少なくとも1つのプロセッサは、仮想カーソルを第1の仮想平面に自動的に戻すことができる。幾つかの例では、仮想カーソルを第1の仮想平面に戻す際に、仮想カーソルを第1の仮想平面上のユーザの注目点又は領域(例えば、凝視)に移動させることができる。幾つかの例では、仮想カーソルを第1の仮想平面に戻す際に、仮想カーソルを第1の仮想平面の構成された位置(例えば、第1の仮想平面の中心、1つ以上の仮想オブジェクトを含む領域の中心、近くに仮想オブジェクトがない位置、第1の仮想平面上のランダムな点、仮想カーソルが第1の仮想平面に戻される前の仮想カーソルの位置に近い第1の仮想平面上の点、又は仮想カーソルを配置するための第1の仮想平面上の任意の他の所望の点)に移動させることができる。
幾つかの実施形態では、第2の仮想平面から第1の仮想平面にシフトされた装着型エクステンデッドリアリティ機器のユーザのアテンションの検出は、表面入力デバイスに関連付けられた入力デバイスからの入力に基づくことができる。表面入力デバイスに関連する入力デバイスは、例えば、ボタン、キー、圧力センサ、又は入力を受信するための任意の他の機器を含むことができる。例えば、表面入力デバイスはコンピュータマウスであってもよく、表面入力デバイスに関連する入力デバイスはコンピュータマウスの特定のボタンであってもよい。別の例として、表面入力デバイスはタッチパッドであってもよく、表面入力デバイスに関連付けられた入力デバイスはタッチパッドの圧力センサ(例えば、タッチパッド上の特定の点又は領域に加えられた圧力の程度を感知するために、)であってもよい。幾つかの例では、表面入力デバイスに関連付けられた入力デバイスは、表面入力デバイスの一部であってもよい。幾つかの例では、表面入力デバイスに関連付けられた入力デバイスは、表面入力デバイスとは別個であってもよい。
表面入力デバイスに関連付けられた入力デバイスは、ユーザ入力(例えば、コンピュータマウスの特定のボタンを押すこと、又はタッチパッド上の特定の点又は領域を押すこと)を取り込むことができる。少なくとも1つのプロセッサは、捕捉されたユーザ入力を受信することができ、捕捉されたユーザ入力に基づいて、装着型エクステンデッドリアリティ機器のユーザのアテンションが第2の仮想平面から第1の仮想平面にシフトするという表示を決定することができる。例えば、特定の位置又は特定のパターンでの入力デバイスのタッチ又は押圧は、第2の仮想平面から第1の仮想平面へのユーザの注意の変化を示すように構成されてもよい。ユーザが第2の仮想平面から第1の仮想平面に注意を変更しようとするとき、ユーザは、特定の位置又は特定のパターンで入力デバイスにタッチ又は押圧することができる。表面入力デバイスに関連付けられた入力デバイスからの入力に基づいて、少なくとも1つのプロセッサは、ユーザの注意が第2の仮想平面から第1の仮想平面にシフトしたことを検出することができる。
幾つかの例では、第1の仮想平面に沿った移動(例えば、第1のカーソル移動、第2のカーソル移動の第1の仮想平面の部分移動など)は第1のペースであってもよく、第2の仮想平面に沿った移動(第2のカーソル移動の第2の仮想平面のみの部分移動など)は第2のペースであってもよい。第2のペースは、第1のペースとは異なり得る。幾つかの例では、第2のペースは、物理的表面のタイプに基づいて選択されてもよい。例えば、物理的表面の画像は、装着型エクステンデッドリアリティ機器に含まれる画像センサを使用して捕捉されてもよい。画像は、物理的表面を複数の代替クラスのうちの1つに分類するために視覚的分類アルゴリズムを使用して解析することができ、各代替クラスは表面のタイプに対応し、それによって物理的表面のタイプを決定する。物理的表面の第1の決定されたタイプに応じて、第2のペースに対して1つの値を選択することができ、物理的表面の第2の決定されたタイプに応じて、第2のペースに対して別の値を選択することができる。幾つかの例では、第2のペースは、物理的表面(例えば、長さ、幅、面積サイズなど)の寸法に基づいて選択されてもよい。例えば、物理的表面の画像は、装着型エクステンデッドリアリティ機器に含まれる画像センサを使用して捕捉されてもよい。画像は、物理的表面(例えば、長さ、幅、面積サイズなど)の寸法を決定するために回帰モデルを使用して解析することができる。物理的表面の第1の決定された寸法に応じて、第2のペースに対して1つの値を選択することができ、物理的表面の第2の決定された寸法に応じて、第2のペースに対して別の値を選択することができる。幾つかの例では、第1のペースは、第1の仮想平面(例えば、ユーザから、キーボードからなど)の距離に基づいて選択されてもよい。例えば、第1の仮想平面の第1の距離に応じて、第1のペースに対して1つの値が選択されてもよく、第1の仮想平面の第2の距離に応じて、第1のペースに対して別の値が選択されてもよい。幾つかの例では、第1のペースと第2のペースとの間の比は、第1の仮想平面と第2の仮想平面との間の角度に基づいて選択されてもよい。例えば、比率は、角度の非線形関数であってもよい。一例では、第2のペースは、第1のペース及び選択された比率に基づいて決定され得る。別の例では、第1のペースは、第2のペース及び選択比に基づいて決定されてもよい。幾つかの例では、第1のペースは、第1の仮想平面の曲率に基づくことができる。例えば、第1の仮想平面の第1の曲率に応じて、第1のペースに対して1つの値が選択されてもよく、第1の仮想平面の第2の曲率に応じて、第1のペースに対して別の値が選択されてもよい。幾つかの例では、第2のペース及び/又は第1のペースは、第1の仮想平面と第2の仮想平面との交差線からの仮想カーソルの距離の関数であり得る。例えば、仮想カーソルは、交差線に近づくと加速及び/又は減速することができる。
幾つかの開示された実施形態は、仮想カーソルが第2の仮想平面上に表示されている間に、表面入力デバイスを介して第3の二次元入力を受信することを含んでもよい。第3の二次元入力は、仮想カーソルを第1の仮想平面に戻す意図を反映することができる。仮想カーソルを第1の仮想平面に戻す意図を反映する二次元入力は、前述と同様に決定することができる。例えば、第3の二次元入力は、表面入力デバイスに関連する動き(例えば、表面上のコンピュータマウスの動き、又はタッチパッド上のユーザの指の動き)に基づくことができる。表面入力デバイスに関連付けられた動きは、第2の仮想平面にマッピングされたときに、第1の仮想平面を向いてもよく、及び/又は第1の仮想平面と第2の仮想平面との間の交差線を向いてもよい方向を有してもよい。移動の方向は、仮想カーソルを第1の仮想平面に戻す意図を示すことができる。幾つかの開示された実施形態は、第3の二次元入力に応じて、第3のカーソル移動を引き起こすことを含んでもよい。第3のカーソル移動は、第2の仮想平面に沿ったカーソル移動及び第1の仮想平面に沿ったカーソル移動を含むことができる。第3のカーソル移動は、本明細書に記載の1つ以上のカーソル移動と同様に実行され得る(例えば、第1のカーソル移動及び/又は第2のカーソル移動)。幾つかの例では、第2の仮想平面に沿ったカーソル移動中に、仮想カーソルは第2の視点からレンダリングされる。第1の仮想平面に沿ったカーソル移動中、仮想カーソルは、第1の視点から再レンダリングされる。
幾つかの開示された実施形態は、仮想カーソルが第2の仮想平面上に表示されている間に、表面入力デバイスを介して第3の二次元入力を受信することを含んでもよい。第3の二次元入力は、別の物理的表面に対応する第3の仮想平面上に位置する第3の仮想オブジェクトを選択する意図を反映することができる。第3の仮想平面は、例えば、他の物理的表面(例えば、第2の仮想平面が重なり得る物理的表面とは異なる)の上にあってもよい。幾つかの例では、第3の仮想平面(又は第3の仮想平面の延長部)は、第2の仮想平面(又は第2の仮想平面の延長部)を横切ることができる。幾つかの例では、第3の二次元入力は、表面入力デバイス(例えば、表面上のコンピュータマウスの動き、又はタッチパッド上のユーザの指の動き)に関連する動きに基づくことができる。表面入力デバイスに関連付けられた動きは、第2の仮想平面上にマッピングされたときに、第3の仮想平面上に位置する第3の仮想オブジェクトを指すことができ、第3の仮想平面を指すことができ、及び/又は第2の仮想平面と第3の仮想平面との間の交差線を指すことができる方向を有することができる。幾つかの例では、表面入力デバイスに関連付けられた動きは、第3の仮想平面にマッピングされたときに、第3の仮想平面上に位置する第3の仮想オブジェクトを指すことができる方向を有することができる。移動の方向は、第3の仮想平面上に位置する第3の仮想オブジェクトを選択する意図を示すことができる。
幾つかの開示された実施形態は、第3の二次元入力に応じて、第3のカーソル移動を引き起こすことを含んでもよい。第3のカーソル移動は、第2の仮想平面に沿ったカーソル移動及び第3の仮想平面に沿ったカーソル移動を含み得る。第3のカーソル移動は、本明細書に記載の1つ以上のカーソル移動と同様に実行され得る(例えば、第1のカーソル移動及び/又は第2のカーソル移動)。幾つかの例では、第2の仮想平面に沿ったカーソル移動中に、仮想カーソルは第2の視点からレンダリングされる。第3の仮想平面に沿ったカーソル移動中、仮想カーソルは、第1及び第2の視点とは異なる第3の視点から再レンダリングされる。
幾つかの開示された実施形態は、仮想カーソルが第2の仮想平面上に表示されている間に、表面入力デバイスを介して第3の二次元入力を受信することを含んでもよい。第3の二次元入力は、物理的表面上に位置する物理デバイスと相互作用する意図を反映することができる。ここでも、第3の二次元入力に関連するプロセスは、第1の二次元入力及び第2の二次元入力のプロセスと同様であってもよい。例えば、第3の二次元入力は、表面入力デバイスに関連する動き(例えば、表面上のコンピュータマウスの動き、又はタッチパッド上のユーザの指の動き)に基づくことができる。表面入力デバイスに関連付けられた動きは、第2の仮想平面及び/又は物理的表面(例えば、第2の仮想平面がその上に位置し得る)にマッピングされると、物理的表面上に位置する物理デバイスを指すことができる方向を有することができる。移動の方向は、物理的表面上に位置する物理デバイスと相互作用する意図を示すことができる。物理デバイスは、例えば、空調コントローラ、ライトスイッチ、ランプ、スピーカ、又は仮想カーソルと相互作用するように構成され得る任意の他の物理機器を含み得る。
幾つかの開示された実施形態は、第3の二次元入力に応じて、仮想カーソルを物理デバイスにオーバーレイさせることを含むことができる。例えば、第3の二次元入力に応じて、少なくとも1つのプロセッサは、仮想カーソルを物理デバイスに向かって(例えば、第2の仮想平面に沿って)移動させることができる。仮想カーソルが物理デバイスの位置に到達すると、仮想カーソルは物理デバイスの上に重なって表示され得る。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器のユーザからの入力を受信することを含むことができる。ユーザからの入力は、例えば、仮想カーソルのアクティブ化を含むか、又は引き起こすことができる。幾つかの例では、ユーザからの入力は、クリック、ダブルクリック、スクロール、回転、スライド、タップ、ダブルタップ、ズームイン、ズームアウト、ドラッグ、ピンチ、スプレッド、スワイプ、タッチ、タッチアンドホールド、フリック、ポインティング、サムアップ、サムダウン、又はユーザからの任意の他のタイプのジェスチャ又は表示を含むことができる。ユーザからの入力は、例えば、表面入力デバイスを介して受け取ることができる。幾つかの例では、ユーザからの入力は、表面入力デバイスとは別の入力デバイスを介して受信されてもよい。
幾つかの開示された実施形態は、入力を受信すると、物理デバイスに機能を実行させることを含むことができる。例えば、少なくとも1つのプロセッサは、ユーザからの入力を受信することができ、ユーザからの入力に応じて、物理デバイスに機能を実行させることができる。機能は、物理デバイスに関連する1つ以上のパラメータ又は動作条件を変更することに関連付けられ得る。幾つかの例では、ユーザからの入力に応じて、少なくとも1つのプロセッサは、物理デバイスに関連する1つ以上のパラメータ又は動作条件の変更を引き起こすことができる。例えば、物理デバイスがランプである場合、機能は、ランプをオンにすること、ランプをオフにすること、又は物理デバイスに関連する他の動作を含むことができる。別の例として、物理デバイスが空調機コントローラである場合、機能は、空調機をオンにすること、空調機をオフにすること、空調機の設定(例えば、空調機の温度、冷却モード、ファンモード、スリープモード、又は任意の他のパラメータ)を変更すること、又は物理デバイスに関連する他の動作を含むことができる。別の例として、物理デバイスが光スイッチである場合、機能は、光をオンにすること、光をオフにすること、又は物理デバイスに関連する他の動作を含むことができる。別の例として、物理デバイスがスピーカである場合、機能は、スピーカをオンにすること、スピーカをオフにすること、スピーカの設定(例えば、音量、再生されるべき音声、又はスピーカの任意の他のパラメータ)を変更すること、又は物理デバイスに関連する他の動作を含むことができる。
幾つかの開示された実施形態は、物理デバイスと装着型エクステンデッドリアリティ機器との間に通信チャネルを確立することと、入力を受信すると、機能に関連するコマンドを物理デバイスに送信することとを含むことができる。通信チャネルは、例えば、IP(インターネットプロトコル)接続、Wi-Fi接続、WiMAX接続、セルラー接続(例えば、2G、3G、4G、又は5G)、Bluetooth接続、近距離無線通信(NFC)接続、低電力広域ネットワーク(LPWAN)接続、イーサネット接続、電力線通信(PLC)接続、衛星通信接続、モバイルネットワーク接続、地上マイクロ波ネットワーク接続、無線アドホックネットワーク接続、又はネットワークを介した任意の他のタイプの接続を含むことができる。通信チャネルは、有線であっても無線であってもよい。幾つかの例では、通信チャネルは、パーソナルエリアネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワーク、ワイドエリアネットワーク、グローバルエリアネットワーク、スペースネットワーク、又はネットワークノード間のデータ接続を使用することができる任意の他のタイプのコンピュータネットワークを介してもよい。
少なくとも1つのプロセッサは、物理デバイスと装着型エクステンデッドリアリティ機器との間に通信チャネルを確立することができる。通信チャネルは、受信された入力の前又は後に確立されてもよい。少なくとも1つのプロセッサは、受信した入力に応じて、機能に関連するコマンドを物理デバイスに送信することができる。コマンドは、機能を実行するように物理デバイスに指示するように構成されたデータを含むことができる。コマンドは、確立された通信チャネルを介して物理デバイスに送信され得る。
幾つかの開示された実施形態は、仮想カーソルが物理デバイスにオーバーレイするときに物理デバイスに関連付けられた複数の機能を仮想的に表示し、実行のために複数の機能のうちの少なくとも1つのユーザ選択を可能にすることを含むことができる。複数の機能は、物理デバイスに固有のものであってもよい。例えば、第1の複数の機能は、第1の物理デバイスに関連付けられてもよく、第2の複数の機能(例えば、第1の複数の機能とは異なる)は、第2の物理デバイスに関連付けられてもよい。例えば、物理デバイスが空調機コントローラである場合、物理デバイスに関連する複数の機能は、空調機の電源をオンにすること、空調機の電源をオフにすること、空調機の設定を変更すること(例えば、空調機の温度、冷却モード、ファンモード、スリープモード、又は任意の他のパラメータ)、又は物理デバイスに関連する他の動作を含むことができる。別の例として、物理デバイスがスピーカである場合、物理デバイスに関連する複数の機能は、スピーカをオンにすること、スピーカをオフにすること、スピーカの設定を変更すること(例えば、音量、再生されるべき音声、又はスピーカの任意の他のパラメータ)、又は物理デバイスに関連する他の動作を含むことができる。
少なくとも1つのプロセッサは、仮想カーソルが物理デバイスにオーバーレイすると、物理デバイスに関連付けられた複数の機能の表示を(例えば、装着型エクステンデッドリアリティ機器を介して)行わせることができる。少なくとも1つのプロセッサは、実行のために複数の機能のうちの少なくとも1つのユーザ選択を可能にすることができる。例えば、仮想カーソルが物理デバイスにオーバーレイする(例えば、覆い被さる)ときに、複数の機能を列挙するポップアップウィンドウが表示されてもよい(例えば、物理デバイスの近く)。少なくとも1つのプロセッサは、ユーザ入力を(例えば、表面入力デバイスを介して、又は表面入力デバイスとは別個の入力デバイスを介して)受信して、複数の機能から、実行するための1つ以上の機能を選択することができる。
幾つかの実施形態では、物理的表面(例えば、第2の仮想平面がその上に位置し得る)は壁であってもよく、物理デバイスは空調機コントローラであってもよい。幾つかの開示された実施形態は、受信した入力に基づいて空調機コントローラをオフにすることを含むことができる。例えば、少なくとも1つのプロセッサは、ユーザからの入力を受信することができる。ユーザからの入力は、空調機コントローラをオフにすることを示すことができる。ユーザからの入力に基づいて、少なくとも1つのプロセッサは、空調機コントローラをオフにすることができる。例えば、少なくとも1つのプロセッサは、空調機コントローラに、通信チャネルを介して、空調機コントローラをオフにする命令を送信することができる。命令に基づいて、空調機コントローラは、オフに切り替えてもよい。
幾つかの実施形態では、物理的表面と仮想表面との間のカーソル移動を変更するための方法、システム、装置、及び非一時的コンピュータ可読媒体が提供される。幾つかの実施形態では、ユーザ制御カーソルを拡張現実環境に表示させることができる。拡張現実環境は、物理的表面と交差する仮想表面を含むことができ、仮想表面と物理的表面との間に交差線を作成することができる。仮想表面と物理的表面との交差部は、物理的表面をユーザにより近い近位区画と遠位区画とに分割することができる。幾つかの実施形態では、カーソルが物理的表面の近位区画の上に表示されている間に、物理的表面の近位区画の上でカーソルを移動させたいというユーザの要望を示す第1の入力が受信されてもよい。第1の入力に応じて、カーソルを物理的表面の近位区画上で移動させることができる。幾つかの実施形態では、カーソルが物理的表面の近位区画の上に表示されている間に、交差線を横切ってカーソルを移動させたいというユーザの要望を示す第2の入力が受信されてもよい。第2の入力に応じて、カーソルを仮想面に移動させてもよい。幾つかの実施形態では、カーソルが仮想表面上に表示されている間に、カーソルを仮想表面上で移動させたいというユーザの要望を示す第3の入力が受信されてもよい。第3の入力に応じて、カーソルを仮想面上で移動させることができる。幾つかの実施形態では、カーソルが仮想表面上に表示されている間に、交差線を横切ってカーソルを移動させたいというユーザの要望を示す第4の入力が受信されてもよい。第4の入力に応じて、カーソルを物理的表面の近位区画に移動させることができる。
幾つかの実施形態では、仮想表面と物理的表面との間の交差線は、曲線であってもよく、直線であってもよく、又は任意の他の所望の形態であってもよい。幾つかの実施形態では、物理的表面は机であってもよい。
幾つかの実施形態では、物理的表面は、キーボードが置かれる物理的表面であってもよい。幾つかの実施形態では、カーソルが物理的表面の近位区画の上に表示されている間の物理的表面からのキーボードの移動により、カーソルが物理的表面から離脱することができる(例えば、カーソルは、消えてもよく、又は物理的表面から離れて移動してもよい)。幾つかの実施形態では、カーソルが物理的表面の近位区画の上に表示されている間の物理的表面の上でのキーボードの移動は、カーソルを物理的表面の上で移動させることができる。幾つかの実施形態では、物理的表面上のキーボードの移動は、仮想表面及び交差線を移動させることができる(幾つかの実施形態では、仮想表面が移動している間にカーソルが仮想表面上に表示される場合、カーソルは仮想表面と共に移動することができる)。
幾つかの実施形態では、物理的表面は、非平坦であってもよく、平坦であってもよく、又は任意の他の所望の形態であってもよい。幾つかの実施形態では、仮想表面は、仮想表示スクリーン(本明細書では仮想ディスプレイとも呼ばれる)に関連付けられてもよい。例えば、仮想表面上に表示されている間、カーソルは、仮想表示スクリーン内の要素(仮想表示スクリーンに表示されるソフトウェア製品及びアプリケーションなど)との相互作用を可能にすることができる。
幾つかの実施形態では、カーソルが仮想面上に表示されている間に、異なる動作モードへの切り替えの表示を受信することができ、異なる動作モードへの切り替えの表示に応じて、カーソルを物理的表面の遠位部分に移動させることができる。
幾つかの実施形態では、異なる動作モードへの切り替えの表示を受信することができる。異なる動作モードへの切り替えの表示を受信した後、かつカーソルが物理的表面の近位区画の上に表示されている間に、交差線を横切ってカーソルを移動させたいというユーザの要望を示す第5の入力を受信することができる。第5の入力に応じて、カーソルを物理的表面の遠位区画に移動させることができる。
幾つかの実施形態では、カーソルが物理的表面上に表示されている間、カーソルは、ユーザが拡張現実環境において物理的表面上に配置された仮想オブジェクトと相互作用することを可能にすることができる。
幾つかの実施形態は、方法、システム、装置、及び非一時的コンピュータ可読媒体を含む、エクステンデッドリアリティ空間においてカーソル制御を可能にすることに関することができる。例えば、非一時的コンピュータ可読媒体の態様が方法、システム、及び装置に等しく適用され得ることを理解して、非一時的コンピュータ可読媒体を以下に説明する。例えば、非一時的コンピュータ可読媒体で具現化された1つ以上のプロセスは、方法、システム、又は装置として実行されてもよい。そのようなプロセスの幾つかの態様は、有線、無線、又はその両方であり得るネットワークを介して電子的に行われ得る。そのようなプロセスの他の態様は、非電子的手段を使用して行われてもよい。最も広い意味では、プロセスは、特定の物理的手段及び/又は電子的手段に限定されず、むしろ多くの異なる手段を使用して達成され得る。例えば、幾つかの実施形態は、エクステンデッドリアリティ空間においてカーソル制御を可能にするためのシステム、方法、又は装置を含むことができ、システムは、本明細書で説明されるような様々なプロセスを実行するように構成された少なくとも1つのプロセッサを備える。
非一時的コンピュータ可読媒体は、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに本明細書で説明されるような様々なプロセスを実行させる命令を含むことができる。
非一時的コンピュータ可読媒体に含まれる命令は、例えば、ソフトウェア命令、コンピュータプログラム、コンピュータコード、実行可能命令、ソースコード、機械命令、機械言語プログラム、又はコンピューティングデバイスの任意の他のタイプの指示を含むことができる。非一時的コンピュータ可読媒体に含まれる命令は、1つ以上の様々なタイプの所望のプログラミング言語に基づくことができ、本明細書で説明されるエクステンデッドリアリティ空間でカーソル制御を可能にするための様々なプロセスを含むことができる(例えば、具体化する)。少なくとも1つのプロセッサは、非一時的コンピュータ可読媒体に含まれる命令を実行して、本明細書に記載のエクステンデッドリアリティ空間におけるカーソル制御を可能にするための様々なプロセスを実行させることができる。
本明細書の幾つかの実施形態は、エクステンデッドリアリティ空間(本明細書ではエクステンデッドリアリティ環境とも呼ばれる)でカーソル制御を可能にすることに関連してもよく、装着型エクステンデッドリアリティ機器のユーザの第1の焦点領域を反映する第1の画像データを画像センサから受信することを含み得る。一例では、画像センサは、装着型エクステンデッドリアリティ機器に含まれてもよい。別の例では、画像センサは、装着型エクステンデッドリアリティ機器(例えば、ユーザの別の装着型デバイスに含まれる画像センサ、別のユーザの装着型エクステンデッドリアリティ機器に含まれる画像センサ、ユーザの環境内に配置された装着型デバイスに含まれない画像センサなど)の外部にあってもよい。幾つかの開示されている実施形態との関連で、焦点領域及び焦点領域という用語は、ユーザの注意が向けられているターゲット(例えば、ウィンドウ、ウィジェット、又はカーソル)又は仮想ターゲット(例えば、仮想ウィンドウ、仮想ウィジェット、又は仮想カーソル)の周りの、それらを含む領域を指すことができる。焦点領域は、エクステンデッドリアリティ空間内の初期視野内に位置することができる。「エクステンデッドリアリティ空間内の視野」は、装着型エクステンデッドリアリティ機器を動作させている間のユーザの視野、装着型エクステンデッドリアリティ機器に含まれる画像センサの視野、装着型エクステンデッドリアリティ機器の視野(すなわち、装着型エクステンデッドリアリティ機器が視覚情報をユーザに提示することができる角度視野)などを指すことができる。
幾つかの実施形態では、第1の画像データは、初期視野又は第1の焦点領域に関連する画像、複数の画像、ビデオ又はデータを含むことができる。幾つかの実施形態では、第1の画像データは、エクステンデッドリアリティ空間内の初期又は第1の視野に対応する第1の物理的領域の少なくとも1つの画像を含むことができる。一例では、物理的領域の画像は、装着型エクステンデッドリアリティ機器の視野に対応する非仮想領域の画像であってもよく、視野内に存在する1つ以上の生物又は無生物のデジタル表示を含んでもよい。装着型エクステンデッドリアリティ機器は、画像センサから第1の画像データを受信することができる。例えば、画像センサは、ユーザの環境の画像を捕捉するように構成されてもよい。これに加えて又は代えて、リモートサーバは、画像センサから第1の画像データを受信することができる。これに加えて又は代えて、入力デバイスは、画像センサから第1の画像データを受信することができる。幾つかの実施形態では、画像データは、単一の画像であってもよく、JPEG、TIFF、PNG、BMP、TGA、PDF、SVG、RAW、又は他のファイルフォーマットなどの既知の画像フォーマットで送信されてもよい。幾つかの実施形態では、画像データは、一連の画像であってもよく、GIF、WebP、APNG、MPEG、AVI、又はMNGなどの既知のファイルフォーマットで送信されてもよい。
幾つかの実施形態では、画像センサによって捕捉された第1の画像データは、少なくともユーザの眼の画像を含むことができる。前述したように、装着型エクステンデッドリアリティ機器は、画像センサから第1の画像データを受信することができる。幾つかの実施形態では、画像センサは、ユーザの目の画像を捕捉するように構成されてもよい。したがって、画像データは、これに加えて又は代えて、ユーザの片目又は両目の1つ以上の画像を含むことができる。例えば、画像センサは、装着型エクステンデッドリアリティ機器に含まれ、ユーザの少なくとも1つの目に向けられてもよい。幾つかの実施形態では、画像センサは、リモートサーバ又は装着型エクステンデッドリアリティ機器の少なくとも1つのプロセッサと通信することができる。少なくとも1つのプロセッサは、画像センサから受信した画像データに対して画像解析を実行することができる。幾つかの実施形態では、第1の画像データは、エクステンデッドリアリティ空間内の初期又は第1の視野、又は第1の関心領域を見ているユーザの目の少なくとも1つの画像を含むことができる。
第1の画像データは、視標追跡計算を実行するのに適したユーザの眼又は瞳孔の1つ以上の画像を含むことができる。これに加えて又は代えて、ユーザの眼又は瞳孔は、第1の焦点領域に関連する第1の位置又は向きにあってもよい。或いは、少なくとも1つのプロセッサは、リモートサーバ又は装着型エクステンデッドリアリティ機器に配置されてもよい。位置にかかわらず、そのようなプロセッサは、視線追跡計算などの計算を実行するように構成されてもよい。
幾つかの実施形態では、第1の焦点領域は、第1の仮想オブジェクトに関連付けられてもよい。幾つかの実施形態では、第1の焦点領域は、第1の仮想ウィンドウに関連付けられてもよい。仮想オブジェクトは、コンピューティングデバイスによってレンダリングされる視覚的提示であってもよい。提示は、あらゆる生物又は無生物(例えば、人、動物、品物、家具、道具、アイコン、ウィジェット、又は設計選択に応じた任意の他の表示)を表すように、任意の形態をとることができる。仮想オブジェクトは、仮想オブジェクトを表すことができる任意のフレーム又は指定領域を含むことができる仮想ウィンドウ内に提示されることができる。仮想ウィンドウは、エクステンデッドリアリティ空間内に提示されてもよい。ユーザの注意は、仮想オブジェクト及び/又は仮想ウィンドウを含む及び/又は取り囲む領域(例えば、第1の焦点領域)に向けられてもよい。他の例では、仮想オブジェクトは、仮想オブジェクトであってもよく、仮想ウィンドウを含む仮想表示スクリーン(本明細書では仮想ディスプレイとも呼ばれる)などであってもよい。一例では、仮想ウィンドウは、オペレーティングシステム又はアプリケーションに関連付けられ得る。例えば、仮想ウィンドウは、アプリケーション又はオペレーティングシステムによって生成された仮想コンテンツを提示することができる。
幾つかの実施形態は、第1の焦点領域に仮想カーソルの第1の提示を引き起こすことを含むことができる。仮想カーソルは、仮想ディスプレイ上のユーザ相互作用のための現在位置を示すために使用される任意のインジケータ又はマーカであってもよい。仮想カーソルは、任意の数の視覚的ポインタ、記号、サイズ、形状、色、又は他の視覚的インジケータを含むことができる。仮想カーソルは、UI要素などの仮想ターゲットと相互作用するように構成されてもよい。相互作用には、仮想ターゲットの選択、強調表示、又は操作が含まれ得るが、これらに限定されない。幾つかの例では、仮想カーソルはまた、例えば、ユーザが物理オブジェクトの機能をトリガすることを可能にするために、又は物理オブジェクトに関連する情報を提示するために、物理オブジェクトと相互作用するように構成されてもよい。仮想カーソルは、1つ以上の感覚表示、例えば視覚表示又は聴覚表示を介してユーザに提示されてもよい。例えば、視覚的表示は、視覚的ポインタ、点滅、色の変化、サイズの変化、形状の変化、記号の変化、アニメーション、又は他の視覚的インジケータを含むことができる。幾つかの実施形態では、仮想カーソルは、初期視野又は第1の焦点領域の縁の近くに配置されてもよい。これに加えて又は代えて、仮想カーソルは、仮想カーソルがユーザによって最後に見られた場所に配置されてもよく、又は初期視野又は第1の焦点領域内に配置されてもよい。幾つかの実施形態では、仮想カーソルは、初期視野又は第1の焦点領域の外側に配置されてもよく、又は初期視野又は第1の焦点領域の中心に配置されてもよい。
幾つかの実施形態では、仮想カーソルに関連付けられた聴覚表示は、音、例えば「ビープ音」、「鳴り」、又は他の通知音を含み得る。これに加えて又は代えて、聴覚的表示は、例えば「カーソルが視野の左上付近に位置しています」又は「カーソルが焦点領域に移動されました」などの音声プロンプトを含むことができる。これに加えて又は代えて、聴覚的表示は、実際にオブジェクトを認識し、それらのオブジェクトを基準点として使用することができ、例えば、コーヒーカップを含む視野の音声表示は、「カーソルはコーヒーカップの近くに配置されている」などの音声プロンプトを通してユーザをカーソルに導くことができる。ユーザは、テーブル上の自分のコーヒーカップを探し、カーソルを容易に見つけることができる。ユーザが仮想カーソルを見つけるのを助けるために、視覚的及び聴覚的インジケータを組み合わせて使用できることが理解され得る。これに加えて又は代えて、視覚的又は聴覚的表示は、ユーザの行動又はユーザ入力に応じてもよい。一例では、ユーザは、「おい、私のカーソルはどこにある?」と発言してもよく、ユーザが仮想カーソルを見失ったことを示す所定のもしくは学習された動きパターンでポインティングデバイスを移動させてもよく、又はユーザが仮想カーソルを見失ったことを示す所定のもしくは学習された動きパターンで目を移動させて、感覚的表示をトリガさせてもよい。
図48Aは、第1の構成において装着型エクステンデッドリアリティ機器を使用するユーザの例示的な図である。図48Aに示すように、ユーザ100は、画像センサ472を含むXRユニット204を操作してもよい。この例では、ユーザ100は、動作中にXRユニット204を装着することができる。視野4810は、(例えば、装着型エクステンデッドリアリティ機器が視覚情報をユーザに提示及び/又は提示することができる角度範囲)XRユニット204を操作するときにユーザ100によって体験される視野であり得る。画像センサ472は、XRユニット204を操作するときにユーザ100が体験する視野4810と実質的に同様の視野を有するように構成されてもよい。それに加えて、又はその代わりに、画像センサ472は、ユーザ100が体験する視野4810よりも広い視野を有することができ、ユーザ100が体験する視野4810は、例えば、画像センサ472を使用して捕捉された画像データの解析、画像センサと装着型エクステンデッドリアリティ機器の物理表示デバイスとの間の較正などに基づいて決定することができる。視野4810は、焦点領域4812を含むことができる。焦点領域4812は、画像センサ472からの画像データの解析に基づいて画像センサによって決定することができる。仮想カーソル4814は、例えば装着型エクステンデッドリアリティ機器を介して焦点領域4812内に表示されてもよい。
幾つかの実施形態は、エクステンデッドリアリティ空間内の初期視野の外側のユーザの第2の焦点領域を反映する第2の画像データを画像センサから受信することを含むことができる。幾つかの実施形態では、第2の画像データは、第2の視野又は第2の焦点領域に関連する画像、複数の画像、ビデオ、又はデータを含むことができる。第2の画像データは、第1の画像データと同様の方法で画像センサから受信することができる。第1及び第2の画像データの両方は、同じセンサから受信されてもよく、又は異なるセンサから受信されてもよい。幾つかの実施形態では、第2の画像データは、エクステンデッドリアリティ空間内の第2の視野を見ている、又は第2の関心領域を見ているユーザの目の少なくとも1つの画像を含むことができる。
幾つかの実施形態では、第2の画像データは、エクステンデッドリアリティ空間内の第2の視野に対応する第2の物理的領域の少なくとも1つの画像を含むことができる。初期視野及び第2の視野は、いくらかの重なりを有してもよく、又は重なりを有しなくてもよい。第1の物理的領域と第2の物理的領域とは、一部重複していてもよいし、重複していなくてもよい。幾つかの実施形態では、第1の視野は、第1の物理的領域に対応し得る。第2の視野は、第2の物理的領域に対応し得る。幾つかの実施形態では、第1の物理的領域の幾つかの部分はまた、第2の物理的領域に含まれてもよい。幾つかの実施形態では、第1及び第2の物理的領域は、完全に分離し、互いに離間していてもよい。幾つかの実施形態では、第1の焦点領域は、初期視野と同一であってもよく、初期視野に完全に含まれてもよい(ただし、同一である必要はない)。幾つかの実施形態では、ユーザの第2の焦点領域は、第2の視野と同一であってもよく、第2の視野に完全に含まれてもよい(ただし、同一である必要はない)。幾つかの実施形態では、第1の画像データを解析して、ユーザの初期視野及び/又は第1の焦点領域を特定することができる。幾つかの実施形態では、第2の画像データを解析して、ユーザの第2の視野及び/又は第2の焦点領域を特定することができる。
一例を図48Bに示す。この例では、ユーザ100は、画像センサ472を含むエクステンデッドリアリティユニット204を操作することができる。この例では、ユーザ100は、動作中にエクステンデッドリアリティユニット204を装着することができる。視野4820は、(例えば、装着型エクステンデッドリアリティ機器が視覚情報をユーザに提示及び/又は提示することができる角度範囲)XRユニット204を操作するときにユーザ100によって体験される視野であり得る。画像センサ472は、エクステンデッドリアリティユニット204を操作するときにユーザ100が体験する第2の視野と実質的に同様の第2の視野を有するように構成することができる。これに加えて又は代えて、画像センサ472は、ユーザ100が体験する視野4820よりも広い視野を有することができ、第2の視野4820は、例えば、画像センサ472を使用して捕捉された画像データの解析、画像センサと装着型エクステンデッドリアリティ機器の物理的表示デバイスとの間の較正などに基づいて決定することができる。視野4820は、第2の焦点領域4822を含んでもよい。第2の焦点領域4822は、画像センサ472からの画像データの解析に基づいて画像センサによって決定されてもよい。仮想カーソル4824の第2の提示は、例えば、装着型エクステンデッドリアリティ機器を介して、第2の焦点領域4822内に表示することができる。
幾つかの実施形態では、画像センサによって捕捉された第2の画像データは、少なくともユーザの眼の画像を含むことができる。第2の画像データは、第1の画像データと同様の方法で取得され得る。
幾つかの実施形態は、画像に基づいてユーザの凝視位置を決定することを含むことができる。凝視位置という用語は、ユーザの注意が向けられ得る方向又は点を指す。ユーザの凝視位置は、第1及び第2の画像データを比較することによって決定することができる。比較は、凝視位置を決定するために、ユーザの瞳孔の中心と1つ以上の角膜反射との間のベクトルを計算することを含むことができる。幾つかの実施形態では、第1及び/又は第2の画像データを使用して眼球運動又は眼球運動パターンを追跡し、凝視位置、初期視野、第1の焦点領域、又は仮想カーソルと相互作用したいユーザの要望のうちの少なくとも1つを決定することができる。幾つかの実施形態では、画像は、眼球運動又は眼球運動パターンを追跡して、第2の視野、又は第2の焦点領域のうちの少なくとも1つを決定するために使用され得る。幾つかの実施形態では、眼球運動又は眼球運動パターンを追跡することは、角膜反射(CR)を生成するために赤外/近赤外非コリメート光を使用してユーザの眼の瞳孔の中心を追跡することを含み得る。幾つかの実施形態では、瞳孔中心と角膜反射との間のベクトルを計算し、凝視位置を決定するために使用することができる。幾つかの実施形態では、第1の画像と第2の画像とを比較することによって第1の画像と第2の画像との間のオプティカルフローを計算することができ、オプティカルフローを使用して凝視位置を決定することができる。オプティカルフローという用語は、オブジェクト又はカメラの動きによって引き起こされる2つの連続するフレーム間の画像オブジェクトの見かけの動きのパターンを指すことができる。これは2Dベクトルフィールドであり、各ベクトルは、第1のフレームから第2のフレームへの点の移動を示す変位ベクトルである。
例えば、画像センサは、第1の位置にあるユーザの目に関連する第1の画像データを含む第1の画像を取り込むことができる。次いで、画像センサは、第2の位置にあるユーザの眼に関連付けられた第2の画像データを含む第2の画像を取り込むことができる。少なくとも1つのプロセッサは、第1及び第2の画像を比較して、ユーザの瞳孔の中心とユーザの角膜反射との間のベクトルを決定することができる。新しい凝視位置は、計算されたベクトルによって決定することができる。
別の例では、画像センサは、装着型エクステンデッドリアリティ機器の第1の視野に関連付けられた第1の画像データを含む第1の画像と、装着型エクステンデッドリアリティ機器の第2の視野に関連付けられた第2の画像データを含む第2の画像とを取り込むことができる。少なくとも1つのプロセッサは、第1の画像と第2の画像とを比較して、第1の画像と第2の画像との間のオプティカルフローを決定することができる。新しい凝視位置は、計算されたベクトルによって決定することができる。
幾つかの実施形態では、第2の焦点領域は、第2の仮想オブジェクトに関連付けられてもよい。例えば、ユーザは、凝視位置を別の焦点領域に変更することができ、別の焦点領域は、第1の焦点領域に存在し得る第1の仮想オブジェクトとは異なる第2の仮想オブジェクトを含むことができる。
幾つかの実施形態は、入力データ及び第2の画像データのうちの少なくとも1つに基づいて、第2の仮想オブジェクトと相互作用するユーザの意図を決定することを含むことができる。第2の仮想オブジェクトと相互作用しようとするユーザの意図は、第2の仮想オブジェクトに対する凝視位置の変化、第2の仮想オブジェクトを凝視するのに費やした時間、第2の仮想オブジェクトに向かう仮想カーソルの移動を示す入力データ、第2の仮想オブジェクトを含む焦点領域、又は第2の仮想オブジェクトを含む視野のうちの少なくとも1つに基づくことができる。例えば、ユーザは、仮想ウィジェット、仮想カーソル、及び/又は仮想ウィジェットなどの第1の凝視位置から仮想オブジェクトに凝視位置を変更することによって、仮想オブジェクトと相互作用する意図を示すことができる。別の例では、ユーザは、仮想ウィジェット、仮想カーソル、及び/又は仮想ウィジェットなどの仮想オブジェクトを所定の時間量凝視することによって、仮想オブジェクトと相互作用する意図を示すことができる。所定の時間量は、0.1秒、0.5秒、1秒、1.1秒、1.5秒、2秒、5秒、7秒、又は他の任意の長さの時間であってもよい。別の例として、ユーザは、仮想カーソルを第2の仮想オブジェクトに向かって移動させることによって、仮想オブジェクトと相互作用する意図を示すことができる。別の例では、ユーザは、第2の仮想オブジェクトを含む焦点領域に向かって仮想カーソルを移動させることによって、仮想オブジェクトと相互作用する意図を示すことができる。一例では、ユーザは、第2の仮想オブジェクトを含む視野に向かって仮想カーソルを移動させることによって、仮想オブジェクトと相互作用する意図を示すことができる。
幾つかの実施形態では、第2の焦点領域は、第2の仮想ウィンドウに関連付けられてもよい。例えば、ユーザの注意は、第2の仮想ウィンドウを含む及び/又は取り囲む領域(例えば、第2の焦点領域)に向けられてもよい。
幾つかの実施形態は、第1のウィンドウの境界の外側に仮想カーソルを移動させる意図を特定するために入力データを解析することと、ユーザの意図が特定されるまで仮想カーソルを第1のウィンドウ内に保持することとを含むことができる。仮想カーソルの位置は、仮想カーソルを移動させるユーザの意図が特定されるまで変更されなくてもよい。例えば、入力データの解析は、ユーザが所定の時間量未満の間に第1の仮想ウィンドウ(仮想カーソルを含むことができる)から第2の仮想ウィンドウに凝視位置を変更したことを示すことができ、ユーザが第1のウィンドウの境界の外側に仮想カーソルを移動させる意図を持っていないことを示す。この例では、仮想カーソルは、第1のウィンドウに表示され、第2のウィンドウに移動されなくてもよい。別の例では、入力データの解析は、ユーザが仮想カーソルを第1のウィンドウの境界の外側に移動させようとしていることを示す所定の時間量を超えて、ユーザが第1の仮想ウィンドウ(仮想カーソルを含むことができる)から第2の仮想ウィンドウに凝視位置を変更することを示すことができる。この例では、仮想カーソルは、第1のウィンドウから削除又は除去されてもよく、第2のウィンドウに移動又は表示されてもよい。
幾つかの実施形態では、第1のウィンドウの境界の外側に仮想カーソルを移動させるユーザの意図を特定することは、仮想カーソルの動きに関連付けられた所定の規則に基づくことができる。所定の規則は、リモートサーバ、装着型エクステンデッドリアリティ機器、又は入力デバイスに関連するメモリに記憶されてもよい。所定の規則は、加速度、動きの距離、繰り返しの動き、開始点、又は仮想カーソル位置とは異なるユーザの頭部位置などの少なくとも1つの要因に基づくことができる。所定の規則は、要因の1つ又は組み合わせが発生したかどうか、要因の1つ又は組み合わせがどのように発生したかを測定することによって、及び/又は一度超えた閾値時間に基づいて、仮想カーソルを移動させる意図を反映することによって意図を決定することができる。例えば、ユーザは、第1のウィンドウの境界の外側に仮想カーソルを移動させるというユーザの意図を示す動きパターンでポインティングデバイスを移動させることができる。別の例として、ユーザは、0.5秒、2、秒、3秒、4秒、又は5秒以内に、入力デバイス2、3、4、5、又は6回の前後移動などの移動を繰り返すことができる。同様に、ユーザは、第1のウィンドウの境界の外側に仮想カーソルを移動させるというユーザの意図を示す動きパターンで目を移動させることができる。例えば、ユーザは、0.1秒、0.25秒、0.5秒、0.75秒、又は1秒以内に、2つ以上の凝視位置の間、2、3、4、5、又は6回の視線などの眼球運動を繰り返すことができる。幾つかの実施形態では、第1のウィンドウの境界の外側に仮想カーソルを移動させるユーザの意図を示す動きパターンは、ポインティングデバイスの意図的な移動を含むことができる。例えば、ユーザは、ある方向に2.0m/s^2以上でポインティングデバイスを意図的に加速させることができる。幾つかの実施形態では、第1のウィンドウの境界の外側に仮想カーソルを移動させるユーザの意図を示す動きパターンは、第1のウィンドウの境界に向かう移動を含むことができる。例えば、境界第1のウィンドウが複数の画素座標によって定義される場合、ユーザは、複数の画素座標のうちの少なくとも1つの画素座標の数画素内で仮想カーソルを移動させることができ、それにより、仮想カーソルを第1のウィンドウの境界の外側に移動させる意図を示す。幾つかの実施形態では、第1のウィンドウの境界の外側に仮想カーソルを移動させるユーザの意図を示す動きパターンは、所定の時間量後にユーザが凝視位置を変更することを含むことができる。例えば、ユーザは、第1のウィンドウの境界の外側の位置を0.2秒間、0.5秒間、0.8秒間、又は1秒間凝視して、第1のウィンドウの境界の外側に仮想カーソルを移動させる意図を示すことができる。幾つかの実施形態では、第1のウィンドウの境界の外側に仮想カーソルを移動させるユーザの意図は、所定の時間内に所定数未満の凝視位置を変化させるユーザを含むことができる。例えば、ユーザは、第1のウィンドウの境界の外側に仮想カーソルを移動させる意図を示すために、0.5秒、2、秒、3秒、4秒、又は5秒以内に、2、3、4、5、又は6つの異なる凝視位置の間の前後の動きなどの目の動きを繰り返すことができる。
幾つかの実施形態は、仮想カーソルが第1のウィンドウの境界の外側に移動しようとしていることを示すために、第1のウィンドウの境界に膜状の挙動を含むことができる。「膜状」という用語は、可撓性、弾性、又は変形したときに材料の薄い片のように元の形状に戻ることができることを意味し得る。例えば、ユーザの凝視位置又は焦点領域が第1のウィンドウに向けられ、仮想カーソルが、意図しないユーザ入力にもかかわらず、右ウィンドウ境界を通って第1のウィンドウを離れようとする場合、仮想カーソルは、右ウィンドウ境界からウィンドウの中心に向かって「跳ね返る」か、又は左に揺動し得る。別の例では、ユーザの凝視位置又は焦点領域が第1のウィンドウに向けられ、仮想カーソルが、意図しないユーザ入力にもかかわらず、上部ウィンドウ境界を通って第1のウィンドウを離れようとする場合、仮想カーソルは、上部ウィンドウ境界からウィンドウ内及び上部ウィンドウ境界の近くの位置に「跳ね返る」又は下方にスライドすることができる。
幾つかの実施形態は、仮想カーソルと相互作用したいというユーザの要望を示す入力データを受信することを含むことができる。入力データは、マウス、キーボード、又はスタイラスなどのポインティングデバイス、音声コマンド、タッチスクリーン、又は視線追跡デバイスから受信することができる。幾つかの実施形態では、入力データは、装着型エクステンデッドリアリティ機器に接続されたポインティングデバイスから受信されてもよい。一例では、ポインティングデバイスは、コンピューティングデバイスを介して装着型エクステンデッドリアリティ機器に接続されてもよい。別の例では、ポインティングデバイスは、装着型エクステンデッドリアリティ機器に直接接続されてもよい。一例では、ポインティングデバイスは、無線又は有線で装着型エクステンデッドリアリティ機器に接続されてもよい。入力データは、位置、速度、加速度、向き、ボタン押下、又はホイールスクロールのうちの少なくとも1つを含むことができる。幾つかの実施形態では、仮想カーソルと相互作用するユーザの要望を示す入力データは、高い加速度又は速度値及び加速度又は速度方向の頻繁な変化によって反射されるポインティングデバイスの大きな又は迅速な動きを含むことができる。幾つかの実施形態では、仮想カーソルと相互作用するユーザの要望を示す入力データは、境界からの入力デバイスの位置データによって反映された視野の境界に向かう仮想カーソル移動を含むことができる。
幾つかの実施形態は、入力データ又は第2の画像データの少なくとも一方に基づいて、ユーザが仮想カーソルを見失ったと決定することを含むことができる。幾つかの実施形態は、ユーザが仮想カーソルを見失ったことを示す動きパターンを特定するために入力データを解析することを含むことができる。入力データの解析は、ユーザが仮想カーソルを見失ったことを示すことができる。幾つかの実施形態では、入力データの解析は、入力デバイスの動きに関連する1つ以上のパラメータに基づいて動きパターンを特定することができる。そのようなパラメータは、例えば、移動の方向、移動に関連する距離、移動の速度もしくは加速度、繰り返しの移動、移動の開始点、又は入力デバイスの他の所定の移動を含むことができる。幾つかの実施形態では、解析は、ユーザが仮想カーソルを見失ったことを示す、ポインティングデバイスの移動方向が焦点領域から離れる方向にある動きパターンを特定することができる。幾つかの実施形態では、ユーザが仮想カーソルを見失ったことを示す動きパターンは、高い加速度又は速度値及び加速度又は速度方向の頻繁な変化によって反射されるポインティングデバイスの大きな又は急速な動きを含み得る。幾つかの実施形態では、ユーザが仮想カーソルを見失ったことを示す動きパターンは、境界からの入力デバイスの位置データによって反射された視野の境界に向かう動きを含み得る。幾つかの実施形態では、ユーザが仮想カーソルを見失ったことを示す動きパターンは、第2の焦点領域に向かっていない仮想カーソルの移動を含み得る。幾つかの実施形態では、第2の画像データを解析して、ユーザが仮想カーソルを見失ったかどうかを決定することができる。幾つかの例では、機械学習モデルは、ユーザによって使用される装着型画像センサを使用して捕捉された画像及び/又はビデオからユーザが仮想カーソルを見失ったかどうかを決定するために、訓練例を使用して訓練され得る。そのような訓練例の一例は、サンプルユーザが仮想カーソルを見失ったかどうかを示すラベルと共に、サンプルユーザによって使用されるサンプル装着型画像センサを使用するサンプル画像及び/又はサンプルビデオを含むことができる。訓練された機械学習モデルを使用して、第2の画像データを解析し、ユーザが仮想カーソルを見失ったかどうかを決定することができる。幾つかの例では、第2の画像データは、例えば仮想カーソルを探すなど、ユーザの頭及び/又は目の動きを示すことができ、ユーザが仮想カーソルを見失ったという決定は、第2の画像データを解析することによって決定されたユーザの頭及び/又は目の動きに基づくことができる。幾つかの例では、第2の画像データは、仮想カーソルを隠すようにする位置に配置された物理オブジェクトの描写を含むことができ、第2の画像データは、物理オブジェクトの位置を特定するためにオブジェクト位置特定アルゴリズムを使用して解析することができ、物理オブジェクトの位置が仮想カーソルを隠すようにすることを決定するためにレイキャスティングアルゴリズムを使用することができる。更に、ユーザが仮想カーソルを見失ったかどうかを決定することは、物理オブジェクトの位置が、単独で、動きパターンと共に、又は更なるデータと組み合わせて、仮想カーソルを非表示にするという決定に基づくことができる。
幾つかの実施形態は、入力データに応じて第1の焦点領域内の仮想カーソルの第1の提示を変更することを含むことができ、第1の提示を変更することは、第1の焦点領域内の仮想カーソルの位置を変更することを含むことができる。幾つかの実施形態では、仮想カーソルの位置を変更することは、仮想カーソルを初期視野又は焦点領域の縁の近くに配置すること、仮想カーソルがユーザによって最後に見られた場所に仮想カーソルを配置すること、仮想カーソルを初期視野又は焦点領域内に、初期視野又は焦点領域の外側の仮想カーソルの位置に近接して配置すること、又は仮想カーソルを初期視野又は焦点領域の中心に配置することを含み得る。位置の変更はまた、初期視野又は焦点領域の縁の近くに仮想カーソルを配置する(例えば、移動又は遠隔)こと、仮想カーソルがユーザによって最後に見られた場所に仮想カーソルを配置すること、仮想カーソルを初期視野又は焦点領域内に、初期視野又は焦点領域の外側の仮想カーソルの位置に近接して配置すること、又は仮想カーソルを初期視野又は焦点領域の中心に配置することを含んでもよい。提示の変化は、入力データ、例えば、ポインティングデバイスの大きな加速度又は速度、ウィンドウ境界と仮想カーソルの位置との間の距離、又は質問又はコマンドを反映する音声入力を示す入力データに応答することができる。
幾つかの実施形態は、入力データに応じて第1の焦点領域内の仮想カーソルの第1の提示を変更することを含むことができ、第1の提示を変更することは、仮想カーソルの視覚的外観を変更することを含むことができる。幾つかの実施形態では、視覚的外観は、視覚的カーソルのサイズ、形状、又は色のうちの少なくとも1つを含むことができる。幾つかの実施形態では、視覚的外観の変化は、点滅、色の変化、サイズの変化、形状の変化、記号の変化、アニメーション、又は他の視覚的インジケータを含み得る。幾つかの実施形態では、視覚的外観の変化は、入力データ、例えば、ポインティングデバイスの大きな加速度又は速度、ウィンドウ境界と仮想カーソルの位置との間の距離、又は質問又はコマンドを反映する音声入力を示す入力データに応答することができる。
幾つかの実施形態は、入力データ及び第2の画像データに基づいて仮想カーソルの実際の位置に対するユーザの認識を推定することを含むことができる。幾つかの実施形態では、仮想カーソルの実際の位置に対するユーザの認識を推定することは、統計モデルを使用して、ユーザが仮想カーソルを見失ったという以前の事象から学習することを含むことができる。統計的モデルは、回帰、機械学習モデル、又は他の予測モデルもしくは推論モデルを含むことができる。ユーザの意識は、様々な時間間隔、例えば、1秒ごと、1分ごと、30分ごと、又は別の適切な時間間隔で推定することができる。ユーザの認識は、トリガ、例えば、凝視位置、焦点領域、又は視野の変化に基づいて推定することができる。ユーザが仮想カーソルを見失った以前の事象は、動きパターン又はユーザ入力によって決定され得る。統計モデルに利用されるデータは、音声入力、ポインティングデバイスの位置、速度、又は加速度を含む入力データ、及び視野、焦点領域、物理的領域、又はユーザの眼球運動の画像を含む画像データを含むことができる。例えば、仮想カーソルの実際の位置を認識していないと推定されるユーザは、ポインティングデバイスの位置を含む入力データによって決定されるように、仮想カーソルを含まない第2の画像データによって決定される視野を有することができる。幾つかの実施形態では、仮想カーソル位置がユーザの凝視位置から所定の距離よりも離れている場合、高レベルのユーザ認識は、仮想カーソル位置とユーザの凝視位置との間の不一致に関連付けられ得る。仮想カーソル位置がユーザの凝視位置から所定の距離内にある場合、不一致は決定されない。所定の距離は、例えば、0.5cm、1cm、又は2cmであってもよい。
仮想カーソルの実際の位置に対する推定ユーザの認識が閾値よりも大きいとき、幾つかの実施形態は、仮想カーソルの意図された移動に追従するように仮想カーソルの第3の提示を引き起こすことを含むことができる。仮想カーソル位置がユーザの凝視位置から所定の距離内にあるとき、不一致は決定されず、仮想カーソルの第3の提示を引き起こすことができる。第3の提示は、仮想カーソルの意図された移動に追従する方法であってもよい。例えば、仮想カーソルが初期視野又は焦点領域の外側にあり、入力データが初期視野又は焦点領域への仮想カーソルの移動に対応する場合、仮想カーソルを表示し続ける。
仮想カーソルの実際の位置に対する推定ユーザの認識が閾値を下回るとき、幾つかの実施形態は、仮想カーソルの意図された移動に従わない方法で仮想カーソルの第3の提示を引き起こすことを含むことができる。仮想カーソル位置がユーザの凝視位置から所定の距離よりも離れている場合、仮想カーソルの第3の提示が行われ得る。例えば、入力データが初期視野又は焦点領域から離れる仮想カーソルの移動に対応するとき、視野又は焦点領域内に仮想カーソルを提示する。仮想カーソルの提示は、例えば、初期視野の縁の近くに仮想カーソルを配置する(例えば、テレポーティング、又は移動)こと、仮想カーソルがユーザによって最後に見られた場所に仮想カーソルを配置すること、仮想カーソルを初期視野内に、初期視野の外側の仮想カーソルの位置の近くに配置すること、又は仮想カーソルを初期視野の中心に配置することを含み得る。
幾つかの例では、仮想カーソルが(装着型エクステンデッドリアリティ機器の)現在の視野外にあるとき、ユーザ入力が現在の視野への仮想カーソルの移動に対応する場合、仮想カーソルはユーザ入力に従って移動され得る(例えば、ユーザが仮想カーソルがどこにあるか知っていると仮定する)。幾つかの例では、仮想カーソルが現在の視野の外側にあるとき、ユーザ入力が現在の視野の方向ではない仮想カーソルの移動に対応する場合、仮想カーソルを現在の視野に移動させることができる(例えば、ユーザが仮想カーソルがどこにあるかを知らないと仮定する)。幾つかの例では、仮想カーソルが現在の視野の外側にあるとき、例えば、ユーザ入力が現在の視野の方向への仮想カーソルの移動に対応するか否かにかかわらず、仮想カーソルを現在の視野に移動させることができる。仮想カーソルを現在の視野に移動させる1つの非限定的な例は、それを視野に「テレポーティング」することを含むことができる(例えば、仮想カーソルが最後に見られた現在の視野の縁の近くの場所、現在の視野の外側の仮想カーソルの前の場所に最も近い場所、現在の視野の中心、現在のユーザ入力が現在の視野内により深く、又は現在の視野の中心に向かって仮想カーソルを押し込む現在の視野の縁に最も近い場所など)。仮想カーソルを現在の視野に移動させる別の非限定的な例は、仮想カーソルを現在の視野に向かって、又は現在の視野の中心に向かって引っ張ることを含み得る。
幾つかの実施形態では、入力データ及び第2の画像データに基づいて仮想カーソルの実際の位置に対するユーザの認識を推定する。ユーザの意識は、前述したのと同様の方法で推定することができる。仮想カーソルの実際の位置に対する推定ユーザの認識が閾値よりも大きいとき、幾つかの実施形態は、仮想カーソルの意図された移動に追従するように仮想カーソルの第3の提示を引き起こすことを含むことができる。第3の提示は、前述したのと同様の方法で行われてもよい。
仮想カーソルの実際の位置に対する推定ユーザの認識が閾値を下回るとき、幾つかの実施形態は、仮想カーソルの意図された移動を考慮するように仮想カーソルの第3の提示を引き起こすことを含むことができる。例えば、入力データが初期視野又は焦点領域から離れる仮想カーソルの移動に対応するとき、視野又は焦点領域内に仮想カーソルを提示する。仮想カーソルの提示は、例えば、仮想カーソルがポインティングデバイス又は目の動きを介した仮想カーソルのユーザの動きに基づくべきであるとユーザが考える位置に仮想カーソルを配置すること(例えば、テレポーティング、又は移動)を含むことができる。
幾つかの例では、ユーザ入力が、現在の視野又は仮想表示スクリーンの外側及び特定の方向に位置している間に、特定の方向に仮想カーソルを移動させることに対応するとき(すなわち、ユーザ入力は、仮想カーソルを現在の視野又は仮想表示スクリーンから更に離すように移動させる)、仮想カーソルは、特定の方向とは反対の方向で現在の視野又は仮想表示スクリーンの端部(又は端部の近く)に移動させることができ、幾つかの例では、仮想カーソルは、端部から特定の方向に移動させることができる(例えば、特定の方向が右である場合に、仮想カーソルを現在の視野又は仮想表示スクリーンの左領域に移動させ、現在の視野又は仮想表示スクリーンの右の仮想カーソルの元の位置にかかわらず、ユーザ入力が示すように右に移動させる)。幾つかの例では、ユーザ入力が特定の方向に仮想カーソルを移動させることに対応するとき、仮想カーソルは、特定の方向に移動しながら、特定の方向とは反対の方向から現在の視野又は仮想表示スクリーンに入ることができる(例えば、現在の視野又は仮想表示スクリーンの中心又は焦点領域に向かって)。
幾つかの開示された実施形態は、入力データに応じて第2の焦点領域に仮想カーソルの第2の提示を引き起こすことを含むことができる。前述したように、第2の提示は、前述したように、第1の提示と同様の方法で行うことができる。提示は、入力データに応答したものであってもよく、例えば、入力データは、ユーザが「おい、私のカーソルはどこにある?」と言うこと、又はユーザが仮想カーソルを見失ったことを示す所定のもしくは学習された動きパターンでポインティングデバイスを動かすことを含んでもよい。提示は、第1の提示と同様の方法で行われてもよい。例えば、仮想カーソルは、第1の焦点領域から削除され、第2の焦点領域に表示されてもよい。幾つかの例では、第2の焦点領域内の仮想カーソルの第2の提示のための位置は、第2の画像データの解析に基づいて選択されてもよい。幾つかの例では、エクステンデッドリアリティ環境に対応する物理環境の画像及び/又はビデオからエクステンデッドリアリティ環境における仮想カーソルの位置を選択するために、訓練例を使用して機械学習モデルを訓練することができる。そのような訓練例の一例は、サンプルエクステンデッドリアリティ環境における仮想カーソルの所望の位置を示すラベルと共に、サンプルエクステンデッドリアリティ環境に対応するサンプル物理環境のサンプル画像及び/又はサンプルビデオを含むことができる。訓練された機械学習モデルを使用して、第2の画像データを解析し、第2の焦点領域内の仮想カーソルの第2の提示のための位置を選択することができる。幾つかの例では、第2の画像データは、第2の焦点領域のサブ領域内の物理オブジェクトを検出するためにオブジェクト検出アルゴリズムを使用して解析されてもよく、その結果、第2の焦点領域内の仮想カーソルの第2の提示のための位置は、第2の焦点領域のサブ領域内で選択され得る。幾つかの例では、第2の画像データは、第2の焦点領域のサブ領域内の物理的な動きを検出するために動き検出アルゴリズムを使用して解析されてもよく、その結果、第2の焦点領域内の仮想カーソルの第2の提示のための位置は、第2の焦点領域のサブ領域から離れて選択されてもよい。
幾つかの実施形態では、仮想カーソルの第2の提示を引き起こすことは、仮想カーソルを第1の焦点領域から除去し、仮想カーソルを第2の焦点領域に表示させることを含むことができる。仮想カーソルは、1つ以上の感覚表示、例えば視覚表示又は聴覚表示を介してユーザに提示されてもよい。例えば、視覚的表示は、点滅、色の変化、サイズの変化、形状の変化、記号の変化、アニメーション、又は他の視覚的表示を含むことができる。幾つかの実施形態では、仮想カーソルは、初期視野又は焦点領域から除去されてもよい。これに加えて又は代えて、仮想カーソルは、仮想カーソルがユーザによって最後に見られた場所から除去されてもよく、又は初期視野又は焦点領域内から除去されてもよい。幾つかの実施形態では、仮想カーソルは、初期視野又は焦点領域の外側から除去されてもよく、又は初期視野又は焦点領域の中心から除去されてもよい。
幾つかの実施形態では、仮想カーソルに関連付けられた聴覚表示は、音、例えば「ビープ音」、「鳴り」、又は他の通知音を含み得る。これに加えて又は代えて、聴覚的表示は、例えば、「カーソルが視野の左上付近から除去された」又は「カーソルが焦点領域から除去された」などの音声プロンプトを含むことができる。
幾つかの実施形態は、第2の画像データに基づいて凝視位置と仮想カーソル位置との間の不一致を決定することを含むことができる。例えば、第2の画像データは、仮想カーソルに関連付けられた入力データと比較されてもよい。比較に基づいて、仮想カーソル位置がユーザの凝視位置から所定の距離よりも離れている場合に、仮想カーソル位置とユーザの凝視位置との間の不一致を決定することができる。仮想カーソル位置がユーザの凝視位置から所定の距離内にある場合、不一致は決定されない。所定の距離は、例えば、0.5cm、1cm、2cm、又は他の任意の距離であってもよい。
幾つかの実施形態は、仮想カーソル位置と凝視位置との間に仮想ばねを維持することを含むことができる。仮想ばねという用語は、凝視後にカーソルを元の位置に引き戻す、又は凝視位置に向かってカーソルを引き込むリンケージを指すことができる。例えば、カーソルをその特定の位置に移動させた特定の位置の凝視に続いて、カーソルはその元の位置にスナップして戻り、ばねのような動きをシミュレートすることができる。ユーザが凝視位置をシフトするときに、ユーザの凝視位置と仮想カーソルとの間の距離オフセットを維持することができる。例えば、ユーザの凝視位置と仮想カーソルとの間の距離が10cmであり、次いでユーザが凝視位置をある方向に7cm移動させる場合、仮想ばねは、仮想カーソルを同じ方向に7cm移動させることによって仮想カーソルと新しい凝視位置との間の距離を維持し、それによってユーザの凝視に追従するが10cmの間隔を維持することができる。
幾つかの実施形態では、動作は、入力データを受信したときに仮想カーソル位置を凝視位置に向けるように仮想ばねを作動させることを含むことができる。例えば、カーソルが初期位置にある間にユーザが別の位置を凝視する場合、カーソルはその凝視位置に引き寄せられる可能性がある。幾つかの実施形態では、仮想ばねは、例えば、入力デバイスのボタンを押す、音声コマンドを話す、仮想ばねを作動させるために指定された領域に凝視位置をシフトする、又は他の入力方法など、任意の数の方法でユーザによって作動させることができる。幾つかの実施形態では、仮想ばねは、入力データの確信レベルが閾値を超えると決定されたときに作動することができる。入力データの確信レベルは、相互作用のレベルに基づくことができる。例えば、ボタンをクリックすることは、高レベルの相互作用であると考えられてもよく、ユーザが仮想カーソルと相互作用しようとするか、又は仮想ばねを作動させる仮想カーソルと相互作用している高い確信レベルに関連付けられてもよい。一方、仮想オブジェクトを凝視することは、相互作用のレベルが低いこと、したがって、ユーザが仮想カーソルと相互作用しようとしているという確信レベルが低いことを示し得る。低い確信レベルは、仮想ばねを作動させない可能性がある。
幾つかの開示された実施形態は、入力データの確信レベルが閾値を下回るときに仮想ばねの作動を回避することを含むことができる。例えば、ユーザが所定の時間量未満の間に凝視位置を仮想オブジェクトに移動させ、それによって仮想オブジェクトと相互作用する意図に関連付けられた低い確信レベルを示す場合、仮想ばねは作動しない可能性がある。
他の実施形態は、エクステンデッドリアリティ空間に仮想カーソルを提示するための方法を含むことができる。例として、図49は、本開示の幾つかの実施形態と一致する、エクステンデッドリアリティ空間において仮想カーソルを提示するための例示的なプロセスを示すフローチャートを示す。ステップ4912において、方法4900は、装着型エクステンデッドリアリティ機器のユーザの第1の焦点領域を反映する第1の画像データを画像センサから受信するステップを含むことができる。ステップ4914において、方法4900は、第1の焦点領域に仮想カーソルの第1の提示を生じさせることを含んでもよい。ステップ4916において、方法4900は、エクステンデッドリアリティ空間内の初期視野の外側のユーザの第2の焦点領域を反映する第2の画像データを画像センサから受信するステップを含むことができる。ステップ4918において、方法4900は、仮想カーソルと相互作用したいというユーザの要望を示す入力データを受信することを含むことができる。ステップ4920において、方法4900は、入力データに応じて第2の焦点領域に仮想カーソルの第2の提示を生じさせることを含んでもよい。
装着型エクステンデッドリアリティ機器のユーザは、三次元仮想空間内の仮想オブジェクトの動きを制御するための2つの主な方法を有することができる。第1の方法は、例えば、仮想オブジェクトを同じ仮想平面上の異なる位置に移動させるなど、面内移動を含むことができる。第2の方法は、面間移動、例えば、仮想オブジェクトを異なる仮想平面に移動させることを含み得る。以下の本開示の態様は、そのような動きを調整するための二重制御機能に関する。
幾つかの開示された実施形態は、三次元空間内の仮想平面間で仮想コンテンツを移動させることを含むことができる。仮想コンテンツの移動は、仮想コンテンツの位置、向き、又は回転の変化を指すことができる。動きの非限定的な例は、例えば、三次元空間内の任意の方向に1インチ、1フィート、1ヤード、又は任意の他の距離だけ変位した仮想コンテンツ、1°、10°、90°、180°、270°、又は任意の他の角度だけ回転した仮想コンテンツ、並進した仮想コンテンツ、又は任意の他の同様の動きを含むことができる。一例では、仮想コンテンツは、例えば、コンピュータ生成、コンピュータ化、シミュレート、デジタル、又はソフトウェア命令を使用して生成され得る主題、物質、材料、又は物質の描写、描写、又はレンダリングを含み得る。仮想平面は、仮想オブジェクトが配置される平面、水平、水平、垂直、斜め、湾曲、均一、又は任意の他のコンピュータ生成面を指すことができる。仮想平面の幾つかの非限定的な例は、水平仮想平面、垂直仮想平面、又は対角仮想平面であってもよい。三次元空間は、x軸、y軸、及びz軸を有する座標系内の任意の空間を指すことができる。幾つかの例では、三次元空間は、異なるZ値に関連付けられた複数のXY平面で表されてもよい。
開示された実施形態は、複数の仮想オブジェクトを仮想的に表示するために装着型エクステンデッドリアリティ機器を使用することを含むことができる。複数の仮想オブジェクトは、1つ以上の仮想ディスプレイ、仮想アイテム、無生物の仮想オブジェクト、生物の仮想オブジェクト、仮想文書、仮想キャラクタ又はペルソナ、仮想コンピュータスクリーン、仮想ウィジェット、又は仮想的に情報を表示するための1つ以上の他のフォーマットを指すことができる。例えば、幾つかの実施形態では、装着型エクステンデッドリアリティ機器(例えば、スマートグラス、ヘッドセットなど)を使用して、複数の仮想平面上に生物の仮想オブジェクト、仮想コンピュータスクリーン、及び仮想天候ウィジェットを仮想的に表示することができる。複数の仮想オブジェクトは、複数の仮想平面上に表示されてもよい。複数の仮想平面は、第1の仮想平面及び第2の仮想平面を含むことができる。一例では、複数の仮想平面は、x軸及びy軸によって形成され(XY平面としても知られる)、z軸の第1の値に関連付けられた第1の仮想平面と、x軸及びy軸によって形成され、z軸の第2の値に関連付けられた第2の仮想平面とを含むことができる。仮想平面は、平面、曲面、又は任意の他のタイプの平面であってもよい。一例では、仮想平面の表示は、装着型エクステンデッドリアリティ機器のユーザに提供されなくてもよい。別の例では、複数の仮想平面のうちの少なくとも1つの視覚的表示が、装着型エクステンデッドリアリティ機器のユーザに提示されてもよい。更に別の例では、仮想平面の視覚的表示は、選択された時間に装着型エクステンデッドリアリティ機器のユーザに提示されてもよく、他の時間には仮想平面の表示はユーザに提供されなくてもよい。例えば、視覚的表示は、ユーザが1つ以上の仮想オブジェクトを移動させるときに提供されてもよい。幾つかの例では、複数の仮想平面は、2つの仮想平面、3つの仮想平面、3つを超える仮想平面、10を超える仮想平面、無限数の仮想平面、又は任意の他の数の仮想平面を含み得る。
幾つかの例では、仮想平面は、長さ及び幅を有する二次元のオブジェクト又は領域を含むことができる。平面は、平坦であってもよく、湾曲していてもよく、又は任意の他の形状をとることができる。平面が可視であるかどうかにかかわらず、エクステンデッドリアリティディスプレイ又はエクステンデッドリアリティ環境に関連して使用される場合、平面は仮想と見なされ得る。具体的には、平面は、エクステンデッドリアリティ機器の着用者に見えるように色又はテクスチャで表示されてもよく、又は平面は目に見えないが、可視オブジェクトが平面内に位置するときに知覚可能になり得る。一例では、エクステンデッドリアリティ環境で仮想平面を仮想グリッド線で示すことができる。仮想平面は、例えば、平面、非平面、曲面、又は任意の他の所望の構成を有する面を含むことができる。幾つかの例では、仮想平面は、0.5平方メートル、1平方メートル、2平方メートル、5平方メートル、10平方メートル、100平方メートル、又は任意の他の所望の面積などの特定のサイズを有することができる。幾つかの例では、仮想平面は無限に遠くまで延びてもよい。仮想平面は、本明細書に記載の様々なプロセスのためにコンピューティングデバイスによって定義、生成、及び/又は使用することができる。幾つかの例では、仮想平面又はその一部は、装着型エクステンデッドリアリティ機器によって仮想コンテンツとしてユーザに表示されてもよい。幾つかの例では、仮想平面は、装着型エクステンデッドリアリティ機器のユーザに表示されなくてもよく、ユーザには見えない表面であってもよく、それによって様々なオブジェクト(物理的又は仮想的)の位置が測定され得る。
一例として、図50Aは、装着型エクステンデッドリアリティ機器5006(例えば、スマートグラス、ヘッドセットなどである。)が複数の仮想平面上に複数の仮想オブジェクトを仮想的に表示するシーン5000を示す。図50Aに示すように、複数の仮想平面は、第1の仮想平面5001と第2の仮想平面5003とを含んでもよい。
幾つかの実施形態では、第1の仮想平面は、装着型エクステンデッドリアリティ機器からの第1の距離に関連付けられてもよく、第2の仮想平面は、装着型エクステンデッドリアリティ機器からの第2の距離に関連付けられてもよい。装着型エクステンデッドリアリティ機器からの仮想平面の距離は、長さ、サイズ、空間、スパン、幅、又は2つの物の間の任意の量の空間を指すことができる。非限定的な例は、1ミリメートル、1インチ、1フィート、又は仮想平面と装着型エクステンデッドリアリティ機器との間の任意の他の距離を含むことができる。幾つかの実施形態では、第1の仮想平面に関連付けられた第1の距離は、第2の仮想平面に関連付けられた第2の距離よりも大きくてもよい。例えば、第1の仮想平面及び第2の仮想平面は、互いに離間して配置されてもよい。したがって、第1の仮想平面は、装着型エクステンデッドリアリティ機器から第1の距離に配置されてもよく、第2の仮想平面は、装着型エクステンデッドリアリティ機器から異なる第2の距離に配置されてもよい。他の実施形態では、第1の距離は、第2の距離より大きくてもよく、等しくてもよく、又は小さくてもよい。例えば、x軸及びy軸によって形成された第1の仮想平面は、装着型エクステンデッドリアリティ機器から3フィートの第1の距離に関連付けられてもよい。更に、第1の仮想平面とは異なるx軸及びy軸によって形成される第2の仮想平面は、装着型エクステンデッドリアリティ機器からの1フィートの第2の距離に関連付けられてもよい。
例として、図50Aは、装着型エクステンデッドリアリティ機器5006からの第1の距離5008に関連付けられた第1の仮想平面5001と、装着型エクステンデッドリアリティ機器5006からの第2の距離5010に関連付けられた第2の仮想平面5003とを示す。図50Aにも示すように、第1の仮想平面5001に関連する第1の距離5008は、第2の仮想平面5003に関連する第2の距離5010よりも大きい。
幾つかの実施形態では、第1の仮想平面は、物理入力デバイスからの第1の距離に関連付けられてもよく、第2の仮想平面は、物理入力デバイスからの第2の距離に関連付けられてもよく、第1の仮想平面に関連付けられた第1の距離は、第2の仮想平面に関連付けられた第2の距離よりも大きい。物理入力デバイスは、ユーザが物理入力デバイスの操作を通じて1つ以上の入力を提供することを可能にすることができる任意の物理デバイスを含むことができる。開示された物理的入力デバイスは、データを計算デバイスに提供するように構成されてもよい。計算デバイスに提供されるデータは、デジタル形式及び/又はアナログ形式であってもよい。物理的入力デバイスの幾つかの例は、ボタン、キー、キーボード、コンピュータマウス、タッチパッド、タッチスクリーン、ジョイスティック、トラックボール、又は入力を受け取ることができる別の機構を含むことができる。例えば、幾つかの実施形態では、ユーザは、キーボードの1つ以上のキーを押すことによって、物理入力デバイスを介して1つ以上の入力を提供することができる。別の例として、ユーザは、ジョイスティックの直線動作又は回転動作によってジョイスティックの位置を変更することによって、物理的入力デバイスを介して1つ以上の入力を提供することができる。別の例として、ユーザは、タッチスクリーンに触れながら1つ以上のジェスチャ(例えば、ピンチ、ズーム、スワイプ、又は他の指の動き)を実行することによって、物理入力デバイスを介して1つ以上の入力を提供することができる。前述したように、第1の仮想平面及び第2の仮想平面は、互いに離間して配置されてもよい。したがって、第1の仮想平面は、物理入力デバイスから第1の距離に配置されてもよく、第2の仮想平面は、物理入力デバイスから異なる第2の距離に配置されてもよい。第1の距離は、第2の距離より大きくてもよく、等しくてもよく、又は小さくてもよい。例えば、x軸及びy軸によって形成される第1の仮想平面は、物理的入力デバイス(例えば、キーボード)から3フィートの第1の距離に関連付けられてもよく、第1の仮想平面とは異なるx軸及びy軸によって形成される第2の仮想平面は、物理的入力デバイスから1フィートの第2の距離に関連付けられてもよい。幾つかの例では、3フィートの第1の仮想平面に関連付けられた第1の距離は、1フィートの第2の仮想平面に関連付けられた第2の距離よりも大きくてもよい。しかしながら、他の例では、第1の仮想平面に関連付けられた第1の距離は、第2の仮想平面に関連付けられた第2の距離以下であってもよい。
一例として、図50Aは、物理入力デバイス5009(例えば、キーボード)からの第1の距離5014に関連付けられた第1の仮想平面5001と、物理入力デバイス5009からの第2の距離5016に関連付けられた第2の仮想平面5003とを示す。図50Aにも示すように、第1の仮想平面5001に関連する第1の距離5014は、第2の仮想平面5003に関連する第2の距離5016よりも大きい。
幾つかの実施形態では、第1の仮想平面は、物理的表面の縁からの第1の距離に関連付けられてもよく、第2の仮想平面は、物理的表面の縁からの第2の距離に関連付けられてもよく、第1の仮想平面に関連付けられた第1の距離は、第2の仮想平面に関連付けられた第2の距離よりも大きい。物理的表面は、例えば、オブジェクトの外部、上部、側部、外部層、又は外側部分もしくは最外層を含むことができる。物理的表面の非限定的な例は、テーブル、机、ベッド、床、カウンター、壁、及び表面を有する任意の他のオブジェクトを含むことができる。物理的表面のエッジは、オブジェクト、領域、又は表面のコーナー、端部、フリンジ、アウトスカート、リム、又は他の外側限界を指すことができる。前述したように、第1の仮想平面及び第2の仮想平面は、互いに離間して配置されてもよい。したがって、第1の仮想平面は、物理的表面の縁から第1の距離に配置されてもよく、第2の仮想平面は、物理的表面の縁から異なる第2の距離に配置されてもよい。第1の距離は、第2の距離より大きくてもよく、等しくてもよく、又は小さくてもよい。例えば、x軸及びy軸によって形成される第1の仮想平面は、机の1つの縁から2フィートの第1の距離に関連付けられてもよく、第1の仮想平面とは異なるx軸及びy軸によって形成される第2の仮想平面は、机のその縁から1インチの第2の距離に関連付けられてもよい。幾つかの例では、第1の仮想平面に関連付けられた第1の距離は、第2の仮想平面に関連付けられた第2の距離よりも大きくてもよい。しかしながら、他の例では、第1の仮想平面に関連付けられた第1の距離は、第2の仮想平面に関連付けられた第2の距離以下であってもよい。
例として、図50Aは、机の後縁からの第1の距離5018に関連付けられた第1の仮想平面5001と、机の後縁からの第2の距離5020に関連付けられた第2の仮想平面5003とを示す。図50Aにも示すように、第1の仮想平面5001に関連する第1の距離5018は、第2の仮想平面5003に関連する第2の距離5020よりも大きい。
幾つかの実施形態では、第1の仮想平面及び第2の仮想平面は、凸形状の表面であってもよい。凸形状は、外側に湾曲しているか、又はその全ての部分が外側を向いている任意の形状であってもよい。例えば、第1の仮想平面及び第2の仮想平面は、同じ(又は異なる)曲率を有してもよく、装着型エクステンデッドリアリティ機器から、入力デバイスから、又は物理的表面の縁から異なる距離に関連付けられてもよい。幾つかの例では、仮想平面は、凸形状の少なくとも一部、装着型エクステンデッドリアリティ機器を取り囲む凸形状の少なくとも一部、又はその全ての部分が外側を指す少なくとも任意の他の形状であってもよい。一例として、図50Dは、第1の仮想平面5001及び第2の仮想平面5003が凸形状の表面であるシーン5000を示す。
幾つかの実施形態では、第1の仮想平面及び第2の仮想平面は、同心形状の表面であってもよく、装着型エクステンデッドリアリティ機器は、同心形状の中心に配置されてもよい。別の例では、第1の仮想平面及び第2の仮想平面は同心円形状の表面であってもよく、物理入力デバイスは同心円形状の中心に位置してもよい。更に別の例では、第1の仮想平面及び第2の仮想平面は、同心形状の表面であってもよい。同心形状は、円、円弧、球、又は同じ中心を共有する他の形状を含むことができ、大きい方が小さい方を囲むことが多い。同心形状の非限定的な例は、同心円、同心円、及び同心円筒を含むことができる。幾つかの実施形態では、開示された第1の仮想平面及び開示された第2の仮想平面は、それぞれ曲面であってもよい。或いは、開示された第1の仮想平面及び開示された第2の仮想平面の一方のみが曲面であってもよい。第1の仮想平面及び第2の仮想平面は、第1の仮想平面及び第2の仮想平面を仮想的に表示するために使用される装着型エクステンデッドリアリティ機器が同心の第1の仮想平面及び同心の第2の仮想平面の中心に配置され得るように同心であってもよい。例えば、第1の仮想平面及び第1の仮想平面とは異なる第2の仮想平面は、同心球の表面の一部であってもよく、装着型エクステンデッドリアリティ機器は、同心球の中心に配置されてもよい。
一例として、図50Dは、第1の仮想平面5001及び第2の仮想平面5003を示す。図50Dに示すように、第1の仮想平面5001及び第2の仮想平面5003は同心であってもよく、装着型エクステンデッドリアリティ機器5006は、同心の第1の仮想平面5001及び同心の第2の仮想平面5003の共通の中心に配置されてもよい。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器を介した提示のために、第1の仮想平面上の第1の位置にある仮想オブジェクトを反映する第1の表示信号を出力するステップを含むことができる。一例では、表示信号を出力することは、任意の外部デバイスから装着型エクステンデッドリアリティ機器に信号を送信することを含むことができる。別の例では、表示信号を出力することは、例えば、装着型エクステンデッドリアリティ機器の別のサブユニットによって、装着型エクステンデッドリアリティ機器のサブユニットに信号を提供することを含み得る。例えば、装着型エクステンデッドリアリティ機器に含まれるプロセッサ又はメモリユニットは、シースルーディスプレイユニットに信号を提供することができる。仮想オブジェクトの提示は、例えば、コンピュータ生成、コンピュータ化、シミュレート、デジタル、又はソフトウェア命令を使用して生成され得る主題、物質、材料、又は物質を描写、描写、又はレンダリングすることを含み得る。一例では、装着型エクステンデッドリアリティ機器又は外部デバイスに関連付けられた少なくとも1つのプロセッサは、表示信号を送信又は提供して、エクステンデッドリアリティ環境におけるテキスト、1つ以上の写真、スクリーンショット、メディアクリップ、又は他のテキストもしくはグラフィック主題の提示を引き起こすように構成され得る。前述したように、表示信号は、例えば、装着型エクステンデッドリアリティ機器に仮想又はデジタル表示の形態でコンテンツを提示させることができるアナログ又はデジタル電気信号を含むことができる。仮想平面上の仮想オブジェクトの位置は、オブジェクト又はコンテンツが三次元空間内に配置又は配置される場所、向き、又は任意の方法を指すことができる。一例では、装着型エクステンデッドリアリティ機器は、第1の表示信号を提示するために出力することができる。第1の表示信号は、例えば、x軸及びy軸によって形成される第1の仮想平面上の第1の位置に配置された仮想表示スクリーン(本明細書では「仮想ディスプレイ」又は「仮想スクリーン」とも呼ばれる)を表すことができる。別の例では、第1の表示信号は、例えば、x軸及びy軸によって形成された第1の仮想平面上に表示される仮想天候ウィジェットを表すことができる。更に別の例では、第1の表示信号は、例えば、x軸及びz軸によって形成された第1の仮想平面上に表示された仮想生物のオブジェクトを表すことができる。
例として、図50Aは、第1の表示信号が、第1の仮想平面5001上の第1の位置にある仮想オブジェクトの装着型エクステンデッドリアリティ機器5006を介した表示を引き起こすことができるシーン5000を示す。図50Aに示すように、第1の表示信号は、x軸及びy軸によって形成される第1の仮想平面5001上の第1の位置で仮想表示スクリーン5002の装着型エクステンデッドリアリティ機器5006を介して表示を引き起こすことができる。また、図50Aに示すように、第1の表示信号は、x軸及びy軸によって形成された第1の仮想平面5001上の位置で仮想オブジェクト5004(例えば、仮想天候ウィジェット)の装着型エクステンデッドリアリティ機器5006を介して表示を引き起こすことができる。また、図50Aに示すように、第1の表示信号は、x軸とz軸とによって形成される仮想平面上の位置で仮想生物のオブジェクト5005の装着型エクステンデッドリアリティ機器5006を介して表示を引き起こすことができる。
幾つかの開示された実施形態は、仮想オブジェクトを第1の仮想平面上の第2の位置に移動させるための面内入力信号を受信することを含むことができる。入力信号は、コンピュータ、プロセッサ、装着型エクステンデッドリアリティ機器、又は他の同様の電子デバイスによって送信又は受信される電気インパルス又は電波を指すことができる。面内入力信号は、仮想オブジェクトが配置又は配置される仮想平面に関連する入力信号を指すことができる。面内入力信号は、画像処理を使用して、入力デバイスから得られたデータの処理から、又はシステムのセンサのいずれかによって捕捉された任意のデータの処理から決定することができる。面内入力信号の非限定的な例は、仮想オブジェクトがx軸とy軸とによって形成される仮想平面上にあるときに、x軸とy軸とによって形成される仮想平面に関連する手の動きを含み得る。手の動きは、仮想オブジェクトを同じ仮想平面上の異なる位置に移動させたいというユーザの要望を示すことができる。例えば、手の動きは、x軸、y軸、及びz軸の動きを含むことができ、使用されるジェスチャのタイプが面内入力に関連付けられていることに基づいて、z軸の動きは無視することができる。面内の別の非限定的な例は、仮想オブジェクトがx軸とz軸とによって形成される仮想平面上にあるときに、x軸とz軸とによって形成される仮想平面に関連するカーソル移動信号を含むことができる。カーソル移動は、仮想オブジェクトを同じ仮想平面上の異なる位置に移動させたいというユーザの要望を示すことができる。面内入力信号の別の非限定的な例は、仮想オブジェクトがy軸及びz軸によって形成される仮想平面上にあるときに、y軸及びz軸によって形成される仮想平面に関する音声コマンドを含むことができる。音声コマンドは、仮想オブジェクトを同じ仮想平面上の異なる位置に移動させたいというユーザの要望を示すことができる。具体的には、生物の仮想オブジェクト5005を第1の仮想平面上の第2の位置に移動させるために、x軸及びy軸によって形成される第1の仮想平面に関連する面内入力信号を受信することができる。別の例は、仮想オブジェクト5004(例えば、仮想天候ウィジェット)を第1の仮想平面上の元の位置とは異なる位置に移動させるために、x軸及びy軸によって形成される第1の仮想平面に関連する面内入力信号を受信することを含み得る。幾つかの例では、入力は、入力のタイプ及び三次元方向に関連付けられてもよい。入力のタイプが面内入力(例えば、ジェスチャのタイプ、作業モードなどに基づく)に関連付けられている場合、三次元方向は、例えば平面に直交する三次元方向の成分を無視することによって、二次元方向として解釈され得る。この例では、第2の位置は、第1の位置及び三次元方向の二次元方向としての解釈に基づいて決定され得る。幾つかの例では、入力は、仮想オブジェクト、入力のタイプ、及び三次元位置に関連付けられてもよい。入力のタイプが面内入力(例えば、ジェスチャのタイプ、作業モードなどに基づく)に関連付けられ、三次元位置が第1の仮想平面の外側にある場合、三次元位置は、例えば、三次元位置を第1の仮想平面上に投影することによって、第1の仮想平面上の二次元位置として解釈され、それによって第2の位置を決定することができる。
幾つかの開示されている実施形態は、装着型エクステンデッドリアリティ機器に、面内入力信号に応じて、第1の位置から第2の位置への仮想オブジェクトの面内移動を仮想的に表示させることを含むことができる。面内移動は、同じ仮想平面上の仮想オブジェクトの移動を指すことができる。面内移動の非限定的な例は、水平面内移動、垂直面内移動、対角面内移動、二次元回転面内移動、円弧に沿った移動、又は現在位置及び/又は配置されているのと同じ仮想平面上の仮想オブジェクトの同様の移動を含むことができる。例えば、装着型エクステンデッドリアリティ機器は、仮想オブジェクトの面内移動に対応する入力信号を受信することができる。それに応じて、装着型エクステンデッドリアリティ機器は、第1の仮想平面上の第1の位置から同じ第1の仮想平面上の第2の位置への生物の仮想オブジェクトの水平移動を含む、面内移動を仮想的に表示することができる。別の例では、装着型エクステンデッドリアリティ機器は、第1の仮想平面上の位置から同じ第1の仮想平面上の異なる位置への仮想天候ウィジェットの垂直移動を含む、面内移動を仮想的に表示することができる。別の例では、第1の位置から第2の位置への仮想オブジェクトの面内移動を仮想的に表示することは、仮想オブジェクトを第1の位置から消失させ、第2の位置に出現させることを含むことができる。
一例として、図50Bは、仮想オブジェクト5004がx軸及びy軸によって形成される第1の仮想平面5001上に位置するシーン5000を示す。図50Bに示すように、装着型エクステンデッドリアリティ機器5006は、第1の仮想平面5001に関連する面内入力信号に応じて、第1の仮想平面5001上の第1の位置から第2の位置への生物の仮想オブジェクト5004の水平移動5095を含む面内移動を仮想的に表示することができる。また、図50Bに示すように、装着型エクステンデッドリアリティ機器5006は、第1の仮想平面5001に関連する面内入力信号に応じて、第1の仮想平面5001上のある位置から異なる位置への仮想オブジェクト5004(例えば、仮想天候ウィジェット)の垂直移動5097を含む面内移動を仮想的に表示することができる。
一実施形態では、面内移動は、2つの直交軸に沿って仮想オブジェクトを移動させることを含むことができ、第1の軸に沿った移動は、仮想オブジェクトの寸法の変更を含むことができ、第2の軸に沿った移動は、仮想オブジェクトの寸法の変更を除外することができる。この実施形態は、仮想平面が湾曲しているときに起こり得る。直交軸は、1つ以上の他の軸に対して直角である軸を指すことができる。直交軸の非限定的な例は、三次元空間内のx、y、及びz軸を含むことができる。寸法の変更は、仮想オブジェクトの測定可能な範囲の変更又は変更を指すことができる。寸法の非限定的な例は、長さ、幅、深さ、高さ、半径、角度スパン、又は範囲を含むことができる。例えば、湾曲した仮想平面内の面内移動は、x軸に沿った仮想オブジェクトの水平移動を含み得る。更に、面内移動はまた、y軸に沿った仮想オブジェクトの垂直移動を含み得る。幾つかの例では、x軸及びy軸の両方に沿った面内移動は、仮想オブジェクトの寸法を変更することができる。他の例では、x軸及びy軸の両方に沿った面内移動は、仮想オブジェクトの寸法を変更しない場合がある。更なる例では、x軸及びy軸の両方に沿った面内移動の一方のみが、仮想オブジェクトの寸法を変更することができる。例えば、1つの軸、例えばy軸に沿った面内移動は、生物の仮想オブジェクトの高さの増大を引き起こす可能性があるが、別の軸、例えばx軸に沿った移動は、生物の仮想オブジェクトの寸法を変更しない可能性がある。
一例として、図50Dは、仮想オブジェクト5004がx軸に沿った面内移動の形態で水平移動5095によって移動するシーン5000を示す。また、図50Dに示すように、仮想オブジェクト5004は、垂直移動5097により、y軸に沿って面内移動する。図50Dに示すように、y軸に沿った面内移動は、仮想オブジェクト5004の高さ寸法5082の変化を引き起こす可能性があるが、x軸に沿った移動は、仮想オブジェクト5004の寸法の変化を引き起こさない可能性がある。
幾つかの開示された実施形態は、第1の仮想平面の曲率に基づいて仮想オブジェクトの寸法を変更することを更に含むことができる。曲率は、曲面が平坦な平面から逸脱する程度を指すことができる。曲率に基づいて仮想オブジェクトの寸法を変更する非限定的な例は、仮想オブジェクトの高さ、幅、又は深さを増大させることを含み得る。一例では、第1の仮想平面の曲率が基準仮想平面の曲率に等しい場合、仮想オブジェクトの高さ又は幅は特定の量だけ増大され得る。しかし、第1の仮想平面の曲率が基準仮想平面の曲率よりも大きい場合、仮想オブジェクトの高さ又は幅は、特定の量よりも大きくなり得る。例えば、生物の仮想オブジェクトの高さは、第1の仮想平面の10°の曲率に基づいて110%だけ増大されてもよく、生物の仮想オブジェクトの高さは、第1の仮想平面の12°の曲率に基づいて115%だけ増大されてもよい。
幾つかの開示された実施形態は、仮想オブジェクトが第2の位置にある間に、仮想オブジェクトを第2の仮想平面上の第3の位置に移動させるための面間入力信号を受信することを含むことができる。面間入力信号は、仮想オブジェクトが位置又は配置される仮想平面に関連しない入力信号を指すことができる。面間入力信号は、画像処理を使用して、入力デバイスから得られたデータの処理から、又はシステムのセンサのいずれかによって捕捉された任意のデータの処理から決定されてもよい。面間入力信号の非限定的な例は、仮想オブジェクトがx軸及びy軸によって形成される異なる仮想平面上に配置されるときに、x軸及びy軸によって形成される仮想平面に関連する手の動きを含み得る。手の動きは、異なる仮想平面上の異なる位置に仮想オブジェクトを移動させたいというユーザの要望を示すことができる。面間入力信号の別の非限定的な例は、仮想オブジェクトがx軸及びy軸によって形成される仮想平面上にあるときに、x軸及びz軸によって形成される仮想平面に関連するカーソル移動を含むことができる。カーソル移動は、異なる仮想平面上の異なる位置に仮想オブジェクトを移動させたいというユーザの要望を示すことができる。面間入力信号を受信した後、仮想オブジェクトは、第1の仮想平面上の第2の位置から第2の仮想平面上の第3の位置に移動することができる。例えば、生物の仮想オブジェクトは、x軸及びy軸によって形成される仮想平面上の第2の位置にあってもよい。生物の仮想オブジェクトが第2の位置にある間、x軸及びy軸によって形成される異なる仮想平面に関連する面間入力信号を受信することができる。面間入力信号が受信されると、面間入力信号は、生物の仮想オブジェクトを、x軸及びy軸によって形成される異なる仮想平面上の第3の位置に移動させる。幾つかの例では、入力は、入力のタイプ、例えば、ジェスチャのタイプ、作業モードなどに関連付けられてもよい。更に、入力が、入力のタイプに基づいて、面内入力又は面間入力に関連付けられているかどうかを決定することができる。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器に、面間入力信号に応じて、第2の位置から第3の位置への仮想オブジェクトの面間移動を仮想的に表示させることを含むことができる。面間移動は、仮想オブジェクトが位置する平面から異なる仮想平面への仮想オブジェクトの移動を指すことができる。面間移動の非限定的な例は、装着型エクステンデッドリアリティ機器に近い仮想平面から装着型エクステンデッドリアリティ機器から更に離れた異なる仮想平面への移動を含み得る。面間移動の別の非限定的な例は、x軸及びy軸によって形成される仮想平面からx軸及びz軸によって形成される仮想平面への移動を含むことができる。例えば、装着型エクステンデッドリアリティ機器は、仮想オブジェクトの面間移動に対応する入力信号を受信することができる。これに応じて、装着型エクステンデッドリアリティ機器は、x軸及びy軸によって形成される仮想平面上の第2の位置から、x軸及びy軸によって形成される異なる仮想平面上の第3の位置への仮想オブジェクトの面間移動を仮想的に表示することができる。異なる仮想平面は、元の仮想平面とは異なるZ値に関連付けることができる。前述した2つの仮想平面は両方ともx軸及びy軸によって形成されたが、面間移動は、必ずしも互いに平行又は同心ではない平面間で仮想オブジェクトを移動させることができることを理解すべきである。
一例として、図50Cは、仮想表示スクリーン5002がx軸及びy軸によって形成される第1の仮想平面5001上の第2の位置に配置されたシーン5000を示す。面間移動5097に対応する面間入力信号の受信に応じて、装着型エクステンデッドリアリティ機器5006は、仮想表示スクリーン5002の面間移動5097を、x軸及びy軸によって形成される第2の仮想平面5003上の第3の位置に仮想的に表示することができる。また、図50Cには、x軸及びy軸によって形成される仮想平面上の位置に配置された仮想生物のオブジェクト5005が示されている。装着型エクステンデッドリアリティ機器5006はまた、x軸及びy軸によって形成される異なる仮想平面上の異なる位置への仮想生物のオブジェクト5005の面間移動5097を仮想的に表示することができる。
幾つかの実施形態では、第1の仮想平面の第1の曲率は、第2の仮想平面の第2の曲率と実質的に同一であってもよく、面間入力信号に応じて、第1の距離と第2の距離との間の差を反映するように仮想オブジェクトの表示を変更することを更に含んでもよい。実質的に同一とは、大部分、本質的に、又はかなりの程度まで互いに同じことを指し得る。第1の仮想平面の曲率は、第2の仮想平面の曲率と同一であってもよく、実質的に同一であってもよく、同一であってもよく、異なっていてもよく、実質的に異なっていてもよく、類似していなくてもよく、又は同じでなくてもよい。第1の仮想平面は、装着型エクステンデッドリアリティ機器からの第1の距離に関連付けられてもよい。第2の仮想平面は、装着型エクステンデッドリアリティ機器からの第2の距離に関連付けられてもよい。第1の仮想平面と第2の仮想平面の曲率が実質的に同一である場合、装着型エクステンデッドリアリティ機器は面間入力信号を受信することができる。更に、装着型エクステンデッドリアリティ機器は、第1の距離と第2の距離との間の差を反映するように仮想オブジェクトのエクステンデッドリアリティディスプレイを変更することができる。例えば、第1の仮想平面の第1の曲率は5°であってもよく、第1の距離は装着型エクステンデッドリアリティ機器から2フィート離れていてもよい。この例では、第2の仮想平面の第2の曲率は4.99°であってもよく、第2の距離は装着型エクステンデッドリアリティ機器から1フィート離れていてもよい。この例では、曲率は実質的に同一であってもよい。面間入力信号に応じて、装着型エクステンデッドリアリティ機器は、生物の仮想オブジェクト、仮想コンピュータスクリーン、及び/又は仮想天候ウィジェットのエクステンデッドリアリティディスプレイを拡大、縮小、回転、又は他の方法で変更することができる。この変更は、第1の仮想平面に関連付けられた2つの足の第1の距離と、第2の仮想平面に関連付けられた1つの足の第2の距離との間の差を反映することができる。
例として、図50Dは、装着型エクステンデッドリアリティ機器5006から2フィートの第1の距離5008における第1の仮想平面5001の5°の第1の曲率を示す。図50Dはまた、装着型エクステンデッドリアリティ機器5006から4フィートの第2の距離5010における第2の仮想平面5003の4.99°の第2の曲率を示す。この図では、曲率は実質的に同一であってもよい。また、図50Dに示すように、装着型エクステンデッドリアリティ機器5006は、生物の仮想オブジェクト5004のエクステンデッドリアリティディスプレイを変更することができる。この変更は、第1の仮想平面5001に関連する第1の距離5008と第2の仮想平面5003に関連する第2の距離5010との差を反映し得る。
幾つかの実施形態では、第1の仮想平面の第1の曲率は、第2の仮想平面の第2の曲率とは異なっていてもよく、面間入力信号に応じて、第1の距離と第2の距離との間の差、及び第1の曲率と第2の曲率との間の差を反映するように仮想オブジェクトのエクステンデッドリアリティディスプレイを変更することを更に含み得る。第1の仮想平面の曲率は、第2の仮想平面の曲率と同一であってもよく、実質的に同一であってもよく、同一であってもよく、異なっていてもよく、実質的に異なっていてもよく、類似していなくてもよく、又は同じでなくてもよい。第1の仮想平面は、装着型エクステンデッドリアリティ機器からの第1の距離に関連付けられてもよい。第2の仮想平面は、装着型エクステンデッドリアリティ機器からの第2の距離に関連付けられてもよい。第1の仮想平面と第2の仮想平面の曲率が異なる場合、装着型エクステンデッドリアリティ機器は面間入力信号を受信することができる。更に、装着型エクステンデッドリアリティ機器は、仮想オブジェクトのエクステンデッドリアリティディスプレイを変更することができる。この変形例は、第1距離と第2距離との差を反映してもよいし、第1曲率と第2曲率との差を反映してもよい。或いは、変更は、両方の相違を反映してもよいし、どちらの相違も反映しなくてもよい。例えば、第1の仮想平面の第1の曲率は5°であってもよく、第1の距離は装着型エクステンデッドリアリティ機器から2フィート離れていてもよい。この例では、第2の仮想平面の第2の曲率は1°であってもよく、第2の距離は装着型エクステンデッドリアリティ機器から1フィート離れていてもよい。この例では、曲率が異なっていてもよい。面間入力信号に応じて、装着型エクステンデッドリアリティ機器は、生物の仮想オブジェクト、仮想コンピュータスクリーン、及び/又は仮想天候ウィジェットのエクステンデッドリアリティディスプレイを拡大、縮小、回転、又は他の方法で変更することができる。この変更は、第1の仮想平面に関連付けられた2つの足の第1の距離と、第2の仮想平面に関連付けられた1つの足の第2の距離との間の差を反映することができる。或いは、変形例は、5°の第1の曲率と1°の第2の曲率との間の差を反映してもよい。他の例では、変更は、両方の相違を反映してもよく、どちらの相違も反映しなくてもよい。
幾つかの実施形態では、第1の仮想平面は湾曲していてもよく、第1の位置から第2の位置への仮想オブジェクトの面内移動は三次元移動を含んでもよい。三次元移動は、3つの方向の移動成分を含む空間内の任意の動きを指すことができる。第1の仮想平面は、曲率を有するように湾曲していてもよく、仮想オブジェクトは、第1の仮想平面上の第1の位置に配置されてもよい。装着型エクステンデッドリアリティ機器は、第1の仮想平面に関連する面内入力信号を受信することができる。装着型エクステンデッドリアリティ機器は、仮想オブジェクトを第1の仮想平面上の第1の位置から第2の位置への面内移動によって移動させることができる。面内移動は、三次元移動を含み得る。三次元移動の非限定的な例は、x軸、y軸、及びz軸の周りの仮想オブジェクトの回転及び/又は並進の組み合わせを含むことができる。例えば、デカルト座標における三次元移動は、x軸、y軸、及びz軸に沿った移動又は並進を含むことができる。例えば、第1の仮想平面は、5°の曲率で湾曲していてもよく、第1の位置から第2の位置への仮想オブジェクトの並進の面内移動は、例えばx、y、及びz軸に沿った3方向に沿った三次元移動を含んでもよい。
幾つかの実施形態では、面内入力信号及び面間入力信号の少なくとも一方は、タッチパッド及び複数のキーを含む物理デバイスから受信されてもよい。タッチパッドは、ユーザの指の動き及び/又は位置を仮想オブジェクト上の相対位置に変換することができる表面を有するパッド又はポインティングデバイス又は同様のデバイスを指すことができる。キーは、コンピュータ、ラップトップ、タイプライター、電話、又は他の同様の入力デバイスを操作するためのパネル上のボタンを指すことができる。複数のキーとは、複数のキーを指す。例えば、キーボード上の左矢印キーの押下又は入力は、左への面内移動を示すことができる。別の例では、キーボード上の右矢印キーの押下又は入力は、右への面内移動を示すことができる。例えば、ユーザは、タッチパッド又はトラックパッドの左側からタッチパッド又はトラックパッドの右側に指をドラッグ又は移動させて、右への面内移動を示すことができる。別の例では、ユーザは、自分の指をタッチパッド又はトラックパッドの右側からタッチパッド又はトラックパッドの左側にドラッグ又は移動させて、左への面内移動を示すことができる。例えば、ユーザは、1つの仮想平面からユーザにより近い異なる仮想平面への面間移動を示すために、1つ以上の指(例えば、2つ)をタッチパッド又はトラックパッドの上面からタッチパッド又はトラックパッドの底面までドラッグ又は移動させることができる。或いは、ユーザは、1つの仮想平面からユーザから更に離れた異なる仮想平面への面間移動を示すために、タッチパッド又はトラックパッドの下側からタッチパッド又はトラックパッドの上側に1つ以上の指(例えば、2つ)をドラッグ又は移動することができる。
幾つかの実施形態では、面内入力信号及び面間入力信号の少なくとも1つは、装着型エクステンデッドリアリティ機器に接続可能なスマートフォンのタッチスクリーンから受信されてもよい。タッチスクリーンは、ユーザが表示されたものと直接相互作用することを可能にするスクリーンを指すことができる。接続可能とは、装着型エクステンデッドリアリティ機器に無線及び/又は物理的に取り付け可能なことを指し得る。装着型エクステンデッドリアリティ機器は、面内入力信号、面間入力信号、又はこれらの組み合わせを受信することができる。面内入力信号及び面間入力信号は、タッチスクリーンから受信されてもよい。タッチスクリーンは、スマートフォン、例えばiPhoneのスクリーンであってもよい。他の例では、タッチスクリーンは、スマートタブレット、例えばiPadのスクリーンであってもよい。幾つかの例では、タッチスクリーンは、装着型エクステンデッドリアリティ機器に接続可能であり得る。接続は、物理的であっても無線であってもよい。接続可能なタッチスクリーンの一例は、補助コードによって装着型エクステンデッドリアリティ機器に物理的に接続されたタッチスクリーンを含み得る。接続可能なタッチスクリーンの別の例は、Bluetoothを介して装着型エクステンデッドリアリティ機器に無線接続されたタッチスクリーンを含み得る。例えば、ユーザは、タッチスクリーン上のアイコン又はプロンプトをクリックして、面内移動を示すことができる。別の例では、ユーザは、2本の指を使用し、2本の指をタッチスクリーンの上面からタッチスクリーンの下面までスライドさせて、面間移動を示すことができる。
幾つかの実施形態では、面内入力信号と面間入力信号の両方をタッチセンサから受信することができる。本開示は、第1の多指相互作用を面内移動を引き起こすためのコマンドとして特定することと、第1の多指相互作用とは異なる第2の多指相互作用を面間移動を引き起こすためのコマンドとして特定することとを含むことができる。タッチセンサは、物理的タッチの検出及び記録に使用される電子センサを指すことができる。タッチセンサの非限定的な例は、スマートフォンスクリーン又はトラックパッドを含み得る。多指相互作用は、ユーザの1つ以上の指がオブジェクト又はセンサに影響を及ぼす特定の方法を指すことができる。コマンドは、順序、命令、又は方向を指すことができる。面内入力信号及び面間入力信号は、装着型エクステンデッドリアリティ機器によって受信されてもよい。信号は、タッチセンサから受信されてもよい。ユーザは、コマンドとしてタッチセンサに触れる、タップする、スライドする、又は他の方法で接触することによって、1本の指又は2本以上の指を使用することができる。ユーザは、1つ以上のコマンドを行うことができる。複数のコマンドは、1つのコマンドと同じであっても異なっていてもよい。例えば、ユーザは、1本の指を使用し、面内移動を示すタッチセンサをタップ又はクリックすることができる。更に、ユーザは、2本の指を使用して、面間移動を示すタッチセンサをタップ又はクリックすることができる。
幾つかの開示された実施形態は、第1の仮想平面における所望の曲率を選択するための予備入力信号を受信することを更に含むことができ、第1の仮想平面の選択された曲率に基づいて、面内移動を決定することができる。予備入力信号は、他の事象の前に受信された入力信号及び/又は入力信号を指すことができる。装着型エクステンデッドリアリティ機器は、第1の仮想平面における所望の曲率を選択するための入力信号を最初に受信することができる。その後、装着型エクステンデッドリアリティ機器は更なる入力信号を受信することができる。これらの更なる入力信号は、第1の仮想平面の曲率の変更又は第2の仮想平面の曲率の選択に関連する入力信号であってもよい。或いは、更なる入力信号は、面間入力信号、面内入力信号、又は異なる入力信号の組み合わせであってもよい。更に、面内移動は、第1の仮想平面の選択された曲率に基づいてもよい。例えば、予備入力信号が第1の仮想平面の所望の曲率の選択を示すとき、面内移動は第1の仮想平面の所望の曲率を考慮に入れる。これは、第1の仮想平面の所望の曲率に基づいて仮想オブジェクトの新しい位置を決定すること、第1の仮想平面の所望の曲率に基づいて仮想オブジェクトの新しい向きを決定すること、及び/又は第1の仮想平面の所望の曲率に基づいて仮想オブジェクトの新しい寸法を決定することを意味する。
幾つかの開示された実施形態では、第1の仮想平面の曲率を選択することは、第2の仮想平面の曲率に影響を及ぼし得る。第2の仮想平面の曲率に影響を及ぼす第1の仮想平面の曲率選択の非限定的な例は、第1の仮想平面の曲率の選択をミラーリング又はコピーする第2の仮想平面の曲率を含むことができる。例えば、第1の仮想平面の選択された曲率が5°である場合、第2の仮想平面の曲率も5°に変更又は設定することができる。第2の仮想平面の曲率に影響を及ぼす第1の仮想平面の曲率選択の別の例では、第1の仮想平面の曲率選択に基づいて減少又は増大した第2の仮想平面の曲率を含むことができる。例えば、第1の仮想平面の選択された曲率が5°である場合、第2の仮想平面の曲率は、2.5°に低減又は設定されてもよい。
幾つかの開示された実施形態は、面内入力信号を受信する前に、仮想オブジェクトが別の仮想オブジェクトにドッキングされていると決定することを更に含み得る。更なる開示された実施形態はまた、装着型エクステンデッドリアリティ機器に、面内入力信号に応じて、仮想オブジェクト及び別の仮想オブジェクトの面内移動を表示させることを含み得る。他の実施形態は、面間入力信号に応じて、装着型エクステンデッドリアリティ機器に仮想オブジェクト及び別の仮想オブジェクトの面間移動を表示させることを更に含むことができる。ドッキングは、デバイス又はオブジェクトを別のデバイス又はオブジェクトに仮想的又は物理的に接続する動作を指すことができる。ドッキングの非限定的な例は、第1の仮想オブジェクトを第2の仮想オブジェクトに仮想的に接続することを含むことができる。或いは、ドッキングは、仮想オブジェクトを物理オブジェクトに仮想的に接続することを含むことができる。例えば、仮想コンピュータスクリーンは、物理キーボードにドッキングされてもよく、又は仮想コンピュータスクリーンを物理キーボード及び物理ジョイスティックの両方にドッキングされてもよい。例えば、仮想コンピュータスクリーンは、仮想生物のオブジェクトにドッキングされてもよい。仮想オブジェクトが別の仮想オブジェクトにドッキングされていると決定されると、例えば、装着型エクステンデッドリアリティ機器は、面内入力信号を受信することができる。装着型エクステンデッドリアリティ機器は、仮想オブジェクトと別の仮想オブジェクトの両方の面内移動を表示することができる。幾つかの実施形態では、装着型エクステンデッドリアリティ機器はまた、又は代替として、面間入力信号を受信してもよい。装着型エクステンデッドリアリティ機器は、仮想オブジェクトと別の仮想オブジェクトの両方の面間移動を表示することができる。
幾つかの開示された実施形態は、仮想オブジェクトが物理オブジェクトにドッキングされていることを示す入力信号を受信することを含むことができる。幾つかの実施形態はまた、物理オブジェクトと装着型エクステンデッドリアリティ機器との間の相対移動を特定することを含むことができる。更なる実施形態は、特定された動きに基づいて仮想オブジェクトを異なる仮想平面に移動させるかどうかを決定することを更に含むことができる。物理的なオブジェクトと装着型エクステンデッドリアリティ機器との間の相対移動は、小さな変位もしくは並進又は大きな変位もしくは並進を含み得る。変位は、装着型エクステンデッドリアリティ機器に対する物理オブジェクトの変位であり得る。或いは、変位は、物理的対象に対する装着型エクステンデッドリアリティ機器の変位であってもよい。他の例では、変位は、装着型エクステンデッドリアリティ機器と物理器具の両方の動きに起因し得る。仮想オブジェクトを移動させるかどうかを決定する非限定的な例は、閾値又は制限を設定するユーザ又はコンピュータを含むことができる。例えば、物理的なオブジェクトの閾値移動は、変位を必要とする場合がある。別の例では、物理オブジェクトの閾値移動は回転を必要とする場合がある。特定された動きが閾値動き以上でない場合、仮想オブジェクトは異なる仮想平面に移動されなくてもよい。或いは、特定された動きが閾値動きよりも大きい場合、仮想オブジェクトは異なる仮想平面に移動されてもよい。例えば、装着型エクステンデッドリアリティ機器は、仮想ディスプレイスクリーンが物理キーボードにドッキングされていることを示す入力信号を受信することができる。閾値は、装着型エクステンデッドリアリティ機器が、閾値量未満の物理キーボードの変位に基づいて仮想表示スクリーンを移動させないことを決定することができるように設定することができる。一例では、閾値量は1インチ程度であり得る。
幾つかの開示された実施形態は、物理的対象物の動きによって引き起こされる相対移動を決定することを更に含むことができる。幾つかの実施形態はまた、決定された相対移動に応じて、異なる仮想平面への仮想オブジェクトの面間移動を引き起こすことを含むことができる。動きの非限定的な例は、物理的又は仮想オブジェクトの回転、並進、又は変位を含むことができる。装着型エクステンデッドリアリティ機器は、物理キーボードが例えば2フィートずれたと判断することができる。この決定は、装着型エクステンデッドリアリティ機器に関連付けられたセンサによって行われてもよい。更に、装着型エクステンデッドリアリティ機器は、第1の仮想平面から異なる第2の仮想平面への面間移動によって仮想オブジェクトを移動させることができる。例えば、物理キーボードの2フィートの変位は、装着型エクステンデッドリアリティ機器によって決定され得る。装着型エクステンデッドリアリティ機器は、物理キーボードが2インチ変位したと判断することができる。これに応じて、装着型エクステンデッドリアリティ機器は、第1の仮想平面から異なる第2の仮想平面への面間移動によって仮想表示スクリーンを移動させることができる。
幾つかの開示された実施形態は、装着型エクステンデッドリアリティ機器の動きによって引き起こされる相対移動を決定するステップを更に含むことができる。幾つかの実施形態はまた、決定された相対移動に応じて、異なる仮想平面への仮想オブジェクトの面間移動を防止することを含むことができる。一例として、装着型エクステンデッドリアリティ機器は、物理キーボードが変位したと判断することができる。更に、装着型エクステンデッドリアリティ機器は、第1の仮想平面から異なる仮想平面への面間移動によって仮想オブジェクトが移動するのを防止することができる。例えば、キーボードなどの項目の変位が閾値(例えば、2インチ)を下回る場合、装着型エクステンデッドリアリティ機器は、第1の仮想平面から異なる第2の仮想平面への面間移動によって仮想表示スクリーンが移動するのを防ぐことができる。
幾つかの実施形態では、第1の仮想平面及び第2の仮想平面が物理オブジェクトにドッキングされていることを示す入力信号を受信することができる。例えば、入力信号を受信することは、メモリから入力信号を読み取ること、外部デバイスから入力信号を受信すること、ユーザ(例えば、ユーザインタフェースを介して、入力デバイスを介して、ジェスチャを介して、音声コマンドを介してなど。)から入力信号を受信することなどのうちの少なくとも1つを含むことができる。幾つかの例では、仮想オブジェクトが第2の位置にある間、かつ面間入力信号を受信する前に、物理オブジェクトの新しい位置への移動を特定することができる。例えば、物理オブジェクトに含まれる測位センサを使用して捕捉された測位データを解析して、物理オブジェクトの動きを特定することができる。別の例では、物理オブジェクトに含まれる動きセンサを使用して捕捉された動きデータを解析して、物理オブジェクトの動きを特定することができる。更に別の例では、装着型エクステンデッドリアリティ機器に含まれる画像センサを使用して捕捉された画像データは、物理オブジェクトの動きを特定するために視覚オブジェクト追跡アルゴリズムを使用して解析され得る。物理オブジェクトの動きを特定する他の例は、前述されている。幾つかの例では、第1の仮想平面及び第2の仮想平面の新しい位置は、物理オブジェクトの新しい位置に基づいて決定されてもよい。例えば、第1及び第2の仮想平面の位置は、物理オブジェクトの位置の関数であってもよい。別の例では、第1及び第2の仮想平面は、物理オブジェクトにドッキングされてもよく、それによって前述のように物理オブジェクトと共に移動してもよい。幾つかの例では、例えば、物理オブジェクトの特定された動きに応じて、装着型エクステンデッドリアリティ機器は、第1の仮想平面の元の位置にある第1の仮想平面上の第2の位置から第1の仮想平面の新しい位置にある第1の仮想平面上の第2の位置への仮想オブジェクトの動きを表示させることができる。動きの表示は、前述した第1の位置から第2の位置への動きの表示と同様であってもよい。幾つかの例では、第2の位置から第3の位置への仮想オブジェクトの面間移動の表示は、第1の仮想平面の新しい位置における第1の仮想平面上の第2の位置から第2の仮想平面の新しい位置における第2の仮想平面上の第3の位置への仮想オブジェクトの移動の表示であり得る。
本開示の別の実施形態によれば、三次元空間内の仮想平面間で仮想コンテンツを移動させるための方法を提供することができる。幾つかの実施形態によれば、本方法は、複数の仮想平面上に複数の仮想オブジェクトを仮想的に表示するために装着型エクステンデッドリアリティ機器を使用するステップを含むことができ、複数の仮想平面は、第1の仮想平面及び第2の仮想平面を含むことができる。本方法は、装着型エクステンデッドリアリティ機器を介した提示のために、第1の仮想平面上の第1の位置にある仮想オブジェクトを反映する第1の表示信号を出力するステップを更に含むことができる。本方法は、仮想オブジェクトを第1の仮想平面上の第2の位置に移動させるための面内入力信号を受信するステップを更に含むことができる。本方法は、装着型エクステンデッドリアリティ機器に、面内入力信号に応じて第1の位置から第2の位置への仮想オブジェクトの面内移動を仮想的に表示させるステップを含むことができる。本方法は、仮想オブジェクトが第2の位置にある間に、仮想オブジェクトを第2の仮想平面上の第3の位置に移動させるための面間入力信号を受信するステップを含むことができる。本方法は、面間入力信号に応じて、装着型エクステンデッドリアリティ機器に、第2の位置から第3の位置への仮想オブジェクトの面間移動を仮想的に表示させるステップを含むことができる。
図51は、三次元空間内の仮想平面間で仮想コンテンツを移動させるための例示的な方法5100を示す。方法5100は、入力ユニット202(図3参照)、XRユニット204(図4参照)、及び/又は遠隔処理ユニット208(図5参照)に関連する1つ以上のプロセッサ(例えば、360、460、又は560)によって実行されてもよい。開示された方法5100のステップは、ステップの並べ替え及び/又はステップの挿入もしくは削除を含む任意の方法で変更することができる。方法5100は、装着型エクステンデッドリアリティ機器5006を使用して複数の仮想平面上に複数の仮想オブジェクトを仮想的に表示するステップ5142を含むことができ、複数の仮想平面は、第1の仮想平面5001と第2の仮想平面5003とを含む。方法5100は、装着型エクステンデッドリアリティ機器5006を介した提示のために、第1の仮想平面5003上の第1の位置で仮想オブジェクト5004を反映する第1の表示信号を出力するステップ5144を含むことができる。方法5100は、仮想オブジェクト5004を第1の仮想平面5001上の第2の位置に移動させるための面内入力信号を受信するステップ5146を含むことができる。方法5100は、装着型エクステンデッドリアリティ機器5006に、面内入力信号に応じて第1の位置から第2の位置への仮想オブジェクト5004の面内移動5095を仮想的に表示させるステップ5148を含むことができる。方法5100は、仮想オブジェクト5004を第2の仮想平面5003上の第3の位置に移動させるための面間入力を受信するステップ5150を含むことができる。方法5100は、面間入力信号に応じて、装着型エクステンデッドリアリティ機器5006に、第2の位置から第3の位置への仮想オブジェクト5004の面間移動5097を仮想的に表示させるステップ5152を含むことができる。
図52は、第1の仮想平面が第1の距離に関連付けられ、第2の仮想平面が第2の距離に関連付けられる、例示的な方法5200を示す。方法5200は、ステップ5264を含むことができ、このステップにおいて、第1の仮想平面は、装着型エクステンデッドリアリティ機器からの第1の距離に関連付けることができ、第2の仮想平面は、装着型エクステンデッドリアリティ機器からの第2の距離に関連付けることができ、第1の仮想平面に関連付けられた第1の距離は、第2の仮想平面に関連付けられた第2の距離よりも大きい。或いは、方法5200は、5268のステップを含むことができ、このステップにおいて、第1の仮想平面は物理入力デバイスからの第1の距離に関連付けられてもよく、第2の仮想平面は物理入力デバイスからの第2の距離に関連付けられてもよく、第1の仮想平面に関連付けられた第1の距離は第2の仮想平面に関連付けられた第2の距離よりも大きい。或いは、方法5200は、ステップ5266を含むことができ、このステップにおいて、第1の仮想平面は、物理的表面の縁からの第1の距離に関連付けられてもよく、第2の仮想平面は、物理的表面の縁からの第2の距離に関連付けられてもよく、第1の仮想平面に関連付けられた第1の距離は、第2の仮想平面に関連付けられた第2の距離よりも大きい。方法5200は、第1の仮想平面及び第2の仮想平面が凸形状の表面であってもよいステップ5272を含んでもよい。方法5200は、第1の仮想平面及び第2の仮想平面が同心形状の表面であってもよく、装着型エクステンデッドリアリティ機器が同心形状の中心に配置されてもよいステップ5270を含んでもよい。
図53は、例示的な方法5300を示す。方法5300は、ステップ5382を含むことができ、このステップにおいて、面内移動は、仮想オブジェクトを2つの直交軸に沿って移動させることを含むことができる。更に、方法5300は、ステップ5384を含むことができ、このステップにおいて、第1の軸に沿った移動は仮想オブジェクトの寸法を変更することを含むことができ、第2の軸に沿った移動は仮想オブジェクトの寸法を変更することを除外することができる。
図54は、第1の仮想平面及び第2の仮想平面が湾曲している例示的な方法5400を示す。方法5400は、第1の仮想平面の第1の曲率が第2の仮想平面の第2の曲率と実質的に同一であってもよく、面間入力信号に応じて、第1の距離と第2の距離との差を反映するように仮想オブジェクトの表示を変更するステップ5492を更に含んでもよい。或いは、方法5400は、第1の仮想平面の第1の曲率が第2の仮想平面の第2の曲率と異なり得るステップ5494を含んでもよく、面間入力信号に応じて、第1の距離と第2の距離との差及び第1の曲率と第2の曲率との差を反映するように仮想オブジェクトのエクステンデッドリアリティディスプレイを変更するステップを更に含んでもよい。方法5400はステップ5496を含むことができ、この場合、第1の仮想平面は湾曲していてもよく、第1の位置から第2の位置への仮想オブジェクトの面内移動は三次元移動を含んでいてもよい。
図55は、少なくとも一方の面内入力信号及び面間入力信号が入力デバイスから受信される例示的な方法5500を示す。方法5500は、ステップ5502を含むことができ、この場合、面内入力信号及び面間入力信号の少なくとも一方を、タッチパッド及び複数のキーを含む物理デバイスから受信することができる。方法5500は、ステップ5504を含むことができ、この場合、面内入力信号及び面間入力信号の少なくとも一方は、装着型エクステンデッドリアリティ機器に接続可能なスマートフォンのタッチスクリーンから受信することができる。方法5500は、ステップ5506を含むことができ、この場合、面内入力信号と面間入力信号の両方をタッチセンサから受信することができる。更に、方法5500は、第1の多指相互作用を面内移動を引き起こすためのコマンドとして特定し、第1の多指相互作用とは異なる第2の多指相互作用を面間移動を引き起こすためのコマンドとして特定するステップ5508を含んでもよい。
図56は、予備入力信号を受信するための例示的な方法5600を示す。方法5600は、第1の仮想平面における所望の曲率を選択するための予備入力信号を受信するステップ5602を含んでいてもよく、また、第1の仮想平面の選択された曲率に基づいて面内移動が決定されてもよい。方法5600は、第1の仮想平面の曲率を選択するステップ5604が第2の仮想平面の曲率に影響を及ぼすことを含んでもよい。
図57は、仮想オブジェクトが別の仮想オブジェクトにドッキングされているかどうかを決定する例示的な方法57000を示す。方法57000は、面内入力信号を受信する前に、仮想オブジェクトが別の仮想オブジェクトにドッキングされていると決定するステップ5702を含むことができる。更に、方法57000は、面内入力信号に応じて、装着型エクステンデッドリアリティ機器に仮想オブジェクト及び別の仮想オブジェクトの面内移動を表示させるステップ5704を含むことができる。更に、方法57000は、面間入力信号に応じて、装着型エクステンデッドリアリティ機器に仮想オブジェクト及び別の仮想オブジェクトの面間移動を表示させるステップ5706を含むことができる。
図58は、仮想オブジェクトが物理オブジェクトにドッキングされていることを示す入力信号を受信する例示的な方法5800を示す。方法5800は、仮想オブジェクトが物理オブジェクトにドッキングされていることを示す入力信号を受信するステップ5802を含むことができる。更に、方法5800は、物理オブジェクトと装着型エクステンデッドリアリティ機器との間の相対移動を特定するステップ5804を含むことができる。更に、方法5800は、特定された動きに基づいて仮想オブジェクトを異なる仮想平面に移動させるかどうかを決定するステップ5806を含むことができる。方法5800は、異なる仮想平面への仮想オブジェクトの面間移動を防止するステップ5810を含むことができる。或いは、方法5800は、異なる仮想平面への仮想オブジェクトの面間移動を引き起こすステップ5812を含むことができる。
他に定義されない限り、本明細書で使用される全ての技術用語及び科学用語は、当業者によって一般的に理解されるのと同じ意味を有する。本明細書で提供される材料、方法、及び例は例示にすぎず、限定することを意図するものではない。
本開示の方法及びシステムの実装は、特定の選択されたタスク又はステップを手動で、自動的に、又はそれらの組み合わせで実行又は完了することを含むことができる。更に、本開示の方法及びシステムの好ましい実施形態の実際の機器及び機器によれば、幾つかの選択されたステップは、任意のファームウェアの任意のオペレーティングシステム上のハードウェア(HW)又はソフトウェア(SW)によって、又はそれらの組み合わせによって実施することができる。例えば、ハードウェアとして、本開示の選択されたステップは、チップ又は回路として実装することができる。ソフトウェア又はアルゴリズムとして、本開示の選択されたステップは、任意の適切なオペレーティングシステムを使用してコンピュータによって実行される複数のソフトウェア命令として実装することができる。いずれの場合でも、本開示の方法及びシステムの選択されたステップは、複数の命令を実行するためのコンピューティングデバイスなどのデータプロセッサによって実行されるものとして説明することができる。
本明細書で説明するシステム及び技術の様々な実施態様は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現することができる。これらの様々な実施態様は、記憶システム、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスからデータ及び命令を受信し、それらにデータ及び命令を送信するように結合された、特殊又は汎用であり得る少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能及び/又は解釈可能な1つ以上のコンピュータプログラムでの実施態様を含むことができる。
本明細書で説明するシステム及び技術は、バックエンド構成要素(例えば、データサーバとして、)を含む、又はミドルウェア構成要素(例えば、アプリケーションサーバ)を含む、又はフロントエンド構成要素(例えば、ユーザが本明細書に記載のシステム及び技術の実装と相互作用することができるグラフィカルユーザインタフェース又はウェブブラウザを有するクライアントコンピュータ)を含む、又はそのようなバックエンド、ミドルウェア、もしくはフロントエンド構成要素の任意の組み合わせを含むコンピューティングシステムで実施することができる。システムの構成要素は、任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、及びインターネットが含まれる。コンピューティングシステムは、クライアント及びサーバを含むことができる。クライアント及びサーバは、一般に、互いに遠隔にあり、通常、通信ネットワークを介して相互作用する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
記載された実施態様の特定の特徴が本明細書に記載されているように示されているが、多くの変更、置換、変更及び等価物が当業者には思い浮かび得る。したがって、添付の特許請求の範囲は、実装の範囲内に含まれる全てのそのような変更及び変更を網羅することを意図していることを理解すべきである。それらは限定ではなく例としてのみ提示されており、形態及び詳細の様々な変更が行われ得ることを理解すべきである。本明細書に記載の装置及び/又は方法の任意の部分は、相互に排他的な組み合わせを除いて、任意の組み合わせで組み合わせることができる。本明細書に記載の実装形態は、記載の異なる実装形態の機能、構成要素、及び/又は特徴の様々な組み合わせ及び/又は部分的な組み合わせを含むことができる。
上記の説明は、例示を目的として提示されている。これは網羅的ではなく、開示された正確な形態又は実施形態に限定されない。実施形態の変更及び適合は、開示された実施形態の明細書及び実施を考慮することから明らかであろう。例えば、記載された実施態様は、ハードウェア及びソフトウェアを含むが、本開示と一致するシステム及び方法は、ハードウェアのみとして実施されてもよい。
前述の実施形態は、ハードウェア、又はソフトウェア(プログラムコード)、又はハードウェアとソフトウェアとの組み合わせによって実施することができることを理解されたい。ソフトウェアによって実施される場合、上記のコンピュータ可読媒体に記憶することができる。ソフトウェアは、プロセッサによって実行されると、開示された方法を実行することができる。本開示に記載された計算ユニット及び他の機能ユニットは、ハードウェア、又はソフトウェア、又はハードウェアとソフトウェアの組み合わせによって実装することができる。当業者であれば分かるように、前述のモジュール/ユニットのうちの複数のものを1つのモジュール又はユニットとして組み合わせることができ、前述のモジュール/ユニットのそれぞれを複数のサブモジュール又はサブユニットに更に分割することができる。
図中のブロック図は、本開示の様々な例示的な実施形態による、システム、方法、及びコンピュータハードウェア又はソフトウェア製品の可能な実装形態のアーキテクチャ、機能、及び動作を示す。これに関して、フローチャート又はブロック図の各ブロックは、指定された論理機能を実装するための1つ以上の実行可能命令を含むモジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替実施態様では、ブロックに示されている機能は、図に示されている順序とは異なる順序で発生し得ることを理解すべきである。例えば、連続して示されている2つのブロックは、関連する機能に応じて、実質的に同時に実行又は実装されてもよく、又は2つのブロックが逆の順序で実行される場合もある。また、一部のブロックを省略してもよい。ブロック図の各ブロック、及びブロックの組み合わせは、指定された機能又は動作を実行する専用ハードウェアベースのシステムによって、又は専用ハードウェアとコンピュータ命令の組み合わせによって実装され得ることも理解すべきである。
前述の明細書では、実施形態は、実装ごとに異なり得る多数の特定の詳細を参照して説明されている。記載された実施形態の特定の適合及び変更を行うことができる。他の実施形態は、本明細書の考察及び本明細書に開示される本発明の実施から当業者には明らかであり得る。本明細書及び実施例は、例としてのみ考慮されることが意図され、本発明の真の範囲及び精神は、以下の特許請求の範囲によって示される。また、図に示されているステップの順序は、単に例示を目的としており、いかなる特定のステップの順序にも限定されることを意図していないことも意図されている。したがって、当業者であれば分かるように、これらのステップが同じ方法を実施しながら異なる順序で実行され得る。
本開示の実施形態は、上記で説明され、添付の図面に示された正確な構造に限定されず、その範囲から逸脱することなく様々な変更及び変更を行うことができることが理解され得る。また、他の実施形態は、本明細書の考察及び本明細書に開示される開示された実施形態の実施から当業者には明らかである。本明細書及び実施例は、例示としてのみ考慮されることが意図され、開示された実施形態の真の範囲及び精神は、添付の特許請求の範囲によって示される。
更に、例示的な実施形態が本明細書に記載されているが、範囲は、本開示に基づく同等の要素、変更、省略、組み合わせ(例えば、様々な実施形態にわたる態様の)、適合又は変更を有するありとあらゆる実施形態を含む。特許請求の範囲の要素は、特許請求の範囲で使用される言語に基づいて広く解釈されるべきであり、本明細書に記載された例又は出願の審査中に限定されない。これらの例は非排他的であると解釈されるべきである。更に、開示された方法のステップは、ステップの並べ替え又はステップの挿入もしくは削除を含む任意の方法で変更することができる。したがって、本明細書及び実施例は、例示としてのみ考慮され、真の範囲及び精神は、添付の特許請求の範囲及びそれらの均等物の全範囲によって示されることが意図される。