(57)【特許請求の範囲】
【請求項１】
環境のビューを表示するヘッドマウントディスプレイ（ＨＭＤ）デバイスと、
前記ＨＭＤデバイスの更新バッファであって、
前記環境の現在のビューの画像データと、
前記現在のビュー外にある前記環境の画像データと
を含む画像データを記憶する更新バッファと、
更新モジュールと、
前記更新バッファにおける、前記ＨＭＤデバイスの動きに起因する前記環境の新しいビューに対する更新と、前記環境の現在のビューに対する更新と、前記現在のビュー外にある前記環境の前記画像データに対する更新とのうちの少なくとも１つを含む、更新を提供する前記ＨＭＤデバイスの外部のソースコンピューティングデバイスと
を備え、
前記更新モジュールが、前記ソースコンピューティングデバイスから前記ＨＭＤデバイスに表示される画像データを直接提供するのではなく、前記更新バッファから前記ＨＭＤデバイスに表示される画像データを提供し、
前記更新モジュールがさらに、前記更新バッファに選択的更新を前記ソースコンピューティングデバイスに指示し、画像データの変化率が所定の閾値を超えることをトリガとして前記現在のビューの画像データへの更新を含む前記選択的更新が行われる、
画像データを更新するための装置。
【請求項２】
前記更新モジュールが、
前記ＨＭＤデバイスの動きに起因する前記環境の新しいビューに対する更新を提供し、
前記環境の現在のビューに対する更新を提供し、
前記現在のビュー外にある前記環境の前記画像データに対する更新を提供する、
請求項１に記載の装置。
【請求項３】
前記更新モジュールが、
前記ＨＭＤデバイスの動きがいつ発生したかを判定し、
前記動きに起因する新しいビューの新しい位置を計算し、
前記更新バッファから画像データを提供することによって前記ＨＭＤデバイスに表示されるコンテンツを更新し、
前記ソースコンピューティングデバイスに前記動きを通知する、
請求項１または２に記載の装置。
【請求項４】
前記更新モジュールがさらに、前記更新バッファに選択的更新を提供するために前記ソースコンピューティングデバイスに指示し、前記選択的更新が、画像データの変化率が所定の閾値を超える前記現在のビュー外にある前記環境の前記画像データへの更新を含む、請求項１〜３のいずれか一項に記載の装置。
【請求項５】
前記更新モジュールがさらに、前記更新バッファから部分的更新を取得し、前記部分的更新が、前記現在のビューの一部と、前記ＨＭＤデバイスの動きの後に以前は前記現在のビュー外にあった前記環境の前記画像データの一部とを含む、請求項１〜４のいずれか一項に記載の装置。
【請求項６】
前記更新モジュールがさらに、部分的更新を取得し、前記ソースコンピューティングデバイスから提供される新しいビューの一部が前記更新バッファから利用可能でないときに、前記部分的更新が、前記新しいビューの前記一部を含む、請求項１〜５のいずれか一項に記載の装置。
【請求項７】
前記現在のビューの前記画像データが、前記現在のビュー外にある前記環境の前記画像データより低いサイズの解像度である、請求項１〜６のいずれか一項に記載の装置。
【請求項８】
ヘッドマウントディスプレイ（ＨＭＤ）デバイスに環境のビューを表示することと、
前記ＨＭＤデバイスの更新バッファに画像データを記憶することと
を含み、
前記画像データは、
前記環境の現在のビューの画像データと、
前記現在のビュー外にある前記環境の画像データと
を含み、
前記更新バッファから前記ＨＭＤデバイスに表示される画像データを提供することと、
前記ＨＭＤデバイスの外部のソースコンピューティングデバイスから前記更新バッファにおける、前記ＨＭＤデバイスの動きに起因する前記環境の新しいビューに対する更新と、前記環境の現在のビューに対する更新と、前記現在のビュー外にある前記環境の前記画像データに対する更新とのうちの少なくとも１つを含む、更新を提供することと、
前記更新バッファに選択的更新を提供するために前記ソースコンピューティングデバイスに指示することと、
画像データの変化率が所定の閾値を超えることをトリガとして前記現在のビューの画像データへの更新を含む前記選択的更新を行うことと、をさらに含む、
画像データを更新するための方法。
【請求項９】
前記ＨＭＤデバイスの動きに起因する前記環境の新しいビューに対する更新を提供することと、
前記環境の現在のビューに対する更新を提供することと、
前記現在のビュー外にある前記環境の前記画像データに対する更新を提供することと
を含む、
請求項８に記載の方法。
【請求項１０】
前記ＨＭＤデバイスの動きがいつ発生したかを判定することと、
前記動きに起因する新しいビューの新しい位置を計算することと、
前記更新バッファから画像データを提供することによって前記ＨＭＤデバイスに表示されるコンテンツを更新することと、
前記ソースコンピューティングデバイスに前記動きを通知することと
をさらに含む、請求項８または９に記載の方法。
【請求項１１】
前記更新バッファに選択的更新を提供するために前記ソースコンピューティングデバイスに指示することをさらに含み、前記選択的更新が、画像データの変化率が所定の閾値を超える前記現在のビュー外にある前記環境の前記画像データへの更新を含む、請求項８〜１０のいずれか一項に記載の方法。
【請求項１２】
前記更新バッファから部分的更新を提供することをさらに含み、前記部分的更新が、前記現在のビューの一部と、前記ＨＭＤデバイスの動きの後に以前は前記現在のビュー外にあった前記環境の前記画像データの一部とを含む、請求項８〜１１のいずれか一項に記載の方法。
【請求項１３】
前記ソースコンピューティングデバイスから部分的更新を取得することをさらに含み、前記ソースコンピューティングデバイスから提供される新しいビューの一部が前記更新バッファから利用可能でないときに、前記部分的更新が、前記新しいビューの前記一部を含む、請求項８〜１２のいずれか一項に記載の方法。
【請求項１４】
前記現在のビューの前記画像データが、前記現在のビュー外にある前記環境の前記画像データより低いサイズの解像度である、請求項８〜１３のいずれか一項に記載の方法。
【請求項１５】
環境のビューを表示するためのヘッドマウントディスプレイ（ＨＭＤ）デバイスと、
前記ＨＭＤデバイスの更新バッファであって、前記環境の現在のビューの画像データ、および前記現在のビュー外にある前記環境の画像データを有する画像データを記憶する更新バッファと、
更新モジュールと、
前記更新バッファにおける、前記ＨＭＤデバイスの動きに起因する前記環境の新しいビューに対する更新と、前記環境の現在のビューに対する更新と、前記現在のビュー外にある前記環境の前記画像データに対する更新とのうちの少なくとも１つを含む、更新を提供する前記ＨＭＤデバイスの外部のソースコンピューティングデバイスと
を備え、
前記更新モジュールが、前記ソースコンピューティングデバイスから前記ＨＭＤデバイスに表示される画像データを直接提供するのではなく、前記更新バッファから前記ＨＭＤデバイスに表示される画像データを提供し、
前記更新モジュールは、さらに、前記ソースコンピューティングデバイスに指示して、前記更新バッファにおいて、画像データの変化率が所定の閾値を超えることをトリガとして前記現在のビューにある画像データへの更新を含む選択的更新が行われる、
画像データを更新するためのシステム。
【請求項１６】
前記更新モジュールが、
前記ＨＭＤデバイスの動きに起因する前記環境の新しいビューに対する更新を提供し、
前記環境の現在のビューに対する更新を提供し、
前記現在のビュー外にある前記環境の前記画像データに対する更新を提供する、
請求項１５に記載のシステム。
【請求項１７】
前記更新モジュールが、前記ＨＭＤデバイスの動きがいつ発生したかを判定し、
前記動きに起因する新しいビューの新しい位置を計算し、
前記更新バッファから画像データを提供することによって前記ＨＭＤデバイスに表示されるコンテンツを更新し、
ソースコンピューティングデバイスに前記動きを通知する、請求項１５または１６に記載のシステム。
【請求項１８】
前記更新モジュールがさらに、
画像データの変化率が所定の閾値を超える前記現在のビュー外にある前記環境の前記画像データへの更新を含む選択的更新をバッファに提供するために、および
前記現在のビューの一部と、前記ＨＭＤデバイスの動きの後に以前は前記現在のビュー外にあった前記環境の前記画像データの一部、
前記更新バッファから利用可能でないときに前記ソースコンピューティングデバイスから提供される新しいビューの一部、または
それらの任意の組み合わせ
を含む部分的更新を提供するために、
前記ソースコンピューティングデバイスに指示する、請求項１５〜１７のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、２０１４年１２月１８日に出願された米国特許出願第１４／５７５，６１２号の出願日の利益を主張し、参照により本明細書に組み込まれる。
【背景技術】
【０００２】
コンピュータグラフィックスでは、画像データをレンダリングして、ディスプレイデバイスに提供することができる。場合によっては、ディスプレイデバイスは、ヘッドマウントディスプレイ（ＨＭＤ）デバイスを含み得る。ＨＭＤデバイスは、仮想現実システムで使用することができ、ＨＭＤの動きが表示される画像データに変化をもたらす。場合によっては、仮想現実または拡張現実システムにおいて、仮想現実酔いがＨＭＤを使用することによる副作用となる。ＨＭＤデバイスのユーザは、ＨＭＤディスプレイがユーザの目に近接しているために画像更新に敏感な場合がある。たとえば、ユーザの頭の動きに遅れる画像更新は、不快感を与える可能性がある。遅延を招く画像更新は、画像更新プロセスのフローに関わる様々な構成要素に関連する場合がある。たとえば、ＨＭＤデバイスのセンサは、動きを検出することができ、センサイベントは、ＨＭＤの周辺にあるソースコンピューティングデバイスなどのソースに送信され得る。新しい更新は、ソースによってレンダリングされ、ＨＭＤに提供される。場合によっては、これらのステップは、最大４０ミリ秒を必要とすることがある。この遅延時間は、ユーザが感じる仮想現実酔いに関連する可能性がある。
【図面の簡単な説明】
【０００３】
【図１】ヘッドマウントディスプレイ（ＨＭＤ）デバイスに通信可能に結合されたソースコンピューティングデバイスを示すブロック図である。
【０００４】
【図２】可視領域および更新バッファ領域を含むＨＭＤを示す図である。
【０００５】
【図３】更新バッファから提供される画像更新を示すプロセスのフロー図である。
【０００６】
【図４】更新バッファから提供され得る画像更新を示す図である。
【０００７】
【図５】ソースコンピューティングデバイスから提供され得る部分的更新を示す第１の図である。
【０００８】
【図６】ソースコンピューティングデバイスから提供され得る部分的更新を示す第２の図である。
【０００９】
【図７】画像データを変更するために提供され得る選択的更新を示す図である。
【００１０】
【図８】画像データを更新するための方法を示すブロック図である。
【発明を実施するための形態】
【００１１】
本開示および図を通して、同じ参照番号を同様の構成要素および特徴を示すために使用する。１００番台の番号は本来図１で見られる特徴を指し、２００番台の番号は本来図２で見られる特徴を指しており、以下同様である。
【００１２】
本明細書で開示される主題は、ヘッドマウントディスプレイ（ＨＭＤ）デバイスに表示される画像データを更新するための技術に関する。上述したように、ＨＭＤデバイスに表示される画像データへの更新は、仮想または拡張現実環境において更新がＨＭＤデバイスの動きに遅れる場合、ユーザに不快感を与える可能性がある。本明細書で説明される技術は、ＨＭＤデバイスに表示される環境の現在のビューの画像データを記憶することを含む。画像データは、ＨＭＤデバイスの更新バッファに記憶される。画像データは、環境の現在のビューの画像データ、ならびに現在のビュー外にある環境の画像データを含む。言い換えれば、更新バッファは、ＨＭＤの任意の所与のビューポートの現在のビューに対する解像度より高い解像度の画像データをローカルに記憶することができる。ＨＭＤデバイスに提供される画像更新を必要とする動きは、ローカル更新バッファからリトリーブすることができ、それにより画像更新の遅延を減少させ、ユーザ体験を改善する。
【００１３】
図１は、ヘッドマウントディスプレイ（ＨＭＤ）デバイスに通信可能に結合されたソースコンピューティングデバイスを示すブロック図である。コンピューティングデバイス１００は、たとえば、とりわけラップトップコンピュータ、デスクトップコンピュータ、ウルトラブック、タブレットコンピュータ、モバイルデバイス、サーバ、またはデジタルビデオディスクプレーヤであってもよい。いずれにしても、コンピューティングデバイス１００は、画像データをＨＭＤデバイス１０２に提供するように構成されたビデオソースとすることができる。ＨＭＤデバイス１０２は、ユーザの頭に装着されるデバイスであってもよい。ＨＭＤデバイス１０２は、ディスプレイ１０４と、更新バッファ１０６とを含むことができる。コンピューティングデバイス１００は、記憶された命令を実施するように構成されている中央処理ユニット（ＣＰＵ）１０８と、非一時的コンピュータ可読媒体を含むストレージデバイス１１０と、メモリデバイス１１２とを含むことができる。
【００１４】
コンピューティングデバイス１００はまた、グラフィックス処理ユニット（ＧＰＵ）１１４を含んでもよい。示されているように、ＣＰＵ１０２は、バス１１６を介してＧＰＵ１１４に結合することができる。実施形態では、ＧＰＵ１１４は、ＣＰＵ１０２に組み込まれている。ＧＰＵ１１４は、キャッシュを含むことができ、コンピューティングデバイス１００内で任意の数のグラフィックス処理を実行するように構成することができる。たとえば、ＧＰＵ１０８は、ディスプレイインターフェース１１８を介してＨＭＤデバイス１０２でコンピューティングデバイス１００のユーザに表示されるグラフィックス画像、グラフィックスフレーム、ビデオなどをレンダリングまたは操作するように構成してもよい。
【００１５】
場合によっては、ＨＭＤデバイス１０２に表示される画像は、部分的には、仮想現実アプリケーション１２０によって生成されてもよい。場合によっては、仮想現実アプリケーション１２０は、拡張現実を含むことができる。いずれにしても、仮想現実アプリケーション１２０は、ＨＭＤデバイス１０２に表示される環境の画像データを提供するように構成することができる。環境の画像データは、更新バッファ１０６に記憶される。ディスプレイ１０４は、ビューポート内に画像を表示するように構成することができ、ＨＭＤデバイス１０２が移動すると、センサ１２２は動きを検出することができ、画像データは、コンピューティングデバイス１０２などのソースデバイスから直接ではなく更新バッファ１０６からリトリーブすることができる。上述したように、ＨＭＤデバイス１０２の更新バッファ１０６などのローカルバッファから画像データをリトリーブすることにより、ディスプレイ１０４に画像を表示することに関連する遅延時間を減少させることができる。
【００１６】
ＨＭＤデバイス１０２はまた、更新モジュール１２４を含むことができる。更新モジュール１２４、センサ１２２、ディスプレイ１０４、および更新バッファ１０６は、以下により詳細に説明するコンピューティングデバイスのバス１１６と同様のバス１２６によって通信可能に結合することができる。更新モジュール１２４は、ハードウェアロジックを少なくとも部分的に含むロジックとして実装することができる。場合によっては、更新モジュール１２４は、集積回路、マイクロプロセッサなどとして実装されてもよい。更新モジュール１２４は、独立して、並列に、分散して、またはより広範なプロセスの一部として動作するように構成することができる。
【００１７】
更新モジュール１２４は、更新ポリシーに基づいて、ＨＭＤデバイス１０２のディスプレイ１０４に表示されるように、更新バッファ１０６から画像データを提供するように構成することができる。たとえば、更新ポリシーは、第１の優先順位でＨＭＤデバイス１０２の動きに起因する環境の新しいビューに対する更新を提供することと、第１の優先順位より低い第２の優先順位で環境の現在のビューに対する更新を提供することと、第２の優先順位より低い第３の優先順位で現在のビュー外にある環境の画像データに対する更新を提供することとを含む。
【００１８】
場合によっては、更新モジュール１２４は、センサ１２２によって検出されるＨＭＤデバイス１０２の動きがいつ発生したかを判定し、動きに起因する新しいビューの新しい位置を計算するように構成されてもよい。ＨＭＤデバイス１０２に表示されるコンテンツは、更新バッファ１０６から画像データを提供することによって更新することができる。さらに、ＨＭＤデバイス１０２は、コンピューティングデバイス１００に動きを通知するように構成することができる。
【００１９】
更新モジュール１２４は、追加の処理を実行するように構成することができる。たとえば、更新モジュール１２４は、以下により詳細に説明するように、選択的更新、部分的更新などを実行するように構成することができる。
【００２０】
ＣＰＵ１０２は、バス１１６を介して、コンピューティングデバイス１００をデジタルディスプレイインターフェースを介してＨＭＤデバイス１０２に接続するように構成されたディスプレイインターフェース１１８にリンクすることができる。ＣＰＵ１０２は、記憶された命令を実施するように適合されているメインプロセッサであってもよい。ＣＰＵ１０２は、単一コアプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、または任意の数の他の構成であってもよい。ＣＰＵ１０２は、複合命令セットコンピュータ（ＣＩＳＣ）または縮小命令セットコンピュータ（ＲＩＳＣ）プロセッサ、ｘ８６命令セット互換プロセッサ、マルチコア、または任意の他のマイクロプロセッサもしくは中央処理ユニット（ＣＰＵ）として実装することができる。
【００２１】
メモリデバイス１１２は、ランダムアクセスメモリ（ＲＡＭ）（たとえば、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、ゼロキャパシタＲＡＭ、シリコン−酸化物−窒化物−酸化物−シリコンＳＯＮＯＳ、混載ＤＲＡＭ、エクステンディッドデータアウトＲＡＭ、ダブルデータレート（ＤＤＲ）ＲＡＭ、抵抗ランダムアクセスメモリ（ＲＲＡＭ（登録商標））、パラメータランダムアクセスメモリ（ＰＲＡＭ）など）、リードオンリメモリ（ＲＯＭ）（たとえば、マスクＲＯＭ、プログラマブルリードオンリメモリ（ＰＲＯＭ）、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）など）、フラッシュメモリ、または任意の他の適切なメモリシステムを含むことができる。ＣＰＵ１０８は、システムバス１１６（たとえば、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）、インダストリスタンダードアーキテクチャ（ＩＳＡ）、ＰＣＩエクスプレス、ハイパートランスポート（登録商標）、ヌーバスなど）を介して、メモリ１１２およびストレージデバイス１１０を含む構成要素に接続することができる。
【００２２】
更新バッファ１０６は、メモリデバイス１１２と同様のメモリデバイスであってもよい。たとえば、更新バッファ１０６は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、フラッシュメモリ、または任意の他の適切なメモリシステムを含むことができる。
【００２３】
図１のブロック図は、コンピューティングデバイス１００およびＨＭＤデバイス１０２が図１に示されている構成要素のすべてを含まなければならないことを示すことを意図するものではない。さらに、コンピューティングデバイス１００および／またはＨＭＤデバイス１０２は、特定の実装の詳細に応じて、図１に示されていない任意の数の追加の構成要素を含むことができる。
【００２４】
図２は、可視領域および更新バッファ領域を含むＨＭＤを示す図である。上述したように、図１の更新バッファ１０６に記憶された画像データは、ＨＭＤデバイス１０２のビューポートを介して見ることができるデータより多くのデータを含むことができる。図２に示すように、可視領域２０２は、ＨＭＤデバイス１０２の図１のディスプレイ１０４のような、ディスプレイで見ることができる領域を示している。対照的に、更新バッファ１０６は、現在のビューの可視領域２０２とより大きい領域２０４の画像データの両方の画像データを含むことができ、それによりユーザ２０６が動いても、遅延が少なくＨＭＤデバイス１０２のディスプレイに画像が提供される。場合によっては、更新は、本明細書において「ゼロ遅延更新」と呼ぶこともできる。更新は、ユーザ２０６の動きの結果として、コンテンツ自体の変化の結果として、またはそれらの任意の組み合わせの結果として、表示されたコンテンツに変化が発生するときに画像コンテンツが表示される処理である。
【００２５】
図３は、更新バッファから提供される画像更新を示すプロセスのフロー図である。図１のコンピューティングデバイス１００などのコンピューティングデバイスは、３０２に示すように、ＨＭＤデバイス１０２に画像データを提供するように構成されたビデオソースとすることができる。画像データは、３０４でレンダリングされ、パケットは、３０６で送信され得る。３０４におけるレンダリングは、図５〜図７に関して以下により詳細に説明するように、フレーム全体であってもよいし、または選択的更新、部分的更新、もしくはそれらの任意の組み合わせに基づいてもよい。
【００２６】
３０６で送信されたパケットは、図１に関して上述したような更新ポリシーに基づいて送信することができる。より具体的には、更新ポリシーは、第１の優先順位でＨＭＤデバイスの動きに起因する環境の新しいビューに対する更新を送信することができる。第１の優先順位より低い第２の優先順位では、環境の現在のビューに対する更新が提供される。第２の優先順位より低い第３の優先順位では、現在のビュー外にある環境の画像データに対する更新が提供される。更新ポリシーは、更新モジュール１２４などのＨＭＤデバイス１０２のモジュール、コンピューティングデバイス１０２のモジュール、またはそれらの任意の組み合わせによって実装されてもよい。
【００２７】
ＨＭＤデバイス１０２では、画像データの中心は、３０８に示すように、ＨＭＤデバイス１０２に表示されている可視領域または現在のビューに基づいて、図１の更新バッファ１０６などの更新バッファに設定される。３１０では、更新フレームが、更新ポリシーに基づいて更新バッファ１０６に提供される。３１２では、動きを待機し、３１４では、動きが検出された後に新しいビューの方向および位置が計算される。３１６では、新しいビューで表示されるコンテンツが、図１のディスプレイ１０４などのＨＭＤのディスプレイで更新される。矢印３１８によって示されるように、プロセスは、さらなる動きが検出されるまで待機するために３１２に戻ることができ、３２０において、コンピューティングデバイス１００に動きが通知される。
【００２８】
図４は、更新バッファから提供され得る画像更新を示す図である。上述したように、図１のＨＭＤ１０２のディスプレイ１０４などのディスプレイへの更新は、更新バッファ１０６などのＨＭＤにローカルであるバッファからリトリーブすることができる。図４において、破線のボックスは、画像データのビューを示している。４０２では、破線のボックスは、現在のビューを示している。ボックス４０４，４０６，４０８，４１０および４１２は、図１のコンピューティングデバイス１００などのビデオソースから直接更新が提供されることを必要とするのではなく、更新バッファ１０６から表示およびリトリーブされ得る可能性のある新しいビューとすることができる。
【００２９】
図５は、ソースコンピューティングデバイスから提供され得る部分的更新を示す第１の図である。図５において、更新バッファ１０６の画像データ５０２は、現在のビュー５０４と、可能性のある新しいビュー５０６とを含む。ユーザが回転すると、図１のＨＭＤデバイス１０２は、その動きを検出することができる。左に回転すると、新しいビュー５０６の一部を明らかにすることができる。
【００３０】
いくつかの実施形態では、新しいビューの一部を明らかにすることは、本明細書において部分的更新と呼ぶこともできる。しかし、部分的更新はまた、コンピューティングデバイス１０２などのビデオソースから図１の更新バッファ１０６に提供され、図６に関して以下により詳細に説明する更新と見なすことができる。
【００３１】
図６は、ソースコンピューティングデバイスから提供され得る部分的更新を示す第２の図である。図６において、６０２は、表示されている現在のビューを示している。場合によっては、更新バッファ１０６は、バッファフレーム６０６全体の一部６０４に関連する画像データを含まなくてもよい。この場合、図１のコンピューティングデバイス１００などのビデオソースからバッファフレーム６０６全体を要求するのではなく、バッファフレーム６０６全体の一部６０４のみを含む部分的更新を、コンピューティングデバイス１００から提供することができる。このシナリオでは、部分的更新を介してコンピューティングデバイス１００からリトリーブされた可能性のあるビュー６１０および６１２に対する更新は、バッファフレーム６０６全体がコンピューティングデバイス１００からリトリーブされた場合に発生する遅延時間を低減することができる。
【００３２】
図７は、画像データを変更するために提供され得る選択的更新を示す図である。場合によっては、更新は、図１のコンピューティングデバイス１００などのビデオソースからＨＭＤ１０２の更新バッファ１０６に選択的に提供されてもよい。図７に示すように、バッファフレーム７０２全体は、現在のビュー７０４と、７０６，７０８，７１０および７１２を含む他の可能性のある新しいビューとを含む。本明細書で説明される技術は、画像データの変化率に基づいてバッファフレーム７０２全体の画像データの一部を選択的に更新することを含む。
【００３３】
たとえば、図７において、電車に関連する画像データは、領域７１４外にある画像データより領域７１４内で急速に変化する可能性がある。このシナリオでは、更新は、バッファフレーム７０２全体に対する更新とは反対に、領域７１４に対してコンピューティングデバイス１００から更新バッファ１０６に提供されてもよい。このシナリオでは、更新バッファ１０６への更新は、現在のビュー７０４内にある画像データ、現在のビュー７０４外にあるが領域７１４内にある画像データ、またはそれらの任意の組み合わせに提供されてもよい。選択的更新は、所定の閾値を超える変化率によってトリガされてもよく、図２に関して上述した更新モジュール１２４によって指示されてもよい。
【００３４】
選択的更新および部分的更新は、場合によっては、図１および図３に関して上述したような更新ポリシーと連動して機能してもよい。たとえば、図７において、現在のビュー７０４に含まれる領域７１４への更新は、現在のビュー７０４外にある領域７１４に対して提供された更新より高い優先順位で提供されてもよい。
【００３５】
図８は、画像データを更新するための方法を示すブロック図である。８０２では、方法８００は、ヘッドマウントディスプレイ（ＨＭＤ）デバイスに環境のビューを表示することを含む。８０４では、方法８００は、ＨＭＤデバイスの更新バッファに画像データを記憶することを含む。画像データは、環境の現在のビューの画像データと、現在のビュー外にある環境の画像データとを含む。場合によっては、方法８００は、ＨＭＤデバイスの動きが発生したときに現在のビュー外にある環境の現在のビューまたは画像データのいずれかを表示すること８０６を含むことができる。
【００３６】
場合によっては、方法８００は、更新ポリシーに基づいて更新バッファからＨＭＤデバイスに表示される画像データを提供することを含むことができる。更新ポリシーは、第１の優先順位でＨＭＤの動きに起因する環境の新しいビューに対する更新を提供することと、第１の優先順位より低い第２の優先順位で環境の現在のビューに対する更新を提供することとを含む。更新ポリシーはまた、第２の優先順位より低い第３の優先順位で現在のビュー外にある環境の画像データに対する更新を提供することを含む。
【００３７】
場合によっては、方法８００は、ＨＭＤデバイスの外部のソースコンピューティングデバイスから更新バッファに更新を提供することを含むことができる。ソースコンピューティングデバイスからの更新は、選択的更新、部分的更新、またはそれらの任意の組み合わせを含むことができる。
【００３８】
例は、方法、方法の動作を実行するための手段、マシンによって実行されると、マシンに方法の動作を実行させる命令を含む少なくとも１つのマシン可読媒体のような主題を含み得る。上記の例の詳細は、１つまたは複数の実施形態のいずれでも使用できることを理解されたい。たとえば、上述したコンピューティングデバイスのすべての任意選択の特徴はまた、本明細書で説明される方法またはコンピュータ可読媒体のいずれかに関して実装されてもよい。さらに、フロー図および／または状態図を本明細書で用いて実施形態を記載したが、本技術は、これらの図または本明細書における対応する記載に限定されない。たとえば、フローは、図示された各ボックスまたは状態を通る必要はなく、図示され本明細書で説明された通りの同じ順序で通る必要もない。
【００３９】
例１は、画像データを更新するための装置を含む。装置は、環境のビューを表示するヘッドマウントディスプレイ（ＨＭＤ）デバイスを含む。装置はまた、ＨＭＤデバイスの更新バッファを含み、更新バッファは、画像データを記憶する。画像データは、環境の現在のビューの画像データと、現在のビュー外にある環境の画像データとを含む。
【００４０】
例１において、装置は、以下に説明する場合の任意の組み合わせを含むことができる。場合によっては、装置は、ハードウェアロジックを少なくとも部分的に含む更新モジュールを含み、更新モジュールのロジックは、更新ポリシーに基づいて更新バッファからＨＭＤデバイスに表示される画像データを提供する。更新ポリシーは、第１の優先順位でＨＭＤデバイスの動きに起因する環境の新しいビューに対する更新を提供することと、第１の優先順位より低い第２の優先順位で環境の現在のビューに対する更新を提供することと、第２の優先順位より低い第３の優先順位で現在のビュー外にある環境の画像データに対する更新を提供することとを含む。
【００４１】
場合によっては、装置は、更新バッファに更新を提供するＨＭＤデバイスの外部のソースコンピューティングデバイスを含み、更新モジュールは、ソースコンピューティングデバイスからＨＭＤデバイスに表示される画像データを直接提供するのではなく、更新バッファからＨＭＤデバイスに表示される画像データを提供する。更新モジュールは、ＨＭＤデバイスの動きがいつ発生したかを判定し、動きに起因する新しいビューの新しい位置を計算し、更新バッファから画像データを提供することによってＨＭＤデバイスに表示されるコンテンツを更新し、ソースコンピューティングデバイスに動きを通知するように構成することができる。場合によっては、更新モジュールはさらに、バッファに選択的更新を提供するためにソースに指示するように構成され、選択的更新は、所定の閾値を超えて変化する現在のビューの画像データへの更新を含む。場合によっては、更新モジュールはさらに、バッファに選択的更新を提供するためにソースに指示するように構成され、選択的更新は、所定の閾値を超えて変化する現在のビュー外にある環境の画像データへの更新を含む。場合によっては、更新モジュールはさらに、更新バッファから部分的更新をリトリーブするように構成され、部分的更新は、現在のビューの一部と、ＨＭＤデバイスの動きの後に以前は現在のビュー外にあった環境の画像データの一部とを含む。場合によっては、更新モジュールはさらに、部分的更新をリトリーブするように構成され、ソースから提供される新しいビューの一部が更新バッファから利用可能でないときに、部分的更新が新しいビューの一部を含む。さらに、場合によっては、現在のビューの画像データは、現在のビュー外にある環境の画像データより低いサイズの解像度である。
【００４２】
例２は、画像データを更新するための方法を含む。方法は、ヘッドマウントディスプレイ（ＨＭＤ）デバイスに環境のビューを表示することと、ＨＭＤデバイスの更新バッファに画像データを記憶することとを含む。画像データは、環境の現在のビューの画像データと、現在のビュー外にある環境の画像データとを含む。
【００４３】
例２において、方法は、以下に説明する場合の任意の組み合わせを含むことができる。場合によっては、方法は、更新ポリシーに基づいて更新バッファからＨＭＤデバイスに表示される画像データを提供することを含む。更新ポリシーは、第１の優先順位でＨＭＤデバイスの動きに起因する環境の新しいビューに対する更新を提供することと、第１の優先順位より低い第２の優先順位で環境の現在のビューに対する更新を提供することと、第２の優先順位より低い第３の優先順位で現在のビュー外にある環境の画像データに対する更新を提供することとを含む。
【００４４】
場合によっては、方法は、ＨＭＤデバイスの外部のソースコンピューティングデバイスから更新バッファに更新を提供することを含む。方法は、ＨＭＤデバイスの動きがいつ発生したかを判定することと、動きに起因する新しいビューの新しい位置を計算することと、更新バッファから画像データを提供することによってＨＭＤデバイスに表示されるコンテンツを更新することと、ソースコンピューティングデバイスに動きを通知することとを含むことができる。場合によっては、方法は、バッファに選択的更新を提供するためにソースに指示することを含むことができ、選択的更新は、所定の閾値を超えて変化する現在のビューの画像データへの更新を含む。場合によっては、方法は、バッファに選択的更新を提供するためにソースに指示することを含むことができ、選択的更新は、所定の閾値を超えて変化する現在のビュー外にある環境の画像データへの更新を含む。場合によっては、方法は、更新バッファから部分的更新をリトリーブすることを含むことができ、部分的更新は、現在のビューの一部と、ＨＭＤデバイスの動きの後に以前は現在のビュー外にあった環境の画像データの一部とを含む。場合によっては、方法は、部分的更新をリトリーブすることを含むことができ、ソースから提供される新しいビューの一部が更新バッファから利用可能でないときに、部分的更新が新しいビューの一部を含む。さらに、場合によっては、現在のビューの画像データは、現在のビュー外にある環境の画像データより低いサイズの解像度である。
【００４５】
例３は、画像データを更新するためのシステムを含む。システムは、環境のビューを表示するヘッドマウントディスプレイ（ＨＭＤ）デバイスを含む。システムはまた、ＨＭＤデバイスの更新バッファを含み、更新バッファは、画像データを記憶する。画像データは、環境の現在のビューの画像データと、現在のビュー外にある環境の画像データとを含む。システムは、ハードウェアロジックを少なくとも部分的に含む更新モジュールを含み、更新モジュールのロジックは、更新ポリシーに基づいて更新バッファからＨＭＤデバイスに表示される画像データを提供する。
【００４６】
例３において、システムは、以下に説明する場合の任意の組み合わせを含むことができる。更新ポリシーは、第１の優先順位でＨＭＤデバイスの動きに起因する環境の新しいビューに対する更新を提供することと、第１の優先順位より低い第２の優先順位で環境の現在のビューに対する更新を提供することと、第２の優先順位より低い第３の優先順位で現在のビュー外にある環境の画像データに対する更新を提供することとを含む。
【００４７】
場合によっては、システムは、更新バッファに更新を提供するＨＭＤデバイスの外部のソースコンピューティングデバイスを含み、更新モジュールは、ソースコンピューティングデバイスからＨＭＤデバイスに表示される画像データを直接提供するのではなく、更新バッファからＨＭＤデバイスに表示される画像データを提供する。更新モジュールは、ＨＭＤデバイスの動きがいつ発生したかを判定し、動きに起因する新しいビューの新しい位置を計算し、更新バッファから画像データを提供することによってＨＭＤデバイスに表示されるコンテンツを更新し、ソースコンピューティングデバイスに動きを通知するように構成することができる。場合によっては、更新モジュールはさらに、バッファに選択的更新を提供するためにソースに指示するように構成され、選択的更新は、所定の閾値を超えて変化する現在のビューの画像データへの更新を含む。場合によっては、更新モジュールはさらに、バッファに選択的更新を提供するためにソースに指示するように構成され、選択的更新は、所定の閾値を超えて変化する現在のビュー外にある環境の画像データへの更新を含む。場合によっては、更新モジュールはさらに、更新バッファから部分的更新をリトリーブするように構成され、部分的更新は、現在のビューの一部と、ＨＭＤデバイスの動きの後に以前は現在のビュー外にあった環境の画像データの一部とを含む。場合によっては、更新モジュールはさらに、部分的更新をリトリーブするように構成され、ソースから提供される新しいビューの一部が更新バッファから利用可能でないときに、部分的更新が新しいビューの一部を含む。さらに、場合によっては、現在のビューの画像データは、現在のビュー外にある環境の画像データより低いサイズの解像度である。
【００４８】
例４は、画像データを更新するための方法を含む。方法は、ヘッドマウントディスプレイ（ＨＭＤ）デバイスに環境のビューを表示することと、ＨＭＤデバイスで画像データを記憶するための手段に画像データを記憶することとを含む。画像データは、環境の現在のビューの画像データと、現在のビュー外にある環境の画像データとを含む。
【００４９】
例４において、方法は、以下に説明する場合の任意の組み合わせを含むことができる。場合によっては、方法は、更新ポリシーに基づいてＨＭＤデバイスで画像データを記憶するための手段からＨＭＤデバイスに表示される画像データを提供することを含む。更新ポリシーは、第１の優先順位でＨＭＤデバイスの動きに起因する環境の新しいビューに対する更新を提供することと、第１の優先順位より低い第２の優先順位で環境の現在のビューに対する更新を提供することと、第２の優先順位より低い第３の優先順位で現在のビュー外にある環境の画像データに対する更新を提供することとを含む。
【００５０】
場合によっては、方法は、ＨＭＤデバイスの外部のソースコンピューティングデバイスからＨＭＤデバイスで画像データを記憶するための手段に更新を提供することを含む。方法は、ＨＭＤデバイスの動きがいつ発生したかを判定することと、動きに起因する新しいビューの新しい位置を計算することと、ＨＭＤデバイスで画像データを記憶するための手段から画像データを提供することによってＨＭＤデバイスに表示されるコンテンツを更新することと、ソースコンピューティングデバイスに動きを通知することとを含むことができる。場合によっては、方法は、バッファに選択的更新を提供するためにソースに指示することを含むことができ、選択的更新は、所定の閾値を超えて変化する現在のビューの画像データへの更新を含む。場合によっては、方法は、バッファに選択的更新を提供するためにソースに指示することを含むことができ、選択的更新は、所定の閾値を超えて変化する現在のビュー外にある環境の画像データへの更新を含む。場合によっては、方法は、ＨＭＤデバイスで画像データを記憶するための手段から部分的更新をリトリーブすることを含むことができ、部分的更新は、現在のビューの一部と、ＨＭＤデバイスの動きの後に以前は現在のビュー外にあった環境の画像データの一部とを含む。場合によっては、方法は、部分的更新をリトリーブすることを含むことができ、ソースから提供される新しいビューの一部がＨＭＤデバイスで画像データを記憶するための手段から利用可能でないときに、部分的更新が新しいビューの一部を含む。さらに、場合によっては、現在のビューの画像データは、現在のビュー外にある環境の画像データより低いサイズの解像度である。
【００５１】
例５は、画像データを更新するための装置を含む。装置は、環境のビューを表示するヘッドマウントディスプレイ（ＨＭＤ）デバイスを含む。装置はまた、ＨＭＤデバイスで画像データを記憶するための手段を含み、ＨＭＤデバイスで画像データを記憶するための手段は、画像データを記憶する。画像データは、環境の現在のビューの画像データと、現在のビュー外にある環境の画像データとを含む。
【００５２】
例５において、装置は、以下に説明する場合の任意の組み合わせを含むことができる。場合によっては、装置は、ハードウェアロジックを少なくとも部分的に含む更新モジュールを含み、更新モジュールのロジックは、更新ポリシーに基づいてＨＭＤデバイスで画像データを記憶するための手段からＨＭＤデバイスに表示される画像データを提供する。更新ポリシーは、第１の優先順位でＨＭＤデバイスの動きに起因する環境の新しいビューに対する更新を提供することと、第１の優先順位より低い第２の優先順位で環境の現在のビューに対する更新を提供することと、第２の優先順位より低い第３の優先順位で現在のビュー外にある環境の画像データに対する更新を提供することとを含む。
【００５３】
場合によっては、装置は、ＨＭＤデバイスで画像データを記憶するための手段に更新を提供するＨＭＤデバイスの外部のソースコンピューティングデバイスを含み、更新モジュールは、ソースコンピューティングデバイスからＨＭＤデバイスに表示される画像データを直接提供するのではなく、ＨＭＤデバイスで画像データを記憶するための手段からＨＭＤデバイスに表示される画像データを提供する。更新モジュールは、ＨＭＤデバイスの動きがいつ発生したかを判定し、動きに起因する新しいビューの新しい位置を計算し、ＨＭＤデバイスで画像データを記憶するための手段から画像データを提供することによってＨＭＤデバイスに表示されるコンテンツを更新し、ソースコンピューティングデバイスに動きを通知するように構成することができる。場合によっては、更新モジュールはさらに、バッファに選択的更新を提供するためにソースに指示するように構成され、選択的更新は、所定の閾値を超えて変化する現在のビューの画像データへの更新を含む。場合によっては、更新モジュールはさらに、バッファに選択的更新を提供するためにソースに指示するように構成され、選択的更新は、所定の閾値を超えて変化する現在のビュー外にある環境の画像データへの更新を含む。場合によっては、更新モジュールはさらに、ＨＭＤデバイスで画像データを記憶するための手段から部分的更新をリトリーブするように構成され、部分的更新は、現在のビューの一部と、ＨＭＤデバイスの動きの後に以前は現在のビュー外にあった環境の画像データの一部とを含む。場合によっては、更新モジュールはさらに、部分的更新をリトリーブするように構成され、ソースから提供される新しいビューの一部がＨＭＤデバイスで画像データを記憶するための手段から利用可能でないときに、部分的更新が新しいビューの一部を含む。さらに、場合によっては、現在のビューの画像データは、現在のビュー外にある環境の画像データより低いサイズの解像度である。
【００５４】
上記の説明および以下の特許請求の範囲において、「結合された」および「接続された」という用語は、それらの派生語と共に使用される場合がある。これらの用語は、互いの同義語として意図されていないことを理解すべきである。むしろ、特定の実施形態では、「接続された」は、２つ以上の要素が互いに物理的または電気的に直接接触していることを指すのに用いられる場合がある。「結合された」は、２つ以上の要素が物理的または電気的に直接接触していることを意味する場合がある。しかし、「結合された」はまた、２つ以上の要素が互いに直接接触してはいないが、それでもなお互いに協働するか相互作用することを意味してもよい。
【００５５】
いくつかの実施形態は、ハードウェア、ファームウェア、およびソフトウェアの１つまたはそれらの組み合わせで実装することができる。いくつかの実施形態はまた、本明細書で説明される処理を実行するためにコンピューティングプラットフォームによって読み取られ実施されるマシン可読媒体に格納された命令として実装されてもよい。マシン可読媒体は、マシン、たとえば、コンピュータにより読取可能な形式の情報を記憶または送信するための任意のメカニズムを含むことができる。たとえば、マシン可読媒体は、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイスを含むことができる。
【００５６】
実施形態は、実装または例である。本明細書における「実施形態」、「一実施形態」、「いくつかの実施形態」、「様々な実施形態」、または「他の実施形態」という言及は、その実施形態に関連して説明された特定の特徴、構造、または特性が、必ずしも本技術のすべての実施形態ではなく、少なくともいくつかの実地形態に含まれることを意味する。「実施形態」、「一実施形態」、または「いくつかの実施形態」の様々な出現は、必ずしもすべて同一の実施形態に言及することではない。ある実施形態の要素または態様は、他の実施形態の要素または態様に組み合わされることができる。
【００５７】
本明細書で説明および示されるすべての構成要素、特徴、構造、特性などは、特定の実施形態または複数の実施形態に含まれる必要があるとは限らない。たとえば、構成要素、特徴、構造、または特性が含まれ「てよい」、「るかもしれない」、「ることができる」、または「得る」と本明細書が述べる場合、その特定の構成要素、特徴、構造、または特性は、含まれることが必要とされない。本明細書または特許請求の範囲が、「一の」または「ある」要素と言及する場合、それは、その要素が１つだけあることを意味しない。本明細書または特許請求の範囲が、「追加の」要素と言及する場合、それは、その追加の要素が１つより多くあることを除外しない。
【００５８】
いくつかの実施形態は特定の実装を参照して説明されるが、いくつかの実施形態に従って、他の実装が可能であるということに注意すべきである。さらに、図面に示されおよび／または本明細書で説明される回路要素または他の特徴の配置および／または順序は、示されたおよび説明された特定の方法で配置される必要はない。いくつかの実施形態に従って、多くの他の配置が可能である。
【００５９】
図に示される各システムにおいて、表される複数の要素が異なるおよび／または同様であり得ることを示唆するために、場合によっては、複数の要素が同一の参照番号または異なる参照番号を各々有してよい。しかし、要素は、異なる実装を有し、本明細書で示されまたは説明されるシステムのいくつかまたはすべてと連携するために十分に柔軟性があってよい。図に示される様々な要素は、同一でもまたは異なっていてもよい。どの１つが第１の要素と称され、どれが第２の要素と呼ばれるかは任意である。
【００６０】
本技術は、本明細書に列挙された特定の詳細に限定されない。実際に、本開示の便益を有する当業者は、前述の説明および図面から多くの他の変形を本技術の範囲内で行うことができることを理解するであろう。したがって、本技術の範囲を定義するものは、いかなる補正をも含む以下の特許請求の範囲である。
【図１】
0006787622.tif 000002
【図２】
0006787622.tif 000003
【図３】
0006787622.tif 000004
【図４】
0006787622.tif 000005
【図５】
0006787622.tif 000006
【図６】
0006787622.tif 000007
【図７】
0006787622.tif 000008
【図８】
0006787622.tif 000009