(57)【要約】  システム（１００）はヘッドマウントディスプレイ（ＨＭＤ）装置（１０２）を含み、ＨＭＤ装置は、少なくとも１つのディスプレイ（１１２、１１４）と、ＨＭＤ装置についての姿勢情報を提供する少なくとも１つのセンサ（２１０）とを含む。当該システムはさらに、少なくとも１つのセンサに結合されたセンサ積分器モジュール（３０４）を含み、センサ積分器モジュールは、姿勢情報に基づいてＨＭＤ装置についての動きベクトルを求め、当該システムはさらに、姿勢情報から求めたＨＭＤ装置の姿勢に基づいて第１のテクスチャ（１２２、３２２）をレンダリングするアプリケーションプロセッサ（２０４）を含む。当該システムはさらに、第１のテクスチャのピクセルの少なくともサブセットについてのピクセル速度を有する第１の速度フィールド（１２８、３２８）を求める動き解析モジュール（３０２）と、第１のテクスチャ、第１の速度フィールド、およびＨＭＤについての動きベクトルに基づいて第２のテクスチャ（１４０、３３４）をレンダリングし、かつＨＭＤ装置のディスプレイに第２のテクスチャを提供するコンポジタ（２２４）とを含む。
2019506015.tif 000002
【特許請求の範囲】
【請求項１】
ヘッドマウントディスプレイ（ＨＭＤ）装置（１０２）を有するシステム（１００）であって、
第１のテクスチャ（１２２、３２２）をレンダリングすることと、
前記第１のテクスチャのピクセルの少なくともサブセットについてのピクセル速度を有する第１の速度フィールド（１２８、３２８）を求めることと、
前記ＨＭＤ装置についての動きベクトルを求めることと、
前記第１のテクスチャ、前記第１の速度フィールド、および前記ＨＭＤについての前記動きベクトルに基づいて、第２のテクスチャ（１４０、３３４）をレンダリングすることと、
前記第２のテクスチャを前記ＨＭＤ装置で表示するために出力することとを備える、方法。
【請求項２】
前記ＨＭＤ装置についての前記動きベクトルの１ピクセル当たりの速度表現を含む第２の速度フィールド（１３２、３３０）を求めることと、
前記第１の速度フィールドと前記第２の速度フィールドとを組合せることにより、第３の速度フィールド（３３２）を生成することとをさらに備え、
前記第２のテクスチャをレンダリングすることは、前記第１のテクスチャおよび前記第３の速度フィールドに基づいて前記第２のテクスチャをレンダリングすることを含む、請求項１に記載の方法。
【請求項３】
前記第２のテクスチャをレンダリングすることは、
前記第３の速度フィールドを用いて前記第１のテクスチャのピクセルについての色情報（３２３）を移動させることにより、前記第２のテクスチャを生成することを含む、請求項２に記載の方法。
【請求項４】
前記第２のテクスチャをレンダリングすることは、
前記第３の速度フィールドを用いて前記第１のテクスチャのピクセルについての深度情報（３２４）を移動させることにより、前記第２のテクスチャを生成することをさらに含む、請求項３に記載の方法。
【請求項５】
第３のテクスチャをレンダリングすることと、
第４のテクスチャをレンダリングすることとをさらに備え、前記第４のテクスチャをレンダリングすることは、
前記第３の速度フィールドを自己移動させる（４２２）ことにより、第４の速度フィールドを生成すること、および
前記第４の速度フィールドを用いて前記第３のテクスチャのピクセルについての色情報を移動させる（４２０）ことにより、前記第４のテクスチャを生成することによって行われ、さらに、
前記第４のテクスチャを前記ＨＭＤ装置で表示するために出力することを備える、請求項３に記載の方法。
【請求項６】
前記第２の速度フィールドを求めることは、
仮想世界空間からスクリーン空間への変換を前記ＨＭＤ装置についての前記動きベクトルに適用することにより、前記第２の速度フィールドを生成することを含む、請求項２に記載の方法。
【請求項７】
前記第１のテクスチャのピクセルの少なくともサブセットの各ピクセルは、少なくとも２つのフラグメント（１４４、１４６）の対応するセットと関連付けられており、
前記第１の速度フィールドを求めることは、少なくとも前記サブセットの各ピクセルについて、前記少なくとも２つのフラグメントの対応するセットの各フラグメントについての前記ピクセルの別のピクセル速度を求めることを含む、請求項１に記載の方法。
【請求項８】
前記第１のテクスチャをディープフレームバッファ（２３２）に格納することをさらに備え、前記ディープフレームバッファは、前記第１の速度フィールドおよび前記第１のテクスチャのピクセルについての深度情報（３２４）をさらに含む、請求項７に記載の方法。
【請求項９】
前記第２のテクスチャをレンダリングすることは、
前記深度情報に基づいて前記第２のテクスチャにおけるディスオクルージョン（disocclusion）エラーを取除く（４２４）ことをさらに含む、請求項８に記載の方法。
【請求項１０】
前記第１の速度フィールドを求めることは、
前記第１のテクスチャを含むテクスチャのシーケンス（１２６）のオプティカルフロー解析に基づいて前記第１の速度フィールドを求めることを含む、請求項１に記載の方法。
【請求項１１】
システム（１００）であって、
少なくとも１つのディスプレイ（１１２、１１４）を含むヘッドマウントディスプレイ（ＨＭＤ）装置（１００）と、
前記ＨＭＤ装置についての姿勢情報を出力する少なくとも１つのセンサ（２１０）と、
前記少なくとも１つのセンサに結合されたセンサ積分器モジュール（３０４）とを備え、前記センサ積分器モジュールは、前記姿勢情報に基づいて前記ＨＭＤ装置についての動きベクトルを求め、前記システムはさらに、
前記姿勢情報から求めた前記ＨＭＤ装置の姿勢に基づいて第１のテクスチャ（１２２、３２２）をレンダリングするアプリケーションプロセッサ（２０４）と、
前記第１のテクスチャのピクセルの少なくともサブセットについてのピクセル速度を有する第１の速度フィールド（１２８、３２８）を求める動き解析モジュール（３０２）と、
前記第１のテクスチャ、前記第１の速度フィールド、および前記ＨＭＤについての前記動きベクトルに基づいて第２のテクスチャ（１４０、３３４）をレンダリングし、かつ前記ＨＭＤ装置の前記ディスプレイに前記第２のテクスチャを出力するコンポジタ（２２４）とを備える、システム。
【請求項１２】
前記ＨＭＤ装置についての前記動きベクトルの１ピクセル当たりの速度表現を含む第２の速度フィールド（１３２、３３０）を求める変換モジュール（３０６）と、
前記第１の速度フィールドと前記第２の速度フィールドとを組合せることにより、第３の速度フィールド（１３６、３３２）を生成する速度フィールド組合せモジュール（３１４）とをさらに備え、
前記コンポジタは、前記第１のテクスチャおよび前記第３の速度フィールドに基づいて前記第２のテクスチャをレンダリングすることによって、前記第２のテクスチャをレンダリングする、請求項１１に記載のシステム。
【請求項１３】
前記コンポジタは、
前記第３の速度フィールドを用いて前記第１のテクスチャのピクセルについての色情報（３２３）を移動させることにより、前記第２のテクスチャを生成する移動モジュール（３１０）を含む、請求項１２に記載のシステム。
【請求項１４】
前記移動モジュールはさらに、前記第３の速度フィールドを用いて前記第１のテクスチャのピクセルについての深度情報（３２４）を移動させることにより、前記第２のテクスチャを生成する、請求項１３に記載のシステム。
【請求項１５】
前記アプリケーションプロセッサはさらに、第３のテクスチャをレンダリングし、
前記コンポジタはさらに、第４のテクスチャをレンダリングし、前記第４のテクスチャをレンダリングすることは、
前記第３の速度フィールドを自己移動させることにより、第４の速度フィールドを生成すること、および
前記第４の速度フィールドを用いて前記第３のテクスチャのピクセルについての色情報を移動させることにより、前記第４のテクスチャを生成することによって行われ、
前記コンポジタは、前記第４のテクスチャを前記ＨＭＤ装置で表示するために出力する、請求項１３に記載のシステム。
【請求項１６】
前記変換モジュールは、ホモグラフィ変換を前記ＨＭＤ装置についての前記動きベクトルに適用することにより前記第２の速度フィールドを生成することによって、前記第２の速度フィールドを求める、請求項１２に記載のシステム。
【請求項１７】
前記第１のテクスチャのピクセルの少なくともサブセットの各ピクセルは、少なくとも２つのフラグメント（１４４、１４６）の対応するセットと関連付けられており、
前記動き解析モジュールは、少なくとも前記サブセットの各ピクセルについて、前記少なくとも２つのフラグメントの対応するセットの各フラグメントについての前記ピクセルの別のピクセル速度を求めることによって、前記第１の速度フィールドを求める、請求項１１に記載のシステム。
【請求項１８】
前記第１のテクスチャ、前記第１の速度フィールド、および前記第１のテクスチャのピクセルについての深度情報を格納するディープフレームバッファ（２３２）をさらに備える、請求項１７に記載のシステム。
【請求項１９】
前記深度情報に基づいて前記第２のテクスチャにおけるディスオクルージョンエラーを取除くディスオクルージョンモジュール（３１２）をさらに備える、請求項１８に記載のシステム。
【請求項２０】
前記動き解析モジュールは、前記第１のテクスチャを含むテクスチャのシーケンス（１２６）のオプティカルフロー解析に基づいて前記第１の速度フィールドを求める、請求項１１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の分野
本開示は、概してヘッドマウントディスプレイシステムに関し、より具体的にはヘッドマウントディスプレイシステムにおけるレイテンシ低減動き補償および安定化に関する。
【背景技術】
【０００２】
背景
仮想現実（virtual reality）（ＶＲ）システムが再現する環境は、物理的存在を、現実世界または想像上の世界の場所において、すべてコンピュータで生成された、この世界の中の「シーン」の３次元（３Ｄ）イメージを用いてシミュレートしている。同様に、拡張現実（augmented reality）（ＡＲ）システムは、物理的存在を、現実世界において、コンピュータで生成した３Ｄイメージを、同時に取得した現実世界のイメージに重畳することにより、「拡張する」。このように、ＶＲシステムおよびＡＲシステムはいずれも、現実世界、拡張された世界、または想像上の世界における「存在」の正確な知覚を提供しようとしている。一般的に、この存在の知覚は、左目用ディスプレイと右目用ディスプレイが分離されているヘッドマウントディスプレイ（head mounted display）（ＨＭＤ）装置を用いることで、容易になる。これらのディスプレイを組合わせることにより、描かれた世界においてシーンの立体または３Ｄ表現を提示する。このシーンは、現在のユーザの姿勢（すなわち描かれたシーンの基準座標フレームに対するユーザの頭部の相対的な位置および向き）に基づいてこのシーンがユーザから相対的にどのように見えるかを反映する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ＨＭＤに基づくＶＲおよびＡＲシステムは、３Ｄイメージを一連のディスプレイテクスチャ（または「フレーム」）として表示する。各ディスプレイテクスチャは、対応する検出された頭部姿勢に基づいてレンダリングされ、特定期間持続する。しかしながら、一般的にＨＭＤ装置の場合ユーザは自由に移動できるので、ユーザの頭部は、テクスチャのレンダリングの開始の時点から、レンダリングされたテクスチャの表示の時点までに、知覚できる程度移動している場合がある。このため、特定の時点でＨＭＤ装置に表示されたイメージは、ユーザの頭部の移動から遅れている場合がある。さらに、シーンの中の仮想オブジェクトは「動いている」場合があり、したがって、フレームが正確な時間にレンダリングされた場合、仮想オブジェクトのレンダリングされた位置は、オブジェクトが現れるべき位置とは異なる場合がある。このように、あるシーンの中でユーザが知覚する向き、およびそのシーンの中で知覚するオブジェクトの向きと、そのシーンおよびそれに含まれているオブジェクトの実際の向きとが一致しない場合、ユーザが方向感覚を喪失するかまたは不快感を覚える可能性がある。これはすなわち、「仮想現実酔い」としばしば呼ばれているものである。したがって、ユーザの不快感を軽減または解消し、そうすることにより改善された存在を提供するために、ＨＭＤに基づくＶＲおよびＡＲシステムは、動きから表示までのレイテンシ（motion-to-photon latency）を最小にすることを意図する、すなわち、ユーザの頭部／目が動いた時点と、得られた新たな姿勢からのシーンを表わす光子がユーザの目に入る時点との間のレイテンシを最小にすることを意図する。
【０００４】
添付の図面を参照することにより、当業者は本開示をより深く理解しその数多くの特徴および利点を認識するであろう。異なる図面において使用されている同一の参照符号は、同様または同一のアイテムを示す。
【図面の簡単な説明】
【０００５】
【図１】本開示の少なくとも１つの実施形態に従う、ピクセル速度に基づく電子ディスプレイ安定化（ＥＤＳ）を実現するヘッドマウントディスプレイ（ＨＭＤ）に基づくディスプレイシステムを示す図である。
【図２】本開示の少なくとも１つの実施形態に従う、図１のＨＭＤに基づくディスプレイシステムのハードウェア構成を示すブロック図である。
【図３】本開示の少なくとも１つの実施形態に従う、図２のＨＭＤに基づくディスプレイシステムのコンポジタをより詳細に示すブロック図である。
【図４】本開示の少なくとも１つの実施形態に従う、一例としてのピクセル速度に基づくＥＤＳプロセスを示すフロー図である。
【発明を実施するための形態】
【０００６】
詳細な説明
以下の説明は、ＨＭＤに基づくＡＲおよびＶＲディスプレイシステムに関連する多数の具体的な実施形態および詳細を提供することにより、本開示の十分な理解を得ることを意図している。しかしながら、本開示は例示にすぎないこれらの具体的な実施形態および詳細に限定される訳ではなく、したがって本開示の範囲は以下の請求項およびその均等物によってのみ限定されることを意図している点が、理解される。さらに、当業者は周知のシステムおよび方法に照らして本開示がその意図する目的と利点のために特定の設計およびその他の必要に応じて代替の多数の実施形態で使用されることを認識するであろうことが、理解される。
【０００７】
図１は、本開示の少なくとも１つの実施形態に従う、現実世界または想像上の世界においてＶＲまたはＡＲ存在を提供するためのＨＭＤに基づくディスプレイシステム１００を示す。ディスプレイシステム１００は、ユーザの頭部１０４の動きに結合されるＨＭＤ装置１０２を含む。一般的には、「ヘッドマウントディスプレイ」の「マウント（mounted：装着される）」という用語が示唆するように、ＨＭＤ装置１０２は、ユーザの頭部１０４にストラップで取付けられるかまたはユーザの頭部１０４に装着される装置を含み、それにより、ＨＭＤ装置１０２は、ユーザの顔の近傍に固定的に配置されるので、ユーザの動きに伴って動く。しかしながら、状況によっては、ユーザが、タブレットコンピュータまたはその他のハンドヘルド装置を自身の顔の近くで保持し、ユーザの頭部に対するハンドヘルド装置の向きがユーザの頭部１０４が動いても相対的に固定されるようにハンドヘルド装置の動きを制限してもよい。このような場合、このやり方で操作されるハンドヘルド装置は、ユーザの頭部１０４に物理的な装着具で「装着されて」いる訳ではないが、ＨＭＤ装置１０２の実装例とみなすことができる。
【０００８】
ＨＭＤ装置１０２は、表面１０８およびその反対側のもう１つの表面１１０を有する筐体１０６と、フェースガスケット１０９と、一組のストラップまたはハーネス（明確にするために図１には示されていない）とを備える。一組のストラップまたはハーネスは、ユーザの顔が筐体１０６の表面１０８に面するように筐体１０６をユーザの頭部１０４に装着するためのものである。示されている実施形態において、ＨＭＤ装置１０２は、両眼ＨＭＤであり、したがって表面１０８に配置された左目用ディスプレイ１１２と右目用ディスプレイ１１４とを有する。ディスプレイ１１２、１１４は、別々のディスプレイ装置（すなわち、別々のディスプレイドライバハードウエア要素によって駆動される独立したディスプレイアレイ）として実現されてもよく、または、ディスプレイ１１２、１１４は、１つのディスプレイ装置を論理的に分離して得られた領域（たとえば、左目用「半分」と右目用「半分」に論理的に分割された単体のディスプレイアレイ）として実現されてもよい。その他の実施形態において、１つのディスプレイが実現されてもよく、または３つ以上のディスプレイが実現されてもよい。筐体１０６はさらに、左目用ディスプレイ１１２と位置合わせされた接眼レンズ１１６と、右目用ディスプレイ１１４と位置合わせされた接眼レンズ１１８とを含む。いくつかの実施形態では、その代わりに、ＨＭＤ装置１０２が単眼ＨＭＤとして実現されてもよい。すなわち、１つの画像が、左および右の接眼レンズ１１６、１１８を通して、またはレンズを介さずに直接、ユーザの両目に対して提示されてもよい。
【０００９】
以下でより詳細に説明するように、ディスプレイシステム１００はさらに、ＨＭＤ装置１０２で表示するためのイメージを生成するイメージレンダリングシステムを含む。いくつかの実施形態において、イメージレンダリングシステムの構成要素は主としてＨＭＤ装置１０２自身の内部で実装される。たとえば、ＨＭＤ装置１０２は、ＶＲ／ＡＲアプリケーションを実行し得られたイメージをレンダリングするコンピューティングシステムを含み得る。ＨＭＤ装置１０２は、無線または有線接続によりローカルまたはリモートコンピューティングデバイスに接続されてもよい。このコンピューティングデバイスは、ＶＲ／ＡＲアプリケーションに関連するさまざまなデータを提供する。このようなデータは、シーンにおいてレンダリングすべきオブジェクト、同じ世界空間で動作しているその他のユーザのパラメータ（たとえば位置）等を記述したデータである。その他の実施形態において、画像レンダリングシステムの構成要素の一部またはすべては、ＨＭＤ装置１０２の外部において実装され、表示用のイメージを表わすデータは有線または無線接続を介してＨＭＤ装置１０２に提供されてもよい。
【００１０】
動作時に、ディスプレイシステム１００はＶＲまたはＡＲアプリケーションを実行し、これは、基準座標フレーム（すなわち「世界空間」）に対するＨＭＤ装置１０２（およびユーザの頭部１０４）の現在の姿勢（すなわち位置および回転向きの一方または両方）を求め、次に、この姿勢に対応する視点から見たシーンのイメージ（すなわち「スクリーン空間」）を生成する。すなわち、ディスプレイシステム１００が生成して表示するイメージは、求めたＨＭＤ装置１０２の姿勢に基づいて世界空間をＨＭＤ装置１０２のスクリーン空間にマップする。表示されたイメージは、完全にコンピュータによって生成されたものであってもよく（すなわちＶＲイメージ）、または、このイメージは、ローカル環境の取得イメージ（たとえばＨＭＤ装置１０２に搭載された１つ以上の画像センサを介して取得したイメージ）と、現在のユーザの姿勢を反映するようにレンダリングされたＡＲオーバレイとの組合わせであってもよく、または、このイメージは、それを通してローカル環境を見ることができる透明な「ディスプレイ」上のＡＲオーバレイであってもよい。図１に示されるように、左側ディスプレイと右側ディスプレイ双方を備えた実装例において、左目固有のイメージのレンダリングおよび左目用ディスプレイ１１２における表示と、右目固有のイメージのレンダリングおよび右目用ディスプレイ１１４における表示とを、同時に行なうことにより、表示されたイメージが表わすシーンの立体３Ｄ表示を可能にしてもよい。
【００１１】
ＨＭＤ装置１０２は、ユーザの頭部１０４に装着されるか、そうでなければユーザの頭部と連携して動くように制限されているので、動作中、相当な動きの影響を受ける。この動きは、１つ以上の軸（たとえば図示されているｘ、ｙおよびｚ軸）に沿った平行移動、ならびに／またはこの１つ以上の軸に沿った回転（たとえば図示されているロール、ピッチおよびヨー）の形態である。さらに、先に述べたように、表示されたイメージは、「動いている」（すなわち仮想世界空間に対する相対位置が変化する）オブジェクトを含む場合がある。ＨＭＤ装置１０２の動き、表示されたイメージ内のオブジェクトの動きが、ディスプレイシステム１００のレンダリングおよび表示レイテンシと組合わさると、緩和されない限り事実上ユーザの方向感覚喪失が生じる可能性がある。このため、ディスプレイシステム１００は、電子ディスプレイ安定化（electronic display stabilization）（ＥＤＳ）プロセス１２０を利用して、ＨＭＤ装置１０２の暫定的な動き、および表示されたオブジェクトの暫定的な動きの双方を補償する。
【００１２】
図１はさらに、少なくとも１つの実施形態に従い、ディスプレイシステム１００が使用するＥＤＳプロセス１２０を要約している。示されるように、ディスプレイシステム１００は、ディスプレイ１１２、１１４ごとに入力テクスチャ１２２（一般的には「フレーム」または「画像」とも呼ばれる）を、３０ｆｐｓ、６０ｆｐｓ、１２０ｆｐｓ等のレートなどの、特定のレートであるＸフレーム／秒（ｆｐｓ）でレンダリングする。少なくとも１つの実施形態において、ディスプレイシステム１００は、テクスチャ１２２の各々を、その対応するテクスチャ１２２を用いてその時点についてのＨＭＤ装置１０２の姿勢に基づいてレンダリングする。２つ以上のテクスチャ１２２の各セットが組合されて、対応する時点における３Ｄシーンの眺めを表わす。説明のために、ディスプレイシステム１００は、ＨＭＤ装置１０２の姿勢を、たとえば３０回更新／秒のレートで、すなわち３３．３３ミリ秒（ｍｓ）ごとに１回更新し得るのに対して、テクスチャ１２２はたとえば１２０ｆｐｓのレートでレンダリングされるため、３３．３３ｍｓごとに生成される更新されたＨＭＤ姿勢を用いて、その同一の期間内に片目ごとに生成される４つのテクスチャ１２２がレンダリングされる。
【００１３】
各入力テクスチャ１２２がレンダリングされると、ディスプレイシステム１００は動き解析プロセス１２４を実行することにより、入力テクスチャ１２２内のピクセルごとに速度Ｖｐを求める。以下に説明するように、いくつかの実施形態において、この速度情報は、入力テクスチャ１２２をレンダリングするアプリケーションによって提供されてもよい。すなわち、イメージ内に表わされるオブジェクトの速度は、予め識別され得るか、そうでなければレンダリングの時点で既知であり得る。この情報が、入力テクスチャ１２２のレンダリングを担うアプリケーションによって提供されてもよい。その他の実施形態において、入力テクスチャ１２２についてのピクセル速度は、ピクセル動き推定技術によって求められてもよい。たとえば、処理中の現在のテクスチャ１２２および１つ以上の予めレンダリングされたテクスチャ１２２を含む２つ以上のテクスチャ１２２のシーケンス１２６にオプティカルフロー解析を適用することによって求められてもよい。
【００１４】
テクスチャ１２２のピクセルのピクセル速度Ｖｐは、ピクセル速度フィールド１２８として編成または表現され得る。ピクセル速度フィールド１２８はエントリのアレイとして実装され得る。各エントリは、テクスチャ１２２内の対応位置における対応ピクセルのピクセル速度を格納している。さらに、いくつかの実施形態において、ディスプレイシステム１００は、深度バッファ、ディープフレームバッファ、または異なるフラグメントの深度を追跡するための他のメカニズムを実装し得る。したがって、テクスチャ１２２の各ピクセルは、１つ以上のフラグメントを表わし得、さらには破棄されたフラグメントを表わし得る（破棄されたフラグメントはピクセル／仮想オブジェクトの動きのために将来ディスオクルージョン（disocclude）され得るため）。したがって、動き解析プロセス１２４は、あるピクセルによって表わされ得るフラグメントごとにそのピクセルのピクセル速度を求めることを含み得、したがって速度フィールド１２８は、１ピクセル当たりの複数のフラグメントのフラグメントごとにピクセル速度を格納し得る。このため、ピクセル速度フィールド１２８を表わすアレイの各エントリは、そのエントリと関連付けられているピクセルが表わすフラグメントごとに１つずつ、つまり複数のピクセル速度を格納してもよい。
【００１５】
動き解析プロセス１２４と並行して、ディスプレイシステム１００はＨＭＤ動き変換プロセス１３０を実行する。これによって、ディスプレイシステム１００は、１つ以上の動きに基づくセンサ（たとえばジャイロスコープ、加速度計、磁力計等）をサンプリングすることにより、世界空間に対するＨＭＤ装置１０２の相対的な現在の動きベクトル（「ＭＶHMD」として示される）を求める。いくつかの実施形態において、この現在の動きベクトルＭＶHMDは、ｘ、ｙおよびｚ軸の１つ以上に沿ったＨＭＤ装置１０２の平行移動の速度もしくは導関数を表わす３動作度（three-degree-of-motion）（３ＤｏＦ）ベクトル、またはｘ、ｙおよびｚ軸の１つ以上を中心とするＨＭＤ装置１０２の回転（すなわちロール、ピッチおよびヨー）の速度を表わす３ＤｏＦベクトルを含み得る。その他の実施形態において、現在の動きベクトルＭＶHMDは、ＨＭＤ装置１０２の平行運動および回転の双方の導関数を表わす６自由度（six-degree-of-freedom）（６ＤｏＦ）動きベクトルを含む。いくつかの実施形態において、現在の動きベクトルＭＶHMDは瞬間の動きベクトルとして計算され得るが、その他の実施形態では現在の動きベクトルＭＶHMDは予測される動きベクトルとして計算され得る。すなわち、未来の時間における（たとえば現在のテクスチャ１２２が表示されると予想される将来の時点における）ＨＭＤ装置１０２の動きが予測される。
【００１６】
現在の動きベクトルＭＶHMDを求めた後、ＨＭＤ動き変換プロセス１３０は、現在の動きベクトルＭＶHMDを、スクリーン空間におけるＨＭＤ装置１０２の動きの１ピクセル当たりの速度表現に変換する。これによってＨＭＤ速度フィールド１３２が得られる。ＨＭＤ速度フィールド１３２は、ピクセル速度フィールド１２８と同様に、エントリのアレイまたはマトリックスとして実装または表現され得る。各エントリは、対応するピクセル位置と関連付けられており、対応するピクセルの速度（「Ｖｈ」として示される）を表わす値を格納している。
【００１７】
ディスプレイシステム１００は次に、速度組合せプロセス１３４を実行する。これによって、ピクセル速度フィールド１２８とＨＭＤ速度フィールド１３２とが組合せされて正味速度フィールド１３６を生成する。正味速度フィールド１３６は、レンダリングされたイメージ内のピクセルの速度およびＨＭＤ装置１０２の速度の双方を考慮した際の各ピクセルの正味相対速度を表わす。したがって、速度フィールド１２８、１３２と同様に、正味速度フィールド１３６は、エントリのアレイまたはマトリックスとして実装または表現され得る。各エントリは、対応するピクセル位置と関連付けられており、正味ピクセル速度Ｖｎｅｔを格納している。正味ピクセル速度Ｖｎｅｔは、そのピクセル位置についてのピクセル速度Ｖｐと、そのピクセル位置についてのＨＭＤ速度Ｖｈとの間の正味速度を表わしている（すなわちＶｎｅｔ＝Ｖｐ＋Ｖｈ）。複数のフラグメントがそのピクセルによって表わされる場合、エントリはフラグメントごとに正味ピクセル速度Ｖｎｅｔを格納し得る。正味ピクセル速度Ｖｎｅｔは、そのフラグメントについてのピクセル速度Ｖｐを用いて計算される。
【００１８】
正味の１ピクセル当たりの速度がこのように計算されると、ディスプレイシステム１００はテクスチャ移動プロセス１３８を実行する。これによって、現在の入力テクスチャ１２２のピクセルについての色情報が正味速度フィールド１３６に基づいて移動されるかそうでなければ修正されて、対応するディスプレイテクスチャ１４０を生成する。この対応するディスプレイテクスチャ１４０は、動きベクトルＭＶHMDが表わすようなユーザの頭部の暫定的な動き、および表示されたイメージ内の仮想オブジェクトの暫定的な動きの双方を補償する。１ピクセル当たりの深度情報も入力テクスチャ１２２に含まれているかまたは入力テクスチャ１２２と関連付けられている場合は、深度情報も同様に移動される。説明のために、たとえば、現在の入力テクスチャ１２２が、スクリーン空間において示された位置に一群のピクセルで構成される仮想オブジェクト１４２を含むが、右へわずかな速度を有すると仮定する。さらに、ユーザの頭部の、したがってＨＭＤ装置１０２の現在の動きは、左向きおよび下向きのわずかなドリフトであると仮定する。得られた仮想オブジェクト１４２の正味速度、すなわち、世界空間におけるユーザの視点に対する仮想オブジェクト１４２の相対的な正味の動きは、右向きおよびわずかに上向きのドリフトである。したがって、正味速度フィールド１３６を用いた現在の入力テクスチャ１２２の移動の結果として、仮想オブジェクト１４２を表わすピクセルは、得られたディスプレイテクスチャ１４０内で右向きおよび上向きにシフトすることによって、仮想オブジェクト１４２を、現在の入力テクスチャ１２２内に見つけられるような仮想オブジェクト１４２の元の位置１４６に対するスクリーン空間における相対的な動き補償位置１４４に提示する。ディスプレイテクスチャ１４０は次に、（スクリーン空間に対して）相対的な再投影プロセスを経ることによって、ＨＭＤ装置１０２で表示すべき最終画像を構築し得る。
【００１９】
分離された右目撮像および左目撮像を備えた実装例では、ＥＤＳプロセス１２０は片目ごとに準備された１つ以上のテクスチャについて並行して実行される。これによって、１対のまたは他の一組のディスプレイテクスチャ１４０が得られる。ディスプレイテクスチャ１４０は、同期してＨＭＤ装置１０２のそれぞれのディスプレイ１１２、１１４にスキャンアウトされる。単眼ディスプレイを備えた実装例では、ＥＤＳプロセス１２０は１つのディスプレイテクスチャ１４０を生成する。ディスプレイテクスチャ１４０は次に、ＨＭＤ装置１０２の１つのディスプレイにスキャンアウトされる。
【００２０】
少なくともいくつかのピクセルについて何らかの正味速度があると仮定すると、テクスチャ移動プロセス１３８の結果としてさまざまなピクセルの位置がシフトして、入力テクスチャ１２２のレンダリングの開始、および対応するディスプレイテクスチャ１４０の対応するディスプレイへのスキャンアウトを表わすタイムスパンンについて、ピクセル速度とＨＭＤ速度との組合せによる正味の速度変化を反映する。上述のように、入力テクスチャ１２２は異なる深度の複数のフラグメントを表わし得るため、テクスチャ移動プロセス１３８はフラグメントごとに、または深度レベルごとに実行され得る。このため、ピクセルの位置がシフトすると、元の入力テクスチャ１２２では「より近い」フラグメントによって以前は隠蔽されていたフラグメントのディスオクルージョン（disocculusion）がもたらされ得る。このような場合、ディスプレイシステム１００が実現するレンダリングプロセスはさらに、テクスチャ移動プロセス１３８によって生じ得るいずれのディスオクルージョンエラーも取除くディスオクルージョンプロセスの実装を含み得る。
【００２１】
上述のように、入力テクスチャ１２２は、レンダリング時にサンプリングされるＨＭＤ装置１０２の姿勢に基づいてレンダリングされる。しかし、入力テクスチャ１２２のレンダリングの開始と、テクスチャ１２２が表わす画像のスキャンアウトまたは表示との間に、ＨＭＤ装置１０２のさらなる動きが生じる場合がある。したがって、入力テクスチャ１２２は、表示される頃には、その時のＨＭＤ装置１０２の実際の向きを正確に反映していない場合があり、したがって、シーンのユーザの現在の視点を正確に反映していない場合がある。さらに、入力テクスチャ１２２は動いている仮想オブジェクトを表わす場合があるため、ユーザは、入力テクスチャ１２２が表示されるであろう頃には、入力テクスチャ１２２内に表わされる仮想オブジェクトの実際の位置と比較して、世界空間に対して相対的に異なる位置に仮想オブジェクトがあると予想する場合がある。しかし、１ピクセル当たりの正味速度を計算し、次に入力テクスチャ１２２のピクセルについての色情報を移動させることによって、得られたディスプレイテクスチャ１４０は、ディスプレイテクスチャ１４０の表示時に予期されるユーザの視点をより正確に反映し、かつ、ディスプレイテクスチャ１４０の表示時に動いている仮想オブジェクトの予期される位置をより正確に反映する。
【００２２】
ディスプレイシステム１００は、ＥＤＳプロセス１２０を、レンダリング時と表示時との間の暫定的な動きを補償することを試みる１つ以上の表示安定化プロセスと組合せて使用し得る。たとえば、ディスプレイシステム１００は、２０１５年６月１２日に出願され「ヘッドマウントディスプレイの電子ディスプレイ安定化（Electronic Display Stabilization for Head Mounted Display）」と題された同時係属中の米国特許出願連続番号第６２／１７４，６０２号（代理人事件番号：１５００−Ｇ１５０１２−ＰＲ）のＥＤＳプロセスを追加的に使用することがあり、上記米国特許出願の内容全体を引用により本明細書に援用する。
【００２３】
図２は、本開示の少なくとも１つの実施形態に従う、図１のディスプレイシステム１００の一例としてのハードウェア構成２００を示す。ハードウェア構成２００はハードウェアを含み、このハードウェアは、ＶＲまたはＡＲアプリケーション（本明細書において「ＶＲ／ＡＲアプリケーション２０２」と呼ばれる）を実行することにより、ユーザの頭部１０４またはＨＭＤ１０２の現在の姿勢からのシーンを表わすＶＲまたはＡＲコンテンツをレンダリングすることに向けられる。ＶＲまたはＡＲコンテンツは、片目ごとに一連のテクスチャを含む。ハードウェア構成２００はさらにＥＤＳハードウェアを含み、このＥＤＳハードウェアは、上記一連のテクスチャによって表わされるＶＲまたはＡＲコンテンツを表示することに向けられ、かつ、ＥＤＳプロセス１２０を実現することにより、レンダリングされたテクスチャ間の暫定頭部回転、およびレンダリングされたテクスチャが表わすビデオ内に存在する動いている仮想オブジェクトの暫定的な動きを補償する。
【００２４】
示されている例において、ハードウェア構成２００は、アプリケーションプロセッサ２０４と、システムメモリ２０６と、センサハブ２０８（アプリケーションプロセッサ２０４が実装する構成要素または機能とは別であり得る）と、慣性管理装置（inertial management unit）（ＩＭＵ）２１０とを含む。いくつかの実施形態において、ＨＭＤ装置１０２は、視覚的位置推定もしくは視覚的遠隔測定を目的とするまたはＡＲ機能をサポートするローカル環境の取得されたイメージをリアルタイムで表示するために、画像キャプチャを組込んでいてもよい。このような実施形態において、ハードウェア構成２００はさらに、たとえば、１つ以上の画像センサ２１２、２１４と、構造化された光（structured-light）または飛行時間（time-of-flight）（ＴｏＦ）型深度センサ２１６とを含んでもよい。
【００２５】
ＩＭＵ２１０は、たとえば、ジャイロスコープ２１８と磁力計２２０と加速度計２２２とを含む、ＨＭＤ装置１０２についての姿勢情報を提供するかそうでなければＨＭＤ装置１０２の姿勢の追跡を容易にする１つ以上の慣性センサを含む。Bosch GmBhのSensortec（商標） BMI160は、市場で入手できるＩＭＵ２１０の実装例である。センサハブ２０８は、ＩＭＵ２１０と、画像センサ２１２、２１４と、深度センサ２１６とに結合され、アプリケーションプロセッサ２０４と、ＩＭＵ２１０、画像センサ２１２、２１４、深度センサ２１６、およびディスプレイシステム１００のその他のセンサとの間における制御信号およびデータの転送を管理するように動作する。Movidius Ltd.のMyriad（商標）２ビジョン処理ユニット（ＶＰＵ）は、市場で入手できるセンサハブ２０８の実装例である。アプリケーションプロセッサ２０４は、１つ以上の中央処理装置（ＣＰＵ）、グラフィック処理装置（ＧＰＵ）、または１つ以上のＣＰＵと１つ以上のＧＰＵとを組合わせたものを含む。Qualcomm IncorporatedのSnapdragon（商標）８１０ＭＳＭ８９９４システムオンチップ（ＳｏＣ）は、市場で入手できるアプリケーションプロセッサ２０４の実装例である。
【００２６】
ハードウェア構成２００はさらに、コンポジタ２２４と、左目用ディスプレイ１１２と、右目用ディスプレイ１１４とを含む。コンポジタ２２４は、たとえばＡＳＩＣ、プログラマブルロジックとして、１つ以上のＧＰＵを操作して記載した機能を提供するソフトウェアを実行する１つ以上のＧＰＵとして、またはこれらを組合わせたものとして実装され得る装置である。ハードウェア構成２００はさらに、左目用ディスプレイ１１２を駆動するための左ディスプレイコントローラ２２８と、右目用ディスプレイ１１４を駆動するための右ディスプレイコントローラ２３０とを含み、これらのディスプレイコントローラはコンポジタ２２４の一部として示されている。コンポジタ２２４はさらに、本明細書に説明するように、左目用ディスプレイパイプラインおよび右目用ディスプレイパイプラインごとの１つ以上のテクスチャ、ならびにそれらと関連付けられている深度フィールドおよび速度フィールドを格納するためのディープフレームバッファ２３２を含んでもよい。
【００２７】
動作時に、アプリケーションプロセッサ２０４は、（たとえばシステムメモリ２０６に格納されている）ＶＲ／ＡＲアプリケーション２０２を実行することにより、ユーザに対してＶＲ／ＡＲ機能を提供する。このプロセスの一部として、ＶＲ／ＡＲアプリケーション２０２は、アプリケーションプロセッサ２０４または関連付けられたプロセッサを操作することにより、各目の一連のテクスチャ（たとえば図１の入力テクスチャ１２２）を特定のレンダリングレートでレンダリングする。各テクスチャは、完全にコンピュータで生成されている場合がある視覚コンテンツ、（画像センサ２１２、２１４を介して）取得したイメージと、コンピュータによって生成されたオーバレイ、または透明ディスプレイパネルもしくはウィンドウ上でローカル環境内に表示されるコンピュータによって生成されたオーバレイとの組合わせである視覚コンテンツを含む。各テクスチャの視覚コンテンツは、テクスチャが決定された時点における、対応するユーザの頭部の姿勢（またはＨＭＤ装置１０２の姿勢）からのシーンを表わす。したがって、各テクスチャのレンダリングに備えて、アプリケーションプロセッサ２０４は、ＩＭＵ２１０のジャイロスコープ２１８、磁力計２２０、および加速度計２２２から現在のサンプルを取得し、これらの慣性センサの測定値からユーザの頭部の現在の姿勢を求める。現在の姿勢と回転を求めるためにＩＭＵ２１０を用いる代わりにまたはそれに加えて、アプリケーションプロセッサ２０４は、１つ以上の画像センサまたは深度センサからの情報を用い、１つ以上の視覚遠隔測定または同時位置推定およびマッピング（simultaneous localization and mapping）（ＳＬＡＭ）技術を利用して、現在の姿勢と回転を決定、検証、または修正してもよい。求めた頭部姿勢から、アプリケーションプロセッサ２０４は、求めた頭部の向きおよび回転からのシーンの立体的な眺めを協働して表わす一対の入力テクスチャをレンダリングする。その後、レンダリングされた一対の入力テクスチャは、ディープフレームバッファ２３２に格納される。ディープフレームバッファ２３２は、システムメモリ２０６の一部であってもよく、別のグラフィックメモリであってもよい。
【００２８】
並行して、コンポジタ２２４は、レンダリングされたテクスチャに基づいてディスプレイテクスチャ（たとえば図１のディスプレイテクスチャ１４０）を生成し、生成したディスプレイテクスチャに基づいてディスプレイ１１２、１１４を駆動するように、動作する。このプロセスの一部として、コンポジタ２２４は、本明細書に記載のＥＤＳプロセス１２０を実現することにより、入力テクスチャ内に存在している１ピクセル当たりの速度およびＨＭＤ装置１０２の現在の動きから１ピクセル当たりの正味速度を求め、これらの１ピクセル当たりの正味速度を反映するように一対の入力テクスチャを修正することにより、一対のディスプレイテクスチャを生成する。この一対のディスプレイテクスチャは、ディスプレイ１１２、１１４にディスプレイテクスチャが表示される時点においてユーザの頭部１０４の動きとイメージ内に表わされた仮想オブジェクトの動きとの間の正味の動きとより整合している。
【００２９】
図３は、本開示の少なくとも１つの実施形態に従う、コンポジタ２２４の実装例を示す。示されている例において、コンポジタ２２４は、ディープフレームバッファ２３２と、動き解析モジュール３０２と、センサ積分器モジュール３０４と、変換モジュール３０６と、速度フィールド組合せモジュール３０８と、移動モジュール３１０と、ディスオクルージョンモジュール３１２とを含む。モジュール３０２、３０４、３０６、３０８、３１０および３１２の各々は、ＡＳＩＣもしくはプログラマブルロジックの一部として、対応するソフトウェアを実行する１つ以上のプロセッサとして、またはそれらの組合せとして実装され得る。これらの構成要素の動作について、図４を参照してより詳細に説明する。
【００３０】
図４は、図１のＥＤＳプロセス１２０を、図１のＨＭＤ装置１０２ならびに図２および図３のハードウェア構成２００の文脈において実現する一例としての方法４００を示す。ＡＲまたはＶＲコンテンツのレンダリングおよび表示に備えてディスプレイシステム１００を起動した後、方法４００は、ブロック４０２で、ＶＲ／ＡＲアプリケーション２０２が、ＨＭＤ装置１０２の現在のまたは予期される姿勢に基づいて入力テクスチャ３２２（図３）のレンダリングをトリガすることで開始する。入力テクスチャ３２２は、写真またはフレームのピクセルごとの色情報（色フィールド３２３）と、複数のフラグメントを追跡する場合は、ピクセルと関連付けられているフラグメントごとの色情報とを含む。入力テクスチャ３２２はさらに深度フィールド３２４（「深度バッファ」としても公知）を含んでいてもよく、深度フィールド３２４は、ピクセルが表わすフラグメントの一部またはすべての各々について深度値または深度順序を格納する。
【００３１】
ブロック４０４で、動き解析モジュール３０２は、入力テクスチャ３２２および１つ以上の前の入力テクスチャを（表示順に）解析することにより、この１つ以上の前の入力テクスチャおよび現在の入力テクスチャ３２２から数列で表わされる１つ以上のオブジェクトの動きに基づいて、ピクセルごとに１ピクセル当たりの速度Ｖｐを求める。さまざまな動き解析プロセスのいずれかが利用され得る。たとえば、動き解析モジュール３０２は、Lucas-Kanade法、Buxton-Buxton法、Black-Jepson法などの１つ以上に基づくオプティカルフローアルゴリズムなどの、さまざまなオプティカルフローアルゴリズムのいずれかを使用して１ピクセル当たりの速度を求めてもよい。使用する動き解析および利用可能な情報に依存して、ピクセル速度Ｖｐは、２Ｄ速度（たとえばスクリーン空間を構成するｘ−ｙ面内のスピードおよび方向）、３Ｄ速度（たとえばｘ−ｙ−ｚ世界空間におけるスピードおよび方向）、または３つの位置軸の１つ以上を中心とする回転速度に加えて３Ｄ速度を含み得る。
【００３２】
ブロック４０６で、動き解析モジュール３０２は、入力テクスチャ３２２を構成するピクセルについての１ピクセル当たりの速度Ｖｐを、ピクセル速度フィールド３２８（図１のピクセル速度フィールド１２８の１つの実施形態）として、入力テクスチャ３２２についての色フィールド３２３と関連しているディープフレームバッファ２３２にバッファする。上述のように、ピクセルの一部またはすべてが複数のフラグメントと関連付けられている場合があり、その場合、ブロック４０４および４０６のプロセスはフラグメントごとに繰返される。この結果、ピクセル速度ＶＰは、対応するピクセルが表わすフラグメントごとにピクセル速度フィールド３２８に格納され、所与のピクセルについての各ピクセル速度ＶＰとともに、ピクセル速度フィールド３２８の対応するエントリに深度順に格納される。
【００３３】
ブロック４０４および４０６の１つ以上の反復が表わす動き解析プロセスと並行して、ブロック４０８で、コンポジタ２２４は、ＨＭＤ装置１０２の瞬間の動きまたは予測される動きの一方または両方を表わすＨＭＤ動きベクトルＭＶHMDを求める。このため、１つの実施形態において、センサ積分器モジュール３０４は、ＩＭＵ２１０のセンサの１つ以上からセンササンプル３３１を連続的に受信し、センササンプル３３１をスライディングウィンドウバッファ（図示せず）にバッファする。センサ積分器モジュール３０４は、スライディングウィンドウバッファ内のセンササンプル３３１の一部またはすべてをフォワード積分することなどによって、変換行列、または四元数に動きベクトルの対を加えたもの、または現在の動きベクトルＭＶHMDの他の表現を求めるように動作する。利用可能なセンサ情報および特定の構成に依存して、この動きベクトルＭＶHMDは、１つ以上の軸に沿ったＨＭＤ装置１０２の線速度、１つ以上の軸に沿ったＨＭＤ装置１０２の回転速度、または線速度と回転速度との組合せ（たとえば６ＤｏＦ動きベクトル）を表わす動きベクトルを表わし得る。
【００３４】
ブロック４１０で、変換モジュール３０６は、ＨＭＤ動きベクトルＭＶHMDを１ピクセル当たりの速度表現Ｖｈに変換し、得られた１ピクセル当たりのＨＭＤ速度ＶｈをＨＭＤ速度フィールド３３０（図１のＨＭＤ速度フィールド１３２の１つの実施形態）に格納する。少なくとも１つの実施形態において、変換モジュール３０６は、この変換を、ＨＭＤ動きベクトルＭＶHMDを、仮想世界空間座標系からスクリーン空間座標系に変換する、仮想世界空間からスクリーン空間への変換を適用することによって実現し得る。いくつかの実施形態において、この変換はホモグラフィ変換として実現され得るが、このアプローチは、シーンが均一の深度にあると仮定する近似に過ぎないであろう。より正確な（かつより計算的に高価な）変換は、各フラグメントの深度を補償すること（各フラグメントを３Ｄの点として本質的に扱うこと）と、１フラグメント当たりの速度ベクトルからＨＭＤ姿勢速度ベクトルを（両方とも仮想世界空間にあると仮定して）引くことにより、ＨＭＤ関連のフラグメント速度ベクトルを得ることとを含み、このフラグメント速度ベクトルは次に、スクリーン空間速度ベクトルに変換され得る。したがってこのアプローチは、仮想世界空間において速度を追加してから、スクリーン空間に変換する。異なるアプローチでは、速度をまずスクリーン空間に変換してから、スクリーン空間において速度を追加してもよい。
【００３５】
ピクセル速度フィールド３２８およびＨＭＤ速度フィールド３３０が現在の反復について求められると、ブロック４１２で、速度フィールド組合せモジュール３０８は、２つの速度フィールド３２８、３３０を組合せることにより、正味速度フィールド３３２（図１の正味速度フィールド１３６の１つの実施形態）を生成する。正味速度フィールド３３２は、ディープフレームバッファ２３２または他の格納コンポーネントに格納され得る。少なくとも１つの実施形態において、この組合せは、ピクセルごとに、ピクセル速度フィールド３２８からのピクセル速度Ｖｐを、ＨＭＤ速度フィールド３３０からのその同じピクセル位置についてのＨＭＤ速度Ｖｈと合計することにより、そのピクセル位置についての対応する正味ピクセル速度Ｖｎｅｔを生成することを含む。ピクセルが複数のフラグメントを表わす場合は、フラグメントごとに異なる正味ピクセル速度Ｖｎｅｔが計算される（すなわち、ピクセル位置ＰのフラグメントＦについてはＶｎｅｔ［Ｐ，Ｆ］＝Ｖｐ［Ｐ，Ｆ］＋Ｖｈ［Ｐ］）。
【００３６】
ブロック４１４で、移動モジュール３１０は、テクスチャ移動プロセス１３８の実装を実行することにより、入力テクスチャ３２２を修正し、１ピクセル当たりの正味速度Ｖｎｅｔを対応するタイムスパンについて正味速度フィールド３３２に反映する。いくつかの実施形態において、移動プロセス１３８は２つの方法、すなわち単一ステップ移動プロセス４１５または複数ステップ移動プロセス４１７のいずれかで実現され得る。単一ステップ移動プロセス４１５は、正味の動きを表わす、あまり正確でないが計算的にそれほど複雑ではない態様を表わす。対照的に、複数ステップ移動プロセスは、より正確であるがより計算的に複雑なプロセスを表わす。
【００３７】
単一ステップ移動プロセス４１５はブロック４１６によって表わされ、これによって、移動モジュール３１０は、Lagrangian-Eulerianテクスチャ移動法に基づくまたはSemi-Lagrangian法に基づく移動プロセスなどのさまざまな周知の粒子／速度移動プロセスのいずれかを用いて、正味速度フィールド３３２の正味ピクセル速度Ｖｎｅｔを用いて入力テクスチャ３２２の色情報（色フィールド３２３）を移動させる。複数のフラグメントがピクセル位置の一部またはすべてによって表わされる場合は、この移動プロセスは深度／フラグメントごとに繰返される。さらに、入力テクスチャ３２２が１つ以上のフラグメントについての深度情報を含む場合は、深度情報は同様に正味速度フィールド３３２に基づいて移動されることにより、ピクセルと深度情報との相関関係を維持し得る。このプロセスのために、移動プロセスにおいて表わされるタイムスパンまたはタイムステップは、本明細書に記載のＥＤＳプロセスの結果としての、入力テクスチャ３２２のレンダリングと、入力テクスチャ３２２から生成された対応するディスプレイテクスチャ３３４（図１のディスプレイテクスチャ１４０の１つの実施形態）のスキャンアウトまたは表示との間の予想される持続期間であってもよく、または当該持続期間に基づいていてもよい。次に、表示画像が処理されてテクスチャがスクリーン空間内に再投影されることにより、対応するディスプレイコントローラを介して表示すべき最終画像が生成され得る。
【００３８】
複数ステップ移動プロセス４１７は、ブロック４１８で、複数ステップ移動プロセスの現在のインスタンスで実現すべきタイムステップまたは反復の数を求めることで開始する。少なくとも１つの実施形態において、タイムステップの数は、入力テクスチャのレンダリングレートＸの、正味速度フィールド３３２の計算レートＹに対する比に基づいて求められる。説明のために、レンダリングレートが６０ｆｐｓであり、新たな正味速度フィールド３３２が１２０回／秒であると求められた場合は、複数ステップ移動プロセスは事実上１２０タイムステップ／秒を有することになる。レンダリングレートが６０ｆｐｓであり、新たな正味速度フィールド３３２が２４０回／秒であると求められた場合は、複数ステップ移動プロセスは２４０タイムステップ／秒を有することになる。
【００３９】
タイムステップの数が求められると、プロセスの１回目の反復がブロック４２０で開始され、これによって移動モジュール３１０が現在の入力テクスチャ３２２の色フィールド３２３を正味速度フィールド３３２を用いて移動させることにより、現在の反復についてのディスプレイテクスチャ３３４（これは次に、以下に記載されるように表示される）を生成する。反復が２回以上あると仮定すると、次にブロック４２２の２回目の反復で、移動モジュール３１０は、正味速度フィールド３３２を正味速度フィールド３３２自身を用いて移動させる（すなわち正味速度フィールド３３２を自己移動させる）ことにより、修正された正味速度フィールドを生成する。次のタイムスタンプについては、次の入力テクスチャ３２２がブロック４０４でレンダリングされ、ブロック４２０の２回目の反復で、移動モジュール３１０は次に、この次の入力テクスチャ３２２を修正された正味速度フィールドを用いて移動させることにより、第２のディスプレイテクスチャ３３４を生成する。第３のタイムスタンプがある場合は、修正された正味速度フィールドがブロック４２２の２回目の反復で自己移動させられることにより、２回修正された正味速度フィールドを生成する。次に、３回目の反復については、ブロック４０２の３回目の反復でレンダリングされた次の入力テクスチャ３２２が、ブロック４２０の３回目の反復で、２回修正された正味速度フィールドを用いて移動させられることにより、第３のディスプレイテクスチャ３３４を生成する、などである。
【００４０】
入力テクスチャのピクセルの一部またはすべてが複数のフラグメントを表わし得るため、移動プロセスの結果としてピクセルを再位置決めすると、より低い深度で以前にオクルージョンされていたフラグメントのディスオクルージョンがもたらされ得る。計算的な複雑性の軽減が望ましい場合は、これらのディスオクルージョンエラーは無視され得る。しかし、いくつかの実施形態において、ブロック４２４で、ディスオクルージョンモジュール３１２は深度フィールド３２４に表わされた深度情報、複数のフラグメントについての情報、およびさまざまな周知のディスオクルージョンプロセスのいずれかを利用して、移動プロセスの結果として生じ得るディスオクルージョンエラーを取除いてもよい。さらに、いくつかの実施形態において、ディスオクルージョンモジュール３１２または別のモジュールがモーションブラーを作成することにより、ディスプレイテクスチャ３３４をディスプレイテクスチャ３３４が生成された入力テクスチャ３２２と混合することによって知覚問題を軽減させ、得られた混合テクスチャをディスプレイテクスチャとして用いてもよい。次に、ブロック４１４の移動プロセスの反復によって生成された（かつブロック４２４の反復によってディスオクルージョンされ得るおよび／またはモーションブラーされ得る）各ディスプレイテクスチャ３３４が、ブロック４２６で、スクリーン空間において再投影されることにより、最終画像または表示画像が生成される。この画像は、ディスプレイ１１２、１１４の対応する方にスキャンアウトするために、コンポジタ２２４によって、対応するディスプレイコントローラ２２８、２３０に提供される。
【００４１】
上述の発明の機能性の大部分および発明の原則の多くは、特定用途向けＩＣ（ＡＳＩＣ）などの集積回路を用いたまたはそれにおける実現例によく適している。当業者は、本明細書中に開示される概念および原則によって導かれると、たとえば、利用可能な時間、現在の技術および経済的考慮によって動機付けられるおそらくはかなりの労力および多数の設計上の選択肢にも係わらず、最小限の実験によってそのようなＩＣを生成することが容易に可能であることが期待される。したがって、簡潔さ、ならびに本開示に従う原則および概念を曖昧にする一切のおそれの最小化のため、そのようなソフトウェアおよびＩＣのそれ以上の検討は、もしあるとしても、好ましい実施形態の範囲内の原則および概念に対する必須部分に限定されるであろう。
【００４２】
いくつかの実施形態において、上述の技術のいくつかの態様は、ソフトウェアを実行する処理システムの１つ以上のプロセッサによって実装されてもよい。ソフトウェアは、非一時的なコンピュータ読取可能な格納媒体に格納されるまたは有形に含まれる実行可能な命令の１つ以上のセットを備える。ソフトウェアは、１つ以上のプロセッサによって実行された場合に１つ以上のプロセッサに上述の技術の１つ以上の態様を実行させる命令および特定のデータを含めることができる。非一時的なコンピュータ読取可能な格納媒体は、たとえば、磁気または光ディスク格納装置、フラッシュメモリ、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）、またはその他の１つまたは複数の不揮発性のメモリ素子など、固体格納装置を含めることができる。非一時的なコンピュータ読取可能な格納媒体に格納された実行可能な命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、または１つ以上のプロセッサによって解釈されるまたは実行可能なその他の命令形式で格納されてもよい。
【００４３】
この文書では、第１および第２などの関係性を表わす用語は、あるエンティティまたは行為を、別のエンティティまたは行為の間の何らかの実際のそのような関係または順序を必ずしも要件としたり暗示したりすることなく当該エンティティまたは行為から区別するためにのみ用いられ得る。「備える」、「備えている」という用語、またはその何らかの他の変形は、非排他的包含をカバーすることが意図されるため、要素の一覧を備えるプロセス、方法、物品、または機器は、それらの要素のみを含むのではなく、明示的に列挙されないまたはそのようなプロセス、方法、物品、もしくは機器に内在的な他の要素を含むことがある。「備える」に続く要素は、それ以上の制約なく、当該要素を備えるプロセス、方法、物品、または機器中の付加的な同一の要素の存在を排除するものではない。本明細書中で用いるような「別の」という用語は、少なくとも第２以降として規定される。本明細書中で用いられるように「含む」および／または「有する」という用語は、備えるとして規定される。電気光学技術を参照して本明細書中で用いるような「結合される」という用語は、必ずしも直接にではなくまた必ずしも機械的ではないが、接続されると規定される。本明細書中で用いるような「プログラム」という用語は、コンピュータシステム上での実行のために設計された命令のシーケンスとして規定される。「プログラム」、「コンピュータプログラム」、「アプリケーション」、または「ソフトウェア」は、サブルーチン、機能、手順、オブジェクト方法、オブジェクト実現例、実行可能なアプリケーション、アプレット、サーブレット、ソースコード、オブジェクトコード、共有ライブラリ／動的負荷ライブラリ、および／またはコンピュータシステム上での実行のために設計される命令の他のシーケンスを含むことがある。
【００４４】
明細書および図面は単なる例示と考えられるべきであり、したがって開示の範囲は以下の請求項およびその均等物によってのみ限定されることが意図される。なお、全般的な説明で上述した活動または要素のすべてを要件とするわけではなく、具体的な活動または装置の一部を要件としないことがあり、説明したものに加えて１つ以上のさらなる活動を行なってもよくまたは１つ以上のさらなる要素を含んでもよい。またさらに、活動が列挙される順序は必ずしもそれらが行なわれる順序とは限らない。以上の描かれたフローチャートの工程は、特段の記載がなければ任意の順序であることができ、実現例に依存して工程を排除、繰返し、および／または追加してもよい。また、具体的な実施形態を参照して概念を説明した。しかしながら、当業者は、以下の請求項に述べるような本開示の範囲から逸脱することなく、さまざまな修正および変更をなすことができることを認める。これに応じて、明細書および図は、制限的な意味よりもむしろ例示と見なされるべきであり、すべてのそのような修正は本開示の範囲内に含まれることが意図される。
【００４５】
具体的な実施形態に関して有利、他の利点、および課題に対する解決策を上述した。しかしながら、何らかの有利、利点、または解決策を想到させ得るまたはより顕著にし得る有利、利点、課題に対する解決策、および何らかの特徴を、任意のまたはすべての請求項の決定的な、要件とされる、または必須の特徴として解釈すべきではない。
【図１】
2019506015.tif 000003
【図２】
2019506015.tif 000004
【図３】
2019506015.tif 000005
【図４】
2019506015.tif 000006
【手続補正書】
【提出日】平成30年6月12日(2018.6.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ヘッドマウントディスプレイ（ＨＭＤ）装置を有するシステムであって、
第１のテクスチャをレンダリングすることと、
前記第１のテクスチャのピクセルの少なくともサブセットについてのピクセル速度を有する第１の速度フィールドを求めることと、
前記ＨＭＤ装置についての動きベクトルを求めることと、
前記ＨＭＤ装置についての前記動きベクトルの１ピクセル当たりの速度表現を含む第２の速度フィールドを求めることと、
前記第１の速度フィールドと前記第２の速度フィールドとを組合せることにより、第３の速度フィールドを生成することと、
前記第１のテクスチャおよび前記第３の速度フィールドに基づいて、第２のテクスチャをレンダリングすることと、
前記第２のテクスチャを前記ＨＭＤ装置で表示するために出力することとを備える、方法。
【請求項２】
前記第２のテクスチャをレンダリングすることは、
前記第３の速度フィールドを用いて前記第１のテクスチャのピクセルについての色情報を移動させることにより、前記第２のテクスチャを生成することを含む、請求項１に記載の方法。
【請求項３】
前記第２のテクスチャをレンダリングすることは、
前記第３の速度フィールドを用いて前記第１のテクスチャのピクセルについての深度情報を移動させることにより、前記第２のテクスチャを生成することをさらに含む、請求項２に記載の方法。
【請求項４】
第３のテクスチャをレンダリングすることと、
第４のテクスチャをレンダリングすることとをさらに備え、前記第４のテクスチャをレンダリングすることは、
前記第３の速度フィールドを自己移動させることにより、第４の速度フィールドを生成すること、および
前記第４の速度フィールドを用いて前記第３のテクスチャのピクセルについての色情報を移動させることにより、前記第４のテクスチャを生成することによって行われ、さらに、
前記第４のテクスチャを前記ＨＭＤ装置で表示するために出力することを備える、請求項２に記載の方法。
【請求項５】
前記第２の速度フィールドを求めることは、
仮想世界空間からスクリーン空間への変換を前記ＨＭＤ装置についての前記動きベクトルに適用することにより、前記第２の速度フィールドを生成することを含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記第１のテクスチャのピクセルの少なくともサブセットの各ピクセルは、少なくとも２つのフラグメントの対応するセットと関連付けられており、
前記第１の速度フィールドを求めることは、少なくとも前記サブセットの各ピクセルについて、前記少なくとも２つのフラグメントの対応するセットの各フラグメントについての前記ピクセルの別のピクセル速度を求めることを含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記第１のテクスチャをディープフレームバッファに格納することをさらに備え、前記ディープフレームバッファは、前記第１の速度フィールドおよび前記第１のテクスチャのピクセルについての深度情報をさらに含む、請求項６に記載の方法。
【請求項８】
前記第２のテクスチャをレンダリングすることは、
前記深度情報に基づいて前記第２のテクスチャにおけるディスオクルージョン（disocclusion）エラーを取除くことをさらに含む、請求項７に記載の方法。
【請求項９】
前記第１の速度フィールドを求めることは、
前記第１のテクスチャを含むテクスチャのシーケンスのオプティカルフロー解析に基づいて前記第１の速度フィールドを求めることを含む、請求項１〜５のいずれか１項に記載の方法。
【請求項１０】
システムであって、
少なくとも１つのディスプレイを含むヘッドマウントディスプレイ（ＨＭＤ）装置と、
前記ＨＭＤ装置についての姿勢情報を出力する少なくとも１つのセンサと、
前記少なくとも１つのセンサに結合されたセンサ積分器モジュールとを備え、前記センサ積分器モジュールは、前記姿勢情報に基づいて前記ＨＭＤ装置についての動きベクトルを求め、前記システムはさらに、
前記姿勢情報から求めた前記ＨＭＤ装置の姿勢に基づいて第１のテクスチャをレンダリングするアプリケーションプロセッサと、
前記第１のテクスチャのピクセルの少なくともサブセットについてのピクセル速度を有する第１の速度フィールドを求める動き解析モジュールと、
前記ＨＭＤ装置についての前記動きベクトルの１ピクセル当たりの速度表現を含む第２の速度フィールドを求める変換モジュールと、
前記第１の速度フィールドと前記第２の速度フィールドとを組合せることにより、第３の速度フィールドを生成する速度フィールド組合せモジュールと、
前記第１のテクスチャおよび前記第３の速度フィールドに基づいて第２のテクスチャをレンダリングし、かつ前記ＨＭＤ装置の前記ディスプレイに前記第２のテクスチャを出力するコンポジタとを備える、システム。
【請求項１１】
前記コンポジタは、
前記第３の速度フィールドを用いて前記第１のテクスチャのピクセルについての色情報を移動させることにより、前記第２のテクスチャを生成する移動モジュールを含む、請求項１０に記載のシステム。
【請求項１２】
前記移動モジュールはさらに、前記第３の速度フィールドを用いて前記第１のテクスチャのピクセルについての深度情報を移動させることにより、前記第２のテクスチャを生成する、請求項１１に記載のシステム。
【請求項１３】
前記アプリケーションプロセッサはさらに、第３のテクスチャをレンダリングし、
前記コンポジタはさらに、第４のテクスチャをレンダリングし、前記第４のテクスチャをレンダリングすることは、
前記第３の速度フィールドを自己移動させることにより、第４の速度フィールドを生成すること、および
前記第４の速度フィールドを用いて前記第３のテクスチャのピクセルについての色情報を移動させることにより、前記第４のテクスチャを生成することによって行われ、
前記コンポジタは、前記第４のテクスチャを前記ＨＭＤ装置で表示するために出力する、請求項１１に記載のシステム。
【請求項１４】
前記変換モジュールは、ホモグラフィ変換を前記ＨＭＤ装置についての前記動きベクトルに適用することにより前記第２の速度フィールドを生成することによって、前記第２の速度フィールドを求める、請求項１０〜１３のいずれか１項に記載のシステム。
【請求項１５】
前記第１のテクスチャのピクセルの少なくともサブセットの各ピクセルは、少なくとも２つのフラグメントの対応するセットと関連付けられており、
前記動き解析モジュールは、少なくとも前記サブセットの各ピクセルについて、前記少なくとも２つのフラグメントの対応するセットの各フラグメントについての前記ピクセルの別のピクセル速度を求めることによって、前記第１の速度フィールドを求める、請求項１０〜１４のいずれか１項に記載のシステム。
【請求項１６】
前記第１のテクスチャ、前記第１の速度フィールド、および前記第１のテクスチャのピクセルについての深度情報を格納するディープフレームバッファをさらに備える、請求項１５に記載のシステム。
【請求項１７】
前記深度情報に基づいて前記第２のテクスチャにおけるディスオクルージョンエラーを取除くディスオクルージョンモジュールをさらに備える、請求項１６に記載のシステム。
【請求項１８】
前記動き解析モジュールは、前記第１のテクスチャを含むテクスチャのシーケンスのオプティカルフロー解析に基づいて前記第１の速度フィールドを求める、請求項１０〜１４のいずれか１項に記載のシステム。
【請求項１９】
命令セットを格納している非一時的なコンピュータ読取可能な媒体であって、前記命令は、少なくとも１つのプロセッサによって実行された場合に、前記少なくとも１つのプロセッサを操作してプロセスを実行させ、前記プロセスは、
第１のテクスチャをレンダリングすることと、
前記第１のテクスチャのピクセルの少なくともサブセットについてのピクセル速度を有する第１の速度フィールドを求めることと、
ヘッドマウントディスプレイ（ＨＭＤ）装置についての動きベクトルを求めることと、
前記ＨＭＤ装置についての前記動きベクトルの１ピクセル当たりの速度表現を含む第２の速度フィールドを求めることと、
前記第１の速度フィールドと前記第２の速度フィールドとを組合せることにより、第３の速度フィールドを生成することと、
前記第１のテクスチャおよび前記第３の速度フィールドに基づいて、第２のテクスチャをレンダリングすることと、
前記第２のテクスチャを前記ＨＭＤ装置で表示するために出力することとを備える、非一時的なコンピュータ読取可能な媒体。
【請求項２０】
前記第２のテクスチャをレンダリングすることは、
前記第３の速度フィールドを用いて前記第１のテクスチャのピクセルについての色情報を移動させることにより、前記第２のテクスチャを生成することを含む、請求項１９に記載の非一時的なコンピュータ読取可能な媒体。
【請求項２１】
前記プロセスはさらに、
第３のテクスチャをレンダリングすることと、
第４のテクスチャをレンダリングすることとを備え、前記第４のテクスチャをレンダリングすることは、
前記第３の速度フィールドを自己移動させることにより、第４の速度フィールドを生成すること、および
前記第４の速度フィールドを用いて前記第３のテクスチャのピクセルについての色情報を移動させることにより、前記第４のテクスチャを生成することによって行われ、前記プロセスはさらに、
前記第４のテクスチャを前記ＨＭＤ装置で表示するために出力することを備える、請求項２０に記載の非一時的なコンピュータ読取可能な媒体。
【請求項２２】
前記第２の速度フィールドを求めることは、
仮想世界空間からスクリーン空間への変換を前記ＨＭＤ装置についての前記動きベクトルに適用することにより、前記第２の速度フィールドを生成することを含む、請求項１９〜２１のいずれか１項に記載の非一時的なコンピュータ読取可能な媒体。
【請求項２３】
前記第１のテクスチャのピクセルの少なくともサブセットの各ピクセルは、少なくとも２つのフラグメントの対応するセットと関連付けられており、
前記第１の速度フィールドを求めることは、少なくとも前記サブセットの各ピクセルについて、前記少なくとも２つのフラグメントの対応するセットの各フラグメントについての前記ピクセルの別のピクセル速度を求めることを含む、請求項１９〜２２のいずれか１項に記載の非一時的なコンピュータ読取可能な媒体。
【請求項２４】
前記プロセスはさらに、
前記第１のテクスチャをディープフレームバッファに格納することを備え、前記ディープフレームバッファは、前記第１の速度フィールドおよび前記第１のテクスチャのピクセルについての深度情報をさらに含む、請求項２３に記載の非一時的なコンピュータ読取可能な媒体。
【請求項２５】
コンピュータによって実行されるプログラムであって、前記プログラムは、前記コンピュータに、請求項１〜９のいずれか１項に記載の方法を実行させる、プログラム。
【国際調査報告】
2019506015.tif 000007
2019506015.tif 000008