本開示は、いくつかの実施形態による、コンピュータ生成現実(computer-generated reality、CGR)体験をユーザに提供するユーザインタフェースに関する。
本明細書に記載するシステム、方法、及びGUIは、複数の方法で仮想/拡張現実環境とのユーザインタフェース相互作用を改善する。
いくつかの実施形態では、コンピュータシステムは、ユーザの部分の姿勢の確実性に基づいて外観が変動する表示特性を有する(例えば、CGR環境内の)アバターをユーザに提示する。コンピュータシステムは、ユーザの部分の姿勢を表す姿勢データを(例えば、センサから)受信し、(例えば、表示生成コンポーネントを介して)ユーザの部分に対応し、かつ、ユーザの部分の姿勢の確実性を示す可変表示特性を有するアバター特徴を含むアバターを提示させる。コンピュータシステムは、ユーザの部分の姿勢の確実性に依存する可変表示特性の異なる値をアバター特徴が有するようにし、ユーザの部分の姿勢に関するアバターの姿勢の推定された視覚的忠実性の指標がコンピュータシステムのユーザに提供される。
いくつかの実施形態では、コンピュータシステムは、ユーザに、いくつかの実施形態ではユーザが実行している活動に基づいて変化する異なる外観テンプレートに基づく外観を有するアバターを提示する。コンピュータシステムは、1人以上のユーザの現在の活動が第1のタイプの活動(例えば、対話型活動)であることを示すデータを(例えば、センサから)受信する。それに応答して、コンピュータシステムは、第1の外観テンプレート(例えば、キャラクタテンプレート)に基づく第1の外観を有する第1のユーザの表現(例えば、アバター)を(例えば、表示生成コンポーネントを介して)更新する。第1の外観を有する第1のユーザの表現を提示させている間に、コンピュータシステムは、1人以上のユーザの現在の活動を示す第2のデータを(例えば、センサから)受信する。それに応答して、コンピュータシステムは、現在の活動が第1のタイプの活動であるか、あるいは第2のタイプの活動であるかに応じて、第1の外観テンプレートに基づく第2の外観を有する、又は第2の外観テンプレート(例えば、抽象テンプレート)に基づく第3の外観を有する、第1のユーザの表現を(例えば、表示生成コンポーネントを介して)提示させ、それにより、ユーザが第1のタイプの活動を実行しているか、あるいは第2のタイプの活動を実行しているかの指標がコンピュータシステムのユーザに提供される。
図1~図6は、CGR体験をユーザに提供するための例示的なコンピュータシステムを説明する。図7A~図7C及び図8A~図8Cは、いくつかの実施形態による、ユーザの姿勢の確実性に基づいて外観が変動する表示特性を有する仮想アバターキャラクタを示す。図9は、様々な実施形態による、ユーザの姿勢の確実性に基づいて外観が変動する表示特性を用いて仮想アバターキャラクタを提示する例示的な方法を示すフローチャートである。図7A~図7C及び図8A~図8Cは、図9のプロセスを説明するために使用される。図10A及び図10B、並びに図11A及び図11Bは、いくつかの実施形態による、異なる外観テンプレートに基づく外観を有する仮想アバターを示す。図12は、いくつかの実施形態による、異なる外観テンプレートに基づく外観を有するアバターキャラクタを提示する例示的な方法を示すフローチャートである。図10A~図10B及び図11A~図11Bは、図12のプロセスを説明するために使用される。
更に、1つ以上の条件が満たされていることを1つ以上のステップが前提条件とする本明細書に記載の方法では、反復の過程にわたって、方法のステップが前提条件としている全ての条件が、その方法の異なる反復において満たされているように、記載した方法を複数回反復して繰り返すことができることを理解されたい。例えば、方法が、条件を満たす場合には第1のステップを実行し、条件を満たさない場合には第2のステップを実行することを必要とする場合、当業者には、条件を満たすまでも条件を満たさない間も、特許請求されるステップが順不同で繰り返されることを理解されるであろう。したがって、1つ以上の条件が満たされていることを前提条件とする1つ以上のステップで説明される方法を、方法に記載された条件の各々が満たされるまで繰り返される方法と書き換えてもよい。しかしながら、これは、システム又はコンピュータ可読媒体が、対応する1つ以上の条件を満たしたことに基づいて前提条件となる動作を実行する命令を含み、したがって、方法のステップが前提条件とする全ての条件を満たすまで、方法のステップを明示的に繰り返すことなく、前提条件を満たしているか否かを判定することが可能である、システム又はコンピュータ可読媒体の請求項を必要としない。また、当業者には、依存するステップを有する方法と同様に、システム又はコンピュータ可読記憶媒体が、前提条件となるステップの全てが実行されていることを保証するために、必要な回数だけ、方法のステップを繰り返すことができることを理解されるであろう。
いくつかの実施形態では、図1に示されるように、CGR体験は、コンピュータシステム101を含む動作環境100を介してユーザに提供される。コンピュータシステム101は、コントローラ110(例えば、ポータブル電子デバイス又はリモートサーバのプロセッサ)と、表示生成コンポーネント120(例えば、ヘッドマウントデバイス(HMD)、ディスプレイ、プロジェクタ、タッチスクリーンなど)と、1つ以上の入力デバイス125(例えば、アイトラッキングデバイス130、ハンドトラッキングデバイス140、他の入力デバイス150)と、1つ以上の出力デバイス155(例えば、スピーカ160、触知出力ジェネレータ170、及び他の出力デバイス180)と、1つ以上のセンサ190(例えば、画像センサ、光センサ、深度センサ、触覚センサ、配向センサ、近接センサ、温度センサ、位置センサ、運動センサ、速度センサなど)と、任意選択的に1つ以上の周辺デバイス195(例えば、家電製品、ウェアラブルデバイスなど)と、を含む。いくつかの実施形態では、入力デバイス125、出力デバイス155、センサ190、及び周辺デバイス195のうちの1つ以上は、(例えば、ヘッドマウントデバイス又はハンドヘルドデバイス内で)表示生成コンポーネント120と統合される。
CGR体験を説明するとき、ユーザが感知する、及び/又は(例えば、CGR体験を生成するコンピュータシステムに、CGR体験を生成するコンピュータシステム101に提供される様々な入力に対応するオーディオ、視覚、及び/又は触覚フィードバックを生成させる、コンピュータシステム101によって検出された入力を用いて)ユーザが相互作用することができる、いくつかの関連するが、別個の環境に個別的に言及するために様々な用語が使用される。以下は、これらの用語のサブセットである。
物理的環境:物理的環境とは、人々が電子システムの助けなしに、感知及び/又は相互作用することができる物理的世界を指す。物理的な公園などの物理的環境には、物理的な木々、物理的な建物、及び物理的な人々などの物理的物品が挙げられる。人々は、視覚、触覚、聴覚、味覚、及び嗅覚などを介して、物理的環境を直接感知し、及び/又はそれと相互作用することができる。
コンピュータ生成現実:対照的に、コンピュータ生成現実(CGR)環境とは、人々が電子システムを介して感知及び/又は相互作用する、全体的又は部分的に模倣された環境を指す。CGRでは、人の身体運動のサブセット又はその表現が追跡され、それに応答して、CGR環境内でシミュレートされた1つ以上の仮想オブジェクトの1つ以上の特性が、少なくとも1つの物理学の法則でふるまうように調節される。例えば、CGRシステムは、人の頭部の回転を検出し、それに応答して、そのようなビュー及び音が物理的環境においてどのように変化するかと同様の方法で、人に提示されるグラフィックコンテンツ及び音場を調節することができる。状況によっては(例えば、アクセス性の理由から)、CGR環境における仮想オブジェクト(単数又は複数)の特性(単数又は複数)に対する調節は、身体運動の表現(例えば、音声コマンド)に応答して行われてもよい。人は、視覚、聴覚、触覚、味覚及び嗅覚を含むこれらの感覚のうちのいずれか1つを使用して、CGRオブジェクトを感知し、かつ/又はCGRオブジェクトと相互作用してもよい。例えば、人は、3D空間において点音源の知覚を提供する、3D又は空間的広がりを有するオーディオ環境を作り出す音声オブジェクトを感知し、かつ/又はそれと相互作用することができる。別の例では、オーディオオブジェクトによって、コンピュータ生成オーディオを含めて、又は含めずに、物理的環境から周囲音を選択的に組み込むオーディオ透過性が可能になり得る。いくつかのCGR環境では、人は、オーディオオブジェクトのみを感知し、かつ/又はそれと相互作用してもよい。
CGRの例としては、仮想現実及び複合現実が挙げられる。
仮想現実:仮想現実(VR)環境とは、1つ以上の感覚について、コンピュータ生成感覚入力に全面的に基づくように設計された模倣環境を指す。VR環境は、人が感知かつ/又は相互作用することができる複数の仮想オブジェクトを含む。例えば、木、建物、及び人々を表すアバターのコンピュータ生成画像は、仮想オブジェクトの例である。人は、コンピュータ生成環境内に人が存在することのシミュレーションを通じて、かつ/又はコンピュータ生成環境内での人の身体運動のサブセットのシミュレーションを通じて、VR環境における仮想オブジェクトを感知し、かつ/又はそれと相互作用することができる。
複合現実:複合現実(MR)環境とは、コンピュータ生成感覚入力に全面的に基づくように設計されたVR環境とは対照的に、コンピュータ生成感覚入力(例えば、仮想オブジェクト)を含むことに加えて、物理的環境からの感覚入力又はその表現を組み込むように設計された模倣環境を指す。仮想の連続体上では、複合現実環境は、一方の端部における完全な物理的環境と、他方の端部における仮想現実環境との間であるがこれらを含まない、任意の場所である。いくつかのMR環境では、コンピュータ生成感覚入力は、物理的環境からの感覚入力の変更に応答し得る。また、MR環境を提示するためのいくつかの電子システムは、仮想オブジェクトが現実のオブジェクト(即ち、物理的環境からの物理的物品又はその表現)と相互作用することを可能にするために、物理的環境に対する位置及び/又は配向を追跡してもよい。例えば、システムは、仮想の木が物理的な地面に対して静止して見えるように、動きを考慮に入れてもよい。
複合現実の例としては、拡張現実及び拡張仮想が挙げられる。
拡張現実:拡張現実(AR)環境とは、1つ以上の仮想オブジェクトが物理的環境上又はその表現上に重ねられた模倣環境を指す。例えば、AR環境を提示するための電子システムは、人が物理的環境を直接見ることができる透明又は半透明のディスプレイを有してもよい。システムは、透明又は半透明のディスプレイに仮想オブジェクトを提示するように構成されていてもよく、それによって、人はシステムを使用して、物理的環境の上に重ね合わされた仮想オブジェクトを知覚する。あるいは、システムは、不透明ディスプレイと、物理的環境の表現である、物理的環境の画像又は動画をキャプチャする1つ以上の撮像センサとを有してもよい。システムは、画像又は動画を仮想オブジェクトと合成し、その合成物を不透明ディスプレイ上に提示する。人はこのシステムを使用して、物理的環境を、物理的環境の画像又は動画によって間接的に見て、物理的環境に重ね合わされた仮想オブジェクトを知覚する。本明細書で使用するとき、不透明ディスプレイ上に示される物理的環境の動画は、「パススルービデオ」と呼ばれ、システムが、1つ以上の画像センサ(単数又は複数)を使用して、物理的環境の画像をキャプチャし、不透明ディスプレイ上にAR環境を提示する際にそれらの画像を使用することを意味する。更に代替的に、システムが仮想オブジェクトを、例えば、ホログラムとして物理的環境の中に、又は物理的表面に投影するプロジェクションシステムを有してもよく、それによって、人はシステムを使用して、物理的環境に重ね合わされた仮想オブジェクトを知覚する。拡張現実環境はまた、物理的環境の表現がコンピュータ生成感覚情報によって変換されるシミュレーション環境を指す。例えば、パススルービデオを提供する際に、システムは、1つ以上のセンサ画像を、イメージセンサがキャプチャした透視図とは別の選択された透視図(例えば、視点)を面付けするように変形してもよい。別の例として、物理的環境の表現を、その一部分をグラフィカルに変更(例えば、拡大)することによって変形してもよく、それにより、変更された部分を、元のキャプチャ画像を表すが非写実的な、改変版にすることもできる。更なる例として、物理的環境の表現は、その一部分をグラフィカルに除去又は不明瞭化することによって変形されてもよい。
拡張仮想:拡張仮想(AV)環境とは、仮想環境又はコンピュータ生成環境が物理的環境から1つ以上の感覚入力を組み込んだ模倣環境を指す。感覚入力は、物理的環境の1つ以上の特性の表現であり得る。例えば、AVの公園には仮想の木及び仮想の建物があり得るが、顔がある人々は、物理的な人々が撮られた画像から写実的に再現される。別の例として、仮想オブジェクトは、1つ以上の撮像センサによって撮像された物理的物品の形状又は色を採用してもよい。更なる例として、仮想オブジェクトは、物理的環境における太陽の位置と一致する影を採用することができる。
ハードウェア:人が様々なCGR環境を感知し、及び/又はそれと相互作用することを可能にする、多くの異なるタイプの電子システムが存在する。例としては、ヘッドマウントシステム、プロジェクションベースシステム、ヘッドアップディスプレイ(heads-up displays、HUD)、統合表示機能を有する車両ウィンドシールド、統合表示機能を有する窓、(例えば、コンタクトレンズと同様に)人の目の上に配置されるように設計されたレンズとして形成されたディスプレイ、ヘッドホン/イヤフォン、スピーカアレイ、入力システム(例えば、触覚フィードバックを有する又は有さない、装着型コントローラ又はハンドヘルドコントローラ)、スマートフォン、タブレット、及びデスクトップ/ラップトップコンピュータ、が挙げられる。ヘッドマウントシステムは、1つ以上のスピーカ(単数又は複数)及び一体型不透明ディスプレイを有してもよい。代替的に、ヘッドマウントシステムは、外部の不透明ディスプレイ(例えば、スマートフォン)を受け入れるように構成されていてもよい。ヘッドマウントシステムは、物理的環境の画像若しくは動画をキャプチャするための1つ以上の撮像センサ、及び/又は物理的環境の音声をキャプチャするための1つ以上のマイクロフォンを組み込んでいてもよい。ヘッドマウントシステムは、不透明ディスプレイではなく、透明又は半透明のディスプレイを有してもよい。透明又は半透明のディスプレイは、画像を表す光が人の目に向けられる媒体を有してもよい。ディスプレイは、デジタル光投影、OLED、LED、uLED、液晶オンシリコン、レーザスキャン光源、又はこれらの技術の任意の組み合わせを利用することができる。媒体は、光導波路、ホログラム媒体、光結合器、光反射器、又はこれらの任意の組み合わせであってもよい。一実施形態では、透明又は半透明のディスプレイは、選択的に不透明になるように構成されていてもよい。プロジェクションベースシステムは、グラフィカル画像を人の網膜上に投影する網膜投影技術を採用することができる。プロジェクションシステムはまた、仮想オブジェクトを、例えば、ホログラムとして、又は物理的表面として物理的環境に投影するように構成されてもよい。いくつかの実施形態では、コントローラ110は、ユーザのCGR体験を管理及び調整するように構成される。いくつかの実施形態では、コントローラ110は、ソフトウェア、ファームウェア、及び/又はハードウェアの好適な組み合わせを含む。コントローラ110については、図2を参照して以下により詳細に記載する。いくつかの実施形態では、コントローラ110は、シーン105(例えば、物理的環境)に対してローカル又はリモートであるコンピューティングデバイスである。例えば、コントローラ110は、シーン105内に位置するローカルサーバである。別の例では、コントローラ110は、シーン105の外側に位置するリモートサーバ(例えば、クラウドサーバ、中央サーバなど)である。いくつかの実施形態では、コントローラ110は、1つ以上の有線又は無線通信チャネル144(例えば、BLUETOOTH、IEEE802.11x、IEEE802.16x、IEEE802.3xなど)を介して、表示生成コンポーネント120(例えば、HMD、ディスプレイ、プロジェクタ、タッチスクリーンなど)と通信可能に結合される。別の例では、コントローラ110は、表示生成コンポーネント120(例えば、HMD、又はディスプレイ及び1つ以上のプロセッサなどを含むポータブル電子デバイス)、入力デバイス125のうちの1つ以上、出力デバイス155のうちの1つ以上、センサ190のうちの1つ以上、及び/又は周辺デバイス195のうちの1つ以上の筐体(例えば、物理的ハウジング)内に含まれる、又は上記のうちの1つ以上と同じ物理的筐体又は支持構造を共有する。
いくつかの実施形態では、表示生成コンポーネント120は、CGR体験(例えば、CGR体験の少なくとも視覚的コンポーネント)をユーザに提供するように構成される。いくつかの実施形態では、表示生成コンポーネント120は、ソフトウェア、ファームウェア、及び/又はハードウェアの好適な組み合わせを含む。表示生成コンポーネント120について、図3を参照して以下により詳細に説明する。いくつかの実施形態では、コントローラ110の機能は、表示生成コンポーネント120によって提供される、及び/又は表示生成コンポーネント120と組み合わされる。
いくつかの実施形態によれば、表示生成コンポーネント120は、ユーザがシーン105内に仮想的及び/又は物理的に存在している間に、CGR体験をユーザに提供する。
いくつかの実施形態では、表示生成コンポーネントは、ユーザの身体の一部(例えば、自身の頭部や自身の手など)に装着される。したがって、表示生成コンポーネント120は、CGRコンテンツを表示するために提供された1つ以上のCGRディスプレイを含む。例えば、様々な実施形態では、表示生成コンポーネント120は、ユーザの視野を包囲する。いくつかの実施形態では、表示生成コンポーネント120は、CGRコンテンツを提示するように構成されたハンドヘルドデバイス(スマートフォン又はタブレットなど)であり、ユーザは、ユーザの視野に向けられるディスプレイ及びシーン105に向けられるカメラを備えたデバイスを保持する。いくつかの実施形態では、ハンドヘルドデバイスは、任意選択的に、ユーザの頭部に装着された筐体内に配置される。いくつかの実施形態では、ハンドヘルドデバイスは、任意選択的に、ユーザの前の支持体(例えば、三脚)上に配置される。いくつかの実施形態では、表示生成コンポーネント120は、ユーザが表示生成コンポーネント120を着用又は保持しない状態でCGRコンテンツを提示するように構成されたCGRチャンバ、筐体、又は部屋である。CGRコンテンツ(例えば、ハンドヘルドデバイス又は三脚上のデバイス)を表示するための1つのタイプのハードウェアを参照して説明される多くのユーザインタフェースは、CGRコンテンツ(例えば、HMD又は他のウェアラブルコンピューティングデバイス)を表示するための別のタイプのハードウェア上に実施され得る。例えば、ハンドヘルド又は三脚搭載デバイスの前の空間内で起こる相互作用に基づいてトリガされるCGRコンテンツとの相互作用を示すユーザインタフェースは、相互作用がHMDの前の空間で発生し、CGRコンテンツの応答がHMDを介して表示されるHMDと同様に実施され得る。同様に、物理的環境(例えば、シーン105又はユーザの身体の一部(例えば、ユーザの目(単数又は複数)、頭部、又は手))に対するハンドヘルド又は三脚搭載デバイスの移動に基づいてトリガされたCRGコンテンツとの相互作用を示すユーザインタフェースは、物理的環境(例えば、シーン105又はユーザの身体の一部(例えば、ユーザの目(単数又は複数)、頭部、又は手))に対するHMDの移動によって引き起こされるHMDと同様に実施され得る。
動作環境100の関連する特徴が図1に示されているが、当業者は、本明細書に開示される例示的な実施形態のより適切な態様を曖昧にしないように、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。
図2は、いくつかの実施形態による、コントローラ110の一例のブロック図である。特定の特徴が示されているが、当業者は、本明細書に開示される実施形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。そのため、非限定的な例として、いくつかの実施形態では、コントローラ110は、1つ以上の処理ユニット202(例えば、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィック処理ユニット(GPU)、中央処理ユニット(CPU)、処理コアなど)、1つ以上の入出力(I/O)デバイス206、1つ以上の通信インタフェース208(例えば、ユニバーサルシリアルバス(USB)、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、グローバル移動通信システム(GSM)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、グローバル測位システム(GPS)、赤外線(IR)、BLUETOOTH、ZIGBEE、又は同様のタイプのインタフェース)、1つ以上のプログラミング(例えば、I/O)インタフェース210、メモリ220、並びにこれら及び様々な他のコンポーネントを相互接続するための1つ以上の通信バス204を含む。
いくつかの実施形態では、1つ以上の通信バス204は、システムコンポーネントを相互接続し、システムコンポーネント間の通信を制御する、回路を含む。いくつかの実施形態では、1つ以上のI/Oデバイス206は、キーボード、マウス、タッチパッド、ジョイスティック、1つ以上のマイクロフォン、1つ以上のスピーカ、1つ以上の画像センサ、1つ以上のディスプレイなどのうちの少なくとも1つを含む。
メモリ220は、ダイナミックランダムアクセスメモリ(dynamic random-access memory、DRAM)、スタティックランダムアクセスメモリ(static random-access memory、SRAM)、ダブルデータレートランダムアクセスメモリ(double-data-rate random-access memory、DDRRAM)、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含む。いくつかの実施形態では、メモリ220は、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又はその他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含む。メモリ220は、1つ以上の処理ユニット202から遠隔に位置する1つ以上の記憶デバイスを任意選択的に含む。メモリ220は、非一時的コンピュータ可読記憶媒体を含む。いくつかの実施形態では、メモリ220、又はメモリ220の非一時的コンピュータ可読記憶媒体は、任意選択的なオペレーティングシステム230及びCGR体験モジュール240を含む、以下のプログラム、モジュール及びデータ構造、又はそれらのサブセットを記憶する。
オペレーティングシステム230は、様々な基本システムサービスを処理する命令、及びハードウェア依存タスクを実行する命令を含む。いくつかの実施形態では、CGR体験モジュール240は、1人以上のユーザに対する1つ以上のCGR体験(例えば、1人以上のユーザに対する単一のCGR体験、又は1人以上のユーザの各グループに対する複数のCGR体験)を管理及び調整するように構成されている。その目的で、様々な実施形態では、CGR体験モジュール240は、データ取得ユニット241、トラッキングユニット242、調整ユニット246、及びデータ送信ユニット248を含む。
いくつかの実施形態では、データ取得ユニット241は、データ(例えば、提示データ、相互作用データ、センサデータ、場所データなど)を、少なくとも、図1の表示生成コンポーネント120、及び任意選択的に、入力デバイス125、出力デバイス155、センサ190、及び/又は周辺デバイス195のうちの1つ以上から取得するように構成される。その目的で、様々な実施形態では、データ取得ユニット241は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
いくつかの実施形態では、トラッキングユニット242は、シーン105をマッピングし、図1のシーン105に対する少なくとも表示生成コンポーネント120、及び任意選択的に、入力デバイス125、出力デバイス155、センサ190、及び/又は周辺デバイス195のうちの1つ以上の位置を追跡するように構成される。その目的で、様々な実施形態では、トラッキングユニット242は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。いくつかの実施形態では、トラッキングユニット242は、ハンドトラッキングユニット244及び/又はアイトラッキングユニット243を含む。いくつかの実施形態では、ハンドトラッキングユニット244は、図1のシーン105に対する、表示生成コンポーネント120に対する、及び/又はユーザの手に対して定義された座標系に対する、ユーザの手の1つ以上の部分の位置、及び/又はユーザの手の1つ以上の部分の運動を追跡するように構成される。ハンドトラッキングユニット244について、図4に関して以下でより詳細に説明する。いくつかの実施形態では、アイトラッキングユニット243は、シーン105に対する(例えば、物理的環境及び/又はユーザ(例えば、ユーザの手)に対する)、又は表示生成コンポーネント120を介して表示されるCGRコンテンツに対する、ユーザの視線(又は、より広範にはユーザの目、顔、又は頭部)の位置及び動きを追跡するように構成される。アイトラッキングユニット243について、図5に関して以下でより詳細に説明する。
いくつかの実施形態では、調整ユニット246は、表示生成コンポーネント120によって、及び任意選択的に、出力デバイス155及び/又は周辺デバイス195のうちの1つ以上によって、ユーザに提示されるCGR体験を管理及び調整するように構成される。その目的で、様々な実施形態において、調整ユニット246は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
いくつかの実施形態では、データ送信ユニット248は、データ(例えば、提示データ、位置データなど)を少なくとも表示生成コンポーネント120、及び任意選択的に、入力デバイス125、出力デバイス155、センサ190、及び/又は周辺デバイス195のうちの1つ以上に送信するように構成される。その目的で、様々な実施形態では、データ送信ユニット248は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
データ取得ユニット241、トラッキングユニット242(例えば、アイトラッキングユニット243及びハンドトラッキングユニット244を含む)、調整ユニット246、及びデータ送信ユニット248が、単一のデバイス(例えば、コントローラ110)上に存在するものとして示されているが、他の実施形態では、データ取得ユニット241、トラッキングユニット242(例えば、アイトラッキングユニット243及びハンドトラッキングユニット244を含む)、調整ユニット246、及びデータ送信ユニット248の任意の組み合わせが、別個のコンピューティングデバイス内に配置されてもよいことを理解されたい。
更に、図2は、本明細書に記載される実施形態の構造概略とは対照的に、特定の実施形態に存在し得る様々な特徴の機能を説明することをより意図している。当業者によって認識されるように、別々に示された事項を組み合わせることができ、また、一部の事項は分離することができる。例えば、図2に別々に示すいくつかの機能モジュールは、単一のモジュール内に実現することができ、単一の機能ブロックの様々な機能は、様々な実施形態では1つ以上の機能ブロックによって実行することができる。モジュールの実際の数、並びに特定の機能の分割及びそれらの間にどのように機能が割り当てられるかは、実装形態によって異なり、いくつかの実施形態では、特定の実装形態のために選択されたハードウェア、ソフトウェア、及び/又はファームウェアの特定の組み合わせに部分的に依存する。
図3は、いくつかの実施形態による、表示生成コンポーネント120の一例のブロック図である。特定の特徴が示されているが、当業者は、本明細書に開示される実施形態のより適切な態様を曖昧にしないよう、簡潔にするために様々な他の特徴が示されていないことを、本開示から理解されよう。その目的で、非限定的な例として、いくつかの実施形態では、表示生成コンポーネント120(例えば、HMD)には、1つ以上の処理ユニット302(例えば、マイクロプロセッサ、ASIC、FPGA、GPU、CPU、処理コアなど)、1つ以上の入出力(I/O)デバイス及びセンサ306、1つ以上の通信インタフェース308(例えば、USB、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、GSM、CDMA、TDMA、GPS、赤外線、BLUETOOTH、ZIGBEE、及び/又は同様のタイプのインタフェース)、1つ以上のプログラミング(例えば、I/O)インタフェース310、1つ以上のCGRディスプレイ312、1つ以上の任意の内向き及び/又は外向き画像センサ314、メモリ320、並びにこれら及び様々な他のコンポーネントを相互接続するための1つ以上の通信バス304、が含まれる。
いくつかの実施形態では、1つ以上の通信バス304は、システムコンポーネントを相互接続し、システムコンポーネント間の通信を制御する、回路を含む。いくつかの実施形態では、1つ以上のI/Oデバイス及びセンサ306は、慣性測定装置(IMU)、加速度計、ジャイロスコープ、温度計、1つ以上の生理的センサ(例えば、血圧モニタ、心拍数モニタ、血液酸素センサ、血糖センサなど)、1つ以上のマイクロフォン、1つ以上のスピーカ、触覚エンジン、1つ以上の深度センサ(例えば、構造化光、飛行時間など)などのうちの少なくとも1つを含む。
いくつかの実施形態では、1つ以上のCGRディスプレイ312は、ユーザにCGR体験を提供するように構成される。いくつかの実施形態では、1つ以上のCGRディスプレイ312は、ホログラフィック、デジタル光処理(DLP)、液晶ディスプレイ(LCD)、液晶オンシリコン(LCoS)、有機発光電界効果トランジスタ(OLET)、有機発光ダイオード(OLED)、表面伝導型電子放射素子ディスプレイ(SED)、電界放射ディスプレイ(FED)、量子ドット発光ダイオード(QD-LED)、MEMS、及び/又は同様のディスプレイタイプに相当する。いくつかの実施形態では、1つ以上のCGRディスプレイ312は、回折、反射、偏光、ホログラフィックなどの、導波管ディスプレイに相当する。例えば、表示生成コンポーネント120(例えば、HMD)は、単一のCGRディスプレイを含む。別の実施例では、表示生成コンポーネント120は、ユーザの各目用のCGRディスプレイを含む。いくつかの実施形態では、1つ以上のCGRディスプレイ312は、MR又はVRコンテンツを提示することができる。いくつかの実施形態では、1つ以上のCGRディスプレイ312は、MR又はVRコンテンツを提示することができる。
いくつかの実施形態では、1つ以上の画像センサ314は、ユーザの目を含むユーザの顔の少なくとも一部に対応する画像データを取得するように構成される(及び、アイトラッキングカメラと称する場合がある)。いくつかの実施形態では、1つ以上の画像センサ314は、ユーザの手(単数又は複数)及び任意選択的にユーザの腕(単数又は複数)の少なくとも一部に対応する画像データを取得するように構成される(及び、ハンドトラッキングカメラと称される場合がある)。いくつかの実施形態では、1つ以上の画像センサ314は、表示生成コンポーネント120(例えばHMD)、が存在しない場合に、ユーザが閲覧するようなシーンに対応する画像データを取得するように前方を向くように構成されている(かつ、シーンカメラと称されることがある)。1つ以上の任意選択的な画像センサ314は、(例えば、相補型金属酸化膜半導体(CMOS)画像センサ若しくは電荷結合デバイス(CCD)画像センサを備えた)1つ以上のRGBカメラ、1つ以上の赤外線(IR)カメラ、1つ以上のイベントベースのカメラ、及び/又は同様のもの、を含むことができる。
メモリ320は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの、高速ランダムアクセスメモリを含む。いくつかの実施形態では、メモリ320は、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又はその他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含む。メモリ320は、1つ以上の処理ユニット302から遠隔に位置する1つ以上の記憶デバイスを任意選択的に含む。メモリ320は、非一時的コンピュータ可読記憶媒体を含む。いくつかの実施形態では、メモリ320、又はメモリ320の非一時的コンピュータ可読記憶媒体は、任意選択のオペレーティングシステム330及びCGR提示モジュール340を含む、以下のプログラム、モジュール及びデータ構造、又はそれらのサブセットを記憶する。
オペレーティングシステム330は、様々な基本システムサービスを処理する命令、及びハードウェア依存タスクを実行する命令を含む。いくつかの実施形態では、CGR提示モジュール340は、1つ以上のCGRディスプレイ312を介してCGRコンテンツをユーザに提示するように構成される。その目的で、様々な実施形態では、CGR提示モジュール340は、データ取得ユニット342、CGR提示ユニット344、CGRマップ生成ユニット346、及びデータ送信ユニット348を含む。
いくつかの実施形態では、データ取得ユニット342は、少なくとも図1のコントローラ110からデータ(例えば、提示データ、相互作用データ、センサデータ、位置データなど)を取得するように構成される。その目的で、様々な実施形態では、データ取得ユニット342は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
いくつかの実施形態では、CGR提示ユニット344は、1つ以上のCGRディスプレイ312を介してCGRコンテンツを提示するように構成される。その目的で、様々な実施形態では、CGR提示ユニット344は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
いくつかの実施形態では、CGRマップ生成ユニット346は、メディアコンテンツデータに基づいて、CGRマップ(例えば、複合現実シーンの3Dマップ又はコンピュータ生成オブジェクトを配置することができる物理的環境のマップ)を生成するように構成される。その目的で、様々な実施形態では、CGRマップ生成ユニット346は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
いくつかの実施形態では、データ送信ユニット348は、少なくともコントローラ110、及び任意選択的に入力デバイス125、出力デバイス155、センサ190、及び/又は周辺デバイス195のうちの1つ以上にデータ(例えば、提示データ、位置データなど)を伝送するように構成される。その目的で、様々な実施形態では、データ送信ユニット348は、そのための命令及び/又は論理、並びにそのためのヒューリスティックス及びメタデータを含む。
データ取得ユニット342は、CGR提示ユニット344、CGRマップ生成ユニット346、及びデータ送信ユニット348は、単一のデバイス(例えば、図1の表示生成コンポーネント120)上に存在するものとして示されているが、他の実施形態では、データ取得ユニット342、CGR提示ユニット344、CGRマップ生成ユニット346、及びデータ送信ユニット348の任意の組み合わせが、別個のコンピューティングデバイス内に配置されてもよいことを理解されたい。
更に、図3は、本明細書に記載される実施形態の構造概略とは対照的に、特定の実装形態に存在し得る様々な特徴の機能を説明することをより意図している。当業者によって認識されるように、別々に示された事項を組み合わせることができ、また、一部の事項は分離することができる。例えば、図3に別々に示すいくつかの機能モジュールは、単一のモジュール内に実現することができ、単一の機能ブロックの様々な機能は、様々な実施形態では1つ以上の機能ブロックによって実行することができる。モジュールの実際の数、並びに特定の機能の分割及びそれらの間にどのように機能が割り当てられるかは、実装形態によって異なり、いくつかの実施形態では、特定の実装形態のために選択されたハードウェア、ソフトウェア、及び/又はファームウェアの特定の組み合わせに部分的に依存する。
図4は、ハンドトラッキングデバイス140の例示的な実施形態の概略図である。いくつかの実施形態では、ハンドトラッキングデバイス140(図1)は、ハンドトラッキングユニット244(図2)によって制御されて、ユーザの手の1つ以上の部分の位置、及び/又は図1のシーン105に対する(例えば、ユーザを取り囲む物理的環境の部分に対する、表示生成コンポーネント120に対する、又はユーザの部分(例えば、ユーザの顔、目、若しくは頭部)に対する、及び/又はユーザの手に対して定義された座標系に対するユーザの手の1つ以上の部分の移動を追跡する。いくつかの実施形態では、ハンドトラッキングデバイス140は、表示生成コンポーネント120の一部である(例えば、ヘッドマウントデバイスに埋め込まれる、又はヘッドマウントデバイスに取り付けられる)。いくつかの実施形態では、ハンドトラッキングデバイス140は、表示生成コンポーネント120とは別個である(例えば、別個のハウジング内に位置する、又は別個の物理的支持構造に取り付けられる)。
いくつかの実施形態では、ハンドトラッキングデバイス140は、人間のユーザの少なくとも手406を含む三次元シーン情報をキャプチャする画像センサ404(例えば、1つ以上のIRカメラ、3Dカメラ、深度カメラ、及び/又はカラーカメラなど)を含む。画像センサ404は、指及びそれらのそれぞれの位置を区別するのを可能にするのに十分な解像度で手画像をキャプチャする。画像センサ404は、典型的には、ユーザの身体の他の部分の画像、又は身体の全ての画像をキャプチャし、ズーム機能又は高倍率を有する専用センサのいずれかを有して、所望の解像度で手の画像をキャプチャすることができる。いくつかの実施形態では、画像センサ404はまた、手406の2Dカラービデオ画像及びシーンの他の要素をキャプチャする。いくつかの実施形態では、画像センサ404は、シーン105の物理的環境をキャプチャする他の画像センサと併せて使用される、又はシーン105の物理的環境をキャプチャする画像センサとして機能する。いくつかの実施形態では、画像センサ404は、画像センサ又はその一部の視野が使用されて、画像センサによってキャプチャされた手の移動がコントローラ110への入力として処理される相互作用空間を定義するように、ユーザ又はユーザの環境に対して位置決めされる。
いくつかの実施形態では、画像センサ404は、3Dマップデータ(及び場合によってはカラー画像データも)を含むフレームのシーケンスをコントローラ110に出力し、これにより、マップデータから高レベル情報を抽出する。この高レベル情報は、典型的には、アプリケーションプログラムインタフェース(API)を介して、コントローラ上で実行されるアプリケーションに提供され、それに応じて表示生成コンポーネント120を駆動する。例えば、ユーザは、手406を移動させ、手の姿勢を変更することによって、コントローラ110上で動作するソフトウェアと相互作用することができる。
いくつかの実施形態では、画像センサ404は、手406を含むシーン上にスポットパターンを投影し、投影されたパターンの画像をキャプチャする。いくつかの実施形態では、コントローラ110は、パターンのスポットの横方向シフトに基づいて、三角測量によって(ユーザの手の表面上の点を含む)シーン内の点の3D座標を計算する。このアプローチは、ユーザが任意の種類のビーコン、センサ、又は他のマーカを保持又は着用する必要がないという点で有利である。これは、画像センサ404からの特定の距離で、所定の基準面に対するシーン内の点の深度座標を与える。本開示では、画像センサ404は、シーン内の点の深度座標が画像センサによって測定されたz成分に対応するように、直交する一連のx、y、z軸を定義すると想定される。代替的に、画像センサ404(例えば、ハンドトラッキングデバイス)は、単一又は複数のカメラ又は他のタイプのセンサに基づいて、立体撮像又は飛行時間測定などの他の3Dマッピング方法を使用することができる。
いくつかの実施形態では、ハンドトラッキングデバイス140は、ユーザが手(例えば、手全体又は1本以上の指)を移動させている間、ユーザの手を含む深度マップの時間シーケンスをキャプチャし処理する。画像センサ404及び/又はコントローラ110内のプロセッサ上で動作するソフトウェアは、3Dマップデータを処理して、これらの深度マップ内の手のパッチ記述子を抽出する。ソフトウェアは、各フレームにおける手の姿勢を推定するために、以前の学習プロセスに基づいて、これらの記述子をデータベース408に記憶されたパッチ記述子と照合する。姿勢は、典型的には、ユーザの手関節及び指先の3D位置を含む。
ソフトウェアはまた、ジェスチャを識別するために、シーケンス内の複数のフレームにわたって手及び/又は指の軌道を解析することができる。本明細書に記載される姿勢推定機能は、運動追跡機能とインターリーブされてもよく、それにより、パッチベースの姿勢推定が2つ(又はそれ以上)のフレーム毎に1回のみ実行される一方、追跡は残りのフレームにわたって発生する姿勢の変化を発見するために使用される。姿勢、運動、及びジェスチャ情報は、上述のAPIを介して、コントローラ110上で実行されるアプリケーションプログラムに提供される。このプログラムは、例えば、姿勢及び/又はジェスチャ情報に応答して、表示生成コンポーネント120上に提示された画像を移動させ修正する、又は他の機能を実行することができる。
いくつかの実施形態では、ソフトウェアは、例えばネットワーク上で、コントローラ110に電子形態でダウンロードされてもよい、又はその代わりに、光学、磁気、若しくは電子メモリ媒体などの、実体的非一時的媒体に提供されてもよい。いくつかの実施形態では、データベース408は、同様に、コントローラ110に関連付けられたメモリに記憶される。代替的又は追加的に、コンピュータの記載された機能の一部又は全ては、カスタム又は半カスタム集積回路又はプログラム可能なデジタル信号プロセッサ(DSP)などの専用のハードウェアに実装されてもよい。コントローラ110は、例として、画像センサ404とは別個のユニットとして図4に示されているが、コントローラの処理機能の一部又は全部は、好適なマイクロプロセッサ及びソフトウェアによって、又は画像センサ404(例えば、ハンドトラッキングデバイス)のハウジング内の専用回路によって、又は他の方法で画像センサ404に関連付けることができる。いくつかの実施形態では、これらの処理機能のうちの少なくともいくつかは、(例えば、テレビセット、ハンドヘルドデバイス、又はヘッドマウントデバイスにおいて)表示生成コンポーネント120と統合された好適なプロセッサによって、又はゲームコンソール又はメディアプレーヤなどの任意の他の適切なコンピュータ化されたデバイスを用いて実行されてもよい。画像センサ404の感知機能は、同様に、センサ出力によって制御されるコンピュータ又は他のコンピュータ化された装置に統合することができる。
図4は、いくつかの実施形態による、画像センサ404によってキャプチャされた深度マップ410の概略図を更に含む。深度マップは、上述したように、それぞれの深度値を有するピクセルのマトリックスを含む。手406に対応するピクセル412は、このマップで背景及び手首からセグメント化されている。深度マップ410内の各ピクセルの輝度は、深度値、即ち、画像センサ404からの測定されたz距離に反比例し、深度が上昇するにつれて階調が濃くなる。コントローラ110は、人間の手の特徴を有する画像の成分(即ち、隣接ピクセル群)を識別及びセグメント化するために、これらの深度値を処理する。これらの特性は、例えば、深度マップのシーケンスの全体サイズ、形状、フレームからフレームへの運動を含むことができる。
図4はまた、いくつかの実施形態による、コントローラ110が手406の深度マップ410から最終的に抽出する手骨格414を概略的に示す。図4では、手の骨格414は、元の深度マップからセグメント化された手の背景416に重畳される。いくつかの実施形態では、手(例えば、指関節、指先、掌の中心、手首に接続する手の終端など)、及び任意選択的に手に接続された手首又は腕上の主要な特徴点が、手の骨格414上で識別され配置される。いくつかの実施形態では、複数の画像フレーム上にわたるこれらの主要な特徴点の位置及び移動がコントローラ110によって使用されて、いくつかの実施形態により、手によって実行される手ジェスチャ又は手の現在の状態を判定する。
図5は、アイトラッキングデバイス130(図1)の例示的な実施形態を示す。いくつかの実施形態では、アイトラッキングデバイス130は、アイトラッキングユニット243(図2)によって制御されて、シーン105に対する、又は表示生成コンポーネント120を介して表示されるCGRコンテンツに対するユーザの視線の位置及び動きを追跡する。いくつかの実施形態では、アイトラッキングデバイス130は、表示生成コンポーネント120と統合される。例えば、いくつかの実施形態では、表示生成コンポーネント120がヘッドセット、ヘルメット、ゴーグル、又は眼鏡などのヘッドマウントデバイス、又はウェアラブルフレームに配置されたハンドヘルドデバイスである場合、ヘッドマウントデバイスは、ユーザによる視聴のためのCGRコンテンツを生成するコンポーネント及びCGRコンテンツに対するユーザの視線を追跡するためのコンポーネントの両方を含む。いくつかの実施形態では、アイトラッキングデバイス130は、表示生成コンポーネント120とは別個である。例えば、表示生成コンポーネントがハンドヘルドデバイス又はCGRチャンバである場合、アイトラッキングデバイス130は、任意選択的に、ハンドヘルドデバイス又はCGRチャンバとは別個のデバイスである。いくつかの実施形態では、アイトラッキングデバイス130は、ヘッドマウントデバイス又はヘッドマウントデバイスの一部である。いくつかの実施形態では、ヘッドマウントアイトラッキングデバイス130は、任意選択的に、頭部に装着されている表示生成コンポーネント又は頭部に装着されていない表示生成コンポーネントと共に使用される。いくつかの実施形態では、アイトラッキングデバイス130は、ヘッドマウントデバイスではなく、任意選択的に、ヘッドマウント表示生成コンポーネントと組み合わせて使用される。いくつかの実施形態では、アイトラッキングデバイス130は、ヘッドマウントデバイスではなく、任意選択的に、非ヘッドマウント表示生成コンポーネントの一部である。
いくつかの実施形態では、表示生成コンポーネント120は、ユーザの目の前に左及び右の画像を含むフレームを表示して、3D仮想ビューをユーザに提供するディスプレイ機構(例えば、左右の目近傍ディスプレイパネル)を使用する。例えば、ヘッドマウント表示生成コンポーネントは、ディスプレイとユーザの目との間に位置する左右の光学レンズ(本明細書では接眼レンズと称される)を含んでもよい。いくつかの実施形態では、表示生成コンポーネントは、表示のためにユーザの環境のビデオをキャプチャする1つ以上の外部ビデオカメラを含んでもよい、又はそれに結合されてもよい。いくつかの実施形態では、ヘッドマウント表示生成コンポーネントは、ユーザが物理的環境を直接視認し、透明又は半透明ディスプレイ上に仮想オブジェクトを表示することができる透明又は半透明のディスプレイを有してもよい。いくつかの実施形態では、表示生成コンポーネントは、仮想オブジェクトを物理的環境に投影する。仮想オブジェクトは、例えば、物理的表面上に、又はホログラフとして投影され、それによって、個人は、システムを使用して、物理的環境の上に重ねられた仮想オブジェクトを観察することができる。そのような場合、左右の目のための別個のディスプレイパネル及び画像フレームが必要とされない場合がある。
図5に示すように、いくつかの実施形態では、アイトラッキングデバイス130(例えば、視線トラッキングデバイス)は、少なくとも1つのアイトラッキングカメラ(例えば、赤外線(IR)カメラ又は近IR(NIR)カメラ)、並びに光(例えば、IR光又はNIR光)をユーザの目に向けて発する照明源(例えば、LEDのアレイ若しくはリングなどのIR光源又はNIR光源)を含む。アイトラッキングカメラは、ユーザの目に向けられて、光源からの反射IR又はNIR光を目から直接受信してもよく、又は代替的に、ユーザの目と、視覚的光が通過することを可能にしながら目からアイトラッキングカメラにIR又はNIR光を反射させるディスプレイパネルとの間に配置される「ホット」ミラーに向けられてもよい。アイトラッキングデバイス130は、任意選択的に、ユーザの目の画像を(例えば、60~120フレーム/秒(fps)でキャプチャされるビデオストリームとして)キャプチャし、画像を解析して、視線追跡情報を生成し、視線追跡情報をコントローラ110に通信する。いくつかの実施形態では、ユーザの両目は、それぞれのアイトラッキングカメラ及び照明源によって別々に追跡される。いくつかの実施形態では、ユーザの片目のみが、対応するアイトラッキングカメラ及び照明源によって追跡される。
いくつかの実施形態では、アイトラッキングデバイス130は、デバイス固有の較正プロセスを使用して較正されて、特定の動作環境100用のアイトラッキングデバイスのパラメータ、例えば、LED、カメラ、ホットミラー(存在する場合)、接眼レンズ、及びディスプレイスクリーンの3D幾何学的関係及びパラメータを判定する。デバイス固有の較正プロセスは、AR/VR機器のエンドユーザへの配送前に、工場又は別の施設で実行されてもよい。デバイス固有の較正プロセスは、自動較正プロセスであってもよく、又は手動較正プロセスであってもよい。ユーザ固有の較正プロセスは、特定のユーザの目パラメータ、例えば、瞳孔位置、中心視覚位置、光軸、視軸、目の間隔などの推定を含んでもよい。いくつかの実施形態によれば、いったんアイトラッキングデバイス130についてデバイス固有及びユーザ固有のパラメータが判定されると、アイトラッキングカメラによってキャプチャされた画像は、グリント支援方法を使用して処理され、ディスプレイに対するユーザの現在の視軸及び視点を判定することができる。
図5に示すように、アイトラッキングデバイス130(例えば、130A又は130B)は、接眼レンズ(単数又は複数)520と、アイトラッキングが行われるユーザの顔の側に配置された少なくとも1つのアイトラッキングカメラ540(例えば、赤外線(IR)又は近IR(NIR)カメラ)と光(例えば、IR又はNIR光)をユーザの目(単数又は複数)592に向かって発する照明源530(例えば、NIR発光ダイオード(LED)のアレイ若しくはリングなどのIR又はNIR光源)とを含む視線追跡システムと、を含む。アイトラッキングカメラ540は、ユーザの目(単数又は複数)592とディスプレイ510(例えば、ヘッドマウントディスプレイの左若しくは右側のディスプレイパネル、又はハンドヘルドデバイスのディスプレイ、プロジェクタなど)との間に位置し、(例えば、図5の上部に示されるように)可視光を透過させながら、目(単数又は複数)592からのIR又はNIR光を反射するミラー550に向けられてもよく、あるいは、(例えば、図5の下部に示されるように)反射されたユーザの目(単数又は複数)592からのIR又はNIR光を受け取るようにユーザの目(単数又は複数)592に向けられてもよい。
いくつかの実施形態では、コントローラ110は、AR又はVRフレーム562(例えば、左及び右のディスプレイパネルの左及び右のフレーム)をレンダリングし、フレーム562をディスプレイ510に提供する。コントローラ110は、様々な目的のために、例えば、表示のためにフレーム562を処理する際に、アイトラッキングカメラ540からの視線追跡入力542を使用する。コントローラ110は、任意選択的に、グリント支援方法又は他の適切な方法を使用して、アイトラッキングカメラ540から得られた視線追跡入力542に基づいて、ディスプレイ510上のユーザの視点を推定する。視線追跡入力542から推定された視点は、任意選択的に、ユーザが現在見ている方向を判定するために使用される。
以下、ユーザの現在の視線方向のいくつかの可能な使用事例について説明するが、これは限定することを意図するものではない。例示的な使用例として、コントローラ110は、判定されたユーザの視線方向に基づいて、仮想コンテンツを異なってレンダリングすることができる。例えば、コントローラ110は、周辺領域においてよりもユーザの現在の視線方向から判定された中心視覚領域において、より高い解像度で仮想コンテンツを生成してもよい。別の例として、コントローラは、ユーザの現在の視線方向に少なくとも部分的に基づいて、ビュー内の仮想コンテンツを位置決め又は移動させてもよい。別の例として、コントローラは、ユーザの現在の視線方向に少なくとも部分的に基づいて、ビュー内に特定の仮想コンテンツを表示してもよい。ARアプリケーションにおける別の例示的な使用事例として、コントローラ110は、CGR体験の物理的環境をキャプチャして、判定された方向に焦点を合わせるように外部カメラを方向付けることができる。次いで、外部カメラの自動焦点機構は、ユーザが現在ディスプレイ510上で見ている環境内のオブジェクト又は表面に焦点を合わせることができる。別の例示的な使用事例として、接眼レンズ520は集束可能なレンズであってもよく、視線追跡情報がコントローラによって使用されて、ユーザが現在見ている仮想オブジェクトが、ユーザの目592の収束に一致するために適切な両目連動を有するように接眼レンズ520の焦点を調整する。コントローラ110は、視線追跡情報を活用して、ユーザが見ている近接オブジェクトが正しい距離で現れるように接眼レンズ520を方向付けて焦点を調整することができる。
いくつかの実施形態では、アイトラッキングデバイスは、ウェアラブルハウジングに取り付けられた、ディスプレイ(例えば、ディスプレイ510)、2つの接眼レンズ(例えば、接眼レンズ(単数又は複数)520)、アイトラッキングカメラ(例えば、アイトラッキングカメラ(単数又は複数)540)、及び光源(例えば、光源530(例えば、IR LED又はNIR LED))を含むヘッドマウントデバイスの一部である。光源は、ユーザの目(単数又は複数)592に向かって光(例えば、IR光又はNIR光)を発する。いくつかの実施形態では、光源は、図5に示されるように、各レンズの周りにリング又は円状に配置されてもよい。いくつかの実施形態では、8つの光源530(例えば、LED)が、一例として各レンズ520の周りに配置される。しかしながら、より多くの又はより少ない光源530が使用されてもよく、光源530の他の配置及び位置が用いられてもよい。
いくつかの実施形態では、ディスプレイ510は、可視光範囲内の光を発し、IR又はNIR範囲内の光を発さないため、視線追跡システムにノイズを導入しない。アイトラッキングカメラ(単数又は複数)540の位置及び角度は、例として与えられ、限定することを意図するものではないことに留意されたい。いくつかの実施形態では、単一のアイトラッキングカメラ540がユーザの顔の各側に位置してもよい。いくつかの実施形態では、2つ以上のNIRカメラ540をユーザの顔の各側に使用することができる。いくつかの実施形態では、より広い視野(FOV)を有するカメラ540と狭いFOVを有するカメラ540が、ユーザの顔の各側に使用されてもよい。いくつかの実施形態では、1つの波長(例えば、850nm)で動作するカメラ540と異なる波長(例えば、940nm)で動作するカメラ540とが、ユーザの顔の各側に使用されてもよい。
図5に示すような視線トラッキングシステムの実施形態は、例えば、コンピュータ生成現実、仮想現実、及び/又は複合現実アプリケーションに使用されて、コンピュータ生成現実、仮想現実、拡張現実、及び/又は拡張仮想の体験をユーザに提供することができる。
図6は、いくつかの実施形態による、グリント支援視線追跡パイプラインを示す。いくつかの実施形態では、視線トラッキングパイプラインは、グリント支援視線トラッキングシステム(例えば、図1及び図5に示されるようなアイトラッキングデバイス130)によって実現される。グリント支援視線追跡システムは、追跡状態を維持することができる。当初、追跡状態はオフ又は「いいえ」である。追跡状態にあるとき、グリント支援視線追跡システムは、現フレームを解析する際に前のフレームからの先行情報を使用して、現フレーム内の瞳孔輪郭及びグリントを追跡する。追跡状態にない場合、グリント支援視線追跡システムは、現フレーム内の瞳孔及びグリントを検出しようとし、それに成功した場合、追跡状態を「はい」に初期化し、追跡状態で次のフレームに続く。
図6に示すように、視線追跡カメラは、ユーザの左目及び右目の左右の画像をキャプチャすることができる。次いで、キャプチャされた画像は、610で開始される処理のために視線追跡パイプラインに入力される。要素600に戻る矢印によって示されるように、視線追跡システムは、例えば、毎秒60~120フレームの速度で、ユーザの目の画像をキャプチャし続けることができる。いくつかの実施形態では、キャプチャされた画像の各セットが、処理のためにパイプラインに入力されてもよい。しかしながら、いくつかの実施形態、又はいくつかの条件下では、全てのキャプチャされたフレームがパイプラインによって処理されるわけではない。
610で、現在のキャプチャされた画像について、追跡状態がはいである場合、この方法は要素640に進む。610で、追跡状態がいいえである場合、620に示されるように、画像が解析されて、画像内のユーザの瞳孔及びグリントを検出する。630で、瞳孔とグリントが正常に検出される場合、方法は要素640に進む。正常に検出されない場合、方法は要素610に戻り、ユーザの目の次の画像を処理する。
640で、要素610から進む場合、前のフレームからの先行情報に部分的に基づいて、現フレームが解析されて、瞳孔及びグリントを追跡する。640で、要素630から進む場合、現フレーム内の検出された瞳孔及びグリントに基づいて、追跡状態が初期化される。要素640での処理の結果は、追跡又は検出の結果が信頼できることを確認するためにチェックされる。例えば、結果は、瞳孔及び視線推定を実行するための十分な数のグリントが現フレームで正常に追跡又は検出されるかどうかを判定するためにチェックすることができる。650で、結果が信頼できない場合、要素660で、追跡状態は、いいえに設定され、方法は要素610に戻り、ユーザの目の次の画像を処理する。650で、結果が信頼できる場合、方法は要素670に進む。670で、追跡状態は、はいに設定され(まだ、はいではない場合)、瞳孔及びグリント情報が要素680に渡されて、ユーザの視点を推定する。
図6は、特定の実施で使用され得るアイトラッキング技術の一例として機能することを意図している。当業者によって認識されるように、現在存在するか、又は将来開発される他のアイトラッキング技術は、様々な実施形態によるCGR体験をユーザに提供するためにコンピュータシステム101において、本明細書に記載されるグリント支援アイトラッキング技術の代わりに、又はそれと組み合わせて使用することができる。
本開示では、コンピュータシステムとの相互作用に関して、様々な入力方法が説明される。一例が1つの入力デバイス又は入力方法を使用して提供され、別の例が別の入力デバイス又は入力方法を使用して提供される場合、各例は、別の例に関して記載された入力デバイス又は入力方法と互換性があり得、任意選択的にそれらを利用することを理解されたい。同様に、様々な出力方法が、コンピュータシステムとの相互作用に関して説明される。一例が1つの出力デバイス又は出力方法を使用して提供され、別の例が別の出力デバイス又は出力方法を使用して提供される場合、各例は、別の例に関して記載された出力デバイス又は出力方法と互換性があり得、任意選択的にそれらを利用することを理解されたい。同様に、様々な方法が、コンピュータシステムを介した仮想環境又は複合現実環境との相互作用に関して説明される。実施例が仮想環境との相互作用を使用して提供され、別の例が複合現実環境を使用して提供される場合、各例は、別の例に関して説明された方法と互換性があり得、任意選択的にそれらを利用することを理解されたい。したがって、本開示は、各例示的な実施形態の説明における実施形態の全ての特徴を網羅的に列挙することなく、複数の例の特徴の組み合わせである実施形態を開示する。
ユーザインタフェース及び関連するプロセス
ここで、ユーザインタフェース(「UI」)の実施形態、及び、表示生成コンポーネント及び(任意選択的に)1つ以上のセンサ(例えば、カメラ)と通信する、ポータブル多機能デバイス又はヘッドマウントデバイスなどのコンピュータシステムにおいて実行され得る関連プロセスに注目する。
本開示は、CGR環境内のアバターキャラクタとしてユーザを表すための例示的なプロセスに関する。図7A~図7C、図8A~図8C、及び図9は、現実環境におけるユーザの物理的身体の姿勢の確実性に基づいて外観が変動する1つ以上の表示特性を有する仮想アバターキャラクタとして、ユーザがCGR環境内に表される例を示す。図10A~図10B、図11A~図11B、及び図12は、異なる外観テンプレートに基づく外観を有する仮想アバターキャラクタとして、ユーザがCGR環境内に表される例を示す。本明細書に開示されるプロセスは、上述のように、コンピュータシステム(例えば、図1のコンピュータシステム101)を使用して実装される。
図7Aは、両腕を上げて、ユーザの左手がカップ702を保持している状態で現実環境700に立っているユーザ701を示している。いくつかの実施形態では、現実環境700は、ユーザ701の1つ以上の部分の姿勢を判定するために使用することができるデータ(例えば、画像データ及び/又は深度データ)をキャプチャするためのカメラ705-1、705-2、705-3、及び705-4を含む、モーションキャプチャスタジオである。これは、本明細書では、ユーザ701の部分の姿勢のキャプチャと称されることがある。ユーザ701の部分の姿勢は、例えば、アニメーション化された動画セットなど、CGR環境内の対応するアバターキャラクタ(例えば、図7Cのアバター721を参照)の姿勢を決定するために使用される。
図7Aに示すように、カメラ705-1は、ユーザ701の部分701-1に位置決めされた視野707-1を有する。部分701-1は、ユーザの首、襟部領域、並びにユーザの右目、右耳、鼻及び口を含むユーザの顔及び頭部の一部を含むが、ユーザの頭部の上部、ユーザの左目、及びユーザの左耳を除外する、ユーザの顔及び頭部の一部を含むユーザ701の身体的特徴を含む。カメラの視野707-1内に部分701-1があるので、カメラ705-1は、ユーザ701の部分701-1を含む身体的特徴の姿勢をキャプチャする。
カメラ705-2は、ユーザ701の部分701-2に位置決めされた視野707-2を有する。部分701-2は、ユーザの右手、右手首、及びユーザの右手首に隣接するユーザの前腕部の遠位部分を含む、ユーザ701の身体的特徴を含む。カメラの視野707-2内に部分701-2があるので、カメラ705-2は、ユーザ701の部分701-2を含む身体的特徴の姿勢をキャプチャする。
カメラ705-3は、ユーザ701の部分701-3に位置決めされた視野707-3を有する。部分701-3は、ユーザの左足及び右足、並びに左右の下肢領域を含む、ユーザ701の身体的特徴を含む。カメラの視野707-3内に部分701-3があるので、カメラ705-3は、ユーザ701の部分701-3を含む身体的特徴の姿勢をキャプチャする。
カメラ705-4は、ユーザ701の部分701-4に位置決めされた視野707-4を有する。部分701-4は、ユーザの左手、左手首、及び手首に隣接するユーザの左前腕部の遠位部分を含む、ユーザ701の身体的特徴を含む。カメラの視野707-4内に部分701-4があるので、カメラ705-4は、一般に、ユーザ701の部分701-4を含む身体的特徴の姿勢をキャプチャする。しかしながら、以下でより詳細に論じるように、ユーザの左手の手のひらなど、部分701-4のいくつかの領域は、カップ702の後ろに位置決めされるので、カメラ705-4から隠れており、したがって視野707-4内にないと見なされる。したがって、これらの領域(例えば、ユーザの左手の手のひら)の姿勢は、カメラ705-4によってキャプチャされない。
カメラの視野内にないユーザ701の部分は、カメラによってキャプチャされないと見なされる。例えば、ユーザの頭部の上部、ユーザの左目、ユーザの上腕部、肘、及びユーザの前腕部の近位端、ユーザの上肢部分及び膝、並びにユーザの胴体は全て、カメラ705-1~705-4の視野の外側にあり、したがって、ユーザ701のこれらの部分の位置又は姿勢は、カメラによってキャプチャされないと見なされる。
カメラ705-1~705-4は、ユーザ701の部分の姿勢をキャプチャするためのデバイス、すなわち、ユーザ701の部分の姿勢を判定するために使用することができるデータをキャプチャするためのデバイスの非限定的な例として記載されている。したがって、他のセンサ及び/又はデバイスを、カメラ705-1~705-4のうちのいずれかに加えて、又はその代わりに使用して、ユーザの部分の姿勢をキャプチャすることができる。例えば、そのようなセンサとして、近接センサ、加速度計、GPSセンサ、位置センサ、深度センサ、熱センサ、画像センサ、他の種類のセンサ、又はそれらの任意の組み合わせを挙げることができる。いくつかの実施形態では、これらの様々なセンサは、ユーザ701上の異なる場所に配置されたウェアラブル位置センサなどのスタンドアロン構成要素であり得る。いくつかの実施形態では、様々なセンサは、例えば、ユーザのスマートフォン、ユーザのタブレット、ユーザのコンピュータ、ユーザ701が着用するモーションキャプチャスーツ、ユーザ701が着用するヘッドセット(例えば、HMD)、スマートウォッチ(例えば、図8Aのウォッチ810)、ユーザ701が着用する又は他の方法でユーザ701に関連付けられる別のデバイス、あるいはそれらの任意の組み合わせなど、ユーザ701に関連付けられる1つ以上のデバイスに統合することができる。いくつかの実施形態では、様々なセンサは、例えば、別のユーザのスマートフォン、別のユーザのタブレット、別のユーザのコンピュータ、別のユーザが着用するヘッドセットデバイス、別のユーザが着用する又は他の方法で別のユーザに関連付けられる別のデバイス、あるいはそれらの任意の組み合わせなど、他のユーザ(ユーザ701以外のユーザ)に関連付けられる1つ以上の異なるデバイスに統合することができる。カメラ705-1~705-4は、図7Aにおいて、スタンドアロンデバイスとして示されている。しかしながら、カメラのうちの1つ以上は、例えば、上述のセンサ及びデバイスのうちのいずれかなど、他の構成要素と統合されてもよい。例えば、カメラのうちの1つは、現実環境700に存在する第2のユーザのヘッドセットデバイスと統合されているカメラであってもよい。いくつかの実施形態では、データは、(例えば、深度センサを使用する)顔スキャン、ユーザ701の写真及びビデオなどのメディアアイテム、あるいは他の関連するソースから提供され得る。例えば、ユーザが顔認識を使用してパーソナル通信デバイス(例えば、スマートフォン、スマートウォッチ、又はHMD)をロック解除するときに、ユーザの顔に関連付けられた深度データを収集することができる。いくつかの実施形態では、ユーザの部分の複製を生成するデバイスは、パーソナル通信デバイスとは別個であり、顔スキャンからのデータは、(例えば、デバイス間でデータを共有すべきか否かをユーザが決定するための1つ以上の選択肢を用いて安全かつ秘密裡に)ユーザの部分の複製を構築する際に使用するために、ユーザの部分の複製を生成するデバイスに提供される。いくつかの実施形態では、ユーザの部分の複製を生成するデバイスは、パーソナル通信デバイスと同じであり、顔スキャンからのデータは、ユーザの部分の複製を構築する際に使用するために、ユーザの部分の複製を生成するデバイスに提供される(例えば、顔のスキャンは、ユーザの部分の複製も生成するHMDをロック解除するために使用される)。このデータは、例えば、ユーザ701の部分の姿勢の理解を向上させるために、又はセンサ(例えば、カメラ705-1~705-4)を使用して検出されないユーザ701の部分の複製の視覚的忠実性(以下で論じられる)を増大させるために使用することができる。いくつかの実施形態では、このデータを使用して、デバイスをロック解除するときに視認可能であるユーザの部分への変化(例えば、新しいヘアスタイル、新しい眼鏡など)を検出し、それにより、ユーザの外観の変化に基づいてユーザの部分の表現を更新することができる。
本明細書に記載の実施形態では、ユーザの部分の姿勢を判定するために使用することができるデータをキャプチャするための上述したセンサ及びデバイスは、一般に、センサと称される。いくつかの実施形態では、センサを使用して生成されたデータは、センサデータと称される。いくつかの実施形態では、「姿勢データ」という用語は、ユーザの少なくとも一部分の姿勢を判定するために(例えば、コンピュータシステムが)使用することができるデータを指すために使用される。いくつかの実施形態では、姿勢データは、センサデータを含むことができる。
本明細書に開示される実施形態では、コンピュータシステムは、センサデータを使用して、ユーザ701の部分の姿勢を判定し、次いで、アバターがユーザ701と同じ姿勢を有する状態で、CGR環境内にアバターとしてユーザを表す。しかしながら、場合によっては、センサデータは、ユーザの身体のいくつかの部分の姿勢を判定するには十分ではない場合がある。例えば、ユーザの部分がセンサの視野の外側にあることがあり、センサデータが、破損している、不確定である、又は不完全であることがあり、あるいは、ユーザが、センサが姿勢をキャプチャするには速く動き過ぎていることがある。いずれの場合にも、コンピュータシステムは、以下でより詳細に論じられる様々なデータセットに基づいて、ユーザのこれらの部分の姿勢の判定(例えば、推定)を行う。これらの姿勢は推定なので、コンピュータシステムは、ユーザの身体の一部分、特にセンサデータによって十分には表されない部分について判定された各それぞれの姿勢の確実性(判定された姿勢の正確性の信頼性レベル)の推定値を計算する。言い換えれば、コンピュータシステムは、ユーザ701の対応する部分の推定される姿勢が、現実環境700におけるユーザの部分の実際の姿勢の正確な表現であるという確実性の推定値を計算する。確実性の推定は、本明細書では、確実性(又は不確実性)と、あるいはユーザの身体の一部分の推定される姿勢の確実性の量(又はユーザの身体の一部分の推定される姿勢の不確実性の量)と称されることがある。例えば、図7Aでは、コンピュータシステムは、ユーザの左肘が横に上がり、90°の角度に曲げられていることを、75%の確実性で計算する。判定された姿勢の確実性(信頼性)は、図7Bに関して以下で論じられる確実性マップ710を使用して表される。いくつかの実施形態では、確実性マップ710はまた、コンピュータシステムにより判定されたユーザ701の姿勢を表す。判定された姿勢は、図7Cに関して以下で論じられるアバター721を使用して表される。
ここで図7Bを参照すると、確実性マップ710は、ユーザ701の部分に関する、判定された姿勢のコンピュータシステムの確実性の視覚的表現である。言い換えれば、確実性マップ710は、コンピュータシステムを使用して判定されるユーザの身体の異なる部分の位置の確実性の計算された推定(例えば、ユーザの身体の一部分の推定される位置が正確である確率)を表す。確実性マップ710は、頭部、首、肩、胴体、腕、手、脚、及び足などの基本的な人間の特徴を表す人体のテンプレートである。いくつかの実施形態では、確実性マップ710は、指、肘、膝、目、鼻、耳、及び口などの様々なサブ特徴を表す。確実性マップ710の人間の特徴は、ユーザ701の身体的特徴に対応する。ハッチング715は、確実性マップ710のそれぞれのハッチング部分に対応するユーザ701の身体的部分の判定された位置又は姿勢の不確実性の程度又は量を表すために使用されている。
本明細書で提供される実施形態では、ユーザ701のそれぞれの部分及び確実性マップ710は、本明細書に開示される様々な実施形態を説明するのに十分な粒度レベルで描写される。しかしながら、これらの特徴は、本開示の趣旨及び範囲から逸脱することなく、ユーザの姿勢及び部分、並びに姿勢の対応する確実性を更に説明する更なる(又はより低い)粒度で描写することができる。例えば、カメラ705-4を使用してキャプチャされた部分701-4のユーザ特徴は、ユーザの指の先端を含むが、カップ702の後ろに位置決めされた指の根元は含まないものとして更に描写することができる。同様に、ユーザの右手の裏側は、カメラ705-2から離れる方向を向いており、したがって、カメラ705-2を使用して取得された画像データは、ユーザの右手の裏側を直接的にはキャプチャしないので、視野707-2の外側にあると見なすことができる。別の例として、確実性マップ710は、ユーザの左目に関する1つの確実性の量と、ユーザの左耳又はユーザの頭部に関する上部の異なる確実性の量を表すことができる。しかしながら、簡潔にするために、これらの粒度の変動の詳細は、いかなる場合も説明しない。
図7Bに示される実施形態では、確実性マップ710は、ユーザ701のそれぞれの部分701-1、701-2、701-3、及び701-4に対応する部分710-1、710-2、710-3、及び710-4を含む。したがって、部分710-1は、ユーザの首、襟部領域、並びにユーザの右目、右耳、鼻及び口を含むユーザの顔及び頭部の一部を含むが、ユーザの頭部の上部、ユーザの左目、及びユーザの左耳を含まない、ユーザの顔及び頭部の一部、の姿勢の確実性を表す。部分710-2は、ユーザの右手、右手首、及びユーザの右手首に隣接するユーザの前腕部の遠位部分の姿勢の確実性を表す。部分710-3は、ユーザの左足及び右足、並びに左右の下肢領域の姿勢の確実性を表す。部分710-4は、ユーザの左手、左手首、及び手首に隣接するユーザの左前腕部の遠位部分の姿勢の確実性を表す。図7Bに示される実施形態では、コンピュータシステムが、高程度の確実性でユーザ701の部分701-1、701-2、及び701-3の身体的特徴の姿勢を判定する(例えば、身体的特徴は、カメラの視野内にあり、移動しないと判定される)ので、部分710-1、710-2、及び710-3は、ハッチングなしで示されている。しかしながら、部分710-4は、確実性マップ710の、ユーザの左手の手のひらに対応する部分上に、わずかなハッチング715-1で示されている。これは、コンピュータシステムが、図7Aではカップ702により隠れているユーザの左手の手のひらの位置において、より低い確実性を有するからである。この例では、ユーザの左手がカップにより隠れているので、コンピュータシステムは、ユーザの左手の姿勢の確実性は低くなる。しかしながら、コンピュータシステムが、判定された姿勢において一定量の不確実性を有し得る他の理由がある。例えば、ユーザの部分が、センサがその姿勢を検出するには速く動き過ぎている、現実環境内の照明が不十分であることがある(例えば、ユーザが背面照明されている)、などである。いくつかの実施形態では、コンピュータシステムが姿勢を判定することができる確実性は、例えば、センサのフレームレート、センサの解像度、及び/又は周囲光レベルなどに基づく。
確実性マップ710は、図7Aのカメラの視野内でキャプチャされたユーザ701の部分、並びにカメラの視野内でキャプチャされないユーザ701の部分について判定された姿勢の確実性を表す。したがって、確実性マップ710は、例えば、ユーザの頭部の上部、ユーザの左目、ユーザの左耳、ユーザの上腕部、肘、及びユーザの前腕部の近位端、ユーザの上肢部分、ユーザの上肢部分及び膝、ユーザの胴体、並びに前述のように、ユーザの左の手のひらなど、カメラ705-1~705-4の視野の外側にあるユーザ701の部分の判定された姿勢の推定におけるコンピュータシステムの確実性を更に表す。ユーザ701のこれらの部分は、視野707-1~707-4の外側にあるので、これらの部分の判定された姿勢の確実性は低くなる。したがって、確実性マップ710の対応する領域は、ハッチング715で示されており、ユーザ701のこれらの部分の各々について判定された姿勢に関連付けられた不確実性の推定される量を示す。
図7Bに示される実施形態では、ハッチング715の密度は、ハッチングが表す不確実性に正比例する(又はハッチングが表す確実性に反比例する)。したがって、より高い密度のハッチング715は、ユーザ701の対応する身体的部分の姿勢のより高い不確実性(又はより低い確実性)を示し、より低い密度のハッチング715は、ユーザ701の対応する身体的部分の姿勢のより低い不確実性(又はより高い確実性)を示す。ハッチングなしは、ユーザ701の対応する身体的部分の姿勢の高程度の確実性(例えば、90%、95%、又は99%の確実性)を示す。例えば、図7Bに示される実施形態では、ユーザの頭部の上部、ユーザの左目、及びユーザの左耳に対応する確実性マップ710の部分710-5上にハッチング715が位置し、部分710-1上にはハッチングがない。したがって、確実性マップ710は、図7Bでは、ユーザ701の部分701-1の姿勢の確実性は高いが、ユーザの頭部の上部、ユーザの左目、及びユーザの左耳の姿勢の確実性は低いことを示している。ユーザがヘッドマウントデバイスを着用している(例えば、ユーザの部分の表現が、ヘッドマウントデバイスに一体化によって生成されている、又はヘッドマウントデバイスに統合された若しくは取り付けられたセンサに少なくとも部分的に基づいて生成されている)状況では、ヘッドマウントデバイスによって覆われているユーザの頭部及び顔の外観は不確実であるが、ユーザの頭部及び/又は顔の見えている部分のセンサ測定値に基づいて推定することができる。
上述のように、ユーザ701のいくつかの部分は、カメラの視野の外側にあるが、コンピュータシステムは、変動する程度の確実性を有するユーザ701のこれらの部分の大まかな姿勢を判定することができる。これらの変動する程度の確実性は、異なる密度のハッチング715を示すことによって確実性マップ710で表される。例えば、コンピュータシステムは、ユーザの上方頭部領域(ユーザの頭部の上部、ユーザの左目、及びユーザの左耳)の姿勢について高い確実性を推定する。したがって、この領域は、図7Bには、ハッチ線間の間隔の量が大きいことによって示されるようにハッチング密度が低い部分710-5で示されている。別の例として、コンピュータシステムは、ユーザの右肘の姿勢について、ユーザの右肩の姿勢について推定された確実性よりも低い確実性を推定する。したがって、ハッチ線間の間隔の量が減少していることによって示されるように、右肘部分710-6は、右肩部分710-7よりも高いハッチング密度で示されている。最終的に、コンピュータシステムは、ユーザの胴体(例えば、ウエスト)の姿勢の確実性の最小量を推定する。したがって、胴体部分710-8は、最も高いハッチング密度で示されている。
いくつかの実施形態では、ユーザ701のそれぞれの部分の姿勢は、様々なソースからのデータを使用して判定又は推測することができる。例えば、図7Bに示される実施形態では、コンピュータシステムは、カメラ705-2の視野707-2内でユーザのこの部分を検出したことに基づいて、高い確実性でユーザの部分701-2の姿勢を判定するが、ユーザの右肘の姿勢は、カメラ705-2からのセンサデータのみに基づいても分からない。しかしながら、ユーザの右肘の姿勢を含む視野707-2内又はその外側のユーザ701の部分の姿勢を判定するために、カメラ705-2からのセンサデータを補足することができる。例えば、コンピュータシステムがユーザの首及び襟部領域(部分710-1を参照)の姿勢の高い確実性を有する場合、コンピュータシステムは、人体の既知の運動学に基づいて、この例では特に、襟部領域に対する人の右肩の位置の知識に基づいて、ユーザの右肩(部分710-7を参照)の姿勢を(例えば、首及び襟部領域よりも低いが)高い確実性で推測することができ、いくつかの実施形態ではアルゴリズムを使用して、ユーザの右腕の上方部分及びユーザの右肘などのユーザの部分の姿勢を近似するために外挿又は内挿することができる。例えば、右肘部分710-6の潜在的な姿勢は、右肩部分710-7の位置から推測される右上腕部分710-9の位置に依存する。更に、右上腕部分710-9の位置は、カメラ705-1~705-4のうちのいずれかの視野の外側にあるユーザの肩関節の関節運動に依存する。したがって、右上腕部分710-9の姿勢の不確実性は、右肩部分710-7の姿勢よりも高い。同様に、右肘部分710-6の姿勢は、右上腕部分710-9の推定される姿勢及びユーザの右前腕部の近位端の推定される姿勢に依存する。しかしながら、ユーザの右前腕部の近位端は、カメラの視野内にないが、ユーザの右前腕の遠位領域は、視野707-2内にある。したがって、部分710-2に示されるように、ユーザの右前腕部の遠位領域の姿勢が高い確実性で分かる。したがって、コンピュータシステムは、この情報を使用して、ユーザの右前腕部の近位端及び右肘部分710-6の姿勢を推定する。また、この情報を使用して、右上腕部分710-9の推定される姿勢を更に通知することもできる。
いくつかの実施形態では、コンピュータシステムは、補間関数を使用して、例えば、既知の姿勢を有する2つ以上の身体的特徴の間に位置するユーザの部分の姿勢を推定する。例えば、図7Bの部分710-4を参照すると、コンピュータシステムは、ユーザの左手の指の姿勢、及びユーザの左前腕部の遠位端の姿勢を高い確実性で判定するが、これは、ユーザ701のこれらの身体的特徴が視野707-4内に位置するからである。しかしながら、ユーザの左の手のひらの姿勢は、カップ702により隠れているので、高い確実性では分からない。いくつかの実施形態では、コンピュータシステムは、補間アルゴリズムを使用して、ユーザの指及び左前腕部の既知の姿勢に基づいてユーザの左手の手のひらの姿勢を判定する。左の手のひらに近くにある又は隣接しているユーザの身体的特徴のうちの多くについて姿勢が分かるので、コンピュータシステムは、比較的まばらなハッチング715-1によって示されるように、比較的高い確実性で左の手のひらの姿勢を判定する。
上述のように、コンピュータシステムは、ユーザ701の姿勢(いくつかの実施形態では、ユーザ701の部分の姿勢の集合)を判定し、判定された姿勢(単数又は複数)を有するユーザ701を表すアバターをCGR環境に表示する。図7Cは、コンピュータシステムがCGR環境内に720にアバター721を表示する例を示している。図7Cに示される実施形態では、アバター721は、表示生成コンポーネント730を使用して表示される仮想ブロックキャラクタとして提示される。表示生成コンポーネント730は、上述の表示生成コンポーネント120と同様である。
アバター721は、部分721-2、721-3、及び721-4を含む。部分721-2は、図7Bの確実性マップ710の部分701-2及び図7Aのユーザ701の部分710-2に対応する。部分721-3は、図7Bの確実性マップ710の部分701-3及び図7Aのユーザ701の部分710-3に対応する。部分721-4は、図7Bの確実性マップ710の部分701-4及び図7Aのユーザ701の部分710-4に対応する。したがって、部分721-2は、ユーザの右手、右手首、及びユーザの右手首に隣接するユーザの前腕部の遠位部分の姿勢を表す。部分721-3は、ユーザの左足及び右足、並びに左右の下肢領域の姿勢を表す。部分721-4は、ユーザの左手、左手首、及び手首に隣接するユーザの左前腕部の遠位部分の姿勢を表す。アバター721の他の部分は、ユーザ701の対応する部分の姿勢を表し、以下でより詳細に論じられる。例えば、アバター721の首及び襟部領域727は、以下で論じるように、ユーザ701の部分701-1に対応する。
コンピュータシステムは、コンピュータシステムにより判定された姿勢の推定される確実性に応じて変動する視覚的表示特性(本明細書では可変表示特性と称される)を有するアバター721を表示する。一般に、可変表示特性は、アバター721の閲覧者に、ユーザ701の姿勢に関する表示されたアバターの視覚的忠実性について、又はユーザ701の対応する身体的部分(単数又は複数)の姿勢(単数又は複数)に関するアバターの表示された部分の視覚的忠実性について通知する。言い換えれば、可変表示特性は、閲覧者に、アバター721の部分のレンダリングされた姿勢又は外観が現実環境700内のユーザ701の対応する身体的部分の実際の姿勢又は外観に適合する推定される量又は程度について通知し、これは、いくつかの実施形態では、ユーザ701の部分のそれぞれの姿勢の推定される確実性に基づいて判定される。いくつかの実施形態では、コンピュータシステムが、可変表示特性なしで、あるいは、ユーザ701の対応する部分の姿勢の高い確実性(例えば、75%、80%、90%、95%の確実性)を示す値を有する可変表示特性を用いてアバター特徴をレンダリングする場合、アバター特徴は、高い忠実性でレンダリングされると言われる。いくつかの実施形態では、コンピュータシステムが、ユーザ701の対応する部分の姿勢の高い確実性よりも低いことを示す値を有する可変表示特性を用いて、アバター特徴をレンダリングする場合、アバター特徴は、低い忠実性でレンダリングされると言われる。
いくつかの実施形態では、コンピュータシステムは、それぞれのアバター特徴の可変表示特性の値を調整して、それぞれのアバター特徴によって表されるユーザの部分の姿勢の推定される確実性の変化を伝達する。例えば、ユーザが移動すると、コンピュータシステムは(例えば、連続的に、継続的に、自動的に)、ユーザの姿勢を判定し、それに応じて、ユーザのそれぞれの部分の姿勢の推定される確実性を更新する。コンピュータシステムはまた、ユーザの新しい判定された姿勢に一致するようにアバターの姿勢を修正することによってアバターの外観を変更し、ユーザ701の部分の対応する姿勢の確実性の変化に基づいて、アバター特徴の可変表示特性の値を修正する。
可変表示特性は、以下の実施例で論じられるように、アバター721の外観(例えば、デフォルトの外観)を改善する、低下させる、又は修正するために使用される1つ以上の視覚的特徴又はパラメータを含むことができる。
いくつかの実施形態では、可変表示特性は、アバター特徴の表示色を含む。例えば、アバターは、緑のデフォルトの色を有することができ、ユーザの部分の姿勢の確実性が変化するにつれて、アバター特徴によって表されるユーザ701の部分の姿勢のコンピュータシステムの確実性が低いアバターの部分を表すために、より寒色を使用することができ、アバター特徴によって表されるユーザの部分の姿勢のコンピュータシステムの確実性が高いアバターの部分を表すために、より暖色を使用することができる。例えば、ユーザがカメラの視野から外に手を移動させると、コンピュータシステムは、高程度の確実性を有する姿勢(例えば、位置、向き)(視野内にあるときのユーザの手の姿勢と一致した姿勢)から、ユーザの手の更新された姿勢の判定に基づいて、より低い確実性の姿勢に移動させることによって、アバターの手の外観を修正する。アバターの手が高程度の確実性を有する姿勢から非常にわずかな確実性の姿勢に移動すると、アバターの手は、緑色から青色に移行する。同様に、アバターの手が高程度の確実性を有する姿勢から確実性がわずかに低い姿勢に移動するにつれて、アバターの手は、緑色から赤色に移行する。別の例として、手が、非常にわずかな確実性の姿勢から比較的高い確実性の姿勢に移動するにつれて、手は、確実性の量が高くなる姿勢に手が移動するにつれて、寒色から暖色に移る様々な中間色で、青色から赤色に移行する。更に別の例として、手が、比較的高い確実性の姿勢から非常にわずかな確実性の姿勢に移動するにつれて、手は、確実性の量が減少する姿勢に手が移動するにつれて、暖色から寒色に移る様々な中間色で、赤色から青色に移行する。いくつかの実施形態では、可変表示特性の値の変化は、アバター特徴が不明の姿勢(低い確実性の姿勢)からより高い確実性の姿勢(例えば、既知の姿勢)に移動するときにはより高い速度で起こり、アバター特徴が、より高い確実性の姿勢(例えば、既知の姿勢)からより低い確実性の姿勢に移動するときにはより遅い速度で起こる。例えば、可変表示特性の例が色である状態で継続するために、アバターの手は、赤色(又はデフォルトの緑色)から青色に変化するよりも高い速度で青色から赤色に変化する。いくつかの実施形態では、色の変化は、ユーザがアバターの手に対応する手を移動させている速度よりも高い速度で起こる。
いくつかの実施形態では、可変表示特性は、アバター特徴の表示された部分に適用されるぼかし効果の表示量を含む。逆に、可変表示特性は、アバター特徴の表示された部分に適用される鮮明度の表示量であってもよい。例えば、アバターは、デフォルトの鮮明度を有することができ、ユーザの部分の姿勢の確実性が変化するにつれて、アバター特徴によって表されるユーザ701の部分の姿勢のコンピュータシステムの確実性が低いアバターの部分を表すために、増大したぼかし度(又は、減少した鮮明度)を使用することができ、アバター特徴によって表されるユーザの部分の姿勢のコンピュータシステムの確実性が高いアバターの部分を表すために、減少したぼかし度(又は、増大した鮮明度)を使用することができる。
いくつかの実施形態では、可変表示特性は、アバター特徴の表示された部分の不透明度を含む。逆に、可変表示特性は、アバター特徴の表示された部分の透明度であってもよい。例えば、アバターは、デフォルトの不透明度を有することができ、ユーザの部分の姿勢の確実性が変化するにつれて、アバター特徴によって表されるユーザ701の部分の姿勢のコンピュータシステムの確実性が低いアバターの部分を表すために、減少した不透明度(又は、増大した透明度)を使用することができ、アバター特徴によって表されるユーザの部分の姿勢のコンピュータシステムの確実性が高いアバターの部分を表すために、増大した不透明度(又は、減少した透明度)を使用することができる。
いくつかの実施形態では、可変表示特性は、アバター特徴の表示された部分を形成する粒子の密度及び/又はサイズを含む。例えば、アバターは、デフォルトの粒子サイズ及び粒子間隔を有することができ、ユーザの部分の姿勢の確実性が変化するにつれて、対応するアバター特徴の粒子サイズ及び/又は粒子間隔が、確実性が増大したか減少したかに基づいて変化する。例えば、いくつかの実施形態では、アバター特徴によって表されるユーザ701の部分の姿勢のコンピュータシステムの確実性が低いアバターの部分を表すために、粒子間隔が増大し(粒子密度が減少し)、アバター特徴によって表されるユーザの部分の姿勢のコンピュータシステムの確実性が高いアバターの部分を表すために、粒子間隔が減少する(粒子密度が増大する)。別の例として、いくつかの実施形態では、アバター特徴によって表されるユーザ701の部分の姿勢のコンピュータシステムの確実性が低いアバターの部分を表すために、粒子サイズが増大し(より画素化された外観及び/又はより低い解像度の外観を生成し)、アバター特徴によって表されるユーザの部分の姿勢のコンピュータシステムの確実性が高いアバターの部分を表すために、粒子サイズが減少する(より画素化されていない外観及び/又はより高い解像度の外観を生成する)。
いくつかの実施形態では、可変表示特性は、スケール(例えば、フィッシュスケール)、パターン、シェーディング、及びスモーク効果などの1つ以上の視覚効果を含む。実施例は、以下でより詳細に論じられる。いくつかの実施形態では、例えば、可変表示特性の量(例えば、不透明度、粒子サイズ、色、拡散など)をアバターのそれぞれの部分の移行領域に沿って変動させることによって、より高い確実性の領域とより低い確実性の領域との間で滑らかに移行するアバターを表示することができる。例えば、可変表示特性が粒子密度であり、ユーザの前腕部の確実性が、ユーザの肘において高い確実性から低い確実性に移行する場合、高い確実性から低い確実性への移行は、肘における粒子密度が高いアバターを表示し、前腕部に沿って低い粒子密度に滑らかに(漸進的に)移行することによって表すことができる。
可変表示特性は、ハッチング725によって図7Cに表され、上述の可変表示特性のうちの1つ以上を含むことができる。ハッチング725の密度は、ユーザ701の対応する身体的部分の実際の姿勢の推定される確実性に基づいて、アバター721の部分がレンダリングされる忠実性を示す変動量で使用される。したがって、より高いハッチング密度は、コンピュータシステムがより低い確実性で姿勢を判定したことを示す値を可変表示特性が有するアバター721の部分を示すために使用され、より低いハッチング密度は、コンピュータシステムがより高い確実性で姿勢を判定したことを示す値を可変表示特性が示すアバター721の部分を示すために使用される。いくつかの実施形態では、アバターの部分の姿勢の確実性が高程度の確実性(例えば、90%、95%、又は99%の確実性)である場合、ハッチングは使用されない。
図7Cに示される実施形態では、アバター721は、ユーザ701と同様の姿勢を有するブロックキャラクタとしてレンダリングされる。上述のように、コンピュータシステムは、ユーザ701の姿勢を表すセンサデータに基づいてアバター721の姿勢を決定する。姿勢が分かっているユーザ701の部分について、コンピュータシステムは、アバター721の対応する部分を可変表示特性(例えば、解像度、透明度、粒子サイズ、粒子密度、色)のデフォルト値又はベースライン値を用いて、あるいは、ハッチングなしで示されるように、可変表示特性なし(例えば、パターン又は視覚効果なし)で、レンダリングする。姿勢が所定の確実性閾値を下回る(例えば、姿勢の確実性が100%、95%、90%、80%未満である)ユーザ701の部分について、コンピュータシステムは、アバター721の対応する部分をデフォルト又はベースラインから変動する可変表示特性の値を用いて、あるいは、ハッチング725によって示されるように、可変表示特性が高い確実性を示すためには表示されない場合には可変表示特性を用いてレンダリングする。
図7Cに示される実施形態では、ハッチング725の密度は、一般に、図7Bのハッチング715の密度に対応する。したがって、アバター721の可変表示特性の値は、一般に、図7Bのハッチング715によって表される確実性(又は不確実性)に対応する。例えば、アバター721の部分721-4は、図7Bの確実性マップ710の部分710-4及び図7Aのユーザ701の部分701-4に対応する。したがって、部分721-4は、可変表示特性の値がユーザの左の手のひらの姿勢の比較的高い確実性に対応するが、他の部分ほど高くないことを示す、アバターの左の手のひら上のハッチング725-1(図7Bのハッチング715-1と同様)で示され、指及びアバターの左前腕部の遠位端にはハッチングが存在しない(ユーザ701の対応する部分の姿勢の高い確実性を示す)。
いくつかの実施形態では、アバターの部分の姿勢の推定される確実性が比較的高い(例えば、99%、95%、又は90%)場合、ハッチングは使用されない。例えば、アバター721の部分721-2及び部分721-3は、ハッチングなしで示されている。ユーザ701の部分701-2の姿勢は高い確実性で判定されるので、図7Cでは、アバター721の部分721-2はハッチングなしでレンダリングされる。同様に、ユーザ701の部分701-3の姿勢は高い確実性で判定されるので、図7Cでは、アバター721の部分721-3はハッチングなしでレンダリングされる。
いくつかの実施形態では、ユーザ701から導出されない1つ以上のアバター特徴を有するアバター721の部分が表示される。例えば、ユーザ701のヘアスタイルではなく、アバターキャラクタの視覚的属性に基づいて決定されるアバターの髪726を有するアバター721がレンダリングされる。別の例として、部分721-2のアバターの手及び指は、人間の手又は人間の指ではないブロック状の手及びブロック状の指であるが、図7Aのユーザの手及び指と同じ姿勢を有する。同様に、ユーザ701の鼻とは異なるが同じ姿勢を有する鼻722を有するアバター721がレンダリングされる。いくつかの実施形態では、異なるアバター特徴は、異なる人間の特徴(例えば、異なる人間の鼻)、人間でないキャラクタからの特徴(例えば、犬の鼻)、又は抽象的な形状(例えば、三角形の鼻)であってもよい。いくつかの実施形態では、異なるアバター特徴は、機械学習アルゴリズムを使用して生成することができる。いくつかの実施形態では、コンピュータシステムは、ユーザの対応する部分に関する高い視覚的忠実性でアバター特徴をレンダリングするために実行される追加の動作を回避することによって、計算リソースを節約するために、ユーザから導出されない特徴を使用してアバター特徴をレンダリングする。
いくつかの実施形態では、ユーザ701から導出される1つ以上のアバター特徴を有するアバター721の部分が表示される。例えば、図7Cでは、図7Aのユーザ701の口と同じである口724を有するアバター721がレンダリングされる。別の例では、図7Aのユーザ701の右目と同じである右目723-1を有するアバター721がレンダリングされる。いくつかの実施形態では、そのようなアバター特徴は、仮想アバターキャラクタの三次元モデル上にマッピングされたユーザ701の対応する部分のビデオフィードを使用してレンダリングされる。例えば、アバターの口724及び右目723-1は、カメラ705-1の視野707-1内でキャプチャされたユーザの口及び右目のビデオフィードに基づいており、(例えば、ビデオパススルーを介して)アバター721上に表示される。
いくつかの実施形態では、コンピュータシステムは、コンピュータシステムがユーザの対応する部分の姿勢の高い確実性よりも低いと推定する場合であっても、それらの姿勢の高い(又は増大した)確実性を有するものとして、アバター721のいくつかの特徴をレンダリングする。例えば、図7Cでは、左目723-2は、ハッチングなしで示されており、ユーザの左目の姿勢の高い確実性を示している。しかしながら、図7Aでは、ユーザの左目は、視野707-1の外側にあり、図7Bでは、ユーザの左目を含む部分710-5の確実性は、ユーザの左目の姿勢の高い確実性よりも低いことをハッチング715で示されている。推定される確実性が高よりも低い場合であっても、高い忠実性でいくつかの特徴をレンダリングすることは、場合によっては、アバター721を使用した通信の品質を改善するために行われる。例えば、目、手、及び口などのいくつかの特徴は、通信目的にとって重要であると見なされることがあり、可変表示特性を用いてそのような特徴をレンダリングすることは、閲覧してアバター721と通信しているユーザを散漫にすることがある。同様に、ユーザ701の口が、ユーザの唇、歯、舌などについて十分な姿勢データをキャプチャするには速く動き過ぎている場合、ぼかし、透明度、色、増大した粒子間隔、又は増大した粒子サイズを示す可変表示特性を用いて口をレンダリングすることは散漫にするので、このコンピュータシステムは、口の姿勢の高い確実性を有するものとして、アバターの口724をレンダリングすることができる。
いくつかの実施形態では、ユーザの部分の姿勢又は外観の確実性が低い場合(例えば、99%、95%、90%の確実性)、対応するアバター特徴の姿勢及び/又は外観は、異なるソースからのデータを使用して強化され得る。例えば、ユーザの左目の姿勢は不明であるが、例えば、既知であるユーザの右目のミラーリングされた姿勢に基づいて左目723-2の姿勢を判定する機械学習アルゴリズムを使用して、アバターの左目723-2の姿勢を推定することができる。更に、ユーザの左目が視野707-1の外側にあるので、カメラ705-1からのセンサデータは、ユーザの左目の外観(例えば、目の色)を判定するためのデータを含まなくてもよい。いくつかの実施形態では、コンピュータシステムは、他のソースからのデータを使用して、アバター特徴の外観を決定するために必要なデータを取得することができる。例えば、コンピュータシステムは、ユーザの目の外観を判定するためのデータを取得するために、パーソナル通信デバイス(例えば、スマートフォン、スマートウォッチ、又はHMD)に関連付けられたユーザ701の以前にキャプチャされた顔スキャンデータ、写真、及びビデオにアクセスすることができる。いくつかの実施形態では、他のアバター特徴は、コンピュータシステムによってアクセスされる追加のデータに基づいて更新され得る。例えば、最近の写真が異なるヘアスタイルのユーザ701を示す場合、アバターの髪は、ユーザ701の最近の写真のヘアスタイルと一致するように変更され得る。いくつかの実施形態では、ユーザの部分の複製を生成するデバイスは、パーソナル通信デバイスとは別個であり、顔スキャン、写真及び/又はビデオからのデータは、(例えば、デバイス間でデータを共有すべきか否かをユーザが決定するための1つ以上の選択肢を用いて、安全かつ秘密裡に)ユーザの部分の複製を構築する際に使用するために、ユーザの部分の複製を生成するデバイスに提供される。いくつかの実施形態では、ユーザの部分の複製を生成するデバイスは、パーソナル通信デバイスと同じであり、顔スキャン、写真及び/又はビデオからのデータは、ユーザの部分の複製を構築する際に使用するために、ユーザの部分の複製を生成するデバイスに提供される(例えば、顔のスキャンは、ユーザの部分の複製を生成するHMDをロック解除するために使用される)。
いくつかの実施形態では、コンピュータシステムは、対応するユーザ特徴の姿勢が分かる(姿勢が高い確実性で判定される)場合であっても、ユーザの対応する部分に関して低い視覚的忠実性を有するものとしてアバター721の部分を表示する。例えば、図7Cでは、アバター721の首及び襟部領域727は、それぞれのアバター特徴が可変表示特性を用いて表示されることを示すハッチング725で示されている。しかしながら、アバター721の首及び襟部領域は、視野707-1内にあるユーザ701の部分701-1に対応し、かつ、確実性マップ710において高い確実性を有するものとして示される部分710-1に対応する。いくつかの実施形態では、コンピュータシステムは、別の方法で、対応するアバター特徴の高忠実性表現をレンダリングするために使用される計算リソースを節約するために、ユーザ701の対応する部分の姿勢が分かっている(又は高い確実性で判定される)場合であっても、低い視覚的忠実性を有するものとしてアバター特徴を表示する。いくつかの実施形態では、コンピュータシステムは、ユーザ特徴が通信目的にとってあまり重要でないと見なされるときに、この動作を実行する。いくつかの実施形態では、アバター特徴の低忠実性バージョンは、機械学習アルゴリズムを使用して生成される。
いくつかの実施形態では、可変表示特性の値の変化は、ユーザ701の対応する部分の移動速度に基づく。例えば、ユーザが手を速く移動するほど、手の姿勢の確実性が低くなり、可変表示特性は手の姿勢のより低い確実性に相応する値で提示される。逆に、ユーザが手を遅く移動するほど、手の姿勢の確実性が高く、可変表示特性は手の姿勢のより高い確実性に相応する値で提示される。可変表示特性がぼかしである場合、例えば、ユーザが手をより速い速度で移動すると、アバターの手はより高いぼかし度でレンダリングされ、ユーザが手をより遅い速度で移動させるとより低いぼかし度でレンダリングされる。
いくつかの実施形態では、表示生成コンポーネント730は、CGR環境720及びコンピュータシステムのユーザのアバター725の表示を可能にする。いくつかの実施形態では、コンピュータシステムは、表示生成コンポーネント730を介して、CGR環境720内に、コンピュータシステムのユーザの外観の表現を含むプレビュー735を更に表示する。言い換えれば、プレビュー735は、コンピュータシステムのユーザに、CGR環境720内で、CGR環境720を閲覧している他のユーザにどのように見えるかを示す。図7Cに示される実施形態では、プレビュー735は、コンピュータシステムのユーザ(例えば、ユーザ701とは異なるユーザ)に、可変表示特性を有する女性のアバターキャラクタとして見えていることを示している。
いくつかの実施形態では、コンピュータシステムは、カメラ705-1~705-4以外の1つ以上のソースから収集されたデータを使用して確実性の推定値を計算する。例えば、これらの他のソースを使用して、カメラ705-1~705-4から収集されたセンサデータを補足する、又は場合によっては置換することができる。これらの他のソースは、上記のセンサのうちのいずれかなどの異なるセンサを含むことができる。例えば、ユーザ701は、ユーザの腕及び/又は他の身体部分のポジション、動き、又は場所を示すデータを提供するスマートウォッチ又は他のウェアラブルデバイスを着用することがある。別の例として、ユーザ701は、ユーザの位置、動き、姿勢を示すデータ、又は他のそのようなデータを提供するスマートフォンをポケットの中に持っていることがある。同様に、現実環境700内の別の人によって着用されたヘッドセットデバイスは、ユーザ701に関連付けられた姿勢、動き、位置、又は他の関連情報を示すデータを提供するカメラなどのセンサを含み得る。いくつかの実施形態では、データは、(例えば、深度センサを使用する)顔スキャン、ユーザ701の写真及びビデオなどのメディアアイテム、あるいは前述したような他の関連するソースから提供され得る。
図8A~図8Cは、カメラ705-1~705-4からのセンサデータが、ユーザのスマートウォッチからのデータで補足されている、図7Aと同様の実施形態を示す。図8Aでは、ユーザ701は、現在、右手が腰にあり、左手は左手首にスマートウォッチ810をして壁805にぴったりと付けている状態で位置決めされている。例えば、ユーザ701は、図7Aの姿勢から図8Aの姿勢に移動している。ユーザの右手、右手首、及び右前腕部は、現在、視野707-2には位置決めされていない。更に、ユーザの左手は、視野707-4内に留まっているが、ユーザの左の手首及び左前腕部は視野707-4の外側にある。
図8Bでは、確実性マップ710は、図8Aのユーザ701の新しい姿勢に基づいて更新されている。したがって、ユーザの右肘、右前腕部、及び右手の姿勢の不確実性を新しい位置に基づいて更新して、これらの領域について増大した密度のハッチング715を示す。具体的には、ユーザの右腕全体がカメラの視野のうちのいずれかの外側にあるので、ユーザ701のこれらの部分の姿勢の確実性は、図7Bの姿勢の確実性から減少する。したがって、確実性マップ710は、図8Bの確実性マップのこれらの部分の増大したハッチング密度を示す。ユーザの右腕の各サブ特徴の姿勢は、隣接するサブ特徴の位置に依存し、右腕のサブ特徴の全てがカメラ又は他のセンサの視野の外側にあるので、ハッチング密度は、右上腕部分811-1から始まって、右肘部分811-2まで、右前腕部分811-3まで、右手及び指811-4まで、連続する各サブ特徴で増大する。
ユーザの左前腕部が視野707-4の外側にある間、カメラ705-4のセンサデータは、ユーザの左の前腕部の姿勢データを提供するスマートウォッチ810のセンサデータによって補足されるので、コンピュータシステムは、ユーザの左前腕部の姿勢を高い確実性で依然として判定する。したがって、確実性マップ710は、左前腕部分811-5及び(視野707-4内にある)左手部分811-6を、高程度の確実性でそれぞれの姿勢で示す。
図8Cは、図8Aのユーザ701の更新された姿勢に基づく、CGR環境720内のアバター721の更新された姿勢を示す。図8Cでは、コンピュータシステムは、左腕821にハッチングがないことによって示されるように、アバターの左腕821を、高程度の確実性でユーザの左腕でレンダリングする。
いくつかの実施形態では、コンピュータシステムは、ユーザ701が相互作用しているオブジェクトの表現と共にアバター721をレンダリングする。例えば、ユーザがオブジェクトを保持している、壁にもたれている、椅子に座っている、又は他の場合にはオブジェクトと相互作用している場合、コンピュータシステムは、CGR環境720内に、オブジェクトの少なくとも一部分(又はその表現)をレンダリングすることができる。例えば、図8Cでは、コンピュータシステムは、アバターの左手に隣接して位置決めして示された壁レンダリング825を含んでいる。これは、ユーザ701が現実環境700内の表面に左手を置いた姿勢をしていることを閲覧者が理解できるように、ユーザの姿勢のコンテキストを提供する。いくつかの実施形態では、ユーザが相互作用しているオブジェクトは、仮想オブジェクトであってもよい。いくつかの実施形態では、ユーザが相互作用しているオブジェクトは、壁805などの物理的オブジェクトであってもよい。いくつかの実施形態では、オブジェクトのレンダリングされたバージョン(例えば、壁レンダリング825)は、仮想オブジェクトとしてレンダリングされても、又は現実のオブジェクトのビデオフィードとして表示されてもよい。
上述のように、コンピュータシステムは、ユーザ701の姿勢の検出された変化に応答して、アバター721の姿勢を更新し、これは、いくつかの実施形態では、姿勢変化に基づいて可変表示特性を更新することに関与する。いくつかの実施形態では、可変表示特性を更新することは、(ハッチング725の量又は密度を増大又は減少させることによって表される)可変表示特性の値を増加又は減少させることを含む。いくつかの実施形態では、可変表示特性を更新することは、(ハッチング725を導入又は除去することによって表される)可変表示特性を導入又は除去することを含む。いくつかの実施形態では、可変表示特性を更新することは、視覚効果を導入又は除去することを含む。例えば、図8Cでは、コンピュータシステムは、ユーザの右腕の姿勢の確実性の比較的低い確実性又は確実性の低減を示すために、スモーク効果830を有する右腕を用いてアバター721をレンダリングする。いくつかの実施形態では、視覚効果は、それぞれのアバター特徴上に表示されるフィッシュスケールなどの他の効果を含み得る。いくつかの実施形態では、視覚効果を表示することは、図8Cに示されるように、それぞれのアバター特徴の表示を表示された視覚効果と置換することを含む。いくつかの実施形態では、視覚効果を表示することは、視覚効果を用いてそれぞれのアバター特徴を表示することを含む。例えば、アバターの右腕は、腕のフィッシュスケールを用いて表示され得る。いくつかの実施形態では、複数の可変表示特性は、例えば、表示される視覚効果など、別の可変表示特性と組み合わせてもよい。例えば、腕の一部分に沿って姿勢の確実性が減少するにつれて、腕のスケールの密度が減少する。
図8Cに示される実施形態では、ユーザの右腕の姿勢はスモーク効果830によって表されており、これは、アバターの身体の側部に向かって下がっている姿勢を有するアバターの右腕の形状を大まかにとっている。アバターの腕の姿勢は、図8Aのユーザの右腕の実際の姿勢を正確には表していないが、コンピュータシステムは、ユーザの右腕が下がっており、ユーザの肩の上方にはなく、又は直接側部にはないことを正確に判定した。これは、コンピュータシステムが、カメラ705-1~705-4から取得されたセンサデータに基づいて、かつユーザの腕の先行姿勢及び動きに基づいて、ユーザの右腕の現在の姿勢を判定したからである。例えば、ユーザが図7Aの姿勢から図8Aの姿勢に腕を移動させると、ユーザの右腕は、視野707-2から移動するにつれて下向きに移動した。コンピュータシステムは、このデータを使用して、ユーザの右腕の姿勢が上げられていない、又は側部にはなく、したがって、以前よりも下方になければならないと判定する。しかしながら、コンピュータシステムは、ユーザの右腕の姿勢を正確に判定するのに十分なデータを有していない。したがって、コンピュータシステムは、図8Bの確実性マップ710で示されるように、ユーザの右腕の姿勢の低い確実性(信頼性)を示す。いくつかの実施形態では、ユーザ701の部分の姿勢の確実性が閾値を下回る場合、コンピュータシステムは、図8Cに示されるように、視覚効果を用いて対応するアバター特徴を表す。
図8Cでは、プレビュー735は、CGR環境720内で、コンピュータシステムのユーザの現在の姿勢が手を振っていることを示すように更新される。
いくつかの実施形態では、コンピュータシステムは、アバター721がどれくらい表示されるか(例えば、アバター721のどの部分又は特徴が表示されるか)をコンピュータシステムのユーザが選択することができる制御特徴を提供する。例えば、制御は、一端において、アバター721が、ユーザの対応する部分の姿勢の高い確実性をコンピュータシステムが有するアバター特徴のみを有し、他端では、アバター721が、ユーザ701の対応する部分の姿勢の確実性に関係なく、全てのアバター特徴を用いて表示される、スペクトルを提供する。
図7A~図7C及び図8A~図8Cに関する追加の説明は、以下の図9に関して記載された方法900を参照して以下に提供される。
図9は、いくつかの実施形態による、ユーザの身体の姿勢の確実性に基づいて外観が変動する表示特性を用いて仮想アバターキャラクタを提示する例示的な方法900のフローチャートである。いくつかの実施形態では、方法900は、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120)(例えば、図7C及び図8Cの表示生成コンポーネント730)(例えば、視覚的出力デバイス、3Dディスプレイ、透明ディスプレイ、プロジェクタ、ヘッドアップディスプレイ、ディスプレイコントローラ、タッチスクリーンなど)と通信するコンピュータシステム(例えば、図1のコンピュータシステム101)(例えば、スマートフォン、タブレットヘッドマウント型表示生成コンポーネント)において実行される。いくつかの実施形態では、方法900は、非一時的コンピュータ可読記憶媒体に記憶され、かつコンピュータシステム101の1つ以上のプロセッサ202(例えば、図1の制御ユニット110)などのコンピュータシステムの1つ以上のプロセッサによって実行される、命令によって統制される。方法900の一部の動作は、任意選択的に組み合わされ、及び/又は一部の動作の順序は、任意選択的に変更される。
方法900では、コンピュータシステム(例えば、101)は、ユーザの少なくとも第1の部分(例えば、701-1、701-2、701-3、701-4)(例えば、ユーザの1つ以上の身体的特徴(例えば、ユーザの身体的特徴(例えば、腕、脚、手、頭部、口などのマクロ特徴、及び/又は指、顔、唇、歯、若しくはそれぞれの身体的特徴の他の部分などのミクロ特徴)の姿勢(例えば、物理的位置、向き、ジェスチャ、動き、など)を表す姿勢データ(例えば、深度データ、画像データ、センサデータカメラ(例えば、705-1、705-2、705-3、705-4、705-5)からの画像データ))を受信する(902)。いくつかの実施形態では、姿勢データは、ユーザの部分の判定された姿勢が正確(例えば、現実環境内のユーザの部分の姿勢の正確な表現)であるという確実性(例えば、信頼性)の尺度を示すデータ(例えば、確実性値)を含む。いくつかの実施形態では、姿勢データは、センサデータ(例えば、カメラからの画像データ、加速度計からの移動データ、GPSセンサからの場所データ、近接センサからのデータ、ウェアラブルデバイス(例えば、ウォッチ810)からのデータ)を含む。いくつかの実施形態では、センサは、コンピュータシステムに接続又は統合することができる。いくつかの実施形態では、センサは、外部センサ(例えば、異なるコンピュータシステム(例えば、別のユーザの電子デバイス)のセンサ)であってもよい。
コンピュータシステム(例えば、101)は、表示生成コンポーネント(例えば、730)を介して、アバター(例えば、721)(例えば、仮想アバター、アバターの一部分)(例えば、ユーザの少なくとも一部分の仮想表現である)を(例えば、コンピュータ生成現実環境(例えば、720)に)を提示(例えば、表示、提示、投影)させ(904)、アバターは、ユーザの第1の部分(例えば、701-1、701-2、701-3、701-4)に(例えば、解剖学的に)対応し、かつ、(例えば、ユーザの部分の姿勢に関するそれぞれのアバター特徴の姿勢の推定/予測された視覚的忠実性、(例えば、ユーザの部分の姿勢の確実性に基づいて)変動可能であるアバター特徴のレンダリングの1つ以上の視覚的パラメータのセットを示す)ユーザの第1の部分の姿勢の確実性(例えば、710、715)を示す可変表示特性(例えば、725、830)を有する提示(例えば、表示)される、それぞれのアバター特徴(例えば、727、724、723-1、723-2、722、726、721-2、721-3、721-4)を含む。ユーザの第1の部分に対応し、かつ、ユーザの第1の部分の姿勢の確実性を示す可変表示特性を有する提示されるそれぞれのアバター特徴を含む、アバターを提示させることにより、それぞれのアバター特徴によって表されているユーザの部分の姿勢における信頼性を示すフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、それぞれのアバター特徴は、ユーザの対応する部分の上に重ね合わされる(又はその代わりに表示される)。いくつかの実施形態では、可変表示特性は、ユーザの部分の姿勢の確実性(例えば、信頼性)に基づいて変動する。いくつかの実施形態では、ユーザの部分の姿勢の確実性は、確実性値(例えば、ユーザの部分の判定された姿勢が、ユーザの部分の実際の(例えば、現実環境(例えば、700)における)姿勢の正確な表現であるという確実性(信頼性)を表す値)として表される。いくつかの実施形態では、確実性値は、ある範囲の値、例えば、0%~100%のパーセント範囲を使用して表され、0%は、それぞれのユーザ特徴(又はその一部分)の姿勢が正確であるという確実性がない(最小限である)ことを示し、100%は、それぞれのユーザ特徴の推定の確実性が、(例えば、例えばセンサ限界に起因して実際の姿勢が判定できない場合であっても)所定の閾値確実性(例えば、80%、90%、95%、又は99%)を上回ることを示す。いくつかの実施形態では、コンピュータシステム(例えば、101)(又は別の処理デバイス)が、それぞれのユーザ特徴の潜在的な位置又は姿勢を推量するのに十分な有用なデータを有さない場合、確実性は0%であり得る。例えば、それぞれのユーザ特徴は、画像センサ(例えば、705-1、705-2、705-3、705-4)の視野(例えば、707-1、707-2、707-3、707-4)内にないことがあり、それぞれのユーザ特徴は、いくつかの異なる位置又は姿勢のうちのいずれか1つと同程度に確からしい。あるいは、例えば、近接センサ(又はいくつかの他のセンサ)を使用して生成されたデータは、不確定である、又は他の場合にはそれぞれのユーザ特徴の姿勢を正確に推論するには不十分である。いくつかの実施形態では、コンピュータシステム(又は別の処理デバイス)が、姿勢データを使用してそれぞれのユーザ特徴を明確に識別することができ、姿勢データを使用してそれぞれのユーザ特徴の正しい位置を判定することができる場合、確実性は、高くなり得る(例えば、99%、95%、90%の確実性)。
いくつかの実施形態では、可変表示特性は、ユーザの部分の姿勢の確実性に直接的に相関する。例えば、それぞれのアバター特徴は、ユーザの部分の姿勢における第1の確実性(例えば、低い確実性)を(例えば、閲覧者に)伝達するために、第1の値(例えば、低値)を有する可変表示特性を用いてレンダリングされ得る。逆に、それぞれのアバター特徴は、ユーザの部分の姿勢におけるより高い確実性(例えば、80%、90%、95%、又は99%など、所定の確実性閾値を上回る確実性などの高い確実性)を伝達するために、第1の値よりも大きい第2の値(例えば、高値)を有する可変表示特性を用いてレンダリングされ得る。いくつかの実施形態では、可変表示特性は、ユーザの部分の姿勢の確実性(例えば、確実性値)に直接的には相関しない。例えば、ユーザの部分の外観が通信目的にとって重要である場合、対応するアバター特徴は、ユーザの部分の姿勢における確実性が低い場合であっても、高い確実性に対応する値を有する可変表示特性を用いてレンダリングされ得る。これは、例えば、それぞれのアバター特徴を、低い確実性に対応する値を有する可変表示特性を用いて表示することが(例えば、閲覧者の)散漫にする場合に行われ得る。例えば、アバターが、ユーザの頭部の上に表示された(例えば、重ね合わされた)アバターヘッドを含み、アバターヘッドが、ユーザの唇の姿勢を表すアバターリップ(例えば、724)を含む実施形態について考察する。コンピュータシステム(又は別の処理デバイス)は、ユーザの唇が移動する(例えば、唇が正確な検出には速く動き過ぎる、ユーザの唇が部分的に覆われているなど)際に唇の姿勢における低い確実性を判定するが、低い確実性又は高い(例えば最大の)確実性よりも低い確実性に対応する値を有する可変表示特性を用いてレンダリングされた唇を有するアバターを表示することは散漫にするので、対応するアバターリップは、高い(例えば最大の)確実性に対応する値を有する可変表示特性を用いてレンダリングすることができる。
いくつかの実施形態では、可変表示特性(例えば、725、830)は、ユーザの第1の部分の姿勢に関するそれぞれのアバター特徴(例えば、727、724、723-1、723-2、722、726、721-2、721-3、721-4)の推定された視覚的忠実性を示す。いくつかの実施形態では、視覚的忠実性は、ユーザの部分の姿勢に関する表示/レンダリングされたアバター(又はその一部分)の信憑性を表す。言い換えれば、視覚的忠実性は、表示/レンダリングされたアバター(又はその一部分)がユーザの対応する部分の実際の姿勢にどのくらい密接に適合すると考えられているかの尺度である。いくつかの実施形態では、可変表示特性の値の増大又は減少が、増大した視覚的忠実性を示すか、減少した視覚的忠実性を示すかどうかは、利用されている可変表示特性のタイプに依存する。例えば、可変表示特性がぼかし効果である場合、より大きな値の可変表示特性(より高いぼかし)は、減少した視覚的忠実性を伝達し、逆もまた同様である。逆に、可変表示特性が粒子密度である場合、より大きな値の可変表示特性(より大きな粒子密度)は、増大した視覚的忠実性を伝達し、逆もまた同様である。
方法900では、アバター(例えば、721)を提示することは、ユーザの第1の部分(例えば、701-1、701-2、701-3、701-4)の姿勢が第1の確実性値に関連付けられている(例えば、確実性値が第1の確実性値である)という判定に従って(例えば、姿勢データに基づいて)、コンピュータシステム(例えば、101)が、可変表示特性の第1の値を有するそれぞれのアバター特徴(例えば、727、724、723-1、723-2、722、726、721-2、721-3、721-4)を用いてアバター(例えば、721)を提示する(906)ことを含む(例えば、727は、図7Cでは、低密度のハッチング725を有する;721-3、721-2、723-1、723-2、722、及び/又は724は、図7Cでは、ハッチング725がない;部分721-4は、図7Cでは、左手に低いハッチング密度725-1を有する)(例えば、ユーザの部分の姿勢に関するそれぞれのアバター特徴の第1の推定された視覚的忠実性を示す第1の可変表示特性値(例えば、ぼかし度量、不透明度、色、減衰/密度、解像度、など)を有するそれぞれのアバター特徴が表示される)。ユーザの第1の部分の姿勢が第1の確実性値に関連付けられているという判定に従って、可変表示特性の第1の値を有するそれぞれのアバター特徴を用いてアバターを提示することにより、それぞれのアバター特徴によって表されているユーザの第1の部分の姿勢がユーザの第1の部分の実際の姿勢に対応する確実性を示すフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。いくつかの実施形態では、可変表示特性の第1の値を有するそれぞれのアバター特徴を用いてアバターを提示することは、ユーザの部分の姿勢と同じ姿勢を有するそれぞれのアバター特徴を提示することを含む。
方法900において、アバター(例えば、721)を提示することは、ユーザの第1の部分(例えば、701-1、701-2、701-3、701-4)の姿勢が第1の確実性値とは異なる(例えば、それよりも大きい)第2の確実性値に関連付けられるという判定に従って、コンピュータシステム(例えば、101)が、可変表示特性の第1の値とは異なる可変表示特性の第2の値を有するそれぞれのアバター特徴(例えば、727、724、723-1、723-2、722、726、721-2、721-3、721-4)を用いてアバターを提示すること(908)を含む(例えば、721-2は、図8Cでは、可変表示特性830を用いて表示される;アバターの左手は、図8Cでは、ハッチングがない;アバターの左肘は、図8Cでは、ほとんどハッチング725がない)(例えば、ユーザの部分の姿勢に関するそれぞれのアバター特徴の第2の推定された視覚的忠実性を示す第2の可変表示特性値(例えば、ぼかし度量、不透明度、色、減衰/密度、解像度など)を有するそれぞれのアバター特徴が表示され、第2の推定された視覚的忠実性は、第1の推定された視覚的忠実性とは異なる(例えば、第2の推定された視覚的忠実性は、第1の推定された視覚的忠実性よりも高い視覚的忠実性の推定値を示す))。ユーザの第1の部分の姿勢が第2の確実性に関連付けられているという判定に従って、可変表示特性の第1の値とは異なる可変表示特性の第2の値を有するそれぞれのアバター特徴を用いてアバターを提示することにより、それぞれのアバター特徴によって表されているユーザの第1の部分の姿勢がユーザの第1の部分の実際の姿勢に対応する異なる確実性を示すフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。いくつかの実施形態では、可変表示特性の第2の値を有するそれぞれのアバター特徴を用いてアバターを提示することは、ユーザの部分の姿勢と同じ姿勢を有するそれぞれのアバター特徴を提示することを含む。
いくつかの実施形態では、コンピュータシステム(例えば、101)は、ユーザ(例えば、701)の少なくとも第2の部分(例えば、701-2)(例えば、ユーザの第1の部分とは異なるユーザの部分)の姿勢を表す第2の姿勢データを受信し、表示生成コンポーネント(例えば、730)を介して、アバター(例えば、721)を提示させる(例えば、提示されたアバターを更新する)。アバターは、ユーザの第2の部分に対応し(例えば、ユーザの第2の部分はユーザの口であり、第2のアバター特徴は、ユーザの口の表現である)、かつ、ユーザの第2の部分の姿勢の確実性を示す第2の可変表示特性(例えば、第1の可変表示特性と同じ可変表示特性)(例えば、第1の可変表示特性とは異なる可変表示特性)を有する提示する、第2のアバター特徴(例えば、721-2)を含む(例えば、721-2は、701-2の姿勢の高い確実性を示すハッチング725なしで表示される)。ユーザの第2の部分に対応し、かつ、ユーザの第2の部分の姿勢の確実性を示す第2の可変表示特性を有する提示する、第2のアバター特徴を含むアバターを提示させることにより、第2のアバター特徴によって表されているユーザの第2の部分の姿勢における信頼性を示すフィードバックがユーザに提供され、更に、ユーザの異なる部分の姿勢における変動する信頼性レベルのフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、アバター(例えば、721)を提示することは、ユーザの第2の部分(例えば、701-2)の姿勢が第3の確実性値に関連付けられている(例えば、710-2は、図7Bではハッチング715がない)という判定に従って、第2の可変表示特性の第1の値を有する第2のアバター特徴を用いてアバターを提示すること(例えば、721-2は、図7Cではハッチング725がない)を含む。ユーザの第2の部分の姿勢が第3の確実性値に関連付けられているという判定に従って、第2の可変表示特性の第1の値を有する第2のアバター特徴を用いてアバターを提示することにより、第2のアバター特徴によって表されているユーザの第2の部分の姿勢がユーザの第2の部分の実際の姿勢に対応する確実性を示すフィードバックがユーザに提供され、更に、ユーザの異なる部分の姿勢における変動する信頼性レベルのフィードバックが提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、アバターを提示すること(例えば、721)は、ユーザの第2の部分(例えば、701-2)の姿勢が、第3の確実性値とは異なる第4の確実性値に関連付けられている(例えば、811-3及び811-4は、図8Bでは、高密度のハッチング715を有する)という判定に従って、第2の可変表示特性の第1の値とは異なる第2の可変表示特性の第2の値を有する第2のアバター特徴を用いてアバターを提示することを含む(例えば、アバター721は、(例えば、いくつかの実施形態では、ハッチング725によって表されるものと同様の)可変表示特性であるスモーク効果830を有するアバターの右腕(部分721-2を含む)を用いて提示される。ユーザの第2の部分の姿勢が第4の確実性値に関連付けられているという判定に従って、第2の可変表示特性の第1の値とは異なる第2の可変表示特性の第2の値を有する第2のアバター特徴を有するアバターを提示することにより、第2のアバター特徴によって表されているユーザの第2の部分の姿勢がユーザの第2の部分の実際の姿勢に対応する異なる確実性を示すフィードバックがユーザに提供され、更に、ユーザの異なる部分の姿勢における変動する信頼性レベルのフィードバックが提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、アバター(例えば、721)を提示することは、第3の確実性値が、第1の確実性値に対応する(例えば、それと等しい、同じである)(例えば、ユーザの第1の部分の姿勢の確実性が50%、55%、又は60%であり、ユーザの第2の部分の姿勢の確実性もまた50%、55%、又は60%である)(例えば、図7Bでは、ユーザの右肘の確実性は、確実性マップ710の部分710-6に示されるように中程度のハッチング密度を有しており、ユーザの左肘の確実性もまた中程度のハッチング密度を有する)という判定に従って、第2の可変表示特性の第1の値が、可変表示特性の第1の値に対応することを含む(例えば、それと等しい、同じである)(例えば、図7Cでは、アバターの左肘と右肘の両方が中程度のハッチング密度を有する)(例えば、可変表示特性と第2の可変表示特性の両方が、ユーザのそれぞれの部分の姿勢の50%、55%、又は60%の確実性を示す値を有する(例えば、可変表示特性の第1の値は、ユーザの第1の部分の姿勢の50%、55%、又は60%の確実性を示し、第2の可変表示特性の第1の値は、ユーザの第2の部分の姿勢の50%、55%、又は60%の確実性を示す))。
いくつかの実施形態では、アバター(例えば、721)を提示することは、第4の確実性値が、第2の確実性値に対応する(例えば、それと等しい、同じである)(例えば、ユーザの第1の部分の姿勢の確実性が20%、25%、又は30%であり、ユーザの第2の部分の姿勢の確実性が20%、25%、又は30%である)(例えば、図7Bでは、ユーザの右上腕部の確実性は、確実性マップ710の部分710-9に示されるように低いハッチング密度を有しており、ユーザの左上腕部の確実性もまた低いハッチング密度を有する)という判定に従って、第2の可変表示特性の第2の値が、可変表示特性の第2の値に対応する(例えば、それと等しい、同じである)(例えば、図7Cでは、アバターの左上腕部と右上腕部の両方が低いハッチング密度を有する)ことを含む(例えば、可変表示特性と第2の可変表示特性の両方が、ユーザのそれぞれの部分の姿勢の20%、25%、又は30%の確実性を示す値を有する(例えば、可変表示特性の第2の値は、ユーザの第1の部分の姿勢の20%、25%、又は30%の確実性を示し、第2の可変表示特性の第2の値は、ユーザの第2の部分の姿勢の20%、25%、又は30%の確実性を示す))。
いくつかの実施形態では、アバター特徴及びユーザのそれぞれの第1の部分は、確実性と可変表示特性の値(例えば、視覚的忠実性)との間に、第2のアバター特徴及びユーザの第2の部分と同じ関係を有する。例えば、ユーザの第1の部分の姿勢の確実性は、可変表示特性の値に直接的に対応し、また、ユーザの第2の部分の姿勢の確実性は、第2の可変表示特性の値に直接的に対応する。これは、確実性値の異なる変化を例証する以下の実施例に示される。ユーザの第1の部分の姿勢の確実性が5%、7%、又は10%だけ減少すると、可変表示特性の値は、確実性の5%、7%、又は10%の減少を示す量だけ調整し(例えば、確実性と可変表示特性の値の間で直接又は比例マッピングされる)、ユーザの第2の部分の姿勢の確実性が10%、15%、又は20%だけ増加すると、第2の表示特性の値は、確実性の10%、15%、又は20%の増加を示す量だけ調整する(例えば、確実性と第2の可変表示特性の値の間で直接又は比例マッピングされる)。
いくつかの実施形態では、方法900は、第3の確実性値が、第1の確実性値に対応する(例えば、それと等しい、同じである)(例えば、ユーザの第1の部分の姿勢の確実性が50%、55%、又は60%であり、ユーザの第2の部分の姿勢の確実性もまた50%、55%、又は60%である)(例えば、図7Bでは、部分710-2と部分710-1の両方は、確実性マップ710に示されるようにハッチングがない)という判定に従って、第2の可変表示特性の第1の値が、可変表示特性の第1の値に対応しないことを含む(例えば、それと等しくない、それとは異なる)(例えば、アバターの部分721-2は、ハッチングがなく、アバターの首部分727はハッチング725有する)(例えば、可変表示特性及び第2の可変表示特性は、ユーザのそれぞれの部分の姿勢の異なる量の確実性を示す値を有する(例えば、可変表示特性の第1の値は、ユーザの第1の部分の姿勢の50%、55%、又は60%の確実性を示し、第2の可変表示特性の第1の値は、ユーザの第2の部分の姿勢の20%、25%、又は30%の確実性を示す))。
いくつかの実施形態では、方法900は、第4の確実性値が、第2の確実性値に対応する(例えば、それと等しい、同じである)(例えば、ユーザの第1の部分の姿勢の確実性が20%、25%、又は30%であり、ユーザの第2の部分の姿勢の確実性が20%、25%、又は30%である)(例えば、図7Bでは、部分710-7と部分710-5は両方とも、確実性マップ710に示されるように低い密度のハッチング715を有する)という判定に従って、第2の可変表示特性の第2の値が、可変表示特性の第2の値に対応しない(例えば、それと等しくない、それとは異なる)(例えば、アバターの左目723-2はハッチングがなく、アバターの襟部分727はハッチング725を有する)ことを含む(例えば、可変表示特性及び第2の可変表示特性は、ユーザのそれぞれの部分の姿勢の異なる量の確実性を示す値を有する(例えば、可変表示特性の第2の値は、ユーザの第1の部分の姿勢の20%、25%、又は30%の確実性を示し、第2の可変表示特性の第2の値は、ユーザの第2の部分の姿勢の40%、45%、又は50%の確実性を示す))。
いくつかの実施形態では、第2のアバター特徴及びユーザの第2の部分に関する確実性と可変表示特性の値(例えば、視覚的忠実性)との間の関係は、それぞれのアバター特徴及びユーザの第1の部分に関するものとは異なる。例えば、いくつかの実施形態では、可変表示特性の値は、姿勢の実際の確実性とは異なる確実性を示すように選択される。
例えば、いくつかの実施形態では、可変表示特性の値は、対応するユーザ特徴に実際に関連付けられているよりも高い確実性を示す。これは、例えば、特徴が通信にとって重要であると見なされる場合に行われ得る。この例では、正確な確実度レベルを示す値を有する可変表示特性を用いて対応するアバター特徴をレンダリングすることは散漫にするので、より高い確実性を示す値を有する可変表示特性(例えば、それぞれのアバター特徴の高忠実性表現)を用いて特徴をレンダリングすることは、通信を向上させる。
別の例として、いくつかの実施形態では、可変表示特性の値は、対応するユーザ特徴に実際に関連付けられているよりも低い確実性を示す。これは、例えば、特徴が通信にとって重要ではないと見なされる場合に行われ得る。この例では、より低い確実性を示す値を有する可変表示特性(例えば、それぞれのアバター特徴の低忠実性表現)を用いて特徴をレンダリングすることは、典型的には、高い確実性を示す値を有する可変表示特性(例えば、それぞれのアバター特徴の高忠実性表現)を用いてそれぞれのアバター特徴をレンダリングするときに拡張される計算リソースを確保する。ユーザ特徴は、通信にとって重要ではないと見なされるので、通信の有効性を犠牲にすることなく、計算リソースを確保することができる。
いくつかの実施形態では、コンピュータシステム(例えば、101)は、ユーザ(例えば、701)の第1の部分(例えば、701-1、701-2、701-3、701-4)の姿勢変化を表す更新された姿勢データを受信する。更新された姿勢データを受信したことに応答して、コンピュータシステムは、ユーザの第1の部分の姿勢変化(例えば、その大きさ又は方向のうちの少なくとも1つ)に基づいて、それぞれのアバター特徴の姿勢を更新することを含む、アバター(例えば、721)の表現を更新し、(例えば、それぞれのアバター特徴の姿勢は、ユーザの第1の部分の姿勢変化の大きさ及び/又は方向に対応する大きさによって、及び/又は対応する方向において更新される)(例えば、ユーザ701の左手が、図7Aの直立姿勢から図8Aの壁805上の位置に移動すると、アバター721の左手が、図7Cの直立姿勢から図8Cの壁上の位置に移動する)。ユーザの第1の部分の姿勢変化に基づいて、それぞれのアバター特徴の姿勢を更新することにより、ユーザの第1の部分の動きにより、コンピュータシステムがそれに応じてそれぞれのアバター特徴を修正することを示すフィードバックがユーザに提供される。これは、表示生成コンポーネントを使用して仮想アバターを操作及び/又は合成するための制御スキームを提供し、コンピュータシステムは、ユーザの第1の部分を含むユーザの身体的特徴への変化(並びに、それらの変化の大きさ及び/又は方向)の形態の入力を処理し、仮想アバターの外観の形態のフィードバックを提供する。これにより、ユーザの身体的特徴の姿勢変化に関するユーザへの視覚的フィードバックが改善される。これにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。いくつかの実施形態では、アバターの位置は、ユーザの動きに基づいて更新される。例えば、アバターは、ユーザの動きをミラーリングするためにリアルタイムで更新される。例えば、ユーザが腕を背中に回すと、腕を背中に移動させたアバターが表示されて、ユーザの動きがミラーリングされる。
いくつかの実施形態では、アバター(例えば、721)の表現を更新することは、ユーザの第1の部分の姿勢変化中のユーザの第1の部分の姿勢の確実性の変化に応答して、ユーザの第1の部分の姿勢変化に基づいてアバターの少なくとも一部分の位置を変更することに加えて、表示されたそれぞれのアバター特徴の可変表示特性を変更することを含む(例えば、ユーザの右手が、図7Aの姿勢から図8Aの姿勢に移動するにつれて、対応するアバター特徴(アバターの右手)が、図7Cのハッチングなしから、図8Cのスモーク特徴830を有するように変化する)。ユーザの第1の部分の姿勢変化に基づいて、アバターの少なくとも一部分の位置を変更することに加えて、表示されたそれぞれのアバター特徴の可変表示特性を変更することにより、それぞれのアバター特徴の姿勢の確実性が、ユーザの第1の部分の姿勢変化による影響を受けるというフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、アバターの表現を更新することは、ユーザの第1の部分の姿勢の確実性が、ユーザの第1の部分の姿勢の変化を表す更新された姿勢データに基づいて増大した(例えば、ユーザの第1の部分が、ユーザの第1の部分の確実性が増大する位置に移動する(例えば、ユーザの手が、センサの視野の外側にある位置(カメラ、又は他のセンサが、手の位置をはっきりとはキャプチャできない)から、センサの視野内の位置(カメラが、手の位置をはっきりとキャプチャできる)に移動する)(例えば、ユーザの手が、カップなどのオブジェクトの後ろからオブジェクトの前に移動する))という判定に従って、ユーザの第1の部分の姿勢における確実性の増大に基づいて、可変表示特性の現在値を修正すること(例えば、可変表示特性のタイプに応じて、増減する)(例えば、可変表示特性を修正すること)を含む(例えば、ユーザの手の位置は、(視野内又はカップの前の)更新された位置では、カメラにより、よりはっきりとキャプチャされるので、ユーザの手の姿勢の確実性は増大し、可変表示特性の値は、それに応じて調整される(例えば、可変表示特性のタイプに応じて、増加又は減少される)。
いくつかの実施形態では、アバターの表現を更新することは、ユーザの第1の部分の姿勢の確実性が、ユーザの第1の部分の姿勢の変化を表す更新された姿勢データに基づいて減少した(例えば、ユーザの第1の部分が、ユーザの第1の部分の確実性が減少する位置に移動する(例えば、ユーザの手が、センサの視野内の位置(カメラ、又は他のセンサが、手の位置をはっきりとキャプチャできる)から、センサの視野の外側にある位置(カメラが、手の位置をはっきりとはキャプチャできない)に移動する)(例えば、ユーザの手が、カップなどのオブジェクトの前からオブジェクトの後ろの移動する)という判定に従って、ユーザの第1の部分の姿勢における確実性の減少に基づいて、可変表示特性の現在値を修正すること(例えば、可変表示特性のタイプに応じて、増減する)(例えば、可変表示特性を修正すること)を含む(例えば、ユーザの手は、センサの視野の外側にある、又は更新された位置にあるカップにより隠れているので、ユーザの手の姿勢の確実性は減少し、可変表示特性の値は、それに応じて調整される(例えば、可変表示特性のタイプに応じて、増加又は減少される))。
いくつかの実施形態では、ユーザの第1の部分(例えば、ユーザの手)の姿勢の確実性は、ユーザの第1の部分が移動するにつれて変化(例えば、増大又は減少)し、可変表示特性の値は、確実性の変化に合わせてリアルタイムで更新される。いくつかの実施形態では、可変表示特性の値の変化は、それぞれのアバター特徴に適用される可変表示特性の滑らかな、漸進的な変化として表される。例えば、ユーザが、センサの視野のフィールドの外側にある位置に又はそこから手を移動させるにつれて確実性値が変化する実施形態を参照すると、可変表示特性が粒子の密度に対応する場合、アバターの手を含む粒子の密度は、ユーザがセンサの視野内へと手を移動させるにつれて、ユーザの手の位置における確実性の増大と調和して漸進的に増大する。逆に、アバターの手を含む粒子の密度は、ユーザがセンサの視野から視野の外側にある位置に手を移動させるにつれて、ユーザの手の位置における確実性の減少と調和して漸進的に減少する。同様に、可変表示特性がぼかし効果である場合、アバターの手に適用されるぼかし量は、ユーザがセンサの視野内に手を移動させるにつれて、ユーザの手の位置における確実性の増大と調和して漸進的に減少する。逆に、アバターの手に適用されるぼかし量は、ユーザがセンサの視野から外に手を移動させるにつれて、ユーザの手の位置における確実性の減少と調和して漸進的に増大する。
いくつかの実施形態では、アバターを提示することは、1)ユーザの第1の部分(例えば、ユーザの手及び/又は顔)が第1のセンサ(例えば、705-1、705-2、705-4)によって検出される(例えば、ユーザの手及び/又は顔が、カメラ又は他のセンサに視認可能である、それによって検出される、又はそれによって識別される)ときに満たされる第1の基準セットを姿勢データが満たすという判定に従って、可変表示特性の第3の値を有するそれぞれのアバター特徴を用いてアバター(例えば、721)を提示すること(例えば、721-2、721-3、721-4、723-1、724、722は、図7Cでは、ハッチングなしで表示される)(例えば、ユーザの第1の部分はセンサによって検出されるので、それぞれのアバター特徴はより高い忠実性で表される)と、2)第1の基準セットを姿勢データが満たさない(例えば、ユーザの手が図8Aの視野707-2の外側にある)(例えば、ユーザの手及び/又は顔が、カメラ又は他のセンサに視認可能でない、それによって検出されない、又はそれによって識別されない)という判定に従って、可変表示特性の第3の値よりも低い確実性値を示す可変表示特性の第4の値を有するそれぞれのアバター特徴を用いてアバターを提示すること(例えば、アバターの右手は、図8Cでは、スモーク効果830によって示される可変表示特性を有するように表示される)(例えば、ユーザの第1の部分はセンサによって検出されないので、それぞれのアバター特徴はより低い忠実性で表される)と、を含む。ユーザの第1の部分が第1のセンサによって検出されるかどうかに応じて、可変表示特性の第3の値又は可変表示特性の第4の値を有するそれぞれのアバター特徴を用いてアバターを提示することにより、それぞれのアバター特徴の姿勢の確実性が、ユーザの第1の部分がセンサによって検出されるか否かによる影響を受けるというフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、可変表示特性の現在値を有するそれぞれのアバター特徴が提示されている間に(例えば、アバターの手721-2は、図7Cではハッチングがない)(例えば、可変表示特性の第1の値)(例えば、可変表示特性の第2の値)(例えば、可変表示特性の現在値は、ユーザの第1の部分に関するそれぞれのアバター特徴の現在の視覚的忠実性に対応する)、コンピュータシステム(例えば、101)は、ユーザの第1の部分の姿勢の変化を表す更新された姿勢データを受信する(例えば、ユーザが手を移動させる)。
更新された姿勢データを受信したことに応答して、コンピュータシステム(例えば、101)は、アバターの表示を更新する。いくつかの実施形態では、アバターの表現を更新することは、更新された姿勢データが、センサの視野内の(例えば、センサの視野内の、センサに視認可能である)第1の位置からセンサの視野の外側の第2の位置への、ユーザの第1の部分の姿勢の変化を表す(例えば、ユーザの右手が、図7Aの視野707-2内から図8Aの視野707-2の外側に移動する)(例えば、センサの視野の外側、センサに視認可能でない)(例えば、手が、センサ(例えば、カメラ)の視野内にある位置からセンサの視野内にない位置に移動する)という判定に従って、可変表示特性の現在値を減少させることを含む(例えば、アバターの手721-2は、図7Cではハッチングがなく、図8Cではスモーク効果830によって表されている)(例えば、可変表示特性の減少した値は、ユーザの第1の部分に関するそれぞれのアバター特徴の減少した視覚的忠実性に対応する)(例えば、それぞれのアバター特徴は、ユーザの手の更新された姿勢における確実性の減少を示す表示特性値に移行する)。更新された姿勢データが、センサの視野内の第1の位置からセンサの視野の外側の第2の位置へのユーザの第1の部分の姿勢の変化を表すという判定に従って、可変表示特性の現在値を減少させることにより、センサの視野内からセンサの視野の外側にユーザの第1の部分を移動させることが、それぞれのアバター特徴の姿勢の確実性の変化(例えば、確実性の減少)を引き起こすというフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、アバターの表現を更新することは、更新された姿勢データは、第2の位置から第1の位置へのユーザの第1の部分の姿勢の変化を表す(例えば、手が、センサ(例えば、カメラ)の視野の外側にある位置からセンサの視野内にある位置へと移動する)(例えば、図8Aの位置から図7Aの位置へと部分701-2を移動させること)という判定に従って、可変表示特性の現在値を増加させることを含む(例えば、アバターの部分721-2は、図7Cではハッチングなしで表示されており、図8Cでは、部分721-2は、スモーク効果830で置換されている)(例えば、可変表示特性の増加した値は、ユーザの第1の部分に関するそれぞれのアバター特徴の増大した視覚的忠実性に対応する)(例えば、それぞれのアバター特徴は、ユーザの手の更新された姿勢における確実性の減少を示す表示特性値に移行する)(例えば、それぞれのアバター特徴は、ユーザの手の更新された姿勢における確実性の増大を示す表示特性値に移行する)。更新された姿勢データが、第2の位置から第1の位置へのユーザの第1の部分の姿勢の変化を表すという判定に従って、可変表示特性の現在値を増加させることにより、センサの視野の外側からセンサの視野内にユーザの第1の部分を移動させることが、それぞれのアバター特徴の姿勢の確実性の変化(例えば、確実性の増大)を引き起こすというフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、可変表示特性の現在値は、第1の速度で減少し(例えば、センサの視野の外側にある位置に手が移動する場合、減少は遅い速度(例えば、手の検出された動きよりも遅い速度)で起こり)、可変表示特性の現在値は、第1の速度よりも高い第2の速度で増加する(例えば、センサの視野内にある位置に手が移動する場合、増大は高速(例えば、減少速度よりも速い速度)で起こる)。第1の速度で可変表示特性の現在値を減少させ、第1の速度よりも高い第2の速度で可変表示特性の現在値を増加させることにより、それぞれのアバター特徴の姿勢における確実性の増大が確認されるタイミングに関するフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、可変表示特性の現在値を減少させることは、第2の場所がユーザの第1の部分の既知の位置に対応する(例えば、ユーザの手が、センサの視野の外側に位置決めされている場合であっても、コンピュータシステムには手の位置が分かる)という判定に従って、第1の速度で可変表示特性の現在値を減少させることを含む(例えば、可変表示特性(例えば、視覚的忠実性)の減少は、センサの視野の外側の既知の位置に手が移動するときに、遅い速度(例えば、手の検出されたい動きよりも遅い)で起こる)。いくつかの実施形態では、ユーザの第1の部分の位置は、例えば、他のデータを使用して位置(又は大まかな位置)を推論することによって判定することができる。例えば、ユーザの手は、センサの視野の外側にあり得るが、ユーザの前腕部は視野内にあり、したがって、前腕部の既知の位置に基づいて、手の位置を判定することができる。別の例として、ユーザの手は、ユーザの背後に、したがってセンサの視野の外側に位置決めされ得るが、ユーザの腕の位置に基づいて、手の位置が(少なくとも大まかに)分かる。いくつかの実施形態では、可変表示特性の現在値を減少させることは、第2の位置がユーザの第1の部分の既知の場所に対応するという判定に従って、第1の速度よりも高い第2の速度で可変表示特性の現在値を減少させることを含む(例えば、可変表示特性(例えば、視覚的忠実性)の減少は、センサの視野の外側の未知の位置に手が移動するときに、高速で(例えば、手の位置が分かっているときよりも速く)起こる)。
いくつかの実施形態では、可変表示特性の第1の値は、可変表示特性の第2の値よりも高い、ユーザの第1の部分の姿勢に関するそれぞれのアバター特徴の視覚的忠実性を表す。いくつかの実施形態では、アバターを提示することは、1)ユーザの第1の部分が身体的特徴のサブセット(例えば、ユーザの腕及び肩)に対応するという判定に従って、ユーザの第1の部分の姿勢を第2の確実性値に関連付けることと(例えば、ユーザの第1の部分がユーザの腕及び/又は肩に対応するので、それぞれのアバター特徴は、より低い忠実性で表される)(例えば、アバターの首及び襟部領域727は、図7Cでは、ハッチング725を用いて提示される)、2)ユーザの第1の部分が身体的特徴のサブセットに対応しないという判定に従って、ユーザの第1の部分の姿勢を第1の確実性値と関連付けることと(例えば、ユーザの第1の部分がユーザの腕及び/又は肩に対応しないので、それぞれのアバター特徴は、より高い忠実性で表される)(例えば、口724は、図7Cでは、ハッチングなしでレンダリングされる)、を含む。ユーザの第1の部分が身体的特徴のサブセットに対応するかどうかに応じて、ユーザの第1の部分の姿勢を第1の確実性値又は第2の確実性値に関連付けることにより、これらの特徴の確実性が高い場合であっても、これらの特徴が通信目的にとってあまり重要でないときには、高い忠実性で特徴の生成及び表示を取り止めること(例えば、より低い忠実性で特徴をレンダリングすること)によって、計算リソースが節約される(それによって、使用電力が低減され、バッテリ寿命が改善される)。いくつかの実施形態では、ユーザの腕及び肩は、センサの視野内にないときに、又はそれらが通信にとって重要な特徴ではないと見なされるときに、より低い忠実性を示す可変表示特性を用いて(アバターを介して)示される。いくつかの実施形態では、通信にとって重要であると見なされる特徴には、目、口、及び手が含まれる。
いくつかの実施形態では、アバター(例えば、721)が、可変表示特性の第1の値を有するそれぞれのアバター特徴を用いて提示されている間、コンピュータシステム(例えば、101)は、アバターの表現を更新し、1)ユーザの第1の部分の移動速度がユーザの第1の部分の第1の移動速度であるという判定に従って、(例えば、減少した信頼性値に基づく)可変表示特性の第1の変更された値(例えば、可変表示特性の現在値(例えば、第1の値)に対して減少されている)を有するそれぞれのアバター特徴を用いてアバターを提示することと、2)ユーザの第1の部分の移動速度が第1の移動速度とは異なる(例えば、それよりも低い)、ユーザの第1の部分の第2の移動速度であるという判定に従って、(例えば、増加した信頼性値に基づく)可変表示特性の第2の変更された値(例えば、可変表示特性の現在値(例えば、第1の値)に対して増加している)を有するそれぞれのアバター特徴を用いてアバターを提示することと、を含む。ユーザの第1の部分の移動速度が第1の移動速度である場合、可変表示特性の第1の変更された値を有するそれぞれのアバター特徴を用いてアバターを提示し、ユーザの第1の部分の移動速度が第2の移動速度である場合、可変表示特性の第2の変更された値を有するそれぞれのアバター特徴を用いてアバターを提示することにより、ユーザの第1の部分の移動速度の変動がそれぞれのアバター特徴の姿勢の確実性に影響を与えることを示すというフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、ユーザの第1の部分の移動速度が増大するにつれて、ユーザの第1の部分の位置の確実性が(例えば、センサの制限、例えば、カメラのフレームレートに基づいて)減少し、可変表示特性の値の対応する変化がもたらされる。例えば、可変表示特性が、それぞれのアバター特徴を含む粒子の密度に対応する場合、確実性値が減少すると、粒子の密度が減少し、ユーザの第1の部分の姿勢における確実性がより低いことが示される。別の例では、可変表示特性が、それぞれのアバター特徴に適用されたぼかし効果である場合、確実性値が減少すると、ユーザの第1の部分の姿勢におけるより低い確実性を示すためにぼかし効果が増大される。いくつかの実施形態では、ユーザの第1の部分の移動速度が減少するにつれて、ユーザの第1の部分の位置の確実性が増大し、可変表示特性の値の対応する変化がもたらされる。例えば、可変表示特性が、それぞれのアバター特徴を含む粒子の密度に対応する場合、確実性値が増加すると、粒子の密度が増大し、ユーザの第1の部分の姿勢における確実性がより高いことが示される。別の例では、可変表示特性が、それぞれのアバター特徴に適用されたぼかし効果である場合、確実性値が増加すると、ユーザの第1の部分の姿勢におけるより高い確実性を示すために、ぼかし効果が減少される。
いくつかの実施形態では、コンピュータシステム(例えば、101)は、可変表示特性(例えば、725、830)の値を変更し、それぞれのアバター特徴の1つ以上の視覚的パラメータを変更すること(例えば、図7C及び図8Cのアバター721に関して論じるように、可変表示特性725の値及び/又は視覚効果830を変更すること)を含む。可変表示特性の値を変更するときに、それぞれのアバター特徴の1つ以上の視覚的パラメータ変更することにより、それぞれのアバター特徴によって表されているユーザの第1の部分の姿勢の信頼性の変化を示すフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、可変表示特性の値を変更することは、1つ以上の視覚的パラメータの値を変更することに対応する(例えば、可変表示特性の値を増加させることは、それぞれのアバター特徴のぼかし度量、画素化、及び/又は色を増大させることに対応することができる)。したがって、本明細書に記載の1つ以上の視覚的パラメータを変更するために本明細書で提供される方法を使用して、可変表示特性を修正、変更、及び/又は調整することができる。
いくつかの実施形態では、1つ以上の視覚的パラメータは、ぼかし度(例えば、又は鮮明度)を含む。いくつかの実施形態では、それぞれのアバター特徴のぼかし度又は鮮明度は、ユーザの第1の部分の姿勢の確実性の増大又は減少を示すように変更される。例えば、ぼかし度を増大させる(鮮明度を減少させる)ことにより、ユーザの第1の部分の姿勢における確実性の減少を示し、ぼかし度を減少させること(鮮明度を増大させること)により、ユーザの第1の部分の姿勢における確実性の増大を示す。例えば、図7Cでは、増大した密度のハッチング725は、より高いぼかし度を表し、減少したハッチング密度は、より低いぼかし度を表す。したがって、ぼけたウエスト及びあまりぼけていない(より鮮明な)胸部を有するアバター721が表示される。
いくつかの実施形態では、1つ以上の視覚的パラメータは、不透明度(例えば、又は透明度)を含む。いくつかの実施形態では、それぞれのアバター特徴の不透明度又は透明度は、ユーザの第1の部分の姿勢の確実性の増大又は減少を示すように変更される。例えば、不透明度を増大させる(透明度を減少させる)ことにより、ユーザの第1の部分の姿勢における確実性の増大を示し、不透明度を減少させること(透明度を増大させること)により、ユーザの第1の部分の姿勢における確実性の減少を示す。例えば、図7Cでは、増大した密度のハッチング725は、より高い透明度(より低い不透明度)を表し、減少したハッチング密度は、より低い透明度(より高い不透明度)を表す。したがって、より透明なウエスト及びあまり透明でない(より不透明な)胸部を有するアバター721が表示される。
いくつかの実施形態では、1つ以上の視覚的パラメータは、色を含む。いくつかの実施形態では、それぞれのアバター特徴の色は、上述したように、ユーザの第1の部分の姿勢の確実性の増大又は減少を示すように変更される。例えば、ユーザの第1の部分の姿勢における確実性の増大を示すために、スキントーンの色を提示することができ、ユーザの第1の部分の姿勢における確実性の減少を示すために、スキントーンでない色(例えば、緑色、青色)を提示することができる。例えば、図7Cでは、部分721-2など、ハッチング725がないアバター721の領域は、スキントーンの色(例えば、茶色、黒色、褐色など)を用いて表示され、首及び襟部領域727など、ハッチング725を有する領域は、スキントーンでない色を用いて表示される。
いくつかの実施形態では、1つ以上の視覚的パラメータは、アバター721の様々な可変表示特性に関して上述したように、それぞれのアバター特徴を含む粒子の密度を含む。
いくつかの実施形態では、それぞれのアバター特徴を含む粒子の密度は、それぞれのアバター特徴を含む粒子間の間隔(例えば、平均距離)を含む。いくつかの実施形態では、粒子の密度を増大させることは、それぞれのアバター特徴を含む粒子間の間隔を低減させることを含み、粒子の密度を減少させることは、それぞれのアバター特徴を含む粒子間の間隔を増大させることを含む。いくつかの実施形態では、ユーザの第1の部分の姿勢の確実性の増大又は減少を示すために、粒子の密度が変更される。例えば、密度を増大させる(粒子間の間隔を低減させる)ことにより、ユーザの第1の部分の姿勢における確実性の増大を示し、密度を減少させること(粒子間の間隔を増大させること)により、ユーザの第1の部分の姿勢における確実性の増大を示す。例えば、図7Cでは、増大した密度のハッチング725は、より大きな粒子間隔を表し、減少したハッチング密度は、より小さな粒子間隔を表す。したがって、この例では、ウエストでは高い粒子間隔を有し、胸部では粒子間隔が小さいアバター721が表示される。
いくつかの実施形態では、それぞれのアバター特徴を含む粒子の密度は、それぞれのアバター特徴を含む粒子のサイズを含む。いくつかの実施形態では、粒子の密度を増大させることは、それぞれのアバター特徴を含む粒子のサイズを低減させること(例えば、あまり画素化されていない外観を生成すること)を含み、粒子の密度を減少させることは、それぞれのアバター特徴を含む粒子のサイズを増大させること(例えば、より画素化された外観を生成すること)を含む。いくつかの実施形態では、ユーザの第1の部分の姿勢の確実性の増大又は減少を示すために、粒子の密度が変更される。例えば、密度を増大させることは、それぞれのアバター特徴のより高い詳細度及び/又は解像度を提供するために粒子のサイズを低減することによる、ユーザの第1の部分の姿勢における確実性の増大を示す。同様に、密度を減少させることは、それぞれのアバター特徴のより低い詳細度及び/又は解像度を提供するために粒子のサイズを増大させることによる、ユーザの第1の部分の姿勢における確実性の減少を示す。いくつかの実施形態では、密度は、粒子サイズと間隔との組み合わせであってもよく、これらの因子は、ユーザの第1の部分の姿勢におけるより高い又はより低い確実性を示すように調整することができる。例えば、より小さな離間した粒子は、より大きく間隔が小さい粒子(より高い確実性を示す)と比較して、低減された密度(及び確実性の低減)を示し得る。例えば、図7Cでは、増大した密度のハッチング725は、より大きな粒子サイズを表し、減少したハッチング密度は、より小さな粒子サイズを表す。したがって、この例では、ウエストでは粒子サイズが大きく(ウエストは、より高度に画素化されて見える)、胸部では粒子サイズがより小さい(胸部は、ウエストよりも画素化されずに見える)アバター721が表示される。
いくつかの実施形態では、コンピュータシステム(例えば、101)は、可変表示特性の値を変更し、それぞれのアバター特徴に関連付けられた視覚効果(例えば、830)を提示すること(例えば、視覚効果の表示を導入すること)を含む。可変表示特性の値を変更するときに、それぞれのアバター特徴に関連付けられた視覚効果を提示することにより、それぞれのアバター特徴によって表されているユーザの第1の部分の姿勢の信頼性が閾値信頼性レベル未満であるというフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。いくつかの実施形態では、視覚効果は、ユーザの対応する部分が閾値確実性値以下であるときに表示され、閾値確実性値を超えると表示されない。例えば、ユーザの対応する部分の姿勢の確実性が10%の確実性値を下回る場合、それぞれのアバター特徴に関する視覚効果が表示される。例えば、視覚効果は、ユーザの肘がカメラの視野の外側にあるときに、アバターの肘に表示されるスモーク効果又はフィッシュスケールである。
いくつかの実施形態では、ユーザの第1の部分は、第1の身体的特徴(例えば、ユーザの口)及び第2の身体的特徴(例えば、ユーザの耳又は鼻)を含む。いくつかの実施形態では、可変表示特性の第1の値は、可変表示特性の第2の値よりも高い、ユーザの第1の身体的特徴の姿勢に関するそれぞれのアバター特徴の視覚的忠実性を表す。いくつかの実施形態では、可変表示特性の第2の値を有するそれぞれのアバター特徴を用いてアバターを提示することは、ユーザの対応する身体的特徴に基づく第1の身体的特徴のレンダリング(例えば、図7Cのアバターの口は、図7Aのユーザの口724と同じである)、及びユーザのものではない対応する身体的特徴に基づく第2の身体的特徴のレンダリング(例えば、図7Cのアバターの鼻722は、図7Aのユーザの鼻と同じではない)を用いてアバター(例えば、721)を提示することを含む(例えば、アバターは、ユーザの口(例えば、ユーザの口のビデオフィードを使用して提示される)を含み、アバターは、ユーザの耳(又は鼻)ではない耳(又は鼻)を含む(例えば、耳(又は鼻)は、他の人物からである、又は機械学習アルゴリズムに基づいて模倣される))。ユーザの対応する身体的特徴に基づく第1の身体的特徴のレンダリング、及びユーザのものではない対応する身体的特徴に基づく第2の身体的特徴のレンダリングを用いてアバターを提示することにより、これらの特徴の確実性が高い場合であっても、これらの特徴が通信目的にとってあまり重要でないときには、高い忠実性の生成及び表示を取り止めること(例えば、ユーザのものではない対応する身体的特徴に基づくものとして、いくつかの特徴をレンダリングすること)によって、計算リソースが節約される(それによって、使用電力が低減され、バッテリ寿命が改善される)。
いくつかの実施形態では、アバターが、低い忠実性(例えば、低い確実性)を示す可変表示特性を有する提示される場合、通信にとって重要であると見なされるユーザの身体的特徴(例えば、目、口、手)は、ユーザの実際の外観に基づいてレンダリングされ、他の身体的特徴は、ユーザの実際の外観以外のものに基づいてレンダリングされる。すなわち、通信にとって重要な身体的特徴は、例えば、特徴のビデオフィードを使用して高い忠実性で保持され、通信にとって重要ではないと見なされない身体的特徴(例えば、骨格、ヘアスタイル、耳など)は、例えば、アバター特徴のデータベースから選択された同様の特徴を使用して、又は機械学習アルゴリズムに基づいて導出されたコンピュータ生成特徴を使用してレンダリングされる。重要な通信特徴は、ユーザの対応する身体的特徴の外観に基づき、重要でない特徴は、異なる外観に基づくようにして、低い忠実性(例えば、低い確実性)を示す可変表示特性を用いてアバターをレンダリングすることにより、アバターを用いて表されるユーザと効果的に通信する能力を確保しながら、計算リソースが確保される。例えば、計算リソースは、低い忠実性を示す可変表示特性を用いて重要でない特徴をレンダリングすることによって確保される。しかしながら、重要な通信特徴がこのようにしてレンダリングされる場合、その特徴がユーザの対応する身体的特徴と一致しないので通信が阻害され、これにより、散漫にすることがあり、アバターを用いて表されるユーザのアイディンティティを混乱させることすらある。したがって、通信が阻害されないことを保証にするために、重要な通信特徴は、高い忠実性でレンダリングされ、それによって、依然として計算リソースを確保しながら、効果的に通信する能力が確保される。
いくつかの実施形態では、姿勢データは、複数のセンサ(例えば、705-1、705-2、705-3、705-4、810)から生成される。
いくつかの実施形態では、複数のセンサは、コンピュータシステム(例えば、101)に関連付けられた(例えば、コンピュータシステムを含む)1つ以上のカメラセンサ(例えば、705-1、705-2、705-3、705-4)を含む。いくつかの実施形態では、コンピュータシステムは、姿勢データをキャプチャするように構成されている1つ以上のカメラを含む。例えば、コンピュータシステムは、ヘッドセットの周りの物理的環境内の1人以上のユーザの姿勢を検出するように位置決めされたカメラを有するヘッドセットデバイスである。
いくつかの実施形態では、複数のセンサは、コンピュータシステムとは別個の1つ以上のカメラセンサを含む。いくつかの実施形態では、姿勢データは、コンピュータシステムとは別個の、ユーザの姿勢を表す姿勢データをキャプチャするように構成された1つ以上のカメラを使用して生成される。例えば、コンピュータシステムとは別個のカメラは、スマートフォンのカメラ、デスクトップのカメラ、及び/又はユーザが着用したヘッドセットデバイスからのカメラを含むことができる。これらのカメラの各々は、ユーザの姿勢をキャプチャすることによって、姿勢データの少なくとも一部分を生成するように構成されてもよい。いくつかの実施形態では、姿勢データは、異なる角度及び視点からのユーザ(又はユーザの部分)の位置又は姿勢を提供する複数のカメラソースから生成される。
いくつかの実施形態では、複数のセンサは、1つ以上の非視覚センサ(例えば、810)(例えば、カメラセンサを含まないセンサ)を含む。いくつかの実施形態では、姿勢データは、例えば、スマートウォッチ内の近接センサ又はセンサなどの1つ以上の非視覚センサ(例えば、加速度計、ジャイロスコープなど)を使用して生成される。
いくつかの実施形態では、ユーザの少なくとも第1の部分の姿勢は補間関数を使用して判定される(例えば、図7Cの部分721-4におけるアバターの左手の姿勢が補間される)。いくつかの実施形態では、ユーザの第1の部分は、オブジェクト(例えば、カップ702)により隠れている。例えば、ユーザは、ユーザの指の先端が姿勢データをキャプチャしているセンサに視認可能であるようにコーヒーマグを保持しているが、手及び指の近位領域は、姿勢データをキャプチャしているセンサから隠れるようにマグの後ろに位置決めされる。この例では、コンピュータシステムは、検出された指の先端、ユーザの手首、又はそれらの組み合わせに基づく補間関数を実行して、ユーザの指及び手の背面の大まかな姿勢を判定することができる。この情報を使用して、これらの特徴の姿勢の確実性を増大させることができる。例えば、これらの特徴は、これらの特徴の姿勢の非常に高い確実性(例えば、99%、95%、90%の確実性)を示す可変表示特性を用いて表すことができる。
いくつかの実施形態では、姿勢データは、コンピュータシステム(例えば、101)のユーザの外観に関する情報をキャプチャした先行スキャンデータ(例えば、以前の身体スキャン又は顔スキャンからのデータ(例えば、深度データ))から生成されたデータを含む。いくつかの実施形態では、スキャンデータは、ユーザの身体又は顔のスキャンから生成されたデータ(例えば、深度データ)を含む。例えば、これは、デバイス(例えば、スマートフォン、スマートウォッチ、又はHMD)をロック解除する又はそれにアクセスするための顔スキャンから導出される、あるいは、深度データを含む写真及びビデオを含むメディアライブラリから導出される、データであり得る。いくつかの実施形態では、先行スキャンデータから生成された姿勢データを使用して姿勢データを補足し、ユーザの部分の現在の姿勢(例えば、ユーザの既知の部分の姿勢に基づく)の理解を増大させることができる。例えば、ユーザの前腕部が既知の長さ(長さ28インチなど)である場合、それにより、肘及び前腕部の一部の位置及びそれらの角度に基づいて、可能性のある手の位置を判定することができる。いくつかの実施形態では、先行スキャンデータから生成された姿勢データを使用して(例えば、目の色、顎の形状、耳の形状などを提供することによって)、コンピュータシステムのセンサには視認可能でないユーザの部分の複製の視覚的忠実性を増大させることができる。例えば、ユーザが耳を覆う帽子を着用している場合、先行スキャンデータを使用して、ユーザの耳の姿勢データを導出するために使用することができる先行スキャンに基づいて、ユーザの耳の姿勢(例えば、位置及び/又は向き)の確実性を増大させることができる。いくつかの実施形態では、ユーザの部分の複製を生成するデバイスは、デバイス(例えば、スマートフォン、スマートウォッチ、HMD)とは別個であり、顔スキャンからのデータは、(例えば、デバイス間でデータを共有すべきか否かをユーザが決定するための1つ以上の選択肢を用いて安全かつ秘密裡に)ユーザの部分の複製を構築する際に使用するために、ユーザの部分の複製を生成するデバイスに提供される。いくつかの実施形態では、ユーザの部分の複製を生成するデバイスは、デバイス(例えば、スマートフォン、スマートウォッチ、HMD)と同じであり、顔スキャンからのデータは、ユーザの部分の複製を構築する際に使用するために、ユーザの部分の複製を生成するデバイスに提供される(例えば、顔のスキャンは、ユーザの部分の複製を生成するHMDをロック解除するために使用される)。
いくつかの実施形態では、姿勢データは、先行メディアデータ(例えば、ユーザの写真及び/又はビデオ)から生成されたデータを含む。いくつかの実施形態では、先行メディアデータは、画像データを含み、任意選択で、ユーザの以前にキャプチャされた写真及び/又はビデオに関連付けられた深度データを含む。いくつかの実施形態では、先行メディアデータを使用して姿勢データを補足し、ユーザの部分の現在の姿勢の確実性を増大させることができる。例えば、ユーザが姿勢データをキャプチャしているセンサから目を隠す眼鏡を着用している場合、先行メディアデータを使用して、ユーザの目の姿勢データを導出するために(例えば、デバイス間でデータを共有すべきか否かをユーザが決定するための1つ以上の選択肢を用いてセキュアに及び秘密裡に)アクセスすることができる既存の写真及び/又はビデオに基づいて、ユーザの目の姿勢(例えば、位置及び/又は向き)の確実性を増大させることができる。
いくつかの実施形態では、姿勢データは、ユーザの少なくとも第1の部分(例えば、701-1)を含むビデオデータ(例えば、ビデオフィード)を含む。いくつかの実施形態では、アバターを提示することは、ユーザの第1の部分を含むビデオデータを使用してレンダリングされたそれぞれのアバター特徴(例えば、アバターの口724、アバターの右目723-1)を含むモデル化されたアバター(例えば、721)(例えば、アバターの三次元コンピュータ生成モデル)を提示することを含む。いくつかの実施形態では、モデル化されたアバターは、三次元コンピュータ生成アバターであり、それぞれのアバター特徴は、モデル化されたアバター上にマッピングされたユーザの第1の部分のビデオフィードとしてレンダリングされる。例えば、アバターは、ユーザの目のビデオフィードとして示される目を含む三次元模倣アバターモデル(例えば、緑色)であってもよい。
いくつかの実施形態では、アバターを提示することは、1)(例えば、アバターを表現させる前、その間、又はその後に)アバターの第1のレンダリング値(例えば、低いレンダリング値)を示す入力を受信したという判定に従って、それぞれのアバター特徴、及びそれぞれのアバター特徴以外の第1の量(例えば、パーセント、量)のアバター特徴を用いてアバターを提示することと、2)(例えば、アバターを表現させる前、その間、又はその後に)第1のレンダリング値とは異なる、アバターの第2のレンダリング値(例えば、高いレンダリング値)を示す入力を受信したという判定に従って、それぞれのアバター特徴、及びそれぞれのアバター特徴以外の、第1の量とは異なる(例えば、それよりも大きい)第2の量(例えば、パーセント、量)のアバター特徴を用いてアバターを提示することと、を含む。第1のレンダリング値とは異なる、アバターの第2のレンダリング値を示し、それぞれのアバター特徴、及び第1の量とは異なる、それぞれのアバターの特徴以外の第2の量のアバター特徴を用いてアバターを提示することにより、それらの特徴の姿勢の確実性が高い場合であっても、それらの特徴の表示が望まれないときには、アバター特徴の生成及び表示を取り止めることによって、計算リソースが節約される(それによって、使用電力が低減され、バッテリ寿命が改善される)。
いくつかの実施形態では、レンダリング値は、ユーザの第1の部分に対応しないアバターの量をレンダリングするというユーザの好みを示す。言い換えれば、レンダリング値は、(それぞれのアバター特徴以外の)表示すべきアバターの量を選択するために使用される。例えば、レンダリング値は、スケールの一端では、ユーザの追跡される特徴(例えば、それぞれのアバター特徴)に対応するもの以外のアバターの部分がレンダリングされず、スケールの他端では、アバターの全体がレンダリングされる、スライドスケールから選択することができる。例えば、ユーザの第1の部分がユーザの手であり、最も低いレンダリング値が選択される場合、アバターは、浮遊している手として現れる(それぞれのアバター特徴は、ユーザの手に対応する手となる)。レンダリング値を選択することにより、ユーザがアバターの外観をカスタマイズして、追跡されるユーザ特徴に対応するアバターの部分とそれに対応しないものとの間のコントラストを増大又は低減することが可能になる。これにより、ユーザは、アバターのどの部分がより信憑性が高いと信頼できるかをより容易に識別することができる。
いくつかの実施形態では、コンピュータシステム(例えば、101)は、表示生成コンポーネント(例えば、730)を介して、表示生成コンポーネントに関連付けられたユーザ(例えば、上述のユーザ、上述のユーザが表示生成コンポーネントに関連付けられていない場合には、第2のユーザ)の表現(例えば、735)を提示させ、表示生成コンポーネントに関連付けられたユーザの表現は、表示生成コンポーネントに関連付けられたユーザ以外の1人以上のユーザに提示される、表示生成コンポーネントに関連付けられたユーザの外観に対応する。1人以上の他のユーザに提示される表示生成コンポーネントに関連付けられたユーザの外観に対応する、表示生成コンポーネントに関連付けられたユーザの表現を提示させることにより、他のユーザにより閲覧されるようなユーザの外観の表示生成コンポーネントに関連付けられたフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、表示生成コンポーネントを閲覧しているユーザはまた、(例えば、異なる表示生成コンポーネント上で)別のユーザに提示される。例えば、2人のユーザは、仮想環境に提示される2つの異なるアバターとして、互いに通信しており、各ユーザは、それぞれの表示生成コンポーネント上で他のユーザを閲覧することができる。この例では、ユーザのうちの1人(例えば、第2のユーザ)の表示生成コンポーネントは、仮想環境内に、他のユーザ(例えば、第1のユーザ)の外観、並びに、他のユーザ(例えば、第1のユーザ)に提示される際の自身の外観を表している自分(例えば、第2のユーザ)の外観を表示する。
いくつかの実施形態では、アバターを提示することは、ユーザの第1の部分の第1の外観に基づく第1の外観を有するそれぞれのアバター特徴を用いてアバターを提示することを含む(例えば、ユーザの顎がきれいに剃られており、それぞれのアバター特徴は、きれいに剃られた外観を有するユーザの顎を表した)。いくつかの実施形態では、コンピュータシステム(例えば、101)は、ユーザの第1の部分の更新された外観を示すデータを受信し(例えば、現在、ユーザの顎にはひげがあることを示す最近の写真又はビデオを受信する)(例えば、現在、ユーザの顎にはひげがあることを示す最近の顔スキャンデータを受信する)、表示生成コンポーネント(例えば、730)を介して、ユーザの第1の部分の更新された外観に基づく更新された外観を有するそれぞれのアバター特徴を用いてアバター(例えば、721)を提示させる(例えば、現在、ユーザの顎にはひげがある)。ユーザの第1の部分の更新された外観に基づく更新された外観を有するそれぞれのアバター特徴を用いてアバターの表現を提示させることにより、アバターを手動で操作すること、又はユーザの第1の部分に更新を組み込む登録プロセスを実行することなく、それぞれのアバター特徴の現在の表現を介して、ユーザの第1の部分の正確な表現が提供される。これは、アバターのカスタム外観を編集又は提示するための改善された制御スキームを提供し、これは、アバターのカスタム外観を作成するために必要な入力を、異なる制御スキーム(例えば、アバターを構築又は訂正するために個々の制御点の操作を必要とする制御スキーム)が使用された場合で必要とされるよりも少なくすることができる。タスクを実行するために必要な入力の数を低減することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する/コンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、アバターの外観は、最近キャプチャされた画像又はスキャンデータに基づいて、ユーザの更新された外観(例えば、新しいヘアカット、ひげなど)に一致するように更新される。いくつかの実施形態では、ユーザの第1の部分の更新された外観を示すデータは、例えば、デバイスをロック解除するときなど、別個の動作でキャプチャされる。いくつかの実施形態では、データは、コンピュータシステムとは別個のデバイス上で収集される。例えば、データは、ユーザがスマートフォン、タブレット、又は他のコンピュータなどのデバイスをロック解除するときに収集され、データは、データを(デバイス間で)共有すべきか否かをユーザが決定するための1つ以上の選択肢を用いて、その後の使用のために、セキュアに又は秘密裡に)ユーザのデバイスからコンピュータシステムに通信される。そのようなデータは、個人識別可能な情報をセキュアにするための業界標準に準拠している方法で送信され、記憶される。
いくつかの実施形態では、姿勢データは、ユーザの第1の部分に関連付けられたオブジェクト(例えば、702、805)を更に表す(例えば、ユーザがカップを保持している、ユーザが壁にもたれている、ユーザが椅子に座っている)。いくつかの実施形態では、アバターを提示することは、それぞれのアバター特徴に隣接する(例えば、それに重複している、その前にある、それと接触している、それと相互作用している)オブジェクトの表現と共にアバターを提示することを含む(例えば、図8Cの825)。それぞれのアバター特徴に隣接するオブジェクトの表現と共にアバターを提示することにより、ユーザの第1の部分の姿勢のコンテキストに関するフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、ユーザが相互作用しているオブジェクトの表現を含むように、アバターが修正される(例えば、図8Cでは、アバター721は、壁レンダリング825も含む)。これにより、(ユーザの姿勢に基づき得る)アバターの姿勢のコンテキストを提供することにより通信が改善される。例えば、ユーザがカップを保持している場合、アバターの手にカップの表現を含むように、それぞれのアバター特徴(例えば、アバターの腕)が修正される。別の例として、ユーザが壁にもたれている場合、壁の少なくとも一部分の表現を含むように、それぞれのアバター特徴(例えば、アバターの肩及び/又は腕)が修正される。更に別の例として、ユーザが椅子に座っている又は机に位置決めされる場合、椅子及び/又は机の少なくとも一部分の表現を含むように、それぞれのアバター特徴(例えば、アバターの脚及び/又は腕)が修正される。いくつかの実施形態では、ユーザが相互作用しているオブジェクトは、仮想オブジェクトである。いくつかの実施形態では、ユーザが相互作用しているオブジェクトは、現実のオブジェクトである。いくつかの実施形態では、オブジェクトの表現は、仮想オブジェクトとして表される。いくつかの実施形態では、オブジェクトの表現は、オブジェクトを示しているビデオフィードを使用して表される。
いくつかの実施形態では、ユーザの第1の部分の姿勢は、第5の確実性値に関連付けられる。いくつかの実施形態では、アバター(例えば、721)を提示することは、ユーザの第1の部分が第1の特徴タイプである(例えば、701-1はユーザの首及び襟部領域を含む)(例えば、通信にとって重要ではないと見なされるタイプの特徴)という判定に従って、第5の確実性値よりも低い確実性値を示す可変表示特性の値を有するそれぞれのアバター特徴を用いてアバターを提示することを含む(例えば、図7Cでは、アバターの首及び襟部領域727は、ハッチング725を用いて表示されている)(例えば、ユーザの第1の部分の姿勢の確実性が高いとしても、それぞれのアバター特徴は、ユーザの第1の部分の姿勢の低い確実性を示す値を有する可変表示特性を用いて提示される)。ユーザの第1の部分が第1の特徴タイプであるときに、第5の確実性値よりも低い確実性値を示す可変表示特性の値を有するそれぞれのアバター特徴を用いてアバターを提示することにより、これらの特徴の姿勢の確実性が高い場合であっても、これらの特徴が通信目的にとってあまり重要でないときには、高い忠実性を有する特徴の生成及び表示を取り止めること(例えば、より低い忠実性で特徴をレンダリングすること)によって、計算リソースが節約される(それによって、使用電力が低減され、バッテリ寿命が改善される)。
いくつかの実施形態では、ユーザ特徴の姿勢の確実性が高いが、特徴が通信にとって重要ではないと見なされる場合、対応するアバター特徴は、低い確実性を示す可変表示特性を用いてレンダリングされる(例えば、可変表示特性を表すアバターの首及び襟部領域727は、図7Cでは、ハッチング725を用いて示される)(又は、少なくとも、ユーザ特徴に実際に関連付けられているよりも低い確実性)。例えば、カメラセンサは、ユーザの膝の位置をキャプチャすることができる(したがって、それらの位置の確実性が高い)が、膝は一般に通信目的にとって重要ではないと見なされるので、アバターの膝は、より低い確実性(例えば、より低い忠実性)を示す可変表示特性を用いて提示される。しかしながら、ユーザ特徴(例えば、ユーザの膝)が通信にとって重要になる場合、それぞれのアバター特徴(例えば、アバターの膝)の可変表示特性(例えば、忠実性)の値は、ユーザ特徴(例えば、膝)の姿勢の確実性を正確に反映するように調整(例えば、増加)される。いくつかの実施形態では、特徴が通信にとって重要ではないと見なされるときにより低い確実性を示す値を有する可変表示特性を用いてそれぞれのアバター特徴をレンダリングすることは、一般に、それぞれのアバター特徴を可変表示特性にレンダリングするときに、それぞれのアバター特徴を、高い確実性を示す値(例えば、それぞれのアバター特徴の高忠実性表現)を有する可変表示特性に拡張される計算リソースを確保する。ユーザ特徴は、通信にとって重要ではないと見なされるので、通信の有効性を犠牲にすることなく、計算リソースを確保することができる。
いくつかの実施形態では、ユーザの第1の部分の姿勢は、第6の確実性値に関連付けられる。いくつかの実施形態では、アバター(例えば、721)を提示することは、ユーザの第1の部分が第2の特徴タイプ(例えば、図7Aのユーザの左目)(例えば、通信にとって重要であると見なされるタイプの特徴(例えば、手、口、目))であるという判定に従って、第6の確実性値よりも高い確実性値を示す可変表示特性の値を有するそれぞれのアバター特徴を用いてアバターを提示することを更に含む(例えば、図7Cでは、アバターの左目723-2はハッチングなしで提示されている)(例えば、ユーザの第1の部分の姿勢の確実性が高くないとしても、それぞれのアバター特徴は、ユーザの第1の部分の姿勢の高い確実性を示す値を有する可変表示特性を用いて提示される)。ユーザの第1の部分が第2の特徴タイプであるときに、第6の確実性値よりも高い確実性値を示す可変表示特性の値を有するそれぞれのアバター特徴を用いてアバターを提示することにより、アバター特徴(特に、通信目的にとって重要なもの)を比較的低い忠実性でレンダリングすることにより引き起こされる散漫を低減することによって、コンピュータシステムを使用する通信を向上させる。これにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがコンピュータシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、ユーザ特徴の姿勢の確実性が高くないが、特徴が通信にとって重要であると見なされる場合、非常に高い確実性を示す値を有する可変表示特性を用いて対応するアバター特徴がレンダリングされる(例えば、アバターの左目723-2は、図7Cでは、ハッチングなしでレンダリングされている)(又は、少なくとも、ユーザ特徴に実際に関連付けられているよりも高い確実性)。例えば、ユーザの口は、通信にとって重要であると見なされる。したがって、例えば、ユーザの口の姿勢の確実性は75%、80%、85%、90%であり得るとしても、それぞれのアバター特徴は、高い確実性(例えば、100%、97%、95%の確実性)(例えば、高忠実性)を示す可変表示特性を用いてレンダリングされる。いくつかの実施形態では、正確な確実度レベルを示す値を有する可変表示特性を用いて対応するアバター特徴をレンダリングすることは(例えば、ユーザを散漫にすることによって)通信を阻害するので、より低い確実性にもかかわらず、通信にとって重要であると見なされる特徴は、より高い確実性を示す値を有する可変表示特性(例えば、それぞれのアバター特徴の高忠実性表現)を用いてレンダリングされる。
いくつかの実施形態では、非常に高程度の確実性(又は非常に高い確実性)は、90%、95%、97%、又は99%の確実性など、所定の(例えば、第1の)確実性閾値を上回る確実性の量を指し得る。いくつかの実施形態では、高程度の確実性(又は高い確実性)は、75%、80%、又は85%の確実性など、所定の(例えば、第2の)確実性閾値を上回る確実性の量を指し得る。いくつかの実施形態では、高程度の確実性は、任意選択的に、非常に高程度確実性よりも低いが、比較的高程度の確実性よりも高い。いくつかの実施形態では、比較的高程度の確実性(又は比較的高い確実性)は、60%、65%、又は70%の確実性など、所定の(例えば、第3の)確実性閾値を上回る確実性の量を指し得る。いくつかの実施形態では、比較的高程度の確実性は、任意選択的に、高程度の確実性及び/又は非常に高い確実性よりも低いが、低程度の確実性よりも高い。いくつかの実施形態では、比較的低程度の確実性(又は比較的低い確実性)は、40%、45%、50%、又は55%の確実性など、所定の(例えば、第4の)確実性閾値を下回る確実性の量を指し得る。いくつかの実施形態では、比較的低程度の確実性は、比較的高程度の確実性、高程度の確実性、及び/又は非常に高程度の確実性よりも低いが、任意選択的に、低程度の確実性よりも高い。いくつかの実施形態では、低程度の確実性(又は低い確実性、又はわずかな確実性)は、45%、50%、55%、60%、65%、70%、75%、又は80%の確実性など、所定の確実性閾値を下回る確実性の量を指し得る。いくつかの実施形態では、低程度の確実性は、比較的低程度の確実性、比較的高程度の確実性、高程度の確実性、及び/又は非常に高程度の確実性よりも低いが、任意選択的に、非常に低程度の確実性よりも高い。いくつかの実施形態では、非常に低程度の確実性(又は非常に低い確実性、又は非常にわずかな確実性)は、5%、15%、20%、30%、40%、又は45%の確実性など、所定の(例えば、第5の)確実性閾値を下回る確実性の量を指し得る。いくつかの実施形態では、非常に低程度の確実性は、低程度の確実性、比較的低程度の確実性、比較的高程度の確実性、高程度の確実性、及び/又は非常に高程度の確実性よりも低い。
図10A~図10B、図11A~図11B、及び図12は、異なる外観テンプレートに基づく外観を有する仮想アバターキャラクタとして、ユーザがCGR環境内に表される例を示す。いくつかの実施形態では、アバターは、キャラクタテンプレート又は抽象テンプレートに基づく外観を有する。いくつかの実施形態では、アバターは、姿勢を変更することによって外観を変更する。いくつかの実施形態では、アバターは、キャラクタテンプレートと抽象テンプレートとの間の移行に基づく外観を有する。本明細書に開示されるプロセスは、上述のように、コンピュータシステム(例えば、図1のコンピュータシステム101)を使用して実装される。
図10Aは、現実環境に位置する4人の異なるユーザを示す。ユーザAは現実環境1000-1内に、ユーザBは現実環境1000-2内に、ユーザCは現実環境1000-3内に、ユーザDは現実環境1000-4内にいる。いくつかの実施形態では、現実環境1000-1~1000-4は、異なる現実環境(例えば、異なる場所)である。いくつかの実施形態では、現実環境1000-1~1000-4のうちの1つ以上は、同じ環境である。例えば、現実環境1000-1は、現実環境1000-4と同じ現実環境であってもよい。いくつかの実施形態では、現実環境1000-1~1000-4のうちの1つ以上が、同じ環境内の異なる場所であってもよい。例えば、現実環境1000-1は、部屋の第1の位置であり得、現実環境1000-4は、同じ部屋の第2の位置であってもよい。
いくつかの実施形態では、現実環境1000-1~1000-4は、現実環境700と同様であり、かつ、ユーザの1つ以上の部分の姿勢を判定するために使用することができるデータ(例えば、画像データ及び/又は深度データ)をキャプチャするためのカメラ705-1~705-4と同様のカメラ1005-1~1005-5を含む、モーションキャプチャスタジオである。コンピュータシステムは、ユーザの1つ以上の部分の判定された姿勢を使用して、特定の姿勢及び/又は外観テンプレートを有するアバターを表示する。いくつかの実施形態では、コンピュータシステムは、異なる基準に基づいて決定された外観テンプレートを有するアバターとして、CGR環境内にユーザを提示する。例えば、いくつかの実施形態では、コンピュータシステムは、(例えば、ユーザの1つ以上の部分の姿勢に基づいて)それぞれのユーザが実行している活動のタイプを判定し、コンピュータシステムは、ユーザが実行している活動のタイプに基づいて決定された外観テンプレートを有するアバターとして、CGR環境内にユーザを提示する。いくつかの実施形態では、コンピュータシステムは、コンピュータシステムのユーザの焦点位置(例えば、視線位置)に基づいて決定された外観テンプレートを有するアバターとして、CGR環境内にユーザを提示する。例えば、ユーザが、第2のアバターではなく第1のアバターに焦点を合わせている(例えば、第1のアバターを見ている)とき、第1の外観テンプレート(例えば、キャラクタテンプレート)を有する第1のアバターが提示され、第2の外観テンプレート(例えば、抽象テンプレート)を有する第2のアバターが提示される。ユーザが第2のアバターに焦点を移動させると、第1の外観テンプレートを有する第2のアバターが提示され(第2のアバターは、第2の外観テンプレートから第1の外観テンプレートに移行する)、第2の外観テンプレートを有する第1のアバターが提示される(第1のアバターは、第1の外観テンプレートから第2の外観テンプレートに移行する)。
図10Aには、腕を上げ、話している状態の、現実環境1000-1内のユーザAが示されている。カメラ1005-1及び1005-2は、ユーザAが会話している際のそれぞれの視野1007-1及び1007-2内のユーザAの部分の姿勢をキャプチャする。テーブル上のアイテム1006に手を伸ばしている現実環境1000-2内のユーザBが示されている。カメラ1005-3は、ユーザBがアイテム1006に手を伸ばしている際に、視野1007-3内のユーザBの部分の姿勢をキャプチャする。本1008を読んでいる現実環境1000-3のユーザCが示されている。カメラ1005-4は、ユーザCが読書している際に、視野1007-4内のユーザCの部分の姿勢をキャプチャする。腕を上げ、話している状態の、現実環境1000-4内のユーザDが示されている。カメラ1005-5は、ユーザDが会話している際の視野1007-5内のユーザDの部分の姿勢をキャプチャする。いくつかの実施形態では、ユーザAとDとが、互いと会話している。いくつかの実施形態では、ユーザA及びDは、コンピュータシステムのユーザなどの第三者と会話している。
カメラ1005-1~1005-5は、上述のカメラ705-1~705-4と同様である。したがって、カメラ1005-1~1005-5は、図7A~図7C、図8A~図8C、及び図9に関して上述したものと同様に、それぞれのユーザA、B、C、及びDの部分の姿勢をキャプチャする。簡潔にするために、以下では詳細は繰り返さない。
カメラ1005-1~1005-5は、ユーザA、B、C、及びDの部分の姿勢をキャプチャするためのデバイスの非限定的な例として記載されている。したがって、他のセンサ及び/又はデバイスを、カメラ1005-1~1005-5のうちのいずれかに加えて、又はその代わりに使用して、ユーザの部分の姿勢をキャプチャすることができる。そのような他のセンサ及び/又はデバイスの例は、図7A~図7C、図8A~図8C、及び図9に関して上述されている。簡潔にするために、これらの実施例の詳細は、以下では繰り返さない。
ここで図10Bを参照すると、コンピュータシステムは、カメラ1005-1~1005-5を使用して生成されたセンサデータを受信し、表示生成コンポーネント1030を介して、CGR環境1020内にアバター1010-1~1010-4を表示する。いくつかの実施形態では、表示生成コンポーネント1030は、表示生成コンポーネント120及び表示生成コンポーネント730と同様である。
アバター1010-1、1010-2、1010-3、及び1010-4は、CGR環境1020内のユーザA、ユーザB、ユーザC、及びユーザDをそれぞれ表す。図10Bには、キャラクタテンプレートに基づく外観を有するアバター1010-1及びアバター1010-4が表示され、抽象テンプレートに基づく外観を有するアバター1010-2及びアバター1010-3が表示されている。いくつかの実施形態では、キャラクタテンプレートは、アバターの顔、腕、手、又は人体の一部分に対応する他のアバター特徴などの表情特徴を含むが、抽象テンプレートは、そのような特徴を含まない、又はそのような特徴は識別不能である。いくつかの実施形態では、抽象テンプレートに基づく外観を有するアバターは、不定形の形状を有する。
コンピュータシステムは、いくつかの実施形態ではそれぞれのユーザA、B、C、及びDの姿勢に基づいて、アバター1010-1~1010-4の外観を決定する。例えば、いくつかの実施形態では、(例えば、ユーザの姿勢に基づいて)ユーザが第1のタイプの活動を実行しているとコンピュータシステムが判定した場合、コンピュータシステムは、キャラクタテンプレートに基づく外観を有する対応するアバターをレンダリングする。逆に、ユーザが第2の(異なる)タイプの活動を実行しているとコンピュータシステムが判定した場合、コンピュータシステムは、抽象テンプレートに基づく外観を有する対応するアバターをレンダリングする。
いくつかの実施形態では、第1のタイプの活動は、対話型活動(例えば、他のユーザとの相互作用に関与する活動)であり、第2のタイプの活動は、非対話型活動(例えば、他のユーザとの相互作用に関与しない活動)である。いくつかの実施形態では、第1のタイプの活動は、特定の場所(例えば、コンピュータシステムのユーザと同じ場所)で実行される活動であり、第2のタイプの活動は、異なる場所(例えば、コンピュータシステムのユーザから遠隔の場所)において実行される活動である。いくつかの実施形態では、第1のタイプの活動は、マニュアル活動(例えば、オブジェクトに接触すること、オブジェクトを保持すること、オブジェクトを移動すること、又はオブジェクトを使用することなど、ユーザの手に関与する活動)であり、第2のタイプの活動は、非マニュアル活動(例えば、一般にユーザの手に関与しない活動)である。
図10A及び図10Bに示される実施形態では、コンピュータシステムは、キャラクタテンプレートに基づく外観を有するアバター1010-1として、CGR環境1020内にユーザAを表す。いくつかの実施形態では、コンピュータシステムは、図10AのユーザAの姿勢を検出したことに応答して、キャラクタテンプレートに基づく外観を有するアバター1010-1を提示する。例えば、いくつかの実施形態では、コンピュータシステムは、カメラ1005-1、及び任意選択でカメラ1005-2を使用してキャプチャされた姿勢データに基づいて、ユーザAが会話していると判定する。いくつかの実施形態では、コンピュータシステムは、会話を対話型活動タイプであると見なし、したがって、キャラクタテンプレートに基づく外観を有するアバター1010-1を提示する。別の例として、いくつかの実施形態では、コンピュータシステムは、姿勢データ(例えば、姿勢データの位置成分)に基づいて、ユーザAがコンピュータシステムのユーザと同じ場所にいると判定し、したがって、キャラクタテンプレートに基づく外観を有するアバター1010-1を提示する。いくつかの実施形態では、コンピュータシステムのユーザがアバター1010-1に焦点を合わせている(例えば、アバター1010-1を見ている)とコンピュータシステムが判定するので、コンピュータシステムは、キャラクタテンプレートに基づく外観を有するアバター1010-1を提示する。
図10A及び図10Bに示される実施形態では、コンピュータシステムは、抽象テンプレートに基づく外観を有するアバター1010-2として、CGR環境1020内にユーザBを表す。いくつかの実施形態では、コンピュータシステムは、図10AのユーザBの姿勢を検出したことに応答して、抽象テンプレートに基づく外観を有するアバター1010-2を提示する。例えば、いくつかの実施形態では、コンピュータシステムは、カメラ1005-3を使用してキャプチャされた姿勢データに基づいて、ユーザBがオブジェクト1006に手を伸ばしていると判定する。いくつかの実施形態では、コンピュータシステムは、これを非対話型の活動である(例えば、ユーザBは、別のユーザとの相互作用以外のことを行っている)と見なし、したがって、抽象テンプレートに基づく外観を有するアバター1010-2を提示する。いくつかの実施形態では、コンピュータシステムは、(例えば、現在、ユーザBの手には何もないので)これを非マニュアル活動であると見なし、したがって、抽象テンプレートに基づく外観を有するアバター1010-2を提示する。別の例として、いくつかの実施形態では、コンピュータシステムは、姿勢データ(例えば、姿勢データの位置成分)に基づいて、ユーザBがコンピュータシステムのユーザから遠隔の場所にいると判定し、したがって、抽象テンプレートに基づく外観を有するアバター1010-2を提示する。いくつかの実施形態では、コンピュータシステムのユーザがアバター1010-2に焦点を合わせていない(例えば、アバター1010-2を見ていない)とコンピュータシステムが判定するので、コンピュータシステムは、抽象テンプレートに基づく外観を有するアバター1010-2を提示する。
図10A及び図10Bに示される実施形態では、コンピュータシステムは、抽象テンプレートに基づく外観を有するアバター1010-3として、CGR環境1020内にユーザCを表す。いくつかの実施形態では、抽象テンプレートは、異なる抽象的外観を有することができる。したがって、アバター1010-2と1010-3は両方とも、抽象テンプレートに基づいているが、互いに異なる外観であってもよい。例えば、抽象テンプレートは、不定形の塊又は異なる抽象的形状など、異なる外観を含むことができる。いくつかの実施形態では、異なる抽象的外観を提供する異なる抽象テンプレートが存在し得る。いくつかの実施形態では、コンピュータシステムは、図10AのユーザCの姿勢を検出したことに応答して、抽象テンプレートに基づく外観を有するアバター1010-3を提示する。例えば、いくつかの実施形態では、コンピュータシステムは、カメラ1005-4を使用してキャプチャされた姿勢データに基づいて、ユーザCが本1008を読んでいると判定する。いくつかの実施形態では、コンピュータシステムは、読書を非対話型の活動であると見なし、したがって、抽象テンプレートに基づく外観を有するアバター1010-3を提示する。別の例として、いくつかの実施形態では、コンピュータシステムは、姿勢データ(例えば、姿勢データの位置成分)に基づいて、ユーザCがコンピュータシステムのユーザから遠隔の場所にいると判定し、したがって、抽象テンプレートに基づく外観を有するアバター1010-3を提示する。いくつかの実施形態では、コンピュータシステムのユーザがアバター1010-3に焦点を合わせていない(例えば、アバター1010-3を見ていない)とコンピュータシステムが判定するので、コンピュータシステムは、抽象テンプレートに基づく外観を有するアバター1010-3を提示する。
図10A及び図10Bに示される実施形態では、コンピュータシステムは、キャラクタテンプレートに基づく外観を有するアバター1010-4として、CGR環境1020内にユーザDを表す。いくつかの実施形態では、コンピュータシステムは、図10AのユーザDの姿勢を検出したことに応答して、キャラクタテンプレートに基づく外観を有するアバター1010-4を提示する。例えば、いくつかの実施形態では、コンピュータシステムは、カメラ1005-5を使用してキャプチャされた姿勢データに基づいて、ユーザDが会話していると判定する。いくつかの実施形態では、コンピュータシステムは、会話を対話型活動タイプであると見なし、したがって、キャラクタテンプレートに基づく外観を有するアバター1010-4を提示する。別の例として、いくつかの実施形態では、コンピュータシステムは、姿勢データ(例えば、姿勢データの位置成分)に基づいて、ユーザDがコンピュータシステムのユーザと同じ場所にいると判定し、したがって、キャラクタテンプレートに基づく外観を有するアバター1010-4を提示する。いくつかの実施形態では、コンピュータシステムのユーザがアバター1010-4に焦点を合わせている(例えば、アバター1010-4を見ている)とコンピュータシステムが判定するので、コンピュータシステムは、キャラクタテンプレートに基づく外観を有するアバター1010-4を提示する。
いくつかの実施形態では、キャラクタテンプレートに基づく外観を有するアバターは、対応するユーザの姿勢に基づいて決定される姿勢を有する提示される。例えば、図10Bでは、アバター1010-1は、ユーザAについて判定された姿勢と一致する姿勢を有し、アバター1010-4は、ユーザDについて判定された姿勢と一致する姿勢を有する。いくつかの実施形態では、キャラクタテンプレートに基づく外観を有するアバターの姿勢は、図7A~図7C、図8A~図8C、及び図9に関して上述したものと同様に決定される。例えば、視野1007-1及び1007-2内で検出されたユーザAの部分の姿勢に基づいて決定された姿勢を有するアバター1010-1が表示される。ユーザAの身体全体がカメラの視野内にあるので、コンピュータシステムは、図10Bのアバター1010-1に破線がないことによって示されるように、最大確実性でアバター1010-1の対応する部分の姿勢を決定する。別の例として、カメラ1005-5の視野1007-5内で検出されたユーザDの部分の姿勢に基づいて決定された姿勢を有するアバター1010-4が表示される。ユーザDの脚は視野1007-5の外側にあるので、コンピュータシステムは、(最大確実性よりも低い)一定程度の不確実性で、アバター1010-4の脚の姿勢を決定し、図10Bに示すように、判定された姿勢を有するアバター1010-4とアバターの脚に破線1015で表される可変表示特性とを提示する。簡潔にするために、アバターの姿勢を決定し、可変表示特性を表示するための更なる詳細は、図10A、図10B、図11A、及び図11Bに関して論じられる全ての実施形態については繰り返さない。
いくつかの実施形態では、コンピュータシステムは、ユーザの姿勢変化に基づいてアバターの外観を更新する。いくつかの実施形態では、外観の更新は、異なる外観テンプレート間の移行を伴わないアバターの姿勢変化を含む。例えば、ユーザが腕を上げ、次いで下げたことを検出したことに応答して、コンピュータシステムは、対応するアバターの腕を上げ、次いで下げることによって、(例えば、リアルタイムで)ユーザと共に姿勢を変更するアバターキャラクタとして、アバターを提示する。いくつかの実施形態では、アバターの外観の更新は、ユーザの姿勢変化に基づく異なる外観テンプレート間の移行を含む。例えば、第1の活動タイプに対応する姿勢から第2の活動タイプに対応する姿勢にユーザが変化したことを検出したことに応答して、コンピュータシステムは、第1の外観テンプレート(例えば、キャラクタテンプレート)から第2の外観テンプレート(例えば、抽象テンプレート)に移行するアバターを提示する。更新された外観を有するアバターの例は、図11A及び図11Bに関して以下でより詳細に論じられる。
図11A及び図11Bは、図10A及び図10Bと同様であるが、ユーザA、ユーザB、ユーザC、及びユーザDは、更新された姿勢を有し、対応するアバター1010-1~1010-4は、更新された外観を有している。例えば、ユーザは、図10Aの姿勢から図11Aの姿勢に移動し、コンピュータシステムは、それに応答して、図10Bに示される外観から図11Bに示される外観へのアバターの外観を変更した。
図11Aを参照すると、依然として会話をしながら、右腕を下げ、頭部を前方に回している状態のユーザAが示されている。頭部が前に向いている状態でアイテム1006を保持しているユーザBが示されている。ユーザCは、本1008をユーザCの横に下げた状態で、手を振り、話している。ユーザDは、腕を下げた状態で横を見ている。
図11Bでは、コンピュータシステムは、アバター1010-1~1010-4の外観を更新している。具体的には、キャラクタテンプレートに基づく外観を有するアバター1010-1が表示されたままであり、アバター1010-2及びアバター1010-3は、抽象テンプレートに基づく外観からキャラクタテンプレートに基づく外観に移行しており、アバター1010-4は、キャラクタテンプレートに基づく外観から抽象テンプレートに基づく外観に移行している。
いくつかの実施形態では、コンピュータシステムは、図11AのユーザAの姿勢を検出したことに応答して、キャラクタテンプレートに基づく外観を有するアバター1010-1を示す。例えば、いくつかの実施形態では、コンピュータシステムは、カメラ1005-1、及び任意選択でカメラ1005-2を使用してキャプチャされた姿勢データに基づいて、依然としてユーザAが会話していると判定する。いくつかの実施形態では、コンピュータシステムは、会話を対話型活動タイプであると見なし、したがって、キャラクタテンプレートに基づく外観を有するアバター1010-1を提示する。別の例として、いくつかの実施形態では、コンピュータシステムは、姿勢データ(例えば、姿勢データの位置成分)に基づいて、ユーザAがコンピュータシステムのユーザと同じ場所にいると判定し、したがって、キャラクタテンプレートに基づく外観を有するアバター1010-1を提示する。いくつかの実施形態では、コンピュータシステムのユーザがアバター1010-1に焦点を合わせている(例えば、アバター1010-1を見ている)とコンピュータシステムが判定するので、コンピュータシステムは、キャラクタテンプレートに基づく外観を有するアバター1010-1を提示する。
いくつかの実施形態では、コンピュータシステムは、図11AのユーザBの姿勢を検出したことに応答して、キャラクタテンプレートに基づく外観を有するアバター1010-2を示す。例えば、いくつかの実施形態では、コンピュータシステムは、カメラ1005-3を使用してキャプチャされた姿勢データに基づいて、アイテム1006を振ることによってユーザBが他のユーザと相互作用していると判定し、したがって、キャラクタテンプレートに基づく外観を有するアバター1010-2を提示する。いくつかの実施形態では、コンピュータシステムは、カメラ1005-3を使用してキャプチャされた姿勢データに基づいて、アイテム1006を保持することによってユーザBがマニュアル活動を実行していると判定し、したがって、キャラクタテンプレートに基づく外観を有するアバター1010-2を提示する。いくつかの実施形態では、現在、コンピュータシステムのユーザが現在アバター1010-2に焦点を合わせている(例えば、アバター1010-2を見ている)とコンピュータシステムが判定するので、コンピュータシステムは、キャラクタテンプレートに基づく外観を有するアバター1010-2を提示する。
いくつかの実施形態では、コンピュータシステムは、図11AのユーザCの姿勢を検出したことに応答して、キャラクタテンプレートに基づく外観を有するアバター1010-3を示す。例えば、いくつかの実施形態では、コンピュータシステムは、カメラ1005-4を使用してキャプチャされた姿勢データに基づいて、手を振ること及び/又は話すことによってユーザCが他のユーザと相互作用していると判定し、したがって、キャラクタテンプレートに基づく外観を有するアバター1010-3を提示する。いくつかの実施形態では、現在、コンピュータシステムのユーザが現在アバター1010-3に焦点を合わせている(例えば、アバター1010-3を見ている)とコンピュータシステムが判定するので、コンピュータシステムは、キャラクタテンプレートに基づく外観を有するアバター1010-3を提示する。
いくつかの実施形態では、コンピュータシステムは、図11AのユーザDの姿勢を検出したことに応答して、抽象テンプレートに基づく外観を有するアバター1010-4を示す。例えば、いくつかの実施形態では、コンピュータシステムは、カメラ1005-5を使用してキャプチャされた姿勢データに基づいて、ユーザDが手を下ろしているので、目を逸らしているので、及び/又は、もはや話していないので、ユーザDがもはや他のユーザと相互作用していないと判定する。したがって、コンピュータシステムは、抽象テンプレートに基づく外観を有するアバター1010-4を提示する。いくつかの実施形態では、コンピュータシステムのユーザがもはやアバター1010-4に焦点を合わせていない(例えば、アバター1010-4を見ていない)とコンピュータシステムが判定するので、コンピュータシステムは、抽象テンプレートに基づく外観を有するアバター1010-4を提示する。
図11Bに示すように、コンピュータシステムは、図11Aで検出されたユーザ姿勢に基づいて、それぞれのアバターの姿勢を更新する。例えば、コンピュータシステムは、図11AのユーザAの姿勢に一致するようにアバター1010-1の姿勢を更新する。いくつかの実施形態では、コンピュータシステムのユーザは、アバター1010-1に焦点を合わせていないが、アバター1010-1がコンピュータシステムのユーザと同じ場所にいるので、又は、コンピュータシステムのユーザが会話しており、いくつかの実施形態ではコンピュータシステムが対話型活動と見なすので、アバター1010-1は依然として、キャラクタテンプレートに基づく外観を有する。
図11Bに示すように、コンピュータシステムはまた、キャラクタテンプレートに基づき、かつ、図11AのユーザBの姿勢に基づいて決定された姿勢を有する外観を有するように、アバター1010-2の外観を更新する。ユーザBのいくつかの部分は、視野1007-3の外側にあるので、コンピュータシステムは、アバター1010-2の右腕及び両脚の破線1015によって示されるように、一定程度の不確実性で、アバター1010-2の対応する部分の姿勢を決定する。また、ユーザBの右腕が視野1007-3の外側にあるので、図11AのユーザBの右腕の実際の姿勢とは異なる姿勢を有する右腕が示されており、図11Bに示される姿勢は、コンピュータシステムによって決定(推定)されるアバター1010-2の右腕の姿勢である。いくつかの実施形態では、アイテム1006が視野1007-3内にあるので、CGR環境1020内に図11Bの参照1006'によって示されるようにアイテム1006が表される。いくつかの実施形態では、アイテム1006は、CGR環境1020内に仮想オブジェクトとして表される。いくつかの実施形態では、アイテム1006は、CGR環境1020内に物理的オブジェクトとして表される。いくつかの実施形態では、アイテム1006がユーザBの手の中にあることをコンピュータシステムが検出するので、アバター1010-2の左手、及び任意選択的に、CGR環境1020内のアイテム1006の表現は、より高い忠実性で(例えば、アバター1010-2及び/又はCGR環境1020内の他のオブジェクトの他の部分よりも高い忠実性で)示される。
図11Bに示すように、コンピュータシステムはまた、キャラクタテンプレートに基づき、かつ、図11AのユーザCの姿勢に基づいて決定された姿勢を有する外観を有するように、アバター1010-3の外観を更新する。ユーザCのいくつかの部分は、視野1007-4の外側にあるので、コンピュータシステムは、アバター1010-3の左手及び両脚の破線1015によって示されるように、一定程度の不確実性で、アバター1010-3の対応する部分の姿勢を決定する。いくつかの実施形態では、コンピュータシステムは、図10Aの視野1007-3内では本1008を検出し、図11Aの視野1007-3内ではもはや、本1008又はユーザCの左手を検出しないので、コンピュータシステムは、本1008がユーザCの左手にある可能性があると判定し、したがって、CGR環境1020内に、図11Bの参照1008'によって示されるように本1008を表す。いくつかの実施形態では、コンピュータシステムは、任意選択で、現実環境1000-3内の本1008の存在及び姿勢の不確実性を示す可変表示特性を有する仮想オブジェクトとして本1008を表す。
本明細書に記載の実施形態では、コンピュータシステムのユーザについて言及する。いくつかの実施形態では、コンピュータシステムのユーザは、表示生成コンポーネント730を使用してCGR環境720を閲覧しているユーザ、又は表示生成コンポーネント1030を使用してCGR環境1020を閲覧しているユーザである。いくつかの実施形態では、コンピュータシステムのユーザは、それぞれのアバター721、1010-1、1010-2、1010-3、及び1010-4について本明細書に開示されたものと同様に、アバター特徴として、CGR環境720又はCGR環境1020内に表すことができる。例えば、図7A~図7C及び図8A~図8Cに関して論じた実施形態では、コンピュータシステムのユーザは、プレビュー735によって示されるような女性のアバターキャラクタとして表される。別の例として、図10A~図10B及び図11A~図11Bに関して論じた実施形態では、コンピュータシステムのユーザは、現実環境1000-1~1000-4内にいるユーザA~Dのうちのいずれかと同様の、現実環境内のユーザであってもよく、ユーザA~Dに提示され、ユーザA~Dと相互作用することができる追加のアバターキャラクタとして、CGR環境1020内にコンピュータシステムのユーザを示すことができる。例えば、図11Bでは、ユーザA~Cは、コンピュータシステムのユーザと相互作用しているが、ユーザDは相互作用しておらず、したがって、アバター1010-1、1010-2、及び1010-3は、キャラクタテンプレートに基づく外観を有するものとして提示されるのに対し、アバター1010-4は、抽象テンプレートに基づく外観を有する提示される。
いくつかの実施形態では、ユーザA~Dの各々は、アバター1010-1~1010-4を使用してCGR環境に参加しており、ユーザの各々は、本明細書に記載のコンピュータシステムと同様のコンピュータシステムを使用して他のアバターを表示する。したがって、CGR環境1020内のアバターは、それぞれのユーザ毎に異なる外観を有することができる。例えば、図11Aでは、ユーザDは、ユーザAと相互作用していることがあるが、ユーザBとは相互作用しておらず、したがって、ユーザAが閲覧しているCGR環境では、アバター1010-4は、キャラクタテンプレートに基づく外観を有することができるのに対し、ユーザBが閲覧しているCGR環境では、アバター1010-4は、抽象テンプレートに基づく外観を有することができる。
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。例えば、いくつかの実施形態では、図10B及び図11Bに関して論じたアバターの外観は、図7C及び図8Cに関して論じたように、変動するレベルの忠実性を有することができる。例えば、アバターに関連付けられたユーザがコンピュータシステムのユーザと同じ場所にいる場合、アバターは、コンピュータシステムのユーザとは異なる(遠隔の)場所に位置するユーザに関連付けられたアバターよりも高い忠実性で提示することができる。
図10A~図10B及び図11A~図11Bに関する追加の説明は、以下の図12に関して記載された方法1200を参照して以下に提供される。
図12は、いくつかの実施形態による、異なる外観テンプレートに基づく外観を有するアバターキャラクタを提示する例示的な方法1200のフローチャートである。いくつかの実施形態では、方法1200は、表示生成コンポーネント(例えば、図1、図3、及び図4の表示生成コンポーネント120)(例えば、図10B及び図11Bの表示生成コンポーネント1030)(例えば、視覚的出力デバイス、3Dディスプレイ、透明ディスプレイ、プロジェクタ、ヘッドアップディスプレイ、ディスプレイコントローラ、タッチスクリーンなど)と通信するコンピュータシステム(例えば、図1のコンピュータシステム101)(例えば、スマートフォン、タブレットヘッドマウント型表示生成コンポーネント)において実行される。いくつかの実施形態では、方法1200は、非一時的コンピュータ可読記憶媒体に記憶され、かつコンピュータシステム101の1つ以上のプロセッサ202(例えば、図1の制御ユニット110)などのコンピュータシステムの1つ以上のプロセッサによって実行される、命令によって統制される。方法1200の一部の動作は、任意選択的に組み合わされ、及び/又は一部の動作の順序は、任意選択的に変更される。
方法1200において、コンピュータシステム(例えば、101)は、1人以上のユーザ(例えば、図10AのユーザA、B、C、D)(例えば、コンピュータ生成現実環境内に表された参加者又は物体)の現在の活動が第1のタイプの活動である(例えば、相互作用である(例えば、話している、ジェスチャをしている、移動している);現実環境内に物理的に存在している;非マニュアル活動を実行している(例えば、移動せずに話している))ことを示す第1のデータを受信する(1202)。
現在の活動が第1のタイプの活動であることを示す第1のデータを受信したことに応答して、コンピュータシステム(例えば、101)は、表示生成コンポーネント(例えば、1030)を介して、第1の外観テンプレートに基づく第1の外観(例えば、アニメーションキャラクタ(例えば、人間;漫画キャラクタ;犬、ロボットなどの人間でないキャラクタの擬人化構成概念のテンプレート)(例えば、第1の仮想表現)を有する第1のユーザの表現(例えば、図10Bの1010-1、1010-2、1010-3、及び/又は1010-4)(例えば、1人以上のユーザのうちの1人を表す仮想アバター;1人以上のユーザのうちの1人を表すアバターの部分)を更新する(例えば、コンピュータ生成現実環境(例えば、1020)内で))(例えば、ユーザの表現の表示を表示する;仮想的に提示する;投影する;修正する)(1204)。第1の外観テンプレートに基づく第1の外観を有する第1のユーザの表現を更新することにより、現在の活動が第1のタイプの活動であることを示す第1のデータを受信したことに応答して、第1のユーザがユーザと対話しているというフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。いくつかの実施形態では、第1の外観を有する第1のユーザの表現を更新することは、第1の外観テンプレートに基づく外観を有している間に、第1のタイプの活動を実行する第1のユーザの表現を提示することを含む。例えば、第1のタイプの活動が、話していることなどの対話型活動であり、第1の外観テンプレートが犬のキャラクタである場合、第1のユーザの表現は、話している対話型の犬のキャラクタとして提示される。
第1の外観を有する第1のユーザの表現を提示させている(例えば、アバター1010-1が図10Bに提示されている)間に、コンピュータシステム(例えば、101)は、1人以上のユーザ(例えば、図11AのユーザA、B、C、D)の現在の活動(例えば、アクティブに実行されている活動)を示す第2のデータを受信する(1206)。いくつかの実施形態では、第2のデータは、第1のユーザの現在の活動を示す。いくつかの実施形態では、第2のデータは、第1のユーザ以外の1人以上のユーザの現在の活動を示す。いくつかの実施形態では、第2のデータは、第1のユーザを含む1人以上のユーザの現在の活動を示す。いくつかの実施形態では、第2のデータによって現在の活動が示される1人以上のユーザは、第1のデータによって現在の活動が示される1人以上のユーザと同じである。
1人以上のユーザの現在の活動を示す第2のデータを受信したことに応答して、コンピュータシステム(例えば、101)は、1人以上のユーザの現在の活動に基づいて、第1のユーザの表現の外観を更新し(1208)(例えば、図11Bでは、アバター1010-1が更新されている)、現在の活動が第1のタイプの活動である(例えば、現在の活動は対話型アクティビティである)という判定に従って、表示生成コンポーネント(例えば、1030)を介して、第1の外観テンプレートに基づく第2の外観を有する第1のユーザの表現を提示させること(1210)を含む(例えば、アバター1010-1は図11Bでは、依然としてキャラクタテンプレートを使用して表示される間に、第2の姿勢を有する)(例えば、第1の外観とは異なる外観を有する第1のユーザの表現が提示される(例えば、第1の外観とは異なる活動を実行している第1のユーザが提示される)が、第1のユーザの表現は、依然として第1の外観テンプレートに基づいている。現在の活動が第1のタイプの活動であるときに、第1の外観テンプレートに基づく第2の外観を有する第1のユーザの表現を提示させることにより、第1のユーザの外観が変化したとしても、第1のユーザが依然としてユーザと相互作用しているというフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。いくつかの実施形態では、第1の外観テンプレートに基づく第2の外観を有する第1のユーザの表現を提示することは、第1の外観テンプレートに基づく外観を有している間に、第1のタイプの現在の活動を実行する第1のユーザの表現を提示することを含む。例えば、現在の活動が、手を用いたジェスチャなどの対話型活動であり、第1の外観テンプレートが犬のキャラクタである場合、第1のユーザの表現は、手を用いてジェスチャをしている対話型の犬のキャラクタとして提示される。
1人以上のユーザの現在の活動を示す第2のデータを受信したことに応答して、コンピュータシステム(例えば、101)は、1人以上のユーザの現在の活動に基づいて、第1のユーザ(例えば、アバター1010-2、アバター1010-3、アバター1010-4)の表現の外観を更新し、現在の活動が第1のタイプとは異なる第2のタイプの活動である(例えば、第2のタイプの活動が対話型活動ではない;1人以上のユーザ(例えば、任意選択で、第1のユーザを含む)が現実環境内に物理的に存在しない間に、第2のタイプの活動が実行される)という判定に従って、表示生成コンポーネント(例えば、1030)を介して、第1の外観テンプレートとは異なる第2の外観テンプレートに基づく第3の外観を有する第1のユーザの表現を提示させること(1212)を含む(例えば、ユーザBのアバター1010-2は、図10Bの抽象テンプレートの使用から、図11Bのキャラクタテンプレートの使用に移行する)(例えば、ユーザCのアバター1010-3は、図10Bの抽象テンプレートの使用から、図11Bのキャラクタテンプレートの使用に移行する)(例えば、ユーザDのアバター1010-4は、図10Bのキャラクタテンプレートの使用から、図11Bの抽象テンプレートの使用に移行する)(例えば、第2の外観テンプレートは、無生物キャラクタ(例えば、植物)のテンプレートである)(例えば、第2の視覚的表現)。現在の活動が第2のタイプの活動であるときに、第2の外観テンプレートに基づく第3の外観を有する第1のユーザの表現を提示させることにより、第1のユーザが、例えばユーザと相互作用していないなど、以前とは異なる活動の実行に移行したというフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。いくつかの実施形態では、第3の外観を有する第1のユーザの表現を提示することは、第2の外観テンプレートに基づく外観を有している間に、第2のタイプの現在の活動を実行する第1のユーザの表現を提示することを含む。例えば、第2のタイプの活動が、移動せずに座っているなどの非対話型活動であり、第2の外観テンプレートが不定形の塊である場合、第1のユーザの表現は、例えば、移動しない、又は環境と相互作用しない不定形の塊として提示される。いくつかの実施形態では、第3の外観を有する第1のユーザの表現を提示させることは、第1の外観から第3の外観に移行する第1のユーザの表現を提示することを含む。例えば、第1のユーザの表現は、対話型の犬のキャラクタから非対話型の不定形の塊に移行する。
いくつかの実施形態では、第1のタイプの活動は、第1の位置において実行される第1のユーザ(例えば、ユーザA)の活動であり(例えば、第1のユーザは、第2のユーザと同じ会議室に位置する)、第2のタイプの活動は、第1の位置とは異なる第2の位置において実行される第1のユーザの活動である(例えば、第1のユーザは、第2のユーザとは異なる場所にいる)。いくつかの実施形態では、第1のユーザに使用される外観テンプレートは、第1のユーザが表示生成コンポーネントに関連付けられたユーザ(例えば、第2のユーザ)と同じ物理的環境に位置するかどうかに基づいて決定される。例えば、第1のユーザと第2のユーザとが同じ物理的場所(例えば、同じ部屋)にいる場合、第2のユーザの表示生成コンポーネントを使用して、現実性がより高い外観テンプレートを有するものとして第1のユーザが提示される。逆に、第1のユーザと第2のユーザとが異なる物理的場所にいる場合、現実性がより低い外観テンプレートを有する第1のユーザが、提示される。これは、例えば、第1のユーザが物理的に第2のユーザと共に存在することを第2のユーザに伝達するために行われる。更に、これは、物理的にユーザと共に存在しないユーザ(例えば、仮想的に存在するユーザ)とを区別する。これにより、異なるユーザの位置、又は特定のユーザを存在している又は遠隔であるとしてマークするために使用されるタグを識別するインジケータを表示する必要性をなくすことによって、計算リソースが確保され、表示される環境が合理化される。
いくつかの実施形態では、第1のタイプの活動は、第1のユーザ(例えば、ユーザA)と1人以上のユーザ(例えば、ユーザB、ユーザC、ユーザD)との間の相互作用(例えば、第1のユーザが、発話、ジェスチャ、移動などによって他のユーザに関わること)を含む。いくつかの実施形態では、第2のタイプの活動は、第1のユーザと1人以上のユーザとの間の相互作用を含まない(例えば、第1のユーザは、他のユーザに関わっていない;例えば、第1のユーザの焦点は、他のユーザ以外のものにシフトされる)。いくつかの実施形態では、第1のユーザが、発話、ジェスチャ、移動などによって他のユーザに関わっている場合、第1のユーザの表現は、第1の外観テンプレートに基づく外観を有する。いくつかの実施形態では、第1のユーザが、他のユーザに関わっていない、又は第1のユーザの焦点が、他のユーザ以外のものにある場合、第1のユーザの表現は、第2の外観テンプレートに基づく外観を有する。
いくつかの実施形態では、第1の外観テンプレートは、第2の外観テンプレート(例えば、図10Bのアバター1010-2により表されるものなどの抽象テンプレート)よりも現実性が高い第1のユーザの外観(例えば、図10Bのアバター1010-1により表されるものなどのキャラクタテンプレート)に対応する。第2の外観テンプレートよりも現実性が高い第1のユーザの外観である第1の外観を有する第1のユーザの表現を提示することにより、第1のユーザがユーザと相互作用しているというフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、例えば、会話、ジェスチャ、移動などの対話型活動を実行することによって、ユーザが他のユーザに関わっているときに、現実性が高い外観(例えば、高解像度又は高忠実性の外観;例えば、対話型仮想アバターキャラクタなどの擬人化形状)を有する第1のユーザが表される(例えば、ユーザAは、キャラクタテンプレートを使用するアバター1010-1によって表される)。いくつかの実施形態では、ユーザが他のユーザに関わっていないときに、ユーザは、現実性が低い外観(例えば、低解像度又は低忠実性の外観;例えば、抽象的形状(例えば、人間特有の特徴が除去されている、表現のエッジをソフト化している))を有するものとして表される。例えば、第1のユーザの焦点は、他のユーザから他のコンテンツ又はオブジェクトにシフトされ、あるいは、第1のユーザは、もはや対話型活動を実行してない(例えば、ユーザは、依然として座っている、話していない、ジェスチャしていない、動いていない、など)。
いくつかの実施形態では、第1のタイプの活動は、非マニュアル活動(例えば、ユーザの手の動きにほとんど又は全く関与しない又は必要としない活動(例えば、会話))である(例えば、図10AのユーザA、ユーザB、ユーザD、図11AのユーザA、ユーザD)。いくつかの実施形態では、第2のタイプの活動は、マニュアル活動(例えば、典型的にはユーザの手の動きに関与する活動(例えば、おもちゃのブロックを積むこと))である(例えば、図10AのユーザC、図11AのユーザB)。いくつかの実施形態では、第1のユーザの表現は、第1のユーザの手に対応し、かつ可変表示特性を有する提示されるそれぞれの手部分を含む(例えば、図10B及び図11Bのアバター1010-2)(例えば、それぞれの手部分のレンダリングの、変動可能な1つ以上の視覚的パラメータ(例えば、ぼかし度量、不透明度、色、減衰/密度、解像度など)のセット)。いくつかの実施形態では、可変表示特性は、第1のユーザの手の姿勢に関するそれぞれの手部分の姿勢の推定/予測された視覚的忠実性を示す。いくつかの実施形態では、第2の外観テンプレートに基づく第3の外観を有する第1のユーザの表現を提示させることは、1)第2のタイプの活動は、マニュアル活動を実行するために第1のユーザの手がオブジェクトと(例えば、物理的環境内又は仮想環境内で)相互作用することを含む(例えば、第1のユーザは、手におもちゃのブロックを保持している)という判定に従って、可変表示特性の第1の値を有するそれぞれの手部分を用いて第1のユーザの表現を提示することと(例えば、ユーザBが、図11Aではアイテム1006を保持しており、アバター1010-2は高忠実性で(例えば、キャラクタテンプレートを用いて)提示され、図11Bではアイテム1006'を保持している)(例えば、可変表示特性は、第1のユーザの手の姿勢に関してそれぞれの手部分の姿勢の高い視覚的忠実性を示す値を有する)、2)第2のタイプの活動は、マニュアル活動を実行するために第1のユーザの手がオブジェクトと(例えば、物理的環境内又は仮想環境内で)相互作用することを含まない(例えば、第1のユーザが手におもちゃのブロックを保持していない)という判定に従って、可変表示特性の第1の値とは異なる可変表示特性の第2の値を有するそれぞれの手部分を用いて第1のユーザの表現を提示することと(例えば、ユーザBがアイテム1006を保持していないとき、図10Bでは抽象テンプレートを使用してアバター 1010-2を提示する)(例えば、可変表示特性は、第1のユーザの手の姿勢に関するそれぞれの手部分の姿勢の低い視覚的忠実性を示す値を有する)、を含む。第2のタイプの活動は、マニュアル活動を実行するためにユーザの手がオブジェクトと相互作用することを含むかどうかに応じて、可変表示特性の第1の値又は第2の値を有するそれぞれの手部分を有する第1のユーザの表現を提示することにより、手を使用することに関与する活動の実行に第1のユーザが移行したというフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。いくつかの実施形態では、可変表示特性が、ユーザの手がオブジェクト(例えば、物理的オブジェクト又は仮想オブジェクト)と相互作用しているときには、より高い視覚的忠実性を示し、ユーザの手がオブジェクトと相互作用していないときには、より低い視覚的忠実性を示すように、第1のユーザの手の表現がレンダリングされる。
いくつかの実施形態では、第1のタイプの活動は、第1の参加者との相互作用に関連付けられる活動である(例えば、図10Aでは、ユーザAとユーザDとは通信している)(例えば、一般的には、他者に関わっているアクティブな(例えば、会話中の)参加者であるユーザに関連付けられる活動(例えば、参加者は、発話している、ジェスチャしている、移動している、他のユーザに焦点を合わせている、など))。いくつかの実施形態では、第2のタイプの活動は、第1の参加者との相互作用に関連付けられていない活動である(例えば、図10Aでは、ユーザBとユーザCとは相互作用している)(例えば、一般的には、他者に関わっていない(例えば、会話中でない)傍観者であるユーザに関連付けられる活動(例えば、傍観者は、発話していない、ジェスチャしていない、移動していない、他のユーザに焦点を合わせていない、など))。
いくつかの実施形態では、第1の外観テンプレートに基づく第2の外観を有する第1のユーザの表現を提示させることは、第1のユーザの表現の第1の視覚的忠実性を示す可変表示特性の第1の値を有する第1のユーザの表現を提示することを含む(例えば、図10Bでは、ユーザAは、キャラクタテンプレートを使用して、アバター1010-1として提示される;図10Bでは、ユーザDは、キャラクタテンプレートを使用して、アバター1010-4として提示される)(例えば、変動可能である第1のユーザの表現のレンダリングの1つ以上の視覚的パラメータのセット(例えば、ぼかし度量、不透明度、色、減衰/密度、解像度など))(例えば、第1のユーザの対応する部分の姿勢に関する第1のユーザの表現の視覚的忠実性)。第1のユーザの表現が第1の外観テンプレートに基づく第2の外観を有するときに、第1のユーザの表現の第1の視覚的忠実性を示す可変表示特性の第1の値を有する第1のユーザの表現を提示することにより、現在の活動への第1のユーザの関連性は、第1のユーザが活動に参加しているのでより高いというフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。いくつかの実施形態では、第1のユーザの表現は、第1のユーザの第1の部分に対応する第1の表された部分を含み、第1のユーザの第1の部分の姿勢に関する第1の表された部分の推定された視覚的忠実性を示す可変表示特性を有する提示される。
いくつかの実施形態では、第2の外観テンプレートに基づく第3の外観を有する第1のユーザの表現を提示させることは、第1のユーザの表現の第1の視覚的忠実性よりも低い第1のユーザの表現の第2の視覚的忠実性を示す可変表示特性の第2の値を有する第1のユーザの表現を提示することを含む(例えば、図10Bでは、ユーザBは、抽象テンプレートを使用して、アバター1010-2として表される;図10Bでは、ユーザCは、抽象テンプレートを使用して、アバター1010-3として提示される)(例えば、ユーザの活動が傍観者活動であるとき、より低い視覚的忠実性を示す可変表示特性を有する第1のユーザの表現が提示される)。第1のユーザの表現が第2の外観テンプレートに基づく第3の外観を有するときに、第1のユーザの表現の第1の視覚的忠実性よりも低い第1のユーザの表現の第2の視覚的忠実性を示す可変表示特性の第2の値を有する第1のユーザの表現を提示することにより、現在の活動への第1のユーザの関連性は、第1のユーザが活動に参加していないのでより低いというフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、ユーザは、活動に基づいて、アクティブな参加者又は傍観者と見なされ、アクティブな参加者と見なされるユーザは、傍観者と見なされるユーザよりも高い視覚的忠実性を有するものとして表される。例えば、アクティブに通信している、ジェスチャしている、移動している、他の参加者及び/又はユーザに焦点を当てているなどのユーザは、(この活動に基づいて)参加者(又はアクティブな参加者)であると見なされ、高い視覚的忠実性を示す可変表示特性値を有するユーザの表現が提示される。逆に、アクティブに通信していない、ジェスチャしていない、移動していない、他の参加者及び/又はユーザに焦点を当てていないなどのユーザは、(この活動に基づいて)傍観者であると見なされ、低い視覚的忠実性を示す可変表示特性値を有するユーザの表現が提示される。
いくつかの実施形態では、表示生成コンポーネント(例えば、1030)は、第2のユーザに関連付けられている(例えば、第2のユーザは、表示生成コンポーネントの閲覧者及び/又はユーザである)。いくつかの実施形態では、表示生成コンポーネントを介して、可変表示特性の第1の値を有する第3のユーザの表現(例えば、ユーザBを表しているアバター1010-2)(例えば、第1のユーザの表現)(例えば、代替的には、オブジェクトの表現)を提示している間に(例えば、変動可能である第3のユーザの表現のレンダリングの1つ以上の視覚的パラメータのセット(例えば、ぼかし度量、不透明度、色、減衰/密度、解像度など))、コンピュータシステム(例えば、101)は、第2のユーザの焦点位置を示す第3のデータ(例えば、第2のユーザの目が焦点を合わせている物理的環境又はコンピュータ生成環境内の位置又は領域を示すデータ)を受信する。いくつかの実施形態では、第3のデータは、第2のユーザの目の位置を追跡するセンサ(例えば、カメラセンサ)を使用して、かつ、ユーザの目の焦点を判定するプロセッサを使用して生成される。いくつかの実施形態では、焦点位置は、三次元で計算されたユーザの目の焦点を含む(例えば、焦点位置は、深度成分を含み得る)。
いくつかの実施形態では、第2のユーザの焦点位置を示す第3のデータを受信したことに応答して、コンピュータシステム(例えば、101)は、表示生成コンポーネントを介して、第2のユーザの焦点位置に基づいて、第3のユーザの表現を更新し(例えば、代替的には、オブジェクトの表現を更新する)、1)第2のユーザの焦点位置が第3のユーザの表現の位置に対応する(例えば、それと一緒に位置する)(例えば、図11Aでは、コンピュータシステムのユーザがユーザBを見ており、したがって、アバター1010-2は、キャラクタテンプレートを使用して表示される)(例えば、第2のユーザは、第3のユーザの表現を見ている)(例えば、代替的には、第2のユーザは、オブジェクトの表現を見ている)という判定に従って、第3のユーザの表現の可変表示特性の値を増加させることと(例えば、代替的には、オブジェクトの表現可変表示特性の値を増加させる)、2)第2のユーザの焦点位置が第3のユーザの表現の位置に対応しない(例えば、一緒に位置しない)(例えば、第2のユーザは、第3のユーザの表現を見ていない)(例えば、代替的には、第2のユーザは、オブジェクトの表現を見ていない)という判定に従って、第3のユーザの表現の可変表示特性の値を減少させることと(例えば、図11Aでは、コンピュータシステムのユーザは、ユーザDから遠くを見ており、したがって、アバター1010-4は、抽象テンプレートを使用して表示される)(例えば、代替的には、オブジェクトの表現の可変表示特性の値を減少させる)、を含む。第2のユーザの焦点位置が第3のユーザの表現の位置に対応するかどうかに応じて、第3のユーザの表現の可変表示特性の値を増加又は減少させることにより、コンピュータシステムが焦点の位置を検出しているという改善されたフィードバックが第2のユーザに提供され、計算リソースを減少させることによって、ユーザが焦点を合わせていない領域をレンダリングするために処理すべきデータの量をなくす又は低減することによって、計算リソースが低減される。改善されたフィードバックを提供すること及び計算作業量を低減することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、可変表示特性は、表示生成コンポーネントを使用して提示された様々なアイテム又はユーザについて、ユーザがそれらのそれぞれのアイテム又はユーザに焦点を合わせているかどうかに応じて調整される。例えば、ユーザが、ユーザ又はオブジェクトの表現から離れるように焦点をシフトさせるにつれて、ユーザ又はオブジェクトの表現の視覚的忠実性(例えば、解像度、鮮明度、不透明度、及び/又は密度など)が(例えば、ユーザの焦点がユーザの表現から逸れている量に基づいて)減少する。逆に、ユーザ又はオブジェクトの表現にユーザが焦点を合わせるにつれて、ユーザ又はオブジェクトの表現の視覚的忠実性(例えば、解像度、鮮明度、不透明度、及び/又は密度など)が増大する。この視覚効果は、表示生成コンポーネントを使用してユーザにレンダリングすべきデータを低減することによって、計算リソースを確保するのに役立つ。具体的には、ユーザの焦点の外側に提示されるオブジェクト及び/又はユーザは、より低い忠実性でレンダリングできるので、消費される計算リソースが少なくなる。これは、視覚的忠実性に対する修正が人間の目の自然な挙動を模倣するので、視覚的完全性を犠牲にすることなく行うことができる。例えば、人間の目が焦点をシフトさせると、目が焦点を合わせているオブジェクトの外観がより鮮明になる(例えば、忠実性が高くなる)のに対し、目の焦点の外側に位置するオブジェクトはぼける(例えば、忠実性が低くなる)。つまり、ユーザの周辺ビュー内にレンダリングされるオブジェクトは、計算リソースを確保するために、意図的に低い忠実性でレンダリングされる。
いくつかの実施形態では、第1の外観テンプレートは、抽象的形状(例えば、図10Bの1010-2、図10Bの1010-3、図11Bの1010-4)(例えば、いかなる擬人化特性も有さない形状の表現、又は、ユーザが第1のタイプの活動に従事しているときにユーザを表すために使用される擬人化形状よりも少数の擬人化特性を有する形状の表現)に対応する。いくつかの実施形態では、第2の外観テンプレートは、擬人化形状(例えば、図10Bの1010-1、図10Bの1010-4、図11Bの1010-1、図11Bの1010-2、図11Bの1010-3)に対応する(例えば、人間、動物、又は擬人化形状がユーザの動きを通信することを可能にする顔、目、口、手足などの表情要素を有する他の特徴の表現)。抽象的形状に対応する第1の外観テンプレート又は擬人化形状に対応する第2の外観テンプレートを有する第1のユーザの表現を提示することにより、擬人化形状として提示されたときには、現在の活動への第1のユーザの関連性がより高く、抽象的形状として提示されたときには、現在の活動への関連性が余り高くないというフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、コンピュータシステムの操作性を向上させ、(例えば、コンピュータシステムを操作する、及び/又はコンピュータシステムと相互作用するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザシステムインタフェースをより効率的にし、加えて、ユーザがシステムをより素早くかつ効率的に使用できるようにすることによって、電力使用を低減し、コンピュータシステムのバッテリ寿命を改善する。
いくつかの実施形態では、方法900及び1200の態様及び/又は動作は、これらの方法の間で交換、置換、及び/又は追加されてもよい。簡潔にするために、それらの詳細はここでは繰り返さない。
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。本発明の原理及びその実際的な応用を最良の形で説明し、それによって他の当業者が、想到される特定の用途に適した様々な変更で本発明及び様々な記載された実施形態を最良の形で使用することを可能にするために、これらの実施形態を選択し記載した。