(57)【特許請求の範囲】
【請求項１】
ユーザの頭部に装着されたヘッドマウントディスプレイの姿勢を検出する検出部と、
第１の時点における前記検出部の検出結果により特定されるヘッドマウントディスプレイの第１姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成する基準画像生成部と、
前記第１の時点より後の第２の時点における前記検出部の検出結果により特定されるヘッドマウントディスプレイの第２姿勢と前記第１姿勢との差に応じて、前記ヘッドマウントディスプレイに表示させる表示画像の特定画素について、特定画素の画素値の設定元となる前記基準画像における対応画素を識別する対応画素識別部と、
前記表示画像における特定画素の画素値として、前記基準画像における対応画素の画素値を設定することにより、前記表示画像を生成する表示画像生成部と、
を備え、
前記表示画像生成部により生成された表示画像は、前記ヘッドマウントディスプレイの表示部における一端の走査線から他端の走査線へ順次表示されていき、
前記対応画素識別部は、前記表示部による前記表示画像の表示において前記表示画像の特定画素を表示する走査線が前記他端に近いほど、前記表示画像における特定画素の位置と前記基準画像における対応画素の位置との変化量を大きくし、
前記対応画素識別部は、前記第１姿勢と前記第２姿勢の差、および、前記表示部における画像表示の所要時間に応じて、前記表示部の前記一端の走査線で画像が表示される時点の対応画素である第１画素を識別するとともに、前記表示部の前記他端の走査線で表示される時点の対応画素である第２画素を識別し、
前記対応画素識別部は、前記特定画素が実際に表示される走査線の位置に応じて、前記第１画素と前記第２画素の間から前記特定画素に対する実際の対応画素を識別することを特徴とする情報処理装置。
【請求項２】
ユーザの頭部に装着されたヘッドマウントディスプレイの姿勢を検出する検出部と、
第１の時点における前記検出部の検出結果により特定されるヘッドマウントディスプレイの第１姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成する基準画像生成部と、
前記第１の時点より後の第２の時点における前記検出部の検出結果により特定されるヘッドマウントディスプレイの第２姿勢と前記第１姿勢との差に応じて、前記ヘッドマウントディスプレイに表示させる表示画像の特定画素について、特定画素の画素値の設定元となる前記基準画像における対応画素を識別する対応画素識別部と、
前記表示画像における特定画素の画素値として、前記基準画像における対応画素の画素値を設定することにより、前記表示画像を生成する表示画像生成部と、
予測部と、
を備え、
前記表示画像生成部により生成された表示画像は、前記ヘッドマウントディスプレイの表示部における一端の走査線から他端の走査線へ順次表示されていき、
前記対応画素識別部は、前記表示部による前記表示画像の表示において前記表示画像の特定画素を表示する走査線が前記他端に近いほど、前記表示画像における特定画素の位置と前記基準画像における対応画素の位置との変化量を大きくし、
前記予測部は、前記第１の時点における前記検出部の検出結果に応じて、前記表示部の中央の走査線で画像が表示される時点の前記ヘッドマウントディスプレイの姿勢を前記第１姿勢として予測し、前記第２の時点における前記検出部の検出結果に応じて、前記表示部の中央の走査線で画像が表示される時点の前記ヘッドマウントディスプレイの姿勢を前記第２姿勢として予測し、
前記基準画像生成部は、前記予測部により予測された第１姿勢に応じて基準画像を生成し、
前記対応画素識別部は、前記第１姿勢と前記第２姿勢の差に応じて、前記表示部の中央の走査線で画像が表示される時点の対応画素である仮対応画素を識別し、
前記対応画素識別部は、前記特定画素が実際に表示される走査線が前記表示部の中央より前記他端側に位置する場合、前記表示画像における前記特定画素の位置と前記基準画像における実際の対応画素の位置との変化量が、前記表示画像における前記特定画素の位置と前記基準画像における前記仮対応画素の位置との変化量より大きくなるように、前記実際の対応画素を識別することを特徴とする情報処理装置。
【請求項３】
ユーザの頭部に装着されたヘッドマウントディスプレイの姿勢を検出する検出部と、
第１の時点における前記検出部の検出結果により特定されるヘッドマウントディスプレイの第１姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成する基準画像生成部と、
前記第１の時点より後の第２の時点における前記検出部の検出結果により特定されるヘッドマウントディスプレイの第２姿勢と前記第１姿勢との差に応じて、前記ヘッドマウントディスプレイに表示させる表示画像の特定画素について、特定画素の画素値の設定元となる前記基準画像における対応画素を識別する対応画素識別部と、
前記表示画像における特定画素の画素値として、前記基準画像における対応画素の画素値を設定することにより、前記表示画像を生成する表示画像生成部と、
予測部と、
を備え、
前記表示画像生成部により生成された表示画像は、前記ヘッドマウントディスプレイの表示部における一端の走査線から他端の走査線へ順次表示されていき、
前記対応画素識別部は、前記表示部による前記表示画像の表示において前記表示画像の特定画素を表示する走査線が前記他端に近いほど、前記表示画像における特定画素の位置と前記基準画像における対応画素の位置との変化量を大きくし、
前記予測部は、前記第１の時点における前記検出部の検出結果が取得された場合に、前記表示部の所定の走査線で画像が表示される時点を第１時点として予測し、第１時点の前記ヘッドマウントディスプレイの姿勢を前記第１姿勢として予測し、
前記基準画像生成部は、前記予測部により予測された第１姿勢に応じて基準画像を生成し、
前記予測部は、前記第２の時点における前記検出部の検出結果が取得された場合に、前記表示部の前記所定の走査線で画像が表示される時点を第２時点として予測し、第２時点の前記ヘッドマウントディスプレイの姿勢を前記第２姿勢として予測し、
前記対応画素識別部は、前記第１姿勢と前記第２姿勢の差に応じて、前記表示部の前記所定の走査線で画像が表示される時点の対応画素である仮対応画素を識別し、
前記対応画素識別部は、前記第１時点と前記第２時点の時間差、および、前記特定画素が実際に表示される走査線の位置に応じて、前記表示画像における前記特定画素の位置と前記基準画像における前記仮対応画素の位置とを通る線上に前記特定画素に対する実際の対応画素を識別することを特徴とする情報処理装置。
【請求項４】
ユーザの頭部に装着されたヘッドマウントディスプレイの姿勢を検出するステップと、
第１の時点の検出結果により特定されるヘッドマウントディスプレイの第１姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成するステップと、
前記第１の時点より後の第２の時点の検出結果により特定されるヘッドマウントディスプレイの第２姿勢と前記第１姿勢との差に応じて、前記ヘッドマウントディスプレイに表示させる表示画像の特定画素について、特定画素の画素値の設定元となる前記基準画像における対応画素を識別するステップと、
前記表示画像における特定画素の画素値として、前記基準画像における対応画素の画素値を設定することにより、前記表示画像を生成するステップと、
をコンピュータが実行し、
前記表示画像は、前記ヘッドマウントディスプレイの表示部における一端の走査線から他端の走査線へ順次表示されていき、
前記識別するステップは、前記表示部による前記表示画像の表示において前記表示画像の特定画素を表示する走査線が前記他端に近いほど、前記表示画像における特定画素の位置と前記基準画像における対応画素の位置との変化量を大きくし、
前記識別するステップは、前記第１姿勢と前記第２姿勢の差、および、前記表示部における画像表示の所要時間に応じて、前記表示部の前記一端の走査線で画像が表示される時点の対応画素である第１画素を識別するとともに、前記表示部の前記他端の走査線で表示される時点の対応画素である第２画素を識別し、
前記識別するステップは、前記特定画素が実際に表示される走査線の位置に応じて、前記第１画素と前記第２画素の間から前記特定画素に対する実際の対応画素を識別することを特徴とする画像生成方法。
【請求項５】
ユーザの頭部に装着されたヘッドマウントディスプレイの姿勢を検出するステップと、
第１の時点の検出結果により特定されるヘッドマウントディスプレイの第１姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成するステップと、
前記第１の時点より後の第２の時点の検出結果により特定されるヘッドマウントディスプレイの第２姿勢と前記第１姿勢との差に応じて、前記ヘッドマウントディスプレイに表示させる表示画像の特定画素について、特定画素の画素値の設定元となる前記基準画像における対応画素を識別するステップと、
前記表示画像における特定画素の画素値として、前記基準画像における対応画素の画素値を設定することにより、前記表示画像を生成するステップと、
をコンピュータが実行し、
前記表示画像は、前記ヘッドマウントディスプレイの表示部における一端の走査線から他端の走査線へ順次表示されていき、
前記識別するステップは、前記表示部による前記表示画像の表示において前記表示画像の特定画素を表示する走査線が前記他端に近いほど、前記表示画像における特定画素の位置と前記基準画像における対応画素の位置との変化量を大きくし、
前記コンピュータは、前記第１の時点の検出結果に応じて、前記表示部の中央の走査線で画像が表示される時点の前記ヘッドマウントディスプレイの姿勢を前記第１姿勢として予測し、前記第２の時点の検出結果に応じて、前記表示部の中央の走査線で画像が表示される時点の前記ヘッドマウントディスプレイの姿勢を前記第２姿勢として予測するステップをさらに実行し、
前記基準画像を生成するステップは、予測された第１姿勢に応じて基準画像を生成し、
前記識別するステップは、前記第１姿勢と前記第２姿勢の差に応じて、前記表示部の中央の走査線で画像が表示される時点の対応画素である仮対応画素を識別し、
前記識別するステップは、前記特定画素が実際に表示される走査線が前記表示部の中央より前記他端側に位置する場合、前記表示画像における前記特定画素の位置と前記基準画像における実際の対応画素の位置との変化量が、前記表示画像における前記特定画素の位置と前記基準画像における前記仮対応画素の位置との変化量より大きくなるように、前記実際の対応画素を識別することを特徴とする画像生成方法。
【請求項６】
ユーザの頭部に装着されたヘッドマウントディスプレイの姿勢を検出するステップと、
第１の時点の検出結果により特定されるヘッドマウントディスプレイの第１姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成するステップと、
前記第１の時点より後の第２の時点の検出結果により特定されるヘッドマウントディスプレイの第２姿勢と前記第１姿勢との差に応じて、前記ヘッドマウントディスプレイに表示させる表示画像の特定画素について、特定画素の画素値の設定元となる前記基準画像における対応画素を識別するステップと、
前記表示画像における特定画素の画素値として、前記基準画像における対応画素の画素値を設定することにより、前記表示画像を生成するステップと、
をコンピュータが実行し、
前記表示画像は、前記ヘッドマウントディスプレイの表示部における一端の走査線から他端の走査線へ順次表示されていき、
前記識別するステップは、前記表示部による前記表示画像の表示において前記表示画像の特定画素を表示する走査線が前記他端に近いほど、前記表示画像における特定画素の位置と前記基準画像における対応画素の位置との変化量を大きくし、
前記コンピュータは、前記第１の時点の検出結果が取得された場合に、前記表示部の所定の走査線で画像が表示される時点を第１時点として予測し、第１時点の前記ヘッドマウントディスプレイの姿勢を前記第１姿勢として予測するステップをさらに実行し、
前記基準画像を生成するステップは、予測された第１姿勢に応じて基準画像を生成し、
前記コンピュータは、前記第２の時点の検出結果が取得された場合に、前記表示部の前記所定の走査線で画像が表示される時点を第２時点として予測し、第２時点の前記ヘッドマウントディスプレイの姿勢を前記第２姿勢として予測するステップをさらに実行し、
前記識別するステップは、前記第１姿勢と前記第２姿勢の差に応じて、前記表示部の前記所定の走査線で画像が表示される時点の対応画素である仮対応画素を識別し、
前記識別するステップは、前記第１時点と前記第２時点の時間差、および、前記特定画素が実際に表示される走査線の位置に応じて、前記表示画像における前記特定画素の位置と前記基準画像における前記仮対応画素の位置とを通る線上に前記特定画素に対する実際の対応画素を識別することを特徴とする画像生成方法。
【請求項７】
ユーザの頭部に装着されたヘッドマウントディスプレイの姿勢を検出する機能と、
第１の時点の検出結果により特定されるヘッドマウントディスプレイの第１姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成する機能と、
前記第１の時点より後の第２の時点の検出結果により特定されるヘッドマウントディスプレイの第２姿勢と前記第１姿勢との差に応じて、前記ヘッドマウントディスプレイに表示させる表示画像の特定画素について、特定画素の画素値の設定元となる前記基準画像における対応画素を識別する機能と、
前記表示画像における特定画素の画素値として、前記基準画像における対応画素の画素値を設定することにより、前記表示画像を生成する機能と、
をコンピュータに実現させ、
前記表示画像は、前記ヘッドマウントディスプレイの表示部における一端の走査線から他端の走査線へ順次表示されていき、
前記識別する機能は、前記表示部による前記表示画像の表示において前記表示画像の特定画素を表示する走査線が前記他端に近いほど、前記表示画像における特定画素の位置と前記基準画像における対応画素の位置との変化量を大きくし、
前記識別する機能は、前記第１姿勢と前記第２姿勢の差、および、前記表示部における画像表示の所要時間に応じて、前記表示部の前記一端の走査線で画像が表示される時点の対応画素である第１画素を識別するとともに、前記表示部の前記他端の走査線で表示される時点の対応画素である第２画素を識別し、
前記識別する機能は、前記特定画素が実際に表示される走査線の位置に応じて、前記第１画素と前記第２画素の間から前記特定画素に対する実際の対応画素を識別することを特徴とするコンピュータプログラム。
【請求項８】
ユーザの頭部に装着されたヘッドマウントディスプレイの姿勢を検出する機能と、
第１の時点の検出結果により特定されるヘッドマウントディスプレイの第１姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成する機能と、
前記第１の時点より後の第２の時点の検出結果により特定されるヘッドマウントディスプレイの第２姿勢と前記第１姿勢との差に応じて、前記ヘッドマウントディスプレイに表示させる表示画像の特定画素について、特定画素の画素値の設定元となる前記基準画像における対応画素を識別する機能と、
前記表示画像における特定画素の画素値として、前記基準画像における対応画素の画素値を設定することにより、前記表示画像を生成する機能と、
予測機能と、
をコンピュータに実現させ、
前記表示画像は、前記ヘッドマウントディスプレイの表示部における一端の走査線から他端の走査線へ順次表示されていき、
前記識別する機能は、前記表示部による前記表示画像の表示において前記表示画像の特定画素を表示する走査線が前記他端に近いほど、前記表示画像における特定画素の位置と前記基準画像における対応画素の位置との変化量を大きくし、
前記予測機能は、前記第１の時点の検出結果に応じて、前記表示部の中央の走査線で画像が表示される時点の前記ヘッドマウントディスプレイの姿勢を前記第１姿勢として予測し、前記第２の時点の検出結果に応じて、前記表示部の中央の走査線で画像が表示される時点の前記ヘッドマウントディスプレイの姿勢を前記第２姿勢として予測し、
前記基準画像を生成する機能は、予測された第１姿勢に応じて基準画像を生成し、
前記識別する機能は、前記第１姿勢と前記第２姿勢の差に応じて、前記表示部の中央の走査線で画像が表示される時点の対応画素である仮対応画素を識別し、
前記識別する機能は、前記特定画素が実際に表示される走査線が前記表示部の中央より前記他端側に位置する場合、前記表示画像における前記特定画素の位置と前記基準画像における実際の対応画素の位置との変化量が、前記表示画像における前記特定画素の位置と前記基準画像における前記仮対応画素の位置との変化量より大きくなるように、前記実際の対応画素を識別することを特徴とするコンピュータプログラム。
【請求項９】
ユーザの頭部に装着されたヘッドマウントディスプレイの姿勢を検出する機能と、
第１の時点の検出結果により特定されるヘッドマウントディスプレイの第１姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成する機能と、
前記第１の時点より後の第２の時点の検出結果により特定されるヘッドマウントディスプレイの第２姿勢と前記第１姿勢との差に応じて、前記ヘッドマウントディスプレイに表示させる表示画像の特定画素について、特定画素の画素値の設定元となる前記基準画像における対応画素を識別する機能と、
前記表示画像における特定画素の画素値として、前記基準画像における対応画素の画素値を設定することにより、前記表示画像を生成する機能と、
予測機能と、
をコンピュータに実現させ、
前記表示画像は、前記ヘッドマウントディスプレイの表示部における一端の走査線から他端の走査線へ順次表示されていき、
前記識別する機能は、前記表示部による前記表示画像の表示において前記表示画像の特定画素を表示する走査線が前記他端に近いほど、前記表示画像における特定画素の位置と前記基準画像における対応画素の位置との変化量を大きくし、
前記予測機能は、前記第１の時点の検出結果が取得された場合に、前記表示部の所定の走査線で画像が表示される時点を第１時点として予測し、第１時点の前記ヘッドマウントディスプレイの姿勢を前記第１姿勢として予測し、
前記基準画像を生成する機能は、予測された第１姿勢に応じて基準画像を生成し、
前記予測機能は、前記第２の時点の検出結果が取得された場合に、前記表示部の前記所定の走査線で画像が表示される時点を第２時点として予測し、第２時点の前記ヘッドマウントディスプレイの姿勢を前記第２姿勢として予測し、
前記識別する機能は、前記第１姿勢と前記第２姿勢の差に応じて、前記表示部の前記所定の走査線で画像が表示される時点の対応画素である仮対応画素を識別し、
前記識別する機能は、前記第１時点と前記第２時点の時間差、および、前記特定画素が実際に表示される走査線の位置に応じて、前記表示画像における前記特定画素の位置と前記基準画像における前記仮対応画素の位置とを通る線上に前記特定画素に対する実際の対応画素を識別することを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ヘッドマウントディスプレイに表示する画像を生成する技術に関する。
【背景技術】
【０００２】
ヘッドマウントディスプレイ（以下「ＨＭＤ」とも呼ぶ。）はユーザの頭部に装着されて仮想現実（ＶＲ）の世界をユーザに提供する。最近ではユーザがＨＭＤに表示された画面を見ながらゲームをプレイできるアプリケーションも登場している。テレビなどの従来型の据え置き型のディスプレイでは画面外側にもユーザの視野範囲が広がるため、ユーザが画面に集中できなかったり、ゲームへの没入感を欠くことがある。その点、ＨＭＤを装着すると、ＨＭＤに表示される映像しかユーザは見ないため、映像世界への没入感が高まり、ゲームのエンタテインメント性を一層高める効果がある。ＨＭＤにヘッドトラッキング機能をもたせ、ユーザの頭部の姿勢と連動して表示画面を更新するようにすると、さらに映像世界への没入感が向上する。
【０００３】
近年、上下左右全方位の３６０度パノラマ写真を撮影する全天球カメラ（全方位カメラ）が普及している。また遠隔操縦可能な無人飛行物体の開発も進められており、このような飛行物体に複数カメラを搭載することで、空中から上下左右全方位のパノラマ写真を撮影できる。このように撮影された全方位パノラマ画像をＨＭＤに表示させ、ヘッドトラッキング機能によりユーザの頭部の姿勢と連動して表示画面を更新することで、現実の場所にいるかのような感覚をユーザに与えられることが期待される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−９５０４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＨＭＤの姿勢の検出から当該姿勢に応じた画像の表示までにはある程度の時間を要する。そのため、表示される画像の基礎となったＨＭＤの姿勢と画像が表示されるタイミングにおけるＨＭＤの姿勢との間にはある程度のずれが生じる。このずれのためにＨＭＤに表示される画像がユーザに違和感を与えることがあった。
【０００６】
ここで例えば、検出されたＨＭＤの姿勢に基づいて第１画像を生成した後に、ＨＭＤの姿勢を新たに検出し、新たに検出された姿勢に基づいて、第１画像にアフィン変換等の変換を加えた第２画像を生成し、その第２画像を表示させるようにすることが考えられる。こうすれば、ＨＭＤに表示される画像がユーザに与える違和感は低減される。
【０００７】
しかし、ＨＭＤは、表示対象画像の全ての画素を同時に表示するのではなく、画像内のある領域の画素を先に表示し、別の領域の画素を後に表示するように構成されることがある。例えば、表示対象画像の画素を上の走査線から下の走査線へ順次表示させていくことがある。この場合、画像内の画素の表示が開始されてから完了するまでの間にＨＭＤの姿勢が変化し、ＨＭＤに表示される画像がユーザに違和感を与えることがあった。
【０００８】
本発明はこうした課題に鑑みてなされたものであり、その目的は、ＨＭＤに適した表示制御を実現する技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある態様の情報処理装置は、ユーザの頭部に装着されたヘッドマウントディスプレイの姿勢を検出する検出部と、第１の時点における検出部の検出結果により特定されるヘッドマウントディスプレイの第１姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成する基準画像生成部と、第１の時点より後の第２の時点における検出部の検出結果により特定されるヘッドマウントディスプレイの第２姿勢と第１姿勢との差に応じて、基準画像から、ヘッドマウントディスプレイに表示させる表示画像を生成する表示画像生成部と、を備える。表示画像生成部は、ヘッドマウントディスプレイの表示部による表示画像の表示において表示画像の特定画素の表示タイミングが後であるほど、表示画像における特定画素の位置と、特定画素の画素値の設定元となる基準画像における対応画素の位置との変化量を大きくする。
【００１０】
本発明の別の態様は、画像生成方法である。この方法は、ユーザの頭部に装着されたヘッドマウントディスプレイの姿勢を検出するステップと、第１の時点の検出結果により特定されるヘッドマウントディスプレイの第１姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成するステップと、第１の時点より後の第２の時点の検出結果により特定されるヘッドマウントディスプレイの第２姿勢と第１姿勢との差に応じて、基準画像から、ヘッドマウントディスプレイに表示させる表示画像を生成するステップと、をコンピュータが実行し、表示画像を生成するステップは、ヘッドマウントディスプレイの表示部による表示画像の表示において表示画像の特定画素の表示タイミングが後であるほど、表示画像における特定画素の位置と、特定画素の画素値の設定元となる基準画像における対応画素の位置との変化量を大きくする。
【００１１】
なお、以上の構成要素の任意の組合せ、本発明の表現を、システム、コンピュータプログラムを読み取り可能に記録した記録媒体、データ構造などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１２】
本発明によれば、ＨＭＤに適した表示制御を実現する技術を提供できる。
【図面の簡単な説明】
【００１３】
【図１】実施例における情報処理システムの構成例を示す図である。
【図２】情報処理装置におけるレンダリング処理の説明図である。
【図３】ＨＭＤの外観形状の例を示す図である。
【図４】ＨＭＤの機能ブロックを示す図である。
【図５】情報処理装置の機能ブロックを示す図である。
【図６】画像記憶部に記憶されるパノラマ画像データを説明するための図である。
【図７】表示画像を示す図である。
【図８】表示画像を示す図である。
【図９】表示画像を示す図である。
【図１０】通常のＨＭＤシステムにおける画像生成と表示の流れを模式的に示す図である。
【図１１】リプロジェクションを含む画像生成と表示の流れを模式的に示す図である。
【図１２】リプロジェクション前後の画像の例を示す図である。
【図１３】単純なリプロジェクションを模式的に示す図である。
【図１４】実施例のリプロジェクションを模式的に示す図である。
【図１５】図５の画像生成部の詳細を示すブロック図である。
【図１６】対応画素識別の方法を模式的に示す図である。
【図１７】対応画素識別の方法を模式的に示す図である。
【図１８】対応画素識別の方法を模式的に示す図である。
【発明を実施するための形態】
【００１４】
（第１の実施の形態）
図１は、実施例における情報処理システム１の構成例を示す。情報処理システム１は、情報処理装置１０と、ユーザが頭部に装着するヘッドマウントディスプレイ装置（ＨＭＤ）１００と、ユーザが手指で操作する入力装置６と、ＨＭＤ１００を装着したユーザを撮影する撮像装置７と、画像を表示する出力装置４とを備える。
【００１５】
実施例において情報処理装置１０は、処理装置１２、出力制御装置１４を備える。ここで処理装置１２は、ユーザにより操作された入力装置６の操作情報を受けて、ゲームなど様々なアプリケーションを実行する端末装置である。処理装置１２と入力装置６とはケーブルで接続されても、既知の無線通信技術により接続されてもよい。出力制御装置１４はＨＭＤ１００に対して画像データを出力する処理ユニットである。出力制御装置１４とＨＭＤ１００とはケーブルで接続されても、既知の無線通信技術により接続されてもよい。
【００１６】
撮像装置７はＨＭＤ１００を装着したユーザを撮影して、処理装置１２に提供する。撮像装置７はステレオカメラであってよい。後述するがＨＭＤ１００には、ユーザ頭部のトラッキングを実現するためのマーカ（トラッキング用ＬＥＤ）が搭載されており、処理装置１２は、撮影したマーカの位置にもとづいて、ＨＭＤ１００の動きを検出する。なおＨＭＤ１００には姿勢センサ（加速度センサ、ジャイロセンサ）も搭載され、処理装置１２は、姿勢センサで検出されたセンサ情報をＨＭＤ１００から取得することで、マーカの撮影画像の利用とあわせて、高精度のトラッキング処理を実現する。
【００１７】
情報処理システム１において、ユーザはＨＭＤ１００に表示された画像を見るため、出力装置４は必ずしも必要ではないが、出力制御装置１４または処理装置１２は、ＨＭＤ１００に表示させる画像と同じ画像を、出力装置４から出力させてもよい。これによりユーザがＨＭＤ１００で見ている画像を、別のユーザが出力装置４で見ることができる。なお後述するがＨＭＤ１００に表示させる画像には、光学レンズの歪み補正が施されているため、歪み補正を行っていない画像が出力装置４から出力される必要がある。
【００１８】
情報処理システム１において、処理装置１２、出力装置４、入力装置６および撮像装置７は、従来型のゲームシステムを構築してよい。この場合、処理装置１２は、ゲームなどのアプリケーションを実行するゲーム装置であり、入力装置６はゲームコントローラ、キーボード、マウス、ジョイスティックなど処理装置１２にユーザの操作情報を供給する機器であってよい。このゲームシステムの構成要素に、出力制御装置１４およびＨＭＤ１００を追加することで、仮想現実（ＶＲ）アプリケーションを実行する情報処理システム１が構成される。
【００１９】
なお出力制御装置１４による機能は、ＶＲアプリケーションの一部の機能として処理装置１２に組み込まれてもよい。つまり情報処理装置１０は、１台の処理装置１２から構成されても、また処理装置１２および出力制御装置１４から構成されてもよい。以下においては、ＶＲアプリケーションの実現に必要な処理装置１２、出力制御装置１４の機能をまとめて、情報処理装置１０の機能として説明する。
【００２０】
情報処理装置１０はＨＭＤ１００に表示させる画像データを生成する。実施例において情報処理装置１０は、全天球カメラで撮影された上下左右全方位の３６０度パノラマ画像を用意し、ユーザの頭部に装着されたＨＭＤ１００の姿勢から定まる視線方向にもとづいて生成した画像をＨＭＤ１００に表示させる。なお表示コンテンツは、静止画または動画のいずれであってもよい。また実撮影された画像に限るものでもなく、ゲームアプリケーションによりリアルタイムで描画されたものであってもよい。
【００２１】
ＨＭＤ１００は、ユーザが頭に装着することによりその眼前に位置する表示パネルに、光学レンズを通して画像を表示する表示装置である。ＨＭＤ１００は、表示パネルの左半分には左目用の画像を、右半分には右目用の画像をそれぞれ独立して表示する。これらの画像は、左右の視点から見た視差画像を形成し、表示パネルを２分割してなる左右の領域にそれぞれ表示させることで、画像を立体視させることができる。なおユーザは光学レンズを通して表示パネルを見るために、情報処理装置１０は、予めレンズによる光学歪みを補正した画像データをＨＭＤ１００に供給する。情報処理装置１０において、この光学歪みの補正処理は、処理装置１２、出力制御装置１４のいずれが行ってもよい。
【００２２】
図２は、情報処理装置１０におけるレンダリング処理の説明図である。実施例のＶＲアプリケーションでは、ユーザが球体の中心に位置し、視線の方向を変更することで、見える画像が変更される仮想環境を実現する。画像素材であるコンテンツ画像は、ユーザが位置する中心点９を中心とする仮想球体の内周面に貼り付けられている。ここでコンテンツ画像は、全天球カメラで撮影された上下左右全方位の３６０度パノラマ画像であり、コンテンツ画像の天地と仮想球体の天地とが一致するように仮想球体の内周面に貼り付けられる。これによりユーザの実世界の天地と、ＨＭＤ１００に提供される映像世界の天地とが揃えられ、リアルな映像世界を再現するＶＲアプリケーションが実現される。
【００２３】
情報処理装置１０は、ユーザのヘッドトラッキング処理を行うことで、ユーザ頭部（実際にはＨＭＤ１００）の回転角度および傾きを検出する。ここでＨＭＤ１００の回転角度とは、水平面の基準方向に対する回転角度であり、基準方向は、たとえばＨＭＤ１００の電源がオンされたときに向いている方向として設定されてよい。またＨＭＤ１００の傾きとは、水平面に対する傾斜角度である。ヘッドトラッキング処理として既知の技術が利用されてよく、情報処理装置１０は、ＨＭＤ１００の姿勢センサが検出したセンサ情報のみから、ＨＭＤ１００の回転角度および傾きを検出でき、さらに撮像装置７で撮影したＨＭＤ１００のマーカ（トラッキング用ＬＥＤ）を画像解析することで、高精度にＨＭＤ１００の回転角度および傾きを検出できる。
【００２４】
情報処理装置１０は、検出したＨＭＤ１００の回転角度および傾きにしたがって、仮想球体における仮想カメラ８の姿勢を定める。仮想カメラ８は、仮想球体の中心点９から仮想球体の内周面を撮影するように配置されており、情報処理装置１０は、検出した回転角度および傾きと、仮想球体における仮想カメラ８の光軸の回転角度および傾きを一致させる。情報処理装置１０は、仮想カメラ８の撮影画像５を取得し、つまりレンダリング処理を行って、光学レンズ用の光学歪み補正を施し、ＨＭＤ１００に画像データを供給する。なお図２においては１つの仮想カメラ８が示されているが、実際には左目用と右目用の２つの仮想カメラ８が配置されて、それぞれの画像データが生成される。
【００２５】
図３は、ＨＭＤ１００の外観形状の例を示す。この例においてＨＭＤ１００は、出力機構部１０２および装着機構部１０４から構成される。装着機構部１０４は、ユーザが被ることにより頭部を一周してＨＭＤ１００を頭部に固定する装着バンド１０６を含む。装着バンド１０６はユーザの頭囲に合わせて長さの調節が可能な素材または構造とする。
【００２６】
出力機構部１０２は、ＨＭＤ１００をユーザが装着した状態において左右の目を覆う形状の筐体１０８を含み、内部には装着時に目に正対する位置に表示パネルを備える。表示パネルは、ＶＲ画像をユーザの視野に提示する表示部である。表示パネルは、既知のディスプレイ装置であってよく、例えば液晶パネルや有機ＥＬパネルなどで実現してもよい。筐体１０８内部にはさらに、ＨＭＤ１００装着時に表示パネルとユーザの目との間に位置し、ユーザの視野角を拡大する左右一対の光学レンズが備えられる。ＨＭＤ１００はさらに、装着時にユーザの耳に対応する位置にスピーカーやイヤホンを備えてよい。
【００２７】
筐体１０８の外面には、発光マーカ１１０ａ、１１０ｂ、１１０ｃ、１１０ｄが備えられる。この例ではトラッキング用ＬＥＤが発光マーカ１１０を構成するが、その他の種類のマーカであってよく、いずれにしても撮像装置７により撮影されて、情報処理装置１０が画像解析可能なものであればよい。発光マーカ１１０の数や配置は特に限定されないが、撮影されて画像解析されることで、ＨＭＤ１００の姿勢（回転角度および傾き）が検出されるような数および配置である必要があり、図示した例では筐体１０８の前面の４隅に設けている。さらにユーザが撮像装置７に対して背を向けたときにも撮像できるように、発光マーカ１１０は装着バンド１０６の側部や後部に設けられてもよい。
【００２８】
ＨＭＤ１００は、情報処理装置１０にケーブルで接続されても、既知の無線通信技術により接続されてもよい。ＨＭＤ１００は、姿勢センサが検出したセンサ情報を情報処理装置１０に送信し、また情報処理装置１０で生成された画像データを受信して、表示パネルに表示する。
【００２９】
なお図３に示すＨＭＤ１００は、両目を完全に覆う没入型（非透過型）のディスプレイ装置を示すが、透過型のディスプレイ装置であってもよい。また形状としては、図示されるような帽子型であってもよいが、眼鏡型であってもよい。
【００３０】
図４は、ＨＭＤ１００の機能ブロックを示す。制御部１２０は、画像データ、音声データ、センサ情報などの各種データや、命令を処理して出力するメインプロセッサである。記憶部１２２は、制御部１２０が処理するデータや命令などを一時的に記憶する。姿勢センサ１２４は、ＨＭＤ１００の回転角度や傾きなどの姿勢情報を検出する。姿勢センサ１２４は、少なくとも３軸の加速度センサおよび３軸のジャイロセンサを含む。マイク１２６は、ユーザの声を電気信号に変換する。発光マーカ１１０は、ＬＥＤであって、ＨＭＤ１００の装着バンド１０６や筐体１０８に複数取り付けられる。
【００３１】
通信制御部１２８は、ネットワークアダプタまたはアンテナを介して、有線または無線通信により、制御部１２０から入力されるデータを外部の情報処理装置１０に送信する。また通信制御部１２８は、ネットワークアダプタまたはアンテナを介して、有線または無線通信により、情報処理装置１０からデータを受信し、制御部１２０に出力する。
【００３２】
制御部１２０は、画像データや音声データを情報処理装置１０から受け取ると、表示パネル１３０に供給して表示させ、また音声出力部１３２に供給して音声出力させる。また制御部１２０は、姿勢センサ１２４からのセンサ情報や、マイク１２６からの音声データを、通信制御部１２８から情報処理装置１０に送信させる。
【００３３】
図５は、情報処理装置１０の機能ブロックを示す。情報処理装置１０は、外部との入力インタフェースとして、センサ情報取得部２０、撮影画像取得部２２、指示取得部２４および環境情報取得部３２２を備える。センサ情報取得部２０は、ＨＭＤ１００の姿勢センサ１２４から所定の周期でセンサ情報を取得する。撮影画像取得部２２は、撮像装置７から所定の周期でＨＭＤ１００を撮像した撮影画像を取得する。たとえば撮像装置７は（１／１２０）秒ごとに撮影し、撮影画像取得部２２は、（１／１２０）秒ごとに撮影画像を取得する。指示取得部２４は、入力装置６から、ユーザが入力した指示を取得する。
【００３４】
情報処理装置１０は、さらに動き検出部３０、視線方向決定部３２、画像生成部３４、画像提供部３６を備える。動き検出部３０は、ユーザの頭部に装着されたＨＭＤ１００の姿勢を検出する。視線方向決定部３２は、動き検出部３０により検出されたＨＭＤ１００の姿勢に応じて視線方向を定める。画像生成部３４は、検出されたＨＭＤ１００の姿勢に応じて画像を生成し、具体的には、視線方向決定部３２が定めた視線方向にもとづく画像を生成する。画像提供部３６は、生成した画像をＨＭＤ１００に提供する。
【００３５】
図５において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００３６】
画像記憶部４０は、予め撮影された３６０度パノラマ画像データを記憶する。画像記憶部４０は複数のコンテンツ画像を記憶してよく、コンテンツ画像は静止画像であっても、動画像であってもよい。実施例の画像記憶部４０は、上下左右全方位のパノラマ画像データを記憶しており、情報処理装置１０は、ＨＭＤ１００を装着したユーザに、全方位のパノラマ画像を提供する。したがってユーザが首を左または右に回し（ユーザが体ごと左回りまたは右回りに回転してもよい）水平方向の視線を左または右に回転させることで、左方向または右方向のパノラマ画像がＨＭＤ１００の表示パネル１３０に表示され、またユーザが首を上または下に傾けて、垂直方向に視線を傾けることで、上方向または下方向のパノラマ画像がＨＭＤ１００の表示パネル１３０に表示されるようになる。
【００３７】
環境情報記憶部３２０は、ＨＭＤ１００における画像の表示環境に関する情報（以下「表示環境情報」とも呼ぶ。）を記憶する。表示環境情報は、ＨＭＤ１００の表示パネル１３０の画面解像度と、リフレッシュレート（言い換えれば垂直走査周波数）を含む。画面解像度は、表示パネル１３０の縦横の画素数を含む情報であり、すなわち表示パネル１３０の走査線数を特定可能な情報である。表示環境情報は、情報処理装置１０で実行されるＶＲアプリケーションにおいて固定的に定められてもよいが、実施例ではＨＭＤ１００から自動取得する。
【００３８】
環境情報取得部３２２は、ＨＭＤ１００の表示環境情報をＨＭＤ１００から取得する。例えば、環境情報取得部３２２は、情報処理装置１０におけるＶＲアプリケーション起動時に、表示環境情報の提供をＨＭＤ１００へ要求し、表示環境情報をＨＭＤ１００から自動で取得して環境情報記憶部３２０へ格納する。変形例として、ＨＭＤ１００または表示パネル１３０の種類と表示環境情報との対応関係を予め保持し、ＨＭＤ１００または表示パネル１３０の種類を自動で検出して、その種類に対応する表示環境情報を環境情報記憶部３２０へ格納してもよい。また、環境情報取得部３２２は、ＨＭＤ１００の表示環境情報をユーザに入力させるための画面を提供してもよく、ユーザが入力装置６を介して入力した表示環境情報を取得して環境情報記憶部３２０へ格納してもよい。
【００３９】
図６は、画像記憶部４０に記憶されるパノラマ画像データを説明するための図である。なお説明の便宜上、図６は、上下左右全方位のパノラマ画像データの一部を示し、水平面から下向きの画像の一部、および左右方向の画像の一部を省略している。図２に関して説明したように、ＨＭＤ１００の表示パネル１３０には、仮想球体の内周面に貼り付けられたパノラマ画像をレンダリングした画像が表示され、ユーザがＨＭＤ１００の回転角度および傾きを動かして視線方向を変化させることで、表示されるパノラマ画像が視線方向に応じて動かされる。
【００４０】
ＨＭＤ１００において通信制御部１２８は、所定の周期で、姿勢センサ１２４により取得したセンサ情報を情報処理装置１０に送信する。また撮像装置７は、ＨＭＤ１００を所定の周期で撮像し、撮影画像を情報処理装置１０に送信する。図５を参照して、センサ情報取得部２０は、姿勢センサ１２４のセンサ情報を取得し、動き検出部３０に供給する。また撮影画像取得部２２は、撮影画像を取得し、動き検出部３０に供給する。
【００４１】
動き検出部３０は、ＨＭＤ１００の姿勢を検出することで、ＨＭＤ１００を装着したユーザの頭部の姿勢を検出するヘッドトラッキング処理を行う。このヘッドトラッキング処理は、ユーザの頭部の姿勢に、ＨＭＤ１００の表示パネル１３０に表示する視野を連動させるために行われる。実施例のヘッドトラッキング処理では、ＨＭＤ１００の水平基準方向に対する回転角度と、水平面に対する傾き角度とが検出される。水平基準方向は、たとえばＨＭＤ１００の電源がオンされたときに向いている方向として設定されてよい。
【００４２】
このヘッドトラッキング処理は既知の手法を利用し、動き検出部３０は、姿勢センサ１２４のセンサ情報のみからＨＭＤ１００の水平基準方向に対する回転角度と、水平面に対する傾き角度とを検出してよいが、トラッキング用の発光マーカ１１０の撮影結果をさらに利用して、検出精度を高めることが好ましい。動き検出部３０は、所定の周期で回転角度および傾き角度を検出する。たとえばＨＭＤ１００に供給する画像が１２０ｆｐｓであれば、動き検出部３０の検出処理も（１／１２０）秒の周期で実行されることが好ましい。
【００４３】
視線方向決定部３２は、動き検出部３０により検出されたＨＭＤ１００の姿勢に応じて、視線方向を定める。この視線方向は、ユーザの視線方向であり、ひいては仮想球体の中心点９に配置される仮想カメラ８の視線方向（光軸方向）である（図２参照）。ここで視線方向決定部３２は、動き検出部３０により検出された回転角度および傾き角度を、そのまま仮想カメラ８の視線方向（光軸方向）として決定してもよく、また何らかの補正処理を行って仮想カメラ８の視線方向を決定してもよい。たとえばセンサ情報にノイズがのるなどして、安定したセンサ情報が動き検出部３０に提供されない場合、動き検出部３０は、ユーザ頭部が動いてないにもかかわらず、振動するような動きを検出する可能性がある。そのような場合、視線方向決定部３２は、動き検出部３０により検出された動きを平滑補正して、視線方向を定めてもよい。
【００４４】
また人間の視野は上下が非対称で、視線の上側より下側が若干広くなっている。そのため視線方向決定部３２は、動き検出部３０により検出された傾き角度を若干下側に傾けて、仮想カメラ８の視線方向を定めてもよい。
【００４５】
画像生成部３４は、動き検出部３０が検出したＨＭＤ１００の姿勢に応じて画像を生成し、具体的には視線方向決定部３２が定めた仮想カメラ８の視線方向にもとづく画像を生成する。画像生成部３４は、視線方向により特定される左目用の視野と右目用の視野とを画定し、左目用と右目用の画像をそれぞれレンダリングして生成する。このとき画像生成部３４は、表示パネルからの画像光が光学レンズを通過することによる歪みを補正したパノラマ画像を生成する。
【００４６】
実施例のＨＭＤ１００は、水平方向に約１００度、垂直方向に約１００度の視野をユーザに提供する。図２を参照して、仮想球体において撮影画像５は、水平方向に約１００度、垂直方向に約１００度の画角で撮影され、ＨＭＤ１００の表示パネル１３０に表示される。なお上記したように人間の視野は、視線の上側より下側が若干広くなっていることから、ＨＭＤ１００において光学レンズおよび表示パネル１３０は、目の正対方向に対して５度傾けられて、上側４５度、下側５５度の垂直視野を、光学レンズおよび表示パネル１３０の配置により実現してもよい。
【００４７】
図７は、画像生成部３４により生成される表示画像２００ａを示す。なお以下の図面においては、パノラマ画像全体の中での表示画像の位置関係の理解を容易にするために、表示画像をパノラマ画像において切り出す画像として表現している。
【００４８】
画像生成部３４は、視線方向決定部３２が定めた視線方向２０２ａにもとづく画像を生成する。なお実際には画像生成部３４は、左目用の表示画像と右目用の表示画像をそれぞれレンダリングして生成し、これらの表示画像は互いに視差を含む異なる画像であるが、以下では両目用の画像をそれぞれ生成することについて特に説明しない。画像提供部３６は、画像生成部３４が生成した表示画像２００ａをＨＭＤ１００に提供する。ＨＭＤ１００において制御部１２０は表示画像２００ａを表示パネル１３０に表示させ、これによりユーザは、表示パネル１３０に表示される表示画像２００ａを見ることができる。
【００４９】
図８は、画像生成部３４により生成される表示画像２００ｂを示す。視線方向決定部３２はＨＭＤ１００の姿勢に応じて視線方向を定め、画像生成部３４は、定めた視線方向にもとづいて画像を生成する。この例では、ユーザが水平方向に首を左回りに回して、視線が視線方向２０２ａから視線方向２０２ｂに連続して変化した様子を示す。ここではユーザが頭部を左回りに約６０度回転し、この回転動作により、画像生成部３４は、表示画像２００ａから左回り方向に連続してパノラマ画像を動かす画像を（１／１２０）秒の周期で生成する。画像提供部３６は、生成された画像を（１／１２０）秒の周期でＨＭＤ１００に提供する。
【００５０】
図９は、画像生成部３４により生成される表示画像２００ｃを示す。視線方向決定部３２はＨＭＤ１００の姿勢に応じて視線方向を定め、画像生成部３４は、定めた視線方向にもとづいて画像を生成する。この例では、表示画像２００ａが表示パネル１３０に表示された状態からユーザが上向きに首を傾けて、視線が視線方向２０２ａから視線方向２０２ｃに連続して変化した様子を示す。ここではユーザが頭部を上向きに約３０度傾け、この傾斜動作により、画像生成部３４は、表示画像２００ａから上向き方向に連続してパノラマ画像を動かす画像を（１／１２０）秒の周期で生成する。画像提供部３６は、生成された画像を（１／１２０）秒の周期でＨＭＤ１００に提供する。
【００５１】
このようにユーザは頭部を動かすことで視線方向を変化させ、情報処理装置１０が、見たい方向のパノラマ画像をＨＭＤ１００に提供して、表示パネル１３０に表示させる。頭部を動かすことで視線方向を変化させることは現実世界の動作と同じであり、ユーザの感覚に合致する。このときＨＭＤ１００がユーザに広視野角を提供することで、パノラマ画像に対する没入感をさらに高められる。
【００５２】
ここで実施例の「リプロジェクション」について説明する。リプロジェクションは、ＨＭＤの画面遷移をスムーズにし、また、表示画像を見たユーザの違和感を低減する画像変換処理である。図１０は、通常のＨＭＤシステムにおける画像生成と表示の流れを模式的に示す。本図のＴ１、Ｔ２、Ｔ３のそれぞれは、ＨＭＤ１００の表示パネル１３０の垂直同期（ＶＳＹＮＣ）タイミングを示している。
【００５３】
タイミングＴ１で検出されたＨＭＤの姿勢に基づいて第１フレームが生成される。タイミングＴ２から第１フレームが表示パネル１３０に出力されることと並行して、タイミングＴ２で検出されたＨＭＤの姿勢に基づいて第２フレームが生成される。本図では簡単に、ユーザはタイミングＴ３で第１フレームを知覚することとしている。この場合、ＨＭＤの姿勢が検出されてから、その姿勢に基づく画像をユーザが視認するまでのレイテンシが比較的長くなる（Ｔ１〜Ｔ３）。その結果、ＨＭＤの現在の姿勢にそぐわない画像が表示され、表示画像に対する違和感をユーザに抱かせてしまうことがあった。
【００５４】
図１１は、リプロジェクションを含む画像生成と表示の流れを模式的に示す。本図では、タイミングＴ１’からタイミングＴ２の間にリプロジェクション期間３００が設けられ、タイミングＴ２’からタイミングＴ３の間にリプロジェクション期間３０２が設けられている。画像生成部３４は、タイミングＴ１’で検出されたＨＭＤの姿勢に基づいて、第１フレームに対するリプロジェクション処理を実行する。
【００５５】
具体的には、タイミングＴ１で検出された姿勢Ｔ１（視線方向）と、タイミングＴ１’で検出された姿勢Ｔ１’（視線方向）との差分に基づいて、第１フレームに対してアフィン変換等の所定の変換処理を実行する。そして、第１フレームをもとに、姿勢Ｔ１’に応じた態様の表示用フレームを生成する。リプロジェクションは、レンダリング済の画像に対する変換処理であり、新たなレンダリング処理を実行するものではないため、リプロジェクション期間は比較的短い。
【００５６】
タイミングＴ２から、第１フレームに対するリプロジェクション処理後の表示用フレームを出力し、ユーザはタイミングＴ３でその表示用フレームを知覚する。このようにリプロジェクションにより、ＨＭＤの姿勢が検出されてから、その姿勢に基づく画像をユーザが視認するまでのレイテンシを低減できる（Ｔ１’〜Ｔ３）。その結果、ＨＭＤの現在の姿勢により整合する画像を表示させることができ、表示画像に対するユーザの違和感を低減できる。
【００５７】
図１２は、リプロジェクション前後の画像の例を示す。図１２（ａ）は、リプロジェクションの対象となる基準画像３０４の例を示している。基準画像３０４は、第１時点で特定されたＨＭＤの姿勢（ユーザの視線方向）に基づいてレンダリングされた画像であり、リプロジェクションによる変換前の元画像である。例えば、第１時点は図１１のＴ１に対応し、基準画像３０４は図１１の第１フレームに対応する。
【００５８】
図１２（ｂ）は、リプロジェクションにより生成された表示画像３０６の例を示している。表示画像３０６は、第１時点より後の第２時点で特定されたＨＭＤの姿勢に基づくリプロジェクション後の画像である。例えば、第２時点は図１１のＴ１’に対応し、表示画像３０６は図１１の第１フレームに基づく表示用フレームに対応する。リプロジェクションでは、表示画像３０６の各画素について基準画像３０４の対応する画素（以下「対応画素」とも呼ぶ。）を識別する。そして、表示画像３０６の各画素の画素値として、それぞれの対応画素の画素値を設定する。表示画像３０６の特定画素に対する基準画像３０４の対応画素は、その特定画素に対して画素値の提供元となる画素と言える。
【００５９】
図１２（ａ）（ｂ）の例では、第１時点から第２時点の間に、ユーザは右下に首を振り、言い換えれば、ＨＭＤの視線方向が右下に移動したこととし、基準画像３０４の画像を左上方向にずらす必要がある。画像生成部３４は、表示画像３０６の特定画素３０８に対応する画素として、画像上の位置（例えば座標）が同位置の同位置画素３１０の右下に位置する対応画素３１２を識別する。画像生成部３４は、特定画素３０８の画素値として対応画素３１２の画素値を設定する。言い換えれば、特定画素３０８の色情報に、対応画素３１２の色情報を設定する。このような対応画素の識別と画素値の設定を、表示画像３０６の個々の画素に対して実行することで、第２時点の姿勢に整合する表示画像３０６を生成する。
【００６０】
ところで、実施例のＨＭＤ１００の表示パネル１３０は、表示画像３０６の各画素を、一端の走査線から他端の走査線へ順次表示させる。具体的には、最上位の走査線から最下位の走査線まで走査線単位で順次表示させる。最上位の走査線での出力から最下位の走査線での出力までの時間差は、フレームレートが１２０ＦＰＳであれば８．３ｍｓ（ミリ秒）、フレームレートが９０ＦＰＳであれば１１．１ｍｓになる。したがって、１枚の表示画像３０６の表示が開始してから完了するまでの間にもＨＭＤの姿勢は変化しうる。
【００６１】
図１３は、単純なリプロジェクションを模式的に示す。図１３（ａ）は基準画像３０４の例を示し、図１３（ｂ）は表示画像３０６の例を示し、両図の格子は画素を示している。ここでは、図１３（ｂ）の表示画像３０６は、図１３（ａ）の基準画像３０４を２画素分、右にずらすリプロジェクション処理により生成されたものである。
【００６２】
図１３（ｂ）のように、全ての画素（各ラインの画素）の移動量を一律にすると、表示画像３０６内で相対的に下のラインに位置する画素は、相対的に上のラインに位置する画素よりも下の走査線に出力されるため、表示パネル１３０での表示が遅れる。言い換えれば、表示画像３０６内で下のラインに位置する画素ほど表示タイミングが遅くなる。したがって、表示画像３０６内で下のラインに位置する画素ほど、ＨＭＤの現在姿勢との乖離が大きくなり、言い換えれば、移動量が不十分になる。その結果、ユーザには、表示画像３０６の下側が、視線方向の移動に引っ張られるように曲がって見えることがあった。
【００６３】
図１４は、実施例のリプロジェクションを模式的に示す。図１４（ａ）は基準画像３０４の例を示し、図１４（ｂ）は表示画像３０６の例を示し、両図の格子は画素を示している。図１４（ｂ）で示すように、実施例のリプロジェクションでは、表示画像３０６内で下のラインに位置する画素ほど、基準画像３０４からの変化量を大きくする。言い換えれば、表示画像３０６の特定画素に対する対応画素として、表示画像３０６内での特定画素の位置が下であるほど（すなわち表示する走査線が下になるほど）、より離れた位置にある基準画像３０４の画素を対応画素とする。
【００６４】
例えば、図１１のタイミングＴ１’で検出された姿勢は、タイミングＴ１で検出された姿勢に比べ左に２単位分のずれていたとする。図１３（ｂ）のリプロジェクションでは、全てのラインで一律に２画素分、右に移動させた。これに対して、図１４（ｂ）のリプロジェクションでは、最上位のラインでは１画素分、右に移動させ、中央のラインでは２画素分、右に移動させ、最下位のラインでは３画素分、右に移動させた。変形例として、最上位のラインでは２画素分、右に移動させ、中央のラインでは３画素分、右に移動させ、最下位のラインでは４画素分、右に移動させてもよい。
【００６５】
このように、ＨＭＤ１００の表示パネル１３０における走査線間の出力時間差を表示画像３０６に反映させることで、ＨＭＤ１００の姿勢が変化し続ける場合にも、ユーザに対して自然な見え方の仮想空間を提示できる。例えば、図１４（ｂ）の表示画像３０６を表示パネル１３０に表示させることにより、ユーザには図１４（ａ）の基準画像３０４が表示されたかのように知覚させることができる。
【００６６】
図１５は、図５の画像生成部３４の詳細を示すブロック図である。画像生成部３４は、基準画像生成部３２４、予測部３２６、対応画素識別部３２８、表示画像生成部３３０を含む。
【００６７】
基準画像生成部３２４は、第１の時点における動き検出部３０の検出結果により特定されるＨＭＤの第１姿勢に応じて、ユーザに提示すべき情報を含む基準画像を生成する。例えば、動き検出部３０の検出結果に基づいて視線方向決定部３２が定めた視線方向と、画像記憶部４０に記憶されたコンテンツ画像にしたがって、仮想空間の様子を示す基準画像を生成する。また、指示取得部２４を介してユーザの操作（キャラクタの移動等）を受け付けた場合、その操作に応じて更新された仮想空間の様子を示す基準画像を生成する。第１の時点は、例えば図１１のタイミングＴ１やＴ２が該当する。以下、ＨＭＤの姿勢には、ＨＭＤ（ユーザ）の視線方向を含むこととし、適宜置き換えてもよい。基準画像のデータは、画像内の各画素のＲＧＢデータやＹＵＶデータを含む。
【００６８】
表示画像生成部３３０は、第１の時点より後の第２の時点における動き検出部３０の検出結果により特定されるＨＭＤの第２姿勢と、基準画像生成の基礎となった第１姿勢との差に応じて、基準画像から表示画像を生成する。表示画像生成部３３０は、表示画像の生成に際し、ＨＭＤ１００の表示パネル１３０による表示画像の表示において特定画素の表示タイミングが後であるほど、表示画像における特定画素の位置と、特定画素の画素値の設定元となる基準画像における対応画素の位置との変化量を大きくする。また表示画像生成部３３０は、表示画像の特定画素を表示する走査線が画像を出力するタイミングが遅いほど上記変化量を大きくする。本実施例では、このような表示画像生成処理を、対応画素識別部３２８と表示画像生成部３３０の連携により実現する。以下詳細に説明する。
【００６９】
対応画素識別部３２８は、第１の時点より後の第２の時点における動き検出部３０の検出結果により特定されるＨＭＤの第２姿勢と、基準画像生成の基礎となった第１姿勢との差に応じて、ＨＭＤに表示させる表示画像の各画素に対する基準画像の対応画素を識別する。対応画素識別部３２８は、第１姿勢と第２姿勢との差に応じて、表示画像内の特定画素に対する対応画素として、表示画像における特定画素の位置とは異なる位置にある基準画像内の画素を識別する。第２の時点は、例えば図１１のタイミングＴ１’やＴ２’が該当する。既述したように、姿勢の差は視線方向の差とも言える。
【００７０】
対応画素識別部３２８は、ＨＭＤ１００の表示パネル１３０による表示画像の表示において特定画素の表示タイミングが後であるほど、表示画像における特定画素の位置と基準画像における対応画素の位置との変化量を大きくする。言い換えれば、対応画素識別部３２８は、表示画像内の画素のうち、ＨＭＤ１００の表示パネル１３０による表示タイミングが後になる画素ほど、表示画像内の当該画素の位置から離れた位置にある基準画像内の画素を対応画素として識別する。
【００７１】
より具体的には、対応画素識別部３２８は、表示画像の特定画素を表示する走査線が画像を出力するタイミングが遅いほど、表示画像における特定画素の位置と基準画像における対応画素の位置との変化量を大きくする。実施例では、表示画像の特定画素を表示する走査線が下になるほど、すなわち表示画像において特定画素の縦位置が下になるほど、表示画像内の特定画素の位置から離れた位置にある基準画像内の画素を対応画素として識別する。画像内の画素の位置は、例えばＵＶ座標系の座標値として識別されてもよい。対応画素識別の具体例は後述する。
【００７２】
予測部３２６は、ある時点のＨＭＤ１００の姿勢と、別の時点のＨＭＤ１００の姿勢に基づいて、さらに別の時点のＨＭＤ１００の姿勢を予測する。例えば、過去時点のＨＭＤ１００の姿勢と現在時点のＨＭＤ１００の姿勢との間の変化量に基づいて、将来時点のＨＭＤ１００の姿勢を予測する。予測部３２６による姿勢予測処理は、既知の予測技術により実現されてよい。
【００７３】
表示画像生成部３３０は、表示画像における特定画素の画素値として、基準画像における対応画素の画素値を設定することにより、前記表示画像を生成する。例えば表示画像生成部３３０は、表示画像内の各画素に対して、対応画素識別部３２８により識別された対応画素のＲＧＢデータやＹＵＶデータを設定してもよい。なお、表示画像の特定画素に対する対応画素が基準画像内に存在しない場合、例えば対応画素識別部３２８により基準画像の範囲外の位置が対応画素の位置として識別された場合、表示画像生成部３３０は、予め定められた固定値を特定画素の画素値として設定してもよい。
【００７４】
対応画素識別の具体例を説明する。対応画素識別部３２８は、表示画像内の各画素を特定画素として選択し、表示画像内の各画素に対して個々に対応画素を識別する。画素単位に順次実行してもよく、複数の画素について並行実行してもよい。
【００７５】
対応画素識別部３２８は、第１の時点における動き検出部３０の検出結果により特定されるＨＭＤ１００の第１姿勢と、第１の時点より後の第２の時点における動き検出部３０の検出結果により特定されるＨＭＤ１００の第２姿勢との差、および、表示パネル１３０における画像表示の所要時間に応じて、表示パネル１３０の最上位の走査線で表示画像が表示される時点の対応画素をトップライン対応画素として識別する。それとともに、表示パネル１３０の最下位の走査線で表示画像が表示される時点の対応画素をボトムライン対応画素として識別する。
【００７６】
対応画素識別部３２８は、基準画像におけるトップライン対応画素の位置とボトムライン対応画素の位置、および、特定画素が実際に表示される走査線の位置に応じて、特定画素に対する実際の対応画素（真の対応画素とも言える）を識別する。具体的には、特定画素が実際に表示される走査線の位置に応じて、トップライン対応画素の位置とボトムライン対応画素の位置の間から実際の対応画素の位置を特定する。言い換えれば、特定画素が実際に表示される走査線の位置に応じた線形補間により、トップライン対応画素とボトムライン対応画素の間に位置する画素の中から実際の対応画素を識別する。
【００７７】
図１６は、対応画素識別の方法を模式的に示す。ここでは、ＨＭＤ１００の姿勢（視線方向）が右下方向へ移動していることとし、また、図１１のリプロジェクション期間３００におけるリプロジェクション処理として説明する。まず対応画素識別部３２８は、表示画像３０６の特定画素３４０に対する基準画像３０４のトップライン対応画素３４２の位置（ここではＵＶ平面における位置とし、以下「ｕｖ１」と呼ぶ。）と、ボトムライン対応画素３４４の位置（以下「ｕｖ２」と呼ぶ。）を特定する。
【００７８】
具体的には、予測部３２６は、図１１のタイミングＴ１で検出されたＨＭＤ１００の姿勢Ｔ１と、タイミングＴ１’で検出されたＨＭＤ１００の姿勢Ｔ１’との差から、表示パネル１３０が表示画像３０６の表示を開始するタイミングＴｓにおけるＨＭＤ１００の姿勢Ｔｓを予測する。例えば、タイミングＴ１〜Ｔ１’間で右下への姿勢の移動が生じていれば、予測部３２６は、タイミングＴ１’からＴｓまでの時間分、姿勢Ｔ１’をさらに右下へ移動した姿勢に変化させることで姿勢Ｔｓを予測してもよい。実施例では、タイミングＴｓを、現在時点からリプロジェクション処理を経て、表示が開始されるまでの時間として、想定や実験により予め定められた一定時間後として特定する。なお、タイミングＴｓを図１１のタイミングＴ２と見なしてもよく、その場合、予測部３２６は、タイミングＴ１’〜Ｔ２までの時間分（一定時間）、姿勢Ｔ１’を変化させることで姿勢Ｔｓを予測してもよい。
【００７９】
対応画素識別部３２８は、予測部３２６により予測された姿勢Ｔｓと、姿勢Ｔ１との差に基づいて、特定画素３４０に対するトップライン対応画素３４２の位置（ｕｖ１）を特定する。例えば、姿勢Ｔｓが姿勢Ｔ１と比較して右下へ５単位のずれがある場合、基準画像３０４を左上へ５単位ずらす必要がある。この場合、対応画素識別部３２８は、表示画像３０６における特定画素３４０の位置から右下へ５単位ずらした位置をｕｖ１として特定する。
【００８０】
変形例として、タイミングＴ１’〜Ｔｓ間は短いため、擬似的にタイミングＴ１’をタイミングＴｓと見なしてもよい。この場合、対応画素識別部３２８は、姿勢Ｔ１と姿勢Ｔ１’との差に基づいて、特定画素３４０に対するトップライン対応画素３４２の位置を特定してもよい。
【００８１】
また、予測部３２６は、図１１のタイミングＴ１で検出されたＨＭＤ１００の姿勢Ｔ１と、タイミングＴ１’で検出されたＨＭＤ１００の姿勢Ｔ１’との差から、表示パネル１３０が表示画像３０６の表示を完了するタイミングＴｆにおけるＨＭＤ１００の姿勢Ｔｆを予測する。タイミングＴｓ〜Ｔｆの時間は、表示パネル１３０が１枚の画像の表示を開始してから完了するまでの所要時間であり、表示パネル１３０のリフレッシュレートで定まる。したがって、予測部３２６は、環境情報記憶部３２０に格納された表示パネル１３０のリフレッシュレートに基づいて画像表示の所要時間を算出し、姿勢Ｔｓをその所要時間分変化させることにより姿勢Ｔｆを予測してもよい。
【００８２】
実施例では、表示パネル１３０のリフレッシュレートは１２０Ｈｚとし、表示パネル１３０における画像表示の所要時間は８．３ｍｓ（８３３３μｓ）とする。例えば、タイミングＴ１〜Ｔ１’間で右下への姿勢の移動が生じていれば、予測部３２６は、タイミングＴ１’〜Ｔｓ＋８．３ｍｓの時間分、姿勢Ｔ１’をさらに右下へ移動した姿勢に変化させることで姿勢Ｔｆを予測してもよい。
【００８３】
対応画素識別部３２８は、予測部３２６により予測された姿勢Ｔｆと、姿勢Ｔ１との差に基づいて、特定画素３４０に対するボトムライン対応画素３４４の位置（ｕｖ２）を特定する。例えば、姿勢Ｔｆが姿勢Ｔ１と比較して右下へ７単位のずれがある場合、基準画像３０４を左上へ７単位ずらす必要がある。この場合、対応画素識別部３２８は、表示画像３０６における特定画素３４０の位置から右下へ７単位ずらした位置をｕｖ２として特定する。典型的に、姿勢Ｔ１と姿勢Ｔｆの差は姿勢Ｔ１と姿勢Ｔｓの差より大きくなる。そのため、特定画素３４０の位置とボトムライン対応画素３４４の位置との乖離の度合いは、特定画素３４０の位置とトップライン対応画素３４２の位置との乖離の度合いより大きくなる。
【００８４】
対応画素識別部３２８は、以下の計算により基準画像３０４における対応画素の位置（ＵＶ）を特定する。
走査線因子  ＝  表示画像３０６における特定画素の縦位置÷表示パネル１３０の縦画素数  ・・・（数式１）
ＵＶ  ＝  ｕｖ１＋走査線因子×（ｕｖ２−ｕｖ１）  ・・・（数式２）
表示画像３０６における特定画素の縦位置は、特定画素を表示する走査線の位置とも言える。また、表示パネル１３０の縦画素数は、表示パネル１３０の走査線数とも言え、例えば「１０８０」である。対応画素識別部３２８は、表示パネル１３０の縦画素数を環境情報記憶部３２０から取得する。
【００８５】
数式１により、画面全体における特定画素の縦位置の比率が求められる。また数式２により、特定画素の縦位置に対応する、トップライン対応画素３４２とボトムライン対応画素３４４の間の位置の画素を対応画素として求められる。表示画像３０６における特定画素の縦位置が下になるほど、すなわち表示パネル１３０における特定画素の表示タイミングが後であるほど、ＵＶはｕｖ１よりもずれ幅が大きいｕｖ２に近づく。これにより、表示画像３０６における特定画素の縦位置が下になるほど、表示画像３０６における特定画素の位置とＵＶとの乖離が大きくなり、図１４（ｂ）に示したような表示画像３０６が生成される。
【００８６】
以上の構成による情報処理システム１の動作を説明する。
ユーザは情報処理装置１０においてＶＲアプリケーションを起動し、自身の頭部にＨＭＤ１００を装着する。ＶＲアプリケーションのプレイ中、ユーザは、仮想空間の探索等のために適宜頭部を動かす。ＨＭＤ１００は定期的にセンサ情報を情報処理装置１０へ提供し、撮像装置７は定期的に撮影画像を情報処理装置１０へ提供する。情報処理装置１０の動き検出部３０は、センサ情報および撮影画像に基づいてＨＭＤ１００の姿勢を検出し、視線方向決定部３２は、ＨＭＤ１００の姿勢に基づいてＨＭＤ１００の視線方向を決定する。
【００８７】
情報処理装置１０の基準画像生成部３２４は、第１の時点におけるＨＭＤ１００の視線方向に応じて基準画像をレンダリングする。対応画素識別部３２８は、第１の時点より後の第２の時点におけるＨＭＤ１００の視線方向に応じて、リプロジェクションを実行し、レンダリング済の基準画像を変換した表示画像を生成する。その際に、対応画素識別部３２８は、表示画像内の上に位置する画素ほど、当該画素の位置と基準画像での対応画素の位置との変化量を小さくする。逆に、表示画像内の下に位置する画素ほど、当該画素の位置と基準画像での対応画素の位置との変化量を大きくする。表示画像生成部３３０は、表示画像の各画素に、それぞれの対応画素の画素値を設定する。
【００８８】
情報処理装置１０の画像提供部３６は、表示画像生成部３３０により生成された表示画像をＨＭＤ１００へ提供する。ＨＭＤ１００の表示パネル１３０は、表示画像を表示パネル１３０の最上位の走査線から最下位の走査線へ順次表示させる。実施例の情報処理装置１０によると、リプロジェクションによるレイテンシ低減を実現するとともに、表示パネル１３０における画像表示の遅延時間を考慮した態様の表示画像を提供することにより、表示画像に対するユーザの違和感を一層低減することができる。
【００８９】
（第２の実施の形態）
第２の実施の形態の情報処理装置１０は、基準画像の生成時に将来の姿勢予測を行う点で第１の実施形態と異なる。以下、第１の実施の形態と異なる点を主に説明し、重複する説明は適宜省略する。なお、以下に記載の、表示パネル１３０の中央の走査線は、厳密に中央の走査線だけでなく、中央近傍に位置する走査線であってもよい。
【００９０】
予測部３２６は、第１時点（例えば図１１のＴ１）における動き検出部３０の検出結果が取得された場合に、その検出結果に基づく画像が表示パネル１３０の中央の走査線で表示される時点（以下「第１目標時点」と呼ぶ。）を特定する。そして、第１時点における動き検出部３０の検出結果に応じて、第１目標時点のＨＭＤ１００の姿勢を第１姿勢として予測する。具体的には、第１時点より前の時点における動き検出部３０の検出結果と、第１時点における動き検出部３０の検出結果との差（または視線方向の差）に応じて、第１目標時点の第１姿勢を予測してもよい。
【００９１】
基準画像生成部３２４は、予測部３２６により予測された第１目標時点の第１姿勢に基づいて基準画像を生成する。この基準画像は、表示パネル１３０の中央の走査線での表示に最適化された画像と言える。
【００９２】
また予測部３２６は、第１時点より後の第２時点（例えば図１１のＴ１’）における動き検出部３０の検出結果が取得された場合に、その検出結果に基づく画像が表示パネル１３０の中央の走査線で表示される時点（以下「第２目標時点」と呼ぶ。）を特定する。そして、第２時点における動き検出部３０の検出結果に応じて、第２目標時点のＨＭＤ１００の姿勢を第２姿勢として予測する。具体的には、第１時点における動き検出部３０の検出結果と、第２時点における動き検出部３０の検出結果との差（または視線方向の差）に応じて、第２目標時点の第２姿勢を予測してもよい。
【００９３】
第１目標時点および第２目標時点の特定には既知の技術を用いる。一例として、現在時点から想定や実験により定められた一定時間後であり、基準画像のレンダリング処理、リプロジェクション処理を経て、中央の走査線で表示されるまでに想定される所要時間後を第１目標時点として特定してもよい。同様に、現在時点から想定や実験により定められた一定時間後であり、リプロジェクション処理を経て、中央の走査線で表示されるまでに想定される所要時間後を第２目標時点として特定してもよい。
【００９４】
対応画素識別部３２８は、第１姿勢と第２姿勢の差に応じて、表示パネル１３０の中央の走査線で表示画像が表示される時点の対応画素を仮対応画素（以下「センターライン対応画素」と呼ぶ。）として識別する。例えば、第２姿勢が第１姿勢と比較して右下へ５単位のずれがある場合、表示画像の特定画素の位置を右下へ５単位ずらした位置の画素を対応画素として識別する。既述したように、第１姿勢と第２姿勢はいずれも、表示パネル１３０の中央の走査線が画像を表示する時点の予測姿勢である。したがって、ここで識別される対応画素はセンターライン対応画素になる。
【００９５】
対応画素識別部３２８は、表示画像の特定画素が実際に表示される走査線が表示パネル１３０の中央の走査線より上側に位置する場合、表示画像における特定画素の位置と基準画像における実際の対応画素の位置との変化量が、表示画像における特定画素の位置と基準画像におけるセンターライン対応画素の位置との変化量より小さくなるように、実際の対応画素を識別する。これは典型的には、表示画像における特定画素の縦位置が表示画像中央より上側である場合である。
【００９６】
また対応画素識別部３２８は、表示画像の特定画素が実際に表示される走査線が表示パネル１３０の中央の走査線より下側に位置する場合、表示画像における特定画素の位置と基準画像における実際の対応画素の位置との変化量が、表示画像における特定画素の位置と基準画像におけるセンターライン対応画素の位置との変化量より大きくなるように、実際の対応画素を識別する。これは典型的には、表示画像における特定画素の縦位置が表示画像中央より下側である場合である。
【００９７】
図１７は、対応画素識別の方法を模式的に示す。ここでは、ＨＭＤ１００の姿勢（視線方向）が右下方向へ移動していることとし、また、図１１のリプロジェクション期間３００におけるリプロジェクション処理として説明する。まず対応画素識別部３２８は、上述した方法によりセンターライン対応画素３４８の位置（以下「ｕｖ３」と呼ぶ。）を特定する。
【００９８】
次に予測部３２６は、既知の技術により、第２目標時点より４１６７μｓ前の時点の姿勢を、画像表示開始タイミングの姿勢Ｔｓとして予測し、第２目標時点より４１６７μｓ後の時点の姿勢を、画像表示完了タイミングの姿勢Ｔｆとして予測する。この「４１６７μｓ」は、表示パネル１３０が１枚の画像を表示する所要時間の半分である。予測部３２６は、環境情報記憶部３２０に格納された表示パネル１３０のリフレッシュレートにしたがって、このパラメータ「４１６７μｓ」を決定する。環境情報記憶部３２０に格納された表示パネル１３０のリフレッシュレートが変われば、このパラメータも変化する。
【００９９】
対応画素識別部３２８は、第１の実施の形態と同様に、姿勢Ｔ１と姿勢Ｔｓとの差に基づいて、特定画素３４０に対するトップライン対応画素３４２の位置（ｕｖ１）を特定する。また、姿勢Ｔ１と姿勢Ｔｆとの差に基づいて、特定画素３４０に対するボトムライン対応画素３４４の位置（ｕｖ２）を特定する。
【０１００】
対応画素識別部３２８は、以下の計算により基準画像３０４における対応画素の位置（ＵＶ）を特定する。
走査線因子  ＝  表示画像３０６における特定画素の縦位置÷表示パネル１３０の縦画素数−０．５  ・・・（数式３）
ＵＶ  ＝  ｕｖ３＋走査線因子×（ｕｖ２−ｕｖ１）  ・・・（数式４）
【０１０１】
数式３により、表示パネル１３０の中央の走査線を基準とした特定画素の縦位置の比率が求められる。特定画素の縦位置が中央より上であれば、走査線因子は負になるため、ＵＶはｕｖ３より小さくなり、すなわち表示画像３０６における特定画素の位置とＵＶとの乖離量は小さくなる。その一方、特定画素の縦位置が中央より下であれば、走査線因子は正になるため、ＵＶはｕｖ３より大きくなり、すなわち表示画像３０６における特定画素の位置とＵＶとの乖離量は大きくなる。この結果、図１４（ｂ）に示したような表示画像３０６が生成される。
【０１０２】
第２の実施の形態のように、基準画像の生成時に将来の姿勢予測を行う場合も、第１の実施の形態と同じ手法で対応画素を識別することは可能である。ただし、本発明者の実験では、基準画像自体が中央の走査線での表示に最適化されたものであるため、センターライン対応画素３４８を使用して実際の対応画素を識別する第２の実施の形態の手法の方が正確性が高い表示画像を生成できることが確認された。
【０１０３】
（第３の実施の形態）
第３の実施の形態では、第２の実施の形態と同様に基準画像の生成時に将来の姿勢予測を行うが、リプロジェクション処理において、第２の実施の形態とは異なる手法で対応画素を識別する。
【０１０４】
第３の実施の形態の基準画像生成部３２４と予測部３２６の構成は第２の実施の形態と同様である。すなわち、予測部３２６は、第１時点（例えば図１１のＴ１）における動き検出部３０の検出結果が取得された場合に、その検出結果に基づく画像が表示パネル１３０の中央の走査線で表示される第１目標時点を予測する。そして、第１時点における動き検出部３０の検出結果に応じて、第１目標時点のＨＭＤ１００の姿勢を第１姿勢として予測する。基準画像生成部３２４は、予測部３２６により予測された第１目標時点の第１姿勢に基づいて基準画像を生成する。
【０１０５】
また予測部３２６は、第１時点より後の第２時点（例えば図１１のＴ１’）における動き検出部３０の検出結果が取得された場合に、その検出結果に基づく画像が表示パネル１３０の中央の走査線で表示される第２目標時点を予測する。そして、第２時点における動き検出部３０の検出結果に応じて、第２目標時点のＨＭＤ１００の姿勢を第２姿勢として予測する。
【０１０６】
対応画素識別部３２８は、第１姿勢と第２姿勢の差に応じて、表示パネル１３０の中央の走査線で表示画像が表示される時点の対応画素であるセンターライン対応画素を識別する。そして、対応画素識別部３２８は、第１目標時点と第２目標時点の時間差、および、特定画素が実際に表示される走査線の位置に応じて、表示画像における特定画素の位置と基準画像におけるセンターライン対応画素の位置とを通る仮想的な直線上に、特定画素に対する実際の対応画素を識別する。
【０１０７】
図１８は、対応画素識別の方法を模式的に示す。ここでは、ＨＭＤ１００の姿勢（視線方向）が右下方向へ移動していることとし、また、図１１のリプロジェクション期間３００におけるリプロジェクション処理として説明する。まず対応画素識別部３２８は、第２の実施の形態と同様に、特定画素３４０に対するセンターライン対応画素３４８の位置であるｕｖ３を特定する。
【０１０８】
対応画素識別部３２８は、第１目標時点と第２目標時点の情報を予測部３２６から取得して、第１目標時点と第２目標時点の時間差（以下「ＴＧ」と呼ぶ。）を算出する。ＴＧは、センターライン対応画素３４８が同位置画素３４６（表示画像３０６の特定画素と同位置の画素）まで移動することが生じた時間とも言える。対応画素識別部３２８は、以下の計算により基準画像３０４における対応画素の位置（ＵＶ）を特定する。なお、表示画像３０６における特定画素３４０の位置（ＵＶ座標値）をｕｖ０と表現する。
【０１０９】
走査線因子  ＝  １−（０．５−表示画像３０６における特定画素の縦位置÷表示パネル１３０の縦画素数）×８３３３÷ＴＧ  ・・・（数式５）
ＵＶ  ＝  ｕｖ０＋走査線因子×（ｕｖ３−ｕｖ０）  ・・・（数式６）
数式５の「８３３３」は、表示パネル１３０が１枚の画像を表示する所要時間である。対応画素識別部３２８は、環境情報記憶部３２０に格納された表示パネル１３０のリフレッシュレートにしたがって、このパラメータを決定する。
【０１１０】
数式５と数式６の計算により、特定画素の縦位置に応じた、ｕｖ０とｕｖ３を通る仮想的な直線上の位置としてＵＶが算出される。すなわち、ｕｖ０とｕｖ３を通る仮想的な直線上に、特定画素３４０に対する実際の対応画素を特定できる。特定画素の縦位置が下になるほど、走査線因子は大きくなり、ｕｖ０からより離れた位置にある対応画素が識別される。この結果、図１４（ｂ）に示したような表示画像３０６が生成される。
【０１１１】
ただし、上記の計算は、表示パネル１３０が１枚の画像を表示する所要時間よりＴＧが長いこと（上の例ではＴＧ＞８３３３μｓ）、言い換えれば、第１目標時点と第２目標時点にある程度の差があることが前提になる。このような制約があるものの、第３の実施の形態の方法によると、実際の対応画素識別のために事前に求める仮対応画素は１つ（上の例ではセンターライン対応画素）で済むため、迅速に対応画素を識別できる。
【０１１２】
なお、第３の実施の形態では、姿勢予測の目標となる時点は、表示パネル１３０の中央の走査線で画像が表示される時点に限られない。例えば、表示パネル１３０の最上位の走査線で画像が表示される時点であってもよく、表示パネル１３０の最下位の走査線で画像が表示される時点であってもよい。その場合、基準画像の生成において姿勢予測の目標とする時点に応じて数式５を変更する必要がある。また、数式６のｕｖ３は、姿勢予測の目標となる時点の仮対応画素の位置に変更する必要がある。例えば、姿勢予測の目標時点が、表示パネル１３０の最下位の走査線で画像が表示される時点であれば、ボトムライン対応画素の位置ｕｖ２に変更する必要がある。
【０１１３】
以上、本発明を第１〜第３の実施の形態をもとに説明した。これらの実施の形態は例示であり、各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１１４】
図１１に示したリプロジェクションの例は、姿勢検出から画像表示までのレイテンシを低減するものであるが、リプロジェクションによりフレームレートを増加させることもできる。例えば、図１１の第１フレーム（図１２の基準画像３０４）を表示させつつ、図１１の第１フレームに基づく表示用フレーム（図１２の表示画像３０６）をさらに表示させることによりフレームレートを２倍に増加させることができる。このようなフレームレート増加を目的としたリプロジェクションに対しても、各実施の形態の技術を適用可能であり、表示画像がユーザに与える違和感を低減できる。
【０１１５】
上記実施の形態では、ＨＭＤ１００の表示パネル１３０は、表示対象画像を上の走査線から下の走査線へ順次表示させたが、表示順序はこれに限られない。各実施の形態に記載の技術は、ＨＭＤ１００の表示パネル１３０において、表示画像の少なくとも一部の画素が他の画素より遅れて表示される場合に有効である。
【０１１６】
上記実施の形態では、ＨＭＤ１００の表示パネル１３０にＶＲ画像を表示させたが、ＨＭＤ１００が透過型のディスプレイ装置である場合等、拡張現実（ＡＲ）画像を表示させてもよい。ＡＲ画像の表示においても各実施の形態の技術は有用である。
【０１１７】
上記実施の形態では、ＨＭＤ１００に表示させる画像を情報処理装置１０が生成することとしたが、ＨＭＤ１００単体が、各実施の形態で説明した画像生成機能を備えてもよい。
【０１１８】
上述した実施の形態および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【符号の説明】
【０１１９】
１  情報処理システム、  １０  情報処理装置、  ３０  動き検出部、  ３６  画像提供部、  １００  ＨＭＤ、  ３２４  基準画像生成部、  ３２６  予測部、  ３２８  対応画素識別部、  ３３０  表示画像生成部。
【図１】
0006511386.tif 000002
【図２】
0006511386.tif 000003
【図３】
0006511386.tif 000004
【図４】
0006511386.tif 000005
【図５】
0006511386.tif 000006
【図６】
0006511386.tif 000007
【図７】
0006511386.tif 000008
【図８】
0006511386.tif 000009
【図９】
0006511386.tif 000010
【図１０】
0006511386.tif 000011
【図１１】
0006511386.tif 000012
【図１２】
0006511386.tif 000013
【図１３】
0006511386.tif 000014
【図１４】
0006511386.tif 000015
【図１５】
0006511386.tif 000016
【図１６】
0006511386.tif 000017
【図１７】
0006511386.tif 000018
【図１８】
0006511386.tif 000019