(57)【要約】【課題】視点のトラッキングが失敗等した場合にも、その影響を軽減し、従来よりも適切な画像を生成できる画像生成システム及びプログラム等の提供。【解決手段】画像生成システムは、オブジェクト空間の設定処理を行うオブジェクト空間設定部と、プレーヤの視点トラッキングにより得られたトラッキング視点情報を、プレーヤの視点情報として設定する視点情報演算部と、視点情報に基づいて、オブジェクト空間においてプレーヤの視点から見える画像を生成する画像生成部を含む。視点情報演算部は、トラッキング視点がロスト状態になった場合に、プレーヤの視点情報の推定処理を行う。【選択図】図９
2016192029.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間の設定処理を行うオブジェクト空間設定部と、
プレーヤの視点トラッキングにより得られたトラッキング視点情報を、プレーヤの視点情報として設定する視点情報演算部と、
前記視点情報に基づいて、前記オブジェクト空間においてプレーヤの視点から見える画像を生成する画像生成部と、
を含み、
前記視点情報演算部は、
トラッキング視点がロスト状態になった場合に、プレーヤの前記視点情報の推定処理を行うことを特徴する画像生成システム。
【請求項２】
請求項１において、
前記視点情報演算部は、
プレーヤを撮影した撮像画像により求められる前記トラッキング視点情報を、プレーヤの前記視点情報として設定することを特徴とする画像生成システム。
【請求項３】
請求項１又は２において、
前記視点情報演算部は、
プレーヤの視点履歴情報に基づいて、前記トラッキング視点のロスト状態時の前記視点情報の推定処理を行うことを特徴とする画像生成システム。
【請求項４】
請求項３において、
前記視点情報演算部は、
前記視点履歴情報と、プレーヤが操作する移動体の移動情報及びプレーヤの操作情報の少なくとも１つに基づいて、前記トラッキング視点のロスト状態時の前記視点情報の推定処理を行うことを特徴とする画像生成システム。
【請求項５】
請求項３又は４において、
前記視点情報演算部は、
プレーヤが操作する移動体がコース又はマップを移動する場合に、過去に同じエリアに位置したときの前記視点履歴情報に基づいて、前記トラッキング視点のロスト状態時の前記視点情報の推定処理を行うことを特徴とする画像生成システム。
【請求項６】
請求項５において、
前記コースは周回コースであり、
前記視点情報演算部は、
プレーヤが操作する前記移動体が前記周回コースにおいて過去に同じエリアを通過したときの前記視点履歴情報に基づいて、前記トラッキング視点のロスト状態時の前記視点情報の推定処理を行うことを特徴とする画像生成システム。
【請求項７】
請求項１乃至６のいずれかにおいて、
可動機構を含み、
前記視点情報演算部は、
前記可動機構の動作情報に基づいて、前記トラッキング視点のロスト状態時の前記視点情報の推定処理を行うことを特徴とする画像生成システム。
【請求項８】
請求項７において、
前記視点情報演算部は、
プレーヤの操作情報又はゲーム状況情報に基づいて、前記可動機構の前記動作情報を求め、前記動作情報に基づいて、前記トラッキング視点のロスト状態時の前記視点情報の推定処理を行うことを特徴とする画像生成システム。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記視点情報演算部は、
プレーヤの体格情報、性別情報及び年齢情報の少なくとも１つを含むプレーヤ情報に基づいて、前記トラッキング視点のロスト状態時の前記視点情報の推定処理を行うことを特徴とする画像生成システム。
【請求項１０】
請求項９において、
前記視点情報演算部は、
複数の候補視点情報の中から、前記プレーヤ情報に基づいて視点情報を選択する処理を、前記トラッキング視点のロスト状態時の前記視点情報の推定処理として行うことを特徴とする画像生成システム。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
前記視点情報演算部は、
プレーヤの動作の物理シミュレーション処理の結果に基づいて、前記トラッキング視点のロスト状態時の前記視点情報の推定処理を行うことを特徴とする画像生成システム。
【請求項１２】
請求項１乃至１１のいずれかにおいて、
前記画像生成部は、
１つの曲面又は複数の面により構成されるプロジェクション用スクリーンの形状情報と、プレーヤの前記視点情報とに基づいて、投影画像を生成することを特徴とする画像生成システム。
【請求項１３】
請求項１２において、
前記画像生成部は、
描画バッファ上のピクセルが投影装置の光学系を通して出射される光線と前記プロジェクション用スクリーンとの交点位置と、プレーヤの視点位置とを結ぶ直線を、仮想カメラの視線として、前記描画バッファ上の前記ピクセルの色を決定することを特徴とする画像生成システム。
【請求項１４】
請求項１２において、
前記画像生成部は、
前記オブジェクト空間内のオブジェクトの頂点位置とプレーヤの視点位置を結ぶ直線と、前記プロジェクション用スクリーンとの交点位置に基づいて、前記オブジェクトに対応する描画オブジェクトについての描画バッファ上での頂点位置を求め、前記頂点位置に基づいて前記描画バッファに前記描画オブジェクトを描画することを特徴とする画像生成システム。
【請求項１５】
請求項１乃至１４のいずれかにおいて、
前記画像生成部は、
プレーヤの前記視点情報に基づいて、立体視用の第１視点画像と第２視点画像を生成することを特徴とする画像生成システム。
【請求項１６】
オブジェクト空間の設定処理を行うオブジェクト空間設定部と、
プレーヤの視点トラッキングにより得られたトラッキング視点情報を、プレーヤの視点情報として設定する視点情報演算部と、
前記視点情報に基づいて、前記オブジェクト空間においてプレーヤの視点から見える画像を生成する画像生成部として、
コンピュータを機能させ、
前記視点情報演算部は、
トラッキング視点がロスト状態になった場合に、プレーヤの前記視点情報の推定処理を行うことを特徴するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成システム及びプログラム等に関する。
【背景技術】
【０００２】
従来より、投影装置（プロジェクタ）により曲面スクリーン（ドーム形状のスクリーン）に対して投影される投影画像を生成するシステムが知られている。例えば曲面スクリーンに対して歪みの少ない投影画像を投影する従来技術としては、特許文献１に開示される技術がある。
【０００３】
また、別のアプローチで臨場感を高める画像を生成するシステムとして、立体視画像の生成システムも脚光を浴びている。立体視画像の生成システムの従来技術としては、例えば特許文献２に開示される技術がある。更に、ゲーム画像等を生成して頭部装着型表示装置（ヘッドマウントディスプレイ、ＨＭＤ）に表示する画像生成システムについても知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−８５５８６号公報
【特許文献２】特開２００４−１２６９０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような画像生成システムにおいては、プレーヤの視点を正確に特定することが重要になる。特に投影画像や立体視画像を生成するシステムにおいては、実際のプレーヤの視点と、画像生成に使用されるオブジェクト空間内でのプレーヤの視点が異なっていると、プレーヤにとって不自然な画像が生成されてしまう。
【０００６】
この場合に、例えば撮像部などの何らかのデバイスを使用して、プレーヤの視点をトラッキングして、トラッキングされた視点での画像を生成するシステムも考えられる。しかしながら、このようなシステムにおいては、視点を常に正確にトラッキングできるとは限らず、トラッキングに失敗した場合には、プレーヤにとって、非常に不自然で違和感のある画像が生成されてしまうおそれがある。
【０００７】
本発明の幾つかの態様によれば、視点のトラッキングが失敗等した場合にも、その影響を軽減し、従来よりも適切な画像を生成できる画像生成システム及びプログラム等を提供できる。
【課題を解決するための手段】
【０００８】
本発明の一態様は、オブジェクト空間の設定処理を行うオブジェクト空間設定部と、プレーヤの視点トラッキングにより得られたトラッキング視点情報を、プレーヤの視点情報として設定する視点情報演算部と、前記視点情報に基づいて、前記オブジェクト空間においてプレーヤの視点から見える画像を生成する画像生成部と、を含み、前記視点情報演算部は、トラッキング視点がロスト状態になった場合に、プレーヤの前記視点情報の推定処理を行う画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【０００９】
本発明の一態様によれば、視点トラッキングにより得られたトラッキング視点情報が、プレーヤの視点情報として設定され、設定された視点情報に基づいて、オブジェクト空間においてプレーヤの視点から見える画像が生成される。そして、トラッキング視点がロスト状態になった場合には、プレーヤの視点情報の推定処理が行われ、推定処理により得られた視点情報に基づいて、オブジェクト空間においてプレーヤの視点から見える画像が生成されるようになる。このようにすれば、視点のトラッキングが失敗等した場合にも、より適切な画像を生成できる画像生成システム等を提供できるようになる。
【００１０】
また本発明の一態様では、前記視点情報演算部は、プレーヤを撮影した撮像画像により求められる前記トラッキング視点情報を、プレーヤの前記視点情報として特定してもよい。
【００１１】
このようにすれば、プレーヤを撮影する撮像部を設けるだけで、撮像画像を用いてトラッキング視点情報を求めて、オブジェクト空間においてプレーヤの視点から見える画像を生成できるようになる。
【００１２】
また本発明の一態様では、前記視点情報演算部は、プレーヤの視点履歴情報に基づいて、前記トラッキング視点のロスト状態時の前記視点情報の推定処理を行ってもよい。
【００１３】
このようにすれば、例えば、現在の状況と似通った状況で得られた視点履歴情報等を利用して、視点情報を推定できるようになる。従って、トラッキング視点のロスト状態時において、より適切な視点情報をプレーヤの視点情報として設定して、オブジェクト空間においてプレーヤの視点から見える画像を生成できるようになる。
【００１４】
また本発明の一態様では、前記視点情報演算部は、前記視点履歴情報と、プレーヤが操作する移動体の移動情報及びプレーヤの操作情報の少なくとも１つに基づいて、前記トラッキング視点のロスト状態時の前記視点情報の推定処理を行ってもよい。
【００１５】
このようにすれば視点履歴情報だけではなく、移動体の移動情報やプレーヤの操作情報を加味して、トラッキング視点のロスト状態時のプレーヤの視点情報を推定できるため、より適切な視点情報をプレーヤの視点情報として設定できるようになる。
【００１６】
また本発明の一態様では、前記視点情報演算部は、プレーヤが操作する移動体がコース又はマップを移動する場合に、過去に同じエリアに位置したときの前記視点履歴情報に基づいて、前記トラッキング視点のロスト状態時の前記視点情報の推定処理を行ってもよい。
【００１７】
このようにコースやマップにおいて過去に同じエリアに位置したときの視点履歴情報を利用すれば、似通った状況での視点情報を、トラッキング視点のロスト状態時におけるプレーヤの視点情報として設定できるため、より適切な画像を生成できるようになる。
【００１８】
また本発明の一態様では、前記コースは周回コースであり、前記視点情報演算部は、プレーヤが操作する前記移動体が前記周回コースにおいて過去に同じエリアを通過したときの前記視点履歴情報に基づいて、前記トラッキング視点のロスト状態時の前記視点情報の推定処理を行ってもよい。
【００１９】
このように、周回コースにおいて過去に同じエリアに通過したときの視点履歴情報を利用すれば、似通った状況での視点情報を、トラッキング視点のロスト状態時におけるプレーヤの視点情報として推定できるようになる。また移動体が周回コースを周回することで、例えば周回ごとに視点履歴情報を取得できるため、候補対象となる視点情報を増やすことができるという利点もある。
【００２０】
また本発明の一態様では、可動機構を含み、前記視点情報演算部は、前記可動機構の動作情報に基づいて、前記トラッキング視点のロスト状態時の前記視点情報の推定処理を行ってもよい。
【００２１】
このようにすれば、可動機構の動作によりプレーヤの視点が変化した場合等に、そのプレーヤの視点情報を可動機構の動作情報に基づいて推定し、トラッキング視点のロスト状態時のプレーヤの視点情報として設定できるようになる。
【００２２】
また本発明の一態様では、前記視点情報演算部は、プレーヤの操作情報又はゲーム状況情報に基づいて、前記可動機構の前記動作情報を求め、前記動作情報に基づいて、前記トラッキング視点のロスト状態時の前記視点情報の推定処理を行ってもよい。
【００２３】
このようにすれば、プレーヤの操作情報やゲーム状況情報に基づいて、可動機構の動作情報を求め、その動作情報に基づき推定された視点情報を、トラッキング視点のロスト状態時のプレーヤの視点情報として設定できるようになる。
【００２４】
また本発明の一態様では、前記視点情報演算部は、プレーヤの体格情報、性別情報及び年齢情報の少なくとも１つを含むプレーヤ情報に基づいて、前記トラッキング視点のロスト状態時の前記視点情報の推定処理を行ってもよい。
【００２５】
このようにすれば、トラッキング視点がロスト状態になった場合に、プレーヤの体格や性別や年齢などを加味して、視点情報を推定できるため、プレーヤの情報を反映させた、より適切な視点での画像を生成できるようになる。
【００２６】
また本発明の一態様では、前記視点情報演算部は、複数の候補視点情報の中から、前記プレーヤ情報に基づいて視点情報を選択する処理を、前記トラッキング視点のロスト状態時の前記視点情報の推定処理として行ってもよい。
【００２７】
このようにすれば、複数の候補視点情報の中から、プレーヤの体格や性別や年齢などに応じた視点情報を選択して、ラッキング視点のロスト状態時の視点情報を推定できるようになる。
【００２８】
また本発明の一態様では、前記視点情報演算部は、プレーヤの動作の物理シミュレーション処理の結果情報に基づいて、前記トラッキング視点のロスト状態時の前記視点情報の推定処理を行ってもよい。
【００２９】
この物理シミュレーション処理には、映像や可動機構の変化に反応する人間の挙動に関するシミュレーションの処理も含まれる。
【００３０】
このようにすれば、物理シミュレーション処理により、プレーヤの動作を特定して、トラッキング視点のロスト状態時のプレーヤの視点情報を推定できるため、現実世界でのプレーヤの視点と似通った視点での画像を生成することが可能になる。
【００３１】
また本発明の一態様では、前記画像生成部は、１つの曲面又は複数の面により構成されるプロジェクション用スクリーンの形状情報と、プレーヤの前記視点情報とに基づいて、投影画像を生成してもよい。
【００３２】
このようにすれば、プロジェクション用スクリーンの形状情報や視点情報を用いることで、プロジェクション用スクリーンの形状を反映させた適切な投影画像を生成できるようになる。そして、トラッキング視点がロスト状態になった場合にも、推定処理により求められた視点情報を用いて投影画像が生成されるため、違和感や不自然さが少ない投影画像を生成できるようになる。
【００３３】
また本発明の一態様では、前記画像生成部は、描画バッファ上のピクセルが投影装置の光学系を通して出射される光線と前記プロジェクション用スクリーンとの交点位置と、プレーヤの視点位置とを結ぶ直線を、仮想カメラの視線として、前記描画バッファ上の前記ピクセルの色を決定してもよい。
【００３４】
このようにすれば、ピクセル単位での歪み補正処理を行って、プロジェクション用の投影画像を生成できるようになる。
【００３５】
また本発明の一態様では、前記画像生成部は、前記オブジェクト空間内のオブジェクトの頂点位置とプレーヤの視点位置を結ぶ直線と、前記プロジェクション用スクリーンとの交点位置に基づいて、前記オブジェクトに対応する描画オブジェクトについての描画バッファ上での頂点位置を求め、前記頂点位置に基づいて前記描画バッファに前記描画オブジェクトを描画してもよい。
【００３６】
このようにすれば、頂点単位での歪み補正処理を行って、プロジェクション用の投影画像を生成できるようになる。
【００３７】
また本発明の一態様では、前記画像生成部は、プレーヤの前記視点情報に基づいて、立体視用の第１視点画像と第２視点画像を生成してもよい。
【００３８】
このようにすれば、立体視用の第１視点画像、第２視点画像をプレーヤに表示することで、立体視を実現できるようになる。そして、トラッキング視点がロスト状態になった場合にも、推定処理により求められた視点情報を用いて、第１視点画像、第２視点画像が生成されるため、違和感や不自然さが少ない立体視を実現できるようになる。
【図面の簡単な説明】
【００３９】
【図１】本実施形態の画像生成システムを適用したゲームシステムの一例。
【図２】本実施形態の画像生成システムを適用したゲームシステムの鉛直断面図。
【図３】可動機構の構成例。
【図４】本実施形態の画像生成システムの構成例。
【図５】図５（Ａ）〜図５（Ｃ）は投影画像の生成に用いられる代表視点の説明図。
【図６】図６（Ａ）、図６（Ｂ）は視点トラッキングの説明図。
【図７】図７（Ａ）、図７（Ｂ）も視点トラッキングの説明図。
【図８】図８（Ａ）〜図８（Ｃ）はトラッキング視点のロスト状態についての説明図。
【図９】本実施形態の手法の処理例を示すフローチャート。
【図１０】図１０（Ａ）〜図１０（Ｃ）は視点履歴情報を用いる手法の説明図。
【図１１】図１１（Ａ）〜図１１（Ｃ）は周回コースで移動体を移動させるゲームにおいて視点履歴情報を用いる手法の説明図。
【図１２】複数の視点履歴情報の中から移動体の移動情報等を用いて視点情報を選択する手法の説明図。
【図１３】視点履歴情報に基づいてプレーヤの視点情報を推定する手法の処理例を示すフローチャート。
【図１４】可動機構の動作情報に基づいてプレーヤの視点情報を推定する手法の処理例を示すフローチャート。
【図１５】図１５（Ａ）〜図１５（Ｃ）は可動機構の動作情報に基づいてプレーヤの視点情報を推定する手法の説明図。
【図１６】プレーヤ情報に基づいてプレーヤの視点情報を推定する手法の処理例を示すフローチャート。
【図１７】物理シミュレーション処理によりプレーヤの視点情報を推定する手法の処理例を示すフローチャート。
【図１８】図１８（Ａ）〜図１８（Ｃ）は物理シミュレーション処理によりプレーヤの視点情報を推定する手法の説明図。
【図１９】描画バッファのピクセル単位での歪み補正手法の説明図。
【図２０】ピクセル単位での歪み補正に代理平面を用いる手法の説明図。
【図２１】ピクセル単位での歪み補正に代理平面を用いる手法での描画バッファ、ＵＶマップ、レンダーテクスチャの関係を示す図。
【図２２】オブジェクトの頂点単位での歪み補正手法の説明図。
【図２３】図２３（Ａ）〜図２３（Ｃ）は立体視画像を生成する手法の説明図。
【図２４】ＨＭＤに表示する画像を生成する手法の説明図。
【発明を実施するための形態】
【００４０】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００４１】
１．構成
図１に、本実施形態の画像生成システムを適用したゲームシステム（ゲーム装置）の構成例を示す。図２は、このゲームシステムの鉛直断面図である。
【００４２】
図１、図２のゲームシステムは、アミューズメント施設に設置されてレーシングゲームをプレーヤがプレイするための業務用のゲームシステムである。このゲームシステムは、プレーヤが座るシート１０と、制御基板１６と、ゲーム画像である投影画像が投影される曲面形状のスクリーン２０と、スクリーン２０に投影画像（映像）を投影する投影装置３０と、視点トラッキング用の撮像部４０と、可動機構６０と、ゲーム音を出力するスピーカ（不図示）を備えている。また、プレーヤが操作情報を入力するためのハンドル５０、ブレーキペダル５２、アクセルペダル５４、シフトレバー５６と、カードリーダー５８と、コイン投入口５９を備えている。
【００４３】
可動機構６０は、可動対象物であるシート１０の方向（姿勢）や位置を変化させるものである。例えば可動機構６０は、加速・減速や、コーナリングの荷重や、路面の凹凸をプレーヤに体感させるための動作を行う。可動機構６０は制御基板１６からの動作信号により動作する。
【００４４】
シート１０は、基本位置・基本姿勢である場合に、着座したプレーヤの想定正視方向がスクリーン２０の中央付近を向くように、可動機構６０によりその位置・姿勢が設定される。本実施形態では、着座したプレーヤの正面方向を想定正視方向としている。スクリーン２０は、基本位置・姿勢のシート１０に着座したプレーヤの正面方向（想定正視方向）に対して、凸形状に形成されている。
【００４５】
制御基板１６には、ＣＰＵ、ＧＰＵ又はＤＳＰ等の各種プロセッサや、ＡＳＩＣや、ＶＲＡＭ、ＲＡＭ又はＲＯＭ等の各種メモリが実装されている。そして、制御基板１６は、メモリに記憶されたプログラムやデータや、ハンドル５０等を操作するプレーヤの操作情報等に基づいて、レーシングゲームを実現するための各種処理を行う。
【００４６】
投影装置３０（プロジェクタ）は、筐体フレーム１４に支持されて、シート１０の上方であってシート１０に着座したプレーヤに干渉しない位置に、その投影中心方向がスクリーン２０の中心付近を向くように設置されている。即ち、投影中心方向がプレーヤの想定正視方向とスクリーン２０との交点位置に向くように設置される。また、投影装置３０には、投影レンズとして広角レンズ（例えば魚眼レンズ、即ち画角が１８０度を超えるような超広角レンズ）が取り付けられており、この広角レンズを通して、投影画像がスクリーン２０の投影領域の全体に投影される。
【００４７】
プレーヤは、シート１０に着座して、スクリーン２０に表示されるゲーム画面を見ながら、スピーカからのゲーム音を聞きつつ、ハンドル５０、アクセルペダル５２、ブレーキペダル５４、シフトレバー５６を操作してカーレースゲームを楽しむ。
【００４８】
本実施形態のレースゲームでは、オブジェクト空間（仮想３次元空間）に、レースのコース等の背景オブジェクトが配置されてゲーム空間が構成される。このオブジェクト空間内には、プレーヤカーや他プレーヤカー等の各種オブジェクトが配置されると共に、プレーヤの視点位置に仮想カメラが配置される。そして、この仮想カメラから見たオブジェクト空間の画像が、ゲーム画像として、プロジェクタ３０によってスクリーン２０に投影（表示）される。
【００４９】
図３に可動機構６０（可動筺体）の構成例を示す。可動機構６０は、可動対象物と、可動対象物を動かすアクチュエータを有する。図３では、可動対象物はシート１０であり、アクチェエータは電動シリンダ７３、７４である。電動シリンダ７３、７４は、図１の制御基板１６（処理部）からの電気信号である動作信号（広義には動作情報）に基づいて、Ａ１、Ａ２に示すようにロッド部を直線運動させる。電動シリンダ７３、７４は、ステッピングモータやボールねじを有しており、ステッピングモータでボールネジを回転させることで、ロッド部の直線運動を実現する。そして、このように電動シリンダ７３、７４のロッド部が直線運動することで、図３のＡ３、Ａ４に示すようにシート１０の方向（姿勢）や位置が変化する動作が実現される。
【００５０】
具体的には、ゲームシステムの筺体の底部１２には、基台６２が設けられており、基台６２にはヒンジ部６３、６４が設けられている。そして電動シリンダ７３、７４の一端は、ヒンジ部６３、６４により基台６２に取り付けられる。具体的にはヒンジ部６３、６４は、水平方向であるＸ軸回りに回動自在となるように電動シリンダ７３、７４の一端を支持している。なおヒンジ部６３、６４を、鉛直方向であるＹ軸の回りで回動自在となるように基台６２に取り付けてよい。またシート１０の背もたれ部の裏面側には取り付け板８０が設けられており、取り付け板８０には、ヒンジ部８３、８４が設けられている。そして電動シリンダ７３、７４の他端は、ヒンジ部８３、８４により取り付け板８０に取り付けられる。具体的にはヒンジ部８３、８４は、Ｘ軸回りに回動自在となるように電動シリンダ７３、７４の他端を支持している。
【００５１】
基台６２には、ヒンジ部６５、６６が設けられ、ヒンジ部６５、６６には支持部７５、７６の一端が取り付けられている。そして、支持部７５、７６の他端はシート１０の座部（裏面）に取り付けられる。例えば支持部７５、７６は、鉛直方向であるＹ軸の回りで回動自在となるようにシート１０の座部を支持している。
【００５２】
図３の可動機構６０では、電動シリンダ７３のロッド部が伸張方向に直線運動して長くなり、電動シリンダ７４のロッド部が退避方向に直線運動して短くなると、シート１０（座部）がＹ軸回りにおいて例えば右回りに回転するように動作する。また電動シリンダ７３のロッド部が退避方向に直線運動して短くなり、電動シリンダ７４のロッド部が伸張方向に直線運動して長くなると、例えばシート１０が左回りに回転するように動作する。このように可動機構６０が動作することで、車等の移動体のコーナリングをプレーヤに体感させることができる。
【００５３】
また、路面の凹凸等をプレーヤに体感させる場合には、ロッド部が微少のストローク距離で直線運動するように、電動シリンダ７３、７４を制御すればよい。
【００５４】
なお、図３は可動機構６０の構成の一例であり、本実施形態の可動機構６０は図３の構成に限定されず、種々の変形実施が可能である。例えば可動機構６０は、プレーヤの視点位置及び視線方向の少なくとも一方を変化させるような動作を行う機構（機械）である。可動機構６０は、本実施形態の画像生成システム（処理部）からの動作情報（例えば電気信号である動作信号）に基づいて動作する。そして可動機構６０が動作することで、プレーヤが着座するシート１０（広義には、可動対象物、或いはプレーヤが搭乗する搭乗部）の位置及び方向（姿勢）の少なくとも一方が変化し、その結果、プレーヤの視点位置及び視線方向の少なくとも一方が変化する。
【００５５】
図４に本実施形態の画像生成システムのブロック図の例を示す。なお、本実施形態の画像生成システムの構成は図４に限定されず、その構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００５６】
撮像部４０（カメラ）は、レンズ等の光学系と、撮像素子を有する。レンズは、例えば撮像素子に像を映すレンズである。撮像素子は、例えばＣＣＤ又はＣＭＯＳセンサーなどにより実現される。
【００５７】
可動機構６０（稼働筺体）は、シート１０等の可動対象物を動作させるための機構（機械）であり、その詳細は図３に示した通りである。
【００５８】
操作部１６０は、プレーヤが操作情報を入力するためのものである。図１、図２のゲームシステムでは、操作部１６０は、ハンドル５０、ブレーキペダル５２、アクセルペダル５４、シフトレバー５６や、不図示の操作ボタン等により実現できる。
【００５９】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＤＲＡＭ、ＶＲＡＭ）などにより実現できる。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部１７０に保持される。
【００６０】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ、ＢＤ）、ＨＤＤ（ハードディスクドライブ）、ＳＳＤ（ソリッドステートドライブ）、或いはメモリ（ＲＯＭ等）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータ（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００６１】
表示部１９０は、本実施形態により生成された画像を表示するものである。図１、図２の場合には、表示部１９０は、液晶プロジェクタにおけるＬＣＤや、ＤＬＰプロジェクタにおけるＤＭＤなどにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００６２】
補助記憶装置１９４（補助メモリ、２次メモリ）は、記憶部１７０の容量を補うために使用される記憶装置であり、ＳＤメモリーカード、マルチメディアカードなどのメモリーカードなどにより実現できる。
【００６３】
通信部１９６は、有線や無線のネットワークを介して外部（例えば他の画像生成システム、サーバ、ホスト装置）との間で通信を行うものであり、その機能は、通信用ＡＳＩＣ又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【００６４】
処理部１００（プロセッサ）は、操作部１６０からの操作情報やプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。処理部１００は記憶部１７０をワーク領域として各種処理を行う。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＧＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００６５】
処理部１００は、ゲーム演算部１０２、オブジェクト空間設定部１０４、移動体演算部１０６、視点情報演算部１０８、仮想カメラ制御部１１０、画像生成部１２０、音生成部１３０を含む。なおこれらの構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００６６】
ゲーム演算部１０２はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００６７】
オブジェクト空間設定部１０４は、複数のオブジェクトが配置されるオブジェクト空間の設定処理を行う。例えば、移動体（人、動物、ロボット、車、飛行機、船舶機等）、マップ（地形）、建物、コース（道路）、樹木、壁、水面などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。具体的には、記憶部１７０のオブジェクトデータ記憶部１７２には、オブジェクト（パーツオブジェクト）の位置、回転角度、移動速度、移動方向等のデータであるオブジェクトデータがオブジェクト番号に対応づけて記憶される。オブジェクト空間設定部１０４は、例えば各フレーム毎にこのオブジェクトデータを更新する処理などを行う。
【００６８】
移動体演算部１０６は、人、動物、車、飛行機等の移動体（移動体オブジェクト）を移動させるための制御処理を行う。また移動体を動作させるための制御処理を行う。即ち操作部１６０によりプレーヤが入力した操作情報や、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、移動体（オブジェクト、モデルオブジェクト）をオブジェクト空間内で移動させたり、移動体を動作（モーション、アニメーション）させる制御処理を行う。具体的には、移動体の移動情報（位置、回転角度、速度、或いは加速度）や動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００６９】
仮想カメラ制御部１１０は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点、基準仮想カメラ）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは視野範囲を制御する処理）を行う。仮想カメラ制御部１１０の仮想カメラの制御は、例えば視点情報演算部１０８により求められたプレーヤの視点情報に基づき実現できる。
【００７０】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理、シミュレーション処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。具体的には、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、歪み補正用の変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、ジオメトリ処理後のオブジェクト（１又は複数プリミティブ面）を、描画バッファ１７６（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、画像生成部１２０で行われる描画処理は、頂点シェーダ処理やピクセルシェーダ処理等により実現することができる。
【００７１】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００７２】
そして本実施形態の画像生成システムは、図４に示すように、オブジェクト空間設定部１０４と、視点情報演算部１０８と、画像生成部１２０を含む。
【００７３】
オブジェクト空間設定部１０４は、オブジェクト空間の設定処理を行う。即ち、オブジェクト空間内に複数のオブジェクトを配置設定するための処理を行う。
【００７４】
視点情報演算部１０８は、プレーヤの視点トラッキングにより得られたトラッキング視点情報を、プレーヤの視点情報として設定する。例えばアイトラッキング、フェイストラッキング又はヘッドトラッキングなどの視点トラッキング手法により、現実空間でのプレーヤの視点情報を特定する。トラッキング視点情報は、視点トラッキングにより求められた視点情報である。このトラッキング視点情報を求める視点トラッキングの手法としては、公知の種々の手法を採用できる。
【００７５】
また、プレーヤの視点情報は、プレーヤの視点位置及び視線方向の少なくとも一方を含む情報である。なお、視点情報は、複数の視点位置・視線方向の情報や、それ以外の情報（例えば両眼間隔の情報等）を含んでもよい。
【００７６】
画像生成部１２０は、特定された視点情報に基づいて、オブジェクト空間においてプレーヤの視点から見える画像を生成する。例えば現実空間での視点情報に基づいて、その視点情報に対応する、オブジェクト空間内での視点位置や視線方向を特定し、その視点から見える画像を生成する。生成される画像は、１つの曲面又は複数の面で構成されスクリーンに投影される投影用画像であってもよいし、立体視を実現する立体視画像であってもよい。その立体視画像は、平面のディスプレイに表示されるものであってもよいし、１つの曲面又は複数の面で構成されるスクリーンに立体視画像が投影されるものであってもよい。或いはＨＭＤ（頭部装着型表示装置）に表示する画像であってもよい。
【００７７】
そして本実施形態では、視点情報演算部１０８は、トラッキング視点がロスト状態になった場合に、プレーヤの視点情報の推定処理（決定処理）を行う。例えば、何らかの理由で、プレーヤの視点（現実世界での視点）を捕捉できなくなり、トラッキング視点の情報を取得できなくなる状態（ロスト状態）になった場合に、プレーヤの視点情報の推定処理を行う。
【００７８】
例えば、視点トラッキングが成功している状態では、視点情報演算部１０８は、視点トラッキングにより取得されたトラッキング視点情報を、プレーヤの視点情報として設定（特定）する。そして画像生成部１２０は、設定された視点情報に基づいて、オブジェクト空間においてプレーヤの視点から見える画像を生成する。一方、視点トラッキングがロスト状態になった場合には、視点情報演算部１０８は、プレーヤの視点情報の推定処理を行う。そして画像生成部１２０は、推定処理により得れた視点情報に基づいて、オブジェクト空間においてプレーヤの視点から見える画像を生成する。即ち、推定されたプレーヤの視点に対応するオブジェクト空間内の視点位置において見える画像を生成する。
【００７９】
例えば視点情報演算部１０８は、プレーヤを撮影した撮像画像により求められるトラッキング視点情報を、プレーヤの視点情報として設定する。例えば図１、図２に示すように、本実施形態では、プレーヤを撮影する撮像部４０が設けられている。この撮像部４０は、例えば少なくともプレーヤの顔を撮影できる位置に設置される。即ち、プレーヤを正面方向から見ることができる位置において、その撮影方向（光軸方向）がプレーヤ（プレーヤの顔）の方を向くように、設置されている。そして、視点情報演算部１０８は、この撮像部４０からの撮像画像（画像データ）により求められたトラッキング視点情報を、プレーヤの視点情報として設定する。この撮像部４０は通常のカメラであっても、顔の大きさや両眼の間隔から、ある程度は奥行き方向も含めた視点位置を推定できるが、より精確に求めるには、複数のカラーカメラを用いることで距離方向に対しても位置を取得できる構成としてもよい。また、通常のカラーカメラに加えて距離情報を取得することができる測距カメラを備えた物であってもよい。
【００８０】
また視点情報演算部１０８は、プレーヤの視点履歴情報に基づいて、トラッキング視点のロスト状態時の視点情報の推定処理を行う。視点履歴情報（視点移動履歴情報）は、例えば過去に視点トラッキング等の視点演算処理により求められた視点情報群である。この視点履歴情報は、記憶部１７０の視点履歴情報記憶部１７７に記憶されている。なお視点履歴情報は、本実施形態の画像生成システムとは別の装置で生成された情報であってもよい。この場合には、ネットワークを介して、或いは補助記憶装置１９４を介して、この視点履歴情報を取得して、視点履歴情報記憶部１７７に記憶すればよい。
【００８１】
例えば視点情報演算部１０８は、視点履歴情報と、プレーヤが操作する移動体の移動情報及びプレーヤの操作情報の少なくとも１つに基づいて、トラッキング視点のロスト状態時の視点情報の推定処理を行う。移動体は、プレーヤの操作に基づいてオブジェクト空間を移動するオブジェクトである。移動体の移動情報は、移動体の位置、速度、加速度、角速度、或いは角加速度等である。なお、ここでいう速度や加速度とは、一般的にはベクトル量である。或いは移動体の移動情報は移動体の移動経路等であってもよい。プレーヤの操作情報は、プレーヤが操作部１６０を操作することで得られる情報である。この操作情報は、プレーヤの過去の操作情報である操作履歴情報であってもよい。
【００８２】
例えば視点履歴情報記憶部１７７には、候補となる複数の視点履歴情報が記憶されており、視点情報演算部１０８は、移動体の移動情報やプレーヤの操作情報に基づいて、これらの複数の視点履歴情報の中から視点履歴情報（視点情報）を選択し、選択された視点履歴情報に基づいて、プレーヤの視点情報を設定（推定）する。
【００８３】
例えば、視点情報演算部１０８は、複数の視点履歴情報の中から、移動体の位置が第１の位置である場合には第１の視点履歴情報（第１の視点情報）を選択し、第２の位置である場合には第２の視点履歴情報（第２の視点情報）を選択する。また視点情報演算部１０８は、複数の視点履歴情報の中から、移動体の速度（又は加速度、角速度、角加速度）が第１の速度（第１の加速度、角速度、角加速度）である場合には第１の視点履歴情報（第１の視点情報）を選択し、第２の速度（第２の加速度、角速度、角加速度）である場合には第２の視点履歴情報（第２の視点情報）を選択する。また視点情報演算部１０８は、複数の視点履歴情報の中から、プレーヤが第１の操作（例えばハンドルを左に切る、アクセルペダルを踏む）を行っていた場合には、第１の視点履歴情報（第１の視点情報）を選択し、プレーヤが第２の操作（例えばハンドルを右に切る、ブレーキペダルを踏む）を行っていた場合には、第２の視点履歴情報（第２の視点情報）を選択する。
【００８４】
また視点情報演算部１０８は、プレーヤが操作する移動体がコース又はマップを移動する場合に、過去に同じエリア（コースブロック、マップブロック）に位置したときの視点履歴情報に基づいて、トラッキング視点のロスト状態時の視点情報の推定処理を行う。ここでコースは、オブジェクト空間内において、車等の移動体が移動すべき経路として設定されているものである。このコースは、カーレーシングゲームなどに用いられる。コースは、例えばその進行方向に交差（直交）する方向において所与の幅を有している。コースの形状データやコースの各位置での走行条件設定データ等が、コースデータとしてコースデータ記憶部１７８に記憶されている。またマップは、オブジェクト空間内において、キャラクタ等の移動体が移動するフィールドとなるものである。このマップの地形データやマップの各位置でのゲーム条件設定データ等が、マップデータとしてマップデータ記憶部１７９に記憶されている。
【００８５】
移動体演算部１０６は、操作部１６０からのプレーヤの操作情報に基づいて、コース又はマップで移動体を移動させる演算処理を行う。そして移動体が、コース又はマップの第１のエリア（第１のコースブロック、第１のマップブロック）に位置する場合には、視点情報演算部１０８は、過去にその第１のエリアに移動体が位置したときの視点履歴情報を読み出す。例えば第１のエリアに対応づけられた視点履歴情報を読み出す。そして読み出された視点履歴情報に基づいて、移動体が第１のエリアに位置するときのプレーヤの視点情報を特定する。同様に、移動体が、コース又はマップの第２のエリア（第２のコースブロック、第２のマップブロック）に位置する場合には、視点情報演算部１０８は、過去にその第２のエリアに移動体が位置したときの視点履歴情報を読み出す。例えば第２のエリアに対応づけられた視点履歴情報を読み出す。そして読み出された視点履歴情報に基づいて、移動体が第２のエリアに位置するときのプレーヤの視点情報を特定する。
【００８６】
この場合に、コースとしては、周回コースを用いることができる。周回コースは、競争ゲーム等において、移動体が、１周、２周、３周というように何周も周回することができるコースである。視点情報演算部１０８は、プレーヤが操作する移動体が、この周回コースにおいて過去に同じエリアを通過したときの視点履歴情報に基づいて、トラッキング視点のロスト状態時の視点情報の推定処理を行う。例えば現在の周回数がｍ周目であった場合に、過去の１周目〜ｍ−１周目において、同じエリア（コースブロック）を通過（位置）したときの視点履歴情報に基づいて、そのエリアを通過する際のプレーヤの視点情報を特定する。例えば、１周目〜ｍ−１周目に対応する第１〜第ｍ−１の視点履歴情報の中から、例えば移動体の移動情報又はプレーヤの操作情報等に基づいて、視点情報を選択して、そのエリアを通過する際のプレーヤの視点情報を特定する。
【００８７】
また本実施形態の画像生成システム（ゲームシステム）は、図１〜図４で説明したように可動機構６０を有する。この場合に視点情報演算部１０８は、可動機構６０の動作情報に基づいて、トラッキング視点のロスト状態時の視点情報の推定処理を行う。可動機構６０の動作情報は、可動機構６０の動作状態を設定するための情報である。例えば動作情報は、可動対象物であるシート１０の姿勢状態（回転状態）や位置（移動位置）を特定するための情報である。可動機構６０の動作制御は処理部１００により行われる。
【００８８】
例えば、視点情報演算部１０８は、可動機構６０の動作情報に基づいて、可動対象物であるシート１０が第１の姿勢状態（第１の位置）であると判断される場合には、シート１０が第１の姿勢状態（第１の位置）である場合に想定されるプレーヤの視点位置や視線方向を、ロスト状態時のプレーヤの視点情報として設定する。また可動機構６０の動作情報に基づいて、可動対象物であるシート１０が第２の姿勢状態（第２の位置）であると判断される場合には、シート１０が第２の姿勢状態（第２の位置）である場合に想定されるプレーヤの視点位置や視線方向を、ロスト状態時のプレーヤの視点情報として設定する。
【００８９】
例えば視点情報演算部１０８は、プレーヤの操作情報又はゲーム状況情報に基づいて、可動機構６０の動作情報を求め、求められた動作情報に基づいて、トラッキング視点のロスト状態時の視点情報の推定処理を行う。
【００９０】
例えば、図１においてプレーヤがハンドル５０を右に切った、或いは左に切ったなどの操作情報に基づいて、可動機構６０の動作情報を求める。即ち、可動機構６０の動作状態（回転状態等）を設定するための動作情報を求める。可動機構６０は、この動作情報である動作信号に基づいて動作する。
【００９１】
例えばプレーヤがハンドル５０を右に切った場合には、右方向へのコーナリングをプレーヤに体感させるために、例えば、シート１０が右回りに回転するように可動機構６０を動作させる。そして、右方向にコーナリングした場合に想定される視点位置や視線方向を、プレーヤの視点情報として設定（推定）する。またプレーヤがハンドル５０を左に切った場合には、左方向へのコーナリングをプレーヤに体感させるために、例えば、シート１０が左回りに回転するように可動機構６０を動作させる。そして、左方向にコーナリングした場合に想定される視点位置や視線方向を、プレーヤの視点情報として設定（推定）する。
【００９２】
また、ゲーム状況情報に基づいて、例えばプレーヤの移動体が凹凸のある路面等を走行していると判断された場合には、図３のＹ軸方向においてシート１０が微少に上下するように、可動機構６０（電動シリンダ７３、７４）を動作させる。そして、凹凸の路面を走行している場合に想定される視点位置や視線方向を、プレーヤの視点情報として設定（推定）する。例えばプレーヤの視点位置を路面の凹凸に合わせて上下させる。
【００９３】
なお、操作情報は、例えばプレーヤが操作部１６０を操作することで取得される情報である。ゲーム状況情報は、その時点でのゲームの状況を表す情報であり、ゲーム進行に伴い変化する情報である。例えば移動体が移動するゲームにおいては、ゲーム状況情報は、移動体の走行環境などの走行状況を表す情報である。また、キャラクタを用いたゲーム（ＲＰＧゲーム、格闘技ゲーム、アクションゲーム）などでは、ゲーム状況情報は、ゲームにおけるキャラクタの現在の状況を表す情報や、キャラクタのステータスパラメータ等に基づく情報である。またゲーム状況情報としては、例えばゲームの進行状況を表す情報、或いはゲームの達成度（マップのクリア状況、獲得ポイント等）を表す情報などを想定できる。
【００９４】
また視点情報演算部１０８は、プレーヤの体格情報、性別情報及び年齢情報の少なくとも１つを含むプレーヤ情報に基づいて、トラッキング視点のロスト状態時の視点情報の推定処理を行ってもよい。例えば、プレーヤが第１の体格（例えば身長が高い、体重が重い等）である場合と第２の体格（例えば身長が低い、体重が軽い等）である場合とで、ロスト状態時のプレーヤの視点情報を異ならせる。或いは、プレーヤが男性である場合と女性である場合とで、ロスト状態時のプレーヤの視点情報を異ならせる。或いは、プレーヤが大人である場合と子供である場合とで、ロスト状態時のプレーヤの視点情報を異ならせる。
【００９５】
具体的には視点情報演算部１０８は、複数の候補視点情報の中から、プレーヤ情報に基づいて視点情報を選択する処理を、トラッキング視点のロスト状態時の視点情報の推定処理として行う。例えばプレーヤが第１の体格である場合には、視点情報演算部１０８は、複数の候補視点情報の中から、第１の体格用に用意された視点情報（視点履歴情報）を選択して、ロスト状態時のプレーヤの視点情報を設定する。第２の体格である場合には、第２の体格用に用意された視点情報（視点履歴情報）を選択して、ロスト状態時のプレーヤの視点情報を設定する。或いは、プレーヤが男性である場合には、視点情報演算部１０８は、男性用に用意された視点情報（視点履歴情報）を選択して、ロスト状態時のプレーヤの視点情報を設定する。女性である場合には、女性用に用意された視点情報（視点履歴情報）を選択して、ロスト状態時のプレーヤの視点情報を設定する。或いは、プレーヤが大人である場合には、大人用に用意された視点情報（視点履歴情報）を選択して、ロスト状態時のプレーヤの視点情報を設定する。子供である場合には、子供用に用意された視点情報（視点履歴情報）を選択して、ロスト状態時のプレーヤの視点情報を設定する。
【００９６】
また視点情報演算部１０８は、プレーヤの動作の物理シミュレーション処理の結果に基づいて、トラッキング視点のロスト状態時の視点情報の推定処理を行ってもよい。例えば、プレーヤの操作情報、ゲーム状況情報、或いはこれらの操作情報やゲーム状況情報から求められる可動機構６０の動作情報等に基づいて、プレーヤ（モデルオブジェクト）の動作の物理シミュレーション処理を行う。例えば、操作情報、ゲーム状況情報又は可動機構６０の動作情報等に基づいて、プレーヤのモーションがどのように変化するかを、公知の物理シミュレーション処理により求める。そして、求められたプレーヤ（モデルオブジェクト）のモーションに基づいて、トラッキング視点のロスト状態時のプレーヤの視点情報を推定する。例えば、移動体が右コーナリングを行った場合や左コーナリングを行った場合のモーション情報を、物理シミュレーション処理により求め、そのモーション情報に基づいて、そのときのプレーヤの視点位置や視線位置の動きを特定する。そして、特定された視点位置や視線方向を、ロスト状態時のプレーヤの視点情報として推定する。
【００９７】
また画像生成部１２０は、１つの曲面又は複数の面により構成されるプロジェクション用スクリーンの形状情報と、プレーヤの視点情報とに基づいて、投影画像を生成する。プロジェクション用スクリーンの形状情報は、例えばプロジェクション用スクリーンの形状を数式（例えば楕円面の方程式）やポリゴンモデルなどで表した情報である。画像生成部１２０は、１つの曲面又は複数の面により構成されるプロジェクション用スクリーンの形状を反映させるための歪み補正処理を行って、投影画像を生成する。
【００９８】
即ち画像生成部１２０はプロジェクション用の投影画像を生成する。生成された投影画像は、図１、図２の投影装置３０により、スクリーン２０に投影される。これによりプレーヤは、仮想カメラから見たオブジェクト空間の画像を、ゲーム画像として見ることが可能になる。プロジェクション用の投影画像は、例えばプロジェクションマッピング処理で生成された投影画像である。プロジェクションマッピングは、映す対象（スクリーン）の状態（形状等）と投影装置３０の状態（位置、方向等）と視点の状態（位置、方向等）を考慮に入れて投影装置３０で映す手法である。
【００９９】
具体的には画像生成部１２０は、描画バッファ１７６上のピクセル（投影画像のピクセル）が投影装置３０の光学系（広角レンズ等）を通して出射される光線と、プロジェクション用スクリーンとの交点位置と、視点位置を結ぶ直線を、仮想カメラの視線として、描画バッファ１７６上のピクセルの色を決定する。例えばこの直線を仮想カメラの視線として、オブジェクト空間の情報からピクセルの色を決定する。具体的には、この直線とオブジェクト空間内のオブジェクトとの交点位置（この直線がオブジェクト空間において最初に到達するオブジェクト上の点の位置）に応じて、ピクセルの色を決定する。この処理はレイトレーシング法にて実現することもできるが、描画負荷が大きく、リアルタイムでの実装が難しくなる。そこで、より実用的な方法としては、曲面のスクリーンになるべく近い形状の平面スクリーン（これを「代理平面」と呼ぶことにする）に対する描画結果をレンダーテクスチャに保存しておく手法で実現してもよい。そして、このようにしてピクセルの色を決定することで、投影画像が生成される。
【０１００】
或いは、画像生成部１２０は、オブジェクト空間内のオブジェクトの頂点位置と視点位置を結ぶ直線を求め、この直線とプロジェクション用スクリーンとの交点位置を求める。そして、求められた交点位置に基づいて、オブジェクトに対応する描画オブジェクトについての描画バッファ１７６上での頂点位置を求める。そして、求められた頂点位置に基づいて、描画バッファ１７６に描画オブジェクトを描画することで、投影画像を生成する。
【０１０１】
なお、プロジェクション用スクリーンは、例えば、図１、図２のスクリーン２０に対応して、仮想３次元空間であるオブジェクト空間に配置設定される投影画像生成用の仮想的なスクリーンである。画像生成部１２０では、このプロジェクション用スクリーンの形状に合わせて歪み補正処理（プロジェクションマッピング処理とも呼ばれる）が行われることになる。このプロジェクション用スクリーンは、１つの曲面又は複数の面（曲面、平面）により構成できる。
【０１０２】
また、描画オブジェクトは、描画対象となる３次元オブジェクトに対応する２次元オブジェクトである。例えば、３次元オブジェクトは、３次元空間（オブジェクト空間）に配置されるオブジェクトを意味し、例えばその頂点の座標値として３次元の座標値（Ｘ、Ｙ、Ｚ座標値）を有するオブジェクトである。一方、描画オブジェクトは、例えばその頂点の座標値として２次元の座標値（Ｘ、Ｙ座標）を有するオブジェクトである。また描画バッファ１７６は、例えばフレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファである。
【０１０３】
また画像生成部１２０は、プレーヤの視点情報に基づいて、立体視用の第１視点画像と第２視点画像を生成してもよい。例えば第１視点画像は左目用画像であり、第２視点画像は右目用画像である。例えば、プレーヤの視点情報（視点位置、視線方向）に基づいて、左目用仮想カメラ（第１視点用仮想カメラ）の視点情報と右目用仮想カメラ（第２視点用仮想カメラ）の視点情報を設定する。そして左目用仮想カメラに基づいて左目用画像（第１視点画像）を生成し、右目用仮想カメラに基づいて右目用画像（第２視点画像）を生成する。なお、実際に立体視映像を観察するための方式としては、メガネ方式（具体的には、偏光方式、時分割方式、分光方式等）や裸眼方式などの方式が考えられる。
【０１０４】
２．本実施形態の手法
次に本実施形態の手法について具体的に説明する。なお、以下ではプロジェクション用スクリーンへの投影画像を生成するシステムに本実施形態の手法を適用した場合について主に説明するが、本実施形態はこれに限定されない。後述するように本実施形態の手法は、立体視画像を生成するシステムやＨＭＤへの表示画像を生成するシステムなどの種々の画像生成システムに適用可能である。
【０１０５】
２．１  視点トラッキング
プロジェクション用スクリーンへの投影画像を生成するためには、プロジェクション用スクリーンの形状を反映させるための歪み補正処理を行う必要がある。そして、この歪み補正処理を正確に行うためには、プレーヤの視点位置等の視点情報が必要になる。なお、歪み補正処理の詳細については後述する。
【０１０６】
そして、これまでは、このような歪み補正処理を実現するために、図５（Ａ）に示すように、プレーヤの代表視点ＲＶＰを設定して、投影画像の生成のための歪み補正処理を行っていた。例えば図５（Ａ）ではシート１０の底面の基準位置ＲＰから高さＨＶの位置に代表視点ＲＶＰを設定していた。この代表視点ＲＶＰは、プレーヤの実際の視点とは正確には一致しない。例えば背が高い第１のプレーヤと、背が低い第２のプレーヤでは、視点位置が異なるが、図５（Ａ）では、これらの第１、第２のプレーヤで、同じ代表視点ＲＶＰを用いて、歪み補正処理を行って、投影画像を生成する。多少の視点位置の差であれば、生成される投影画像の違和感はそれほど大きくないと考えられるからである。
【０１０７】
しかしながら、例えば図３で説明したような可動機構６０を設けた場合には、この可動機構６０が動作することで、図５（Ｂ）、図５（Ｃ）に示すようにプレーヤの視点位置ＶＰや視線方向ＶＬは変化してしまう。このように可動機構６０が動作して、プレーヤの視点位置ＶＰや視線方向ＶＬが変化する状況において、図５（Ａ）のような代表視点ＲＶＰを用いた手法で投影画像を生成すると、不自然さや違和感が大きい画像が表示されてしまう。即ち、図５（Ａ）の代表視点ＲＶＰで計算される歪み補正処理が施された投影画像を、プロジェクション用スクリーンに投影してしまうと、プレーヤが大きな違和感を感じてしまうおそれがある。
【０１０８】
そこで本実施形態では、視点トラッキングによりプレーヤの視点を捕捉することで、プレーヤの視点情報を設定し、設定された視点情報を用いて投影画像等の画像を生成する手法を採用している。具体的には、プレーヤの視点トラッキングにより得られたトラッキング視点情報を、プレーヤの視点情報として設定し、設定された視点情報に基づいて、オブジェクト空間においてプレーヤの視点から見える画像を生成する。
【０１０９】
この場合の視点トラッキングは、図１、図２のように設置された撮像部４０の撮像画像に基づき行うことが望ましい。即ち、プレーヤを撮影した撮像画像により求められるトラッキング視点情報を、プレーヤの視点情報として設定して、投影画像等の画像を生成する。図６（Ａ）に、視点トラッキングに好適な構成の撮像部４０の例を示す。
【０１１０】
例えば図６（Ａ）の撮像部４０には、第１、第２のカメラ４５、４６が設けられている。これらの第１、第２のカメラ４５、４６で撮影された第１、第２の撮像画像を用いることで、プレーヤの視点を捕捉する視点トラッキングを実現できる。例えば複数のカメラ４５、４６を撮像部４０に設けることで、現実空間における被写体であるプレーヤの奥行き方向の情報を求めることができる。例えばカメラ４５やカメラ４６の撮像画像を用いて、奥行き方向（撮像部４０の光軸方向）に直交（交差）する平面でのプレーヤの視点位置を求めることができる。またカメラ４５、４６の撮像画像の視差情報等を用いて、奥行き方向でのプレーヤの視点の位置を求めることができ、これにより視点の３次元的な位置を求めることができる。或いは、カメラ４５としてカラー画像センサーを有するカメラを用い、カメラ４６としてデプスセンサーを有するカメラを用いることで、視点の３次元的な位置を求めてもよい。更には、単独のカラー画像センサーを有するカメラのみであっても、顔の大きさや両眼間隔を予め定位置で計測しておいたり、年齢・性別・体格等の情報から推定した顔の大きさや両眼間隔を用いて計算したりすることで、精度はやや落ちるものの、視点の３次元的な位置を求めることができる。
【０１１１】
また図６（Ｂ）では、眼鏡２００（広義には装着用部材）を用意し、この眼鏡２００に、プレーヤの左目に対応する左目用マーカＭＫＬと、右目に対応する右目用マーカＭＫＲを設ける。即ち眼鏡２００の左目部分に対応する位置に左目用マーカＭＫＬを設け、右目部分に対応する位置に右目用マーカＭＫＲを設ける。これらの左目用、右目用マーカＭＫＬ、ＭＫＲは、その形状が互いに異なっている。
【０１１２】
そして、この眼鏡２００を装着したプレーヤを撮像部４０により撮影し、その撮像画像に基づいて、プレーヤの左目、右目の位置情報を取得する。即ち、撮像部４０によりプレーヤを撮像し、得られた撮像画像に対して画像認識処理を行って、図６（Ｂ）の左目用、右目用マーカＭＫＬ、ＭＫＲの形状を認識する。そして、形状認識の結果により、例えばプレーヤの左目、右目の位置を検出することで、プレーヤの視点情報を取得し、視点トラッキングを実現する。特にメガネ式での立体視表示を行う場合には、立体視メガネの存在によって撮像部４０から見た目の部分の明るさが低下し、アイトラッキングが困難になる場合があるが、このようなマーカーをメガネに付けておくことで、アイトラッキングをより精確に行うことが可能になる。
【０１１３】
或いは図７（Ａ）に示すようなアイトラッキングにより視点トラッキングを実現してもよい。例えばアイトラッキングにより、プレーヤの左目、右目の瞳の位置や形状等を認識し、左目、右目の位置ＥＲＰ、ＥＬＰや視線方向ＥＲＤ、ＥＬＤ等を特定して、プレーヤの視点情報を取得し、視点トラッキングを実現する。このアイトラッキングは、例えば撮像部４０によりプレーヤの左目、右目を撮影し、その撮像画像に対して瞳等の画像認識処理を行うことなどで実現できる。
【０１１４】
或いは図７（Ｂ）に示すようなフェイストラッキングにより視点トラッキングを実現してもよい。例えば撮像部４０でプレーヤの顔を撮像し、顔の画像認識処理を行う。そして、画像認識処理の結果に基づいて、プレーヤの顔の位置や向く方向を特定して、プレーヤの視点位置ＶＰ、視線方向ＶＬを求めて、視点トラッキングを実現する。
【０１１５】
なお、本実施形態の視点トラッキング手法は、図６（Ａ）〜図７（Ｂ）で説明した手法に限定されず、プレーヤの視点情報を特定できる公知の種々の視点トラッキング手法を採用できる。
【０１１６】
このように視点トラッキングにより視点情報を取得し、取得された視点情報を用いて、投影画像等の画像を生成すれば、より自然で違和感の少ない画像を生成できる。
【０１１７】
しかしながら、視点トラッキングが成功している場合には、適切な視点情報を取得して、自然な画像を生成できるが、視点トラッキングが失敗して、トラッキング視点がロスト状態となった場合には、適切な視点情報を取得できない。このため、違和感のある画像や、破綻した画像が生成されてしまうおそれがある。
【０１１８】
例えば可動機構６０により、図８（Ａ）のようにシート１０が回転するなどして動作すると、この動作が原因で、図８（Ｂ）のようにプレーヤが手で自分の目を覆ってしまったり、図８（Ｃ）のようにプレーヤが前屈みの姿勢になってしまう場合がある。このような状況が発生すると、撮像部４０によりプレーヤの顔等を撮影できなくなってしまい、プレーヤの視点を捕捉できなくなり、トラッキング視点がロスト状態になってしまう。或いは、プレーヤの姿勢の変化や動きが原因で、ゲームを見物している観客の視点を誤ってトラッキングしてしまい、結果として突然視点位置がジャンプするような状態になってしまう場合もある。これはいわゆる「誤認識状態」であるが、例えばフレーム間の視点位置の移動量の閾値を設け、視点位置の変化量がその閾値を超えるような場合には誤認識とみなすような処理等を行うことで、ロスト状態に帰着させることができるので、以後はロスト状態に含めて説明する。
【０１１９】
このようなトラッキング視点のロスト状態が発生すると、プレーヤの視点情報を取得できなかったり、取得したプレーヤの視点情報の信頼度が著しく低下してしまい、適正な投影画像等の画像を生成できなくなってしまう。
【０１２０】
２．２  ロスト状態時の視点情報の推定
以上のような課題を解決するために、本実施形態では、トラッキング視点のロスト状態時にプレーヤの視点情報を推定する処理を行って、オブジェクト空間においてプレーヤの視点から見える画像を生成する手法を採用している。
【０１２１】
図９は本実施形態の手法の処理例を示すフローチャートである。まずフレーム更新か否かを判断する（ステップＳ１）。例えばフレーム画像を更新するタイミングか否かを判断する。そして、フレーム更新のタイミングである場合には、撮像部４０により撮像画像を取得する（ステップＳ２）。即ちプレーヤの顔等を撮影したが撮像画像を取得する。そして、取得された撮像画像に基づき視点トラッキングを行って、トラッキング視点情報を求める（ステップＳ３）。即ち図６（Ａ）〜図７（Ｂ）で説明したような視点トラッキングを行って、プレーヤの視点位置や視線方向などの視点情報を設定する。
【０１２２】
次に、トラッキング視点がロスト状態か否かを判断する（ステップＳ４）。例えば、図８（Ｂ）、図８（Ｃ）で説明したように、例えば撮像部４０によりプレーヤの顔を撮影できないなどの理由で、視点トラッキングに失敗して、ステップＳ３でトラッキング視点情報を得られないロスト状態なのか否かを判断する。そしてトラッキング視点がロスト状態である場合には、視点情報の推定処理を行う（ステップＳ５）。例えば視点履歴情報、プレーヤの操作情報、ゲーム状況情報、可動機構６０の動作情報或いはプレーヤ情報等の各種の情報に基づいて、プレーヤの視点情報を推定する処理を行う。そして、視点情報に基づいて、オブジェクト空間においてプレーヤの視点から見える画像を生成する（ステップＳ６）。
【０１２３】
例えばトラッキング視点がロスト状態ではない場合には、ステップＳ３で得られたトラッキング視点情報に基づいて、オブジェクト空間においてプレーヤの視点から見える画像を生成する。一方、トラッキング視点がロスト状態である場合には、ステップＳ５で推定された視点情報に基づいて、オブジェクト空間においてプレーヤの視点から見える画像を生成する。
【０１２４】
このとき、図１のような曲面形状のスクリーン２０に投影する画像を生成する場合には、後述するような歪み補正処理を行って、投影画像を生成する。また立体視画像を生成する場合には、視点情報（トラッキング視点情報又は推定処理により得られた視点情報）に基づいて、左目用仮想カメラ（広義には第１視点）、右目用仮想カメラ（広義には第２視点）を設定して、立体視用の左目用画像（広義には第１視点画像）、右目用画像（広義には第２視点画像）を生成する。
【０１２５】
以上の本実施形態の手法によれば、視点トラッキングにより求められたトラッキング視点情報に基づいて、プレーヤの視点から見える画像が生成される。従って、例えば図５（Ｂ）、図５（Ｃ）に示すように可動機構６０が動作することなどにより、現実世界でのプレーヤの視点位置ＶＰや視線方向ＶＬが大きく変化した場合にも、視点トラッキングにより捕捉されたプレーヤの視点の情報に基づいて画像が生成されるため、プレーヤが不自然さや違和感を感じることが少ない画像をプレーヤに表示できるようになる。例えば図１のような曲面形状のスクリーン２０への投影画像の場合には、より適切に歪み補正処理が行われた投影画像を生成できるようになる。また立体視画像を生成する場合にも、現実世界でのプレーヤの視点の位置等と矛盾が生じない立体視画像をプレーヤに表示できるようになる。
【０１２６】
そして本実施形態では、このような視点トラッキングを利用して画像を生成する際に、例えば図８（Ｂ）、図８（Ｃ）のようにトラッキング視点がロスト状態になるような状況が発生した場合にも、視点履歴情報、プレーヤの操作情報、ゲーム状況情報、可動機構６０の動作情報或いはプレーヤ情報等の各種情報に基づいて、プレーヤの視点情報の推定処理が行われる。そして、推定処理により求められた視点情報に基づいて画像が生成されるため、例えば現実世界のプレーヤの視点位置とはかけ離れたような違和感のある画像が、プレーヤに表示されてしまう事態を防止できる。従って、視点のトラッキングが失敗等した場合にも、より適切な画像を生成できる画像生成システムを提供できるようになる。
【０１２７】
２．３  視点履歴情報に基づく推定処理
次に、本実施形態の視点情報の推定処理の具体例について説明する。本実施形態では、プレーヤの視点履歴情報に基づいて、トラッキング視点のロスト状態時の視点情報の推定処理を行っている。この視点履歴情報に基づく視点情報の推定処理について説明する。
【０１２８】
図１０（Ａ）に視点履歴情報の例を示す。図１０（Ａ）の視点履歴情報では、各インデックス（Ｉ１、Ｉ２、Ｉ３・・・）に対して、視点位置（ＶＰ１、ＶＰ２、ＶＰ３・・・）や視線方向（ＶＬ１、ＶＬ２、ＶＬ３・・・）などの視点情報が対応づけられている。視点履歴情報のインデックスとしては、フレーム番号、タイムスタンプ、コースブロック番号、マップブロック番号などの各種のインデックスを想定できる。
【０１２９】
図１０（Ｂ）では、プレーヤが操作する移動体ＭＶがコースＣＳ上で移動している。即ち操作部１６０により入力された操作情報に基づいて、移動体ＭＶを移動させる演算処理が行われ、これにより移動体ＭＶがコースＣＳに沿って移動する。そして経路ＬＣ１では移動体ＭＶは、いわゆるアウト・イン・アウトでコースＣＳ上を移動しており、経路ＬＣ２では、移動体ＭＶはアウト・アウト・アウトで移動している。例えば経路ＬＣ１は、周回のコースＣＳの第１周目の経路であり、経路ＬＣ２は、第２周目の経路である。
【０１３０】
そして図１０（Ｃ）のＶＰＨＴ１は、第１周目の経路ＬＣ１での視点履歴情報であり、ＶＰＨＴ２は、第２周目の経路ＬＣ２での視点履歴情報である。例えば各インデックス（Ｉ１、Ｉ２、Ｉ３・・・）が、フレーム番号（タイムスタンプ）であるとする。この場合には、周回のコースＣＳの第１周目において経路ＬＣ１を移動体ＭＶが移動したときに、各フレームにおいて視点トラッキング等により求められたプレーヤの視点位置（ＶＰ１１、ＶＰ１２、ＶＰ１３・・・）、視線方向（ＶＬ１１、ＶＬ１２、ＶＬ１３・・・）が、各フレーム番号（Ｉ１、Ｉ２、Ｉ３・・・）に対応づけられて、視点履歴情報ＶＰＨＴ１として記憶される。同様に、周回のコースＣＳの第２周目において経路ＬＣ２を移動体ＭＶが移動したときに、各フレームにおいて視点トラッキング等により求められたプレーヤの視点位置（ＶＰ２１、ＶＰ２２、ＶＰ２３・・・）、視線方向（ＶＬ２１、ＶＬ２２、ＶＬ２３・・・）が、各フレーム番号（Ｉ１、Ｉ２、Ｉ３・・・）に対応づけられて、視点履歴情報ＶＰＨＴ２として記憶される。これらの経路ＬＣ１、ＬＣ２では、移動体ＭＶのコース取りが違うため、視点履歴情報ＶＰＨＴ１、ＶＰＨＴ２において、各フレーム番号（各インデックス）に対応づけられて記憶される視点位置、視線方向も異なっている。
【０１３１】
そして、例えばプレーヤが操作する移動体ＭＶが、周回のコースＣＳの第３周目において、図１０（Ｂ）に示す同じコーナを通過する際に、視点トラッキングがロスト状態になったとする。具体的には図８（Ｂ）、図８（Ｃ）のような状態になって、撮像部４０によりプレーヤの顔等を撮像できなくなり、視点トラッキングによってはプレーヤの視点情報を得られなくなったロスト状態になったとする。
【０１３２】
この場合に本実施形態では、図１０（Ｃ）に示す視点履歴情報ＶＰＨＴ１、ＶＰＨＴ２を用いて、トラッキング視点のロスト状態時のプレーヤの視点情報を推定する。具体的には、視点履歴情報ＶＰＨＴ１、ＶＰＨＴ２と、移動体ＭＶの移動情報又はプレーヤの操作情報などに基づいて、ロスト状態時の視点情報を推定する。例えば、コースＣＳの第３周目での当該コーナにおける移動体ＭＶの位置、速度、加速度、角速度又は角加速度等の移動情報と、視点履歴情報ＶＰＨＴ１、ＶＰＨＴ２とに基づいて、ロスト状態時の視点情報を推定する。例えば移動体ＭＶの位置に基づいて、移動体ＭＶの第３周目での移動経路ＬＣ３と、図１０（Ｂ）の移動経路ＬＣ１、ＬＣ２との近接度合いを判断する。そして、例えば第１周目、第２周目の移動経路ＬＣ１、ＬＣ２のうち、第３周目の移動経路ＬＣ３に近い方の移動経路に対応づけられた視点履歴情報（ＶＰＨＴ１又はＶＰＨＴ２）に基づいて、ロスト状態時のプレーヤの視点位置や視線方向などの視点情報を求める。或いは、移動経路ＬＣ１、ＬＣ２の各々に対応する重み付け係数ＷＴ１、ＷＴ２を、第３周目の移動経路ＬＣ３との近接度合いに基づいて設定し、これらの重み付け係数ＷＴ１、ＷＴ２により視点履歴情報ＶＰＨＴ１、ＶＰＨＴ２の重み付け処理を行って、ロスト状態時のプレーヤの視点情報を求める。
【０１３３】
或いは、移動体ＭＶの速度（或いは加速度、角速度、角加速度）が速いと判断された場合には、移動経路ＬＣ２の視点履歴情報ＶＰＨＴ２を採用したり、視点履歴情報ＶＰＨＴ２の重み付け係数を大きくすることで、ロスト状態時のプレーヤの視点情報を求める。一方、移動体ＭＶの速度（或いは加速度、角速度、角加速度）が遅いと判断された場合には、移動経路ＬＣ１の視点履歴情報ＶＰＨＴ１を採用したり、視点履歴情報ＶＰＨＴ１の重み付け係数を大きくすることで、ロスト状態時のプレーヤの視点情報を求める。このようにすれば、プレーヤが操作する移動体ＭＶが周回のコースＣＳにおいて過去に同じコーナ（広義にはエリア）を通過したときの視点履歴情報に基づいて、トラッキング視点のロスト状態時の視点情報を推定できるようになる。
【０１３４】
また図１１（Ａ）の周回のコースＣＳでは、コースＣＳに対して複数のコースブロックが設定されている。例えば図１１（Ａ）のＥ１に示すコーナに対しては、図１１（Ｂ）に示すようにコースブロックＣ１〜Ｃ１１が設定されている。Ｃ１〜Ｃ１１の各コースブロックは、コースＣＳの進行方向に対して交差（直交）する方向のラインで分割されている。そして図１１（Ｃ）の視点履歴情報では、このコースブロック（コースブロック番号）がインデックスとなって、視点位置や視線方向などの視点情報が記憶されている。即ち図１０（Ａ）の視点履歴情報におけるインデックスが、図１１（Ｃ）ではコースブロックになっている。
【０１３５】
なお、コースブロックは、視点情報以外の情報が更に対応づけられるブロックであってもよい。例えば、各コースブロックの形状を特定するための形状データや各コースブロックでの走行条件設定データなどを、視点情報と共に、コースブロックに対応づけて記憶するようにしてもよい。形状データは、例えば進行方向に交差（直交）する方向での各コースブロックのコース幅等のデータである。走行条件設定デーは、例えば各コースブロックにおいて移動体の走行条件を設定するためのデータであり、例えば路面の摩擦度や滑りやすさなどを表す路面データなどである。図４のコースデータ記憶部１７８は、各コースブロックに対して、このような各種の情報が対応づけられたコースデータを記憶する。なお、コースブロックに対して各種の情報を対応づけてコースデータとして記憶する手法については、例えば特開２０００−３４８２１６号公報などに開示されている。
【０１３６】
図１２は、図１１（Ａ）、図１１（Ｂ）に示すような周回のコースＣＳで生成される視点履歴情報の例である。例えば周回のコースＣＳの第１周目での移動体の走行における視点トラッキング等に基づいて、図１２の視点履歴情報ＶＰＨＴ１が生成される。第２周目での走行における視点トラッキング等に基づいて、視点履歴情報ＶＰＨＴ２が生成される。このようにして、コースＣＳを移動体がＮ周することで、視点履歴情報ＶＰＨＴ１〜ＶＰＨＴＮが生成される。
【０１３７】
そして、例えばコースＣＳの第Ｎ＋１周目での移動体の走行時に、図８（Ｂ）、図８（Ｃ）で説明したようなトラッキング視点のロスト状態が発生すると、図１２の複数の視点履歴情報ＶＰＨＴ１〜ＶＰＨＴＮ（第１〜第Ｎの視点履歴情報）と、その時の移動体の移動情報（又はプレーヤの操作情報）に基づき、視点情報が選択される。そして選択された視点情報が、トラッキング視点のロスト状態時のプレーヤの視点情報として推定される。このようにして、移動体が周回のコースＣＳにおいて過去に同じコースブロック（広義にはエリア）を通過したときの視点履歴情報に基づいて、トラッキング視点のロスト状態時の視点情報が推定されるようになる。
【０１３８】
図１３に、視点履歴情報に基づく視点情報の推定処理のフローチャートを示す。まず、移動体の位置、速度等の移動情報を演算ずる（ステップＳ１１）。これは操作部１６０により入力されたプレーヤの操作情報に基づいて、移動体の移動演算処理を行うことで実現される。そして移動体が位置するコースブロックを特定する（ステップＳ１２）。例えば図１１（Ａ）のコースＣＳのＥ１に示すコーナを移動体が移動している場合には、図１１（Ｂ）のコースブロックＣ１〜Ｃ１１のいずれに移動体が位置しているのかが特定される。このコースブロックの特定は、ステップＳ１１で求められた移動体の位置の情報等に基づき行われる。
【０１３９】
次に、複数の視点履歴情報において、特定されたコースブロックに対応づけられた複数の視点情報の中から、移動体の移動情報（或いはプレーヤの操作情報）に対応する視点情報を選択する（ステップＳ１３）。そして選択された視点情報を、トラッキング視点のロスト状態時の視点情報として推定する（ステップＳ１４）。
【０１４０】
例えば図１２において、移動体の周回数がＮ＋１周目である場合には、第１周目〜第Ｎ周目で得られた視点履歴情報ＶＰＨＴ１〜ＶＰＨＴＮにおいて、ステップＳ１２で特定されたコースブロックに対応づけられた複数の視点情報の中から、移動体の移動情報（プレーヤの操作情報）に対応する視点情報が選択される。
【０１４１】
例えば、トラッキング視点のロスト状態時に移動体が位置するコースブロックが、図１１（Ｂ）のコースブロックＣ１であったとする。この場合には、視点履歴情報ＶＰＨＴ１〜ＶＰＨＴＮにおいて、コースブロックＣ１に対応づけられた視点位置ＶＰ１１〜ＶＰＮ１、視線方向ＶＬ１１〜ＶＬＮ１などの視点情報の中から、移動体の速度、加速度等の移動情報に対応する視点情報が選択される。
【０１４２】
具体的には図１２では、各コースブロックに対して、過去にそのコースブロックを通過した時の移動体の速度（広義には移動情報。或いはプレーヤの操作情報であってもよい）が対応づけられている。例えば視点履歴情報ＶＰＨＴ１、ＶＰＨＴ２・・・ＶＰＨＴＮでは、コースブロックＣ１に対して、第１周目〜第Ｎ周目にコースブロックＣ１を通過した時の速度ＶＣ１１、ＶＣ２１・・・ＶＣＮ１が対応づけられている。そして、第Ｎ＋１周目においてコースブロックＣ１での移動体の速度がＶＣＸである場合には、視点履歴情報ＶＰＨＴ１〜ＶＰＨＴＮのコースブロックＣ１に対応づけられた速度ＶＣ１１〜ＶＣＮ１の中から、例えば速度ＶＣＸに最も近い速度を選択する。
【０１４３】
例えば視点履歴情報ＶＰＨＴ１においてコースブロックＣ１に対応づけられた速度ＶＣ１１が、速度ＶＣＸに最も近かったとする。この場合には、視点履歴情報ＶＰＨＴ１においてコースブロックＣ１に対応づけられた視点位置ＶＰ１１、視線方向ＶＬ１１が選択されて、トラッキング視点のロスト状態時のプレーヤの視点情報として推定される。或いは、視点履歴情報ＶＰＨＴＮにおいてコースブロックＣ１に対応づけられた速度ＶＣＮ１が、速度ＶＣＸに最も近かったとする。この場合には、視点履歴情報ＶＰＨＴＮにおいてコースブロックＣ１に対応づけられた視点位置ＶＰＮ１、視線方向ＶＬＮ１が、トラッキング視点のロスト状態時のプレーヤの視点情報として推定される。
【０１４４】
このようにすることで、移動体が周回コースにおいて過去に同じエリアを通過したときの視点履歴情報（視点情報）に基づいて、ロスト状態時の視点情報を推定できるようになる。つまり、図１０（Ａ）〜図１０（Ｃ）で説明したようなロスト状態時の視点情報の推定処理を実現できる。
【０１４５】
例えばＮ＋１周目のコーナリングにおいて、移動体ＭＶの速度が高ければ、図１０（Ｂ）のＬＣ２のような経路で移動体ＭＶが走行する可能性が高い。従って、この場合には、過去の第１〜第Ｎ周の視点履歴情報の中から、同じように速度が高かった時の視点履歴情報の視点情報を選択することで、このように速い速度でコーナリングしたときの視点情報を、ロスト状態時のプレーヤの視点情報として推定できるようになる。従って、より適切な視点情報の推定処理を実現できる。
【０１４６】
なお、以上では、移動体の速度に基づいて視点情報を選択する場合について説明したが、移動体の加速度、角速度、角加速度等に基づいて、視点情報を選択してもよい。或いはプレーヤの操作情報（例えばハンドルを回した角度、アクセルペダルやブレーキペダルの踏み込み量等）に基づいて、視点情報を選択してもよい。即ち、プレーヤの操作履歴情報に基づいて、トラッキング視点のロスト状態時のプレーヤの視点情報を推定してもよい。
【０１４７】
２．４  可動機構の動作情報に基づく推定処理
本実施形態では、可動機構の動作情報に基づいて、トラッキング視点のロスト状態時の視点情報の推定処理を行う。図１４に、このような可動機構の動作情報に基づく視点情報の推定処理のフローチャートを示す。
【０１４８】
まず、プレーヤの操作情報を取得する（ステップＳ２１）。そして、取得されたプレーヤの操作情報や、ゲーム状況情報に基づいて、可動機構６０を動作させる（ステップＳ２２）。例えば図１のハンドル５０、ブレーキペダル５２、アクセルペダル５４、或いはシフトレバー５６などをプレーヤが操作すると、その操作情報に基づいて、可動機構６０を動作させる。或いは、ゲーム状況に対応するように可動機構６０を動作させる。例えばゲーム処理においては、ゲーム進行に伴い、ゲーム状況を表すゲームパラメータを変化（更新）させる処理を行うが、このゲームパラメータの情報に基づいて、可動機構６０を動作させる。
【０１４９】
具体的には、図１においてプレーヤがハンドル５０を右に切った場合（右に回した場合）には、シート１０（座部）が右回りに回転するように可動機構６０を動作させる。具体的には、図３の電動シリンダ７３のロッド部が長くなり、電動シリンダ７４のロッド部が短くなるように、電動シリンダ７３、７４を動作させる。これにより、例えば車のテールが左方向に流れて、右コーナでのコーナリングで車がドリフト走行したような感覚を、プレーヤに与えることができる。
【０１５０】
一方、プレーヤがハンドル５０を左に切った場合（左に回した場合）には、シート１０が左回りに回転するように可動機構６０を動作させる。具体的には、電動シリンダ７３のロッド部が短くなり、電動シリンダ７４のロッド部が長くなるように、電動シリンダ７３、７４を動作させる。これにより、例えば車のテールが右方向に流れて、左コーナでのコーナリングで車がドリフト走行したような感覚を、プレーヤに与えることができる。
【０１５１】
或いは、ゲーム状況情報の一つである走行状況が、凹凸の路面を走るような走行状況である場合には、シート１０が微少に揺れるように可動機構６０を動作させる。具体的には、電動シリンダ７３、７４のロッド部を微少のストローク距離で直線運動させる。これにより、あたかも車が凹凸のあるガタガタ道を走行しているような感覚を、プレーヤに与えることができる。
【０１５２】
そして図１４において、トラッキング視点がロスト状態であるか否かを判断し（ステップＳ２３）、ロスト状態であると判断された場合には、可動機構６０の動作情報に基づいて、ロスト状態時のプレーヤの視点情報の推定処理を行う（ステップＳ２４）。
【０１５３】
例えば図１５（Ａ）において、シート１０が停止している時のシート１０の方向をＣＬとし、プレーヤの視点位置をＶＰとし、視線方向をＶＬとする。この場合に図１５（Ｂ）では、例えばプレーヤが図１のハンドル５０を右に切ったため、シート１０が右回りに回転（プレーヤが向く方向を正面方向とした場合の右回り）するように、可動機構６０が動作している。また図１５（Ｃ）では、例えばプレーヤがハンドル５０を左に切ったため、シート１０が左回りに回転するように、可動機構６０が動作している。
【０１５４】
本実施形態では、図１５（Ｂ）、図１５（Ｃ）のように可動機構６０が動作した時のプレーヤの視点位置ＶＰや視線方向ＶＬを、視点トラッキング等を利用して予め計測しておく。そして、計測した視点位置ＶＰや視線方向ＶＬなどの視点情報を、可動機構６０の動作情報に対応づけて記憶しておく。例えば図４の記憶部１７０に記憶しておく。例えばシート１０の各回転角度（広義には可動対象物の動作情報）、或いは電動シリンダ７３、７４のロッド部の各移動量（広義にはアクチュエータの動作情報）などの各動作情報に対して、その各動作情報に対応する視点情報の計測結果（或いはシミュレーション結果）を対応づけて記憶しておく。そして、トラッキング視点がロスト状態になった場合には、その時の可動機構６０の動作情報（動作状況）に対応づけられた視点情報を、記憶部１７０から読み出し、読み出された視点情報を、ロスト状態時のプレーヤの視点情報として推定する。
【０１５５】
例えば図１５（Ｂ）のようにシート１０が右回りに回転した際に、トラッキング視点がロスト状態になった場合には、この回転角度の時（回転状態の時）の計測結果（シミュレーション結果）である視点情報が、記憶部１７０から読み出されて、ロスト状態時のプレーヤの視点情報として推定される。同様に図１５（Ｃ）のようにシート１０が左回りに回転した際に、トラッキング視点がロスト状態になった場合には、この回転角度の時（回転状態の時）の計測結果（シミュレーション結果）である視点情報が、記憶部１７０から読み出されて、ロスト状態時のプレーヤの視点情報として推定される。
【０１５６】
このようにすれば、トラッキング視点がロスト状態になった場合に、その時の可動機構６０の動作状態に応じた視点に、プレーヤの視点を設定できるようになる。従って、トラッキング視点がロスト状態になっても、違和感が少なく、より自然に見える画像を生成して、プレーヤに表示できるようになる。
【０１５７】
２．５  プレーヤ情報に基づく推定処理
本実施形態では、プレーヤの体格情報、性別情報及び年齢情報の少なくとも１つを含むプレーヤ情報に基づいて、トラッキング視点のロスト状態時の視点情報の推定処理を行ってもよい。具体的には複数の候補視点情報の中から、プレーヤ情報に基づいて視点情報を選択する処理を、ロスト状態時の視点情報の推定処理として行う。図１６に、このようなプレーヤ情報に基づく視点情報の推定処理のフローチャートを示す。
【０１５８】
まず、プレーヤの体格、性別、年齢等のプレーヤ情報を取得しておく（ステップＳ３１）。これは、例えばプレーヤが図４の操作部１６０を用いてプレーヤ情報を入力することで、取得できる。或いは、補助記憶装置１９４であるＩＣカード等を用いて、プレーヤ情報を取得してもよい。例えば、プレーヤがＩＣカードを図１のカードリーダー５８にタッチすると、ＩＣカードに対応づけられたプレーヤ情報が取得される。具体的には、ＩＣカードの媒体ＩＤがネットワークを介して不図示のサーバシステムに送られ、サーバシステムの記憶部（データベース）から、媒体ＩＤに対応づけて記憶されているプレーヤ情報（ユーザ情報、個人情報）が読み出される。そして、読み出されたプレーヤ情報をネットワークを介して画像生成システム（ゲームシステム）が受信することで、プレーヤ情報が取得される。或いは、ＩＣカード（広義には補助記憶装置）にプレーヤ情報そのものを記憶しておいてもよい。また、プレーヤが自ら入力しなくても、撮影装置によって取得することができる情報もある。例えば、「プレーヤがシートに座った時の基本的な姿勢における地面から視点までの高さ」といった情報は、プレーヤ本人にも正確には分からないことが多い。しかし、「シートポジションをプレイ前には毎回定位置に戻しておき、そこにプレーヤが初めて座って姿勢が安定したときの視点位置を取得する」、といった方法で、その情報をある程度正確に取得することができる。
【０１５９】
そしてトラッキング視点がロスト状態であるか否かを判断し（ステップＳ３２）、ロスト状態であると判断された場合には、可動機構６０の動作情報等に基づいて、取得された複数の候補視点情報の中から、プレーヤ情報に対応する視点情報を選択する（ステップＳ３３）。そして、選択された視点情報を、トラッキング視点のロスト状態時のプレーヤの視点情報として推定する（ステップＳ３４）。
【０１６０】
例えば前述の図１５（Ａ）〜図１５（Ｃ）のように可動機構６０の動作情報に基づいて、ロスト状態時のプレーヤの視点情報を推定する場合に、図１５（Ｂ）、図１５（Ｃ）の視点情報（ＶＰ、ＶＬ）として、複数の候補視点情報を用意しておく。例えば身長が高い人用（体格が大きい人用）の視点情報と、身長が低い人用（体格が小さい人用）の視点情報を用意しておく。例えば身長が高い人では、視点位置ＶＰが高くなり、身長が低い人では、視点位置ＶＰが低くなる。
【０１６１】
そして、プレーヤ情報の体格情報に基づいて、プレーヤの身長が高いと判断される場合には、例えば可動機構６０の動作情報に対応づけられた候補視点情報の中から、身長が高い人用の視点情報を、トラッキング視点のロスト状態時の視点情報として選択する。一方、プレーヤ情報の体格情報に基づいて、プレーヤの身長が低いと判断される場合には、例えば可動機構６０の動作情報に対応づけられた候補視点情報の中から、身長が低い人用の視点情報を、トラッキング視点のロスト状態時の視点情報として選択する。
【０１６２】
このようにすれば、トラッキング視点のロスト状態時に、プレーヤの身長等の体格に応じた適切な視点情報を選択して画像を生成し、プレーヤに表示できるようになる。
【０１６３】
また図１５（Ｂ）、図１５（Ｃ）の視点情報（ＶＰ、ＶＬ）として、例えば男性用や大人用の視点情報と、女性用や子供用の視点情報を用意しておく。例えばシート１０が図１５（Ｂ）、図１５（Ｃ）のように回転した場合に、男性や大人では、視線方向ＶＬの変化が少ないことが予想され、女性や子供では、視線方向ＶＬの変化が大きいことが予想される。
【０１６４】
そして、プレーヤ情報の性別情報や年齢情報に基づいて、プレーヤが男性や大人であると判断される場合には、例えば可動機構６０の動作情報に対応づけられた候補視点情報の中から、男性用や大人用の視点情報を、トラッキング視点のロスト状態時の視点情報として選択する。一方、プレーヤ情報の性別情報や年齢情報に基づいて、プレーヤが女性や子供であると判断される場合には、例えば可動機構６０の動作情報に対応づけられた候補視点情報の中から、女性用や子供用の視点情報を、トラッキング視点のロスト状態時の視点情報として選択する。
【０１６５】
例えば男性用や大人用の視点情報を用意する場合には、実際に男性や大人にシート１０に座って貰い、シート１０を回転させるなどの動作を可動機構６０に行わせる。そして、その時に計測された視点情報を、可動機構６０の動作情報に対応づけて、記憶部１７０に記憶しておけばよい。同様に、女性用や子供用の視点情報を用意する場合には、実際に女性や子供にシート１０に座って貰い、シート１０を回転させるなどの動作を可動機構６０に行わせる。そして、その時に計測された視点情報を、可動機構６０の動作情報に対応づけて、記憶部１７０に記憶しておけばよい。
【０１６６】
このようにすれば、トラッキング視点のロスト状態時に、プレーヤの性別や年齢に応じた適切な視点情報を選択して画像を生成し、プレーヤに表示できるようになる。
【０１６７】
なお、以上では、可動機構６０の動作情報に基づき、複数の候補視点情報の中から視点情報を選択する場合について説明したが、本実施形態はこれに限定されない。例えば移動体の移動情報（位置、速度、加速度、角速度又は角加速度等）、プレーヤの操作情報、又はゲーム状況情報に基づき、複数の候補視点情報の中から、プレーヤ情報に対応する視点情報を選択することで、トラッキング視点のロスト状態時のプレーヤの視点情報を推定してもよい。例えば図１０（Ａ）〜図１３で説明した手法で視点情報を選択する際に、更にプレーヤ情報を加味して視点情報を選択し、ロスト状態時のプレーヤの視点情報を推定してもよい。
【０１６８】
２．６  物理シミュレーション処理の結果に基づく推定処理
本実施形態では、プレーヤの動作の物理シミュレーション処理の結果に基づいて、トラッキング視点のロスト状態時の視点情報の推定処理を行ってもよい。図１７に、このような物理シミュレーション処理の結果に基づく視点情報の推定処理のフローチャートを示す。
【０１６９】
まず、プレーヤの操作情報を取得する（ステップＳ４１）。そして、プレーヤの操作情報やゲーム状況情報に基づいて、可動機構６０を動作させる（ステップＳ４２）。例えば前述のように、ハンドル５０等の操作情報に基づいて、可動機構６０を動作させる。或いは、例えば路面状況等のゲーム状況に応じて可動機構６０を動作させる。
【０１７０】
次に、可動機構６０の動作情報等に基づいて、プレーヤのモデルオブジェクトの動作の物理シミュレーション処理を実行する（ステップＳ４３）。例えば可動機構６０の動作情報等に基づいて、プレーヤに作用する力の情報を特定し、その力の情報を用いた力学演算などの物理シミュレーション処理を実行する。
【０１７１】
そしてトラッキング視点がロスト状態であるか否かを判断し（ステップＳ４４）、ロスト状態であると判断された場合には、物理シミュレーション処理に基づき求められたモデルオブジェクトの視点情報を、トラッキング視点のロスト状態時のプレーヤの視点情報として推定する（ステップＳ４５）。例えば、ステップＳ４３において、可動機構６０の動作情報等に基づいて、プレーヤのモデルオブジェクトの動作の物理シミュレーション処理を行うことで、モデルオブジェクトの視点位置や視線方向などの視点情報が、随時、求められている。そして、トラッキング視点がロスト状態になったと判断された場合には、このモデルオブジェクトの視点情報を、プレーヤの視点情報であると推定して、トラッキング視点のロスト状態時の画像を生成する。
【０１７２】
例えば図１８（Ａ）に示すように、シート１０をモデル化したシートオブジェクトＳＢに、プレーヤをモデル化したモデルオブジェクトＭＢが着座した状態で、物理シミュレーション処理を実行する。例えば可動機構６０が動作することによりシート１０が回転している場合には、図１８（Ｂ）、図１８（Ｃ）に示すように、シート１０に対応するシートオブジェクトＳＢを、右回りや左回りに回転させる。そして、このようにシートオブジェクトＳＢが回転した時の、モデルオブジェクトＭＢの動作情報を求める物理シミュレーション処理を実行する。このようにしてモデルオブジェクトＭＢの動作情報を求めることで、シートオブジェクトＳＢが回転した時の、モデルオブジェクトＭＢの視点位置ＶＰや視線方向ＶＬを、モデルオブジェクトＭＢの視点情報として特定できる。この特定された視点情報を、トラッキング視点のロスト状態時のプレーヤの視点情報として推定する。
【０１７３】
なお、このような物理シミュレーション処理を行う場合には、図１６で説明したプレーヤ情報を用いることが望ましい。例えばプレーヤ情報の体格情報、性別情報又は年齢情報等に基づいて、複数の候補モデルオブジェクトの中から、物理シミュレーション処理に用いるプレーヤのモデルオブジェクトを選択する。そして、選択されたモデルオブジェクトを用いて物理シミュレーション処理を実行して、プレーヤの視点情報を求める。
【０１７４】
このようにすれば、プレーヤの体格、性別、年齢等に応じた物理シミュレーション処理を実行できるため、トラッキング視点のロスト状態時においても、プレーヤの体格や性別や年齢に応じた適切な視点情報を選択して画像を生成し、プレーヤに表示できるようになる。
【０１７５】
なお、以上では、可動機構６０の動作情報に基づいて物理シミュレーション処理を行って、視点情報を求める場合について説明したが、本実施形態はこれに限定されない。例えば移動体の移動情報（位置、速度、加速度、角速度又は角加速度等）、プレーヤの操作情報、又はゲーム状況情報に基づいて、物理シミュレーション処理を行って、視点情報を求めるようにしてもよい。
【０１７６】
また、本実施形態の物理シミュレーション処理としては種々の処理を想定できる。例えばモデルオブジェクトを複数の部位（骨及び関節）で構成すると共に、可動機構６０が動作することでモデルオブジェクトに作用する力ベクトルを求める。そして、求められた力ベクトルをモデルオブジェクトに作用させたことによる複数の部位（頭部、胸部、腰部、脚部、手部）の各部位の動きを求める力学演算を、物理シミュレーション処理として行う。そして、求められた頭部等の部位の動きに基づいて、モデルオブジェクトの視点位置や視線方向などの視点情報を求め、トラッキング視点のロスト状態時のプレーヤの視点情報として推定する。なお物理シミュレーション処理の手法については、例えば特開２００９−１４０５１９号公報、特開２００４−３０５０２号公報、特開２００９−３７５７２号公報などに開示されている。例えば仮想人間のシミュレーション手法の一例としては、キャラクタを単一剛体モデルで近似して、この単一剛体モデルに外力が働いた時の力学演算を行う。また、多次元キーフレームアニメーションと呼ばれる手法により、多次元空間にキャラクタの動きを表すキーフレームを配置する。そして、キャラクタの単一剛体モデルの状態に応じて、多次元座標を決定する。更には、外力が働いた時に、姿勢を保とうとしたり、バランスを取ったりするような人間らしい挙動をも勘案して、最終的なキャラクタの姿勢・動きを決定する。
【０１７７】
このように本実施形態に用いられる物理シミュレーション処理としては種々の処理を想定できる。
【０１７８】
３．画像生成手法
次に本実施形態の手法が適用可能な種々の画像生成手法について説明する。
【０１７９】
３．１  投影画像の生成
まず、本実施形態の画像生成システムにより生成される画像が、プロジェクション用スクリーンに投影される投影画像である場合について説明する。なお、以下では、プロジェクション用スクリーンが曲面形状のスクリーン（ドーム形状のスクリーン）である場合を主に例にとり説明するが、本実施形態はこれに限定されない。プロジェクション用スクリーンは、単一平面ではないスクリーンの全般を指すものである。例えばプロジェクション用スクリーンは、１つの曲面又は複数の面（平面、曲面）により構成されるスクリーンであればよい。即ち、当該スクリーンとしては、１つの曲面で構成されるスクリーン、複数の平面で構成されるスクリーン、曲面部分と平面部分とを含むスクリーンなどを想定できる。また、単一平面であるスクリーンの場合は、プロジェクション式ではないフラットパネルディスプレイと同様に、より単純な処理で済ませることができるが、もちろんそれであってもよい。
【０１８０】
３．１．１  ピクセル単位での歪み補正手法
まずプロジェクション用の投影画像の生成手法について説明する。例えばプロジェクション用スクリーンが、１つの曲面又は複数の面により構成されるスクリーンである場合に、本実施形態では、プロジェクション用スクリーンの形状情報に基づく歪み補正処理を行って、投影画像を生成する。以下では、投影画像の生成の際に行われる歪み補正手法の具体例について説明する。
【０１８１】
ドーム形状（曲面形状）のスクリーンに画像を投影する場合に、投影装置の位置とプレーヤ（観察者）の位置が離れていると、画像の歪みが目立ってしまう。そこで、この歪みを予め考慮に入れて、投影装置からの投影画像（投影装置の描画バッファに描く画像）を生成することで、プレーヤから見て歪みのない映像を提示することが可能になる。
【０１８２】
この場合に、スクリーンが単一の平面であれば、歪みは線形（パースによる歪み）となるため、射影変換行列を１つ用いるだけで簡単に補正することが可能になる。
【０１８３】
しかし、単一平面ではないスクリーン（１つの曲面又は複数の面で構成されるスクリーン）である場合には、線形ではない歪みが加わるため、射影変換行列を１つ用いるだけという簡単な補正手法では、歪みを補正できず、画像の部分に応じて、細かく補正を行う必要がある。
【０１８４】
このような歪み補正を実現する手法として、描画バッファのピクセル単位で歪み補正を行う手法と、３次元オブジェクトの頂点単位で歪み補正を行う手法が考えられる。まず、ピクセル単位での歪み補正手法について説明する。
【０１８５】
描画バッファのピクセル単位での歪み補正手法では、図１９や下記に示す（１）、（２）、（３）、（４）の処理を順に行う。
（１）描画バッファ（フレームバッファ）上のピクセルＰＸ（ＸＰ，ＹＰ）が、投影装置のレンズを通して出射される光線ＲＹを求める。
（２）その光線ＲＹが、スクリーンＳＣと交差する交点ＰＳ（ＸＳ，ＹＳ，ＺＳ）の位置を求める。例えばスクリーンＳＣが楕円面の方程式等の数式で表される場合には、直線ＲＹを表す数式とスクリーンＳＣを表す数式を用いて交点ＰＳを求める。このスクリーンＳＣを表す数式が、スクリーンＳＣの形状情報である。
（３）この交点ＰＳ（ＸＳ，ＹＳ，ＺＳ）の色は、プレーヤ（観察者）がオブジェクト空間（仮想空間）を観察しているときの色である必要がある。そこで、プレーヤの視点に対応する仮想カメラＶＣの位置ＶＰと、交点ＰＳ（ＸＳ，ＹＳ，ＺＳ）の位置を結ぶ直線ＬＶを求める。
（４）この直線ＬＶを仮想カメラＶＣの視線としてオブジェクト空間の情報から、描画バッファ上の投影画像のピクセルの色を決定する。例えば、オブジェクト空間で最初に到達する３次元オブジェクトＯＢ上の点ＰＢ（ＸＢ，ＹＢ，ＺＢ）の位置を求め、それに応じて、描画バッファ上の投影画像のピクセルの色を決定する。
【０１８６】
この場合に、ピクセル単位での歪み補正手法の改良手法では、上記の最後の（４）において、直線ＬＶと３次元オブジェクトＯＢとの交点ＰＢ（ＸＢ，ＹＢ，ＺＢ）の色を求める代わりに、あらかじめ描画しておいた平面（レンダーテクスチャ）と直線ＬＶとの交点（レンダーテクスチャの座標で（Ｕ，Ｖ））の色を用いて、投影画像のピクセルの色を決定する。レンダーテクスチャは、予め、投影面になるべく近い平面（以下、代理平面と呼ぶ）を選んでおき、そこに通常の描画方法、すなわち、平面を投影面とする描画を行うことで作成できる。
【０１８７】
図２０に、このような代理平面ＰＬ１、ＰＬ２の一例を示す。このように代理平面は１枚とは限らず、この場合は２枚用いている。点ＰＰが直線ＬＶと代理平面ＰＬ１（ＰＬ２）との交点である。
【０１８８】
レンダーテクスチャの参照位置は、視点や投影装置の位置及びスクリーンの位置や形状が変化しない限り、最初に１度だけ計算しておけばよい。そのデータを保持しておくための代表的な方法としては、描画バッファの１ピクセルごとに、レンダーテクスチャのどの位置（Ｕ，Ｖ）のピクセル値（テクセル値）を参照するかを、１枚のテクスチャとして保持しておく方法がある。このテクスチャを、「ＵＶマップ」と呼ぶ。図２１に、投影装置の描画バッファとＵＶマップとレンダーテクスチャの関係を示す。
【０１８９】
図２１のレンダーテクスチャの対応点（ＵＶ座標）を、描画バッファ上の全ピクセルについて求めて保持しておくことは、大きなリソースを必要とする。その大きなリソースを用意する余裕がない場合には、スクリーンＳＣ上に適当に配置された代表頂点について、描画バッファ上の対応点（ＸＰ，ＹＰ）と、レンダーテクスチャ上の対応点（Ｕ，Ｖ）を求め、それらをつないだ三角形ポリゴンによるメッシュを作っておく。そして、三角形ポリゴンを描画するときに、三角形ポリゴンの頂点に情報として記録された（Ｕ，Ｖ）座標を参照し、三角形ポリゴン内部の点についてはそれらから補間された（Ｕ，Ｖ）座標を用いるようにする。このようにすれば、大幅にリソースを節約することが可能になる。
【０１９０】
３．１．２  頂点単位での歪み補正手法
次に描画オブジェクトの頂点単位で歪み補正を行う手法について説明する。この手法では、オブジェクト空間内の３次元オブジェクトの頂点を、投影装置の描画バッファ上の点に変換する。具体的には図２２や下記に示す（１）、（２）、（３）、（４）の処理を順に行う。これは図１９の手法の処理を逆の順で行うことに相当する。
（１）オブジェクト空間内の３次元オブジェクトＯＢの頂点Ｖ（ＸＶ，ＹＶ，ＺＶ）の位置と、プレーヤの視点に対応する仮想カメラＶＣの位置ＶＰとを結ぶ直線ＬＶを求める。
（２）求められた直線ＬＶとスクリーンＳＣの交点ＰＳ（ＸＳ，ＹＳ，ＺＳ）の位置を求める。例えばスクリーンＳＣが楕円面の方程式等の数式で表される場合には、直線ＬＶを表す数式とスクリーンＳＣを表す数式を用いて交点ＰＳを求める。このスクリーンＳＣを表す数式が、スクリーンＳＣの形状情報である。
（３）交点ＰＳ（ＸＳ，ＹＳ，ＺＳ）の位置と投影装置ＰＪの位置を結ぶ直線ＬＲを求める。
（４）直線ＬＲに対応する描画バッファ上の点ＰＤ（ＸＤ，ＹＤ）の位置を求める。この点ＰＤは、３次元オブジェクトＯＢに対応する描画バッファ上の描画オブジェクトＯＢＤの頂点に相当する。なお直線ＬＲから点ＰＤを求める際には、投影装置ＰＪのレンズの特性や配置等の光学系の情報を用いる。
【０１９１】
以後は、描画オブジェクトＯＢＤの頂点と頂点を結んで色を塗るラスタライズ処理を行うことで、描画バッファ上に投影画像を生成できる。
【０１９２】
なお、この場合に、以下のような手法を用いることが望ましい。即ち、オブジェクト空間内の３次元オブジェクトＯＢに対して、頂点分割数設定部で設定された頂点分割数で頂点分割処理を行う。そして頂点分割処理後の３次元オブジェクトＯＢの頂点位置と仮想カメラＶＣの位置とを結ぶ直線と、プロジェクション用のスクリーンＳＣとの交点位置を求める。そして、求められた交点位置に基づいて、３次元オブジェクトＯＢに対応する描画オブジェクトＯＢＤについての、描画バッファでの頂点位置を求める。そして、求められた描画オブジェクトＯＢＤの頂点位置に基づいて、描画オブジェクトＯＢＤを描画バッファに描画する処理を行って、プロジェクション用の投影画像を生成する。このような手法を採用すれば、例えばオブジェクト空間内での直線が、描画バッファ上においても直線として描画されてしまい、結果として歪んだ画像が観察されてしまうような事態の発生を抑制できる。
【０１９３】
以上のようにプロジェクション用のスクリーンへの投影画像を生成するシステムでは、視点位置の設定が重要になる。例えば図１９、図２２にいて、視点ＶＰの位置が正確に特定されていないと、歪み画像補正処理が不正確になってしまい、不自然な画像が生成されてしまう。
【０１９４】
この点、比較例の手法では、図５（Ａ）に示すような代表視点ＲＶＰを設定して、この代表視点ＲＶＰをプレーヤの視点と見なして、投影画像生成のために歪み補正処理を行っていた。
【０１９５】
しかしながら、この比較例の手法においては、プレーヤの視点位置の変化が少ないことを前提にしている。そのため、例えば図３に示すような可動機構６０を画像生成システムに設けると、可動機構６０の動作により、現実世界でのプレーヤの視点の位置が変化してしまい、図５（Ａ）の代表視点ＲＶＰの位置と一致しなくなってしまう。即ち図１９、図２１の歪み補正処理に使用する視点ＶＰの位置と、現実世界でのプレーヤの視点が一致しなくなる。このため、例えば可動機構６０が動作して、プレーヤの視点位置や視線方向が大きく変化する状況において、図５（Ａ）のような代表視点ＲＶＰを用いた手法で投影画像を生成すると、不自然さや違和感が大きい画像が表示されてしまう。
【０１９６】
そこで本実施形態では、図６（Ａ）〜図７（Ｂ）に示すような視点トラッキングを行うことで、現実世界でのプレーヤの視点を捕捉し、視点トラッキングにより得られた視点を、図１９、図２０の視点ＶＰに設定して、投影画像生成のための歪み補正処理を行っている。このとき、前述の３．１．１で示した、ピクセル単位での歪み補正手法の場合に必要となるＵＶマップは、視点位置の変化に合わせてリアルタイムに作成する。こうすることで、図５（Ａ）の代表視点ＲＶＰを用いる手法に比べて、歪み補正処理に用いる視点と現実世界でのプレーヤの視点との乖離が少なくなり、より自然が画像をプレーヤに表示できるようになる。
【０１９７】
ところが、視点トラッキング手法では、視点トラッキングが成功している場合には、適切な視点情報を取得でき、違和感の少ない画像を生成できるが、図８（Ｂ）、図８（Ｃ）等の状況の発生により、視点トラッキングが失敗して、トラッキング視点がロスト状態となった場合には、適切な視点情報を取得できないという問題がある。
【０１９８】
この点、本実施形態では、図９〜図１８（Ｃ）で説明したように、トラッキング視点のロスト状態時に、視点履歴情報、移動体の移動情報、操作情報、可動機構の動作情報又はプレーヤ情報等の種々の情報を有効活用して、プレーヤの視点情報を推定する手法を採用している。従って、現実世界のプレーヤの視点位置とはかけ離れたような違和感のある画像が、プレーヤに表示されてしまうような事態を防止でき、より適切な画像を生成できる画像生成システムを提供できるようになる。
【０１９９】
３．２  立体視画像、頭部装着型表示装置
本実施形態の手法は、立体視画像を生成するシステムにおいても有効である。具体的には、プレーヤの視点情報に基づいて、立体視用の第１視点画像と第２視点画像を生成する画像生成システムにおいても、本実施形態の手法を適用することで、適正な立体視画像を生成できるようになる。
【０２００】
なお本実施形態の手法は立体視用の投影画像の生成にも適用できる。例えば図２３（Ａ）〜図２３（Ｃ）は、プロジェクション用のスクリーンＳＣに対して、立体視用の投影画像を生成する手法の説明図である。例えば図２３（Ａ）に示すように、左目用仮想カメラＶＣＬ（広義には第１視点用仮想カメラ）と右目用仮想カメラＶＣＲ（広義には第２視点用仮想カメラ）を用意する。そして、左目用仮想カメラＶＣＬ、右目用仮想カメラＶＣＲのそれぞれを用いて、図１９〜図２２等で説明した手法により投影画像を生成することで、立体視用の投影画像を生成できる。
【０２０１】
この場合に、左目用仮想カメラＶＣＬ、右目用仮想カメラＶＣＲの位置は、視点トラッキング等により、プレーヤの左目および右目の位置を検出することが設定できる。なお、従来の方法（プレーヤの左目および右目の位置の検出を行うことができない場合）であっても、描画対象となる３次元オブジェクトの投影位置に応じて、プレーヤの視点位置はある程度推測できるので、それに合わせて左目用仮想カメラＶＣＬ、右目用仮想カメラＶＣＲの位置を設定することもできていた。例えば、図２３（Ｂ）、図２３（Ｃ）に示すように、描画対象となる３次元オブジェクトの投影位置Ｄ１（もしくはＤ２）に応じて左目用仮想カメラＶＣＬ、右目用仮想カメラＶＣＲの位置（視点位置）を変化させることで、疑似的にヘッドトラッキングのような効果を生み出すことができていたのだが、やはり可動機構６０を画像生成システムに設ける等した場合には、可動機構６０の動作によって現実世界でのプレーヤの視点の位置が大きく変化してしまい、立体視でない場合と同様に、不自然さや違和感が大きい画像が表示される結果となることがある。そこで、視点トラッキング等により、プレーヤの左目及び右目の位置を検出することで、従来よりも自然な立体視画像を呈示することが可能となる。
【０２０２】
このような立体視画像を生成するシステムにおいて、トラッキング視点のロスト状態が発生すると、破綻した立体視の画像が表示されるなどの不具合が生じるおそれがある。この点、本実施形態では、トラッキング視点のロスト状態時においても、各種の情報に基づいてプレーヤの視点情報が推定され、推定された視点情報に基づいて立体視画像が生成される。従って、破綻した立体視の画像が生成されるなどの事態を防止でき、立体視画像に好適な画像生成システムの提供が可能になる。
【０２０３】
また本実施形態の手法は、頭部装着型表示装置（ＨＭＤ）の表示画像の生成手法への適用にも有効である。
【０２０４】
例えば図２４において、ＨＭＤ２００には、複数のＬＥＤ２３１〜２３６が設けられている。ＬＥＤ２３１〜２３４は、プレーヤの前面側に設けられ、ＬＥＤ２３５や不図示のＬＥＤ２３６は、プレーヤの背面側に設けられる。これらのＬＥＤ２３１〜２３６は、例えば可視光の帯域の光を出射（発光）する。具体的にはＬＥＤ２３１〜２３６は、互いに異なる色の光を出射する。そして、プレーヤの前方側に設置される撮像部により、これらのＬＥＤ２３１〜２３６の光を撮像する。即ち、撮像部の撮像画像には、これらのＬＥＤ２３１〜２３６のスポット光が映る。そして、この撮像画像の画像処理を行うことで、プレーヤの頭部（ＨＭＤ）の位置（３次元位置、動き）等が検出される。
【０２０５】
例えば撮像部として図６（Ａ）に示すような撮像部４０を用いる。撮像部４０には、第１、第２のカメラ４５、４６が設けられており、これらの第１、第２のカメラ４５、４６の第１、第２の撮像画像を用いることで、プレーヤの頭部の奥行き方向での位置等が検出可能になる。また、ＨＭＤ２００に対して、不図示のモーションセンサーを設け、このモーションセンサーのモーション検出情報に基づいて、プレーヤの頭部の回転角度（視線方向）も検出可能になっている。従って、このようなＨＭＤ２００を用いることで、プレーヤが、周囲の３６０度の全方向うちのどの方向を向いた場合にも、それに対応する仮想３次元空間での画像（プレーヤの視点に対応する仮想カメラから見える画像）を、ＨＭＤ２００の表示部に表示することが可能になる。なお、ＬＥＤ２３１〜２３６として、可視光ではなく赤外線のＬＥＤを用いてよい。また、例えばデプスカメラ等の測距センサーを用いるなどの他の手法で、プレーヤの頭部の位置や動き等を検出するようにしてもよい。
【０２０６】
またＨＭＤ２００には、ヘッドバンド２６０等が設けられており、プレーヤは、より良い装着感で安定的に頭部にＨＭＤ２００を装着できるようになっている。また、ＨＭＤ２００には、不図示のヘッドフォン端子が設けられており、このヘッドフォン端子にヘッドフォン２７０を接続することで、例えば３次元音響（３次元オーディオ）の処理が施されたゲーム音を、プレーヤは聴くことが可能になる。そしてプレーヤは、図４の操作部１６０を操作したり、頭部の頷き動作や首振り動作を行うことで、操作情報を入力し、ゲームプレイを楽しむ。頷き動作や首振り動作は、ＨＭＤ２００のモーションセンサー等により検出できる。
【０２０７】
このようなＨＭＤ２００の画像の生成システムにおいても、プレーヤの視点トラッキングがロスト状態になる場合があり得る。即ち、何らかの状況の発生により、プレーヤの視点位置や視線方向を検出できなり、視点トラッキングがロスト状態になる場合がある。例えば図２４のＬＥＤ２３１〜２３６からの光を、撮像部が検出できない状況が発生したり、モーションセンサーの一時的な不具合により、プレーヤの頭部の回転角度に対応する視線方向を検出できなくなるおそれがある。
【０２０８】
このようなトラッキング視点のロスト状態が発生すると、ＨＭＤ２００の表示部に対して、誤ったトラッキング視点情報に基づく画像が表示されてしまい、プレーヤが違和感や不自然さを感じるが画像が表示されてしまうおそれがある。例えば、プレーヤは実際には正面方向を向いているのに、右方向や左方向を向いた時の画像がＨＭＤ２００の表示部に表示されたり、オブジェクト空間内でのプレーヤの視点位置が、想定される視点位置とはかけ離れた位置に設定されてしまうなどの状況が発生するおそれがある。
【０２０９】
この点、本実施形態では、このようなＨＭＤ２００におけるトラッキング視点のロスト状態時においても、視点履歴情報、移動体の移動情報又は可動機構の動作情報等の種々の情報を有効活用して、プレーヤの視点情報を推定する手法を採用できる。従って、検出された視点方向や視線位置とはかけ離れたような違和感のある画像が、ＨＭＤ２００の表示部に表示されてしまうような事態を防止でき、より適切なＨＭＤ用の画像を生成できる画像生成システムの提供が可能になる。
【０２１０】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、視点トラッキング手法、視点情報の推定手法、可動機構の動作制御手法、物理シミュレーション手法、投影画像の生成手法、立体視画像の生成手法、ＨＭＤ用の画像の生成手法等も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム等の種々の画像生成システムに適用できる。
【符号の説明】
【０２１１】
ＶＰ  視点位置、ＶＬ  視線方向、ＶＰＨＴ１〜ＶＰＨＴＮ  視点履歴情報、
ＭＶ  移動体、ＣＳ  コース、ＳＣ  スクリーン、ＰＪ  投影装置（プロジェクタ）、
ＶＣ  仮想カメラ、ＯＢ  オブジェクト、ＯＢＤ  描画オブジェクト、
１０  シート、１４  筺体フレーム、１６  制御基板、２０  スクリーン、
３０  投影装置、４０  撮像部、４５、４６  第１、第２のカメラ、
５０  ハンドル、５２  ブレーキペダル、５４  アクセルペダル、
５６  シフトレバー、５８  カードリーダー、５９  コイン投入口、
６０  可動機構、６２  基台、６３、６４、６５、６６  ヒンジ部、
７３、７４  電動シリンダ、７５、７６  支持部、
８０  取り付け板、８３、８４  ヒンジ部、
１００  処理部、１０２  ゲーム演算部、１０４  オブジェクト空間設定部、
１０６  移動体演算部、１０８  視点情報演算部、１１０  仮想カメラ制御部、
１２０  画像生成部、１３０  音生成部、１６０  操作部、１７０  記憶部、
１７２  オブジェクトデータ記憶部、１７６  描画バッファ、
１７８  コースデータ記憶部、１７９  マップデータ記憶部、１８０  情報記憶媒体、
１９０  表示部、１９２  音出力部、１９４  補助記憶装置、１９６  通信部、
２００  ＨＭＤ、２３１〜２３６  ＬＥＤ、２６０  ヘッドバンド、
２７０  ヘッドフォン
【図１】
2016192029.tif 000003
【図２】
2016192029.tif 000004
【図３】
2016192029.tif 000005
【図４】
2016192029.tif 000006
【図５】
2016192029.tif 000007
【図６】
2016192029.tif 000008
【図７】
2016192029.tif 000009
【図８】
2016192029.tif 000010
【図９】
2016192029.tif 000011
【図１０】
2016192029.tif 000012
【図１１】
2016192029.tif 000013
【図１２】
2016192029.tif 000014
【図１３】
2016192029.tif 000015
【図１４】
2016192029.tif 000016
【図１５】
2016192029.tif 000017
【図１６】
2016192029.tif 000018
【図１７】
2016192029.tif 000019
【図１８】
2016192029.tif 000020
【図１９】
2016192029.tif 000021
【図２０】
2016192029.tif 000022
【図２２】
2016192029.tif 000023
【図２３】
2016192029.tif 000024
【図２４】
2016192029.tif 000025
【図２１】
2016192029.tif 000026