(58)【調査した分野】(Int.Cl.,DB名)
前記更新モジュールがさらに、前記更新バッファに選択的更新を提供するために前記ソースコンピューティングデバイスに指示し、前記選択的更新が、画像データの変化率が所定の閾値を超える前記現在のビュー外にある前記環境の前記画像データへの更新を含む、請求項1〜3のいずれか一項に記載の装置。
前記更新モジュールがさらに、前記更新バッファから部分的更新を取得し、前記部分的更新が、前記現在のビューの一部と、前記HMDデバイスの動きの後に以前は前記現在のビュー外にあった前記環境の前記画像データの一部とを含む、請求項1〜4のいずれか一項に記載の装置。
前記更新モジュールがさらに、部分的更新を取得し、前記ソースコンピューティングデバイスから提供される新しいビューの一部が前記更新バッファから利用可能でないときに、前記部分的更新が、前記新しいビューの前記一部を含む、請求項1〜5のいずれか一項に記載の装置。
前記現在のビューの前記画像データが、前記現在のビュー外にある前記環境の前記画像データより低いサイズの解像度である、請求項1〜6のいずれか一項に記載の装置。
前記更新バッファに選択的更新を提供するために前記ソースコンピューティングデバイスに指示することをさらに含み、前記選択的更新が、画像データの変化率が所定の閾値を超える前記現在のビュー外にある前記環境の前記画像データへの更新を含む、請求項8〜10のいずれか一項に記載の方法。
前記ソースコンピューティングデバイスから部分的更新を取得することをさらに含み、前記ソースコンピューティングデバイスから提供される新しいビューの一部が前記更新バッファから利用可能でないときに、前記部分的更新が、前記新しいビューの前記一部を含む、請求項8〜12のいずれか一項に記載の方法。
前記現在のビューの前記画像データが、前記現在のビュー外にある前記環境の前記画像データより低いサイズの解像度である、請求項8〜13のいずれか一項に記載の方法。
【発明を実施するための形態】
【0011】
本開示および図を通して、同じ参照番号を同様の構成要素および特徴を示すために使用する。100番台の番号は本来
図1で見られる特徴を指し、200番台の番号は本来
図2で見られる特徴を指しており、以下同様である。
【0012】
本明細書で開示される主題は、ヘッドマウントディスプレイ(HMD)デバイスに表示される画像データを更新するための技術に関する。上述したように、HMDデバイスに表示される画像データへの更新は、仮想または拡張現実環境において更新がHMDデバイスの動きに遅れる場合、ユーザに不快感を与える可能性がある。本明細書で説明される技術は、HMDデバイスに表示される環境の現在のビューの画像データを記憶することを含む。画像データは、HMDデバイスの更新バッファに記憶される。画像データは、環境の現在のビューの画像データ、ならびに現在のビュー外にある環境の画像データを含む。言い換えれば、更新バッファは、HMDの任意の所与のビューポートの現在のビューに対する解像度より高い解像度の画像データをローカルに記憶することができる。HMDデバイスに提供される画像更新を必要とする動きは、ローカル更新バッファからリトリーブすることができ、それにより画像更新の遅延を減少させ、ユーザ体験を改善する。
【0013】
図1は、ヘッドマウントディスプレイ(HMD)デバイスに通信可能に結合されたソースコンピューティングデバイスを示すブロック図である。コンピューティングデバイス100は、たとえば、とりわけラップトップコンピュータ、デスクトップコンピュータ、ウルトラブック、タブレットコンピュータ、モバイルデバイス、サーバ、またはデジタルビデオディスクプレーヤであってもよい。いずれにしても、コンピューティングデバイス100は、画像データをHMDデバイス102に提供するように構成されたビデオソースとすることができる。HMDデバイス102は、ユーザの頭に装着されるデバイスであってもよい。HMDデバイス102は、ディスプレイ104と、更新バッファ106とを含むことができる。コンピューティングデバイス100は、記憶された命令を実施するように構成されている中央処理ユニット(CPU)108と、非一時的コンピュータ可読媒体を含むストレージデバイス110と、メモリデバイス112とを含むことができる。
【0014】
コンピューティングデバイス100はまた、グラフィックス処理ユニット(GPU)114を含んでもよい。示されているように、CPU102は、バス116を介してGPU114に結合することができる。実施形態では、GPU114は、CPU102に組み込まれている。GPU114は、キャッシュを含むことができ、コンピューティングデバイス100内で任意の数のグラフィックス処理を実行するように構成することができる。たとえば、GPU108は、ディスプレイインターフェース118を介してHMDデバイス102でコンピューティングデバイス100のユーザに表示されるグラフィックス画像、グラフィックスフレーム、ビデオなどをレンダリングまたは操作するように構成してもよい。
【0015】
場合によっては、HMDデバイス102に表示される画像は、部分的には、仮想現実アプリケーション120によって生成されてもよい。場合によっては、仮想現実アプリケーション120は、拡張現実を含むことができる。いずれにしても、仮想現実アプリケーション120は、HMDデバイス102に表示される環境の画像データを提供するように構成することができる。環境の画像データは、更新バッファ106に記憶される。ディスプレイ104は、ビューポート内に画像を表示するように構成することができ、HMDデバイス102が移動すると、センサ122は動きを検出することができ、画像データは、コンピューティングデバイス102などのソースデバイスから直接ではなく更新バッファ106からリトリーブすることができる。上述したように、HMDデバイス102の更新バッファ106などのローカルバッファから画像データをリトリーブすることにより、ディスプレイ104に画像を表示することに関連する遅延時間を減少させることができる。
【0016】
HMDデバイス102はまた、更新モジュール124を含むことができる。更新モジュール124、センサ122、ディスプレイ104、および更新バッファ106は、以下により詳細に説明するコンピューティングデバイスのバス116と同様のバス126によって通信可能に結合することができる。更新モジュール124は、ハードウェアロジックを少なくとも部分的に含むロジックとして実装することができる。場合によっては、更新モジュール124は、集積回路、マイクロプロセッサなどとして実装されてもよい。更新モジュール124は、独立して、並列に、分散して、またはより広範なプロセスの一部として動作するように構成することができる。
【0017】
更新モジュール124は、更新ポリシーに基づいて、HMDデバイス102のディスプレイ104に表示されるように、更新バッファ106から画像データを提供するように構成することができる。たとえば、更新ポリシーは、第1の優先順位でHMDデバイス102の動きに起因する環境の新しいビューに対する更新を提供することと、第1の優先順位より低い第2の優先順位で環境の現在のビューに対する更新を提供することと、第2の優先順位より低い第3の優先順位で現在のビュー外にある環境の画像データに対する更新を提供することとを含む。
【0018】
場合によっては、更新モジュール124は、センサ122によって検出されるHMDデバイス102の動きがいつ発生したかを判定し、動きに起因する新しいビューの新しい位置を計算するように構成されてもよい。HMDデバイス102に表示されるコンテンツは、更新バッファ106から画像データを提供することによって更新することができる。さらに、HMDデバイス102は、コンピューティングデバイス100に動きを通知するように構成することができる。
【0019】
更新モジュール124は、追加の処理を実行するように構成することができる。たとえば、更新モジュール124は、以下により詳細に説明するように、選択的更新、部分的更新などを実行するように構成することができる。
【0020】
CPU102は、バス116を介して、コンピューティングデバイス100をデジタルディスプレイインターフェースを介してHMDデバイス102に接続するように構成されたディスプレイインターフェース118にリンクすることができる。CPU102は、記憶された命令を実施するように適合されているメインプロセッサであってもよい。CPU102は、単一コアプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、または任意の数の他の構成であってもよい。CPU102は、複合命令セットコンピュータ(CISC)または縮小命令セットコンピュータ(RISC)プロセッサ、x86命令セット互換プロセッサ、マルチコア、または任意の他のマイクロプロセッサもしくは中央処理ユニット(CPU)として実装することができる。
【0021】
メモリデバイス112は、ランダムアクセスメモリ(RAM)(たとえば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、ゼロキャパシタRAM、シリコン−酸化物−窒化物−酸化物−シリコンSONOS、混載DRAM、エクステンディッドデータアウトRAM、ダブルデータレート(DDR)RAM、抵抗ランダムアクセスメモリ(RRAM(登録商標))、パラメータランダムアクセスメモリ(PRAM)など)、リードオンリメモリ(ROM)(たとえば、マスクROM、プログラマブルリードオンリメモリ(PROM)、消去可能プログラマブルリードオンリメモリ(EPROM)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)など)、フラッシュメモリ、または任意の他の適切なメモリシステムを含むことができる。CPU108は、システムバス116(たとえば、ペリフェラルコンポーネントインターコネクト(PCI)、インダストリスタンダードアーキテクチャ(ISA)、PCIエクスプレス、ハイパートランスポート(登録商標)、ヌーバスなど)を介して、メモリ112およびストレージデバイス110を含む構成要素に接続することができる。
【0022】
更新バッファ106は、メモリデバイス112と同様のメモリデバイスであってもよい。たとえば、更新バッファ106は、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、フラッシュメモリ、または任意の他の適切なメモリシステムを含むことができる。
【0023】
図1のブロック図は、コンピューティングデバイス100およびHMDデバイス102が
図1に示されている構成要素のすべてを含まなければならないことを示すことを意図するものではない。さらに、コンピューティングデバイス100および/またはHMDデバイス102は、特定の実装の詳細に応じて、
図1に示されていない任意の数の追加の構成要素を含むことができる。
【0024】
図2は、可視領域および更新バッファ領域を含むHMDを示す図である。上述したように、
図1の更新バッファ106に記憶された画像データは、HMDデバイス102のビューポートを介して見ることができるデータより多くのデータを含むことができる。
図2に示すように、可視領域202は、HMDデバイス102の
図1のディスプレイ104のような、ディスプレイで見ることができる領域を示している。対照的に、更新バッファ106は、現在のビューの可視領域202とより大きい領域204の画像データの両方の画像データを含むことができ、それによりユーザ206が動いても、遅延が少なくHMDデバイス102のディスプレイに画像が提供される。場合によっては、更新は、本明細書において「ゼロ遅延更新」と呼ぶこともできる。更新は、ユーザ206の動きの結果として、コンテンツ自体の変化の結果として、またはそれらの任意の組み合わせの結果として、表示されたコンテンツに変化が発生するときに画像コンテンツが表示される処理である。
【0025】
図3は、更新バッファから提供される画像更新を示すプロセスのフロー図である。
図1のコンピューティングデバイス100などのコンピューティングデバイスは、302に示すように、HMDデバイス102に画像データを提供するように構成されたビデオソースとすることができる。画像データは、304でレンダリングされ、パケットは、306で送信され得る。304におけるレンダリングは、
図5〜
図7に関して以下により詳細に説明するように、フレーム全体であってもよいし、または選択的更新、部分的更新、もしくはそれらの任意の組み合わせに基づいてもよい。
【0026】
306で送信されたパケットは、
図1に関して上述したような更新ポリシーに基づいて送信することができる。より具体的には、更新ポリシーは、第1の優先順位でHMDデバイスの動きに起因する環境の新しいビューに対する更新を送信することができる。第1の優先順位より低い第2の優先順位では、環境の現在のビューに対する更新が提供される。第2の優先順位より低い第3の優先順位では、現在のビュー外にある環境の画像データに対する更新が提供される。更新ポリシーは、更新モジュール124などのHMDデバイス102のモジュール、コンピューティングデバイス102のモジュール、またはそれらの任意の組み合わせによって実装されてもよい。
【0027】
HMDデバイス102では、画像データの中心は、308に示すように、HMDデバイス102に表示されている可視領域または現在のビューに基づいて、
図1の更新バッファ106などの更新バッファに設定される。310では、更新フレームが、更新ポリシーに基づいて更新バッファ106に提供される。312では、動きを待機し、314では、動きが検出された後に新しいビューの方向および位置が計算される。316では、新しいビューで表示されるコンテンツが、
図1のディスプレイ104などのHMDのディスプレイで更新される。矢印318によって示されるように、プロセスは、さらなる動きが検出されるまで待機するために312に戻ることができ、320において、コンピューティングデバイス100に動きが通知される。
【0028】
図4は、更新バッファから提供され得る画像更新を示す図である。上述したように、
図1のHMD102のディスプレイ104などのディスプレイへの更新は、更新バッファ106などのHMDにローカルであるバッファからリトリーブすることができる。
図4において、破線のボックスは、画像データのビューを示している。402では、破線のボックスは、現在のビューを示している。ボックス404,406,408,410および412は、
図1のコンピューティングデバイス100などのビデオソースから直接更新が提供されることを必要とするのではなく、更新バッファ106から表示およびリトリーブされ得る可能性のある新しいビューとすることができる。
【0029】
図5は、ソースコンピューティングデバイスから提供され得る部分的更新を示す第1の図である。
図5において、更新バッファ106の画像データ502は、現在のビュー504と、可能性のある新しいビュー506とを含む。ユーザが回転すると、
図1のHMDデバイス102は、その動きを検出することができる。左に回転すると、新しいビュー506の一部を明らかにすることができる。
【0030】
いくつかの実施形態では、新しいビューの一部を明らかにすることは、本明細書において部分的更新と呼ぶこともできる。しかし、部分的更新はまた、コンピューティングデバイス102などのビデオソースから
図1の更新バッファ106に提供され、
図6に関して以下により詳細に説明する更新と見なすことができる。
【0031】
図6は、ソースコンピューティングデバイスから提供され得る部分的更新を示す第2の図である。
図6において、602は、表示されている現在のビューを示している。場合によっては、更新バッファ106は、バッファフレーム606全体の一部604に関連する画像データを含まなくてもよい。この場合、
図1のコンピューティングデバイス100などのビデオソースからバッファフレーム606全体を要求するのではなく、バッファフレーム606全体の一部604のみを含む部分的更新を、コンピューティングデバイス100から提供することができる。このシナリオでは、部分的更新を介してコンピューティングデバイス100からリトリーブされた可能性のあるビュー610および612に対する更新は、バッファフレーム606全体がコンピューティングデバイス100からリトリーブされた場合に発生する遅延時間を低減することができる。
【0032】
図7は、画像データを変更するために提供され得る選択的更新を示す図である。場合によっては、更新は、
図1のコンピューティングデバイス100などのビデオソースからHMD102の更新バッファ106に選択的に提供されてもよい。
図7に示すように、バッファフレーム702全体は、現在のビュー704と、706,708,710および712を含む他の可能性のある新しいビューとを含む。本明細書で説明される技術は、画像データの変化率に基づいてバッファフレーム702全体の画像データの一部を選択的に更新することを含む。
【0033】
たとえば、
図7において、電車に関連する画像データは、領域714外にある画像データより領域714内で急速に変化する可能性がある。このシナリオでは、更新は、バッファフレーム702全体に対する更新とは反対に、領域714に対してコンピューティングデバイス100から更新バッファ106に提供されてもよい。このシナリオでは、更新バッファ106への更新は、現在のビュー704内にある画像データ、現在のビュー704外にあるが領域714内にある画像データ、またはそれらの任意の組み合わせに提供されてもよい。選択的更新は、所定の閾値を超える変化率によってトリガされてもよく、
図2に関して上述した更新モジュール124によって指示されてもよい。
【0034】
選択的更新および部分的更新は、場合によっては、
図1および
図3に関して上述したような更新ポリシーと連動して機能してもよい。たとえば、
図7において、現在のビュー704に含まれる領域714への更新は、現在のビュー704外にある領域714に対して提供された更新より高い優先順位で提供されてもよい。
【0035】
図8は、画像データを更新するための方法を示すブロック図である。802では、方法800は、ヘッドマウントディスプレイ(HMD)デバイスに環境のビューを表示することを含む。804では、方法800は、HMDデバイスの更新バッファに画像データを記憶することを含む。画像データは、環境の現在のビューの画像データと、現在のビュー外にある環境の画像データとを含む。場合によっては、方法800は、HMDデバイスの動きが発生したときに現在のビュー外にある環境の現在のビューまたは画像データのいずれかを表示すること806を含むことができる。
【0036】
場合によっては、方法800は、更新ポリシーに基づいて更新バッファからHMDデバイスに表示される画像データを提供することを含むことができる。更新ポリシーは、第1の優先順位でHMDの動きに起因する環境の新しいビューに対する更新を提供することと、第1の優先順位より低い第2の優先順位で環境の現在のビューに対する更新を提供することとを含む。更新ポリシーはまた、第2の優先順位より低い第3の優先順位で現在のビュー外にある環境の画像データに対する更新を提供することを含む。
【0037】
場合によっては、方法800は、HMDデバイスの外部のソースコンピューティングデバイスから更新バッファに更新を提供することを含むことができる。ソースコンピューティングデバイスからの更新は、選択的更新、部分的更新、またはそれらの任意の組み合わせを含むことができる。
【0038】
例は、方法、方法の動作を実行するための手段、マシンによって実行されると、マシンに方法の動作を実行させる命令を含む少なくとも1つのマシン可読媒体のような主題を含み得る。上記の例の詳細は、1つまたは複数の実施形態のいずれでも使用できることを理解されたい。たとえば、上述したコンピューティングデバイスのすべての任意選択の特徴はまた、本明細書で説明される方法またはコンピュータ可読媒体のいずれかに関して実装されてもよい。さらに、フロー図および/または状態図を本明細書で用いて実施形態を記載したが、本技術は、これらの図または本明細書における対応する記載に限定されない。たとえば、フローは、図示された各ボックスまたは状態を通る必要はなく、図示され本明細書で説明された通りの同じ順序で通る必要もない。
【0039】
例1は、画像データを更新するための装置を含む。装置は、環境のビューを表示するヘッドマウントディスプレイ(HMD)デバイスを含む。装置はまた、HMDデバイスの更新バッファを含み、更新バッファは、画像データを記憶する。画像データは、環境の現在のビューの画像データと、現在のビュー外にある環境の画像データとを含む。
【0040】
例1において、装置は、以下に説明する場合の任意の組み合わせを含むことができる。場合によっては、装置は、ハードウェアロジックを少なくとも部分的に含む更新モジュールを含み、更新モジュールのロジックは、更新ポリシーに基づいて更新バッファからHMDデバイスに表示される画像データを提供する。更新ポリシーは、第1の優先順位でHMDデバイスの動きに起因する環境の新しいビューに対する更新を提供することと、第1の優先順位より低い第2の優先順位で環境の現在のビューに対する更新を提供することと、第2の優先順位より低い第3の優先順位で現在のビュー外にある環境の画像データに対する更新を提供することとを含む。
【0041】
場合によっては、装置は、更新バッファに更新を提供するHMDデバイスの外部のソースコンピューティングデバイスを含み、更新モジュールは、ソースコンピューティングデバイスからHMDデバイスに表示される画像データを直接提供するのではなく、更新バッファからHMDデバイスに表示される画像データを提供する。更新モジュールは、HMDデバイスの動きがいつ発生したかを判定し、動きに起因する新しいビューの新しい位置を計算し、更新バッファから画像データを提供することによってHMDデバイスに表示されるコンテンツを更新し、ソースコンピューティングデバイスに動きを通知するように構成することができる。場合によっては、更新モジュールはさらに、バッファに選択的更新を提供するためにソースに指示するように構成され、選択的更新は、所定の閾値を超えて変化する現在のビューの画像データへの更新を含む。場合によっては、更新モジュールはさらに、バッファに選択的更新を提供するためにソースに指示するように構成され、選択的更新は、所定の閾値を超えて変化する現在のビュー外にある環境の画像データへの更新を含む。場合によっては、更新モジュールはさらに、更新バッファから部分的更新をリトリーブするように構成され、部分的更新は、現在のビューの一部と、HMDデバイスの動きの後に以前は現在のビュー外にあった環境の画像データの一部とを含む。場合によっては、更新モジュールはさらに、部分的更新をリトリーブするように構成され、ソースから提供される新しいビューの一部が更新バッファから利用可能でないときに、部分的更新が新しいビューの一部を含む。さらに、場合によっては、現在のビューの画像データは、現在のビュー外にある環境の画像データより低いサイズの解像度である。
【0042】
例2は、画像データを更新するための方法を含む。方法は、ヘッドマウントディスプレイ(HMD)デバイスに環境のビューを表示することと、HMDデバイスの更新バッファに画像データを記憶することとを含む。画像データは、環境の現在のビューの画像データと、現在のビュー外にある環境の画像データとを含む。
【0043】
例2において、方法は、以下に説明する場合の任意の組み合わせを含むことができる。場合によっては、方法は、更新ポリシーに基づいて更新バッファからHMDデバイスに表示される画像データを提供することを含む。更新ポリシーは、第1の優先順位でHMDデバイスの動きに起因する環境の新しいビューに対する更新を提供することと、第1の優先順位より低い第2の優先順位で環境の現在のビューに対する更新を提供することと、第2の優先順位より低い第3の優先順位で現在のビュー外にある環境の画像データに対する更新を提供することとを含む。
【0044】
場合によっては、方法は、HMDデバイスの外部のソースコンピューティングデバイスから更新バッファに更新を提供することを含む。方法は、HMDデバイスの動きがいつ発生したかを判定することと、動きに起因する新しいビューの新しい位置を計算することと、更新バッファから画像データを提供することによってHMDデバイスに表示されるコンテンツを更新することと、ソースコンピューティングデバイスに動きを通知することとを含むことができる。場合によっては、方法は、バッファに選択的更新を提供するためにソースに指示することを含むことができ、選択的更新は、所定の閾値を超えて変化する現在のビューの画像データへの更新を含む。場合によっては、方法は、バッファに選択的更新を提供するためにソースに指示することを含むことができ、選択的更新は、所定の閾値を超えて変化する現在のビュー外にある環境の画像データへの更新を含む。場合によっては、方法は、更新バッファから部分的更新をリトリーブすることを含むことができ、部分的更新は、現在のビューの一部と、HMDデバイスの動きの後に以前は現在のビュー外にあった環境の画像データの一部とを含む。場合によっては、方法は、部分的更新をリトリーブすることを含むことができ、ソースから提供される新しいビューの一部が更新バッファから利用可能でないときに、部分的更新が新しいビューの一部を含む。さらに、場合によっては、現在のビューの画像データは、現在のビュー外にある環境の画像データより低いサイズの解像度である。
【0045】
例3は、画像データを更新するためのシステムを含む。システムは、環境のビューを表示するヘッドマウントディスプレイ(HMD)デバイスを含む。システムはまた、HMDデバイスの更新バッファを含み、更新バッファは、画像データを記憶する。画像データは、環境の現在のビューの画像データと、現在のビュー外にある環境の画像データとを含む。システムは、ハードウェアロジックを少なくとも部分的に含む更新モジュールを含み、更新モジュールのロジックは、更新ポリシーに基づいて更新バッファからHMDデバイスに表示される画像データを提供する。
【0046】
例3において、システムは、以下に説明する場合の任意の組み合わせを含むことができる。更新ポリシーは、第1の優先順位でHMDデバイスの動きに起因する環境の新しいビューに対する更新を提供することと、第1の優先順位より低い第2の優先順位で環境の現在のビューに対する更新を提供することと、第2の優先順位より低い第3の優先順位で現在のビュー外にある環境の画像データに対する更新を提供することとを含む。
【0047】
場合によっては、システムは、更新バッファに更新を提供するHMDデバイスの外部のソースコンピューティングデバイスを含み、更新モジュールは、ソースコンピューティングデバイスからHMDデバイスに表示される画像データを直接提供するのではなく、更新バッファからHMDデバイスに表示される画像データを提供する。更新モジュールは、HMDデバイスの動きがいつ発生したかを判定し、動きに起因する新しいビューの新しい位置を計算し、更新バッファから画像データを提供することによってHMDデバイスに表示されるコンテンツを更新し、ソースコンピューティングデバイスに動きを通知するように構成することができる。場合によっては、更新モジュールはさらに、バッファに選択的更新を提供するためにソースに指示するように構成され、選択的更新は、所定の閾値を超えて変化する現在のビューの画像データへの更新を含む。場合によっては、更新モジュールはさらに、バッファに選択的更新を提供するためにソースに指示するように構成され、選択的更新は、所定の閾値を超えて変化する現在のビュー外にある環境の画像データへの更新を含む。場合によっては、更新モジュールはさらに、更新バッファから部分的更新をリトリーブするように構成され、部分的更新は、現在のビューの一部と、HMDデバイスの動きの後に以前は現在のビュー外にあった環境の画像データの一部とを含む。場合によっては、更新モジュールはさらに、部分的更新をリトリーブするように構成され、ソースから提供される新しいビューの一部が更新バッファから利用可能でないときに、部分的更新が新しいビューの一部を含む。さらに、場合によっては、現在のビューの画像データは、現在のビュー外にある環境の画像データより低いサイズの解像度である。
【0048】
例4は、画像データを更新するための方法を含む。方法は、ヘッドマウントディスプレイ(HMD)デバイスに環境のビューを表示することと、HMDデバイスで画像データを記憶するための手段に画像データを記憶することとを含む。画像データは、環境の現在のビューの画像データと、現在のビュー外にある環境の画像データとを含む。
【0049】
例4において、方法は、以下に説明する場合の任意の組み合わせを含むことができる。場合によっては、方法は、更新ポリシーに基づいてHMDデバイスで画像データを記憶するための手段からHMDデバイスに表示される画像データを提供することを含む。更新ポリシーは、第1の優先順位でHMDデバイスの動きに起因する環境の新しいビューに対する更新を提供することと、第1の優先順位より低い第2の優先順位で環境の現在のビューに対する更新を提供することと、第2の優先順位より低い第3の優先順位で現在のビュー外にある環境の画像データに対する更新を提供することとを含む。
【0050】
場合によっては、方法は、HMDデバイスの外部のソースコンピューティングデバイスからHMDデバイスで画像データを記憶するための手段に更新を提供することを含む。方法は、HMDデバイスの動きがいつ発生したかを判定することと、動きに起因する新しいビューの新しい位置を計算することと、HMDデバイスで画像データを記憶するための手段から画像データを提供することによってHMDデバイスに表示されるコンテンツを更新することと、ソースコンピューティングデバイスに動きを通知することとを含むことができる。場合によっては、方法は、バッファに選択的更新を提供するためにソースに指示することを含むことができ、選択的更新は、所定の閾値を超えて変化する現在のビューの画像データへの更新を含む。場合によっては、方法は、バッファに選択的更新を提供するためにソースに指示することを含むことができ、選択的更新は、所定の閾値を超えて変化する現在のビュー外にある環境の画像データへの更新を含む。場合によっては、方法は、HMDデバイスで画像データを記憶するための手段から部分的更新をリトリーブすることを含むことができ、部分的更新は、現在のビューの一部と、HMDデバイスの動きの後に以前は現在のビュー外にあった環境の画像データの一部とを含む。場合によっては、方法は、部分的更新をリトリーブすることを含むことができ、ソースから提供される新しいビューの一部がHMDデバイスで画像データを記憶するための手段から利用可能でないときに、部分的更新が新しいビューの一部を含む。さらに、場合によっては、現在のビューの画像データは、現在のビュー外にある環境の画像データより低いサイズの解像度である。
【0051】
例5は、画像データを更新するための装置を含む。装置は、環境のビューを表示するヘッドマウントディスプレイ(HMD)デバイスを含む。装置はまた、HMDデバイスで画像データを記憶するための手段を含み、HMDデバイスで画像データを記憶するための手段は、画像データを記憶する。画像データは、環境の現在のビューの画像データと、現在のビュー外にある環境の画像データとを含む。
【0052】
例5において、装置は、以下に説明する場合の任意の組み合わせを含むことができる。場合によっては、装置は、ハードウェアロジックを少なくとも部分的に含む更新モジュールを含み、更新モジュールのロジックは、更新ポリシーに基づいてHMDデバイスで画像データを記憶するための手段からHMDデバイスに表示される画像データを提供する。更新ポリシーは、第1の優先順位でHMDデバイスの動きに起因する環境の新しいビューに対する更新を提供することと、第1の優先順位より低い第2の優先順位で環境の現在のビューに対する更新を提供することと、第2の優先順位より低い第3の優先順位で現在のビュー外にある環境の画像データに対する更新を提供することとを含む。
【0053】
場合によっては、装置は、HMDデバイスで画像データを記憶するための手段に更新を提供するHMDデバイスの外部のソースコンピューティングデバイスを含み、更新モジュールは、ソースコンピューティングデバイスからHMDデバイスに表示される画像データを直接提供するのではなく、HMDデバイスで画像データを記憶するための手段からHMDデバイスに表示される画像データを提供する。更新モジュールは、HMDデバイスの動きがいつ発生したかを判定し、動きに起因する新しいビューの新しい位置を計算し、HMDデバイスで画像データを記憶するための手段から画像データを提供することによってHMDデバイスに表示されるコンテンツを更新し、ソースコンピューティングデバイスに動きを通知するように構成することができる。場合によっては、更新モジュールはさらに、バッファに選択的更新を提供するためにソースに指示するように構成され、選択的更新は、所定の閾値を超えて変化する現在のビューの画像データへの更新を含む。場合によっては、更新モジュールはさらに、バッファに選択的更新を提供するためにソースに指示するように構成され、選択的更新は、所定の閾値を超えて変化する現在のビュー外にある環境の画像データへの更新を含む。場合によっては、更新モジュールはさらに、HMDデバイスで画像データを記憶するための手段から部分的更新をリトリーブするように構成され、部分的更新は、現在のビューの一部と、HMDデバイスの動きの後に以前は現在のビュー外にあった環境の画像データの一部とを含む。場合によっては、更新モジュールはさらに、部分的更新をリトリーブするように構成され、ソースから提供される新しいビューの一部がHMDデバイスで画像データを記憶するための手段から利用可能でないときに、部分的更新が新しいビューの一部を含む。さらに、場合によっては、現在のビューの画像データは、現在のビュー外にある環境の画像データより低いサイズの解像度である。
【0054】
上記の説明および以下の特許請求の範囲において、「結合された」および「接続された」という用語は、それらの派生語と共に使用される場合がある。これらの用語は、互いの同義語として意図されていないことを理解すべきである。むしろ、特定の実施形態では、「接続された」は、2つ以上の要素が互いに物理的または電気的に直接接触していることを指すのに用いられる場合がある。「結合された」は、2つ以上の要素が物理的または電気的に直接接触していることを意味する場合がある。しかし、「結合された」はまた、2つ以上の要素が互いに直接接触してはいないが、それでもなお互いに協働するか相互作用することを意味してもよい。
【0055】
いくつかの実施形態は、ハードウェア、ファームウェア、およびソフトウェアの1つまたはそれらの組み合わせで実装することができる。いくつかの実施形態はまた、本明細書で説明される処理を実行するためにコンピューティングプラットフォームによって読み取られ実施されるマシン可読媒体に格納された命令として実装されてもよい。マシン可読媒体は、マシン、たとえば、コンピュータにより読取可能な形式の情報を記憶または送信するための任意のメカニズムを含むことができる。たとえば、マシン可読媒体は、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイスを含むことができる。
【0056】
実施形態は、実装または例である。本明細書における「実施形態」、「一実施形態」、「いくつかの実施形態」、「様々な実施形態」、または「他の実施形態」という言及は、その実施形態に関連して説明された特定の特徴、構造、または特性が、必ずしも本技術のすべての実施形態ではなく、少なくともいくつかの実地形態に含まれることを意味する。「実施形態」、「一実施形態」、または「いくつかの実施形態」の様々な出現は、必ずしもすべて同一の実施形態に言及することではない。ある実施形態の要素または態様は、他の実施形態の要素または態様に組み合わされることができる。
【0057】
本明細書で説明および示されるすべての構成要素、特徴、構造、特性などは、特定の実施形態または複数の実施形態に含まれる必要があるとは限らない。たとえば、構成要素、特徴、構造、または特性が含まれ「てよい」、「るかもしれない」、「ることができる」、または「得る」と本明細書が述べる場合、その特定の構成要素、特徴、構造、または特性は、含まれることが必要とされない。本明細書または特許請求の範囲が、「一の」または「ある」要素と言及する場合、それは、その要素が1つだけあることを意味しない。本明細書または特許請求の範囲が、「追加の」要素と言及する場合、それは、その追加の要素が1つより多くあることを除外しない。
【0058】
いくつかの実施形態は特定の実装を参照して説明されるが、いくつかの実施形態に従って、他の実装が可能であるということに注意すべきである。さらに、図面に示されおよび/または本明細書で説明される回路要素または他の特徴の配置および/または順序は、示されたおよび説明された特定の方法で配置される必要はない。いくつかの実施形態に従って、多くの他の配置が可能である。
【0059】
図に示される各システムにおいて、表される複数の要素が異なるおよび/または同様であり得ることを示唆するために、場合によっては、複数の要素が同一の参照番号または異なる参照番号を各々有してよい。しかし、要素は、異なる実装を有し、本明細書で示されまたは説明されるシステムのいくつかまたはすべてと連携するために十分に柔軟性があってよい。図に示される様々な要素は、同一でもまたは異なっていてもよい。どの1つが第1の要素と称され、どれが第2の要素と呼ばれるかは任意である。
【0060】
本技術は、本明細書に列挙された特定の詳細に限定されない。実際に、本開示の便益を有する当業者は、前述の説明および図面から多くの他の変形を本技術の範囲内で行うことができることを理解するであろう。したがって、本技術の範囲を定義するものは、いかなる補正をも含む以下の特許請求の範囲である。