(57)【要約】【課題】  部分的なフィルタ処理を簡便に施すことができるプログラム、情報記憶媒体及び画像生成システムを提供する。【解決手段】  ジオメトリ処理されたオブジェクトＯＢ１〜ＯＢ３を描画した元画像に対してフィルタ処理を行う。その際、元画像においてフィルタ処理対象オブジェクトＯＢ１が他のオブジェクトＯＢ２，ＯＢ３とは異なるα値で描画される。すなわち、ジオメトリ処理後のオブジェクトＯＢ１〜ＯＢ３を描画するだけで、その描画処理により生成された元画像のαプレーンにフィルタ処理の不許可領域をマスクする情報（マスク情報）を設定する。そして、元画像のαプレーンに設定されたα値をマスク情報としてフィルタ処理を行う。【選択図】      図２
2006318387.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間における所与の視点から見た画像を生成するためのプログラムであって、
オブジェクトに対してジオメトリ処理を行うジオメトリ処理部と、
ジオメトリ処理された前記オブジェクトを描画した元画像に対してフィルタ処理を行うフィルタ処理部として、
コンピュータを機能させ、
前記元画像においてフィルタ処理対象オブジェクトが他のオブジェクトとは異なるα値で描画されており、
前記フィルタ処理部が、
前記元画像のαプレーンに設定されたα値をマスク情報として前記フィルタ処理を行うことを特徴とするプログラム。
【請求項２】
請求項１において、
前記フィルタ処理部が、
ぼかし処理あるいはピクセル入れ替え処理を行って、前記元画像に対応するフィルタ画像を生成し、該元画像と該フィルタ画像とを合成するフィルタ処理を行うことを特徴とするプログラム。
【請求項３】
請求項２において、
前記フィルタ処理部が、
前記ぼかし処理を含む前記フィルタ処理を行う場合に、前記元画像のうち前記フィルタ処理対象オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報としてコピーしたワーク画像を生成し、該ワーク画像に基づいて前記フィルタ画像を生成し、前記元画像と該フィルタ画像とを合成する処理を行うことを特徴とするプログラム。
【請求項４】
請求項２において、
前記フィルタ処理部が、
前記ピクセル入れ替え処理を含む前記フィルタ処理を行う場合に、前記元画像をコピーしたワーク画像に基づいて前記フィルタ画像を生成し、前記フィルタ画像のうち前記フィルタ処理対象オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報として元画像に合成する処理を行うことを特徴とするプログラム。
【請求項５】
請求項２または３において、
前記フィルタ処理部が、
前記元画像あるいは該元画像に対応するぼかし画像の各ピクセルから所与の基準色より明るい色のピクセルを抽出する色抽出処理を含むフィルタ処理を行うことを特徴とするプログラム。
【請求項６】
請求項５において、
前記フィルタ処理部が、
前記元画像あるいは該元画像に対応するぼかし画像の各ピクセルの色情報から前記基準色の色情報を減算することにより前記色抽出処理を行うことを特徴とするプログラム。
【請求項７】
オブジェクト空間における所与の視点から見た画像を生成するためのプログラムであって、
オブジェクトに対してジオメトリ処理を行うジオメトリ処理部と、
前記ジオメトリ処理されたオブジェクトを描画した元画像に対応するフィルタ画像を生成し、該元画像と該フィルタ画像とを合成するフィルタ処理を行うフィルタ処理部として、
コンピュータを機能させ、
前記元画像においてフィルタ処理対象オブジェクトが他のオブジェクトとは異なるα値で描画されており、
前記フィルタ処理部が、
前記元画像のαプレーンに設定されたα値をマスク情報として前記元画像に対して第１のフィルタ処理及び第２のフィルタ処理の少なくとも一方を行い、
第１のフィルタ処理を行う場合には、前記元画像のうち前記フィルタ処理対象オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報としてコピーしたワーク画像を生成し、該ワーク画像に基づいて第１のフィルタ画像を生成し、前記元画像と前記第１のフィルタ画像とを合成する処理を行い、
第２のフィルタ処理を行う場合には、前記元画像をコピーしたワーク画像に基づいて第２のフィルタ画像を生成し、前記第２のフィルタ画像のうち前記フィルタ処理対象オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報として前記元画像に合成する処理を行うことを特徴とするプログラム。
【請求項８】
コンピュータにより読取可能な情報記憶媒体であって、請求項１〜７のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。
【請求項９】
オブジェクト空間における所与の視点から見た画像を生成するための画像生成システムであって、
オブジェクトに対してジオメトリ処理を行うジオメトリ処理部と、
ジオメトリ処理された前記オブジェクトを描画した元画像に対してフィルタ処理を行うフィルタ処理部と、
を含み、
前記元画像においてフィルタ処理対象オブジェクトが他のオブジェクトとは異なるα値で描画されており、
前記フィルタ処理部が、
前記元画像のαプレーンをマスク情報として前記フィルタ処理を行うことを特徴とする画像生成システム。
【請求項１０】
オブジェクト空間における所与の視点から見た画像を生成するための画像生成システムであって、
オブジェクトに対してジオメトリ処理を行うジオメトリ処理部と、
前記ジオメトリ処理されたオブジェクトを描画した元画像に対応するフィルタ画像を生成し、該元画像と該フィルタ画像とを合成するフィルタ処理を行うフィルタ処理部と、
を含み、
前記元画像においてフィルタ処理対象オブジェクトが他のオブジェクトとは異なるα値で描画されており、
前記フィルタ処理部が、
前記元画像のαプレーンに設定されたα値をマスク情報として前記元画像に対して第１のフィルタ処理及び第２のフィルタ処理の少なくとも一方を行い、
第１のフィルタ処理を行う場合には、前記元画像のうち前記フィルタ処理対象オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報としてコピーしたワーク画像を生成し、該ワーク画像に基づいて第１のフィルタ画像を生成し、前記元画像と前記第１のフィルタ画像とを合成する処理を行い、
第２のフィルタ処理を行う場合には、前記元画像をコピーしたワーク画像に基づいて第２のフィルタ画像を生成し、前記第２のフィルタ画像のうち前記フィルタ処理対象オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報として前記元画像に合成する処理を行うことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、仮想的な３次元空間であるオブジェクト空間内において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。ロールプレイングゲーム（ＲＰＧ）を楽しむことができる画像生成システムを例にとれば、プレーヤは、自身の分身であるプレーヤキャラクタ（プレーヤオブジェクト）を操作してオブジェクト空間内のマップ上で移動させ、敵キャラクタ（敵オブジェクト）と対戦したり、他のキャラクタと対話したり、様々な町を訪れたりすることでゲームを楽しむ。
【０００３】
さて、このような画像生成システムでは、一度描画した画像（元画像）に対して、さらなる処理を施して、元の画像とは異なる雰囲気の画像を作成するポストフィルタ手法（ポストエフェクト手法）が知られている。例えば、ぼかしフィルタを用いて元画像をぼかす手法や、色差フィルタを用いて輪郭強調を行う手法などが知られている。また時間経過に応じて元画像をゆがませることにより、陽炎や水面の揺らぎ（さざ波）を表現する揺らぎフィルタなどもある。
【０００４】
このようなポストフィルタの効果を元画像の特定の部分にだけ施そうとする場合に、フィルタ処理の対象となるオブジェクト（フィルタ処理対象オブジェクト）の画像を内包する領域をエフェクト領域として指定し、そのエフェクト領域のサイズの仮想ポリゴンにフィルタ画像をテクスチャマッピングして元画像に合成して、元画像に対してフィルタ画像の効果を反映させる手法がある（特許文献１参照）。しかしながら、このような従来の手法では、エフェクト領域を指定する特別な処理を要するため、さらなる処理の簡便化が望まれている。
【特許文献１】特許第３４６７２５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は上記事情に鑑みてなされたものであり、その目的は、部分的なフィルタ処理を簡便に施すことができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明は、オブジェクト空間における所与の視点から見た画像を生成するための画像生成システムであって、オブジェクトに対してジオメトリ処理を行うジオメトリ処理部と、ジオメトリ処理された前記オブジェクトを描画した元画像に対してフィルタ処理を行うフィルタ処理部と、を含み、前記元画像においてフィルタ処理対象オブジェクトが他のオブジェクトとは異なるα値で描画されており、前記フィルタ処理部が、前記元画像のαプレーンに設定されたα値をマスク情報として前記フィルタ処理を行う画像生成システムに関係する。また、本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００７】
コンピュータとは、プロセッサ（処理部：ＣＰＵあるいはＧＰＵなど）、メモリ（記憶部）、入力装置、及び出力装置を基本的な構成要素とする物理的装置（システム）をいう。以下においても同様である。
【０００８】
本発明によれば、ジオメトリ処理後のオブジェクトを描画するだけで、その描画処理により生成された元画像のαプレーンにフィルタ処理の不許可領域をマスクする情報（マスク情報）を設定することができる。従って本発明よれば、元画像に対して局所的にフィルタ処理を施す場合に、処理を簡便化することができる。
【０００９】
（２）また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記フィルタ処理部が、ぼかし処理あるいはピクセル入れ替え処理を行って、前記元画像に対応するフィルタ画像を生成し、該元画像と該フィルタ画像とを合成するフィルタ処理を行うようにしてもよい。例えば、ぼかし処理によれば、グレアやソフトフォーカスを表現することができる。また例えば、ピクセル入れ替え処理によれば、漣あるいは陽炎などの揺らぎを表現することができる。なお元画像とフィルタ画像との合成手法としては、例えば、αテストを用いた半透明描画、通常αブレンディング、あるいは加算αブレンディング等が採用できる。
【００１０】
（３）また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記フィルタ処理部が、前記ぼかし処理を含む前記フィルタ処理を行う場合に、前記元画像のうち前記フィルタ処理対象オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報としてコピーしたワーク画像を生成し、該ワーク画像に基づいて前記フィルタ画像を生成し、前記元画像と該フィルタ画像とを合成する処理を行うようにしてもよい。このようにすれば、フィルタ処理が必要な部分にだけぼかし処理を施して、局所的なグレア表現などを簡便に行うことができる。
【００１１】
（４）また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記フィルタ処理部が、前記ピクセル入れ替え処理を含む前記フィルタ処理を行う場合に、前記元画像をコピーしたワーク画像に基づいて前記フィルタ画像を生成し、前記フィルタ画像のうち前記フィルタ処理対象オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報として元画像に合成する処理を行うようにしてもよい。ピクセル入れ替え処理では、元画像の全てのピクセルの色情報を用いないと、ノイズの混じったような不自然な画像が生成されてしまうため、元画像の全体をコピーしたワーク画像についてピクセル入れ替え処理を行った上で、フィルタ処理対象オブジェクトの描画領域についてのみフィルタ画像と元画像とが合成されるようにすることによって、生成画像が不自然になるような事態を防ぐことができる。
【００１２】
（５）また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記フィルタ処理部が、前記元画像あるいは該元画像に対応するぼかし画像の各ピクセルから所与の基準色より明るい色のピクセルを抽出する色抽出処理を含むフィルタ処理を行うようにしてもよい。このように画像中の明るい色で描かれた部分にグレアが生じていると仮定することによって、詳細な光源計算を行わなくても、リアルなグレア表現を行うことができる。
【００１３】
（６）また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記フィルタ処理部が、前記元画像あるいは該元画像に対応するぼかし画像の各ピクセルの色情報から前記基準色の色情報を減算することにより前記色抽出処理を行うようにしてもよい。このようにすれば、基準色より暗い色の成分については、カットされるため、グレアが必要な領域にだけを簡単に特定することができるようになる。
【００１４】
（７）また本発明は、オブジェクト空間における所与の視点から見た画像を生成するための画像生成システムであって、オブジェクトに対してジオメトリ処理を行うジオメトリ処理部と、前記ジオメトリ処理されたオブジェクトを描画した元画像に対応するフィルタ画像を生成し、該元画像と該フィルタ画像とを合成するフィルタ処理を行うフィルタ処理部と、を含み、前記元画像においてフィルタ処理対象オブジェクトが他のオブジェクトとは異なるα値で描画されており、前記フィルタ処理部が、前記元画像のαプレーンに設定されたα値をマスク情報として前記元画像に対して第１のフィルタ処理及び第２のフィルタ処理の少なくとも一方を行い、第１のフィルタ処理を行う場合には、前記元画像のうち前記フィルタ処理対象オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報としてコピーしたワーク画像を生成し、該ワーク画像に基づいて第１のフィルタ画像を生成し、前記元画像と前記第１のフィルタ画像とを合成する処理を行い、第２のフィルタ処理を行う場合には、前記元画像をコピーしたワーク画像に基づいて第２のフィルタ画像を生成し、前記第２のフィルタ画像のうち前記フィルタ処理対象オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報として前記元画像に合成する処理を行う画像生成システムに関係する。また、本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００１５】
本発明によれば、フィルタ処理対象オブジェクトを他のオブジェクトとは異なるα値で描画しておくだけで、様々な用途の部分フィルタ処理において好適なマスク情報を同じ元画像のαプレーンから得ることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００１７】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００１８】
操作部１６０は、プレーヤがプレーヤオブジェクト（移動体オブジェクトの一例、プレーヤが操作するプレーヤキャラクタ）の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００１９】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００２０】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２１】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２２】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００２３】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０内の主記憶部１７１をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００２４】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００２５】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００２６】
移動・動作処理部１１２は、オブジェクト（キャラクタ、車、又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００２７】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【００２８】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００２９】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブの頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（オブジェクトデータ）に基づいて、透視変換後（ジオメトリ処理後）のモデルオブジェクト（１又は複数のプリミティブ）を描画バッファ１７２（フレームバッファや中間バッファ（ワークバッファ）などのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように描画処理を行うこともできる。
【００３０】
描画部１２０は、ジオメトリ処理部１２２、フィルタ処理部１２４を含む。
【００３１】
ジオメトリ処理部１２２は、オブジェクトに対して、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理が行う。そして、ジオメトリ処理後（透視変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ、法線ベクトル、或いはα値等）は、主記憶部１７２に保存される。
【００３２】
フィルタ処理部１２４は、ジオメトリ処理されたオブジェクトを描画した元画像に対してフィルタ処理を行う。フィルタ処理としては、ぼかし処理やピクセル入れ替え処理等を行うことができ、その際に元画像に対応するフィルタ画像を生成して、元画像とフィルタ画像とを合成することにより元画像に対してフィルタ処理を施すことができる。元画像とフィルタ画像との合成手法としては、αブレンディング（通常αブレンディング、加算αブレンディング、減算αブレンディング）やαテストを用いた半透明描画などがある。
【００３３】
また本実施形態では、ジオメトリ処理後のオブジェクトが描画されることにより元画像が作成されるが、その元画像においてフィルタ処理対象オブジェクトが他のオブジェクトとは異なるα値で描画される。そしてフィルタ処理部１２４は、元画像のαプレーンに設定されたα値をマスク情報として用いたフィルタ処理を行う。これにより元画像の所与の描画領域にのみフィルタ処理の効果が付加された画像を生成することができる。
【００３４】
元画像のαプレーンに設定されるα値をマスク情報となるように描画する手法としては、フィルタ処理対象オブジェクトの頂点の頂点色のα成分をα≧α１に設定し、他のオブジェクトの頂点の頂点色のα成分をα＜α１に設定しておく手法、フィルタ処理対象オブジェクトにマッピングされるテクスチャのαプレーンにα≧α１を設定し、他のオブジェクトにマッピングされるテクスチャのαプレーンにα＜α１を設定しておく手法、あるいはフィルタ処理対象オブジェクトの頂点色のα成分と、そのフィルタ処理対象オブジェクト用のテクスチャのαプレーンに設定されたα値を乗算した値αがα≧α１となるように設定し、他のオブジェクトの頂点色のα成分と、他のオブジェクト用のテクスチャのαプレーンに設定されたα値を乗算した値がα＜α１となるように設定しておく手法等がある。オブジェクトの頂点色のα成分にマスク情報を設定した場合、そのオブジェクトデータは、オブジェクトデータ記憶部１７６に記憶される。テクスチャのαプレーンにマスク情報を設定した場合、オブジェクトにマッピングされるテクスチャは、テクスチャ記憶部１７３に記憶される。
【００３５】
またフィルタ処理部１２４は、フィルタ処理の内容に応じて元画像のαプレーンに設定されたマスク情報（α値）の使い方を切り替えている。
【００３６】
例えば、ぼかし処理を含むフィルタ処理（第１のフィルタ処理）を行う場合には、元画像のうちフィルタ処理対象オブジェクトの描画領域のみを、元画像のαプレーンに設定されたα値をマスク情報としてコピーしたワーク画像を生成し、そのワーク画像に基づいてフィルタ画像を生成し、元画像とフィルタ画像とを合成する処理を行う。
【００３７】
また例えば、ピクセル入れ替え処理を含むフィルタ処理（第２のフィルタ処理）を行う場合には、元画像の全体をコピーしたワーク画像に基づいてフィルタ画像を生成し、フィルタ画像のうちフィルタ処理対象オブジェクトの描画領域のみを、元画像のαプレーンに設定されたα値をマスク情報として元画像に合成する処理を行う。
【００３８】
また描画部１２０は、その他の描画処理として、テクスチャマッピング、陰面消去処理、αブレンディング等を行うことができる。
【００３９】
テクスチャマッピングは、テクスチャ記憶部１７６に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いてテクスチャ記憶部１７６からテクスチャ（色、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やテクセルの補間としてバイリニア補間などを行う。
【００４０】
また本実施形態では、テクスチャマッピングとして、ＬＵＴ記憶部１７５に記憶されるインデックスカラー・テクスチャマッピング用のカラールックアップテーブル（ＣＬＵＴ）を用いたテクスマッピングを行うこともできる。この場合には、元画像の各ピクセルの相対位置あるいは元画像を分割した分割ブロックの各ピクセルの相対的位置に基づいて定められる番号（色）をインデックス番号（インデックス色）として設定したインデックステクスチャを、インデックス番号と画像情報（Ｒ成分、Ｇ成分、Ｂ成分、Ａ成分（α成分））とを対応づけるカラールックアップテーブルを参照しながら、仮想オブジェクト（表示画面サイズのポリゴン、分割ブロックサイズのポリゴン）に対してテクスチャマッピングを行う。ピクセル入れ替え処理を行う場合には、元画像あるいは元画像の分割ブロックに対応するインデックステクスチャの各テクセルに与えられたインデックス番号を入れ替えるためのインデックステクスチャを用意し、そのインデックステクスチャをカラールックアップテーブルを参照しながら仮想オブジェクトにテクスチャマッピングすることによってピクセル入れ替え画像（フィルタ画像の例）を生成することができる。
【００４１】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ１７８（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファ１７４に格納されるＺ値を参照する。そして参照されたＺバッファ１７４のＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファ１７４のＺ値を新たなＺ値に更新する。
【００４２】
αブレンディングとしては、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）を行う。例えば通常αブレンディングの場合には下式（１）〜（３）の処理を行う。
【００４３】
ＲＱ＝（１−α）×Ｒ１＋α×Ｒ２    （１）
ＧＱ＝（１−α）×Ｇ１＋α×Ｇ２    （２）
ＢＱ＝（１−α）×Ｂ１＋α×Ｂ２    （３）
また、加算αブレンディングの場合には下式（４）〜（６）の処理を行う。なお単純加算の場合はα＝１として下式（４）〜（６）の処理を行う。
【００４４】
ＲＱ＝Ｒ１＋α×Ｒ２                （４）
ＧＱ＝Ｇ１＋α×Ｇ２                （５）
ＢＱ＝Ｂ１＋α×Ｂ２                （６）
また、減算αブレンディングの場合には下式（７）〜（９）の処理を行う。なお単純減算の場合はα＝１として下式（７）〜（９）の処理を行う。
【００４５】
ＲＱ＝Ｒ１−α×Ｒ２                （７）
ＧＱ＝Ｇ１−α×Ｇ２                （８）
ＢＱ＝Ｂ１−α×Ｂ２                （９）
ここで、Ｒ１、Ｇ１、Ｂ１は、描画バッファ１７２に既に描画されている画像（元画像）のＲＧＢ成分であり、Ｒ２、Ｇ２、Ｂ２は、描画バッファ１７２に描画すべき画像のＲＧＢ成分である。また、ＲＱ、ＧＱ、ＢＱは、αブレンディングにより得られる画像のＲＧＢ成分である。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００４６】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００４７】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００４８】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。なお以下では、グレアを表現するためのフィルタ処理、あるいはさざ波などの揺らぎを表現するためのフィルタ処理に関して本実施形態の手法を採用した場合について主に説明するが、本実施形態の手法は、このようなフィルタ処理のみならず、種々のフィルタ処理に適用できる。
【００４９】
２．１  グレアフィルタの手法
本実施形態では、元画像のαプレーンに設定されたα値をマスク情報として扱って、元画像のうちフィルタ処理対象オブジェクトの描画領域及びその周辺に選択的にグレアフィルタ処理を施す手法を採用している。
【００５０】
具体的には、図２のＡ１に示すように、オブジェクト空間内に配置された仮想カメラから見えるシーン（ビューボリューム内）に存在するオブジェクトＯＢ１〜ＯＢ３をフレームバッファに描画する際に、フィルタ処理対象オブジェクトであるオブジェクトＯＢ１を他のオブジェクトＯＢ２、ＯＢ３とは、異なるα値で描画して元画像を生成する。図２に示す例では、オブジェクトＯＢ１がα１で描画され、オブジェクトＯＢ２がα１より値の小さいα２で描画され、オブジェクトＯＢ３もα１より値の小さいα２で描画される。図２に示す例では、各オブジェクトの頂点色のα成分（Ａ成分）にマスク情報となるα値を設定してある。すなわち、ジオメトリ処理後のオブジェクトデータによってマスク情報が得られるようになっている。
【００５１】
そしてグレアフィルタをフレームバッファに描画された元画像に対して施す場合には、図２のＡ２に示すように、元画像のαプレーンに設定されたα値をマスク情報としてαテストを行い、α≧α１の描画領域だけをフレームバッファよりサイズの小さいワークバッファに縮小コピーする。このときワークバッファの画像情報はクリアしておく（黒く塗りつぶしておく）ことが必要である。図２に示す例では、α≧α１となるのは、フィルタ処理の対象となるオブジェクトＯＢ１だけであるので、図２のＡ３に示すように、オブジェクトＯＢ１の描画領域のみが縮小コピーされる。そして、ワークバッファに縮小コピーされた画像（ワーク画像）に対して色抽出処理とぼかし処理を行って、図２のＡ４に示すように、グレア表現用のフィルタ画像を生成する。
【００５２】
ここで、色抽出処理としては、ワーク画像の各ピクセルから基準色より明るい色を抽出して、その差分の色情報を得る処理を行う。例えば、図３のＢ１に示すように、基準色Ｃ１が頂点色に設定された単色の仮想ポリゴン（単色ポリゴン）を用意して、この単色ポリゴンをワークバッファに減算半透明で描画を行う。これにより図３のＢ２に示すように、ワーク画像の任意のピクセルＰの色をＣ２とすると、単色ポリゴンを減算半透明で描画した後のワークバッファに作成される色抽出画像のピクセルＰの色は、Ｃ２−Ｃ１となる。すなわち、色抽出画像では、基準色より暗い色は、黒にクランプされ、基準色より明るい色については、その差分の色となる。このようにある基準色より明るい色だけを求めることで、グレアのかかりやすい領域を特定することができる。
【００５３】
またぼかし処理としては、画像の縮小・拡大を繰り返すことによりバイリニアフィルタ方式で各ピクセルの色情報を補間させて画像をぼかす手法や、テクスチャ座標をずらしながらバイリニアフィルタ方式でテクスチャマッピングを行うことで各ピクセルの色情報を補間させて画像をぼかす手法などがある。ぼかし処理の手法は、上記のものには限られず、種々の手法を採用することができる。例えば、バイリニアフィルタ方式でのテクスチャマッピングにより画像をぼかす手法は、図４のＤ１に示すようにワークバッファのワーク画像をテクスチャとして設定して、そのテクスチャをワークバッファサイズの仮想ポリゴンにテクスチャ座標をずらしながらマッピングすることで実現される。例えば、図４のＤ２に示すように、テクスチャ座標をＸ方向（横方向）にシフトさせてワーク画像に基づくテクスチャを仮想ポリゴンにテクスチャマッピングしたり、図４のＤ３に示すように、テクスチャ座標をＹ方向（縦方向）にシフトさせてワーク画像に基づくテクスチャを仮想ポリゴンにテクスチャマッピングしたりすることでワークバッファの各ピクセルの色情報がバイリニアフィルタ方式で補間されて画像がぼけるようになる。このとき図４のＤ２に示す処理及びＤ３に示す処理を繰返し行うことで、画像のぼかし具合をより強くすることができる。
【００５４】
そして本実施形態のグレアフィルタ手法では、図２のＡ５に示すように、ワーク画像に対して色抽出処理とぼかし処理を行ってワークバッファに作成したフィルタ画像をフレームバッファの元画像に加算合成することで、元画像のうちオブジェクトＯＢ１の描画領域付近にのみグレア処理が施されたような画像を生成することができる。なお元画像とフィルタ画像との加算合成は、加算αブレンディングにより行うことができる。また本実施形態のグレアフィルタ手法を元画像とフィルタ画像との合成手法を通常αブレンディングによって行えば、フィルタ処理によるソフトフォーカス表現に適用することができる。
【００５５】
２．２  揺らぎフィルタの手法
本実施形態では、元画像のαプレーンに設定されたα値をマスク情報として扱って、元画像のうちフィルタ処理対象オブジェクトの描画領域に選択的に揺らぎフィルタ処理を施す手法を採用している。
【００５６】
具体的には、図５のＥ１に示すように、フィルタ処理の対象であるオブジェクト（フィルタ処理対象オブジェクト）ＯＢ１（α＝α１）を他のオブジェクトＯＢ２（α＝α２）、ＯＢ３（α＝α３）とは異なるα値で描画して元画像を生成している。このとき図５のＥ４に示すように、αテストによりα≧α１の領域にだけフィルタ画像が合成（半透明描画）されるようにすることで、フィルタ処理対象オブジェクトＯＢ１の描画領域にだけフィルタ処理が施された画像を生成することができる。図５に示す例でも、各オブジェクトの頂点色のα成分（Ａ成分）にマスク情報となるα値を設定してある。すなわち、ジオメトリ処理後のオブジェクトデータによってマスク情報が得られるようになっている。このように本実施形態の揺らぎフィルタ手法では、ジオメトリ処理されたフィルタ処理対象オブジェクトＯＢ１を描画するだけで、元画像のαプレーンにマスク情報を描き込むことができる。
【００５７】
また本実施の形態では、図５のＥ３に示すように、ワーク画像に対してピクセル入れ替え処理を行ってフィルタ画像を生成している。このときインデックスカラー・テクスチャマッピングの手法を用いて、周期的にピクセル入れ替え距離が変動するピクセル入れ替え処理を行っている。
【００５８】
具体的には、図６のＦ１に示すように、描画バッファに描画された元画像を複数の分割ブロックに分割して、その分割ブロック単位でピクセル入れ替え処理を行うことによって生成したフィルタ画像（フィルタ処理が施されたオブジェクトの画像）を元画像に合成（半透明描画）するフィルタ処理を行っている。
【００５９】
このとき各分割ブロックは、例えば１６×１６ピクセルのサイズとし、図６のＦ２に示すように、この２５６個のピクセルをそれらの相対位置に基づいてインデックス化したカラールックアップテーブルとして扱うことができる。また図６のＦ３に示すように、カラールックアップテーブル（ＣＬＵＴ）とは別に分割ブロックの各ピクセルの位置をずらしたずらしテーブルを用意し、そのずらしテーブルをインデックステクスチャとして扱うことができる。ずらしテーブルでは、分割ブロックのピクセルの相対位置に基づいて定めたインデックス番号を分割ブロック内におけるピクセルの座標値として扱い、各ピクセルについてピクセル入れ替え距離ΔＹだけずらした位置のピクセルのインデックス番号を設定する。
【００６０】
そして、図６のＦ４に示すように、カラールックアップテーブルを参照しながら、分割ブロックサイズのポリゴン（仮想オブジェクト）に対して、ずらしテーブルに基づいて設定されたインデックステクスチャをテクスチャマッピングする。そして図６のＦ５に示すように、インデックステクスチャをテクスチャマッピングした分割ブロックサイズのポリゴンを元画像における対応位置に描画する。このようにすることで、元画像のピクセルを入れ替える処理を実現することができる。これらの処理を全ての分割ブロックに対して行って元画像に対応するフィルタ画像を生成することができる。最終的には、図６のＦ６に示すように、元画像にフィルタ画像を合成することで元画像に対してポストエフェクトを施すフィルタ処理を行うことができる。
【００６１】
なお本実施形態のピクセル入れ替え処理では、ピクセル入れ替え距離ΔＹを図７に示すような周期関数に基づいて設定している。すなわちインデックステクスチャに設定されるずらしテーブルを、周期的に変化するピクセル入れ替え距離ΔＹに応じて書き換えている。なおピクセル入れ替え距離ΔＹを周期的に変化させた複数枚のインデックステクスチャを予め用意しておいてもよい。その周期関数は下式（Ａ）で表される。
【００６２】
ΔＹ＝Ａｓｉｎ（ωｔ＋ｆ（ｘ，ｙ））        （Ａ）
図７に示すように、Ａは振幅成分パラメータである。ωは周波数成分パラメータである。ｆ（ｘ，ｙ）は、分割ブロック内でのピクセルの位置に基づいて決定される初期位相パラメータである。これらのパラメータのうちフィルタ処理の強さに大きく関連するパラメータは振幅成分パラメータＡと周波数成分パラメータωである。振幅成分パラメータＡを大きくすると、ピクセル入れ替え距離ΔＹが大きくなり、揺らぎを大きくすることができる。また周波数成分パラメータωを小さくすると、ピクセル入れ替え周期２π／ωが短くなるため、揺らぎの速度が速くなり単位時間あたりの揺らぎを大きくすることができる。
【００６３】
ところで、図５に示すように、ピクセル入れ替えを行ったフィルタ画像をワークバッファに作成する際には、図５のＥ２に示すように、ワークバッファに元画像の全体をコピーすることが好ましい。これとは対照的にフィルタ処理対象オブジェクトＯＢ１だけをワークバッファに描き込むという部分コピーをする手法が考えられるが、このようにすると、フィルタ処理対象オブジェクトＯＢ１以外の色情報が失われてしまい、その状態でピクセル入れ替えを行うと、不自然な色のはみ出しがフィルタ画像に現れてしまう。このため図５のＥ２に示すように、元画像の全体をワークバッファにコピーして、そのコピー画像（ワーク画像）に対してピクセル入れ替え処理を行ってフィルタ画像を生成することにより、フィルタ画像において不自然な色のはみ出しが現れるという不都合を回避することができる。
【００６４】
３．本実施形態の処理
次に、本実施形態の詳細な処理例について図８及び図９のフローチャートを用いて説明する。
【００６５】
はじめに図８のフローチャートを用いて、グレアフィルタ処理を説明する。
【００６６】
まず、グレアが起きる領域のα値がα１（例えば１２８）以上、グレアが起きない領域のα値がα１未満となるように仮想カメラから見たシーンをフレームバッファに描画して元画像を生成する（ステップＳ２０）。
【００６７】
次に、フレームバッファの１／２のサイズのワークバッファ（第１のワークバッファ）ＷＢ１をクリアする。すなわちワークバッファＷＢ１を黒色（Ｒ，Ｇ，Ｂ）＝（０，０，０）に塗りつぶしておく（ステップＳ２１）。
【００６８】
次に、ワークバッファＷＢ１にフレームバッファの元画像を縮小コピーする（ステップＳ２２）。その際に、αテストを用いてα値ビット列の最上位ビットの状態を判定して、α値がα１（例えば１２８）以上のピクセルにだけワークバッファに縮小コピーする部分縮小コピーを行う。そして、ワークバッファＷＢ１に、単色ポリゴンの画像を減算合成する（ステップＳ２３）。すなわち図３で説明した色抽出処理により色の強さの低い成分が落とされる。
【００６９】
次に、フレームバッファの１／４のサイズのワークバッファ（第２のワークバッファ）ＷＢ２にワークバッファＷＢ１の画像を縮小コピーする（ステップＳ２４）。そして図４のＤ１，Ｄ２において説明した手法を利用して、ワークバッファＷＢ２の画像を横にずらした画像をワークバッファＷＢ２に加算合成して、横方向（Ｘ方向）に画像をぼかす処理を行う（ステップＳ２５）。さらに、図４のＤ１，Ｄ３において説明した手法を利用して、ワークバッファＷＢ２の画像を縦にずらした画像をワークバッファＷＢ２に加算合成して、縦方向（Ｙ方向）に画像をぼかす処理を行う（ステップＳ２６）。
【００７０】
次に、フレームバッファの１／８のサイズのワークバッファ（第３のワークバッファ）ＷＢ３にワークバッファＷＢ２の画像を縮小コピーする（ステップＳ２７）。そしてステップＳ２５と同様の手法で、ワークバッファＷＢ３の画像を横にずらした画像をワークバッファＷＢ３に加算合成して、横方向（Ｘ方向）に画像をぼかす処理を行う（ステップＳ２８）。さらに、ステップＳ２６と同様の手法で、ワークバッファＷＢ３の画像を縦にずらした画像をワークバッファＷＢ３に加算合成して、縦方向（Ｙ方向）に画像をぼかす処理を行う（ステップＳ２９）。
【００７１】
次に、ワークバッファＷＢ２の画像をフレームバッファのサイズに拡大して、その拡大された画像を適当な係数（第１のα値）を掛けてフレームバッファに加算合成する（ステップＳ３０）。またワークバッファＷＢ３の画像をフレームバッファのサイズに拡大して、その拡大された画像を適当な係数（第２のα値）を掛けてフレームバッファに加算合成する（ステップＳ３１）。
【００７２】
次に図９のフローチャートを用いて、揺らぎフィルタ処理を説明する。
【００７３】
まず、さざ波が起きる領域のα値がα１（例えば１２８）以上、さざ波が起きない領域のα値がα１未満となるように仮想カメラから見たシーンをフレームバッファに描画して元画像を生成する（ステップＳ１０）。
【００７４】
次に、仮想カメラの位置、方向、画角等の変化情報に基づいて、波を強めるべきか（波面の動きが大きくなるのか）、波を弱めるべきか（波面の動きが小さくなるのか）を決定する（ステップＳ１１）。例えば、仮想カメラの注視点の移動距離がしきい値を超えていれば、波を弱めるべきであると判断する。また例えば、仮想カメラの注視点の移動距離がしきい値を超えていた状態からしきい値を下回るように推移した場合には、波を強めるべきであると判断する。
【００７５】
次に、フィルタ強度パラメータの設定処理を行う。具体的には、波面の動きが大きなさざ波の場合の波の強さレベル（第１のレベル）と波面の動きが小さなさざ波の場合の波の強さレベル（第２のレベル）とを予め設定しておき、現在の波の強さレベルと目的値とを比較することによって、現在の波の強さレベルが目的とする波の強さレベルと異なっていると判断される場合には、波の強さの値（周期関数の振幅成分パラメータあるいは周波数成分パラメータ）を目的値（第１のレベルあるいは第２のレベル）に近づける処理を行う（ステップＳ１２）。
【００７６】
次に、ステップＳ１２で設定された波の強さレベルに基づいて、ピクセルの各点の位置座標をずらすためのテーブルデータ（ずらしテーブル）を作成する（ステップＳ１３）。このテーブルデータは、インデックスカラー・テクスチャマッピングにおいて、インデックステクスチャとして扱われる。
【００７７】
次に、フレームバッファ（表示画面）の１／２サイズのワークバッファ（縮小バッファ）を用意し、そのワークバッファに画面全体（元画像）を縮小コピーする（ステップＳ１４）。
【００７８】
次に、ワークバッファに縮小コピーされた画面（ワーク画像）を１６×１６（ピクセル）のサイズのブロックに分割し、各分割ブロックを、ブロック内の相対的位置によってインデックス化された２５６個のカラールックアップテーブル（ＣＬＵＴ）とみなして、インデックスカラー・テクスチャマッピング用のカラールックアップテーブルとして設定する（ステップＳ１５）。
【００７９】
次に、ピクセルの位置座標をずらすテーブルデータを２５６色のインデックステクスチャとみなして、各分割ブロックに対応する位置にインデックステクスチャを、ステップＳ１５で設定されたカラールックアップテーブルを参照しながらテクスチャマッピングしたポリゴン（仮想オブジェクト）を描画する（ステップＳ１６）。これによりワークバッファにフィルタ画像が作成される。
【００８０】
次にピクセル入れ替え処理の済んだ画像（フィルタ画像）を格納するワークバッファをフレームバッファのサイズに拡大してフレームバッファに書き込む（ステップＳ１７）。このときαテストを用いて、α値ビット列の最上位ビットの状態を判定して、α値がα１（例えば１２８）以上のピクセルにだけワークバッファに格納された画像を拡大した画像のピクセルを半透明描画によりフレームバッファの元画像に合成する。
【００８１】
４．ハードウェア構成
図８に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＤＶＤ９８２（情報記憶媒体。ＣＤでもよい。）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００８２】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセラレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【００８３】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データ（頂点データや他のパラメータ）を描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【００８４】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【００８５】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０（ＣＤドライブでもよい。）は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２（ＣＤでもよい。）にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【００８６】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００８７】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【００８８】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。またグレアフィルタの手法、ソフトフォーカスの手法、揺らぎフィルタの手法等は、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【００８９】
また本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【００９０】
【図１】本実施形態の画像生成システムの機能ブロック図。
【図２】本実施形態の手法の説明図。
【図３】本実施形態の手法の説明図。
【図４】本実施形態の手法の説明図。
【図５】本実施形態の手法の説明図。
【図６】本実施形態の手法の説明図。
【図７】本実施形態の手法の説明図。
【図８】本実施形態の具体的な処理例を示すフローチャート。
【図９】本実施形態の具体的な処理例を示すフローチャート。
【図１０】ハードウェア構成例。
【符号の説明】
【００９１】
１００  処理部、
１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、
１２０  描画部、１２２  ジオメトリ処理部、１２４  フィルタ処理部、
１３０  音生成部、１６０  操作部、１７０  記憶部、
１７１  主記憶部、１７２  描画バッファ、１７３  テクスチャ記憶部、
１７４  Ｚバッファ、１７５  ＬＵＴ記憶部、１７６  オブジェクトデータ記憶部、
１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、
１９４  携帯型情報記憶装置、１９６  通信部
【図１】
2006318387.tif 000003
【図３】
2006318387.tif 000004
【図４】
2006318387.tif 000005
【図５】
2006318387.tif 000006
【図６】
2006318387.tif 000007
【図７】
2006318387.tif 000008
【図８】
2006318387.tif 000009
【図９】
2006318387.tif 000010
【図１０】
2006318387.tif 000011
【図２】
2006318387.tif 000012