(57)【要約】【課題】比較的小さい処理負荷でモーションブラーを実現可能なプログラム、情報記憶媒体及び画像生成システムを提供すること。【解決手段】今回のフレームの原画像を生成し、オブジェクトの前回のフレームにおける位置情報と今回のフレームにおける位置情報に基づいて、オブジェクトの移動軌跡を算出し、当該移動軌跡に含まれる各ピクセルに対応づけて速度情報を算出し、オブジェクトの移動軌跡に含まれる各ピクセルに対して、算出した速度情報に応じた位置にある複数のピクセルに基づいて色情報を算出し、原画像において、オブジェクトの移動軌跡に含まれる各ピクセルを算出した色情報に更新し、今回のフレームの画像を生成する。【選択図】図１６
2011215724.tif 000002
【特許請求の範囲】
【請求項１】
画像を生成するためのプログラムであって、
今回のフレームの原画像を生成する原画像生成部と、
所与のオブジェクトの前回のフレームにおける位置情報を記憶する位置情報記憶部と、
前記オブジェクトの前回のフレームにおける位置情報と今回のフレームにおける位置情報に基づいて、前記オブジェクトの移動軌跡を算出し、当該移動軌跡に含まれる各ピクセルに対応づけて速度情報を算出する速度情報算出部と、
前記移動軌跡に含まれる各ピクセルに対して、算出した前記速度情報に応じた位置にある複数のピクセルに基づいて色情報を算出する色情報算出部と、
前記原画像において、前記オブジェクトの移動軌跡に含まれる各ピクセルを算出した前記色情報に更新し、今回のフレームの画像を生成するフレーム画像生成部としてコンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記速度情報算出部は、
前記速度情報を算出したピクセルに対応づけて所定のステンシル値を設定し、
前記色情報算出部は、
前記所定のステンシル値が設定されたピクセルに対して前記色情報を算出することを特徴とするプログラム。
【請求項３】
請求項２において、
前記速度情報算出部は、
前記速度情報を算出したピクセルのうち速度が０のピクセルに対応づけて前記所定のステンシル値と異なるステンシル値を設定することを特徴とするプログラム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記速度情報算出部は、
前記原画像のＮ個のピクセル毎に１つの代表ピクセルを選択して前記移動軌跡に含まれる代表ピクセルの前記速度情報を算出し、
前記色情報算出部は、
前記移動軌跡に含まれる各々の前記代表ピクセルの前記速度情報を当該代表ピクセルにより代表される前記Ｎ個のピクセルの速度情報として、当該Ｎ個のピクセルの色情報を算出することを特徴とするプログラム。
【請求項５】
請求項１乃至３のいずれかにおいて、
前記原画像のＮ個のピクセル毎に１つの代表ピクセルを選択して前記原画像の１／Ｎのサイズの縮小画像を生成する縮小画像生成部としてさらにコンピュータを機能させ、
前記速度情報算出部は、
前記縮小画像において前記移動軌跡を算出して前記代表ピクセルの前記速度情報を算出し、
前記色情報算出部は、
前記移動軌跡に含まれる各々の前記代表ピクセルの色情報を算出し、算出した各々の前記代表ピクセルの色情報を当該代表ピクセルにより代表される前記Ｎ個のピクセルに設定することを特徴とするプログラム。
【請求項６】
請求項１至５のいずれかにおいて、
前記色情報算出部は、
算出した前記色情報を前記速度情報に応じて変化させることを特徴とするプログラム。
【請求項７】
請求項１至６のいずれかにおいて、
前記速度情報算出部は、
前記移動軌跡に含まれる一部のピクセルに対して、当該移動軌跡に含まれる他の一部のピクセルと異なる演算処理を行って前記速度情報を算出することを特徴とするプログラム。
【請求項８】
請求項７において、
前記速度情報算出部は、
所与の模様の形状に配置されたピクセルに対して前記演算処理を行うことを特徴とするプログラム。
【請求項９】
請求項１至８のいずれかにおいて、
前記原画像において前記オブジェクトを当該オブジェクトよりも簡易な形状の簡易モデルに置き換えた画像を生成する簡易モデル画像生成部としてさらにコンピュータを機能させ、
前記位置情報記憶部は、
前記位置情報として前記簡易モデルの前回のフレームにおける位置情報を記憶し、
前記速度情報算出部は、
前記移動軌跡として前記簡易モデルの移動軌跡を算出することを特徴とするプログラム。
【請求項１０】
請求項１至９のいずれかにおいて、
前記オブジェクトの１つがエフェクトオブジェクトであることを特徴とするプログラム。
【請求項１１】
請求項１０において、
前記オブジェクトの１つがキャラクタオブジェクトであり、
前記エフェクトオブジェクトが前記キャラクタオブジェクトにヒットしたか否かを判定するヒット判定部としてさらにコンピュータを機能させ、
前記色情報算出部は、
前記エフェクトオブジェクトが前記キャラクタオブジェクトにヒットした場合、前記エフェクトオブジェクトの属性情報をさらに用いて、前記キャラクタオブジェクトの移動軌跡に含まれる各ピクセルの前記色情報を算出することを特徴とするプログラム。
【請求項１２】
請求項１至１１のいずれかにおいて、
前記速度情報算出部は、
前記オブジェクトの所与の可動部に含まれるピクセルに対して、当該可動部の先端部分から根元部分に向かう方向に前記速度情報を徐々に大きくすることを特徴とするプログラム。
【請求項１３】
請求項１至１２のいずれかにおいて、
前記速度情報算出部は、
今回のフレームにおける前記オブジェクトの状態に応じて、当該オブジェクトに対して、前記速度情報を増加若しくは減少させて算出し、又は、前記速度情報を算出する処理を停止することを特徴とするプログラム。
【請求項１４】
請求項１乃至１３のいずれかにおいて、
前記コンピュータは、描画プロセッサを含み、
前記速度情報算出部は、
前記描画プロセッサの処理負荷に応じて、前記速度情報を算出する処理を停止することを特徴とするプログラム。
【請求項１５】
請求項１乃至１４のいずれかにおいて、
前記速度情報算出部は、
今回のフレームにおける仮想カメラの位置、向き及び画角の少なくとも１つの前回のフレームに対する変化量に応じて、今回のフレームでは前記速度情報を算出する処理を停止することを特徴とするプログラム。
【請求項１６】
コンピュータにより読み取り可能な情報記憶媒体であって、請求項１乃至１５のいずれかに記載のプログラムを記憶していることを特徴とする情報記憶媒体
【請求項１７】
画像を生成するための画像生成システムであって、
今回のフレームの原画像を生成する原画像生成部と、
所与のオブジェクトの前回のフレームにおける位置情報を記憶する位置情報記憶部と、
前記オブジェクトの前回のフレームにおける位置情報と今回のフレームにおける位置情報に基づいて、前記オブジェクトの移動軌跡を算出し、当該移動軌跡に含まれる各ピクセルに対応づけて速度情報を算出する速度情報算出部と、
前記移動軌跡に含まれる各ピクセルに対して、算出した前記速度情報に応じた位置にある複数のピクセルに基づいて色情報を算出する色情報算出部と、
前記原画像において、前記オブジェクトの移動軌跡に含まれる各ピクセルを前記算出した色情報に更新し、今回のフレームの画像を生成するフレーム画像生成部と、を含むことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
このような画像生成システム（ゲームシステム）において、キャラクタなどのオブジェクトの動きを強調したり滑らかな動きを表現するために、その動きに合わせてオブジェクトがぶれたような画像を生成する「モーションブラー」と呼ばれる手法が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１３９５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、モーションブラーの処理が非常に重くなると描画処理の高速化が妨げられ、オブジェクトのリアルな動きを再現することが難しくなる。
【０００６】
本発明は、以上のような課題に鑑みてなされたものであり、本発明のいくつかの態様によれば、比較的小さい処理負荷でモーションブラーを実現可能なプログラム、情報記憶媒体及び画像生成システムを提供することができる。
【課題を解決するための手段】
【０００７】
（１）本発明は、
画像を生成するためのプログラムであって、
今回のフレームの原画像を生成する原画像生成部と、
所与のオブジェクトの前回のフレームにおける位置情報を記憶する位置情報記憶部と、
前記オブジェクトの前回のフレームにおける位置情報と今回のフレームにおける位置情報に基づいて、前記オブジェクトの移動軌跡を算出し、当該移動軌跡に含まれる各ピクセルに対応づけて速度情報を算出する速度情報算出部と、
前記移動軌跡に含まれる各ピクセルに対して、算出した前記速度情報に応じた位置にある複数のピクセルに基づいて色情報を算出する色情報算出部と、
前記原画像において、前記オブジェクトの移動軌跡に含まれる各ピクセルを算出した前記色情報に更新し、今回のフレームの画像を生成するフレーム画像生成部としてコンピュータを機能させることを特徴とする。
【０００８】
また、本発明は、コンピュータに読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶している情報記憶媒体に関する。また、本発明は、上記各部を含む画像生成システムに関する。
【０００９】
位置情報は、オブジェクトの位置を特定可能な情報であればよく、例えば、オブジェクトに含まれる各ポリゴンの頂点の位置（座標）であってもよい。
【００１０】
速度情報は、ピクセルの速度を特定可能な情報であればよく、例えば、移動ベクトル（移動量と移動方向）であってもよいし、速度ベクトル（速度の大きさと向き）であってもよい。
【００１１】
本発明によれば、原画像をぼかしながら複数回描画するのではなく、原画像のオブジェクトの移動軌跡に含まれるピクセルの色情報を１回更新すればよいので、比較的小さい処理負荷でモーションブラーを実現することができる。
【００１２】
（２）また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記速度情報算出部は、
前記速度情報を算出したピクセルに対応づけて所定のステンシル値を設定し、
前記色情報算出部は、
前記所定のステンシル値が設定されたピクセルに対して前記色情報を算出するようにしてもよい。
【００１３】
このようにすれば、速度情報を算出したピクセルだけ色情報を計算すればよく、モーションブラーの対象でないオブジェクトや背景については色情報を計算する必要がない。従って、モーションブラーの処理負荷を軽減することができる。
【００１４】
（３）また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記速度情報算出部は、
前記速度情報を算出したピクセルのうち速度が０のピクセルに対応づけて前記所定のステンシル値と異なるステンシル値を設定するようにしてもよい。
【００１５】
このようにすれば、速度が０でないピクセルだけ色情報を計算すればよいので、モーションブラーの処理負荷をさらに軽減することができる。
【００１６】
（４）また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記速度情報算出部は、
前記原画像のＮ個のピクセル毎に１つの代表ピクセルを選択して前記移動軌跡に含まれる代表ピクセルの前記速度情報を算出し、
前記色情報算出部は、
前記移動軌跡に含まれる各々の前記代表ピクセルの前記速度情報を当該代表ピクセルにより代表される前記Ｎ個のピクセルの速度情報として、当該Ｎ個のピクセルの色情報を算出するようにしてもよい。
【００１７】
このようにすれば、速度情報の算出回数を１／Ｎに減らすことができる。
【００１８】
（５）また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記原画像のＮ個のピクセル毎に１つの代表ピクセルを選択して前記原画像の１／Ｎのサイズの縮小画像を生成する縮小画像生成部としてさらにコンピュータを機能させ（縮小画像生成部をさらに含み）、
前記速度情報算出部は、
前記縮小画像において前記移動軌跡を算出して前記代表ピクセルの前記速度情報を算出し、
前記色情報算出部は、
前記移動軌跡に含まれる各々の前記代表ピクセルの色情報を算出し、算出した各々の前記代表ピクセルの色情報を当該代表ピクセルにより代表される前記Ｎ個のピクセルに設定するようにしてもよい。
【００１９】
このようにすれば、速度情報の算出回数を１／Ｎに減らすとともに、色情報の算出回数も１／Ｎに減らすことができる。
【００２０】
（６）また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記色情報算出部は、
算出した前記色情報を前記速度情報に応じて変化させるようにしてもよい。
【００２１】
このようにすれば、ピクセルの移動量（速度）に応じて原画像の色からの変化の度合いが異なるモーションブラーをかけることができる。例えば、計算した色情報のＲ成分とＧ成分からピクセルの移動量（速度）に比例する値を減算することにより、移動量（速度）の大きいピクセルほど青に近づくようなモーションブラーをかけることができる。
【００２２】
（７）また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記速度情報算出部は、
前記移動軌跡に含まれる一部のピクセルに対して、当該移動軌跡に含まれる他の一部のピクセルと異なる演算処理を行って前記速度情報を算出するようにしてもよい。
【００２３】
このようにすれば、一部のピクセルと他の一部のピクセルで原画像からの色の変化の度合いが異なるモーションブラーをかけることができる。例えば、当該一部のピクセルの移動量（速度）を固定値（例えば０）とする演算処理を行ってもよい。
【００２４】
（８）また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記速度情報算出部は、
所与の模様の形状に配置されたピクセルに対して前記演算処理を行うようにしてもよい。
【００２５】
このようにすれば、所与の模様の形状を浮き上がらせたマンガ的な効果を狙ったモーションブラーをかけることができる。
【００２６】
（９）また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記原画像において前記オブジェクトを当該オブジェクトよりも簡易な形状の簡易モデルに置き換えた画像を生成する簡易モデル画像生成部としてさらにコンピュータを機能させ（簡易モデル画像生成部をさらに含み）、
前記位置情報記憶部は、
前記位置情報として前記簡易モデルの前回のフレームにおける位置情報を記憶し、
前記速度情報算出部は、
前記移動軌跡として前記簡易モデルの移動軌跡を算出するようにしてもよい。
【００２７】
このようにすれば、速度情報を算出する処理の負荷を軽減することができる。
【００２８】
（１０）また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記オブジェクトの１つがエフェクトオブジェクトであるようにしてもよい。
【００２９】
このようにすれば、キャラクタなどのオブジェクトだけでなく、エフェクトオブジェクトにもモーションブラーをかけることができる。
【００３０】
（１１）また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記オブジェクトの１つがキャラクタオブジェクトであり、
前記エフェクトオブジェクトが前記キャラクタオブジェクトにヒットしたか否かを判定するヒット判定部としてさらにコンピュータを機能させ（ヒット判定部をさらに含み）、
前記色情報算出部は、
前記エフェクトオブジェクトが前記キャラクタオブジェクトにヒットした場合、前記エフェクトオブジェクトの属性情報をさらに用いて、前記キャラクタオブジェクトの移動軌跡に含まれる各ピクセルの前記色情報を算出するようにしてもよい。
【００３１】
エフェクトオブジェクトの属性情報は、例えば、色、形状、模様、材質、光沢などに関する情報であってもよい。
【００３２】
このようにすれば、エフェクトオブジェクトの属性に連動させてキャラクタオブジェクトにモーションブラーをかけることができる。
【００３３】
（１２）また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記速度情報算出部は、
前記オブジェクトの所与の可動部に含まれるピクセルに対して、当該可動部の先端部分から根元部分に向かう方向に前記速度情報を徐々に大きくするようにしてもよい。
【００３４】
このようにすれば、可動部の先端部分ではモーションブラーがかからず、可動部の根元部分に近づくにつれてより強くなるモーションブラー（軌跡のようなブラー）をかけることができる。
【００３５】
（１３）また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記速度情報算出部は、
今回のフレームにおける前記オブジェクトの状態に応じて、当該オブジェクトに対して、前記速度情報を増加若しくは減少させて算出し、又は、前記速度情報を算出する処理を停止するようにしてもよい。
【００３６】
このようにすれば、オブジェクトの状態に応じてブラーを強めたり弱めたりすることができる。例えば、キャラクタオブジェクトが攻撃を受けている状態では移動量（速度）を本来よりも増加させて強めのブラーにすることで衝撃を強調し、キャラクタオブジェクトが立ち構えているような状態のような待機ループモーション中は、速度情報を減少させて弱めのブラーにすることで画像が不鮮明になり過ぎるのを避けることができる。
【００３７】
また、例えば、オブジェクトが所定の閾値以上の衝撃を受けた直後のフレームでは、当該衝撃を受けたオブジェクトについては速度情報を算出する処理を停止してブラーをオフにすれば、ブラーがかかりすぎて画像が不鮮明になり過ぎるのを避けることができる。
【００３８】
（１４）また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記コンピュータは、描画プロセッサを含み、
前記速度情報算出部は、
前記描画プロセッサの処理負荷に応じて、前記速度情報を算出する処理を停止するようにしてもよい。
【００３９】
例えば、描画プロセッサの処理負荷が所定の閾値よりも高い場合、速度情報を算出する処理を停止するようにしてもよい。このようにすれば、描画負荷が重すぎる場合はモーションブラー処理を停止して描画速度の低下を軽減することができる。
【００４０】
（１５）また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記速度情報算出部は、
今回のフレームにおける仮想カメラの位置、向き及び画角の少なくとも１つの前回のフレームに対する変化量に応じて、今回のフレームでは前記速度情報を算出する処理を停止するようにしてもよい。
【００４１】
例えば、前記変化量が所定の閾値よりも大きい場合、今回のフレームでは速度情報を算出する処理を停止するようにしてもよい。このようにすれば、画面が大きく切り替わった時に、不要なモーションブラーがかかって画像が不鮮明になるのを避けることができる。
【図面の簡単な説明】
【００４２】
【図１】本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の一例を示す図。
【図２】モーションブラーがかかった画像の一例を示す図。
【図３】ベロシティマップの一例を示す図。
【図４】本実施形態のベロシティマップの作成手法について説明するための図。
【図５】本実施形態の色情報の算出手法について説明するための図。
【図６】変形例１の手法について説明するための図。
【図７】変形例２の手法について説明するための図。
【図８】変形例３の手法について説明するための図。
【図９】変形例３の手法について説明するための図。
【図１０】変形例４の手法について説明するための図。
【図１１】変形例５の手法について説明するための図。
【図１２】変形例６の手法について説明するための図。
【図１３】変形例６の手法について説明するための図。
【図１４】変形例７の手法について説明するための図。
【図１５】変形例８の手法について説明するための図。
【図１６】本実施形態のモーションブラー処理の一例を示すフローチャート図。
【図１７】変形例１のモーションブラー処理の一例を示すフローチャート図。
【図１８】変形例２のモーションブラー処理の一例を示すフローチャート図。
【図１９】変形例８におけるブラーの強弱又はオフを選択する処理の一例を示すフローチャート図。
【図２０】変形例９におけるモーションブラー処理を停止するか否かを選択する処理の一例を示すフローチャート図。
【図２１】本実施形態を実現できるハードウェア構成の例を示す図。
【発明を実施するための形態】
【００４３】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【００４４】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の一例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００４５】
操作部１６０は、プレーヤがオブジェクト（プレーヤキャラクタ、移動体）の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００４６】
なお、操作部１６０は、加速度センサや撮像部、或いは角速度を検出するジャイロセンサを備えた入力機器によってプレーヤからの入力データ（操作データ）を入力できるものでもよい。例えば、入力装置は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また、入力装置には、プレーヤが把持する刀型コントローラや銃型コントローラ、あるいはプレーヤが身につける（プレーヤが手に装着する）グローブ型コントローラなど実際の道具を模して作られたコントローラも含まれる。また入力装置には、入力装置と一体化されているゲーム装置、携帯型ゲーム装置、携帯電話なども含まれる。
【００４７】
例えば、入力機器に備えられた加速度センサは、３軸（Ｘ軸、Ｙ軸、Ｚ軸）の加速度を検出する。すなわち、加速度センサは、上下方向、左右方向、及び、前後方向の加速度を検出することができる。なお、加速度センサは、５ｍｓｅｃ毎に加速度を検出している。また、加速度センサは、１軸、２軸、６軸の加速度を検出するものであってもよい。なお、加速度センサから検出された加速度は、入力機器の通信部によってゲーム装置（本体装置）に送信される。
【００４８】
また、入力機器に備えられた撮像部は、赤外線フィルタ、レンズ、撮像素子（イメージセンサ）、画像処理回路を含む。赤外線フィルタは、入力装置の前方に配置され、表示部１９０に関連付けられて配置されている光源から入射する光から赤外線のみを通過させる。レンズは、赤外線フィルタを透過した赤外線を集光して撮像素子へ出射する。撮像素子は、例えば、ＣＭＯＳセンサやＣＣＤのような固体撮像素子であり、レンズが集光した赤外線を撮像して撮像画像を生成する。撮像素子で生成された撮像画像は、画像処理回路で処理される。例えば、撮像素子から得られた撮像画像を処理して高輝度部分を検知し、撮像画像における光源の位置情報（特定位置）を検出する。なお、光源が複数存在する場合には、撮像画像上の位置情報を検出する。また、検出した撮像画像上の位置情報は、通信部によって、本体装置に送信される。
【００４９】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。記憶部１７０は、ワーク領域として使用される主記憶部１７２と、最終的な表示画像等が記憶される描画バッファ１７４と、オブジェクトのモデルデータが記憶されるオブジェクトデータ記憶部１７６と、各オブジェクトに対応付けられたテクスチャが記憶されるテクスチャ記憶部１７８と、オブジェクトの生成処理時にＺ値が記憶されるＺバッファ１７９とを含む。なお、これらの一部を省略する構成としてもよい。
【００５０】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶することができる。
【００５１】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００５２】
通信部１９６は外部（例えば他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００５３】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体１８０や記憶部１７０に記憶してもよい。このようにプログラムやデータを受信して画像生成システムを機能させる場合も本発明の範囲内に含む。
【００５４】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００５５】
この処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００５６】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００５７】
オブジェクト空間設定部１１０は、雪、雨、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ライン（線）、ラインポリゴン、ポリゴン、多角形、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。例えば、ワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義であり、例えば、ワールド座標系でのＸ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００５８】
移動・動作処理部１１２は、オブジェクト（キャラクタ、移動体等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）、物理法則などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００５９】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、ワールド座標系における仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（例えば、Ｘ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を制御する処理を行う。要するに、視点位置、視線方向、画角を制御する処理を行う。例えば、仮想カメラ制御部１１４は、仮想カメラを移動体オブジェクトの移動に追従させる制御を行うようにしてもよい。すなわち、仮想カメラによりオブジェクト（例えばキャラクタ、移動体）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００６０】
特に本実施形態では、処理部１００は、ヒット判定部１１６を含むようにしてもよい。ヒット判定部１１６は、エフェクトオブジェクトがキャラクタオブジェクトにヒットしたか否かを判定する。
【００６１】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００６２】
頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換（カメラ座標変換）、クリッピング処理、射影変換（視点を基準とした透視変換、投影変換）、ビューポート変換（スクリーン座標変換）、光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。ジオメトリ処理後のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、オブジェクトデータ記憶部１７６に保存される。
【００６３】
そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（フレームバッファや中間バッファ（ワークバッファ）などのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００６４】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００６５】
そして描画部１２０は、オブジェクトを描画する際に、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００６６】
テクスチャマッピングは、記憶部１７０のテクスチャ記憶部１７８に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部１７８からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００６７】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ１７９（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファ１７９に格納されるＺ値を参照する。そして参照されたＺバッファ１７９のＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファ１７９のＺ値を新たなＺ値に更新する。
【００６８】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。
【００６９】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００７０】
特に本実施形態では、描画部１２０は、原画像生成部１２１、位置情報記憶部１２２、速度情報算出部１２３、色情報算出部１２４、フレーム画像生成部１２５を含む。
【００７１】
原画像生成部１２１は、今回のフレームの原画像を生成する。
【００７２】
位置情報記憶部１２２は、モーションブラー処理の対象となる所与のオブジェクト（処理対象オブジェクト）の前回のフレームにおける位置情報を記憶する。
【００７３】
速度情報算出部１２３は、処理対象オブジェクトの前回のフレームにおける位置情報と今回のフレームにおける位置情報に基づいて、処理対象オブジェクトの移動軌跡を算出し、当該移動軌跡に含まれる各ピクセルに対応づけて速度情報を算出する。例えば、速度情報算出部１２３は、処理対象オブジェクトの移動軌跡に含まれる一部のピクセルに対して、当該移動軌跡に含まれる他の一部のピクセルと異なる演算処理を行って速度情報を算出するようにしてもよい。この場合、速度情報算出部１２３は、所与の模様の形状に配置されたピクセルに対してこの演算処理を行うようにしてもよい。また、例えば、速度情報算出部１２３は、処理対象オブジェクトの所与の可動部に含まれるピクセルに対して、当該可動部の先端部分から根元部分に向かう方向に速度情報を徐々に大きくするようにしてもよい。また、例えば、速度情報算出部１２３は、今回のフレームにおける処理対象オブジェクトの状態に応じて、当該オブジェクトに対して、速度情報を増加若しくは減少させて算出し、又は、速度情報を算出する処理を停止するようにしてもよい。また、例えば、速度情報算出部１２３は、描画プロセッサの処理負荷に応じて、速度情報を算出する処理を停止するようにしてもよい。また、例えば、速度情報算出部１２３は、今回のフレームにおける仮想カメラの位置、向き及び画角の少なくとも１つの前回のフレームに対する変化量に応じて、今回のフレームでは前記速度情報を算出する処理を停止するようにしてもよい。
【００７４】
色情報算出部１２４は、処理対象オブジェクトの移動軌跡に含まれる各ピクセルに対して、算出した速度情報に応じた位置にある複数のピクセルに基づいて色情報を算出する。例えば、色情報算出部１２４は、算出した色情報を速度情報に応じて変化させるようにしてもよい。また、例えば、処理対象オブジェクトがエフェクトオブジェクトやキャラクタオブジェクトであり、色情報算出部１２４は、エフェクトオブジェクトがキャラクタオブジェクトにヒットした場合、エフェクトオブジェクトの属性情報をさらに用いて、キャラクタオブジェクトの移動軌跡に含まれる各ピクセルの色情報を算出するようにしてもよい。
【００７５】
また、例えば、速度情報算出部１２３は、速度情報を算出したピクセルに対応づけて所定のステンシル値を設定し、色情報算出部１２４は、所定のステンシル値が設定されたピクセルに対して色情報を算出するようにしてもよい。この場合さらに、速度情報算出部１２３は、速度情報を算出したピクセルのうち速度が０のピクセルに対応づけて所定のステンシル値と異なるステンシル値を設定するようにしてもよい。
【００７６】
また、例えば、速度情報算出部１２３は、原画像のＮ個のピクセル毎に１つの代表ピクセルを選択して処理対象オブジェクトの移動軌跡に含まれる代表ピクセルの速度情報を算出し、色情報算出部１２４は、処理対象オブジェクトの移動軌跡に含まれる各々の代表ピクセルの速度情報を当該代表ピクセルにより代表されるＮ個のピクセルの速度情報として、当該Ｎ個のピクセルの色情報を算出するようにしてもよい。
【００７７】
フレーム画像生成部１２５は、原画像において、処理対象オブジェクトの移動軌跡に含まれる各ピクセルを算出した色情報に更新し、今回のフレームの画像を生成する。
【００７８】
また、描画部１２０は、縮小画像生成部１２６を含むようにしてもよい。縮小画像生成部１２６は、原画像のＮ個のピクセル毎に１つの代表ピクセルを選択して原画像の１／Ｎのサイズの縮小画像を生成する。そして、速度情報算出部１２３は、この縮小画像において処理対象オブジェクトの移動軌跡を算出して代表ピクセルの速度情報を算出し、色情報算出部１２４は、処理対象オブジェクトの移動軌跡に含まれる各々の代表ピクセルの色情報を算出し、算出した各々の代表ピクセルの色情報を当該代表ピクセルにより代表される前記Ｎ個のピクセルに設定するようにしてもよい。
【００７９】
また、描画部１２０は、簡易モデル画像生成部１２７を含むようにしてもよい。簡易モデル画像生成部１２７は、原画像において処理対象オブジェクトを当該オブジェクトよりも簡易な形状の簡易モデルに置き換えた画像を生成する。そして、位置情報記憶部１２２は、位置情報として簡易モデルの前回のフレームにおける位置情報を記憶し、速度情報算出部１２４は、処理対象オブジェクトの移動軌跡として簡易モデルの移動軌跡を算出するようにしてもよい。
【００８０】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００８１】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００８２】
２．本実施形態の手法
（１）概要
本実施形態は、フレーム間のオブジェクトの移動量（速度）に応じて、フレームの原画像に対してモーションブラーを施した画像を生成する処理を行うものである。例えば、図２は、キャラクタＣ１とＣ２に対してモーションブラーがかかった画像の一例である。キャラクタＣ１は１つ前のフレームでは破線の位置に右腕を縮めているのに対して現在のフレームでは実線の位置に右腕を伸ばしており、キャラクタＣ１の右腕が２つのフレームの間で移動している。一方、キャラクタＣ２は静止している。そのため、画像２００は、フレーム間で移動したキャラクタＣ１の右腕のみがぶれた画像になっている。このような、モーションブラーをかけることで、キャラクタなどのオブジェクトの動きを強調したり滑らかな動きを表現した画像が得られる。以下、本実施形態の手法について説明する。
【００８３】
（２）ベロシティマップの作成手法
本実施形態では、１フレーム分の各ピクセルの移動方向と移動量の情報（速度情報）を含むベロシティマップ（速度マップ）と呼ばれるテクスチャを作成し、このベロシティマップを用いてモーションブラー処理を施した画像を生成する。
【００８４】
図３に、図２の画像２００を生成するために用いるベロシティマップの一例を示す。正確には、図３はベロシティマップの各ピクセルの移動量（速度）をグレースケールに変換して描画した画像であり、各ピクセルの移動方向（速度の向き）の情報が欠落しているが、以下ではこのような画像による表現も、単に「ベロシティマップ」と呼ぶことにする。図３のベロシティマップ２１０では、移動量（速度）が０のピクセルは白色であり、移動量（速度）が大きいピクセルほど濃度が高いグレー色になっている。例えば、背景やキャラクタＣ２は静止しているので白色になっている。一方、キャラクタＣ１の右腕の先端部分（右拳）は移動量（速度）が大きいので濃いグレー色になっており、右腕の根元部分（右肩）は移動量（速度）が小さいので薄いグレー色になっている。また、キャラクタＣ１の右腕以外の部分は動いていないので白色になっている。なお、図２では、便宜上キャラクタＣ１とＣ２の輪郭を実線で表記しているが、キャラクタＣ１は右腕以外は動いておらず、キャラクタＣ２は静止しているので、キャラクタＣ１の右腕を除く輪郭部分に位置するピクセルの移動量（速度）は０である。
【００８５】
次に、本実施形態のベロシティマップの作成手法について図４（Ａ）及び図４（Ｂ）を用いて説明する。
【００８６】
まず、モーションブラー処理の対象となるオブジェクトＯＢ１に対して、オブジェクトＯＢ１がフレーム間で移動した軌跡領域を表す引き伸ばしモデルを作成する。具体的には、今回のフレームの位置から前回のフレームの位置まで各頂点を引き伸ばす処理を行うことで引き伸ばしモデルを作成することができる。例えば、図４（Ａ）に示すように、今回のフレームの原画像３００において、オブジェクトＯＢ１は実線で示す位置にあり、３つの頂点Ａ、Ｂ、Ｃの座標はそれぞれ（ｘ１，ｙ１）、（ｘ２，ｙ２）、（ｘ３，ｙ３）であるとする。一方、前回のフレームではオブジェクトＯＢ１は破線で示す位置にあり、頂点Ａ、Ｂ、Ｃの座標はそれぞれ（ｘ４，ｙ４）、（ｘ５，ｙ５）、（ｘ６，ｙ６）であったとする。その場合、座標（ｘ１，ｙ１）、（ｘ２，ｙ２）、（ｘ３，ｙ３）、（ｘ４，ｙ４）、（ｘ５，ｙ５）の５つの点を頂点とする引き伸ばしモデルを作成する。
【００８７】
次に、引き伸ばしモデルの各ピクセルに対して速度ベクトル（速度情報の一例）を計算し、ベロシティマップに書き込む。具体的には、モーションブラー処理の対象となるオブジェクトの各頂点について前回のフレームの座標を記憶しておき、各頂点について前回のフレームの座標を始点とし、今回のフレームの座標を終点とするベクトルを考え、このベクトルの始点を各頂点の今回の位置まで平行移動することで、各頂点の速度ベクトルが得られる。そして、頂点の速度ベクトルから引き伸ばしモデルの各ピクセルの速度ベクトルを計算する。
【００８８】
例えば、図４（Ａ）に示すように、頂点Ａの速度ベクトルｖＡは、座標（ｘ１，ｙ１）を始点とし、座標（２ｘ１−ｘ４，２ｙ１−ｙ４）を終点とするベクトルになる。また、頂点Ｂの速度ベクトルｖＢは、座標（ｘ２，ｙ２）を始点とし、座標（２ｘ２−ｘ５，２ｙ２−ｙ５）を終点とするベクトルになる。また、頂点Ｃの速度ベクトルｖＣは、座標（ｘ３，ｙ３）を始点とし、座標（２ｘ３−ｘ６，２ｙ３−ｙ６）を終点とするベクトルになる。そして、引き伸ばしモデルのその他の各ピクセルについて、そのピクセルの位置を始点として、位置に応じた重み付けをして速度ベクトルｖＡ、ｖＢ、ｖＣを合成することで速度ベクトルが得られる。例えば、オブジェクトＯＢ１が等速直線運動をしている場合は、引き伸ばしモデルのすべてのピクセルについて速度ベクトルの向きと長さが同じになる。
【００８９】
このようにして得られた速度ベクトルを、ピクセルの座標に対応するテクスチャ座標に書き込むことで、図３（Ｂ）に示すベロシティマップ３１０を作成することができる。本実施形態では、１フレーム分のサイズのベロシティマップ３１０のすべてのピクセルを移動量（速度）が０の速度ベクトルに初期化しておき、斜線で示す引き伸ばしモデルの各ピクセルについて算出した速度ベクトルで更新（上書き）する。なお、各ピクセルについて、速度ベクトルの始点はそのピクセルの座標と一致するので、速度ベクトルの終点のみをベロシティマップ３１０に書き込むようにしてもよい。
【００９０】
また、本実施形態では、１フレーム分のサイズのステンシルバッファのすべてのステンシル値を０に初期化し、ベロシティマップを作成する際に、速度ベクトルを算出して書き込んだピクセル（すなわち、引き伸ばしモデルのピクセル）についてステンシルバッファに１を書き込む。すなわち、ベロシティマップの作成が終了すると、引き伸ばしモデルのピクセルについてはステンシル値が１になっており、その他のピクセルについてはステンシル値が０になっている。なお、Ｚバッファ１７９にＺ値（奥行き情報）とともにステンシル情報を書き込むことで、Ｚバッファ１７９をステンシルバッファに兼用するようにしてもよい。
【００９１】
図２の例でいうと、キャラクタＣ１とＣ２のそれぞれの引き伸ばしモデルを作成し、２つの引き伸ばしモデルの各ピクセルについて速度ベクトルを算出し、図３のベロシティマップ２１０を作成する。また、ステンシルバッファは、キャラクタＣ１の引き伸ばしモデルとキャラクタＣ２の引き伸ばしモデルのピクセルのステンシル値が１になっており、背景のステンシル値は０になっている。
【００９２】
（３）色情報の計算手法
次に、本実施形態のモーションブラーをかける色情報の計算手法について説明する。本実施形態では、まず、今回のフレームの原画像の色情報とベロシティマップの速度情報から引き伸ばしモデルの各ピクセルについて色情報（ＲＧＢ値）を計算し、テクスチャ（色情報テクスチャ）に書き込む。具体的には、引き伸ばしモデルの各ピクセルに対して、ベロシティマップから速度ベクトルを読み出し、速度ベクトルの始点と終点を結ぶ直線上にあるｍ個のピクセルの色情報を原画像からサンプリングし、必要に応じて重みづけをしてこれらの平均値を計算する。例えば、図４（Ｂ）に示したベロシティマップ３１０において、座標（ｘ１，ｙ１）のピクセルと座標（ｘ６，ｙ６）のピクセルの速度ベクトルがそれぞれｖＡとｖＤであったとする。その場合、図５（Ａ）に示すように、座標（ｘ１，ｙ１）のピクセルについては、座標（ｘ１，ｙ１）の点（速度ベクトルｖＡの始点）と座標（２ｘ１−ｘ４，２ｙ１−ｙ４）の点（速度ベクトルｖＡの終点）を結ぶ直線上で等間隔に並ぶ８個のピクセルＰ０〜Ｐ７の色情報をサンプリングしてこれらの平均値を計算し、座標（ｘ１，ｙ１）のピクセルの色情報とする。また、座標（ｘ６，ｙ６）のピクセルについては、座標（ｘ６，ｙ６）の点（速度ベクトルｖＤの始点）と座標（ｘ３，ｙ３）の点（速度ベクトルｖＤの終点）を結ぶ直線上で等間隔に並ぶ８個のピクセルＱ０〜Ｑ７の色情報をサンプリングしてこれらの平均値を計算し、座標（ｘ６，ｙ６）のピクセルの色情報とする。このようにして計算した色情報を書き込むことで図５（Ｂ）に示すような色情報テクスチャ３２０が作成される。
【００９３】
次に、作成した色情報テクスチャを用いて引き伸ばしモデルの各ピクセルの色情報を再計算する。具体的には、引き伸ばしモデルの各ピクセルに対して、前回サンプリングしたｍ個のピクセルのうちの直近の２つのピクセルを結ぶ直線上にあるｎ個のピクセルの色情報を色情報テクスチャからサンプリングし、必要に応じて重みづけをしてこれらの平均値を計算する。例えば、図５（Ａ）の例では、図５（Ｂ）に示すように、座標（ｘ１，ｙ１）のピクセルについては、色情報テクスチャ３２０から、ピクセルＰ０とＰ１を結ぶ直線上で等間隔に並ぶ８個のピクセルの色情報をサンプリングしてこれらの平均値を計算し、座標（ｘ１，ｙ１）のピクセルの色情報とする。また、座標（ｘ６，ｙ６）のピクセルについては、色情報テクスチャ３２０から、ピクセルＱ０とＱ１を結ぶ直線上で等間隔に並ぶ８個のピクセルの色情報をサンプリングしてこれらの平均値を計算し、座標（ｘ６，ｙ６）のピクセルの色情報とする。
【００９４】
最後に、原画像に対して、引き伸ばしモデルの各ピクセルを計算した色情報に更新することによって最終画像を生成する。このようにすれば、各ピクセルについて、擬似的に、ｍ×ｎ個のピクセルのカラー情報の平均値を計算することができるので、少ない計算量でありながらより滑らかなモーションブラーがかかった画像を生成することができる。
【００９５】
なお、本実施形態では、今回のフレームのすべてのピクセルについて、順番に、前述したステンシルバッファからステンシル値を読み出し、ステンシル値が１のピクセル（引き伸ばしモデルのピクセル）についてのみ色情報の計算を行う。このようにすることで、モーションブラー処理の対象でないオブジェクトについては色情報の計算を省略することができる。
【００９６】
ただし、オブジェクトの引き伸ばしモデル毎にステンシル値が０か１のいずれかに設定されるので、オブジェクトの一部しか動いていない場合であっても、引き伸ばしモデル全体に対して色情報の計算を行うことになる。そこで、引き伸ばしモデルの各ピクセルについて移動量（速度）が０であれば、ステンシルバッファに１を書き込まない（０に初期化されたまま）ようにしてもよい。このようにすれば、モーションブラー処理の負荷を大幅に軽減することができる。
【００９７】
（４）変形例１
本実施形態において、１フレームの１／Ｎのサイズのベロシティマップを作成し、このベロシティマップを用いて原画像から色情報をサンプリングして色情報の計算を行い、最終画像を生成するようにしてもよい。
【００９８】
例えば、図６に示すように、原画像３００の４つのピクセル毎に１つの代表ピクセルを選択し、当該代表ピクセルの速度ベクトルを計算することで、１フレームの縦（ｎ１ピクセル）と横（ｎ２ピクセル）をそれぞれ１／２に縮小した（１フレームの１／４のサイズの）ベロシティマップ３１２を作成する。例えば、原画像３００において、座標が（２ａ１，２ｂ１）、（２ａ１＋１，２ｂ１）、（２ａ１，２ｂ１＋１）、（２ａ１＋１，２ｂ１＋１）の４つのピクセルについては、座標が（２ａ１，２ｂ１）のピクセルを代表ピクセルとして選択し、この代表ピクセルの速度ベクトルを計算してベロシティマップ３１２の座標（ａ１，ｂ１）に書き込むようにすればよい。
【００９９】
そして、各ピクセルに対して、ベロシティマップ３１２を用いて原画像３００から色情報をサンプリングして色情報を計算し、最終画像３２２を生成する。例えば、座標が（２ａ１，２ｂ１）、（２ａ１＋１，２ｂ１）、（２ａ１，２ｂ１＋１）、（２ａ１＋１，２ｂ１＋１）の４つのピクセルに対して、ベロシティマップ３１２の座標（ａ１，ｂ１）から速度ベクトルを読み出してそれぞれの色情報を計算し、最終画像３２２を生成する。
【０１００】
このようにすれば、速度ベクトルの計算回数を１／Ｎに減らせるとともに、ベロシティマップから速度ベクトルを読み出す回数も１／Ｎに減らすことができるので、モーションブラー処理を高速化することができる。
【０１０１】
（５）変形例２
本実施形態において、原画像を１／Ｎに縮小した画像と１フレームの１／Ｎのサイズのベロシティマップを作成し、このベロシティマップを用いて、縮小した画像から色情報をサンプリングして色情報の計算を行い、最終画像を生成するようにしてもよい。
【０１０２】
例えば、図７に示すように、原画像３００の４つのピクセル毎に１つの代表ピクセルを選択し、１フレームの縦（ｎ１ピクセル）と横（ｎ２ピクセル）をそれぞれ１／２に縮小した（１フレームの１／４のサイズの）画像３０２を作成する。例えば、原画像３００において、座標が（２ａ１，２ｂ１）、（２ａ１＋１，２ｂ１）、（２ａ１，２ｂ１＋１）、（２ａ１＋１，２ｂ１＋１）の４つのピクセルについては、座標が（２ａ１，２ｂ１）のピクセルを代表ピクセルとして選択し、画像３０２の座標（ａ１，ｂ１）に書き込むようにすればよい。
【０１０３】
そして、この縮小した画像３０２に対して、１フレームの１／４のサイズのベロシティマップ３１２を作成する。例えば、画像３０２の座標が（ａ１，ｂ１）のピクセルに対して、ベロシティマップ３１２の座標（ａ１，ｂ１）に速度ベクトルを書き込む。なお、縮小サイズのベロシティマップ３１２は、変形例１の手法により、原画像３００から直接的に作成するようにしてもよい。
【０１０４】
そして、各代表ピクセルに対してベロシティマップ３１２を用いて画像３０２から色情報を計算し、各代表ピクセルを代表として選択した４つのピクセルに対して同じ色情報を書き込むことで最終画像３２４を生成する。例えば、ベロシティマップ３１２の座標（ａ１，ｂ１）から速度ベクトルを読み出して、原画像３０２の座標が（ａ１，ｂ１）の代表ピクセルに対して色情報を計算し、座標が（２ａ１，２ｂ１）、（２ａ１＋１，２ｂ１）、（２ａ１，２ｂ１＋１）、（２ａ１＋１，２ｂ１＋１）の４つのピクセルに対して、計算した色情報を書き込むことで、最終画像３２４を生成する。
【０１０５】
このようにすれば、速度ベクトルの計算回数と色情報の計算回数をともに１／Ｎに減らせるとともに、ベロシティマップから速度ベクトルを読み出す回数と画像から色情報を読み出す回数もともに１／Ｎに減らすことができるので、モーションブラー処理を高速化することができる。
【０１０６】
（６）変形例３
本実施形態において、算出した色情報をベロシティマップに書き込まれた移動量（速度）に応じて変化させるようにしてもよい。例えば、移動量（速度）が大きいピクセルほど、算出した色情報を変化させる（算出した色情報と異なる色情報にする）ようにしてもよい。
【０１０７】
図３に示したベロシティマップ２１０では、キャラクタＣ１の右腕は、先端部分（右拳）に近いほど移動量（速度）が大きく、根元部分（右肩）に近いほど移動量（速度）が小さい。この場合、図８に示すように、例えば、キャラクタＣ１の右腕の先端部分（右拳）に近いピクセルほど、算出した色情報をより大きく変化させた画像２０４を生成するようにしてもよい。例えば、各ピクセルに対して、算出した色情報からＲ成分とＧ成分を移動量（速度）に応じた量だけ減らすようにすれば、移動量（速度）が小さいピクセルほどオリジナルの色に近く、移動量が大きいピクセルほど青色に近くなる（相対的にＢ成分の割合が大きくなる）モーションブラーを実現することができる。
【０１０８】
（７）変形例４
本実施形態において、引き伸ばしモデルの一部のピクセル（例えば、所与の模様の形状に配置されたピクセル）に対して、他の一部のピクセルと異なる演算処理を行って速度情報を算出するようにしてもよい。
【０１０９】
例えば、引き伸ばしモデルにおいて、一定間隔（例えば１行おき）で直線状に配置されたピクセルに対して速度を０とし、その他のピクセルに対しては速度情報を算出して図９に示すようなベロシティマップ２１４を作成するようにしてもよい。このベロシティマップ２１４を用いて各ピクセルの色情報を計算することで、例えば、図１０に示すように、キャラクタＣ１の右腕に規則的な直線が強調された画像２０４が得られる。
【０１１０】
このようにすれば、所与の模様の形状を浮き上がらせたマンガ的な視覚効果を有する画像を生成することができる。なお、描画する模様としては、規則的な直線の他にも、水玉模様、星模様、波線など様々な模様を考えることができる。
【０１１１】
（８）変形例５
本実施形態において、原画像においてオブジェクトをより簡易な形状の簡易モデルに置き換えた画像を生成し、この画像を用いてベロシティマップを作成するようにしてもよい。具体的には、原画像のオブジェクトをより簡易な形状の簡易モデルに置き換えた画像を用いて、簡易モデルの前回のフレームにおける位置情報と今回のフレームにおける位置情報に基づいて簡易モデルの引き伸ばしモデルを作成し、この引き伸ばしモデルの各ピクセルの各ピクセルに対して速度ベクトルを算出し、ベロシティマップを作成する。そして、原画像の各ピクセルに対して、このベロシティマップを用いて色情報を算出し、算出した色情報に更新することで最終画像が得られる。
【０１１２】
例えば、図１１に示すように、キャラクタＣ１、Ｃ２について、頭部と拳を円で表現しその他の部分を矩形で表現した簡易モデルをそれぞれ用意し、原画像においてキャラクタＣ１とＣ２を簡易モデルに置き換えた画像２２０を生成する。そして、この画像２２０を用いてベロシティマップを作成し、原画像の各ピクセルに対して色情報を計算するようにすればよい。
【０１１３】
このようにすれば、ベロシティマップの作成に要する処理負荷を軽減することができるので、モーションブラー処理を高速化することができる。
【０１１４】
（９）変形例６
本実施形態において、キャラクタオブジェクトだけでなく、エフェクトオブジェクトに対してもモーションブラーをかけるようにしてもよい。
【０１１５】
例えば、図１２に示すように、キャラクタＣ１が右の掌から液体Ｅ１（エフェクトオブジェクト）を放射した場合、キャラクタＣ１、Ｃ２だけでなく、液体Ｅ１（エフェクトオブジェクト）にもモーションブラーがかかった画像２０６を生成する。この画像２０６は、キャラクタＣ１、Ｃ２とともに液体Ｅ１もモーションブラー処理の対象として、図１３に示すようなベロシティマップ２１６を作成することで実現することができる。なお、液体以外にも、炎、光、煙などの様々なエフェクトオブジェクトを考えることができる。
【０１１６】
さらに、エフェクトオブジェクトがキャラクタオブジェクトにヒットした場合、エフェクトオブジェクトの属性情報（色、形状、模様、材質、光沢等）をさらに用いて、ヒットを受けたキャラクタオブジェクトの引き伸ばしモデルに含まれる各ピクセルの色情報を算出するようにしてもよい。
【０１１７】
例えば、図１２の画像では、キャラクタＣ２は液体Ｅ１によるヒットを受けている。この場合、例えば、液体Ｅ１が紫色であれば、ヒットを受けたキャラクタＣ２の引き伸ばしモデルの各ピクセルに対して色情報を算出する際、液体Ｅ１の色情報を加えることで紫が混ざった色情報を算出する。こうすることにより、キャラクタＣ２に、液体Ｅ１の色と連動して紫がかった色のモーションブラーをかけることができる。
【０１１８】
（１０）変形例７
本実施形態において、各ピクセルの速度情報を算出する際に、オブジェクトの所与の可動部に含まれるピクセルに対して、当該可動部の先端部分から根元部分に向かう方向に前記速度情報を徐々に大きくするようにしてもよい。
【０１１９】
このようにすれば、例えば、図１４に示すように、キャラクタＣ１の右腕（可動部）の先端部分（右拳）はブラーがほとんどかからず、右腕の根元部分（右肩）に近づくにつれてより強くなるブラー（軌跡のようなブラー）がかかった画像２０８を得ることができる。
【０１２０】
（１１）変形例８
本実施形態において、モーションブラー処理の対象となる各オブジェクトの状態に応じて、オブジェクト毎に移動量（速度）を増加又は減少させるようにしてもよい。
【０１２１】
例えば、図２に示した画像２００において、キャラクタＣ２が微妙に揺れながら立ち構えているのであればキャラクタＣ２の移動量（速度）を実際よりも小さくして弱めのブラーをかけるようにしてもよい。このようにすれば、立ち構えなどの待機ループモーションの状態のオブジェクトのボケ感を抑えた画像を生成することができる。また、例えば、キャラクタＣ１の攻撃がキャラクタＣ２にヒットしたのであれば、キャラクタＣ２の移動量（速度）を実際よりも大きくして強めのブラーをかけるようにしてもよい。
【０１２２】
図１５（Ａ）に示すように、オブジェクトＯＢ１が、今回のフレームの原画像３０６では実線で示す位置（頂点Ａ、Ｂ、Ｃの座標がそれぞれ（ｘ１，ｙ１）、（ｘ２，ｙ２）、（ｘ３，ｙ３））にあり、前回のフレームでは破線で示す位置（頂点Ａ、Ｂ、Ｃの座標がそれぞれ（ｘ４，ｙ４）、（ｘ５，ｙ５）、（ｘ６，ｙ６））にあった場合でも、移動方向に沿って現在の位置により近い一点鎖線で示す位置（頂点Ａ、Ｂ、Ｃの座標がそれぞれ（ｘ７，ｙ７）、（ｘ８，ｙ８）、（ｘ９，ｙ９））にあったものとしてオブジェクトＯＢ１の引き伸ばしモデルを作成して速度ベクトルを計算する。例えば、頂点Ａの速度ベクトルｖＡは、座標（ｘ１，ｙ１）を始点とし、座標（２ｘ１−ｘ７，２ｙ１−ｙ７）を終点とするベクトルになる。また、頂点Ｂの速度ベクトルｖＢは、座標（ｘ２，ｙ２）を始点とし、座標（２ｘ２−ｘ８，２ｙ２−ｙ８）を終点とするベクトルになる。また、頂点Ｃの速度ベクトルｖＣは、座標（ｘ３，ｙ３）を始点とし、座標（２ｘ３−ｘ９，２ｙ３−ｙ９）を終点とするベクトルになる。このようにして算出した速度ベクトルから、図１５（Ｂ）に示すようなベロシティマップ３１６が得られる。ベロシティマップ３１６では、引き伸ばしモデルに対応する領域（斜線領域）が実際よりも小さく、この領域のピクセルの移動量（速度）速度ベクトルも実際より小さい。従って、このベロシティマップ３１６を用いて色情報を算出することで、オブジェクトＯＢ１に通常よりも弱いブラーをかけることができる。逆に、オブジェクトＯＢ１の前回のフレームにおける位置を、移動方向に沿って破線で示す位置よりも現在の位置から遠い位置にあったものとしてベロシティマップを作成すれば、オブジェクトＯＢ１に通常よりも強いブラーをかけることができる。
【０１２３】
また、本実施形態において、モーションブラー処理の対象となる各オブジェクトの状態に応じて、オブジェクト毎にモーションブラー処理を停止するようにしてもよい。例えば、オブジェクトが所定の閾値以上の衝撃を受けた直後のフレームでは、当該衝撃を受けたオブジェクトについてはモーションブラー処理を停止するようにしてもよい。つまり、このオブジェクトについては引き伸ばしモデルを作成せずに速度ベクトルの算出処理を停止し、さらに色情報の算出処理も停止する。このようにすれば、オブジェクトが強い攻撃を受けた時にブラーがかかりすぎて画像が不鮮明になり過ぎるのを避けることができる。
【０１２４】
（１２）変形例９
本実施形態において、描画プロセッサの処理負荷に応じて、１フレーム全体に対してモーションブラー処理を停止するようにしてもよい。例えば、描画プロセッサの処理負荷が所定の閾値を越えたら、描画負荷が閾値を下回るまでモーションブラー処理を停止するようにしてもよい。このようにすれば、描画負荷が重すぎる場合はモーションブラー処理を停止して描画速度の低下を軽減することができる。
【０１２５】
また、本実施形態において、今回のフレームにおける仮想カメラの位置、向き及び画角の少なくとも１つの前回のフレームに対する変化量に応じて、今回のフレームではモーションブラー処理を停止するようにしてもよい。例えば、この変化量が所定の閾値よりも大きい場合、今回のフレームではモーションブラー処理を停止するようにしてもよい。このようにすれば、画面が大きく切り替わった直後の１フレームはフレーム全体に不要なブラーがかからないので、画像が不鮮明になるのを避けることができる。
【０１２６】
３．本実施形態の処理
図１６は、本実施形態のモーションブラー処理の一例を示すフローチャート図である。以下、本実施形態のモーションブラー処理の一例について図１６を用いて説明する。
【０１２７】
まず、ステンシルバッファを０に初期化し（ステップＳ１０）、今回のフレームの原画像を描画する（ステップＳ２０）。
【０１２８】
次に、ステップＳ２０で描画した原画像に含まれるオブジェクトがモーションブラー処理の対象となるオブジェクトか否かを判定し（ステップＳ３０）、処理対象のオブジェクトであれば（ステップＳ３０でＹの場合）、当該オブジェクトに含まれるポリゴンの各頂点の前回の座標を位置情報記憶部から読み出し、各頂点の前回の座標と今回の座標から、オブジェクトの移動軌跡を求めて引き伸ばしモデルを作成する（ステップＳ４０）。
【０１２９】
次に、各頂点の前回の座標と今回の座標から引き伸ばしモデルに含まれる各ピクセルの速度ベクトルを算出し、ベロシティマップに書き込む（ステップＳ５０）。
【０１３０】
次に、引き伸ばしモデルに含まれる各ピクセルに対してステンシルバッファに１を書き込む（ステップＳ６０）。
【０１３１】
次に、当該オブジェクトに含まれるポリゴンの各頂点の今回のフレームにおける座標を位置情報記憶部に書き込む（ステップＳ７０）。
【０１３２】
原画像に他のオブジェクトがあれば（ステップＳ８０でＹの場合）、当該オブジェクトに対してステップＳ３０〜Ｓ７０の処理を行う。
【０１３３】
そして、モーションブラー処理の対象となるすべてのオブジェクトについて、ステップＳ４０〜Ｓ７０の処理が終了すると（ステップＳ８０でＮの場合）、ステンシルバッファに１が書き込まれた各ピクセルに対して、ベロシティマップから速度ベクトルを読み出し、速度ベクトルに応じた位置にある複数のピクセルから色情報を算出する（ステップＳ９０）。
【０１３４】
最後に、ステップＳ２０で描画した今回のフレームの原画像を、算出した色情報に更新した画像を生成する（ステップＳ１００）。
【０１３５】
図１７は、変形例１のモーションブラー処理の一例を示すフローチャート図である。以下、変形例１のモーションブラー処理の一例について図１７を用いて説明する。
【０１３６】
まず、ステンシルバッファを０に初期化し（ステップＳ１０）、今回のフレームの原画像を描画する（ステップＳ２０）。
【０１３７】
次に、ステップＳ２０で描画した原画像に含まれるオブジェクトがモーションブラー処理の対象となるオブジェクトか否かを判定し（ステップＳ３０）、処理対象のオブジェクトであれば（ステップＳ３０でＹの場合）、当該オブジェクトに含まれるポリゴンの各頂点の前回の座標を位置情報記憶部から読み出し、各頂点の前回の座標と今回の座標から、オブジェクトの移動軌跡を求めて引き伸ばしモデルを作成する（ステップＳ４０）。
【０１３８】
次に、今回のフレーム画像のＮ個のピクセル毎に１つの代表ピクセルを選択し、引き伸ばしモデルに含まれる代表ピクセルの速度ベクトルを算出して１フレームの１／Ｎのサイズのベロシティマップに書き込む（ステップＳ５２）。
【０１３９】
次に、引き伸ばしモデルに含まれる各代表ピクセルに対して１フレームの１／Ｎのサイズのステンシルバッファに１を書き込む（ステップＳ６２）。
【０１４０】
次に、当該オブジェクトに含まれるポリゴンの各頂点の今回のフレームにおける座標を位置情報記憶部に書き込む（ステップＳ７０）。
【０１４１】
原画像に他のオブジェクトがあれば（ステップＳ８０でＹの場合）、当該オブジェクトに対してステップＳ３０〜Ｓ７０の処理を行う。
【０１４２】
そして、モーションブラー処理の対象となるすべてのオブジェクトについて、ステップＳ４０〜Ｓ７０の処理が終了すると（ステップＳ８０でＮの場合）、ステンシルバッファに１が書き込まれた各代表ピクセルに対してベロシティマップから速度ベクトルを読み出し、各代表ピクセルにより代表されるＮ個のピクセルの各々に対して当該速度ベクトルに応じた位置にある複数のピクセルから色情報を算出する（ステップＳ９２）。
【０１４３】
最後に、ステップＳ２０で描画した今回のフレームの原画像を、算出した色情報に更新した画像を生成する（ステップＳ１００）。
【０１４４】
図１８は、変形例２のモーションブラー処理の一例を示すフローチャート図である。以下、変形例２のモーションブラー処理の一例について図１８を用いて説明する。
【０１４５】
まず、ステンシルバッファを０に初期化し（ステップＳ１０）、今回のフレームの原画像を描画する（ステップＳ２０）。
【０１４６】
次に、ステップＳ２０で描画した原画像を、Ｎ個のピクセル毎に１つの代表ピクセルを選択して１／Ｎのサイズに縮小した画像を生成する（ステップＳ２２）。
【０１４７】
次に、ステップＳ２２で生成した縮小画像に含まれるオブジェクトがモーションブラー処理の対象となるオブジェクトか否かを判定し（ステップＳ３０）、処理対象のオブジェクトであれば（ステップＳ３０でＹの場合）、当該オブジェクトに含まれるポリゴンの各頂点の前回の座標を位置情報記憶部から読み出し、各頂点の前回の座標と今回の座標から、オブジェクトの移動軌跡を求めて引き伸ばしモデルを作成する（ステップＳ４０）。
【０１４８】
次に、引き伸ばしモデルに含まれる代表ピクセルの速度ベクトルを算出して１フレームの１／Ｎのサイズのベロシティマップに書き込む（ステップＳ５２）。
【０１４９】
次に、引き伸ばしモデルに含まれる各代表ピクセルに対して１フレームの１／Ｎのサイズのステンシルバッファに１を書き込む（ステップＳ６２）。
【０１５０】
次に、当該オブジェクトに含まれるポリゴンの各頂点の今回のフレームにおける座標を位置情報記憶部に書き込む（ステップＳ７０）。
【０１５１】
縮小画像に他のオブジェクトがあれば（ステップＳ８０でＹの場合）、当該オブジェクトに対してステップＳ３０〜Ｓ７０の処理を行う。
【０１５２】
そして、モーションブラー処理の対象となるすべてのオブジェクトについて、ステップＳ４０〜Ｓ７０の処理が終了すると（ステップＳ８０でＮの場合）、ステンシルバッファに１が書き込まれた各代表ピクセルに対して、ベロシティマップから速度ベクトルを読み出して速度ベクトルに応じた位置にある複数のピクセルから色情報を算出し、算出した各々の代表ピクセルの色情報を当該代表ピクセルにより代表されるＮ個のピクセルに設定する（ステップＳ９４）。
【０１５３】
最後に、ステップＳ２０で描画した今回のフレームの原画像を、算出した色情報に更新した画像を生成する（ステップＳ１００）。
【０１５４】
図１９は、変形例８のモーションブラー処理において、キャラクタオブジェクトにかけるブラーの強弱又はオフを選択する処理の一例を示すフローチャート図である。以下、この選択処理の一例について図１９を用いて説明する。
【０１５５】
まず、キャラクタが立ち構え状態か否かを判定し（ステップＳ１１０）、立ち構え状態であれば（ステップＳ１１０でＹの場合）、当該キャラクタに対して弱めのモーションブラーをかける（ステップＳ１１２）。
【０１５６】
一方、キャラクタが立ち構え状態でなければ（ステップＳ１１０でＮの場合）、キャラクタがヒットされた直後のフレームか否かを判定し（ステップＳ１２０）、ヒットされた直後のフレームでなければ（ステップＳ１２０でＮの場合）、当該キャラクタに対して通常のモーションブラーをかける（ステップＳ１２２）。
【０１５７】
一方、キャラクタがヒットされた直後のフレームであれば（ステップＳ１２０でＹの場合）、キャラクタが受けた衝撃が閾値以上であるか否かを判定し（ステップＳ１３０）、閾値以上であれば（ステップＳ１３０でＹの場合）、当該キャラクタに対してモーションブラーをオフにする（ステップＳ１３２）。
【０１５８】
一方、キャラクタが受けた衝撃が閾値未満であれば（ステップＳ１３０でＮの場合）、
当該キャラクタに対して強めのモーションブラーをかける（ステップＳ１３４）。
【０１５９】
図２０は、変形例９のモーションブラー処理において、１フレーム全体に対してモーションブラー処理を停止するか否かを選択する処理の一例を示すフローチャート図である。以下、この選択処理の一例について図２０を用いて説明する。
【０１６０】
すべてのフレームの描画処理が終了でなければ（ステップＳ２１０でＮの場合）、まず、描画プロセッサの処理負荷が閾値以上であるか否かを判定し（ステップＳ２２０）、閾値以上であれば（ステップＳ２２０でＹの場合）、フレーム全体に対してモーションブラーをオフにする（ステップＳ２４０）。
【０１６１】
一方、描画プロセッサの処理負荷が閾値未満であれば（ステップＳ２２０でＮの場合）、仮想カメラの位置の変化量が閾値以上か否かを判定し（ステップＳ２３２）、閾値以上であれば（ステップＳ２３２でＹの場合）、フレーム全体に対してモーションブラーをオフにする（ステップＳ２４０）。
【０１６２】
一方、仮想カメラの位置の変化量が閾値未満であれば（ステップＳ２３２でＮの場合）、仮想カメラの向きの変化量が閾値以上か否かを判定し（ステップＳ２３４）、閾値以上であれば（ステップＳ２３４でＹの場合）、フレーム全体に対してモーションブラーをオフにする（ステップＳ２４０）。
【０１６３】
一方、仮想カメラの向きの変化量が閾値未満であれば（ステップＳ２３４でＮの場合）、仮想カメラの画角の変化量が閾値以上か否かを判定し（ステップＳ２３６）、閾値以上であれば（ステップＳ２３６でＹの場合）、フレーム全体に対してモーションブラーをオフにする（ステップＳ２４０）。
【０１６４】
一方、仮想カメラの画角の変化量が閾値未満であれば（ステップＳ２３６でＮの場合）、フレーム全体に対してモーションブラーをオンにする（ステップＳ２４２）。
【０１６５】
４．ハードウェア構成
次に、図２１を用いて本実施形態を実現できるハードウェア構成について説明する。なお、図２１は、本実施形態を実現できるハードウェア構成を示す一例である。
【０１６６】
メインプロセッサ９００は、ＤＶＤ９８２（情報記憶媒体。ＣＤでもよい。）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。
【０１６７】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１６８】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１６９】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。
【０１７０】
また、この描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【０１７１】
なお、上記各プロセッサの各機能は、ハードウェアとして別々のプロセッサにより実現してもよいし、１つのプロセッサにより実現してもよい。また、プロセッサとしてＣＰＵとＧＰＵを設けた場合でも、いずれのプロセッサによりいかなる機能を実現するかは、任意に設定することができる。
【０１７２】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１７３】
ＲＯＭ９５０には、システムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。
【０１７４】
ＲＡＭ９６０は、各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１７５】
なお、本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１７６】
そして、本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１７７】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１７８】
例えば、本実施形態では、色情報の計算を２回行っているが、例えば、２回目の計算で得られた色情報をテクスチャに書き込み、当該テクスチャから、２回目の計算時にサンプリングした複数の色情報のうちの直近の２つの色情報の間にある複数の色情報をサンプリングして３回目の色情報の計算を行うようにしてもよい。同様に色情報の計算を４回以上行うようにしてもよい。
【０１７９】
本発明は、実施の形態で説明した構成と実質的に同一の構成（例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成）を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
【符号の説明】
【０１８０】
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、１１４  仮想カメラ制御部、１１６  ヒット判定部１１６、１２０  描画部、１２１  原画像生成部、１２２  位置情報記憶部、１２３  速度情報算出部、１２４  色情報算出部、１２５  フレーム画像生成部、１２６  縮小画像生成部、１２７  簡易モデル画像生成部、１３０  音生成部、１６０  操作部、１７０  記憶部、１７２  主記憶部、１７４  描画バッファ、１７６  オブジェクトデータ記憶部、１７８  テクスチャ記憶部、１７９  Ｚバッファ、１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、１９６  通信部、２００，２０４，２０６，２０８  画像、２１０，２１４，２１６  ベロシティマップ、２２０  画像、３００，３０２，３０６  原画像、３１０，３１２，３１６  ベロシティマップ、３２０  色情報テクスチャ、３２２，３２４  画像
【図１】
2011215724.tif 000003
【図４】
2011215724.tif 000004
【図１１】
2011215724.tif 000005
【図１５】
2011215724.tif 000006
【図１６】
2011215724.tif 000007
【図１７】
2011215724.tif 000008
【図１８】
2011215724.tif 000009
【図１９】
2011215724.tif 000010
【図２０】
2011215724.tif 000011
【図２１】
2011215724.tif 000012
【図２】
2011215724.tif 000013
【図３】
2011215724.tif 000014
【図５】
2011215724.tif 000015
【図６】
2011215724.tif 000016
【図７】
2011215724.tif 000017
【図８】
2011215724.tif 000018
【図９】
2011215724.tif 000019
【図１０】
2011215724.tif 000020
【図１２】
2011215724.tif 000021
【図１３】
2011215724.tif 000022
【図１４】
2011215724.tif 000023