(57)【要約】【課題】  ヘッドマウントディスプレイの動きを補償する方法及びそのための装置を提供する。【解決手段】  ヘッドマウントディスプレイの動きを測定し、測定した動きを利用して、イメージがヘッドマウントディスプレイに出力されることに応答してヘッドマウントディスプレイの動きを予測し、予測した動きを利用して、イメージをレンダリングしてヘッドマウントディスプレイの動きを再測定し、再測定した動きを利用して、イメージがヘッドマウントディスプレイに出力されることに応答してヘッドマウントディスプレイの動きを再予測し、予測したヘッドマウントディスプレイの動きと、再予測したヘッドマウントディスプレイの動きとを比較して誤差値を決定し、決定した誤差値を利用して、イメージを再投影してレンダリングするヘッドマウントディスプレイの動きを補償する方法及び装置である。【選択図】      図１
2017076119.tif 000002
【特許請求の範囲】
【請求項１】
ヘッドマウントディスプレイの動きを測定する段階と、
前記測定した動きを利用して、イメージが前記ヘッドマウントディスプレイに出力されることに応答して前記ヘッドマウントディスプレイの動きを予測する段階と、
前記予測した動きを利用して、前記イメージをレンダリングする段階と、
前記ヘッドマウントディスプレイの動きを再測定する段階と、
前記再測定した動きを利用して、前記イメージが前記ヘッドマウントディスプレイに出力されることに応答して前記ヘッドマウントディスプレイの動きを再予測する段階と、
前記予測したヘッドマウントディスプレイの動きと、前記再予測したヘッドマウントディスプレイの動きとを比較して誤差値を決定する段階と、
前記決定した誤差値を利用して、前記イメージを再投影してレンダリングする段階と、を含むヘッドマウントディスプレイの動きを補償する方法。
【請求項２】
前記再投影してレンダリングしたイメージをイメージ空間変換する段階をさらに含むことを特徴とする請求項１に記載のヘッドマウントディスプレイの動きを補償する方法。
【請求項３】
前記再投影してレンダリングする段階は、
前記決定された誤差値に含まれる水平誤差値を利用して、前記イメージを水平方向再投影してレンダリングする、
前記決定された誤差値に含まれる垂直誤差値を利用して、前記イメージを垂直方向に再投影してレンダリングする、
前記決定された誤差値に含まれる深さ誤差値を利用して、前記イメージを深さ方向に再投影してレンダリングする、
のうちの１又は複数を含むことを特徴とする請求項１に記載のヘッドマウントディスプレイの動きを補償する方法。
【請求項４】
前記再投影してレンダリングする段階は、
前記水平誤差値を利用した水平方向再投影、前記垂直誤差値を利用した垂直方向再投影、または前記深さ誤差値を利用した深さ方向再投影の順序を決定する段階を更に含み、
前記決定された順に、前記イメージを再投影してレンダリングすることを特徴とする請求項３に記載のヘッドマウントディスプレイの動きを補償する方法。
【請求項５】
前記再投影してレンダリングする段階は、
前記イメージを１視点または２視点に対して再投影してレンダリングすることを特徴とする請求項１乃至４のいずれか一項に記載のヘッドマウントディスプレイの動きを補償する方法。
【請求項６】
前記予測する段階は、
前記ヘッドマウントディスプレイの動きを、片側の目の視点、または両眼の視点で予測し、
前記イメージをレンダリングする段階は、
前記予測した片側の目の視点、前記予測した両眼の視点のうち１視点、または前記予測した両眼の視点のうち中間値の視点で前記イメージをレンダリングすることを特徴とする請求項１乃至５のいずれか一項に記載のヘッドマウントディスプレイの動きを補償する方法。
【請求項７】
前記イメージをレンダリングする段階は、
前記イメージをラスター化してレンダリングするか、あるいは前記イメージを光線追跡してレンダリングすることを特徴とする請求項１乃至５のいずれか一項に記載のヘッドマウントディスプレイの動きを補償する方法。
【請求項８】
前記再投影の順序を決定する段階は、
前記水平誤差値が前記垂直誤差値より大きければ、前記水平方向再投影を行った後、前記垂直方向再投影を行うように再投影の順序を決定し、
前記水平誤差値が前記垂直誤差値より小さければ、前記垂直方向再投影を行った後、前記水平方向再投影を行うように再投影の順序を決定することを特徴とする請求項４に記載のヘッドマウントディスプレイの動きを補償する方法。
【請求項９】
前記再投影の順序を決定する段階は、
前記水平誤差値または前記垂直誤差値が既設定の値を超えるか否かに基づき、前記再投影の順序を決定することを特徴とする請求項４に記載のヘッドマウントディスプレイの動きを補償する方法。
【請求項１０】
前記再投影の順序を決定する段階は、
前記イメージの領域別に、前記再投影の順序を異なって決定することを特徴とする請求項４乃至７のいずれか一項に記載のヘッドマウントディスプレイの動きを補償する方法。
【請求項１１】
前記レンダリングしたイメージを、前記ヘッドマウントディスプレイに出力する段階をさらに含むことを特徴とする請求項１乃至１０のいずれか一項に記載のヘッドマウントディスプレイの動きを補償する方法。
【請求項１２】
ヘッドマウントディスプレイの動きを測定するセンサ部と、
前記センサ部で測定された動きを利用して、イメージが、前記ヘッドマウントディスプレイに出力されることに応答して前記ヘッドマウントディスプレイの動きを予測し、前記予測した動きを利用して、前記イメージをレンダリングする処理部と、を含み、
前記処理部は、前記イメージが、前記ヘッドマウントディスプレイに出力されることに応答して前記ヘッドマウントディスプレイの動きを再予測し、前記予測したヘッドマウントディスプレイの動きと、前記再予測したヘッドマウントディスプレイの動きとを比較して誤差値を決定し、前記決定した誤差値を利用して、前記イメージを再投影してレンダリングするヘッドマウントディスプレイの動きを補償する装置。
【請求項１３】
前記処理部は、
前記再投影してレンダリングしたイメージをイメージ空間変換することを特徴とする請求項１２に記載のヘッドマウントディスプレイの動きを補償する装置。
【請求項１４】
前記処理部は、
前記決定された誤差値に含まれる水平誤差値を利用して、前記イメージを水平方向再投影してレンダリングする、
前記決定された誤差値に含まれる垂直誤差値を利用して、前記イメージを垂直方向に再投影してレンダリングする、
前記決定された誤差値に含まれる深さ誤差値を利用して、前記イメージを深さ方向に再投影してレンダリングする、
のうちの１又は複数を含むことを特徴とする請求項１２に記載のヘッドマウントディスプレイの動きを補償する装置。
【請求項１５】
前記処理部は、
前記水平誤差値を利用した水平方向再投影、前記垂直誤差値を利用した垂直方向再投影、または前記深さ誤差値を利用した深さ方向再投影の順序を決定し、前記決定された再投影順に、前記イメージを再投影してレンダリングすることを特徴とする請求項１４に記載のヘッドマウントディスプレイの動きを補償する装置。
【請求項１６】
前記処理部は、
前記イメージを１視点または２視点に対して再投影してレンダリングすることを特徴とする請求項１２乃至１５のいずれか一項に記載のヘッドマウントディスプレイの動きを補償する装置。
【請求項１７】
前記処理部は、
前記ヘッドマウントディスプレイの動きを、片側の目の視点、または両眼の視点で予測し、前記予測した片側の目の視点、前記予測した両眼の視点のうち１視点、または前記予測した両眼の視点のうち中間値の視点で前記イメージをレンダリングすることを特徴とする請求項１２乃至１６のいずれか一項に記載のヘッドマウントディスプレイの動きを補償する装置。
【請求項１８】
前記処理部は、
前記イメージをラスター化してレンダリングするか、あるいは前記イメージを光線追跡してレンダリングすることを特徴とする請求項１２乃至１６のいずれか一項に記載のヘッドマウントディスプレイの動きを補償する装置。
【請求項１９】
前記処理部は、
前記水平誤差値が前記垂直誤差値より大きければ、前記水平方向再投影を行った後、前記垂直方向再投影を行うように再投影の順序を決定し、前記水平誤差値が前記垂直誤差値より小さければ、前記垂直方向再投影を行った後、前記水平方向再投影を行うように再投影の順序を決定することを特徴とする請求項１５に記載のヘッドマウントディスプレイの動きを補償する装置。
【請求項２０】
前記処理部は、
前記水平誤差値または前記垂直誤差値が既設定の値を超えるか否かということによって、前記再投影の順序を決定することを特徴とする請求項１５に記載のヘッドマウントディスプレイの動きを補償する装置。
【請求項２１】
前記処理部は、
前記イメージの領域別に、前記再投影の順序を異なって決定することを特徴とする請求項１５に記載のヘッドマウントディスプレイの動きを補償する装置。
【請求項２２】
前記レンダリングしたイメージを、前記ヘッドマウントディスプレイに出力する出力部をさらに含むことを特徴とする請求項１２乃至２１のいずれか一項に記載のヘッドマウントディスプレイの動きを補償する装置。
【請求項２３】
コンピュータに請求項１乃至１１のうちいずれか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ヘッドマウントディスプレイの動きを補償する方法及びそのための装置に関する。
【背景技術】
【０００２】
ヘッドマウントディスプレイ（ＨＭＤ：head  mounted  display）は、ユーザの頭に装着して立体画面を表示し、同時に頭の動きを検出し、それをロボットや制御システムに利用する装置をいう。ヘッドマウントディスプレイを着用したユーザの動きがディスプレイに反映される応答時間は重要である。応答時間を最小化するために、ヘッドマウントディスプレイの動きを予測した後、イメージ空間変換方法を使用して誤差を補償する方法がある。しかし、イメージ空間変換方法は、最終レンダリング結果の品質が低下するという短所がある。ヘッドマウントディスプレイの動きによって視点が変化すれば、最初に新たに見える物体と、視野から消える物体とが発生するが、イメージ空間変換だけでは、かような現象を反映させることができない。それは、ヘッドマウントディスプレイにおいてポジショナルジャダー（positional  judder）といい、物体の位置が揺れる現象として示され、ユーザの没入を妨害する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明が解決しようとする課題は、ヘッドマウントディスプレイの動きを補償する方法及びそのための装置を提供することである。また、前記方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供することである。該解決しようとする技術的課題は、前述のような技術的課題に限定されるものではなく、他の技術的課題も存在する。
【課題を解決するための手段】
【０００４】
一側面によれば、ヘッドマウントディスプレイの動きを補償する方法は、ヘッドマウントディスプレイの動きを測定する段階、測定した動きを利用して、イメージがヘッドマウントディスプレイに出力される時点でのヘッドマウントディスプレイの動きを予測する段階、予測した動きを利用して、イメージをレンダリングする段階、ヘッドマウントディスプレイの動きを再測定する段階、再測定した動きを利用して、イメージがヘッドマウントディスプレイに出力される時点でのヘッドマウントディスプレイの動きを再予測する段階、予測したヘッドマウントディスプレイの動きと、再予測したヘッドマウントディスプレイの動きとを比較して誤差値を決定する段階、及び決定した誤差値を利用して、イメージを再投影してレンダリングする段階を含んでもよい。
【図面の簡単な説明】
【０００５】
【図１】一実施形態による、ヘッドマウントディスプレイの動きを補償する装置の構成図を図示した図面である。
【図２】他の実施形態による、ヘッドマウントディスプレイの動きを補償する装置の構成図を図示した図面である。
【図３】ヘッドマウントディスプレイの動きを補償する方法について説明するための図面である。
【図４】ヘッドマウントディスプレイの動きを補償するための再投影について説明するための図面である。
【図５】ヘッドマウントディスプレイの動きを補償するための再投影について説明するための図面である。
【図６】一実施形態による、ヘッドマウントディスプレイの動きを補償する方法について説明するための図面である。
【図７】他の実施形態による、ヘッドマウントディスプレイの動きを補償する方法について説明するための図面である。
【図８】さらに他の実施形態による、ヘッドマウントディスプレイの動きを補償する方法について説明するための図面である。
【図９】それ以外の実施形態による、ヘッドマウントディスプレイの動きを補償する方法について説明するための図面である。
【図１０】一実施形態による、ヘッドマウントディスプレイの動きを補償する方法について説明するためのフローチャートである。
【図１１】他の実施形態による、ヘッドマウントディスプレイの動きを補償する方法について説明するためのフローチャートである。
【図１２】さらに他の実施形態による、ヘッドマウントディスプレイの動きを補償する方法について説明するためのフローチャートである。
【発明を実施するための形態】
【０００６】
＜発明の概要＞
一側面によれば、ヘッドマウントディスプレイの動きを補償する方法は、ヘッドマウントディスプレイの動きを測定する段階、測定した動きを利用して、イメージがヘッドマウントディスプレイに出力される時点でのヘッドマウントディスプレイの動きを予測する段階、予測した動きを利用して、イメージをレンダリングする段階、ヘッドマウントディスプレイの動きを再測定する段階、再測定した動きを利用して、イメージがヘッドマウントディスプレイに出力される時点でのヘッドマウントディスプレイの動きを再予測する段階、予測したヘッドマウントディスプレイの動きと、再予測したヘッドマウントディスプレイの動きとを比較して誤差値を決定する段階、及び決定した誤差値を利用して、イメージを再投影してレンダリングする段階を含んでもよい。
【０００７】
一側面によれば、ヘッドマウントディスプレイの動きを補償する方法は、ヘッドマウントディスプレイの動きを測定する段階、測定した動きを利用して、イメージがヘッドマウントディスプレイに出力される時点でのヘッドマウントディスプレイの動きを予測する段階、予測した動きを利用して、イメージをレンダリングする段階、ヘッドマウントディスプレイの動きを再測定する段階、再測定した動きを利用して、イメージがヘッドマウントディスプレイに出力される時点でのヘッドマウントディスプレイの動きを再予測する段階、予測したヘッドマウントディスプレイの動きと、再予測したヘッドマウントディスプレイの動きとを比較して誤差値を決定する段階、及び決定した誤差値を利用して、イメージを再投影してレンダリングする段階を含んでもよい。
【０００８】
また、再投影してレンダリングしたイメージを、イメージ空間上変換（image-space
transform）する段階をさらに含んでもよい。
【０００９】
また、決定された誤差値は、水平誤差値を含み、再投影してレンダリングする段階は、決定された水平誤差値を利用して、イメージを水平方向再投影してレンダリングすることができる。
【００１０】
また、決定された誤差値は、垂直誤差値を含み、再投影してレンダリングする段階は、決定された垂直誤差値を利用して、イメージを水平方向再投影してレンダリングすることができる。
【００１１】
また、決定された誤差値は、深さ誤差値を含み、再投影してレンダリングする段階は、決定された深さ誤差値を利用して、イメージを深さ方向に再投影してレンダリングすることができる。
【００１２】
また、決定された誤差値は、水平誤差値、垂直誤差値または深さ誤差値を含み、再投影してレンダリングする段階は、決定された水平誤差値を利用した水平方向再投影、垂直誤差値を利用した垂直方向再投影、または深さ誤差値を利用した深さ方向再投影の順序を決定する段階を含み、決定された順に、イメージを再投影してレンダリングすることができる。
【００１３】
また、再投影してレンダリングする段階は、イメージを１視点または２視点に対して再投影してレンダリングすることができる。
【００１４】
また、予測する段階は、ヘッドマウントディスプレイの動きを、片側の目の視点、または両眼の視点で予測し、イメージをレンダリングする段階は、予測した片側の目の視点、予測した両眼の視点のうち１視点、または予測した両眼の視点のうち中間値の視点でイメージをレンダリングすることができる。
【００１５】
また、イメージをレンダリングする段階は、イメージをラスター化してレンダリングするか、あるいはイメージを光線追跡（ray tracing）してレンダリングすることができる。
【００１６】
また、再投影順序を決定する段階は、水平誤差値が垂直誤差値より大きければ、水平方向に再投影を行った後、垂直方向に再投影するように再投影順序を決定し、水平誤差値が垂直誤差値より小さければ、垂直方向に再投影を行った後、水平方向に再投影するように再投影順序を決定することができる。
【００１７】
また、再投影順序を決定する段階は、水平誤差値または垂直誤差値が既設定の値を超えるか否かということによって、再投影順序を決定することができる。
【００１８】
また、再投影する順序を決定する段階は、イメージの領域別に、再投影順序を異なって決定することができる。
【００１９】
また、レンダリングしたイメージをヘッドマウントディスプレイに出力する段階をさらに含んでもよい。
【００２０】
他の側面によれば、ヘッドマウントディスプレイの動きを補償する装置は、ヘッドマウントディスプレイの動きを測定するセンサ部及びセンサ部で測定された動きを利用して、イメージがヘッドマウントディスプレイに出力される時点でのヘッドマウントディスプレイの動きを予測し、予測した動きを利用して、イメージをレンダリングする処理部を含み、処理部は、イメージがヘッドマウントディスプレイに出力される時点でのヘッドマウントディスプレイの動きを再予測し、予測したヘッドマウントディスプレイの動きと、再予測したヘッドマウントディスプレイの動きとを比較して誤差値を決定し、決定した誤差値を利用して、イメージを再投影してレンダリングすることができる。
【００２１】
また処理部は、再投影してレンダリングしたイメージをイメージ空間上変換することができる。
【００２２】
また、決定された誤差値は、水平誤差値を含み、処理部は、決定された水平誤差値を利用して、イメージを水平方向再投影してレンダリングすることができる。
【００２３】
また、決定された誤差値は、垂直誤差値を含み、処理部は、決定された垂直誤差値を利用して、イメージを垂直方向再投影してレンダリングすることができる。
【００２４】
また、決定された誤差値は、深さ誤差値を含み、処理部は、決定された深さ誤差値を利用して、イメージを深さ方向再投影してレンダリングすることができる。
【００２５】
また、決定された誤差値は、水平誤差値、垂直誤差値または深さ誤差値を含み、処理部は、決定された水平誤差値を利用した水平方向再投影、垂直誤差値を利用した垂直方向再投影、または深さ誤差値を利用した深さ方向再投影の順序を決定し、決定された再投影順に、イメージを再投影してレンダリングすることができる。
【００２６】
また、処理部は、イメージを１視点または２視点に対して再投影してレンダリングすることができる。
【００２７】
また、処理部は、ヘッドマウントディスプレイの動きを、片側の目の視点、または両眼の視点で予測し、予測した片側の目の視点、予測した両眼の視点のうち１視点、または予測した両眼の視点のうち中間値の視点でイメージをレンダリングすることができる。
【００２８】
また、処理部は、イメージをラスター化してレンダリングするか、あるいはイメージを光線追跡してレンダリングすることができる。
【００２９】
また、処理部は、水平誤差値が垂直誤差値より大きければ、水平方向に再投影を行った後、垂直方向に再投影するように再投影順序を決定し、水平誤差値が垂直誤差値より小さければ、垂直方向に再投影を行った後、水平方向に再投影するように再投影順序を決定することができる。
【００３０】
また、処理部は、水平誤差値または垂直誤差値が既設定の値を超えるか否かということによって、再投影順序を決定することができる。
【００３１】
また、処理部は、イメージの領域別に、再投影順序を異なって決定することができる。
【００３２】
また、レンダリングしたイメージをヘッドマウントディスプレイに出力する出力部をさらに含んでもよい。
【００３３】
＜発明の詳細＞
本発明の利点、特徴、及びそれらを達成する方法は、添付される図面と共に、説明する実施形態を参照すれば、明確になるであろう。しかし、本発明は、以下で開示される実施形態に限定されるものではなく、互いに異なる多様な形態によって具現され、ただ、本実施形態は、本発明の開示を完全なものにし、本発明が属する技術分野で当業者に、発明の範疇を完全に知らせるために提供されるものであり、本発明は、特許請求の範囲によってよみ定義されるのみである。
【００３４】
本明細書で使用される用語について簡略に説明し、本発明について具体的に説明する。
【００３５】
本発明で使用される用語は、本発明での機能を考慮しながら、可能な限り現在汎用される一般的な用語を選択したが、それは、当分野に携わる技術者の意図、判例、新たな技術の出現などによって異なる。また、特定の場合は、出願人が任意に選定した用語もあり、その場合、当該発明の説明部分で、詳細にその意味を記載する。従って、本発明で使用される用語は、単純な用語の名称ではない、その用語が有する意味と、本発明の全般にわたった内容とを基に定義されなければならない。
【００３６】
明細書全体において、ある部分がある構成要素を「含む」とするとき、それは、特別に反対となる記載がない限り、他の構成要素を除くものではなく、他の構成要素をさらに含んでもよいことを意味する。また、明細書で使用される「部」という用語は、ソフトウェア、ＦＰＧＡまたはＡＳＩＣのようなハードウェア構成要素を意味し、「部」はある役割を行う。しかし、「部」は、ソフトウェアまたはハードウェアに限定される意味ではない。「部」は、アドレッシングすることができる記録媒体にあるように構成されてもよく、１あるいはそれ以上のプロセッサを再生させるように構成されてもよい。従って、一例として、「部」は、ソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ及び変数を含む。構成要素及び「部」から提供される機能は、さらに少数の構成要素及び「部」に結合されるか、あるいは追加的な構成要素と「部」とにさらに分離される。
【００３７】
以下、添付した図面を参照し、本発明の実施形態について、本発明が属する技術分野において当業者が容易に実施することができるように詳細に説明する。そして、図面で本発明を明確に説明するために、説明と関係ない部分は省略する。
【００３８】
図１は、一実施形態によるヘッドマウントディスプレイの動きを補償する装置の構成図を図示した図面である。
【００３９】
図１を参照すれば、ヘッドマウントディスプレイの動きを補償する装置１００は、センサ部１１０及び処理部１２０を含んでもよい。
【００４０】
センサ部１１０は、ヘッドマウントディスプレイの動きを測定（sensing）することができる。
【００４１】
処理部１２０は、センサ部１１０が測定した動きを利用して、イメージがヘッドマウントディスプレイに出力されることに応答してヘッドマウントディスプレイの動きを予測することができる。また、処理部１２０は、予測した動きを利用して、イメージをレンダリングすることができる。その後、処理部１２０は、ヘッドマウントディスプレイの動きを再び測定し、それを利用して、イメージがヘッドマウントディスプレイに出力されることに応答してヘッドマウントディスプレイの動きを再予測することができる。そして、処理部１２０は、予測したヘッドマウントディスプレイの動きと、再予測したヘッドマウントディスプレイの動きとを比較して誤差値を決定することができる。処理部１２０は、決定した誤差値を利用して、イメージを再投影してレンダリングすることができる。イメージを再投影するということは、１視点に対するレンダリングのために、三次元（３Ｄ）幾何情報（geometry  information）を二次元（２Ｄ）平面に投影あるいは光線追跡した結果を、他の視点に対する二次元平面にさらに投影するのである。
【００４２】
それと共に、処理部１２０は、再投影してレンダリングしたイメージを、イメージ空間変換（image-space  transform）することができる。イメージ空間変換する方法は、テクスチャマッピング方式を含んでもよい。テクスチャマッピングとは、臨場感ある立体画像を生成するために、イメージのような二次元パターンを、点、線、面で構成された三次元オブジェクト表面に適用させる方法をいう。すなわち、イメージを、テクスチャマッピングを介して空間内で変換することができる。
【００４３】
処理部１２０が決定した誤差値は、水平誤差値、垂直誤差値または深さ誤差値を含んでもよい。処理部１２０は、決定された水平誤差値を利用して、イメージを水平方向再投影してレンダリングすることができる。処理部１２０は、決定された垂直誤差値を利用して、イメージを垂直方向再投影してレンダリングすることができる。処理部１２０は、決定された深さ誤差値を利用して、イメージを深さ方向再投影してレンダリングすることができる。
【００４４】
処理部１２０は、決定された水平誤差値を利用した水平方向再投影、垂直誤差値を利用した垂直方向再投影、または深さ誤差値を利用した深さ方向再投影の順序を決定し、決定された再投影順に、イメージを再投影してレンダリングすることができる。また、処理部１２０は、イメージを１視点または２視点に対して再投影してレンダリングすることができる。そして、処理部１２０は、ヘッドマウントディスプレイの動きを、片側の目の視点、または両眼の視点で予測し、予測した片側の目の視点、予測した両眼の視点のうち１視点、または予測した両眼の視点のうち中間値の視点でイメージをレンダリングすることができる。
【００４５】
処理部１２０は、イメージをラスター化してレンダリングするか、あるいはイメージを光線追跡（ray  tracing）してレンダリングすることができる。
【００４６】
処理部１２０は、水平誤差値が垂直誤差値より大きければ、水平方向に再投影を行った後、垂直方向に再投影するように再投影順序を決定し、水平誤差値が垂直誤差値より小さければ、垂直方向に再投影を行った後、水平方向に再投影するように再投影順序を決定することができる。処理部１２０は、水平誤差値または垂直誤差値が既設定の値を超えるか否かということによって、再投影順序を決定することができる。処理部１２０は、イメージの領域別に、再投影順序を異なって決定することができる。処理部１２０は、レンダリングしたイメージの深さ値を利用して、深さ方向に再投影してレンダリングすることができる。例えば、処理部１２０は、水平方向に再投影し、深さ方向に再投影してレンダリングすることができる。また、処理部１２０は、垂直方向に再投影し、深さ方向に再投影してレンダリングすることができる。処理部１２０は、レンダリングしたイメージの深さ値が小さい場合、深さ方向に再投影してレンダリングすることができる。ユーザの視点で遠くに位置した物体は、イメージ空間変換による品質低下が大きくないために、深さ値が大きい場合には、再投影を行わず、イメージ空間変換のみを行う。また、各決定は、映像の区域別に行われる。例えば、真ん中領域の映像品質が重要である場合は、真ん中領域と残りの領域とを分離して決定することもできる。また、処理部１２０は、ユーザが所望する映像の品質、映像の複雑度、全体システムの作業量情報などを考慮し、再投影してレンダリングすることができる。
【００４７】
図２は、他の実施形態による、ヘッドマウントディスプレイの動きを補償する装置の構成図を図示した図面である。
【００４８】
図２を参照すれば、ヘッドマウントディスプレイの動きを補償する装置１００は、センサ部１１０、処理部１２０及び出力部１３０を含んでもよい。
【００４９】
図２に図示された装置１００のセンサ部１１０及び処理部１２０は、図１で説明したセンサ部１１０及び処理部１２０と同一動作を遂行する。
【００５０】
出力部１３０は、レンダリングしたイメージを、ヘッドマウントディスプレイに出力することができる。出力部１３０は、レンダリングしたイメージを、ヘッドマウントディスプレイの両眼視点に対応するディスプレイに出力することができる。
【００５１】
図３は、ヘッドマウントディスプレイの動きを補償する方法について説明するための図面である。
【００５２】
図３を参照すればヘッドマウントディスプレイの動きを補償する装置１００は、予測したヘッドマウントディスプレイの動き３００と、再予測した動き３１０との水平誤差値３２０及び垂直誤差値３３０を示す。このとき、処理部１２０が、水平誤差値３２０と垂直誤差値３３０とを決定することができる。決定した水平誤差値３２０と垂直誤差値３３０は、再投影順序の決定に使用される。再投影と係わる詳細な説明は、図８及び図９を参照して説明する。
【００５３】
図４及び図５は、ヘッドマウントディスプレイの動きを補償するための再投影について説明するための図面である。
【００５４】
図４を参照すれば、Ａ視点４００に対するレンダリングのために、三次元幾何情報４１０を二次元平面に投影した結果４２０を、共に、Ｂ視点４３０に係わる二次元平面に再投影することができる（４４０）。前述のような方法を使用すれば、視点変化によって物体が隠れて示される実際現象を反映させることができる。従って、ポジショナルジャダー（positional  judder）のような品質低下を防止する。第二に、両眼に出力するイメージのために、それぞれの視点によって別途にレンダリングする方式に比べ、１視点に対してレンダリングした結果を、他の視点に対して再投影すれば、演算量が大幅に減少する。
【００５５】
さらに図５を参照すれば、ヘッドマウントディスプレイの動きを補償する方法が、光線追跡で使用されるときの再投影について説明することができる。それにより、Ａ視点５００に対するレンダリングのために、三次元幾何情報５１０を二次元平面に光線追跡した結果５２０を、Ｂ視点５３０に係わる二次元平面に再投影することができる（５４０）。
【００５６】
図６は、一実施形態による、ヘッドマウントディスプレイの動きを補償する方法について説明するための図面である。
【００５７】
図６を参照すれば、ヘッドマウントディスプレイの動きを補償する装置１００のセンサ部１１０は、ヘッドマウントデバイスの動きを測定することができる。
【００５８】
処理部１２０は、測定した動きを利用して、イメージがヘッドマウントディスプレイに出力されるとき、ヘッドマウントディスプレイの動き６００を予測することができる。処理部１２０は、予測した動き６００の中間値６１０を利用して、イメージをレンダリングすることができる。センサ部１１０は、ヘッドマウントデバイスの動きを再測定し、ディスプレイに出力される時点での動きを再予測することができる。また、処理部１２０は、予測したヘッドマウントディスプレイの動きと、再予測したヘッドマウントディスプレイの動きとを比較し、誤差値を決定することができる。例えば、該誤差値は、水平方向の水平誤差値、垂直方向の垂直誤差値を含んでもよい。
【００５９】
決定した水平誤差値及び垂直誤差値によって、再投影する順序を決定することができる。該再投影は、１回に垂直方向や水平方向にもなされ、このとき、深さ方向は、２つの場合に対して、自由に結合することができる。図６では、水平誤差値が垂直誤差値より大きい場合であり、処理部１２０は、水平方向に対して再投影してレンダリングする。このとき、処理部１２０は、両眼に対するレンダリング６２０を行う。すなわち、水平方向に２回の再投影を行う。その後、処理部１２０は、それぞれの目に対するレンダリング結果に対して、イメージ空間変換６３０を行う。このとき、変換程度は、センサ部１１０が測定したデータを介して決定するか、あるいは処理部１２０が決定した誤差値を利用することができる。
【００６０】
図７は、他の実施形態による、ヘッドマウントディスプレイの動きを補償する方法について説明するための図面である。
【００６１】
図７を参照すれば、ヘッドマウントディスプレイの動きを補償する装置１００のセンサ部１１０は、ヘッドマウントデバイスの動きを測定することができる。
【００６２】
図７では、図６とは異なり、垂直誤差値が水平誤差値より大きい場合であり、処理部１２０は、垂直方向に対して中間値７１０を再投影してレンダリングする。このとき、処理部１２０は、中間値７１０を垂直方向に対して再投影した後（７２０）、他の片側の目は、水平方向に再投影してレンダリング７３０を行う。それは、水平方向に両眼を具現するためである。すなわち、垂直方向に１回、水平方向で１回と都合２回の再投影を行ってレンダリングを行う。その後、処理部１２０は、それぞれの目に対するレンダリング結果７２０及び７３０に対して、イメージ空間変換７４０を行う。このとき、変換程度は、センサ部１１０が測定したデータを介して決定するか、あるいは処理部１２０が決定した誤差値を利用することができる。
【００６３】
図８は、さらに他の実施形態による、ヘッドマウントディスプレイの動きを補償する方法について説明するための図面である。
【００６４】
図８を参照すれば、ヘッドマウントディスプレイの動きを補償する装置１００のセンサ部１１０は、ヘッドマウントデバイスの動きを測定することができる。
【００６５】
図８では、図６及び図７とは異なり、垂直誤差値と水平誤差値とが既設定の値より大きい場合であり、処理部１２０は、垂直方向に対して中間値８１０を再投影してレンダリングする。このとき、処理部１２０は、中間値８１０を垂直方向に対して再投影８２０した後、水平方向に、両眼に対して再投影してレンダリング８３０を行うる。すなわち、垂直方向に１回、水平方向に２回再投影してレンダリングを行う。その後、処理部１２０は、それぞれの目に対するレンダリング結果８３０に対して、イメージ空間変換８４０を行う。このとき、変換程度は、センサ部１１０が測定したデータを介して決定するか、あるいは処理部１２０が決定した誤差値を利用することができる。
【００６６】
図９は、それ以外の実施形態による、ヘッドマウントディスプレイの動きを補償する方法について説明するための図面である。
【００６７】
図９を参照すれば、ヘッドマウントディスプレイの動きを補償する装置１００のセンサ部１１０は、ヘッドマウントデバイスの動きを測定することができる。
【００６８】
図９では、図６ないし図８とは異なり、垂直誤差値と水平誤差値とが既設定の値より大きく、両眼の垂直位置の差が他の既設定の値より大きい場合である。このとき、処理部１２０は、水平方向に対して中間値９１０を両眼に対して再投影してレンダリングする（９２０）。その後、処理部１２０は、それぞれの目に対して再投影してレンダリングした結果９２０に対して、垂直方向に再投影してレンダリングする（９３０）。すなわち水平方向に２回、垂直方向に２回ほど再投影してレンダリングを行う。最後に、垂直方向に再投影してレンダリングした（９３０）結果を、イメージ空間変換９４０を行って補正することができる。このとき、変換程度は、センサ部１１０が測定したデータを介して決定するか、あるいは処理部１２０が決定した誤差値を利用することができる。
【００６９】
図１０は、一実施形態による、ヘッドマウントディスプレイの動きを補償する方法について説明するためのフローチャートである。
【００７０】
段階Ｓ１０００において、ヘッドマウントディスプレイの動きを測定することができる。
【００７１】
段階Ｓ１０１０において、測定した動きを利用して、イメージがヘッドマウントディスプレイに出力される時点でのヘッドマウントディスプレイの動きを予測することができる。ヘッドマウントディスプレイの動きは、片側の目の視点、または両眼の視点で予測することができる。
【００７２】
段階Ｓ１０２０において、予測した動きを利用して、イメージをレンダリングすることができる。また、予測した片側の目の視点、予測した両眼の視点のうち１視点、または予測した両眼の視点のうち中間値の視点でイメージをレンダリングすることができる。そして、イメージをラスター化してレンダリングするか、あるいはイメージを光線追跡してレンダリングすることができる。
【００７３】
段階Ｓ１０３０において、ヘッドマウントディスプレイの動きを再測定することができる。
【００７４】
段階Ｓ１０４０において、再測定した動きを利用して、イメージがヘッドマウントディスプレイに出力される時点でのヘッドマウントディスプレイの動きを再予測することができる。
【００７５】
段階Ｓ１０５０において、予測したヘッドマウントディスプレイの動きと、再予測したヘッドマウントディスプレイの動きとを比較して誤差値を決定することができる。
【００７６】
段階Ｓ１０６０において、決定した誤差値を利用して、イメージを再投影してレンダリングすることができる。また、決定された誤差値は、水平誤差値、垂直誤差値または深さ誤差値を含んでもよい。決定された水平誤差値、垂直誤差値または深さ誤差値を利用して、水平方向再投影、垂直方向再投影または深さ方向再投影の順序を決定することができる。その後、決定された再投影順に、イメージを再投影してレンダリングすることができる。このとき、水平誤差値が垂直誤差値より大きければ、水平方向に再投影を行った後、垂直方向に再投影するように再投影順序を決定し、水平誤差値が垂直誤差値より小さければ、垂直方向に再投影を行った後、水平方向に再投影するように再投影順序を決定することができる。それと共に、水平誤差値または垂直誤差値が既設定の値を超えるか否かということによって、再投影順序を決定することができる。他の実施形態としては、イメージの領域別に、再投影順序を異なって決定することができる。また、イメージを１視点または２視点に対して再投影してレンダリングすることができる。それと共に、レンダリングしたイメージの深さ値を利用して、深さ方向に再投影してレンダリングすることができる。
【００７７】
図１１は、他の実施形態によるヘッドマウントディスプレイの動きを補償する方法について説明するためのフローチャートである。
【００７８】
段階Ｓ１１００において、ヘッドマウントディスプレイの動きを測定することができる。
【００７９】
段階Ｓ１１１０において、測定した動きを利用して、イメージがヘッドマウントディスプレイに出力される時点でのヘッドマウントディスプレイの動きを予測することができる。ヘッドマウントディスプレイの動きは、片側の目の視点、または両眼の視点で予測することができる。
【００８０】
段階Ｓ１１２０において、予測した動きを利用して、イメージをレンダリングすることができる。また、予測した片側の目の視点、予測した両眼の視点のうち１視点、または予測した両眼の視点のうち中間値の視点でイメージをレンダリングすることができる。そして、イメージをラスター化してレンダリングするか、あるいはイメージを光線追跡してレンダリングすることができる。
【００８１】
段階Ｓ１１３０において、ヘッドマウントディスプレイの動きを再測定することができる。
【００８２】
段階Ｓ１１４０において、再測定した動きを利用して、イメージがヘッドマウントディスプレイに出力される時点でのヘッドマウントディスプレイの動きを再予測することができる。
【００８３】
段階Ｓ１１５０において、予測したヘッドマウントディスプレイの動きと、再予測したヘッドマウントディスプレイの動きとを比較して誤差値を決定することができる。
【００８４】
段階Ｓ１１６０において、決定した誤差値を利用して、イメージを再投影してレンダリングすることができる。また、決定された誤差値は、水平誤差値、垂直誤差値または深さ誤差値を含んでもよい。決定された水平誤差値を利用した水平方向再投影、垂直誤差値を利用した垂直方向再投影、または深さ誤差値を利用した深さ方向再投影の順序を決定することができる。その後、決定された再投影順に、イメージを再投影してレンダリングすることができる。このとき、水平誤差値が垂直誤差値より大きければ、水平方向に再投影を行った後、垂直方向に再投影するように再投影順序を決定し、水平誤差値が垂直誤差値より小さければ、垂直方向に再投影を行った後、水平方向に再投影するように再投影順序を決定することができる。それと共に、水平誤差値または垂直誤差値が既設定の値を超えるか否かということによって、再投影順序を決定することができる。他の実施形態としては、イメージの領域別に、再投影順序を異なって決定することができる。また、イメージを１視点または２視点に対して再投影してレンダリングすることができる。それと共に、レンダリングしたイメージの深さ値を利用して、深さ方向に再投影してレンダリングすることができる。
【００８５】
段階Ｓ１１７０において、再投影してレンダリングしたイメージをイメージ空間変換することができる。イメージ空間変換する方法は、テクスチャマッピング方式を含んでもよい。
【００８６】
図１２は、さらに他の実施形態によるヘッドマウントディスプレイの動きを補償する方法について説明するためのフローチャートである。
【００８７】
段階Ｓ１２００において、ヘッドマウントディスプレイの動きを測定することができる。
【００８８】
段階Ｓ１２１０において、測定した動きを利用して、イメージがヘッドマウントディスプレイに出力される時点でのヘッドマウントディスプレイの動きを予測することができる。ヘッドマウントディスプレイの動きは、片側の目の視点、または両眼の視点で予測することができる。
【００８９】
段階Ｓ１２２０において、予測した動きを利用して、イメージをレンダリングすることができる。また、予測した片側の目の視点、予測した両眼の視点のうち１視点、または予測した両眼の視点のうち中間値の視点でイメージをレンダリングすることができる。そして、イメージをラスター化してレンダリングするか、あるいはイメージを光線追跡してレンダリングすることができる。
【００９０】
段階Ｓ１２３０において、ヘッドマウントディスプレイの動きを再測定することができる。
【００９１】
段階Ｓ１２４０において、再測定した動きを利用して、イメージがヘッドマウントディスプレイに出力される時点でのヘッドマウントディスプレイの動きを再予測することができる。
【００９２】
段階Ｓ１２５０において、予測したヘッドマウントディスプレイの動きと、再予測したヘッドマウントディスプレイの動きとを比較して誤差値を決定することができる。
【００９３】
段階Ｓ１２６０において、決定した誤差値を利用して、イメージを再投影してレンダリングすることができる。また、決定された誤差値は、水平誤差値及び垂直誤差値を含んでもよい。決定された水平誤差値を利用した水平方向再投影、及び垂直誤差値を利用した垂直方向再投影の順序を決定することができる。その後、決定された再投影順に、イメージを再投影してレンダリングすることができる。このとき、水平誤差値が垂直誤差値より大きければ、水平方向に再投影を行った後、垂直方向に再投影するように再投影順序を決定し、水平誤差値が垂直誤差値より小さければ、垂直方向に再投影を行った後、水平方向に再投影するように再投影順序を決定することができる。それと共に、水平誤差値または垂直誤差値が既設定の値を超えるか否かということによって、再投影順序を決定することができる。他の実施形態としては、イメージの領域別に、再投影順序を異なって決定することができる。また、イメージを１視点または２視点に対して再投影してレンダリングすることができる。それと共に、レンダリングしたイメージの深さ値を利用して、深さ方向に再投影してレンダリングすることができる。
【００９４】
段階Ｓ１２７０において、レンダリングしたイメージを出力することができる。レンダリングしたイメージはヘッドマウントディスプレイの両眼に対するディスプレイにそれぞれ出力することができる。
【００９５】
本実施形態による装置は、プロセッサ、プログラムデータを保存して実行するメモリ、ディスクドライブのような永久記憶装置、外部装置と通信する通信ポート、タッチパネル・キー・ボタンのようなユーザインターフェース装置などを含んでもよい。ソフトウェアモジュールまたはアルゴリズムによって具現される方法は、前記プロセッサ上で実行可能なコンピュータで読み取り可能なコードまたはプログラム命令でもって、コンピュータで読み取り可能な記録媒体上に保存される。ここで、コンピュータで読み取り可能な記録媒体として、マグネチック記録媒体（例えば、ＲＯＭ（read  only  memory）、ＲＡＭ（random  access  memory）、フロッピー（登録商標）ディスク、ハードディスクなど）及び光学的判読媒体（例えば、ＣＤ（compact  disc）−ＲＯＭ、ＤＶＤ（digital  versatile  disc））などがある。コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式で、コンピュータが判読可能なコードが保存されて実行される。該媒体は、コンピュータによって判読可能であり、メモリに保存され、プロセッサで実行される。
【００９６】
本実施形態は、機能的なブロック構成及び多様な処理段階で示される。かような機能ブロックは、特定機能を実行する多様な個数のハードウェア構成または／及びソフトウェア構成によって具現される。例えば、本実施形態は、１以上のマイクロプロセッサの制御、または他の制御装置によって多様な機能を実行することができる、メモリ、プロセッシング、ロジック、ルックアップテーブルのような直接回路構成を採用することができる。構成要素がソフトウェアプログラミングまたはソフトウェア要素で実行されるところと類似して、本実施形態は、データ構造、プロセス、ルーチン、または他のプログラミング構成の組み合わせによって具現される多様なアルゴリズムを含み、Ｃ、Ｃ＋＋、ジャバ、アセンブラのようなプログラミング言語またはスクリプティング言語によって具現される。機能的な側面は、１以上のプロセッサで実行されるアルゴリズムによって具現される。また、本実施形態は、電子的な環境設定、信号処理及び／またはデータ処理などのために、従来技術を採用することができる。「メカニズム」、「要素」、「手段」、「構成」のような用語は汎用され、機械的であって物理的な構成として限定されるものではない。前記用語は、プロセッサなどと連繋し、ソフトウェアの一連のルーチンの意味を含んでもよい。
【００９７】
本実施形態で説明する特定実行は例示であり、いかなる方法であったとしても、技術的範囲を限定するものではない。明細書の簡潔さのために、従来の電子的な構成、制御システム、ソフトウェア、前記システムの他の機能的な側面の記載は省略する。また、図面に図示された構成要素間の線の連結または連結部材は、機能的な連結及び／または物理的または回路的な連結を例示的に示したものであり、実際の装置では、代替可能であったり追加されたりする多様な機能的な連結、物理的な連結または回路的な連結として示される。
【００９８】
本明細書（特に、特許請求の範囲）において、「前記」の用語、及びそれと類似した指示用語の使用は、単数及び複数のいずれにも該当する。また、範囲（range）を記載した場合、前記範囲に属する個別的な値を含むものであり（それに反する記載がなければ）、詳細な説明に、前記範囲を構成する各個別的な値を記載した通りである。最後に、方法を構成する段階について、明白に順序を記載するか、あるいはそれに反する記載がなければ、前記段階は、適当な順序で遂行される。必ずしも前記段階の記載順序に限定されるものではない。全ての例、または例示的な用語（例えば、など）の使用は、単に技術的思想を詳細に説明するためのものであり、特許請求の範囲によって限定されない以上、前記例、または例示的な用語によって範囲が限定されるものではない。また、当業者は、多様な修正、組み合わせ及び変更が付加された特許請求の範囲、またはその均等物の範疇内で、設計条件及びファクタによって構成されるということが分かる。
【産業上の利用可能性】
【００９９】
本発明のヘッドマウントディスプレイの動きを補償する方法及びそのための装置は、例えば、画像処理関連の技術分野に効果的に適用可能である。
【符号の説明】
【０１００】
１００  ヘッドマウントディスプレイの動きを補償する装置
１１０  センサ部
１２０  処理部
１３０  出力部
【図１】
2017076119.tif 000003
【図２】
2017076119.tif 000004
【図３】
2017076119.tif 000005
【図４】
2017076119.tif 000006
【図５】
2017076119.tif 000007
【図６】
2017076119.tif 000008
【図７】
2017076119.tif 000009
【図８】
2017076119.tif 000010
【図９】
2017076119.tif 000011
【図１０】
2017076119.tif 000012
【図１１】
2017076119.tif 000013
【図１２】
2017076119.tif 000014