(57)【特許請求の範囲】
【請求項１】
三次元の仮想空間に配置した複数の３次元モデルをレンダリングすることによって当該仮想空間における仮想カメラから見える画像を生成させる画像処理プログラムであって、
コンピュータを、
前記複数の３次元モデルをレンダリングして前記仮想カメラから見える当該複数の３次元モデルの画像を生成する画像生成手段、
前記画像生成手段による前記複数の３次元モデルのレンダリングが完了して前記仮想カメラから見える当該複数の３次元モデルの画像が生成された後に、当該生成された画像の各画素の色値から輝度値を抽出する輝度抽出手段、
前記輝度抽出手段によって抽出した前記輝度値の階調数を低減することによって、前記輝度値をトゥーン加工用輝度値に変換する階調数低減手段、および
前記トゥーン加工用輝度値に基づいて、前記画像生成手段によって生成された前記画像の各画素の色値全体を変化させる色値変化手段として機能させ、
前記画像生成手段として前記コンピュータが前記複数の３次元モデルをレンダリングするときに、前記コンピュータに、特定の３次元モデルに対応する画素をフラグで記憶させ、
前記フラグを参照することによって前記特定の３次元モデルに対応する画素のみを対象として前記コンピュータに前記輝度抽出手段、前記階調数低減手段および前記色値変化手段の処理を実行させることを特徴とする、画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理プログラム及び画像処理装置に関し、より特定的には３次元モデルをアニメ調で表示するためのプログラム及び装置に関する。
【背景技術】
【０００２】
従来、複数のポリゴンによって構成される３次元モデルをシェーディングする際に、３次元グラフィックをアニメーションのセル画のように色の明暗の境目がハッキリとするように表示するトゥーンシェーディングといわれる画像処理方法がある（例えば特許文献１参照。）。
【０００３】
以下、一般的なトゥーンシェーディングについて説明する。
【０００４】
各ポリゴンがシェーディングされる段階において、まずライティングによってポリゴンの輝度が決定する。一般的なシェーディングでは、その輝度を予め決められているポリゴンの色やテクスチャの色に乗算することによってこれらの色に明暗が付けらるが、トゥーンシェーディングにおいては、ポリゴンの輝度が決定した後、１ステップ余分に計算が行われる。
【０００５】
つまりトゥーンシェーディングにおいては、ある輝度からある輝度までが同一の輝度となるように輝度を加工する処理が行われる。こうして滑らかな輝度変化を数段階の（例えば３段階の）輝度変化に加工した後、この数段階の輝度を用いてポリゴンの色やテクスチャの色に明暗が付けられる。その結果、アニメーションのセル画の特徴である、明暗の境目がハッキリとした画像が得られる。
【特許文献１】特開２００１−８４４０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら上記の従来のトゥーンシェーディングでは、個々の３次元モデルを描画するのに特殊な設定を必要とするため、データ量が増加したり、画像処理プログラムが煩雑になって処理時間が増えたりといった問題があった。
【０００７】
また、従来のトゥーンシェーディングでは、ポリゴン毎に処理が発生するため、描画されるポリゴンの数の増加に伴って処理負荷が大きくなってしまうという問題があった。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は以下の構成を採用した。なお括弧内の参照符号は本発明の理解を助けるために後述の実施形態との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
【０００９】
本発明の画像処理プログラムは、三次元の仮想空間に配置した３次元モデルをレンダリングすることによって仮想空間における仮想カメラから見える画像をコンピュータに生成させるための画像処理プログラムであって、コンピュータを、画像生成手段（Ｓ１１〜Ｓ１４）、輝度抽出手段（Ｓ２２）、階調数低減手段（Ｓ２３，Ｓ２４）、および色値変化手段（Ｓ２５）として機能させる。つまり、本発明の画像処理プログラムは、コンピュータに、画像生成手段として、３次元モデルをレンダリングして仮想カメラから見える当該３次元モデルの画像を生成させ、輝度抽出手段として、画像生成手段による３次元モデルのレンダリングが完了して仮想カメラから見える当該３次元モデルの画像が生成された後に、当該生成された画像の各画素の色値から輝度値を抽出させ、階調数低減手段として、輝度抽出手段によって抽出した輝度値の階調数を低減することによって、輝度値をトゥーン加工用輝度値に変換させ、色値変化手段として、トゥーン加工用輝度値に基づいて、画像生成手段によって生成された画像の各画素の色値全体を変化させる。
【００１０】
色値は、各画素が赤色値（Ｒ），緑色値（Ｇ），青色値（Ｂ）の光の三原色で定義されるＲＧＢ値であり、輝度抽出手段として、コンピュータに、画像生成手段によって生成された画像の各画素のＲＧＢ値を輝度値（Ｙ），青味値（Ｕ），赤味値（Ｖ）で定義されるＹＵＶ値に変換させることによって、各画素ごとの輝度値を抽出させ、さらに、色値変化手段として、コンピュータに、画像生成手段によって生成された画像の各画素のＲＧＢ値全体に対してトゥーン加工用輝度値を画素毎に乗算させるようにしてもよい。
【００１１】
また、階調数低減手段として、コンピュータに、輝度抽出手段によって抽出された輝度値を縮小する縮小ステップ（Ｓ２３）とこの縮小結果を拡大する拡大ステップ（Ｓ２４）とを実行させるようにしてもよい。
【００１２】
また、仮想空間に複数の３次元モデルが配置されている場合に、画像生成手段として、コンピュータに、特定の３次元モデルだけをレンダリングして仮想カメラから見える当該３次元モデルの画像を生成させ（Ｓ１４１）、さらに色値変化手段による処理後に残りの３次元モデルをレンダリングさせる（Ｓ１４２）ようにしてもよい。
【００１３】
また、仮想空間に複数の３次元モデルが配置されている場合に、画像生成手段としてコンピュータが複数の３次元モデルをレンダリングするときに、コンピュータに、特定の３次元モデルに対応する画素をフラグで記憶させ（Ｓ１４３）、それらのフラグを参照することによってその特定の３次元モデルに対応する画素のみを対象としてコンピュータに輝度抽出手段、階調数低減手段および色値変化手段の処理を実行させるようにしてもよい。
【００１４】
本発明の画像処理装置は、上記画像処理プログラムを記憶しかつこのプログラムによって機能するコンピュータを備えている。
【発明の効果】
【００１５】
本発明によれば、３次元モデルをレンダリングして得られた画像データに対してトゥーン加工を施すため、個々の３次元モデルをレンダリングするのに特殊な設定を必要とせず、また、データ量が増加したり、画像処理プログラムが煩雑になって処理時間が増えたりといった問題も生じない。また、レンダリングされるポリゴン数の増加に伴ってトゥーン加工のための処理負荷が際限なく大きくなることもない。
【００１６】
特に、トゥーン加工用輝度に基づいて画像データのＲＧＢ値を変換する時に、画像データのＲＧＢ値に対してトゥーン加工用輝度を画素毎に乗算するようにした場合には、変換前の画像の階調を失うことなくアニメ調に変換することができるため、リアルさを残しつつもアニメ調であるような画像が得られるという付加的な効果が得られる。
【００１７】
また、輝度抽出手段によって抽出された輝度値を一旦縮小してから拡大することによってトゥーン加工用輝度を生成するようにすれば、輝度の階調数を低減する処理を簡単に行うことができるという付加的な効果が得られる。
【００１８】
また、特定の３次元モデルをレンダリングすることによって生成された画像データに対してトゥーン加工を施した後、残りの３次元モデルをレンダリングするようにすれば、特定の３次元モデルにだけトゥーン加工を施すことができるという付加的な効果が得られる。また、３次元モデルをレンダリングするときに特定の３次元モデルに対応する画素をフラグにより記憶しておき、このフラグに基づいてその特定の３次元モデルに対応する画素のみを対象として輝度抽出処理および画像データ変換処理を行うようにしても、同様の効果が得られる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態を図面を参照しながら説明する。本実施形態は、本発明をゲームシステムへ適用した場合の例であるが、本発明の適用範囲はゲームシステムに限らない。
【００２０】
図１は、ゲームシステムの構成を示す外観図であり、図２はそのブロック図である。図１および図２に示すように、ゲームシステムは、ＴＶモニタ１０、ゲーム機本体２０、ＤＶＤ−ＲＯＭ３０、外部メモリカード４０、コントローラ５０およびスピーカ６０を備える。ＤＶＤ−ＲＯＭ３０および外部メモリカード４０は、ゲーム機本体２０に着脱自在に装着される。コントローラ５０は、通信ケーブルを介して、ゲーム機本体２０に設けられた複数（図１では４つ）のコントローラポート用コネクタのいずれかに接続される。ＴＶモニタ１０およびスピーカ６０は、ＡＶケーブル等によってゲーム機本体２０と接続される。なお、ゲーム機本体２０とコントローラ５０との通信は無線通信であってもよい。以下、図２を参照しながら、ゲームシステムの各部についてより詳細に説明する。
【００２１】
ＤＶＤ−ＲＯＭ３０は、ゲームプログラムやゲームデータ等を固定的に記憶している。プレイヤがゲームをプレイするとき、ＤＶＤ−ＲＯＭ３０はゲーム機本体２０に装着される。なお、ゲームプログラム等を記憶する手段として、ＤＶＤ−ＲＯＭ３０の代わりに例えばＣＤ−ＲＯＭ、ＭＯ、メモリカード、ＲＯＭカートリッジ等の外部記憶媒体を用いてもよい。
【００２２】
外部メモリカード４０は、例えばフラッシュメモリ等の書き換え可能な記憶媒体によって構成され、例えばゲームのセーブデータ等のデータを記録する。
【００２３】
ゲーム機本体２０は、ＤＶＤ−ＲＯＭ３０に記録されているプログラムを読み出し、読み出したプログラムに応じた処理を行う。
【００２４】
コントローラ５０は、プレイヤがゲーム操作に関する入力を行うための入力装置であり、複数の操作スイッチを有する。コントローラ５０は、プレイヤによる操作スイッチの押圧等に応じて操作データをゲーム機本体２０に出力する。
【００２５】
ＴＶモニタ１０は、ゲーム機本体２０から出力された画像データを画面に表示する。スピーカ６０は、典型的にはＴＶモニタ１０に内蔵されており、ゲーム機本体２０から出力されたゲーム中の音声を出力する。
【００２６】
次に、ゲーム機本体２０の構成について説明する。図２において、ゲーム機本体２０には、ＣＰＵ２０２およびそれに接続されるメモリコントローラ２２０が設けられる。さらにゲーム機本体２０において、メモリコントローラ２２０は、ＧＰＵ（グラフィックスプロセッシングユニット）２０４と、メインメモリ２１４と、ＤＳＰ２１６と、各種インターフェース（Ｉ／Ｆ）２２２、２２４、２２６、２２８、２３２とに接続される。メモリコントローラ２２０は、これら各構成要素間のデータ転送を制御する。
【００２７】
ゲーム開始の際、まず、ディスクドライブ２３０は、ゲーム機本体２０に装着されたＤＶＤ−ＲＯＭ３０を駆動する。ＤＶＤ−ＲＯＭ３０に記憶されているゲームプログラムは、ディスクＩ／Ｆ２３２およびメモリコントローラ２２０を介して、メインメモリ２１４に読み込まれる。このメインメモリ２１４上のプログラムをＣＰＵ２０２が実行することによってゲームが開始される。ゲーム開始後、プレイヤは、操作スイッチを用いてコントローラ５０に対してゲーム操作等の入力を行う。プレイヤによる入力に従い、コントローラ５０は、操作データをゲーム機本体２０に出力する。コントローラ５０から出力される操作データは、コントローラＩ／Ｆ２２２およびメモリコントローラ２２０を介してＣＰＵ２０２に供給される。ＣＰＵ２０２は、入力された操作データに応じてゲーム処理を行う。ゲーム処理における画像データ生成等に際して、ＧＰＵ２０４やＤＳＰ２１６が用いられる。また、サブメモリ２１８は、ＤＳＰ２１６が処理を行う際に用いられる。
【００２８】
ＧＰＵ２０４は、ジオメトリユニット２０６およびレンダリングユニット２０８を含み、画像処理専用のメモリに接続されている。この画像処理専用メモリは、例えばカラーバッファ２１０やＺバッファ２１２として利用される。ジオメトリユニット２０６は、仮想三次元空間であるゲーム空間に置かれた物体や図形に関する立体モデル（例えばポリゴンで構成されるオブジェクト）の座標についての演算処理を行うものであり、例えば立体モデルの回転・拡大縮小・変形や、ワールド座標系の座標から視点座標系やスクリーン座標系の座標への変換を行うものである。レンダリングユニット２０８は、所定のテクスチャに基づいて、スクリーン座標に投影された立体モデルについて各ピクセルごとのカラーデータ（ＲＧＢデータ）をカラーバッファ２１０に書き込むことによって、ゲーム画像を生成するためのものである。また、カラーバッファ２１０は、レンダリングユニット２０８によって生成されたゲーム画像データ（ＲＧＢデータ）を保持するために確保されたメモリ領域である。Ｚバッファ２１２は、３次元の視点座標から２次元のスクリーン座標に変換する際に失われる視点からの奥行情報を保持するために確保されたメモリ領域である。ＧＰＵ２０４は、これらバッファを用いてＴＶモニタ１０に表示すべき画像データを生成し、メモリコントローラ２２０およびビデオＩ／Ｆ２２４を介して、この画像データをＴＶモニタ１０に適宜出力する。なお、ゲームプログラム実行時にＣＰＵ２０２において生成される音声データは、メモリコントローラ２２０からオーディオＩ／Ｆ２２８を介してスピーカ６０に出力される。なお本実施形態では、画像処理専用のメモリを別途設けたハードウェア構成としたが、これに限らず例えばメインメモリ２１４の一部を画像処理用のメモリとして利用する方式（ＵＭＡ：Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ）を使うようにしてもよい。
【００２９】
次に、図３を参照してメインメモリ２１４のメモリマップについて説明する。メインメモリ２１４には、ＤＶＤ−ＲＯＭ３０から読み出された各種プログラム（メインプログラム２１４１、トゥーン加工プログラム２１４２、その他プログラム２１４３）が格納される。メインプログラム２１４１は、ゲーム処理を実行するためのメインのプログラムである。トゥーン加工プログラム２１４２は、本実施形態に特有の画像処理プログラムであって、画像データをアニメ調に変換するためのプログラムである。
【００３０】
また、メインメモリ２１４には、上記プログラムで利用される各種データ（画像データ２１４４、音データ２１４５、その他データ２１４６）が格納される。画像データ２１４４には、仮想ゲーム空間に配置される３次元モデルを構成するポリゴンに関するデータや、ポリゴンに色を貼り付けるためのテクスチャ等が含まれる。
【００３１】
また、メインメモリ２１４には、ＣＰＵ２０２による演算結果を一時的に記憶するための計算用バッファ２１４７が用意される。
【００３２】
次に、本実施形態のゲームシステムの動作について説明する。
【００３３】
詳細な説明を行う前にまず、本実施形態の画像処理の原理について簡単に説明する。本実施形態では、３次元の仮想ゲーム空間に配置された３次元モデル（オブジェクト）を普通のシェーディング（ライトシェーディング）で描画した後、その結果生成された画像データに対してトゥーン加工（アニメ調に変換するための画像処理）を行う。
【００３４】
ここでは一例として、レンダリングにより生成された画像データにピンク色のグラデーション部分が存在していた場合について説明する。このとき、グラデーション部分の各画素のＲＧＢ値は図４に示すような値をとっているものとする。すなわち、暗いピンク色から明るいピンク色へなだらかに変化しているものとする。
【００３５】
本実施形態では、まずこのＲＧＢ値から輝度情報を取り出す。輝度は一般にＲＧＢ値の重み付き平均をとることによって取り出すことができる。図４に示したＲＧＢ値から輝度を抽出した結果を図５に示す。
【００３６】
続いて、階調数を低減することによって、抽出した輝度をトゥーン加工用輝度に変換する。この変換処理前後の関係を図６に示す。図６の例では、輝度の階調数が４つに低減されている。図５に示す全画素の輝度に対して図６に示す階調低減処理を行った結果、各画素のトゥーン加工用輝度は図７に示すようになる。
【００３７】
最後に、こうして得られた図７のトゥーン加工用輝度に基づいて図４に示したＲＧＢ値を変換することによって、アニメ調の画像データを得る。この変換方法は任意である。例えば、トゥーン加工用輝度とＲＧＢ値とを画素毎に乗算するようにしてもよいし、ＲＧＢの各値の比率を保ったままその輝度がトゥーン加工輝度と一致するようにＲＧＢ値を変換してもよい。前者の場合には図８に示す画像データが得られ、後者の場合には図９に示す画像データが得られる。
【００３８】
図８および図９において、Ｐ１、Ｐ２、Ｐ３の位置にはぞれぞれ大きな段差が見られるため、処理後の画像データはアニメ調となる。このとき、各画素におけるＲＧＢの比率は図４に示したものと同じ比率に保たれるため（ただし、ディジタルデータの特性によって厳密にはわずかに変化する場合があることは言うまでもない。）、いずれの場合もトゥーン加工処理の前後で画像の「色み」はほとんど変化しない。
【００３９】
特に、図８の例の場合には、処理前の画像の階調の変化が維持されるため（例えば図８のＰ１〜Ｐ２の範囲においてＲＧＢ値はなだらかに変化している。ただし変化の度合いは処理前のものよりも抑えられている。）、アニメ調でありつつも、ある程度のリアルさを維持した画像が得られる。例えば、図１０に示す画像に対してこのようなトゥーン加工を行えば、図１１に示すような画像が得られる。
【００４０】
以下、図１２および図１３のフローチャートを参照して本ゲームシステムの動作について説明する。
【００４１】
図１２において、ゲームが開始すると、まずＣＰＵ２０２は、コントローラ５０の状態、すなわちいずれのボタンが押されているかを示すデータ（このデータは、コントローラ５０からゲーム機本体２０に送信されてゲーム機本体２０のメインメモリ２１４に保存されている。）を読み取る（Ｓ１１）。つづいて、ステップＳ１１で読み取ったコントローラの状態に応じて仮想ゲーム空間内のオブジェクトを移動させ（Ｓ１２）、仮想ゲーム空間における仮想カメラの位置を計算し（Ｓ１３）、この仮想カメラに基づいてシーンをレンダリングする（Ｓ１４）。レンダリング結果の画像データはカラーバッファ２１０に格納される。
【００４２】
ステップＳ１５で、ＣＰＵ２０２は、トゥーン加工プログラム２１４２に従ってトゥーン加工処理を実行する。このトゥーン加工処理の詳細は後述する。トゥーン加工処理の結果、カラーバッファ２１０にはアニメ調の画像データが格納され、ステップＳ１６ではこのアニメ調の画像データに基づいてＴＶモニタ１０に画像を表示させる。そして、ゲームが終了したかどうか判断し（Ｓ１７）、ゲームが続行していればステップＳ１１に戻る。
【００４３】
次に、図１３を参照してステップＳ１５のトゥーン加工処理の詳細について説明する。トゥーン加工処理が開始すると、ＣＰＵ２０２は、まずカラーバッファ２１０における画素の処理位置を初期化する（Ｓ２１）。以下、処理対象画素をシフトしながら１画素ずつ順次処理を実行する。
【００４４】
ＣＰＵ２０２は、まずカラーバッファ２１０における現在の処理位置の色値（図４のＲＧＢ値に相当）に基づいてその処理位置の画素の輝度を抽出する（Ｓ２２）。輝度の抽出はＧＰＵの機能すなわちハードウェアによって実現できるものであるが、例えばカラーバッファ２１０にはＲＧＢ値で保存されることが一般的であるので、ＲＧＢ値をＹＵＶ値に変換し、当該ＹＵＶ値から輝度値（Ｙ）を抽出する。ここで、ＲＧＢ値→ＹＵＶ値の変換は、一般的に知られているが一例を示せば、Y＝０．２９８９×Ｒ＋０．５８６６×Ｇ＋０．１１４５×Ｂ，Ｕ＝−０．１６８４×Ｒ−０．３３１１×Ｇ＋０．４９９７×Ｂ，Ｖ＝０．４９９８×Ｒ−０．４１８７×Ｇ−０．０８１３×Ｂによって変換することができる。この輝度は、図５に示した輝度に相当する。
【００４５】
つづいて、この輝度の階調数を低減して、この輝度をトゥーン加工用輝度に変換する。この変換処理にはいくつかのバリエーションが考えられる。例えば図６に示したような入出力を示す関数を用いて輝度を変換するようにしてもよい。図１３のフローチャートでは、変換処理のより好ましいバリエーションとして、輝度を一旦小さくスケーリングしてから（Ｓ２３）、さらに大きくスケーリングする（Ｓ２４）処理を採用している。換言すれば、所定間隔の値に近似する輝度の値を丸めることにより階調数を低減する。以下、この処理の原理について図１４を参照して説明する。
【００４６】
輝度はディジタルデータであるため、実際には図１４（ａ）に示すように離散的な値（例えば２５６階調）を取り得る。図１３のステップＳ２３では、この輝度が小さくスケーリングされ、その結果は図１４（ｂ）に示すようになり、階調数が４つにまで低減される。その後、図１３のステップＳ２４で、階調数の低減された輝度が大きくスケーリングされ、その結果は図１４（ｃ）に示すようになる。この図１４（ｃ）に示される値がトゥーン加工用輝度として利用される。このように、ディジタルデータの特性を利用することにより、より簡単な処理で輝度の階調数を低減することができる。
【００４７】
なお、ステップＳ２３の縮小度合いを大きくすると階調数がより低減されるため、よりアニメ調の画像が得られる。逆に縮小度合いが小さくなるほど、よりリアルな画像が得られる。つまり、図１３に示すＡ÷Ｂを調整することによって、最終的に得られる画像のアニメ調の度合いを調整することができる。もちろんこの調整をユーザが自由に行えるようにしてもよい。
【００４８】
また、トゥーン加工用輝度は最終的には処理前の画像のＲＧＢ値に乗算されるため、トゥーン加工用輝度の大きさは最終的に得られる画像の明るさに大きく影響する。よって、ステップＳ２４の拡大度合いを大きくするほど明るい画像が得られ、逆に拡大度合いを小さくするほど暗い画像が得られる。つまり、図１３のＣを調整することによって、最終的に得られる画像の全体的な明るさを調整することができる。もちろんこの調整についてもユーザが自由に行えるようにしてもよい。
【００４９】
ステップＳ２５で、ＣＰＵ２０２は、上記のようにして得られたトゥーン加工用輝度をカラーバッファ２１０における現在の処理位置のＲＧＢ値にそれぞれ乗算し、この乗算結果でカラーバッファ２１０のＲＧＢ値を上書きする。
【００５０】
つづいてカラーバッファ２１０における画素の処理位置を進め（Ｓ２６）、カラーバッファ２１０における全画素の処理が終了したかどうかを判断する（Ｓ２７）。そして、全画素の処理が終了していればトゥーン加工処理を終了して図１２のステップＳ１６に進み、未処理の画素があればステップＳ２２に戻る。
【００５１】
以上の処理の結果、ＴＶモニタ１０には３次元モデルがアニメ調に表示されることになる。
【００５２】
なお、仮想ゲーム空間におけるオブジェクト（３次元モデル）のうち、特定のオブジェクトだけにトゥーン加工を施したい場合がある。その場合、従来のトゥーンシェーディングであれば特定のオブジェクトだけにトゥーン加工を施すことは容易であるが、本発明の場合には３次元モデルをレンダリングした後の画像データに対してトゥーン加工を施すため、特定のオブジェクトだけにトゥーン加工を施すためには特別な工夫が要求される。以下、特定のオブジェクトだけにトゥーン加工を施す方法を２通り説明する。
【００５３】
第１の方法は、図１５に示すように、シーンをレンダリングする際に、まずトゥーン加工を施したいオブジェクトだけをレンダリングし（Ｓ１４１）、そうして生成された画像データに対してトゥーン加工処理を実行する（Ｓ１５）。その後、残りのオブジェクトをレンダリングして（Ｓ１４２）、シーン全体のレンダリングを完了する。なお、図１５において、図１２に示す処理と同一の処理には同一の参照符号を付している。これにより、ステップＳ１４１でレンダリングしたオブジェクトだけがアニメ調となる。
【００５４】
第２の方法は、トゥーン加工の対象とするか否かを示すフラグを画素毎に用意しておき、図１６に示すように、シーンをレンダリングする際に、トゥーン加工を施したいオブジェクトに対応する画素のフラグを立てておく（Ｓ１４３）。なお、フラグは、カラーバッファとともに図示しないアルファバッファを記憶領域に割り当てておき、レンダリング時にカラー書き込み同時にアルファ値を「０」又は「１」で書き込んでおき、トゥーン加工時にこのアルファバッファの値をフラグとして参照するようにする。そして、ステップＳ１５１のトゥーン加工処理において、図１７に示すように、ステップＳ３１で処理対象画素がトゥーン加工の対象であるか否かを上記フラグを参照して判断し、トゥーン加工の対象でなければステップＳ２２〜Ｓ２５の処理を実行することなくステップＳ２６に進む。なお、図１６および図１７において、それぞれ図１２および図１３に示す処理と同一の処理には同一の参照符号を付している。これにより、ステップＳ１４３でフラグを立てた画素に対応するオブジェクトだけがアニメ調となる。
【図面の簡単な説明】
【００５５】
【図１】本発明の一実施形態に係るゲームシステムの全体構成を示す図
【図２】ゲーム機本体２０の構成を示すブロック図
【図３】メインメモリ２１４のメモリマップを示す図
【図４】トゥーン加工前の画像データのＲＧＢ値の一例を示す図
【図５】ＲＧＢ値から抽出した輝度を示す図
【図６】階調数低減処理前後の輝度の関係を示す図
【図７】輝度の階調数を低減することによって得られるトゥーン加工用輝度を示す図
【図８】ＲＧＢ値をトゥーン加工用輝度に基づいて変換した結果を示す図
【図９】ＲＧＢ値をトゥーン加工用輝度に基づいて変換した結果を示す図
【図１０】トゥーン加工処理前の画像例を示す図
【図１１】トゥーン加工処理後の画像例を示す図
【図１２】ゲームシステムの動作を示すフローチャート
【図１３】図１２におけるトゥーン加工処理の流れを示すフローチャート
【図１４】ＲＧＢ値から抽出した輝度をトゥーン加工用輝度に変換する方法の一例を示す図
【図１５】特定のオブジェクトに対してだけトゥーン加工を施す場合のゲームシステムの動作を示すフローチャート
【図１６】特定のオブジェクトに対してだけトゥーン加工を施す場合のゲームシステムの動作を示すフローチャート
【図１７】図１６におけるトゥーン加工処理の流れを示すフローチャート
【符号の説明】
【００５６】
１０  ＴＶモニタ
２０  ゲーム機本体
３０  ＤＶＤ−ＲＯＭ
４０  外部メモリカード
５０  コントローラ
６０  スピーカ
２０２  ＣＰＵ
２０４  ＧＰＵ
２０６  ジオメトリユニット
２０８  レンダリングユニット
２１０  カラーバッファ
２１２  Ｚバッファ
２１４  メインメモリ
２１６  ＤＳＰ
２１８  サブメモリ
２２０  メモリコントローラ
２２２  コントローラＩ／Ｆ
２２４  ビデオＩ／Ｆ
２２６  外部メモリＩ／Ｆ
２２８  オーディオＩ／Ｆ
２３０  ディスクドライブ
２３２  ディスクＩ／Ｆ
２１４１  メインプログラム
２１４２  トゥーン加工プログラム
２１４３  その他プログラム
２１４４  画像データ
２１４５  音データ
２１４６  その他データ
２１４７  計算用バッファ
【図１】
0004794811.tif 000002
【図２】
0004794811.tif 000003
【図３】
0004794811.tif 000004
【図４】
0004794811.tif 000005
【図５】
0004794811.tif 000006
【図６】
0004794811.tif 000007
【図７】
0004794811.tif 000008
【図８】
0004794811.tif 000009
【図９】
0004794811.tif 000010
【図１０】
0004794811.tif 000011
【図１１】
0004794811.tif 000012
【図１２】
0004794811.tif 000013
【図１３】
0004794811.tif 000014
【図１４】
0004794811.tif 000015
【図１５】
0004794811.tif 000016
【図１６】
0004794811.tif 000017
【図１７】
0004794811.tif 000018