(57)【要約】【課題】  元画像の質感を損なわずに、元画像に画像エフェクトを施した画像を生成することができるプログラム、情報記憶媒体及び画像生成システムを提供する。【解決手段】  元画像の画像情報を利用して、元画像とエフェクト画像とを合成する際のα値を設定する。元画像をグレースケール変換して、グレースケール画像のピクセルの輝度値に基づいて、α値を設定する。元画像をグレースケール変換する際には、カラールックアップテーブルを用いて、ピクセルの色をグレースケール変換する。【選択図】      図６
2006252426.tif 000002
【特許請求の範囲】
【請求項１】
画像を生成するためのプログラムであって、
オブジェクト空間を所与の視点から見た視界画像について元画像と該元画像に対応するエフェクト画像とを描画する描画部と、
前記元画像をグレースケール画像に変換するグレースケール変換部と、
前記元画像から変換されたグレースケール画像の各ピクセルの色情報に基づいてα値を設定するα値設定部と、
前記元画像と前記エフェクト画像とを前記α値に応じてαブレンディングするαブレンディング部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記α値設定部が、
前記元画像から変換されたグレースケール画像の各ピクセルの輝度値に基づいてガンマ補正を行った値を前記α値として設定することを特徴とするプログラム。
【請求項３】
請求項１または２において、
前記α値設定部が、
前記元画像から変換されたグレースケール画像の各ピクセルの輝度値が低いほど、値が大きくなるように前記α値を設定することを特徴とするプログラム。
【請求項４】
請求項１〜３のいずれかにおいて、
透視変換されたオブジェクトの各頂点についての頂点スクリーン座標と、該オブジェクトに対して設定される基準点についての基準点スクリーン座標とを取得するスクリーン座標取得部と、
取得された前記頂点スクリーン座標と前記基準点スクリーン座標との差分処理を行って、前記オブジェクトの各頂点についてテクスチャ座標を求めるテクスチャ座標演算部と、
求められた前記テクスチャ座標に基づいて、エフェクト表現用テクスチャを前記オブジェクトにマッピングするテクスチャマッピング部として、
コンピュータを機能させ、
前記描画部が、
前記エフェクト表現用テクスチャがマッピングされたオブジェクトを含む前記エフェクト画像を所与の記憶バッファに描画することを特徴とするプログラム。
【請求項５】
請求項４において、
前記エフェクト画像の各ピクセルは、所与の基準色を分布中心とした色分布で描画されており、
前記αブレンディング部が、
前記エフェクト画像における前記基準色より明るい色のピクセルについては、該ピクセルの色と前記基準色との差分に相当する色情報が、元画像の対応ピクセルの色情報に所与のα値に応じて加算される加算αブレンディングと、
前記エフェクト画像における前記基準色より暗い色のピクセルについては、該ピクセルの色と基準色との差分に相当する色情報が、元画像の対応ピクセルの色情報から所与のα値に応じて減算される減算αブレンディングと、
を行うことを特徴とするプログラム。
【請求項６】
コンピュータにより読取可能な情報記憶媒体であって、請求項１〜５のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
【請求項７】
画像を生成するための画像生成システムであって、
オブジェクト空間を所与の視点から見た視界画像について元画像と該元画像に対応するエフェクト画像とを描画する描画部と、
前記元画像をグレースケール画像に変換するグレースケール変換部と、
前記元画像から変換されたグレースケール画像の各ピクセルの色情報に基づいてα値を設定するα値設定部と、
前記元画像と前記エフェクト画像とを前記α値に応じてαブレンディングするαブレンディング部と、
を含むことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関係する。
【背景技術】
【０００２】
従来より、仮想的な３次元空間であるオブジェクト空間内において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。ロールプレイングゲーム（ＲＰＧ）を楽しむことができる画像生成システムを例にとれば、プレーヤは、自身の分身であるキャラクタ（オブジェクト）を操作してオブジェクト空間内のマップ上で移動させ、敵キャラクタと対戦したり、他のキャラクタと対話したり、様々な町を町を訪れたりすることでゲームを楽しむ。
【０００３】
さて、このような画像生成システムでは、陰影（シェード）や影（シャドウ）などのエフェクトを施すことにより画像に立体感を与える表現手法が用いられている。例えば、視界画像に通常のテクスチャマッピングを施した元画像と元画像に対応する陰影表現用のエフェクト画像とを合成（ブレンディング）して立体感を与える手法がある。このような画像を合成する表現手法では、元画像とエフェクト画像とを単純に合成しただけでは、エフェクト画像の色の影響が元画像の全体に強く表れてしまい、元画像の質感を損なってしまう。特に、スクリーントーンと呼ばれる漫画やアニメーション等で用いられているパターン（例えば、メッシュ、グリッド、ハッチングなど。）を表すパターン画像をエフェクト表現用のテクスチャとして用いる場合には、その傾向が強くなる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、上記事情に鑑みてなされたものであり、その目的は、元画像の質感を損なわずに、元画像に画像エフェクトを施した画像を生成することができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００５】
本発明は、画像を生成するためのプログラムであって、オブジェクト空間を所与の視点から見た視界画像について元画像と該元画像に対応するエフェクト画像とを描画する描画部と、前記元画像をグレースケール画像に変換するグレースケール変換部と、前記元画像から変換されたグレースケール画像の各ピクセルの色情報に基づいてα値を設定するα値設定部と、前記元画像と前記エフェクト画像とを前記α値に応じてαブレンディングするαブレンディング部と、を含む画像生成システムに関係する。また、本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００６】
本発明によれば、元画像がグレースケール変換されて、元画像の暗いところと明るいところに応じたα値が設定される。このため、例えば、元画像の暗いところほど、画像エフェクトの効果がはっきりと出るように元画像とエフェクト画像とを合成して、水彩調の絵画に特有の色にじみなどの特性を持った陰影表現を行うことができる。
【０００７】
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記α値設定部が、前記元画像から変換されたグレースケール画像の各ピクセルの輝度値に基づいてガンマ補正を行った値を前記α値として設定するようにしてもよい。このようにすれば、画像エフェクトを付加したことによる元画像の質感や色バランスを調節することができ、例えば、画像エフェクトが付加された部分と、画像エフェクトが付加されていない部分とにおいてコントラストが強くなりすぎることを防ぐことができる。
【０００８】
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記α値設定部が、前記元画像から変換されたグレースケール画像の各ピクセルの輝度値が低いほど、値が大きくなるように前記α値を設定するようにしてもよい。このようにすれば、元画像において暗い部分ほど画像エフェクトの影響を強くすることができる。
【０００９】
また本発明の画像生成システムでは、透視変換されたオブジェクトの各頂点についての頂点スクリーン座標と、該オブジェクトに対して設定される基準点についての基準点スクリーン座標とを取得するスクリーン座標取得部と、取得された前記頂点スクリーン座標と前記基準点スクリーン座標との差分処理を行って、前記オブジェクトの各頂点についてテクスチャ座標を求めるテクスチャ座標演算部と、求められた前記テクスチャ座標に基づいて、エフェクト表現用テクスチャを前記オブジェクトにマッピングするテクスチャマッピング部と、を含み、前記描画部が、前記エフェクト表現用テクスチャがマッピングされたオブジェクトを含む前記エフェクト画像を所与の記憶バッファに描画するようにしてもよい。また本発明のプログラム及び情報記憶媒体では、上記スクリーン座標取得部、テクスチャ座標演算部、テクスチャマッピング部、及び描画部としてコンピュータを機能させるようにしてもよい。このようにすれば、視点やオブジェクトが移動した場合であっても、これらの移動に追従するようにテクスチャ座標が求められる。従って、カメラやオブジェクトの移動による不自然さが生じにくい高品質な画像を生成することができ、例えば、手書き調の画像において高品質な陰影表現を実現することができるようになる。なお、オブジェクトは、１のプリミティブであってもよいし、複数のプリミティブからなるパーツオブジェクトであってもよいし、さらに複数のパーツオブジェクトからなるモデルオブジェクトであってもよい。
【００１０】
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記エフェクト画像の各ピクセルは、所与の基準色を分布中心とした色分布で描画されており、前記αブレンディング部が、前記エフェクト画像における前記基準色より明るい色のピクセルについては、該ピクセルの色と前記基準色との差分に相当する色情報が、元画像の対応ピクセルの色情報に所与のα値に応じて加算される加算αブレンディングと、前記エフェクト画像における前記基準色より暗い色のピクセルについては、該ピクセルの色と基準色との差分に相当する色情報が、元画像の対応ピクセルの色情報から所与のα値に応じて減算される減算αブレンディングと、を行うようにしてもよい。このようにすれば、一枚の元画像に対して基準色との差分に応じて明るくなる部分と暗くなる部分が生じるため、画像合成によるフィルタリング効果が一方向に偏らずに元画像の質感を損なわずして画像エフェクトを付加することができるようになる。
【発明を実施するための最良の形態】
【００１１】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００１２】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００１３】
操作部１６０は、プレーヤがプレーヤオブジェクト（プレーヤが操作するプレーヤキャラクタ）の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００１４】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００１５】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００１６】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００１７】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００１８】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００１９】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、スクリーン座標取得部１１６、テクスチャ座標演算部１１８、画像生成部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００２０】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるパーツオブジェクト、あるいは複数のパーツオブジェクトで構成されるモデルオブジェクトなど）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００２１】
移動・動作処理部１１２は、オブジェクト（キャラクタ、車、又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００２２】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００２３】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００２４】
スクリーン座標取得部１１６は、オブジェクトにエフェクト表現用テクスチャ（陰影テクスチャ、パターン画像）をマッピングするためのテクスチャ座標（Ｕ，Ｖ座標）に変換されるスクリーン座標（Ｘ，Ｙ座標）を取得する処理を行う。具体的には、ジオメトリ処理された（スクリーン座標系への透視投影により座標変換された）オブジェクトの各頂点のスクリーン座標を、頂点スクリーン座標として取得する。
【００２５】
テクスチャ座標演算部１１８は、オブジェクトにマッピングされるテクスチャのテクスチャ座標を求める処理を行う。具体的には、スクリーン座標取得部１１６において取得された頂点スクリーン座標と基準点スクリーン座標とについて差分処理を行って、エフェクト表現用テクスチャのマッピング対象となるオブジェクトの各頂点についてテクスチャ座標を求める。基準点スクリーン座標は、オブジェクト（モデルオブジェクトあるいはパーツオブジェクト）ごとに設定された基準点のスクリーン座標である。オブジェクトを構成する頂点の一つを基準点として設定してもよい。
【００２６】
またテクスチャ座標演算部１１８は、オブジェクトの各頂点と前記基準点とのカメラ座標系（視点座標系）またはスクリーン座標系における奥行き方向の距離差に応じてテクスチャ座標を補正する処理を行う。具体的には、基準点から奥行き方向の距離が近い頂点ほど補正量（補正度合い）が小さくなり、基準点から奥行き方向の距離が遠い頂点ほど補正量が大きくなるように、テクスチャ座標について補正演算を行う。この場合、頂点と基準点との間の奥行き方向の距離差を考慮するためにパースペクティブ除算値を用いることができ、例えばオブジェクトの各頂点のパースペクティブ除算値と基準点のパースペクティブ除算値との比に基づいてテクスチャ座標を補正することができる。
【００２７】
またテクスチャ座標演算部１１８は、ランダムまたは周期的に変化する動き補正値（変数）を、テクスチャ座標に対して加算処理してエフェクト表現用テクスチャをマッピングするためのテクスチャ座標を変化させる処理を行う。
【００２８】
またテクスチャ座標演算部１１８は、テクスチャ座標に対して、オブジェクトの各頂点についての法線ベクトル情報（ノーマルベクトル情報）の加算または減算処理をする形状補正処理を行う。例えばカメラ座標系又はスクリーン座標系でのオブジェクトの各頂点の法線ベクトル（面の向きを表す法線ベクトル。オブジェクトの頂点に設定された法線ベクトル）の座標成分（Ｘ，Ｙ座標成分）を絶対値化（例えば、値域（−１．０〜１．０）が値域（０．０〜１．０）になる）して、その絶対値に対して所与の補正係数を乗算処理したものを法線ベクトル情報とすることができる。なお、スクリーン座標系での法線ベクトルの座標成分を用いる場合には、透視変換後の法線ベクトルの長さを単位ベクトル化することが望ましい。このように法線ベクトルの座標成分を絶対値化しておけば、補正係数の符号の正負によって加算あるいは減算処理を行わせることができ、形状補正の度合いを簡便に制御することができるようになる。
【００２９】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（オブジェクトデータ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を描画バッファ１７４（フレームバッファ、中間バッファ等。ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように生成する。
【００３０】
画像生成部１２０は、ジオメトリ処理部１２１、テクスチャマッピング部１２２、グレースケール変換部１２３、α値設定部１２４、αブレンディング部１２５、描画部１２６を含む。
【００３１】
ジオメトリ処理部１２１は、オブジェクトに対してジオメトリ処理を行う。より具体的には、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理を行う。そして、ジオメトリ処理後（透視変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ、法線ベクトル、或いはα値等）は、主記憶部１７２に保存される。
【００３２】
テクスチャマッピング部１２２は、テクスチャ記憶部１７８に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理を行う。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いてテクスチャ記憶部１７８からテクスチャ（色、α値などの表面プロパティ）を読み出す。そして、２次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間（テクセル補間）などを行う。
【００３３】
グレースケール変換部１２３は、元画像をグレースケール画像に変換する処理を行う。例えば、ルックアップテーブル記憶部１７６に記憶されたカラールックアップテーブル（ＣＬＵＴ；Color  Look  Up  Table）を用いた画像情報の変換処理により元画像をグレースケール画像に変換することができる。具体的には、各色に対するグレースケール変換色とインデックス番号とを対応づけたカラールックアップテーブルを用意し、インデックス番号に基づいて各ピクセルの色を変換する。各ピクセルの色（Ｒ，Ｇ，Ｂ）は、下式（１）に従って、グレースケール変換される。
【００３４】
ｇ＝０．２９９＊Ｒ＋０．５８７＊Ｇ＋０．１１４＊Ｂ      （１）
（「ｇ」はグレースケール画像（ｇ，ｇ，ｇ）を構成するピクセルの輝度値）
α値設定部１２４は、グレースケール変換部１２３で変換された元画像のグレースケール画像の色情報に基づき、元画像とエフェクト画像とをαブレンディングするためのα値を設定する処理を行う。具体的には、元画像から変換されたグレースケール画像を構成する各ピクセルの輝度値についてガンマ補正（広義には、べき乗補正）を行った値をα値として設定することができる。ガンマ補正では、例えば、Gamma2.2補正（値を２．２乗する補正）をすることができる。またα値は、元画像から変換されたグレースケール画像において輝度値の高い部分については、α値が小さくなり、輝度値の低い部分については、α値が大きくなるようにα値を設定することができる。すなわち、元画像のうち明るい部分についてはα値が小さくなり、元画像のうち暗い部分についてはα値が大きくなるようにα値を設定することができる。このようにすれば、エフェクト表現用テクスチャを用いて陰影表現を行う場合などに、元画像の暗い部分ほどパターンが強調されて、水彩調の絵画に特有の自然な色のにじみを表現することができる。α値は、例えば、Gamma2.2式に基づいて補正した場合には、下式（２）に従って設定することができる。なお、「ｇ」は、先に述べたグレースケール画像を構成するピクセルの輝度値である。また輝度値は、０〜１の範囲で指定するものと仮定する。すなわち０が輝度値の最小値であり、１が輝度値の最大値である。そして「１−ｇ」は、輝度値の最大値“１”からグレースケール画像のピクセルの輝度値“ｇ”を減算した値である。以下においても同様である。
【００３５】
α＝（１−ｇ）＾２．２      （２）
αブレンディング部１２５はα値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）を行う。例えば通常αブレンディングの場合には下式（３）〜（５）の処理を行う。
【００３６】
ＲＱ＝（１−α）×Ｒ１＋α×Ｒ２    （３）
ＧＱ＝（１−α）×Ｇ１＋α×Ｇ２    （４）
ＢＱ＝（１−α）×Ｂ１＋α×Ｂ２    （５）
また、加算αブレンディングの場合には下式（６）〜（８）の処理を行う。
【００３７】
ＲＱ＝Ｒ１＋α×Ｒ２                （６）
ＧＱ＝Ｇ１＋α×Ｇ２                （７）
ＢＱ＝Ｂ１＋α×Ｂ２                （８）
また、減算αブレンディングの場合には下式（９）〜（１１）の処理を行う。
【００３８】
ＲＱ＝Ｒ１−α×Ｒ２                （９）
ＧＱ＝Ｇ１−α×Ｇ２                （１０）
ＢＱ＝Ｂ１−α×Ｂ２                （１１）
ここで、Ｒ１、Ｇ１、Ｂ１は、描画バッファ１７４に既に描画されている画像（元画像）のＲＧＢ成分であり、Ｒ２、Ｇ２、Ｂ２は、描画バッファ１７４に描画すべき画像（エフェクト画像）のＲＧＢ成分である。また、ＲＱ、ＧＱ、ＢＱは、αブレンディングにより得られる画像のＲＧＢ成分である。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００３９】
またαブレンディング部１２５は、通常のテクスチャがマッピングされた画像（元画像）とエフェクト表現用テクスチャがマッピングされた画像（エフェクト画像）とをαブレンディングする処理を行う。
【００４０】
具体的には、まずエフェクト画像を構成するピクセルの輝度値から所定の色を基準色として、基準色で作成された基準色画像を構成するピクセルの輝度値を減算する第１の差分抽出ブレンディングをした第１の色差分画像と、基準色画像を構成するピクセルの輝度値からエフェクト画像を構成するピクセルの輝度値を減算する第２の差分抽出ブレンディングをした第２の色差分画像とを作成する。そして、元画像と第１の色差分画像とを加算αブレンディングし、加算αブレンディング後の画像から第２の色差分画像を減算αブレンディングすることにより、元画像とエフェクト画像とを合成する。すなわち、エフェクト画像において、基準色より明るい色のピクセルについては色情報が加算され、基準色より暗い色のピクセルについては色情報が減算されることになる。これにより、エフェクト表現用テクスチャのパターンの影響が元画像の各色成分に強く出過ぎず、手書き調の絵の質感を表現することができる。またこのようにすれば、オブジェクト毎の光源計算を厳密に行わなくても光源計算が行われているような質感を元画像に付与することができる。
【００４１】
この場合においては、基準色として、各色成分の輝度値が等しくかつ、輝度値が設定しうる最大値と最小値との中間の値となる中間色（例えばグレー。（Ｒ，Ｇ，Ｂ）＝（０．５，０．５，０．５））を用いることができる。このような中間色を基準色として設定しておけば、明るい部分と暗い部分とについてバランスよく差分を抽出することができる。
【００４２】
描画部１２６は、オブジェクトの描画処理を行う。具体的には、ジオメトリ処理により作成された描画データ（プリミティブ面データ）に基づいて、透視変換後（スクリーン座標変換後）のオブジェクト（１又は複数のプリミティブ面）を描画バッファ１７４（フレームバッファ、ワークバッファ（中間バッファ）等）に描画する。これにより、オブジェクト空間内において仮想カメラから見える画像を生成する。描画部１２６は、オブジェクトに対して通常のテクスチャをマッピングした元画像をフレームバッファに描画し、元画像に対して画像エフェクトを付加するために、オブジェクトに対してエフェクト表現用テクスチャをマッピングしたエフェクト画像をワークバッファ等のフレームバッファとは異なる記憶バッファに描画する。なおエフェクト画像は、エフェクト画像を描画するための専用の記憶バッファに描画してもよい。
【００４３】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００４４】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００４５】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。なお以下では、オブジェクトの陰影を表現する際に本実施形態の手法を採用した場合について主に説明するが、本実施形態の手法は、このような陰影の表現のみならず、種々の画像表現に適用できる。
【００４６】
２．１  元画像とエフェクト画像との合成手法
本実施形態では、図２に示すように、オブジェクト空間を仮想カメラＶＣ（所与の視点）から見た視界画像についての元画像と元画像に対応する画像であって、元画像に陰影（シェード）や影（シャドウ）等の画像エフェクトを付加するためのエフェクト画像（陰影画像、影画像）とをαブレンディング（半透明合成）を用いて合成する。すなわち、元画像とエフェクト画像とのαブレンディングによって視界に入るオブジェクトＯＢについてシェーディングやシャドウイング等の画像エフェクトを付加する処理を行う。
【００４７】
本実施形態では画像を合成する際に行われるαブレンディングの手法に特徴を有し、エフェクト画像を構成するピクセルの色が基準色（所与の色）より明るいか暗いかに応じて、加算αブレンディングと減算αブレンディングとを切り替えて行う。具体的には、エフェクト画像における基準色より明るい色のピクセルについては、ピクセルの色と基準色との差分に相当する色情報（広義には、第１の色差分情報）が、元画像の対応ピクセルの色情報にα値に応じて加算される加算αブレンディングを行う。また、エフェクト画像における基準色より暗い色のピクセルについては、ピクセルの色と基準色との差分に相当する色情報（広義には、第２の色差分情報）が、元画像の対応ピクセルの色情報からα値に応じて減算される減算αブレンディングを行う。このように、基準色に対する明暗に応じて加算αブレンディングと減算αブレンディングとを切り替えて行うことにより、元画像の質感を維持したまま画像エフェクトを元画像に付加することができる。
【００４８】
また本実施形態では、エフェクト画像を構成するピクセルの色と基準色との差分を抽出するために、エフェクト画像が基準色を分布中心とした色分布で作成されている。例えば、図３（Ａ）に示すように、各色成分の輝度値の分布においてピクセル数が多くなる輝度値の色が基準色となるような色分布で作成される。なお、エフェクト画像の色分布の分布中心となる基準色は、図３（Ｂ）に示すように、採りうる輝度の中間値に対して低輝度側に設定されていてもよいし、図３（Ｃ）に示すように、採りうる輝度の中間値に対して高輝度側に設定されていてもよい。
【００４９】
基準色は、色を構成する各色成分（Ｒ、Ｇ、Ｂ）の輝度値が、同じ値に設定されていてもよく、また色を構成する各色成分の輝度値が、元画像のピクセルの各色成分について設定可能な輝度値の最小値と最大値との中間値に設定されていてもよい。例えば、基準色は、グレー（中間色）に設定されていてもよい。基準色をグレーに設定しておけば、基準色より明るい分と暗い分とからバランスよく色情報の差分を抽出することができる。なお基準色は、グレーであることが必ずしも必要であるわけではなく、所定の色（任意の色）であればよい。また基準色は、各色成分の輝度値が同じ値であることは必要ない。
【００５０】
またエフェクト画像のピクセルの色と基準色との差分を抽出するために、本実施形態では、基準色のみで描画された基準色画像を用意する。基準色画像は、表示画面サイズ、表示画面を分割した分割画面サイズあるいはモデルオブジェクトに対応したサイズ（モデルサイズ）のポリゴン（スプライト）を基準色で塗りつぶしたものによって作成しておくことができる。
【００５１】
そして、図４（Ａ）に示すように、基準色画像のピクセルの色成分に対するエフェクト画像のピクセルの色成分の差分を減算αブレンディングにより抽出する。
【００５２】
具体的には、基準色より明るい色成分の差分を抽出する第１の差分抽出（第１の差分抽出ブレンディング）は、エフェクト画像Ｐｉｃ（Ｅｆｆ）を構成するピクセルの色の輝度値から基準色画像Ｐｉｃ（Ｓｔｄ）を構成するピクセルの色（基準色）の輝度値を減算することによって行い、下式（１Ａ）に従って第１の色差分画像Ｐｉｃ（Ｂｒｔ）が作成される。
【００５３】
Ｐｉｃ（Ｂｒｔ）＝Ｐｉｃ（Ｅｆｆ）−Ｐｉｃ（Ｓｔｄ）      （１Ａ）
この第１の差分抽出では、図４（Ｂ）に示すように、基準色より明るい色（基準色より輝度の高い色）で塗られたピクセルについての色差分情報（第１の色差分情報）のみが得られる。すなわち、基準色より暗い色（基準色より輝度の低い色）で塗られたピクセルについては、所与の値（例えば、０；最小の輝度値）にクランプされる。
【００５４】
また基準色より暗い色成分の差分抽出（第２の差分抽出ブレンディング）は、基準色画像Ｐｉｃ（Ｓｔｄ）を構成するピクセルの色（基準色）の輝度値からエフェクト画像Ｐｉｃ（Ｅｆｆ）を構成するピクセルの色の輝度値を減算することによって行い、下式（２Ａ）に従って第２の色差分画像Ｐｉｃ（Ｄｒｋ）が作成される。
【００５５】
Ｐｉｃ（Ｄｒｋ）＝Ｐｉｃ（Ｓｔｄ）−Ｐｉｃ（Ｅｆｆ）      （２Ａ）
そして本実施の形態では、Ｐｉｃ（Ｂｒｔ）とＰｉｃ（Ｄｒｋ）とを元画像Ｐｉｃ（Ｏｒｇ）にαブレンディングすることで、元画像Ｐｉｃ（Ｏｒｇ）に画像エフェクトを付加することができるが、Ｐｉｃ（Ｂｒｔ）は、加算αブレンディングによって合成され、Ｐｉｃ（Ｄｒｋ）は、減算αブレンディングによって合成される。加算αブレンディングと減算αブレンディングとはどちらを先に行ってもよい。すなわち。加算αブレンディングを行ってから減算αブレンディングを行ってもよいし、減算αブレンディングを行ってから加算αブレンディングを行ってもよい。
【００５６】
前者の場合には、下式（３Ａ）及び（４Ａ）の処理を行う。すなわち、先に加算αブレンディングを行って、中間合成画像Ｐｉｃ（Ｂｌｄ）を作成し、その後に減算αブレンディングを行って合成フレーム画像Ｐｉｃ（Ｆｒｍ）を得る。
【００５７】
Ｐｉｃ（Ｂｌｄ）＝Ｐｉｃ（Ｏｒｇ）＋αＰｉｃ（Ｂｒｔ）      （３Ａ）
Ｐｉｃ（Ｆｒｍ）＝Ｐｉｃ（Ｂｌｄ）−αＰｉｃ（Ｄｒｋ）      （４Ａ）
一方、後者の場合には、下式（５Ａ）及び（６Ａ）の処理を行う。すなわち、先に減算αブレンディングを行って、中間合成画像Ｐｉｃ（Ｂｌｄ）を作成し、その後に加算αブレンディングを行って合成フレーム画像Ｐｉｃ（Ｆｒｍ）を得る。
【００５８】
Ｐｉｃ（Ｂｌｄ）＝Ｐｉｃ（Ｏｒｇ）−αＰｉｃ（Ｄｒｋ）      （５Ａ）
Ｐｉｃ（Ｆｒｍ）＝Ｐｉｃ（Ｂｌｄ）＋αＰｉｃ（Ｂｒｔ）      （６Ａ）
このように加算αブレンディングと減算αブレンディングとをエフェクト画像を構成する色の輝度に応じて選択的に行う手法によれば、加算αブレンディングあるいは減算αブレンディングの一方しか行わずに、元画像とエフェクト画像とを合成した場合に比べて、元画像に対して画像エフェクトの付加により明るくなる部分と暗くなる部分とが生じることによって、水彩調の絵画に特有の色のにじみを元画像の質感を維持したまま表現することができる。
【００５９】
２．２  α値の設定手法
本実施形態のαブレンディング手法では、元画像の画像情報から元画像とエフェクト画像とを合成する際の合成比率であるα値を設定する手法を採用する。具体的には、図６に示すように、元画像をグレースケール変換して、グレースケール画像のピクセルの輝度値に基づいて、α値を設定する。元画像をグレースケール変換する際には、カラールックアップテーブル（ＣＬＵＴ；Color Look Up Table）を用いて、ピクセルの色をグレースケール変換（モノクロ変換）することができる。
【００６０】
さらに本実施形態では、α値を求める際に、図６に示すように、所与の補正係数を用いたガンマ補正（広義には、べき乗補正）を行って、そのガンマ補正の結果得られた値を、元画像とエフェクト画像とをαブレンディングするためのα値として設定する手法を採用する。ガンマ補正についてもカラールックアップテーブルを用いてグレースケール画像の輝度値をα値に変換することができる。このとき、α値は、元画像の暗い部分においてα値が大きくなり、元画像の明るい部分においてα値が小さくなるように求めることが望ましい。言い換えれば、元画像の暗い部分においてエフェクト画像との合成比率が強くなるようにα値を設定することが望ましい。また上述したガンマ補正は、例えば、ディスプレイ（表示部１９０）の明度特性式であるＧａｍｍａＸ．Ｙ式を用いて行うことができ、グレースケール画像の輝度値をｇとすると、α値は、下式（７Ａ）で設定される。
【００６１】
α＝（１−ｇ）＾Ｘ．Ｙ      （７Ａ）
そして、このガンマ補正によって得られたα値を用いて、図６に示すように元画像とエフェクト画像とを上記合成手法に従ってαブレンディングすることにより、元画像に表されたオブジェクトに対して陰影（シェード）や影（シャドウ）などの画像エフェクトを元画像に対して付加した合成フレーム画像を得ることができる。このようにすれば、元画像の暗い部分に画像エフェクト（陰影や影）の影響が強く出た合成フレーム画像を作成することができるようになる。
【００６２】
２．３  エフェクト画像の作成手法
本実施形態では、エフェクト画像として、オブジェクトの陰影を所定のパターン画像で作成したエフェクト表現用テクスチャをスクリーン座標を基準に設定したテクスチャ座標に基づいてテクスチャマッピングすることにより元画像に画像エフェクトを付加するためのエフェクト画像を作成する手法を採用する。
【００６３】
＊テクスチャ座標の演算手法
本実施の形態では、オブジェクトにマッピングされるエフェクト表現用テクスチャのテクスチャ座標を、オブジェクトの各頂点のスクリーン座標（頂点スクリーン座標）と、オブジェクトに対して設定される基準点のスクリーン座標（基準点スクリーン座標）とを用いて求めている。「オブジェクトに対して設定される基準点」とは、プリミティブ単位、複数のプリミティブから構成されるパーツオブジェクト単位、あるいは複数のパーツオブジェクトから構成されるモデルオブジェクト単位で設定される任意の点であり、プリミティブ、パーツオブジェクト、あるいはモデルオブジェクトの１頂点を基準点としてもよい。
【００６４】
例えば、図７（Ａ）に示すようなハッチングパターンのエフェクト表現用テクスチャ（テクスチャサイズ；１２８ピクセル×１２８ピクセル）を図７（Ｂ）に示すスクリーン位置に投影された頂点Ｐ１，Ｐ２，Ｐ３からなるプリミティブ面にマッピングする場合を考える。
【００６５】
図７（Ｂ）に示すように、各頂点Ｐ１，Ｐ２，Ｐ３のスクリーン座標は、それぞれ（１２８，６４）、（６４，１９２）、および（１９２，１９２）である。本実施の形態では、この各頂点Ｐ１〜Ｐ３のうち頂点Ｐ１を基準点Ｂとして、基準点を含む各頂点のスクリーン座標とエフェクト表現用テクスチャのテクスチャサイズ（広義には、ピクセル情報）とに基づいて、図７（Ａ）に示すエフェクト表現用テクスチャをマッピングするためのテクスチャ座標を求める。具体的には、下式（１Ｂ）に従ってテクスチャ座標を求める。例えば、頂点スクリーン座標をＰ（ｘ，ｙ）、基準点スクリーン座標をＢ（ｂｘ，ｂｙ）、エフェクト表現用テクスチャのテクスチャサイズ（ピクセル情報）を（ｔｘ×ｔｙ）とした場合、頂点スクリーン座標Ｐについて求められるテクスチャ座標Ａ（ａｘ，ａｙ）は、下式のように表現できる。
【００６６】
A(ax,ay)=((x-bx)/tx,(y-by)/ty)      （１Ｂ）
すると、図７（Ｃ）に示すように、基準点Ｂとなる頂点Ｐ１のテクスチャ座標が（０，０）に設定され、頂点Ｐ２，Ｐ３のテクスチャ座標が（−０．５，１）、（０．５、１）に設定される。
【００６７】
このように設定されたテクスチャ座標に基づきテクスチャマッピングを行うとき、エフェクト表現用テクスチャは、図８（Ａ）に示すように、基準点Ｂ（頂点Ｐ１）を原点としてスクリーン座標系に繰返して貼り付けられることを意味し、プリミティブ面ＰＲには、頂点Ｐ１〜Ｐ３に囲まれた部分のパターンが反映され、図８（Ｂ）に示すようにエフェクト表現用テクスチャがマッピングされる。
【００６８】
ここで、仮想カメラがスクリーン座標系のＸ軸方向に平行移動した場合を考える。このとき図９（Ａ）に示すように、プリミティブ面ＰＲのスクリーン座標は変更されるが、基準点Ｂは頂点Ｐ１に設定されている。このため、仮想カメラの移動によって各頂点のスクリーン座標が変更されても、テクスチャ座標は変更されることがなく、図９（Ｂ）に示すように、図８（Ｂ）の場合と同一のパターンがマッピングされることになる。
【００６９】
これに対して、スクリーン座標系の１点（例えば原点）を基準点としてテクスチャ座標を求める場合を比較例として検討すると、図１０（Ａ）に示すように、仮想カメラが平行移動すると、各頂点のスクリーン座標の変更に伴って、テクスチャ座標も変更されてしまう。これは、仮想カメラが移動したにもかかわらず原点は変更されていないため、基準点と各頂点との相対的な位置関係が変更されてしまうためである。この場合、求められたテクスチャ座標に基づいて、エフェクト表現用テクスチャをマッピングすると、図１０（Ｂ）に示すように、マッピングされたパターンが仮想カメラの移動に伴って流れるように変化してしまい、生成画像に不自然さが生じる。
【００７０】
従って、本実施の形態の手法を用いれば、図９（Ｂ）に示すように仮想カメラが平行移動してもオブジェクトにマッピングされるエフェクト表現用テクスチャのパターンが流れることがなく高品質な画像表現を実現することができる。そして、例えば、手書き調の画像表現をする場合などにおいて、高品質な陰影表現を実現することができる。
【００７１】
＊テクスチャ座標の距離補正手法
オブジェクト空間に配置されたオブジェクトの各頂点は、図１１に示すように、カメラ座標系（視点座標系）におけるＺ軸方向（奥行き方向）において距離差がある。そのため、基準点Ｂよりも手前側に位置するオブジェクトの頂点Ｐ１はスクリーン座標系での動きが大きくなり、基準点Ｂよりも奥側に位置するオブジェクトの頂点Ｐ２はスクリーン座標系での動きが小さくなる。すなわち、基準点Ｂからの距離差に応じてオブジェクトの各頂点Ｐ１，Ｐ２間に動きの差が出てしまう。このため、一様に基準点Ｂからの差分に応じてエフェクト表現用テクスチャをマッピングするためのテクスチャ座標を求めてしまうと、例えば、パターンの伸び縮みなど、表示変化の度合いにズレが生じ、画像に不自然さ生じやすくなる。
【００７２】
そこで、本実施の形態では、上述したようにオブジェクトの各頂点Ｐ１，Ｐ２と基準点Ｂとの奥行き方向の距離差に応じてスクリーン座標系での動きが異なることに着目し、当該距離差に応じて、テクスチャ座標を補正する距離補正手法を採用する。具体的には、エフェクト表現用テクスチャのマッピング対象のオブジェクトの頂点毎に基準点との奥行き方向の距離差に応じて、基準点スクリーン座標を補正し、補正後の基準点スクリーン座標との差分に基づいて、各頂点についてテクスチャ座標を補正することができる。すなわち、この手法ではマッピング対象のオブジェクトの各頂点ごとに仮想の基準点を設定することになる。
【００７３】
このとき、基準点Ｂから奥行き方向の距離が近い頂点ほど補正量（補正の度合い）が小さくなり、基準点Ｂから奥行き方向の距離が遠い頂点ほど補正量が大きくなるように、各頂点についてのテクスチャ座標を補正する。この補正量を決定する距離補正値ｄは、基準点Ｂと各頂点Ｐ１，Ｐ２の奥行き方向の距離差がテクスチャ座標に反映されるように、例えば、各頂点Ｐ１，Ｐ２と基準点Ｂとのパースペクティブ除算値の比に基づいて求めることができる。
【００７４】
例えば、オブジェクトの頂点および基準点のパースペクティブ除算値をそれぞれ１／ｗ、１／ｂｗとすると、テクスチャ座標Ａの距離補正値ｄならびに補正後のテクスチャ座標Ａ１（ａｘ１，ａｙ１）は下式のように求められる。
【００７５】
d=(1/bw)/(1/w)=w/bw      （２Ｂ）
A1(ax1,ay1)=((x-bx*d)/tx,(y-by*d)/ty)      （３Ｂ）
このようにすると、図１１に示す例では、基準点Ｂより仮想カメラ（視点）から近い頂点Ｐ１については距離補正値ｄが小さくなり（ｄ＜１）、基準点Ｂより仮想カメラから遠い頂点Ｐ２については距離補正値ｄが大きくなる（ｄ＞１）。このようにすることで、仮想カメラが移動した場合における基準点Ｂと各頂点Ｐ１，Ｐ２との動きの差によるテクスチャの表示変化の度合いのズレが低減され、テクスチャの表示変化の度合いが仮想カメラの移動に適切に追従して高質な画像表現を実現することができる。
【００７６】
＊手書きアニメーション調の表現手法
例えば、手書きアニメーションではフレーム画像をアニメータが手書きで作成するため、各フレーム画像間で線画の微妙なズレが生じる。本実施の形態では、このような手書きアニメーションのフレーム画像に特有の線画のズレを表現するために、エフェクト表現用テクスチャをマッピングするためのテクスチャ座標にランダムあるいは周期的に値が変化する動き補正値（変数）を加えてテクスチャ座標をランダムあるいは周期的に変化させて、手書き調の質感を表現することができる。
【００７７】
例えば、動き補正値をｍ（ｍｘ，ｍｙ）とすると、動き補正処理がされたテクスチャ座標Ａ２（ａｘ２，ａｙ２）は下式のように求められる。
【００７８】
A2(ax2,ay2)=(mx+(x-bx*d)/tx,my+(y-by*d)/ty)      （４Ｂ）
動き補正値は、例えば、時間、視点の移動情報及びゲームイベントの少なくとも一つに応じて変化させることができる。特に、視点が移動したときにはフレーム画像が大きく変わるため、視点の移動情報に応じて値が変化する動き補正値を加算してテクスチャ座標を変化させることで、手書きアニメーション調の質感をコンピュータグラフィックスでも十分に表現することができる。
【００７９】
＊テクスチャ座標の形状補正手法
手書きによって画像を作成する場合、例えば、球体の陰影（シェード）を手書きアニメーションで用いるとき、作成者は陰影を表すための線画を球体に沿うように表現するはずである。しかしながら、上述の手法のみでは、例えば、直線的なパターンで作成されたエフェクト表現用テクスチャを陰影表現のためにオブジェクトにマッピングすると、手書きの質感や曲面の立体感を十分に表現することができない。
【００８０】
そこで、本実施の形態では、オブジェクトの形状に沿うようにエフェクト表現用テクスチャのパターンを変形させてマッピングする手法を採用する。特に本実施の形態では、オブジェクトの頂点の法線ベクトル（ノーマルベクトル）に着目した。オブジェクトの各頂点の法線ベクトルは、頂点間の傾きを表しており、この情報をテクスチャ座標の演算に用いることにより、図１２に示すように、オブジェクトの面の形状に関連づけてエフェクト表現用テクスチャのパターンを法線ベクトルの方向成分と長さ成分に従って変形させることができるようになる。
【００８１】
例えば、頂点の法線ベクトルの座標成分をＮ（Ｎｘ，Ｎｙ，Ｎｚ）とし、補正係数をＭ（Ｍｘ，Ｍｙ）とすると、形状補正処理後のテクスチャ座標Ａ３（ａｘ３，ａｙ３）は下式のように求められる。
【００８２】
A3(ax3,ay3)=(mx+(x-bx*d)/tx+(|Nx|*Mx),my+(y-by*d)/ty+(|Ny|*My))      （５Ｂ）
すなわち、法線ベクトルの座標成分の絶対値（長さ成分の値域を−１．０〜１．０から０．０〜１．０に変換した値）に任意の調整値を乗算した値を加算処理あるいは減算処理してテクスチャ座標を求める。なお、加算処理をする場合には、調整値を正の値とし、減算処理をする場合には、調整値を負の値とすればよい。ここで、法線ベクトルの座標成分を絶対値化するのは、−１．０〜１．０という値域を取りうる法線ベクトルの長さ成分をそのままエフェクト表現用テクスチャのパターンの変形に適用すると、陰影表現の場合にはパターンの変形度合いが大きすぎるからである。このようにすると、エフェクト表現用テクスチャのパターンが法線ベクトルの方向に対して大きく変形され、オブジェクトにより表現される物体の形状に沿ったパターンでエフェクト表現用テクスチャがマッピングされ、オブジェクトの立体感を十分に表現することができる。
【００８３】
２．４  本実施形態の手法を用いた実施例
図１３（Ａ）に通常のテクスチャをテクスチャマッピングして描画した元画像の例を示す。また図１３（Ｂ）に本実施形態のテクスチャ座標の演算手法でテクスチャ座標を設定してエフェクト表現用テクスチャをテクスチャマッピングして描画したエフェクト画像の例を示す。そして、図１３（Ａ）に示す元画像と図１３（Ｂ）に示すエフェクト画像とを、本実施形態のα値の設定手法に従って設定したα値を用いて本実施形態の合成手法により加算αブレンディングと減算αブレンディングとを切り替えて行った合成フレーム画像を図１４に示す。図１４に示す合成フレーム画像では、元画像の暗い部分に対してエフェクト表現用テクスチャの影響が強くなった陰影や影が元画像の質感を維持したまま表現されている。
【００８４】
３．本実施形態の処理
次に、本実施形態の詳細な処理例について図１５、図１６のフローチャートを用いて説明する。
【００８５】
まず本実施の形態の手法を適用するための前提処理としてオブジェクトの頂点データ群をある程度の頂点数の頂点リスト群に分割しておくことが好ましい。例えば、２４頂点を１組とした頂点リストを作成する。各頂点リストには、エフェクト表現用テクスチャをマッピングする際にテクスチャ座標を求めるための基準点が含まれる。
【００８６】
そして、本実施の形態の手法では、頂点リスト単位で図１５に示す処理ルーチンを実行して元画像とエフェクト画像とを描画する。
【００８７】
（１）まず、頂点リストに含まれる各頂点と基準点とについてジオメトリ処理を行う（ステップＳ１０）。すなわち、頂点および基準点をスクリーン座標系に透視投影変換する。
【００８８】
（２）次に、ジオメトリ処理後の頂点のスクリーン座標（頂点スクリーン座標）と基準点のスクリーン座標（基準点スクリーン座標）とを取得する（ステップＳ１１）。
【００８９】
（３）次に、頂点リスト内の各頂点について通常描画を行う（ステップＳ１２）。すなわち、頂点リストに含まれる各頂点について通常のシェーディング処理、通常のテクスチャマッピング処理を行う。すなわち、元画像をフレームバッファに描画する処理を行う。
【００９０】
（４）次に、エフェクト表現用テクスチャをマッピングするためのテクスチャ座標を求める（ステップＳ１３）。具体的には、各頂点のスクリーン上の座標からテクスチャ座標Ａ１を求める。このとき、頂点スクリーン座標と基準点スクリーン座標との差分および各頂点と基準点とのカメラ座標系における奥行き差を考慮して座標Ａ１を求める。
【００９１】
（５）次に、テクスチャ座標を変化（移動）させる動き調整値を座標Ａ１に加える処理を行い、座標Ａ２を算出する（ステップＳ１４）。具体的には、テクスチャ座標をランダムや周期的に変化（移動）させることで、手書きアニメ風の表現を実現する。
【００９２】
（６）次に、エフェクト表現用テクスチャをマッピング対象のオブジェクトの表面形状に合わせて変化させる処理を行う（ステップＳ１５）。具体的には、エフェクト表現用テクスチャに表されたパターン（模様）をオブジェクトの表面形状に沿うように変形させるために、テクスチャ座標を各頂点のカメラ座標系（視点座標系）での法線ベクトルで重み付けする。より具体的には、各頂点のカメラ座標系の法線ベクトルを求めて、法線ベクトルの座標成分のＸ，Ｙ要素の絶対値に任意の倍率（調整値、補正係数）を乗算処理し、これをテクスチャ座標Ａ２に加えて座標Ａ３とする。なおテクスチャ座標Ａ３を求める場合に加算処理をする際は、法線ベクトルの座標成分のＸ，Ｙ要素の絶対値に乗算処理される任意の倍率（調整値、補正係数）を正の値とする。一方でテクスチャ座標Ａ３を求める場合に減算処理をする際は、法線ベクトルの座標成分のＸ，Ｙ要素の絶対値に乗算処理される任意の倍率（調整値、補正係数）を負の値とする。
【００９３】
（７）次に、求められたテクスチャ座標Ａ３に基づき、エフェクト表現用テクスチャをオブジェクトにマッピングする（ステップＳ１６）。このとき、エフェクト表現用テクスチャをマッピングした画像をステップＳ１２の描画処理で通常のテクスチャがマッピングされた元画像とは異なる専用のバッファ（フレームバッファとは異なるバッファ）に描画する。
【００９４】
（８）頂点リスト内の頂点を全て描画したか判断する（ステップＳ１７）。全ての頂点についての描画処理が済んでいない場合には（ステップＳ１７でＮ）、ステップＳ１３〜ステップＳ１６の処理を繰り返し行う。
【００９５】
（９）最終的には、全ての頂点リストについて描画したことを条件に（ステップＳ１８でＹ）、処理を終了する。
【００９６】
次に、図１６に示すフローチャートに従って、元画像とエフェクト画像とを合成する。
【００９７】
（１）まず、元画像とエフェクト画像との描画処理が行われる（ステップＳ２０；図１５のフローチャートを参照）。
【００９８】
（２）次に、α値の設定を行う（ステップＳ２１、Ｓ２２）。具体的には、フレームバッファに描画された元画像をカラールックアップテーブルを用いてグレースケール画像に変換する（ステップＳ２１）。これにより元画像の明るい部分と暗い部分とをはっきりさせる。続いて、同じようにカラールックアップテーブルを用いて元画像から変換されたグレースケール画像の輝度値に基づいてα値を設定し、フレームバッファのαプレーンに求められたα値を代入する（ステップＳ２２）。このとき元画像の暗い部分においてα値が大きくなるように値を求める。またガンマ補正を行ってディスプレイの明度特性に合わせてα値を調整することができる。
【００９９】
（３）次に、エフェクト画像の色情報から基準色画像の色情報を減算する第１の差分抽出ブレンディングによって色差分の抽出を行う。（ステップＳ２３）。すなわちエフェクト画像を描画したバッファから描画データをワークバッファにコピーしておき、ワークバッファにおいて第１の差分抽出ブレンディングを行って、ワークバッファに第１の色差分画像を描画する。
【０１００】
（４）次に、元画像と第１の色差分画像とを加算αブレンディングする（ステップＳ２４）。すなわち、フレームバッファにワークバッファの描画データを加算αブレンディングして中間合成画像をフレームバッファに描画する。このときα値は、フレームバッファのαプレーンを参照して取得する。この後、ワークバッファを初期化して基準色画像をワークバッファに描画しておく。
【０１０１】
（５）次に、基準色画像の色情報からエフェクト画像の色情報を減算する第２の差分抽出ブレンディングによって色差分の抽出を行う（ステップＳ２５）。すなわちワークバッファにおいて第２の差分抽出ブレンディングを行って、ワークバッファに第２の色差分画像を描画する。
【０１０２】
（６）最終的には、中間合成画像と第２の色差分画像とを減算αブレンディングする（ステップＳ２６）。すなわち、フレームバッファにワークバッファの描画データを減算αブレンディングして合成フレーム画像をフレームバッファに描画する。このときのα値も、フレームバッファのαプレーンを参照して取得する。
【０１０３】
４．ハードウェア構成
図１７に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＤＶＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１０４】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１０５】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明合成処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像（フレーム画像）はディスプレイ９１２に表示される。
【０１０６】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１０７】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０（ＣＤドライブでもよい）は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２（ＣＤでもよい）にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１０８】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１０９】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１１０】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（エフェクト画像、仮想カメラ、αブレンディング、ガンマ補正など）として引用された用語（陰影画像／影画像、視点、半透明合成処理、べき乗補正など）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１１１】
また元画像とエフェクト画像との合成手法、α値の設定手法、エフェクト画像の作成手法等についても、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【０１１２】
また本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１１３】
【図１】本実施形態の画像生成システムの機能ブロック図。
【図２】本実施形態の画像合成手法の説明図。
【図３】本実施形態の基準色画像の色分布の説明図。
【図４】図４（Ａ）及び図４（Ｂ）は、本実施形態の色差分抽出手法の説明図。
【図５】本実施形態の画像合成手法の説明図。
【図６】本実施形態のα値設定手法の説明図。
【図７】図７（Ａ）〜図７（Ｃ）は本実施形態のエフェクト画像の作成手法の説明図。
【図８】図８（Ａ），図８（Ｂ）は本実施形態のエフェクト画像の作成手法の説明図。
【図９】図９（Ａ），図９（Ｂ）は本実施形態のエフェクト画像の作成手法の説明図。
【図１０】図１０（Ａ），図１０（Ｂ）は、比較例の手法の説明図。
【図１１】本実施形態のエフェクト画像の作成手法の説明図。
【図１２】本実施形態のエフェクト画像の作成手法の説明図。
【図１３】図１３（Ａ）は、元画像の例。図１３（Ｂ）は、本実施形態の手法を用いて作成したエフェクト画像の例。
【図１４】図１４は、本実施形態の手法を用いて合成した画像の例。
【図１５】本実施形態の具体的な処理のフローチャート。
【図１６】本実施形態の具体的な処理のフローチャート。
【図１７】ハードウェア構成例。
【符号の説明】
【０１１４】
ＯＢ  オブジェクト、ＶＣ  仮想カメラ（視点）、
Ｐｉｃ（Ｏｒｇ）  元画像、Ｐｉｃ（Ｅｆｆ）  エフェクト画像、
Ｐｉｃ（Ｓｔｄ）  基準色画像、Ｐｉｃ（Ｆｒｍ）  合成フレーム画像、
Ｐｉｃ（Ｂｒｔ）  第１の色差分画像、Ｐｉｃ（Ｄｒｋ）  第２の色差分画像、
１００  処理部、
１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１１６  スクリーン座標取得部、
１１８  テクスチャ座標演算部、
１２０  画像生成部、
１２１  ジオメトリ処理部、１２２  テクスチャマッピング部、
１２３  グレースケール変換部、１２４  α値設定部、
１２５  αブレンディング部、１２６  描画部
１３０  音生成部、１６０  操作部、
１７０  記憶部、
１７２  主記憶部、１７４  描画バッファ、
１７６  ルックアップテーブル記憶部、１７８  テクスチャ記憶部、
１８０  情報記憶媒体、１９４  携帯型情報記憶装置、
１９０  表示部、１９２  音出力部、１９６  通信部
【図１】
2006252426.tif 000003
【図２】
2006252426.tif 000004
【図３】
2006252426.tif 000005
【図４】
2006252426.tif 000006
【図５】
2006252426.tif 000007
【図６】
2006252426.tif 000008
【図７】
2006252426.tif 000009
【図８】
2006252426.tif 000010
【図９】
2006252426.tif 000011
【図１０】
2006252426.tif 000012
【図１１】
2006252426.tif 000013
【図１２】
2006252426.tif 000014
【図１５】
2006252426.tif 000015
【図１６】
2006252426.tif 000016
【図１７】
2006252426.tif 000017
【図１３】
2006252426.tif 000018
【図１４】
2006252426.tif 000019