(57)【特許請求の範囲】
【請求項１】
画像を生成するためのプログラムであって、
オブジェクトを描画して元画像を生成する元画像生成部と、
オブジェクト毎に設定された描画色でオブジェクトを描画し、オブジェクトの輪郭色設定と輪郭検出のための輪郭情報画像を生成する輪郭情報画像生成部と、
前記元画像に対してオブジェクトの輪郭線の画像を合成し、オブジェクトの輪郭線を描画する輪郭線描画部として、
コンピュータを機能させ、
前記輪郭線描画部は、
前記輪郭情報画像に基づいてオブジェクトの輪郭を抽出し、前記輪郭情報画像の前記描画色で設定される輪郭色で、抽出されたオブジェクトの輪郭に対して輪郭線を描画することを特徴とするプログラム。
【請求項２】
請求項１において、
前記輪郭情報画像生成部は、
オブジェクトの輪郭色に対して視点からのオブジェクトの距離に応じて輝度調整を施した色を前記描画色としてオブジェクトを描画して、前記輪郭情報画像を生成することを特徴とするプログラム。
【請求項３】
請求項２において、
前記輪郭線描画部は、
前記輪郭情報画像の前記描画色から輝度情報を抽出し、抽出された前記輝度情報に基づいてオブジェクトの輪郭を抽出することを特徴とするプログラム。
【請求項４】
請求項３において、
前記輪郭線描画部は、
前記輪郭情報画像の前記描画色の第１、第２、第３の成分の値の加算処理を行うことで、前記輝度情報を抽出することを特徴とするプログラム。
【請求項５】
請求項２乃至４のいずれかにおいて、
前記輪郭線描画部は、
前記輪郭情報画像の前記描画色から色彩情報を抽出し、抽出された前記色彩情報に対応する輪郭色でオブジェクトの輪郭線を描画することを特徴とするプログラム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記輪郭線描画部は、
前記輪郭情報画像の前記描画色の第Ｋの成分から輝度情報を取り出し、取り出された前記輝度情報に基づいてオブジェクトの輪郭を抽出することを特徴とするプログラム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記輪郭情報画像生成部は、
第Ｌの成分に輪郭色指定情報が設定される描画色でオブジェクトを描画して、前記輪郭情報画像を生成し、
前記輪郭線描画部は、
前記輪郭情報画像の前記描画色の第Ｌの成分から輪郭色指定情報を取り出し、取り出された前記輪郭色指定情報で指定される輪郭色で、オブジェクトの輪郭線を描画することを特徴とするプログラム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記輪郭線描画部は、
オブジェクトの輪郭の一方側が他方側に比べて高輝度である場合に、前記一方側のみ或いは前記他方側のみにオブジェクトの輪郭線を描画することを特徴とするプログラム。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記輪郭線描画部は、
前記元画像の生成の際に生成されたＺ値と、前記輪郭情報画像の生成の際に生成されたＺ値に基づいて、処理対象ピクセルがオブジェクトの輪郭線のピクセルか否かを判断することを特徴とするプログラム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記輪郭線描画部は、
視点から見て手前側にある第１のオブジェクトと視点から見て奥側にある第２のオブジェクトとが視点から見て重なる場合に、前記第１、第２のオブジェクトの重なり部分における境界において、前記第１のオブジェクトの輪郭線のみを描画することを特徴とするプログラム。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
前記輪郭線描画部は、
第１の属性に属するオブジェクトについては第１の輪郭色でオブジェクトの輪郭線を描画し、第２の属性に属するオブジェクトについては第２の輪郭色でオブジェクトの輪郭線を描画することを特徴とするプログラム。
【請求項１２】
請求項１１において、
前記輪郭線描画部は、
敵グループに属するオブジェクトについては第１の輪郭色でオブジェクトの輪郭線を描画し、敵以外のグループに属するオブジェクトについては第２の輪郭色でオブジェクトの輪郭線を描画することを特徴とするプログラム。
【請求項１３】
請求項１１において、
前記輪郭線描画部は、
第１のタイプの情報を有するオブジェクトについては第１の輪郭色でオブジェクトの輪郭線を描画し、第２のタイプの情報を有するオブジェクトについては第２の輪郭色でオブジェクトの輪郭線を描画することを特徴とするプログラム。
【請求項１４】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至１３のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１５】
画像を生成する画像生成システムであって、
オブジェクトを描画して元画像を生成する元画像生成部と、
オブジェクト毎に設定された描画色でオブジェクトを描画し、オブジェクトの輪郭色設定と輪郭検出のための輪郭情報画像を生成する輪郭情報画像生成部と、
前記元画像に対してオブジェクトの輪郭線の画像を合成し、オブジェクトの輪郭線を描画する輪郭線描画部とを含み、
前記輪郭線描画部は、
前記輪郭情報画像に基づいてオブジェクトの輪郭を抽出し、前記輪郭情報画像の前記描画色で設定される輪郭色で、抽出されたオブジェクトの輪郭に対して輪郭線を描画することを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。このような画像生成システムでは、オブジェクトの輪郭に輪郭線を描画する従来技術が知られている。
【０００３】
しかしながら従来の画像生成システムでは、アニメ特有のセル画風の画像の生成を目的として輪郭線を描画している。このため、オブジェクトの輪郭には、黒等の一色の輪郭線が描画されていた。
【０００４】
また従来の画像生成システムでは、例えば第１、第２のオブジェクトが視点から見て重なって見える場合に、重なり部分の境界での輪郭線の描画については、あまり考慮されていなかった。
【特許文献１】２００１−８４３９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、オブジェクトの輪郭線の多様な表現を可能にする画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、画像を生成する画像生成システムであって、オブジェクトを描画して元画像を生成する元画像生成部と、オブジェクト毎に設定された描画色でオブジェクトを描画し、オブジェクトの輪郭色設定と輪郭検出のための輪郭情報画像を生成する輪郭情報画像生成部と、オブジェクトの輪郭線を描画する輪郭線描画部とを含み、前記輪郭線描画部は、前記輪郭情報画像に基づいてオブジェクトの輪郭を抽出し、前記輪郭情報画像の前記描画色で設定される輪郭色で、抽出されたオブジェクトの輪郭に対して輪郭線を描画する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００７】
本発明では、元画像と輪郭情報画像が生成される。この輪郭情報画像は輪郭色設定用画像と輪郭検出用画像を兼ねることができる。そして輪郭情報画像に基づいてオブジェクトの輪郭が抽出され、輪郭情報画像の描画色で設定される輪郭色で、抽出されたオブジェクトの輪郭に対して輪郭線（輪郭に沿った線）が描画される。従って、少ない処理負荷で、オブジェクト毎に異なる輪郭色の輪郭線を描画できるようになり、オブジェクトの輪郭線の多様な表現が可能になる。
【０００８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記輪郭情報画像生成部は、オブジェクトの輪郭色を視点からのオブジェクトの距離に応じてその輝度が変化するように調整し、調整された色を前記描画色としてオブジェクトを描画して、前記輪郭情報画像を生成するようにしてもよい。
【０００９】
このようにすれば、同じ輪郭色が設定されたオブジェクトであっても、視点からの距離に応じてその前後関係を区別できるようになる。
【００１０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記輪郭線描画部は、前記輪郭情報画像の前記描画色から輝度情報を抽出し、抽出された前記輝度情報に基づいてオブジェクトの輪郭を抽出するようにしてもよい。
【００１１】
このようにすれば、輪郭情報画像を輪郭検出用画像として用いることが可能になる。また、輝度情報の高輝度、低輝度と、オブジェクトの前後関係（視点からの距離）とを対応させて輪郭を抽出することも可能になる。
【００１２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記輪郭線描画部は、前記輪郭情報画像の前記描画色の第１、第２、第３の成分の値の加算処理を行うことで、前記輝度情報を抽出するようにしてもよい。
【００１３】
このようにすれば、簡素な処理で輝度情報を抽出できるようになる。但し輝度情報の抽出はこのような手法に限定されない。
【００１４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記輪郭線描画部は、前記輪郭情報画像の前記描画色から色彩情報を抽出し、抽出された前記色彩情報に対応する輪郭色でオブジェクトの輪郭線を描画するようにしてもよい。
【００１５】
このようにすれば、輪郭情報画像を輪郭色設定用画像として使用できるようになる。
【００１６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記輪郭線描画部は、前記輪郭情報画像の前記描画色の第Ｋの成分から輝度情報を取り出し、取り出された前記輝度情報に基づいてオブジェクトの輪郭を抽出するようにしてもよい。
【００１７】
このようにすれば、簡素な処理で、輪郭情報画像を輪郭検出用画像として使用できるようになる。
【００１８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記輪郭線描画部は、前記輪郭情報画像の前記描画色の第Ｌの成分から輪郭色指定情報を取り出し、取り出された前記輪郭色指定情報で指定される輪郭色で、オブジェクトの輪郭線を描画するようにしてもよい。
【００１９】
このようにすれば、簡素な処理で、輪郭情報画像を輪郭色設定用画像として使用できるようになる。
【００２０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記輪郭線描画部は、オブジェクトの輪郭の一方側が高輝度で他方側が低輝度である場合に、前記高輝度側のみ或いは前記低輝度側のみにオブジェクトの輪郭線を描画するようにしてもよい。
【００２１】
このようにすれば、輪郭線が二重に描画されて不自然な画像が生成されてしまうなどの事態を防止できる。
【００２２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記輪郭線描画部は、前記元画像の生成の際に生成されたＺ値と、前記輪郭情報画像の生成の際に生成されたＺ値に基づいて、処理対象ピクセルがオブジェクトの輪郭線のピクセルか否かを判断するようにしてもよい。
【００２３】
このようにすれば、オブジェクトの前後関係を適正に判断して輪郭線を描画することが可能になる。
【００２４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記輪郭線描画部は、視点から見て手前側にある第１のオブジェクトと視点から見て奥側にある第２のオブジェクトとが視点から見て重なる場合に、前記第１、第２のオブジェクトの重なり部分における境界において、前記第１のオブジェクトの輪郭線のみを描画するようにしてもよい。
【００２５】
また本発明は、画像を生成する画像生成システムであって、オブジェクトを描画して元画像を生成する元画像生成部と、視点から見て手前側にある第１のオブジェクトと視点から見て奥側にある第２のオブジェクトとが視点から見て重なる場合に、前記第１、第２のオブジェクトの重なり部分における境界において、前記第１のオブジェクトの輪郭線のみを描画する輪郭線描画部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００２６】
本発明によれば、視点から見て第１、第２のオブジェクトが重なる場合に、重なり部分の境界に、手前側の第１のオブジェクトの輪郭線が描画されるようになり、奥側の第２のオブジェクトの輪郭線が描画されるのを防止できる。従って、重なり部分の境界に二重の輪郭線等が描画されて不自然な画像が生成されてしまう事態を防止できる。
【００２７】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記輪郭線描画部は、第１の属性に属するオブジェクトについては第１の輪郭色でオブジェクトの輪郭線を描画し、第２の属性に属するオブジェクトについては第２の輪郭色でオブジェクトの輪郭線を描画するようにしてもよい。
【００２８】
また本発明は、画像を生成する画像生成システムであって、オブジェクトを描画して元画像を生成する元画像生成部と、第１の属性に属するオブジェクトについては第１の輪郭色でオブジェクトの輪郭線を描画し、第２の属性に属するオブジェクトについては第２の輪郭色でオブジェクトの輪郭線を描画する輪郭線描画部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００２９】
本発明によれば、異なる属性のオブジェクトの輪郭線は、異なる輪郭色で描画されるようになる。従って、プレーヤ（観者）は、オブジェクトの輪郭線の色を見て、オブジェクトの属性を把握できるようになり、これまでにないオブジェクトの輪郭線の多様な表現が可能になる。
【００３０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記輪郭線描画部は、敵グループに属するオブジェクトについては第１の輪郭色でオブジェクトの輪郭線を描画し、敵以外のグループに属するオブジェクトについては第２の輪郭色でオブジェクトの輪郭線を描画するようにしてもよい。
【００３１】
このようにすれば、プレーヤ（観者）は、オブジェクトの輪郭線の色を見て、オブジェクトが敵グループに属するか否かを判断できるようになり、スムーズなゲーム進行を可能にするインターフェース環境を提供できる。
【００３２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記輪郭線描画部は、第１のタイプの情報を有するオブジェクトについては第１の輪郭色でオブジェクトの輪郭線を描画し、第２のタイプの情報を有するオブジェクトについては第２の輪郭色でオブジェクトの輪郭線を描画するようにしてもよい。
【００３３】
このようにすれば、プレーヤ（観者）は、オブジェクトの輪郭線の色を見て、オブジェクトが有する情報を把握できるようになり、スムーズなゲーム進行を可能にするインターフェース環境を提供できる。
【発明を実施するための最良の形態】
【００３４】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３５】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００３６】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００３７】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、ハードディスク、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００３８】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００３９】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４０】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００４１】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００４２】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、画像生成部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００４３】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００４４】
移動・動作処理部１１２は、オブジェクト（キャラクタ、車、又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクト（モデルオブジェクト）をオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００４５】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００４６】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００４７】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクトの各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含む頂点リストが入力され、入力された頂点リストに含まれる頂点データに基づいて、頂点シェーディング（広義には、頂点処理）が行われる。なお頂点シェーディングを行う際に、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うこともできる。頂点シェーディングでは、頂点シェーダプログラム（広義には、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点シェーディング後の頂点データに基づいてラスタライズ（走査変換）が行われ、表示画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセルシェーディング（広義には、ピクセル処理、フラグメント処理）が行われる。ピクセルシェーディングでは、ピクセルシェーダプログラム（第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、最終的な表示画像のピクセルの描画色を決定し、透視変換されたオブジェクトの描画色をフレームバッファ１７２（ピクセル単位で画像情報を記憶できるバッファ。描画バッファ、表示バッファ、バックバッファ、フロントバッファ、ワークバッファ、ＶＲＡＭ）に出力（描画）する。すなわち、ピクセルシェーディングでは、表示画像のピクセル単位で画像情報（色、法線、輝度、α値等）を設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像（フレーム画像）が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるようにフレーム画像を生成することができる。
【００４８】
画像生成部１２０は、元画像生成部１２２、輪郭情報画像生成部１２４、輪郭線描画部１２８を含む。なおこれらの一部を省略する構成としてもよい。
【００４９】
元画像生成部１２２はオブジェクトを描画して元画像を生成する処理を行う。具体的には、例えばＺ値を格納するＺバッファ１７６を用いて隠面消去を行いながらオブジェクト（プリミティブ面）をフレームバッファ（描画バッファ）１７２に描画することで元画像を生成する。そして元画像のＺ値は、この描画処理の際に行われるＺバッファ法（奥行き比較法）により、Ｚバッファ１７６上に生成（格納）される。なお本実施形態のＺ値（奥行き値）は、カメラ座標系のＺ座標軸のＺ値そのものであってもよいし、このＺ値と数学的な均等なパラメータであってもよい。
【００５０】
輪郭情報画像生成部１２４は輪郭情報画像（テクスチャ画像）の生成処理を行う。具体的にはオブジェクト毎（オブジェクトの属性毎）に設定（指定）された描画色（指定色）でオブジェクトを描画し、オブジェクトの輪郭色設定や輪郭検出のための輪郭情報画像（輪郭色設定用画像、輪郭検出用画像）を生成する。例えば異なる属性のオブジェクトは異なる描画色でそのオブジェクトを描画する。具体的には第１の属性のオブジェクトは第１の描画色で描画し、第２の属性のオブジェクトは第２の描画色で描画して、色分けされた輪郭情報画像を生成する。この場合の描画色は、例えばオブジェクトの表面マテリアル（属性情報）として設定できる。
【００５１】
例えば輪郭情報画像生成部１２４は、オブジェクトの輪郭色を視点からのオブジェクトの距離（奥行き距離、Ｚ値）に応じてその輝度（明るさ）が変化するように調整し、調整した色を描画色としてオブジェクトを描画する。或いは描画色の第Ｋの成分（第１〜第３の成分のいずれかの成分）に輝度情報を設定し、第Ｌの成分（第１〜第３の成分のいずれかの成分）に輪郭色指定情報を設定して、オブジェクトを描画する。なお輪郭情報画像の描画色の第Ｍの成分（第１〜第３の成分のいずれかの成分）にＺ値（奥行き値）を設定するようにしてもよい。
【００５２】
輪郭線描画部１２８は、オブジェクトの輪郭を抽出（検出）し、抽出されたオブジェクトの輪郭に対して、描画色で輪郭線を描画する。具体的には輪郭情報画像に基づいてオブジェクトの輪郭を抽出し、輪郭情報画像の描画色で設定される輪郭色で、抽出されたオブジェクトの輪郭に対して輪郭線を描画する。例えばオブジェクトの輪郭色を視点からのオブジェクトの距離に応じて調整する場合には、調整色である描画色から輝度情報を抽出し、抽出された輝度情報に基づいてオブジェクトの輪郭を抽出する。この場合には輪郭線描画部１２８は、描画色の第１、第２、第３の成分（例えばＲ、Ｇ、Ｂ成分）の値の加算処理を行うことで、輝度情報を抽出できる。この加算処理は、第１、第２、第３の成分値を単純に加算する処理であってもよいし、第１、第２、第３の成分に係数を乗算して加算する処理であってもよい。
【００５３】
また輪郭線描画部１２８は、輪郭情報画像の描画色から色彩情報を抽出し、抽出された色彩情報により設定される輪郭色でオブジェクトの輪郭線を描画する。
【００５４】
なお、輪郭情報画像の描画色の第Ｋの成分に輝度情報が設定される場合には、輪郭線描画部１２８は、輪郭情報画像の描画色の第Ｋの成分から輝度情報を取り出し、取り出された輝度情報に基づいてオブジェクトの輪郭を抽出すればよい。また輪郭情報画像の描画色の第Ｌの成分に輪郭色指定情報（輪郭色のインデックス番号）が設定される場合には、輪郭線描画部１２８は、輪郭情報画像の描画色の第Ｌの成分から輪郭色指定情報を取り出し、取り出された輪郭色指定情報で指定される輪郭色で、オブジェクトの輪郭線を描画すればよい。
【００５５】
また輪郭線描画部１２８は、オブジェクトの輪郭の一方側（外側、内側の一方側）が高輝度で、他方側（外側、内側の他方側）が低輝度である場合に、高輝度側（一方側）のみにオブジェクトの輪郭線を描画する。或いは低輝度側（他方側）のみにオブジェクトの輪郭線を描画するようにしてもよい。このような描画処理は例えばラプラシアンフィルタなどにより実現できる。
【００５６】
また輪郭線描画部１２８は、元画像の生成の際に最終的に生成されたＺ値（奥行き値）と、輪郭情報画像の生成の際に最終的に生成されたＺ値に基づいて、処理対象ピクセルがオブジェクトの輪郭線のピクセルか否かを判断する。具体的には、輪郭情報画像のＺ値の方が元画像のＺ値よりも視点から見て手前側のＺ値である場合に、処理対象ピクセルがオブジェクトの輪郭線のピクセルであると判断する。
【００５７】
また輪郭線描画部１２８は、視点から見て手前側にある第１のオブジェクトと視点から見て奥側にある第２のオブジェクトとが視点から見て重なる場合に、第１、第２のオブジェクトの重なり部分における境界（輪郭）において、第１のオブジェクトの輪郭線のみを描画する。即ち奥側の第２のオブジェクトの輪郭線については描画せずに、手前側の第１のオブジェクトの輪郭線を描画する。
【００５８】
また輪郭線描画部１２８は、異なる属性のオブジェクトには異なる描画色でオブジェクトの輪郭線を描画する。例えば第１の属性に属するオブジェクト（敵グループに属するオブジェクト、重要な第１のタイプの情報を有するオブジェクト等）については第１の輪郭色でオブジェクトの輪郭線を描画する。一方、第２の属性に属するオブジェクト（敵以外のグループに属するオブジェクト、取得済みの第２のタイプの情報を有するオブジェクト等）については第２の輪郭色でオブジェクトの輪郭線を描画する。このような輪郭線の描画は、例えば次のような手法で実現できる。即ちオブジェクトの属性フラグと、オブジェクトの輪郭色（描画色）とを対応づけるテーブルを用意する。そしてオブジェクトの属性フラグに基づいて、上記テーブルからオブジェクトの輪郭色を読み出し、読み出された輪郭色でオブジェクトの輪郭線を描画する。
【００５９】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００６０】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００６１】
２．本実施形態の手法
２．１  第１の手法
本実施形態では、オブジェクト毎に異なる描画色でオブジェクトの輪郭線を描画する。例えばゲーム画面中のオブジェクト（通行人、ドア、看板等）に対して、「これは何かの情報を持っている」、「あれは既に調べて情報収集済みだ」等の状態を、一目で判別できるように、各オブジェクトに色分けした輪郭線を付加することを目指している。このような色分けした輪郭線の描画を実現する第１の手法について、まず説明する。
【００６２】
この第１の手法では、オブジェクトを描画して元画像を生成する。また図２に示すように、オブジェクト毎に設定された描画色で色分けしてオブジェクトを描画し、オブジェクトの輪郭色を参照するための輪郭色参照用画像を生成する。例えば図２では輪郭線描画の対象となるオブジェクトＯＢ１は、その輪郭色である緑の描画色で描画され、同じく輪郭線描画の対象となるオブジェクトＯＢ２は、その輪郭色である赤の描画色で描画される。また輪郭線描画の対象とならないオブジェクトＯＢ３は黒で描画される。この場合、これらのオブジェクトＯＢ１、ＯＢ２、ＯＢ３はＺバッファを用いて描画されるため、オブジェクトＯＢ２のうちＡ１に示す部分は、手前側のオブジェクトＯＢ３により隠面消去されている。このＡ１に示す部分では、ゲーム画面である元画像においてもオブジェクトＯＢ２が表示されず、輪郭線を描画すべき部分ではないからである。
【００６３】
次に図３に示すように、オブジェクトの輪郭を検出するための輪郭検出用画像を生成する。具体的にはオブジェクト毎にユニークに設定された識別情報（識別番号）により得られる識別情報色で、輪郭線描画の対象となるオブジェクトを描画して、図３に示すような輪郭検出用画像を生成する。
【００６４】
次に図３の輪郭検出用画像に基づいてオブジェクトの輪郭を抽出する。具体的には、処理対象ピクセルの周囲の例えば４つのピクセル（左上、左下、右上、右下のピクセル）の識別情報色（識別番号）を参照する。そしてその差分値（具体的には、（左上−右下）の２乗＋（左下−右上）の２乗）に基づいて、処理対象ピクセルがオブジェクトの輪郭線のピクセルか否かを判断し、オブジェクトの輪郭を抽出する。例えば図４に、抽出された輪郭を視覚化したものを示す。図４に示すように第１の手法では、オブジェクトＯＢ２のうち手前側のオブジェクトＯＢ３により隠面消去された境界部分（Ｂ１に示す部分）についても、オブジェクトＯＢ２の輪郭として抽出されている。
【００６５】
次に図２の輪郭色参照用画像で参照される輪郭色で、抽出されたオブジェクトの輪郭に対して輪郭線を描画する。具体的には図２において輪郭線の描画対象となるオブジェクトＯＢ１、ＯＢ２については、α値が例えば不透明を表す１．０（広義には所定値）に設定されて描画される。そして処理対象ピクセルがオブジェクトの輪郭線のピクセルであり、処理対象ピクセルのα値が１．０に設定されていた場合に、輪郭色参照用画像で参照される輪郭色が処理対象ピクセルの色に設定される。これにより、オブジェクトＯＢ１に対しては緑の輪郭線が描画され、オブジェクトＯＢ２に対しては赤の輪郭線が描画され、図５に示すような輪郭線が付加された最終画像が生成される。
【００６６】
さて、第１の手法では、図５のＣ１やＣ２に示す部分で不自然な輪郭線画像を生成されてしまう。例えば図５においてオブジェクトＯＢ１は視点から見て手前側にあり、オブジェクトＯＢ２は奥側にある。従ってＣ１に示すオブジェクトＯＢ１、ＯＢ２の重なり部分における境界では、オブジェクトＯＢ１の緑の輪郭色だけが描画されるべきである。
【００６７】
ところが、図５のＣ１の部分の拡大図である図６に示すように、Ｄ１に示す重なり部分の境界において、オブジェクトＯＢ１の緑の輪郭線のみならず、オブジェクトＯＢ２の赤の輪郭線も描画されている。従ってＤ１に示す部分において輪郭線が二重に見えてしまい、不自然な画像になる。そしてこの二重の輪郭線が原因で、プレーヤは、オブジェクトＯＢ１、ＯＢ２の前後関係を把握できなくなってしまう。また図５のＣ２や図６のＤ２に示すように、本来は描画されるべきでない輪郭線が描画されてしまうという問題も発生する。
【００６８】
２．２  第２の手法
次に、色分けした輪郭線の描画を実現する本実施形態の第２の手法について説明する。この第２の手法では、上述した第１の手法の問題点を解決するために、オブジェクトＯＢ１、ＯＢ２が視点から見て重なる場合に、ＯＢ１、ＯＢ２の重なり部分における境界においてＯＢ１の輪郭線のみを描画するようにしている。具体的には例えば以下に説明するような手法で輪郭線を描画している。
【００６９】
まず図７に示すように、オブジェクトＯＢ１、ＯＢ２、ＯＢ３等を描画して元画像（通常ゲーム画面）を生成する。即ちオブジェクトＯＢ１、ＯＢ２、ＯＢ３のジオメトリ処理を行い、ジオメトリ処理後のオブジェクトをフレームバッファ（ゲーム画面の描画用のバッファ）に描画することで図７に示すような元画像を生成する。この場合、照明モデルに基づいてオブジェクトのシェーディング処理などを行い、リアルな３次元画像を生成する。また図７の元画像の生成の際に生成されたＺバッファのＺ値を、後の処理に使用するために保存しておく。例えば図８にＺバッファのＺ値（奥行き値）を視覚化したものを示す。図８では、視点から見て手前が暗くなり、奥側が明るくなるように、Ｚ値が視覚化されて示されている。
【００７０】
次に図９に示すようにオブジェクト毎に設定された描画色でオブジェクトを別バッファに描画し、輪郭情報画像を生成する。この輪郭情報画像は、第１の手法の図２の輪郭色参照用画像（輪郭色設定用画像）と図３の輪郭検出用画像（奥行き値参照用画像）を兼ねる画像である。また図９の輪郭情報画像の生成の際に生成されたＺバッファのＺ値を、後の処理に使用するために保存しておく。例えば図１０にＺバッファのＺ値（奥行き値）を視覚化したものを示す。図１０では、視点から見て手前が暗くなり、奥側が明るくなるように、Ｚ値が視覚化されて示されている。
【００７１】
図９では、輪郭線描画の対象となるオブジェクトＯＢ１、ＯＢ２については、それぞれに設定された描画色で描画され、輪郭線描画の対象とならないオブジェクトＯＢ３については描画されない。また第１の手法の図２の輪郭色参照用画像では、オブジェクトＯＢ３についても黒で描画されるため、図２のＡ１に示す部分がＺバッファにより隠面消去されている。これに対して図９では、オブジェクトＯＢ２のうち手前側のオブジェクトＯＢ３により隠れる部分についても描画されている。
【００７２】
また図９では、オブジェクトＯＢ１、ＯＢ２の描画色はオブジェクトＯＢ１、ＯＢ２の位置に応じて奥のものほど低輝度になるように設定されている。具体的にはオブジェクトＯＢ１、ＯＢ２の輪郭色を視点からのオブジェクトの距離（例えば奥行き距離）に応じてその輝度が変化するように調整し、調整された色を描画色としてオブジェクトＯＢ１、ＯＢ２を描画している。
【００７３】
例えば図１４（Ａ）において、オブジェクトＯＢ１Ａは視点ＶＰから見て手前側に配置され、ＯＢ１Ｃは奥側に配置され、ＯＢ１ＢはＯＢ１ＡとＯＢ１Ｃの間に配置されている。即ち、視点から遠いほどＺ値が大きくなる座標系を考えた場合に、オブジェクトＯＢ１Ａ、ＯＢ１Ｂ、ＯＢ１Ｃの代表点のＺ値Ｚ１Ａ、Ｚ１Ｂ、Ｚ１Ｃは、Ｚ１Ａ＜Ｚ１Ｂ＜Ｚ１Ｃの関係になっている。またオブジェクトＯＢ１Ａ、ＯＢ１Ｂ、ＯＢ１Ｃの指定描画色は緑になっている。従って、この場合には、オブジェクトＯＢ１Ａ、ＯＢ１Ｂ、ＯＢ１Ｃは、各々、明るい緑、中ぐらいの明るさの緑、暗い緑の描画色で描画される。
【００７４】
また図１４（Ａ）において、オブジェクトＯＢ２Ａは視点ＶＰから見て手前側に配置され、ＯＢ２Ｃは奥側に配置され、ＯＢ２ＢはＯＢ２ＡとＯＢ２Ｃの間に配置されている。即ちオブジェクトＯＢ２Ａ、ＯＢ２Ｂ、ＯＢ２Ｃの代表点のＺ値Ｚ２Ａ、Ｚ２Ｂ、Ｚ２ＣはＺ２Ａ＜Ｚ２Ｂ＜Ｚ２Ｃの関係になっている。またオブジェクトＯＢ２Ａ、ＯＢ２Ｂ、ＯＢ２Ｃの指定描画色は赤になっている。従って、この場合には、オブジェクトＯＢ２Ａ、ＯＢ２Ｂ、ＯＢ２Ｃは、各々、明るい赤、中ぐらいの明るさの赤、暗い赤の描画色で描画される。
【００７５】
なお図９、図１４（Ａ）では視点から奥側になるほど低輝度になる描画色でオブジェクトが描画されているが、視点から奥側になるほど高輝度になる描画色でオブジェクトを描画してもよい。また図９、図１４（Ａ）では、オブジェクトの代表点のＺ値に基づいて描画色の調整を行っているが、各ピクセルのＺ値に基づいて描画色の調整を行うようにしてもよい。
【００７６】
次に図９で生成された輪郭情報画像に基づいてオブジェクトの輪郭を抽出する。即ちオブジェクトの輪郭線となるピクセルを検出する。
【００７７】
この場合に輪郭情報画像の色彩については考慮せずに輝度のみに注目する。即ち図９の輪郭情報画像の描画色から輝度情報を抽出し、抽出された輝度情報に基づいてオブジェクトの輪郭を抽出する。例えばカラー値は赤、緑、色の３原色で構成される。従って、輝度情報の抽出は、単純にピクセルの描画色のＲ、Ｇ、Ｂ値を足し合わせるだけでよい。即ち輪郭情報画像の描画色のＲ、Ｇ、Ｂ成分（広義には第１、第２、第３の成分）の値の加算処理を行うことで、輝度情報を抽出できる。
【００７８】
例えば図１４（Ｂ）において、（Ｒ、Ｇ、Ｂ）＝（０．５、０．０、０．０）である場合には、抽出される輝度情報は０．５＋０．０＋０．０＝０．５になる。また（Ｒ、Ｇ、Ｂ）＝（０．０、０．１、０．０）である場合には、抽出される輝度情報は０．０＋０．１＋０．０＝０．１になる。なお、加算処理により得られた値に変換処理を施したものを輝度情報に設定してもよい。
【００７９】
オブジェクトの輪郭の抽出には例えば図１５（Ａ）に示すようなラプラシアンフィルタを適用する。即ち、処理対象ピクセルを中心点とした９ピクセルのピクセル値（この場合には輝度）に、図１５（Ａ）に示す係数を乗算し、合計した結果がゼロよりも大きい場合に、その処理対象ピクセルはオブジェクトの輪郭線のピクセルであると判断する。例えば図１１に、抽出された輪郭を視覚化したものを示す。例えば図４の第１の手法では、オブジェクトＯＢ２のうち手前側のオブジェクトＯＢ３により隠面消去された部分の境界（Ｂ１に示す境界）も、オブジェクトＯＢ２の輪郭として抽出されていた。これに対して図１１の第２の手法では、Ｅ１に示すようにこの境界は輪郭として抽出されていない。
【００８０】
次に、輪郭色を得るために図９の輪郭情報画像を用いる。即ち第１の手法では、図２の輪郭色参照用画像と図３の輪郭検出用画像の２つの画像を用いたが、第２の手法では、輪郭情報画像を、輪郭色設定用（輪郭色参照用）と輪郭検出用に兼用する。また輪郭情報画像を輪郭色設定用として用いる際に、輝度は無視し、赤や緑などの色彩情報を参照する。即ち輪郭情報画像の描画色から色彩情報を抽出し、抽出された色彩情報に対応する輪郭色でオブジェクトの輪郭線を描画する。例えば図３の輪郭情報画像から緑、黄の色彩情報を抽出し、緑、黄の輪郭色でオブジェクトＯＢ１、ＯＢ２の輪郭線を描画する。
【００８１】
具体的には、カラー値は赤、緑、黄の３原色で構成され、Ｒ、Ｇ、Ｂの各値はそれぞれ０．０〜１．０の範囲になる。従ってＲ、Ｇ、Ｂの各値の小数点を切り上げて整数化すれば、輝度を抜いた色彩情報を得ることができる。このような整数化はピクセルシェーダのＣｅｉｌ命令で実現できる。例えば図１４（Ｂ）において、（Ｒ、Ｇ、Ｂ）＝（０．５、０．０、０．０）である場合には、抽出される色彩情報は（１．０、０．０、０．０）になる。即ち輪郭色は原色の赤になる。また（Ｒ、Ｇ、Ｂ）＝（０．０、０．１、０．０）である場合には、抽出される色彩情報は（０．０、１．０、０．０）になる。即ち輪郭色は原色の緑になる。
【００８２】
最後に、図７の元画像（ゲーム画面）に対して輪郭線画像を合成する。即ち図９の輪郭情報画像の描画色から抽出された輪郭色（緑、赤）で、図９の輪郭情報画像から抽出されたオブジェクトＯＢ１、ＯＢ２の図１１の輪郭に対して輪郭線を描画する。
【００８３】
この場合に図１１のオブジェクトＯＢ２の輪郭のうちＥ１に示す輪郭部分については、図１２のオブジェクトＯＢ３の奥側にあり、隠面消去されるべきである。そこで、輪郭部分のピクセルについては、Ｚ値比較（深度比較）を行うことで最終的なピクセル値を決定する。具体的には、元画像の生成の際に生成された図８に示すＺ値と、輪郭情報画像の生成の際に生成された図１０に示すＺ値を併せて参照する。即ち元画像の生成の際に生成されたＺ値と、輪郭情報画像の生成の際に生成されたＺ値に基づいて、処理対象ピクセルがオブジェクトの輪郭線のピクセルか否かを判断する。そして輪郭部分が視点から見て手前側になる場合には輪郭色を合成結果のピクセル値として採用し、それ以外は元画像（ゲーム画面）のピクセル値を合成結果のピクセル値として採用する。
【００８４】
例えば図１１のＥ１に示す輪郭部分では、図７の元画像生成の際に生成された図８のＺ値の方が、図９の輪郭情報画像の際に生成された図１０のＺ値よりも小さい（手前側のＺ値である）。従って、この場合には、図７の元画像のピクセル値（Ｒ、Ｇ、Ｂ値）が、最終的な合成結果のピクセル値として採用される。一方、図１１のＥ２に示す輪郭部分では、図９の輪郭情報画像の際に生成された図１０のＺ値の方が、図７の元画像生成の際に生成された図８のＺ値よりも小さい。従って、この場合には、図９の輪郭情報画像から抽出された輪郭色（赤）が、最終的な合成結果のピクセル値として採用される。以上のようにして図１２に示すような輪郭線が付加された最終画像が生成される。
【００８５】
図５の第１の手法では、Ｃ１、Ｃ２に示す部分で不自然な輪郭線画像が生成されるという問題があった。即ち図６の拡大図に示すように、Ｄ１に示す部分で輪郭線が二重に描画されたり、図５のＣ２や図６のＤ２に示すように、本来は描画されるべきでない輪郭線が描画されてしまう。
【００８６】
これに対して第２の手法では、図１２のＦ１、Ｆ２に示す部分においても不自然な輪郭線画像が生成されない。例えば図１２のＦ１の部分の拡大図である図１３に示すように、Ｇ１に示す重なり部分の境界において、手前側のオブジェクトＯＢ１の緑の輪郭線のみが描画される。即ちこのＧ１に示す部分において輪郭線が二重に見えてしまうという第１の手法の問題点が解消される。従ってプレーヤは、オブジェクトＯＢ１、ＯＢ２の前後関係を正確に把握できるようになる。また図１２のＦ２や図１３のＧ２に示すように、本来は描画されるべきでない輪郭線が描画されてしまうという第１の手法の問題点も解消される。
【００８７】
即ち図４の第１の手法では、オブジェクトＯＢ２と手前側のオブジェクトＯＢ３とのＢ１に示す境界についても、オブジェクトＯＢ２の輪郭として抽出されていた。これに対して図１１の第２の手法ではこの境界は輪郭として抽出されていない。従って図１２のＦ２に示す部分に輪郭線が描画されてしまう事態を防止できる。この際、第２の手法では、元画像の生成の際に生成されたＺ値と、輪郭情報画像の生成の際に生成されたＺ値に基づいて、処理対象ピクセルがオブジェクトの輪郭線のピクセルか否かを判断している。従って図１１のＥ１に示す部分に輪郭線が描画されてしまう事態も防止できる。
【００８８】
また第２の手法では図１５（Ａ）に示すようなラプラシアンフィルタを適用することで、オブジェクトの輪郭の一方側が高輝度で他方側が低輝度である場合に、高輝度側のみに輪郭線が描画される。
【００８９】
例えば図１５（Ｂ）において、輪郭ＥＤの右側（一方側）のピクセル値は高輝度であり、ＥＤの左側（他方側）のピクセル値は低輝度になっている。この場合に図１５（Ｂ）の処理対象ピクセル２００に対して図１５（Ａ）のラプラシアンフィルタを適用すると、結果値は＋１．５になる。従って処理対象ピクセル２００は輪郭線を構成するピクセルであると判断される。一方、図１５（Ｃ）の処理対象ピクセル２０２に対して図１５（Ａ）のラプラシアンフィルタを適用すると、結果値は−１．５になる。従って処理対象ピクセル２０２は輪郭線を構成するピクセルではないと判断される。従って、このようなラプラシアンフィルタを適用すれば、図１５（Ｃ）に示すように、輪郭ＥＤの高輝度側のみに輪郭線ＥＤＬが描画されるようになる。従って図１３のＧ１に示す部分においても、描画色が高輝度に設定された手前側のオブジェクトＯＢ１（ＯＢ１の内側）のみに緑の輪郭線が描画され、描画色が低輝度に設定された奥側のオブジェクトＯＢ２には輪郭線が描画されないようになる。この結果、図６のような二重の輪郭線が描画されてしまう事態を防止できる。
【００９０】
即ち第１の手法では図１４（Ａ）に示すように、視点から見て手前側のオブジェクトほどその輝度が明るくなるように、輪郭画像情報の生成の際の描画色が調整されている。従って、視点から見て手前側のオブジェクトが高輝度になり、奥側のオブジェクトが低輝度になることが保証される。従って図１３のＧ１に示すように、視点から見て手前側にある高輝度のオブジェクトＯＢ１の輪郭線（緑）のみが描画され、奥側にある低輝度のオブジェクトＯＢ２の輪郭線（赤）は描画されないようになる。即ち視点から見て手前側にあるオブジェクトＯＢ１と視点から見て奥側にあるオブジェクトＯＢ２とが視点から見て重なる場合に、オブジェクトＯＢ１、ＯＢ２の重なり部分における境界（図１３のＧ１）において、オブジェクトＯＢ１の輪郭線のみが描画されるようになる。
【００９１】
なお図１５（Ａ）（Ｂ）（Ｃ）では、高輝度側のみに輪郭線を描画しているが、低輝度側のみに輪郭線を描画するようにしてもよい。この場合には、例えば図１５（Ａ）とは異なる係数が設定されたラプラシアンフィルタなどを用いればよい。またこの場合には、図１４（Ａ）の輪郭情報画像の生成において、視点からの距離が遠くなるほどその輝度が明るくなるようにオブジェクトの描画色を調整すればよい。
【００９２】
また輪郭情報画像の生成手法も図１４（Ａ）の手法に限定されない。例えば図１４（Ｃ）に示すように、Ｒ成分（広義には第Ｋの成分）に輝度情報が設定され、Ｇ成分（広義には第Ｌの成分）に輪郭色指定情報（色テーブルのインデックス番号）が設定される描画色で、輪郭線の描画対象となるオブジェクトを描画して、輪郭情報画像を生成してもよい。この場合には、輪郭情報画像の描画色のＲ成分（第Ｋの成分）から輝度情報を取り出し、取り出された輝度情報に基づいてオブジェクトの輪郭を抽出すればよい。また輪郭情報画像の描画色のＧ成分（第Ｌの成分）から輪郭色指定情報を取り出し、取り出された輪郭色指定情報で指定される輪郭色で、オブジェクトの輪郭線を描画すればよい。なおＢ成分（広義には第Ｍの成分）にＺ値（奥行き値）を設定するようにしてもよい。
【００９３】
なお図１４（Ｃ）のＲ成分に設定される輝度情報は、図１４（Ａ）の手法と同様に、視点からのオブジェクトの距離に応じてその値を調整することが望ましい。例えば視点からのオブジェクトの距離が大きくなるほど暗くなるように輝度情報を調整する。このように輝度情報を設定すれば、同じ描画色のオブジェクト同士での前後関係を区別できるようになる。従って図１３において、視点から見て手前側にあるオブジェクトＯＢ１のみに輪郭線を描画できるようになる。なお視点からのオブジェクトの距離が大きくなるほど明るくなるように、描画色のＲ成分に設定される輝度情報を調整してもよい。
【００９４】
２．３  オブジェクトの属性毎の輪郭線の描画
本実施形態では、異なる属性のオブジェクトについては異なる輪郭色の輪郭線を描画するようにしている。例えば図１２において、第１の属性に属するオブジェクトＯＢ１については、緑（広義には第１の輪郭色）でＯＢ１の輪郭線を描画する。一方、第２の属性に属するオブジェクトＯＢ２については、赤（広義には第２の描画色）でＯＢ２の輪郭線を描画する。なお、属性の数や輪郭色の数は２つに限定されず、３つ以上とすることができる。
【００９５】
例えば図１６に本実施形態で生成されるゲーム画面（ゲーム画像）の一例を示す。このゲームでは、近未来において、プレーヤがゴーグル型のサングラスを装着して町を探索するという想定になっている。このゴーグル側のサングラスを装着し、スキャンモードに設定すると、プレーヤは、町にいるキャラクタが敵なのか味方なのかを知ることができる。また操作部のボタンを押してその内容を調べたアイテムが、重要な情報を有するアイテムなのか、そうでないアイテムなのかを知ることができる。
【００９６】
そして図１６のゲーム画面において、キャラクタ（広義にはオブジェクト）ＣＨ１は、敵グループに属するため、例えば赤の輪郭色（第１の輪郭色）でＣＨ１の輪郭線が描画されている。一方、キャラクタＣＨ２、ＣＨ３、ＣＨ４は、敵以外のグループ（味方グループ、通行人などの無関係なグループ）に属するため、例えば緑の輪郭色（第２の輪郭色）でＣＨ２、ＣＨ３、ＣＨ４の輪郭線が描画されている。このような色分けした輪郭線の描画は、前述した本実施形態の第１、第２の手法等により実現できる。
【００９７】
例えば従来の輪郭線描画では、アニメ特有のセル画風の画像の生成を目的として輪郭線を描画していた。このため、オブジェクトの輪郭に描画される輪郭線は、黒等の一色のみであり、色分けした輪郭線の描画を行うことはなかった。
【００９８】
これに対して本実施形態では図１６に示すように、異なる属性のオブジェクトには異なる輪郭色の輪郭線を描画している。このようにすれば、プレーヤは、輪郭線の色を見るだけで、オブジェクトの属性を判別できるようになり、輪郭線をこれまでと違った用途に使用できるようになる。
【００９９】
例えば図１６では、プレーヤは、キャラクタに付加された輪郭線の色を見ることで、キャラクタが敵なのか、敵以外なのかを容易に判別できる。従って多数のキャラクタに囲まれたプレーヤが、どれが敵でどれが味方なのかが分からなくなり、ゲームプレイが混乱してしまうような事態を防止できる。特に近年のゲームでは、画像生成システムの能力の向上により、ゲーム空間上に多数のキャラクタを登場させることが可能になっている。従って、このような画像生成システムにおいては、図１６に示すように輪郭色で敵を判別させる手法は有効になる。
【０１００】
また、この種のゲームでは、ゲーム空間（オブジェクト空間）上に配置されたアイテム（広義にはオブジェクト）を調べて、情報を収集し、収集した情報に基づいてゲームを進行させる。この場合にも本実施形態では、第１のタイプの情報（例えば重要な情報）を有するアイテム（オブジェクト）については第１の輪郭色で輪郭線を描画し、第２のタイプの情報（例えば重要ではない情報や収集済みの情報）を有するアイテムについては第２の輪郭色で輪郭線を描画する。こうすればプレーヤは、アイテムに付加された輪郭線の色を見るだけで、アイテムが有する情報の内容を把握できる。従って、多数のアイテムがゲーム空間に配置されるような場合にも、プレーヤはスムーズにゲームを進行させることが可能になる。
【０１０１】
なお、本実施形態の輪郭線の色分け手法は、上述した手法に限定されない。例えば輪郭線の色分け対象は、キャラクタやアイテム以外であってもよい。また、グループのタイプや情報のタイプ以外のオブジェクトの属性に基づいて、輪郭線の色分けを行ってもよい。また本実施形態の第１、第２の手法以外の手法で、輪郭線の色分けを行ってもよい。
【０１０２】
２．４  詳細な処理例
次に本実施形態の詳細な処理例を図１７、図１８のフローチャートを用いて説明する。図１７、図１８は第２の手法の処理例である。
【０１０３】
まずテクスチャＡを描画先として設定する（ステップＳ３１）。そしてＺバッファをクリア（消去）する（ステップＳ３２）。具体的にはＺバッファのＺ値を最大値（最も奥側の値）にクリアする。そして通常のゲーム画面（元画像）を描画し、同時に描画先のテクスチャＡのαチャンネルにＺ値を出力する（ステップＳ３３）。これにより、テクスチャＡの画像として図７に示すような画像が生成される。またテクスチャＡのαチャンネルに図８に示すようなＺ値が格納される。
【０１０４】
次にテクスチャＢを描画先として設定する（ステップＳ３４）。そしてテクスチャＢのＲ、Ｇ、Ｂ、αチャンネルをクリアする（ステップＳ３５）。具体的には黒（０．０）の値にクリアする。そしてＺバッファをクリアする（ステップＳ３６）。
【０１０５】
次に、輪郭線描画の対象となる各オブジェクトについて、各オブジェクトの指定輪郭色（赤、緑、青の原色）に対し、各オブジェクトの代表点（原点）の視点からの距離に応じて、手前側は明るくなり奥側は暗くなるように輝度調整を施した単色で描画し、同時に描画先のテクスチャＢのαチャンネルにＺ値を出力する（ステップＳ３７）。即ち図１４（Ａ）で説明した手法により、輪郭線描画の対象となるオブジェクトを描画する。これにより、テクスチャＢの画像として図９に示すような画像が生成される。またテクスチャＢのαチャンネルに図１０に示すようなＺ値が格納される。
【０１０６】
次にテクスチャＣ（フレームバッファ）を描画先として設定する（ステップＳ３８）。そしてテクスチャＡ及びテクスチャＢの対応する位置のピクセルについてピクセルシェーダ処理を行い、描画先の全ピクセルについての処理結果を出力する（ステップＳ３９）。そしてテクスチャＣを表示する（ステップＳ４０）。即ちテクスチャＣを画面サイズのプリミティブ面（スプライト、ポリゴン）にテクスチャマッピングし、得られた画像を表示部に出力する。なお、ゲーム画面に対して、体力ゲージや簡易マップなどを重ねて表示する場合には、これらの体力ゲージや簡易マップを表示するためのテクスチャＤと、テクスチャＣを、画面サイズのプリミティブ面にマルチテクスチャマッピングすればよい。
【０１０７】
図１８は図１７のステップＳ３９で行われるピクセルシェーダ処理のフローチャートである。具体的には図１８の処理を行うピクセルシェーダプログラムが、画像生成システムが有するピクセルシェーダ回路に転送される。そしてピクセルシェーダ回路は、ピクセルシェーダプログラムに記述されたコマンドを解釈し、各コマンドに従った処理を実行する。そしてこの処理は画面の全てのピクセルに対して行われる。
【０１０８】
ピクセルシェーダ処理では、まず、テクスチャＢのＲ、Ｇ、Ｂ値の全てが０か否かを判断する（ステップＳ４１）。そしてゼロである場合には、テクスチャＡ（元画像）のＲ、Ｇ、Ｂ値を描画先に出力する（ステップＳ４２）。即ちテクスチャＢのＲ、Ｇ、Ｂ値の全てが０である処理対象ピクセルについては、図７の元画像のＲ、Ｇ、Ｂ値が設定されることになる。
【０１０９】
テクスチャＢのＲ、Ｇ、Ｂ値の少なくとも１つがゼロではない場合には、テクスチャＢのα値（Ｚ値）がテクスチャＡのα値（Ｚ値）以下か否かを判断する（ステップＳ４３）。そしてテクスチャＢのα値の方がテクスチャＡのα値よりも大きい場合には、ステップＳ４２に移行し、処理対象ピクセルには元画像のＲ、Ｇ、Ｂ値が設定される。
【０１１０】
一方、テクスチャＢのα値がテクスチャＡのα値以下である場合には、テクスチャＢの処理対象ピクセル及び隣接する８ピクセルについて、各ピクセルの輝度（Ｒ、Ｇ、Ｂ値の総和）に対しラプラシアンフィルタを適用する（ステップＳ４４）。即ち図１５（Ａ）に示すラプラシアンフィルタを適用して、図１５（Ｂ）に示すような演算処理が行われ、オブジェクトの輪郭の抽出処理が行われる。
【０１１１】
次にステップＳ４４の処理結果がゼロよりも大きいか否かを判断する（ステップＳ４５）。そしてゼロよりも大きい場合には、処理対象ピクセルが輪郭線のピクセルであると判断し、小数部を切り上げた値を描画先に出力する（ステップＳ４６）。即ち図１４（Ｂ）に示すような色彩情報の抽出が行われ、オブジェクトの輪郭色のＲ、Ｇ、Ｂ値が処理対象ピクセルに設定される。これにより、図１２に示すようなオブジェクトの輪郭に輪郭線が付加された画像（テクスチャＣ）が生成されるようになる。
【０１１２】
３．ハードウェア構成
図１９に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＤＶＤ９８２（情報記憶媒体。ＣＤでもよい。）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１１３】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセラレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１１４】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データ（頂点データや他のパラメータ）を描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。頂点シェーダやピクセルシェーダなどのプログラマブルシェーダも描画プロセッサ９１０に実装されており、本実施形態の手法を実現するシェーダプログラムに従って、頂点データの作成・変更（更新）やピクセル（あるいはフラグメント）の描画色の決定を行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【０１１５】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１１６】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０（ＣＤドライブでもよい。）は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２（ＣＤでもよい。）にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１１７】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１１８】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１１９】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語（第Ｋの成分、第Ｌの成分、第Ｍの成分、第１の輪郭色、第２の輪郭色等）と共に記載された用語（Ｒ成分、Ｇ成分、Ｂ成分、緑、赤等）は、明細書または図面のいかなる箇所においても、その異なる用語に置き換えることができる。
【０１２０】
また輪郭線の描画手法も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。例えば輪郭情報画像の生成手法や輪郭の抽出手法等も本実施形態で説明した手法に限定されない。また異なる属性のオブジェクトに異なる描画色の輪郭線を描画する発明では、第１の手法や第２の手法で輪郭線を描画してもよいし、それ以外の手法で輪郭線を描画してもよい。また本発明は、ピクセルシェーダ処理により実現してもよいし、それ以外の処理により実現してもよい。
【０１２１】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレイヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１２２】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】第１の手法で生成された輪郭色参照用画像の例。
【図３】第１の手法で生成された輪郭検出用画像の例。
【図４】第１の手法で抽出された輪郭を視覚化した図。
【図５】第１の手法で生成された最終画像の例。
【図６】第１の手法でのオブジェクト間の境界部分の拡大図。
【図７】第２の手法で生成された元画像の例。
【図８】第２の手法で生成された元画像のＺ値を視覚化した図。
【図９】第２の手法で生成された輪郭情報画像の例。
【図１０】第２の手法で生成された輪郭情報画像のＺ値を視覚化した図。
【図１１】第２の手法で抽出された輪郭を視覚化した図。
【図１２】第２の手法で生成された最終画像の例。
【図１３】第２の手法でのオブジェクト間の境界部分の拡大図。
【図１４】図１４（Ａ）（Ｂ）（Ｃ）は第２の手法の説明図。
【図１５】図１５（Ａ）（Ｂ）（Ｃ）は第２の手法の説明図。
【図１６】本実施形態で生成されたゲーム画面の例。
【図１７】本実施形態の処理の詳細例。
【図１８】本実施形態の処理の詳細例。
【図１９】ハードウェア構成例。
【符号の説明】
【０１２３】
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１２０  画像生成部、１２２  元画像生成部、
１２４  輪郭情報画像生成部、１２８  輪郭線描画部、
１３０  音生成部、１６０  操作部、１７０  記憶部、１７２  フレームバッファ、
１７４  テクスチャ記憶部、１７６  Ｚバッファ、１８０  情報記憶媒体、
１９０  表示部、１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部
【図１】
0004749064.tif 000002
【図１４】
0004749064.tif 000003
【図１５】
0004749064.tif 000004
【図１６】
0004749064.tif 000005
【図１７】
0004749064.tif 000006
【図１８】
0004749064.tif 000007
【図１９】
0004749064.tif 000008
【図２】
0004749064.tif 000009
【図３】
0004749064.tif 000010
【図４】
0004749064.tif 000011
【図５】
0004749064.tif 000012
【図６】
0004749064.tif 000013
【図７】
0004749064.tif 000014
【図８】
0004749064.tif 000015
【図９】
0004749064.tif 000016
【図１０】
0004749064.tif 000017
【図１１】
0004749064.tif 000018
【図１２】
0004749064.tif 000019
【図１３】
0004749064.tif 000020