(57)【要約】【課題】ＨＭＤの位置状態が変化したときにＨＭＤの画面にレンダリングされるゲームのコンテンツを調整する。【解決手段】ゲームは、当該ゲームのインタラクティブシーンを、ユーザーによって装着されているヘッドマウントディスプレイ（ＨＭＤ）の表示部にレンダリングするように実行される。ユーザーがゲームと対話している間、ユーザーによって装着されているＨＭＤの位置状態の変化を検出する。この位置状態の変化を評価する。その評価に応じて、ＨＭＤの画面にレンダリングされているゲームのインタラクティブシーンの輝度を徐々に低下させ、あるいは、ＨＭＤの画面を半透過モードまたは透過モードに遷移させる。【選択図】図１１Ｆ
2020175204.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサによって実行される方法であって、 
ゲームを実行し、前記実行により、前記ゲームのインタラクティブシーンを、ユーザーによって装着されているヘッドマウントディスプレイ（ＨＭＤ）の表示部にレンダリングし、前記ＨＭＤは前記ユーザーによって装着されているときには現実世界環境への視野をブロックするように構成されており、
前記ＨＭＤの現実世界環境内での３次元空間内の座標を決定し、前記座標は前記ＨＭＤを装着している前記ユーザーの現在位置を識別するために用いられるものであり、
前記ゲームの実行中の前記ＨＭＤの移動を監視し、前記ＨＭＤの前記移動は、前記３次元空間内での前記ＨＭＤの１つ以上の座標の変化を識別することで判定されるものであり、
前記ユーザーが前記現実世界環境内に存在する物理オブジェクトに接近しつつあるときに、前記ユーザーによって装着されている前記ＨＭＤの前記１つ以上の座標内の前記変化を評価し、
前記評価によって前記ユーザーが前記物理オブジェクトへの接近を継続していると判定されたときに、前記物理オブジェクトの画像を前記インタラクティブシーンにブレンド処理し、
前記評価によって前記ユーザーが前記物理オブジェクトから離れつつあると判定されたときに前記物理オブジェクトの画像をフェードアウトする、方法。
【請求項２】
前記現実世界環境の深度情報情報をマップするために使用可能なデータを集める深度検出デバイスを用いて、前記現実世界環境内の前記物理オブジェクトの位置を判定する、請求項１に記載の方法。
【請求項３】
前記深度検出デバイスは、深度センサ、画像センサ、またはステレオ３次元カメラ、赤外線カメラ、紫外線カメラ、ビデオカメラ、レーダーデバイス、レーザレーダデバイス、深度カメラ、またはこれらの任意の２つ以上の組合せのうちの１つである、請求項２に記載の方法。
【請求項４】
前記物理オブジェクトと前記現実世界環境内の他の物理オブジェクトとの位置を識別するために校正動作を実行し、
前記物理オブジェクトと前記現実世界環境内の他の物理オブジェクトとの前記位置を用い、前記ＨＭＤの前記１つ以上の座標内の前記変化を用いて、前記ユーザー前記物理オブジェクトに接近しつつあるかまたは離れつつあるときの判定を補助する、請求項１に記載の方法。
【請求項５】
前記ＨＭＤの前記ディスプレイ部分に、前記ユーザーが前記物理オブジェクトからどのように離れるかについての指示を含む警告を提供する、請求項１に記載の方法。
【請求項６】
前記ブレンド処理では、前記ユーザーが前記物理オブジェクトに近づくにつれて前記物理オブジェクトの前記画像の輝度を増加させる、請求項１に記載の方法。
【請求項７】
プロセッサによって実行される方法であって、  
インタラクティブアプリケーションを実行し、前記実行により、前記インタラクティブアプリケーションのインタラクティブコンテンツを、ユーザーによって装着されているヘッドマウントディスプレイ（ＨＭＤ）の表示部にレンダリングし、前記ＨＭＤは前記ユーザーによって装着されているときには現実世界環境への視野をブロックするように構成されており、
前記ＨＭＤの現実世界環境内での３次元空間内の座標を決定し、前記座標は前記ＨＭＤを装着している前記ユーザーの現在位置を識別するために用いられるものであり、
前記インタラクティブアプリケーションの実行中の前記ＨＭＤの移動を監視し、前記ＨＭＤの前記移動は、前記３次元空間内での前記ＨＭＤの１つ以上の座標の変化を識別することで判定されるものであり、
前記ユーザーが前記現実世界環境内に存在する物理オブジェクトに接近しつつあるときに、前記ユーザーによって装着されている前記ＨＭＤの前記１つ以上の座標内の前記変化を評価し、
前記評価によって前記ユーザーが前記物理オブジェクトへの接近を継続していると判定されたときに、前記物理オブジェクトの画像を前記インタラクティブコンテンツにブレンドし、
前記評価によって前記ユーザーが前記物理オブジェクトから離れつつあると判定されたときに前記物理オブジェクトの画像をフェードアウトする、方法。
【請求項８】
前記物理オブジェクトと前記現実世界環境内の他の物理オブジェクトとの位置を識別するために校正動作を実行し、
前記物理オブジェクトと前記現実世界環境内の他の物理オブジェクトとの前記位置を用い、かつ、前記ＨＭＤの前記１つ以上の座標内の前記変化を用いて、前記ユーザー前記物理オブジェクトに接近しつつあるかまたは離れつつあるときの判定を補助する、請求項７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、ヒューマン−コンピュータインターフェースに関し、より具体的には、ユーザーがカメラの視野の外に移動するとき、あるいはユーザーが１つ以上の現実の障害物に接近するときに、当該ユーザーに警告することに関する。
【背景技術】
【０００２】
本節に記載された手法は、実現可能な手法であるが、必ずしも従来において着想または実現済みの手法であるとは限らない。従って、特に断りのない限り、本節に記載された如何なる手法も、単に本節に含まれるという点から従来技術であると考えられるべきではない。
【０００３】
ヒューマン−コンピュータインタラクションの分野で急速に発展している技術の１つとして、種々のヘッドマウントディスプレイまたはヘッドカップルディスプレイがある。これらのディスプレイは、ユーザーの頭部への装着が可能であり、ユーザーの片目または両目の前に１つまたは２つのディスプレイを有する。この種類のディスプレイは、ビデオゲーム、医学、スポーツトレーニング、エンターテイメントアプリケーションなどを含む仮想現実のシミュレーションに関する多数の民生用途及び市販用途を有する。ゲーム分野では、これらのディスプレイを使用して、例えば、３次元（３Ｄ）の仮想ゲーム世界をレンダリングすることができる。これらのディスプレイの重要な態様は、ユーザーが、キーボードやトラックボールなどの従来の入力装置の利用に加えて、自身の頭部を回すことにより、仮想世界内で表示可能な視野を変えることができる点にある。
【０００４】
しかしながら、従来のヘッドマウントディスプレイでは、ユーザーが、ヘッドマウントディスプレイを装着してモーションの作成などの動作を行ったり、コーヒーテーブルや椅子などの現実の障害物に向かって移動したりするときにケガをしやすい。加えて、ヘッドマウントディスプレイを含むいくつかのヒューマン−コンピュータインターフェースでは、ユーザーは、専用のビデオカメラまたは深度センサの視野内に存在しなければならない。このことは、ユーザーにとって悩みの種となっている場合がある。何故なら、ユーザーが視野の外に移動するとヒューマン−コンピュータインタラクションが中断されるためである。
【発明の概要】
【０００５】
この「発明の概要」は、以下の「発明を実施するための形態」でさらに説明されるコンセプトを抜粋して簡素化された形式で紹介するために提供される。この「発明の概要」は、請求の範囲の内容における重要な特徴または本質的な特徴を特定することを意図するものではなく、請求される内容の範囲を定める際の一助として使用することを意図するものでもない。
【０００６】
全体として、本開示は、ヘッドマウントディスプレイ（ＨＭＤ）のユーザーがカメラの視野によって定められるシーンの端に接近していること、または１つ以上の現実の障害物に接近していることを当該ユーザーに警告する技術に関連する。この警告は、音声メッセージ及び／もしくは表示可能メッセージをユーザーに提示し、またはヘッドマウントディスプレイのディスプレイ（単数または複数）をユーザーの目から遠ざかるように移動させることを含む。警告を提供することのほかに、本開示を利用して、ＨＭＤを装着しているユーザーによる、視野の端に向かう移動や現実の障害物に向かう移動などの動作に基づき、ＨＭＤの表示部にレンダリングされているコンテンツを調節してもよい。いくつかの実施形態では、コンテンツを調節することは、ユーザーの直近にある現実世界の物体をＨＭＤの表示部にレンダリングすることを含む。ユーザーがシーンの端または現実の障害物に接近しているとの判定は、画像センサ（単数または複数）及び／または深度センサ（単数または複数）から得られた画像及び／または深度データの解析を通じて、当該ユーザーの動きを動的に追跡することによってなされる。これらのセンサは、ヘッドマウントに固定されているか、またはシーン内もしくはシーン外に配置されてヘッドマウントディスプレイには固定されていない、あるいはその両方を組み合わせた構成になっている。
【０００７】
シーンの端には、現実の障害物があり得る。画像には、シーンの深度情報がさらに含まれる。シーンは、少なくとも１つの画像センサまたは少なくとも１つの深度センサの視野によって定めることができる。上記警告は、プロセッサにより、シーンの中央に向かって戻るようにユーザーを導くことを含む。
【０００８】
ある実施形態では、上記方法は、プロセッサにより、シーン外に配置され、ヘッドマウントディスプレイに固定されていない１つ以上の副センサからシーンの副画像を受け取ることをさらに含む。ユーザーが１つ以上の現実の障害物に向かって接近しているとの判定は、さらに、少なくとも副画像に基づいている。ある実施形態では、１つ以上の現実の障害物は、シーン内に存在する。いくつかの実施形態では、１つ以上の現実の障害物はシーンの端にある。
【０００９】
一実施形態によれば、方法が提供される。この方法は、ゲームを実行することを含む。この実行により、当該ゲームのインタラクティブゲームシーンを、ユーザーによって装着されているヘッドマウントディスプレイの表示部にレンダリングする。ユーザーがゲームと対話している間、ユーザーによって装着されているＨＭＤの位置状態の変化を検出する。このＨＭＤの位置状態の変化を評価する。その評価に基づき、上記変化が所定閾値を超えているときには信号を生成する。上記信号が生成されると、データを送出して、ＨＭＤの表示部にレンダリングされているインタラクティブシーンを中断する。ＨＭＤに送出されたデータは、上記信号の記述内容を与える。
【００１０】
別の実施形態では、方法が開示される。この方法は、ゲームを実行することを含む。この実行により、当該ゲームのインタラクティブシーンを、ユーザーによって装着されているヘッドマウントディスプレイ（ＨＭＤ）の表示部にレンダリングする。ユーザーによって装着されているＨＭＤを取り囲む容積は、例えば、カルテシアン（Ｃａｒｔｅｓｉａｎ）空間内の１つ以上の座標を用いて求められる。ＨＭＤを装着しているユーザーの動作を、ゲームのゲームプレイ中に監視する。この動作により、ユーザーによって装着されているＨＭＤの位置状態が変化したときには、当該変化を評価する。この変化が所定閾値を超えているときには、上記評価によって信号を生成する。信号が生成されると、データを送出して、ＨＭＤの表示部にレンダリングされているインタラクティブシーンを中断する。送出されたデータは、上記信号の記述内容を与える。
【００１１】
いくつかの実施形態では、コンテンツの調節は、ＨＭＤの画面にレンダリングされているゲームのインタラクティブシーンの輝度を徐々に低下させること、及びＨＭＤの画面を半透過モードまたは透過モードに遷移させることを含む。この遷移により、ＨＭＤを装着しているユーザーの直近にある現実世界の物体がレンダリングされる。インタラクティブシーンを背景にレンダリングしつつ現実世界の物体の画像を最前面にレンダリングしてもよく、現実世界の物体をＨＭＤの表示画面の一部にレンダリングしつつ表示画面の残りの部分にインタラクティブシーンをレンダリングしてもよく、またはこれらの任意の組み合わせとしてもよい。
【００１２】
いくつかの実施形態では、コンテンツの調節は、ＨＭＤの表示部にレンダリングされているゲームのインタラクティブシーンの輝度を徐々に低下させる方式で行われてもよい。シーンの端または物体にユーザーが近づくにつれて、輝度をより強く低下させてもよい。
【００１３】
ある実施形態では、コンテンツの調節を指示することに加えて、上記信号によってユーザーに警告を出してもよい。この警告は、ＨＭＤにて、音声メッセージ、ＨＭＤの表示部にレンダリングするための表示可能なメッセージ、または振動などの触覚メッセージなどの形態をとってもよい。この警告は、プロセッサにより、ヘッドマウントディスプレイの少なくとも１つのディスプレイをユーザーの目から遠ざかるように移動させることも含む。
【００１４】
別の実施形態では、上記方法の動作は、１つ以上のプロセッサによって実施されるときにその動作を実行する命令を含むマシン可読媒体に記憶される。さらに別の例示的実施形態では、列挙された動作を実行するように、ハードウェアシステムまたはハードウェア装置を構成することができる。他の特徴、実施例及び実施形態については以下で説明する。
【００１５】
実施形態を、添付図面の各図において限定ではなく実施例によって示す。これらの図面では、同様の参照番号によって類似の要素が示される。
【図面の簡単な説明】
【００１６】
【図１】本開示の実施形態に係る、本技術の様々な態様の実装に適したシーンの実施例である。
【図２】本開示の実施形態に係る、ヘッドマウントディスプレイのユーザーに警告する方法の利用に適したシステムの実施例である。
【図３】本開示の実施形態に係る、ヘッドマウントディスプレイのユーザーに警告する方法の利用に適した別のシステムの実施例である。
【図４】本開示の実施形態に係る、ヘッドマウントディスプレイのユーザーに警告する方法の利用に適したさらに別のシステムの実施例である。
【図５】本開示の実施形態に係る、ヘッドマウントディスプレイのユーザーに警告する方法を示すプロセスフロー図である。
【図６】本明細書に述べた方法論のいずれか１つまたは複数を実施するマシン用の一組の命令が実行されるコンピュータシステムの形態をとったマシンの実施例の図表示である。
【図７】一実施形態に係る、ユーザーによって装着されている例示的なヘッドマウントディスプレイの異なる部分を示す図である。
【図８】本発明の一実施形態における、ユーザーによって装着／操作されているヘッドマウントディスプレイ及びコントローラの追跡を示す図である。
【図９】一実施形態に係る、ヘッドマウントディスプレイ、及びヘッドマウントディスプレイとクライアント装置／クラウドサーバとの間のデータフローの追跡に用いられる種々のモジュールを示す図である。
【図１０】ユーザーによって装着／操作されているヘッドマウントディスプレイ及び／またはコントローラの位置状態を求める例示的実施形態を示す図である。
【図１０Ａ】ユーザーによって装着されているヘッドマウントディスプレイの高さの変化を求める例示的実施形態を示す図である。
【図１０Ｂ】ユーザーによって装着されているヘッドマウントディスプレイの高さの変化を求める例示的実施形態を示す図である。
【図１０Ｃ】ユーザーによって装着されているヘッドマウントディスプレイの高さの変化を求める例示的実施形態を示す図である。
【図１１Ａ】本発明の一実施形態における、安全性の問題を識別するためのヘッドマウントディスプレイの追跡を示す図である。
【図１１Ｂ】本発明の一実施形態における、安全性の問題を識別するためのヘッドマウントディスプレイの追跡を示す図である。
【図１１Ｃ】本発明の一実施形態における、安全性の問題を識別するためのヘッドマウントディスプレイの追跡を示す図である。
【図１１Ｄ】本発明の一実施形態における、安全性の問題を識別するためのヘッドマウントディスプレイの追跡を示す図である。
【図１１Ｅ】本発明の一実施形態における、安全性の問題を識別するためのヘッドマウントディスプレイの追跡を示す図である。
【図１１Ｆ】本発明の他の実施形態における、別の安全性の問題を識別するためのヘッドマウントディスプレイの追跡を示す図である。
【図１２】本発明の他の実施形態に係る、ヘッドマウントディスプレイ上にレンダリングされているコンテンツを調節する方法を示すプロセスフロー図である。
【図１３】本発明の一実施形態における、ゲームモジュールのシステムアーキテクチャ全体を示す図である。
【図１４】本発明の実施形態に係る、ゲームシステムのブロック図を示す図である。
【発明を実施するための形態】
【００１７】
以下の詳細な説明では、この詳細な説明の一部を構成する添付図面が参照される。これらの図面は、例示的実施形態に係る説明を示している。これらの例示的実施形態は、本明細書では「実施例」とも呼ばれ、当業者が本主題を実施できる程度に十分詳細に説明されている。各実施形態を組み合わせることも可能であり、他の実施形態を利用することも可能であり、あるいは特許請求された範囲から逸脱することなく、構成的、論理的及び電気的変更を加えることも可能である。従って、以下の詳細な説明は、限定的な意味に解釈されるべきでなく、本発明の範囲は、添付の特許請求の範囲及びその均等物によって定められる。本文献において「ａ」または「ａｎ」という用語は、特許文献において一般的であるように、１つ以上を含むように用いられる。本文献において「または」という用語は、別段の指示がない限り、非排他的な「または」を指すために用いられる。例えば、「ＡまたはＢ」は、「ＡであるがＢではない」、「ＢであるがＡではない」、並びに「Ａ及びＢ」を含む。
【００１８】
本明細書に開示された実施形態の技術は、様々な技術を用いて実装することができる。例えば、本明細書に記載された方法は、コンピュータシステム上で実行されるソフトウェアを用いて、あるいは、マイクロプロセッサの組み合わせもしくは他の特別に設計された特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ：ＡＳＩＣ）、プログラマブルロジックデバイス、またはそれらの様々な組み合わせを利用するハードウェアを用いて実装される。特に、本明細書に記載された方法は、ディスクドライブなどの記憶媒体またはコンピュータ可読媒体上にある一組のコンピュータ実行可能命令によって実装される。なお、本明細書に開示された方法は、モバイル端末、携帯電話、スマートフォン、コンピュータ（例えば、デスクトップコンピュータ、タブレットコンピュータ、ラップトップコンピュータ）、ゲーム機、ハンドヘルドゲーミングデバイスなどによって実装可能であることに留意すべきである。
【００１９】
全体として、本開示の実施形態は、ヘッドマウントディスプレイのユーザーに対し、ユーザーがシーンの端に接近していること、もしくはカメラの視野の外に移動していること、またはユーザーが１つ以上の現実の障害物に接近していることを警告する方法及びシステムを提供する。ユーザーが視野の端または障害物に接近しているとの判定は、画像及び／または深度データの解析に基づいてなされる。この画像及び／または深度データは、画像センサ（単数または複数）及び／もしくは深度センサ（単数または複数）から得ることができる。これらのセンサは、ヘッドマウントディスプレイに配置されているか、またはユーザーとは別個でヘッドマウントディスプレイには接続されていない、あるいはその両方を組み合わせた構成となっている。かかる警告には、音声メッセージ、表示可能メッセージもしくは可視メッセージ、ＬＥＤの高輝度表示、ヘッドマウントディスプレイの表示可能画像を徐々に退色させること、画像の輝度を低下させること、現実世界の光景にブレンドすること、ヘッドマウントディスプレイを振動させること、ヘッドマウントディスプレイもしくはその部品を取り外すこと、及びヘッドマウントディスプレイのディスプレイ（単数または複数）をユーザーの目から遠ざかるように移動させて、ユーザーが自分の移動する場所の現実世界及び障害物を見られるようにすることなどが含まれる。
【００２０】
本明細書で使用する場合、「ヘッドマウントディスプレイ」という用語は、ディスプレイを備えたウェアラブルコンピュータ、ヘッドマウント電子装置、ヘッドカップルディスプレイ、ヘルメットマウントディスプレイ、ディスプレイ付きのヘッドマウントコンピュータのうちの１つ以上を指す。ヘッドマウント装置は、ユーザーの頭部に装着されるか、またはヘルメットの一部であり、片目の前に（単眼ディスプレイ装置）、または両目の前に（両眼ディスプレイ装置）、小型ディスプレイ光学部品を有する。ヘッドマウント装置は、ヘルメットに組み込まれたレンズ及び半透過ミラーを備えた１つもしくは２つの小型ディスプレイ、アイグラス（データグラスとしても知られている）、またはバイザーを有する。表示部は、小型化が可能である。この表示部には、液晶ディスプレイ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：ＬＣＤ）、有機発光ダイオード（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ−Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ：ＯＬＥＤ）ディスプレイなどが含まれ得る。一部の供給業者は、全分解能及び視野を向上するために複数のマイクロディスプレイを用いる。一部の他のヘッドマウント装置は、従来のディスプレイを全く使用せず、その代わりに、ユーザーの目に光を直接投射する。
【００２１】
本明細書で使用する場合、「深度センサ」という用語は、３Ｄ空間の深度マップ生成を作成可能な任意の適切な電子装置を指す。深度感知装置のいくつかの実施例には、画像を処理して深度マップなどを作成するように構成された深度感知カメラ、ステレオ３Ｄカメラ、深度センサ、ビデオカメラなどが含まれる。制御装置によって深度マップを処理することにより、３Ｄ空間内のユーザーの存在を位置付け、さらにはユーザーの頭部、胴及び手足を含む体の各部をも位置付けることができる。本明細書で使用する場合、「画像センサ」という用語は、３Ｄシーンの静止画像または動画像を生成可能な任意の適切な電子装置を指す。画像センサのいくつかの実施例には、ビデオカメラ、フォトカメラ、電荷結合デバイス（ｃｈａｒｇｅｄ  ｃｏｕｐｌｅｄ  ｄｅｖｉｃｅ：ＣＣＤ）などが含まれる。本明細書で使用する場合、「視野」という用語は、画像センサ及び／または深度センサによって対象とされ、かつ「視認される」３Ｄ空間の範囲を指す。
【００２２】
本明細書で使用する場合、「制御装置」という用語は、データ、画像、深度マップ、ユーザー入力などを処理するように構成された任意の適切なコンピューティング装置またはコンピューティングシステムを指す。制御装置のいくつかの実施例には、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ゲーム機、オーディオシステム、ビデオシステム、携帯電話、スマートフォン、セットトップボックス、テレビ受像機などが含まれる。ある実施形態では、この制御装置の少なくともいくつかの要素は、（例えば、ヘッドウェアラブルコンピュータの形態をとった）ディスプレイ装置に組み込まれる。制御装置は、深度センサ／画像センサ及びヘッドマウントディスプレイと無線または有線で通信することができる。制御装置は、ヘッドマウントディスプレイにさらに表示可能な画像を生成する役割も果たす（例えば、仮想現実を生成する）。ある実施形態では、「制御装置」という用語は、「コンピューティング装置」、「処理手段」、または単に「プロセッサ」を指す。
【００２３】
本開示の実施形態によれば、ヘッドマウントディスプレイは、家屋の居間といった特定の３Ｄ空間内でユーザーによって装着されている場合がある。ユーザーは、ユーザーの動きを追跡する深度センサ／画像センサの前方に存在する場合がある。制御装置は、深度センサ／画像センサから受け取ったデータを処理し、その処理結果により、ユーザー、ユーザーの動き／ジェスチャー、及び仮想スケルトンの追跡座標を当該３Ｄ空間内で識別する。
【００２４】
ここで図面を参照すると、図１は、本開示の実施形態に係る、本技術の様々な態様の実装に適したシーン１００の実施例である。
【００２５】
特に、ヘッドマウントディスプレイ１１０を装着しているユーザー１０５が示されている。ユーザー１０５は、制御装置１１５の前方にある３Ｄ空間内に存在する。この制御装置１１５は、ユーザー１０５を容易に追跡できるように、深度センサ及び／または画像センサを備える。制御装置１１５は、ゲーミングデバイスまたはゲーム機１２０に接続されるか、またはその一部であり、ヘッドマウントディスプレイ１１０、及びＴＶディスプレイ１３０、オーディオシステムなどの他のいくつかの周辺装置と動作的に通信可能でもある。
【００２６】
制御装置１１５によって追跡を行うためには、ユーザー１０５は、制御装置１１５の画像センサ及び／または深度センサの視野内に存在しなければならない。本明細書では、この領域を「シーン」１３５とも呼ぶ。ユーザー１０５がシーン１３５の外に移動する場合、ユーザー１０５の追跡が行われなくなるため、ユーザー１０５と制御装置１１５とのインタラクションが中断される。あるいは、ユーザー１０５は、テーブル、椅子、玩具などの現実の障害物１４０に向かって移動する場合がある。ユーザー１０５は、ヘッドマウントディスプレイ１１０を装着している間は現実世界が見えない場合があるか、または現実世界の視野が小さくなっている場合があるため、ユーザー１０５は、障害物１４０にぶつかってケガをする恐れがある。従って、本技術は、ユーザー１０５がシーン１３５の端または１つ以上の障害物１４０に接近している場合、ユーザー１０５に警告することを対象とする。
【００２７】
図２は、本開示の実施形態に係る、ヘッドマウントディスプレイのユーザーに警告する方法の利用に適したシステム２００の実施例である。
【００２８】
図２に示すように、システム２００は、ヘッドマウントディスプレイ１１０及び制御装置１１５を含む。このヘッドマウントディスプレイ１１０は、１つ以上のディスプレイ２５０、通信モジュール２６０、及び省略可能な作動装置２７０を備える。
【００２９】
ある実施形態では、ディスプレイ２５０は、ユーザーの片目または両目の前に配置されている。ディスプレイ２５０は、ビデオゲーム、スポーツトレーニング、エンターテイメントアプリケーションなどを含む仮想現実をシミュレートするように構成されている。１つの例示的実施形態では、ディスプレイ２５０は、３次元（ｔｈｒｅｅ−ｄｉｍｅｎｓｉｏｎａｌ：３Ｄ）仮想ゲーム世界をレンダリングするように構成されている。ユーザーは、仮想世界内で表示可能な視野を、自身の頭部を回すことによって変えることができる。
【００３０】
ある例示的実施形態では、通信モジュール２６０は、制御装置１１５、及びＴＶディスプレイ１３０、オーディオシステムなどの他のいくつかの周辺装置と動作的に通信するように構成されている。
【００３１】
ある例示的実施形態では、作動装置２７０は、制御装置１１５によってヘッドマウントディスプレイに送出された警告信号を作動させるように構成されている。例えば、作動装置２７０は、ディスプレイ２５０に表示可能な画像の表示を開始させ、あるいはヘッドマウントディスプレイ１１０によってユーザーに表示可能な画像の輝度を低下させることができる。１つの例示的実施形態では、作動装置２７０は、ヘッドマウントディスプレイ１１０による画像の表示を停止させる。別の例示的実施形態では、作動装置２７０は、ヘッドマウントディスプレイ１１０の少なくとも１つのディスプレイ２５０をユーザーの目から遠ざかるように移動させる。
【００３２】
実施形態のいくつかの実施例では、制御装置１１５は、通信モジュール２１０、コンピューティングユニット２２０、深度センサ２３０、及び画像センサ２４０を備える。通信モジュール２１０は、ヘッドマウントディスプレイ１１０の通信モジュール２６０、及びＴＶディスプレイ１３０、オーディオシステムなどの他の周辺装置と動作的に通信するように構成されている。
【００３３】
ある実施形態では、通信モジュール２１０は、深度センサ２３０及び／または画像センサ２４０によって取得されたシーンの画像をコンピューティングユニット２２０に送信するように構成されている。ある実施形態では、コンピューティングユニット２２０は、深度センサ２３０及び／または画像センサ２４０から受け取ったシーンの画像を処理し、受け取った画像に基づいてユーザーの位置を追跡し、ユーザーが当該シーンの端に接近していることを判定するように構成されている。コンピューティングユニット２２０は、シーンの端に近接していることに関して、ヘッドマウントディスプレイ１１０に警告メッセージを送出するようにさらに構成されている。
【００３４】
ある実施形態では、コンピューティングユニット２２０は、シーンの処理済み画像に基づき、作動装置２７０に作動信号を送出する。ある実施形態では、深度センサ２３０は、任意の環境光条件下で３Ｄのビデオデータを取得する。深度センサ２３０の検出範囲は調節可能であり、家具または他の障害物の有無を基にした物理的環境に基づいて自動的に校正される。
【００３５】
ある実施形態では、画像センサ２４０は、光学画像を電子信号に変換する装置である。画像センサ２４０は、例えば、可視域に対する感度を有する１つ以上のビデオカメラ、ＩＲバンドの１つに対する感度を有するＩＲカメラ、ＵＶカメラ、または他の直接的もしくは間接的な画像生成センサシステム（例えば、レーダまたはレーザレーダ）を含むことができる。深度センサ２３０及び画像センサ２４０からの画像は、データフュージョンによって統合し、ユーザーに表示することができる。
【００３６】
図３は、本開示の実施形態に係る、ヘッドマウントディスプレイのユーザーに警告する方法の利用に適した別のシステム３００の実施例である。システム３００は、深度センサ２８０及び画像センサ２９０がヘッドマウントディスプレイ１１０に固定されていることを除き、図２に示したシステム２００と同様である。
【００３７】
図４は、本開示の実施形態に係る、ヘッドマウントディスプレイのユーザーに警告する方法の利用に適したさらに別のシステム４００の実施例である。システム４００は、ヘッドマウントディスプレイ１１０が深度センサ２８０と画像センサ２９０の両方を備えていると共に、制御装置１１５が深度センサ２３０と画像センサ２４０の両方を備えていることを除き、図２に示したシステム２００と同様である。
【００３８】
図５は、本開示の実施形態に係る、ヘッドマウントディスプレイのユーザーに警告する方法５００を示すプロセスフロー図である。
【００３９】
方法５００は、ハードウェア（例えば、専用ロジック、プログラマブルロジック、及びマイクロコード）、ソフトウェア（汎用コンピュータシステムもしくは専用マシン上で動作するソフトウェアなど）、またはその両方の組み合わせで構成される処理ロジックによって実行される。１つの例示的実施形態では、処理ロジックは、ヘッドマウントディスプレイに存在する。別の例示的実施形態では、処理ロジックは、制御装置に存在する。さらに別の例示的実施形態では、処理ロジックは、ヘッドマウントディスプレイと制御装置の両方に存在する。
【００４０】
図５に示すように、方法５００は、シーンの画像及び／または深度データを受け取ることを伴う動作５１０から開始することができる。このシーン内には、ヘッドマウントディスプレイを利用するユーザーが存在する。このシーンは、所定の３次元領域を含む。シーンの画像は、１つ以上のセンサ（例えば、画像センサまたは深度センサ）によって取得される。従って、このシーンは、１つ以上のセンサの視野によって定めることができる。１つ以上のセンサは、ヘッドマウントディスプレイに接続することができる。ヘッドマウントディスプレイは、ディスプレイ付きのウェアラブルコンピュータ、ヘッドマウント電子装置、ヘッドカップルディスプレイ、ヘルメットマウントディスプレイなどである。あるいは、１つ以上のセンサは、制御装置に接続される。
【００４１】
方法５００は、動作５２０にて、１つ以上のセンサから受け取ったシーンの画像及び／または深度データに少なくとも部分的に基づいてユーザーの位置情報を追跡することを進める。方法５００はさらに、動作５３０にて、ユーザーがシーンの端に接近していることを動的に判定することを進める。この判定は、動作５２０にて行われた追跡に少なくとも部分的に基づいている。１つの例示的実施形態では、シーンの端には、コーヒーテーブル、椅子などの１つ以上の現実の障害物がある。
【００４２】
動作５４０にて、ユーザーは、動作５３０にて行われた判定に基づき、シーンの端に自身が接近しているとの警告を受ける。かかる警告としては、音声メッセージ、可視メッセージ、発光ダイオードの点灯、ヘッドマウントディスプレイに表示可能な画像を徐々に退色させること、現実世界の光景に表示画像をブレンドすること、ヘッドマウントディスプレイを振動させること、ヘッドマウントディスプレイもしくはその部品を取り外すこと、ヘッドマウントディスプレイをユーザーの目から遠ざかるように移動させることなどを挙げることができる。
【００４３】
１つの例示的実施形態では、方法５００は、１つ以上の副センサからシーンの副画像を受け取ることをさらに含む。１つ以上の副センサは、制御装置に接続されている。ある実施形態では、１つ以上の副センサは、シーンの副画像に少なくとも部分的に基づき、ユーザーの位置を追跡する。副画像に基づき、シーンの端の方向にユーザーが移動し続けている場合にはヘッドマウントディスプレイに別の警告を提供してもよい。あるいは、ユーザーがシーンの端の方向に移動するのを止め、シーンの中央に向かって移動した場合には、ヘッドマウントディスプレイに表示された画像を徐々に濃くしてフォーカスし、または、ヘッドマウントディスプレイもしくはその部品を再度取り付けたり、ヘッドマウントディスプレイをユーザーの目の方に移動させたりする。
【００４４】
図６は、コンピュータシステム６００の電子形態をとったマシン用のコンピューティング装置の図表示である。この電子形態は実施例である。また、このシステムでは、本明細書に述べた方法論のいずれか１つまたは複数をそのマシンに実施させるための一組の命令が実行可能である。例示的実施形態では、このマシンは、スタンドアロン装置として動作し、または、他のマシンに接続する（例えば、ネットワーク接続する）ことができる。ネットワーク接続配置では、このマシンは、サーバ−クライアントネットワーク環境におけるサーバ、クライアントマシンとして動作することができ、あるいはピアツーピア（または分散）ネットワーク環境におけるピアマシンとして動作することができる。このマシンは、パーソナルコンピュータ（ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ：ＰＣ）、タブレットＰＣ、セットトップボックス（ｓｅｔ−ｔｏｐ  ｂｏｘ：ＳＴＢ）、ＰＤＡ、携帯電話、ポータブル音楽プレーヤー（例えば、  ＭＰ３（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  Ａｕｄｉｏ  Ｌａｙｅｒ３）プレーヤーなどのポータブルハードドライブオーディオ機器）、ウェブ機器、ネットワークルーター、スイッチ、ブリッジ、または、当該マシンによって行われる動作を指定する一組の命令を（逐次的にもしくは別の方法で）実行可能な任意のマシンとすることができる。さらに、１台のマシンのみを示しているが、「マシン」という用語は、本明細書に述べた方法論のいずれか１つまたは複数を実施するために一組（または複数組）の命令を別々にまたは連携して実行するマシンの任意の集合体を含むとも解釈されるものとする。
【００４５】
コンピュータシステム６００の実施例は、プロセッサまたはマルチプルプロセッサ６０５（例えば、中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：ＣＰＵ）、グラフィック処理ユニット（ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ：ＧＰＵ）、またはその両方）、並びにメインメモリ６１０及び静的メモリ６１５を含む。これらは、バス６２０を介して相互に通信し合う。コンピュータシステム６００は、ビデオディスプレイユニット６２５（例えば、ＬＣＤまたはブラウン管（ｃａｔｈｏｄｅ  ｒａｙ  ｔｕｂｅ：ＣＲＴ））をさらに含むことができる。コンピュータシステム６００は、英数字入力装置（例えば、キーボード）、カーソル制御装置（例えば、マウス）、マイクロホン、デジタルカメラ、ビデオカメラなどの少なくとも１つの入力装置６３０をも含む。コンピュータシステム６００は、ディスクドライブユニット６３５、信号発生装置６４０（例えば、スピーカ）、及びネットワークインターフェース装置６４５をも含む。
【００４６】
ディスクドライブユニット６３５は、コンピュータ可読媒体６５０を含む。このコンピュータ可読媒体６５０は、本明細書に記載された方法論または機能のいずれか１つまたは複数を具現化する、またはそれによって利用される１組以上の命令及びデータ構造（例えば、命令６５５）を記憶する。命令６５５は、コンピュータシステム６００によるその実行中は、完全にまたは少なくとも部分的に、メインメモリ６１０内に、かつ／または、プロセッサ６０５内に存在することもできる。メインメモリ６１０及びプロセッサ６０５は、マシン可読媒体も構成する。
【００４７】
命令６５５は、さらに、いくつかの周知の伝送プロトコル（例えば、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、ＣＡＮ、シリアル、及びＭｏｄバス）のいずれか１つを利用するネットワークインターフェース装置６４５を経由し、通信ネットワーク６６０を介して送受信することができる。通信ネットワーク６６０には、インターネット、ローカルイントラネット、パーソナルエリアネットワーク（Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：ＰＡＮ）、ローカルエリアネットワーク（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：ＬＡＮ）、ワイドエリアネットワーク（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：ＷＡＮ）、メトロポリタンエリアネットワーク（Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：ＭＡＮ）、仮想プライベートネットワーク（ｖｉｒｔｕａｌ  ｐｒｉｖａｔｅ  ｎｅｔｗｏｒｋ：ＶＰＮ）、ストレージエリアネットワーク（ｓｔｏｒａｇｅ  ａｒｅａ  ｎｅｔｗｏｒｋ：ＳＡＮ）、フレームリレー接続、高度インテリジェントネットワーク（Ａｄｖａｎｃｅｄ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｎｅｔｗｏｒｋ：ＡＩＮ）接続、同期型光ネットワーク（ｓｙｎｃｈｒｏｎｏｕｓ  ｏｐｔｉｃａｌ  ｎｅｔｗｏｒｋ：ＳＯＮＥＴ）接続、デジタルＴ１、Ｔ３、Ｅ１もしくはＥ３回線、デジタルデータサービス（Ｄｉｇｉｔａｌ  Ｄａｔａ  Ｓｅｒｖｉｃｅ：ＤＤＳ）接続、デジタル加入者線（Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ：ＤＳＬ）接続、イーサネット（登録商標）接続、総合サービスデジタル網（Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ：ＩＳＤＮ）回線、ケーブルモデム、非同期転送モード（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ：ＡＴＭ）接続、またはファイバー分散データインターフェース（Ｆｉｂｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ：ＦＤＤＩ）接続もしくは銅線分散データインターフェース（Ｃｏｐｐｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ：ＣＤＤＩ）接続が含まれる。さらに、通信ネットワーク６６０には、ワイヤレスアプリケーションプロトコル（Ｗｉｒｅｌｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ：ＷＡＰ）、汎用パケット無線サービス（Ｇｅｎｅｒａｌ  Ｐａｃｋｅｔ  Ｒａｄｉｏ  Ｓｅｒｖｉｃｅ：ＧＰＲＳ）、移動体通信グローバルシステム（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ：ＧＳＭ（登録商標））、符号分割多元接続（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ：ＣＤＭＡ）もしくは時分割多元接続（Ｔｉｍｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ：ＴＤＭＡ）、携帯電話ネットワーク、全地球測位システム（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ：ＧＰＳ）、セルラーデジタルパケットデータ（ｃｅｌｌｕｌａｒ  ｄｉｇｉｔａｌ  ｐａｃｋｅｔ  ｄａｔａ：ＣＤＰＤ）、リサーチインモーション社（Ｒｅｓｅａｒｃｈ  ｉｎ  Ｍｏｔｉｏｎ，  Ｌｉｍｉｔｅｄ：ＲＩＭ）の全二重ページングネットワーク（ｄｕｐｌｅｘ  ｐａｇｉｎｇ  ｎｅｔｗｏｒｋ）、ブルートゥース（登録商標）無線、またはＩＥＥＥ８０２．��１ベースの無線周波数ネットワークを含む多種多様な無線ネットワークへのリンクも含まれる。
【００４８】
マシン可読媒体６５０は、例示的実施形態では１つの媒体として示されているが、「コンピュータ可読媒体」という用語は、１組以上の命令を記憶する１つの媒体または複数の媒体（例えば、集中データベースもしくは分散データベース、並びに／または関連付けられたキャッシュ及びサーバ）を含むと解釈されるべきである。「コンピュータ可読媒体」という用語は、マシンによる実行用の一組の命令であって、本出願の方法論のいずれか１つもしくは複数を当該マシンに実施させる一組の命令の記憶、符号化もしくは搬送が可能な任意の媒体、または、かかる一組の命令によって利用され、もしくはこれに関連付けられたデータ構造の記憶、符号化もしくは搬送が可能な任意の媒体を含むとも解釈されるものとする。そのため、「コンピュータ可読媒体」という用語には、固体メモリ、光学媒体、及び磁気媒体が含まれるが、これらに限定されることはないと解釈されなければならない。かかる媒体としては、ハードディスク、フロッピーディスク、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ：ＲＡＭ）、リードオンリーメモリ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ：ＲＯＭ）などを挙げることもできるが、これらに限定されることはない。
【００４９】
本明細書に記載された例示的実施形態は、コンピュータにインストールされたコンピュータ実行可能命令（例えば、ソフトウェア）を含む動作環境で、ハードウェアを用いて、またはハードウェアとソフトウェアの組み合わせを用いて実装することができる。コンピュータ実行可能命令は、コンピュータプログラミング言語で記述することができ、またはファームウェア論理回路によって具現化することができる。公認規格に適合するプログラミング言語で記述された場合、かかる命令は、様々なハードウェアプラットフォーム上で、様々なオペレーティングシステムとのインターフェースをとるために実行することができる。本方法を実装するためのコンピュータソフトウェアプログラムは、任意の数の適切なプログラミング言語で記述することができる。かかるプログラミング言語としては、例えば、ハイパーテキストマークアップ言語（Ｈｙｐｅｒｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ：ＨＴＭＬ）、ダイナミックＨＴＭＬ、ＸＭＬ、拡張可能なスタイルシート言語（Ｅｘｔｅｎｓｉｂｌｅ  Ｓｔｙｌｅｓｈｅｅｔ  Ｌａｎｇｕａｇｅ  ：ＸＳＬ）、文書スタイル意味指定言語（Ｄｏｃｕｍｅｎｔ  Ｓｔｙｌｅ  Ｓｅｍａｎｔｉｃｓ  ａｎｄ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｌａｎｇｕａｇｅ：ＤＳＳＳＬ）、カスケーディングスタイルシート（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔ：ＣＳＳ）、同期マルチメディア統合言語（Ｓｙｎｃｈｒｏｎｉｚｅｄ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｇｒａｔｉｏｎ  Ｌａｎｇｕａｇｅ：ＳＭＩＬ）、ワイヤレスマークアップ言語（Ｗｉｒｅｌｅｓｓ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ：ＷＭＬ）、Ｊａｖａ（登録商標）、Ｊｉｎｉ（登録商標）、Ｃ、Ｃ＋＋、Ｃ＃、ドットネット（．ＮＥＴ）、Ａｄｏｂｅフラッシュ、Ｐｅｒｌ、ＵＮＩＸ（登録商標）シェル、ビジュアルベーシックもしくはビジュアルベーシックスクリプト、仮想現実マークアップ言語（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ：ＶＲＭＬ）、ＣｏｌｄＦｕｓｉｏｎ（登録商標）もしくは他のコンパイラ、アセンブラ、インタープリター、または他のコンピュータ言語もしくはプラットフォームなどがあるが、これらに限定されるものではない。
【００５０】
ユーザーによって使用され、マルチメディアコンテンツを視聴する、かつ／またはそのようなコンテンツと対話するための例示的なヘッドマウントディスプレイの概観を図７に示す。ユーザーによって装着されているＨＭＤにより、一実施例では、ユーザーは、リッチマルチメディアコンテンツを視聴することができる。このようなコンテンツには、ビデオゲームからのインタラクティブシーン、映画からのシーン、インターネットコンテンツ、並びに他の種類のインタラクティブコンテンツ及びノンインタラクティブコンテンツが含まれる。ＨＭＤの向き、位置、方向などを含む位置状態の追跡は、ＨＭＤのそれぞれの外面にわたって分散された、発光ダイオード、赤外線マーカー、視覚マーカー要素などの複数のマーカー要素を、センサの組み合わせを用いて、またはＨＭＤを取り囲む容積を画定するのに用いられる１つ以上の変数に基づいて追跡することによって可能となる。追跡に用いられるセンサの一部には、ＨＭＤの動きの追跡を可能とするＨＭＤ内の慣性センサ、１つ以上の画像センサ、及び１つ以上の深度センサが含まれるが、これらに限定されることはない。なお、画像センサ及び深度センサは、光学的な追跡が可能である。ＨＭＤ内に配置された１つ以上の加速度計及び１つ以上のジャイロスコープを用いて、慣性センサを用いた追跡を可能にしてもよい。画像センサには、１つ以上の単レンズカメラ、ＩＲカメラ、ステレオカメラなどが含まれてもよく、深度センサには、１つ以上の深度検出カメラ、超音波カメラ、３次元（３Ｄ）ステレオカメラ、ビデオカメラなどが含まれてもよい。画像センサ及び深度センサは、ＨＭＤ内に設けられた１つ以上のカメラ、及びＨＭＤを装着しているユーザーの現実世界のシーン内に分散配置された外部カメラを含む。ＨＭＤ内の画像センサ及び／または深度センサは、例えば、ユーザーの直近にある現実世界の物体／シーンの画像／ビデオを、ＨＭＤを装着しているユーザーの視点から取得するために用いられる。以下でさらに説明するように、取得された画像／ビデオは、コンテンツを調節しているときにＨＭＤの表示部にレンダリングされてもよい。
【００５１】
ユーザーのシーン内に外部的に分散された画像センサ及び／または深度センサは、例えば、光源、発光ダイオード（ｌｉｇｈｔ  ｅｍｉｔｔｉｎｇ  ｄｉｏｄｅ：ＬＥＤ）、赤外線マーカーなどの、ＨＭＤ１１０の外面にわたって分散された種々のマーカーの画像／ビデオを取得するように構成されている。一実施形態では、これらの画像／ビデオはクライアントシステムに送信され、ここで、ＨＭＤの位置を正確に求めるために、画像／ビデオフレームが解析される。さらに、これらの画像／ビデオをＨＭＤ内部で解析することにより、現実世界のシーン内の他の物体を基準にしてＨＭＤの位置、向き、方向を求める。ある構成では、ＨＭＤは、（例えば、バブル２、４及び６によって表される）ＬＥＤを備える。これらのＬＥＤは、ＨＭＤの１つ以上の外面における重要な箇所に配置されている。例えば、これらのＬＥＤを、ＨＭＤの前面ブロックユニット１１０ａ（例えば、本明細書では光学ブロックとも呼ぶ）の四隅に配置してもよく、ＨＭＤ１１０の後方／背面部１１０ｂにおける２箇所に配置してもよい。後方部１１０ｂは、調節可能なバンドユニットに配置されている。１１０ｃ及び１１０ｄなどの他の表面もＨＭＤに含めて、ユーザーが安全かつ確実にＨＭＤを自身の頭部に取り付けることができるようにしてもよい。いくつかの実施形態では、前面ＬＥＤは、前面に部分的に配置され、かつ前面の各側に配置されている側面に部分的に配置されるように構成されており、それによって部分Ｌ字形、湾曲Ｌ字形、ブーメラン形、湾曲矩形、曲線、点、円、パターン、またはこれらを組み合わせた形状を画定する。これらのマーカーは、ＬＥＤに制限されることはなく、光源、赤外線マーカー、色によってコード化されたマーカー、反射マーカーなどを含むこともできる。画像／ビデオフレームの解析を用いて、ＨＭＤの種々のマーカーの相互間の相対距離及び１つ以上の基準点からの相対距離を計算する。計算された距離を用いて、ＨＭＤ周囲の容積と共に使用中の容積の変化を求めることにより、ＨＭＤの位置状態をより正確に定める。さらに、種々のセンサによって取得されたビデオフレーム／画像を解析して、種々のマーカーの向き、位置、移動方向などの位置状態を求めることにより、ＨＭＤを装着しているユーザーの移動方向または姿勢（位置）をより正確に求める。ＨＭＤを取り囲む容積は同一を保ち得るが、種々のマーカーの位置、向き及び方向は使用中、例えば、ＨＭＤを装着しているユーザーが振り返るときに変わり得ることに留意すべきである。ビデオフレーム／画像を解析することにより、ＨＭＤの位置、方向及び向きがより正確に測定される。安全対策として、ＨＭＤの動きを解析する。その動きが、ある所定閾値を超え、または安全ではないと判定されると（例えば、ユーザーが後ろに倒れるところである）、信号を生成して、ＨＭＤの表示画面に現在レンダリングされているインタラクティブシーンを中断することができる。あるいは、その他の形式の警告を生成して、ユーザーが危険な方法で移動している可能性があることをユーザーに知らせてもよい。
【００５２】
ＨＭＤは、例えば、ＨＭＤの表示部にて、ビデオゲームのインタラクティブシーンに対する視野を提供するように構成されている。ＨＭＤを装着しているユーザーは、自身の頭部を任意の方向に動かしてインタラクティブシーンの他の部分を視聴すると共に、ユーザーの頭部の動きに基づき、レンダリングされた仮想インタラクティブシーンで動き回るための入力を与えることができる。一実施形態では、仮想インタラクティブシーンは、リッチな３次元（３Ｄ）フォーマットでレンダリングされる。ある構成では、ＨＭＤは、当該ＨＭＤに提示されるコンテンツをレンダリングするクライアントコンピューティングシステム１０６と通信するように構成されている。このコンテンツ（例えば、ゲーム、映画、ビデオ、音声、画像、マルチメディアなど）は、別の構成では、遠隔の１台以上のサーバからＨＭＤにクラウドゲーミング基盤１１２を用いてストリーミングされてもよい。いくつかの実施例では、遠隔サーバ（単数または複数）のコンテンツをクライアントシステムにダウンロードし、次いでＨＭＤに転送してレンダリングさせる。他の実施例では、コンテンツを直接遠隔サーバ（単数または複数）からＨＭＤにストリーミングしてレンダリングさせる。
【００５３】
ＨＭＤを装着しているユーザーが画像／深度センサの方を向いているときには、カメラは、ＨＭＤ１１０の前面に配置された全てのＬＥＤ及び／またはマーカーを視認できるはずである。あるいは、カメラは、ＨＭＤ１１０の前面に配置された少なくとも１つのＬＥＤ及び／またはマーカーを追跡できるはずである。クライアントシステムにて利用可能なＨＭＤの幾何学モデルに対し、例えば、ゲームまたは他のプログラムなどの、クライアントシステム上で実行されるプログラムからアクセスすることにより、ユーザーがＨＭＤを装着しているときにユーザーの頭部の（カメラに対する）深度及び向きを求めることができる。例えば、ＨＭＤの前面の（例えば、矩形輪郭を描く）各隅に配置された４つのＬＥＤ、及びＨＭＤの背面に配置された２つのＬＥＤを、画像／ビデオフレームを取得することによって追跡し、それによってユーザーが下、上または左右を見ているかどうかを判定してもよい。ＬＥＤに加えて、またはその代わりに、ＨＭＤのそれぞれの外面にわたって配置された他のマーカー要素も使用して、頭部の動きの形をとったユーザーの動作に基づき、ユーザーによって装着されているＨＭＤの向き、方向、位置などを求めてもよい。
【００５４】
一実施形態に係る、使用中にＨＭＤ１１０を装着しているユーザーの実施例を図８に示す。本実施例では、ＨＭＤの位置状態は、カメラ１０８によって取得された画像／ビデオフレームから抽出された画像データ８０２を用いて追跡される。いくつかの実施形態では、ＨＭＤの位置状態を追跡することに加えて、ユーザーによって把持され、ＨＭＤにレンダリングされているコンテンツに入力を与えるのに用いられるコントローラを追跡してもよい。図８に示すように、コントローラは、カメラ１０８によって取得されたビデオフレームから抽出された画像データ８０４を用いて追跡される。図８に、ＨＭＤがコンピューティングシステム（すなわち、クライアント装置）１０６にケーブル８０６を介して接続されている例示的構成を示す。ケーブル８０６を用いて、ＨＭＤとクライアントコンピューティングシステム１０６の間でリッチメディアデータ及び信号を送信することができる。一実施形態では、ＨＭＤは、ケーブル８０６を通じて電力を得る。他の実施形態では、ＨＭＤ用の電力は、電源に接続された別のケーブルを介して得ることができる。さらに別の実施形態では、ＨＭＤに充電式電池を搭載して、電源コードを別途使用しないようにすることができる。
【００５５】
図９に、ユーザーがＨＭＤの表示部のインタラクティブシーンを観ている間、ユーザーの動作に基づき、ユーザーが現実世界の物体、シーンの端に近づくとき、他のプレイヤーのゲームゾーンに入るとき、またはクライアントデバイスから遠ざかるように方向を変える／移動するときに、ユーザー（またはプレイヤー）に警告を提供するのに用いられるシステムの実施形態を示す。このシステムを用いて、ＨＭＤの表示部にレンダリングされているコンテンツをユーザーの動作に基づいて調節してもよい。図９に示した実施形態は、ビデオゲームのインタラクティブなゲームプレイで２人のプレイヤーが対戦している状況を示す。ビデオゲームからのインタラクティブシーンは、２人のプレイヤーの各ＨＭＤの表示部にレンダリングされる。ビデオゲーム用のインタラクティブシーンは、ゲーム機（図９には図示せず）などの、ゲームが実行されているクライアント装置によって提供され、あるいは（ゲームが実行されている）ゲームサーバ２０４からネットワーク２０２を介してゲーム機にダウンロードされ、各ＨＭＤにレンダリングされる。あるいは、インタラクティブシーンを、ゲームサーバ２０４からネットワーク２０２を介してＨＭＤ１１０’に直接ストリーミングしてもよい。インタラクティブシーンは、各ＨＭＤの表示部にレンダリングされる。
【００５６】
ＨＭＤ及びプレイヤーによって操作されているコントローラの位置状態は、１つ以上の画像センサ、慣性センサ及び／または深度センサによって追跡される。画像／ビデオは、コントローラを動かしている手（片手または両手）の動きなどの各プレイヤーの動作、ＨＭＤ及び／またはコントローラの位置、方向及び向きなどの位置状態の変化を取得する。取得後の画像／ビデオフレームを解析して、各ＨＭＤに設けられたＬＥＤ（１、２、３、４（図示せず）、５及び６）によって定められたマーカーなどの、種々のマーカーの位置を求めることにより、各プレイヤーのＨＭＤ及び／またはコントローラの位置状態を検出する。一実施形態では、ゲーム機１０６などのクライアント装置内のプロセッサは、各ＨＭＤに配置されたマーカーの取得後の画像／ビデオフレームを受け取り、それらにおいて取得されたコンテンツを解析することにより、各ＨＭＤに配置されたマーカーの取得後の画像／ビデオフレームに基づいてＨＭＤの位置状態を特定する。コントローラに配置されたマーカーに同様の解析を実施して、コントローラの位置状態を正確に求めてもよい。いくつかの実施形態では、各ＨＭＤのプロセッサを用いて、各ＨＭＤの動きに関する追加データを独立に、または相互に関連して提供してもよい。そのため、ＨＭＤのプロセッサは、画像／ビデオデータを収集し、これと同じデータを、解析を行うクライアント装置１０６に送信する。いくつかの実施形態では、第２のＨＭＤに対する第１のＨＭＤの相対位置は、その他のＨＭＤに設けられたマーカーの画像／ビデオフレームを取得及び解析し、第２のプレイヤーによって装着されているＨＭＤに対する第１のプレイヤーに装着されているＨＭＤの相対位置を計算することによって同様に計算されてもよい。画像／ビデオフレームに基づき、図９に示すように、各プレイヤーＡ及びＢのゲームゾーンを設定してもよい。
【００５７】
クライアント装置１０６（いくつかの実施形態では、参照番号１２０によっても参照される（図１））は、種々のセンサによって取得された画像／ビデオフレーム内のデータを解析するのに用いられる複数のモジュールを備えており、ＨＭＤの表示部にレンダリングすべき適切なコンテンツを特定し、その適切なコンテンツをＨＭＤに送信する。例えば、クライアント装置１０６のＨＭＤデータ処理モジュール９０５は、種々のセンサから受け取った画像／ビデオフレームを解析し、ユーザーによって装着／把持されているＨＭＤ及び／またはコントローラの位置状態を求めるのに用いられる。ＨＭＤデータ処理モジュール９０５からの解析情報は、クライアント装置１０６内の警告処理モジュール９０６と共有される。一実施形態では、解析から得られた情報により、現実世界の物体の近くにプレイヤーがいること、シーンの端の近くにプレイヤーがいること、別のプレイヤーの近くにプレイヤーがいることなどが識別され得る。例えば、図９に示した実施例では、ビデオゲームとの対話中、プレイヤーＡがプレイヤーＢのゲームゾーン内に侵入する場合があり、または、プレイヤーＢがプレイヤーＡのゲームゾーン内に侵入する場合がある。この事例では、それぞれのＨＭＤ内に分散された各センサによって取得され、２人のプレイヤーの現実世界のシーン全体にわたる２人のプレイヤーの種々の画像／ビデオを解析して、プレイヤーＢのゲームゾーンに対するプレイヤーＡの侵入の度合い、またはプレイヤーＡのゲームゾーンに対するプレイヤーＢの侵入の度合いを求める。ビデオゲーム内のプレイヤーの動作に応じて、かかる侵入により、場合によっては、第１のプレイヤーが第２のプレイヤーにケガをさせる恐れがあり、または、第２のプレイヤーが第１のプレイヤーにケガをさせる恐れがある。プレイヤーの被害を防ぎ、かつ安全なプレイ体験を提供するために、画像／ビデオフレームの解析情報を警告処理モジュール９０６によって用いて、各プレイヤーに警告するための信号を生成してもよい。
【００５８】
画像／ビデオ情報を解析するＨＭＤ処理モジュール９０５のほかに、ゲームロジックモジュール９０１が画像／ビデオを解析してもよく、さらに、ゲームロジックモジュール９０１は、その解析情報をゲーム動作トリガーモジュール９０２と共有してもよい。この事例では、ＨＭＤデータ処理モジュール９０５は、画像／ビデオ情報をゲームロジックモジュール９０１と共有する。ゲームロジックモジュールによる解析は、現在実行中のビデオゲームに専用のものであってよく、そのゲームコンテンツを参照して行われてもよい。例えば、ゲームロジックモジュール９０１は、ゲームの強度に関するコンテンツを参照して、クライアント装置で受け取った画像／ビデオフレームを解析してもよい。ゲームロジックモジュール９０１からの情報をゲーム動作トリガーモジュール９０２によって用いて、適切なゲーム専用トリガー動作を開始してもよい。ゲーム専用トリガー動作は、そのゲームが高強度のゲームまたは低強度のゲームであることを識別するフラグを含んでもよい。ゲーム専用トリガー動作は、ＨＭＤに送信するための適切な警告信号を生成する警告処理モジュール９０６に提供されてもよい。
【００５９】
一実施形態では、種々のセンサによって取得された画像／ビデオフレームは、ネットワーク２０２を介してゲームサーバ２０４に送信され、ここで、画像／ビデオフレームが解析される。解析されたデータは、ゲーム動作トリガーモジュール９０２と共有させるためにゲームロジックモジュール９０１に送信される。解析されたデータに基づき、ゲーム動作トリガーモジュール９０２は、どの動作トリガーを開始するかを決定する。
【００６０】
ゲームロジックモジュール９０１で行われたゲーム専用の解析のほかに、システムデータ処理モジュール９０３も用いてＨＭＤデータ処理モジュールから受け取った画像／ビデオフレームを解析することにより、システム専用の動作トリガーを提供してもよい。例えば、システムデータ処理モジュール９０３は、システム設定に関連して画像／ビデオフレームを解析して、システム動作トリガーモジュール９０４に適切なデータを提供してもよい。システム動作トリガー９０４は、どの動作トリガーを開始するかを決定する。システム動作トリガー９０４からのデータは、警告処理モジュール９０６にも転送される。警告処理モジュール９０６は、ゲーム専用の動作トリガー及びシステム専用の動作トリガー並びにＨＭＤデータ処理モジュール９０５からのデータを受け取り、ＨＭＤプロセッサ用の警告信号を生成する。警告処理モジュール９０６によって生成された警告信号は、ＨＭＤデータ処理モジュール９０５を通じてＨＭＤに送信される。ＨＭＤデータ処理モジュール９０５では、その信号を用いて、プレイヤーＡもしくはプレイヤーＢのいずれかまたはその両方のＨＭＤの表示部にてコンテンツに何らかの調節を加える必要があるかどうかを判定する。コンテンツに何らかの調節を加える必要がある場合、ＨＭＤデータ処理モジュール９０５は、適切なデータコンテンツを送信して、ＨＭＤの表示部にレンダリングされているインタラクティブシーンを中断する。いくつかの実施形態では、この適切なデータコンテンツにより、ＨＭＤを装着しているプレイヤーに警告を伝達してもよい。この警告は、ユーザーによって装着されているＨＭＤの動きに基づいてプレイヤー近くで検出された現実世界の環境安全状況をプレイヤーに通知するためのものであってよい。いくつかの実施形態では、この警告により、プレイヤーによって装着されているＨＭＤの動きに基づいてプレイヤーの近くで検出された現実世界の環境安全状況の重大度をプレイヤーに通知してもよい。例えば、プレイヤーＡがプレイヤーＢのゲームゾーンへと移動している場合、プレイヤーＡのＨＭＤに向けて警告信号を送って、プレイヤーＡがプレイヤーＢのゲームゾーン内に侵入しつつあることをプレイヤーＡに知らせてもよい。この警告信号は、図９に示すように、プレイヤーＡが着けているＨＭＤの表示部にレンダリングされるテキスト警告の形態であってもよく、他方、プレイヤーＢのＨＭＤは、ビデオゲームのインタラクティブシーンをレンダリングし続ける。一実施形態では、ビデオゲームの強度に応じて、このテキスト警告をプレイヤーＡのＨＭＤにて最前面にレンダリングする一方、ビデオゲームのインタラクティブシーンを背景にレンダリングし続けてもよい。本実施形態では、インタラクティブシーンの輝度レベルを低下させて、テキスト警告を明るく提示してもよい。一実施例では、このような低下をゲームの強度に応じて徐々に行い、それによってプレイヤーを混乱させないようにする。テキスト警告に加えて、またはその代わりに、この警告は、触覚形式、音声形式などで与えられてもよい。
【００６１】
図１０に、ＨＭＤ及び／またはコントローラの位置状態を求めるための例示的実施形態を示す。本実施形態では、１つ以上の画像センサ及び／または深度センサを用いて、ユーザーによって装着されているＨＭＤ周囲の容積及び／またはユーザーによって操作されているコントローラ周囲の容積を求める。例えば、ステレオカメラなどの深度センサ１０８を用いて、ＨＭＤ周囲の容積を求めてもよい。この深度センサ１０８は、プレイヤーによって装着されているＨＭＤの外面に配置された種々のマーカーの位置を画像／映像内で追跡し、その画像／ビデオに距離アスペクトを関連付ける。コントローラ周囲の容積も同様に求めてよい。図１０に示すように、深度センサ１０８は、ＨＭＤ周囲の容積３０３及びコントローラ周囲の容積３０５を求めてもよい。この容積を用いて、ＨＭＤ及び／またはプレイヤーによって操作されているコントローラの位置状態をより正確に求めてもよい。
【００６２】
図１０Ａ及び１０Ｂに、ＨＭＤデータ処理モジュールがＨＭＤ及び／またはコントローラ周囲の容積を用いて、ＨＭＤ／コントローラを装着／操作しているユーザーの向き、位置、方向などの位置状態をどのように求めるかを示す。ＨＭＤデータ処理モジュールは、プレイヤー（すなわち、ユーザー）がビデオゲームをプレイしているときに座っているか立っているかを判定してもよい。ビデオゲームは、プレイヤーの姿勢にある制限を課す場合がある。例えば、高強度のゲームの場合、プレイヤーが方向感覚を失わないようにするため、そのビデオゲームでは、ゲームプレイ中にプレイヤーが座っていることが求められる場合がある。プレイヤーが座っている間にビデオゲームのプレイを始め、そのゲームプレイの途中に立ち上がると、ＨＭＤデータ処理モジュールは、ＨＭＤ及び／またはコントローラの高さの変化を求めることにより、ユーザーの姿勢を検出することが可能となり得る。ゲーム上の制限並びにＨＭＤ及び／またはコントローラの高さの変化に基づき、警告信号が生成され得る。高さの変化を求めるために、プレイヤーによって装着されているＨＭＤの初期位置を計算する。図１０Ａに示すように、画像センサ／深度センサは、ＨＭＤを取り囲む容積３０３を定める１つ以上の変数を求める。例えば、画像センサ／深度センサを用いて、ＨＭＤを取り囲む領域の高さｈｈ（ここで、ｈｈ＝ｈ４−ｈ３）、深さ（ｄｈ）及び幅ｗｈ（ここで、ｗｈ＝ｗ１−ｗ２）を求めてもよく、ｈｈ、ｄｈ及びｗｈの関数としてＨＭＤ周囲の容積を計算してもよい。同様に、コントローラを取り囲む容積は、コントローラ１０４を取り囲む領域の高さｈｃ（ここで、ｈｃ＝ｈ２−ｈ１）、深さｄｃ及び幅ｗｃ（ここで、ｗｃ＝ｗ１−ｗ２）を求めることによって求めてもよく、ｈｃ、ｄｃ及びｗｃの関数としてコントローラ１０４周囲の容積３０５を計算してもよい。簡単にするため、コントローラを取り囲む領域の幅は、ＨＭＤを取り囲む領域の幅と同一であるように示される。コントローラを取り囲む容積の変数（すなわち、幅、高さ及び深さ）は、ＨＭＤを取り囲む容積の変数とは異なってもよいことに留意すべきである。
【００６３】
プレイヤーが座ることによって自身の姿勢を変えると、例えば、図１０Ｂに示すように、ＨＭＤの高さの変化が画像／深度センサによって検出され、ＨＭＤに対し、ＨＭＤデータ処理モジュールによって新たな容積が計算される。本実施例では、高さに関する変数が変化したため、画像／深度センサによって取得されたデータを用いてＨＭＤの新たな高さｈｈ’（ここで、ｈｈ’＝ｈ４’−ｈ３’）が計算され、ｗｈ、ｄｈ、ｈｈ’の関数としてＨＭＤの新たな容積が計算される。本実施例では、（ｈｃの計算に用いられた高さｈ１、ｈ２、及びｗｃの計算に用いられたｗ１、ｗ２によって定められる）コントローラ周囲の容積は、同じ状態を保っていてもよい。代替実施例では、コントローラ周囲の容積も変化している場合があり、その結果、コントローラの新たな容積は、コントローラの高さ及び／または幅のそれぞれにおける変化を用いて計算され得る。画像／ビデオフレームによって取得されたプレイヤーの姿勢の変化に基づき、ＨＭＤデータ処理モジュール９０５は、データを送出して、ＨＭＤにレンダリングされているコンテンツを調節し、かつ／またはプレイヤーに警告を提供してもよい。この警告は、自らの位置／姿勢などを変えることをプレイヤーに求める要求を含んでもよい。
【００６４】
図１０Ｃに、本発明の一実施形態における、プレイヤーの動作に基づいたＨＭＤ／コントローラの位置状態の変化の計算を示す。深度検出カメラ、ビデオカメラなどの外部カメラ１１５を用いて、プレイヤーによって装着されているＨＭＤの、プレイヤーによって把持されているコントローラに対する相対位置を種々の時刻で追跡してもよい。ＨＭＤデータ処理モジュールは、カメラ１１５からの画像を用いて、ＨＭＤ／コントローラの位置状態の変化を検出する。（「ｈ１」によって定められる）時刻ｔ０でのＨＭＤ／コントローラの初期位置、及び（「ｈ２」によって定められる）時刻ｔ１でのＨＭＤ／コントローラの位置を計算することによって変化を検出する。ＨＭＤデータ処理モジュールは、２つの位置の間の差（ｈ１−ｈ２）が所定閾値を超えているかどうかをさらに判定する。この所定閾値は、プレイヤーによって装着されているＨＭＤの位置の変動をある程度許容するように設定され得るが、このような変動は、プレイヤーが上、下あるいは横を見ることによって生じ得る。
【００６５】
図１１Ａ〜１１Ｅに例示的実施形態を示す。この実施形態では、ユーザーの向きが変化することにより、ＨＭＤを装着しているユーザーの付近の環境安全状況に変化が生じ得る。ＨＭＤの向きの変化を追跡し、その追跡によって求められた、ユーザーの付近で検出された環境安全状況の重大度に基づき、警告信号を生成し、かつ／または、データコンテンツを送信して、プレイヤーのＨＭＤにレンダリングされているインタラクティブシーンを中断してもよい。例えば、図１１Ａに、ＨＭＤを装着しているユーザーが、コントローラを用いて、ゲーム機１０６上で実行されているビデオゲームと対話している様子を示す。ビデオゲームのインタラクティブシーンは、ＨＭＤの表示部にレンダリングされる。コントローラでのユーザーの対話は無線でゲーム機１０６に送信され、ＨＭＤの動きはＨＭＤ内のプロセッサによって処理され、処理済みのコンテンツはケーブル８０６を通じてゲーム機１０６に送信される。コントローラ及びＨＭＤからの入力は、ビデオゲームへのユーザー入力として使用される。ゲーム機は、ユーザーによって提供された入力に基づき、ＨＭＤにレンダリングされているインタラクティブゲームシーンを更新する。様々な実施形態では、ユーザーとプレイヤーは同義的に用いられ、ＨＭＤの表示部に提示されたコンテンツと能動的に対話している人を指すことに留意すべきである。コンテンツは、ビデオゲームのインタラクティブゲームシーン、インタラクティブアプリケーション、インタラクティブなソーシャルストリームなどであってよい。ユーザーによって装着されているＨＭＤは、図１１Ａでは、（例えば、参照番号１〜６によって表される）ＬＥＤ、視覚マーカー、赤外線マーカーなどのマーカー要素を用いて追跡され得る。さらに、その追跡から、時刻ｔ０にて、ＨＭＤを装着しているユーザーが、ビデオゲームを実行しているシステム（例えば、ゲーム機１２）の画像／深度センサ１１５に向かって前を向いていることが判定され得る。このゲームプレイ中、ユーザーが回転し始める場合がある。その回転の結果、図１１Ｂに示すように、時刻ｔ１にて利用者は右を向く場合がある。ゲーム機／クライアント装置にＨＭＤを接続するケーブル８０６は、徐々にユーザーに絡み始めて、ユーザーにとっては安全上の問題となり得る。ユーザーが回転し続けると、ユーザーは、図１１Ｃに示すように、時刻ｔ２では右に回り後ろ向きとなってシステムの画像／深度センサから遠ざかり、図１１Ｄに示すように、時刻ｔ３では左向きになる。ケーブル８０６は、ユーザーに絡み続ける。ユーザーが回転し続けた場合、ケーブル８０６は、図１１Ｅに示すように、ユーザーの首及び／または体に絡み続ける可能性がある。この図は、ケーブルがユーザーの首に２回絡まったことを示しているが、それにより、ユーザーにとって潜在的な危険が生じる恐れがある。ユーザーは、この絡まりに気付いていない場合もある。というのも、ユーザーは、ビデオゲームに完全に没入している可能性があるためである。さらに、図１１Ｅから理解できるように、ケーブルが絡まると、ケーブルがピンと張る原因になる。ケーブルがユーザーにとって安全上の問題となり、ユーザーに身体的な危険が生じ、かつ／またはＨＭＤのプラグが抜けるのを防ぐため、ＨＭＤデータ処理モジュールは、ＨＭＤの位置状態の変化を検出し、環境安全状況を識別し、適切な警告及び／またはデータを自動的に提供して、ＨＭＤの表示部にレンダリングされているコンテンツを調節／中断することができる。この回転動作は、例えば、ＨＭＤの慣性センサ（１つ以上のジャイロスコープ及び１つ以上の加速度計）によって検出され得る。ＨＭＤデータ処理モジュールは、ユーザーによって装着されているＨＭＤの位置データを解析して、コンテンツを調節してもよく、または警告メッセージを提供してもよく、あるいはその両方を行ってもよい。
【００６６】
図１１Ｆに、１つの例示的実施形態における、さらに別の危険を示す。この危険は、ビデオゲームのゲームプレイに依然として没入しつつユーザーがある動作をとるときに、ユーザーに及ぶ可能性があるものである。本実施形態では、（時刻ｔ０で）ビデオゲームをプレイしているユーザーは、ビデオゲームと対話し続けながら、（図１１Ｆの時刻ｔ１及びｔ２におけるユーザーの位置によって示すように）向きを変えて、ゲーム機から遠ざかるように歩いている場合がある。プレイヤーの位置は、例えば、ＨＭＤの外面周囲に配置されたＬＥＤを用いて追跡される。図１１Ｆに示した実施形態では、ユーザーの初期位置は、ＨＭＤの前部１１０ａ及び後部１１０ｂに配置されたＬＥＤ１〜６を追跡することによって求められる。図１１Ｆでは前部１１０ａにＬＥＤ２及び４のみが示されているが、ＨＭＤの反対側に配置されたＬＥＤ１及び３も追跡されることに留意すべきである。ゲーム機から遠ざかるユーザーの移動は、ＨＭＤ表面に設けられたＬＥＤ１〜６の位置の変化によって判定され得る。例えば、ＬＥＤ２、４、６が移動してカメラ１０８の視野から遠ざかると、ＬＥＤ１、３及び５などの他の視覚マーカーは、カメラ１０８の視野に入る。ＨＭＤの外面に配置されたＬＥＤを追跡することにより、ユーザーが、例えば、ゲームプレイに完全に没入しながら、カメラに向き合う方からカメラから遠ざかる方に向きを変え、階段に向かって歩き去っていることが判定され得る。ＨＭＤデータ処理モジュールは、ユーザーによって装着されているＨＭＤに設けられた種々のＬＥＤの高さ、向き、方向、位置などの位置状態の変化などの、ＨＭＤに関するデータの変化を検出し得る。変化したデータを用いて、ユーザーの位置を求め、適切な警告メッセージを提供することができる。例えば、時刻ｔ０にて、ＨＭＤを装着しているユーザーの位置が変化していないことが検出されると、結果として、ビデオゲームからのインタラクティブゲームシーンをＨＭＤの表示部にレンダリングし続ける。時刻ｔ１にて、ＨＭＤデータ処理モジュールは、ユーザーが向きを変えて、ゲーム機から遠ざかるように歩いていることを検出し、そのユーザー動作に応答して、環境安全状況の重大度レベルを識別する警告信号を生成し、ＨＭＤにレンダリングするための適切なデータを送出する。警告信号が低い重大度レベルを識別するときには、重大度レベルを記述する警告メッセージを提示して、ＨＭＤにレンダリングされているインタラクティブゲームシーンを拡張する。時刻ｔ２にて、ユーザーが階段に向かって歩き続けていると、ＨＭＤデータ処理モジュールは、ユーザーの付近の環境安全状況の重大度を決定し、ユーザーの直近にある現実世界の物体の画像と共に、高い重大度レベルを示す適切な警告メッセージを送信して、ＨＭＤにレンダリングさせる。重大度レベルが高いため、画像の送信により、ＨＭＤにレンダリングされているインタラクティブゲームシーンが中断され、現実世界の物体の画像がＨＭＤにレンダリングされる。加えて、環境安全状況の重大度を定める警告メッセージもレンダリングする。
【００６７】
ユーザーによって装着されているＨＭＤの状態（すなわち、高さ、向き、方向、位置などの位置状態）の変化は、ＬＥＤを追跡することに制限されず、１つ以上の画像センサ、深度センサ及び／もしくは慣性センサ（すなわち、１つ以上のジャイロスコープ、１つ以上の加速度計）、またはそれらの任意の組み合わせを用いて、ＨＭＤ及びコントローラのそれぞれの外面に配置された、光源、視覚マーカー、赤外線マーカー要素などのマーカー要素の移動及び／または回転を追跡することを含んでもよい。ＨＭＤ及び／またはコントローラの位置状態の変化が所定閾値を超えていることが検出されると、ＨＭＤデータ処理モジュールは、ビデオゲームを停止し、当該ゲームを一時停止し、ＨＭＤにレンダリングされているゲームプレイ／インタラクティブシーンを中断し、あるいはＨＭＤを装着しているユーザーの付近の環境に関するデータをレンダリングするように予め設定されてもよい。
【００６８】
状態の変化は、システム専用の動作トリガーを起動するＨＭＤのオペレーティングシステムコード、及びゲーム専用の動作トリガーを起動するゲームコードの両方によって監視されてもよいことに留意すべきである。従って、警告メッセージは、システム専用の動作トリガー及びゲーム専用の動作トリガーに従って生成される。従って、ゲームコードモジュール、ＨＭＤのオペレーティングシステム（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ：ＯＳ）のコード、ＨＭＤのアプリケーションコード、ＨＭＤ／ＯＳのコードの組み合わせ、ファームウェア、ゲーム機のソフトウェア、ゲーム機もしくはアプリケーションサーバによって実行されるコード、またはクラウドサーバ上で実行されるコードなどの、ビデオゲームの実行に必要となる種々のコード／コードモジュールは、ユーザーによって装着／操作されているＨＭＤ及び／またはコントローラの状態の変化（すなわち、向き、姿勢、位置、方向など）を監視することにより、適切な警告メッセージを生成し、ユーザーに警告するのに用いられる適切なデータを送信し、ＨＭＤにレンダリングされているコンテンツを調節する。送信されたデータを用いて、ＨＭＤにレンダリングされているコンテンツを徐々に調節することにより、ユーザーをビデオゲームに完全に没入させ、あるいはビデオゲームから徐々に開放させてユーザーが混乱しないようにすることができる。警告メッセージは、音声信号、サウンド信号、テキスト信号、または（動的もしくは静的）グラフィック信号の形態であってよく、またはＨＭＤ／コントローラの使用中に安全性の問題をユーザーに警告するためにユーザーに提供可能な信号のその他の形態であってよい。この警告信号が不十分であるために安全性の懸念の発生を防ぐことができない場合、ＨＭＤに現在レンダリングしているインタラクティブシーンからＨＭＤを自動的に遷移してもよい。
【００６９】
様々な実施形態の詳細な説明を用いて、コンテンツを調節する、かつ／またはユーザーに警告を提供する方法について図１２を参照しながら説明する。この方法は動作１２１０で開始され、ここでゲームが実行される。このゲームは、クライアント装置、ゲーム機、またはゲームクラウド内のゲームサーバ上で実行され得る。ゲームの実行により、ゲームのインタラクティブシーンが、ユーザーによって装着されているヘッドマウントディスプレイ（ＨＭＤ）にストリーミングされ、レンダリングされる。動作１２２０に示すように、ユーザーがゲームと対話している間、ユーザーによって装着されているＨＭＤの位置状態の変化を検出する。この位置状態の変化は、画像センサ、深度センサもしくは慣性センサのうちのいずれか１つまたはそれらの組み合わせを用いて、ＨＭＤの種々の外面にわたって分散された１つ以上のマーカーの位置、向き、方向を監視することによって検出され得る。あるいは、位置状態の変化は、ＨＭＤ内に分散された慣性センサから得られたデータを用いて検出されてもよい。ＨＭＤの位置状態の変化が検出されると、動作１２３０に示すように、その変化を評価する。このように変化を評価することは、ＨＭＤ内のコードモジュールによって、ゲームのインタラクティブシーンをＨＭＤにてレンダリングするためのデータを提供するクライアント装置上で実行されるゲームのゲームコードモジュールによって、ＨＭＤのオペレーティングシステムによって、クライアント装置によって、またはゲームクラウドサーバによって実行され得る。先に述べたように、変化を評価することは、その位置状態の変化が所定閾値を超えているかどうかを判定することを含み得る。ＨＭＤの位置状態の変化が所定閾値を超えている場合には、クライアント装置のコードモジュールによって信号が生成される。クライアント装置にて生成された信号に基づき、ＨＭＤにデータを送信して、動作１２４０に示すように、ＨＭＤにレンダリングされているコンテンツを中断及び／または調節する。コンテンツの調節は、ＨＭＤを装着しているユーザーに対してインタラクティブゲームシーンのコンテンツと共に警告メッセージを提供すること、輝度が低下するようにコンテンツを調節すること、コンテンツから遷移すること、インタラクティブゲームシーンの代わりにユーザーの付近にある現実世界の物体／シーンの画像をレンダリングすることなどであってよい。このようなコンテンツの調節を徐々に行うことにより、中断された後、その信号に応じて、ユーザーは、ビデオゲームから抜け出し、あるいは再度ビデオゲームに徐々に没入することができる。
【００７０】
このように、ヘッドマウントディスプレイのユーザーに警告する技術が開示される。様々な実施形態は、ＨＭＤ（例えば、ＬＥＤ）、及びコントローラＬＥＤの高さを比較するなどの複数の方法で、ＨＭＤ及び／またはコントローラの高さ位置を検出し、コントローラ及び／またはＬＥＤによる動きを検出することができる。ある場合には、高強度のビデオゲームなどの一部のゲームは、ゲームのプレイ中に座ることをユーザーに求める可能性がある。かかるゲームの場合、システムは、ゲームのプレイ中にユーザーが立ち上がるときを検出するように監視することができる。このような監視は、高さなどの変数の変化を監視することによって可能にすることができ、さらにこの監視により、適切な警告または中断をインタラクティブゲームシーンに与えることができる。システムは、例えば、ジャイロスコープ、加速度計、ＨＭＤに搭載されたＬＥＤの回転、もしくはコントローラのＬＥＤ、またはそれらの２つ以上の組み合わせを用いて、ＨＭＤの動きを検出することにより、ＨＭＤのコードが、頻繁に引っ張られていたり、ピンと張りすぎていたり、ユーザーに絡まったりしたときにも検出することができる。かかる信号または状態が一旦検出されると、システムは、適切な警告及び／またはデータを提供して、ゲームシーンから遷移させる。上記状態は、ＨＭＤに搭載されたオペレーティングシステムのコード、特定ゲームのコード、ゲーム機のソフトウェア、ゲーム機によって実行されるコード、ゲームで実行されるコード、またはクラウドサーバ上で実行されるコードによって監視される。
【００７１】
具体的な例示的実施形態を参照して実施形態を説明してきたが、本出願の広義の概念及び範囲から逸脱することなく、それらの例示的実施形態に種々の変形及び変更をなすことが可能であることは明白であろう。従って、本明細書及び本図面は、限定的な意味ではなく例示とみなされるべきである。
【００７２】
図１３に、本発明のいくつかの実施形態の実装に使用され得るハードウェア及びユーザーインターフェースを示す。図６は、ソニー（登録商標）プレイステーション３（登録商標）エンターテイメントデバイスのシステムアーキテクチャ全体を概略的に示している。プレイステーションの他のバージョンは、これよりも多くのまたは少ない特徴を有し得る。システムユニット１３００には、システムユニット１３００に接続可能な種々の周辺装置が提供される。システムユニット１３００は、セルプロセッサ１３０２、Ｒａｍｂｕｓ（登録商標）ダイナミックランダムアクセスメモリ（ＸＤＲＡＭ）ユニット１３０４、専用ビデオランダムアクセスメモリ（ｖｉｄｅｏ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ：ＶＲＡＭ）ユニット１３０８を備えたリアリティシンセサイザグラフィックユニット１３０６、及びＩ／Ｏブリッジ１３１０を備える。また、システムユニット１３００は、Ｉ／Ｏブリッジ１３１０を介してアクセス可能な、ディスク１３１２ａから読み出すためのブルーレイ（登録商標）ディスクＢＤ−ＲＯＭ（登録商標）光ディスクリーダ１３１２、及び着脱可能なスロットインハードディスクドライブ（ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ：ＨＤＤ）１３１４も備える。任意ではあるが、システムユニット１３００は、同様にＩ／Ｏブリッジ１３１０を介してアクセス可能な、コンパクトフラッシュ（登録商標）メモリカード、メモリースティック（登録商標）メモリカードなどを読み出すためのメモリカードリーダ１３０１も備える。
【００７３】
Ｉ／Ｏブリッジ１３１０は、６個のＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）２．０ポート１３１６、ギガビットイーサネット（登録商標）ポート１３１８、ＩＥＥＥ８０２．１１ｂ／ｇ無線ネットワーク（Ｗｉ−Ｆｉ）ポート１３２０、及び７つのブルートゥース（登録商標）接続まで対応可能なブルートゥース（登録商標）無線リンクポート１３２２にも接続されている。
【００７４】
動作時に、Ｉ／Ｏブリッジ１３１０は、１つ以上のゲームコントローラ１１０及び１３２４からのデータを含む、全ての無線、ＵＳＢ、及びイーサネット（登録商標）のデータを処理する。例えば、ユーザーがゲームをプレイしているとき、Ｉ／Ｏブリッジ１３１０は、ゲームコントローラ１１０及び１３２４からブルートゥース（登録商標）リンクを介してデータを受信し、そのデータをセルプロセッサ１３０２に転送し、セルプロセッサ１３０２は、ゲームの現在の状態を適宜更新する。
【００７５】
また、無線、ＵＳＢ、及びイーサネット（登録商標）の各ポートを介して、ゲームコントローラ１１０及び１３２４のほかに、他の周辺装置も接続することが可能となる。このような周辺装置には、リモコン１３２６、キーボード１３２８、マウス１３３０、ソニーＰＳＰ（登録商標）エンターテイメントデバイスなどのポータブルエンターテイメントデバイス１３３２、プレイステーション（登録商標）アイカメラ１３３４などのビデオカメラ、形状体１３３６、及びマイクロホン１３３８などがある。このため、これらの周辺装置は、原則としてシステムユニット１３００に無線で接続され得る。例えば、ポータブルエンターテイメントデバイス１３３２は、Ｗｉ−Ｆｉアドホック接続を介して通信してもよく、他方、形状体１３３６は、ブルートゥース（登録商標）リンクを介して通信してもよい。
【００７６】
これらのインターフェースを提供することは、プレイステーション３デバイスが、場合によっては、デジタルビデオレコーダ（ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｒｅｃｏｒｄｅｒ：ＤＶＲ）、セットトップボックス、デジタルカメラ、ポータブルメディアプレーヤー、ボイスオーバーインターネットプロトコル（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ：ＩＰ）電話、携帯電話、プリンタ、及びスキャナなどの他の周辺装置とも互換性があることを意味する。さらに、ＵＳＢポート１３１６を介して旧式メモリカードリーダ１３４０をシステムユニットに接続してもよく、それにより、プレイステーションデバイスまたはプレイステーション２（登録商標）デバイスで用いられる種類のメモリカードの読み出しが可能となる。
【００７７】
ゲームコントローラ１１０及び１３２４は、ブルートゥース（登録商標）リンクを介してシステムユニット１３００と無線通信するように動作可能である。あるいは、ゲームコントローラ１１０及び１３２４は、ＵＳＢポートに接続されるように動作可能であり、それによってゲームコントローラ１１０及び１３２４の電池に充電するための電力も供給する。また、ゲームコントローラ１１０及び１３２４は、メモリ、プロセッサ、メモリカードリーダ、フラッシュメモリなどの永続メモリ、照明付き球状面、発光ダイオード（ＬＥＤ）、または赤外線光源などの光放出器、超音波通信用のマイクロホン及びスピーカ、音響室、デジタルカメラ、内部時計、ゲーム機に対向する認識可能な形状、並びにブルートゥース（登録商標）、ＷｉＦｉ（登録商標）などのプロトコルを用いた無線通信手段も備えることができる。認識可能な形状は、実質的に、球体、立方体、平行四辺形、直方体、円錐、角錐、サッカーボール、フットボールもしくはラグビーボール、不完全な球体、球体の断面、角錐台、円錐台、野球バット、切頂立方体、多面体、星形などの形状、またはこれらの形状の２つ以上を組み合わせた形状とすることができる。
【００７８】
ゲームコントローラ１３２４は、両手で使用するように設計されたコントローラであり、ゲームコントローラ１１０は、ボールアタッチメント付きの片手用コントローラである。１つ以上のアナログジョイスティック及び従来の制御ボタンに加えて、ゲームコントローラは３次元位置決定の対象となる。従って、ユーザーがゲームコントローラに与えたジェスチャー及び動きは、従来のボタンまたはジョイスティックによるコマンドに加えて、またはその代わりに、ゲームへの入力として変換され得る。任意ではあるが、ソニーＰＳＰポータブルデバイスなどの、無線対応の他の周辺装置をコントローラとして使用してもよい。ソニーＰＳＰポータブルデバイスの場合、追加のゲーム情報または制御情報（例えば、制御命令またはライブの数）が当該デバイスの画面に提示され得る。他の代替的または補助的な制御機器を使用してもよく、これには、ダンスマット（図示せず）、ライトガン（図示せず）、ハンドル及びペダル（図示せず）、または、即答クイズゲーム用の１つもしくは複数の大型ボタン（これも図示せず）などの特注コントローラなどがある。
【００７９】
リモコン１３２６も、ブルートゥース（登録商標）リンクを介してシステムユニット１３００と無線通信するように動作可能である。リモコン１３２６は、ブルーレイ（登録商標）ディスクＢＤ−ＲＯＭリーダ１３１２の操作、及びディスク内容の閲覧に適した制御を備える。
【００８０】
ブルーレイディスクＢＤ−ＲＯＭリーダ１３１２は、従来の記録済みＣＤ、記録可能ＣＤ、及びいわゆるスーパーオーディオＣＤのほかに、プレイステーションデバイス及びプレイステーション２デバイスと互換のＣＤ−ＲＯＭを読み出すように動作可能である。リーダ１３１２は、従来の記録済みＤＶＤ及び記録可能ＤＶＤのほかに、プレイステーション２デバイス及びプレイステーション３デバイスと互換のＤＶＤ−ＲＯＭを読み出すように動作可能である。さらに、リーダ１３１２は、従来の記録済みブルーレイディスク及び記録可能ブルーレイディスクのみならず、プレイステーション３デバイスと互換のＢＤ−ＲＯＭを読み出すように動作可能である。
【００８１】
システムユニット１３００は、リアリティシンセサイザグラフィックユニット（ＲＳＸ）１３０６を介して、プレイステーション３デバイスによって生成または復号化された音声及びビデオを、音声コネクタ及びビデオコネクタ経由で、ディスプレイ１３４６及び１つ以上のスピーカ１３４８またはスタンドアロンスピーカ１３５０を備えた、モニタまたはテレビ受像機などの表示及び音声出力装置１３４２に提供するように動作可能である。一実施形態では、音声入力及び注視入力を利用することにより、ユーザーのＰＯＧに応じて、特定の音声話者に向けて音を再生する。音声コネクタ１３５８は、従来のアナログ出力及びデジタル出力を備え得るが、ビデオコネクタ１３６０は、コンポーネントビデオ出力、Ｓ−ビデオ出力、コンポジットビデオ出力、及び１つ以上の高品位マルチメディアインターフェース（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ：ＨＤＭＩ（登録商標））出力などを種々備え得る。従って、ビデオ出力は、ＰＡＬもしくはＮＴＳＣなどのフォーマット、または７２０ｐ、１０８０ｉもしくは１０８０ｐの高解像度であってもよい。
【００８２】
音声処理（生成、復号化など）はセルプロセッサ１３０２によって実行される。プレイステーション３デバイスのオペレーティングシステムは、ドルビー（登録商標）５．１サラウンドサウンド、ドルビー（登録商標）シアターサラウンド（Ｔｈｅａｔｒｅ  Ｓｕｒｒｏｕｎｄ：ＤＴＳ）、及びブルーレイ（登録商標）ディスクからの７．１サラウンドサウンドの復号化に対応している。
【００８３】
本実施形態では、ビデオカメラ１３３４は、１つの電荷結合素子（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ：ＣＣＤ）、ＬＥＤインジケータ、及びハードウェアベースのリアルタイムデータ圧縮・符号化装置を備えており、システムユニット１３００による復号化のために、圧縮済みのビデオデータが、イントラ画像ベースのＭＰＥＧ（ｍｏｔｉｏｎ  ｐｉｃｔｕｒｅ  ｅｘｐｅｒｔ  ｇｒｏｕｐ）標準などの適切なフォーマットで送信され得る。カメラのＬＥＤインジケータは、例えば、照明条件が不利であることを示すために、システムユニット１３００からの適切な制御データに応答して発光するように配置されている。ビデオカメラ１３３４の実施形態は、ＵＳＢ、ブルートゥース（登録商標）またはＷｉ−Ｆｉ通信ポートを介して、システムユニット１３００に様々な方法で接続してもよい。ビデオカメラの実施形態は、これと関連する１つ以上のマイクロホンを備えてもよく、音声データを送信することも可能となり得る。ビデオカメラの実施形態では、ＣＣＤは、高解像度のビデオキャプチャに適した分解能を有し得る。使用時に、ビデオカメラによってキャプチャされた画像は、例えば、ゲーム内に取り込まれ、またはゲームの制御入力として解釈され得る。別の実施形態では、カメラは、赤外線光の検出に適した赤外線カメラである。
【００８４】
一般に、システムユニット１３００の通信ポートの１つを介して、ビデオカメラまたはリモコンなどの周辺装置とのデータ通信がうまく行われるように、デバイスドライバなどの適切なソフトウェアを提供する必要がある。デバイスドライバ技術は公知であり、ここでは詳細に説明しない。ただし、当業者であれば、デバイスドライバまたは同様のソフトウェアインターフェースが、記載された本実施形態において必要とされ得ることを認識するであろうと言える。
【００８５】
本発明の種々の実施形態に係る、ゲームシステム１１００のブロック図を図１４に示す。ゲームシステム１１００は、１つ以上のクライアント１１１０にネットワーク１１１５を介してビデオストリームを提供するように構成されている。ゲームシステム１１００は、通常、ビデオサーバシステム１１２０及び省略可能なゲームサーバ１１２５を含む。ビデオサーバシステム１１２０は、最低限のサービス品質で１つ以上のクライアント１１１０にビデオストリームを提供するように構成されている。例えば、ビデオサーバシステム１１２０は、ビデオゲーム内の状態または視点を変更するゲームコマンドを受け取り、その状態の変更を反映する更新済みのビデオストリームを最低限の遅延時間でクライアント１１１０に提供してもよい。ビデオサーバシステム１１２０は、未定義のフォーマットを含む、多様な代替ビデオフォーマットを用いてビデオストリームを提供するように構成され得る。さらに、ビデオストリームは、多様なフレームレートでユーザーに提示するように構成されたビデオフレームを含み得る。通常のフレームレートは、毎秒３０フレーム、毎秒６０フレーム、及び毎秒１１２０フレームであるが、これよりも高いかまたは低いフレームレートは、本発明の他の実施形態に含まれる。
【００８６】
クライアント１１１０は、本明細書ではそれぞれ１１１０Ａ、１１１０Ｂなどと呼ばれ、ヘッドマウントディスプレイ、端末、パーソナルコンピュータ、ゲーム機、タブレットコンピュータ、電話、セットトップボックス、キオスク、無線機器、デジタルパッド、スタンドアロン機器、携帯型ゲームプレイングデバイス、及び／または同種のものを含み得る。通常、クライアント１１１０は、符号化されたビデオストリームを受信し、そのビデオストリームを復号化し、得られたビデオをユーザー（例えば、ゲームのプレイヤー）に提示するように構成されている。符号化されたビデオストリームを受信する、かつ／または、そのビデオストリームを復号化する処理には、通常、クライアントの受信バッファ内に各ビデオフレームを記憶することが含まれる。ビデオストリームは、クライアント１１１０と一体化したディスプレイにおいて、またはモニタもしくはテレビ受像機などの別個の装置においてユーザーに提示されてもよい。クライアント１１１０は、必要に応じて、２人以上のゲームプレイヤーに対応するように構成されている。例えば、ゲーム機は、２人、３人、４人またはそれ以上の同時プレイヤーに対応するように構成されてもよい。これらのプレイヤーのそれぞれが、独立したビデオストリームを受信してもよく、あるいは、１つのビデオストリームが、各プレイヤー向けに特に生成された（例えば、各プレイヤーの視点に基づいて生成された）フレーム領域を含んでもよい。クライアント１１１０は、必要に応じて、地理的に分散される。ゲームシステム１１００に含まれるクライアントの数は、１つまたは２つから数千、数万またはそれ以上と広範に変わり得る。本明細書で使用する場合、「ゲームプレイヤー」という用語は、ゲームをプレイする人を指すために用いられ、「ゲームプレイングデバイス」という用語は、ゲームをプレイするために使用されるデバイスを指すために用いられる。いくつかの実施形態では、ゲームプレイングデバイスは、ユーザーにゲーム体験を与えるように連携する複数のコンピューティング装置を指す場合がある。例えば、ゲーム機及びＨＭＤは、ビデオサーバシステム１１２０と連携して、ＨＭＤを通して見られるゲームを提供してもよい。一実施形態では、ゲーム機は、ビデオサーバシステム１１２０からビデオストリームを受信し、ゲーム機は、そのビデオストリーム、または当該ビデオストリームに対する更新をＨＭＤに転送してレンダリングさせる。
【００８７】
クライアント１１１０は、ネットワーク１１１５を介してビデオストリームを受信するように構成されている。ネットワーク１１１５は、電話網、インターネット、無線ネットワーク、電力線ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、プライベートネットワーク、及び／または同種のものなどの任意の種類の通信ネットワークであってよい。通常の実施形態では、ビデオストリームは、ＴＣＰ／ＩＰまたはＵＤＰ／ＩＰなどの標準プロトコルを介して通信される。あるいは、ビデオストリームは、独自規格を介して通信される。
【００８８】
クライアント１１１０の典型的な実施例は、プロセッサ、不揮発性メモリ、ディスプレイ、復号化ロジック、ネットワーク通信機能、及び入力装置を含むパーソナルコンピュータである。復号化ロジックは、ハードウェア、ファームウェア、及び／またはコンピュータ可読媒体に記憶されたソフトウェアを含み得る。ビデオストリームを復号化（及び符号化）するシステムは、当技術分野では周知であり、使用される特定の符号化方式に応じて変わる。
【００８９】
クライアント１１１０は、受信したビデオを修正するように構成されたシステムをさらに含み得るが、これは必須ではない。例えば、クライアントは、さらなるレンダリングを実行する、あるビデオ画像を別のビデオ画像の上に重ね合わせる、ビデオ画像を切り取るといったことを行うように構成されてもよい。例えば、クライアント１１１０は、Ｉフレーム、Ｐフレーム、及びＢフレームなどの各種のビデオフレームを受信し、これらのフレームを処理してユーザーへの表示用の画像にするように構成されてもよい。いくつかの実施形態では、クライアント１１１０の一部は、さらなるレンダリング、シェーディング、３Ｄへの変換、または同様の操作をビデオストリームに行うように構成されている。クライアント１１１０の一部は、必要に応じて、２つ以上の音声ストリームまたはビデオストリームを受信するように構成されている。クライアント１１１０の入力装置には、例えば、片手用ゲームコントローラ、両手用ゲームコントローラ、ジェスチャー認識システム、注視認識システム、音声認識システム、キーボード、ジョイスティック、ポインティングデバイス、フォースフィードバックデバイス、動き及び／もしくは位置検出デバイス、マウス、タッチスクリーン、神経インターフェース、カメラ、未開発の入力装置、並びに／または同種のものが含まれ得る。
【００９０】
クライアント１１１０によって受信されたビデオストリーム（及び任意には音声ストリーム）は、ビデオサーバシステム１１２０によって生成及び提供される。本明細書の他の箇所でさらに説明するように、このビデオストリームはビデオフレームを含む（また、音声ストリームは音声フレームを含む）。ビデオフレームは、ユーザーに表示される画像に対して有意に寄与するように構成されている（例えば、これらのフレームは、適切なデータ構造内に画素情報を含む）。本明細書で使用する場合、「ビデオフレーム」という用語は、例えば、ユーザーに表示される画像に寄与する（例えば、影響を与える）ように構成されている主要情報を含むフレームを指すために用いられる。「ビデオフレーム」に関する本明細書の教示の多くは、「音声フレーム」にも適用することが可能である。
【００９１】
クライアント１１１０は、通常、ユーザーから入力を受け取るように構成されている。これらの入力は、ビデオゲームの状態を変更する、あるいはゲームプレイに影響を及ぼすように構成されたゲームコマンドを含み得る。このゲームコマンドは、入力装置を用いて受け取ることができ、かつ／またはクライアント１１１０上で実行される命令をコンピュータ処理することによって自動的に生成され得る。受け取ったゲームコマンドは、クライアント１１１０から、ネットワーク１１１５を介してビデオサーバシステム１１２０及び／またはゲームサーバ１１２５に通信される。例えば、いくつかの実施形態では、ゲームコマンドは、ビデオサーバシステム１１２０を介してゲームサーバ１１２５に通信される。いくつかの実施形態では、ゲームコマンドの各コピーが、クライアント１１１０からゲームサーバ１１２５及びビデオサーバシステム１１２０に通信される。ゲームコマンドの通信は、必要に応じて、コマンドの識別情報に左右される。ゲームコマンドは、必要に応じて、クライアント１１１０Ａから、音声ストリームまたはビデオストリームをクライアント１１１０Ａに提供するのに用いられる別の経路または通信チャネルを通じて通信される。
【００９２】
ゲームサーバ１１２５は、必要に応じて、ビデオサーバシステム１１２０以外の別のエンティティによって運用される。例えば、ゲームサーバ１１２５は、マルチプレイヤーゲームの提供者によって運用されてもよい。本実施例では、ビデオサーバシステム１１２０は、必要に応じて、ゲームサーバ１１２５によってクライアントとして見えるようになっており、さらに、必要に応じて、ゲームサーバ１１２５の立場からは、従来技術のゲームエンジンを実行する従来技術のクライアントとして見えるように構成されている。ビデオサーバシステム１１２０とゲームサーバ１１２５の間の通信は、必要に応じて、ネットワーク１１１５を介して行われる。このようにして、ゲームサーバ１１２５を、従来技術のマルチプレイヤー用ゲームサーバとすることができる。このゲームサーバは、ゲーム状態情報を複数のクライアントに送信するが、そのうちの１つはビデオサーバシステム１１２０である。ビデオサーバシステム１１２０は、ゲームサーバ１１２５の複数のインスタンスと同時に通信するように構成され得る。例えば、ビデオサーバシステム１１２０は、複数の異なるビデオゲームを異なるユーザーに提供するように構成することができる。これらの異なるビデオゲームのそれぞれを、異なるゲームサーバ１１２５によって対応させてもよく、かつ／または異なるエンティティによって提供してもよい。いくつかの実施形態では、ビデオサーバシステム１１２０の、地理的に分散された幾つかのインスタンスは、複数の異なるユーザーにビデオゲームを提供するように構成されている。ビデオサーバシステム１１２０のこれらのインスタンスのそれぞれは、ゲームサーバ１１２５の同様のインスタンスと通信してもよい。ビデオサーバシステム１１２０と１つ以上のゲームサーバ１１２５との間の通信は、必要に応じて、専用の通信チャネルを介して行われる。例えば、ビデオサーバシステム１１２０は、これら２つのシステム間の通信に割り当てられている高帯域幅チャネルを介して、ゲームサーバ１１２５に接続されてもよい。
【００９３】
ビデオサーバシステム１１２０は、ビデオソース１１３０、Ｉ／Ｏ装置１１４５、プロセッサ１１５０、及び非一時的記憶装置１１５５を少なくとも備える。ビデオサーバシステム１１２０は、１つのコンピューティング装置を備えてもよく、あるいは複数のコンピューティング装置間に分散されてもよい。これらのコンピューティング装置は、必要に応じて、ローカルエリアネットワークなどの通信システムを介して接続される。
【００９４】
ビデオソース１１３０は、ビデオストリーム（例えば、ストリーミングビデオ、または動画を構成する一連のビデオフレーム）を提供するように構成されている。いくつかの実施形態では、ビデオソース１１３０は、ビデオゲームエンジン及びレンダリングロジックを備える。ビデオゲームエンジンは、ゲームコマンドをプレイヤーから受け取り、受け取ったコマンドに基づいてビデオゲームの状態のコピーを保持するように構成されている。このゲーム状態は、通常は視点と共に、ゲーム環境におけるオブジェクトの位置状態を含む。また、ゲーム状態は、オブジェクトの属性、画像、色、及び／または質感を含んでもよい。ゲーム状態は、通常、ゲームルール、並びに、移動、回転、攻撃、フォーカス設定、対話、使用、及び／または同種のものなどのゲームコマンドに基づいて保持される。このゲームエンジンの一部は、必要に応じてゲームサーバ１１２５に配置される。ゲームサーバ１１２５は、地理的に分散されたクライアントを用いる複数のプレイヤーから受け取ったゲームコマンドに基づき、ゲームの状態のコピーを保持してもよい。これらの場合、ゲーム状態は、ゲームサーバ１１２５によってビデオソース１１３０に提供されるが、ここでは、ゲーム状態のコピーが記憶され、レンダリングが実行される。ゲームサーバ１１２５は、クライアント１１１０からネットワーク１１１５を介してゲームコマンドを直接受け取ってもよく、かつ／または、ビデオサーバシステム１１２０を介してゲームコマンドを受け取ってもよい。
【００９５】
ビデオソース１１３０は、通常、レンダリングロジック（例えば、ハードウェア、ファームウェア、及び／または記憶装置１１５５などのコンピュータ可読媒体に記憶されたソフトウェア）を含む。このレンダリングロジックは、ゲーム状態に基づいてビデオストリームのビデオフレームを作成するように構成されている。レンダリングロジックの全てまたは一部は、必要に応じて、グラフィック処理ユニット（ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ：ＧＰＵ）内に配置される。レンダリングロジックは、通常、ゲーム状態及び視点に基づき、オブジェクト間の３次元の空間的関係を求めるように、かつ／または適切な質感などを付与するように構成された処理ステージを含む。レンダリングロジックは、生ビデオを生成する。その後、この生ビデオは、通常、クライアント１１１０への通信の前に符号化される。例えば、生ビデオは、Ａｄｏｂｅフラッシュ（登録商標）規格、ウェーブ（ｗａｖ）、Ｈ．２６４、Ｈ．２６３、Ｏｎ２、ＶＰ６、ＶＣ−１、ＷＭＡ、ハフワイユーブイ（Ｈｕｆｆｙｕｖ）、ラガリス（Ｌａｇａｒｉｔｈ）、ＭＰＧ−ｘ、Ｘｖｉｄ、ＦＦｍｐｅｇ、ｘ２６４、ＶＰ６−８、リアルビデオ、ｍｐ３などに従って符号化されてもよい。この符号化処理によってビデオストリームが生成されるが、このビデオストリームは、遠隔装置上のデコーダに受け渡すために必要に応じてパッケージ化される。ビデオストリームは、フレームサイズ及びフレームレートによって特徴付けられる。通常のフレームサイズには、８００×６００、１２８０×７２０（例えば、７２０ｐ）、１０２４×７６８などがあるが、その他のフレームサイズを使用してもよい。フレームレートは、単位時間当たりのビデオフレーム数である。ビデオストリームは、各種のビデオフレームを含み得る。例えば、Ｈ．２６４規格には、「Ｐ」フレーム及び「Ｉ」フレームが含まれる。Ｉフレームは、表示装置の全てのマクロブロック／ピクセルを再描画するための情報を含むのに対し、Ｐフレームは、それらの一部を再描画するための情報を含む。Ｐフレームは、Ｉフレームよりもデータサイズが小さいことが多い。本明細書で使用する場合、「フレームサイズ」という用語は、１フレーム内の画素数を指すことを意味する。「フレームデータサイズ」という用語は、フレームを記憶するのに必要なバイト数を指すために用いられる。
【００９６】
他の実施形態では、ビデオソース１１３０は、カメラなどのビデオ録画装置を備える。このカメラを用いて、遅延ビデオまたはライブビデオを生成してもよい。このビデオは、コンピュータゲームのビデオストリームに含めることができる。得られたビデオストリームは、必要に応じて、レンダリングされた画像とスチルカメラまたはビデオカメラを用いて記録された画像との両方を含む。また、ビデオソース１１３０は、予め記録された、ビデオストリームに含めるべきビデオを記憶するように構成された記憶装置を含んでもよい。また、ビデオソース１１３０は、物体（例えば、人）の動きまたは位置を検出するように構成された動きまたは位置検出装置、並びに、検出された動き及び／または位置に基づき、ゲーム状態を決定する、またはビデオを生成するように構成されたロジックを備えてもよい。
【００９７】
ビデオソース１１３０は、必要に応じて、他のビデオの上に置くように構成されたオーバーレイを提供するように構成されている。例えば、これらのオーバーレイは、コマンドインターフェース、ログイン指示、ゲームプレイヤーへのメッセージ、他のゲームプレイヤーの画像、他のゲームプレイヤーに対するビデオ供給（例えば、ウェブカムビデオ）を含み得る。タッチスクリーンインターフェースまたは注視検出インターフェースを含むクライアント１１１０Ａの実施形態では、このオーバーレイは、仮想のキーボード、ジョイスティック、タッチパッド、及び／または同種のものを含んでもよい。オーバーレイの一実施例では、プレイヤーの音声を音声ストリームにオーバーレイする。ビデオソース１１３０は、必要に応じて、１つ以上の音声ソースをさらに含む。
【００９８】
ビデオサーバシステム１１２０が、２人以上のプレイヤーからの入力に基づいてゲーム状態を保持するように構成されている実施形態では、各プレイヤーは異なる視点を有し得る。この視点には、視野の位置及び方向が含まれる。ビデオソース１１３０は、必要に応じて、各プレイヤーに対し、彼らの視点に基づいて別々のビデオストリームを提供するように構成されている。さらに、ビデオソース１１３０は、異なるフレームサイズ、フレームデータサイズ、及び／または符号化されたデータを各クライアント１１１０に提供するように構成されてもよい。ビデオソース１１３０は、必要に応じて、３Ｄビデオを提供するように構成されている。
【００９９】
Ｉ／Ｏ装置１１４５は、ビデオサーバシステム１１２０が情報を送信及び／または受信するように構成されている。このような情報としては、ビデオ、コマンド、情報を求める要求、ゲーム状態、注視情報、装置の動き、装置の位置、ユーザーの動き、クライアント識別情報、プレイヤー識別情報、ゲームコマンド、セキュリティ情報、音声、及び／または同種のものなどがある。Ｉ／Ｏ装置１１４５は、通常、ネットワークカードまたはモデムなどの通信ハードウェアを含む。Ｉ／Ｏ装置１１４５は、ゲームサーバ１１２５、ネットワーク１１１５、及び／またはクライアント１１１０と通信するように構成されている。
【０１００】
プロセッサ１１５０は、本明細書に述べたビデオサーバシステム１１２０の様々な構成要素内に含まれるロジック（例えば、ソフトウェア）を実行するように構成されている。例えば、プロセッサ１１５０は、ビデオソース１１３０、ゲームサーバ１１２５、及び／またはクライアントクオリファイア（Ｃｌｉｅｎｔ  Ｑｕａｌｉｆｉｅｒ）１１６０の機能を実行するために、ソフトウェア命令を用いてプログラムされ得る。ビデオサーバシステム１１２０は、必要に応じて、プロセッサ１１５０の２つ以上のインスタンスを含む。また、プロセッサ１１５０は、ビデオサーバシステム１１２０によって受信されたコマンドを実行するために、または、本明細書に述べたゲームシステム１１００の様々な要素の動作を協調させるために、ソフトウェア命令を用いてプログラムされてもよい。プロセッサ１１５０は、１つ以上のハードウェア装置を含み得る。プロセッサ１１５０は、電子プロセッサである。
【０１０１】
記憶装置１１５５は、非一時的なアナログ記憶装置及び／またはデジタル記憶装置を含む。例えば、記憶装置１１５５は、ビデオフレームを記憶するように構成されたアナログ記憶装置を含み得る。記憶装置１１５５は、コンピュータ読み取り可能なデジタル記憶装置（例えば、ハードドライブ、光学ドライブ、または固体記憶装置）を含み得る。記憶装置１１１５は、（例えば、適切なデータ構造またはファイルシステムによって）ビデオフレーム、人工フレーム、ビデオフレームと人工フレームの両方を含むビデオストリーム、音声フレーム、音声ストリーム、及び／または同種のものを記憶するように構成されている。記憶装置１１５５は、必要に応じて、複数の装置間に分散される。いくつかの実施形態では、記憶装置１１５５は、本明細書の他の箇所に述べたビデオソース１１３０のソフトウェア構成要素を記憶するように構成されている。これらの構成要素は、必要とされるときに提供できるようなフォーマットで記憶されてもよい。
【０１０２】
ビデオサーバシステム１１２０は、必要に応じて、クライアントクオリファイア１１６０をさらに備える。クライアントクオリファイア１１６０は、クライアント１１１０Ａまたは１１１０Ｂなどのクライアントの機能を遠隔的に決定するように構成されている。これらの機能には、クライアント１１１０Ａ自体の機能と、クライアント１１１０Ａとビデオサーバシステム１１２０の間の１つ以上の通信チャネルの機能との両方を含めることができる。例えば、クライアントクオリファイア１１６０は、ネットワーク１１１５を通じて通信チャネルをテストするように構成されてもよい。
【０１０３】
クライアントクオリファイア１１６０は、クライアント１１１０Ａの機能を手動で、または自動で決定する（例えば、見出す）ことができる。手動決定は、クライアント１１１０Ａのユーザーと通信すること、及びそのユーザーに機能の提供を要求することを含む。例えば、いくつかの実施形態では、クライアントクオリファイア１１６０は、画像、テキスト、及び／または同種のものをクライアント１１１０Ａのブラウザ内に表示するように構成されている。一実施形態では、クライアント１１１０Ａは、ブラウザを搭載したＨＭＤである。別の実施形態では、クライアント１１１０Ａは、ＨＭＤに表示され得るブラウザを備えたゲーム機である。表示されたオブジェクトにより、ユーザーに対し、クライアント１１１０Ａのオペレーティングシステム、プロセッサ、ビデオデコーダの種類、ネットワーク接続の種類、ディスプレイ解像度などの情報を入力することが要求される。ユーザーによって入力された情報は、クライアントクオリファイア１１６０に返送される。
【０１０４】
自動決定は、例えば、クライアント１１１０Ａ上のエージェントを実行することによって、かつ／またはクライアント１１１０Ａにテストビデオを送信することによって行われ得る。エージェントは、ジャバスクリプトなどの、ウェブページに組み込まれ、またはアドオンとしてインストールされたコンピュータ処理命令を含み得る。エージェントは、必要に応じて、クライアントクオリファイア１１６０によって提供される。様々な実施形態では、エージェントは、クライアント１１１０Ａの処理能力、クライアント１１１０Ａの復号化機能及び表示機能、クライアント１１１０Ａとビデオサーバシステム１１２０の間の通信チャネルにおける遅延時間の信頼性及び帯域幅、クライアント１１１０Ａの表示方式、クライアント１１１０Ａに存在するファイアウォール、クライアント１１１０Ａのハードウェア、クライアント１１１０Ａ上で実行されるソフトウェア、クライアント１１１０Ａ内のレジストリエントリ、及び／または同種のものを知ることができる。
【０１０５】
クライアントクオリファイア１１６０は、ハードウェア、ファームウェア、及び／またはコンピュータ可読媒体に記憶されたソフトウェアを含む。クライアントクオリファイア１１６０は、必要に応じて、ビデオサーバシステム１１２０の１つ以上の他の要素とは別個のコンピューティング装置に配置される。例えば、いくつかの実施形態では、クライアントクオリファイア１１６０は、クライアント１１１０とビデオサーバシステム１１２０の２つ以上のインスタンスとの間の通信チャネルの特性を決定するように構成されている。これらの実施形態では、クライアントクオリファイアによって見出された情報を用いて、ビデオサーバシステム１１２０のどのインスタンスが、クライアント１１１０の１つに対してストリーミングビデオを配信するのに最適かを決定することができる。
【０１０６】
本発明の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースの家電またはプログラマブルな家電、ミニコンピュータ、メインフレームコンピュータなどを含む種々のコンピュータシステム構成を用いて実施され得る。本発明のいくつかの実施形態は、分散コンピューティング環境で実施することもできる。この場合、タスクは、有線ベースのネットワークまたは無線ネットワークを通じて結合された遠隔処理装置によって実行される。
【０１０７】
上記の実施形態を念頭に置くことにより、本発明の複数の実施形態は、コンピュータシステムに記憶されたデータに影響を与える種々のコンピュータ実行動作を用いることができることを理解すべきである。これらの動作は、物理量の物理的操作を必要とする動作である。本明細書に記載された、本発明の種々の実施形態の一部を構成する動作はいずれも、有用なマシン動作である。本発明の実施形態のいくつかの実施形態はまた、これらの動作を実行するデバイスまたは装置にも関する。装置は、所望の目的のために特別に構築することができ、あるいは、装置は、コンピュータに記憶されたコンピュータプログラムによって選択的に作動または設定される汎用コンピュータとすることができる。特に、種々の汎用マシンは、本明細書の教示に従って記述されたコンピュータプログラムと共に使用することができ、あるいは、所望の動作を実行するためにより特化された装置を構築することがより好都合となる場合がある。
【０１０８】
本発明の種々の実施形態は、コンピュータ可読媒体上のコンピュータ可読コードとして具現化することもできる。コンピュータ可読媒体は、データを記憶可能な任意のデータ記憶装置であり、このデータは、その後、コンピュータシステムによって読み出すことができる。コンピュータ可読媒体の実施例には、ハードドライブ、ネットワークアタッチトストレージ（ｎｅｔｗｏｒｋ  ａｔｔａｃｈｅｄ  ｓｔｏｒａｇｅ：ＮＡＳ）、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ、コンパクトディスクＲＯＭ（ｃｏｍｐａｃｔ  ｄｉｓｃ−ＲＯＭ：ＣＤ−ＲＯＭ）、ＣＤ−レコーダブル（ＣＤ−ｒｅｃｏｒｄａｂｌｅ：ＣＤ−Ｒ）、ＣＤ−リライタブル（ｒｅｗｒｉｔａｂｌｅ：ＲＷ）、磁気テープ、並びに他の光学データ記憶装置及び非光学データ記憶装置が含まれる。コンピュータ可読媒体に、ネットワーク結合のコンピュータシステム上に分散されたコンピュータ読み取り可能な有形媒体を含めることにより、コンピュータ可読コードを分散方式で記憶し、実行することができる。
【０１０９】
本方法の動作を特定の順序で説明したが、望ましい方法でオーバーレイ動作の処理が実行される限りは、動作の合間に他のハウスキーピング動作を実行してもよく、または、動作を調整してそれらが若干異なる時間に行われるようにしてもよく、または、処理に関連した様々な間隔で処理動作を行うことを可能にするシステム内に分散されてもよいことを理解すべきである。
【０１１０】
上述の発明について、理解しやすくするために幾分詳細に説明してきたが、添付された特許請求の範囲内で一定の変更及び修正をなすことが可能であることは明らかであろう。従って、本実施形態は例示であって限定的ではないとみなされるべきであり、本発明の種々の実施形態は、本明細書に述べた詳細事項に限定されることはないが、添付された特許請求の範囲及びそれらの均等物の範囲内で修正され得る。
【図１】
2020175204.tif 000003
【図２】
2020175204.tif 000004
【図３】
2020175204.tif 000005
【図４】
2020175204.tif 000006
【図５】
2020175204.tif 000007
【図６】
2020175204.tif 000008
【図７】
2020175204.tif 000009
【図８】
2020175204.tif 000010
【図９】
2020175204.tif 000011
【図１０】
2020175204.tif 000012
【図１０Ａ】
2020175204.tif 000013
【図１０Ｂ】
2020175204.tif 000014
【図１０Ｃ】
2020175204.tif 000015
【図１１Ａ】
2020175204.tif 000016
【図１１Ｂ】
2020175204.tif 000017
【図１１Ｃ】
2020175204.tif 000018
【図１１Ｄ】
2020175204.tif 000019
【図１１Ｅ】
2020175204.tif 000020
【図１１Ｆ】
2020175204.tif 000021
【図１２】
2020175204.tif 000022
【図１３】
2020175204.tif 000023
【図１４】
2020175204.tif 000024
【手続補正書】
【提出日】令和2年7月17日(2020.7.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサにより実行される方法であって、
クライアントデバイス上でゲームを実行し、前記実行により、前記ゲームのインタラクティブシーンがヘッドマントディスプレイ（ＨＭＤ）に送信されて、表示部にレンダリングされ、前記ＨＭＤは、ユーザにより装着されたときに、現実世界環境への視野をブロックするように構成されており、前記ＨＭＤは前記クライアントデバイスと無線通信するものであり、
前記ユーザが存在している現実世界環境の３次元空間内の前記ＨＭＤの座標の決定を行い、前記座標は、前記ＨＭＤを装着している前記ユーザの現在位置を識別するために用いられ、
前記ゲームの実行中に前記ＨＭＤを装着している前記ユーザの移動を監視し、前記ユーザの前記移動は、前記３次元空間内の前記ＨＭＤの１つ以上の座標の変化により識別され、
前記ユーザにより装着された前記ＨＭＤの前記１つ以上の座標の変化を評価して、前記ユーザが前記現実世界環境内のインタラクション空間の境界に接近しているときを判定し、前記インタラクション空間は、前記ユーザが存在している前記現実世界環境内の空間であり、かつ、前記ＨＭＤに結合された画像センサの視野をカバーし、前記画像センサは前記現実世界環境の前記３次元空間をキャプチャするために用いられ、前記境界は、前記インタラクション空間の端として定義され、かつ
前記ユーザが前記境界に向かって移動していると検出すると、警告信号を送信して前記ＨＭＤにレンダリングし、前記警告信号は、前記ユーザの前記インタラクション空間の前記境界への接近を示すものであり、前記警告信号は、前記ＨＭＤに表示された前記ゲームの前記インタラクティブシーンの少なくとも一部とブレンドされた前記インタラクション空間の画像を含み、前記画像は、前記インタラクション空間の前記境界を表すアウトラインを含むものであり、
前記警告信号の送信では、前記評価に基づいて、前記現実世界環境の前記インタラクション空間の画像と前記インタラクティブシーンの輝度とが調整され、この調整は、
ユーザが前記インタラクション空間の前記境界に近づき続けると、前記ゲームの前記インタラクティブシーンの少なくとも一部をカバーするインタラクション空間の前記画像の輝度が徐々に増加することで、前記アウトラインの輝度が増加してかつ前記インタラクティブシーンの輝度が徐々に減少し、かつ、
前記ユーザが前記境界から離れて前記インタラクション空間の中心へと向かうにつれて、前記現実世界環境の前記インタラクション空間の前記画像の輝度が徐々に減少することで、前記アウトラインの前記輝度が減少して前記インタラクティブシーンの前記輝度が徐々に増加するようになされる、方法。
【請求項２】
請求項１に記載の方法であって、
前記警告信号は、更に音声形式で与えられ、音声の強度は、前記ユーザが前記インタラクション空間の前記境界に近づくときに音量が増加し、かつ、前記ユーザが前記インタラクション空間の前記境界から離れるように移動するときに前記音量が減少することで調整される、方法。
【請求項３】
請求項１に記載の方法であって、
前記警告信号は、更に、テキスト形式または触覚形式あるいはこれらの任意の組合せにより提供され、テキストまたは触覚信号の強度は、前記ユーザが前記インタラクション空間の前記境界に近づくときに前記テキストの輝度又は前記触覚信号の強度が増加し、かつ、前記ユーザが前記インタラクション空間の前記境界から離れるように移動するときに、前記テキストの輝度又は前記触覚信号の強度が減少するように調整される、方法。
【請求項４】
請求項１に記載の方法であって、
前記ユーザが前記現実世界環境内の前記インタラクション空間の前記境界から離れてかつ前記インタラクション空間の中心へと向かうように前記ユーザに指示するための指示が前記警告信号に更に含まれる、方法。
【請求項５】
請求項１に記載の方法であって、  更に、前記境界に沿って配置された１つ以上の現実世界オブジェクトを検出し、前記警告信号は、前記ユーザが近づいている前記１つ以上の現実世界オブジェクトの画像を提供する、方法。
【請求項６】
請求項１に記載の方法であって、
前記座標の決定では、更に、前記ＨＭＤの外部にある１台以上のカメラによってキャプチャされた現実世界環境の３次元空間内の前記ＨＭＤの画像を受信し、かつ、前記３次元空間内の前記ＨＭＤの前記座標を計算する、方法。
【請求項７】
請求項６に記載の方法であって、
前記ゲームが実行されている間に、前記ＨＭＤに結合されて前方を向いた１つ以上のカメラによりキャプチャされた現実世界環境の３次元空間内の前記ＨＭＤの副画像を受信し、前記副画像は、３次元空間内の前記ＨＭＤの前記座標を認証するように分析される、方法。
【請求項８】
請求項１に記載の方法であって、  前記警告信号は、前記ＨＭＤで前記ゲームの前記インタラクティブシーンのレンダリングを停止する信号を更に含む、方法。  
【請求項９】
ヘッドマントディスプレイ（ＨＭＤ）のプロセッサにより実行される方法であって、
ゲームのインタラクティブシーンを前記ＨＭＤで受信して前記ＨＭＤのディスプレイスクリーンでレンダリングし、前記ゲームはクライアントデバイス上で実行され、前記ＨＭＤは、ユーザにより装着されたときに、現実世界環境への視野をブロックするように構成されており、前記インタラクティブシーンのためのデータは、無線通信を用いて前記クライアントデバイスによって前記ＨＭＤへと通信され、
前記ＨＭＤに結合されて前方を向いたカメラを用いて前記ユーザに近接した現実世界環境のインタラクション空間の画像をキャプチャし、前記画像は、前記ユーザが前記インタラクティブシーンを提供しているゲームとインタラクトしている間にキャプチャされ、前記インタラクション空間は、前記ユーザが存在する前記現実世界環境内の領域であってかつ前方を向いたカメラ視野をカバーし、前記現実世界環境は３次元フォーマットでキャプチャされ、
前記インタラクション空間の前記ＨＭＤの座標を決定するために、前記画像を前記クライアントデバイスでの処理のために送信し、前記座標は、前記ＨＭＤと、前記ＨＭＤを装着しているユーザとの現在位置を識別し、
前記現実世界環境の前記インタラクション空間の更なる画像をキャプチャし、前記更なる画像は、前記ゲームを実行している間に前記ＨＭＤの１つ以上の座標の変化を評価するために、前記クライアントデバイスに送信され、前記１つ以上の座標の変化は、前記現実世界環境の前記インタラクション空間内での前記ユーザの移動を識別するものであり、かつ、
前記ユーザが前記インタラクション空間の境界に接近していると判定されたときに前記ＨＭＤの前記表示部上でレンダリングするために、前記クライアントデバイスから警告信号を受信し、前記警告信号は、前記インタラクション空間の前記境界にユーザが近づいていることを示すものであり、前記クライアントデバイスから受信された前記警告信号は、前記ＨＭＤにレンダリングされた前記ゲームの前記インタラクティブシーンの少なくとも一部とブレンドされた前記インタラクション空間の画像を含み、前記画像は、前記インタラクション空間の前記境界を表すアウトラインを含むものであり、
前記インタラクティブシーンと前記警告信号に含まれる前記現実世界環境の前記インタラクション空間の前記画像との輝度は動的に調整され、この調整は、
前記ユーザが前記インタラクション空間の前記境界に近づくと、前記現実世界環境の前記画面の輝度が徐々に増加することで、前記アウトラインの輝度を徐々に増加させて前記インタラクティブシーンの輝度が徐々に減少し、かつ、
前記ユーザが前記インタラクション空間の前記境界から離れるように移動すると、前記現実世界環境の前記画像の輝度が徐々に減少することで、前記アウトラインの前記輝度が減少してかつ前記インタラクティブシーンの前記輝度が徐々に増加するようになされる、方法。
【請求項１０】
請求項９に記載の方法であって、
前記ＨＭＤの外部に１つ以上のカメラによってキャプチャされた前記インタラクション空間の副画像を受信し、かつ、  前記ユーザの前記移動を認証するために前記クライアントデバイスへと前記副画像を送信する、方法。
【請求項１１】
請求項９に記載の方法であって、
前記警告信号は、更に音声形式で与えられ、前記警告信号に与えられた情報は、音声の強度を動的に調整させるものであり、前記ＨＭＤにレンダリングされた前記音声の強度は、前記ユーザが前記インタラクション空間の前記境界に近づき続けるときに音量が増加し、かつ、前記ユーザが前記インタラクション空間の前記境界から離れるように移動するときに音量が減少することで調整される、方法。
【請求項１２】
請求項９に記載の方法であって、
前記警告信号は、更にテキスト形式または触覚形式あるいはこれらの任意の組合せにより提供され、警告信号に与えられた情報は、テキストまたは触覚信号の強度を動的に調整させるものであり、この調整では、前記ユーザが前記インタラクション空間の前記境界に近づき続けるときに前記テキストの輝度又は前記触覚信号の強度が増加し、かつ、前記ユーザが前記インタラクション空間の中心へと前記境界から離れるように移動するときに前記テキストの前記輝度又は前記触覚信号の強度が減少することによって、前記テキストまたは前記触覚信号の前記強度が調整される、方法。