(57)【特許請求の範囲】
【請求項１】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
前記仮想カメラに対してオブジェクトが相対移動する場合に、当該オブジェクトを構成する面の前記相対移動前の状態を示す第１の面と前記相対移動後の状態を示す第２の面とに基づいて、移動軌跡ボリュームを生成するボリューム生成部と、
スクリーン座標系と前記オブジェクトを構成する面の色分布に対応するピクセルパターンを有する所定のピクセル座標系とを用いて前記生成された移動軌跡ボリュームを描画する移動軌跡ボリューム描画部としてコンピュータを機能させ、
前記移動軌跡ボリューム描画部が、
前記移動軌跡ボリュームを前記スクリーン座標系に座標変換し、
前記ピクセル座標系における、前記移動軌跡ボリュームの描画ピクセルと前記第１の面との位置関係に応じた第１の位置と、該描画ピクセルと前記第２の面との位置関係に応じた第２の位置とを求め、
前記第１の位置と第２の位置とを端点とする線分と、前記ピクセルパターンとの交差領域を求め、当該交差領域に基づいて、前記描画ピクセルの色を求め、
前記求めた描画ピクセルの色に基づいて、スクリーン座標系に座標変換された移動軌跡ボリュームを描画することを特徴とするプログラム。
【請求項２】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
前記仮想カメラに対してオブジェクトが相対移動する場合に、当該オブジェクトを構成する面の前記相対移動前の状態を示す第１の面と前記相対移動後の状態を示す第２の面とに基づいて、移動軌跡ボリュームを生成するボリューム生成部と、
スクリーン座標系と前記オブジェクトを構成する面の色分布に対応するピクセルパターンを有する所定のピクセル座標系とを用いて前記生成された移動軌跡ボリュームを描画する移動軌跡ボリューム描画部としてコンピュータを機能させ、
前記移動軌跡ボリューム描画部が、
前記移動軌跡ボリュームをスクリーン座標系に座標変換し、
前記ピクセル座標系における、前記移動軌跡ボリュームの描画ピクセルと前記第１の面との位置関係に応じた第１の位置と、該描画ピクセルと前記第２の面との位置関係に応じた第２の位置とを求め、
前記第１の位置と第２の位置との線形的な長さに応じて、前記描画ピクセルの透明度を求め、
前記求めた描画ピクセルの透明度に基づいて、スクリーン座標系に座標変換された移動軌跡ボリュームを描画することを特徴とするプログラム。
【請求項３】
請求項２において、
前記移動軌跡ボリューム描画部が、
前記第１の位置と第２の位置とを端点とする線分と、前記ピクセルパターンとの交差領域を求め、前記第１の位置と第２の位置の距離と、前記交差領域の端点間の距離との比に基づいて、前記移動軌跡ボリュームの描画ピクセルの透明度を求めることを特徴とするプログラム。
【請求項４】
請求項１〜３のいずれかにおいて、
前記移動軌跡ボリューム描画部が、
前記第１の位置及び第２の位置の少なくとも一方が前記ピクセルパターン内に存在する場合に、当該ピクセルパターン内に存在する前記第１の位置及び第２の位置の少なくとも一方を前記交差領域の端点とすることを特徴とするプログラム。
【請求項５】
請求項１〜４のいずれかにおいて、
前記ピクセルパターンは、前記所定のピクセル座標系において直角三角形を形成することを特徴とするプログラム。
【請求項６】
コンピュータに読み取り可能な情報記憶媒体であって、請求項１乃至５のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項７】
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
前記仮想カメラに対してオブジェクトが相対移動する場合に、当該オブジェクトを構成する面の前記相対移動前の状態を示す第１の面と前記相対移動後の状態を示す第２の面とに基づいて、移動軌跡ボリュームを生成するボリューム生成部と、
スクリーン座標系と前記オブジェクトを構成する面の色分布に対応するピクセルパターンを有する所定のピクセル座標系とを用いて前記生成された移動軌跡ボリュームを描画する移動軌跡ボリューム描画部とを含み、
前記移動軌跡ボリューム描画部が、
前記移動軌跡ボリュームをスクリーン座標系に座標変換し、
前記ピクセル座標系における、前記移動軌跡ボリュームの描画ピクセルと前記第１の面との位置関係に応じた第１の位置と、該描画ピクセルと前記第２の面との位置関係に応じた第２の位置とを求め、
前記第１の位置と第２の位置とを端点とする線分と、前記ピクセルパターンとの交差領域を求め、当該交差領域に基づいて、前記描画ピクセルの色を求め、
前記求めた描画ピクセルの色に基づいて、スクリーン座標系に座標変換された移動軌跡ボリュームを描画することを特徴とする画像生成システム。
【請求項８】
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
前記仮想カメラに対してオブジェクトが相対移動する場合に、当該オブジェクトを構成する面の前記相対移動前の状態を示す第１の面と前記相対移動後の状態を示す第２の面とに基づいて、移動軌跡ボリュームを生成するボリューム生成部と、
スクリーン座標系と前記オブジェクトを構成する面の色分布に対応するピクセルパターンを有する所定のピクセル座標系とを用いて前記生成された移動軌跡ボリュームを描画する移動軌跡ボリューム描画部とを含み、
前記移動軌跡ボリューム描画部が、
前記移動軌跡ボリュームをスクリーン座標系に座標変換し、
前記ピクセル座標系における、前記移動軌跡ボリュームの描画ピクセルと前記第１の面との位置関係に応じた第１の位置と、該描画ピクセルと前記第２の面との位置関係に応じた第２の位置とを求め、
前記第１の位置と第２の位置との線形的な長さに応じて、前記描画ピクセルの透明度を求め、
前記求めた描画ピクセルの透明度に基づいて、スクリーン座標系に座標変換された移動軌跡ボリュームを描画することを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記録媒体および画像生成システムに関する。
【背景技術】
【０００２】
近年、仮想的な３次元空間（以下、「オブジェクト空間」という。）に配置設定されたキャラクタなどのオブジェクトを、仮想カメラ（所与の視点）に基づく所定の画像として生成する画像生成システムが実用化されている。このような画像生成システムは、仮想現実を体験させることができるものとして様々なシステムにて用いられるようになっており、特に、ゲームシステムにおいては、娯楽性および興趣性を向上させるためものとして重要視されている。
【０００３】
このような画像生成システムでは、演算処理の効率化を図りつつ、仮想現実感の向上のためによりリアルな画像を生成することが課題となっている。そして、リアルな画像を生成する１つの手法として、ある描画フレームにおいてオブジェクトがぶれたような画像を生成する「モーションブラー」と呼ばれる手法が用いられている。
【０００４】
かかる従来のモーションブラーの代表的な手法としては、
（１）オブジェクトの移動方向と移動速度に応じて当該オブジェクトを引き伸ばした移動軌跡ボリュームを用いたもの、
（２）２つのフレーム間の時間をさらに細かく分割し、当該分割した微少時間だけ時間を進めながら、何度もオブジェクトの画像をレンダリングし、最終的に全ての画像を平均化して合成するもの、
（３）ブラーのない画像とオブジェクトの速度を別々のテクスチャにレンダリングし、速度の向きと大きさからブラーのない画像をマルチサンプリングするもの、
などが知られており、オブジェクトの動きを表現し、現実感の高い画像を提供している（例えば、非特許文献１）。
【非特許文献１】今給黎隆「ＤｉｒｅｃｔＸ９シェーダプログラミングブック」株式会社毎日コミュニケーションズ発行、２００４年１月５日
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述のモーションブラーを適用した画像生成システムにあっては、複数のレンダリングにより処理負荷が大きくなるため、オブジェクトの移動速度が速い場合にオブジェクトが離散的に見えてしまう、処理負荷については軽いものの的確にオブジェクトの動きを表現できない、または、オブジェクトの境界が不正確で、かつ、オブジェクト同士が交差した場合の表現ができないなど、高速処理にて画像を生成しつつ、オブジェクトの動きを適確に表現することができないという問題があった。
【０００６】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、高速処理にて画像を生成しつつ、オブジェクトの動きを適確に表現することのできる画像生成システムを提供することにある。
【課題を解決するための手段】
【０００７】
（１）上記の課題を解決するために、本発明は、
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
前記仮想カメラに対してオブジェクトが相対移動する場合に、当該オブジェクトを構成する面の前記相対移動前の状態を示す第１の面と前記相対移動後の状態を示す第２の面とに基づいて、移動軌跡ボリュームを生成するボリューム生成部と、
前記生成された移動軌跡ボリュームを描画する移動軌跡ボリューム描画部とを含み、
前記移動軌跡ボリューム描画部が、
前記オブジェクトを構成する面の色分布に対応するピクセルパターンを有する所定のピクセル座標系における、前記移動軌跡ボリュームの描画ピクセルと前記第１の面との位置関係に応じた第１の位置と、該描画ピクセルと前記第２の面との位置関係に応じた第２の位置とを求め、前記第１の位置と前記第２の位置とに基づいて、該描画ピクセルの色及び透明度の少なくとも一方を求めることを特徴とする画像生成システムに関係する。
【０００８】
また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００９】
本発明によれば、移動軌跡ボリュームの描画ピクセルと第１の面と第２の面との対応関係を、所定のピクセル座標系におけるピクセルパターンと第１の位置と第２の位置との対応関係に変換し、第１の位置と第２の位置とに基づいて、移動軌跡ボリュームの描画ピクセルの色及び透明度の少なくとも一方を求める。
【００１０】
ここで本発明によれば、オブジェクトの仮想カメラに対する相対移動方向や相対移動速度が変化すると移動軌跡ボリュームが変化する。すると、所定のピクセル座標系における第１の位置および第２の位置が変化して、ピクセルパターンと第１の位置と第２の位置との対応関係が変化する。即ち本発明によれば、所定のピクセル座標系における第１の位置と第２の位置との関係を描画ピクセルの仮想的な移動状況として用いて、描画ピクセルの色及び透明度の少なくとも一方を求める。
【００１１】
従って本発明によれば、オブジェクトの仮想カメラに対する相対移動方向や相対移動速度の変化に応じて、移動軌跡ボリュームの描画ピクセルの色及び透明度の少なくとも一方を求めることができる。
【００１２】
こうして本発明によれば、オブジェクトの移動軌跡ボリュームを用いて適確にモーションブラーを表現することができるとともに、処理負荷が重い演算処理を行うことなく高速に画像を生成することができる。
【００１３】
（２）また、本発明に係る画像生成システム、プログラムまたは情報記録媒体は、
前記移動軌跡ボリューム描画部が、
前記第１の位置と第２の位置とを端点とする線分と、前記ピクセルパターンとの交差領域を求め、当該交差領域に基づいて前記移動軌跡ボリュームの描画ピクセルの色を求めるようにしてもよい。
【００１４】
本発明によれば、オブジェクトの仮想カメラに対する相対移動方向や相対移動速度が変化すると、ピクセル座標系における交差領域も変化する。従って本発明によれば、オブジェクトの仮想カメラに対する相対移動方向や相対移動速度に応じて、移動軌跡ボリュームにおける描画ピクセルの色を求めることができる。こうして本発明によれば、オブジェクトの移動軌跡ボリュームを用いて適確にモーションブラーを表現することができるとともに、処理負荷が重い演算処理を行うことなく高速に画像を生成することができる。
【００１５】
（３）また、本発明に係る画像生成システム、プログラムまたは情報記録媒体は、
前記移動軌跡ボリューム描画部が、
前記第１の位置と第２の位置とを端点とする線分と、前記ピクセルパターンとの交差領域を求め、前記第１の位置と第２の位置の距離と、前記交差領域の端点間の距離との比に基づいて、前記移動軌跡ボリュームの描画ピクセルの透明度を求めるようにしてもよい。
【００１６】
本発明によれば、オブジェクトの仮想カメラに対する相対移動方向や相対移動速度に応じて、第１の位置と第２の位置の距離と、交差領域の端点間の距離との比が変化する。例えば相対移動速度が大きければ当該比が大きくなり、相対移動速度が小さければ当該比が小さくなる。また、相対移動方向がオブジェクトの短手方向である場合は当該比が大きくなり、相対移動方向がオブジェクトの長手方向である場合は当該比が小さくなる。
【００１７】
従って本発明によれば、移動軌跡ボリュームの透明度を求める際に、オブジェクトの仮想カメラに対する相対移動方向や相対移動速度に応じて、移動軌跡ボリュームにおける描画ピクセルの透明度を求めることができる。こうして本発明によれば、オブジェクトの移動軌跡ボリュームを用いて適確にモーションブラーを表現することができるとともに、処理負荷が重い演算処理を行うことなく高速に画像を生成することができる。
【００１８】
（４）また、本発明に係る画像生成システム、プログラムまたは情報記録媒体は、
前記移動軌跡ボリューム描画部が、
前記第１の位置及び第２の位置の少なくとも一方が前記ピクセルパターン内に存在する場合に、当該ピクセルパターン内に存在する前記第１の位置及び第２の位置の少なくとも一方を前記交差領域の端点とするようにしてもよい。
【００１９】
本発明によれば、オブジェクトの仮想カメラに対する相対移動量が小さく、第１の位置及び第２の位置の少なくとも一方が前記ピクセルパターン内に存在する場合でも、当該移動量に応じた交差領域を求めることができる。従って本発明によれば、相対移動量が小さい場合でも移動量を正確に反映した適確なモーションブラーを表現することができる。
【００２０】
（５）また、本発明に係る画像生成システム、プログラムまたは情報記録媒体は、
前記ピクセルパターンは、前記所定のピクセル座標系において直角三角形を形成するようにしてもよい。
【００２１】
本発明によれば、オブジェクトを構成する三角形のプリミティブ面について簡単な演算を行うことにより、所定のピクセル座標系におけるピクセルパターンを求めることができる。しかも本発明によれば、オブジェクトを構成する三角形のプリミティブ面を所定のピクセル座標系におけるピクセルパターンに変換した際の位置関係の変化量を最小限に抑えることができ、適確に移動軌跡ボリュームの描画ピクセルの色及び透明度の少なくとも一方を求めることができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明に好適な実施の形態について図面を用いて説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、本実施形態にて説明される構成の全てが、本発明の必須の構成要件であるとは限らない。
【００２３】
１．構成
まず、図１を用いて本実施形態における画像生成システム（ゲームシステム）の構成について説明する。図１は、本実施形態における画像生成システムの機能ブロック図の一例である。なお、本実施形態の画像生成システムは、図１の構成要素（各部）の一部を省略した構成としてもよい。
【００２４】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００２５】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。そして、本実施形態の記憶部１７０は、最終的な表示画像等が記憶されるフレームバッファ１７２と、オブジェクトのモデルデータが記憶されるオブジェクトデータ記憶部１７３と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部１７４と、オブジェクトの画像の生成処理時にＺ値が記憶されるＺバッファ１７６と、を含む。なお、これらの一部を省略する構成としてもよい。
【００２６】
特に、本実施形態のオブジェクトデータ記憶部１７３には、移動体オブジェクト（車、キャラクタ等）、固定物オブジェクト（建物等）、背景オブジェクト（マップ、地形、天球等）のモデルデータが記憶されている。
【００２７】
具体的には、このオブジェクトデータ記憶部１７３には、ローカル座標系において予め設定され、頂点の位置座標、テクスチャ座標、色データ、法線ベクトル（法線データ）およびα値などの各頂点データを含むオブジェクトデータまたは処理部１００によって所定の演算により算出された各頂点データを含むオブジェクトデータが記憶される。
【００２８】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。
【００２９】
この情報記憶媒体１８０には、処理部１００において本実施形態の種々の処理を行うためのプログラム（データ）が記憶されている。即ち、この情報記録媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶されている。
【００３０】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。
【００３１】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００３２】
携帯型情報記憶装置１９４には、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。
【００３３】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３４】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００３５】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００３６】
特に、本実施形態の処理部１００は、オブジェクト空間に各種のオブジェクトを設定するオブジェクト空間設定部１１０と、オブジェクト空間における移動体オブジェクトの移動・動作演算を行う移動・動作処理部１１２と、仮想カメラを制御する仮想カメラ制御部１１４と、仮想カメラから見える画像を生成する描画部１２０と、音を生成する音生成部１３０と、を含む。なお、これらの一部を省略する構成としてもよい。
【００３７】
オブジェクト空間設定部１１０は、各キャラクタオブジェクト、車、戦車、建物、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ち、オブジェクト設定部１１０は、ワールド座標系でのオブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００３８】
移動・動作処理部１１２は、移動体オブジェクト（車又は飛行機の他にキャラクタが使用する道具等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち、この移動・動作処理部１１２は、操作部１６０によりプレーヤが入力した操作データ、設定されたパラメータや属性又はプログラム（移動・動作アルゴリズム）や各種データ（モーションデータ）などに基づいて、移動体オブジェクトをオブジェクト空間内で移動させ、又は、移動体オブジェクトの動作（モーション、アニメーション）を制御するための処理を行う。
【００３９】
具体的には、本実施形態の移動・動作処理部１１２は、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（例えば１／６０秒）毎に順次求めるシミュレーション処理を行う。ここでフレームとは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。そして、本実施形態では、フレームレートは毎フレーム固定としてもよいし、処理負荷に応じて可変としてもよい。
【００４０】
特に、本実施形態の移動・動作処理部１１２は、予め定められた特定の移動体オブジェクトがオブジェクト空間内を仮想カメラに対して相対的に移動する相対移動が行われる場合に、相対移動における移動体オブジェクトの移動・動作処理（シミュレーション処理）を行う。
【００４１】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００４２】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００４３】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、本実施形態の描画部１２０は、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００４４】
また、頂点処理では、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（フラグメント処理）が行われる。
【００４５】
ピクセル処理では、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色をフレームバッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。
【００４６】
これにより、オブジェクト空間内に設定された仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００４７】
なお、描画部１２０が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００４８】
そして、描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００４９】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理を行う。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）を記憶部１７０に記憶する。
【００５０】
テクスチャマッピングでは、記憶部１７０のテクスチャ記憶部１７４に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングする処理を行う。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部１７４からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出し、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００５１】
なお、本実施形態では、オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、マッピングされるテクスチャの色分布（テクセルパターン）を動的に変化させることができる。
【００５２】
また、この場合において、色分布（ピクセルパターン）が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよい。
【００５３】
隠面消去処理では、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行う。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照するとともに、当該参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００５４】
αブレンディング（α合成）では、描画部１２０は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）を行う。
【００５５】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００５６】
また、描画部１２０は、移動体オブジェクトの移動軌跡ボリュームを生成する移動軌跡ボリューム生成部１２２と、移動軌跡ボリュームを描画する移動軌跡ボリューム描画部１２４と、を含む。
【００５７】
移動軌跡ボリューム生成部１２２は、仮想カメラに対してオブジェクトが相対移動する場合に、当該オブジェクトを構成する面の相対移動前の状態を示す第１の面と相対移動後の状態を示す第２の面とに基づいて、その描画フレームにおけるオブジェクトの移動の様子（移動軌跡）を示すボリューム（以下、「移動軌跡ボリューム」という。）を生成する。この移動軌跡ボリュームは、オブジェクトが高速で移動する際のモーションブラー（ぶれ）を表現するために用いるものである。
【００５８】
詳細には、移動軌跡ボリューム生成部１２２は、予め定められた高速移動を行う特定のオブジェクトの相対移動前の位置（頂点座標）と相対移動後の位置（頂点座標）とに基づいて、移動軌跡ボリュームを生成する。この相対移動前の位置と相対移動後の位置は、その描画フレームにおける当該オブジェクトについての移動・動作演算（移動・動作シミュレーション）の結果や、仮想カメラの制御情報等に基づいて求めることができる。具体的には、その描画フレームにおけるオブジェクトの移動速度、移動方向、移動量等の移動情報、及び仮想カメラの位置、向き、画角の変化速度、変化方向、変化量等の制御情報に基づき、その描画フレームにおけるオブジェクトの相対移動前における位置（頂点座標）と相対移動後における位置（頂点座標）を求めることができる。
【００５９】
特に本実施形態では、移動軌跡ボリューム生成部１２２は、前の描画フレームにおけるオブジェクトの位置をその描画フレームにおける相対移動前における位置とし、その描画フレームにおけるオブジェクトの位置を相対移動後における位置とする。そして、相対移動前における位置と相対移動後における位置とに基づいて、オブジェクトを構成する面の相対移動前の状態を示す第１の面と相対移動後の状態を示す第２の面とを端面とする移動軌跡ボリュームを生成する。
【００６０】
移動軌跡ボリューム描画部１２４は、オブジェクトを構成する面の色に応じた色分布に対応するピクセルパターンを有する所定のピクセル座標系における、移動軌跡ボリュームの描画ピクセルと第１の面との位置関係に応じた第１の位置と、該描画ピクセルと第２の面との位置関係に応じた第２の位置とを求め、求めた第１の位置と第２の位置とに基づいて該描画ピクセルの色及び透明度を求め、移動軌跡ボリュームを描画する。
【００６１】
具体的には移動軌跡ボリューム描画部１２４は、所定のピクセル座標系として、生成された移動軌跡ボリュームを所定のマトリクスを用いて変換して得られるピクセル座標系を用いる。特に本実施形態では、移動軌跡ボリュームを構成する面（ポリゴンまたは三角形プリミティブ面）の頂点座標を所定のマトリクスで変換すると、当該面の色に応じた色分布に対応するピクセルパターンが直角三角形を形成するピクセル座標系を用いる。
【００６２】
ここで本実施形態では、移動軌跡ボリュームを変換すると、当該移動軌跡ボリュームの描画ピクセルと第１の面との位置関係に応じた第１の位置と、第２の面との位置関係に応じた第２の位置と、オブジェクトを構成する面の色に応じた色分布を有するピクセルパターンとが配置されるピクセル座標系が構成されるマトリクスを逆算して求めておく。
【００６３】
そして、移動軌跡ボリューム描画部１２４は、移動軌跡ボリュームの描画ピクセルと第１の面と第２の面との位置関係を、かかる所定のマトリクスを用いることにより、オブジェクトを構成する面の色に応じた色分布を有するピクセルパターンと第１の位置と第２の位置とが構成される所定のピクセル座標系に変換し、所定のピクセル座標系におけるピクセルパターンと第１の位置と第２の位置との位置関係から、移動軌跡ボリュームの描画ピクセルの色及び透明度を求める。
【００６４】
詳細には移動軌跡ボリューム描画部１２４は、第１の位置と第２の位置とを端点とする線分と、ピクセルパターンとの交差領域を求め、当該交差領域に基づいて移動軌跡ボリュームの描画ピクセルの色を求める。また移動軌跡ボリューム描画部１２４は、第１の位置と第２の位置とを端点とする線分と、ピクセルパターンとの交差領域を求め、第１の位置と第２の位置の距離と、交差領域の端点間の距離との比に基づいて、移動軌跡ボリュームの描画ピクセルの透明度を求める。
【００６５】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００６６】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００６７】
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００６８】
２．本実施形態の手法
２．１  概要
本実施形態の画像生成システムは、仮想カメラに対してオブジェクトが相対移動する場合に、前フレームのオブジェクトを構成する第１の面（相対移動前の状態を示す第１の面）と、現在フレームのオブジェクトを構成する第２の面（相対移動後の状態を示す第２の面）とを端面とする、当該オブジェクトの移動軌跡ボリュームを生成する。
【００６９】
そして、オブジェクトを構成する面の色に応じた色分布に対応するピクセルパターンを有する所定のピクセル座標系（以下、ローカル座標系という。）における、移動軌跡ボリュームの描画ピクセルと第１の面との位置関係に応じた第１の位置と、該描画ピクセルと前記第２の面との位置関係に応じた第２の位置とを求め、求めた第１の位置と第２の位置とに基づいて該描画ピクセルの色及び透明度を求め、移動軌跡ボリュームを描画する。
【００７０】
即ち本実施形態では、移動軌跡ボリュームの各描画ピクセルについて、ローカル座標系における仮想的な移動軌跡を求める。そして、ローカル座標系において、仮想的な移動軌跡を示す線分（以下、「ピクセル線分」という。）と、オブジェクトを構成する面の色に応じた色分布が展開されたピクセルパターン領域（以下、「色分布領域」という。）とに基づいて、移動軌跡ボリュームの各描画ピクセルの色及び透明度を求める。
【００７１】
このように本実施形態では、特定のオブジェクトのオブジェクト空間内における移動方向や移動速度に応じて変化するピクセル線分と、当該オブジェクトの色が反映された色分布領域とに基づいて、移動軌跡ボリュームの各描画ピクセルの色又は透明度を特定する。従って本実施形態では、オブジェクトのオブジェクト空間内における移動方向や移動速度に応じて、移動軌跡ボリュームの色または透明度を特定することができる。
【００７２】
例えば、図２（Ａ）に示すオブジェクトＯＢを構成する面について本実施形態の手法を適用すると、図２（Ｂ）に示すように、オブジェクトＯＢの仮想カメラに対する相対移動方向や相対移動速度の変化に応じて、移動軌跡ボリュームＭＶの描画ピクセルの色及び透明度を適確に描画することができる。こうして本実施形態によれば、オブジェクトの移動軌跡ボリュームＭＶを用いて適確にモーションブラーを表現することができる。
【００７３】
２．２  移動軌跡ボリュームの生成
次に、本実施形態の移動軌跡ボリュームの生成手法について説明する。図３は、本実施形態の移動軌跡ボリュームの一例を説明するための図である。本実施形態では、図３に示すように、オブジェクト空間に、特定のオブジェクトの前フレームの位置に対応する前フレームのオブジェクトＯＢ０（第１の面）と、現在フレームの位置に対応する現在フレームのオブジェクトＯＢ１（第２の面）とを、それぞれの法線ベクトルｎの向きが互いに逆向きになるように配置する。そして、前フレームのオブジェクトＯＢ０の各頂点と現在フレームのオブジェクトＯＢ１の各頂点とを結ぶ各稜線ｒに基づいて、各オブジェクトの間に法線ベクトルが外側に設定された縮退四角形のメッシュを挿入し、移動軌跡ボリュームＭＶを生成する。
【００７４】
ここで、それぞれの法線ベクトルｎは、前フレームのオブジェクトＯＢ０の頂点座標と現在フレームのオブジェクトＯＢ１の頂点座標とから求められる速度ベクトルａに基づいて向きを定める。即ち、図３に示すように、前フレームのオブジェクトＯＢ０の法線ベクトルｎは速度ベクトルａと逆方向に設定し、現在フレームのオブジェクトＯＢ１の法線ベクトルｎは速度ベクトルａに沿う方向に設定する。
【００７５】
例えば、特定のオブジェクトが仮想カメラに対して奥側から手前側に相対移動する場合には、速度ベクトルａが手前側を向いているので、前フレームのオブジェクトＯＢ０の法線ベクトルｎは奥側を向くように設定され、現在フレームのオブジェクトＯＢ１の法線ベクトルｎは手前側を向くように設定される。一方、手前側から奥側に相対移動する場合には、速度ベクトルａが奥側を向いているので、前フレームのオブジェクトＯＢ０の法線ベクトルｎは手前側を向くように設定され、現在フレームのオブジェクトＯＢ１の法線ベクトルｎは奥側を向くように設定される。従って、本実施形態では、移動軌跡ボリュームＭＶを生成する際に、仮想カメラに対して手前側にあるオブジェクトＯＢのみを描画し、奥側にあるオブジェクトＯＢについてはバックフェースカリングを行うことができる。
【００７６】
なお、特定のオブジェクトについての基準ボリュームを予め用意しておき、移動軌跡ボリュームＭＶを生成する際に、特定のオブジェクトの相対移動に関する情報に基づいて基準ボリュームを変形させて、そのフレームにおける移動軌跡ボリュームＭＶを生成するようにしてもよい。また、頂点計算を行った後に、特定のオブジェクトの相対移動に関する情報に基づいて、移動奇跡ボリュームＭＶを生成するようにしてもよい。
【００７７】
２．３  移動軌跡ボリュームの描画
次に、本実施形態の移動軌跡ボリュームの描画手法について説明する。本実施形態では、生成された移動軌跡ボリュームを透視変換し、スクリーン座標系に射影変換するとともに、移動軌跡ボリュームを所定のマトリクスを用いて変換したローカル座標系におけるピクセルパターンを用いて、移動軌跡ボリュームを構成する各描画ピクセルの色と透明度を求め、移動軌跡ボリュームを描画する。
【００７８】
２．３．１  移動軌跡ボリュームの変換
図４（Ａ）、（Ｂ）は、本実施形態の移動軌跡ボリュームＭＶを所定のローカル座標系に変換する手法の一例を説明するための図である。本実施形態では、図４（Ａ）に示す移動軌跡ボリュームＭＶを描画する場合には、当該移動軌跡ボリュームＭＶを構成する面の頂点座標を所定のマトリクスで変換する。そして、図４（Ｂ）に示すような、移動軌跡ボリュームＭＶの現在フレームのオブジェクトＯＢ１の面（ｑ０，ｑ１，ｑ２）の色に応じた色分布に対応するピクセルパターンが、直角三角形（（０，０），（０，１），（１，０））を形成するローカル座標系を得て、このローカル座標系を用いて移動軌跡ボリュームＭＶの各描画ピクセル色及び透明度を求める。
【００７９】
例えば、図４（Ａ）に示す移動軌跡ボリュームＭＶの描画ピクセルｐの色を求める場合を例に挙げると、移動軌跡ボリュームＭＶを所定のマトリクスで変換すると、図４（Ｂ）に示すローカル座標系において直角三角形（（０，０），（０，１），（１，０））のピクセルパターンが形成されるとともに、描画ピクセルｐと前フレームのオブジェクトＯＢ０との位置関係に応じた前フレームの座標点Ｃ０（第１の位置）と、描画ピクセルｐと現在フレームのオブジェクトＯＢ１との位置関係に応じた現在フレームの座標点Ｃ１（第２の位置）とが求まる。
【００８０】
即ち本実施形態では、所定のマトリクスを用いて、移動軌跡ボリュームＭＶにおける、描画ピクセルｐに対応する前フレームのオブジェクトＯＢ０の対応ピクセルＰ０と、当該描画ピクセルｐに対応する現在フレームのオブジェクトＯＢ１の対応ピクセルＰ１とを、オブジェクトＯＢ１の面（ｑ０，ｑ１，ｑ２）が直角三角形の色分布領域Ｔとなるローカル座標系における、前フレームの座標点Ｃ０と現在フレームの座標点Ｃ１に変換する。
【００８１】
詳細には本実施形態では、描画ピクセルの位置をｐ（ｔ）とし、時刻ｔの時の特定のオブジェクトの頂点のスクリーン座標上の位置をＱ０（ｔ）、Ｑ１（ｔ）、Ｑ２（ｔ）とすると、（式１）から導出された（式２）に基づいて、描画ピクセルの位置ｐ（ｔ）からＣ（ｔ）を求めることができる。
ｐ（ｔ）−Ｑ０（ｔ）
＝Ｃ（ｔ）．ｘ（Ｑ１（ｔ）−Ｑ０（ｔ））＋Ｃ（ｔ）．ｙ（Ｑ２（ｔ）−Ｑ０（ｔ））
＝Ｍ（ｔ）Ｃ（ｔ）
・・・（式１）
Ｃ（ｔ）＝Ｍ−１（ｔ）（ｐ（ｔ）−Ｑ０（ｔ））              ・・・（式２）
【００８２】
ここで［．ｘ］、［．ｙ］は、特定のオブジェクトのスクリーン座標における頂点位置のｘ及びｙ成分を示し、Ｍは、移動軌跡ボリュームＭＶをスクリーン座標系からローカル座標系にマトリクス変換する際のマトリクスを示す。
【００８３】
そして本実施形態では、このようにして得られる図４（Ｂ）に示すローカル座標系において、前フレームの座標点Ｃ０と現在フレームの座標点Ｃ１とを端点とする線分と、色分布領域Ｔとの交差領域を求め、当該交差領域に基づいて移動軌跡ボリュームＭＶの描画ピクセルｐの色と透明度を求める。即ち移動軌跡ボリュームＭＶの描画ピクセルｐの色として、オブジェクトのローカル座標系における仮想的な移動軌跡上の色を設定する。
【００８４】
２．３．２  描画ピクセルの色と透明度の決定
図５は、交差領域に基づいて、図４（Ａ）の描画ピクセルｐの色と透明度を求める手法を説明するための図である。本実施形態では、図５（Ａ）に示すように、所定のローカル座標系において、前フレームの座標点Ｃ０と現在フレームの座標点Ｃ１を端点とする線分Ｌと、色分布領域Ｔとに基づいて、交差領域Ｏを求める。詳細には、本実施形態では、図５（Ａ）に示すように、ローカル座標系におけるｘ＝０、ｙ＝０、ｘ＋ｙ＝１と、前フレームの座標点Ｃ０と現在フレームの座標点Ｃ１とを通る直線との交点ｌａ、ｌｂ、ｌｃを求める。そして、各交点ｌａ、ｌｂ、ｌｃと、前フレームの座標点Ｃ０及び現在フレームの座標点Ｃ１との関係から、解析的に線分Ｌと色分布領域Ｔとの交差領域Ｏ（線分ｌｂｌｃ）を求める。
【００８５】
そして本実施形態では、この交差領域Ｏに対応する色分布領域Ｔのいずれかのピクセルパターンに基づいて、移動軌跡ボリュームＭＶの描画ピクセルの色を求める。例えば図５（Ａ）の例では、交差領域Ｏの中点Ｏｍに対応する色分布領域Ｔのピクセルの色を、図４（Ａ）の描画ピクセルｐの色として設定する。
【００８６】
また本実施形態では、線分Ｌの長さ（前フレームの座標点Ｃ０と現在フレームの座標点Ｃ１の距離）と、交差領域Ｏの長さ（交点ｌｂと交点ｌｃの距離）との比に基づいて、移動軌跡ボリュームＭＶの描画ピクセルｐの透明度を求める。例えば図５（Ａ）の例では、線分Ｌの長さと交差領域Ｏの長さの比は２：１となっており、この場合には透明度１／２（例えばα値０．５）を、図４（Ａ）の描画ピクセルｐの透明度として設定する。即ち移動軌跡ボリュームＭＶの描画ピクセルｐの透明度として、オブジェクトのローカル座標系における仮想的な移動量に応じた透明度を設定する。
【００８７】
そして本実施形態では、かかる色と透明度の設定を移動軌跡ボリュームＭＶの各描画ピクセルについて行う。ここで、移動軌跡ボリュームＭＶの各描画ピクセルは、前フレームのオブジェクトＯＢ０に対する位置関係、及び現在フレームのオブジェクトＯＢ１に対する位置関係がそれぞれ異なる。従って、それぞれの描画ピクセルについて、図５（Ａ）に示すローカル座標系における前フレームの座標点Ｃ０と現在フレームの座標点Ｃ１が異なり、交差領域Ｏの位置、範囲も異なる。
【００８８】
例えば図４（Ａ）において、描画ピクセルｐよりも下方であって、現在フレームのオブジェクトＯＢ１に近い描画ピクセルｐ１の色と透明度を求める場合には、図５（Ｂ）に示すように、ローカル座標系における線分Ｌ１は、描画ピクセルｐに対応する線分Ｌよりも下方に平行移動する。すると交差領域Ｏ１の位置が変化し、中点Ｏｍ１の位置が下方に変化する。そして、中点Ｏｍ１に対応する色分布領域Ｔのピクセルの色を、描画ピクセルｐ１の色として設定する。即ち描画ピクセルｐ１は、色分布領域Ｔにおいて描画ピクセルｐよりも下方に位置するピクセルに対応する色で描画する。従って本実施形態では、移動軌跡ボリュームＭＶの描画ピクセルの色として、オブジェクトの色分布に対応する色を設定することができる。
【００８９】
また、図５（Ｂ）の例では、そして、前フレームの座標点Ｃ０は色分布領域Ｔから離れた位置となり、現在フレームの座標点Ｃ１は色分布領域Ｔに近い位置となる。そして、線分Ｌの長さと交差領域Ｏの長さの比は３：１となっており、この場合には透明度１／３（例えばα値０．３）を描画ピクセルｐ１の透明度として設定する。即ち描画ピクセルｐ１は、描画ピクセルｐよりも薄い色で描画する。従って本実施形態では、移動軌跡ボリュームＭＶの中央部付近が濃く、前後方向に向かうにつれ次第に色が薄くなるように透明度を設定することができる。
【００９０】
こうして本実施形態では、移動軌跡ボリュームＭＶの各描画ピクセルの色と透明度を、移動軌跡ボリュームＭＶを所定のマトリクスで変換した所定のローカル座標系を用いて設定し、移動軌跡ボリュームＭＶを描画する。すると、図２（Ｂ）に示すように、オブジェクトの色分布に対応し、前後方向に向かうにつれ次第に色が薄くなるような移動軌跡ボリュームＭＶを描画することができる。
【００９１】
２．３．３  移動方向、移動速度に応じた色の決定
図６（Ａ）は、特定のオブジェクトの仮想カメラに対する相対的な移動方向が、他の態様である場合に設定されるローカル座標系の例である。図６（Ａ）の例では、特定のオブジェクトの移動方向が、オブジェクト空間において下方向である場合の例である。この場合には、移動軌跡ボリュームＭＶは上下方向に延びる形状として生成されるので、図６（Ａ）の例では、ローカル座標系における線分Ｌ２が、移動軌跡ボリュームＭＶの延長方向に沿う上下方向に形成される。
【００９２】
ここで図６（Ａ）の線分Ｌ２については、前フレームの座標点Ｃ０の位置が、色分布領域Ｔと重なる位置となっている。これは、描画ピクセルの移動軌跡ボリュームＭＶにおける位置が、前フレームのオブジェクトＯＢ０の位置と重なる位置にあるためである。この場合には、線分Ｌ２の一端である前フレームの座標点Ｃ０を、交差領域Ｏの端点ｌｂとする。従って図６（Ａ）の例では、前フレームの座標点Ｃ０とｌｃとを端点とする交差領域Ｏ２の中点Ｏｍ２に基づいて、描画ピクセルの色を設定し、線分Ｌ２と交差領域Ｏ２との長さ比に基づいて、描画ピクセルの透明度を設定する。
【００９３】
また、図６（Ｂ）は、特定のオブジェクトの仮想カメラに対する相対的な移動速度が、他の態様である場合に設定されるローカル座標系の例である。図６（Ｂ）の例では、特定のオブジェクトの移動方向は図６（Ａ）と同様であるが、移動速度が遅い、即ち当該描画フレームにおけるオブジェクトの移動量が小さい場合の例である。この場合には、移動軌跡ボリュームＭＶは長さが短く生成されるので、生成される移動軌跡ボリュームＭＶにおいて、前フレームのオブジェクトＯＢ０と現在フレームのオブジェクトＯＢ１とが重なる領域が多くなる。
【００９４】
すると図６（Ｂ）の線分Ｌ３については、前フレームの座標点Ｃ０及び現在フレームの座標点Ｃ１の位置が、色分布領域Ｔと重なる位置となっている。これは、描画ピクセルの移動軌跡ボリュームＭＶにおける位置が、前フレームのオブジェクトＯＢ０と現在フレームのオブジェクトＯＢ１とが重なる位置にあるためである。従って、ローカル座標系における前フレームの座標点Ｃ０と現在フレームの座標点Ｃ１の位置が、ともに色分布領域Ｔと重なる位置となっている。即ち図６（Ｂ）に示すように、ローカル座標系における線分Ｌ３も長さが短く形成される。この場合には、前フレームの座標点Ｃ０と現在フレームの座標点Ｃ１とを、交差領域Ｏ３の端点ｌｂ、ｌｃとする。
【００９５】
従って図６（Ｂ）の例では、線分Ｌ３を交差領域Ｏ３として、その中点Ｏｍ３に基づいて、描画ピクセルの色を設定し、線分Ｌ３と交差領域Ｏ３との長さ比に基づいて、描画ピクセルの透明度を設定する。この場合には、線分Ｌ３と交差領域Ｏ３との長さ比は１：１となるため、透明度１／１（例えばα値１．０）を対応する描画ピクセルの透明度として設定する。即ち描画ピクセルの色を中点Ｏｍ３に対応する色そのままの色として設定する。
【００９６】
このように本実施形態では、図６（Ｂ）の例のように、その描画フレームにおけるオブジェクトの移動速度が遅い場合には、移動軌跡ボリュームＭＶの色の透明度を低く設定する。即ち元のオブジェクトの色をそのまま設定する、或いは濃く残して設定する。一方、特定のオブジェクトの仮想カメラに対する相対的な移動速度が速い場合には、移動軌跡ボリュームＭＶの長さが長く形成される。すると、ローカル座標系における前フレームの座標点Ｃ０と現在フレームの座標点Ｃ１との距離即ち線分Ｌが長くなり、交差領域Ｏに対する線分Ｌの比が大きくなる。従って、相対移動速度が速い場合には、移動軌跡ボリュームＭＶの色の透明度を高く設定する。即ち元のオブジェクトの色を薄くして設定する。
【００９７】
このように本実施形態では、オブジェクトの仮想カメラに対する相対移動方向や相対移動速度が変化すると、ローカル座標系における色分布領域Ｔに対する前フレームの座標点Ｃ０と現在フレームの座標点Ｃ１が変化し、交差領域Ｏも変化する。従って本実施形態によれば、移動軌跡ボリュームＭＶの色及び透明度を求める際に、オブジェクトの仮想カメラに対する相対移動方向や相対移動速度に応じて、移動軌跡ボリュームＭＶの描画ピクセルの色を求めることができる。こうして本発明によれば、オブジェクトの移動軌跡ボリュームを用いて適格にモーションブラーを表現することができる。
【００９８】
なお、上記説明においては、第１の面（前フレームのオブジェクトＯＢ０）と第２の面（現在フレームのオブジェクトＯＢ１）とを端面とする移動軌跡ボリュームを生成する例について説明したが、本実施形態では、第１の面と第２の面との間の位置など、第１の面と第２の面とに関連付けられた位置に移動軌跡ボリュームを生成すればよく、移動軌跡ボリュームに第１の面と第２の面とが含まれなくてもよい。また、第１の面と第２の面については描画しても描画しなくてもよい。
【００９９】
また図５（Ａ）の例では、処理の簡単化のために交差領域Ｏの中点に対応する色を描画ピクセルｐの色として設定したが、中点に限らず交差領域Ｏに対応する色分布領域Ｔの任意のピクセルの色を設定することができる。また、色分布領域Ｔの１のピクセルの色情報に基づいて描画ピクセルｐの色を設定してもよいし、複数のピクセルの色情報に基づいて色を設定してもよい。複数のピクセルの色情報に基づく場合には、複数のピクセルの色の平均値を設定するようにしてもよい。
【０１００】
また、色分布領域Ｔのピクセルパターンは、対応するオブジェクトの頂点色情報から構成してもよいし、テクスチャ色情報から構成してもよい。また、対応するオブジェクトの頂点色情報とテクスチャ色情報とを掛け合わせた色情報から構成してもよい。具体的には本実施形態のローカル座標系（オブジェクトを構成する面の色に応じた色分布に対応するピクセルパターンを有する所定のピクセル座標系）の座標点に、オブジェクトに対応するテクスチャ座標点を変換し、ピクセルパターンに対応するテクセルパターンを求めて色を求めるようにしてもよい。また、ローカル座標系のピクセルデータを、直接的にピクセルの色を指定するピクセルデータから構成してもよいし、間接的にピクセルの色を指定するピクセルデータから構成してもよい。
【０１０１】
また、本実施形態では、移動軌跡ボリュームの各描画ピクセルにおける色及び透明度を求める場合に、描画ピクセルに対応するオブジェクトを構成する面の色に応じた色分布を有する２次元のローカル座標系を用いているが、オブジェクトを３次元的に解析して３次元のローカル座標を用いるようにしてもよい。
【０１０２】
２．４  マトリクスの詳細
次に、本実施形態において用いるマトリクスＭの算出過程について説明する。例えば、オブジェクトを構成するポリゴンの頂点位置のローカル座標系における値をｖ０、ｖ１、ｖ２とし、当該ポリゴンの頂点位置の射影座標系における値をＶ０、Ｖ１及びＶ２とすると、射影座標Ｖは、ローカル座標ｖと、ワールド行列Ｍｗ、ビュー行列Ｍｖ及び射影行列Ｍｐを通して（式３）の関係が成立する。ただし、ｉ＝（０，１，２）を示す。
Ｖｉ＝Ｍｐ×Ｍｖ×Ｍｗ×ｖｉ                                  ・・・（式３）
【０１０３】
このとき、スクリーン座標に対応した２次元のポリゴンの頂点位置座標Ｑを（式４）にて定義すると、このスクリーン座標系におけるスクリーン上のピクセルの位置ｐは（式５）にて対応付けられる。
【０１０４】
【数１】
0004754384.tif 000002
【０１０５】
【数２】
0004754384.tif 000003
【０１０６】
なお、［．ｘ］、［．ｙ］、［．ｗ］は、頂点位置のｘ、ｙ、ｗ成分を示す。また、（ｘ，ｙ）はスクリーンにおけるピクセルの位置及び（Ｘ，Ｙ）は、スクリーンの大きさを示す。
【０１０７】
ここで、スクリーン上のピクセルの位置ｐを頂点の位置座標Ｑｉの差分から作ったベクトルで展開すると、展開係数ベクトルＣにおいて（式６）の関係が成り立ち、これは（式７）によってマトリクスＭにて書き直すことができる。
ｐ＝Ｃ．ｘ×（Ｑ１−Ｑ０）＋Ｃ．ｙ×（Ｑ２−Ｑ０）＋Ｑ０    ・・・（式６）
ｐ＝Ｍ（ｔ）×Ｃ＋Ｑ０                                      ・・・（式７）
【０１０８】
そして、展開係数ベクトル（ローカル座標における座標点）Ｃの定義から、このマトリクスＭを（式８）のように表すことができる。ただし、［．ｘ］、［．ｙ］、［．ｗ］は、上述と同様に頂点位置のｘ、ｙ、ｗ成分を示す。ここで、Ｍは、描画ピクセルｐをオブジェクトを構成するポリゴンのローカル座標に座標変換する際に用いるマトリクスを示す。
【０１０９】
【数３】
0004754384.tif 000004
【０１１０】
そして、マトリクスＭはポリゴンの位置から求められ、ｐについても描画ピクセルの位置が定まれば特定することができるので、ローカル座標系におけるＣ、すなわち、展開係数ベクトルＣを（式７）から逆算して（式９）のように求めることができる。
【０１１１】
【数４】
0004754384.tif 000005
【０１１２】
３．本実施形態の処理
次に、本実施形態における移動軌跡ボリュームを描画する際の詳細な処理例について、図７のフローチャートを用いて説明する。まず、高速移動を行う予め定められた特定オブジェクトが、仮想カメラに対して相対的に移動する相対移動が行われた場合に、当該描画フレームにおける特定オブジェクトの相対移動に関する情報を求める（ステップＳ１０）。具体的には、操作部１６０からの操作データやプログラムなどに基づいて、仮想カメラのオブジェクト空間内における位置を基準に、当該描画フレームにおける特定オブジェクトの位置の変化や方向の変化をリアルタイムに演算する。
【０１１３】
次いで、画面をクリアし、当該描画フレームにおける背景を描画する（ステップＳ２０）。
【０１１４】
次いで、取得した特定オブジェクトの相対移動に関する情報に基づいて、特定オブジェクトに対応する基準ボリュームを変形し、特定オブジェクトの移動軌跡ボリュームを生成する（ステップＳ３０）。
【０１１５】
次いで、生成された移動軌跡ボリュームを透視変換・射影変換し、スクリーン上における移動軌跡ボリュームの描画ピクセルを求める（ステップＳ４０）。
【０１１６】
次いで、移動軌跡ボリュームの各描画ピクセルを、所定のマトリクスを用いてローカル座標系における前フレームの座標点と現在フレームの座標点に変換する（ステップＳ５０）。
【０１１７】
次いで、各描画ピクセルについて、ローカル座標系における前フレームの座標点と現在フレームの座標点に基づいて、描画ピクセルの色（ＲＧＢ）及び透明度（α）を求める（ステップＳ６０）。
【０１１８】
そして、求めた色及び透明度に基づいて、移動軌跡ボリュームをフレームバッファに出力する（ステップＳ７０）。
【０１１９】
４．ハードウェア構成
次に、図８を用いて本実施形態を実現できるハードウェア構成について説明する。なお、図８は、本実施形態を実現できるハードウェア構成を示す一例である。
【０１２０】
メインプロセッサ９００は、ＤＶＤ９８２（情報記憶媒体。ＣＤでもよい。）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。
【０１２１】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１２２】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１２３】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。
【０１２４】
また、この描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【０１２５】
なお、上記各プロセッサの各機能は、ハードウェアとして別々のプロセッサにより実現してもよいし、１つのプロセッサにより実現してもよい。また、プロセッサとしてＣＰＵとＧＰＵを設けた場合でも、いずれのプロセッサによりいかなる機能を実現するかは、任意に設定することができる。
【０１２６】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１２７】
ＲＯＭ９５０には、システムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。
【０１２８】
ＲＡＭ９６０は、各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１２９】
なお、本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１３０】
そして、本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１３１】
また、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（プリミティブ面等）として引用された用語（ポリゴン等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１３２】
また、本実施形態においては、移動軌跡ボリュームにおける各描画ピクセルに対して当該各描画ピクセルの色及び透明度を特定しているが、スクリーンを構成する移動軌跡ボリューム以外を含む全描画ピクセルに対して上述の描画処理を行い、各描画ピクセルの色及び透明度を特定してもよい。
【０１３３】
また、上述の描画処理は、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含むことができる。
【０１３４】
また、本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１３５】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】図２（Ａ）は、本実施形態の処理対象の画像の一例の説明図、図２（Ｂ）は、本実施形態の処理結果として生成される画像の一例の説明図。
【図３】本実施形態で生成される移動軌跡ボリュームの一例の説明図。
【図４】図４（Ａ）は、本実施形態のマトリクス変換前の移動軌跡ボリュームの一例の説明図、図４（Ｂ）は、本実施形態のマトリクス変換後のローカル座標系の一例の説明図。
【図５】本実施形態のローカル座標系の一例の説明図。
【図６】本実施形態のローカル座標系の一例の説明図。
【図７】本実施形態の処理の一例を示すフローチャート図。
【図８】ハードウェアの構成例。
【符号の説明】
【０１３６】
ＯＢ  オブジェクト、ＭＶ  移動軌跡ボリューム、
ＯＢ０  前フレームのオブジェクト、ＯＢ１  現在フレームのオブジェクト、
ｐ  描画ピクセル、Ｃ０  前フレームの座標点、Ｃ１  現在フレームの座標点、
Ｌ  線分、Ｔ  色分布領域、Ｏ  交差領域、
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１２０  画像生成部、１２２  移動軌跡ボリューム生成部、１２４  移動軌跡ボリューム描画部、１３０  音生成部、１６０  操作部、
１７０  記憶部、１７２  フレームバッファ、１７３  オブジェクトデータ記憶部、
１７４  テクスチャ記憶部、１７６  Ｚバッファ１７６、１８０  情報記憶媒体、
１９０  表示部、１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部
【図１】
0004754384.tif 000006
【図３】
0004754384.tif 000007
【図４】
0004754384.tif 000008
【図５】
0004754384.tif 000009
【図６】
0004754384.tif 000010
【図７】
0004754384.tif 000011
【図８】
0004754384.tif 000012
【図２】
0004754384.tif 000013