(57)【要約】  画像データの表示を制御するためにディスプレイデバイスの追跡位置からの情報を使用するための技術が説明されている。ディスプレイデバイスは、例えば、画像の仮想現実（「ＶＲ」）および／または拡張現実（「ＡＲ」）表示に使用されるヘッドマウントディスプレイ（「ＨＭＤ」）デバイスであり得、ＨＭＤデバイスを着用しているユーザの周辺のシミュレート環境の一部を示す画像であり、追跡は、実際の物理的環境におけるＨＭＤデバイスの位置（例えば、３Ｄ空間における位置および／または向き）を決定することを含む。ＨＭＤデバイスまたは他のディスプレイデバイスの動作、および表示用の画像を提供する関連する画像レンダリングシステムの動作は、デバイスの追跡データを取得することと対応する画像をデバイス上に表示することとの間のレイテンシまたは他の遅延に関する情報を決定して使用することで改善され、決定された遅延が余りにも大きい場合、デバイスのセーフモード動作を開始することを含む。
2021514070.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
１または複数の構成されたハードウェア回路により、かつ、ヘッドマウントディスプレイデバイス上の表示用に、シミュレート環境の１または複数の画像を受信する段階であって、前記１または複数の画像は、第１時間に周囲の実際の環境における前記ヘッドマウントディスプレイデバイスの追跡された位置を使用して生成され、前記第１時間に対応する関連情報を有する、受信する段階と、
前記１または複数の構成されたハードウェア回路により、かつ、前記１または複数の画像を受信した後であるが、前記ヘッドマウントディスプレイデバイス上に受信された前記１または複数の画像を表示する前に、現在の時間と前記第１時間との間の差が、定義された閾値を超えている、と判定する段階と、
前記１または複数の構成されたハードウェア回路により、かつ、前記差が前記定義された閾値を超えているという前記判定に応答して、継続中の使用を保護するために前記ヘッドマウントディスプレイデバイスのセーフモード動作を開始する段階であって、前記シミュレート環境の前記受信された１または複数の画像を表示する代わりに、前記周囲の実際の環境を表す、前記ヘッドマウントディスプレイデバイス上の１または複数の他の画像を表示する段階を有する、開始する段階と
を備える方法。
【請求項２】
画像レンダリングシステムを実装する１または複数のハードウェアプロセッサにより、前記シミュレート環境の前記１または複数の画像を生成する段階であって、
前記第１時間に前記ヘッドマウントディスプレイデバイスの前記追跡された位置を識別する段階と、
将来の時間に前記ヘッドマウントディスプレイデバイスの将来の位置を推定する段階であって、前記将来の時間は、前記１または複数の画像を前記生成することと前記ヘッドマウントディスプレイデバイス上の前記１または複数の画像を後で表示することとの間の推定されたレイテンシだけ前記第１時間とは異なる、推定する段階と、
前記推定された将来の位置に基づく前記シミュレート環境の視野を含む前記１または複数の画像を生じさせる段階と
を有する、生成する段階と、
前記１または複数のハードウェアプロセッサにより、表示用に前記ヘッドマウントディスプレイデバイスへ１または複数のネットワーク接続を介して前記１または複数の画像を送信する段階と
を更に備える、請求項１に記載の方法。
【請求項３】
判定された前記差に少なくとも部分的に基づく前記ヘッドマウントディスプレイデバイス上の表示用の追加の画像を生成する際に前記画像レンダリングシステムによって使用するために、前記１または複数の構成されたハードウェア回路によって、前記画像レンダリングシステムへ前記１または複数のネットワーク接続を介して前記現在の時間と前記第１時間との間の前記判定された差に関する情報を送信する段階と、
前記１または複数のハードウェアプロセッサによって、前記現在の時間と前記第１時間との間の前記判定された差に関する送信された前記情報を受信する段階と、
前記１または複数のハードウェアプロセッサによって、前記現在の時間と前記第１時間との間の前記判定された差に少なくとも部分的に基づいて前記推定されたレイテンシを変更する段階と、
変更された前記推定されたレイテンシだけ現在の時間とは異なる１または複数の追加の将来の時間における前記ヘッドマウントディスプレイデバイスの１または複数の追加の将来の位置を推定する段階と、
前記１または複数のハードウェアプロセッサによって、前記推定された１または複数の追加の将来の位置に基づく前記シミュレート環境の１または複数の視野を含む、前記シミュレート環境の１または複数の追加の画像を生成する段階と、
前記１または複数のハードウェアプロセッサによって、表示用の前記ヘッドマウントディスプレイデバイスへ前記１または複数のネットワーク接続を介して前記１または複数の追加の画像を送信する段階と
を更に備える、請求項２に記載の方法。
【請求項４】
前記１または複数の画像の前記生成は、前記第１時間の後に生じ、前記１または複数の画像にタイムスタンプデータを追加して前記第１時間に対応する前記関連情報を前記１または複数の構成されたハードウェア回路に提供する段階であって、追加された前記タイムスタンプデータは、前記第１時間、または前記推定されたレイテンシだけ前記第１時間とは異なる前記将来の時間、または前記第１時間の後の前記１または複数の画像の前記生成の時間のうちの少なくとも１つを示す、段階を更に有する、
請求項２または３に記載の方法。
【請求項５】
前記１または複数の構成されたハードウェア回路によって、前記ヘッドマウントディスプレイデバイスを着用したユーザが前記周囲の実際の環境内を移動するときに、前記周囲の実際の環境における前記ヘッドマウントディスプレイデバイスの前記位置を複数の時間において追跡する段階と、前記画像レンダリングシステムへ前記１または複数のネットワーク接続を介して前記追跡からの情報を供給する段階であって、供給された前記情報は、前記第１時間における前記ヘッドマウントディスプレイデバイスの前記追跡された位置を含み、前記ユーザが位置する３次元空間内での前記第１時間における前記ヘッドマウントディスプレイデバイスの位置を示す、段階と、を更に備える、請求項２から４のいずれか一項に記載の方法。
【請求項６】
前記周囲の実際の環境における前記ヘッドマウントディスプレイデバイスの前記位置を追跡する前記段階は、３つの軸に沿って前記ヘッドマウントディスプレイデバイスの向きを決定する段階を更に有し、前記情報を供給する前記段階は、前記３次元空間内の前記位置にいる間の前記３つの軸に沿った前記ヘッドマウントディスプレイデバイスの前記第１時間における向きを示す段階を更に有する、請求項５に記載の方法。
【請求項７】
前記セーフモード動作を開始する前記段階は、ユーザに前記セーフモード動作中に移動することを停止させるために、前記ヘッドマウントディスプレイデバイスを着用している前記ユーザに１または複数の通知を提供する段階を更に有する、請求項１から６のいずれか一項に記載の方法。
【請求項８】
前記周囲の実際の環境の画像を取得するために前記ヘッドマウントディスプレイデバイス上のカメラを使用することにより前記１または複数の他の画像を取得する段階を更に備える、請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記ヘッドマウントディスプレイデバイスの現在の向きに関する追加の情報を取得するために前記ヘッドマウントディスプレイデバイス上の１または複数の慣性測定ユニットを使用することにより前記１または複数の他の画像を取得する段階と、前記現在の向きに関する前記追加の情報に少なくとも部分的に基づき前記周囲の実際の環境の１または複数の要素を示す情報を提供するために前記１または複数の他の画像を生成する段階と、を更に備える、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
前記１または複数の構成されたハードウェア回路は、前記ヘッドマウントディスプレイデバイス用のディスプレイシステムの一部である少なくとも１つのハードウェアプロセッサを含み、前記１または複数の画像を受信する前記段階は、前記１または複数の画像を生成する画像レンダリングシステムから少なくとも１つのネットワーク接続を介して前記１または複数の画像を受信する段階を含む、請求項１から９のいずれか一項に記載の方法。
【請求項１１】
前記１または複数の構成されたハードウェア回路は、ゲームシステムの一部である少なくとも１つのハードウェアプロセッサを更に含み、受信された前記１または複数の画像は各々、前記画像レンダリングシステムを含む前記ゲームシステム用のゲームプログラムを実行することにより生成されるビデオのフレームである、請求項１０に記載の方法。
【請求項１２】
システムであって、
ヘッドマウントディスプレイデバイスの１または複数のディスプレイパネルと、
前記ヘッドマウントディスプレイデバイスの前記１または複数のディスプレイパネル上での表示用の１または複数の画像を受信することであって、前記１または複数の画像は、第１時間に周囲の実際の環境における前記ヘッドマウントディスプレイデバイスの追跡された位置を使用し、前記第１時間に対応する関連情報を有するシミュレート環境の画像レンダリングシステムによって生成される、受信することと、
現在の時間と前記第１時間との間の差を判定し、前記画像レンダリングシステムによる使用のために、判定された前記差に関する情報を送信することと、
前記判定が、定義された閾値を前記差が超えていることを示す場合、前記ヘッドマウントディスプレイデバイスの動作に対する変更を開始することと、さもなければ前記動作に対する前記変更なしに前記ヘッドマウントディスプレイデバイスの前記１または複数のディスプレイパネル上での受信された前記１または複数の画像の表示を開始することと
を少なくとも含む自動化された動作を前記システムに実行させるように構成された１または複数のハードウェア回路と
を備えるシステム。
【請求項１３】
前記１または複数の構成されたハードウェア回路のうちの少なくとも１つによって実行されると前記システムに前記自動化された動作のうちの少なくともいくつかを実行させる格納された命令を備える１または複数のメモリを更に備える、請求項１２に記載のシステム。
【請求項１４】
少なくとも１つのネットワーク接続によって前記ヘッドマウントディスプレイデバイスから分離され、前記画像レンダリングシステムを実行するように構成されたコンピューティングデバイスを更に備え、前記画像レンダリングシステムは、前記判定された差に関する送信された前記情報を受信し、かつ、前記送信された情報に基づき生成される少なくとも１つのビデオフレームを含む前記ヘッドマウントディスプレイデバイス上での表示用の複数のビデオフレームのシーケンスを生成するためのソフトウェアアプリケーションを含み、前記受信された１または複数の画像は、前記複数のビデオフレームの各々であり、前記受信することならびに前記判定することおよび前記送信することは、前記複数のビデオフレームの各々について実行される、請求項１２または１３に記載のシステム。
【請求項１５】
前記自動化された動作は、前記差が定義された閾値を超えている、と判定することを含み、前記ヘッドマウントディスプレイデバイスの前記動作に対する前記変更の前記開始は、前記受信された１または複数の画像を表示する代わりに、前記周囲の実際の環境を表す、前記ヘッドマウントディスプレイデバイス上の１または複数の他の画像を表示する前記ヘッドマウントディスプレイデバイスのセーフモード動作を開始することを含む、請求項１２から１４のいずれか一項に記載のシステム。
【請求項１６】
前記自動化された動作は、前記差が定義された閾値を超えている、と判定することを含み、前記ヘッドマウントディスプレイデバイスの前記動作に対する前記変更の前記開始は、前記判定された差に対応するよう前記ヘッドマウントディスプレイデバイス上での表示用に前記画像レンダリングシステムにより追加の画像の生成を変更すること、または前記判定された差に基づき前記ヘッドマウントディスプレイデバイスのユーザに通知を提供することのうちの少なくとも１つを含む、請求項１２から１５のいずれか一項に記載のシステム。
【請求項１７】
ビデオ入力ポートであって、前記ビデオ入力ポートを介して前記１または複数の画像が受信される、ビデオ入力ポートと、制御データポートであって、前記制御データポートを介して前記システムが前記画像レンダリングシステムから１または複数の追加のタイミングパケットを受信する、制御データポートと、を更に備え、前記１または複数の構成されたハードウェア回路は、前記１または複数の追加のタイミングパケットを受信すると直ちに、前記画像レンダリングシステムに前記１または複数の追加のタイミングパケットの送信と前記少なくとも１つのタイミング応答パケットの受信との間の遅延からのタイミング情報を受信させるために前記制御データポートを介して少なくとも１つのタイミング応答パケットを前記画像レンダリングシステムに送信することにより応答するように構成されたマイクロコントローラを含む、請求項１２から１６のいずれか一項に記載のシステム。
【請求項１８】
１または複数の構成されたハードウェア回路によって、ヘッドマウントディスプレイデバイスを着用しているユーザが周囲の物理的環境内を移動するときに、前記ヘッドマウントディスプレイデバイスの位置を追跡する段階と、
前記１または複数の構成されたハードウェア回路によって、前記ヘッドマウントディスプレイデバイスの前記位置に基づきシミュレート環境の画像を生成する画像レンダリングシステムへ前記追跡からの追跡情報を供給する段階と、
前記１または複数の構成されたハードウェア回路によって、前記ヘッドマウントディスプレイデバイス上での表示用の前記画像レンダリングシステムによって生成された画像を受信する段階であって、受信された前記画像は、第１時間を示す情報を含み、前記第１時間における前記ヘッドマウントディスプレイデバイスの第１位置から前記シミュレート環境の視野を提供し、前記第１時間における前記第１位置を示す供給された前記追跡情報のデータを使用して生成される、受信する段階と、
前記１または複数の構成されたハードウェア回路によって、かつ、前記画像を受信した後であるが、前記ヘッドマウントディスプレイデバイス上に前記受信された画像を表示する前に、現在の時間と前記第１時間との差を判定する段階と、
前記１または複数の構成されたハードウェア回路によって、かつ、定義された閾値を超えていると判定された前記差に応答して、前記周囲の物理的環境内の継続的な移動中に前記ユーザを保護するために前記ヘッドマウントディスプレイデバイスのセーフモード動作を開始する段階であって、
前記ヘッドマウントディスプレイデバイス上の１または複数のセンサを使用して前記周囲の物理的環境の１または複数の他の画像を取得する段階と、
前記ヘッドマウントディスプレイデバイス上に、かつ、前記第１位置からの前記シミュレート環境の視野を提供する前記受信された画像の代わりに、前記周囲の物理的環境の取得された前記１または複数の他の画像を表示する段階と
を有する、開始する段階と
を備える方法。
【請求項１９】
前記１または複数の構成されたハードウェア回路によって、前記ヘッドマウントディスプレイデバイス上で表示用の１または複数の追加の画像を第２時間に生成する段階の一部として、前記生成された１または複数の追加の画像を将来の第３時間における前記ユーザの予測された新しい位置に対応させるために、ある量だけ前記第２時間とは異なる前記将来の第３時間における前記ユーザの前記新しい位置を前記判定された距離に少なくとも部分的に基づいて予測する際に使用するための前記判定された差に関する情報を前記画像レンダリングシステムに送信する段階と、
前記１または複数の構成されたハードウェア回路によって、前記１または複数の追加の画像を受信する段階と、
前記１または複数の構成されたハードウェア回路によって、前記ヘッドマウントディスプレイデバイス上に前記１または複数の追加の画像を表示する段階と
を更に備える、請求項１８に記載の方法。
【請求項２０】
前記画像レンダリングシステムは、前記ヘッドマウントディスプレイデバイスの変更位置に対応する前記シミュレート環境の変更部分を前記ユーザに提示するために前記ヘッドマウントディスプレイデバイス上での表示用に複数のビデオフレームのシーケンスを生成するソフトウェアアプリケーションを含み、前記受信する段階および前記判定する段階は、前記複数のビデオフレームのそれぞれについて実行される、請求項１９に記載の方法。
【請求項２１】
前記周囲の物理的環境の前記１または複数の他の画像を取得する前記段階は、前記１または複数の他の画像を取得するために前記ヘッドマウントディスプレイデバイスの外部上の前方カメラを使用する段階を有する、請求項１８から２０のいずれか一項に記載の方法。
【請求項２２】
前記周囲の物理的環境の前記１または複数の他の画像を取得する前記段階は、前記ヘッドマウントディスプレイデバイスの現在の向きに関する追加の情報を取得するために前記ヘッドマウントディスプレイデバイス上の１または複数の慣性測定ユニットを使用する段階と、前記現在の向きに関する前記追加の情報に少なくとも部分的に基づき前記周囲の物理的環境の前記ユーザの前の１または複数の障壁を示す情報を提供するために前記１または複数の他の画像を生成する段階とを有する、請求項１８から２１のいずれか一項に記載の方法。
【請求項２３】
システムであって、
１または複数のハードウェアプロセッサと、
前記１または複数のハードウェアプロセッサのうちの少なくとも１つによって実行された場合、
前記１または複数のタイミングパケットを受信すると直ちに、ヘッドマウントディスプレイデバイス上の構成されたハードウェア回路に少なくとも１つのタイミング応答パケットを前記システムに送信させるために前記ヘッドマウントディスプレイデバイスに１または複数のタイミングパケットを送信することと、
前記ヘッドマウントディスプレイデバイスから送信された前記少なくとも１つのタイミング応答パケットを受信し、前記１または複数のタイミングパケットの前記送信と前記少なくとも１つのタイミング応答パケットの前記受信との間の時間の量に少なくとも部分的に基づいて画像レンダリングシステムから前記ヘッドマウントディスプレイデバイスへの通信のレイテンシを決定することと、
決定された前記レイテンシに基づく量だけ第１時間とは異なる第２時間における前記ヘッドマウントディスプレイデバイスの１または複数のディスプレイパネル上での表示用の１または複数の画像を前記第１時間に生成することと、
前記ヘッドマウントディスプレイデバイスの前記１または複数のディスプレイパネル上での生成された前記１または複数の画像の前記第２時間における表示を生じさせるために、前記生成された１または複数の画像を前記ヘッドマウントディスプレイデバイスに伝送することと
により前記画像レンダリングシステムの機能を実装することを含む自動化された動作を前記システムに実行させる格納された命令を有する１または複数のメモリと
を備えるシステム。
【請求項２４】
前記格納された命令は更に、前記システムに、
前記生成された１または複数の画像の前記伝送の後に、前記第２時間と前記ヘッドマウントディスプレイデバイスの前記１または複数のディスプレイパネル上での前記生成された１または複数の画像の表示の実際の時間との間の差を示すために追加の情報を前記ヘッドマウントディスプレイデバイスから受信させ、
前記決定されたレイテンシを修正して、前記第２時間と前記表示の実際の時間との間の示された前記差を反映させ、
前記決定されたレイテンシを修正した後の第３時間に、修正済みの前記決定されたレイテンシに基づく量だけ前記第３時間とは異なる第４時間における前記ヘッドマウントディスプレイデバイスの前記１または複数のディスプレイパネル上での表示用の１または複数の追加の画像を生成させ、かつ、
前記ヘッドマウントディスプレイデバイスの前記１または複数のディスプレイパネル上での前記生成された１または複数の追加の画像の前記第４時間における表示を生じさせるために、前記生成された１または複数の追加の画像を前記ヘッドマウントディスプレイデバイスへ伝送させる、
請求項２３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の開示は、一般にディスプレイデバイス上の画像データの表示を制御するためのディスプレイデバイスの追跡位置から情報を使用する技術に関連し、例えば、ヘッドマウントディスプレイデバイス上に対応する画像がどのように表示されるかを制御するためにヘッドマウントディスプレイデバイスの位置の追跡からの時間の量に関する情報を使用するようにする。
【背景技術】
【０００２】
視覚ディスプレイ解像度を増加させる必要性は、画像データサイズおよび関連する伝送帯域幅の使用が大幅に対応して増加した。例えば、より高い伝送帯域幅は、ゲームデバイス、ビデオディスプレイデバイス、モバイルコンピューティング、汎用コンピューティングなどの視覚的ディスプレイ解像度の増加からもたらされた。加えて、仮想現実（「ＶＲ」）および拡張現実（「ＡＲ」）システム、特にヘッドマウントディスプレイ（「ＨＭＤ」）デバイスを使用するものの人気の拡大は、そのような必要性を更に増加させた。仮想現実システムは、一般的に着用者の眼を完全に包み込み、着用者の前の実際の視野（または実際の現実）を「仮想」現実に置き換え、一方、拡張現実システムは、一般的に着用者の眼の前の１または複数の画面の半透明または透明オーバーレイを提供し、実際の視野は、追加の情報で拡張されるようになる。
【０００３】
しかしながら、そのようなＨＭＤデバイスの画像の生成およびそれらのディスプレイのタイミングは、周囲の物理的環境と連携し、そのようなデバイスの使用に関連する課題を増加させた。
【図面の簡単な説明】
【０００４】
【図１Ａ】例示的な環境および状況における本開示で説明された少なくともいくつかの技術の使用の例を示す。
【図１Ｂ】例示的な環境および状況における本開示で説明された少なくともいくつかの技術の使用の例を示す。
【図１Ｃ】例示的な環境および状況における本開示で説明された少なくともいくつかの技術の使用の例を示す。
【図１Ｄ】例示的な環境および状況における本開示で説明された少なくともいくつかの技術の使用の例を示す。
【図１Ｅ】例示的な環境および状況における本開示で説明された少なくともいくつかの技術の使用の例を示す。
【図１Ｆ】例示的な環境および状況における本開示で説明された少なくともいくつかの技術の使用の例を示す。
【図１Ｇ】例示的な環境および状況における本開示で説明された少なくともいくつかの技術の使用の例を示す。
【図１Ｈ】例示的な環境および状況における本開示で説明された少なくともいくつかの技術の使用の例を示す。
【図１Ｉ】例示的な環境および状況における本開示で説明された少なくともいくつかの技術の使用の例を示す。
【０００５】
【図２Ａ】本開示の例示的な実施形態による双眼ディスプレイパネルを含むＨＭＤデバイスの上部平面図を示す。
【０００６】
【図２Ｂ】本開示に説明され少なくともいくつかの技術を実行するディスプレイデバイスの例示的な構成されたハードウェア回路を示す概略図である。
【０００７】
【図３】説明される技術の少なくともいくつかを実行する例示的なデバイスおよびシステムを示すブロック図であり、追跡ベースのディスプレイマネージャ（ＴＤＭ）システムの実施形態を含む。
【０００８】
【図４】ＴＤＭシステムの画像追跡データエンコーダルーチンの例示的な実施形態のフロー図である。
【０００９】
【図５】ＴＤＭシステムの画像追跡データデコーダルーチンの例示的な実施形態のフロー図である。
【発明を実施するための形態】
【００１０】
本開示は一般的に、ディスプレイデバイスを追跡することからの情報を使用して、ディスプレイデバイス上での画像データの表示を制御する技術に関連する。少なくともいくつかの実施形態において、ディスプレイデバイスは、画像レンダリングシステムにより提供された画像のＶＲおよび／またはＡＲディスプレイに使用されるヘッドマウントディスプレイ（「ＨＭＤ」）デバイスであり、例えば、ユーザ着用ＨＭＤデバイス周辺の実際の物理的環境よりもシミュレート環境の全体または一部である画像を生成および提示するようにし、ＨＭＤデバイスの追跡は、実際の物理的環境におけるＨＭＤデバイスの位置（例えば、３次元空間の位置および／またはＨＭＤデバイスの向き）を決定することを含む。例えば、ＨＭＤデバイスまたは他のディスプレイデバイスの追跡された位置は、デバイス上に表示するための１または複数の画像を決定するために使用され得、例えば、追跡された位置に対応するユーザに表示される全部または一部でユーザを囲むシミュレート環境のサブセットの視野を決定し、デバイス位置の変化に応じて視野を変更するようにし、−しかしながら、追跡データの使用は、表示の時間でデバイスの位置に実際に対応しない画像が表示される場合（例えば、追跡データが取得された場合と結果として生じる画像が表示された場合との間の十分な遅延に起因する）、ディスプレイシステムの性能は、ユーザおよび／またはデバイスを負傷のリスクにおそらくさらして低下し得る（例えば、ＨＭＤデバイスを備えたユーザは、物理的環境の周辺で移動して、ＨＭＤデバイス上に表示されたＶＲ画像に反映されない環境の物理的障害に近づく）。
【００１１】
従って、少なくともいくつかの実施形態において、ＨＭＤデバイスまたは他のディスプレイデバイスならびに関連する画像レンダリングシステムの動作は、レイテンシまたはデバイスの位置追跡データを取得することとデバイス上の対応する画像を表示することとの間のレイテンシまたは他の遅延に関する情報を使用および決定することにより改善される表示用の画像を提供する。特に、決定された遅延が余りにも大きい場合（例えば、定義された閾値を超えるか、さもなければ１または複数の定義された基準を満たす）、少なくともいくつかの実施形態において、ＨＭＤデバイスまたは他のディスプレイデバイスがセーフモード動作に入り、例えば、他の画像でデバイス上に表示されたシミュレート環境の画像を置き換え、ユーザの潜在的な問題を識別し、および／またはさもなければ潜在的な問題をユーザに通知するようにする。加えて決定された遅延情報は、少なくともいくつかの実施形態において使用され得、セーフモード動作を開始するために決定された遅延情報を使用することに加えてまたはその代わりに表示用にデバイスに提供されるシミュレート環境の画像を改善し、例えば、画像レンダリングシステムがデバイスの将来の時間の将来の位置を予測することを可能にするようにし、これは、決定された遅延に対応する量だけデバイスの現在の位置に関する追跡データを取得する時間とは異なり、将来の時間の予測された将来の位置に対応するデバイス上の表示用の画像を生成、提供するようにする。本明細書で説明される技術のいくつかまたはすべては、以下により詳細に説明されているように追跡ベースのディスプレイマネージャ（「ＴＤＭ」）システムの複数の実施形態の自動化された動作により実行され得る。
【００１２】
ＨＭＤデバイスまたは他のディスプレイデバイスの位置の追跡は、いくつかの実施形態においてＨＭＤデバイスまたは他のディスプレイデバイスから提供された情報により全部または一部が生じることを含む様々な実施形態の様々な方式で実行され得、（例えば、ＩＭＵまたは慣性測定ユニットを介して、ＧＰＳまたは他のセンサを介して加速度計および／またはジャイロスコープおよび／または磁力計を提供し、外部デバイスから信号を受信し、位置情報を決定するために信号を使用するなど）、いくつかの実施形態において、ＨＭＤデバイスまたは他のディスプレイデバイス（例えば、モーションセンサ、カメラなど）の外部の１または複数の他のデバイスから提供された情報により全部または一部で生じる。追跡された位置情報の位置および／または向きは、１または複数の他の対象物または基準点（例えば、ユーザが移動している実際の物理的環境の固定点）との相対を含む様々な実施形態の様々な方式および／または絶対的な方式（例えば、ＧＰＳ座標システムの使用により）で更に決定され得る。一つの非限定的な例として、ＨＭＤデバイスまたは他のディスプレイデバイスが配置される物理的環境（例えば、部屋の１５フィートｘ１５フィートの領域）は、１または複数のハードウェアデバイス（「基地局」と呼ばれることがある）を含み得、繰り返し（例えば、１秒に６０回）赤外線フラッシュを伝送し、続いて回転する赤外線レーザを伝送し、ＨＭＤデバイスまたは他のディスプレイデバイスは、様々なフォトセンサを含み（例えば、数十または数百のフォトセンサ）、それらは、赤外線フラッシュを検出し、特定のフォトセンサがレーザ光を検出し、高精度（例えば、ミリメートル以下）の物理的環境の３Ｄ位置および向きを決定するまで後続の時間の量を使用する。更にいくつかの実施形態において、ＨＭＤデバイスまたは他のディスプレイデバイスの位置の追跡は、デバイス上の１または複数の点または他の位置を追跡することを含み得、位置を決定するディスプレイデバイス上の１または複数のセンサにより位置を決定する外部デバイスにより使用されるマーカまたはトラッカなどである。他の実施形態において、ＨＭＤデバイスまたは他のディスプレイデバイスの位置の追跡は、デバイスに関連する１または複数の他の近接対象物を追跡することにより一部または全部に基づき得、デバイスのユーザの体（例えば、ユーザの頭）の上の１または複数の点または他の位置など、および／または１または複数の他の関連するデバイス（例えば、ユーザによって着用されるか、携帯されるハンドヘルドコントローラ、センサまたは他のデバイスなどユーザによって使用され、ユーザによって着用されるか、携帯される対象物に取り付けられる入力／出力デバイス）の１または複数の点または他の位置などである。位置追跡情報を取得し、使用することに関連する更なる詳細は、以下に含まれる。
【００１３】
ＨＭＤデバイスまたは他のディスプレイデバイス上に表示された画像は、デバイスの追跡された位置に基づき、様々な実施形態で様々な形式を有し得、様々な方式で生成され、さもなければ決定または選択され得る。例えば、少なくともいくつかの実施形態において、画像レンダリングシステムは、ビデオフレームである一連の画像を生成する（例えば、毎秒３０、６０、または９０などのフレームのレートで）ことなどによりＨＭＤデバイスまたは他のディスプレイデバイスの周辺のシミュレート環境のサブセットの視野に対応する画像を生成し、―そのような画像レンダリングシステムは、例えば、ユーザは、シミュレート環境が表示するゲームに参加する（例えば、インタラクトする）ゲームシステムの一部であり得る。そのような画像は、多くのピクセル値を含み得、ＨＭＤデバイスまたは他のディスプレイデバイスへの伝送用の様々な形式に符号化され得、例えば、画像内（例えば、ヘッダー内）のメタデータの１または複数の種類を含むか、さもなければ任意で画像などを圧縮するために画像に関連するそのようなメタデータを伝送するようにする。１つの特定の例として、画像は、符号化され得、画像の生成または他の決定あるいは選択に関連する時間に関するタイミング情報を有するか、さもなければそれに関係し、対応する追跡された位置が決定される時間、対応する追跡された位置を反映するために画像が生成されるか、さもなければ決定される時間、画像などに反映されたＨＭＤデバイスまたは他のディスプレイデバイスの将来の推定位置に対応する画像を生成するか、他の決定をした後の将来の時間などである。他の実施形態において、画像に符号化されているか、さもなければ画像に含まれている関連情報は、画像がタイミング情報の代わりに、またはそれに加えて画像が対応するＨＭＤデバイスまたは他のディスプレイデバイスの実際の（例えば、現在の）および／または推定された将来の追跡された位置に関する情報を位置決めすることを含み得る。加えて、本明細書で使用されているように、「ピクセル」は、ディスプレイの最も小さなアドレス指定可能な画像要素を指し、そのディスプレイ用のすべての可能な色値を提供するために起動され得、多くの場合、ピクセルは、人間の視聴者による知覚のために、赤、緑、および青の光を別々に生じさせるための個別のそれぞれのサブ要素（いくつかの場合では、別個の「サブピクセル」として）を含み、本明細書で使用されているように、ピクセル「値」は、単一のピクセルのこれらのそれぞれのＲＧＢ要素のうちの１または複数の刺激のそれぞれのレベルに対応するデータ値を指す。
【００１４】
加えてＨＭＤデバイスまたは他のディスプレイデバイス（例えば、スマートフォンまたは他のハンドヘルドデバイス）のセーフモード動作は、様々な方式で実装され得る。例えば、いくつかの実施形態において、テキストおよび／または他（例えば、聴覚的、触覚など）の警告は、ユーザに提供され、例えば、ユーザに移動を停止させおよび／またはＨＭＤデバイスを除去するか、さもなければディスプレイデバイスの使用を停止することを促すようにする。加えて、いくつかの実施形態において、１または複数の代替画像は、ＨＭＤデバイスまたは他のディスプレイデバイス上でユーザに表示され、警告を提供する代わりにまたはそれに加えて周囲の実際の物理的環境のユーザの位置に関する情報を提供し得、少なくともいくつかの実施形態において、追跡された位置情報に基づいてデバイス上の表示用に提供される１つまたは他の画像を置き換え得−そのような代替画像は、例えば、周囲の実際の物理的環境の画像（例えば、ＨＭＤデバイスまたは他のディスプレイデバイス上の前向きカメラから）および／または周囲の実際の物理的環境の仮想視野を含み得る（例えば、ユーザが移動を意図する周囲の実際の物理的環境内の物理的領域の一部の境界を示し、任意で物理的領域の外側にあり、その境界のうちの１または複数に近い対象物などの周囲の実際の物理的環境の１または複数の物理的対象物の表示を備えるグリッド）。更に、画像レンダリングシステムは、少なくともいくつかの実施形態において、シミュレート環境の画像の生成に関連する動作を停止または終了することも通知され得、いくつかの実施形態において、ＨＭＤデバイスは、差し迫った衝突のために任意で準備され得る。加えて、ＨＭＤデバイスまたは他のディスプレイデバイスに対してセーフモード動作が開始された後に、セーフモードは、様々な実施形態の様々な方式で終了され得、定義された時間の量の後、そうするためにユーザが手動で示した後（例えば、ディスプレイデバイスおよび／または画像レンダリングシステムを再開またはリセットすることにより）、シミュレート環境の追加の画像を関連する十分な遅延がないか、さもなければセーフモード動作の開始に関連する基準などをトリガせずに受信された後などである。セーフモード動作を実装することに関連する更なる詳細は、以下に含まれる。
【００１５】
更に、説明される技術の少なくともいくつかの実施形態における利点は、ＨＭＤデバイスまたは他のディスプレイデバイスおよび表示用の画像を提供する関連する画像レンダリングシステムの動作を改善することを含み、周囲の実際の物理的環境の物理的対象物を備えるデバイスおよび／またはユーザの衝突を最小化することなどにより、デバイス用の位置追跡データを取得してから、デバイス上の対応する画像を表示するまでの間で判定される遅延に関する情報を使用することに少なくとも部分的に基づいてデバイスおよび／またはそのユーザへの損害を最小化または取り除くことを含む。また、より正確な実際の遅延情報を取得して使用することにより、表示するための画像の生成または他の判定もしくは選択が更に改善され得て、画像表示の時間にデバイスの将来の位置を推定および／またはその画像表示の将来の時間を推定するシステムを含み−そのような正確な実際の遅延情報は、更に画像レンダリングシステムがより効率的に動作することを可能にし得て（例えば、１または複数の画像が対応する表示の将来の時間を決定しようとするためにより少ない処理電力と時間を使用することにより）、より正確な画像が生成されることなどを可能にし得る（例えば、表示の時間にＨＭＤデバイスまたは他のディスプレイデバイスの位置をより良く反映するために）。
【００１６】
図示のため、いくつかの実施形態は、以下で説明され、様々な特定の詳細は、図示のために含まれ、いくつかの実施形態のいくつかの場合では、よく知られた構成要素を示さないように簡潔にするために簡略化される。非排他的な一例として、いくつかの実施形態において、特定の種類の技術追跡デバイス、ハードウェアセンサ、ディスプレイデバイス（例えば、ＨＭＤデバイス）およびディスプレイパネル（例えば、ＯＬＥＤ、または有機発光ダイオードを使用、ＬＣＤ、または液晶ディスプレイの使用など）および光学レンズ、入力／出力デバイスなどが、特定の方式で使用され、構造化され（例えば、ハードウェアセンサはディスプレイデバイスの一部である）および特定の使用（例えば、仮想現実および／または拡張現実）のための特定の方式で使用され、ＨＭＤデバイスの動作制御の一部として特定の種類の技術の使用を含む。別の例として、いくつかの実施形態において、デバイスは、追跡され、その位置は、１または複数の人間のユーザにより使用される対応する位置ベースの画像を生成するか、さもなければ選択するために使用される。しかしながら、発明技術は、他の状況の多種多様な状況で使用され得、そのいくつかは、本明細書で説明され、他の種類のディスプレイデバイスおよび技術追跡デバイス、および／または人間によって使用されないデバイスを含み、従って、本発明は、提供される例示的な詳細に限定されないことが理解されよう。加えて、様々な詳細が、例示的な目的のために図面およびテキストに提供されるが、本発明の範囲を限定することを意図していない。
【００１７】
図１Ａから図１Ｈは、例示的な環境および状況で本開示で説明された少なくともいくつかの技術の使用の例を示し、図１Ｉは、そのような例示的な環境の情報交換およびタイミング情報の使用の例を示す。特に、図１Ａの例では、人間のユーザ１０５は、実際の物理的環境１４７に存在し、この例では視野１００ａに示されるように建築物の部屋である（例えば、その一部はコーナー１２５で示されている）。ユーザは、ＨＭＤデバイス１１０を着用しており、それを介してユーザは、図１Ｃ、図１Ｄおよび図１Ｆに関連してより詳細に説明される実際の物理的環境とは異なるシミュレート環境の表示された情報を受信し得る。示されている実施形態では、ＨＭＤデバイス１１０は、ケーブル１４５（「テザー」とも呼ばれる）を介してコンピューティングシステム１４０に接続されるが、他の実施形態において、ＨＭＤデバイスは、無線接続（不図示）を介してコンピューティングシステム１４０とのいくつかまたはすべてのインタラクションを実行し得−この例では、コンピューティングシステム１４０は、ユーザに表示するためにシミュレート環境の画像をＨＭＤデバイスに供給する画像レンダリングシステムとして機能する。ユーザ１０５は、実際の物理的環境の周辺を更に移動可能であり、この例では、物理的環境（境界１５１ａ、１５１ｂ、１５１ｃおよび１５１ｄを使用）のサブセットである領域１５０内に滞在することを予想され、例えば、テーブル１６０ａまたはエンドテーブル１６０ｂなどの実際の物理的環境の障害物にぶつからないようにする。この例では、ユーザ１０５は、ユーザが更にシミュレート環境とインタラクトすることができる１または複数のＩ／Ｏ（「入力／出力」）デバイスを更に有し得、この例では、ハンドヘルドコントローラ１１５を含む。
【００１８】
ユーザが、領域１５０内に位置を移動および／またはＨＭＤデバイス１１０の向きを変更するため、例えば、図１Ｃ、図１Ｄおよび図１Ｆに関連してより詳細に説明されているように、シミュレート環境の対応する一部が、ＨＭＤデバイス上でユーザに表示できるようになるよう、ＨＭＤデバイスの位置が追跡される。いくつかの実施形態において、ＨＭＤデバイス１１０の位置の追跡は、ＨＭＤデバイス自体により一部または全部に実行され得、追跡は、この例では、１または複数の外部デバイスによって更に支援される。特に、図１Ａの例の外部デバイスは、ＨＭＤデバイス１１０が検出および使用する信号１２２（例えば、光パルス）を発する２つの基地局１２０を含み、ＨＭＤデバイスの位置を決定するが、他の実施形態において、１または複数の外部センサは、代わりに他の方式で追跡を実行し得る。本例では、コントローラ１１５は、コントローラの位置を追跡する際に使用するための同様の技術を更に使用し得（およびＨＭＤデバイスの位置を決定および／または検証するのを支援するための情報を任意で使用する）るが、他の実施形態において、コントローラは、その方式で追跡され得ずおよび／またはユーザ上のまたは付近の他のデバイス／センサ（不図示）で同様に追跡され得ない。ＨＭＤデバイス１１０の追跡された位置が、そのような追跡に基づく特定の時間にわたって認識された後で、対応する情報は、ケーブル１４５を介してコンピューティングシステム１４０に伝送され、それは、ユーザ１０５に表示するためのシミュレート環境の１または複数の次の画像を生成するために追跡された位置情報を使用する。加えて、ここで示されていないが、そのような外部デバイスおよび／またはＨＭＤデバイスが（例えば、外部カメラを介して）、図１Ｈに関連して説明したように、実際の物理的環境の後で人工バージョンを生成する際に使用するなど実際の物理的環境の実際の物理的対象物に関する情報を取得し得る。
【００１９】
図１Ｉは、そのような例示的な環境の情報交換およびタイミング情報の使用の例を示す。特に、例示的な画像レンダリングシステム（例えば、図１Ａのコンピューティングシステム１４０）の動作は、図１Ｉの第１タイムライン１９０ａに沿って示され、例示的なＨＭＤデバイス（例えば、図１ＡのＨＭＤデバイス１１０）の動作は、図１Ｉの第２タイムライン１９０ｂに沿って示される。図１Ａに関連して上で述べたように、ＨＭＤデバイスは、時間Ｔ３でＨＭＤデバイスによって開始される伝送の図１Ｉに示されるＨＭＤデバイスと画像レンダリングシステムとの間の制御データ伝送経路に沿って、時折、画像レンダリングシステムに情報を送信し得、追跡情報は、その追跡情報に対応するユーザの周辺のシミュレート環境の視野を生成する際に画像レンダリングシステムによって使用するなど時間Ｔ３でＨＭＤデバイスの位置および向きを反映して−他の実施形態において、画像レンダリングシステムは、ＨＭＤデバイスの追跡情報を自体で判定し得（例えば、ＨＭＤデバイスの外部のセンサを使用する）、そうである場合、時間Ｔ３でそのような追跡情報伝送（および、制御データ伝送経路に沿った時間Ｔ６での同様の後の追跡情報伝送）が、実行され得ない。
【００２０】
図１Ｉに更に示されるように、画像レンダリングシステムは、様々な実施形態の様々な方式で、画像レンダリングシステムからＨＭＤデバイスに情報を送信することとＨＭＤデバイスにより後でその情報を表示することとの間のレイテンシまたは他の遅延に関する情報を決定し得る。いくつかの実施形態において、画像レンダリングシステムは、制御データ伝送経路に沿って専用のタイミング伝送を送信し得（例えば、「ピン」コマンドに同様の方式で、画像データを含まない１または複数のタイミングパケット）、ＨＭＤデバイスは、対応するタイミング応答で制御データ伝送経路に沿って直ちに応答し、画像レンダリングシステムは、画像レンダリングシステムからＨＭＤデバイスに情報を送信し、例えば、制御データ伝送経路に沿って応答情報を受信するために往復レイテンシまたは他の遅延を測定することができるようになり、そこから画像レンダリングシステムは、一方向レイテンシまたは他の遅延を推定し得る（例えば、往復時間の半分に一部に基づいて、または画像レンダリングシステムとＨＭＤデバイスとの間のアップロードおおよびダウンロード速度が異なる場合、さもなければ一方向時間判定を調整し、任意で制御データ伝送経路のレイテンシを、別個のビデオデータ伝送経路に沿ったレイテンシの初期推定値として使用する）。そのようなタイミング伝送および応答の例は、画像レンダリングシステムから時間Ｔ０で送信されたタイミング伝送およびＨＭＤデバイスから時間Ｔ２で受信されたタイミング応答によって示され−そうである場合、画像レンダリングシステムは、時間Ｔ０とＴ２との間の差に一部に基づいて、最初に一方向レイテンシまたは他の遅延をＬに決定し得る。画像レンダリングシステムは、更にいくつかの実施形態においてそのような初期推定遅延時間Ｌを変え得、ビデオデータ伝送経路に沿ってＨＭＤデバイスによる画像の受信と画像の後の表示との間の追加の推定された時間の量を反映するが、そのような調整は、初期遅延時間Ｌを使用する図１Ｉの例には示されていない。
【００２１】
他の実施形態において、画像レンダリングシステムは、そのようなタイミング伝送および応答の使用に加えてまたはその代わりに他の方式で一方向レイテンシまたは他の遅延を決定し得る。例えば、図１Ｉに示されるように、画像レンダリングシステムは、ビデオデータ伝送経路に沿って時間Ｔ５でＨＭＤデバイスに画像を伝送し得、ＨＭＤデバイスは、時間Ｔ５＋Ｌ'で後に画像を表示し得、Ｌ'は、画像遅延の時間まで画像伝送の時間からそのような画像の測定された実際の一方向レイテンシまたは他の遅延を表しそうである場合、ＨＭＤデバイスは、伝送のその時間Ｔ６に関する追跡情報も含む制御データ伝送経路に沿った時間Ｔ６でのＨＭＤデバイスからの情報伝送に示されるように、後の使用のために画像レンダリングシステムに戻る画像表示のその時間Ｔ５＋Ｌ'に関する情報を提供し得る。
【００２２】
画像レンダリングシステムは、ＨＭＤに対する追跡情報および表示された画像の生成の一部として一方向レイテンシまたは他の遅延情報に関する情報を更に使用し得る。例えば、画像レンダリングシステムによって生成され時間Ｔ５で伝送された画像について示されるように、画像レンダリングシステムは最新の追跡情報を取得し、画像が表示されると予想される将来の時間まで（決定された一方向レイテンシまたは他の遅延情報に一部に基づいて）追跡情報が生成されたときからの時間差を判定し、その将来の時間の将来の追跡情報を予測し、その予測された将来の追跡情報に対応する画像を生成する。従って、例えば、時間Ｔ５で画像レンダリングシステムによって生成および伝送された画像は、Ｔ５＋Ｌの将来の時間を反映するように生成される。同様に時間Ｔ８で画像レンダリングシステムによって生成および伝送された画像は、時間Ｔ７で画像レンダリングシステムが受信したＬ'の修正済みの一方向レイテンシまたは他の遅延値を使用してＴ８＋Ｌ'の将来の時間を反映するように生成される。そのような将来の追跡情報の予測は、ユーザの移動の変更の以前のレートを使用して、その変更のレートが継続する場合、将来の位置および向きを推定し、将来の位置および向きなどを推定するためにユーザの移動の変更の以前のレートにおける加速の増加または減少を使用するなどして、様々な方式で実行され得る。Ｔ８＋Ｌ'の将来の時間を反映するように生成された時間Ｔ８で伝送された画像に関して、図１Ｉは、ＨＭＤデバイスによる画像の実際の受信が、より長い時間Ｌ'遅延することを更に示し、少なくとも時間Ｔ６（最新の追跡情報が生成されたとき）から時間Ｔ９（その追跡情報を使用して表示される結果として生じる画像が受信されたとき）までの遅延の場合、任意でＴ９と対応する画像表示が考慮される遅延の一部として開始するときとの間の時間の量を更に含み、定義された閾値時間を超える場合、ＨＭＤデバイスは、図１Ｂから図１Ｈに関連して更に説明するように、画像を表示するのではなく、セーフモード動作を開始する。
【００２３】
図１Ｂは、図１Ａの例を続けるが、図１Ａに示される実際の物理的環境１５５内の他の様々な対象物を示すことなく、領域１５０およびＨＭＤデバイス１１０の視野１００ｂを示す。代わりに、仮想グリッド１６５が図１Ｂに示され、この例では、ほぼ右から左へのＸ軸、ほぼ遠くから近くへのＹ軸、および垂直の上下軸のＺ軸が含まれ、０、０、０の位置は、表示されている最も遠いコーナーの部屋の床に関連付けられる。表示されるように、ＨＭＤデバイス１１０の位置の追跡は、所与の時間における１または複数の特定の点でのｘ、ｙ、ｚ位置（この例では、ＨＭＤデバイスの上部中央にほぼ対応する８、５、７の位置が含まれる）情報を決定することを含み得るが、他の実施形態において他の方式で位置を追跡し得、ＨＭＤデバイスの位置を決定（例えば、ＨＭＤデバイスの向きを決定することの一部として）するために、多数の異なる点または位置を同時に追跡して使用し得ることが理解されよう。ＨＭＤデバイス１１０上の位置を３次元で追跡することに加えて、ＨＭＤデバイスの追跡された位置は、位置１７０を指す指向性光線によってこの例に視覚的に示されるように、この例ではＨＭＤデバイスの追跡された向きを更に含み、ユーザの視線の方向は、空間１５０（この例では、位置１３、８、４）の長方形の筐体空間を出発する。前述のように、いくつかの実施形態において、追跡される位置および向きは、基地局１２０（図１Ａ）などの外部デバイスから受信する情報に基づいてＨＭＤデバイスによって決定され得るが、他の実施形態において、情報のいくつかまたはすべて（例えば、向き情報）は、ＨＭＤデバイス自体によって（例えば、この例では不図示の１または複数の慣性測定ユニットを介して）生成された情報に少なくとも部分的に基づき得−例示的なＨＭＤデバイスに関連する更なる詳細を図２Ａに示す。領域１５０全体を移動するユーザは、絶えず変化する追跡された位置を有し得、位置の追跡は、ＨＭＤデバイス上でユーザに表示される各画像に対して任意で１回繰り返し実行され得る（例えば、毎秒６０回など、毎秒複数回）ことを理解されよう。
【００２４】
図１Ｃは、この例に示されている様々なシミュレート対象物１８０などで、ユーザを仮想的に囲む単純なシミュレート環境１４８の視野１００ｃの例を提供する（例えば、ユーザが保持し、シミュレート環境と様々な方式でインタラクトできるシミュレート岩１８０ｂ、１８０ｉおよび１８０ｊ、シミュレート魚１８０ｃ、１８０ｆ、１８０ｇおよび１８０ｈ、シミュレート難破船１８０ａ、シミュレート対象物１８０ｄおよび１８０ｅなど）。ＨＭＤデバイス上に表示される単一の画像は、この例では表示された画像が３６０°ラップアラウンド画像ではないのに対し、シミュレート環境はユーザを囲んでいるため、この例ではシミュレート環境のごく一部の視野のみを示し得る（ただし、他の実施形態において、供給された画像および／またはシミュレート環境は他の形態を有し得る）ことが理解されよう。更に、ユーザがＨＭＤデバイスの位置を移動するため、追跡された位置情報を使用すると、変更された追跡された位置を反映するために、表示用に提供される画像を更に変化させる。
【００２５】
この例を続けると、図１Ｄは、図１Ｂおよび１Ｃに関連して上で説明したように、ＨＭＤデバイスの現在の位置に基づいてＨＭＤデバイス上でユーザに表示され得る画像の視野１００ｄを示す。この例では、現在の追跡されたＨＭＤ位置に基づく画像には、シミュレート対象物１８０ｄ、１８０ｆ、１８０ｇおよび１８０ｊの視覚的表示が含まれているが、現在の追跡された位置に対応しない図１Ｃに示されている他のシミュレート対象物は含まれず、また、この例では、実際の物理的環境（例えば、テーブル１６０、壁など）に関する情報は含まれていないが、他の実施形態において、表示された画像は、シミュレート環境と実際の物理的環境の両方からの情報を同時に含み得る。
【００２６】
図１Ｅは、ユーザが領域１５０内を移動するときのこの例の更なる視野１００ｅを示す−特に、この例では、ユーザは領域１５０の境界１５１ｄの近くを向き、その近くにいて、実際の物理的対象物１６０ａおよび１４０は、ユーザの直前にある。ユーザがシミュレート環境のみを見ている場合は、図１Ｆに関連して更に説明するように境界および／または実際の物理的対象物に近づいていることをユーザに警告する通知を（例えば、表示された画像の一部として、および／または表示された画像とは別個に）提供することが適切である。ただし、そのような通知は、ＨＭＤデバイスの位置を正確に追跡し、その情報を（例えば、画像レンダリングシステムによって）表示用に提供される画像（またはＨＭＤデバイスに使用のために提供される他の通知情報）の一部として迅速に使用することに基づいている。従って、位置が追跡されるときと、対応する生成された画像が後でＨＭＤデバイス上でユーザに表示されるときとの間に十分な遅延が生じた場合、ユーザが移動を続け、対応する画像またはその他の警告通知がＨＭＤデバイス上に提供されおよび表示される前に境界を越えて実際の物理的環境の１または複数の対象物に影響を与えると、ユーザおよび／またはＨＭＤデバイスおよび／または実際の物理的環境の対象物への負傷の可能性など問題が発生する可能性がある。
【００２７】
図１Ｆは、ＨＭＤデバイスの新しい位置が、対応する画像を表示用に提供するために遅延なく追跡され、使用される場合に図１Ｅの位置でユーザに提示され得るシミュレート環境の更なる視野１００ｆを示す。この例では、差し迫った境界１５１ｄは、境界（岩壁１８０ｉなど）またはその近くに配置されたシミュレート対象物および／または境界（グリッド１８０ｋなど）またはその近くに配置された仮想的に追加された障壁などによる様々な方法でユーザに示され得る。他のシミュレート対象物１８０ｄおよび１８０ｈも示されている。
【００２８】
ただし、ユーザが図１Ｅに示すように移動したときから、対応する追跡された位置情報を使用して表示用の新しい画像を生成するまでの遅延が余りにも大きい（例えば、定義された閾値を超える）場合、図１Ｅの位置のＨＭＤデバイス上の画像は、図１Ｆの画像を反映し得ず、引き続きなおも図１Ｄのものと同様の例であり得る。そうである場合、ユーザは、領域１５０からの差し迫った逸脱および実際の物理的環境における対象物との衝突に気付き得ない。
【００２９】
従って、図１Ｇは、ＨＭＤデバイスのためのセーフモード動作を実装することにより、ユーザおよび他の物理的対象物を保護することを支援するために説明される技術の使用の一例を示し、特に、さもなければ示されるであろう（例えば、図１Ｃに示されるような）シミュレート環境の１または複数の画像の代わりに表示される置換画像の視野１００ｇを示す。この例では、ＨＭＤデバイスの外部にある前方カメラを使用して、ＨＭＤデバイスがユーザに着用されていなかった場合にユーザが目にするであろう視野を表示するなどにより、置換画像は実際の物理的環境のビデオまたはその他の画像情報を反映している。この方式では、ユーザは、その方向への更なる移動を防止するために、彼または彼女が境界１５１ｄの近くまたは境界１５１ｄにあり、物理的対象物１６０ａおよび１４０によって直ぐにわかる。他の実施形態において、ＨＭＤデバイスは、移動するまで前方視野をさもなければブロックする可動シャッターを設けることなどによって、前方カメラを使用することなく、またはＨＭＤデバイスを取り外すことなく、ユーザが前方を見ることを可能にする機構を含み得る。
【００３０】
図１Ｈは、ＨＭＤデバイスのセーフモード動作を実装する代替の実施形態の視野１００ｈを示し、特に、図１Ｇに示すように、シミュレート環境の画像または実際の物理的環境の視野の代わりに、実際の物理的環境の仮想視野が生成され、ＨＭＤデバイス上でユーザに表示される。特に、図１Ｈの例では、修正済みの画像には、シミュレート環境に関する他の情報なしで、グリッド床と壁１８０ｍが含まれており、他の実施形態において、仮想表示は、仮想グリッドに加えて、または仮想グリッドの代わりに、実際の物理的環境内の（例えば、対象物１６０ａおよび／または１４０の）１または複数の実際の対象物を示し得る。図１Ｈは、ＨＭＤデバイスのセーフモード動作に関連する警告メッセージ１８０ｌを更に示し、例えば、位置追跡が正しく機能していないため、ユーザは、通常の動作が一時停止または終了したことを理解できることを示すようにし、一方、図１Ｇには示されていないが、１または複数のそのような警告メッセージを、そのような実施形態において同様に使用し得る。また、実際の環境からの様々な他の種類の情報および／または他の種類の警告情報が、ユーザに表示または提供され得ることが理解されよう。加えて、この例には示されていないが、図１Ｇおよび／または１Ｈのセーフモード動作は、可聴音、触覚情報（例えば、振動）などの他の種類の警告情報で補完され得、そして、コンピューティングシステム１４０およびその画像レンダリングシステムは、シミュレート環境の画像を生成することに関連する動作を一時停止するように更に通知され得る。少なくともいくつかの実施形態において、実際の物理的環境の仮想視野のいくつかまたはすべてが、表示される前にＨＭＤデバイス上でローカルに生成され、例えば、表示の生成の遅延を最小化するのを支援し（例えば、ユーザが気分を害するのを防止する）、実際の物理的環境（例えば、壁）で床および／または他の要素を正しい向きなどに示すのを支援するようにする。
【００３１】
図２Ａは、図１Ａ〜１Ｉの例で使用され得るか、またはさもなければ説明される技術とともに使用され得るような、一対の近接眼ディスプレイシステム２０２および２０４を含むＨＭＤデバイス２００ａの簡略化された上部平面図である。近接眼ディスプレイシステム２０２および２０４は、それぞれディスプレイパネル２０６および２０８（例えば、ＯＬＥＤまたはＬＣＤマイクロディスプレイ）と、それぞれが１または複数の光学レンズを有するそれぞれの光学レンズシステム２１０および２１２と、を含む。ディスプレイシステム２０２および２０４は、フレーム２１４に取り付けられ得、これは、ＨＭＤデバイスがユーザによって着用されたときに、着用者のユーザ２２４の顔に接触するかまたは隣接する、前部２１６、左テンプル２１８、右テンプル２２０および内面２２１を含む。２つのディスプレイシステム２０２および２０４は、着用者のユーザ２２４の頭２２２に着用することができる眼鏡構成でフレーム２１４に固定し得る。左テンプル２１８および右テンプル２２０は、それぞれユーザの耳２２６および２２８の上に載り得、一方、内面２２１のノーズアセンブリ（不図示）は、ユーザの鼻２３０の上に載り得る。フレーム２１４は、２つの光学システム２１０および２１２のそれぞれを、それぞれユーザの眼２３２および２３４の一方の前に配置するような形状およびサイズにされ得る。フレーム２１４は、説明の目的で眼鏡と同様に簡略化した方式で示されているが、実際には、より洗練された構造（例えば、ゴーグル、統合ヘッドバンド、ヘルメット、ストラップなど）を使用して、ユーザ２２４の頭２２２上にディスプレイシステム２０２および２０４を支持、配置し得ることを理解されたい。
【００３２】
図２ＡのＨＭＤデバイス２００ａは、表示レート（例えば、毎秒３０、６０、９０などのフレームまたは画像）で提示される対応するビデオを介してなど、仮想現実ディスプレイをユーザ２２４に提示することができ、一方、同様のシステムの他の実施形態は、同様の方式で拡張現実ディスプレイをユーザ２２４に提示し得る。ディスプレイ２０６および２０８のそれぞれは、それぞれの光学システム２１０および２１２を介して透過され、ユーザ１２４の眼２３２および２３４にそれぞれ集束される光を生成し得る。ここで示されていないが、眼のそれぞれは、通常、光が眼を通過する瞳孔開口を含み、−瞳孔（および虹彩を囲む）は、通常、開いたまぶたの下で眼の可視部分内で数ミリメートル水平方向および／または垂直方向に移動する可能性があり、また、眼球がその中心の周辺を旋回するにつれて、瞳孔がディスプレイの光学レンズまたはディスプレイの他の物理的要素から異なる水平位置と垂直位置に異なる深度に移動する（結果として、瞳孔が移動できる３次元のボリュームになる）。ユーザの瞳孔に入る光は、画像および／またはビデオとしてユーザ２２４によって見られる。
【００３３】
図示された実施形態では、ＨＭＤデバイス２００ａは、セーフモード動作をトリガする条件を識別するため、および／またはセーフモード動作を実装するための説明される技術の一部として、開示される実施形態によって使用し得るハードウェアセンサおよび追加の構成要素を更に含む。この例のハードウェアセンサには、１または複数の加速度計および／またはジャイロスコープ２９０が含まれ（例えば、１または複数のＩＭＵユニットの一部として）本明細書の他の箇所でより詳細に説明しているように、加速度計および／またはジャイロスコープからの値を使用して、ＨＭＤデバイスの向きをローカルに決定し得る。加えて、ＨＭＤデバイス２００ａは、前部２１６の外部にあるカメラ２８５などの１または複数の前向きカメラを含み得、セーフモード動作中に、その情報を使用して、シミュレート環境の画像をＨＭＤデバイスの前にある実際の物理的環境の画像に置き換え得る（またはより一般に、ＡＲ機能を提供するためなど、ＨＭＤデバイスの他の動作の一部として使用し得る）。図示された実施形態におけるハードウェアセンサは、光学レンズシステム２１０および２１２の近くの内面２２１上に配置されるなど、ユーザの瞳孔／視線を追跡するための１または複数のセンサまたは他の構成要素２９５を更に含み、−本明細書の他の箇所でより詳細に説明されているように、構成要素２９５からの情報は、ＨＭＤデバイスの位置（例えば、位置および向き）に関する他の情報と組み合わせたユーザの視線の方向に基づくなどシミュレート環境の特定の視野を識別してユーザに表示するために使用され得る。更に、ＨＭＤデバイス２００ａは、本明細書の他の箇所でより詳細に説明されるように、他の構成要素２７５（例えば、内部ストレージ、１または複数のバッテリ、外部基地局とインタラクトする位置追跡デバイスなど）を更に含み得る。他の実施形態は、構成要素２７５、２８５、２９０および／または２９５のうちの１または複数を含み得ない。ここで示されていないが、そのようなＨＭＤのいくつかの実施形態は、ユーザの体の他の様々な種類の移動および位置などを追跡するためなど、様々な他の種類の追加の内部および／または外部センサを含み得る。
【００３４】
説明される技術は、図２Ａに示されるものと同様のディスプレイシステムを有するいくつかの実施形態において使用され得るが、他の実施形態において、単一の光学レンズおよびディスプレイデバイス、または複数のそのような光学レンズおよびディスプレイデバイスを含む、他の種類のディスプレイシステムを使用し得る。他のそのようなデバイスの非排他的な例には、カメラ、望遠鏡、顕微鏡、双眼鏡、スポッティングスコープ、測量スコープなどが含まれる。加えて、説明される技術は、光を発して画像を形成する多種多様なディスプレイパネルまたは他のディスプレイデバイスとともに使用され得、１または複数のユーザが１または複数の光学レンズを通して見る。他の実施形態において、ユーザは、別の光源からの光を一部または全部に反射する表面上になど、ディスプレイパネルを介する以外の方式で生じさせられる１または複数の光学レンズを通して１または複数の画像を見得る。
【００３５】
図２Ｂは、ディスプレイデバイス（例えば、図２ＡのＨＭＤデバイス２００ａおよび／または図３のＨＭＤデバイス３８０ａおよび／または図１Ａ〜１Ｉの例で説明された、またはさもなければ説明される技術に関して説明されたＨＭＤデバイス）上のハードウェア回路の一例を示し、これは、説明される技術に従って１または複数のディスプレイパネル上で画像データを受信して表示し、ＨＭＤデバイスのタイミング遅延情報および／または追跡情報を画像レンダリングシステムに提供する自動化された動作を実行するように構成され得る。特に、図２Ｂは、複数のピクセルＰが行Ｒおよび列Ｃに配置されるピクセルアレイ２５３を有する例示的なディスプレイシステム２００ｂを含む。行（標識Ｒｘ）と列（標識Ｃｙ）の一例のみが示され、それらの交点にあるピクセル（標識Ｐｘｙ）の一例が表示されているが、実際には、ピクセルアレイ２５３は、任意の望ましいＭ×Ｎアレイであり得、ここで、Ｍは、ピクセルアレイにおける行の数であり、Ｎは、列の数である。ディスプレイシステム２００ｂは、例えば、ＬＣＤシステムまたはＯＬＥＤシステムであり得る。ディスプレイシステム２００ｂがカラーディスプレイである実装態様では、ピクセルＰは、それぞれが異なる色（例えば、赤、緑、青）を生じさせるサブピクセルを含み得る。
【００３６】
ディスプレイシステム２００ｂのピクセルアレイ２５３に隣接するのは、ピクセルアレイ２５３の個別のピクセルを駆動するため、ならびに任意で他の機能を実行するためのハードウェア回路を含む周辺領域である。特に、ハードウェア回路は、ゲートまたはスキャンドライバ回路とも呼ばれることがある行ドライバ回路（例えば、ＩＣまたは集積回路）２５６、およびデータドライバ回路とも呼ばれることがある列ドライバ回路（例えば、ＩＣ）２５８を含み、−行ドライバ回路２５６および列ドライバ回路２５８は、本明細書では「ピクセルドライバサブシステム」と総称されることがある。ドライバ回路２５６および２５８のそれぞれは、例えば、１または複数の集積回路から形成され得る。実際には、ビデオ入力ポート２６３（例えば、ＤｉｓｐｌａｙＰｏｒｔポート）は、任意で符号化された形式で外部ビデオソースシステム２６６（例えば、図３の画像レンダリングシステム３３５または図１Ａ〜１Ｉの例に関して説明された画像レンダリングシステム）から入力された画像データを受信し、受信されたデータをブリッジＩＣ２６７に伝送する。ブリッジＩＣ２６７は、自動化された動作を実行して、符号化されている場合は受信されたデータをデコードし、結果として生じるピクセル値を実装するためにそれぞれの情報を行および列ドライバ回路に転送するロジックを実装するように構成される。特に、行ドライバ回路２５６は、ピクセルアレイ２５３内のピクセル（またはサブピクセル）の行Ｒのそれぞれに１つずつ、複数の行選択ライン２６２を含み、行選択ライン２６２のそれぞれは、ピクセルアレイ２５３の対応する行のピクセルのスキャン電極に電気的に結合されている。列ドライバ回路２５８は、同様に、ピクセルアレイ２５３内のピクセル（またはサブピクセル）の列Ｃのそれぞれに１つずつ、複数のデータライン２６４を含み、データライン２６４のそれぞれは、ピクセルアレイ２５３の対応する列のピクセルのデータ電極に電気的に結合されている。行ドライバ回路２５６は、ブリッジＩＣ２６７の制御下で、行選択ライン２６２を介して一度にピクセルアレイ２５３の１または複数の行を選択的に有効にし、ブリッジＩＣ２６７の制御下で列ドライバ回路２５８は、ピクセルアレイ２５３内のピクセルの列のそれぞれについて、データ（例えば、電圧レベル）をデータライン２６４に出力する。従って、ピクセルのスキャン電極が、行選択ライン２６２を介して行ドライバ回路２５６によってハイにパルスされるとき、各ピクセルによって透過される光の強度は、列ドライバ回路２５８によってデータライン２６４を介してピクセルのデータ電極に適用される駆動電圧によって決定される。少なくともいくつかの実装形態では、ドライバ回路２５６および２５８および／またはブリッジＩＣ２６７は、同じデータまたは同様のデータを含む複数の行を同時にロードするように構成され得る。
【００３７】
前述のように、ブリッジＩＣ２６７は、ビデオ入力ポート２６３を介してビデオソースシステム２６６に動作可能に結合され、それは、画像ストリーム（例えば、処理されたビデオデータ）をディスプレイシステム２００ｂ上の表示用にブリッジＩＣ２６７に供給する。ビデオソースシステム２６６は、例えばフラットパネルテレビ、ラップトップ、タブレットコンピュータ、携帯電話、ヘッドマウントディスプレイ、ウェアラブルコンピュータなどのディスプレイシステムを利用する任意のビデオ出力ソースシステムであり得る。ビデオソースシステム２６６は、より大きなシステムの構成要素（例えば、グラフィックコントローラ）であり得る。ブリッジＩＣ２６７は、画像ストリームを受信し、それを適切な電圧プログラミング情報に変換して、ピクセルアレイ２５３内のピクセルに提供され、画像ストリームに存在する画像を順次表示する。ブリッジＩＣ２６７は、例えば、レベルシフタ、タイミング、およびアナログ関数発生器を含み得る。一般に、ブリッジＩＣ２６７は、ビデオソースシステム２６６からの入力として、画像ストリーム信号（例えば、デジタル信号）、同期情報、タイミング情報などのうちの１または複数を取ることにより行および列ドライバ回路２５６および２５８をバイアスするためのタイミングおよびデータ信号を生成し得る。
【００３８】
ディスプレイシステム２００ｂはまた、情報を生成してビデオソースシステム２６６に伝送し返すなどのために、図示された例では別個のマイクロコントローラ２６１を含むが、他の実施形態は、そのようなマイクロコントローラをディスプレイシステム２００ｂの一部として含み得ない（例えば、１または複数のそのようなマイクロコントローラが、ディスプレイデバイスの１または複数の他のシステムの一部であるか、または代わりに特定の実施形態では実装されない場合）。図示された実施形態では、マイクロコントローラ２６１は、制御データポート２６８（例えば、ＵＳＢポート）に結合され、それを介してディスプレイシステム２００ｂとビデオソースシステム２６６（または不図示の他の外部システム）との間で双方向制御データを交換し得る。例えば、マイクロコントローラ２６１が、ピン伝送と同様の方式などで、制御データポートを介してビデオソースシステムからタイミングパケット伝送を受信する場合、マイクロコントローラ２６１は、タイミング応答パケットを直ちに生成し、それをビデオソースシステムに送信し返し、例えば、ビデオソースシステムが、制御データ伝送経路に沿ってディスプレイシステム２００ｂとの間の通信における往復レイテンシを決定できるようにする。他の状況では、タイミングパケット伝送は、ビデオ入力ポート２６３を介して（例えば、画像データと共に）ビデオデータ伝送経路に沿って受信され得、その場合、ブリッジＩＣ２６７は、タイミングパケット伝送をマイクロコントローラ２６１に転送して、タイミング応答を生成および送信し得、一方、ブリッジＩＣ２６７は、さもなければビデオソースシステム２６６からブリッジＩＣ２６７へのビデオデータ伝送経路に沿った伝送時間を測定する際に使用するためなどに、ピクセルアレイ２５３上の表示用に画像データを準備している。加えて、いくつかの実施形態において、マイクロコントローラ２６１は、ディスプレイシステム２００ｂを含むＨＭＤデバイスまたは他のデバイスの最新の追跡情報などの更なる情報（例えば、ディスプレイシステムが実装されるディスプレイデバイスの位置および／または向き情報）を、制御データポート２６８を介してビデオソースシステムに更に伝送し得るが、他の実施形態において、ＨＭＤデバイスまたは他のディスプレイデバイスの他の構成要素（不図示）は、そのような追跡情報を生成および／または伝送し得る。ＨＭＤデバイスまたは他のディスプレイデバイスから伝送される情報は、更に他の実施形態において、例えば、着用者のユーザの瞳孔および／または視線方向情報、ＨＭＤデバイスまたは他のディスプレイデバイスの他のステータス情報（例えば、バッテリーレベル、ＩＭＵ加速度データなど）などを含み得る。ブリッジＩＣ２６７および／またはマイクロコントローラ２６１は、メモリ、Ｉ／Ｏインタフェース、通信システムなど、ならびに１または複数のプロセッサ（例えば、１または複数の中央処理ユニット（ＣＰＵ）、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定の用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、グラフィックス処理ユニット（ＧＰＵ）、その他のプログラマブル回路、上記の組み合わせなど）を含み得る。
【００３９】
図３は、説明される技術の少なくともいくつかを実行するための例示的なデバイスおよびシステムを示すブロック図である。特に、図３は、追跡ベースのディスプレイマネージャ（「ＴＤＭ」）システム３４０の実施形態を実行することなどにより、画像が対応しているディスプレイデバイスの追跡された位置に関する関連情報（例えば、１または複数の関連する追跡関連時間）を含む表示用のシミュレート環境の画像を生成および提供するための少なくともいくつかの説明される技術を実行するのに適した１または複数のコンピューティングデバイス３００を含む。加えて、図３は、ディスプレイデバイスの電子回路または１または複数の他の関連するコンピューティングデバイス（不図示）上で実行されるＴＤＭシステムの画像追跡データデコーダ構成要素３４４の制御下など画像を表示し得る１または複数のディスプレイデバイス３８０も含む。ディスプレイデバイス３８０のうちの１または複数の位置追跡の実行を支援するため、画像レンダリングシステム３３５および／またはディスプレイデバイス３８０などによって使用される画像または他の情報を提供するためなど、１または複数の任意の他のデバイス３９０も示される。様々なデバイスは、１または複数のコンピュータネットワークまたは他の接続３８５（例えば、インターネット、１または複数の携帯電話ネットワーク、テザーまたは他のケーブル、ローカル無線接続など）を介して相互接続され、コンピューティングシステム、デバイス、およびそれらに実装されているその他のシステムまたは構成要素間の通信を可能にすることを含む。
【００４０】
例示的なコンピューティングデバイス３００はそれぞれ、１または複数のハードウェアプロセッサ３０５（例えば、１または複数のＣＰＵ、または中央処理ユニット、プロセッサなど）、様々な入力／出力（「Ｉ／Ｏ」）構成要素３１０、ストレージ３２０、およびメモリ３３０を含み、１または複数のディスプレイデバイス３８０上の表示動作を管理するビデオサブシステム３７０を有する。ビデオサブシステム３７０は、１または複数のＧＰＵ（またはグラフィック処理ユニット）および関連するＶＲＡＭ（ビデオＲＡＭ）を含み、大量のビデオフレームデータ（各ビデオフレームの高い画像解像度、および毎秒のそのようなビデオフレームの約６０〜１８０の高い「フレームレート」に対応する）を提供するなどして、高品質のゲームまたはその他の画像表示エクスペリエンスを実装するが、ただし、他の実施形態において、別個のビデオサブシステムが提供されまたは使用され得ない。この例示的な実施形態における図示されたＩ／Ｏ構成要素は、ディスプレイ３１１、ネットワーク接続３１２、コンピュータ可読媒体ドライブ３１３、および他のＩ／Ｏデバイス３１５（例えば、キーボード、マウスまたはその他のポインティングデバイス、マイク、スピーカ、触覚出力、ハンドヘルド無線またはその他のコントローラ、ＩＲトランスミッタおよび／または受信器、その他のフォトセンサ、ＧＰＳ受信器またはその他の位置決定デバイス、瞳孔および／または視線追跡構成要素など）を含み、−そのようなＩ／Ｏ構成要素は、例えば、音声制御、ジェスチャー制御などを含む、様々な種類のインタラクションを可能にし得る。コンピューティングデバイス３００に関して示された様々な詳細は、デバイス３５０または３９０に関して示されていないが、デバイス３５０および３９０は、ディスプレイデバイス３８０が構成要素３４４の実施形態を実行するように構成された１または複数のプロセッサまたは他の電子回路を任意で含むことを含む、コンピューティングデバイス３００と同じ種類の構成要素のいくつかまたはすべてを同様に含み得る。デバイス３８０は、１または複数の光学レンズ、ハウジング、センサ（例えば、ＩＭＵ）、他のＩ／Ｏデバイス（例えば、１または複数の内部および／または外部カメラ、着用者または他のユーザの耳に音を提供する１または複数のスピーカ、１または複数の瞳孔および／または視線追跡システム、他の種類の移動センサまたは他のセンサなど）など、デバイス３００に関して示されていない追加の構成要素を更に含み得る。同様に、他のコンピューティングシステム３９０のうちの１または複数が、動き追跡および／または画像表示機能を提供するなどのために、エンドユーザデバイス３５０のうちの１または複数と連携して動作する場合、それらの他のコンピューティングシステムは、デバイス３００に関して示されていない追加の構成要素を同様に含み得る。
【００４１】
この例では、ＴＤＭシステム３４０の少なくともいくつかは、関連する画像レンダリングシステム３３５および任意で１または複数の他のプログラム（不図示）とともに、サーバコンピューティングデバイス３００のメモリ３３０で実行されている。本明細書の他の箇所でより詳細に説明されるように、ＴＤＭシステム３４０は、ＴＤＭ画像追跡データエンコーダルーチン３４２などによる関連する追跡関連時間情報および／または他のメタデータを有する画像を生成および／または提供するための少なくともいくつかの説明される技術を実行し得る。次に、そのような画像および関連情報を、１または複数のネットワークまたは他の接続３９０を介して１または複数のディスプレイデバイス３８０、ＨＭＤデバイス３８０ａおよび／またはハンドヘルドモバイルディスプレイデバイス３８０ｂ（例えば、スマートフォンまたはラップトップまたはタブレット）などに提供され得る。その動作の一部として、システム３４０は、ストレージ３２０などの様々な格納されたデータを生成および／または使用し得、シミュレート環境の画像を生成するために使用するデータ３２１（例えば、シミュレート環境におけるシミュレート対象物に関する情報）、ディスプレイデバイス３８０のうちの１または複数の位置追跡データに関するデータ３２３（例えば、ディスプレイデバイスおよび／または他のデバイス３９０から受信されるような）、および現在の遅延によって現在の時間と異なる将来の時間で将来の位置を予測またはさもなければ推定する際に使用するための遅延データに関するデータ３２７を含む。画像レンダリングシステム３３５は、実施形態において１または複数のゲームを実行する際に使用するためなど、コンピューティングデバイス３００または他の箇所（例えば、他のデバイス３９０の１つ）で追加のデータを更に格納および使用し得、画像レンダリングシステムはゲームシステムの一部であるが、これらの詳細はこの例では示されていない。この例では、プログラムを実行するか、またはさもなければプロセッサ３０５および／または３７４とコンピューティングデバイス３００を構成して、説明される技術の少なくともいくつかを実装する自動化された動作を実行する場合の、対応するソフトウェア命令などでＴＤＭシステム３４０は少なくとも一部にソフトウェアシステムとして実装されているが、他の実施形態において他の方式で実装され得る。
【００４２】
ディスプレイデバイス３８０ａおよび／または３８０ｂは、図３の図示された実施形態では、コンピューティングデバイス３００とは別個で分離されているものとして示されているが、特定の実施形態では、図示されたデバイスのいくつかまたはすべての構成要素は、例えばモバイルゲームデバイス、ポータブルＶＲエンターテインメントシステムなどの単一のデバイス内に統合および／または収容され得ることが理解されよう。そのような実施形態では、ネットワーク／接続３８５は、例えば、１または複数のシステムバスおよび／またはビデオバスアーキテクチャを含み得る。
【００４３】
図示されたデバイスは単に例示的なものであり、本発明の範囲を限定することを意図していないことも理解されよう。例えば、コンピューティングデバイス３００および／または他のデバイス３８０および３９０は、インターネットなどの１または複数のネットワークを介して、またはウェブを介してなどを含み、示されていない他のデバイスに接続され得る。より一般的には、コンピューティングシステムまたはデバイスは、適切なソフトウェアでプログラムされまたはさもなければ構成された場合など、説明された種類の機能をインタラクトおよび実行できるハードウェアの任意の組み合わせを含み得、限定することなく、デスクトップコンピュータ、ラップトップコンピュータ、スレートコンピュータ、タブレットコンピュータまたはその他のコンピュータ、ゲームコンソールまたはその他の専用ゲームシステム、スマートフォンコンピューティングデバイスおよびその他の携帯電話、インターネット機器、ＰＤＡおよびその他の電子手帳、データベースサーバ、ネットワークストレージデバイスおよびその他のネットワークデバイス、無線電話、ポケットベル（登録商標）、テレビベースのシステム（例えば、セットトップボックスおよび／またはパーソナル／デジタルビデオレコーダーおよび／またはゲームコンソールおよび／または媒体サーバを使用）、および適切な相互通信機能を有するその他の様々な消費者製品を含む。例えば、図示されたシステム３４０は、少なくともいくつかの実施形態において、実行可能なソフトウェア命令および／またはデータ構造を含み得、特定のコンピューティングシステムまたはデバイスにロードおよび／または実行される場合、これらのシステムまたはデバイスのプロセッサを構成するなど、これらのシステムまたはデバイスをプログラムまたはさもなければ構成するために使用し得る。代替的に、他の実施形態において、ソフトウェアシステムのいくつかまたはすべてが、別のデバイス上のメモリで実行され、コンピュータ間通信を介して、図示されたコンピューティングシステム／デバイスと通信し得る。加えて、様々なアイテムは、様々な時間で（例えば、使用されている間）メモリまたはストレージに格納されるものとして示されているが、これらのアイテムまたはそれらの一部は、メモリ管理および／またはデータ整合性の目的で、メモリとストレージとの間および／またはストレージデバイス間（例えば、異なる位置）間で転送できる。
【００４４】
従って、少なくともいくつかの実施形態において、図示されたシステムは、プロセッサ３０５および／または３７４および／または他のプロセッサ手段によって実行されたときに、そのシステムについて説明された動作を自動的に実行するようにプロセッサをプログラムするソフトウェア命令を含むソフトウェアベースのシステムである。更に、いくつかの実施形態において、システムのいくつか部またはすべては、少なくとも部分的にファームウェアおよび／またはハードウェア手段など、他の方式で実装または提供され得、以下に限定されないが、１または複数のハードウェアプロセッサまたは１または複数の特定の用途向け集積回路（ＡＳＩＣ）などのその他の構成されたハードウェア回路、標準の集積回路、コントローラ（例えば、適切な命令を実行すること、マイクロコントローラおよび／または組み込まれたコントローラを含むことにより）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、複雑なプログラマブルロジックデバイス（ＣＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、プログラマブルロジックコントローラ（ＰＬＣ）などを含む。システムまたはデータ構造のいくつかまたはすべては、非一時的なコンピュータ可読ストレージ媒体に（例えば、ソフトウェア命令コンテンツまたは構造化データコンテンツとして）格納されることもし得、ハードディスクまたはフラッシュドライブまたはその他の不揮発性ストレージデバイス、揮発性または不揮発性メモリ（ＲＡＭなど）、ネットワークストレージデバイス、または適切なドライブまたは適切な接続を介して読み取られるポータブル媒体製品（例えば、ＤＶＤディスク、ＣＤディスク、光ディスク、フラッシュメモリデバイスなど）などである。システム、モジュール、およびデータ構造はまた、いくつかの実施形態において、様々なコンピュータ可読伝送媒体上で生成されたデータ信号として（例えば、搬送波または他のアナログまたはデジタル伝播信号の一部として）伝送され得、無線ベースの媒体と有線／ケーブルベースの媒体を含み、様々な形式を取ることができる（例えば、単一または多重化されたアナログ信号の一部として、または複数の個別のデジタルパケットまたはフレームとして）。そのようなコンピュータプログラム製品は、他の実施形態において他の形態を取ることもし得る。従って、本発明は、他のコンピュータシステム構成で実施し得る。
【００４５】
図４は、ＴＤＭシステムの画像追跡データエンコーダルーチン４００の例示的な実施形態のフロー図である。ルーチンは、例えば、図３の構成要素３４２および／または例示的な図１Ａ〜１Ｈの例の対応する機能性に関して説明された構成要素の実行によって提供され得、画像が対応する位置追跡に関する追加の関連情報（例えば、追跡された位置が決定される時間または他の関連する時間に基づく）とともにディスプレイデバイス上に表示するためのシミュレート環境の画像を提供するなどする。図示された実施形態は、１または複数のＨＭＤデバイスで説明される技術の使用を説明しているが、これらの技術は、他の実施形態において他の種類のディスプレイデバイスと共に使用し得ることを理解されよう。加えて、ルーチンの例示的な実施形態は、図３の画像レンダリングシステム３３５などの１または複数の画像レンダリングシステム（例えば、そのような画像レンダリングシステムの一部として）に関連して動作し得、画像レンダリングシステムは、ＨＭＤデバイスの最新の追跡された位置および／またはＨＭＤデバイスの推定された将来の位置に基づいて表示された画像を生成またはさもなければば決定または選択し、また、以下に説明するように、図示されたルーチンは、追跡された位置情報および関連するタイミング情報の使用に関連する機能を提供する。
【００４６】
ルーチンの図示された実施形態は、情報または要求が受信されるブロック４１０で開始する。ルーチンはブロック４１５に続き、ブロック４１０で受信された情報または要求が、関連するＨＭＤデバイス上の表示用の画像を提供するための指示であるかどうかを判定する。そうである場合、ルーチンはブロック４２０に続き、現在の時間（例えば、追跡された位置情報が利用できる最新の時間）または他の指示された時間におけるＨＭＤデバイスの追跡された位置情報を決定し、ＨＭＤデバイスから最近供給された情報に基づくおよび／またはＨＭＤデバイスの位置を（例えば、ＨＭＤデバイスと連携して動作する位置追跡システムに関連して）アクティブに追跡および監視することによってなどである。ブロック４２０の後、ルーチンはブロック４２５に続き、ルーチン４００による表示のための画像の生成とＨＭＤデバイス上の画像の実際の表示との間の時間の量の現在の推定値に関する情報を検索し、デフォルト時間、または位置追跡情報が決定され、および／または画像生成で使用されたときから、画像が後で表示されるまでの間の最近決定された実際の遅延時間などである。次に、ブロック４１０で、ルーチンは、表示用の検索された現在の遅延時間に基づいて、現在のまたは他の指示された時間に遅延時間を追加するなどにより、現在のまたは他の指示された時間との差に対応する将来の時間におけるＨＭＤデバイスの将来の位置を予測する。
【００４７】
次に、ブロック４３５で、ルーチンは、別個のゲームシステムまたは画像を生じさせる他の画像レンダリングシステムとインタラクトすることなどによって（例えば、推定された将来の位置に関する情報を提供し、１または複数の対応する画像を受信することによって）将来の時間のためのＨＭＤデバイスの予測された将来の位置に対応する、ＨＭＤデバイス上に表示するためのシミュレート環境の１または複数の画像を取得する。次に、ブロック４４０で、ルーチンは、任意で、取得された画像に関連して、現在のまたは他の指示された時間に関する情報を追加し、必要に応じて他の情報を任意で含める。他の箇所でより詳細に説明されるように、関連情報は、例えば、画像のヘッダまたは画像に関連する他のメタデータに格納され得る。ブロック４４０の後、ルーチンはブロック４４５に続き、関連情報とともに表示するために１または複数の画像のＨＭＤデバイスへの伝送を開始する。
【００４８】
代わりに、ブロック４１５で、ブロック４１０で受信された情報または要求が画像を提供するものではないと決定された場合、ルーチンはブロック４９０に続き、必要に応じて１または複数の他の指示された動作を実行する。そのような他の動作は、例えば、ブロック４２５で後で使用するためなど、１または複数の以前に伝送された画像に基づいてＨＭＤデバイスから実際の遅延情報を受信して格納する段階と、ブロック４２０で後で使用するためなど、ＨＭＤデバイスの現在の追跡された位置情報を受信して格納する段階と、セーフモード動作が開始されたという情報をＨＭＤデバイスから受信し、任意でその情報を画像レンダリングシステムに提供する段階などとのうちの１または複数を含み得る。
【００４９】
ブロック４４５または４９０の後、ルーチンはブロック４９５に続き、終了する明示的な指示が受信されるまで継続するなど、継続するかどうかを決定する。継続すると決定された場合、ルーチンはブロック４１０に戻り、さもなければブロック４９９に続いて終了する。
【００５０】
図５は、ＴＤＭシステムの画像追跡データデコーダルーチン５００のフロー図である。ルーチンは、例えば、図３の構成要素３４４および／または例示的な図１Ａ〜１Ｈの対応する機能性に関して説明された構成要素の実行によって実行され得、例えば、画像が対応する（例えば、追跡された位置が決定される時間または他の関連する時間に基づく）位置追跡に関する追加の関連情報とともにディスプレイデバイス上に表示するために、シミュレート環境の画像を受信し、追加の画像の後の生成に使用するため、および／または画像がディスプレイデバイスにセーフモード動作を開始させるかどうかを決定する際に使用するために、表示の現在の時間までの遅延を決定するようにする。図示された実施形態は、１または複数のＨＭＤデバイスでの説明される技術の使用について説明しているが、説明される技術は、他の実施形態において他の種類のディスプレイデバイスとともに使用し得ることが理解されよう。加えて、ルーチンの例示的な実施形態は、ディスプレイデバイスまたは関連するコンピューティングシステムの他の画像処理および表示回路に関連して動作し得、ルーチンは、シミュレート環境の受信された画像を表示するか、さもなければ１または複数の代替画像を取得して表示するかを決定し、他の画像処理および表示回路は、実際の表示動作を実行する。
【００５１】
図示されたルーチンの実施形態は、情報または要求が受信されるブロック５１０で開始する。ルーチンはブロック５１５に続き、ＨＭＤデバイス上に表示された画像が受信されたかどうかを判定し、そうである場合、ブロック５２０に続き、画像が対応するＨＭＤデバイスの追跡された位置について、現在のまたは他の指示された時間に関する画像に関連情報を抽出する。ブロック５２５で、現在の時間と抽出された追跡関連時間との間の差が決定され、そして、ブロック５３０で、ルーチンは、将来の画像生成中の遅延情報として使用するためなど決定された実際の時間差に関する情報を画像レンダリングシステムおよび／または図４のルーチン４００に（例えば、受信された画像のソースに）任意で格納および／または伝送する。ブロック５３０の後、ルーチンはブロック５３５に続き、決定された時間差が定義された閾値を超えるかどうかを判定し、そうでない場合、ルーチンはブロック５４５に続き、ブロック５１０で受信された画像の表示を開始する。
【００５２】
さもなければ、ブロック５３５で、差が定義された閾値を超える（またはルーチンの他の実施形態において他の基準が満たされる）と判定された場合、ルーチンは代わりにブロック５５０に続き、ＨＭＤデバイスのセーフモード動作を開始し、ユーザおよびＨＭＤデバイスの周辺の実際の物理的環境に関する情報を提供するなど、ＨＭＤデバイス上に表示する１または複数の代替画像を取得することを含む。他の箇所でより詳細に説明されるように、代替画像は、例えば、実際の物理的環境におけるＨＭＤデバイスまたは他のデバイス上のカメラから取得された画像であり得、物理的環境におけるユーザの実際の位置をユーザに示すなどし、および／または、例えば、ＨＭＤデバイス上の１または複数のセンサを使用して決定されるＨＭＤデバイスの向き情報（例えば、慣性測定ユニットデータ）に少なくとも一部に基づいて生成される実際の物理的環境の人工バージョンであり得る。加えて、セーフモード動作の開始は、少なくともいくつかの実施形態において、さもなければユーザに警告または通知するなどの他の動作を実行することを含み得、（例えば、セーフモード動作に関する情報を画像レンダリングシステムおよび／またはルーチン４００に伝送することなどによって）追加の画像を生成する際に画像レンダリングシステムの動作を一時停止する。ブロック５５０の後、ルーチンはブロック５５５に続き、ＨＭＤデバイス上での代替画像の表示を開始する。
【００５３】
ブロック５４５または５５５の後、ルーチンはブロック５７０に続き、任意でＨＭＤデバイスの現在の追跡された位置情報を取得および／または画像レンダリングシステムに送信し（例えば、ＨＭＤデバイスおよび／または実際の物理的環境の他のデバイスによって実行される追跡に基づいて）、その追跡された位置情報に対応する後の画像生成での使用のためなどである。
【００５４】
代わりに、ブロック５１５で、ブロック５１０で受信された情報または要求が画像を表示することではないと決定された場合、ルーチンは代わりにブロック５９０に続き、必要に応じて１または複数の他の指示された動作を実行する。例えば、そのような他の動作は、現在のまたは最近の遅延情報をリクエスタおよび／またはルーチン４００および／または他のエンティティに提供する（例えば、要求に応答して、情報を定期的にプッシュすることによって、またはさもなければ他の指示された基準が満たされたときなど）こと、ＨＭＤデバイスの追跡された位置情報を画像レンダリングシステムおよび／またはルーチン４００に提供する（例えば、要求に応答して、定期的またはさもなければ１または複数の指示された基準が満たされた場合など）こと、セーフモード動作の開始または終了に関する情報をリクエスタおよび／またはルーチン４００および／または他のエンティティに提供する（例えば、要求に応答して、定期的に、または他の基準が満たされたときに情報をプッシュすることなど）こと、定義された時間の後、または決定された遅延情報が閾値を超えない（またはさもなければ他の実施形態において他の基準を満たす）追加の画像が受信されたときなど１または複数の関連する基準が満たされたときに、以前に開始されたセーフモード動作を終了することを決定することとのうちの１または複数を含み得る。
【００５５】
ブロック５７０または５９０の後、ルーチンはブロック５９５に続き、終了する明示的な指示が受信されるまでなど、継続するかどうかを決定する。継続すると判定された場合、ルーチンはブロック５１０に戻り、さもなければブロック５９９に続いて終了する。
【００５６】
いくつかの実施形態において、上で説明されたルーチンによって提供される機能は、より多くのルーチン間で分割される、またはより少ないルーチンに統合されるなどの代替方法で提供され得ることが理解されよう。同様に、いくつかの実施形態において、図示されたルーチンは、他の図示されたルーチンが代わりにそれぞれそのような機能を欠くまたは含む場合、または提供される機能の量が変更される場合など、説明されているよりも多いまたは少ない機能を提供し得る。加えて、様々な動作が特定の方式で（例えば、逐次または並列に）および／または特定の順序で実行されるものとして示されている場合があるが、当業者は、他の実施形態において、動作が他の順序で、および他の方式で実行され得ることを理解するであろう。同様に、上で説明されたデータ構造は、異なる方式で構造化され得、単一のデータ構造を複数のデータ構造に分割したり、複数のデータ構造を単一のデータ構造に統合したりするなど、データベースまたはユーザインタフェースの画面／ページまたはその他の種類のデータ構造を含むことが理解されよう。同様に、いくつかの実施形態において、図示されたデータ構造は、他の図示されたデータ構造が代わりにそのような情報をそれぞれ欠くまたは含む場合、または格納される情報の量または種類が変更される場合など、説明されるよりも多いまたは少ない情報を格納し得る。
【００５７】
加えて、図面内の要素のサイズと相対位置は、様々な要素の形状と角度を含め、必ずしも縮尺どおりに描かれておらず、いくつかの要素は図面の読みやすさを向上させるために拡大および位置決めされており、少なくともいくつかの要素の特定の形状は、それらの要素の実際の形状または縮尺に関する情報を伝えることなく認識を容易にするために選択されている。加えて、いくつかの要素は、明確さと強調のために省略される場合がある。更に、異なる図面で繰り返される参照番号は、同じまたは同様の要素を意味する場合がある。
【００５８】
上記から、特定の実施形態が例示の目的のために本明細書で説明されたが、本発明の趣旨および範囲から逸脱することなく、様々な修正が行われ得ることが理解されよう。加えて、本発明の特定の態様は、特定の請求項形態で時々提示されるか、または任意の請求項で具現化されない場合があるが、発明者は、利用できるあらゆる請求項形態で本発明の様々な態様を企図する。例えば、本発明のいくつかの態様のみがコンピュータ可読媒体で具現化されるものとして特定の時間に列挙され得るが、他の態様も同様にそのように具現化され得る。
【００５９】
本出願が優先権を主張する、２０１８年２月１５日に出願された米国仮特許出願第１５／８９７，９８４号は、ここに、参照によりその全体が本明細書に組み入れられる。
【図１Ａ】
2021514070.tif 000003
【図１Ｂ】
2021514070.tif 000004
【図１Ｃ】
2021514070.tif 000005
【図１Ｄ】
2021514070.tif 000006
【図１Ｅ】
2021514070.tif 000007
【図１Ｆ】
2021514070.tif 000008
【図１Ｇ】
2021514070.tif 000009
【図１Ｈ】
2021514070.tif 000010
【図１Ｉ】
2021514070.tif 000011
【図２Ａ】
2021514070.tif 000012
【図２Ｂ】
2021514070.tif 000013
【図３】
2021514070.tif 000014
【図４】
2021514070.tif 000015
【図５】
2021514070.tif 000016
【国際調査報告】
2021514070.tif 000017