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