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

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

Info

Publication number
JP4749198B2
JP4749198B2 JP2006094629A JP2006094629A JP4749198B2 JP 4749198 B2 JP4749198 B2 JP 4749198B2 JP 2006094629 A JP2006094629 A JP 2006094629A JP 2006094629 A JP2006094629 A JP 2006094629A JP 4749198 B2 JP4749198 B2 JP 4749198B2
Authority
JP
Japan
Prior art keywords
blur
value
pixel
density
original image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006094629A
Other languages
English (en)
Other versions
JP2007272356A (ja
Inventor
聡 大内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2006094629A priority Critical patent/JP4749198B2/ja
Publication of JP2007272356A publication Critical patent/JP2007272356A/ja
Application granted granted Critical
Publication of JP4749198B2 publication Critical patent/JP4749198B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)

Description

本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
従来より、キャラクタ、車などのオブジェクトが配置設定されるオブジェクト空間内(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲーム装置)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。レースゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、ゲームコントローラなどの操作部を用いて自車を操作し、他のプレーヤが操作する他車と競争することでゲームを楽しむ。
このような画像生成システムでは、プレーヤの仮想現実感を向上するために、よりリアルな画像を生成することが望まれている。このため、焦点からずれた部分がぼけて見える被写界深度についても、リアルに画像表現できることが望ましい。
特開平2001−175884号公報
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、少ない処理負荷で被写界深度の画像表現を実現できるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
本発明は、画像を生成する画像生成システムであって、各ぼかし濃度テーブルが、描画対象範囲内の各位置における各ぼかし濃度値を記憶する複数のぼかし濃度テーブルが格納される記憶部と、前記複数のぼかし濃度テーブルの中から、元画像の処理対象ピクセルの奥行き値に応じたぼかし濃度テーブルを選択するテーブル選択部と、処理対象ピクセルとその周囲のピクセルのうち、前記描画対象範囲内の各位置のピクセルに対して、選択された前記ぼかし濃度テーブルから読み出されたぼかし濃度値と元画像の処理対象ピクセルのピクセル値とにより得られるぼかしピクセル値を描画することで、元画像のぼかし画像を生成するぼかし画像生成部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
本発明によれば、複数のぼかし濃度テーブルの中から、元画像の奥行き値に応じたぼかし濃度テーブルが選択される。そして描画対象範囲内のピクセルに対して、選択されたぼかし濃度テーブルからのぼかし濃度値と元画像のピクセル値とにより得られるぼかしピクセル値が描画されて、ぼかし画像が生成される。このようにすれば、ぼかし範囲の大きさを計算する処理を省略できるため、ぼかし処理の負荷を軽減できる。従って、少ない処理負荷で被写界深度の画像表現を実現できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ぼかし濃度テーブルは、描画対象範囲内の各位置Pmn(m、n、M、Nは、1≦m≦M、1≦n≦Nを満たす自然数)における各ぼかし濃度値Amnを記憶し、前記ぼかし画像生成部は、処理対象ピクセルを濃度分布中心とする描画対象範囲内の各位置Pmnのピクセルに対して、ぼかし濃度値Amnと処理対象ピクセルのピクセル値とにより得られるぼかしピクセル値を描画する処理を、元画像の全ての処理対象ピクセルに対して行うことで、元画像のぼかし画像を生成してもよい。
このようにすれば、元画像の全ての処理対象ピクセルに対して、ぼかし濃度テーブルを用いたぼかしピクセル値の描画処理が行われて、元画像のぼかし画像が生成されるようになる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、奥行き値を格納するZバッファを用いて隠面消去を行いながらオブジェクトを描画することで、第1の描画バッファに元画像を生成する元画像生成部を含み(該元画像生成部としてコンピュータを機能させ)、前記テーブル選択部は、前記Zバッファに格納された元画像の処理対象ピクセルの奥行き値に応じたぼかし濃度テーブルを選択し、前記ぼかし画像生成部は、選択された前記ぼかし濃度テーブルからのぼかし濃度値と前記第1の描画バッファに格納された元画像のピクセル値とにより得られるぼかしピクセル値を、第2の描画バッファに描画することで、前記第2の描画バッファに元画像のぼかし画像を生成してもよい。
このようにすれば、第1の描画バッファの元画像のピクセル値や、Zバッファの奥行き値を利用して、簡素な処理で元画像のぼかし画像を生成できるようになる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記テーブル選択部は、前記複数のぼかし濃度テーブルの中から、処理対象ピクセルの奥行き値に応じた第1、第2のぼかし濃度テーブルを選択し、前記ぼかし画像生成部は、選択された前記第1、第2のぼかし濃度テーブルから読み出された第1、第2のぼかし濃度値を補間し、補間後のぼかし濃度値と元画像の処理対象ピクセルのピクセル値とにより得られるぼかしピクセル値を描画してもよい。
このようにすれば、少ない数のぼかし濃度テーブルで多様なぼかし表現が可能になる。
また本発明は、画像を生成する画像生成システムであって、描画対象範囲内の各位置における各ぼかし閾値を記憶するぼかし閾値判断テーブルが格納される記憶部と、元画像の処理対象ピクセルの奥行き値に応じたぼかし値、ぼかし濃度値を取得する取得部と、処理対象ピクセルとその周囲のピクセルのうち、前記描画対象範囲内の各位置のピクセルについて、取得されたぼかし値と前記ぼかし閾値判断テーブルに記憶されるぼかし閾値とを比較し、ぼかし値とぼかし閾値との比較によりぼかし処理の対象と判断されたピクセルに対して、取得されたぼかし濃度値と元画像の処理対象ピクセルのピクセル値とにより得られるぼかしピクセル値を描画することで、元画像のぼかし画像を生成するぼかし画像生成部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
本発明によれば、元画像の奥行き値に応じたぼかし値、ぼかし濃度値が取得される。そして描画対象範囲内のピクセルについて、ぼかし値とぼかし閾値判断テーブルのぼかし閾値が比較される。そして、ぼかし値とぼかし閾値との比較によりぼかし処理の対象と判断されたピクセルに対して、ぼかし濃度値と元画像のピクセル値とにより得られるぼかしピクセル値が描画されて、ぼかし画像が生成される。このようにすれば、ぼかし範囲の大きさを計算する処理を省略できるため、ぼかし処理の負荷を軽減できる。従って、少ない処理負荷で被写界深度の画像表現を実現できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ぼかし閾値判断テーブルは、描画対象範囲内の各位置Pmn(m、n、M、Nは、1≦m≦M、1≦n≦Nを満たす自然数)における各ぼかし閾値BTmnを記憶し、前記ぼかし画像生成部は、処理対象ピクセルを分布中心とする描画対象範囲内の各位置Pmnのピクセルのうち、ぼかし値とぼかし閾値BTmnとの比較によりぼかし処理の対象と判断されたピクセルに対して、取得されたぼかし濃度値と処理対象ピクセルのピクセル値とにより得られるぼかしピクセル値を描画する処理を、元画像の全ての処理対象ピクセルに対して行うことで、元画像のぼかし画像を生成してもよい。
このようにすれば、元画像の全ての処理対象ピクセルに対して、ぼかし閾値判断テーブルを用いたぼかしピクセル値の描画処理が行われて、元画像のぼかし画像が生成されるようになる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、奥行き値を格納するZバッファを用いて隠面消去を行いながらオブジェクトを描画することで、第1の描画バッファに元画像を生成する元画像生成部を含み(該元画像生成部としてコンピュータを機能させ)、前記取得部は、前記Zバッファに格納された元画像の奥行き値に応じたぼかし値、ぼかし濃度値を取得し、前記ぼかし画像生成部は、取得されたぼかし濃度値と前記第1の描画バッファに格納された元画像のピクセル値とにより得られるぼかしピクセル値を、第2の描画バッファに描画することで、前記第2の描画バッファに元画像のぼかし画像を生成してもよい。
このようにすれば、第1の描画バッファの元画像のピクセル値や、Zバッファの奥行き値を利用して、簡素な処理で元画像のぼかし画像を生成できるようになる。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、アクセル、ブレーキ、或いはタッチパネル型ディスプレイなどにより実現できる。記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、ハードディスク、或いはメモリ(ROM等)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。通信部196は外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170)に配信してもよい。このようなホスト装置(サーバー)による情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。処理部100は記憶部170(主記憶部172)をワーク領域として各種処理を行う。この処理部100の機能は、各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部100は、ゲーム演算部108、オブジェクト空間設定部110、移動体演算部112、仮想カメラ制御部114、テーブル選択部116、取得部118、画像生成部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
ゲーム演算部108はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、移動体やマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
オブジェクト空間設定部110は、移動体(車、人、ロボット等)、コース(道路)、マップ(地形)、建物、樹木、壁などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のモデルデータ記憶部176には、移動体オブジェクト(キャラクタ)等のモデルデータが記憶されている。そしてオブジェクト空間設定部110は、このモデルデータを用いてオブジェクト空間へのオブジェクトの設定(配置)処理を行う。
移動体演算部(移動・動作処理部)112は、移動体を移動させるための演算を行う。また移動体を動作させるための演算も行う。即ち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、移動体(オブジェクト、モデルオブジェクト)をオブジェクト空間内で移動させたり、移動体を動作(モーション、アニメーション)させる処理を行う。具体的には、移動体の移動情報(位置、回転角度、速度、或いは加速度)や動作情報(パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
例えば仮想カメラにより車、キャラクタなどの移動体を後方から撮影する場合には、移動体の位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動体演算部112で得られた移動体の位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
なお本実施形態の移動体は、画面に表示されるオブジェクトであってもよいし、画面に表示されない仮想的なオブジェクトであってもよい。例えば1人称視点等の場合には、仮想カメラの位置を移動体位置と見なすことができる。
テーブル選択部116はぼかし濃度テーブルの選択を行う。具体的には本実施形態では、複数のぼかし濃度テーブル177-1、177-2、177-3・・・が記憶部170に格納(記憶)される。そして複数のぼかし濃度テーブル177-1、177-2、177-3・・・の各ぼかし濃度テーブルは、描画対象範囲(ぼかしピクセル値の描画の対象となる範囲。最大ぼかし範囲)内の各位置(ぼかし濃度値を設定する各ピクセル)における各ぼかし濃度値(ぼかし具合を表す濃度。ぼかしピクセル値を求める際に元画像のピクセル値に乗算される係数)を記憶する。そしてテーブル選択部116は、複数のぼかし濃度テーブル177-1、177-2、177-3・・・の中から、元画像の処理対象ピクセルの奥行き値(Zバッファ175に格納された処理対象ピクセルの奥行き値)に応じたぼかし濃度テーブルを選択する。具体的には、例えば元画像の奥行き値(奥行き距離)と仮想焦点の奥行き値(仮想焦点距離)との差分値(ずれ分)に基づいて、ぼかし濃度テーブルを選択する。
なお仮想焦点の奥行き値が一定である場合等には、元画像の奥行き値そのものに基づいてぼかし濃度テーブルを選択してもよい。
取得部118はぼかし値、ぼかし濃度値の取得処理を行う。具体的には、元画像の処理対象ピクセルの奥行き値に応じたぼかし値、ぼかし濃度値を取得する。
更に具体的には本実施形態では、ぼかし値、ぼかし濃度値を記憶する少なくとも1つの参照テーブル178が記憶部170に格納される。また、描画対象範囲内の各位置(ぼかし濃度値を設定する各ピクセル)における各ぼかし閾値(ぼかし値の比較処理のための閾値)を記憶するぼかし閾値判断テーブル179が記憶部170に格納される。そして取得部118は、元画像の処理対象ピクセルの奥行き値に応じたぼかし値、ぼかし濃度値を、参照テーブル178から読み出す。具体的には、例えば元画像の奥行き値と仮想焦点の奥行き値(仮想焦点距離)との差分値(ずれ分)に基づいて、ぼかし値(ぼかしの度合いを表すパラメータ。ぼかし特性パラメータ)、ぼかし濃度値を取得する。
なお本実施形態では、奥行き値(差分値)とぼかし値及びぼかし濃度値とを対応付ける1つの参照テーブルを設けてもよいし、奥行き値(差分値)とぼかし値を対応付ける参照テーブルと、奥行き値又はぼかし値とぼかし濃度値を対応付ける参照テーブルを設けてもよい。また、ぼかし値、ぼかし濃度値を、参照テーブルを用いず、例えば関数による演算処理等により取得してもよい。
画像生成部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずモデル(オブジェクト)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むモデルデータが入力され、入力されたモデルデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
画像生成部120は、オブジェクトを描画する際にジオメトリ処理、隠面消去処理、αブレンディング、テクスチャマッピング処理等を行う。
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のモデルデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ、法線ベクトル、或いはα値等)は、記憶部170に保存される。
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ175(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理がある。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファ175(描画バッファのZプレーン)に格納されるZ値を参照する。そして参照されたZバッファ175のZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファ175のZ値を新たなZ値に更新する。
αブレンディング(α合成)は、α値(A値)に基づいて行う処理であり、通常αブレンディング、加算αブレンディング或いは減算αブレンディングなどがある。なおα値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度(透明度、不透明度と等価)情報、マスク情報、或いはバンプ情報などとして使用できる。
テクスチャマッピング(テクスチャフェッチ、テクスチャサンプリング)処理は、テクスチャ記憶部に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理である。具体的には、オブジェクト(プリミティブ面)の頂点等に設定(付与)されるテクスチャ座標等を用いてテクスチャ記憶部からテクスチャ(色、α値などの表面プロパティ)を読み出す。そして、2次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間(テクセル補間)などを行う。
そして本実施形態では画像生成部120がぼかし画像生成部122を含む。ぼかし画像生成部122は、処理対象ピクセルとその周囲のピクセルのうち、描画対象範囲内の各位置のピクセル(各位置に対応するピクセル)に対して、ぼかしピクセル値(RGB色成分等)を描画することで、元画像のぼかし画像(被写界深度画像)を生成する。ここで、ぼかしピクセル値は、テーブル選択部116により選択されたぼかし濃度テーブルから読み出されたぼかし濃度値と、元画像の処理対象ピクセルのピクセル値とにより求められる。具体的には、ぼかしピクセル値は、元画像のピクセル値に対してぼかし濃度値を乗算することで求めることができる。
また、ぼかし画像生成部122は、処理対象ピクセルとその周囲のピクセルのうち、描画対象範囲内の各位置のピクセル(各位置に対応するピクセル)について、取得部118で取得されたぼかし値と、ぼかし閾値判断テーブル179からのぼかし閾値とを比較する。そしてぼかし値とぼかし閾値との比較によりぼかし処理の対象と判断されたピクセルに対して、ぼかしピクセル値(RGB色成分等)を描画することで、元画像のぼかし画像(被写界深度画像)を生成する。例えばぼかし閾値がぼかし値以上になるピクセルに対して、ぼかしピクセル値を描画する。なお、ぼかし値やぼかし閾値の設定の仕方によっては、ぼかし閾値がぼかし値以下になるピクセルに対して、ぼかしピクセル値を描画するようにしてもよい。また、ぼかしピクセル値は、取得部118で取得されたぼかし濃度値と、元画像のピクセル値とにより求められる。具体的には、ぼかしピクセル値は、元画像のピクセル値に対して、参照テーブル178からのぼかし濃度値を乗算することで求めることができる。
画像生成部120が含む元画像生成部124は元画像を生成する。具体的には、奥行き値を格納するZバッファ175を用いて隠面消去を行いながらオブジェクト(ジオメトリ処理後のオブジェクト)を描画することで、描画バッファ174(第1の描画バッファ)に元画像を生成する。
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
2.本実施形態の手法
2.1 ぼかし濃度テーブルを用いたぼかし画像の生成
被写界深度のぼかし画像を生成する比較例の手法として、奥行き値やぼかし特性パラメータ(ぼかし値)から各ピクセルのぼかし範囲の大きさを計算し、計算された大きさのぼかし範囲に対してぼかし処理を行う手法が考えられる。
しかしながら、この比較例の手法によると、奥行き値やぼかし特性パラメータに基づきぼかし範囲を求める処理が必要になるため、処理負荷が増加する。特に、この比較例の手法では、画面を構成する全てのピクセルについて、ぼかし範囲の大きさを求める処理が必要になるため、処理負荷は非常に重くなる。
そこで本実施形態では、図2(A)に示すようなぼかし濃度テーブルBTBを予め用意しておき、このぼかし濃度テーブルBTBを用いてぼかし画像を生成する。
図2(A)のぼかし濃度テーブルBTBは、描画対象範囲DR内の各位置Pmn(m、n、M、Nは、1≦m≦M、1≦n≦Nを満たす自然数)における各ぼかし濃度値Amnを記憶する。例えば、描画対象範囲DR内の位置P11のぼかし濃度値A11、位置P22のぼかし濃度値A22・・・位置P55のぼかし濃度値A55を記憶する。この位置Pmnは、ぼかし濃度テーブルBTBを用いてぼかしピクセル値を求める処理を行った場合の、描画対象範囲DR内の各ピクセルの位置に相当する。
そして本実施形態では、図2(B)に示すように複数のぼかし濃度テーブルBTB1、BTB2、BTB3を用意する。例えば図2(B)のぼかし濃度テーブルBTB1では、位置P33でのぼかし濃度値A33が1になっており、それ以外のぼかし濃度値は0になっている。また、ぼかし濃度テーブルBTB2では、位置P22、P23、P24・・・P44でのぼかし濃度値A22、A23、A24・・・A44が1/9になっており、それ以外のぼかし濃度値は0になっている。また、ぼかし濃度テーブルBTB3では、全てのぼかし濃度値が1/25になっている。図2(B)では、描画対象範囲DR内の全てのぼかし濃度値を加算した値が1になるよう、ぼかし濃度値が設定されている。
なお本実施形態のぼかし濃度テーブルは図2(A)(B)に限定されず、種々の変形実施が可能である。例えば図2(A)(B)では、描画対象範囲DRの大きさが5×5ピクセルである場合(M=N=5)の例を示しているが、描画対象範囲DRの大きさはこれに限定されず、5×5ピクセル以上であってもよいし、5×5ピクセル以下であってもよい。
そして本実施形態で、図2(B)のような複数のぼかし濃度テーブルTB1、TB2、TB3の中から、元画像の処理対象ピクセルの奥行き値に応じたぼかし濃度テーブルを選択する。例えば図3(A)では、ZFは、被写界深度表現のための仮想カメラVCの仮想的な焦点の奥行き値(焦点距離)である。そして奥行き値Z1’〜Z1の範囲は、ぼかし濃度テーブルTB1に割り当てられる。また奥行き値Z1〜Z2、Z2’〜Z1’の範囲は、ぼかし濃度テーブルTB2に割り当てられ、奥行き値Z2〜、Z2’〜の範囲は、ぼかし濃度テーブルTB3に割り当てられる。
なお図3(B)のような参照テーブルRTAを用意し、この参照テーブルRTAを用いて、奥行き値とぼかし濃度テーブルを対応付けてもよい。また元画像の奥行き値Z(ZバッファのZ値)に基づいて、ぼかし濃度テーブルを選択してもよいし、元画像の奥行き値Zと仮想焦点の奥行き値ZFとの差分値(ずれ分)に基づいて、ぼかし濃度テーブルを選択してもよい。この場合には、被写界深度のパラメータとして仮想焦点の奥行き値ZF(焦点距離)を設定し、設定されたZFに基づいてぼかし濃度テーブルTB1、TB2、TB3や参照テーブルRTAを作成すればよい。
そして本実施形態では、このようにして選択されたぼかし濃度テーブルを用いて、描画対象範囲のピクセルに対してぼかしピクセル値を書き込んでいる。
例えば図4ではPXが処理対象ピクセルになっている。この場合は、処理対象ピクセルPXとその周囲のピクセルのうち、描画対象範囲DR内の各位置Pmnのピクセルに対して、ぼかしピクセル値を描画する。即ち処理対象ピクセルPXを濃度分布中心とする描画対象範囲DR内の各位置Pmnのピクセルに対して、ぼかし濃度値Amnと処理対象ピクセルPXのピクセル値PVとにより得られるぼかしピクセル値を描画する処理を行う。具体的には、ぼかし濃度値Amnとピクセル値PVを乗算し、得られたぼかしピクセル値Amn×PVを、位置Pmnのピクセルに対して描画する。例えば位置P11のピクセルに対してぼかしピクセル値A11×PVを描画し、位置P12のピクセルに対してぼかしピクセル値A12×PVを描画するというように、描画対象範囲DR内の全てのピクセルに対してぼかしピクセル値Amn×PVを描画する。
また図5ではPXの隣のPXi+1が処理対象ピクセルになっている。この場合は、処理対象ピクセルPXi+1とその周囲のピクセルのうち、描画対象範囲DR内の各位置Pmnのピクセルに対して、ぼかしピクセル値を描画する処理を行う。即ち処理対象ピクセルPXi+1を濃度分布中心とする描画対象範囲DR内の各位置Pmnのピクセルに対して、ぼかしピクセル値Amn×PVi+1を描画する。例えば位置P11のピクセルに対してぼかしピクセル値A11×PVi+1を描画し、位置P12のピクセルに対してぼかしピクセル値A12×PVi+2を描画するというように、描画対象範囲DR内の全てのピクセルに対してぼかしピクセル値Amn×PVi+1を描画する。
そしてこのようにぼかしピクセル値を描画する処理を、元画像の全ての処理対象ピクセル(1画面分のピクセル)に対して行う。即ち図4ではピクセルPの周りの描画対象範囲DRについて、ぼかしピクセル値の描画処理を行い、図5ではPの隣のピクセルPi+1の周りの描画対象範囲DRについて、ぼかしピクセル値の描画処理を行っている。このようにして、元画像の画面の左上のピクセルから右下のピクセルまで、描画対象範囲DRについてのぼかしピクセル値の描画処理を行うことで、元画像のぼかし画像(被写界深度画像)が生成される。
例えば、ぼかし範囲の大きさを計算してぼかし処理を行う比較例の手法では、図2(B)のぼかし濃度テーブルBTB1の「1」の範囲、BTB2の「1/9」の範囲、BTB3の「1/25」の範囲であるぼかし範囲を、奥行き値やぼかし特性パラメータに基づいて計算する必要がある。このため、ぼかし範囲を計算する処理負荷が過大になる。
これに対して本実施形態の第1の手法によれば、図2(B)のようなぼかし濃度テーブルを用いてぼかしピクセル値を描画しているため、ぼかし範囲の大きさを計算する処理を省略できる。従って、比較例の手法に比べてぼかし処理の負荷を格段に軽減できる。
また本実施形態の第1の手法によれば、ぼかし濃度テーブルの内容を変更するだけで、ぼかし範囲の大きさやぼかし濃度値の設定等を変化させることができる。従って、比較例の手法のような複雑な計算をしなくても、ぼかし範囲やぼかし具合を様々な設定にすることができ、多様なぼかし表現を実現できるという利点がある。
また本実施形態では、Zバッファ175を用いて隠面消去を行いながらオブジェクトを描画することで、描画バッファ174の第1の描画バッファに元画像を生成する。そしてZバッファ175に格納された元画像の奥行き値に応じたぼかし濃度テーブルを選択する。そして選択されたぼかし濃度テーブルからのぼかし濃度値と、第1の描画バッファに格納された元画像のピクセル値とにより得られるぼかしピクセル値を、描画バッファ174の第2の描画バッファに描画する。これにより、第2の描画バッファに元画像のぼかし画像を生成できる。
このように第1、第2の描画バッファを使用して元画像、ぼかし画像を生成すれば、元画像の奥行き値やピクセル値を有効利用しながら、簡素な処理で、元画像のぼかし画像を生成できるようになる。
なおZバッファ175は第1の描画バッファと別バッファにしてもよいし、第1の描画バッファのZプレーンをZバッファ175として用いてもよい。
2.2 ぼかし濃度テーブルの補間
本実施形態では、複数のぼかし濃度テーブルについての補間処理を行って、ぼかし画像を生成してもよい。具体的にはテーブル選択部116が、複数のぼかし濃度テーブルの中から、処理対象ピクセルの奥行き値に応じた第1、第2のぼかし濃度テーブルを選択する。そしてぼかし画像生成部122は、選択された第1、第2のぼかし濃度テーブルについての補間処理を行い、ぼかしピクセル値を描画する。具体的には、選択された第1、第2のぼかし濃度テーブルから読み出された第1、第2のぼかし濃度値を補間し、補間後のぼかし濃度値と元画像の処理対象ピクセルのピクセル値(色成分)とにより得られるぼかしピクセル値を、第2の描画バッファに描画する。
例えば図6(A)では、元画像の奥行き値Zは、奥行き値Z1とZ2の間にある。そして奥行き値Z1にはぼかし濃度テーブルBTB1(第1のぼかし濃度テーブル)が割り当てられ、奥行き値Z2にはぼかし濃度テーブルBTB2(第2のぼかし濃度テーブル)が割り当てられている。この場合には、奥行き値Zに対応するぼかし濃度テーブルとして、ぼかし濃度テーブルBTB1とBTB2を補間したぼかし濃度テーブルBTB12を使用する。具体的には、奥行き値Z、Z1、Z2に基づいて、補間率a=(Z2−Z)/(Z2−Z1)を求める。そして補間率aに基づいてぼかし濃度テーブルBTB1、BTB2を補間し、ぼかし濃度テーブルBTB12=BTB1×a+BTB2×(1−a)を求め、このぼかし濃度テーブルBTB12を用いてぼかしピクセル値を描画する。
また図6(B)では、元画像の奥行き値Zは、奥行き値Z1’とZ2’の間にある。そして奥行き値Z1’にはぼかし濃度テーブルBTB1(第1のぼかし濃度テーブル)が割り当てられ、奥行き値Z2’にはぼかし濃度テーブルBTB2(第2のぼかし濃度テーブル)が割り当てられている。そして奥行き値Z、Z1’、Z2’に基づいて、補間率a=(Z2’−Z)/(Z2’−Z1’)を求める。そして補間率aに基づいてぼかし濃度テーブルBTB1、BTB2を補間し、ぼかし濃度テーブルBTB12=BTB1×a+BTB2×(1−a)を求め、このぼかし濃度テーブルBTB12を用いてぼかしピクセル値を描画する。
このようにすれば、ぼかし濃度テーブルBTB1、BTB2から読み出された第1、第2のぼかし濃度値を補間し、補間後のぼかし濃度値と元画像のピクセル値とにより得られるぼかしピクセル値を描画できるようになる。
そしてこの手法によれば、用意するぼかし濃度テーブルの数をそれほど多くすることなく、より多様なぼかし表現が可能になる。従って、ぼかし濃度テーブルの使用記憶容量を節約しながら、生成される画像の品質を向上できる。
2.3 ぼかし閾値判断テーブルを用いたぼかし画像の生成
次に本実施形態の第2の手法について説明する。この第2の手法では、図7(A)に示すようなぼかし閾値判断テーブルDTBを予め用意しておき、このぼかし閾値判断テーブルを用いてぼかし画像を生成する。
図7(A)のぼかし閾値判断テーブルDTBは、描画対象範囲DR内の各位置Pmn(m、n、M、Nは、1≦m≦M、1≦n≦Nを満たす自然数)における各ぼかし閾値BTmnを記憶する。例えば、描画対象範囲DR内の位置P11のぼかし閾値BT11、位置P22のぼかし閾値BT22・・・位置P77のぼかし閾値BT77を記憶する。この位置Pmnは、ぼかし閾値判断テーブルDTBを用いてぼかしピクセル値を求める処理を行った場合の、描画対象範囲DR内の各ピクセルの位置に相当する。
例えば図7(B)にぼかし閾値判断テーブルDTBの一例を示す。図7(B)のぼかし閾値判断テーブルDTBでは、位置P44でのぼかし閾値BT44は1になっている。また位置P33、P34、P35、P43、P45、P53、P54、P55でのぼかし閾値BT33、BT34、BT35、BT43、BT45、BT53、BT54、BT55は2/3になっている。また位置P22、P23、P24、P25、P26、P32、P36・・・P66でのぼかし閾値BT22、BT23、BT24、BT25、BT26、BT32、BT36・・・BT66は1/3になっている。
なお本実施形態のぼかし閾値判断テーブルは図7(A)(B)に限定されず、種々の変形実施が可能である。例えば図7(A)(B)では、描画対象範囲DRの大きさが7×7ピクセルである場合(M=N=7)を示しているが、描画対象範囲DRの大きさはこれに限定されず、7×7ピクセル以上であってもよいし、7×7ピクセル以下であってもよい。また図7(A)(B)のぼかし閾値判断テーブルでのぼかし閾値の分布は、図8(A)のような四角錐の分布になっているが、図8(B)のような円錐の分布であってもよい。
また本実施形態では図9(A)に示すようなぼかし値、ぼかし濃度値を記憶する参照テーブルRTBを用意する。この参照テーブルRTBでは、元画像の奥行き値(元画像の奥行き値と仮想焦点の奥行き値の差分値)と、ぼかし値、ぼかし濃度値が対応付けられている。具体的には図9(A)では、奥行き値Z1’〜Z1の範囲には、ぼかし値B1、ぼかし濃度値C1が割り当てられる。また奥行き値Z1〜Z2、Z2’〜Z1’の範囲には、ぼかし値B2、ぼかし濃度値C2が割り当てられ、奥行き値Z2〜、Z2’〜の範囲には、ぼかし値B3、ぼかし濃度値C3が割り当てられる。例えば図9(B)に示すように、ぼかし値B1=1、B2=2/3、B3=1/3に設定され、ぼかし濃度値C1=1、C2=1/9、C3=1/25に設定される。
そして本実施形態では、元画像の処理対象ピクセルの奥行き値に応じたぼかし値、ぼかし濃度値を取得する。具体的には図9(A)(B)に示す参照テーブルRTBからぼかし値、ぼかし濃度値を読み出すことで、これらのぼかし値、ぼかし濃度値を取得する。
なお、元画像の奥行き値Z(ZバッファのZ値)に基づいて、ぼかし値、ぼかし濃度値を取得してもよいし、元画像の奥行き値Zと仮想焦点の奥行き値ZFとの差分値(ずれ分)に基づいて、ぼかし値、ぼかし濃度値を取得してもよい。この場合には、被写界深度のパラメータとして仮想焦点の奥行き値ZF(焦点距離)を設定し、設定されたZFに基づいて図9(A)(B)に示すような参照テーブルRTBを作成すればよい。
そして本実施形態では、図7(A)(B)のぼかし閾値判断テーブルRTBと、図9(A)(B)の参照テーブルRTB等により取得されたぼかし値、ぼかし濃度値を用いて、描画対象範囲のピクセルに対してぼかしピクセル値を書き込んでいる。
具体的には図10ではPXが処理対象ピクセルになっている。また元画像の処理対象ピクセルPXの奥行き値は、図9(B)のZ1〜Z2又はZ2’〜Z1’の範囲にあり、参照テーブルRTBからは、処理対象ピクセルPXのぼかし値としてB=2/3が取得され、ぼかし濃度値としてA=1/9が取得されている。この場合は、処理対象ピクセルPXとその周囲のピクセルのうち、描画対象範囲DR内の各位置Pmnのピクセルについて、取得されたぼかし値B=2/3と、図7(B)のぼかし閾値判断テーブルDTBに記憶されるぼかし閾値BTmnとを比較し、例えば、ぼかし閾値BTmnがぼかし値B=2/3以上であるピクセルに対して、ぼかしピクセル値を描画する。即ち、処理対象ピクセルPXを分布中心とする描画対象範囲DR内の各位置Pmnのピクセルのうち、ぼかし閾値BTmnが、取得された処理対象ピクセルPXのぼかし値B=2/3以上であるピクセルに対して、ぼかしピクセル値を描画する。例えば、取得された処理対象ピクセルPXのぼかし濃度値A=1/9とピクセル値PVを乗算し、得られたぼかしピクセル値(1/9)×PVを、P33、P34、P35、P43、P44、P45、P53、P54、P55の位置のピクセルに対して描画する。
また図11ではPXi+1が処理対象ピクセルになっている。また元画像の処理対象ピクセルPXi+1の奥行き値は、図9(B)のZ2〜又はZ2’〜の範囲にあり、参照テーブルRTBからは、処理対象ピクセルPXi+1のぼかし値としてB=1/3が取得され、ぼかし濃度値としてA=1/25が取得されている。この場合は、処理対象ピクセルPXi+1とその周囲のピクセルのうち、描画対象範囲DR内の各位置Pmnのピクセルについて、取得されたぼかし値B=1/3と、図7(B)のぼかし閾値判断テーブルDTBに記憶されるぼかし閾値BTmnとを比較し、ぼかし閾値BTmnがぼかし値B=1/3以上であるピクセルに対して、ぼかしピクセル値を描画する。例えば、取得された処理対象ピクセルPXi+1のぼかし濃度値A=1/25とピクセル値PVi+1を乗算し、得られたぼかしピクセル値(1/25)×PVi+1を、P22、P23、P24、P25、P26、P32、P33・・・P66の位置のピクセルに対して描画する。
そしてこのようにぼかしピクセル値を描画する処理を、元画像の全ての処理対象ピクセル(1画面分のピクセル)に対して行う。即ち図10ではピクセルPの周りの描画対象範囲DRについて、ぼかしピクセル値の描画処理を行い、図11ではPの隣のピクセルPi+1の周りの描画対象範囲DRについて、ぼかしピクセル値の描画処理を行っている。このようにして、元画像の画面の左上のピクセルから右下のピクセルまで、描画対象範囲DRについてのぼかしピクセル値の描画処理を行うことで、元画像のぼかし画像(被写界深度画像)が生成される。
本実施形態の第2の手法によれば、図7(A)(B)のようなぼかし閾値判断テーブルを用いてぼかしピクセル値を描画しているため、ぼかし範囲の大きさを計算する処理を省略できる。従って、比較例の手法に比べてぼかし処理の負荷を格段に軽減できる。
また本実施形態の第2の手法によれば、ぼかし閾値判断テーブルや参照テーブルの内容を変更するだけで、ぼかし範囲の大きさ、ぼかし濃度値の設定等を変化させることができる。従って、比較例の手法のような複雑な計算をしなくても、ぼかし範囲やぼかし具合を様々な設定にすることができ、多様なぼかし表現を実現できるという利点がある。
また本実施形態では、Zバッファ175を用いて隠面消去を行いながらオブジェクトを描画することで、描画バッファ174の第1の描画バッファに元画像を生成する。そしてZバッファ175に格納された元画像の奥行き値に応じたぼかし値、ぼかし濃度値を取得する。そして取得されたぼかし濃度値と、第1の描画バッファに格納された元画像のピクセル値とにより得られるぼかしピクセル値を、描画バッファ174の第2の描画バッファに描画する。これにより、第2の描画バッファに元画像のぼかし画像を生成できる。
このように第1、第2の描画バッファを使用して元画像、ぼかし画像を生成すれば、元画像の奥行き値やピクセル値を有効利用しながら、簡素な処理で、元画像のぼかし画像を生成できるようになる。
2.4 詳細な処理例
次に本実施形態の詳細な処理例を図12、図13のフローチャートを用いて説明する。
図12は本実施形態の第1の手法のフローチャートである。まず図3(A)で説明した仮想焦点の奥行き値ZFを設定する(ステップS1)。そして奥行き値ZとZFとの差分値に応じて変化するぼかし濃度テーブルBTB〜BTBの参照テーブルRTA(図3(B)参照)を、ZFに基づき求めて、用意する(ステップS2)。そしてLY=0、LX=0に設定する(ステップS3、S4)。
次に、元画像が描画される第1の描画バッファの(LX、LY)のピクセル値(RGB色成分)と、Zバッファの奥行き値Zを読み出す(ステップS5)。そしてZとZFの差分値を参照テーブルRTAに適用し、対応するぼかし濃度テーブルBTBを選択する(ステップS6)。
次に、V=−SizeV、U=−SizeUに設定する(ステップS7、S8)。ここで、SizeV=(画面の縦方向の最大ぼかし範囲−1)/2であり、SizeU=(画面の横方向の最大ぼかし範囲−1)/2である。
次に、ぼかし濃度テーブルBTBから(U、V)の位置のぼかし濃度値Aを読み出す(ステップS9)。そして第2の描画バッファの(LX+U、LY+V)の位置に、ぼかし濃度値Aと元画像のピクセル値により得られるぼかしピクセル値(RGB色成分)を描画する(ステップS10)。
次に、Uを1だけインクリメントする(ステップS11)。そしてU>SizeUか否かを判断し(ステップS12)、U≦SizeUである場合にはステップS9に戻る。また、Vを1だけインクリメントする(ステップS13)。そしてV>SizeVか否かを判断し(ステップS14)、V≦SizeVである場合にはステップS8に戻る。
次に、LXを1だけインクリメントする(ステップS15)。そしてLX=SizeXか否かを判断し(ステップS16)、LX=SizeXではない場合にはステップS5に戻る。またLYを1だけインクリメントする(ステップS17)。そしてLY=SizeYか否かを判断し(ステップS18)、LY=SizeYではない場合にはステップS4に戻る。なおSizeXは画面の横サイズであり、SizeYは画面の縦サイズである。
図13は本実施形態の第2の手法のフローチャートである。まず仮想焦点の奥行き値ZFを設定する(ステップS21)。そして奥行き値ZとZFとの差分値に応じて変化するぼかし値Bと、Bに対するぼかし濃度値Aの参照テーブルRTB(図9(A)(B)参照)を、ZFに基づき用意する(ステップS22)。 そしてLY=0、LX=0に設定する(ステップS23、S24)。
次に、元画像が描画される第1の描画バッファの(LX,LY)のピクセル値(RGB色成分)と、Zバッファの奥行き値Zを読み出す(ステップS25)。そしてZとZFの差分値を参照テーブルRTBに適用し、対応するぼかし値Bとぼかし濃度値Aを読み出す(ステップS26)。
次に、V=−SizeV、U=−SizeUに設定する(ステップS27、S28)。そしてぼかし閾値判断テーブルDTBの(U、V)の位置のぼかし閾値BTを読み出す(ステップS29)。
次に、ぼかし閾値BTとぼかし値Bを比較し、BT≧Bか否かを判断する(ステップS30)。そしてBT≧Bである場合には、描画ぼかし濃度値をα=Aに設定する(ステップS31)。一方、BT<Bである場合には、描画ぼかし濃度値をα=0に設定する(ステップS32)。
次に、第2の描画バッファの(LX+U、LY+V)の位置に、描画ぼかし濃度値αと元画像のピクセル値により得られるぼかしピクセル値(RGB色成分)を描画する(ステップS33)。
次に、Uを1だけインクリメントする(ステップS34)。そしてU>SizeUか否かを判断し(ステップS35)、U≦SizeUである場合にはステップS29に戻る。また、Vを1だけインクリメントする(ステップS36)。そしてV>SizeVか否かを判断し(ステップS37)、V≦SizeVである場合にはステップS28に戻る。
次に、LXを1だけインクリメントする(ステップS38)。そしてLX=SizeXか否かを判断し(ステップS39)、LX=SizeXではない場合にはステップS25に戻る。またLYを1だけインクリメントする(ステップS40)。そしてLY=SizeYか否かを判断し(ステップS41)、LY=SizeYではない場合にはステップS24に戻る。
3.ハードウェア構成
図14に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、DVD982(情報記憶媒体。CDでもよい。)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。頂点シェーダやピクセルシェーダなどのプログラマブルシェーダが実装されている場合には、シェーダプログラムに従って、頂点データの作成・変更(更新)やピクセル(あるいはフラグメント)の描画色の決定を行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980(CDドライブでもよい。)は、プログラム、画像データ、或いは音データなどが格納されるDVD982(CDでもよい。)にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書または図面のいかなる箇所においても、その異なる用語に置き換えることができる。
また、テーブルの選択手法、ぼかしピクセル値の描画手法、ぼかし値やぼかし濃度値の取得手法も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレイヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
本実施形態の画像生成システムの機能ブロック図の例。 図2(A)(B)はぼかし濃度テーブルの説明図。 図3(A)(B)はぼかし濃度テーブルの選択手法の説明図。 本実施形態の第1の手法の描画処理の説明図。 本実施形態の第1の手法の描画処理の説明図。 図6(A)(B)は本実施形態の補間手法の説明図。 図7(A)(B)はぼかし閾値判断テーブルの説明図。 図8(A)(B)はぼかし閾値判断テーブルの他の例。 図9(A)(B)はぼかし値、ぼかし濃度値の取得手法の説明図。 本実施形態の第2の手法の描画処理の説明図。 本実施形態の第2の手法の描画処理の説明図。 本実施形態の第1の手法の処理の詳細例。 本実施形態の第2の手法の処理の詳細例。 ハードウェア構成例。
符号の説明
100 処理部、108 ゲーム演算部、110 オブジェクト空間設定部、
112 移動体演算部、114 仮想カメラ制御部、116 テーブル選択部、
118 取得部、120 画像生成部、122 ぼかし画像生成部、
124 元画像生成部、160 操作部、170 記憶部、
172 主記憶部、174 描画バッファ、175 Zバッファ、
176 モデルデータ記憶部、177-1、177-2、177-3 ぼかし濃度テーブル、
178 参照テーブル、179 ぼかし閾値判断テーブル、
180 情報記憶媒体、190 表示部、192 音出力部、
194 携帯型情報記憶装置、196 通信部

Claims (11)

  1. 画像生成のためのプログラムであって、
    各ぼかし濃度テーブルが、描画対象範囲内の各位置における各ぼかし濃度値を記憶し、同じ大きさの前記描画対象範囲を有する複数のぼかし濃度テーブルが格納される記憶部と、
    前記複数のぼかし濃度テーブルの中から、元画像の処理対象ピクセルの奥行き値に応じたぼかし濃度テーブルを選択するテーブル選択部と、
    処理対象ピクセルを濃度分布中心とする前記描画対象範囲内の各位置のピクセルに対して、選択された前記ぼかし濃度テーブルから読み出されたぼかし濃度値と元画像の処理対象ピクセルのピクセル値とにより得られるぼかしピクセル値を描画することで、元画像のぼかし画像を生成するぼかし画像生成部として、
    コンピュータを機能させることを特徴とするプログラム。
  2. 請求項1において、
    前記ぼかし濃度テーブルは、
    描画対象範囲内の各位置Pmn(m、n、M、Nは、1≦m≦M、1≦n≦Nを満たす自然数)における各ぼかし濃度値Amnを記憶し、
    前記ぼかし画像生成部は、
    処理対象ピクセルを濃度分布中心とする描画対象範囲内の各位置Pmnのピクセルに対して、ぼかし濃度値Amnと処理対象ピクセルのピクセル値とにより得られるぼかしピクセル値を描画する処理を、元画像の全ての処理対象ピクセルに対して行うことで、元画像のぼかし画像を生成することを特徴とするプログラム。
  3. 請求項1又は2において、
    奥行き値を格納するZバッファを用いて隠面消去を行いながらオブジェクトを描画することで、第1の描画バッファに元画像を生成する元画像生成部として、
    コンピュータを機能させ、
    前記テーブル選択部は、
    前記Zバッファに格納された元画像の処理対象ピクセルの奥行き値に応じたぼかし濃度テーブルを選択し、
    前記ぼかし画像生成部は、
    選択された前記ぼかし濃度テーブルからのぼかし濃度値と前記第1の描画バッファに格納された元画像のピクセル値とにより得られるぼかしピクセル値を、第2の描画バッファに描画することで、前記第2の描画バッファに元画像のぼかし画像を生成することを特徴とするプログラム。
  4. 請求項1乃至3のいずれかにおいて、
    前記テーブル選択部は、
    前記複数のぼかし濃度テーブルの中から、処理対象ピクセルの奥行き値に応じたぼかし濃度テーブルであって同じ大きさの前記描画対象範囲を有する第1、第2のぼかし濃度テーブルを選択し、
    前記ぼかし画像生成部は、
    選択された前記第1、第2のぼかし濃度テーブルから読み出された第1、第2のぼかし濃度値を補間し、補間後のぼかし濃度値と元画像の処理対象ピクセルのピクセル値とにより得られるぼかしピクセル値を描画することを特徴とするプログラム。
  5. 画像生成のためのプログラムであって、
    描画対象範囲内の各位置における各ぼかし閾値を記憶するぼかし閾値判断テーブルが格納される記憶部と、
    元画像の処理対象ピクセルの奥行き値に応じたぼかし値、ぼかし濃度値を取得する取得部と、
    処理対象ピクセルを分布中心とする前記描画対象範囲内の各位置のピクセルについて、取得されたぼかし値と前記ぼかし閾値判断テーブルに記憶されるぼかし閾値とを比較し、ぼかし値とぼかし閾値との比較によりぼかし処理の対象と判断されたピクセルに対して、取得されたぼかし濃度値と元画像の処理対象ピクセルのピクセル値とにより得られるぼかしピクセル値を描画することで、元画像のぼかし画像を生成するぼかし画像生成部として、
    コンピュータを機能させることを特徴とするプログラム。
  6. 請求項5において、
    前記ぼかし閾値判断テーブルは、
    描画対象範囲内の各位置Pmn(m、n、M、Nは、1≦m≦M、1≦n≦Nを満たす自然数)における各ぼかし閾値BTmnを記憶し、
    前記ぼかし画像生成部は、
    処理対象ピクセルを分布中心とする描画対象範囲内の各位置Pmnのピクセルのうち、ぼかし値とぼかし閾値BTmnとの比較によりぼかし処理の対象と判断されたピクセルに対して、取得されたぼかし濃度値と処理対象ピクセルのピクセル値とにより得られるぼかしピクセル値を描画する処理を、元画像の全ての処理対象ピクセルに対して行うことで、元画像のぼかし画像を生成することを特徴とするプログラム。
  7. 請求項5又は6において、
    奥行き値を格納するZバッファを用いて隠面消去を行いながらオブジェクトを描画することで、第1の描画バッファに元画像を生成する元画像生成部として、
    コンピュータを機能させ、
    前記取得部は、
    前記Zバッファに格納された元画像の奥行き値に応じたぼかし値、ぼかし濃度値を取得し、
    前記ぼかし画像生成部は、
    取得されたぼかし濃度値と前記第1の描画バッファに格納された元画像のピクセル値とにより得られるぼかしピクセル値を、第2の描画バッファに描画することで、前記第2の描画バッファに元画像のぼかし画像を生成することを特徴とするプログラム。
  8. コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至7のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
  9. 画像を生成する画像生成システムであって、
    各ぼかし濃度テーブルが、描画対象範囲内の各位置における各ぼかし濃度値を記憶し、同じ大きさの前記描画対象範囲を有する複数のぼかし濃度テーブルが格納される記憶部と、
    前記複数のぼかし濃度テーブルの中から、元画像の処理対象ピクセルの奥行き値に応じたぼかし濃度テーブルを選択するテーブル選択部と、
    処理対象ピクセルを濃度分布中心とする前記描画対象範囲内の各位置のピクセルに対して、選択された前記ぼかし濃度テーブルから読み出されたぼかし濃度値と元画像の処理対象ピクセルのピクセル値とにより得られるぼかしピクセル値を描画することで、元画像のぼかし画像を生成するぼかし画像生成部と、
    を含むことを特徴とする画像生成システム。
  10. 請求項9において、
    前記テーブル選択部は、
    前記複数のぼかし濃度テーブルの中から、処理対象ピクセルの奥行き値に応じたぼかし濃度テーブルであって同じ大きさの前記描画対象範囲を有する第1、第2のぼかし濃度テーブルを選択し、
    前記ぼかし画像生成部は、
    選択された前記第1、第2のぼかし濃度テーブルから読み出された第1、第2のぼかし濃度値を補間し、補間後のぼかし濃度値と元画像の処理対象ピクセルのピクセル値とにより得られるぼかしピクセル値を描画することを特徴とする画像生成システム。
  11. 画像を生成する画像生成システムであって、
    描画対象範囲内の各位置における各ぼかし閾値を記憶するぼかし閾値判断テーブルが格納される記憶部と、
    元画像の処理対象ピクセルの奥行き値に応じたぼかし値、ぼかし濃度値を取得する取得部と、
    処理対象ピクセルを分布中心とする前記描画対象範囲内の各位置のピクセルについて、取得されたぼかし値と前記ぼかし閾値判断テーブルに記憶されるぼかし閾値とを比較し、ぼかし値とぼかし閾値との比較によりぼかし処理の対象と判断されたピクセルに対して、取得されたぼかし濃度値と元画像の処理対象ピクセルのピクセル値とにより得られるぼかしピクセル値を描画することで、元画像のぼかし画像を生成するぼかし画像生成部と、
    を含むことを特徴とする画像生成システム。
JP2006094629A 2006-03-30 2006-03-30 プログラム、情報記憶媒体及び画像生成システム Active JP4749198B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006094629A JP4749198B2 (ja) 2006-03-30 2006-03-30 プログラム、情報記憶媒体及び画像生成システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006094629A JP4749198B2 (ja) 2006-03-30 2006-03-30 プログラム、情報記憶媒体及び画像生成システム

Publications (2)

Publication Number Publication Date
JP2007272356A JP2007272356A (ja) 2007-10-18
JP4749198B2 true JP4749198B2 (ja) 2011-08-17

Family

ID=38675128

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006094629A Active JP4749198B2 (ja) 2006-03-30 2006-03-30 プログラム、情報記憶媒体及び画像生成システム

Country Status (1)

Country Link
JP (1) JP4749198B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101008488B1 (ko) 2008-04-11 2011-01-14 남송산업 주식회사 영상신호 처리장치 및 방법
JP2011003124A (ja) * 2009-06-22 2011-01-06 Sony Corp 画像処理装置および画像処理プログラム
JP2012125420A (ja) * 2010-12-15 2012-07-05 Sanyo Product Co Ltd 遊技機
JP5857608B2 (ja) * 2011-10-12 2016-02-10 株式会社ソシオネクスト 画像生成装置,画像生成プログラム,および,画像生成装置を有する画像表示システム
KR20200067340A (ko) 2018-12-04 2020-06-12 현대자동차주식회사 후륜 구동 차량의 변속기 마운트

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222205A (en) * 1990-03-16 1993-06-22 Hewlett-Packard Company Method for generating addresses to textured graphics primitives stored in rip maps
JP4291892B2 (ja) * 1996-12-06 2009-07-08 株式会社セガ 画像処理装置およびその方法
JP3262772B2 (ja) * 1999-12-17 2002-03-04 株式会社ナムコ 画像生成システム及び情報記憶媒体
JP4656617B2 (ja) * 2000-01-28 2011-03-23 株式会社バンダイナムコゲームス ゲームシステム、プログラム及び情報記憶媒体
JP4409719B2 (ja) * 2000-05-09 2010-02-03 株式会社バンダイナムコゲームス ゲーム装置および情報記憶媒体
JP3467259B2 (ja) * 2000-05-10 2003-11-17 株式会社ナムコ ゲームシステム、プログラム及び情報記憶媒体
JP3428581B2 (ja) * 2000-12-22 2003-07-22 株式会社スクウェア ビデオゲーム装置およびその制御方法、ならびにビデオゲームのプログラムを記録したコンピュータ読取り可能な記録媒体。
JP3715222B2 (ja) * 2000-12-27 2005-11-09 株式会社ソニー・コンピュータエンタテインメント 描画方法、描画装置、描画処理プログラム、描画処理プログラムを記録した記録媒体、および描画処理プログラム実行装置
JP3507039B2 (ja) * 2001-03-07 2004-03-15 株式会社ナムコ プログラム、情報記憶媒体及びゲーム装置
JP2004240910A (ja) * 2003-02-10 2004-08-26 Toshiba Corp 画像処理装置および画像処理方法
JP2004334661A (ja) * 2003-05-09 2004-11-25 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP2006011539A (ja) * 2004-06-22 2006-01-12 Namco Ltd プログラム、情報記憶媒体、及び画像生成システム

Also Published As

Publication number Publication date
JP2007272356A (ja) 2007-10-18

Similar Documents

Publication Publication Date Title
JP2006318389A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4804120B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4804122B2 (ja) プログラム、テクスチャデータ構造、情報記憶媒体及び画像生成システム
JP4305903B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4749198B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2007164557A (ja) プログラム、情報記録媒体および画像生成システム
JP4502678B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2009129167A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4743770B2 (ja) 画像生成システム、プログラム、及び情報記憶媒体
JP4754384B2 (ja) プログラム、情報記録媒体および画像生成システム
JP4073031B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2006252426A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2006323512A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4632855B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP4528008B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2011215724A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4754385B2 (ja) プログラム、情報記録媒体および画像生成システム
JP4592087B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2007164651A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4476040B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2008077406A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2006318386A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4521811B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4693153B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4680670B2 (ja) プログラム、情報記憶媒体及び画像生成システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110411

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110510

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110517

R150 Certificate of patent or registration of utility model

Ref document number: 4749198

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140527

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140527

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250