(57)【要約】【課題】効率的なぼかし処理を実現できるプログラム、情報記憶媒体及び画像生成システムを提供すること。【解決手段】  画像生成システムは、ぼかし処理の対象となるぼかし対象画像の情報を記憶するぼかし対象画像情報記憶部と、ぼかし対象画像に対して複数回のぼかし処理を行うぼかし処理部を含む。ぼかし処理部は、複数回のぼかし処理のうちの第Ｋのぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理を行い、変換処理が施されたぼかし画像に対して次の第Ｋ＋１のぼかし処理を行う。【選択図】        図３
2006004364.tif 000002
【特許請求の範囲】
【請求項１】
画像を生成するためのプログラムであって、
ぼかし処理の対象となるぼかし対象画像の情報を記憶するぼかし対象画像情報記憶部と、
前記ぼかし対象画像に対して複数回のぼかし処理を行うぼかし処理部として、
コンピュータを機能させ、
前記ぼかし処理部が、
前記複数回のぼかし処理のうちの第Ｋのぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理を行い、変換処理が施されたぼかし画像に対して次の第Ｋ＋１のぼかし処理を行うことを特徴とするプログラム。
【請求項２】
請求項１において、
前記変換処理のための変換テーブルを記憶する変換テーブル記憶部としてコンピュータを機能させ、
前記ぼかし処理部が、
前記変換テーブルを用いて、ぼかし画像のピクセル値を増加させる前記変換処理を行うことを特徴とするプログラム。
【請求項３】
請求項２において、
前記変換テーブルが、インデックスカラー・テクスチャマッピング用のルックアップテーブルであり、
前記ぼかし処理部が、
第Ｋのぼかし処理で得られたぼかし画像のピクセル値を、前記ルックアップテーブルのインデックス番号として設定し、前記ルックアップテーブルを用いたインデックスカラー・テクスチャマッピングを行うことで、ぼかし画像のピクセル値を増加させる前記変換処理を行うことを特徴とするプログラム。
【請求項４】
請求項３において、
前記ぼかし処理部が、
テクスチャ座標をシフトさせてバイリニア補間方式で、前記インデックスカラー・テクスチャマッピングを行うことで、前記変換処理と前記第Ｋ＋１のぼかし処理の両方を同時に行うことを特徴とするプログラム。
【請求項５】
請求項２乃至４のいずれかにおいて、
前記ぼかし処理部が、
ぼかし処理の回数に応じた変換特性を有する変換テーブルを用いて、前記変換処理を行うことを特徴とするプログラム。
【請求項６】
請求項２乃至５のいずれかにおいて、
前記ぼかし処理部が、
ぼかし対象画像の輪郭からぼかし境界に向かってぼかし画像のピクセル値をリニアに変化させる変換テーブルを用いて、前記変換処理を行うことを特徴とするプログラム。
【請求項７】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至６のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項８】
画像を生成する画像生成システムであって、
ぼかし処理の対象となるぼかし対象画像の情報を記憶するぼかし対象画像情報記憶部と、
前記ぼかし対象画像に対して複数回のぼかし処理を行うぼかし処理部とを含み、
前記ぼかし処理部が、
前記複数回のぼかし処理のうちの第Ｋのぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理を行い、変換処理が施されたぼかし画像に対して次の第Ｋ＋１のぼかし処理を行うことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
このような画像生成システムでは、グレア効果や被写界深度などの種々の画像表現のために、ぼかし画像を生成する場合がある。このようなぼかし画像を生成する技術としては例えば特開２００１−１６０１５３号公報に開示される従来技術がある。
【０００４】
しかしながら、画像生成システムのハードウェアの処理能力には限界があり、処理時間にも制約がある。従って、ぼかし効果の高い効率的なぼかし処理の実現が望まれている。
【特許文献１】特開２００１−１６０１５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、効率的なぼかし処理を実現できるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、画像を生成する画像生成システムであって、ぼかし処理の対象となるぼかし対象画像の情報を記憶するぼかし対象画像情報記憶部と、前記ぼかし対象画像に対して複数回のぼかし処理を行うぼかし処理部とを含み、前記ぼかし処理部が、前記複数回のぼかし処理のうちの第Ｋのぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理を行い、変換処理が施されたぼかし画像に対して次の第Ｋ＋１のぼかし処理を行う画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００７】
本発明によれば、ぼかし対象画像に対して複数回のぼかし処理が行われる。そして、第Ｋのぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理が行われ、その変換処理が施されたぼかし画像に対して次の第Ｋ＋１のぼかし処理が行われる。このようにすれば、ぼかし処理回数から期待されるぼかし長さよりも実際のぼかし長さの方が短くなってしまうなどの問題を解決でき、効率的なぼかし処理を実現できる。
【０００８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記変換処理のための変換テーブルを記憶する変換テーブル記憶部を含み（変換テーブル記憶部としてコンピュータを機能させ）、前記ぼかし処理部が、前記変換テーブルを用いて、ぼかし画像のピクセル値を増加させる前記変換処理を行うようにしてもよい。
【０００９】
このようにすれば、ぼかし処理の回数や内容に応じた適正な変換テーブルを用いて、変換処理を実現できる。
【００１０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記変換テーブルが、インデックスカラー・テクスチャマッピング用のルックアップテーブルであり、前記ぼかし処理部が、第Ｋのぼかし処理で得られたぼかし画像のピクセル値を、前記ルックアップテーブルのインデックス番号として設定し、前記ルックアップテーブルを用いたインデックスカラー・テクスチャマッピングを行うことで、ぼかし画像のピクセル値を増加させる前記変換処理を行うようにしてもよい。
【００１１】
このようにすれば、例えば１回のテクスチャマッピングで、ぼかし画像の変換処理を実現できるため、処理を効率化できる。
【００１２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ぼかし処理部が、テクスチャ座標をシフトさせてバイリニア補間方式で、前記インデックスカラー・テクスチャマッピングを行うことで、前記変換処理と前記第Ｋ＋１のぼかし処理の両方を同時に行うようにしてもよい。
【００１３】
このようにすれば、例えば１回のテクスチャマッピングで、ぼかし画像の変換処理とぼかし処理の両方を実現できるため、処理を更に効率化できる。
【００１４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ぼかし処理部が、ぼかし処理の回数に応じた変換特性を有する変換テーブルを用いて、前記変換処理を行うようにしてもよい。
【００１５】
このようにすれば、ぼかし処理の回数を増やしてぼかし長さを大きくした場合にも、品質の高いぼかし画像を得ることができる。
【００１６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ぼかし処理部が、ぼかし対象画像の輪郭からぼかし境界に向かってぼかし画像のピクセル値をリニアに変化させる変換テーブルを用いて、前記変換処理を行うようにしてもよい。
【発明を実施するための最良の形態】
【００１７】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００１８】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００１９】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００２０】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、ハードディスク、メモリーカード、メモリーカセット、磁気ディスク、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００２１】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ（液晶表示装置）、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２２】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２３】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００２４】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００２５】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００２６】
オブジェクト空間設定部１１０は、キャラクタ、車、戦車、建物、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００２７】
移動・動作処理部１１２は、オブジェクト（キャラクタ、車、又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクト（移動オブジェクト）をオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００２８】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００２９】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００３０】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を描画バッファ１７２（フレームバッファ、ワークバッファなどのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００３１】
描画部１２０は、テクスチャマッピング処理や隠面消去処理やαブレンディング処理を行うことができる。
【００３２】
ここでテクスチャマッピング処理は、テクスチャ記憶部１７４に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングする処理である。具体的には、オブジェクト（プリミティブ面）の頂点に設定（付与）されるテクスチャ座標等を用いてテクスチャ記憶部１７４からテクスチャ（色、α値などの表面プロパティ）を読み出す。そして、２次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間（テクセル補間）などを行う。
【００３３】
また隠面消去処理は、例えば、各ピクセルのＺ値（奥行き情報）が格納されるＺバッファ１７６（奥行きバッファ）を用いるＺバッファ法（奥行き比較法、Ｚテスト）により実現される。即ちオブジェクトのプリミティブ面の各ピクセルを描画する際に、Ｚバッファ１７６に格納されるＺ値を参照する。そして参照されたＺバッファ１７６のＺ値と、プリミティブ面の描画対象ピクセルでのＺ値とを比較し、描画対象ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、そのピクセルの描画処理を行うと共にＺバッファ１７６のＺ値を新たなＺ値に更新する。
【００３４】
またαブレンディング処理は、α値（Ａ値）に基づいて行う処理であり、通常αブレンディング、α加算ブレンディング或いはα減算ブレンディングなどがある。例えば通常αブレンディングの場合には下式の処理を行う。
【００３５】
ＲQ＝（１−α）×Ｒ1＋α×Ｒ2
ＧQ＝（１−α）×Ｇ1＋α×Ｇ2
ＢQ＝（１−α）×Ｂ1＋α×Ｂ2
一方、加算αブレンディングの場合には下式の処理を行う。
【００３６】
ＲQ＝Ｒ1＋α×Ｒ2
ＧQ＝Ｇ1＋α×Ｇ2
ＢQ＝Ｂ1＋α×Ｂ2
ここで、Ｒ1、Ｇ1、Ｂ1は、描画バッファ１７２に既に描画されている画像（元画像）のＲＧＢ成分であり、Ｒ2、Ｇ2、Ｂ2は、描画バッファ１７２に描画すべき画像のＲＧＢ成分である。また、ＲQ、ＧQ、ＢQは、αブレンディングにより得られる画像のＲＧＢ成分である。なおα値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度（透明度、不透明度と等価）情報、マスク情報、或いはバンプ情報などとして使用できる。
【００３７】
描画部１２０は、ぼかし対象画像描画部１２２、ぼかし処理部１２４を含む。なおこれらの一部を省略する構成としてもよく、例えばぼかし対象画像描画部１２２を省略する構成にしてもよい。
【００３８】
ぼかし対象画像描画部１２２は、ぼかし処理の対象となる画像（元画像、グレア源画像）の描画処理を行う。例えば、オブジェクトに対してジオメトリ処理（透視変換等の座標変換処理）を施して、ジオメトリ処理後のオブジェクト（ポリゴン）を描画バッファ１７２に描画（レンダリング）することなどにより、ぼかし対象画像を生成する。これにより、ぼかし対象画像の情報が描画バッファ１７２（広義にはぼかし対象画像情報記憶部）に記憶される。なおこのような描画処理の際には、Ｚバッファ１７６に格納されるＺ値を参照して、隠面消去を行いながら描画処理を行う。また、ぼかし対象画像描画部１２２の描画処理を行わずに、ぼかし対象画像の情報をぼかし対象画像情報記憶部に予め記憶しておき、この予め記憶したぼかし対象画像に対してぼかし処理を行うようにしてもよい。
【００３９】
ぼかし処理部１２４は、ぼかし対象画像のぼかし処理を行う。具体的には、ぼかし対象画像に対して複数回（Ｍ回）のぼかし処理を行う。例えばぼかし対象画像に対して第１のぼかし処理を行い、第１のぼかし処理で得られたぼかし画像に対して第２のぼかし処理を行い・・・第Ｋのぼかし処理で得られたぼかし画像に対して第Ｋ＋１のぼかし処理を行い・・・・第Ｍ−１のぼかし処理で得られたぼかし画像に対して第Ｍのぼかし処理を行う（Ｋは正の整数。Ｍは２以上の整数）。
【００４０】
そして本実施形態ではぼかし処理部１２４が、複数回のぼかし処理のうちの第Ｋのぼかし処理で得られたぼかし画像のピクセル値（α値、色情報等）を増加（かさ上げ）させる変換処理（補正処理）を行い、変換処理が施されたぼかし画像に対して第Ｋ＋１のぼかし処理を行う。
【００４１】
この場合、記憶部１７０は、変換処理のための変換テーブル（インデックスカラー・テクスチャマッピング用のルックアップテーブル等）を記憶する変換テーブル記憶部１７１（主記憶部）を含む。この変換テーブル記憶部１７１は、ぼかし処理の回数に応じた変換特性を有する変換テーブルを記憶することができる。
【００４２】
そしてぼかし処理部１２４は、変換テーブル記憶部１７１から変換テーブルを読み出し、この変換テーブルを用いて、ぼかし画像のピクセル値を増加させる変換処理を行う。具体的には、ぼかし処理部１２４は、第Ｋのぼかし処理で得られたぼかし画像のピクセル値（α値、色情報等）を、インデックスカラー・テクスチャマッピング用のルックアップテーブルのインデックス番号として設定する（インデックス番号とみなす）。そして、このルックアップテーブル（広義には変換テーブル）を用いたインデックスカラー・テクスチャマッピングを行うことで、第Ｋのぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理を行う。そしてこのインデックスカラー・テクスチャマッピングを、テクスチャ座標をシフト（０．５テクセルシフト）させてバイリニア補間方式（テクセル補間方式）で行うことで、変換処理と第Ｋ＋１のぼかし処理の両方を行うことが可能になり、処理効率を高めることができる。
【００４３】
なお変換処理は、全てのピクセルに対して行うこともできるし、一部のピクセルに対して行うこともできる。また複数回のぼかし処理により得られたぼかし画像を、元画像のぼかし画像として出力してもよいし、得られたぼかし画像と元画像の合成処理を行って、例えばグレア効果や被写界深度等の画像エフェクトが元画像に施された画像を出力してもよい。また、ぼかし画像を反転し、反転後のぼかし画像のピクセル値を減少させるような変換処理を行う場合も本発明の範囲に含まれる。
【００４４】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００４５】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００４６】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【００４７】
２．１  ぼかし処理の効率化
本実施形態では、ぼかし画像のぼかし長さを大きくするために、複数回のぼかし処理を行う。具体的には、まず、ぼかし処理に使用されるワークバッファＷＢＵＦ１、ＷＢＵＦ２をＶＲＡＭ上に確保する。
【００４８】
次にＷＢＵＦ１に、ぼかし処理の対象となる画像を描画する。そしてＷＢＵＦ１に描画した画像をテクスチャとして扱い、このテクスチャをマッピングした、テクスチャと同サイズのポリゴン（スプライト）をＷＢＵＦ２に描画する。この時、ピクセル中心を４テクセルの中間に対応させて、バイリニア補間を使う。即ち、テクスチャ座標をシフトさせてバイリニア補間方式でテクスチャマッピングを行う。これにより、ワークバッファＷＢＵＦ２には、ＷＢＵＦ１の画像を０．５ピクセルだけぼかした画像が描画される。
【００４９】
次に、ＷＢＵＦ２の画像をテクスチャとして扱い、このテクスチャをマッピングした、テクスチャと同サイズのポリゴン（スプライト）をＷＢＵＦ１に描画する。この時、ピクセル中心を４テクセルの中間に対応させて、バイリニア補間を使う。即ち、テクスチャ座標をシフトさせてバイリニア補間方式でテクスチャマッピングを行う。この結果、ワークバッファＷＢＵＦ１には、ＷＢＵＦ２の画像を０．５ピクセルだけぼかした画像が描画される。
【００５０】
以上のようなＷＢＵＦ１からＷＢＵＦ２への描画処理とＷＢＵＦ２からＷＢＵＦ１への描画処理という1往復の処理を行うことで、ＷＢＵＦ１の画像は、ぼかし対象画像を１ピクセルぼかした画像になる。必要とするぼかし長さがＮピクセルである場合には、ぼかし処理をＮ往復だけ繰り返せばよい。
【００５１】
さて、このようにバイリニア補間などを利用してぼかし画像を生成した場合、ぼかし処理の回数が多くなればなるほど（ぼかし長さが大きくなればなるほど）、ぼかし処理の効率が低下するという問題があることが判明した。
【００５２】
例えば図２（Ａ）は、元の１ピクセルに対してバイリニア補間のぼかし処理を４往復行って、４ピクセルだけぼかした時に、元のピクセルの値が周囲のピクセルに対してどのように分布するかを示した図である。
【００５３】
図２（Ａ）において、ぼかし中心に位置する元のピクセルのぼかし処理前のピクセル値は１であり、ぼかし処理後は４９００／６５５３６となっている。一方、ぼかし境界に位置する例えばＥ１に示すピクセルのぼかし処理後のピクセル値は、７０／６５５３６となっている。
【００５４】
そして例えば元のピクセルのぼかし処理前のピクセル値（α値）を２５５として、１未満の端数を切り捨てた結果は図２（Ｂ）に示すようになる。なお実際には１回(０．５ピクセル)のぼかし処理毎に、端数の切り捨てが行われるので、４ピクセルぼかし後の値は、図２（Ｂ）に示す値よりも小さくなる。
【００５５】
図２（Ｂ）において、ぼかし中心に位置する元のピクセルのぼかし処理後のピクセル値は、１未満の端数が切り捨てられることで、２５５×４９００／６５５３６＝１９．０６５８・・・＝１９になる。一方、ぼかし境界に位置する例えばＥ１に示すピクセルのぼかし処理後のピクセル値は、１未満の端数が切り捨てられることで、２５５×７０／６５５３６＝０．２７２３・・・・＝０になる。
【００５６】
図２（Ｂ）の例では、元の１ピクセルが周囲に４ピクセルぼけることを期待しているにもかからわず、ぼかし境界である最外周のピクセルの値が０になっているため、実質的なぼかし長さは３ピクセルになっている。このように、ぼかし処理を繰り返した場合に、ぼかし処理の回数よりも実際のぼかし長さの方が短くなり、ぼかし効率が悪化する。そしてぼかし処理の回数が多くなればなるほど、ぼかし効率は更に悪化する。
【００５７】
このような問題を解決するために、本実施形態では、ぼかし処理の途中に例えばテーブル変換を介在させて、ぼかしの結果が小さくなりすぎないように変換処理を行っている。
【００５８】
例えば図３（Ａ）の元の１ピクセルに対して１回目の第１のぼかし処理（広義には第Ｋのぼかし処理）を施すと、元の１ピクセルのピクセル値がその周囲にしみ出して、図３（Ｂ）に示すようになる。
【００５９】
この時に本実施形態では、図３（Ｃ）に示すように、第１のぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理を行う。例えば図３（Ｃ）では、ピクセル値が０よりも大きいピクセルに対して、そのピクセル値を増加させる変換処理を行っている。そして図３（Ｄ）に示すように、変換処理が施されたぼかし画像に対して、次の第２のぼかし処理（広義にはＫ＋１のぼかし処理）を施す。なお、図３（Ｃ）の変換処理と図３（Ｄ）のぼかし処理を同時に行うようにしてもよい。
【００６０】
次に本実施形態では図４（Ａ）に示すように、第２のぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理を行う。そして図４（Ｂ）に示すように、変換処理が施されたぼかし画像に対して次の第３のぼかし処理を施す。
【００６１】
以上のようにすれば、ぼかし処理後のぼかし画像のピクセル値がかさ上げされるため、図２（Ｂ）のようにぼかし画像の境界のピクセル値が小さくなって０になってしまう事態を防止できる。この結果、例えばＮ往復のぼかし処理で、Ｎピクセルの大きさのぼかし長さを得ることが可能になり、効率的なぼかし処理を実現できる。特に本実施形態の手法は、ぼかし処理の回数が多くなればなるほど、従来の手法に比べて有利になる。
【００６２】
２．２  ぼかし処理の具体例
次に本実施形態のぼかし処理の具体例について説明する。
【００６３】
図５（Ａ）に示すように、ワークバッファＷＢＵＦ１に描画された画像（ぼかし対象画像）をテクスチャとして扱い、バイリニア補間方式のテクスチャマッピングを行うことで、第１のぼかし処理が施されたぼかし画像をワークバッファＷＢＵＦ２に描画する。
【００６４】
次に図５（Ｂ）に示すように、ワークバッファＷＢＵＦ２に描画された画像をテクスチャとして扱い、インデックスカラー＆バイリニア補間方式のテクスチャマッピングを行うことで、ピクセル値を増加させる変換処理と第２のぼかし処理とが施されたぼかし画像をワークバッファＷＢＵＦ１に描画する。
【００６５】
次に図５（Ｃ）に示すように、ワークバッファＷＢＵＦ１に描画された画像をテクスチャとして扱い、バイリニア補間方式のテクスチャマッピングを行うことで、第３のぼかし処理が施されたぼかし画像をワークバッファＷＢＵＦ２に描画する。
【００６６】
次に図５（Ｄ）に示すように、ワークバッファＷＢＵＦ２に描画された画像をテクスチャとして扱い、インデックスカラー＆バイリニア補間方式のテクスチャマッピングを行うことで、ピクセル値を増加させる変換処理と第４のぼかし処理とが施されたぼかし画像をワークバッファＷＢＵＦ１に描画する。
【００６７】
以上のぼかし処理を所定回数だけ繰り返すことで、所望のぼかし長さのぼかし画像を得ることができる。
【００６８】
次に、バイリニア補間方式のテクスチャマッピングを利用したぼかし画像の生成手法について説明する。
【００６９】
まず図６のＦ１に示すように、ワークバッファＷＢＵＦ１の画像（ピクセル値）をテクスチャとして設定する。そして図６のＦ２に示すように、このテクスチャを仮想ポリゴン（仮想オブジェクト）にバイリニア補間方式でマッピングする際に、仮想ポリゴンの頂点に与えるテクスチャ座標を、例えば（０．５、０．５）だけ右下方向にシフト（ずらす、移動）させて、ワークバッファＷＢＵＦ２に描画する。すると、バイリニア補間により自動的にＷＢＵＦ１の画像の各ピクセルの色が、そのピクセルの周囲のピクセルにしみ出すようになる。これにより、ＷＢＵＦ１の画像を０．５ピクセルだけぼかした画像がＷＢＵＦ２に描画される。
【００７０】
例えばＷＢＵＦ１の画像の描画領域の頂点ＶＸ１、ＶＸ２、ＶＸ３、ＶＸ４の座標が（Ｘ、Ｙ）＝（Ｘ０、Ｙ０）、（Ｘ０、Ｙ１）、（Ｘ１、Ｙ１）、（Ｘ１、Ｙ０）であったとする。この場合に、仮想ポリゴンの頂点ＶＶＸ１、ＶＶＸ２、ＶＶＸ３、ＶＶＸ４に与えるテクスチャ座標（Ｕ、Ｖ）を、各々、（Ｘ０、Ｙ０）、（Ｘ０、Ｙ１）、（Ｘ１、Ｙ１）、（Ｘ１、Ｙ０）に設定すれば、ピクセル位置とテクセル位置とがずれずに一致する。従って画像はぼけない。これに対して、仮想ポリゴンの頂点ＶＶＸ１、ＶＶＸ２、ＶＶＸ３、ＶＶＸ４に与えるテクスチャ座標（Ｕ、Ｖ）を、各々、（Ｘ０＋０．５、Ｙ０＋０．５）、（Ｘ０＋０．５、Ｙ１＋０．５）、（Ｘ１＋０．５、Ｙ１＋０．５）、（Ｘ１＋０．５、Ｙ０＋０．５）に設定すれば、ピクセル位置とテクセル位置とがずれるようになる。従って、バイリニア補間により、色の補間が行われ、ＷＢＵＦ１の画像を０．５ピクセルだけぼかした画像がＷＢＵＦ２に描画される。
【００７１】
次に、ＷＢＵＦ２の画像をテクスチャとして設定する。そして、このテクスチャを仮想ポリゴンにバイリニア補間方式でマッピングする際に、仮想ポリゴンの頂点に与えるテクスチャ座標を例えば（−０．５、−０．５）だけ左上方向にシフトさせて、ＷＢＵＦ１に描画する。これにより、ＷＢＵＦ２の画像を０．５ピクセルだけぼかした画像がＷＢＵＦ１に描画される。これにより、結局、ＷＢＵＦ１に描画されていた画像を１ピクセルだけぼかした画像が、ＷＢＵＦ１に上書きされるようになる。
【００７２】
次に、インデックスカラー・テクスチャマッピングを利用した変換処理の実現手法について説明する。
【００７３】
インデックスカラー・テクスチャマッピングでは、テクスチャ記憶部の使用記憶容量を節約するために、実際の色情報（ＲＧＢ）ではなく、インデックス番号がテクスチャの各テクセルに関連づけて記憶される。またインデックスカラー・テクスチャマッピング用のルックアップテーブルＣＬＵＴには、インデックス番号により指定される色情報（ＲＯＵＴ、ＧＯＵＴ、ＢＯＵＴ）やα値（αＯＵＴ）が記憶される。本実施形態では、このインデックスカラー・テクスチャマッピングを、通常とは異なる形態で利用している。
【００７４】
具体的には図７のＤ１に示すように、ワークバッファＷＢＵＦ２の画像のピクセル値（αＩＮ）をルックアップテーブルＣＬＵＴのインデックス番号として設定する（インデックス番号とみなす）。そしてＤ２に示すように、ＷＢＵＦ２の画像のピクセル値（αＩＮ）がインデックス番号として設定されたルックアップテーブルＣＬＵＴを用いて、仮想ポリゴン（スプライト）に対してインデックスカラー・テクスチャマッピングを行い、仮想ポリゴンをワークバッファＷＢＵＦ１に描画する。
【００７５】
このようにすれば、例えばＷＢＵＦ２の画像のピクセル値であるαＩＮを、ルックアップテーブルＣＬＵＴによりαＯＵＴに変換して、ＷＢＵＦ１に描画できるようになる。しかも、ＷＢＵＦ２の全てのピクセルのαＩＮを、１回のテクスチャマッピングでαＯＵＴに変換してＷＢＵＦ１に描画できるため、処理効率が高いという利点がある。
【００７６】
なお、図７では、インデックス番号として、ＷＢＵＦ２の画像のピクセル値であるα値（αＩＮ）を設定し、変換処理後のピクセル値としてα値（αＯＵＴ）を出力している。しかしながら、α値のみならず色情報（ＲＯＵＴ、ＧＯＵＴ、ＢＯＵＴ）をインデックス番号に設定し、変換処理後のピクセル値として色情報を出力するようにしてもよい。
【００７７】
本実施形態では、図６で説明したバイリニア補間方式で、図７で説明したインデックスカラー・テクスチャマッピングを行うことで、図５（Ｂ）のようにピクセル値の変換処理とぼかし処理の両方を同時に行うことに成功している。具体的には、ＷＢＵＦ２の画像のピクセル値（α値）をルックアップテーブルＣＬＵＴのインデックス番号として設定する。そしてルックアップテーブルＣＬＵＴを用いて、テクスチャ座標をシフトさせてバイリニア補間方式で、仮想ポリゴンに対してインデックスカラー・テクスチャマッピングを行い、仮想ポリゴンをワークバッファＷＢＵＦ１に描画する。このようにすれば、１回のテクスチャマッピングで、ピクセル値の変換処理とぼかし処理の両方を同時に行うことが可能になり、処理を更に効率化できる。
【００７８】
２．３  グレア表現画像の生成
次に、本実施形態のぼかし処理を利用したグレア表現画像の生成手法について説明する。なお本実施形態では、グレアの元となる、明るいオブジェクト或いは画面上の明るい領域をグレア源と呼び、グレアを受ける側のオブジェクトを被グレアオブジェクトと呼ぶこととする。
【００７９】
本実施形態ではグレア表現画像の生成のためのグレア処理を、ポスト処理で行う。即ち、グレア源と被グレアオブジェクトを含む全てのオブジェクトを描画した後に、グレア処理を行う。具体的には、オブジェクトに対してジオメトリ処理（透視変換等の座標変換処理）を施して、ジオメトリ処理後のオブジェクト（ポリゴン）をフレームバッファ（広義には描画領域）に描画（レンダリング）することで、元画像を生成し、この元画像に対してグレア処理を行う。従って、グレア処理の開始時点においては、被グレアオブジェクトを含むオブジェクト（元画像）のＺ値（奥行き情報）が、既にＺバッファに格納されている状態になっている。
【００８０】
図８は、本実施形態のグレア処理の概要を示すフローチャートである。
【００８１】
まず、グレア源の３次元情報（位置・形状情報）を３次元情報記憶部から読み出す（ステップＳ１）。例えばグレア源が球である場合には、球の中心座標と半径を３次元情報として読み出す。そして読み出されたグレア源の３次元情報に基づいて、ぼかし処理領域の領域サイズを決定する（ステップＳ２）。具体的にはスクリーン座標系（画面上）におけるグレア源の座標を求め、画面上の処理領域の位置とサイズを決定する。
【００８２】
次にＺテストを有効にして、Ｚバッファの元画像のＺ値を参照しながら、グレア源を描画し、グレア源画像を生成する（ステップＳ３）。
【００８３】
次に、ステップＳ２で決定された領域サイズにより設定（確保）されるぼかし処理領域において、グレア源画像のぼかし処理を行って、ぼかし画像を生成する（ステップＳ４）。そして元画像とぼかし画像に基づいて、グレア効果が元画像に施されたグレア表現画像を生成する（ステップＳ５）。
【００８４】
図９に元画像の例を示す。ＯＢは被グレアオブジェクトであり、ＧＳはグレア源である。このゲームシーンは、被グレアオブジェクトＯＢであるキャラクタが部屋に立っており、部屋の壁に空いた穴の領域であるグレア源ＧＳから、光が漏れているシーンである。図９の元画像では、グレア源ＧＳのうち、被グレアオブジェクトＯＢにより隠れている部分が隠面消去されている。
【００８５】
図１０にグレア表現画像の例を示す。図１０では、グレア源ＧＳからの光により、被グレアオブジェクトＯＢの輪郭が浸食されてぼやけて見える画像が生成されている。即ちグレア源ＧＳからの光が被グレアオブジェクトＯＢの手前側に回り込んでいるかのように見えるリアルなグレア表現画像が生成されている。
【００８６】
例えば本実施形態とは異なるグレア処理手法として、画面上の明るい領域をグレア源と見なして処理する自動抽出方式が考えられる。本実施形態のグレア処理手法は、この自動抽出方式と比べて次のような利点がある。
【００８７】
第１に、本実施形態の手法は処理が軽い。即ち自動抽出方式では全画面が処理対象となるが、本実施形態の手法では画面上の限定された領域のみが処理対象となるので（ステップＳ２、Ｓ４参照）、処理負荷を軽くできる。第２に、本実施形態の手法ではグレア源を誤ることがない。即ち自動抽出方式では、グレア源になって欲しくない箇所がグレア源として処理されることがある。これに対して本実施形態では、３次元情報に基づいてグレア源の位置等を明示的に指定するので、このような誤動作を生じない。
【００８８】
なお、本実施形態では、グレア源の形状として、球、円板、トライアングルストリップ（triangle strip）、トライアングルファン（triangle fan）の４種類の設定が可能になっている。但しグレア源の形状はこれらの４種類に限定されず、種々の変形実施が可能である。図１１に、これらの４種類のグレア源の３次元情報（３次元位置・形状指定パラメータ）とグレア処理における描画方法（図８のステップＳ３）の例を示す。
【００８９】
また、図８のステップＳ２の領域サイズの決定は、グレア源の３次元情報に基づいて、スクリーン座標系でのグレア源を内包するバウンディングボックスを生成することで実現できる。このバウンディングボックスは、グレア源のスクリーン座標系での頂点のＸ座標、Ｙ座標を求め、これらの頂点のＸ座標の最小値ＸＭＩＮ、最大値ＸＭＡＸと、Ｙ座標の最小値ＹＭＩＮ、最大値ＹＭＡＸを求めることで生成できる。
【００９０】
２．４  詳細な処理
次に本実施形態のグレア処理の詳細な手順について説明する。
【００９１】
本実施形態では、グレア源描画とぼかし処理には、α値のプレーンのみを使用する。そしてグレア源の３次元情報（位置・形状パラメータ）と、グレア色情報（白、黄色、青等）と、グレアのぼかし長さ情報を使用して、以下の手順で処理を行う。
【００９２】
（１）グレア源の頂点の座標変換
まず、グレア源の頂点の座標変換を行って、スクリーン座標系におけるグレア源の頂点の座標値を求める。
【００９３】
（２）処理領域の決定
上記（１）で求めた頂点座標の値から、画面上の処理領域のバウンディングボックスを求める。
【００９４】
（３）フレームバッファのクリア
グレア源描画の前処理として、フレームバッファ上の描画領域(上記（２）で求めた領域)のα値を０にクリアする。
【００９５】
（４）グレア源の描画
図１２（Ａ）に示すように、フレームバッファ上にグレア源を描画する。描画はαプレーンに対してのみ行い、描画色は例えばα＝２５５に設定する。このようにすることで、グレア源が存在する部分のαプレーンにはα＝２５５が書き込まれることになる。またこの場合に、Ｚテストを有効にして描画することで、グレア源よりも手前に被グレアオブジェクト等のオブジェクトが存在する場合に、グレア源に対する隠面消去が適正に行われるようになる。
【００９６】
（５）ワークバッファＷＢＵＦ１のクリア
ＶＲＡＭ上にワークバッファＷＢＵＦ１を確保する。ＷＢＵＦ１はαプレーンのみを使用する。ＷＢＵＦ１のサイズは、上記（２）で求めたバウンディングボックスのサイズに対して、下記（６）の縮小処理と下記（８）のぼかし処理によるぼけ足の長さを見込んだものに設定する。そしてＷＢＵＦ１のαプレーンの全てのα値を０にクリアする。
【００９７】
（６）グレア源画像の縮小コピー
高速化のためにぼかし処理の前にグレア源画像を縮小する。即ち上記（４）で描画したグレア源画像を図１２（Ｂ）に示すように、縦、横、各々、１／２に縮小してワークバッファＷＢＵＦ１に描画する。なお、グレア源画像の第１〜第Ｎ（Ｎは２以上の整数）のサンプリング点グループでの情報に基づいて第１〜第Ｎの縮小画像を生成してもよい。この場合には下記（８）において、これらの第１〜第Ｎの縮小画像に対してぼかし処理を施して、第１〜第Ｎのぼかし縮小画像を生成する。そして下記（９）において第１〜第Ｎのぼかし縮小画像の拡大処理と元画像との合成処理を行うことで、グレア表現画像を生成する。
【００９８】
（７）ワークバッファＷＢＵＦ２のクリア
ＶＲＡＭ上に、ぼかし処理に使用されるワークバッファＷＢＵＦ２を確保する。ＷＢＵＦ２はαプレーンのみを使用する。ＷＢＵＦ２の全領域をクリアする必要はないので、領域の縁部分のα値のみを０にクリアする。
【００９９】
（８）ぼかし処理
次に図３（Ａ）〜図５（Ｄ）で説明したぼかし処理を行う。具体的には、上記（６）でＷＢＵＦ１に描画した画像をテクスチャとして扱い、このテクスチャをマッピングした、テクスチャと同じサイズのポリゴンを、ＷＢＵＦ２に描画する。この時、テクスチャ座標をシフトさせてバイリニア補間方式でテクスチャマッピングを行う。この結果、ワークバッファＷＢＵＦ２には、ＷＢＵＦ１の画像を０．５ピクセルだけぼかした画像が描画される。
【０１００】
次に、ＷＢＵＦ２の画像をテクスチャとして扱い、このテクスチャをマッピングした、テクスチャと同じサイズのポリゴンを、ＷＢＵＦ１に描画する。この時、テクスチャ座標をシフトさせてバイリニア補間方式で、インデックスカラー・テクスチャマッピングを行う。この結果、ワークバッファＷＢＵＦ１には、ＷＢＵＦ２の画像を０．５ピクセルだけぼかした画像が描画される。またこの際に、図７で説明したインデックスカラー・テクスチャマッピングを行うことで、図３（Ａ）〜図４（Ｂ）で説明した変換処理も行われるようになる。この結果、図１３に示すように、ワークバッファＷＢＵＦ１には、グレア源画像にぼかし処理を施した画像が描画される。
【０１０１】
（９）グレア表現画像の生成
ここまでの処理で、ＷＢＵＦ１のαプレーンにはグレア源をぼかした画像が描かれている。このぼかし画像の情報（α値）を、インデックスカラー・テクスチャマッピング用のルックアップテーブル（ＣＬＵＴ）のインデックス番号として設定する。このようなルックアップを介在させることで、グレアのぼかし具合や強さを調整できるようになる。そしてインデックス番号が設定されたテクスチャがマッピングされ、その色（頂点カラー）がグレア色に設定されたポリゴン（スプライト）を、フレームバッファに加算αブレンディングで描画する。以上の処理によりグレア表現画像が完成する。例えばグレア色を白にすれば、白の光のグレア効果が表現された画像が生成され、グレア色を黄色にすれば、黄色の光のグレア効果が表現された画像が生成される。
【０１０２】
以上のように本実施形態では、グレア源のぼかし画像を元画像に合成することで、図１０のようにグレア効果が表現されたリアルなグレア表現画像の生成に成功している。そして本実施形態の手法では、グレア源の３次元情報により特定される領域サイズの処理領域で、ぼかし処理が行われるため、グレア処理の負荷を格段に軽減できる。特に、ぼかし長を長くするためにぼかし処理を複数回行う場合に、本実施形態の手法による処理負荷の軽減の効果が大きいという利点がある。
【０１０３】
２．５  変換テーブルによる変換処理
本実施形態では、変換処理のための変換テーブルを用意し、この変換テーブルを用いて、図３（Ｃ）、図４（Ａ）で説明したぼかし画像のピクセル値を増加させる変換処理を行っている。この変換テーブルとしては、図７で説明したインデックスカラー・テクスチャマッピング用のルックアップテーブルＣＬＵＴなどを用いることができる。
【０１０４】
そして本実施形態では、ぼかし処理の回数に応じた適正な変換特性を有する変換テーブルを用いて、ぼかし画像のピクセル値を増加させる変換処理を行っている。即ちぼかし処理の回数に応じて変換処理の特性を異ならせている。
【０１０５】
図１４は、Ｇ１に示す変換テーブル（αＩＮ−αＯＵＴ変換特性）を用いた場合のぼかし画像（グレア表現画像）の例である。このＧ１の変換テーブル（ＣＬＵＴ）は、ぼかし処理の往復回数（図５（Ａ）（Ｂ）を１往復とした場合の回数）が４回である場合に用いられる変換テーブルである。Ｇ１の変換テーブルでは、αＩＮが最小値（０）や最大値（２５５）の場合にはαＩＮ＝αＯＵＴになっており、αＩＮが中間値の場合にはαＯＵＴ＞αＩＮとなっている。
【０１０６】
同様に図１５、図１６、図１７は、Ｇ２、Ｇ３、Ｇ４に示す変換テーブルを用いた場合のぼかし画像（グレア表現画像）の例である。これらのＧ２、Ｇ３、Ｇ４の変換テーブルは、各々、ぼかし処理の往復回数が５回、６回、７回である場合に用いられる変換テーブルである。
【０１０７】
このように、ぼかし処理回数に応じた変換特性を有する変換テーブルを用いて、ぼかし画像のピクセル値を増加させる変換処理を行えば、ぼかし処理回数を多くしてぼかし長さを大きくした場合にも、品質の高いぼかし画像（グレア表現画像）を生成できるようになる。
【０１０８】
なお、ぼかし処理回数に応じた適正な変換処理を行うためには、図１８に示すように、ぼかし対象画像の輪郭（Ｈ０、Ｈ１）からぼかし境界（Ｈ２、Ｈ３）に向かってぼかし画像のピクセル値（α値等）をリニアに変化させる変換テーブルを用いることが望ましい。このようにぼかし画像のピクセル値をリニアに変化させることで、良質なぼかし画像を得ることできる。また、例えば上述したグレア表現画像の描画時におけるグレアのぼかし具合や強さの調整も、容易に行うことが可能になるという利点もある。
【０１０９】
３．ハードウェア構成
図１９に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１１０】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１１１】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【０１１２】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１１３】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１１４】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１１５】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１１６】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（描画領域、ピクセル値、変換テーブル等）として引用された用語（フレームバッファ・ワークバッファ、α値、ルックアップテーブル等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１１７】
また、ぼかし処理やピクセル値の変換処理も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。例えば、ぼかし処理、変換処理を、図６、図７で説明した手法とは異なる手法で実現してもよい。
【０１１８】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１１９】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】図２（Ａ）（Ｂ）は複数回のぼかし処理を行った場合の問題点の説明図。
【図３】図３（Ａ）〜（Ｄ）は本実施形態の手法の説明図。
【図４】図４（Ａ）（Ｂ）は本実施形態の手法の説明図。
【図５】図５（Ａ）〜（Ｄ）はぼかし処理の具体例の説明図。
【図６】バイリニア補間を用いたぼかし処理の説明図。
【図７】インデックスカラー・テクスチャマッピングを用いた変換処理の説明図。
【図８】グレア表現画像の生成手法の処理のフローチャート。
【図９】元画像の例。
【図１０】グレア表現画像の例。
【図１１】グレア源の３次元情報と描画方法の説明図。
【図１２】図１２（Ａ）（Ｂ）はグレア処理の詳細例の説明図。
【図１３】グレア処理の詳細例の説明図。
【図１４】ぼかし処理回数に応じた変換テーブルを用いる手法の説明図。
【図１５】ぼかし処理回数に応じた変換テーブルを用いる手法の説明図。
【図１６】ぼかし処理回数に応じた変換テーブルを用いる手法の説明図。
【図１７】ぼかし処理回数に応じた変換テーブルを用いる手法の説明図。
【図１８】ぼかし処理回数に応じた変換テーブルを用いる手法の説明図。
【図１９】ハードウェア構成例。
【符号の説明】
【０１２０】
ＧＳ  グレア源、ＯＢ  被グレアオブジェクト、
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１２０  描画部、１２２  ぼかし対象画像描画部、
１２４  ぼかし処理部、１３０  音生成部、１６０  操作部、１７０  記憶部、
１７１  変換テーブル記憶部、１７２  描画バッファ（ぼかし対象画像情報記憶部）、
１７４  テクスチャ記憶部、１７６  Ｚバッファ、１８０  情報記憶媒体、
１９０  表示部、１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部、
【図１】
2006004364.tif 000003
【図２】
2006004364.tif 000004
【図３】
2006004364.tif 000005
【図４】
2006004364.tif 000006
【図５】
2006004364.tif 000007
【図６】
2006004364.tif 000008
【図７】
2006004364.tif 000009
【図８】
2006004364.tif 000010
【図１１】
2006004364.tif 000011
【図１８】
2006004364.tif 000012
【図１９】
2006004364.tif 000013
【図９】
2006004364.tif 000014
【図１０】
2006004364.tif 000015
【図１２】
2006004364.tif 000016
【図１３】
2006004364.tif 000017
【図１４】
2006004364.tif 000018
【図１５】
2006004364.tif 000019
【図１６】
2006004364.tif 000020
【図１７】
2006004364.tif 000021