1つまたはそれを上回る画像ディスプレイデバイス(1人またはそれを上回るユーザによって装着される)の1つまたはそれを上回る画面による表示のために、仮想オブジェクト等の仮想コンテンツを提供するための方法および装置が、本明細書に説明される。いくつかの実施形態では、仮想コンテンツは、ユーザによって画面を通して視認される際、物理的環境内にあるように現れるように、表示されてもよい。仮想コンテンツは、同一物理的環境内におけるユーザによる、または異なる環境内における(例えば、異なる部屋内における)ユーザによる、相互作用のために提供されてもよい。環境内のオブジェクトを識別するため、仮想空間を定義し、仮想アイテムを設置するため、および1人またはそれを上回るユーザによる相互作用のための仮想アイテムを挿入するための新しい技法が、本明細書に説明される。
仮想または拡張現実体験を提供するための装置は、画面であって、少なくとも部分的に、装置のユーザがユーザを囲繞する環境内のオブジェクトを視認することを可能にするために透明である、画面と、オブジェクトの表面を検出するように構成される、表面検出器と、オブジェクトの表面の配向および/または高度を取得し、オブジェクトの表面の配向および/または高度に基づいて、オブジェクトに関する識別を行うように構成される、オブジェクト識別器と、画面による表示のために、オブジェクトに関する識別を示す、識別子を生成するように構成される、グラフィック生成器であって、画面は、識別子を表示するように構成される、グラフィック生成器とを含む。
随意に、オブジェクト識別器は、オブジェクトの表面の配向が、略垂直である場合、かつオブジェクトの表面の高度が、高度閾値を上回る場合、オブジェクトを壁として識別するように構成される。
随意に、オブジェクト識別器は、オブジェクトの表面の配向が、略水平である場合、かつオブジェクトの表面の高度が、高度閾値を下回る場合、オブジェクトを床として識別するように構成される。
随意に、オブジェクトは、オブジェクトの表面の配向が、略水平である場合、かつオブジェクトの表面の高度が、第1の高度閾値を上回り、第2の高度閾値を下回る場合、オブジェクトを家具として識別するように構成される。
随意に、画面は、ユーザが、画面を通して、環境内のオブジェクトを視認するとき、識別子が、オブジェクトに対してある空間関係にあるであろうように、識別子を画面内のある場所に表示するように構成される。
随意に、オブジェクト識別器は、オブジェクトの識別が決定されることになるためのオブジェクトの選択を示す、入力を取得するように構成される。
随意に、入力は、コントローラコンポーネントを介して生成されたユーザ入力を備え、ユーザ入力は、オブジェクトの選択を示す。
随意に、ユーザ入力は、画面内のカーソル位置を示し、オブジェクト識別器は、カーソル位置に基づいて、選択されている環境内のオブジェクトを決定するように構成される。
随意に、ユーザ入力は、コントローラコンポーネントの配向を示し、オブジェクト識別器は、コントローラコンポーネントによって環境内のオブジェクトに向かってポイントされている方向に基づいて、選択されている環境内のオブジェクトを決定するように構成される。
随意に、本装置はさらに、カメラを含み、オブジェクト識別器は、カメラによって提供されるカメラ画像内のオブジェクトの画像の存在に基づいて、識別のためのオブジェクトを選択するように構成される。
随意に、オブジェクト識別器は、オブジェクトを自動的に選択するように構成される。
随意に、オブジェクト識別器は、オブジェクトが、時間閾値を超える持続時間内に、カメラ画像を備える、カメラ画像のシーケンス内に存在することに応答して、オブジェクトを選択するように構成される。
随意に、本装置はさらに、仮想空間を定義するように構成される、空間定義器を含む。
随意に、空間定義器は、仮想空間に関する仮想壁を定義するように構成される。
随意に、仮想壁は、ユーザを囲繞する環境内の実際の物理的壁からオフセットされる。
随意に、仮想壁は、ユーザを囲繞する環境内の実際の物理的壁と整合される、またはそれと交差する。
随意に、画面は、ユーザが、仮想壁を視認するとき、壁識別子が、仮想壁に対してある空間関係にあるであろうように、壁識別子を画面内のある場所に表示するように構成される。
随意に、空間定義器は、仮想空間に関する複数の仮想壁を定義するように構成され、画面は、個別の仮想壁に関する壁識別子を表示するように構成される。
随意に、空間定義器は、仮想空間に関する角を定義するように構成される。
随意に、空間定義器は、仮想空間に関する壁縁を定義するように構成される。
随意に、空間定義器は、コントローラコンポーネントを介して生成されたユーザ入力を取得するように構成され、ユーザ入力は、仮想空間の少なくとも一部を定義するための環境内の特徴の選択を示す。
随意に、環境内の特徴は、壁、壁角、縁、または前述の任意の組み合わせを備える。
随意に、ユーザ入力は、画面内のカーソル位置を示す。
随意に、ユーザ入力は、コントローラコンポーネントの配向を示し、環境内の特徴の選択は、コントローラコンポーネントによって環境内の特徴に向かってポイントされる方向に基づく。
随意に、本装置はさらに、カメラを含み、本装置は、カメラによって提供されるカメラ画像内の特徴の画像の存在に基づいて、仮想空間の少なくとも一部を定義するための環境内の特徴を選択するように構成される。
随意に、本装置は、環境内の特徴を自動的に選択するように構成される。
随意に、本装置は、特徴が、時間閾値を超える持続時間内に、カメラ画像を含む、カメラ画像のシーケンス内に存在することに応答して、特徴を選択するように構成される。
随意に、画面は、コントローラコンポーネントの配向に基づいて、ポインタを表示するように構成され、本装置はさらに、ポインタ構成器を備え、ポインタ構成器は、画面内に表示されるポインタの構成を調節し、および/またはポインタと関連付けられる相互作用グラフィックを提示するように構成される。
随意に、ポインタ構成器は、ポインタと仮想オブジェクトとの間の相互作用に応答して、ポインタの構成を調節し、および/または相互作用グラフィックを提示するように構成される。
随意に、グラフィック生成器はまた、ユーザおよび付加的ユーザによる相互作用のために、仮想コンテンツを提供するように構成され、画面は、仮想コンテンツを表示するように構成される。
随意に、本装置は、ユーザおよび付加的ユーザが、同一仮想空間において、仮想コンテンツと相互作用し得るように、ユーザおよび付加的ユーザを同一仮想空間に接続するように構成される。
随意に、グラフィック生成器は、異なる個別の部屋におけるユーザおよび付加的ユーザによる相互作用のために、仮想コンテンツを提供するように構成される。
随意に、グラフィック生成器は、同一部屋におけるユーザおよび付加的ユーザによる相互作用のために、仮想コンテンツを提供するように構成される。
随意に、本装置は、ユーザおよび付加的ユーザが環境内に存在する間、ユーザおよび付加的ユーザが仮想コンテンツと相互作用し得るように、ユーザおよび付加的ユーザを環境に位置合わせするように構成される。
随意に、本装置は、ユーザの場所および付加的ユーザの場所と関連付けられる、1つまたはそれを上回るアンカポイントを決定することによって、ユーザおよび付加的ユーザを環境に位置合わせするように構成される。
仮想または拡張現実体験を提供するように構成される、装置によって実施される、方法は、表面検出器によって、装置のユーザを囲繞する環境内のオブジェクトの表面を検出することと、オブジェクト識別器によって、オブジェクトの表面の配向および/または高度を取得することと、オブジェクト識別器によって、オブジェクトの表面の配向および/または高度に基づいて、オブジェクトを識別することと、グラフィック生成器によって、画面による表示のために、識別されたオブジェクトに関する識別子を生成することであって、画面は、少なくとも部分的に、装置のユーザがユーザを囲繞する環境内のオブジェクトを視認することを可能にするために透明である、こととを含む。
随意に、オブジェクトは、オブジェクトの表面の配向が、略垂直である場合、かつオブジェクトの表面の高度が、高度閾値を上回る場合、壁として識別される。
随意に、オブジェクトは、オブジェクトの表面の配向が、略水平である場合、かつオブジェクトの表面の高度が、高度閾値を下回る場合、床として識別される。
随意に、オブジェクトは、オブジェクトの表面の配向が、略水平である場合、かつオブジェクトの表面の高度が、第1の高度閾値を上回り、第2の高度閾値を下回る場合、家具として識別される。
随意に、識別子は、ユーザが、画面を通して、環境内のオブジェクトを視認するとき、識別子が、オブジェクトに対してある空間関係にあるであろうように、画面内のある場所に表示される。
随意に、本方法はさらに、オブジェクトの識別が決定されることになるためのオブジェクトの選択を示す、入力を取得することを含む。
随意に、入力は、コントローラコンポーネントを介して生成されたユーザ入力を備え、ユーザ入力は、オブジェクトの選択を示す。
随意に、ユーザ入力は、画面内のカーソル位置を示し、本方法はさらに、カーソル位置に基づいて、選択されている環境内のオブジェクトを決定することを含む。
随意に、ユーザ入力は、コントローラコンポーネントの配向を示し、本方法はさらに、コントローラコンポーネントによって環境内のオブジェクトに向かってポイントされている方向に基づいて、選択されている環境内のオブジェクトを決定することを含む。
随意に、本方法はさらに、装置のカメラによって提供されるカメラ画像内のオブジェクトの画像の存在に基づいて、識別のためのオブジェクトを選択することを含む。
随意に、オブジェクトは、識別のために自動的に選択される。
随意に、オブジェクトは、オブジェクトが、時間閾値を超える持続時間内に、カメラ画像を備える、カメラ画像のシーケンス内に存在することに応答して、選択される。
随意に、本方法はさらに、仮想空間を定義することを含む。
随意に、仮想空間を定義する行為は、仮想空間に関する仮想壁を定義することを含む。
随意に、仮想壁は、ユーザを囲繞する環境内の実際の物理的壁からオフセットされる。
随意に、仮想壁は、ユーザを囲繞する環境内の実際の物理的壁と整合される、またはそれと交差する。
随意に、本方法はさらに、ユーザが、仮想壁を視認するとき、壁識別子が、仮想壁に対してある空間関係にあるであろうように、画面によって、壁識別子を画面内のある場所に表示することを含む。
随意に、仮想空間を定義する行為は、仮想空間に関する複数の仮想壁を定義することを含み、本方法はさらに、画面によって、個別の仮想壁に関する壁識別子を表示することを含む。
随意に、仮想空間を定義する行為は、仮想空間に関する角を定義することを含む。
随意に、仮想空間を定義する行為は、仮想空間に関する壁縁を定義することを含む。
随意に、本方法はさらに、コントローラコンポーネントを介して生成されたユーザ入力を取得することを含み、ユーザ入力は、仮想空間の少なくとも一部を定義するための環境内の特徴の選択を示す。
随意に、環境内の特徴は、壁、壁角、縁、または前述の任意の組み合わせを備える。
随意に、ユーザ入力は、画面内のカーソル位置を示す。
随意に、ユーザ入力は、コントローラコンポーネントの配向を示し、環境内の特徴の選択は、コントローラコンポーネントによって環境内の特徴に向かってポイントされる方向に基づく。
随意に、本方法はさらに、仮想空間の少なくとも一部を定義するための環境内の特徴を選択することを含み、選択する行為は、装置のカメラによって提供されるカメラ画像内の特徴の画像の存在に基づいて、実施される。
随意に、環境内の特徴は、自動的に選択される。
随意に、特徴は、特徴が、時間閾値を超える持続時間内に、カメラ画像を含む、カメラ画像のシーケンス内に存在することに応答して、選択される。
随意に、本方法はさらに、コントローラコンポーネントの配向に基づいて、画面によって、ポインタを表示することを含み、本方法はさらに、画面内に表示されるポインタの構成を調節することおよび/またはポインタと関連付けられる相互作用グラフィックを提示することを含む。
随意に、ポインタの構成を調節する行為および/または相互作用グラフィックを提示する行為は、ポインタと仮想オブジェクトとの間の相互作用に応答して、実施される。
随意に、本方法はさらに、ユーザおよび付加的ユーザによる相互作用のために、仮想コンテンツを提供することを含む。
随意に、本方法はさらに、ユーザおよび付加的ユーザが、同一仮想空間において、仮想コンテンツと相互作用し得るように、ユーザおよび付加的ユーザを同一仮想空間に接続することを含む。
随意に、仮想コンテンツは、異なる個別の部屋におけるユーザおよび付加的ユーザによる相互作用のために、提供される。
随意に、仮想コンテンツは、同一部屋におけるユーザおよび付加的ユーザによる相互作用のために、提供される。
随意に、本方法はさらに、ユーザおよび付加的ユーザが環境内に存在する間、ユーザおよび付加的ユーザが仮想コンテンツと相互作用し得るように、ユーザおよび付加的ユーザを環境に位置合わせすることを含む。
随意に、ユーザおよび付加的ユーザを環境に位置合わせする行為は、ユーザの場所および付加的ユーザの場所と関連付けられる、1つまたはそれを上回るアンカポイントを決定することを含む。
プロセッサ可読非一過性媒体は、命令のセットを記憶し、処理ユニットによるその実行は、ある方法を実施させ、処理ユニットは、仮想または拡張現実体験を提供するように構成される、装置の一部であって、本方法は、表面検出器によって、装置のユーザを囲繞する環境内のオブジェクトの表面を検出することと、オブジェクト識別器によって、オブジェクトの表面の配向および/または高度を取得することと、オブジェクト識別器によって、オブジェクトの表面の配向および/または高度に基づいて、オブジェクトを識別することと、グラフィック生成器によって、画面による表示のために、識別されたオブジェクトに関する識別子を生成することであって、画面は、少なくとも部分的に、装置のユーザがユーザを囲繞する環境内のオブジェクトを視認することを可能にするために透明である、こととを含む。
拡張現実体験を提供するための装置は、画面であって、少なくとも部分的に、装置のユーザがユーザを囲繞する環境内のオブジェクトを視認することを可能にするために透明である、画面と、入力を取得し、入力に基づいて、仮想空間を定義するように構成される、空間定義器であって、画面がユーザによって装着されている間、入力を取得するように構成される、空間定義器と、画面による表示のために、仮想コンテンツを提供するように構成される、グラフィック生成器であって、画面は、仮想コンテンツを仮想空間内に表示するように構成される、グラフィック生成器とを含む。
随意に、空間定義器は、仮想空間に関する仮想壁を定義するように構成される。
随意に、仮想壁は、ユーザを囲繞する環境内の実際の物理的壁からオフセットされる。
随意に、仮想壁は、ユーザを囲繞する環境内の実際の物理的壁と整合される、またはそれと交差する。
随意に、画面は、ユーザが、仮想壁を視認するとき、壁識別子が、仮想壁に対してある空間関係にあるであろうように、壁識別子を画面内のある場所に表示するように構成される。
随意に、空間定義器は、仮想空間に関する複数の仮想壁を定義するように構成され、画面は、個別の仮想壁に関する壁識別子を表示するように構成される。
随意に、空間定義器は、仮想空間に関する角を定義するように構成される。
随意に、空間定義器は、仮想空間に関する壁縁を定義するように構成される。
随意に、空間定義器は、コントローラコンポーネントを介して生成されたユーザ入力を取得するように構成され、ユーザ入力は、仮想空間の少なくとも一部を定義するための環境内の特徴の選択を示す。
随意に、環境内の特徴は、壁、壁角、縁、または前述の任意の組み合わせを備える。
随意に、ユーザ入力は、画面内のカーソル位置を示す。
随意に、ユーザ入力は、コントローラコンポーネントの配向を示し、環境内の特徴の選択は、コントローラコンポーネントによって環境内の特徴に向かってポイントされる方向に基づく。
随意に、本装置はさらに、カメラを含み、本装置は、カメラによって提供されるカメラ画像内の特徴の画像の存在に基づいて、仮想空間の少なくとも一部を定義するための環境内の特徴を選択するように構成され、カメラ画像は、空間定義器によって取得される、入力である。
随意に、本装置は、環境内の特徴を自動的に選択するように構成される。
随意に、本装置は、特徴が、時間閾値を超える持続時間内に、カメラ画像を含む、カメラ画像のシーケンス内に存在することに応答して、特徴を選択するように構成される。
随意に、仮想コンテンツはまた、付加的ユーザによる相互作用のためのものでもある。
随意に、本装置は、ユーザおよび付加的ユーザが仮想空間において仮想コンテンツと相互作用し得るように、ユーザおよび付加的ユーザを仮想空間に接続するように構成される。
随意に、グラフィック生成器は、異なる個別の部屋におけるユーザおよび付加的ユーザによる相互作用のために、仮想コンテンツを提供するように構成される。
随意に、グラフィック生成器は、同一部屋におけるユーザおよび付加的ユーザによる相互作用のために、仮想コンテンツを提供するように構成される。
随意に、本装置は、ユーザおよび付加的ユーザが環境内に存在する間、ユーザおよび付加的ユーザが仮想コンテンツと相互作用し得るように、ユーザおよび付加的ユーザを環境に位置合わせするように構成される。
随意に、本装置は、ユーザの場所および付加的ユーザの場所と関連付けられる、1つまたはそれを上回るアンカポイントを決定することによって、ユーザおよび付加的ユーザを環境に位置合わせするように構成される。
仮想または拡張現実体験を提供するように構成される、装置によって実施される方法であって、本装置は、画面を備え、本方法は、空間定義器によって、入力を取得することであって、空間定義器は、画面がユーザによって装着されている間、入力を取得するように構成される、ことと、空間定義器によって、入力に基づいて、仮想空間を定義することと、グラフィック生成器によって、画面による表示のために、仮想コンテンツを提供することと、画面によって、仮想コンテンツを仮想空間内に表示することであって、画面は、少なくとも部分的に、装置のユーザがユーザを囲繞する環境内のオブジェクトを視認することを可能にするために、透明である、こととを含む。
随意に、仮想空間を定義する行為は、仮想空間に関する仮想壁を定義することを含む。
随意に、仮想壁は、ユーザを囲繞する環境内の実際の物理的壁からオフセットされる。
随意に、仮想壁は、ユーザを囲繞する環境内の実際の物理的壁と整合される、またはそれと交差する。
随意に、本方法はさらに、ユーザが、仮想壁を視認するとき、壁識別子が、仮想壁に対してある空間関係にあるであろうように、画面によって、壁識別子を画面内のある場所に表示することを含む。
随意に、仮想空間を定義する行為は、仮想空間に関する複数の仮想壁を定義することを含み、本方法はさらに、画面によって、個別の仮想壁に関する壁識別子を表示することを含む。
随意に、仮想空間を定義する行為は、仮想空間に関する角を定義することを含む。
随意に、仮想空間を定義する行為は、仮想空間に関する壁縁を定義することを含む。
随意に、本方法はさらに、コントローラコンポーネントを介して生成されたユーザ入力を取得することを含み、ユーザ入力は、仮想空間の少なくとも一部を定義するための環境内の特徴の選択を示す。
随意に、環境内の特徴は、壁、壁角、縁、または前述の任意の組み合わせを備える。
随意に、ユーザ入力は、画面内のカーソル位置を示す。
随意に、ユーザ入力は、コントローラコンポーネントの配向を示し、環境内の特徴の選択は、コントローラコンポーネントによって環境内の特徴に向かってポイントされる方向に基づく。
随意に、本方法はさらに、カメラによって提供されるカメラ画像内の特徴の画像の存在に基づいて、仮想空間の少なくとも一部を定義するための環境内の特徴を選択することを含み、カメラ画像は、空間定義器によって取得される、入力である。
随意に、環境内の特徴は、自動的に選択される。
随意に、環境内の特徴は、特徴が、時間閾値を超える持続時間内に、カメラ画像を含む、カメラ画像のシーケンス内に存在することに応答して、選択される。
随意に、仮想コンテンツはまた、付加的ユーザによる相互作用のためのものでもある。
随意に、本方法はさらに、ユーザおよび付加的ユーザが仮想空間において仮想コンテンツと相互作用し得るように、ユーザおよび付加的ユーザを仮想空間に接続することを含む。
随意に、仮想コンテンツは、異なる個別の部屋におけるユーザおよび付加的ユーザによる相互作用のために、提供される。
随意に、仮想コンテンツは、同一部屋におけるユーザおよび付加的ユーザによる相互作用のために、提供される。
随意に、本方法はさらに、ユーザおよび付加的ユーザが環境内に存在する間、ユーザおよび付加的ユーザが仮想コンテンツと相互作用し得るように、ユーザおよび付加的ユーザを環境に位置合わせすることを含む。
随意に、ユーザおよび付加的ユーザを環境に位置合わせする行為は、ユーザの場所および付加的ユーザの場所と関連付けられる、1つまたはそれを上回るアンカポイントを決定することを含む。
プロセッサ可読非一過性媒体は、命令のセットを記憶し、処理ユニットによるその実行は、ある方法を実施させ、処理ユニットは、仮想または拡張現実体験を提供するように構成される、装置の一部であって、装置は、画面を備え、本方法は、空間定義器によって、入力を取得することであって、空間定義器は、画面がユーザによって装着されている間、入力を取得するように構成される、ことと、空間定義器によって、入力に基づいて、仮想空間を定義することと、グラフィック生成器によって、画面による表示のために、仮想コンテンツを提供することと、画面によって、仮想コンテンツを仮想空間内に表示することであって、画面は、少なくとも部分的に、装置のユーザがユーザを囲繞する環境内のオブジェクトを視認することを可能にするために、透明である、こととを含む。
本開示の付加的および他の目的、特徴、および利点は、詳細な説明、図、および請求項に説明される。
本発明は、例えば、以下を提供する。
(項目1)
仮想または拡張現実体験を提供するための装置であって、
画面であって、前記画面は、少なくとも部分的に、前記装置のユーザが前記ユーザを囲繞する環境内のオブジェクトを視認することを可能にするために透明である、画面と、
前記オブジェクトの表面を検出するように構成される表面検出器と、
オブジェクト識別器であって、前記オブジェクト識別器は、前記オブジェクトの表面の配向および/または高度を取得し、前記オブジェクトの表面の前記配向および/または前記高度に基づいて、前記オブジェクトに関する識別を行うように構成される、オブジェクト識別器と、
グラフィック生成器であって、前記グラフィック生成器は、前記画面による表示のために、前記オブジェクトに関する識別を示す識別子を生成するように構成され、前記画面は、前記識別子を表示するように構成される、グラフィック生成器と
を備える、装置。
(項目2)
前記オブジェクト識別器は、前記オブジェクトの表面の配向が、略垂直である場合、かつ前記オブジェクトの表面の高度が、高度閾値を上回る場合、前記オブジェクトを壁として識別するように構成される、項目1に記載の装置。
(項目3)
前記オブジェクト識別器は、前記オブジェクトの表面の配向が、略水平である場合、かつ前記オブジェクトの表面の高度が、高度閾値を下回る場合、前記オブジェクトを床として識別するように構成される、項目1に記載の装置。
(項目4)
前記オブジェクトは、前記オブジェクトの表面の配向が、略水平である場合、かつ前記オブジェクトの表面の高度が、第1の高度閾値を上回り、第2の高度閾値を下回る場合、前記オブジェクトを家具として識別するように構成される、項目1に記載の装置。
(項目5)
前記画面は、前記ユーザが、前記画面を通して、前記環境内のオブジェクトを視認するとき、前記識別子が、前記オブジェクトに対してある空間関係にあるであろうように、前記識別子を前記画面内のある場所に表示するように構成される、項目1に記載の装置。
(項目6)
前記オブジェクト識別器は、前記オブジェクトの識別が決定されることになるための前記オブジェクトの選択を示す入力を取得するように構成される、項目1に記載の装置。
(項目7)
前記入力は、コントローラコンポーネントを介して生成されたユーザ入力を備え、前記ユーザ入力は、前記オブジェクトの選択を示す、項目6に記載の装置。
(項目8)
前記ユーザ入力は、前記画面内のカーソル位置を示し、前記オブジェクト識別器は、前記カーソル位置に基づいて、選択されている前記環境内のオブジェクトを決定するように構成される、項目7に記載の装置。
(項目9)
前記ユーザ入力は、前記コントローラコンポーネントの配向を示し、前記オブジェクト識別器は、前記コントローラコンポーネントによって前記環境内のオブジェクトに向かってポイントされている方向に基づいて、選択されている前記環境内のオブジェクトを決定するように構成される、項目7に記載の装置。
(項目10)
カメラをさらに備え、前記オブジェクト識別器は、前記カメラによって提供されるカメラ画像内の前記オブジェクトの画像の存在に基づいて、識別のための前記オブジェクトを選択するように構成される、項目1に記載の装置。
(項目11)
前記オブジェクト識別器は、前記オブジェクトを自動的に選択するように構成される、項目10に記載の装置。
(項目12)
前記オブジェクト識別器は、前記オブジェクトが、時間閾値を超える持続時間内に、前記カメラ画像を備えるカメラ画像のシーケンス内に存在することに応答して、前記オブジェクトを選択するように構成される、項目10に記載の装置。
(項目13)
仮想空間を定義するように構成される空間定義器をさらに備える、項目1に記載の装置。
(項目14)
前記空間定義器は、前記仮想空間に関する仮想壁を定義するように構成される、項目13に記載の装置。
(項目15)
前記仮想壁は、前記ユーザを囲繞する環境内の実際の物理的壁からオフセットされる、項目14に記載の装置。
(項目16)
前記仮想壁は、前記ユーザを囲繞する環境内の実際の物理的壁と整合されるかまたはそれと交差する、項目14に記載の装置。
(項目17)
前記画面は、前記ユーザが、前記仮想壁を視認するとき、前記壁識別子が、前記仮想壁に対してある空間関係にあるであろうように、壁識別子を前記画面内のある場所に表示するように構成される、項目14に記載の装置。
(項目18)
前記空間定義器は、前記仮想空間に関する複数の仮想壁を定義するように構成され、
前記画面は、前記個別の仮想壁に関する壁識別子を表示するように構成される、
項目13に記載の装置。
(項目19)
前記空間定義器は、前記仮想空間に関する角を定義するように構成される、項目13に記載の装置。
(項目20)
前記空間定義器は、前記仮想空間に関する壁縁を定義するように構成される、項目13に記載の装置。
(項目21)
前記空間定義器は、コントローラコンポーネントを介して生成されたユーザ入力を取得するように構成され、前記ユーザ入力は、前記仮想空間の少なくとも一部を定義するための前記環境内の特徴の選択を示す、項目13に記載の装置。
(項目22)
前記環境内の特徴は、壁、壁角、縁、または前述の任意の組み合わせを備える、項目21に記載の装置。
(項目23)
前記ユーザ入力は、前記画面内のカーソル位置を示す、項目21に記載の装置。
(項目24)
前記ユーザ入力は、前記コントローラコンポーネントの配向を示し、前記環境内の特徴の選択は、前記コントローラコンポーネントによって前記環境内の特徴に向かってポイントされる方向に基づく、項目21に記載の装置。
(項目25)
カメラをさらに備え、前記装置は、前記カメラによって提供されるカメラ画像内の特徴の画像の存在に基づいて、前記仮想空間の少なくとも一部を定義するための前記環境内の特徴を選択するように構成される、項目13に記載の装置。
(項目26)
前記装置は、前記環境内の特徴を自動的に選択するように構成される、項目25に記載の装置。
(項目27)
前記装置は、前記特徴が、時間閾値を超える持続時間内に、前記カメラ画像を含むカメラ画像のシーケンス内に存在することに応答して、前記特徴を選択するように構成される、項目25に記載の装置。
(項目28)
前記画面は、コントローラコンポーネントの配向に基づいて、ポインタを表示するように構成され、前記装置はさらに、ポインタ構成器を備え、前記ポインタ構成器は、前記画面内に表示される前記ポインタの構成を調節し、および/または前記ポインタと関連付けられる相互作用グラフィックを提示するように構成される、項目1に記載の装置。
(項目29)
前記ポインタ構成器は、前記ポインタと仮想オブジェクトとの間の相互作用に応答して、前記ポインタの構成を調節し、および/または前記相互作用グラフィックを提示するように構成される、項目28に記載の装置。
(項目30)
前記グラフィック生成器はまた、前記ユーザおよび付加的ユーザによる相互作用のために、仮想コンテンツを提供するように構成され、前記画面は、前記仮想コンテンツを表示するように構成される、項目1に記載の装置。
(項目31)
前記装置は、前記ユーザおよび前記付加的ユーザが、同一仮想空間において、前記仮想コンテンツと相互作用し得るように、前記ユーザおよび前記付加的ユーザを同一仮想空間に接続するように構成される、項目30に記載の装置。
(項目32)
前記グラフィック生成器は、異なる個別の部屋における前記ユーザおよび前記付加的ユーザによる相互作用のために、前記仮想コンテンツを提供するように構成される、項目30に記載の装置。
(項目33)
前記グラフィック生成器は、同一部屋における前記ユーザおよび前記付加的ユーザによる相互作用のために、前記仮想コンテンツを提供するように構成される、項目30に記載の装置。
(項目34)
前記装置は、前記ユーザおよび前記付加的ユーザが前記環境内に存在する間、前記ユーザおよび前記付加的ユーザが前記仮想コンテンツと相互作用し得るように、前記ユーザおよび前記付加的ユーザを前記環境に位置合わせするように構成される、項目30に記載の装置。
(項目35)
前記装置は、前記ユーザの場所および前記付加的ユーザの場所と関連付けられる1つまたはそれを上回るアンカポイントを決定することによって、前記ユーザおよび前記付加的ユーザを前記環境に位置合わせするように構成される、項目34に記載の装置。
(項目36)
仮想または拡張現実体験を提供するように構成される装置によって実施される方法であって、前記方法は、
表面検出器によって、前記装置のユーザを囲繞する環境内のオブジェクトの表面を検出することと、
オブジェクト識別器によって、前記オブジェクトの表面の配向および/または高度を取得することと、
前記オブジェクト識別器によって、前記オブジェクトの表面の前記配向および/または前記高度に基づいて、前記オブジェクトを識別することと、
グラフィック生成器によって、画面による表示のために、前記識別されたオブジェクトに関する識別子を生成することであって、前記画面は、少なくとも部分的に、前記装置のユーザが前記ユーザを囲繞する環境内のオブジェクトを視認することを可能にするために透明である、ことと
を含む、方法。
(項目37)
前記オブジェクトは、前記オブジェクトの表面の配向が、略垂直である場合、かつ前記オブジェクトの表面の高度が、高度閾値を上回る場合、壁として識別される、項目36に記載の方法。
(項目38)
前記オブジェクトは、前記オブジェクトの表面の配向が、略水平である場合、かつ前記オブジェクトの表面の高度が、高度閾値を下回る場合、床として識別される、項目36に記載の方法。
(項目39)
前記オブジェクトは、前記オブジェクトの表面の配向が、略水平である場合、かつ前記オブジェクトの表面の高度が、第1の高度閾値を上回り、第2の高度閾値を下回る場合、家具として識別される、項目36に記載の方法。
(項目40)
前記識別子は、前記ユーザが、前記画面を通して、前記環境内のオブジェクトを視認するとき、前記識別子が、前記オブジェクトに対してある空間関係にあるであろうように、前記画面内のある場所に表示される、項目36に記載の方法。
(項目41)
前記オブジェクトの識別が決定されることになるための前記オブジェクトの選択を示す入力を取得することをさらに含む、項目36に記載の方法。
(項目42)
前記入力は、コントローラコンポーネントを介して生成されたユーザ入力を備え、前記ユーザ入力は、前記オブジェクトの選択を示す、項目41に記載の方法。
(項目43)
前記ユーザ入力は、前記画面内のカーソル位置を示し、前記方法はさらに、前記カーソル位置に基づいて、選択されている前記環境内のオブジェクトを決定することを含む、項目42に記載の方法。
(項目44)
前記ユーザ入力は、前記コントローラコンポーネントの配向を示し、前記方法はさらに、前記コントローラコンポーネントによって前記環境内のオブジェクトに向かってポイントされている方向に基づいて、選択されている前記環境内のオブジェクトを決定することを含む、項目42に記載の方法。
(項目45)
前記装置のカメラによって提供されるカメラ画像内の前記オブジェクトの画像の存在に基づいて、識別のための前記オブジェクトを選択することをさらに含む、項目36に記載の方法。
(項目46)
オブジェクトは、識別のために自動的に選択される、項目45に記載の方法。
(項目47)
前記オブジェクトは、前記オブジェクトが、時間閾値を超える持続時間内に、前記カメラ画像を備えるカメラ画像のシーケンス内に存在することに応答して、選択される、項目45に記載の方法。
(項目48)
仮想空間を定義することをさらに含む、項目36に記載の方法。
(項目49)
前記仮想空間を定義する行為は、前記仮想空間に関する仮想壁を定義することを含む、項目48に記載の方法。
(項目50)
前記仮想壁は、前記ユーザを囲繞する環境内の実際の物理的壁からオフセットされる、項目49に記載の方法。
(項目51)
前記仮想壁は、前記ユーザを囲繞する環境内の実際の物理的壁と整合されるかまたはそれと交差する、項目49に記載の方法。
(項目52)
前記ユーザが、前記仮想壁を視認するとき、前記壁識別子が、前記仮想壁に対してある空間関係にあるであろうように、前記画面によって、壁識別子を前記画面内のある場所に表示することをさらに含む、項目49に記載の方法。
(項目53)
前記仮想空間を定義する行為は、前記仮想空間に関する複数の仮想壁を定義することを含み、
前記方法はさらに、前記画面によって、前記個別の仮想壁に関する壁識別子を表示することを含む、
項目48に記載の方法。
(項目54)
前記仮想空間を定義する行為は、前記仮想空間に関する角を定義することを含む、項目48に記載の方法。
(項目55)
前記仮想空間を定義する行為は、前記仮想空間に関する壁縁を定義することを含む、項目48に記載の方法。
(項目56)
コントローラコンポーネントを介して生成されたユーザ入力を取得することをさらに含み、前記ユーザ入力は、前記仮想空間の少なくとも一部を定義するための前記環境内の特徴の選択を示す、項目48に記載の方法。
(項目57)
前記環境内の特徴は、壁、壁角、縁、または前述の任意の組み合わせを備える、項目56に記載の方法。
(項目58)
前記ユーザ入力は、前記画面内のカーソル位置を示す、項目56に記載の方法。
(項目59)
前記ユーザ入力は、前記コントローラコンポーネントの配向を示し、前記環境内の特徴の選択は、前記コントローラコンポーネントによって前記環境内の特徴に向かってポイントされる方向に基づく、項目56に記載の方法。
(項目60)
前記仮想空間の少なくとも一部を定義するための前記環境内の特徴を選択することをさらに含み、前記選択する行為は、前記装置のカメラによって提供されるカメラ画像内の特徴の画像の存在に基づいて、実施される、項目48に記載の方法。
(項目61)
前記環境内の特徴は、自動的に選択される、項目60に記載の方法。
(項目62)
前記特徴は、前記特徴が、時間閾値を超える持続時間内に、前記カメラ画像を含むカメラ画像のシーケンス内に存在することに応答して、選択される、項目60に記載の方法。
(項目63)
コントローラコンポーネントの配向に基づいて、前記画面によって、ポインタを表示することをさらに含み、前記方法はさらに、前記画面内に表示される前記ポインタの構成を調節することおよび/または前記ポインタと関連付けられる相互作用グラフィックを提示することを含む、項目36に記載の方法。
(項目64)
前記ポインタの構成を調節する行為および/または前記相互作用グラフィックを提示する行為は、前記ポインタと仮想オブジェクトとの間の相互作用に応答して、実施される、項目63に記載の方法。
(項目65)
前記ユーザおよび付加的ユーザによる相互作用のために、仮想コンテンツを提供することをさらに含む、項目36に記載の方法。
(項目66)
前記ユーザおよび前記付加的ユーザが、同一仮想空間において、前記仮想コンテンツと相互作用し得るように、前記ユーザおよび前記付加的ユーザを同一仮想空間に接続することをさらに含む、項目65に記載の方法。
(項目67)
前記仮想コンテンツは、異なる個別の部屋における前記ユーザおよび前記付加的ユーザによる相互作用のために、提供される、項目65に記載の方法。
(項目68)
前記仮想コンテンツは、同一部屋における前記ユーザおよび前記付加的ユーザによる相互作用のために、提供される、項目65に記載の方法。
(項目69)
前記ユーザおよび前記付加的ユーザが前記環境内に存在する間、前記ユーザおよび前記付加的ユーザが前記仮想コンテンツと相互作用し得るように、前記ユーザおよび前記付加的ユーザを前記環境に位置合わせすることをさらに含む、項目65に記載の方法。
(項目70)
前記ユーザおよび前記付加的ユーザを前記環境に位置合わせする行為は、前記ユーザの場所および前記付加的ユーザの場所と関連付けられる1つまたはそれを上回るアンカポイントを決定することを含む、項目69に記載の方法。
(項目71)
プロセッサ可読非一過性媒体であって、前記プロセッサ可読非一過性媒体は、命令のセットを記憶しており、処理ユニットによる前記命令のセットの実行は、方法を実施させ、前記処理ユニットは、仮想または拡張現実体験を提供するように構成される装置の一部であり、前記方法は、
表面検出器によって、前記装置のユーザを囲繞する環境内のオブジェクトの表面を検出することと、
オブジェクト識別器によって、前記オブジェクトの表面の配向および/または高度を取得することと、
前記オブジェクト識別器によって、前記オブジェクトの表面の前記配向および/または前記高度に基づいて、前記オブジェクトを識別することと、
グラフィック生成器によって、画面による表示のために、前記識別されたオブジェクトに関する識別子を生成することであって、前記画面は、少なくとも部分的に、前記装置のユーザが前記ユーザを囲繞する環境内のオブジェクトを視認することを可能にするために透明である、ことと
を含む、プロセッサ可読非一過性媒体。
(項目72)
拡張現実体験を提供するための装置であって、
画面であって、前記画面は、少なくとも部分的に、前記装置のユーザが前記ユーザを囲繞する環境内のオブジェクトを視認することを可能にするために透明である、画面と、
空間定義器であって、前記空間定義器は、入力を取得し、前記入力に基づいて、仮想空間を定義するように構成され、前記空間定義器は、前記画面が前記ユーザによって装着されている間、前記入力を取得するように構成される、空間定義器と、
グラフィック生成器であって、前記グラフィック生成器は、前記画面による表示のために、仮想コンテンツを提供するように構成され、前記画面は、前記仮想コンテンツを前記仮想空間内に表示するように構成される、グラフィック生成器と
を備える、装置。
(項目73)
前記空間定義器は、前記仮想空間に関する仮想壁を定義するように構成される、項目72に記載の装置。
(項目74)
前記仮想壁は、前記ユーザを囲繞する環境内の実際の物理的壁からオフセットされる、項目73に記載の装置。
(項目75)
前記仮想壁は、前記ユーザを囲繞する環境内の実際の物理的壁と整合されるかまたはそれと交差する、項目74に記載の装置。
(項目76)
前記画面は、前記ユーザが、前記仮想壁を視認するとき、前記壁識別子が、前記仮想壁に対してある空間関係にあるであろうように、壁識別子を前記画面内のある場所に表示するように構成される、項目73に記載の装置。
(項目77)
前記空間定義器は、前記仮想空間に関する複数の仮想壁を定義するように構成され、
前記画面は、前記個別の仮想壁に関する壁識別子を表示するように構成される、
項目72に記載の装置。
(項目78)
前記空間定義器は、前記仮想空間に関する角を定義するように構成される、項目72に記載の装置。
(項目79)
前記空間定義器は、前記仮想空間に関する壁縁を定義するように構成される、項目72に記載の装置。
(項目80)
前記空間定義器は、前記コントローラコンポーネントを介して生成されたユーザ入力を取得するように構成され、前記ユーザ入力は、前記仮想空間の少なくとも一部を定義するための前記環境内の特徴の選択を示す、項目72に記載の装置。
(項目81)
前記環境内の特徴は、壁、壁角、縁、または前述の任意の組み合わせを備える、項目80に記載の装置。
(項目82)
前記ユーザ入力は、前記画面内のカーソル位置を示す、項目80に記載の装置。
(項目83)
前記ユーザ入力は、前記コントローラコンポーネントの配向を示し、前記環境内の特徴の選択は、前記コントローラコンポーネントによって前記環境内の特徴に向かってポイントされる方向に基づく、項目80に記載の装置。
(項目84)
カメラをさらに備え、前記装置は、前記カメラによって提供されるカメラ画像内の特徴の画像の存在に基づいて、前記仮想空間の少なくとも一部を定義するための前記環境内の特徴を選択するように構成され、前記カメラ画像は、前記空間定義器によって取得される入力である、項目72に記載の装置。
(項目85)
前記装置は、前記環境内の特徴を自動的に選択するように構成される、項目84に記載の装置。
(項目86)
前記装置は、前記特徴が、時間閾値を超える持続時間内に前記カメラ画像を含むカメラ画像のシーケンス内に存在することに応答して、前記特徴を選択するように構成される、項目84に記載の装置。
(項目87)
前記仮想コンテンツはまた、付加的ユーザによる相互作用のためのものでもある、項目72に記載の装置。
(項目88)
前記装置は、前記ユーザおよび前記付加的ユーザが前記仮想空間において前記仮想コンテンツと相互作用し得るように、前記ユーザおよび前記付加的ユーザを前記仮想空間に接続するように構成される、項目87に記載の装置。
(項目89)
前記グラフィック生成器は、異なる個別の部屋における前記ユーザおよび前記付加的ユーザによる相互作用のために、前記仮想コンテンツを提供するように構成される、項目87に記載の装置。
(項目90)
前記グラフィック生成器は、同一部屋における前記ユーザおよび前記付加的ユーザによる相互作用のために、前記仮想コンテンツを提供するように構成される、項目87に記載の装置。
(項目91)
前記装置は、前記ユーザおよび前記付加的ユーザが前記環境内に存在する間、前記ユーザおよび前記付加的ユーザが前記仮想コンテンツと相互作用し得るように、前記ユーザおよび前記付加的ユーザを前記環境に位置合わせするように構成される、項目87に記載の装置。
(項目92)
前記装置は、前記ユーザの場所および前記付加的ユーザの場所と関連付けられる1つまたはそれを上回るアンカポイントを決定することによって、前記ユーザおよび前記付加的ユーザを前記環境に位置合わせするように構成される、項目91に記載の装置。
(項目93)
前記グラフィック生成器は、前記ユーザによるある面積の注視または視認がある時間閾値を経過したことに応答して、前記仮想コンテンツを提供するように構成される、項目72に記載の装置。
(項目94)
仮想または拡張現実体験を提供するように構成される装置によって実施される方法であって、前記装置は、画面を備え、前記方法は、
空間定義器によって、入力を取得することであって、前記空間定義器は、前記画面がユーザによって装着されている間、前記入力を取得するように構成される、ことと、
前記空間定義器によって、前記入力に基づいて、仮想空間を定義することと、
グラフィック生成器によって、画面による表示のために、仮想コンテンツを提供することと、
前記画面によって、前記仮想コンテンツを前記仮想空間内に表示することであって、前記画面は、少なくとも部分的に、前記装置のユーザが前記ユーザを囲繞する環境内のオブジェクトを視認することを可能にするために、透明である、ことと
を含む、方法。
(項目95)
前記仮想空間を定義する行為は、前記仮想空間に関する仮想壁を定義することを含む、項目94に記載の方法。
(項目96)
前記仮想壁は、前記ユーザを囲繞する環境内の実際の物理的壁からオフセットされる、項目95に記載の方法。
(項目97)
前記仮想壁は、前記ユーザを囲繞する環境内の実際の物理的壁と整合されるかまたはそれと交差する、項目96に記載の方法。
(項目98)
前記ユーザが、前記仮想壁を視認するとき、前記壁識別子が、前記仮想壁に対してある空間関係にあるであろうように、前記画面によって、壁識別子を前記画面内のある場所に表示することをさらに含む、項目95に記載の方法。
(項目99)
前記仮想空間を定義する行為は、前記仮想空間に関する複数の仮想壁を定義することを含み、
前記方法はさらに、前記画面によって、前記個別の仮想壁に関する壁識別子を表示することを含む、
項目94に記載の方法。
(項目100)
前記仮想空間を定義する行為は、前記仮想空間に関する角を定義することを含む、項目94に記載の方法。
(項目101)
前記仮想空間を定義する行為は、前記仮想空間に関する壁縁を定義することを含む、項目94に記載の方法。
(項目102)
前記コントローラコンポーネントを介して生成されたユーザ入力を取得することをさらに含み、前記ユーザ入力は、前記仮想空間の少なくとも一部を定義するための前記環境内の特徴の選択を示す、項目94に記載の方法。
(項目103)
前記環境内の特徴は、壁、壁角、縁、または前述の任意の組み合わせを備える、項目102に記載の方法。
(項目104)
前記ユーザ入力は、前記画面内のカーソル位置を示す、項目102に記載の方法。
(項目105)
前記ユーザ入力は、前記コントローラコンポーネントの配向を示し、前記環境内の特徴の選択は、前記コントローラコンポーネントによって前記環境内の特徴に向かってポイントされる方向に基づく、項目102に記載の方法。
(項目106)
カメラによって提供されるカメラ画像内の特徴の画像の存在に基づいて、前記仮想空間の少なくとも一部を定義するための前記環境内の特徴を選択することをさらに含み、前記カメラ画像は、前記空間定義器によって取得される入力である、項目94に記載の方法。
(項目107)
前記環境内の特徴は、自動的に選択される、項目106に記載の方法。
(項目108)
前記環境内の特徴は、前記特徴が、時間閾値を超える持続時間内に、前記カメラ画像を含むカメラ画像のシーケンス内に存在することに応答して、選択される、項目106に記載の方法。
(項目109)
前記仮想コンテンツはまた、付加的ユーザによる相互作用のためのものでもある、項目94に記載の方法。
(項目110)
前記ユーザおよび前記付加的ユーザが前記仮想空間において前記仮想コンテンツと相互作用し得るように、前記ユーザおよび前記付加的ユーザを前記仮想空間に接続することをさらに含む、項目109に記載の方法。
(項目111)
前記仮想コンテンツは、異なる個別の部屋における前記ユーザおよび前記付加的ユーザによる相互作用のために、提供される、項目109に記載の方法。
(項目112)
前記仮想コンテンツは、同一部屋における前記ユーザおよび前記付加的ユーザによる相互作用のために、提供される、項目109に記載の方法。
(項目113)
前記ユーザおよび前記付加的ユーザが前記環境内に存在する間、前記ユーザおよび前記付加的ユーザが前記仮想コンテンツと相互作用し得るように、前記ユーザおよび前記付加的ユーザを前記環境に位置合わせすることをさらに含む、項目109に記載の方法。
(項目114)
前記ユーザおよび前記付加的ユーザを前記環境に位置合わせする行為は、前記ユーザの場所および前記付加的ユーザの場所と関連付けられる1つまたはそれを上回るアンカポイントを決定することを含む、項目113に記載の方法。
(項目115)
前記仮想コンテンツは、前記ユーザによるある面積の注視または視認がある時間閾値を経過したことに応答して、提供される、項目94に記載の方法。
(項目116)
プロセッサ可読非一過性媒体であって、前記プロセッサ可読非一過性媒体は、命令のセットを記憶しており、処理ユニットによる前記命令のセットの実行は、方法を実施させ、前記処理ユニットは、仮想または拡張現実体験を提供するように構成される装置の一部であり、前記装置は、画面を備え、前記方法は、
空間定義器によって、入力を取得することであって、前記空間定義器は、前記画面がユーザによって装着されている間、前記入力を取得するように構成される、ことと、
前記空間定義器によって、前記入力に基づいて、仮想空間を定義することと、
グラフィック生成器によって、画面による表示のために、仮想コンテンツを提供することと、
前記画面によって、前記仮想コンテンツを前記仮想空間内に表示することであって、前記画面は、少なくとも部分的に、前記装置のユーザが前記ユーザを囲繞する環境内のオブジェクトを視認することを可能にするために、透明である、ことと
を含む、方法。
詳細な説明
本開示の種々の実施形態は、頭部装着型ビデオ画像デバイスのための入力を提供するための方法、装置、および製造品を対象とする。本開示の他の目的、特徴、および利点は、詳細な説明、図、および特許請求の範囲に説明される。
種々の実施形態が、図を参照して以降に説明される。図は、正確な縮尺で描かれておらず、類似構造または機能の要素は、図全体を通して同様の参照番号によって表されることに留意されたい。また、図は、実施形態の説明を促進するようにのみ意図されることに留意されたい。それらは、本発明の包括的説明として、または本発明の範囲に関する限界として意図されるものではない。加えて、図示される実施形態は、示される全ての側面または利点を有する必要はない。特定の実施形態と併せて説明される側面または利点は、必ずしも、その実施形態に限定されず、そのように図示されない場合でも、またはそのように明示的に説明されない場合でも、任意の他の実施形態において実践されることができる。
続く説明は、それを用いて本明細書に説明される実施形態が実践され得る、例証的VR、AR、および/またはMRシステムに関する。しかしながら、実施形態はまた、他のタイプのディスプレイシステム(他のタイプのVR、AR、および/またはMRシステムを含む)における用途にも適しており、したがって、実施形態は、本明細書に開示される例証的実施例のみに限定されないことを理解されたい。
図1Aを参照すると、頭部装着型視認コンポーネント(画像ディスプレイデバイス)2と、ハンドヘルドコントローラコンポーネント4と、ベルトパックまたは同等物としてユーザ上に装着されるように構成され得る、相互接続される補助コンピューティングまたはコントローラコンポーネント6とを特徴とする、拡張現実システム1が、図示される。これらのコンポーネントはそれぞれ、IEEE802.11、Bluetooth(登録商標)(RTM)と、他のコネクティビティ規格および構成によって規定されるもの等の有線または無線通信構成を介して、相互およびクラウドコンピューティングまたはクラウド記憶リソース等の他の接続されるリソース8に動作可能に結合されてもよい(10、12、14、16、17、18)。2つの描写される光学要素20等の種々の実施形態等のそのようなコンポーネントの種々の側面が、説明され、それを通して、ユーザには、拡張現実体験のために関連付けられるシステムコンポーネントによって生産され得る、視覚的コンポーネントとともに、その周囲の世界が見え得る。図1Aに図示されるように、そのようなシステム1はまた、限定ではないが、種々のカメラタイプセンサ(モノクロ、カラー/RGB、および/または熱結像コンポーネント等)(22、24、26)、深度カメラセンサ28、および/またはマイクロホン等の音センサ30を含む、ユーザの周囲の環境に関する情報を提供するように構成される、種々のセンサを備えてもよい。ユーザに豊かな拡張現実体験の知覚を提供するために利用され得る、本明細書に説明されるもの等のコンパクトかつ持続的に接続されるウェアラブルコンピューティングシステムおよびアセンブリの必要性が存在する。
システム1はまた、画像ディスプレイデバイスデバイス2のための入力を提供するための装置7を含む。装置7は、下記にさらに詳細に説明されるであろう。画像ディスプレイデバイス2は、VRデバイス、ARデバイス、MRデバイス、または他のタイプのディスプレイデバイスのいずれかであってもよい。図に示されるように、画像ディスプレイデバイス2は、エンドユーザによって装着される、フレーム構造と、ディスプレイサブシステムがエンドユーザの眼の正面に位置付けられるように、フレーム構造によって担持される、ディスプレイサブシステムと、スピーカがエンドユーザの外耳道に隣接して位置付けられる(随意に、別のスピーカ(図示せず)が、エンドユーザの他方の外耳道に隣接して位置付けられ、ステレオ/調節可能音制御を提供する)ようにフレーム構造によって担持される、スピーカとを含む。ディスプレイサブシステムは、エンドユーザの眼に、高レベルの画質および3次元知覚を伴って、物理的現実に対する拡張として快適に知覚され得る、光パターンを提示するように設計され、かつ2次元コンテンツを提示することも可能である。ディスプレイサブシステムは、単一コヒーレント場面の知覚を提供する、フレームのシーケンスを高周波数で提示する。
図示される実施形態では、ディスプレイサブシステムは、「光学シースルー」ディスプレイを採用し、それを通してユーザは、透明(または半透明)要素を介して、直接、実オブジェクトからの光を視認することができる。透明要素は、多くの場合、「コンバイナ」と称され、ディスプレイからの光を実世界のユーザのビューにわたって重畳する。この目的を達成するために、ディスプレイサブシステムは、部分的に透明なディスプレイまたは完全に透明なディスプレイを備える。ディスプレイは、周囲環境からの直接光が、ディスプレイを通して、エンドユーザの眼に伝送されるように、エンドユーザの眼と周囲環境との間のエンドユーザの視野内に位置付けられる。
図示される実施形態では、画像投影アセンブリは、光を部分的に透明なディスプレイに提供し、それによって、周囲環境からの直接光と組み合わせられ、ディスプレイからユーザの眼に伝送される。投影サブシステムは、光ファイバ走査ベースの投影デバイスであってもよく、ディスプレイは、その中に投影サブシステムからの走査される光が、例えば、無限遠(例えば、腕の長さ)より近い単一光学視認距離における画像、複数の離散光学視認距離または焦点面における画像、および/または立体3Dオブジェクトを表すために複数の視認距離または焦点面にスタックされた画像層を生産するように投入される、導波管ベースのディスプレイであってもよい。ライトフィールド内のこれらの層は、ヒト副視覚系に持続的に現れるようにともに十分に近接してスタックされてもよい(すなわち、1つの層が、隣接する層の乱信号円錐域内にある)。加えて、または代替として、ピクチャ要素が、2つまたはそれを上回る層を横断して混成され、それらの層が、より疎らにスタックされる(すなわち、1つの層が隣接する層の乱信号円錐域の外側にある)場合でも、ライトフィールド内の層間の遷移の知覚される連続性を増加させてもよい。ディスプレイサブシステムは、単眼または両眼用であってもよい。
画像ディスプレイデバイス2はまた、エンドユーザの頭部の位置および移動および/またはエンドユーザの眼位置および眼球間距離を検出するためにフレーム構造に搭載される、1つまたはそれを上回るセンサを含んでもよい。そのようなセンサは、画像捕捉デバイス(カメラ等)、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ)、または前述の任意の組み合わせを含んでもよい。これらのセンサの多くは、その上にそれらが添着される、フレームが、順に、ユーザの頭部、眼、および耳に実質的に固定されるという仮定に基づいて動作する。
画像ディスプレイデバイス2はまた、ユーザ配向検出モジュールを含んでもよい。ユーザ配向モジュールは、エンドユーザの頭部の瞬間位置を検出し(例えば、フレームに結合されるセンサを介して)、センサから受信された位置データに基づいて、エンドユーザの頭部の位置を予測してもよい。エンドユーザの頭部の瞬間位置を検出することは、エンドユーザが見ている、具体的実際のオブジェクトの決定を促進し、それによって、その実際のオブジェクトに関連して生成されるべき具体的仮想オブジェクトのインジケーションを提供し、さらに、仮想オブジェクトが表示される位置のインジケーションを提供する。ユーザ配向モジュールはまた、センサから受信された追跡データに基づいて、エンドユーザの眼を追跡してもよい。
画像ディスプレイデバイス2はまた、多種多様な形態のいずれかをとり得る、制御サブシステムを含んでもよい。制御サブシステムは、いくつかのコントローラ、例えば、1つまたはそれを上回るマイクロコントローラ、マイクロプロセッサまたは中央処理ユニット(CPU)、デジタル信号プロセッサ、グラフィック処理ユニット(GPU)、特定用途向け集積回路(ASIC)等の他の集積回路コントローラ、プログラマブルゲートアレイ(PGA)、例えば、フィールドPGA(FPGA)、および/またはプログラマブル論理コントローラ(PLU)を含む。
画像ディスプレイデバイス2の制御サブシステムは、中央処理ユニット(CPU)と、グラフィック処理ユニット(GPU)と、1つまたはそれを上回るフレームバッファと、3次元場面データを記憶するための3次元データベースとを含んでもよい。CPUは、全体的動作を制御してもよい一方、GPUは、3次元データベース内に記憶される3次元データからフレームをレンダリングし(すなわち、3次元場面を2次元画像に変換し)、これらのフレームをフレームバッファ内に記憶してもよい。1つまたはそれを上回る付加的集積回路は、フレームバッファの中へのフレームの読込およびそこからの読出およびディスプレイサブシステムの画像投影アセンブリの動作を制御してもよい。
装置7は、システム1のための種々の処理コンポーネントを表す。図中では、装置7は、画像ディスプレイデバイス2の一部として図示される。他の実施形態では、装置7は、ハンドヘルドコントローラコンポーネント4および/またはコントローラコンポーネント6内に実装されてもよい。さらなる実施形態では、装置7の種々の処理コンポーネントは、分散サブシステム内に実装されてもよい。例えば、装置7の処理コンポーネントは、画像ディスプレイデバイス2、ハンドヘルドコントローラコンポーネント4、コントローラコンポーネント6、または別のデバイス(画像ディスプレイデバイス2、ハンドヘルドコントローラコンポーネント4、および/またはコントローラコンポーネント6と通信する)のうちの2つまたはそれを上回るもの内に位置してもよい。
上記に説明される種々のコンポーネント間の結合10、12、14、16、17、18は、ワイヤまたは光学連通を提供するための1つまたはそれを上回る有線インターフェースまたはポート、または無線通信を提供するためのRF、マイクロ波、およびIR等を介した、1つまたはそれを上回る無線インターフェースまたはポートを含んでもよい。いくつかの実装では、全ての通信は、有線であってもよい一方、他の実装では、全ての通信は、無線であってもよい。したがって、有線または無線通信の特定の選択肢は、限定と見なされるべきではない。
いくつかの画像ディスプレイシステム(例えば、VRシステム、ARシステム、MRシステム等)は、個別の深度面から生じるように現れる画像を生成するための深度面情報を内蔵する、複数の体積位相ホログラム、表面レリーフホログラム、または光誘導光学要素を使用する。換言すると、回折パターンまたは回折光学要素(「DOE」)が、コリメートされた光(略平面波面を伴う光ビーム)が、LOEに沿って実質的に全内部反射されるにつれて、複数の場所において回折パターンと交差し、ユーザの眼に向かって出射するように、光誘導光学要素(「LOE」、例えば、平面導波管)内に内蔵される、またはその上にインプリント/エンボス加工されてもよい。DOEは、特定の深度面から生じるように現れるように、それを通してLOEから出射する光が輻輳されるように構成される。コリメートされた光は、光学集光レンズ(「集光器」)を使用して生成されてもよい。
例えば、第1のLOEは、光学無限遠深度面(0ジオプタ)から生じるように現れる、コリメートされた光を眼に送達するように構成されてもよい。別のLOEは、2メートルの距離(1/2ジオプタ)から生じるように現れる、コリメートされた光を送達するように構成されてもよい。さらに別のLOEは、1メートルの距離(1ジオプタ)から生じるように現れる、コリメートされた光を送達するように構成されてもよい。スタックされたLOEアセンブリを使用することによって、複数の深度面が、作成され得、各LOEは、特定の深度面から生じるように現れる、画像を表示するように構成されることを理解されたい。スタックは、任意の数のLOEを含んでもよいことを理解されたい。しかしながら、少なくともN個のスタックされたLOEが、N個の深度面を生成するために要求される。さらに、N、2N、または3N個のスタックされたLOEが、RGBカラー画像をN個の深度面に生成するために使用されてもよい。
3D仮想コンテンツをユーザに提示するために、画像ディスプレイシステム1(例えば、VRシステム、ARシステム、MRシステム等)は、それらがZ方向に(すなわち、ユーザの眼から離れるように直交して)種々の深度面から生じるように現れるように、仮想コンテンツの画像をユーザの眼の中に投影する。換言すると、仮想コンテンツは、XおよびY方向(すなわち、ユーザの眼の中心視軸に直交する、2D面)において変化し得るだけではなく、また、ユーザが、オブジェクトが、非常に近接して、または無限距離に、またはその間の任意の距離にあるように知覚し得るように、Z方向においても変化するように現れ得る。他の実施形態では、ユーザは、複数のオブジェクトを、同時に、異なる深度面において知覚し得る。例えば、ユーザには、仮想ドラゴンが、無限遠から現れ、ユーザに向かって走って来るように見え得る。代替として、ユーザには、同時に、ユーザから3メートル離れた距離における仮想鳥と、ユーザから腕の長さ(約1メートル)における仮想コーヒーカップとが見え得る。
多面焦点システムは、画像をユーザの眼からZ方向における個別の固定距離に位置する複数の深度面のいくつかまたは全て上に投影することによって、可変深度の知覚を作成する。ここで図1Bを参照すると、多面焦点システムは、フレームを固定された深度面150(例えば、図1Bに示される6つの深度面150)に表示し得ることを理解されたい。MRシステムは、任意の数の深度面150を含むことができるが、1つの例示的多面焦点システムは、6つの固定された深度面150をZ方向に有する。仮想コンテンツを6つの深度面150のうちの1つまたはそれを上回るものに生成する際、3D知覚が、ユーザがユーザの眼からの可変距離における1つまたはそれを上回る仮想オブジェクトを知覚するように作成される。ヒトの眼が、離れてあるように現れるオブジェクトより距離が近いオブジェクトにより敏感であることを前提として、より多くの深度面150が、図1Bに示されるように、眼のより近くに生成される。いくつかの実施形態では、深度面150は、相互から離れるように等距離に設置されてもよい。
深度面位置150は、メートル単位で測定される焦点距離の逆数に等しい屈折力の単位である、ジオプタ単位で測定されてもよい。例えば、いくつかの実施形態では、深度面1は、1/3ジオプタ離れてもよく、深度面2は、0.3ジオプタ離れていてもよく、深度面3は、0.2ジオプタ離れていてもよく、深度面4は、0.15ジオプタ離れていてもよく、深度面5は、0.1ジオプタ離れてもよく、深度面6は、無限遠(すなわち、0ジオプタ離れる)を表し得る。他の実施形態は、深度面150を他の距離/ジオプタに生成してもよいことを理解されたい。したがって、仮想コンテンツを方略的に設置された深度面150に生成する際、ユーザは、仮想オブジェクトを3次元で知覚することが可能である。例えば、ユーザは、別の仮想オブジェクトが深度面6における無限遠に現れる間、第1の仮想オブジェクトが深度面1内に表示されるとき、それを近くにあると知覚し得る。代替として、仮想オブジェクトは、最初に、深度面6に、次いで、深度面5に、そして、仮想オブジェクトがユーザの非常に近くに現れるまでそのように続くように表示されてもよい。上記の実施例は、例証目的のために有意に簡略化されていることを理解されたい。別の実施形態では、全6つの深度面は、ユーザから離れるように特定の焦点距離上に集中されてもよい。例えば、表示されるべき仮想コンテンツが、ユーザから0.5メートル離れたコーヒーカップである場合、全6つの深度面は、コーヒーカップの種々の断面において生成され、ユーザに、コーヒーカップの高粒度の3Dビューを与え得る。
いくつかの実施形態では、画像ディスプレイシステム1(例えば、VRシステム、ARシステム、MRシステム等)は、多面焦点システムとして機能してもよい。換言すると、全6つのLOEは、6つの固定された深度面から生じるように現れる画像が、高速で連続して生成されるように、同時に照明されてもよく、光源は、画像情報をLOE1、次いで、LOE2、次いで、LOE3等に急速に伝達する。例えば、光学無限遠における空の画像を含む、所望の画像の一部は、時間1において投入されてもよく、光のコリメーションを留保する、LOE(例えば、図1Bからの深度面6)が、利用されてもよい。次いで、より近い木の枝の画像が、時間2において投入されてもよく、10メートル離れて深度面から生じるように現れる画像を作成するように構成される、LOE(例えば、図1Bからの深度面5)が、利用されてもよい。次いで、ペンの画像が、時間3において投入されてもよく、1メートル離れて深度面から生じるように現れる画像を作成するように構成される、LOEが、利用されてもよい。本タイプのパラダイムは、ユーザの眼および脳(例えば、視覚野)が入力を同一画像の全ての部分であると知覚するように、高速時間シーケンシャル(例えば、360Hz)方式で繰り返されることができる。
画像ディスプレイシステム1は、Z軸(すなわち、深度面)に沿って種々の場所から生じるように現れ、3D体験/シナリオのための画像を生成する、画像を投影してもよい(すなわち、光ビームを発散または収束させることによって)。本願で使用されるように、光ビームは、限定ではないが、光源から照射される光エネルギー(可視および不可視光エネルギーを含む)の指向性投影を含む。種々の深度面から生じるように現れる、画像を生成することは、その画像のためのユーザの眼の輻輳・開散運動および遠近調節に一致し、輻輳・開散運動-遠近調節競合を最小限にまたは排除する。
ある場合には、頭部装着型画像ディスプレイデバイスのユーザをユーザの環境に対して位置特定するために、環境の位置特定マップが、取得される。いくつかの実施形態では、位置特定マップは、システム1の一部である、非一過性媒体内に記憶されてもよい。他の実施形態では、位置特定マップは、データベースから無線で受信されてもよい。位置特定マップが、取得された後、画像ディスプレイデバイスのカメラシステムからのリアルタイム入力画像が、次いで、位置特定マップに対してマッチングされ、ユーザを位置特定する。例えば、入力画像の角特徴が、入力画像から検出され、位置特定マップの角特徴に対してマッチングされてもよい。いくつかの実施形態では、角のセットを位置特定において使用するための画像からの特徴として取得するために、画像は、最初に、角検出を経て、検出された角の初期セットを取得する必要があり得る。検出された角の初期セットは、次いで、さらに処理され、例えば、位置特定目的のための検出された角の最終セットを取得するために、非最大値抑制、空間ビニング等を経てもよい。ある場合には、フィルタリングが、実施され、初期セット内の検出された角のサブセットを識別し、角の最終セットを取得してもよい。
また、いくつかの実施形態では、環境の位置特定マップが、ユーザが画像ディスプレイデバイス2を異なる方向に指向することによって(例えば、画像ディスプレイデバイス2を装着している間、その頭部を方向転換することによって)、作成されてもよい。画像ディスプレイデバイス2が、環境内の異なる空間にポイントされるにつれて、画像ディスプレイデバイス2上のセンサが、環境の特性を感知し、その特性は、次いで、システム1によって使用され、位置特定マップを作成し得る。1つの実装では、センサは、1つまたはそれを上回るカメラおよび/または1つまたはそれを上回る深度センサを含んでもよい。カメラは、カメラ画像を提供し、これは、装置7によって処理され、環境内の異なるオブジェクトを識別する。加えて、または代替として、深度センサは、深度情報を提供し、これは、装置によって処理され、環境内のオブジェクトの異なる表面を決定する。
種々の実施形態では、ユーザは、図1Aに描写されるもの等の拡張現実システムを装着していてもよく、これは、そのようなシステムの動作されるときのユーザの周囲の3次元世界との相互作用に関連して、「空間コンピューティング」システムとも称され得る。そのようなシステムは、例えば、頭部ウェアラブルディスプレイコンポーネント2を備えてもよく、種々のタイプのカメラ等の上記に説明されるような環境感知能力を特徴とし得、これは、ユーザの周囲の環境をマッピングする、または壁、床、椅子、および同等物等のユーザの周囲の環境内の種々のオブジェクトの幾何学形状を表す、種々の点を備える、そのような環境の「メッシュ」を作成するように構成されてもよい。空間コンピューティングシステムは、ユーザの周囲の環境をマッピングまたはメッシュ化し、Magic Leap, Inc.(Planation, Florida)から利用可能なもの等のソフトウェアを起動または動作させるように構成されてもよく、これは、部屋のマップまたはメッシュを利用して、ユーザが、ユーザの周囲の3次元空間内で種々のオブジェクトおよび要素を設置、操作、可視化、作成、および修正することを補助するように構成されてもよい。図1Aに戻って参照すると、本システムは、クラウドまたは他のコネクティビティ構成によって、他のコンピューティングシステム等の付加的リソースに動作可能に結合されてもよい。空間コンピューティングにおける課題のうちの1つは、例えば、ユーザの周囲の3次元世界に関連し得る、コンピュータビジョンおよび/またはオブジェクト認識課題等における、ユーザに有用および/または重要な決定を行う際の、種々の動作可能に結合されるセンサ(図1Aのシステムの要素22、24、26、28等)によって捕捉されたデータの利用に関する。
図2A-2Bを参照すると、図1に概して図示されるもの等のシステムを装着し、動作させている、ユーザは、床40または机34等のユーザの周囲の実際の環境のビューだけではなく、また、彼らがまた、視認および解釈のために、テキスト要素、グラフィカル要素、芸術的像、および同等物等を提示され得るように、体験を拡張するための、ある、いわゆる、仮想要素を提示され得る。図2Aは、ランタイムプロセスに関するあるテキスト情報36、38が、ユーザが、例えば、デバギングプロセスを補助するために提示され得る、構成のユーザのビュー32を図示する。図2Bを参照すると、ユーザ42の手が、ユーザが、種々のボタン押下、タッチインターフェースを横断したスワイプ(タッチインターフェース46を横断して示されるような親指44等によって)、または表示される情報36、38と相互作用するための他のデバイス相互作用等によって、ハンドヘルドコントローラコンポーネント4を動作させ、例えば、プロセスを通して順次ステップを経る、種々の入力のエラーまたは影響を観察する、直近のアクティビティに移動する、可視性オプションをトグルする、および同等物を行い得ることを示す。本システムは、概して、幾分邪魔にならない所にあるように、表示される情報36、38をユーザの視野内で比較的に低く保つように構成されてもよい。図3を参照すると、別の実施形態では、種々のステータス52およびイベント54情報が、図3のユーザのビュー50に示されるように、類似視認性のために、ユーザに提示されてもよい。
先に図5Aを参照すると、一実施形態では、ユーザは、図1に図示されるもの等のシステムを装着していてもよく(アイテム96)、オフィスまたは他の部屋等のローカル環境内に存在してもよく、本システムは、部屋の壁、ユーザの近くの机、床、天井、および壁のうちの1つに対するキャビネット構造の三角形メッシュ等、そのような部屋の特徴のメッシュを作成またはアップロードしている(アイテム98)。本システムは、Unity(RTM)またはUnreal Engine(RTM)等の開発環境またはゲームエンジン内で、空間コンピューティングシステムのコンポーネントのうちの1つまたはそれを上回るものから、ユーザのローカル環境のメッシュ内の標的化された位置に向かって、光線投射機能を使用すること等によって、光線を投射し、投射および照準されている、光線の法線ベクトルを決定するように構成されてもよい(アイテム100)。例えば、ユーザは、ハンドヘルドコントローラデバイス4を動作させ、仮想ポインタをその周囲の壁の一部、またはその机の表面、または床または天井に照準させてもよい。本システムは、決定された法線ベクトルと関連付けられる1つまたはそれを上回る要因を使用することによって、メッシュ内の標的化された位置によって表される、部屋内のオブジェクトの識別に関する推定される決定を行うように構成されてもよい(アイテム102)。例えば、本システムはまた、部屋の壁の配向および位置付けに関するメッシュ情報に基づいて、「上向き重力」のベクトルを決定または入手するように構成されてもよい。すなわち、本システムは、標的化された位置に関する決定された法線ベクトルの配向と上向き重力ベクトルの配向を比較し、および/または高さおよび/または幾何学形状ヒューリスティックを利用して、ユーザが、例えば、テーブルの表面、着座表面、床、または天井をポイントしていることの裏付け推測を行うように構成されてもよい。換言すると、本システムは、天井および床が、多くの場合、床から約8~10フィート上方の天井と平行平面にあって、壁に直交すること、床が、天井に対して、下向き重力であること、着座表面が、多くの場合は、約18~24インチにあること、テーブルの表面が、多くの場合は、約36~40インチにあること等の情報を利用するように構成されてもよい。図5Aに戻って参照すると、本システムは、ユーザに、ユーザの頭部装着型空間コンピューティングシステムの視野内のテキスト識別要素等を介して、推定される識別決定に関して知らせるように構成されてもよい(アイテム104)。したがって、図4A-4Fに戻って参照すると、種々のユーザビュー56、58、68、70、80、82が、図示される。図4Aに示されるように、ユーザは、その手42およびハンドコントローラ4を使用して、仮想カーソル60をキャビネットのカウンタ上部62に照準しており、ユーザの周囲の部屋のメッシュに基づいて、本システムは、カウンタ上部を「テーブルの表面」として識別し、提示仮想要素64を介して、そのような推定テキストをユーザに提示する。
図4Bを参照すると、ユーザは、その手およびハンドコントローラ等を使用することによって(または代替として、例えば、眼視線検出および/または照準レチクル等の頭部装着型コンポーネントベースのポイント構成であり得る)、仮想カーソル60をキャビネットドア66に隣接する部屋の床40に照準しており、ユーザの周囲の部屋のメッシュに基づいて、本システムは、床を「床」として識別し、テキスト提示仮想要素74を介して、そのような推定をユーザに提示する。
図4Cを参照すると、ユーザは、その手およびハンドコントローラ等を使用することによって(または代替として、例えば、眼視線検出および/または照準レチクル等の頭部装着型コンポーネントベースのポイント構成であり得る)、仮想カーソル60をドア(72;壁76および床40に隣接する)に照準しており、ユーザの周囲の部屋のメッシュに基づいて、本システムは、ドアを「壁」として識別し、テキスト提示仮想要素76を介して、そのような推定をユーザに提示する。
図4Dを参照すると、ユーザは、その手およびハンドコントローラ等を使用することによって(または代替として、例えば、眼視線検出および/または照準レチクル等の頭部装着型コンポーネントベースのポイント構成であり得る)、仮想カーソル60を天井80に照準しており、ユーザの周囲の部屋のメッシュに基づいて、本システムは、天井を「天井」として識別し、テキスト提示仮想要素78を介して、そのような推定をユーザに提示する。
上記に述べられたように、図5Aでは、本システムは、推定に基づいて、オブジェクト識別を行うように構成されてもよい。すなわち、識別は、常時、正しいとは限らない。例えば、それぞれ、図4E-4Fのユーザビュー80、82を参照すると、本システムは、オブジェクトを誤識別している。図4Eでは、カーソル60が、キャビネットカウンタ上部を伴う、一連のキャビネットドア90、92内のうちの1つに照準されており、本システムは、ユーザに、キャビネットドアが「壁」であることを返し、そのように提示している。具体的構成に応じて、これは、キャビネットドアが、別の識別された壁に直交する、またはそれと平行である、天井および/または床に直交する等の結果であり得る。同様に、図4Fでは、本システムは、ユーザが、実際には、カーソル60をテーブル94にポイントしているとき、ほぼ典型的着座表面高さにおいて起こる、「座席」の推定を返し、そのように提示している(86)。
先に図5Bを参照すると、ある実施形態が、図示され、システム(アイテム96)が、ローカル環境のメッシュと関連付けられる(アイテム98)ことに加え、複数の光線106が、領域ついてのさらなる情報が得られ得るように、照準されたカーソルに隣接する領域の周囲における光線投射を用いて、自動化または手動等による、掃引等によって、推定される決定108に関するより多くの情報を得るために利用されてもよい(領域が平面表面であるように見えるかどうか等;光線投射からの付加的情報を得るための掃引は、円形、線形、螺旋、または8の字パターン等の所定のパターンで行われてもよい)。向上された情報を用いることで、推定が、ユーザ110に返され得る。
先に図7を参照すると、種々の実施形態では、図5A-5Bを参照して説明されるものに類似する構成が、コマンドまたは入力を効率的に発行および受信するために利用されてもよい。例えば、図7を参照すると、ある実施形態が、図示され、システム(アイテム96)が、ローカル環境のメッシュ(アイテム98)と関連付けられ、1つまたはそれを上回る光線を投射し(アイテム102)、種々のオブジェクトの識別を推定することを補助するように構成されることに加え、本システムは、推定される識別決定に関するユーザによる入力(例えば、長注視、長ボタンプッシュ、具体的音声コマンド、または具体的親指表面スワイプパターン等)を、開始コンテンツの断片を標的化された位置に設置するためのコマンド等、ユーザによるシステムへのコマンドのための入力として解釈するように構成されてもよい(例えば、本システムは、床の開けた場所における長注視を、開始コンテンツの断片をその床の開けた場所上に設置するためのコマンドとして解釈するように構成されてもよい)。図6A-6Cを参照すると、そのような構成はさらに、ユーザビュー112、114、118に図示される。図6Aを参照すると、ユーザは、床40、キャビネット88、92の面積を視認しており、システムは、床の一部における長注視を、ユーザに示されるテキストオブジェクト116内に記載されるように、該床のそのような部分を開始コンテンツの断片を設置するために選択することの所望として解釈するように構成される。図6Bを参照すると、ユーザは、視線を床40へと下げ、所定の閾値期間より長い時間にわたって注視後、そのような注視は、図6Cに示されるように、開始コンテンツオブジェクト120を設置するためのコマンドとして解釈される。
図8A-8Eを参照すると、別の実施形態では、ユーザまたは設計者が、ある仮想オブジェクトをユーザの視野内の所与の場所に設置させることを所望し得る。例えば、ユーザにとって、概して、視野の残りから邪魔にならない所において、その視野の左上に提示される、小デジタル時計テキスト読取オブジェクトを有することが望ましくあり得る。別の実施形態では、ユーザが、ユーザの視野の中心に提示される、関連する動作命令等、ある有用なテキスト情報を有することが望ましくあり得る。そのような構成は、図8A-8Bに示される。図8Aでは、ユーザの視野は、キャビネット90と、ドアとを含み、テキスト命令仮想オブジェクト128が、ユーザの視野の中心に提示される。図8Bを参照すると、ユーザが、その頭部配向を床40に向かって下に変化させるにつれて、テキスト命令仮想オブジェクト128は、ユーザの視野の中心に提示されたままであり得る。換言すると、本システムは、仮想オブジェクトを、概して、ユーザの視野の中心に留保するように構成されてもよい。上記に述べられたように、コンテンツは、左上、右下、中心等の任意の場所に設置されてもよい。さらに、他の実施形態では、本システムは、頭部の位置または配向におけるある所定のデルタが達成されるまで、コンテンツの位置を部屋内のユーザの周囲のオブジェクトに対して維持するように構成されてもよく、その後、オブジェクトは、再び、中心または他の所望の留置位置に移動されてもよい。別の実施形態では、本システムは、部屋のある側面に「ソフトロック」するように構成されてもよい。例えば、ユーザは、仮想時計をその戸口の上方に「ソフトロック」するが、戸口がもはやその視野からなくなるように、ユーザがその頭部を回転させると、次いで、時計をその時点でその視野内にある異なるオブジェクトにジャンプさせ、その隣接するオブジェクトに「ソフトロック」する等となるように決定してもよい。他の実施形態では、本システムは、所望のコンテンツディスプレイが部屋内の他のオブジェクトと衝突してオーバーレイされないことを確実にするように構成されてもよい。例えば、ユーザは、小デジタル時計をその視野の真っ直ぐ正面から約3フィートに3次元で位置付けさせるが、これがコンピュータモニタまたは壁等の部屋のメッシュ状オブジェクトと衝突する場合、ユーザに、衝突/オクルージョンを伴わずに、依然として、時計が見え得るように、小デジタル時計をユーザに対してそのような他のメッシュ状オブジェクトのすぐ近位に位置付けさせるように決定してもよい。例えば、図8Cを参照すると、ユーザは、ある命令128に関するテキストオブジェクトを、視野内の中心に、かつその空間コンピューティングシステムの頭部装着型コンポーネント2に対して前方約2フィートに設置している。ユーザが、ドアまたは壁72に接近するにつれて、オブジェクト128は、オブジェクトがドア72に関連するメッシュと衝突し始めるであろうまで、ユーザの頭部装着型コンポーネント2から約2フィート離れたままであるように構成されてもよい。一実施形態では、図8Dに示されるように、本システムは、ほぼオブジェクトが、ユーザの頭部が接近するにつれて接近するプロジェクタを用いて、ドア72上に投影されているかのように、壁と衝突しないが、ユーザがドア72により近づき続けるにつれて、スケールにおいて徐々に減少を伴って、オブジェクト128を提示し続けるように構成されてもよい。
図8Eを参照すると、ユーザビュー134が、テキストコンテンツ128等の提示されるオブジェクトが、本システムによって、示されるように上向き重力と、またはテーブルの表面34の平面に平行または直交等の任意の他の配向において整合するように配向され得ることを図示する。
図9A-9Eを参照すると、仮想ポインタが、仮想オブジェクトを移動させる、サイズ調整する、および別様に操作するために利用されてもよく、シミュレートされた物理学が、ポインタの動作およびまたオブジェクトの操作を向上させるために追加されてもよい。図9Aを参照すると、遠位ポインタ先端142を伴う、ポインタ140が、例えば、ユーザがハンドヘルドコンポーネント4を動作させることによって、照準されるように、定常位置に示される。いくつかの仮想立方体状オブジェクトが、ユーザインターフェースの動作に関する小仮想ディスプレイ138であるように、本ユーザビュー136に示され、背景には、キャビネット構造90が、示される。図9Bを参照すると、質量構成および構造係数構成が、シミュレートされ、図9Aに対する図9Bに示されるように、配向の迅速変化が、ポインタ140のシミュレートされた屈曲を生産するように、本システムによって、ポインタ140、142に、ユーザのビュー150内で観察され得る、シミュレートされた物理的挙動を提供するために付与されてもよい。種々の実施形態では、本システムは、ユーザが、種々の仮想オブジェクトを選択、移動、ドラッグ、および/または修正するにつれて、望ましいかつカスタマイズ可能な物理的「感覚」をユーザのために追加するように構成されてもよい。例えば、本システムは、平滑移動に、オブジェクトおよびポインタ位置および角速度限界、フィルタリング、補間、平均、および同等物を提供するように構成されてもよい。ポインタ140の構造係数は、Bezierスプラインを使用してシミュレートされてもよく、線形または非線形屈曲性質および種々のシミュレートされた質量特性を与えられてもよい。ポインタオブジェクト140、142は、シミュレートされたばねベースの慣性を追加し、オブジェクトをより現実的に移動させるように構成されてもよく、オブジェクトは、ポインタによってドラッグまたは再位置付けされるとき等、それ自体およびそれとそれらが衝突またはインターフェースを取り得る他のオブジェクトの重力、衝突、および構造係数構成に関する物理的性質でタグ付けされてもよい。図9Cは、それぞれに付与されるシミュレートされた質量および構造係数を伴って、仮想立方体オブジェクト156をドラッグする、ポインタのユーザビュー154を図示する。摩擦物理学もまた、仮想要素が、相互に対して、およびそれらが占有する空間またはそれとそれらがインターフェースを取るオブジェクトに対して、摩擦の静的および運動係数を有するかのように、種々の構成において追加されてもよい(例えば、仮想シャッフルボード構成は、仮想ボードに関して比較的に低摩擦構成であるが、ある「薄い空気」の実施形態では、非常に低摩擦、または「粘性ゼラチン世界」のシミュレートされた実施形態では、比較的に高摩擦を有するように構成され得る、自由3-D空間を除く、他の場所では、より高い摩擦を有し得る)。図9Dは、1つの仮想オブジェクト156が、相互結合された仮想ポインタ140を介して、別の仮想オブジェクト160との衝突状態にドラッグされている、ある実施形態のユーザビュー158を図示する。図9Eは、ポインタ140、142が、オブジェクト144をサイズ変更するために利用されている、ある実施形態のユーザビュー162を図示する。
先に図11Aを参照すると、複数のユーザが、接続されたシステムを用いて、ともに作業し得る。図11Aに示されるように、第1のユーザが、頭部装着型コンポーネント2、ハンドヘルドコントローラコンポーネント4、および/または補助コンピューティングまたはコントローラコンポーネント6等のコンポーネントを備え得る、空間コンピューティングシステムを装着しており(アイテム200)、第2のユーザが、第1のユーザの空間コンピューティングシステムと同一UDPローカルネットワーク上にある、ラップトップコンピュータまたはスマートフォン等の別のコンピューティングデバイスを動作させており、2人のユーザは、協働し得る。好ましくは、第1のユーザの空間コンピューティングシステムおよび第2のユーザのコンピューティングデバイスは両方とも、第1のユーザおよび第2のユーザが、メッセージ、遠隔RPCコマンド、グローバル変数に対する変更、作成および/または変更されたオブジェクトの共有、および同等物に関する情報のパケットを交換し得るように、同一識別子をアプリ内(Unity(RTM)またはUnreal Engine(RTM)等の環境および/またはゲームエンジン内)に有する、同一アプリを起動している(アイテム202)。そのような構成を用いることで、2人のユーザは、そのコネクティビティパラダイム内で情報のパケットを交換し、そのコンピューティングシステムを通して、相互に相互作用し、メッセージの交換、遠隔RPCコマンド、グローバル変数への変更、作成および/または変化されたオブジェクトの共有、および同等物等の事物を行い得る(アイテム204)。
図11Bを参照すると、別の実施形態では、さらなる協働が、ユーザの周囲の物理的世界に対して存続され、概して、複数のユーザセッションを横断してドリフトまたは移動しないように構成される、座標フレームである、持続座標フレーム(「PCF」)に対する空間整合によって、促進される。持続座標フレームおよび持続アンカポイントは、協働を促進する。商標名「Magic Leap One」(TM)下でMagic Leap, Inc.から利用可能なもの等のシステムが、Magic Leap One空間コンピューティングシステムが、それが以前にそれが見ていた空間内にあることを認識する度に、その空間内に設置される任意のPCFが復元されるように構成されてもよい。このように、PCFに対して設置された任意のコンテンツは、複数のリブートを横断して存続されることができ、そのような空間コンピューティングプラットフォームは、PCFを、同一空間内に存在する、ユーザ間で自動的に同期させるように構成されてもよく、したがって、複数のユーザには、同一物理的場所内において、同一コンテンツが見え得る。したがって、図11Bに戻って参照すると、2人のユーザは両方とも、空間コンピューティングシステムを装着していてもよく、これは、コンポーネント等の頭部装着型コンポーネント2、ハンドヘルドコントローラコンポーネント4、および/または補助コンピューティングまたはコントローラコンポーネント6を備えてもよい(アイテム206)。ユーザ毎のローカル環境(同一部屋内に存在する場合とそうではない場合がある、そのローカル部屋の特徴等)は、メッシュ化されてもよく、その空間コンピューティングシステムは、持続座標フレーム(「PCF」)情報を利用することが可能である(アイテム208)。2人のユーザの空間コンピューティングシステムは、好ましくは、その両方とも、同一UDPローカルネットワーク上にあって、1つまたはそれを上回る確立されたPCFを用いて、作業することが可能であって、一実施形態では、2人のユーザの空間コンピューティングシステムは両方とも、2人のユーザが、メッセージ、遠隔RPCコマンド、グローバル変数に対する変更、作成および/または変更されたオブジェクトの共有、および同等物に関する情報のパケットを交換し、また、1つまたはそれを上回るPCFを通して、1つのユーザの空間コンピューティングシステムの種々のコンポーネントの既知の相対的位置および配向を他のユーザのものに対して維持する(その逆も同様である)ように、同一識別子をアプリ内(Unity(RTM)またはUnreal Engine(RTM)等の環境および/またはゲームエンジン内)に有する、同一アプリを起動していてもよい(アイテム210)。したがって、2人のユーザは、そのコネクティビティパラダイム内で情報のパケットを交換し、そのコンピューティングシステムを通して、相互に相互作用し、メッセージの交換、遠隔RPCコマンド、グローバル変数に対する変更、作成および/または変更されたオブジェクトの共有、および同等物等の事物を行ってもよく、その全ては、ユーザが、共有および協働して作成された3次元空間描画等の共有体験において、相互のシステムのコンポーネントの場所および配向を予測可能に体験し得るように(すなわち、彼らが、彼らが実際に同一物理的場所内に存在するかどうかにかかわらず、同一3次元空間の一部を共有および可視化するかのように)、一般に利用されるPCF情報に対して行われてもよい(アイテム212)。
図10A-10Eを参照すると、図11Bを参照して説明されるものに類似する、構成の側面が、分割画面フォーマットに図示される(分割面174の左のユーザビュー176は、第1のユーザ42のビューを表し、分割面174の右のユーザビュー178は、第2のユーザ180のビューを表す)。図10Aは、ユーザ180、42のそれぞれが、その頭部装着型およびハンドヘルド空間コンピューティングコンポーネントに仮想的に結合される、小立方体を有する、分割ビュー164を図示する。第2のユーザ180は、例証において、要素184および182として標識される、これらの2つの小立方体を有し、図10Aに示されるように、第1のユーザには、そのビュー176において、これらの2つの小立方体が見え、それらは、実際、第2のユーザが動き回るにつれて、第2のユーザの頭部装着型およびハンドヘルド空間コンピューティングコンポーネントに結び付けられたままである。
図10Bの分割ビュー166を参照すると、第1のユーザが、そのハンドヘルド空間コンピューティングコンポーネントを利用して、4つの新しい立方体を空間192内に設置するにつれて、これらの立方体は、第2のユーザによって可視となり、実際、第1のユーザ42が、第2のユーザ180に、4つの新しい立方体192のうちの上のもの190に手を伸ばし、タッチするように求めると、第2のユーザ180は、実際、第1のユーザに、その上部190の新しい立方体にタッチするように現れる。同様に、図10D-10Eを参照すると、分割ビュー(それぞれ、170および172)が、示され、第1のユーザ42は、新しい立方体186の円形パターンを作成し、その後、第2のユーザ180には、これらの新しい立方体186がその正面の空間内に見え、次いで、両方のユーザに見えるように、その自身の新しい立方体188を直接中心に設置し、したがって、2人のユーザが、彼らが空間内で事実上協働し得るように、その位置および配向を相互に対して較正され、一貫した状態に保つ持続座標フレームを前提として、彼らの両方による視認性および空間相互作用を伴う構成において、空間内で協働することを図示する。
図12を参照すると、ある実施形態が、図示され、ユーザ(「ユーザl」)が、封入された仮想幾何学形状をユーザlの周囲に作成し、種々の空間コンピューティングアクティビティのための境界基準としての役割を果たすことを所望する。図12に示されるように、ユーザlが、商標名「Magic Leap One」(「ML1」)下でMagic Leap, Inc.から利用可能なもの等のその空間コンピューティングまたは拡張現実システムをブートアップし、それをその頭部上に頭部装着型構成において搭載する(アイテム302)。ML1が、ユーザの頭部lの周囲の環境を走査し、同時位置特定およびマッピング(「SLAM」)アクティビティを行い、ユーザ1の頭部の周囲の3次元空間環境に関するローカルマップまたはメッシュ(本実施例では、「ローカルマップl」)を作成する。ユーザlが、そのリアルまたは近リアルタイム位置および配向がローカル環境の特徴に対して決定または推定されるように、SLAMアクティビティによって、ローカルマップlの中で「位置特定」される。
ユーザlが、環境の周囲をナビゲートし、実オブジェクトおよび/または仮想オブジェクトを視認し、それと相互作用し、ローカルマップlを改良し続ける、継続中のSLAMアクティビティを用いて、近隣の環境のマッピング/メッシュ化を継続し、概して、空間コンピューティングの利益を享受することができる(アイテム304)。
ユーザlが、封入された幾何学形状を、ゲーム(例えば、種々のキャラクタおよびロボットが拡張現実環境内でユーザを追いかけるように構成される、商標名「Dr Grordborts Invaders」TMでMagic Leap, Inc.によって販売されている、拡張現実ゲーム)をプレーまたは開発する、または種々のオブジェクトをそのような封入された幾何学形状の境界内でユーザlの周囲に表示する等、種々の空間コンピューティングアクティビティのための境界基準として、それ自身の周囲に作成することを所望する場合、そのような境界される幾何学形状は、「プレー空間」と称され得る(アイテム306)。
そのような決定が行われると、ユーザは、その実際の壁の位置および配向に基づいて、プレー空間を有することを所望するかどうかを決定してもよい(アイテム308)。例えば、ユーザlが、実際には、非常に大部屋内に位置するが、そのプレー空間が、その実際のローカル部屋のサブセットのみを備えることを好む場合、より小さいプレー空間を作成することを決定してもよく、これは、その実際のローカル部屋の幾何学形状と幅、高さ、および/または長さが変動し得、代替として、ユーザlは、その実際のローカル部屋の近似位置および配向で位置付けられ、配向される、壁、天井、および床を用いて作成される、プレー空間を有することを好んでもよい。
図13Aを参照すると、ユーザlが、プレー空間を実際のローカル部屋の壁の位置および/または配向に基づかせることを決定する場合、ユーザlは、その部屋をさらに歩き、空間コンピューティングシステムのSLAM能力および種々の接続されたリソースまたはシステム8を使用して、異なる目線からのさらなるデータを集めること等によって、そのシステムのローカルマップlのメッシュ内の間隙を充填することが有益であり得る(アイテム310)。ユーザlのローカルML1または接続されたシステムは、いわゆる「平面API」を実行するように構成されてもよく、これは、少なくとも部分的に、平面形状を表すように現れる、ローカルマップl情報を提供されると、平面位置/配向情報のみを返すように構成されてもよい(例えば、一変形例では、平面APIは、ある非平面性がSLAMアクティビティからのローカルメッシュ情報内で検出されるときでも、ローカルマップlの所与の部分内の壁として解釈されるものの位置/配向における平面を返すように構成されてもよい)(アイテム312)。ユーザlのローカルまたは接続されたシステムは、ユーザlに、あるシーケンスにおいて、プレー空間内の角を確認するようにプロンプトするように構成されてもよい(光線投射を使用すること等によって、ポイントし、ハンドヘルドコントローラデバイスまたはコンポーネントを使用すること等によって、クリックし、「主壁」と見なされるべきものの右の角から開始して、主壁の左の最終角まで、部屋内の各連続角を選択する等)(アイテム314)。
光線投射、平均、および三角測量が、ローカルおよび接続されたシステムによって、床および天井位置/配向推定(例えば、床および天井の一般的直交性等の仮定を使用して)を追加し、仮プレー空間体積境界を完成するために利用されてもよく、これは、ローカルおよび/または接続されたシステムによって、無重複壁または他の推定上の誤り等の問題点を確認するためにチェックされてもよい(アイテム316)。
再び図13Aを参照すると、チェックされたプレー空間が、確認のために、ユーザlの拡張現実視認インターフェース内におけるワイヤフレームタイプの仮想提示等を介して、ユーザlに提示されてもよく、「主壁」、「左壁」、「右壁」、「後壁」、「天井」、および「床」等の有用な視覚的標識を提示されてもよい(アイテム318)。そのような標識は、対象「壁」に隣接して位置付けられてもよい、またはユーザに直感的標識を行う様式において、オフセットされてもよい(拡張現実視認インターフェースに示され、ユーザを補助する、種々の標識を図示する、図14A-14Iを先に参照)。さらに、プレー空間ワイヤフレームまたは他の表現の視認が、実際のローカル部屋の実際の特徴と整列されるように、または先に図14D-14Gを参照して示されるように、そのような特徴からオフセットを伴って、ユーザに表示されてもよい。
図13Aに戻って参照すると、作成されたプレー空間は、ローカルで、または接続されたリソース上に記憶されてもよく、ユーザlが、プレー空間に便宜的に戻り得、プレー空間を他のユーザと共有し得るように、より多くの持続座標フレーム(「PCF」)または持続アンカポイントのうちの1つと関連付けられてもよい(アイテム320)。
本システムは、利用可能なマップ情報(ローカルマップl等)の側面または特徴を利用して、手動選択の間、可視的に提示されるハイライトを用いて、推定上の角を識別し、それに「スナップ」することを補助するように構成されてもよい(すなわち、ユーザの手動選択が、シミュレートされた重力スタイル効果を用いて補助される、補助付き手動選択の形態であって、これは、所望される場合、事前にハイライトされた特徴を容易に選択することを補助する)。同様に、本システムは、利用可能なマップ情報(ローカルマップl等)の側面または特徴を利用して、実際の部屋の実際の壁または他のオブジェクトの手動選択の間、それを識別し、それに「スナップ」することを補助するように構成されてもよい。例えば、一実施形態では、本システムは、ユーザが、メッシュ/マップを使用して、実際の部屋の実際の壁の位置から4インチ等、ある所定の距離内の場所を手動でポイントする場合、ユーザが実際の部屋の実際の壁の位置を選択するように試みていると仮定するように構成されてもよく、そのような構成は、ユーザが、例えば、それに関してユーザがマッチングまたはほぼマッチングするプレー空間を作成しようとしている、従来の矩形の角柱または立方体スタイルの実際の部屋において、部屋を動き回り、全4つの壁および角を選択することを比較的に容易かつ迅速にする。
図13Bを参照すると、ユーザが、その自身の選定のプレー空間(その中で彼らがその時点で実際に常駐する、実際の部屋の体積のサブ部分等)を作成することを決定する場合、彼らは、彼らがそのプレー空間が有することを所望する側面の数(例えば、4つ等の垂直壁の数)と、概して、それが有するべき形状(例えば、概して、立方体)とを決定することから開始してもよい(アイテム322)。
図13Aを参照して上記に述べられたものと同様に、ユーザlのローカルまたは接続されたシステムは、ユーザlに、あるシーケンスにおいて、プレー空間内の角を確認するようにプロンプトするように構成されてもよい(光線投射を使用すること等によって、ポイントし、ハンドヘルドコンポーネントを使用して、クリックし、「主壁」と見なされるべきものの右の角から開始して、主壁の左の最終角まで、ユーザの位置からの距離を含む、プレー空間に関する各連続角を選択する等)。ローカルおよび/または接続されたシステムは、壁に関する上向き垂直または上向き重力配向および相互に対する壁のある直交性等の仮定を行うように構成されてもよく、これは、ユーザによって調節されてもよい(アイテム324)。
光線投射、平均、および三角測量が、床位置/配向推定(例えば、床および天井の一般的直交性等の仮定を使用して)を追加するために利用されてもよく、ユーザは、天井高を選択し、仮プレー空間体積境界を完了するようにプロンプトされてもよく、これは、ローカルML1または接続されたシステムによって、無重複壁または他の推定上の誤り等の問題点を確認するためにチェックされてもよい(アイテム326)。
再び図13Bを参照すると、チェックされたプレー空間が、確認のために、ユーザlの拡張現実視認インターフェース内におけるワイヤフレームタイプの仮想提示等を介して、ユーザlに提示されてもよく、「主壁」、「左壁」、「右壁」、「後壁」、「天井」、および「床」等の有用な視覚的標識を提示されてもよい(アイテム328)。そのような標識は、仮想的に作成されたプレー空間「壁」に隣接して位置付けられてもよい、またはユーザに直感的標識を行う様式において、オフセットされてもよい。さらに、プレー空間ワイヤフレームまたは他の表現の視認が、実際のローカル部屋の実際の特徴と整列されるように、またはそのような特徴からオフセットを伴って、ユーザに表示されてもよい。
図13Bに戻って参照すると、作成されたプレー空間は、ローカルで、または接続されたリソース上に記憶されてもよく、ユーザlが、プレー空間に便宜的に戻り得、プレー空間を他のユーザと共有し得るように、より多くの持続座標フレーム(「PCF」)または持続アンカポイントのうちの1つと関連付けられてもよい(アイテム330)。
図14A-14Iを参照すると、図12および13Aに提示されるようなステップおよび構成に従う、あるシナリオの種々の側面が、サンプルのユーザの拡張現実視認インターフェースを通したビューまたは部分的ビューとして図示される。
図14Aを参照すると、ユーザの拡張現実視認インターフェースを通したビューが、ユーザに提示される仮想提示命令ボックス334とともに可視である、実際の部屋の特徴(ここでは、実際の部屋の壁内に搭載される、ドア332)を伴って示される。
図14Bを参照すると、ユーザの拡張現実視認インターフェースを通したビューが、ユーザに提示される仮想提示命令ボックス334とともに可視である、実際の部屋の特徴(ここでは、ドア350および壁352の一部)を伴って示される。ユーザの手42の一部が、ハンドヘルドコントローラ4システムコンポーネントの一部とともに、実際のビューに示される。ハイライトされた仮想マーカ358が、角を選択するにつれて、ユーザに示される。
図14Cを参照すると、ユーザの拡張現実視認インターフェースを通したビューが、ユーザに提示される仮想提示命令ボックス334とともに可視である、実際の部屋の特徴(ここでは、ドア350、壁352の一部、垂直に配向され現れる、別の壁354の一部)を伴って示される。ハンドヘルドコントローラ4システムコンポーネントの一部もまた、示される。ハイライトされた仮想マーカ356が、角を選択するにつれて、ユーザに示される。
角が全て、選択された後、図14Dを参照すると、作成されたプレー空間360のワイヤフレーム仮想可視化が、ユーザ確認336に関する仮想命令ボックスとともに、ユーザに示されてもよい(ここでは、実際の壁および床362からオフセットされて表示される)。図14Eは、描写される仮想確認ワイヤフレーム(360;再び、部屋の実際の角からオフセットされて示される)とともに、同一の実際の部屋364の他の面積を図示する。図14Fは、描写される仮想確認ワイヤフレーム360とともに、同一の実際の部屋の他の面積を図示する(天井366を含む)。図14Gは、描写される仮想確認ワイヤフレーム360とともに、同一の実際の部屋の他の面積を図示する(床362およびドア332を含む)。プレー空間がユーザによって使用のために確認されると、図14H-14Iは、種々の壁に関する標識(拡張現実視認インターフェースを通して、実際の形態368内で同様に視認可能である、「主壁」340、「背面壁」338、主壁342の「中心」、および「右壁」344)を図示する。プレー空間が作成されると、対象拡張現実/空間コンピューティングプラットフォームのための任意のアプリケーションは、具体的に、主壁等の標識されるアイテムを探し、利用することができる。例えば、開発者は、「プレー空間から、写真を主壁の中心に設置する」の機能的均等物を行うようにアプリを記述してもよい。
処理ユニット
図15は、いくつかの実施形態による、処理ユニット1002を図示する。処理ユニット1002は、いくつかの実施形態では、本明細書に説明される装置7の実施例であってもよい。他の実施形態では、処理ユニット1002または処理ユニット1002の任意の一部は、相互に通信する、別個のデバイスを使用して実装されてもよい。図に示されるように、処理ユニット1002は、通信インターフェース1010と、ポジショナ1020と、グラフィック生成器1030と、非一過性媒体1040と、コントローラ入力1050と、オブジェクト識別器1060と、空間定義器1070と、ポインタ構成器1080とを含む。いくつかの実施形態では、通信インターフェース1010、ポジショナ1020、グラフィック生成器1030、非一過性媒体1040、コントローラ入力1050、オブジェクト識別器1060、空間定義器1070、ポインタ構成器1080、または前述の任意の組み合わせは、ハードウェアを使用して実装されてもよい。非限定的実施例として、ハードウェアは、1つまたはそれを上回るFPGAプロセッサ、1つまたはそれを上回るASICプロセッサ、1つまたはそれを上回る信号プロセッサ、1つまたはそれを上回る数学プロセッサ、1つまたはそれを上回る集積回路、または前述の任意の組み合わせを含んでもよい。いくつかの実施形態では、処理ユニット1102の任意のコンポーネントは、ソフトウェアを使用して実装されてもよい。
いくつかの実施形態では、処理ユニット1002は、ともに通信可能に結合される、別個のコンポーネントとして実装されてもよい。例えば、処理ユニット1002は、通信インターフェース1010、ポジショナ1020、グラフィック生成器1030、コントローラ入力1050、オブジェクト識別器1060、空間定義器1070、ポインタ構成器1080を搬送する、第1の基板と、非一過性媒体1040を搬送する、別の基板とを有してもよい。別の実施例として、処理ユニット1002のコンポーネントは全て、同一基板によって搬送されてもよい。いくつかの実施形態では、処理ユニット1002のコンポーネントの任意、いくつか、または全ては、画像ディスプレイデバイス2において実装されてもよい。いくつかの実施形態では、処理ユニット1002のコンポーネントの任意、いくつか、または全ては、ハンドヘルド制御コンポーネント4、制御コンポーネント6、携帯電話、サーバ等、画像ディスプレイデバイス2から離れたデバイスにおいて実装されてもよい。さらなる実施形態では、処理ユニット1002または処理ユニット1002のコンポーネントのいずれか(ポジショナ1020等)は、異なる個別のユーザによって装着される、異なるディスプレイデバイスにおいて実装されてもよい、または異なる個別のユーザと関連付けられる(例えば、それに近接近する)、異なるデバイスにおいて実装されてもよい。
処理ユニット1002は、(例えば、画像ディスプレイデバイス2におけるセンサから、または外部デバイスからの)位置情報および/またはコントローラコンポーネント4からの制御情報を受信し、位置情報および/または制御情報に基づいて、仮想コンテンツを表示のために画像ディスプレイデバイス2の画面内に提供するように構成される。いくつかの実施形態では、位置情報は、ユーザの位置を示してもよく、コントローラ4からの制御情報は、コントローラ4の位置および/またはコントローラ4を介してユーザによって実施されているアクションを示してもよい。そのような場合、処理ユニット1002は、ユーザの位置およびコントローラ4からの制御情報に基づいて、仮想オブジェクトの画像を生成する。
図15に戻ると、通信インターフェース1010は、位置情報を受信するように構成される。本明細書で使用されるように、用語「位置情報」は、エンティティの位置を表す、任意の情報、またはエンティティの位置を導出するために使用され得る、任意の情報を指す。いくつかの実施形態では、通信インターフェース1010は、画像ディスプレイデバイス2のカメラおよび/または深度センサに通信可能に結合される。そのような実施形態では、通信インターフェース1010は、カメラ画像(位置情報等)をカメラから、および/または深度信号を深度センサから受信する。いくつかの実施形態では、通信インターフェース1010は、位置情報として通信インターフェース1010に通過する前に、カメラからの画像を処理し、および/または深度センサからの深度信号を処理する、別の処理ユニット等の別のデバイスに結合されてもよい。他の実施形態では、通信インターフェース1010は、GPS情報、または位置を導出するために使用され得る、任意の情報を受信するように構成されてもよい。また、いくつかの実施形態では、通信インターフェース1010は、無線で、または物理的伝導性伝送ラインを介して出力される、位置情報を取得するように構成されてもよい。
いくつかの実施形態では、異なるタイプのセンサ出力を提供するために、異なるセンサが画像ディスプレイデバイス2に存在する場合、処理ユニット1002の通信インターフェース1010は、異なる個別のセンサ出力を受信するために、異なる個別のサブ通信インターフェースを有してもよい。いくつかの実施形態では、センサ出力は、画像ディスプレイデバイス2におけるカメラによって捕捉された画像を含んでもよい。代替として、または加えて、センサ出力は、画像ディスプレイデバイス2における深度センサによって捕捉された距離データを含んでもよい。距離データは、飛行時間技法に基づいて生成されたデータであってもよい。そのような場合、画像ディスプレイデバイス2における信号生成器は、信号を伝送し、信号は、ユーザの周囲の環境内のオブジェクトから反射する。反射された信号は、画像ディスプレイデバイス2における受信機によって受信される。信号がオブジェクトに到達し、受信機に戻るように反射するまでにかかった時間に基づいて、センサまたは処理ユニット1002は、次いで、オブジェクトと受信機との間の距離を決定してもよい。他の実施形態では、センサ出力は、環境内のエンティティ(ユーザ、オブジェクト等)の場所を決定するように処理され得る、任意の他のデータを含んでもよい。
処理ユニット1002のポジショナ1020は、画像ディスプレイデバイスのユーザの位置を決定し、および/または画像ディスプレイデバイス内に表示されるべき仮想オブジェクトの位置を決定するように構成される。いくつかの実施形態では、通信インターフェース1010によって受信される位置情報は、センサ信号であってもよく、ポジショナ1020は、センサ信号を処理して、画像ディスプレイデバイスのユーザの位置を決定するように構成される。例えば、センサ信号は、画像ディスプレイデバイスの1つまたはそれを上回るカメラによって捕捉されたカメラ画像であってもよい。そのような場合、処理ユニット1002のポジショナ1020は、ユーザの位置特定のために、カメラ画像に基づいて、位置特定マップを決定し、および/またはカメラ画像内の特徴と作成された位置特定マップ内の特徴をマッチングさせるように構成される。他の実施形態では、通信インターフェース1010によって受信された位置情報は、すでに、ユーザの位置を示している場合がある。そのような場合、ポジショナ1020は、次いで、位置情報をユーザの位置として使用する。
他の実施形態では、処理ユニット1002は、通信インターフェース1010を介して、センサ情報および位置情報の両方を取得するように構成される。そのような場合、センサ情報は、カメラ、深度センサ等のセンサによって提供される、任意の情報であってもよく、位置情報は、環境と関連付けられるある座標系に対するユーザ(またはユーザによって装着されている画像ディスプレイデバイス2)の位置に関連する任意の情報であってもよい。
図15に示されるように、ポジショナ1020は、アンカポイントモジュール1022と、アンカポイント選択器1024とを含む。アンカポイントモジュール1022は、1つまたはそれを上回るアンカポイントを決定するように構成され、これは、処理ユニット1002によって、ユーザを位置特定する、および/または仮想オブジェクトをユーザを囲繞する環境に対して設置することによって、利用されてもよい。いくつかの実施形態では、アンカポイントは、位置特定マップ内の点であってもよく、位置特定マップ内の各点は、物理的環境内で識別された特徴(例えば、角、縁、オブジェクト等)であってもよい。また、いくつかの実施形態では、各アンカポイントは、以前に、または現在のセッションにおいて決定された、持続座標フレーム(PCF)であってもよい。いくつかの実施形態では、通信インターフェース1010は、以前に決定されたアンカポイントを別のデバイスから受信してもよい。そのような場合、アンカポイントモジュール1022は、アンカポイントを通信インターフェース1010から受信することによって、アンカポイントを取得してもよい。他の実施形態では、アンカポイントは、非一過性媒体1040内に記憶されてもよい。そのような場合、アンカポイントモジュール1022は、アンカポイントを非一過性媒体1040から読み出すことによって、アンカポイントを取得してもよい。さらなる実施形態では、アンカポイントモジュール1022は、マップ作成セッション内でアンカポイントを決定するように構成されてもよい。マップ作成セッションでは、画像ディスプレイデバイスを装着しているユーザは、画像ディスプレイデバイスのカメラが環境内の異なる特徴の画像を捕捉するように、環境内を歩き回り、および/または画像ディスプレイデバイスを異なる視認角度に配向する。処理ユニット1002は、次いで、アンカポイントとしての使用のために、特徴識別を実施し、環境内の1つまたはそれを上回る特徴を識別してもよい。いくつかの実施形態では、ある物理的環境のためのアンカポイントは、すでに、前のセッション内で決定されている。そのような場合、ユーザが、同一物理的環境に進入すると、ユーザによって装着されている画像ディスプレイデバイスにおけるカメラは、物理的環境の画像を捕捉するであろう。処理ユニット1002は、物理的環境内の特徴を識別し、特徴のうちの1つまたはそれを上回るものが以前に決定されたアンカポイントとマッチングするかどうかを確認してもよい。該当する場合、マッチングされたアンカポイントは、処理ユニット1002が、それらのアンカポイントをユーザ位置特定および/または仮想コンテンツの設置のために使用し得るように、アンカポイントモジュール1022によって利用可能にされるであろう。
また、いくつかの実施形態では、ユーザが、物理的環境内を動き回るにつれて、処理ユニット1002のアンカポイントモジュール1022は、付加的アンカポイントを識別するであろう。例えば、ユーザが、環境内の第1の位置に存在するとき、処理ユニット1002のアンカポイントモジュール1022は、環境内のユーザの第1の位置に近接近する、アンカポイントAP1、AP2、AP3を識別してもよい。ユーザが、物理的環境内で第1の位置から第2の位置に移動する場合、処理ユニット1002のアンカポイントモジュール1022は、環境内のユーザの第2の位置に近接近する、アンカポイントAP3、AP4、AP5を識別してもよい。
加えて、いくつかの実施形態では、アンカポイントモジュール1022は、複数のユーザと関連付けられる、アンカポイントを取得するように構成される。例えば、同一物理的環境内の2人のユーザが、相互から離れて立っている場合がある。第1のユーザは、それと関連付けられる第1のアンカポイントのセットを伴う、第1の場所に存在してもよい。同様に、第2のユーザは、それと関連付けられる第2のアンカポイントのセットを伴う、第2の場所に存在してもよい。2人のユーザが、相互から離れているため、最初は、第1のセットおよび第2のアンカポイントのセットは、任意の重複を有していなくてもよい。しかしながら、ユーザの一方または両方が、相互に向かって移動すると、個別の第1および第2のセット内のアンカポイントの構成は、変化するであろう。彼らが、十分に接近する場合、第1および第2のアンカポイントのセットは、重複を有し始めるであろう。
アンカポイント選択器1024は、処理ユニット1002によって、ユーザを位置特定する、および/または仮想オブジェクトをユーザを囲繞する環境に対して設置するための使用のために、(アンカポイントモジュール1022によって提供される)アンカポイントのサブセットを選択するように構成される。いくつかの実施形態では、アンカポイントモジュール1022が、単一ユーザと関連付けられる、複数のアンカポイントを提供し、他のユーザが関与しない場合、アンカポイント選択器1024は、ユーザの位置特定および/または物理的環境に対する仮想コンテンツの設置のために、アンカポイントのうちの1つまたはそれを上回るものを選択してもよい。他の実施形態では、アンカポイントモジュール1022は、同一物理的環境内で仮想的に相互に相互作用することを所望する、異なる個別のユーザ(例えば、個別の画像ディスプレイデバイスを装着しているユーザ)と関連付けられる、複数のアンカポイントのセットを提供してもよい。そのような場合、アンカポイント選択器1024は、アンカポイントの異なるセットの中で共通である、1つまたはそれを上回る共通アンカポイントを選択するように構成される。処理ユニット1002は、次いで、ユーザが同一物理的環境内で仮想コンテンツと相互作用し得るように、仮想コンテンツの設置のために、選択された共通アンカポイントを利用してもよい。
図15に戻ると、処理ユニット1002のコントローラ入力1050は、コントローラコンポーネント4からの入力を受信するように構成される。コントローラコンポーネント4からの入力は、コントローラコンポーネント4の位置および/または配向に関する位置情報、および/またはコントローラコンポーネント4を介して実施されるユーザのアクションに基づく制御情報であってもよい。非限定的実施例として、コントローラコンポーネント4からの制御情報は、ユーザが、コントローラコンポーネント4を平行移動させること、コントローラコンポーネント4を回転させること、コントローラコンポーネント4上の1つまたはそれを上回るボタンを押下すること、コントローラコンポーネント4上のノブ、トラックボール、またはジョイスティックを作動させること、または前述の任意の組み合わせに基づいて生成されてもよい。いくつかの実施形態では、ユーザ入力は、処理ユニット1002によって、画像ディスプレイデバイス2の画面に提示される仮想オブジェクトを挿入および/または移動させるために利用される。いくつかの実施形態では、ハンドヘルドコントローラコンポーネント4は、仮想オブジェクトが仮想3次元空間内で運動しているように現れるであろうように、仮想オブジェクトを2次元ディスプレイ画面内で移動させるように構成されてもよい。例えば、仮想オブジェクトを上、下、左、および右に移動させることに加え、ハンドヘルドコントローラコンポーネント4はまた、仮想オブジェクトをユーザの視覚深度の内外に移動させてもよい。
グラフィック生成器1030は、グラフィックを、表示のために、少なくとも部分的に、ポジショナ1020からの出力および/またはコントローラ入力1050からの出力に基づいて、画像ディスプレイデバイス2の画面上に生成するように構成される。例えば、グラフィック生成器1030は、画面を通してユーザによって視認される際、仮想オブジェクトが環境内にあるに現れるように、画像ディスプレイデバイス2の画面を制御し、仮想オブジェクトを表示してもよい。非限定的実施例として、仮想オブジェクトは、仮想可動オブジェクト(例えば、ボール、シャトル、弾丸、ミサイル、火災、熱波、エネルギー波)、武器(例えば、剣、斧、ハンマー、ナイフ、弾丸等)、部屋内に見出され得る、任意のオブジェクト(例えば、鉛筆、丸めた紙の球、カップ、椅子等)、建物外に見出され得る、任意のオブジェクト(例えば、岩、木の枝等)、車両(例えば、車、飛行機、スペースシャトル、ロケット、潜水艦、ヘリコプタ、オートバイ、自転車、トラクタ、全地形対応車、スノーモービル等)等であってもよい。また、いくつかの実施形態では、グラフィック生成器1030は、仮想オブジェクトが環境内の実際の物理的オブジェクトと相互作用するように現れるであろうように、表示のために、仮想オブジェクトの画像を画面上に生成してもよい。例えば、グラフィック生成器1030は、画像ディスプレイデバイス2の画面を通してユーザによって視認される際、仮想オブジェクトが環境内の空間を通して移動しているように現れるように、画面に、仮想オブジェクトの画像を移動構成において表示させてもよい。また、いくつかの実施形態では、グラフィック生成器1030は、画像ディスプレイデバイス2の画面を通してユーザによって視認される際、仮想オブジェクトが環境内の物理的オブジェクトを変形または損傷させるように現れる、または別の仮想オブジェクトを変形または損傷させるように現れるように、画面に、仮想オブジェクトの画像を表示させてもよい。ある場合には、これは、グラフィック生成器1030が、画像ディスプレイデバイス2の画面による表示のために、変形跡(例えば、凹み跡、折線等)の画像、焼け跡の画像、熱変化を示す画像、火災の画像、爆発画像、残骸画像等等の相互作用画像を生成することによって遂行されてもよい。
仮想コンテンツのアクションに近接近する、アンカポイントに基づいて、仮想コンテンツを設置する上記の技法は、2人のユーザを伴うゲームに限定されないことに留意されたい。他の実施形態では、仮想コンテンツを設置する上記の技法は、単独ユーザのみまたは2人を上回るユーザを伴う、任意のアプリケーションに適用されてもよい(任意のゲーム用アプリケーションである場合とそうではない場合がある)。例えば、他の実施形態では、仮想コンテンツを設置する上記の技法は、ユーザが物理的環境内でユーザから離れた仮想コンテンツを設置することを可能にする、アプリケーションにおいて利用されてもよい。仮想コンテンツを設置する上記の技法は、仮想コンテンツがユーザから(例えば、5フィートを上回って、10フィートを上回って、15フィートを上回って、20フィートを上回って等)離れている場合でも、(ユーザが装着している画面を通してユーザによって視認される際)仮想コンテンツがユーザに対して仮想的に正確に設置されることを可能にするため、有利である。
図15を参照して議論されるように、処理ユニット1002は、アンカポイント情報を記憶するように構成される、非一過性媒体1040を含む。非限定的実施例として、非一過性媒体1040は、アンカポイントの位置、異なるユーザと関連付けられる、アンカポイントの異なるセット、共通アンカポイントのセット、ユーザの位置特定および/または仮想コンテンツの設置のために選択された共通アンカポイント等を記憶してもよい。非一過性媒体1040は、他の実施形態では、他の情報を記憶してもよい。いくつかの実施形態では、非一過性媒体1040は、異なる仮想コンテンツを記憶してもよく、これは、グラフィック生成器1030によって、ユーザへの提示のために読み出されてもよい。ある場合には、ある仮想コンテンツは、ゲーム用アプリケーションと関連付けられてもよい。そのような場合、ゲーム用アプリケーションが、アクティブ化されると、処理ユニット1002は、次いで、非一過性媒体1040にアクセスし、ゲーム用アプリケーションのための対応する仮想コンテンツを取得してもよい。いくつかの実施形態では、非一過性媒体はまた、ゲーム用アプリケーションおよび/またはゲーム用アプリケーションと関連付けられるパラメータを記憶してもよい。
非一過性媒体1040は、単一記憶ユニットに限定されず、統合されるか、または分離されるが、通信可能に接続される(例えば、無線で、または導線によって)かのいずれかである、複数の記憶ユニットを含んでもよい。
いくつかの実施形態では、仮想オブジェクトが、物理的環境を通して、仮想的に移動するにつれて、処理ユニット1002は、物理的環境内で識別された1つまたはそれを上回るオブジェクトに対する仮想オブジェクトの位置を追跡する。ある場合には、仮想オブジェクトが、物理的オブジェクトと接触する、またはそれに近接近する場合、グラフィック生成器1030は、グラフィックを生成し、仮想オブジェクトと環境内の物理的オブジェクトとの間の相互作用を示してもよい。例えば、グラフィックは、仮想オブジェクトの進行経路を変化させることによって、仮想オブジェクトが物理的オブジェクト(例えば、壁)または別の仮想オブジェクトから偏向されることを示してもよい。別の実施例として、仮想オブジェクトが、物理的オブジェクト(例えば、壁)または別の仮想オブジェクトと接触する、またはそれに近接近する場合、グラフィック生成器1030は、仮想オブジェクトが物理的オブジェクトまたは他の仮想オブジェクトに接触する場所と空間的に関連付けて、相互作用画像を設置してもよい。相互作用画像は、壁に、亀裂が入った、凹みができた、傷が付いた、汚れが付いたこと等を示してもよい。
いくつかの実施形態では、異なる相互作用画像は、非一過性媒体1040内に記憶されてもよく、および/または処理ユニット1002と通信する、サーバ内に記憶されてもよい。相互作用画像は、2つのオブジェクトの相互作用に関連する、1つまたはそれを上回る属性と関連付けて記憶されてもよい。例えば、皺の画像が、属性「毛布」と関連付けて記憶されてもよい。そのような場合、仮想オブジェクトが、「毛布」と識別され得る、物理的オブジェクト上に支持されているように表示される場合、グラフィック生成器1030は、画像ディスプレイデバイス2の画面を通して視認される際、仮想オブジェクトが、毛布の上部に着座することによって、毛布に皺が寄って現れるように、仮想オブジェクトと物理的オブジェクトとの間の皺の画像を表示してもよい。
1つまたはそれを上回るアンカポイントに基づいて、物理的環境に対して仮想的に表示され得る、仮想コンテンツは、説明された実施例に限定されず、仮想コンテンツは、他のアイテムであってもよいことに留意されたい。また、本明細書で使用されるように、用語「仮想コンテンツ」は、仮想化された物理的アイテムに限定されず、仮想化されたエネルギー(例えば、レーザビーム、音波、エネルギー波、熱等)等の任意のアイテムの仮想化を指し得る。用語「仮想コンテンツ」はまた、テキスト、シンボル、漫画、アニメーション等の任意のコンテンツを指し得る。
オブジェクト識別器
図9に示されるように、処理ユニット1002はまた、オブジェクト識別器1060を含む。処理ユニット1002のオブジェクト識別器1060は、1つまたはそれを上回る検出された特徴に基づいて、環境内の1つまたはそれを上回るオブジェクトを識別するように構成される。例えば、いくつかの実施形態では、通信インターフェース1010は、カメラ画像をカメラからセンサ情報として取得してもよい。カメラ画像は、ユーザを囲繞する環境内のオブジェクトの画像を含んでもよい。1つの実装では、オブジェクト識別器1060は、カメラ画像を分析し、オブジェクトの表面を検出するように構成される、表面検出器を含んでもよい。表面検出器はまた、オブジェクトの表面の配向および/または高度を決定してもよい。オブジェクト識別器1060は、オブジェクトの表面の配向および/または高度に基づいて、オブジェクトに関する識別を行ってもよい。オブジェクト識別器1060は、画像ディスプレイデバイス2の画面による表示のために、グラフィック生成器1030を動作または制御し、オブジェクトに関する識別を示す、識別子を生成してもよい。画像ディスプレイデバイス2の画面は、ユーザが、画面を通して、環境内のオブジェクトを視認するとき、識別子が、オブジェクトに対してある空間関係にあるであろうように、識別子を画面内のある場所に表示するように構成される。
いくつかの実施形態では、オブジェクト識別器1060は、オブジェクトの表面の配向が、略垂直である場合、かつオブジェクトの表面の高度が、高度閾値(例えば、3フィート、4フィート、5フィート等)を上回る場合、オブジェクトを壁として識別するように構成されてもよい。いくつかの実施形態では、オブジェクトの表面は、表面が、水平線とある角度を形成する、平面内にある場合、「略垂直」と見なされ、角度は、90度+/-10度の範囲内の任意の値である。
また、いくつかの実施形態では、オブジェクト識別器1060は、オブジェクトの表面の配向が、略水平である場合、かつオブジェクトの表面の高度が、高度閾値(例えば、2フィート、1フィート、6インチ、3インチ、2インチ等)を下回る場合、オブジェクトを床として識別するように構成されてもよい。いくつかの実施形態では、オブジェクトの表面は、表面が、水平線とある角度を形成する、平面内にある場合、「略水平」と見なされ、角度は、0度+/-10度の範囲内の任意の値である。
また、いくつかの実施形態では、オブジェクト識別器1060は、オブジェクトの表面の配向が、略水平である場合、かつオブジェクトの表面の高度が、第1の高度閾値(例えば、3インチ、6インチ、1フィート等)を上回り、第2の高度閾値(例えば、5フィート、4フィート、3フィート等)を下回る場合、オブジェクトを家具(例えば、テーブルの表面、カウンタ上部、椅子表面、腰掛等)として識別するように構成される。
いくつかの実施形態では、オブジェクト識別器1060は、オブジェクトの識別が決定されることになるためのオブジェクトの選択を示す、入力を取得するように構成される。例えば、いくつかの実施形態では、入力は、コントローラコンポーネント4を介して生成されたユーザ入力を備えてもよく、ユーザ入力は、オブジェクトの選択を示す。ある場合には、画像ディスプレイデバイス2の画面は、カーソルを表示してもよい。そのような場合、ユーザは、コントローラコンポーネント4を使用して、カーソルを動作させてもよい(例えば、カーソルを移動させることは、カーソルを使用して、オブジェクトを選択する等)。例えば、コントローラコンポーネント4が、タッチパッド、トラックボール、またはジョイスティック等を含む場合、ユーザは、これらのユーザ制御のいずれかを動作させ、画像ディスプレイデバイス2の画面上に表示されているカーソルを動作させてもよい。ユーザは、画像ディスプレイデバイス2の画面を通して視認される際、ユーザを囲繞する環境内の物理的オブジェクトにタッチしているように現れるように、画面上のカーソルを移動させてもよい。ユーザはまた、ボタンまたはタッチセンサ式制御を動作させ、オブジェクトを選択してもよい。コントローラコンポーネント4は、画面内のカーソルのカーソル位置を示す、ユーザ入力を生成してもよく、オブジェクト識別器1060は、カーソル位置を示す、ユーザ入力を取得してもよく、カーソル位置に基づいて、選択されている環境内のオブジェクトを決定するように構成されてもよい。
他の実施形態では、処理ユニット1002は、コントローラコンポーネント4の配向および/または位置をユーザ入力として取得するように構成されてもよい。例えば、いくつかの実施形態では、システム1は、コントローラコンポーネント4の配向を感知するように構成される、配向センサ、および/またはコントローラコンポーネント4の位置を感知するように構成される、位置センサを含んでもよい。配向センサおよび/または位置センサは、コントローラコンポーネント4、画像ディスプレイデバイス2、またはシステム1の別のコンポーネントにおいて実装されてもよい。処理ユニット1002は、コントローラコンポーネント4の配向および/または位置を示す、ユーザ入力を取得し、画像ディスプレイデバイス2の画面上に表示されているカーソルの位置を調節するように構成される。例えば、ユーザは、それを空間を横断して平行移動させることによって、コントローラコンポーネント4を移動させてもよく、および/またはコントローラコンポーネント4を回転(例えば、傾斜)させてもよい。それに応答して、処理ユニット1002は、画像ディスプレイデバイス2の画面上に表示されているカーソルの位置を調節する。ユーザは、画像ディスプレイデバイス2の画面を通して視認される際、カーソルを環境内のオブジェクトにわたって位置付け、オブジェクトを選択してもよい。いくつかの実施形態では、オブジェクト識別器1060は、コントローラコンポーネント4によって環境内のオブジェクトに向かってポイントされる方向に基づいて、選択されている環境内のオブジェクトを決定するように構成される。また、いくつかの実施形態では、オブジェクト識別器1060は、オブジェクトの識別が決定されることになるためのオブジェクトの選択を示す、入力を取得するように構成される。例えば、いくつかの実施形態では、ユーザは、ボタンまたはタッチセンサ式制御を動作させ、オブジェクトを選択してもよい。コントローラコンポーネント4は、画面内のカーソルのカーソル位置を示す、ユーザ入力を生成してもよく、オブジェクト識別器1060は、カーソル位置を示す、ユーザ入力を取得してもよく、カーソル位置に基づいて、選択されている環境内のオブジェクトを決定するように構成されてもよい。
いくつかの実施形態では、画像ディスプレイデバイス2は、カメラを含んでもよい。そのような場合、オブジェクト識別器1060は、カメラによって提供されるカメラ画像内のオブジェクトの画像の存在に基づいて、識別のためのオブジェクトを選択するように構成されてもよい。いくつかの実施形態では、オブジェクト識別器1060は、オブジェクト識別のために、オブジェクトを自動的に選択するように構成されてもよい。1つの実装では、オブジェクト識別器1060は、オブジェクトが、時間閾値を超える持続時間内に、カメラ画像を備える、カメラ画像のシーケンス(画像ディスプレイデバイス2のカメラによって生成された)内に存在することに応答して、オブジェクトを選択するように構成されてもよい。
オブジェクト識別器1060によって識別され得る、オブジェクトは、述べられた実施例に限定されず、オブジェクト識別器1060は、オブジェクトの特徴に基づいて、他のオブジェクトを識別してもよいことに留意されたい。非限定的実施例として、オブジェクト識別器1060は、キャビネット、本棚、テレビ、暖炉等、または建物構造内の他のアイテムのいずれかを識別するように構成されてもよい。オブジェクト識別器1060はまた、人物、植物、動物等の生命体を識別するように構成されてもよい。さらに、オブジェクト識別器1060はまた、道路標識、街灯、郵便ポスト、車両等の建物構造外のオブジェクトを識別するように構成されてもよい。
また、いくつかの実施形態では、オブジェクト識別器1060がオブジェクトを識別するために使用し得る、特徴は、オブジェクトの色、オブジェクトの表面テクスチャ、オブジェクトの形状、オブジェクトのサイズ等を含んでもよい。いくつかの実施形態では、オブジェクト識別器1060は、検出されたオブジェクトの表面の配向および/または高度と組み合わせて、これらの特徴のいずれかを使用して、オブジェクトを識別してもよい。他の実施形態では、オブジェクト識別器1060は、オブジェクトの表面の配向および高度を伴わずに、これらの特徴のいずれかを使用して、オブジェクトを識別してもよい。
加えて、いくつかの実施形態では、1つのみのオブジェクトの表面を検出して、1つの表面の配向および/または高度を決定する代わりに、処理ユニット1002は、複数のオブジェクトの表面を検出し、複数のオブジェクトの表面の個別の配向および/または個別の高度を決定するように構成されてもよい。1つの実装では、処理ユニット1002は、ユーザを囲繞する環境内の選択されたオブジェクトを示す、ユーザ入力を受信し、複数のオブジェクトの表面を決定するように構成されてもよい。例えば、処理ユニット1002は、オブジェクトの識別が処理ユニット1002によって決定され得るように、ある領域内のオブジェクトのいくつかの表面を識別し、十分な情報を集めてもよい。いくつかの実施形態では、オブジェクト識別器1060は、オブジェクトの表面の縁および/またはオブジェクトの角を検出するように構成されてもよい。オブジェクト識別器1060は、オブジェクトの検出された縁および/または角に基づいて、オブジェクトの識別を行うように構成されてもよい。
上記の実施形態では、処理ユニット1002は、画像ディスプレイデバイス2のユーザによって選択されているオブジェクトの識別を参照して説明される。他の実施形態では、処理ユニット1002は、ユーザが、明示的ユーザ入力を提供して、オブジェクトを選択することを要求せずに、画像ディスプレイデバイス2の画面を通して視認される際、ユーザを囲繞する環境内のオブジェクトを識別してもよい。例えば、いくつかの実施形態では、オブジェクト識別器1060は、画像ディスプレイデバイス2のカメラによって提供されるカメラ画像を取得するように構成されてもよく、カメラは、ユーザが環境内で移動するにつれて、環境内のオブジェクトのカメラ画像のシーケンスを持続的に生成するように構成される。カメラ画像は、通信インターフェース1010を介して処理ユニット1002によって取得される、センサ情報であってもよい。オブジェクト識別器1060は、カメラ画像内に現れるにつれて、環境内の1つまたはそれを上回るオブジェクトを自動的に識別するように構成されてもよい。例えば、オブジェクト識別器1060は、表面検出、角検出、縁検出、色検出、テクスチャ検出等を実施し、オブジェクトを識別するように構成されてもよい。いくつかの実施形態では、オブジェクト識別器1060は、オブジェクトの識別をグラフィック生成器1030に提供するように構成されてもよく、これは、画像ディスプレイデバイス2の画面による表示のために、オブジェクト識別を生成する。オブジェクト識別は、ユーザが画面内のオブジェクト識別を視認するとき、環境内のオブジェクトとともに(画面を通して視認される際)、オブジェクト識別がオブジェクトと関連付けられる空間内に現れるであろうように、環境内の対応するオブジェクトと関連付けられる、画面内に表示されてもよい。例えば、オブジェクト識別は、実際の物理的オブジェクトにわたって、実際の物理的オブジェクトに隣接して(例えば、1インチ、2インチ、3インチ、3ピクセル距離、5ピクセル距離等、実際の物理的オブジェクトからある所定の距離内に)重畳されるように現れるように、画面内に表示されてもよい。さらに、いくつかの実施形態では、画面内の表示されるオブジェクト識別は、ユーザが移動すると、表示されるオブジェクト識別が、画面を通して視認されているオブジェクトに追従するように現れるであろうように、ユーザの移動と対応して、画面内で移動してもよい。本特徴は、オブジェクト識別が実際の物理的オブジェクトの一部であるように現れるように、個別の実際の物理的オブジェクトに関するオブジェクト識別を提供するため、有利である。
オブジェクト識別器1060は、カメラ画像に基づいて、環境内のオブジェクトを識別することに限定されず、オブジェクト識別器1060は、他のタイプのセンサ情報のいずれかに基づいて、環境内のオブジェクトを識別するように構成されてもよいことに留意されたい。例えば、他の実施形態では、画像ディスプレイデバイス2は、深度センサの正面のオブジェクトと深度センサとの間の深度または距離を感知するために、深度センサを含んでもよい。そのような場合、オブジェクト識別器1060は、感知される深度または距離に基づいて、オブジェクトを識別するように構成されてもよい。さらなる実施形態では、画像ディスプレイデバイス2は、画像ディスプレイデバイス2のユーザの眼視線方向を検出するために、視線検出器を含んでもよい。そのような場合、オブジェクト識別器1060は、眼視線方向を示す、視線検出器によって提供される1つまたはそれを上回るセンサ入力に基づいて、オブジェクトを識別するように構成されてもよい。
いくつかの実施形態では、オブジェクト識別器1060は、グラフィック生成器1030が、出力に基づいて、グラフィックを生成し得るように、出力をグラフィック生成器1030に提供してもよく、および/または記憶のために、出力を非一過性媒体1040に提供してもよい。オブジェクト識別器1060によって決定された任意の情報は、グラフィック生成器1030および/または非一過性媒体1040に提供されてもよい。例えば、いくつかの実施形態では、オブジェクト識別器1060は、物理的環境内の識別されたオブジェクトに関する情報を提供してもよい。そのような場合、オブジェクト識別器1060は、識別されたオブジェクトに関する情報をグラフィック生成器1030に提供してもよい。グラフィック生成器1030は、次いで、グラフィックが画像ディスプレイデバイス2の画面上に表示され得るように、識別されたオブジェクトに関する情報に基づいて、グラフィックを生成してもよい。実施例として、識別されたオブジェクトに関する情報は、オブジェクトの識別であってもよく、グラフィックは、オブジェクトの識別を示してもよい。別の実施例として、識別されたオブジェクトに関する情報は、オブジェクトの形状であってもよく、グラフィックは、オブジェクトの形状を示してもよい。識別されたオブジェクトに関する情報はまた、非一過性媒体1040内に記憶されてもよい。
いくつかの実施形態では、処理ユニット1002(例えば、オブジェクト識別器1060)は、図4-5を参照して説明される特徴のいずれかを提供するように構成されてもよい。
他の実施形態では、オブジェクト識別器1060は、随意であって、処理ユニット1002は、オブジェクト識別器1060を含まない。
空間定義器
図15に示されるように、処理ユニット1002はまた、空間定義器1070を含む。空間定義器1070は、その中で1つまたはそれを上回る仮想コンテンツが提供され得る、仮想空間を定義するように構成される。例えば、いくつかの実施形態では、空間定義器1070は、仮想空間に関する仮想壁を定義するように構成されてもよい。代替として、または加えて、空間定義器1070は、仮想空間に関する角および/または仮想空間に関する壁縁を定義するように構成されてもよい。
いくつかの実施形態では、仮想壁は、ユーザを囲繞する環境内の実際の物理的壁からオフセットされる。他の実施形態では、仮想壁は、ユーザを囲繞する環境内の実際の物理的壁と整合される、またはそれと交差してもよい。同様に、いくつかの実施形態では、仮想空間に関する角(仮想角)は、ユーザを囲繞する環境内の実際の物理的角からオフセットされてもよい。他の実施形態では、仮想空間に関する角は、ユーザを囲繞する環境内の実際の物理的角と整合されてもよい。また、いくつかの実施形態では、仮想空間に関する縁(仮想縁)は、ユーザを囲繞する環境内の実際の物理的縁からオフセットされてもよい。他の実施形態では、仮想空間に関する縁は、ユーザを囲繞する環境内の実際の物理的縁と整合されてもよい。
いくつかの実施形態では、画像ディスプレイデバイス2の画面は、ユーザが、仮想空間の仮想壁を視認するとき、壁識別子が、仮想壁に対してある空間関係にあるであろうように、壁識別子を画面内のある場所に表示するように構成されてもよい。また、いくつかの実施形態では、画像ディスプレイデバイス2の画面は、ユーザが、仮想空間の仮想角を視認するとき、角識別子が、仮想角に対してある空間関係にあるであろうように、角識別子を画面内のある場所に表示するように構成されてもよい。加えて、いくつかの実施形態では、画像ディスプレイデバイス2の画面は、ユーザが、仮想空間の仮想縁を視認するとき、縁識別子が、仮想縁に対してある空間関係にあるであろうように、縁識別子を画面内のある場所に表示するように構成されてもよい。
空間定義器1070は、仮想空間に関する1つの仮想壁を定義することに限定されず、空間定義器1070は、仮想空間に関する複数の壁を定義してもよいことに留意されたい。例えば、いくつかの実施形態では、空間定義器1007は、仮想空間に関する複数の仮想壁を定義するように構成され、画像ディスプレイデバイス2の画面は、個別の仮想壁に関する壁識別子を表示するように構成される。また、仮想空間に関する仮想壁は、直線構成を有する壁に限定されない。他の実施形態では、仮想空間に関する仮想壁は、曲線構成を有してもよい。
種々の技法が、処理ユニット1002によって、仮想空間を定義するために採用されてもよい。いくつかの実施形態では、処理ユニット1002の空間定義器1070は、ユーザを囲繞する物理的環境内の特徴を使用して、仮想空間を定義するように構成されてもよい。そのような場合、空間定義器1070は、コントローラコンポーネント4を介して生成されたユーザ入力を取得するように構成され、ユーザ入力は、環境内の仮想空間の少なくとも一部を定義するための特徴(例えば、壁、壁角、縁等、または前述の任意の組み合わせ)の選択を示す。いくつかの実施形態では、グラフィック生成器1030は、画像ディスプレイデバイス2の画面による表示のために、カーソルのグラフィックを提供するように構成されてもよい。そのような場合、ユーザは、コントローラコンポーネント4を動作させ、画面内のカーソルを移動させ、仮想空間を定義するための物理的環境内の1つまたはそれを上回る特徴を選択してもよい。例えば、ユーザは、コントローラコンポーネント4を平行移動および/または配向(例えば、傾斜)し、カーソルを移動させてもよい。別の実施例として、ユーザは、コントローラコンポーネント4におけるユーザ入力コントローラ(例えば、タッチセンサ式領域、トラックボール、ジョイスティック等)を動作させ、カーソルを移動させてもよい。ユーザが、画面を通して視認される際、画面上のカーソルを環境内の物理的オブジェクトにわたって移動させた後、ユーザは、コントローラコンポーネント4を動作させ、仮想空間を定義するためのオブジェクトを選択してもよい。例えば、ユーザに、環境内の物理的壁が見え、対応する壁を有するように仮想空間を定義することを所望する場合、ユーザは、カーソルが環境内の物理的壁にわたって重畳されるように現れるように(画面を通して視認される際)、カーソルを画面上で移動させてもよい。ユーザは、次いで、ボタンを押下し、カーソルによって仮想的にポイントされている、物理的壁を選択してもよい。したがって、仮想空間を定義するために空間定義器1070によって取得されるユーザ入力は、画面内のカーソル位置を示す。空間定義器1070は、ユーザ入力を取得し、選択された物理的壁と対応する、仮想壁を生成する。例えば、仮想壁は、物理的壁のものと対応(例えば、マッチング)する、寸法(例えば、高さ、幅)を有してもよい。
他の実施形態では、コントローラコンポーネント4は、ポインタとして動作されてもよく、これは、ユーザが、ポインタを環境内のオブジェクトに向かってポイントすることによって、オブジェクトを選択することを可能にする。そのような場合、空間定義器1070によって取得されるユーザ入力は、コントローラコンポーネント4の位置および/または配向を示す。ユーザはまた、コントローラコンポーネント4における制御を動作させ、コントローラコンポーネント4によってポイントされている、オブジェクトを選択してもよい。したがって、仮想空間を定義するための環境内の特徴の選択は、コントローラコンポーネント4によって環境内の特徴に向かってポイントされる方向に基づいてもよい。
いくつかの実施形態では、空間定義器1070は、画像ディスプレイデバイス2のカメラによって提供される1つまたはそれを上回るカメラ画像に基づいて、仮想空間の少なくとも一部を定義するように構成されてもよい。例えば、空間定義器1070は、カメラ画像を分析し、カメラ画像内の1つまたはそれを上回るアイテムを識別してもよい。アイテムは、ユーザを囲繞する環境内の壁の画像、角の画像、縁の画像等であってもよい。カメラは、カメラのビューが画面を通した環境のユーザのビューと対応するように、ユーザに対して前方に向いた方向に配向されてもよい。カメラが、環境内を移動するにつれて、ユーザは、画面を通して、環境内の異なるオブジェクトを視認することができる。カメラは、ユーザが画面を通して視認するものと対応する、カメラ画像を生成する。いくつかの実施形態では、画像ディスプレイデバイス2の画面が、カーソルまたはポインタの画像を表示する場合、空間定義器1070は、カーソル位置またはポインタ位置に対するカメラ画像を分析することによって、カーソルまたはポインタがポイントしている、環境内のオブジェクトを決定するように構成されてもよい。例えば、カーソル位置が、ドアの画像がカメラ画像内に存在することを示す場合、空間定義器1070は、カーソルがユーザを囲繞する物理的環境内のドアをポイントしていることを決定し得る。ユーザが、カーソルまたはポインタがカメラ画像内のドアの画像の位置にある間、ドアを選択する場合、空間定義器1070は、ユーザが仮想空間の少なくとも一部を定義するためのドアを選択することを決定し得る。
他の実施形態では、空間定義器1070は、カメラによって提供されるカメラ画像内の特徴の画像の存在に基づいて、仮想空間の少なくとも一部を定義するための環境内の特徴を選択するように構成されてもよい。例えば、空間定義器1070は、カメラ画像内の壁の画像を検出してもよい。そのような場合、空間定義器1070は、壁を自動的に選択してもよく、選択された壁に基づいて、仮想壁を生成してもよい。1つの実装では、空間定義器1070は、特徴が、時間閾値を超える持続時間内に、カメラ画像を含む、カメラ画像のシーケンス内に存在することに応答して、特徴を選択するように構成される。例えば、ユーザのビューが、壁に向かっている場合、画像ディスプレイデバイス2のカメラは、ユーザのビューが壁に向かって維持される間、壁のカメラ画像のシーケンスを生成するであろう。壁の視認の持続時間が、ある所定の時間閾値(例えば、3秒、5秒等)を超える場合、空間定義器1070は、ユーザが仮想空間の少なくとも一部を定義するための壁を選択することを所望すると仮定してもよい。そのような場合、空間定義器1070は、仮想空間の少なくとも一部を定義するための壁を自動的に選択してもよい。いくつかの実施形態では、空間定義器1070は、仮想空間を定義するための選択された壁を使用する前に、壁の選択が容認可能であるかどうかを確認するようにユーザに求めてもよい。
いくつかの実施形態では、仮想空間が、空間定義器1070によって定義された後、処理ユニット1002は、次いで、画像ディスプレイデバイス2の画面による定義された仮想空間内への表示のために、仮想コンテンツを提供してもよい。いくつかの実施形態では、グラフィック生成器1030は、画像ディスプレイデバイス2のユーザのみによる相互作用のために、仮想コンテンツを提供するように構成されてもよい。他の実施形態では、グラフィック生成器1030は、図10-11を参照して説明されるもの等、ユーザ(第1のユーザ)および付加的ユーザ(第2のユーザ)による相互作用のために、仮想コンテンツを提供するように構成されてもよい。例えば、いくつかの実施形態では、システム1は、ユーザおよび付加的ユーザが、同一仮想空間において、仮想コンテンツと相互作用し得るように、ユーザおよび付加的ユーザを同一の定義された仮想空間に接続するように構成されてもよい。いくつかの実施形態では、グラフィック生成器1030は、異なる個別の部屋におけるユーザおよび付加的ユーザによる相互作用のために、仮想コンテンツを提供するように構成される。他の実施形態では、グラフィック生成器1030は、同一部屋におけるユーザおよび付加的ユーザによる相互作用のために、仮想コンテンツを提供するように構成される。
いくつかの実施形態では、2人のユーザが、同一物理的環境内に存在する場合、処理ユニット1002は、環境内に存在する間、ユーザおよび付加的ユーザが仮想コンテンツと相互作用し得るように、ユーザおよび付加的ユーザを環境に位置合わせするように構成されてもよい。1つの実装では、処理ユニット1002は、ユーザの場所および付加的ユーザの場所と関連付けられる、1つまたはそれを上回るアンカポイントを決定することによって、ユーザおよび付加的ユーザを環境に位置合わせするように構成される。例えば、第1のユーザが、環境内を移動するにつれて、処理ユニット1002は、第1のユーザの場所に基づいて、1つまたはそれを上回るアンカポイントを決定してもよい。各アンカポイントは、位置特定目的のために事前定義された環境内の特徴と関連付けられ得る。第1のユーザが、移動するにつれて、第1のユーザの場所が、変化し、第1のユーザに関するアンカポイントのセットもまた、変化する。同様に、環境内の第2のユーザも、第2のユーザの場所と関連付けられる、アンカポイントのセットを有し得る。いくつかの実施形態では、処理ユニット1002は、個別のユーザと関連付けられる、個別のアンカポイントのセットに基づいて、第1および第2のユーザを環境に位置合わせするように構成されてもよい。また、いくつかの実施形態では、2人のユーザが、十分に近接して位置する場合、個別のセットのアンカポイントは、1つまたはそれを上回る共通アンカポイントを有してもよい。そのような場合、処理ユニット1002は、1つまたはそれを上回る共通アンカポイントに基づいて、ユーザを環境に位置合わせするように構成されてもよい。
いくつかの実施形態では、オブジェクト識別器1060は、空間定義器1070の一部として埋め込まれてもよい。そのような場合、オブジェクト識別器1060は、1つまたはそれを上回るオブジェクトを識別するために使用されてもよく、識別されたオブジェクトは、空間定義器1070によって使用され、仮想空間を定義してもよい。他の実施形態では、オブジェクト識別器1060は、空間定義器1070と別個のコンポーネント/モジュールであってもよい。そのような場合、オブジェクト識別器1060は、1つまたはそれを上回るオブジェクトを識別してもよく、識別されたオブジェクトに関する情報を空間定義器1070に提供してもよい。
いくつかの実施形態では、空間定義器1070は、グラフィック生成器1030が出力に基づいて、グラフィックを生成し得るように、出力をグラフィック生成器1030に提供してもよく、および/または記憶のために、出力を非一過性媒体1040に提供してもよい。空間定義器1070によって決定された任意の情報は、グラフィック生成器1030および/または非一過性媒体1040に提供されてもよい。例えば、いくつかの実施形態では、空間定義器1070は、仮想空間に関する仮想壁に関する情報を提供してもよい。そのような場合、空間定義器1070は、仮想壁に関する情報をグラフィック生成器1030に提供してもよい。グラフィック生成器1030は、次いで、画像ディスプレイデバイス2の画面上に表示され得るように、仮想壁を示す、グラフィックを生成してもよい。仮想空間に関する仮想壁に関する情報はまた、非一過性媒体1040内に記憶されてもよい。
いくつかの実施形態では、空間定義器1070は、図12-14を参照して説明される特徴のいずれかを提供するように構成されてもよい。
いくつかの実施形態では、コントローラコンポーネント4は、ユーザによって、仮想コンテンツを挿入するために利用されてもよい。例えば、コントローラコンポーネントは、移動されてもよく、および/または1つまたはそれを上回るユーザ制御(例えば、ジョイスティック、タッチセンサ式面積、ボタン等)は、仮想コンテンツを所望の場所に移動および/または設置するように作動されてもよい。他の実施形態では、仮想コンテンツは、コントローラコンポーネント4を使用せずに提供されてもよい。例えば、他の実施形態では、仮想コンテンツは、ある時間閾値(例えば、2秒、3秒、4秒等)を超えた、ユーザによる環境内のある面積の注視または視認に応答して、グラフィック生成器1030によって提供されてもよい。いくつかの実施形態では、処理ユニット1002は、図6-7を参照して説明される技法を使用して、仮想コンテンツを提供するように構成されてもよい。
他の実施形態では、空間定義器1070は、随意であって、処理ユニット1002は、空間定義器1070を含まない。
ポインタ構成器
図15に示されるように、処理ユニット1002は、ポインタ構成器1080を含む。ポインタ構成器1080は、画像ディスプレイデバイス2の画面によって表示されているポインタの構成を変化させるように構成される。いくつかの実施形態では、コントローラコンポーネント4は、ユーザによって、ユーザを囲繞する物理的環境内のオブジェクトおよび/または仮想オブジェクトをポイントするように構成される、ポインティングデバイスとして利用されてもよい。コントローラコンポーネント4の位置および/または配向に基づいて、グラフィック生成器1030は、画像ディスプレイデバイス2の画面による表示のために、仮想ポインタを生成する。例えば、仮想ポインタは、伸長オブジェクトのグラフィックであってもよい。仮想ポインタは、物理的環境内のあるオブジェクトまたはある仮想オブジェクトをポイントしているように現れるように、表示されてもよい。ユーザが、コントローラコンポーネント4を移動させるにつれて、画面内の伸長オブジェクトの位置は、対応して、変化するであろう。本特徴は、ユーザにコントローラコンポーネント4がポイントしているオブジェクトが見えることを可能にするため、有利である。
いくつかの実施形態では、仮想ポインタは、ユーザによって、画像ディスプレイデバイス2の画面内に表示されている仮想オブジェクトと相互作用するために使用されてもよい。例えば、ユーザは、仮想ポインタを使用して、仮想オブジェクトを選択し、および/または仮想オブジェクトを移動させてもよい。ポインタ構成器1080は、画面内に表示されるポインタの構成を調節し、および/または仮想ポインタと関連付けられる相互作用グラフィックを提示するように構成される。例えば、ユーザが、仮想ポインタを移動させ、仮想オブジェクトを位置付けるにつれて、ポインタ構成器1080は、仮想ポインタの形状を変化させてもよい。ある場合には、仮想ポインタは、仮想ポインタが仮想オブジェクトを移動させるにつれて、屈曲を受けるように現れてもよい。屈曲の量は、位置付けられている仮想オブジェクトの加重または質量に基づいてもよい。例えば、仮想オブジェクトが、より重い質量を有する場合、仮想ポインタは、仮想オブジェクトを移動させるために使用される際、より屈曲を受けてもよい。
他の実施形態では、仮想ポインタの形状を変化させる代わりに、またはそれに加え、ポインタ構成器1080は、仮想ポインタと仮想オブジェクトとの間の相互作用に応答して、仮想ポインタの色、仮想ポインタのサイズ等を変化させるように、仮想ポインタの他の特徴を変化させるように構成されてもよい。
また、他の実施形態では、処理ユニット1002は、ポインタと仮想オブジェクトとの間の相互作用に応答して、相互作用グラフィックを提供するように構成されてもよい(画像ディスプレイデバイス2の画面による表示のために)。相互作用グラフィックは、ポインタ構成器1080によって提供される入力に基づいて、グラフィック生成器1030によって生成されてもよい。相互作用グラフィックは、仮想ポインタによって選択されている、仮想オブジェクトのハイライト、または仮想ポインタと関連付けて表示される、任意のグラフィックであってもよい。
いくつかの実施形態では、ポインタ構成器1080は、図9A-9Eを参照して説明される特徴のいずれかを提供するように構成されてもよい。
他の実施形態では、ポインタ構成器1080は、随意であって、処理ユニット1002は、ポインタ構成器1080を含まない。
処理ユニットおよび/または処理ユニット内のアプリケーションによって実施される方法
図16Aは、いくつかの実施形態による、方法1100を図示する。方法1100は、仮想または拡張環境内において、仮想コンテンツを提供するように構成される、装置によって実施されてもよい。また、いくつかの実施形態では、方法1100は、その中で第1のディスプレイ画面を装着している第1のユーザと、第2のディスプレイ画面を装着している第2のユーザとが、相互に相互作用し得る、仮想または拡張現実環境内において、仮想コンテンツを提供するように構成される、装置によって実施されてもよい。各画像ディスプレイデバイスは、いくつかの実施形態では、画像ディスプレイデバイス2であってもよい。いくつかの実施形態では、方法1100は、本明細書に説明される、画像ディスプレイデバイスのいずれかによって、または複数の画像ディスプレイデバイスによって実施されてもよい。また、いくつかの実施形態では、方法1100の少なくとも一部は、処理ユニット1002によって、または複数の処理ユニット(例えば、個別の画像ディスプレイデバイス内の処理ユニット)によって実施されてもよい。さらに、いくつかの実施形態では、方法1100は、サーバ、または個別のユーザによって装着される画像ディスプレイデバイスと別個である、装置によって実施されてもよい。
図16Aに示されるように、方法1100は、表面検出器によって、装置のユーザを囲繞する環境内のオブジェクトの表面を検出すること(アイテム1102)と、オブジェクト識別器によって、オブジェクトの表面の配向および/または高度を取得すること(アイテム1104)と、オブジェクト識別器によって、オブジェクトの表面の配向および/または高度に基づいて、オブジェクトを識別すること(アイテム1106)と、グラフィック生成器によって、画面による表示のために、識別されたオブジェクトに関する識別子を生成することであって、画面は、少なくとも部分的に、装置のユーザがユーザを囲繞する環境内のオブジェクトを視認することを可能にするために透明である、こと(アイテム1108)とを含む。
随意に、方法1100では、オブジェクトは、オブジェクトの表面の配向が、略垂直である場合、かつオブジェクトの表面の高度が、高度閾値を上回る場合、壁として識別される。
随意に、方法1100では、オブジェクトは、オブジェクトの表面の配向が、略水平である場合、かつオブジェクトの表面の高度が、高度閾値を下回る場合、床として識別される。
随意に、方法1100では、オブジェクトは、オブジェクトの表面の配向が、略水平である場合、かつオブジェクトの表面の高度が、第1の高度閾値を上回り、第2の高度閾値を下回る場合、家具として識別される。
随意に、方法1100では、識別子は、ユーザが、画面を通して、環境内のオブジェクトを視認するとき、識別子が、オブジェクトに対してある空間関係にあるであろうように、画面内のある場所に表示される。
随意に、方法1100はさらに、オブジェクトの識別が決定されることになるためのオブジェクトの選択を示す、入力を取得することを含む。
随意に、方法1100では、入力は、コントローラコンポーネントを介して生成されたユーザ入力を備え、ユーザ入力は、オブジェクトの選択を示す。
随意に、方法1100では、ユーザ入力は、画面内のカーソル位置を示し、本方法はさらに、カーソル位置に基づいて、選択されている環境内のオブジェクトを決定することを含む。
随意に、方法1100では、ユーザ入力は、コントローラコンポーネントの配向を示し、本方法はさらに、コントローラコンポーネントによって環境内のオブジェクトに向かってポイントされている方向に基づいて、選択されている環境内のオブジェクトを決定することを含む。
随意に、方法1100はさらに、装置のカメラによって提供されるカメラ画像内のオブジェクトの画像の存在に基づいて、識別のためのオブジェクトを選択することを含む。
随意に、方法1100では、オブジェクトは、識別のために自動的に選択される。
随意に、方法1100では、オブジェクトは、オブジェクトが、時間閾値を超える持続時間内に、カメラ画像を備える、カメラ画像のシーケンス内に存在することに応答して、選択される。
随意に、方法1100はさらに、仮想空間を定義することを含む。
随意に、方法1100では、仮想空間を定義する行為は、仮想空間に関する仮想壁を定義することを含む。
随意に、方法1100では、仮想壁は、ユーザを囲繞する環境内の実際の物理的壁からオフセットされる。
随意に、方法1100では、仮想壁は、ユーザを囲繞する環境内の実際の物理的壁と整合される、またはそれと交差する。
随意に、方法1100はさらに、ユーザが、仮想壁を視認するとき、壁識別子が、仮想壁に対してある空間関係にあるであろうように、画面によって、壁識別子を画面内のある場所に表示することを含む。
随意に、方法1100では、仮想空間を定義する行為は、仮想空間に関する複数の仮想壁を定義することを含み、本方法はさらに、画面によって、個別の仮想壁に関する壁識別子を表示することを含む。
随意に、方法1100では、仮想空間を定義する行為は、仮想空間に関する角を定義することを含む。
随意に、方法1100では、仮想空間を定義する行為は、仮想空間に関する壁縁を定義することを含む。
随意に、方法1100はさらに、コントローラコンポーネントを介して生成されたユーザ入力を取得することを含み、ユーザ入力は、仮想空間の少なくとも一部を定義するための環境内の特徴の選択を示す。
随意に、方法1100では、環境内の特徴は、壁、壁角、縁、または前述の任意の組み合わせを備える。
随意に、方法1100では、ユーザ入力は、画面内のカーソル位置を示す。
随意に、方法1100では、ユーザ入力は、コントローラコンポーネントの配向を示し、環境内の特徴の選択は、コントローラコンポーネントによって環境内の特徴に向かってポイントされる方向に基づく。
随意に、方法1100はさらに、仮想空間の少なくとも一部を定義するための環境内の特徴を選択することを含み、選択する行為は、装置のカメラによって提供されるカメラ画像内の特徴の画像の存在に基づいて、実施される。
随意に、方法1100では、環境内の特徴は、自動的に選択される。
随意に、方法1100では、特徴は、特徴が、時間閾値を超える持続時間内に、カメラ画像を含む、カメラ画像のシーケンス内に存在することに応答して、選択される。
随意に、方法1100はさらに、コントローラコンポーネントの配向に基づいて、画面によって、ポインタを表示することを含み、本方法はさらに、画面内に表示されるポインタの構成を調節することおよび/またはポインタと関連付けられる相互作用グラフィックを提示することを含む。
随意に、方法1100では、ポインタの構成を調節する行為および/または相互作用グラフィックを提示する行為は、ポインタと仮想オブジェクトとの間の相互作用に応答して、実施される。
随意に、方法1100はさらに、ユーザおよび付加的ユーザによる相互作用のために、仮想コンテンツを提供することを含む。
随意に、方法1100はさらに、ユーザおよび付加的ユーザが、同一仮想空間において、仮想コンテンツと相互作用し得るように、ユーザおよび付加的ユーザを同一仮想空間に接続することを含む。
随意に、方法1100では、仮想コンテンツは、異なる個別の部屋におけるユーザおよび付加的ユーザによる相互作用のために、提供される。
随意に、方法1100では、仮想コンテンツは、同一部屋におけるユーザおよび付加的ユーザによる相互作用のために、提供される。
随意に、方法1100はさらに、ユーザおよび付加的ユーザが仮想コンテンツと相互作用し得るように、環境内に存在する間、ユーザおよび付加的ユーザを環境に位置合わせすることを含む。
随意に、方法1100では、仮想コンテンツは、ユーザによるある面積の注視または視認がある時間閾値を経過したことに応答して、提供される。
随意に、方法1100では、ユーザおよび付加的ユーザを環境に位置合わせする行為は、ユーザの場所および付加的ユーザの場所と関連付けられる、1つまたはそれを上回るアンカポイントを決定することを含む。
プロセッサ可読非一過性媒体は、命令のセットを記憶し、処理ユニットによるその実行は、ある方法を実施させ、処理ユニットは、仮想または拡張現実体験を提供するように構成される、装置の一部であって、本方法は、表面検出器によって、装置のユーザを囲繞する環境内のオブジェクトの表面を検出することと、オブジェクト識別器によって、オブジェクトの表面の配向および/または高度を取得することと、オブジェクト識別器によって、オブジェクトの表面の配向および/または高度に基づいて、オブジェクトを識別することと、グラフィック生成器によって、画面による表示のために、識別されたオブジェクトに関する識別子を生成することであって、画面は、少なくとも部分的に、装置のユーザがユーザを囲繞する環境内のオブジェクトを視認することを可能にするために透明である、こととを含む。
いくつかの実施形態では、方法1100は、処理ユニットが非一過性媒体内に記憶される命令を実行することに応答して、実施されてもよい。故に、いくつかの実施形態では、非一過性媒体は、記憶される命令を含み、処理ユニットによるその実行は、ある方法を実施させる。処理ユニットは、仮想または拡張現実体験を提供するように構成される、装置の一部であってもよい。本方法(処理ユニットが命令を実行することによって実施させられる)は、表面検出器によって、装置のユーザを囲繞する環境内のオブジェクトの表面を検出することと、オブジェクト識別器によって、オブジェクトの表面の配向および/または高度を取得することと、オブジェクト識別器によって、オブジェクトの表面の配向および/または高度に基づいて、オブジェクトを識別することと、グラフィック生成器によって、画面による表示のために、識別されたオブジェクトに関する識別子を生成することであって、画面は、少なくとも部分的に、装置のユーザがユーザを囲繞する環境内のオブジェクトを視認することを可能にするために透明である、こととを含む。
図16Bは、いくつかの実施形態による、方法1150を図示する。方法1150は、仮想または拡張環境内に仮想コンテンツを提供するように構成される、装置によって実施されてもよい。また、いくつかの実施形態では、方法1150は、その中で第1のディスプレイ画面を装着している第1のユーザと、第2のディスプレイ画面を装着している第2のユーザとが、相互に相互作用し得る、仮想または拡張現実環境内に仮想コンテンツを提供するように構成される、装置によって実施されてもよい。各画像ディスプレイデバイスは、いくつかの実施形態では、画像ディスプレイデバイス2であってもよい。いくつかの実施形態では、方法1150は、本明細書に説明される画像ディスプレイデバイスのいずれかによって、または複数の画像ディスプレイデバイスによって実施されてもよい。また、いくつかの実施形態では、方法1150の少なくとも一部は、処理ユニット1002によって、または複数の処理ユニット(例えば、個別の画像ディスプレイデバイス内の処理ユニット)によって実施されてもよい。さらに、いくつかの実施形態では、方法1150は、個別のユーザよって装着される画像ディスプレイデバイスと別個である、サーバまたは装置によって実施されてもよい。
図16Bに示されるように、方法1150は、空間定義器によって、入力を取得することであって、空間定義器は、画面がユーザによって装着されている間、入力を取得するように構成される、こと(アイテム1152)と、空間定義器によって、入力に基づいて、仮想空間を定義すること(アイテム1154)と、グラフィック生成器によって、画面による表示のために、仮想コンテンツを提供すること(アイテム1156)と、画面によって、仮想コンテンツを仮想空間内に表示することであって、画面は、少なくとも部分的に、装置のユーザがユーザを囲繞する環境内のオブジェクトを視認することを可能にするために、透明である、こと(アイテム1158)とを含む。
随意に、方法1150では、仮想空間を定義する行為は、仮想空間に関する仮想壁を定義することを含む。
随意に、方法1150では、仮想壁は、ユーザを囲繞する環境内の実際の物理的壁からオフセットされる。
随意に、方法1150では、仮想壁は、ユーザを囲繞する環境内の実際の物理的壁と整合される、またはそれと交差する。
随意に、方法1150はさらに、ユーザが、仮想壁を視認するとき、壁識別子が、仮想壁に対してある空間関係にあるであろうように、画面によって、壁識別子を画面内のある場所に表示することを含む。
随意に、方法1150では、仮想空間を定義する行為は、仮想空間に関する複数の仮想壁を定義することを含み、本方法はさらに、画面によって、個別の仮想壁に関する壁識別子を表示することを含む。
随意に、方法1150では、仮想空間を定義する行為は、仮想空間に関する角を定義することを含む。
随意に、方法1150では、仮想空間を定義する行為は、仮想空間に関する壁縁を定義することを含む。
随意に、方法1150はさらに、コントローラコンポーネントを介して生成されたユーザ入力を取得することを含み、ユーザ入力は、仮想空間の少なくとも一部を定義するための環境内の特徴の選択を示す。
随意に、方法1150では、環境内の特徴は、壁、壁角、縁、または前述の任意の組み合わせを備える。
随意に、方法1150では、ユーザ入力は、画面内のカーソル位置を示す。
随意に、方法1150では、ユーザ入力は、コントローラコンポーネントの配向を示し、環境内の特徴の選択は、コントローラコンポーネントによって環境内の特徴に向かってポイントされる方向に基づく。
随意に、方法1150はさらに、カメラによって提供されるカメラ画像内の特徴の画像の存在に基づいて、仮想空間の少なくとも一部を定義するための環境内の特徴を選択することを含み、カメラ画像は、空間定義器によって取得される、入力である。
随意に、方法1150では、環境内の特徴は、自動的に選択される。
随意に、方法1150では、環境内の特徴は、特徴が、時間閾値を超える持続時間内に、カメラ画像を含む、カメラ画像のシーケンス内に存在することに応答して、選択される。
随意に、方法1150では、仮想コンテンツはまた、付加的ユーザによる相互作用のためのものでもある。
随意に、方法1150はさらに、ユーザおよび付加的ユーザが仮想空間において仮想コンテンツと相互作用し得るように、ユーザおよび付加的ユーザを仮想空間に接続することを含む。
随意に、方法1150では、仮想コンテンツは、異なる個別の部屋におけるユーザおよび付加的ユーザによる相互作用のために、提供される。
随意に、方法1150では、仮想コンテンツは、同一部屋におけるユーザおよび付加的ユーザによる相互作用のために、提供される。
随意に、方法1150はさらに、ユーザおよび付加的ユーザが仮想コンテンツと相互作用し得るように、環境内に存在する間、ユーザおよび付加的ユーザを環境に位置合わせすることを含む。
随意に、方法1150では、ユーザおよび付加的ユーザを環境に位置合わせする行為は、ユーザの場所および付加的ユーザの場所と関連付けられる、1つまたはそれを上回るアンカポイントを決定することを含む。
随意に、方法1150では、仮想コンテンツは、ユーザによるある面積の注視または視認がある時間閾値を経過したことに応答して、提供される。
いくつかの実施形態では、方法1150は、処理ユニットが非一過性媒体内に記憶される命令を実行することに応答して、実施されてもよい。故に、いくつかの実施形態では、非一過性媒体は、記憶される命令を含み、処理ユニットによるその実行は、ある方法を実施させる。処理ユニットは、仮想または拡張現実体験を提供するように構成される、装置の一部であってもよい。いくつかの実施形態では、本装置は、情報を表示するための画面を含んでもよい。本方法(処理ユニットが命令を実行することによって実施させられる)は、空間定義器によって、入力を取得することであって、空間定義器は、画面がユーザによって装着されている間、入力を取得するように構成される、ことと、空間定義器によって、入力に基づいて、仮想空間を定義することと、グラフィック生成器によって、画面による表示のために、仮想コンテンツを提供することと、画面によって、仮想コンテンツを仮想空間内に表示することであって、画面は、少なくとも部分的に、装置のユーザがユーザを囲繞する環境内のオブジェクトを視認することを可能にするために、透明である、こととを含む。
特殊処理システム
いくつかの実施形態では、本明細書に説明される方法1100/1150は、アプリケーションを実行するシステム1(例えば、処理ユニット1002)によって、またはアプリケーションによって、実施されてもよい。アプリケーションは、命令のセットを含有してもよい。1つの実装では、アプリケーションのための命令のセットを記憶する非一過性媒体を有する、特殊処理システムが、提供されてもよい。システム1の処理ユニット1102による命令の実行は、処理ユニット1102および/または画像ディスプレイデバイス2に、本明細書に説明される特徴を実施させるであろう。例えば、いくつかの実施形態では、処理ユニット1102による命令の実行は、方法1100/1150を実施させるであろう。
いくつかの実施形態では、システム1、画像ディスプレイデバイス2、または装置7はまた、特殊処理システムと見なされ得る。特に、システム1、画像ディスプレイデバイス2、または装置7は、一意の有形効果を実世界内で提供するための処理ユニット1102による実行のために、その非一過性媒体内に記憶される命令を含有するという点で、特殊処理システムである。画像ディスプレイデバイス2によって提供される特徴(処理ユニット1102が命令を実行する結果として)は、拡張現実および仮想現実の技術分野内における改良を提供する。
図17は、本明細書に説明される種々の特徴を実装するために使用され得る、特殊処理システム1600の実施形態を図示する、ブロック図である。例えば、いくつかの実施形態では、処理システム1600は、システム1の少なくとも一部、例えば、画像ディスプレイデバイス2、処理ユニット1002等を実装するために使用されてもよい。また、いくつかの実施形態では、処理システム1600は、処理ユニット1102またはその中の1つまたはそれを上回るコンポーネント(例えば、ポジショナ1020、グラフィック生成器1030等)を実装するために使用されてもよい。
処理システム1600は、バス1602または情報を通信するための他の通信機構と、情報を処理するためにバス1602と結合される、プロセッサ1604とを含む。プロセッサシステム1600はまた、情報およびプロセッサ1604によって実行されるべき命令を記憶するためにバス1602に結合される、ランダムアクセスメモリ(RAM)または他の動的記憶デバイス等のメインメモリ1606を含む。メインメモリ1606はまた、プロセッサ1604によって実行されるべき命令の実行の間、一時的変数または他の中間情報を記憶するために使用されてもよい。プロセッサシステム1600はさらに、静的情報およびプロセッサ1604のための命令を記憶するためにバス1602に結合される、読取専用メモリ(ROM)1608または他の静的記憶デバイスを含む。磁気ディスク、ソリッドステートディスク、または光ディスク等のデータ記憶デバイス1610が、提供され、情報および命令を記憶するためにバス1602に結合される。
プロセッサシステム1600は、情報をユーザに表示するために、バス1602を介して、画面等のディスプレイ1612に結合されてもよい。ある場合には、処理システム1600が、タッチスクリーンを含む、装置の一部である場合、ディスプレイ1612は、タッチスクリーンであってもよい。英数字および他のキーを含む、入力デバイス1614が、情報およびコマンド選択をプロセッサ1604に通信するために、バス1602に結合される。別のタイプのユーザ入力デバイスは、方向情報およびコマンド選択をプロセッサ1604に通信するための、かつディスプレイ1612上のカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キー等のカーソル制御1616である。本入力デバイスは、典型的には、デバイスが平面内の位置を規定することを可能にする、2つの軸、すなわち、第1の軸(例えば、x)および第2の軸(例えば、y)における2自由度を有する。ある場合には、処理システム1600が、タッチスクリーンを含む、装置の一部である場合、入力デバイス1614およびカーソル制御は、タッチスクリーンであってもよい。
いくつかの実施形態では、プロセッサシステム1600は、本明細書に説明される種々の機能を実施するために使用されることができる。いくつかの実施形態によると、そのような使用は、プロセッサ1604がメインメモリ1606内に含有される1つまたはそれを上回る命令の1つまたはそれを上回るシーケンスを実行することに応答して、プロセッサシステム1600によって提供される。当業者は、本明細書に説明される機能および方法に基づいて、そのような命令を準備する方法を把握するであろう。そのような命令は、記憶デバイス1610等の別のプロセッサ可読媒体からメインメモリ1606の中に読み込まれてもよい。メインメモリ1606内に含有される命令のシーケンスの実行は、プロセッサ1604に、本明細書に説明されるプロセスステップを実施させる。マルチ処理配列における1つまたはそれを上回るプロセッサもまた、メインメモリ1606内に含有される命令のシーケンスを実行するために採用されてもよい。代替実施形態では、有線回路構成が、ソフトウェア命令の代わりに、またはそれと組み合わせて、本明細書に説明される種々の実施形態を実装するために使用されてもよい。したがって、実施形態は、ハードウェア回路構成とソフトウェアの任意の具体的組み合わせに限定されない。
用語「プロセッサ可読媒体」は、本明細書で使用されるように、命令を実行のためにプロセッサ1604に提供することに関わる、任意の媒体を指す。そのような媒体は、限定ではないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む、多くの形態をとってもよい。不揮発性媒体は、例えば、記憶デバイス1610等の光学、ソリッドステート、または磁気ディスクを含む。不揮発性媒体は、非一過性媒体の実施例と見なされ得る。揮発性媒体は、メインメモリ1606等の動的メモリを含む。揮発性媒体は、非一過性媒体の実施例と見なされ得る。伝送媒体は、バス1602を備えるワイヤを含む、同軸ケーブル、銅ワイヤ、および光ファイバを含む。伝送媒体はまた、無線波および赤外線データ通信の間に生成されるもの等の音響または光波の形態をとることができる。
一般的形態のプロセッサ可読媒体は、例えば、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、およびEPROM、FLASH-EPROM、ソリッドステートディスク、任意の他のメモリチップまたはカートリッジ、以降に説明されるような搬送波、またはそこからプロセッサが読み取り得る、任意の他の媒体を含む。
種々の形態のプロセッサ可読媒体が、実行のために、1つまたはそれを上回る命令の1つまたはそれを上回るシーケンスをプロセッサ1604に搬送する際に関わり得る。例えば、命令は、最初に、遠隔コンピュータの磁気ディスクまたはソリッドステートディスク上で搬送され得る。遠隔コンピュータは、命令をその動的メモリの中にロードし、インターネット等のネットワークを経由して、命令を送信することができる。処理システム1600は、ネットワークラインに関するデータを受信することができる。バス1602は、データをメインメモリ1606に搬送し、そこから、プロセッサ1604は、命令を読み出し、実行する。メインメモリ1606によって受信された命令は、随意に、プロセッサ1604による実行の前または後のいずれかにおいて、記憶デバイス1610上に記憶され得る。
処理システム1600はまた、バス1602に結合される、通信インターフェース1618を含む。通信インターフェース1618は、ローカルネットワーク1622に接続される、ネットワークリンク1620への双方向データ通信結合を提供する。例えば、通信インターフェース1618は、データ通信接続を互換性があるLANに提供するためのローカルエリアネットワーク(LAN)カードであってもよい。無線リンクもまた、実装されてもよい。任意のそのような実装では、通信インターフェース1618は、種々のタイプの情報を表すデータストリームを搬送する、電気、電磁、または光学信号を送信および受信する。
ネットワークリンク1620は、典型的には、1つまたはそれを上回るネットワークを通して、データ通信を他のデバイスに提供する。例えば、ネットワークリンク1620は、ローカルネットワーク1622を通して、接続をホストコンピュータ1624または機器1626に提供してもよい。ネットワークリンク1620を経由してトランスポートされるデータストリームは、電気、電磁、または光学信号を含むことができる。種々のネットワークを通した信号、およびネットワークリンク1620上、および処理システム1600におよびそこからデータを搬送する、通信インターフェース1618を通した信号は、情報をトランスポートする搬送波の例示的形態である。処理システム1600は、ネットワーク、ネットワークリンク1620、および通信インターフェース1618を通して、メッセージを送信し、プログラムコードを含む、データを受信することができる。
用語「画像」は、本明細書で使用されるように、表示される画像および/または表示形態ではない画像(例えば、媒体内に記憶されている、または処理中の画像または画像データ)を指し得ることに留意されたい。
また、本明細書で使用されるように、仮想コンテンツの用語「アクション」は、移動する、仮想コンテンツに限定されず、移動されることが可能である、定常仮想コンテンツも指し得る(例えば、ポインタを使用して、ユーザによって「ドラッグ」され得る、またはされている、仮想コンテンツ)、またはその上またはその傍でアクションが実施され得る、任意の仮想コンテンツも指し得る。
本発明の種々の例示的実施形態が、本明細書に説明される。これらの実施例は、非限定的意味で参照される。それらは、本発明のより広く適用可能な側面を例証するために提供される。種々の変更が、説明される本発明に行われてもよく、本発明の真の精神および範囲から逸脱することなく、均等物が代用されてもよい。加えて、多くの修正が、特定の状況、材料、組成物、プロセス、プロセス作用、またはステップを本発明の目的、精神、または範囲に適合させるために行われてもよい。さらに、当業者によって理解されるであろうように、本明細書で説明および例証される個々の変形例はそれぞれ、本発明の範囲または精神から逸脱することなく、他のいくつかの実施形態のうちのいずれかの特徴から容易に分離される、またはそれらと組み合わせられる、離散コンポーネントおよび特徴を有する。全てのそのような修正は、本開示と関連付けられる請求項に記載の範囲内であることが意図される。
本発明は、本主題のデバイスを使用して実施され得る方法を含む。本方法は、そのような好適なデバイスを提供する行為を含んでもよい。そのような提供は、エンドユーザによって実施されてもよい。換言すると、「提供する」行為は、単に、エンドユーザが、本主題の方法において必要なデバイスを取得する、それにアクセスする、それに接近する、それを位置付ける、それを設定する、それを活性化する、それに電源を入れる、または別様にそれを提供するように作用することを要求する。本明細書に列挙される方法は、論理的に可能な列挙されたイベントの任意の順序およびイベントの列挙された順序で行われてもよい。
そのような排他的専門用語を使用しなければ、本開示と関連付けられる請求項における用語「~を備える(comprising)」は、所与の数の要素が請求項で列挙されるかどうかにかかわらず、任意の付加的要素の包含を可能にするものとする、または特徴の追加は、そのような請求項に記載される要素の性質を変換すると見なされ得る。本明細書で具体的に定義される場合を除いて、本明細書で使用される全ての技術および科学用語は、請求項の正当性を維持しながら、可能な限り広い一般的に理解されている意味を与えられるべきである。
本開示の例示的側面が、材料選択および製造に関する詳細とともに、上記に記載されている。本開示の他の詳細に関して、これらは、上記で参照された特許および刊行物に関連して理解され、概して、当業者によって公知である、または理解され得る。同じことが、一般または論理的に採用されるような付加的作用の観点から、本開示の方法ベースの側面に関しても当てはまり得る。
加えて、本開示は、随意に、種々の特徴を組み込む、いくつかの実施例を参照して説明されているが、本開示は、開示の各変形例に関して検討されるように説明または図示されるものに限定されるものではない。種々の変更が、説明される本開示に行われてもよく、均等物(本明細書に列挙されるか、またはある程度の簡潔目的のために含まれないかどうかにかかわらず)が、本開示の真の精神および範囲から逸脱することなく代用されてもよい。加えて、値の範囲が提供される場合、その範囲の上限と下限との間の全ての介在値および任意の他の述べられた値または述べられた範囲内の介在値が、本開示内に包含されるものと理解されたい。
また、説明される本発明の変形例の任意の随意の特徴は、独立して、または本明細書に説明される特徴のうちの任意の1つまたはそれを上回るものと組み合わせて、記載および請求され得ることが検討される。単数形項目の言及は、存在する複数の同一項目が存在する可能性を含む。より具体的には、本明細書および本明細書に関連付けられる請求項で使用されるように、単数形「a」、「an」、「said」、および「the」は、別様に具体的に述べられない限り、複数の言及を含む。さらに、任意の請求項は、任意の随意の要素を除外するように起草され得ることに留意されたい。したがって、本文言は、請求項の要素の列挙と関連する「単に」、「のみ」、および同等物等の排他的専門用語の使用、または「消極的」限定の使用のための先行詞としての役割を果たすことが意図される。
加えて、本明細書で使用されるように、項目のリスト「~のうちの少なくとも1つ」を指す語句は、単一の要素を含む、1つの項目または項目の任意の組み合わせを指す。ある実施例として、「A、B、またはCのうちの少なくとも1つ」は、A、B、C、AおよびB、AおよびC、BおよびC、およびA、B、およびCを網羅することが意図される。語句「X、Y、およびZのうちの少なくとも1つ」等の接続文は、別様に具体的に記載されない限り、概して、項目、用語等がX、Y、またはZのうちの少なくとも1つであり得ることを伝えるために使用されるような文脈で別様に理解される。したがって、そのような接続文は、概して、ある実施形態が、Xのうちの少なくとも1つ、Yのうちの少なくとも1つ、およびZのうちの少なくとも1つがそれぞれ存在するように要求することを示唆することを意図するものではない。
本開示の範疇は、提供される実施例および/または本明細書に限定されるべきではなく、むしろ、本開示と関連付けられる請求項の用語の範囲のみによって限定されるべきである。
前述の明細書では、本開示は、その具体的実施形態を参照して説明された。しかしながら、種々の修正および変更が、本開示のより広義の精神および範囲から逸脱することなく、そこに行われてもよいことが明白であろう。例えば、前述のプロセスフローは、プロセスアクションの特定の順序を参照して説明される。しかしながら、説明されるプロセスアクションの多くの順序は、本開示の範囲または動作に影響を及ぼすことなく、変更されてもよい。明細書および図面は、故に、限定的意味ではなく、例証と見なされるべきである。