説明

プログラム、情報記憶媒体、及び画像生成システム

【課題】効率的なぼかし処理を実現できるプログラム、情報記憶媒体及び画像生成システムを提供すること。
【解決手段】 画像生成システムは、ぼかし処理の対象となるぼかし対象画像の情報を記憶するぼかし対象画像情報記憶部と、ぼかし対象画像に対して複数回のぼかし処理を行うぼかし処理部を含む。ぼかし処理部は、複数回のぼかし処理のうちの第Kのぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理を行い、変換処理が施されたぼかし画像に対して次の第K+1のぼかし処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【0002】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【0003】
このような画像生成システムでは、グレア効果や被写界深度などの種々の画像表現のために、ぼかし画像を生成する場合がある。このようなぼかし画像を生成する技術としては例えば特開2001−160153号公報に開示される従来技術がある。
【0004】
しかしながら、画像生成システムのハードウェアの処理能力には限界があり、処理時間にも制約がある。従って、ぼかし効果の高い効率的なぼかし処理の実現が望まれている。
【特許文献1】特開2001−160153号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、効率的なぼかし処理を実現できるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【0006】
本発明は、画像を生成する画像生成システムであって、ぼかし処理の対象となるぼかし対象画像の情報を記憶するぼかし対象画像情報記憶部と、前記ぼかし対象画像に対して複数回のぼかし処理を行うぼかし処理部とを含み、前記ぼかし処理部が、前記複数回のぼかし処理のうちの第Kのぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理を行い、変換処理が施されたぼかし画像に対して次の第K+1のぼかし処理を行う画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0007】
本発明によれば、ぼかし対象画像に対して複数回のぼかし処理が行われる。そして、第Kのぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理が行われ、その変換処理が施されたぼかし画像に対して次の第K+1のぼかし処理が行われる。このようにすれば、ぼかし処理回数から期待されるぼかし長さよりも実際のぼかし長さの方が短くなってしまうなどの問題を解決でき、効率的なぼかし処理を実現できる。
【0008】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記変換処理のための変換テーブルを記憶する変換テーブル記憶部を含み(変換テーブル記憶部としてコンピュータを機能させ)、前記ぼかし処理部が、前記変換テーブルを用いて、ぼかし画像のピクセル値を増加させる前記変換処理を行うようにしてもよい。
【0009】
このようにすれば、ぼかし処理の回数や内容に応じた適正な変換テーブルを用いて、変換処理を実現できる。
【0010】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記変換テーブルが、インデックスカラー・テクスチャマッピング用のルックアップテーブルであり、前記ぼかし処理部が、第Kのぼかし処理で得られたぼかし画像のピクセル値を、前記ルックアップテーブルのインデックス番号として設定し、前記ルックアップテーブルを用いたインデックスカラー・テクスチャマッピングを行うことで、ぼかし画像のピクセル値を増加させる前記変換処理を行うようにしてもよい。
【0011】
このようにすれば、例えば1回のテクスチャマッピングで、ぼかし画像の変換処理を実現できるため、処理を効率化できる。
【0012】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ぼかし処理部が、テクスチャ座標をシフトさせてバイリニア補間方式で、前記インデックスカラー・テクスチャマッピングを行うことで、前記変換処理と前記第K+1のぼかし処理の両方を同時に行うようにしてもよい。
【0013】
このようにすれば、例えば1回のテクスチャマッピングで、ぼかし画像の変換処理とぼかし処理の両方を実現できるため、処理を更に効率化できる。
【0014】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ぼかし処理部が、ぼかし処理の回数に応じた変換特性を有する変換テーブルを用いて、前記変換処理を行うようにしてもよい。
【0015】
このようにすれば、ぼかし処理の回数を増やしてぼかし長さを大きくした場合にも、品質の高いぼかし画像を得ることができる。
【0016】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ぼかし処理部が、ぼかし対象画像の輪郭からぼかし境界に向かってぼかし画像のピクセル値をリニアに変化させる変換テーブルを用いて、前記変換処理を行うようにしてもよい。
【発明を実施するための最良の形態】
【0017】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0018】
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
【0019】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。
【0020】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、ハードディスク、メモリーカード、メモリーカセット、磁気ディスク、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0021】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD(液晶表示装置)、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0022】
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。通信部196は外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0023】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0024】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0025】
処理部100は、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
【0026】
オブジェクト空間設定部110は、キャラクタ、車、戦車、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0027】
移動・動作処理部112は、オブジェクト(キャラクタ、車、又は飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。即ち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクト(移動オブジェクト)をオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させる処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0028】
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。
【0029】
例えば仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【0030】
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まず、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を描画バッファ172(フレームバッファ、ワークバッファなどのピクセル単位で画像情報を記憶できるバッファ。VRAM)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
【0031】
描画部120は、テクスチャマッピング処理や隠面消去処理やαブレンディング処理を行うことができる。
【0032】
ここでテクスチャマッピング処理は、テクスチャ記憶部174に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理である。具体的には、オブジェクト(プリミティブ面)の頂点に設定(付与)されるテクスチャ座標等を用いてテクスチャ記憶部174からテクスチャ(色、α値などの表面プロパティ)を読み出す。そして、2次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間(テクセル補間)などを行う。
【0033】
また隠面消去処理は、例えば、各ピクセルのZ値(奥行き情報)が格納されるZバッファ176(奥行きバッファ)を用いるZバッファ法(奥行き比較法、Zテスト)により実現される。即ちオブジェクトのプリミティブ面の各ピクセルを描画する際に、Zバッファ176に格納されるZ値を参照する。そして参照されたZバッファ176のZ値と、プリミティブ面の描画対象ピクセルでのZ値とを比較し、描画対象ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、そのピクセルの描画処理を行うと共にZバッファ176のZ値を新たなZ値に更新する。
【0034】
またαブレンディング処理は、α値(A値)に基づいて行う処理であり、通常αブレンディング、α加算ブレンディング或いはα減算ブレンディングなどがある。例えば通常αブレンディングの場合には下式の処理を行う。
【0035】
Q=(1−α)×R1+α×R2
Q=(1−α)×G1+α×G2
Q=(1−α)×B1+α×B2
一方、加算αブレンディングの場合には下式の処理を行う。
【0036】
Q=R1+α×R2
Q=G1+α×G2
Q=B1+α×B2
ここで、R1、G1、B1は、描画バッファ172に既に描画されている画像(元画像)のRGB成分であり、R2、G2、B2は、描画バッファ172に描画すべき画像のRGB成分である。また、RQ、GQ、BQは、αブレンディングにより得られる画像のRGB成分である。なおα値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度(透明度、不透明度と等価)情報、マスク情報、或いはバンプ情報などとして使用できる。
【0037】
描画部120は、ぼかし対象画像描画部122、ぼかし処理部124を含む。なおこれらの一部を省略する構成としてもよく、例えばぼかし対象画像描画部122を省略する構成にしてもよい。
【0038】
ぼかし対象画像描画部122は、ぼかし処理の対象となる画像(元画像、グレア源画像)の描画処理を行う。例えば、オブジェクトに対してジオメトリ処理(透視変換等の座標変換処理)を施して、ジオメトリ処理後のオブジェクト(ポリゴン)を描画バッファ172に描画(レンダリング)することなどにより、ぼかし対象画像を生成する。これにより、ぼかし対象画像の情報が描画バッファ172(広義にはぼかし対象画像情報記憶部)に記憶される。なおこのような描画処理の際には、Zバッファ176に格納されるZ値を参照して、隠面消去を行いながら描画処理を行う。また、ぼかし対象画像描画部122の描画処理を行わずに、ぼかし対象画像の情報をぼかし対象画像情報記憶部に予め記憶しておき、この予め記憶したぼかし対象画像に対してぼかし処理を行うようにしてもよい。
【0039】
ぼかし処理部124は、ぼかし対象画像のぼかし処理を行う。具体的には、ぼかし対象画像に対して複数回(M回)のぼかし処理を行う。例えばぼかし対象画像に対して第1のぼかし処理を行い、第1のぼかし処理で得られたぼかし画像に対して第2のぼかし処理を行い・・・第Kのぼかし処理で得られたぼかし画像に対して第K+1のぼかし処理を行い・・・・第M−1のぼかし処理で得られたぼかし画像に対して第Mのぼかし処理を行う(Kは正の整数。Mは2以上の整数)。
【0040】
そして本実施形態ではぼかし処理部124が、複数回のぼかし処理のうちの第Kのぼかし処理で得られたぼかし画像のピクセル値(α値、色情報等)を増加(かさ上げ)させる変換処理(補正処理)を行い、変換処理が施されたぼかし画像に対して第K+1のぼかし処理を行う。
【0041】
この場合、記憶部170は、変換処理のための変換テーブル(インデックスカラー・テクスチャマッピング用のルックアップテーブル等)を記憶する変換テーブル記憶部171(主記憶部)を含む。この変換テーブル記憶部171は、ぼかし処理の回数に応じた変換特性を有する変換テーブルを記憶することができる。
【0042】
そしてぼかし処理部124は、変換テーブル記憶部171から変換テーブルを読み出し、この変換テーブルを用いて、ぼかし画像のピクセル値を増加させる変換処理を行う。具体的には、ぼかし処理部124は、第Kのぼかし処理で得られたぼかし画像のピクセル値(α値、色情報等)を、インデックスカラー・テクスチャマッピング用のルックアップテーブルのインデックス番号として設定する(インデックス番号とみなす)。そして、このルックアップテーブル(広義には変換テーブル)を用いたインデックスカラー・テクスチャマッピングを行うことで、第Kのぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理を行う。そしてこのインデックスカラー・テクスチャマッピングを、テクスチャ座標をシフト(0.5テクセルシフト)させてバイリニア補間方式(テクセル補間方式)で行うことで、変換処理と第K+1のぼかし処理の両方を行うことが可能になり、処理効率を高めることができる。
【0043】
なお変換処理は、全てのピクセルに対して行うこともできるし、一部のピクセルに対して行うこともできる。また複数回のぼかし処理により得られたぼかし画像を、元画像のぼかし画像として出力してもよいし、得られたぼかし画像と元画像の合成処理を行って、例えばグレア効果や被写界深度等の画像エフェクトが元画像に施された画像を出力してもよい。また、ぼかし画像を反転し、反転後のぼかし画像のピクセル値を減少させるような変換処理を行う場合も本発明の範囲に含まれる。
【0044】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0045】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0046】
2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【0047】
2.1 ぼかし処理の効率化
本実施形態では、ぼかし画像のぼかし長さを大きくするために、複数回のぼかし処理を行う。具体的には、まず、ぼかし処理に使用されるワークバッファWBUF1、WBUF2をVRAM上に確保する。
【0048】
次にWBUF1に、ぼかし処理の対象となる画像を描画する。そしてWBUF1に描画した画像をテクスチャとして扱い、このテクスチャをマッピングした、テクスチャと同サイズのポリゴン(スプライト)をWBUF2に描画する。この時、ピクセル中心を4テクセルの中間に対応させて、バイリニア補間を使う。即ち、テクスチャ座標をシフトさせてバイリニア補間方式でテクスチャマッピングを行う。これにより、ワークバッファWBUF2には、WBUF1の画像を0.5ピクセルだけぼかした画像が描画される。
【0049】
次に、WBUF2の画像をテクスチャとして扱い、このテクスチャをマッピングした、テクスチャと同サイズのポリゴン(スプライト)をWBUF1に描画する。この時、ピクセル中心を4テクセルの中間に対応させて、バイリニア補間を使う。即ち、テクスチャ座標をシフトさせてバイリニア補間方式でテクスチャマッピングを行う。この結果、ワークバッファWBUF1には、WBUF2の画像を0.5ピクセルだけぼかした画像が描画される。
【0050】
以上のようなWBUF1からWBUF2への描画処理とWBUF2からWBUF1への描画処理という1往復の処理を行うことで、WBUF1の画像は、ぼかし対象画像を1ピクセルぼかした画像になる。必要とするぼかし長さがNピクセルである場合には、ぼかし処理をN往復だけ繰り返せばよい。
【0051】
さて、このようにバイリニア補間などを利用してぼかし画像を生成した場合、ぼかし処理の回数が多くなればなるほど(ぼかし長さが大きくなればなるほど)、ぼかし処理の効率が低下するという問題があることが判明した。
【0052】
例えば図2(A)は、元の1ピクセルに対してバイリニア補間のぼかし処理を4往復行って、4ピクセルだけぼかした時に、元のピクセルの値が周囲のピクセルに対してどのように分布するかを示した図である。
【0053】
図2(A)において、ぼかし中心に位置する元のピクセルのぼかし処理前のピクセル値は1であり、ぼかし処理後は4900/65536となっている。一方、ぼかし境界に位置する例えばE1に示すピクセルのぼかし処理後のピクセル値は、70/65536となっている。
【0054】
そして例えば元のピクセルのぼかし処理前のピクセル値(α値)を255として、1未満の端数を切り捨てた結果は図2(B)に示すようになる。なお実際には1回(0.5ピクセル)のぼかし処理毎に、端数の切り捨てが行われるので、4ピクセルぼかし後の値は、図2(B)に示す値よりも小さくなる。
【0055】
図2(B)において、ぼかし中心に位置する元のピクセルのぼかし処理後のピクセル値は、1未満の端数が切り捨てられることで、255×4900/65536=19.0658・・・=19になる。一方、ぼかし境界に位置する例えばE1に示すピクセルのぼかし処理後のピクセル値は、1未満の端数が切り捨てられることで、255×70/65536=0.2723・・・・=0になる。
【0056】
図2(B)の例では、元の1ピクセルが周囲に4ピクセルぼけることを期待しているにもかからわず、ぼかし境界である最外周のピクセルの値が0になっているため、実質的なぼかし長さは3ピクセルになっている。このように、ぼかし処理を繰り返した場合に、ぼかし処理の回数よりも実際のぼかし長さの方が短くなり、ぼかし効率が悪化する。そしてぼかし処理の回数が多くなればなるほど、ぼかし効率は更に悪化する。
【0057】
このような問題を解決するために、本実施形態では、ぼかし処理の途中に例えばテーブル変換を介在させて、ぼかしの結果が小さくなりすぎないように変換処理を行っている。
【0058】
例えば図3(A)の元の1ピクセルに対して1回目の第1のぼかし処理(広義には第Kのぼかし処理)を施すと、元の1ピクセルのピクセル値がその周囲にしみ出して、図3(B)に示すようになる。
【0059】
この時に本実施形態では、図3(C)に示すように、第1のぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理を行う。例えば図3(C)では、ピクセル値が0よりも大きいピクセルに対して、そのピクセル値を増加させる変換処理を行っている。そして図3(D)に示すように、変換処理が施されたぼかし画像に対して、次の第2のぼかし処理(広義にはK+1のぼかし処理)を施す。なお、図3(C)の変換処理と図3(D)のぼかし処理を同時に行うようにしてもよい。
【0060】
次に本実施形態では図4(A)に示すように、第2のぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理を行う。そして図4(B)に示すように、変換処理が施されたぼかし画像に対して次の第3のぼかし処理を施す。
【0061】
以上のようにすれば、ぼかし処理後のぼかし画像のピクセル値がかさ上げされるため、図2(B)のようにぼかし画像の境界のピクセル値が小さくなって0になってしまう事態を防止できる。この結果、例えばN往復のぼかし処理で、Nピクセルの大きさのぼかし長さを得ることが可能になり、効率的なぼかし処理を実現できる。特に本実施形態の手法は、ぼかし処理の回数が多くなればなるほど、従来の手法に比べて有利になる。
【0062】
2.2 ぼかし処理の具体例
次に本実施形態のぼかし処理の具体例について説明する。
【0063】
図5(A)に示すように、ワークバッファWBUF1に描画された画像(ぼかし対象画像)をテクスチャとして扱い、バイリニア補間方式のテクスチャマッピングを行うことで、第1のぼかし処理が施されたぼかし画像をワークバッファWBUF2に描画する。
【0064】
次に図5(B)に示すように、ワークバッファWBUF2に描画された画像をテクスチャとして扱い、インデックスカラー&バイリニア補間方式のテクスチャマッピングを行うことで、ピクセル値を増加させる変換処理と第2のぼかし処理とが施されたぼかし画像をワークバッファWBUF1に描画する。
【0065】
次に図5(C)に示すように、ワークバッファWBUF1に描画された画像をテクスチャとして扱い、バイリニア補間方式のテクスチャマッピングを行うことで、第3のぼかし処理が施されたぼかし画像をワークバッファWBUF2に描画する。
【0066】
次に図5(D)に示すように、ワークバッファWBUF2に描画された画像をテクスチャとして扱い、インデックスカラー&バイリニア補間方式のテクスチャマッピングを行うことで、ピクセル値を増加させる変換処理と第4のぼかし処理とが施されたぼかし画像をワークバッファWBUF1に描画する。
【0067】
以上のぼかし処理を所定回数だけ繰り返すことで、所望のぼかし長さのぼかし画像を得ることができる。
【0068】
次に、バイリニア補間方式のテクスチャマッピングを利用したぼかし画像の生成手法について説明する。
【0069】
まず図6のF1に示すように、ワークバッファWBUF1の画像(ピクセル値)をテクスチャとして設定する。そして図6のF2に示すように、このテクスチャを仮想ポリゴン(仮想オブジェクト)にバイリニア補間方式でマッピングする際に、仮想ポリゴンの頂点に与えるテクスチャ座標を、例えば(0.5、0.5)だけ右下方向にシフト(ずらす、移動)させて、ワークバッファWBUF2に描画する。すると、バイリニア補間により自動的にWBUF1の画像の各ピクセルの色が、そのピクセルの周囲のピクセルにしみ出すようになる。これにより、WBUF1の画像を0.5ピクセルだけぼかした画像がWBUF2に描画される。
【0070】
例えばWBUF1の画像の描画領域の頂点VX1、VX2、VX3、VX4の座標が(X、Y)=(X0、Y0)、(X0、Y1)、(X1、Y1)、(X1、Y0)であったとする。この場合に、仮想ポリゴンの頂点VVX1、VVX2、VVX3、VVX4に与えるテクスチャ座標(U、V)を、各々、(X0、Y0)、(X0、Y1)、(X1、Y1)、(X1、Y0)に設定すれば、ピクセル位置とテクセル位置とがずれずに一致する。従って画像はぼけない。これに対して、仮想ポリゴンの頂点VVX1、VVX2、VVX3、VVX4に与えるテクスチャ座標(U、V)を、各々、(X0+0.5、Y0+0.5)、(X0+0.5、Y1+0.5)、(X1+0.5、Y1+0.5)、(X1+0.5、Y0+0.5)に設定すれば、ピクセル位置とテクセル位置とがずれるようになる。従って、バイリニア補間により、色の補間が行われ、WBUF1の画像を0.5ピクセルだけぼかした画像がWBUF2に描画される。
【0071】
次に、WBUF2の画像をテクスチャとして設定する。そして、このテクスチャを仮想ポリゴンにバイリニア補間方式でマッピングする際に、仮想ポリゴンの頂点に与えるテクスチャ座標を例えば(−0.5、−0.5)だけ左上方向にシフトさせて、WBUF1に描画する。これにより、WBUF2の画像を0.5ピクセルだけぼかした画像がWBUF1に描画される。これにより、結局、WBUF1に描画されていた画像を1ピクセルだけぼかした画像が、WBUF1に上書きされるようになる。
【0072】
次に、インデックスカラー・テクスチャマッピングを利用した変換処理の実現手法について説明する。
【0073】
インデックスカラー・テクスチャマッピングでは、テクスチャ記憶部の使用記憶容量を節約するために、実際の色情報(RGB)ではなく、インデックス番号がテクスチャの各テクセルに関連づけて記憶される。またインデックスカラー・テクスチャマッピング用のルックアップテーブルCLUTには、インデックス番号により指定される色情報(ROUT、GOUT、BOUT)やα値(αOUT)が記憶される。本実施形態では、このインデックスカラー・テクスチャマッピングを、通常とは異なる形態で利用している。
【0074】
具体的には図7のD1に示すように、ワークバッファWBUF2の画像のピクセル値(αIN)をルックアップテーブルCLUTのインデックス番号として設定する(インデックス番号とみなす)。そしてD2に示すように、WBUF2の画像のピクセル値(αIN)がインデックス番号として設定されたルックアップテーブルCLUTを用いて、仮想ポリゴン(スプライト)に対してインデックスカラー・テクスチャマッピングを行い、仮想ポリゴンをワークバッファWBUF1に描画する。
【0075】
このようにすれば、例えばWBUF2の画像のピクセル値であるαINを、ルックアップテーブルCLUTによりαOUTに変換して、WBUF1に描画できるようになる。しかも、WBUF2の全てのピクセルのαINを、1回のテクスチャマッピングでαOUTに変換してWBUF1に描画できるため、処理効率が高いという利点がある。
【0076】
なお、図7では、インデックス番号として、WBUF2の画像のピクセル値であるα値(αIN)を設定し、変換処理後のピクセル値としてα値(αOUT)を出力している。しかしながら、α値のみならず色情報(ROUT、GOUT、BOUT)をインデックス番号に設定し、変換処理後のピクセル値として色情報を出力するようにしてもよい。
【0077】
本実施形態では、図6で説明したバイリニア補間方式で、図7で説明したインデックスカラー・テクスチャマッピングを行うことで、図5(B)のようにピクセル値の変換処理とぼかし処理の両方を同時に行うことに成功している。具体的には、WBUF2の画像のピクセル値(α値)をルックアップテーブルCLUTのインデックス番号として設定する。そしてルックアップテーブルCLUTを用いて、テクスチャ座標をシフトさせてバイリニア補間方式で、仮想ポリゴンに対してインデックスカラー・テクスチャマッピングを行い、仮想ポリゴンをワークバッファWBUF1に描画する。このようにすれば、1回のテクスチャマッピングで、ピクセル値の変換処理とぼかし処理の両方を同時に行うことが可能になり、処理を更に効率化できる。
【0078】
2.3 グレア表現画像の生成
次に、本実施形態のぼかし処理を利用したグレア表現画像の生成手法について説明する。なお本実施形態では、グレアの元となる、明るいオブジェクト或いは画面上の明るい領域をグレア源と呼び、グレアを受ける側のオブジェクトを被グレアオブジェクトと呼ぶこととする。
【0079】
本実施形態ではグレア表現画像の生成のためのグレア処理を、ポスト処理で行う。即ち、グレア源と被グレアオブジェクトを含む全てのオブジェクトを描画した後に、グレア処理を行う。具体的には、オブジェクトに対してジオメトリ処理(透視変換等の座標変換処理)を施して、ジオメトリ処理後のオブジェクト(ポリゴン)をフレームバッファ(広義には描画領域)に描画(レンダリング)することで、元画像を生成し、この元画像に対してグレア処理を行う。従って、グレア処理の開始時点においては、被グレアオブジェクトを含むオブジェクト(元画像)のZ値(奥行き情報)が、既にZバッファに格納されている状態になっている。
【0080】
図8は、本実施形態のグレア処理の概要を示すフローチャートである。
【0081】
まず、グレア源の3次元情報(位置・形状情報)を3次元情報記憶部から読み出す(ステップS1)。例えばグレア源が球である場合には、球の中心座標と半径を3次元情報として読み出す。そして読み出されたグレア源の3次元情報に基づいて、ぼかし処理領域の領域サイズを決定する(ステップS2)。具体的にはスクリーン座標系(画面上)におけるグレア源の座標を求め、画面上の処理領域の位置とサイズを決定する。
【0082】
次にZテストを有効にして、Zバッファの元画像のZ値を参照しながら、グレア源を描画し、グレア源画像を生成する(ステップS3)。
【0083】
次に、ステップS2で決定された領域サイズにより設定(確保)されるぼかし処理領域において、グレア源画像のぼかし処理を行って、ぼかし画像を生成する(ステップS4)。そして元画像とぼかし画像に基づいて、グレア効果が元画像に施されたグレア表現画像を生成する(ステップS5)。
【0084】
図9に元画像の例を示す。OBは被グレアオブジェクトであり、GSはグレア源である。このゲームシーンは、被グレアオブジェクトOBであるキャラクタが部屋に立っており、部屋の壁に空いた穴の領域であるグレア源GSから、光が漏れているシーンである。図9の元画像では、グレア源GSのうち、被グレアオブジェクトOBにより隠れている部分が隠面消去されている。
【0085】
図10にグレア表現画像の例を示す。図10では、グレア源GSからの光により、被グレアオブジェクトOBの輪郭が浸食されてぼやけて見える画像が生成されている。即ちグレア源GSからの光が被グレアオブジェクトOBの手前側に回り込んでいるかのように見えるリアルなグレア表現画像が生成されている。
【0086】
例えば本実施形態とは異なるグレア処理手法として、画面上の明るい領域をグレア源と見なして処理する自動抽出方式が考えられる。本実施形態のグレア処理手法は、この自動抽出方式と比べて次のような利点がある。
【0087】
第1に、本実施形態の手法は処理が軽い。即ち自動抽出方式では全画面が処理対象となるが、本実施形態の手法では画面上の限定された領域のみが処理対象となるので(ステップS2、S4参照)、処理負荷を軽くできる。第2に、本実施形態の手法ではグレア源を誤ることがない。即ち自動抽出方式では、グレア源になって欲しくない箇所がグレア源として処理されることがある。これに対して本実施形態では、3次元情報に基づいてグレア源の位置等を明示的に指定するので、このような誤動作を生じない。
【0088】
なお、本実施形態では、グレア源の形状として、球、円板、トライアングルストリップ(triangle strip)、トライアングルファン(triangle fan)の4種類の設定が可能になっている。但しグレア源の形状はこれらの4種類に限定されず、種々の変形実施が可能である。図11に、これらの4種類のグレア源の3次元情報(3次元位置・形状指定パラメータ)とグレア処理における描画方法(図8のステップS3)の例を示す。
【0089】
また、図8のステップS2の領域サイズの決定は、グレア源の3次元情報に基づいて、スクリーン座標系でのグレア源を内包するバウンディングボックスを生成することで実現できる。このバウンディングボックスは、グレア源のスクリーン座標系での頂点のX座標、Y座標を求め、これらの頂点のX座標の最小値XMIN、最大値XMAXと、Y座標の最小値YMIN、最大値YMAXを求めることで生成できる。
【0090】
2.4 詳細な処理
次に本実施形態のグレア処理の詳細な手順について説明する。
【0091】
本実施形態では、グレア源描画とぼかし処理には、α値のプレーンのみを使用する。そしてグレア源の3次元情報(位置・形状パラメータ)と、グレア色情報(白、黄色、青等)と、グレアのぼかし長さ情報を使用して、以下の手順で処理を行う。
【0092】
(1)グレア源の頂点の座標変換
まず、グレア源の頂点の座標変換を行って、スクリーン座標系におけるグレア源の頂点の座標値を求める。
【0093】
(2)処理領域の決定
上記(1)で求めた頂点座標の値から、画面上の処理領域のバウンディングボックスを求める。
【0094】
(3)フレームバッファのクリア
グレア源描画の前処理として、フレームバッファ上の描画領域(上記(2)で求めた領域)のα値を0にクリアする。
【0095】
(4)グレア源の描画
図12(A)に示すように、フレームバッファ上にグレア源を描画する。描画はαプレーンに対してのみ行い、描画色は例えばα=255に設定する。このようにすることで、グレア源が存在する部分のαプレーンにはα=255が書き込まれることになる。またこの場合に、Zテストを有効にして描画することで、グレア源よりも手前に被グレアオブジェクト等のオブジェクトが存在する場合に、グレア源に対する隠面消去が適正に行われるようになる。
【0096】
(5)ワークバッファWBUF1のクリア
VRAM上にワークバッファWBUF1を確保する。WBUF1はαプレーンのみを使用する。WBUF1のサイズは、上記(2)で求めたバウンディングボックスのサイズに対して、下記(6)の縮小処理と下記(8)のぼかし処理によるぼけ足の長さを見込んだものに設定する。そしてWBUF1のαプレーンの全てのα値を0にクリアする。
【0097】
(6)グレア源画像の縮小コピー
高速化のためにぼかし処理の前にグレア源画像を縮小する。即ち上記(4)で描画したグレア源画像を図12(B)に示すように、縦、横、各々、1/2に縮小してワークバッファWBUF1に描画する。なお、グレア源画像の第1〜第N(Nは2以上の整数)のサンプリング点グループでの情報に基づいて第1〜第Nの縮小画像を生成してもよい。この場合には下記(8)において、これらの第1〜第Nの縮小画像に対してぼかし処理を施して、第1〜第Nのぼかし縮小画像を生成する。そして下記(9)において第1〜第Nのぼかし縮小画像の拡大処理と元画像との合成処理を行うことで、グレア表現画像を生成する。
【0098】
(7)ワークバッファWBUF2のクリア
VRAM上に、ぼかし処理に使用されるワークバッファWBUF2を確保する。WBUF2はαプレーンのみを使用する。WBUF2の全領域をクリアする必要はないので、領域の縁部分のα値のみを0にクリアする。
【0099】
(8)ぼかし処理
次に図3(A)〜図5(D)で説明したぼかし処理を行う。具体的には、上記(6)でWBUF1に描画した画像をテクスチャとして扱い、このテクスチャをマッピングした、テクスチャと同じサイズのポリゴンを、WBUF2に描画する。この時、テクスチャ座標をシフトさせてバイリニア補間方式でテクスチャマッピングを行う。この結果、ワークバッファWBUF2には、WBUF1の画像を0.5ピクセルだけぼかした画像が描画される。
【0100】
次に、WBUF2の画像をテクスチャとして扱い、このテクスチャをマッピングした、テクスチャと同じサイズのポリゴンを、WBUF1に描画する。この時、テクスチャ座標をシフトさせてバイリニア補間方式で、インデックスカラー・テクスチャマッピングを行う。この結果、ワークバッファWBUF1には、WBUF2の画像を0.5ピクセルだけぼかした画像が描画される。またこの際に、図7で説明したインデックスカラー・テクスチャマッピングを行うことで、図3(A)〜図4(B)で説明した変換処理も行われるようになる。この結果、図13に示すように、ワークバッファWBUF1には、グレア源画像にぼかし処理を施した画像が描画される。
【0101】
(9)グレア表現画像の生成
ここまでの処理で、WBUF1のαプレーンにはグレア源をぼかした画像が描かれている。このぼかし画像の情報(α値)を、インデックスカラー・テクスチャマッピング用のルックアップテーブル(CLUT)のインデックス番号として設定する。このようなルックアップを介在させることで、グレアのぼかし具合や強さを調整できるようになる。そしてインデックス番号が設定されたテクスチャがマッピングされ、その色(頂点カラー)がグレア色に設定されたポリゴン(スプライト)を、フレームバッファに加算αブレンディングで描画する。以上の処理によりグレア表現画像が完成する。例えばグレア色を白にすれば、白の光のグレア効果が表現された画像が生成され、グレア色を黄色にすれば、黄色の光のグレア効果が表現された画像が生成される。
【0102】
以上のように本実施形態では、グレア源のぼかし画像を元画像に合成することで、図10のようにグレア効果が表現されたリアルなグレア表現画像の生成に成功している。そして本実施形態の手法では、グレア源の3次元情報により特定される領域サイズの処理領域で、ぼかし処理が行われるため、グレア処理の負荷を格段に軽減できる。特に、ぼかし長を長くするためにぼかし処理を複数回行う場合に、本実施形態の手法による処理負荷の軽減の効果が大きいという利点がある。
【0103】
2.5 変換テーブルによる変換処理
本実施形態では、変換処理のための変換テーブルを用意し、この変換テーブルを用いて、図3(C)、図4(A)で説明したぼかし画像のピクセル値を増加させる変換処理を行っている。この変換テーブルとしては、図7で説明したインデックスカラー・テクスチャマッピング用のルックアップテーブルCLUTなどを用いることができる。
【0104】
そして本実施形態では、ぼかし処理の回数に応じた適正な変換特性を有する変換テーブルを用いて、ぼかし画像のピクセル値を増加させる変換処理を行っている。即ちぼかし処理の回数に応じて変換処理の特性を異ならせている。
【0105】
図14は、G1に示す変換テーブル(αIN−αOUT変換特性)を用いた場合のぼかし画像(グレア表現画像)の例である。このG1の変換テーブル(CLUT)は、ぼかし処理の往復回数(図5(A)(B)を1往復とした場合の回数)が4回である場合に用いられる変換テーブルである。G1の変換テーブルでは、αINが最小値(0)や最大値(255)の場合にはαIN=αOUTになっており、αINが中間値の場合にはαOUT>αINとなっている。
【0106】
同様に図15、図16、図17は、G2、G3、G4に示す変換テーブルを用いた場合のぼかし画像(グレア表現画像)の例である。これらのG2、G3、G4の変換テーブルは、各々、ぼかし処理の往復回数が5回、6回、7回である場合に用いられる変換テーブルである。
【0107】
このように、ぼかし処理回数に応じた変換特性を有する変換テーブルを用いて、ぼかし画像のピクセル値を増加させる変換処理を行えば、ぼかし処理回数を多くしてぼかし長さを大きくした場合にも、品質の高いぼかし画像(グレア表現画像)を生成できるようになる。
【0108】
なお、ぼかし処理回数に応じた適正な変換処理を行うためには、図18に示すように、ぼかし対象画像の輪郭(H0、H1)からぼかし境界(H2、H3)に向かってぼかし画像のピクセル値(α値等)をリニアに変化させる変換テーブルを用いることが望ましい。このようにぼかし画像のピクセル値をリニアに変化させることで、良質なぼかし画像を得ることできる。また、例えば上述したグレア表現画像の描画時におけるグレアのぼかし具合や強さの調整も、容易に行うことが可能になるという利点もある。
【0109】
3.ハードウェア構成
図19に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0110】
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
【0111】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
【0112】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
【0113】
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
【0114】
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0115】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【0116】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語(描画領域、ピクセル値、変換テーブル等)として引用された用語(フレームバッファ・ワークバッファ、α値、ルックアップテーブル等)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0117】
また、ぼかし処理やピクセル値の変換処理も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。例えば、ぼかし処理、変換処理を、図6、図7で説明した手法とは異なる手法で実現してもよい。
【0118】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【0119】
【図1】本実施形態の画像生成システムの機能ブロック図の例。
【図2】図2(A)(B)は複数回のぼかし処理を行った場合の問題点の説明図。
【図3】図3(A)〜(D)は本実施形態の手法の説明図。
【図4】図4(A)(B)は本実施形態の手法の説明図。
【図5】図5(A)〜(D)はぼかし処理の具体例の説明図。
【図6】バイリニア補間を用いたぼかし処理の説明図。
【図7】インデックスカラー・テクスチャマッピングを用いた変換処理の説明図。
【図8】グレア表現画像の生成手法の処理のフローチャート。
【図9】元画像の例。
【図10】グレア表現画像の例。
【図11】グレア源の3次元情報と描画方法の説明図。
【図12】図12(A)(B)はグレア処理の詳細例の説明図。
【図13】グレア処理の詳細例の説明図。
【図14】ぼかし処理回数に応じた変換テーブルを用いる手法の説明図。
【図15】ぼかし処理回数に応じた変換テーブルを用いる手法の説明図。
【図16】ぼかし処理回数に応じた変換テーブルを用いる手法の説明図。
【図17】ぼかし処理回数に応じた変換テーブルを用いる手法の説明図。
【図18】ぼかし処理回数に応じた変換テーブルを用いる手法の説明図。
【図19】ハードウェア構成例。
【符号の説明】
【0120】
GS グレア源、OB 被グレアオブジェクト、
100 処理部、110 オブジェクト空間設定部、112 移動・動作処理部、
114 仮想カメラ制御部、120 描画部、122 ぼかし対象画像描画部、
124 ぼかし処理部、130 音生成部、160 操作部、170 記憶部、
171 変換テーブル記憶部、172 描画バッファ(ぼかし対象画像情報記憶部)、
174 テクスチャ記憶部、176 Zバッファ、180 情報記憶媒体、
190 表示部、192 音出力部、194 携帯型情報記憶装置、196 通信部、

【特許請求の範囲】
【請求項1】
画像を生成するためのプログラムであって、
ぼかし処理の対象となるぼかし対象画像の情報を記憶するぼかし対象画像情報記憶部と、
前記ぼかし対象画像に対して複数回のぼかし処理を行うぼかし処理部として、
コンピュータを機能させ、
前記ぼかし処理部が、
前記複数回のぼかし処理のうちの第Kのぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理を行い、変換処理が施されたぼかし画像に対して次の第K+1のぼかし処理を行うことを特徴とするプログラム。
【請求項2】
請求項1において、
前記変換処理のための変換テーブルを記憶する変換テーブル記憶部としてコンピュータを機能させ、
前記ぼかし処理部が、
前記変換テーブルを用いて、ぼかし画像のピクセル値を増加させる前記変換処理を行うことを特徴とするプログラム。
【請求項3】
請求項2において、
前記変換テーブルが、インデックスカラー・テクスチャマッピング用のルックアップテーブルであり、
前記ぼかし処理部が、
第Kのぼかし処理で得られたぼかし画像のピクセル値を、前記ルックアップテーブルのインデックス番号として設定し、前記ルックアップテーブルを用いたインデックスカラー・テクスチャマッピングを行うことで、ぼかし画像のピクセル値を増加させる前記変換処理を行うことを特徴とするプログラム。
【請求項4】
請求項3において、
前記ぼかし処理部が、
テクスチャ座標をシフトさせてバイリニア補間方式で、前記インデックスカラー・テクスチャマッピングを行うことで、前記変換処理と前記第K+1のぼかし処理の両方を同時に行うことを特徴とするプログラム。
【請求項5】
請求項2乃至4のいずれかにおいて、
前記ぼかし処理部が、
ぼかし処理の回数に応じた変換特性を有する変換テーブルを用いて、前記変換処理を行うことを特徴とするプログラム。
【請求項6】
請求項2乃至5のいずれかにおいて、
前記ぼかし処理部が、
ぼかし対象画像の輪郭からぼかし境界に向かってぼかし画像のピクセル値をリニアに変化させる変換テーブルを用いて、前記変換処理を行うことを特徴とするプログラム。
【請求項7】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至6のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項8】
画像を生成する画像生成システムであって、
ぼかし処理の対象となるぼかし対象画像の情報を記憶するぼかし対象画像情報記憶部と、
前記ぼかし対象画像に対して複数回のぼかし処理を行うぼかし処理部とを含み、
前記ぼかし処理部が、
前記複数回のぼかし処理のうちの第Kのぼかし処理で得られたぼかし画像のピクセル値を増加させる変換処理を行い、変換処理が施されたぼかし画像に対して次の第K+1のぼかし処理を行うことを特徴とする画像生成システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図11】
image rotate

【図18】
image rotate

【図19】
image rotate

【図9】
image rotate

【図10】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2006−4364(P2006−4364A)
【公開日】平成18年1月5日(2006.1.5)
【国際特許分類】
【出願番号】特願2004−182824(P2004−182824)
【出願日】平成16年6月21日(2004.6.21)
【出願人】(000134855)株式会社ナムコ (1,157)
【Fターム(参考)】