JP2018525693A - ヘッドマウントディスプレイの電子ディスプレイ安定化 - Google Patents

ヘッドマウントディスプレイの電子ディスプレイ安定化 Download PDF

Info

Publication number
JP2018525693A
JP2018525693A JP2017550907A JP2017550907A JP2018525693A JP 2018525693 A JP2018525693 A JP 2018525693A JP 2017550907 A JP2017550907 A JP 2017550907A JP 2017550907 A JP2017550907 A JP 2017550907A JP 2018525693 A JP2018525693 A JP 2018525693A
Authority
JP
Japan
Prior art keywords
rotation
texture
compositor
display
slice
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017550907A
Other languages
English (en)
Other versions
JP2018525693A5 (ja
JP6866297B2 (ja
Inventor
パーカー,エバン・ハーデスティ
リー,ジョニー・チャン
ウォン,エイドリアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2018525693A publication Critical patent/JP2018525693A/ja
Publication of JP2018525693A5 publication Critical patent/JP2018525693A5/ja
Application granted granted Critical
Publication of JP6866297B2 publication Critical patent/JP6866297B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Computing Systems (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

方法は、第1の時点で、第1の慣性センサのサンプルストリームを用いてヘッドマウントディスプレイ(HMD)(102)の第1の頭部回転の表現を求めるステップと、アプリケーションプロセッサ(204)において、第1の頭部回転に基づいてテクスチャ(132)をレンダリングするステップとを含む。この方法はさらに、第1の時点の後の第2の時点で、第1の慣性センサのサンプルストリームよりも高いサンプリングレートを有する第2の慣性センサのサンプルストリームを用いてHMDの第2の頭部回転の表現を求めるステップと、コンポジタ(224)において、第1の頭部回転と第2の頭部回転との差に基づいて、テクスチャ(134)の回転された表現を生成するステップとを含む。

Description

本開示の分野
本開示は、概してヘッドマウントディスプレイシステムに関し、より具体的にはヘッドマウントディスプレイシステムにおけるレイテンシ低減動き補償および安定化に関する。
背景
仮想現実(virtual reality)(VR)システムが再現する環境は、物理的存在を、現実世界または想像上の世界の場所において、すべてコンピュータで生成された、この世界の中の「シーン」の3次元(3D)イメージを用いてシミュレートしている。同様に、拡張現実(augmented reality)(AR)システムは、物理的存在を、現実世界において、コンピュータで生成した3Dイメージを、同時に取得した現実世界のイメージに重畳することにより、「拡張する」。このように、VRシステムおよびARシステムはいずれも、現実世界、拡張された世界、または想像上の世界における「存在」の正確な知覚を提供しようとしている。一般的に、この存在の知覚は、左目用ディスプレイと右目用ディスプレイが分離されているヘッドマウントディスプレイ(head mounted display)(HMD)を用いることで、容易になる。これらのディスプレイを組合わせることにより、描かれたた世界においてシーンの立体または3D表現を提示する。このシーンは、現在のユーザの姿勢(すなわち描かれたシーンの基準座標フレームに対するユーザの頭部の相対的な位置および向き)に基づいてこのシーンがユーザから相対的にどのように見えるかを反映する。
HMDに基づくVRおよびARシステムは、3Dイメージを一連のディスプレイフレームとして表示する。各ディスプレイフレームは、対応する検出された頭部姿勢に基づいてレンダリングされ、特定期間持続する。しかしながら、一般的にHMDの場合ユーザは自由に移動できるので、ユーザの頭部は、フレームのレンダリングの開始の時点から、レンダリングされたフレームの表示の時点までに、相当回転している場合がある。このため、特定の時点でHMDに表示されたイメージは、ユーザの頭部の移動から遅れている場合がある。このように、あるシーンの中でユーザが知覚する向きと、HMDにおいて見えている提示されたシーンの向きとが一致しない場合、ユーザが方向感覚を失う可能性がある。これはすなわち、「仮想現実酔い」としばしば呼ばれているものである。したがって、ユーザの方向感覚喪失を軽減または解消し、そうすることにより改善された存在を提供するために、HMDに基づくVRおよびARシステムは、動きから表示までのレイテンシ(motion-to-photon latency)を最小にすることを意図する、すなわち、ユーザの頭部/目が動いた時点と、シーンを表わす光子が新たな姿勢のユーザの目に入る時点との間のレイテンシを最小にすることを意図する。
添付の図面を参照することにより、当業者は本開示をより深く理解しその数多くの特徴および利点を認識するであろう。異なる図面において使用されている同一の参照符号は、同様または同一のアイテムを示す。
本開示の少なくとも1つの実施形態に従う、電子ディスプレイ安定化(EDS)を実現するヘッドマウントディスプレイ(HMD)システムを示す図である。 本開示の少なくとも1つの実施形態に従う、図1のHMDシステムのハードウェア構成を示すブロック図である。 本開示の少なくとも1つの実施形態に従う、図2のHMDシステムのコンポジタをより詳細に示すブロック図である。 本開示の少なくとも1つの実施形態に従う、EDSプロセスの一例を示すフロー図である。 本開示の少なくとも1つの実施形態に従う、EDSプロセスの別の例を示すフロー図である。
詳細な説明
以下の説明は、HMDに基づくARおよびVRディスプレイシステムに関連する多数の具体的な実施形態および詳細を提供することにより、本開示の十分な理解を得ることを意図している。しかしながら、本開示は例示にすぎないこれらの具体的な実施形態および詳細に限定される訳ではなく、したがって本開示の範囲は以下の請求項およびその均等物によってのみ限定されることを意図している点が、理解される。さらに、当業者は周知のシステムおよび方法に照らして本開示がその意図する目的と利点のために特定の設計およびその他の必要に応じて代替の多数の実施形態で使用されることを認識するであろうことが、理解される。
図1は、本開示の少なくとも1つの実施形態に従う、現実世界または想像上の世界においてVRまたはAR存在を提供するためのHMDに基づくディスプレイシステム100を示す。ディスプレイシステム100は、ユーザの頭部104の動きに結合されるHMD102を含む。一般的には、「ヘッドマウントディスプレイ」の「マウント(mounted:装着される)」という用語が示唆するように、HMD102は、ユーザの頭部104にストラップで取付けられるかまたはユーザの頭部104に装着される装置を含み、それにより、HMD102は、ユーザの顔の近傍に固定的に配置されるので、ユーザの動きに伴って動く。しかしながら、状況によっては、ユーザが、タブレットコンピュータまたはその他のハンドヘルド装置を自身の顔の近くで保持し、ユーザの頭部に対するハンドヘルド装置の向きがユーザの頭部104が動いても相対的に固定されるようにハンドヘルド装置の動きを制限してもよい。このような場合、このやり方で操作されるハンドヘルド装置は、ユーザの頭部104に物理的な装着具で「装着されて」いる訳ではないが、HMD102の実装例とみなすことができる。
HMD102は、表面108およびその反対側のもう1つの表面110を有する筐体106と、フェースガスケット109と、一組のストラップまたはハーネス(明確にするために図1には示されていない)とを備える。一組のストラップまたはハーネスは、ユーザの顔が筐体106の表面108に面するように筐体106をユーザの頭部104に装着するためのものである。示されている実施形態において、HMD102は、両眼HMDであり、したがって表面108に配置された左目用ディスプレイ112と右目用ディスプレイ114とを有する。ディスプレイ112、114は、別々のディスプレイ装置(別々のディスプレイドライバハードウエア要素によって駆動される独立したディスプレイアレイ)であってもよく、または、ディスプレイ112、114は、1つのディスプレイ装置を論理的に分離して得られた領域として実現されてもよい(たとえば左目用「半分」と右目用「半分」に論理的に分割された単体のディスプレイアレイ)。筐体106はさらに、左目用ディスプレイ112と位置合わせされた接眼レンズ116と、右目用ディスプレイ114と位置合わせされた接眼レンズ118とを含む。いくつかの実施形態では、その代わりに、HMD102が単眼HMDとして実現されてもよい。すなわち、1つの画像が、左および右の接眼レンズ116、118を通して、またはレンズを介さずに直接、ユーザの両目に対して提示されてもよい。
以下でより詳細に説明するように、ディスプレイシステム100はさらに、HMD102で表示するためのイメージを生成するイメージレンダリングシステムを含む。いくつかの実施形態において、イメージレンダリングシステムの構成要素は主としてHMD102自身の内部で実装される。たとえば、HMD102は、VR/ARアプリケーションを実行し得られたイメージをレンダリングするコンピューティングシステムを含み得る。HMD102は、無線または有線接続によりローカルまたはリモートコンピューティングデバイスに接続されてもよい。このコンピューティングデバイスは、VR/ARアプリケーションに関連するさまざまなデータを提供する。このようなデータは、シーンにおいてレンダリングすべきオブジェクト、同じ世界空間で動作しているその他のユーザのパラメータ(たとえば位置)等を記述したデータである。その他の実施形態において、画像レンダリングシステムの構成要素の一部またはすべては、HMD102の外部において実装され、表示用のイメージを表わすデータは有線または無線接続を介してHMD102に提供されてもよい。
動作時に、ディスプレイシステム100はVRまたはARアプリケーションを実行し、これは、基準座標フレームに対するHMD102(およびユーザの頭部104)の現在の姿勢(すなわち位置と回転の向き)を求め、次に、この姿勢に対応する視点から見たシーンのイメージを生成する。表示されたイメージは、完全にコンピュータによって生成されたものであってもよく(すなわちVRイメージ)、または、ローカル環境の取得イメージ(たとえばHMD102に搭載された1つ以上の画像センサを介して取得したイメージ)と、現在のユーザの姿勢を反映するようにレンダリングされたARオーバレイとの組合わせであってもよい。図1に示されるように、左側ディスプレイと右側ディスプレイ双方を備えた実装例において、左目固有のイメージのレンダリングおよび左目用ディスプレイ112における表示と、右目固有のイメージのレンダリングおよび右目用ディスプレイ114における表示とを、同時に行なうことにより、表示されたイメージが表わすシーンの立体3D表示を可能にしてもよい。
HMD102は、ユーザの頭部104に装着されるか、そうでなければユーザの頭部と連携して動くように制限されているので、動作中、1つ以上の軸(たとえば図示されているx、yおよびz軸)を中心とする相当な回転の影響を受ける。先に述べたように、この回転が、ディスプレイシステム100のレンダリングおよび表示レイテンシと組合わさると、緩和されない限り事実上ユーザの方向感覚喪失が生じる可能性がある。このため、ディスプレイシステム100は、電子ディスプレイ安定化(electronic display stabilization)(EDS)プロセスを利用して、画像を表示前にワープさせる(warp)ことにより、画像が最初にレンダリングされてから発生したユーザの頭部回転を補償し、そうすることで、HMD102のレンズを通して見られるときの画像を安定化させる。少なくとも1つの実施形態において、EDSプロセスは、元のテクスチャのレンダリングに使用されるアプリケーションプロセッサおよびその他のハードウェア(本明細書では「アプリケーションハードウェア122」と呼ぶ)と、このテクスチャをワープさせそうして得られたワープされたディスプレイフレームを表示するのに使用されるハードウェア(本明細書では「EDSディスプレイハードウェア124」と呼ぶ)とを分離することに基づく。加えて、この分離はさらに、アプリケーションハードウェア122が使用するジャイロスコープまたはその他の慣性センサとは別のジャイロスコープまたはその他の慣性センサをEDSディスプレイハードウェア124が使用することによって、または、EDSディスプレイハードウェア124およびアプリケーションハードウェア122各々に対して同じジャイロスコープを異なるレートでサンプリングすることによって、実現されてもよい。
図1におけるダイヤグラム130は、少なくとも1つの実施形態に従い、EDSディスプレイハードウェア124が使用するEDSプロセスを要約している。ブロック131によって示されるように、アプリケーションハードウェア122は、その慣性センサをサンプリングすることにより初期頭部姿勢および初期頭部回転を求めるとともに、ディスプレイ112、114ごとにそれぞれのテクスチャ132(一般的には「フレーム」または「画像」とも呼ばれる)を、求めた初期頭部姿勢および回転に基づいてレンダリングする。そうすることによって得た一対のテクスチャ132が組合されて、対応する時点における3Dシーンの眺めを表わす。アプリケーションハードウェア122は、EDSディスプレイハードウェア124に、レンダリングした一対のテクスチャ132、求めた初期頭部回転を表わしたもの、および頭部回転を求めた時点を表わすタイムスタンプを(たとえば初期頭部回転を求めるために使用した最後のセンササンプルを受けたときに)提供する。このレンダリングプロセスは、本明細書において「レンダリングレートX」と呼ばれるテクスチャレンダリングレートで実行される。
独立して、EDSディスプレイハードウェア124は、対応するレンダリングされたテクスチャ132に基づき、本明細書において「ディスプレイフレームレートY」と呼ばれるディスプレイレートで、ディスプレイ112、114各々における表示のために1つ以上のディスプレイフレームを生成しスキャンアウトするように動作する。しかしながら、テクスチャ132のレンダリングにおけるレイテンシおよびテクスチャ132を表示のために準備する際のテクスチャ132のその他の処理におけるレイテンシが原因で、ユーザの頭部104は、アプリケーションハードウェア122がテクスチャ132をレンダリングするために使用した姿勢から、知覚できる程度回転していることが多い。すなわち、テクスチャ132は、レンダリングされて使用可能な状態になる前に、テクスチャが表わす頭部の向きが最早ユーザの頭部104の現在の向きではないという意味において、「新鮮ではない」可能性がある。よって、ブロック133が示すように、次のディスプレイフレームのスキャンアウトの準備(たとえばvsync信号のアサート)において、EDSディスプレイハードウェア124は、EDS慣性センサにアクセスすることにより、最新の頭部回転を表わす更新された頭部回転を求め、この更新された頭部回転から暫定頭部位置を求める。すなわち、アプリケーションハードウェア122によるテクスチャ132のレンダリング開始以降に生じた頭部回転を求める。EDSディスプレイハードウェア124は次に、この暫定頭部回転に基づいて各テクスチャ132をワープさせることにより、暫定回転補償ワープテクスチャ134を生成する。このテクスチャを、表示画像またはフレームとして、対応するディスプレイ112、114にスキャンアウトすることができる。
少なくとも1つの実施形態において、EDSディスプレイハードウェア124が用いるワーププロセスは、暫定頭部回転に基づいて、アプリケーションハードウェア122が求めた元の頭部回転とEDSディスプレイハードウェア124が求めた更新後の頭部回転からホモグラフィ回転を求め、このホモグラフィ回転(線形変換の形態)をテクスチャ132に適用することにより、ワープされたまたは修正されたテクスチャ134を得ることを含む。さらに、接眼レンズ116、118は、接眼レンズを通して屈折するときに分かれる光の波長が異なることを原因とする、光学的歪みだけでなく色収差または色分解をもたらす場合がある。よって、EDSディスプレイハードウェア124が用いるワーププロセスは、光学的歪み、色収差、レンズのエッジの方向に向かって暗くなること、その他のソースからの複合テクスチャ等のうちの、1つ以上を補償し得る。以下でより詳細に説明するように、ホモグラフィ回転によって与えられる暫定ワープは次のようにして実現してもよい。すなわち、ホモグラフィ回転を、歪み/色収差補正プロセスが用いるルックアップテーブル(LUT)値に適用することによって補償歪み(または「予歪み」)を導入し、次に、得られた修正後のLUT値をテクスチャ132に適用することにより、ホモグラフィ回転とその他の補正/補償プロセスとを同時に実現する。
別々のジャイロスコープまたはその他の慣性センサをアプリケーションハードウェア122およびEDSディスプレイハードウェア124が用いることにより、または、アプリケーションハードウェア122およびEDSディスプレイハードウェア124に対して同じ慣性センサの異なるサンプリングレートを用いることにより、アプリケーションハードウェア122およびEDSディスプレイハードウェア124は、実質的に独立して動作することができ、その一方で、実質的な頭部回転に鑑みて動きから表示までのレイテンシを低減することができる。この独立性により、アプリケーションハードウェア122は、テクスチャ132を、EDSディスプレイハードウェア124のディスプレイフレームレートYよりも低いレートX(すなわちX<Y)でレンダリングすることができる。このため、アプリケーションハードウェア122は、より低い性能状態で動作する可能性があり、ディスプレイシステム100による消費電力および熱の発生を減じることができる。または、EDSディスプレイハードウェア124は、アプリケーションハードウェア122がテクスチャをレンダリングできるレートよりも高いレートでフレームを表示できる。説明のために、アプリケーションハードウェア122がある性能状態で動作することによりテクスチャが60フレーム/秒(または60ヘルツ)でレンダリングされる(すなわちレンダリングレートX=60Hz)と仮定する。このとき、テクスチャは、16.67ミリ秒(ms)ごとにレンダリングされる。しかしながら、頭部回転レートがたとえば100度/秒の場合、ユーザの頭部は16msの間に1.6度回転している可能性あり、したがって、レンダリングされたテクスチャが表わすシーンにおける腕の長さの場所にあるオブジェクトは、約2.8センチメートルまたはおよそ親指の幅だけ、目に見えて「オフセット」しているかもしれず、ユーザはこれをユーザの現在の頭部姿勢に基づいていると知覚したかもしれない。しかしながら、EDSディスプレイシステム124がフレームを120フレーム/秒で表示するよう動作している(すなわちディスプレイフレームレートY=120Hz)と仮定すると、同じテクスチャから2つのディスプレイフレームが生成されるかもしれず、そのうち一方のディスプレイフレームは、テクスチャがレンダリングされた時点から8msの時点で検出された暫定頭部回転に基づいてワープされており、他方のディスプレイフレームは、その後8msの時点で検出された次の暫定頭部回転に基づいている。再び頭部回転レートが100度/秒であると仮定すると、「補償されていない」頭部回転は、最大でわずか0.8度であり、したがって、表示されたフレームにおいて表わされた腕の長さの場所にあるオブジェクトの位置と、ユーザの頭部104の現在の姿勢に基づいてユーザが知覚するであろう位置との間の、潜在的なオフセットは、最大でわずか1.4cmにすぎない。
アプリケーションハードウェア122とEDSディスプレイハードウェア124とが異なるレートで動作できるようにすることに加えて、アプリケーションハードウェアとEDSディスプレイハードウェアとを分離することによっても、ディスプレイシステム100は、アプリケーションハードウェア122によるフレームのドロップからより簡単に回復することができる。なぜなら、EDSディスプレイハードウェア124は、ドロップされたテクスチャ132を、EDS慣性センサから求めた頭部回転更新に基づいて新たなディスプレイフレーム用に前のテクスチャ132を引続きワープさせることによって、補償できるからである。
数多くの実装例において、ディスプレイ112、114は、ラスタースキャンに基づいて動作するディスプレイ装置を含む。すなわち、画素データのラインが、スキャンインされ、一般的に「ラスタースキャン順序」と呼ばれている順序で表示される。ほとんどのラスタースキャンディスプレイにおいて、スキャンアウトは一般的に画素の最上行から始まり下方に向かい画素の最下行で終わる。テクスチャのレンダリングおよびその後の表示のためのテクスチャの処理と同様、このラスタースキャンプロセスは、動きから表示までのレイテンシに悪影響を与えるレイテンシをもたらす。説明のために、たとえば60Hzのディスプレイレートの場合、最悪のケースのシナリオでは、ディスプレイシステムはディスプレイフレームのスキャンアウトを終えるのに16msを要する場合があり、最後の行は最上行から約16ms後にスキャンアウトされることになる。よって、このスキャンアウトレイテンシによって、特にフレームの最下部に向かう行において表わされているオブジェクトの位置の不一致が、ユーザに生じる。この効果が特に顕著であるのは、HMD102に組込まれ通常は縦長の向きで動作する装置の向きを横長の向きに変えてHMD102に組込む場合である(たとえばGoogle(登録商標) Cardboard VRヘッドセットで見られるようにコンピュータによって実現される携帯電話の向きを横向きにして別の目的のために使用する場合)。このような場合、ラスタースキャンの順序は水平方向になり、水平方向は、ほとんどの頭部回転が生じやすい方向なので、動きから表示までのレイテンシ効果が悪化することになる。
このように、ラスタースキャンディスプレイを用いるHMD102の実装例におけるスキャンアウト遅延を補償するために、少なくともいくつかの実施形態では、上記EDSプロセスを、スライスごとに実行してもよい。この場合、各スライスは、ディスプレイフレームの走査線のうちの1つ以上からなるサブセットを表わす。すなわち、各スライスが表示のために順番に処理されるときに、EDSディスプレイハードウェア124は、このスライスに関して更新された頭部回転を求め、このスライスについて更新後の頭部回転に基づいて新たなホモグラフィ回転を求め、この新たなホモグラフィ回転をスライスに適用することにより、このスライスによって表わされるディスプレイフレームの部分をワープさせる。このようにして、頭部の回転を原因とする影響およびラスタースキャンラインの順序の変更を原因とする遅延を、スライスがユーザに対して表示される実際の時点とより整合した暫定頭部回転によって各スライスをワープさせることによって緩和し得る。
EDSディスプレイハードウェア124が更新された頭部回転を求める頻度の方が、アプリケーションハードウェア122が頭部回転を求める頻度よりも高いので、少なくとも1つの実施形態において、EDSディスプレイハードウェア124は、アプリケーションハードウェア122が使用するジャイロスコープ(またはその他の慣性センサ)のサンプリング周波数(たとえば100〜400Hz)よりも大幅に高いサンプリング周波数(たとえば1kHz以上)を有するジャイロスコープ(またはその他の慣性センサ)を実装する。そうすることで、表示のためにレンダリングされたテクスチャを回転ワープさせるように動作するときにHMD102の最新頭部回転をより精度高く求めるのに必要な改善された回転分解能を、EDSディスプレイハードウェア124に与える。これに代えて、単一のジャイロスコープを実装することにより、このジャイロスコープのセンサ状態をレートXでサンプリングしてアプリケーションハードウェア122の第1のサンプルストリームを生成し、さらにレートY(Y>X)でサンプリングしてEDSディスプレイハードウェア124用の第2のサンプルストリームを生成してもよい。このように、2つの別々のジャイロスコープまたはその他の慣性センサを参照することは、異なるサンプルレートを有するが同一であるジャイロスコープまたはその他の慣性センサを参照することであってもよい。
図2は、本開示の少なくとも1つの実施形態に従う、図1のディスプレイシステム100の画像レンダリングおよびディスプレイシステムの、一例としてのハードウェア構成200を示す。先に述べたように、ハードウェア構成200はアプリケーションハードウェア122を含み、アプリケーションハードウェア122は、VRまたはARアプリケーション(本明細書において「VR/ARアプリケーション202」と呼ばれる)を実行することにより、ユーザの頭部104またはHMD102の現在の姿勢からのシーンを表わすVRまたはARコンテンツをレンダリングすることに向けられる。VRまたはARコンテンツは、片目ごとに一連のテクスチャを含む。ハードウェア構成200はさらにEDSディスプレイハードウェア124を含み、EDSディスプレイハードウェア124は、上記一連のテクスチャによって表わされるVRまたはARコンテンツを表示することに向けられ、EDSディスプレイハードウェア124は、EDSプロセスを実現することにより、レンダリングされたテクスチャ間の暫定頭部回転を補償する。
示されている例において、ハードウェア構成200は、アプリケーションプロセッサ204と、システムメモリ206と、センサハブ208と、内部管理部(internal management unit)210とを含む。いくつかの実施形態において、HMD102は、視覚的位置推定もしくは視覚的遠隔測定を目的とするまたはAR機能をサポートするローカル環境の取得されたイメージをリアルタイムで表示するために、画像キャプチャを組込んでいてもよい。このような実施形態において、ハードウェア構成200はさらに、たとえば、1つ以上の画像センサ212、214と、構造化された光(structured-light)または飛行時間(time-of-flight)(ToF)型深度センサ216とを含んでいてもよい。
アプリケーションIMU210は、たとえば、ジャイロスコープ218と磁力計220と加速度計222とを含む、HMD102の姿勢の追跡を容易にするための1つ以上の慣性センサを含む。Bosch GmBhのSensortec(商標) BMI160は、市場で入手できるIMU210の実装例である。センサハブ208は、IMU210と、画像センサ212、214と、深度センサ216とに結合され、アプリケーションプロセッサ204と、IMU210、画像センサ212、214、深度センサ216、およびディスプレイシステム100のその他のセンサとの間における制御信号およびデータの転送を管理するように動作する。Movidius Ltd.のMyriad(商標)2ビジョン処理ユニット(VPU)は、市場で入手できるセンサハブ208の実装例である。アプリケーションプロセッサ204は、1つ以上の中央処理装置(CPU)、グラフィック処理装置(GPU)、または1つ以上のCPUと1つ以上のGPUとを組合わせたものを含む。Qualcomm IncorporatedのSnapdragon(商標)810MSM8994システムオンチップ(SoC)は、市場で入手できるアプリケーションプロセッサ204の実装例である。
示されている例において、EDSディスプレイハードウェア124は、コンポジタ224と、左目用ディスプレイ112と、右目用ディスプレイ114と、EDS IMU226とを含む。コンポジタ224は、たとえばASIC、プログラマブルロジック、またはこれらを組合わせたものとして実装し得るハードウェア装置であり、左目用ディスプレイ112を駆動するための左ディスプレイコントローラ228と、右目用ディスプレイ114を駆動するための右ディスプレイコントローラ230とを含む。EDS IMU 226は、ジャイロスコープ232等の、EDSディスプレイハードウェア124のためにHMD102の頭部回転を追跡するための1つ以上の慣性センサを含む。先に述べたように、2つの別々のジャイロスコープ218、232を実装するのではなく1つのジャイロスコープを異なるサンプリングレートでサンプリングすることにより2つの異なるサンプルストリームを生成してもよい。これらのサンプルストリームのうちの一方はジャイロスコープ218として機能し他方はジャイロスコープ232として機能する。この場合、ジャイロスコープ218を参照することは、この1つのジャイロスコープから生成された第1のサンプルストリームを参照することであり、ジャイロスコープ232を参照することは、同じくこの1つのジャイロスコープから生成されたがサンプルレートがより高い第2のサンプルストリームを参照することである。
動作時において、アプリケーションプロセッサ204は、(たとえばシステムメモリ206に格納されている)VR/ARアプリケーション202を実行することにより、ユーザに対してVR/AR機能を提供する。このプロセスの一部として、VR/ARアプリケーション202は、アプリケーションプロセッサ204を操作することにより、各目の一連のテクスチャ(たとえば図1のテクスチャ132)をレンダリングレートXでレンダリングする。各テクスチャは、完全にコンピュータで生成された視覚コンテンツ、または、(画像センサ212、214を介して)取得したイメージとコンピュータによって生成されたオーバレイとの組合わせである視覚コンテンツを含む。各テクスチャの視覚コンテンツは、テクスチャが決定された時点における、対応するユーザの頭部の姿勢(またはHMD102の姿勢)からのシーンを表わす。したがって、各テクスチャのレンダリングに備えて、アプリケーションプロセッサ204は、IMU210のジャイロスコープ218、磁力計220、および加速度計222から現在のサンプルを取得し、これらの慣性センサの測定値からユーザの頭部の現在の姿勢と回転を求める。現在の姿勢と回転を求めるためにIMU210を用いる代わりにまたはそれに加えて、アプリケーションプロセッサ204は、1つ以上の画像センサまたは深度センサからの情報を用い、1つ以上の視覚遠隔測定または同時位置推定およびマッピング(simultaneous localization and mapping)(SLAM)技術を利用して、現在の姿勢と回転を決定、検証、または修正してもよい。求めた頭部姿勢から、アプリケーションプロセッサ204は、求めた頭部の向きおよび回転からのシーンの立体的な眺めを協働して表わす一対のテクスチャをレンダリングする。その後、レンダリングされた一対のテクスチャは、ディスプレイメモリ234に実装されているフレームバッファに格納される。ディスプレイメモリ234は、システムメモリ206の一部であってもよく、別のグラフィックメモリであってもよい。
並行して、コンポジタ224は、レンダリングされたテクスチャに基づいてディスプレイフレームを生成し、生成したディスプレイフレームに基づいてディスプレイ112、114を駆動するように、動作する。このプロセスの一部として、コンポジタ224は、EDSプロセスを実現することにより、暫定頭部回転を求め、この暫定頭部回転に基づいて上記一対のテクスチャをワープさせることにより、ディスプレイ112、114にディスプレイフレームが表示される時点において実際の頭部の姿勢により整合している一対のディスプレイフレームを生成する。
以下で図3〜図5を参照しながらより詳細に説明するように、いくつかの実施形態において、コンポジタ224は、ジャイロスコープ218からのサンプルからアプリケーションプロセッサ204が求めた初期頭部回転と、ジャイロスコープ232からのサンプルからコンポジタ224が求めた更新された頭部回転との差に基づいて、暫定頭部回転を求める。よって、いくつかの実施形態において、ジャイロスコープ218およびジャイロスコープ232は、HMD102の所与の回転運動に対して同様の回転を登録するように、精密に較正される。加えて、確実にジャイロスコープ218、232を正確に同期させることでそれぞれのセンササンプルを時間的に相関させることができるよう、少なくとも1つの実施形態において、ハードウェア構成200は、共通クロック信号(「CLK」として示される)をアプリケーションハードウェア122およびEDSディスプレイハードウェア124の構成要素間で送る、たとえばクロック基準236の形態の同期機構を含む。
図3は、本開示の少なくとも1つの実施形態に従う、EDSディスプレイハードウェア124の実装例を示す。示されている例において、EDSディスプレイハードウェア124のコンポジタ224は、構成ストア302と、積分器(integrator)要素304と、(図2のディスプレイコントローラ228、230のうちのいずれかを表わす)ディスプレイコントローラ306とを含む。ディスプレイコントローラ306は、暫定回転変換要素308と、テクスチャワープ要素310とを含む。暫定回転変換要素308は、暫定回転計算要素312と、ホモグラフィ回転要素314とを含み得る。これらの構成要素の動作について以下でより詳細に説明する。
図4および図5は、図2および図3のハードウェア構成200の場合のEDSプロセスの実装例を示す。具体的には、図4のEDSプロセス400は、求めた暫定頭部回転に基づいてテクスチャを回転させた後に光学的歪みおよび色収差を回転させたテクスチャに適用するEDSプロセスの一例を示すのに対し、図5のEDSプロセス500では、テクスチャをレンダリングプロセス中に光学的に歪ませ、歪ませたテクスチャの「歪みを取除き」、回転変換し、その後「再び歪ませる」。以下でさらに説明するように、EDSプロセス500は、EDSプロセス400と比較すると、アプリケーションプロセッサ204とコンポジタ224との間の帯域幅要求を減じる。EDSプロセス500の場合、アプリケーションプロセッサ204がテクスチャを予め歪ませるのでテクスチャの表示解像度を上回るマージンが不要であるからであるが、その代わりに追加の計算、より多くのメモリアクセスが必要であり、追加のサンプリングステップが原因で品質の損失が生じる。
次に図4を参照して、EDSプロセス400は、ARまたはVRコンテンツのレンダリングおよび表示に備えてディスプレイシステム100を起動することから始まる。先に述べたように、アプリケーションハードウェア122およびEDSディスプレイハードウェア124は別々のジャイロスコープを用い得るので、初期化プロセスは、ブロック402で、センサハブ208またはディスプレイシステムのその他の構成要素が、ジャイロスコープ218、232を個別にかつ互いに関して較正することを含み得る。ジャイロスコープ218、232として実装する代わりに同一のジャイロスコープを用いて異なるサンプルレートの2つの異なるサンプルストリームを生成する場合、初期化プロセスは、たとえば、これらのサンプルストリーム各々についてサンプリングレートを設定することを含み得る。さらに、ブロック404で、ディスプレイシステム100は、ディスプレイフレーム生成中にコンポジタ224が使用するさまざまなパラメータを初期化し、これらのパラメータをコンポジタ224の構成ストア302に格納する。
説明のために、上記のように、HMD102の接眼レンズ116、118は、光学歪みおよび色収差を表示された画像に導入する。これは、画像が表示される前に補正歪みによって打消すことができる。一般的に、これらの補正プロセスは、非線形歪みプロセスであり、したがって、変換行列を適用して簡単に実現することはできない。代わりに、テクスチャ空間から歪みスクリーン空間への変換を、たとえば歪み変換の離散化を表わす2Dルックアップテーブル(LUT)を用いて実現することができる。この場合、各目には、それぞれ左目用および右目用の2D LUT316、318(図3)等の別々の2D LUTが割当てられる。各LUTエントリは3対のテクスチャ座標(色収差補正ができるよう各色ごと)を含む。必要メモリを減じるため、各2D LUTは、表示解像度と比較して低い解像度で実現されてもよい。たとえば、各2D LUTは、ディスプレイ112、114の解像度の10分の1の解像度であってもよい。したがって、ディスプレイの解像度が1440×1440である場合、2D LUT316、318各々は、144×144のLUTエントリを有し得る。このような場合、所与の画素位置の周辺におけるLUTエントリ間の線形補間を歪み変換に使用してもよい。
ブロック404で初期化され構成ストア302に格納されるパラメータはまた、一対の射影行列320、322(図3)を含む。これらは、一方が左目用で他方が右目用であり、対応する目に関する、目からのテクスチャ変換(texture-from-eye transform)を表わす。本明細書で説明する例において、射影行列320、322は各々、対応する4×4の行列として実現される。初期化され構成ストア302に格納されるパラメータはまた、ジオプター設定または瞳孔間距離(IPD)設定等のその他の構成設定323を含み得る。少なくとも1つの実施形態において、ブロック404の初期化プロセスは、2D LUT316、318または射影パラメータ行列320、322の構成に全体として影響し得るHMD102またはディスプレイシステム100の光学パラメータの変更に応じて繰返されてもよい。
初期化が完了すると、EDSプロセス400は、並行して実行される2つのサブプロセスに分かれる。これらのサブプロセスは、アプリケーションハードウェア122によって実行されるサブプロセス406と、EDSディスプレイハードウェア124によって実行されるサブプロセス408とである。サブプロセス406は、ユーザの頭部104/HMD102の現在の姿勢から見た3Dシーンを表わす一対のテクスチャをレンダリングするプロセスを表わす。したがって、ブロック410で開始されるサブプロセス406が繰返され、ブロック410では、アプリケーションプロセッサ204がアプリケーションIMU210の慣性センサにアクセスして現在の頭部の姿勢と回転を求める。これは一般的に、ジャイロスコープ218から1つ以上のセンササンプルを取得して現在の頭部回転を求めることを含む。ブロック412で、アプリケーションプロセッサ204は、(VR/ARアプリケーション202によって指定される)3Dシーンを、ブロック410で求めた頭部の姿勢と回転に基づいて、それぞれの目に対応する一対のテクスチャ324、325(図3)にレンダリングする。少なくとも1つの実施形態において、アプリケーションプロセッサ204は、410で求めた頭部回転を用い、この頭部回転に対応する時点から未来の特定の時点までにおける頭部回転の変化を予測する。先に述べたように、アプリケーションプロセッサ204は、ディスプレイメモリ234に格納するためにテクスチャをレンダリングする。EDSプロセス400において、レンダリングされたテクスチャ324、325は歪まされていない(すなわち光学歪み補正および色収差補正のための補正用予歪みはまだ与えられていない)。したがって、レンダリングされたテクスチャ324、325のサイズは、ディスプレイ112、114の解像度およびさまざまな光学パラメータ(ユーザがジオプター調整を実行するまたはIPDを調整するときのように、実行時に異なり得る)の関数であり、ディスプレイ112、114の解像度よりも幾分大きい。説明のために、ディスプレイの解像度が1440×1440画素とすると、各次元においてたとえば540画素のマージンが含まれ、したがって、画素解像度が2000×2000である歪ませていないテクスチャ324、325をレンダリングするのが適切であろう。
ブロック414で、アプリケーションプロセッサ204は、コンポジタ224に、ブロック410で求めた頭部回転の表現と、この頭部回転を求めるのに使用した最後のジャイロスコープセンササンプルに対応付けられたタイムスタンプの表現とを送る。少なくとも1つの実施形態において、この頭部回転の表現は(「q1」で示される)四元数を含む。具体的に、四元数q1は、最後のジャイロスコープセンササンプルから検出した回転から、未来のある時点の予測される頭部回転までの、回転デルタを表わし得る。その他の実施形態において、頭部回転(または予測される回転デルタ)は、たとえば直交行列によって表わされてもよい。四元数q1とタイムスタンプを提供することにより、アプリケーションプロセッサ204が一対のテクスチャ324、325をレンダリングする際に使用する頭部回転と、頭部回転を求めたまたは取得した時点とを、EDSディスプレイハードウェア124に知らせることになる。一対のテクスチャ324、325がレンダリングされタイムスタンプに対応する頭部回転が伝達されると、このフローはブロック410に戻り、サブプロセス406の次の繰返しが実行される。先に述べたように、テクスチャレンダリングプロセスは、毎秒X回のテクスチャレンダリングというレートで実行されるので、サブプロセス406は、毎秒X回の繰返しというレートで実行される。
サブプロセス406のテクスチャレンダリング動作と同時に、EDSディスプレイハードウェア124は、サブプロセス408を繰返すことにより、最新のレンダリングされた一対のテクスチャ324、325から画像フレームを生成して表示する。したがって、サブプロセス406を繰返すことにより新たな一対のテクスチャ324、325をレンダリングすると、それは対応するサブプロセス408の繰返しをトリガすることになる。最初に、ブロック416で、EDSディスプレイハードウェア124は、最新の一対のテクスチャ324、325の生成に注目し、暫定回転計算要素312は対応する頭部回転を表わす四元数q1をアプリケーションプロセッサ204から受ける。
先に述べたように、ディスプレイシステム100は、スライスごとのEDSプロセスを用いてもよい。この場合、各スライスは、ディスプレイフレームの1以上の走査線/画素行を表わす。したがって、1つのスライスは、ディスプレイフレームの走査線のサブセットであってもよく、または、いくつかの例において、ディスプレイフレームを、大きな1つのスライスを構成するものであるとみなしてもよい。よって、以下のプロセスを説明し易くするために、「スライス」という用語は、スライスがこのようにして実現される実装例ではディスプレイフレームの走査線のサブセットを指してもよく、または、「スライス」は、EDSプロセスがフレームごとに実行される実装例ではディスプレイフレー全体を指してもよい。
最新のテクスチャに基づくディスプレイフレームのスライスの表示に備えて、ブロック418で、暫定回転計算モジュール312は、更新された頭部回転(すなわち、ユーザまたはHMD102の頭部回転の現在の測定値)を取得する。少なくとも1つの実施形態において、更新された頭部回転は、EDS IMU226のジャイロスコープ232に結合された積分器要素304によって与えられる。積分器要素304はスライディングウィンドウバッファ328(図3)を含み、このバッファは、ジャイロスコープ232からのkの最新ジャイロスコープセンササンプル328(図3)、および、対応するジャイロスコープサンプル328の受信または生成に対応付けられたタイムスタンプを格納する。このタイムスタンプはクロック基準CLKに同期している。したがって、更新された頭部回転を取得するために、ブロック414で、暫定回転計算要素312は、アプリケーションプロセッサ204から提供された四元数q1に対応付けられたタイムスタンプを積分器要素304に提供し、積分器要素304は、アプリケーションプロセッサ204から提供されたタイムスタンプに等しいまたはその後のタイムスタンプを有すると識別されたスライディングウィンドウバッファ326におけるジャイロスコープサンプル325をフォワード積分することにより、(図3および図4において「q2」で示される)四元数、または、ジャイロスコープ232によって測定された特定の時点からの頭部回転のその他の表現を取得する。積分器要素304から与えられる四元数q2は、このタイムスタンプによって表わされる時点から現時点までの回転デルタの表現を含み得る。このような例において、アプリケーションプロセッサ204から与えられる四元数q1は、時間Aと時間Iとの間で生じる予測される回転の変化を表わし、四元数q2は、時間Aと時間Jとの間で生じる推定または測定された回転の変化を表わすことがわかるであろう。この場合のIとJは異なる時点であり得る。
ブロック420で、ホモグラフィ回転要素314は、アプリケーションプロセッサ204によって求められた初期頭部回転と、ブロック418において求められた更新された頭部回転との間のホモグラフィ回転を求める。すなわち、ホモグラフィ回転要素314は、アプリケーションプロセッサ204が対応するテクスチャのレンダリングに使用した頭部回転と、積分器要素304によって測定された最近の頭部回転との間の暫定頭部回転を表わすホモグラフィ回転変換を求める。より具体的には、先に述べたように、アプリケーションプロセッサ204から提供される四元数q1は、与えられたタイムスタンプによって表わされる時間Aから未来の時間Iまでの回転デルタの予測を含み得るのに対し、積分器要素304から提供される四元数q2は、時間Aから現在の時間Jまでの回転デルタの表現を含み得る。IとJは異なる時点であり得るので、一対のテクスチャ324、325のレンダリングのベースとして用いられる予測される頭部回転は、現時点までに実際に発生した頭部回転と一致していない可能性がある。このため、ホモグラフィ回転要素314が求めたホモグラフィ回転を用いて、この暫定頭部回転(すなわち、テクスチャをレンダリングするのに使用された頭部回転と現時点までに発生した実際の頭部回転との差)を補正するかそうでなければ補償する。
したがって、少なくとも1つの実施形態において、暫定回転計算要素312は、一対のテクスチャのレンダリングがアプリケーションプロセッサ204によって開始された時点以降に発生した頭部回転を表わす四元数(「Δq」で示される)を求める。すなわち、四元数Δqは、四元数q1とq2の差として(Δq=q1−q2)、または、アプリケーションプロセッサ204が求めた回転量とコンポジタ224が求めた回転量の差として、求められる。ホモグラフィ回転要素314は次に、射影パラメータ行列318、320にアクセスし、四元数Δqと対応する目の射影パラメータ行列(たとえば4×4行列318、320に基づく4×4行列)を用いて、右目と左目各々について一対のホモグラフィ回転変換を計算する。説明のために、この計算は以下の疑似コードで表わすことができる。
Figure 2018525693
ブロック422で、コンポジタ224は、ブロック420で求めた一対のホモグラフィ回転変換各々を、対応するテクスチャの選択されたスライスに適用することにより、このスライスを暫定頭部回転に鑑みて回転させる。ブロック424で、コンポジタ224は、光学歪み補正および色収差補正のうちの一方または双方を、回転させたスライスに適用する。ホモグラフィ回転は、線形変換なので、光学/色収差補正プロセスに使用される2D LUTに適用することができ、得られた修正後の2D LUTをその後対応するスライスに適用することができる。すなわち、レンズによって生じた光学歪みおよび色収差そのものを補償するために追加された補償歪みを回転させ、この回転させた補償歪みを次にテクスチャに適用することにより、テクスチャの回転と、適切な補正歪みの適用とを同時に行なってもよい。
このように、図4に示される実施形態において、ブロック422および424のプロセスを、ブロック423においてホモグラフィ回転要素314が実行してもよい。ブロック423において、ホモグラフィ回転要素314は、構成ストア302の2D LUT316、318にアクセスし、左目用のホモグラフィ回転変換を、現在のスライスに対応する2D LUT316の部分に適用することにより、ワープされた2D LUT部分330(図3)を生成し、右目用のホモグラフィ回転変換を、現在のスライスに対応する2D LUT318の部分に適用することにより、ワープされた2D LUT部分332(図3)を生成する。その後、テクスチャワープ要素310は、ブロック425において、ワープされた2D LUT部分330、332を、現在のスライスに対応付けられたテクスチャ324、325の部分にそれぞれ適用することにより、左目用のディスプレイフレームおよび右目用のディスプレイフレーム各々に対して回転ワープされ歪まされたスライスを生成する。先に述べたように、光学/色補正プロセスに使用される2D LUTは、対応するディスプレイフレームよりも解像度が低い場合があるので、テクスチャワープ要素310は、対応するワープされた2D LUTのテクスチャ座標(LUTエントリ)間のバイリニア補間を実行し、対応するテクスチャを、バイリニアフィルタリングで3回(各色1回)サンプリングすることにより、最終画素色を計算し、これは次に、ディスプレイの対応する画素位置を照明するのに使用するために対応するディスプレイにスキャンアウトされる。
先に述べたように、いくつかの実施形態において、コンポジタ224はスライスごとに各テクスチャを処理する。各スライスは、そのスライスに対して更新された頭部回転四元数に基づいて回転ワープされる。しかしながら、いくつかの実装例において、このプロセスは、スライス内にシアリングアーティファクト(shearing artifact)を導入してもよい。したがって、いくつかの実施形態において、コンポジタ224は、シアー補正プロセスを用いてもよい。この場合、コンポジタ224は、スライスの先端(すなわちスライスの最初の線)が表示される時点の頭部回転四元数と、スライスの末端(すなわちスライスの最後の線)が表示される時点の頭部回転四元数とを予測し、スライスの線全体についてこれら2つの予測される回転間の頭部回転を線形補間する。すなわち、連続する各線は回転ワープされ、予想された2つの頭部回転間の線形補間に基づいて前の線の頭部回転は増分調整される。これには、各スライス内で頭部回転ワープを平滑化するという効果がある。テクスチャの各スライスを順次処理することは、連続するスライス間のティアリングアーティファクトを導入する可能性がある。したがって、いくつかの実施形態において、コンポジタ224はまた、ティアー補正プロセスを用いてもよく、この場合、コンポジタ224は、(上記のように)前のスライスの端部エッジについて推定された頭部回転四元数を、次のスライスの先端エッジの頭部回転四元数として用い(一方、引続き、この頭部回転四元数と次のスライスの端部エッジについて推定された頭部回転四元数との間の線形補間を用いる)、そうすることで、スライス間の回転変化をスムーズにする。
その他の実施形態において、ホモグラフィ回転要素314は、一対のホモグラフィ回転変換をテクスチャワープ要素310に提供する。これは先ず、ホモグラフィ回転変換を元のテクスチャに適用することにより、回転ワープされたテクスチャを生成し、次に、別の光学/色補正プロセスを元の2D LUT316、318を用いて実行することにより、左目用ディスプレイフレームおよび右目用ディスプレイフレーム各々の、歪んで回転ワープされた対応するスライスを生成する。いずれの手法でも、ブロック426において、得られた回転ワープされ歪ませたスライス各々が、対応するディスプレイ112、114のうちの一方にスキャンアウトされ、ユーザの対応する目に対して表示される。図4は、ブロック426のスキャンアウトプロセスを、スライスのための回転/歪みプロセスが完了した後に発生するものとして示しているが、いくつかの実装例において、回転ワープおよび歪みプロセスとスライスのスキャンアウトプロセスは同時であってもよい。この手法では、スライスの走査線の回転ワープ/歪み処理が終了してから、走査線を対応するディスプレイにスキャンアウトする一方で、回転ワープ/歪み処理が次の線に対して開始される。
スライスに対する回転ワープおよび光学/色補正プロセスが完了すると、サブプロセス408は、ブロック418に戻り、ディスプレイフレームの次のスライス(または、前のスライスがディスプレイフレームの最後のスライスであった場合は次のディスプレイフレーム)に対してもう一度繰返される。先に述べたように、EDSディスプレイハードウェア124は、フレームレートYでディスプレイフレームをスキャンアウトするように動作し、Yは、アプリケーションハードウェア122のテクスチャレンダリングレートXよりも遥かに高い場合がある。このため、サブプロセス408を繰返すことにより、EDSディスプレイハードウェア124は、アプリケーションハードウェア122によってレンダリングされた各テクスチャ対に対して複数のディスプレイフレームを生成して表示する場合がある。しかしながら、このようにして生成された各ディスプレイフレームは、対応する更新された頭部回転に基づいて、テクスチャ対によって表わされる元の眺めから回転しているので、表示された各フレームは、ユーザが知覚する眺めにより近いシーンの眺めを示し、したがって、ユーザの方向感覚喪失を緩和する役割を果たす。加えて、ディスプレイフレームを生成するプロセスは、テクスチャレンダリングプロセスからある程度分離されているので、ディスプレイシステム100は、アプリケーションハードウェア122によるドロップされたフレームについて回復力が高い。
次に図5のEDSプロセス500を参照すると、このプロセスは、ARまたはVRコンテンツのレンダリングおよび表示に備えてディスプレイシステム100を起動することから始まり、ブロック502で、ジャイロスコープ218、232を較正し同期させることと、ブロック505で、コンポジタ224が使用するパラメータを初期化することとを含み得る。これは、EDSプロセス400のブロック402および404を参照して先に説明したものと同様である。しかしながら、LUT316、318および一対の射影パラメータ行列320、322を初期化することに加え、ブロック502の初期化プロセスはさらに、以下でより詳細に説明するように、歪ませたテクスチャの「歪みを取除く」ために使用される2D LUT(図示せず)の初期化を含み得る。しかしながら、このようにLUTの歪みを取除くことは、光学的に歪ませたテクスチャの歪みを取除くことのみを目的として用いられ、したがって、歪みが取除かれていないLUTの各LUTエントリには、LUT316、318のLUTエントリごとの3つのテクスチャ座標と比較して、たったつのテクスチャ座標しか有しない。
初期化後に、EDSプロセス500は、同時に実行される2つのサブプロセス506、508に分割され、そのうち一方は、アプリケーションハードウェア122が実行するサブプロセス506であり、他方は、EDSディスプレイハードウェア124が実行するサブプロセス508である。サブプロセス506は、EDSプロセス400のサブプロセス406に対応するので、ユーザの頭部104/HMD102の現在の姿勢および回転の視点から見た3Dシーンを表わす一対のテクスチャをレンダリングするプロセスを表わす。したがって、サブプロセス506の繰返しはブロック510から始まり、ブロック510では、アプリケーションプロセッサ204が、現在の頭部の姿勢および回転を求め、ブロック512では、現在の頭部の姿勢および回転に基づき一対のテクスチャをレンダリングする。これは、ブロック410および412に関して先に述べたのと同様である。しかしながら、EDSプロセス500において、サブプロセス506はさらに、ブロック512でレンダリングされたテクスチャの対に対し、光学歪み補正プロセスを適用することにより、一対のテクスチャ324、325を生成することを含む。このように、図5の実施形態では、テクスチャ324、325に予め歪みを与えることにより、接眼レンズ116、118によって後に導入される光学収差を補償する。テクスチャ324、325はアプリケーションプロセッサにより予め歪みが導入されているので、歪んだテクスチャをディスプレイ112、114の解像度でレンダリングすればよく、マージンは不要である。説明のために、上記例で述べたように、ディスプレイの解像度が1440×1440画素とすると、歪みなしでレンダリングされるテクスチャ324、325は、2000×2000すなわち4,000,000画素の画素解像度を要するであろう。しかしながら、テクスチャに予め歪みが導入される場合マージンは不要なので、同じディスプレイ解像度に対し、歪みを伴いレンダリングされるテクスチャ324、325が要する画素解像度は、わずか1440×1440すなわち2,073,600画素にすぎない。このため、ブロック513におけるテクスチャ324、325を予め歪ませるプロセスにより、EDSプロセス400の歪みなしのテクスチャ手法と比較すると、必要な記憶空間は40%以上少なくなる。サブプロセス506はさらに、ブロック514で、頭部回転(または頭部回転デルタ)を表わす四元数q1と、対応するタイムスタンプを、コンポジタ224に送信することを含み、これは、ブロック414を参照して先に述べたのと同様である。次に、サブプロセス506の次の反復が、次の一対のテクスチャに対しテクスチャレンダリングレートXで実行される。
サブプロセス506のテクスチャレンダリング動作と同時に、EDSディスプレイハードウェア124は、サブプロセス508を繰返すことにより、最新のレンダリングされた一対のテクスチャ324、325から画像フレームを生成して表示する。したがって、サブプロセス506を繰返すことにより新たな一対のテクスチャ324、325をレンダリングすると、それは対応するサブプロセス508の繰返しをトリガすることになる。最初に、ブロック516で、EDSディスプレイハードウェア124は、最新の一対のテクスチャ324、325の生成に注目し、暫定回転計算要素312は対応する頭部回転を表わす四元数q1をアプリケーションプロセッサ204から受ける。
テクスチャ324、325はブロック513において予め歪ませているので、テクスチャ324、325は、回転ワープ前に「歪みを取除く」必要がある。したがって、サブプロセス508は、ブロック512で、歪ませたテクスチャ324,325の歪みを取除く追加プロセスを含む。したがって、テクスチャワープ要素310は、ブロック504で初期化された一対の歪んでいないLUTにアクセスし、歪んでいない各LUTを、対応する歪んだテクスチャに適用することによって歪んでいないテクスチャを生成してもよい。よって、アプリケーションプロセッサ204がテクスチャ324、325に歪みを予め与えることで、歪ませたテクスチャを格納するのに使用されるフレームバッファのサイズは、EDSプロセス400の歪んでいないテクスチャ324、325と比較して、低減し得るが、予め歪みを与えておいてからその後その歪みを取除くプロセスは、アプリケーションプロセッサ204およびコンポジタ224双方による追加のメモリアクセスおよび計算を必要とする。
テクスチャ324、325が歪んでいない形態に戻された状態で、EDSプロセス500は、各スライスを回転ワープさせるプロセスから始まり、光学および色収差補正プロセスを実行し、歪んでワープされたスライスをスキャンアウトする。これは、EDSプロセス400のブロック418、420、422、424、および426に関して先に述べたのと同様である。
上述の発明の機能性の大部分および発明の原則の多くは、特定用途向けIC(ASIC)などの集積回路を用いたまたはそれにおける実現例によく適している。当業者は、本明細書中に開示される概念および原則によって導かれると、たとえば、利用可能な時間、現在の技術および経済的考慮によって動機付けられるおそらくはかなりの労力および多数の設計上の選択肢にも係わらず、最小限の実験によってそのようなICを生成することが容易に可能であることが期待される。したがって、簡潔さ、ならびに本開示に従う原則および概念を曖昧にする一切のおそれの最小化のため、そのようなソフトウェアおよびICのそれ以上の検討は、もしあるとしても、好ましい実施形態の範囲内の原則および概念に対する必須部分に限定されるであろう。
この文書では、第1および第2などの関係性を表わす用語は、あるエンティティまたは行為を、別のエンティティまたは行為の間の何らかの実際のそのような関係または順序を必ずしも要件としたり暗示したりすることなく当該エンティティまたは行為から区別するためにのみ用いられ得る。「備える」、「備えている」という用語、またはその何らかの他の変形は、非排他的包含をカバーすることが意図されるため、要素の一覧を備えるプロセス、方法、物品、または機器は、それらの要素のみを含むのではなく、明示的に列挙されないまたはそのようなプロセス、方法、物品、もしくは機器に内在的な他の要素を含むことがある。「備える」に続く要素は、それ以上の制約なく、当該要素を備えるプロセス、方法、物品、または機器中の付加的な同一の要素の存在を排除するものではない。本明細書中で用いるような「別の」という用語は、少なくとも第2以降として規定される。本明細書中で用いられるように「含む」および/または「有する」という用語は、備えるとして規定される。電気光学技術を参照して本明細書中で用いるような「結合される」という用語は、必ずしも直接にではなくまた必ずしも機械的ではないが、接続されると規定される。本明細書中で用いるような「プログラム」という用語は、コンピュータシステム上での実行のために設計された命令のシーケンスとして規定される。「プログラム」または「コンピュータプログラム」は、サブルーチン、機能、手順、オブジェクト方法、オブジェクト実現例、実行可能なアプリケーション、アプレット、サーブレット、ソースコード、オブジェクトコード、共有ライブラリ/動的負荷ライブラリ、および/またはコンピュータシステム上での実行のために設計される命令の他のシーケンスを含むことがある。
明細書および図面は単なる例示と考えられるべきであり、したがって開示の範囲は以下の請求項およびその均等物によってのみ限定されることが意図される。なお、全般的な説明で上述した活動または要素のすべてを要件とするわけではなく、具体的な活動または装置の一部を要件としないことがあり、説明したものに加えて1つ以上のさらなる活動を行なってもよくまたは1つ以上のさらなる要素を含んでもよい。またさらに、活動が列挙される順序は必ずしもそれらが行なわれる順序とは限らない。以上の描かれたフローチャートの工程は、特段の記載がなければ任意の順序であることができ、実現例に依存して工程を排除、繰返し、および/または追加してもよい。また、具体的な実施形態を参照して概念を説明した。しかしながら、当業者は、以下の請求項に述べるような本開示の範囲から逸脱することなく、さまざまな修正および変更をなすことができることを認める。これに応じて、明細書および図は、制限的な意味よりもむしろ例示と見なされるべきであり、すべてのそのような修正は本開示の範囲内に含まれることが意図される。
具体的な実施形態に関して有利、他の利点、および課題に対する解決策を上述した。しかしながら、何らかの有利、利点、または解決策を想到させ得るまたはより顕著にし得る有利、利点、課題に対する解決策、および何らかの特徴を、任意のまたはすべての請求項の決定的な、要件とされる、または必須の特徴として解釈すべきではない。

Claims (20)

  1. ヘッドマウントディスプレイ(HMD)(102)を備えるシステム(100)において、方法は、
    第1の時点で、第1の慣性センサのサンプルストリームを用いて前記HMDの第1の頭部回転の表現を求めるステップと、
    前記システムのアプリケーションプロセッサ(204)において、前記第1の頭部回転に基づいてテクスチャ(132)をレンダリングするステップと、
    前記第1の時点の後の第2の時点で、前記第1の慣性センサのサンプルストリームとは異なる第2の慣性センサのサンプルストリームを用いて前記HMDの第2の頭部回転の表現を求めるステップと、
    前記システムのコンポジタ(224)において、前記第1の頭部回転と前記第2の頭部回転との差に基づいて前記テクスチャの回転された表現(134)を生成するステップとを含む、方法。
  2. 前記第1の頭部回転の表現を求めるステップは、前記第1の慣性センサのサンプルストリームに基づいて前記第1の時点とその後の時点との間における予測される回転の変化を表わす第1の四元数を求めるステップを含み、
    前記第2の頭部回転の表現を求めるステップは、前記第2の慣性センサのサンプルストリームに基づいて前記第1の時点と前記第2の時点との間における測定された回転の変化を表わす第2の四元数を求めるステップを含み、
    前記テクスチャの回転された表現を生成するステップは、前記予測される回転の変化と前記測定された回転の変化との差に基づいて前記回転された表現を生成するステップを含む、請求項1に記載の方法。
  3. 前記テクスチャの回転された表現を生成するステップは、
    前記予測される回転の変化と前記測定された回転の変化との差に基づいてホモグラフィ回転変換(316,318)を求めるステップと、
    前記ホモグラフィ回転変換を前記テクスチャに適用することにより、ワープされたテクスチャ(134)を生成するステップとを含む、請求項2に記載の方法。
  4. 前記テクスチャの回転された表現を生成するステップは、
    前記予測される回転の変化と前記測定された回転の変化との差に基づいてホモグラフィ回転変換(316,318)を求めるステップと、
    前記ホモグラフィ回転変換を非線形歪み変換を表わすルックアップテーブル(LUT)(330,332)に適用することにより、ワープされたLUTを生成するステップと、
    前記ワープされたLUTを前記テクスチャに適用することにより、ワープされたテクスチャを生成するステップとを含む、請求項2に記載の方法。
  5. 前記第2の慣性センサによって測定された前記第1の時点と前記第2の時点との間における測定された回転の変化を表わす第2の四元数を求めるステップは、
    前記コンポジタにおいて、前記第2の慣性センサのサンプルストリームからのセンササンプル(328)をスライディングウィンドウバッファ(326)にバッファするステップを含み、バッファされた各センササンプルは対応するタイムスタンプを有し、
    前記コンポジタにおいて、前記第1の時点に対応するタイムスタンプを受けるステップと、
    前記受けたタイムスタンプに等しいまたは前記受けたタイムスタンプの後のタイムスタンプを有する1つ以上のバッファされたセンササンプルを識別するステップと、
    前記識別された1つ以上のバッファされたセンササンプルをフォワード積分することにより、前記第1の時点と前記第2の時点との間における前記測定された回転の変化を求めるステップとを含む、請求項2に記載の方法。
  6. 前記第1の慣性センサのサンプルストリームは、第1のサンプリング周波数でジャイロスコープ(218)をサンプリングすることにより生成されたサンプルストリームを含み、
    前記第2の慣性センサのサンプルストリームは、前記第1のサンプリング周波数よりも高い第2のサンプリング周波数で前記ジャイロスコープをサンプリングすることにより生成されたサンプルストリームを含む、請求項1に記載の方法。
  7. システムであって、
    ヘッドマウントディスプレイ(HMD)(102)と、
    少なくとも1つの慣性センサ(218,220,222,232)と、
    前記少なくとも1つの慣性センサに結合されたアプリケーションプロセッサ(204)とを備え、前記アプリケーションプロセッサは、テクスチャ(132,324,326)を第1のレートでレンダリングし、テクスチャごとに、前記アプリケーションプロセッサは、前記少なくとも1つの慣性センサからの第1のサンプルストリームから前記HMDの対応する頭部回転を求め、前記対応する頭部回転に基づいて前記テクスチャをサンプリングし、
    前記少なくとも1つの慣性センサおよび前記アプリケーションプロセッサに結合されたコンポジタ(224)を備え、前記コンポジタは、前記第1のレートに少なくとも等しい第2のレートでディスプレイフレーム(134)を生成し、ディスプレイフレームごとに、前記コンポジタは、前記少なくとも1つの慣性センサからの第2のサンプルストリームから、更新された頭部回転を求め、前記テクスチャの前記対応する頭部回転と前記更新された頭部回転との差に基づいて、前記ディスプレイフレームを、対応するテクスチャの回転された表現として生成する、システム。
  8. 前記アプリケーションプロセッサは、前記第1のサンプルストリームに基づいて第1の時点とその後の時点との間における回転の予測される変化を表わす第1の四元数として、前記対応する頭部回転を求め、
    前記コンポジタは、前記第2のサンプルストリームに基づいて前記第1の時点と前記ディスプレイフレームに対応するその後の時点との間における測定された回転の変化を表わす第2の四元数として、前記更新された頭部回転を求め、
    前記コンポジタは、前記予測される回転の変化と前記測定された回転の変化との差に基づいて前記テクスチャの回転された表現を生成する、請求項7に記載のシステム。
  9. 前記コンポジタは、
    前記予測される回転の変化と前記測定された回転の変化との差に基づいてホモグラフィ回転変換(316,318)を求めるホモグラフィ回転要素(314)と、
    前記ホモグラフィ回転変換を前記テクスチャに適用することにより、ワープされたテクスチャを生成するテクスチャワープ要素(310)とを備える、請求項8に記載のシステム。
  10. 前記コンポジタは、
    非線形歪み変換を表わすルックアップテーブル(LUT)(320,322)を格納する構成ストア(302)と、
    前記予測される回転の変化と前記測定された回転の変化との差に基づいてホモグラフィ回転変換を求め、前記ホモグラフィ回転変換を前記LUTに適用することにより、ワープされたLUT(330,332)を生成するホモグラフィ回転要素(314)と、
    前記ワープされたLUTを前記テクスチャに適用することにより、ワープされたテクスチャを生成するテクスチャワープ要素(310)とを備える、請求項8に記載のシステム。
  11. 前記コンポジタは、
    積分器要素(304)を備え、前記積分器要素は、前記第2のサンプルストリームを受け、前記第2のサンプルストリームからのセンササンプルを、対応するタイムスタンプとともにバッファするスライディングウィンドウバッファ(326)を有し、前記積分器要素は、前記第1の時点に対応する前記第1のサンプルストリームのセンササンプルに対応するタイムスタンプに等しいまたはその後のタイムスタンプを有する1つ以上のバッファされたセンササンプル(328)を識別し、前記識別された1つ以上のバッファされたセンササンプルをフォワード積分することにより、前記第1の時点と前記ディスプレイフレームに対応するその後の時点との間における測定された回転の変化を求める、請求項8に記載のシステム。
  12. 前記第1のサンプルストリームは、第1のサンプリング周波数を有する第1のジャイロスコープ(218)によって生成されたサンプルストリームを含み、
    前記第2のサンプルストリームは、前記第1のサンプリング周波数よりも高い第2のサンプリング周波数を有する第2のジャイロスコープ(232)によって生成されたサンプルストリームを含む、請求項7に記載のシステム。
  13. ヘッドマウントディスプレイ(HMD)(102)を備えるシステム(100)において、方法は、
    アプリケーションプロセッサ(204)において、慣性センサ(218)から求められた前記HMDの初期頭部回転に基づいてテクスチャ(132,324,326)をレンダリングするステップと、
    ディスプレイフレームを表わす一連のスライスのうちのスライスごとに、
    コンポジタ(224)において、慣性センサ(218,232)から、対応する更新された頭部回転を求めるステップと、
    前記コンポジタにおいて、前記初期頭部回転と、前記対応する更新された頭部回転との差に基づいて、前記スライスのホモグラフィ回転変換(316,318)を求めるステップと、
    前記コンポジタにおいて、前記ホモグラフィ回転変換を前記スライスに対応する前記テクスチャの部分に適用することにより、ワープされたスライスを生成するステップと、
    前記HMDで表示するために前記ワープされたスライスをスキャンアウトするステップとを含む、方法。
  14. 前記初期頭部回転を求めるステップは、第1の時点とその後の時点との間における予測される回転の変化を表わす第1の四元数を求めるステップを含み、
    前記更新された頭部回転を求めるステップは、前記第1の時点と前記スライスに対応する第2の時点との間における測定された回転の変化を表わす第2の四元数を求めるステップを含み、
    前記ホモグラフィ回転変換を生成するステップは、前記第1の四元数と前記第2の四元数との差に基づいて前記ホモグラフィ回転変換を生成するステップを含む、請求項13に記載の方法。
  15. 前記第2の四元数を求めるステップは、
    前記コンポジタにおいて、慣性センサ(232)からのセンササンプル(328)をスライディングウィンドウバッファ(326)にバッファするステップを含み、各バッファされたセンササンプルは対応するタイムスタンプを有し、
    前記コンポジタにおいて、前記初期頭部回転に対応するタイムスタンプを受けるステップと、
    前記受けたタイムスタンプに等しいまたはその後のタイムスタンプを有する1つ以上のバッファされたセンササンプルを識別するステップと、
    前記識別された1つ以上のバッファされたセンササンプルをフォワード積分することにより、前記第2の四元数を求めるステップとを含む、請求項14に記載の方法。
  16. 前記ホモグラフィ回転変換を前記スライスに対応する前記テクスチャの部分に適用することにより、ワープされたスライスを生成するステップは、
    非線形歪み変換を表わすルックアップテーブル(LUT)(316,318)にアクセスするステップと、
    前記ホモグラフィ回転変換を前記スライスに対応する前記LUTの部分に適用することにより、ワープされたLUTの部分(330,332)を生成するステップと、
    前記ワープされたLUTの部分を前記テクスチャの部分に適用することにより、前記ワープされたスライスを生成するステップとを含む、請求項13に記載の方法。
  17. システム(100)であって、
    ヘッドマウントディスプレイ(HMD)(102)と、
    少なくとも1つの慣性センサ(218,232)と、
    前記少なくとも1つの慣性センサに結合されたアプリケーションプロセッサ(204)とを備え、前記アプリケーションプロセッサは、前記少なくとも1つの慣性センサから求められた前記HMDの初期頭部回転に基づいてテクスチャ(132,324,326)をレンダリングし、
    前記少なくとも1つの慣性センサと前記アプリケーションプロセッサと前記HMDのディスプレイ(112,114)とに結合されたコンポジタ(224)を備え、前記コンポジタは、ディスプレイフレームを表わす一連のスライスのうちのスライスごとに、前記少なくとも1つの慣性センサから、対応する更新された頭部回転を求め、前記初期頭部回転と前記対応する更新された頭部回転との差に基づいて前記スライスのホモグラフィ回転変換(316,318)を求め、前記ホモグラフィ回転変換を前記スライスに対応する前記テクスチャの部分に適用することにより、ワープされたスライスを生成し、前記HMDで表示するために前記ワープされたスライスをスキャンアウトする、システム。
  18. 前記アプリケーションプロセッサは、第1の時点とその後の時点との間における予測される回転の変化を表わす第1の四元数として、前記初期頭部回転を求め、
    前記コンポジタは、前記第1の時点と前記スライスに対応する第2の時点との間における測定された回転の変化を表わす第2の四元数として、前記更新された頭部回転を求め、
    前記コンポジタは、前記第1の四元数と前記第2の四元数との差に基づいて前記ホモグラフィ回転変換を生成する、請求項17に記載のシステム。
  19. 前記コンポジタは、
    積分器要素(304)を備え、前記積分器要素は、前記少なくとも1つの慣性センサに結合され、前記少なくとも1つの慣性センサからのセンササンプルを、対応するタイムスタンプとともにバッファするスライディングウィンドウバッファ(326)を有し、前記積分器要素は、前記アプリケーションプロセッサによって使用される最後のセンササンプルに対応するタイムスタンプに等しいまたはその後のタイムスタンプを有する1つ以上のバッファされたセンササンプルを識別することにより前記初期頭部回転を求め、前記識別された1つ以上のバッファされたセンササンプルをフォワード積分することにより、前記第2の四元数を求める、請求項18に記載のシステム。
  20. 前記コンポジタは、
    非線形歪み変換を表わすルックアップテーブル(LUT)(316,318)を格納する構成ストア(302)と、
    前記構成ストアに結合されたホモグラフィ回転要素(314)とを備え、前記ホモグラフィ回転要素は、前記スライスに対応する前記LUTの部分に前記ホモグラフィ回転変換を適用することにより、ワープされたLUTの部分を生成し、
    前記ワープされたLUTの部分を前記テクスチャの部分に適用することにより、前記ワープされたスライスを生成するテクスチャワープ要素を備える、請求項17に記載のシステム。
JP2017550907A 2015-06-12 2016-06-13 ヘッドマウントディスプレイの電子ディスプレイ安定化 Active JP6866297B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562174602P 2015-06-12 2015-06-12
US62/174,602 2015-06-12
PCT/US2016/037203 WO2016201423A1 (en) 2015-06-12 2016-06-13 Electronic display stabilization for head mounted display

Publications (3)

Publication Number Publication Date
JP2018525693A true JP2018525693A (ja) 2018-09-06
JP2018525693A5 JP2018525693A5 (ja) 2019-06-20
JP6866297B2 JP6866297B2 (ja) 2021-04-28

Family

ID=56297103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017550907A Active JP6866297B2 (ja) 2015-06-12 2016-06-13 ヘッドマウントディスプレイの電子ディスプレイ安定化

Country Status (6)

Country Link
US (1) US10102666B2 (ja)
EP (1) EP3308247A1 (ja)
JP (1) JP6866297B2 (ja)
KR (1) KR102292031B1 (ja)
CN (1) CN107430786A (ja)
WO (1) WO2016201423A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020080177A1 (ja) * 2018-10-16 2020-04-23 ソニー株式会社 情報処理装置、情報処理方法、及び記録媒体
WO2020090316A1 (ja) * 2018-11-02 2020-05-07 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP2021089678A (ja) * 2019-12-05 2021-06-10 未來市股▲ふん▼有限公司 頭部装着型ディスプレイ・システム及び頭部装着型ディスプレイ・システムの回転中心補正方法
US11061469B2 (en) 2019-11-20 2021-07-13 XRSpace CO., LTD. Head mounted display system and rotation center correcting method thereof
US11354874B2 (en) 2018-03-20 2022-06-07 Sony Corporation Information processing apparatus and information processing method

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI566229B (zh) * 2015-06-03 2017-01-11 友達光電股份有限公司 顯示裝置之時序控制器及其操作方法
CN106293045B (zh) * 2015-06-30 2019-09-10 北京智谷睿拓技术服务有限公司 显示控制方法、显示控制装置及用户设备
CN106331464B (zh) 2015-06-30 2019-10-15 北京智谷睿拓技术服务有限公司 拍摄控制方法、拍摄控制装置及用户设备
CN106293046B (zh) * 2015-06-30 2020-03-17 北京智谷睿拓技术服务有限公司 信息处理方法、信息处理装置及用户设备
US10089725B2 (en) 2016-02-09 2018-10-02 Google Llc Electronic display stabilization at a graphics processing unit
CN107180441B (zh) * 2016-03-10 2019-04-09 腾讯科技(深圳)有限公司 生成眼睛图像的方法和装置
US20180061103A1 (en) * 2016-08-29 2018-03-01 Analogix Semiconductor, Inc. Systems and Methods for Generating Display Views Tracking User Head Movement for Head-Mounted Display Devices
KR102528318B1 (ko) * 2016-12-26 2023-05-03 엘지디스플레이 주식회사 헤드 마운티드 디스플레이의 지연 측정 장치 및 방법
US10334238B2 (en) * 2017-01-03 2019-06-25 Black Sails Technology Inc. Method and system for real-time rendering displaying high resolution virtual reality (VR) video
DE102017200325A1 (de) * 2017-01-11 2018-07-12 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Betreiben eines Anzeigesystems mit einer Datenbrille in einem Kraftfahrzeug
US10417739B2 (en) 2017-03-23 2019-09-17 Google Llc Phase aligned foveated rendering
US20180329465A1 (en) * 2017-05-11 2018-11-15 Qualcomm Incorporated System and method for intelligent adjustment of an immersive multimedia workload in a portable computing device
US10488920B2 (en) * 2017-06-02 2019-11-26 Htc Corporation Immersive headset system and control method thereof
GB201713051D0 (en) * 2017-08-15 2017-09-27 Imagination Tech Ltd Low latency distortion unit for head mounted displays
US10521881B1 (en) * 2017-09-28 2019-12-31 Apple Inc. Error concealment for a head-mountable device
JP6711803B2 (ja) * 2017-10-13 2020-06-17 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置および画像生成方法
CN107801014B (zh) * 2017-10-25 2019-11-08 深圳岚锋创视网络科技有限公司 一种全景视频防抖的方法、装置及便携式终端
JP6732716B2 (ja) * 2017-10-25 2020-07-29 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、画像生成システム、画像生成方法、およびプログラム
US10553016B2 (en) 2017-11-15 2020-02-04 Google Llc Phase aligned foveated rendering
JP6978289B2 (ja) 2017-11-20 2021-12-08 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、ヘッドマウントディスプレイ、画像生成システム、画像生成方法、およびプログラム
US10741143B2 (en) * 2017-11-28 2020-08-11 Nvidia Corporation Dynamic jitter and latency-tolerant rendering
JP6944863B2 (ja) * 2017-12-12 2021-10-06 株式会社ソニー・インタラクティブエンタテインメント 画像補正装置、画像補正方法およびプログラム
EP3522150A3 (en) * 2018-02-03 2020-01-01 Facebook Technologies, LLC Apparatus, system, and method for mitigating motion-to-photon latency in head-mounted displays
US10559276B2 (en) 2018-02-03 2020-02-11 Facebook Technologies, Llc Apparatus, system, and method for mitigating motion-to-photon latency in head-mounted displays
US10706813B1 (en) 2018-02-03 2020-07-07 Facebook Technologies, Llc Apparatus, system, and method for mitigating motion-to-photon latency in head-mounted displays
EP3521899A1 (en) * 2018-02-03 2019-08-07 Facebook Technologies, LLC Apparatus, system, and method for achieving intraframe image processing in head-mounted displays
EP3782125A1 (en) 2018-04-19 2021-02-24 PCMS Holdings, Inc. Systems and methods employing predictive overfilling for virtual reality
US10678325B2 (en) 2018-05-22 2020-06-09 Facebook Technologies, Llc Apparatus, system, and method for accelerating positional tracking of head-mounted displays
CN108632598A (zh) * 2018-05-25 2018-10-09 小派科技(上海)有限责任公司 降低vr设备mtp延时的方法及装置
JP2020003898A (ja) * 2018-06-26 2020-01-09 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US11100713B2 (en) 2018-08-17 2021-08-24 Disney Enterprises, Inc. System and method for aligning virtual objects on peripheral devices in low-cost augmented reality/virtual reality slip-in systems
CN112363618A (zh) * 2018-12-04 2021-02-12 北京洛必达科技有限公司 一种vr游戏信息处理系统
US11221814B2 (en) * 2018-12-27 2022-01-11 Magic Leap, Inc. Systems and methods for virtual and augmented reality
CN109727305B (zh) * 2019-01-02 2024-01-12 京东方科技集团股份有限公司 虚拟现实系统画面处理方法、装置及存储介质
JP7142762B2 (ja) * 2019-02-22 2022-09-27 株式会社ソニー・インタラクティブエンタテインメント 表示装置および画像表示方法
JP7358448B2 (ja) * 2019-02-22 2023-10-10 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、ヘッドマウントディスプレイ、および画像生成方法
CN110351480B (zh) * 2019-06-13 2021-01-15 歌尔光学科技有限公司 用于电子设备的图像处理方法、装置及电子设备
US20220319105A1 (en) * 2019-07-10 2022-10-06 Sony Interactive Entertainment Inc. Image display apparatus, image display system, and image display method
US11178379B2 (en) * 2019-08-07 2021-11-16 Magic Leap, Inc. Determining a predicted head pose time
WO2021077024A1 (en) 2019-10-18 2021-04-22 Magic Leap, Inc. Gravity estimation and bundle adjustment for visual-inertial odometry
JP2021067877A (ja) * 2019-10-25 2021-04-30 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、ヘッドマウントディスプレイ、および画像表示方法
US20210192681A1 (en) * 2019-12-18 2021-06-24 Ati Technologies Ulc Frame reprojection for virtual reality and augmented reality
EP3846009B1 (en) * 2019-12-31 2023-05-10 Seiko Epson Corporation Display system, electronic apparatus, mobile body, and display method
CN116210021A (zh) * 2020-05-29 2023-06-02 奇跃公司 确定角加速度
KR20230041016A (ko) * 2020-07-13 2023-03-23 삼성전자주식회사 혼합현실/증강현실을 지원하는 통신 시스템에서 3차원 미디어 데이터에 대해 지연 시간 보상 포즈 예측을 사용하는 렌더링을 수행하는 방법 및 장치
KR20230058712A (ko) * 2020-09-03 2023-05-03 삼성전자주식회사 통신 시스템에서 컨텐츠와 디바이스들의 성능 차이 완화를 위한 방법 및 장치
EP4258686A4 (en) 2021-01-13 2024-06-05 Samsung Electronics Co Ltd ELECTRONIC DEVICE FOR MEASURING THE POSTURE OF A USER AND METHOD THEREFOR
US11822713B2 (en) * 2021-06-11 2023-11-21 Rockwell Collins, Inc. Pose augmentation of head worn display video for latency reduction
CN117834829A (zh) * 2022-09-27 2024-04-05 万有引力(宁波)电子科技有限公司 图像处理器、处理方法、存储介质及扩展现实显示装置
CN117812236A (zh) * 2022-09-27 2024-04-02 万有引力(宁波)电子科技有限公司 图像处理器、处理方法、存储介质及扩展现实显示装置
KR20240048207A (ko) * 2022-10-06 2024-04-15 한국전자기술연구원 사용자의 상황 정보 예측 기반 확장현실 디바이스의 영상 스트리밍 방법 및 장치
WO2024117452A1 (ko) * 2022-11-28 2024-06-06 삼성전자주식회사 사용자의 움직임에 대한 트래킹 정보에 기반하여 렌더링을 하기 위한 전자 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213407A (ja) * 2006-02-10 2007-08-23 Gifu Univ 仮想現実画像表示装置
JP2013254300A (ja) * 2012-06-06 2013-12-19 Konica Minolta Inc 画像処理方法
WO2014194135A1 (en) * 2013-05-30 2014-12-04 Oculus VR, Inc. Perception based predictive tracking for head mounted displays
JP2015095045A (ja) * 2013-11-11 2015-05-18 株式会社ソニー・コンピュータエンタテインメント 画像生成装置および画像生成方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5627905A (en) 1994-12-12 1997-05-06 Lockheed Martin Tactical Defense Systems Optical flow detection system
US6480615B1 (en) 1999-06-15 2002-11-12 University Of Washington Motion estimation within a sequence of data frames using optical flow with adaptive gradients
US7724258B2 (en) 2004-06-30 2010-05-25 Purdue Research Foundation Computer modeling and animation of natural phenomena
US20060244757A1 (en) 2004-07-26 2006-11-02 The Board Of Trustees Of The University Of Illinois Methods and systems for image modification
US7643034B2 (en) 2006-06-30 2010-01-05 Microsoft Corporation Synthesis of advecting texture using adaptive regeneration
KR20110035609A (ko) * 2009-09-30 2011-04-06 삼성전자주식회사 움직임 감지 장치 및 방법
US8773448B2 (en) 2010-04-09 2014-07-08 Intel Corporation List texture
US8823746B2 (en) 2010-10-19 2014-09-02 Apple Inc. System and method for motion blur using velocity vectors
US8860570B2 (en) * 2011-02-03 2014-10-14 SenseTech, LLC Portable wireless personal head impact reporting system
US20140176591A1 (en) * 2012-12-26 2014-06-26 Georg Klein Low-latency fusing of color image data
US9076258B2 (en) 2013-03-14 2015-07-07 Pixar Stylizing animation by example
GB201310367D0 (en) 2013-06-11 2013-07-24 Sony Comp Entertainment Europe Head-mountable apparatus and systems
CA2963497A1 (en) * 2013-10-03 2015-04-09 Sulon Technologies Inc. System and method for incorporating a physical image stream in a head mounted display
US9311690B2 (en) 2014-03-11 2016-04-12 Adobe Systems Incorporated Video denoising using optical flow
US9652893B2 (en) 2014-04-29 2017-05-16 Microsoft Technology Licensing, Llc Stabilization plane determination based on gaze location
US9824498B2 (en) * 2014-12-30 2017-11-21 Sony Interactive Entertainment Inc. Scanning display system in head-mounted display for virtual reality

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213407A (ja) * 2006-02-10 2007-08-23 Gifu Univ 仮想現実画像表示装置
JP2013254300A (ja) * 2012-06-06 2013-12-19 Konica Minolta Inc 画像処理方法
WO2014194135A1 (en) * 2013-05-30 2014-12-04 Oculus VR, Inc. Perception based predictive tracking for head mounted displays
JP2015095045A (ja) * 2013-11-11 2015-05-18 株式会社ソニー・コンピュータエンタテインメント 画像生成装置および画像生成方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11354874B2 (en) 2018-03-20 2022-06-07 Sony Corporation Information processing apparatus and information processing method
WO2020080177A1 (ja) * 2018-10-16 2020-04-23 ソニー株式会社 情報処理装置、情報処理方法、及び記録媒体
US11615767B2 (en) 2018-10-16 2023-03-28 Sony Group Corporation Information processing apparatus, information processing method, and recording medium
WO2020090316A1 (ja) * 2018-11-02 2020-05-07 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US12010288B2 (en) 2018-11-02 2024-06-11 Sony Group Corporation Information processing device, information processing method, and program
US11061469B2 (en) 2019-11-20 2021-07-13 XRSpace CO., LTD. Head mounted display system and rotation center correcting method thereof
JP2021089678A (ja) * 2019-12-05 2021-06-10 未來市股▲ふん▼有限公司 頭部装着型ディスプレイ・システム及び頭部装着型ディスプレイ・システムの回転中心補正方法

Also Published As

Publication number Publication date
KR102292031B1 (ko) 2021-08-20
US20160364904A1 (en) 2016-12-15
EP3308247A1 (en) 2018-04-18
US10102666B2 (en) 2018-10-16
WO2016201423A1 (en) 2016-12-15
CN107430786A (zh) 2017-12-01
JP6866297B2 (ja) 2021-04-28
KR20180016973A (ko) 2018-02-20

Similar Documents

Publication Publication Date Title
JP6866297B2 (ja) ヘッドマウントディスプレイの電子ディスプレイ安定化
JP6514826B2 (ja) ピクセル速度を用いた電子ディスプレイ安定化
KR102424864B1 (ko) 가상 및 증강 현실 디스플레이 시스템들 및 방법들을 위한 연속 시간 와핑 및 양안 시간 와핑
US11024082B2 (en) Pass-through display of captured imagery
JP2020003898A (ja) 情報処理装置、情報処理方法、及びプログラム
CN113362442A (zh) 一种虚拟现实图像的渲染方法、存储介质及虚拟现实设备
CN117981293A (zh) 具有深度图截取的视角校正
NZ751028B2 (en) Continuous time warp and binocular time warp for virtual and augmented reality display systems and methods

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190515

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200707

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201006

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210309

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210407

R150 Certificate of patent or registration of utility model

Ref document number: 6866297

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250