JP4391633B2 - Image generation system and information storage medium - Google Patents

Image generation system and information storage medium Download PDF

Info

Publication number
JP4391633B2
JP4391633B2 JP25658099A JP25658099A JP4391633B2 JP 4391633 B2 JP4391633 B2 JP 4391633B2 JP 25658099 A JP25658099 A JP 25658099A JP 25658099 A JP25658099 A JP 25658099A JP 4391633 B2 JP4391633 B2 JP 4391633B2
Authority
JP
Japan
Prior art keywords
image
contour
information
mask
specifying
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.)
Expired - Lifetime
Application number
JP25658099A
Other languages
Japanese (ja)
Other versions
JP2001084394A (en
JP2001084394A5 (en
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 JP25658099A priority Critical patent/JP4391633B2/en
Publication of JP2001084394A publication Critical patent/JP2001084394A/en
Publication of JP2001084394A5 publication Critical patent/JP2001084394A5/ja
Application granted granted Critical
Publication of JP4391633B2 publication Critical patent/JP4391633B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、画像生成システム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な3次元空間であるオブジェクト空間内の所与の視点から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。このような画像生成システムではプレーヤの仮想現実感の向上のためによりリアルな画像を生成することが望まれていた。
【0003】
ところが一方ではさまざまなアニメ映画やアニメ画像が人気を博している。これらは実写に近いリアリティで人を魅了するのではなく、アニメ特有のセル画風の画像の楽しさで人を魅了するものである。
【0004】
しかしかかるアニメ画像はあらかじめ用意されたアニメのセル画を再生することにより映写されるものであるため映画やゲームのオープニングのムービー画像等に用いられ、リアルタイムに変化するゲーム画像等としては用いられていなかった。
【0005】
そこで本出願人は、セルアニメ風の画像をプレーヤの操作入力等に応じてリアルタイムに変化させる画像生成システムを提案し、開発を行っている。そしてセルアニメに近い画像を生成するために輪郭線を強調した画像を生成する工夫を行っているが、如何にして少ない処理負担で輪郭線を強調した画像を生成するかという課題を有していた。
【0006】
理論的には3次元オブジェクトにたいしてセルアニメ風のレンダリングを施すことによりセルアニメの画像をリアルタイムに変化させることができ、かかる手法としてアニメシェーダーが知られている。しかしアニメシェーダーの手法は処理負担が重いためリアルタイム性が要求される家庭用、業務用ゲームシステム等においては採用しづらい。
【0007】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、より少ない処理負担でセルアニメ風の画像演出が可能な輪郭付けを行う画像生成システム及び情報記憶媒体を提供することにある。
【0008】
【課題を解決するための手段】
本発明は画像を生成するための画像生成システムであって、3次元オブジェクトの輪郭を特定するために必要な情報を演算する手段と、前記輪郭を特定するために必要な情報に基づき輪郭が付加された画像を生成する手段とを含むことを特徴とする。
【0009】
また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【0010】
本発明によれば、輪郭を特定するために必要な情報を演算して元画像に輪郭が付加された画像を生成することができる。したがってあらかじめオブジェクト毎に輪郭線に関する情報を有していなくても、輪郭を特定するために必要な情報をリアルタイムに演算して輪郭付けを行うことができる。このため3次元オブジェクトにセルアニメ風の演出を行う際の演出効果をより高めることができる。
【0011】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、3次元オブジェクトを複数の異なる方向に微小値だけずらして所与の3次元空間に重ねて配置することにより輪郭部分を特定するために必要な情報を演算することを特徴とする。
【0012】
所与の3次元空間とは透視変換前の3次元オブジェクトが配置される3次元空間を意味し、ローカル座標系の空間でもよいし、ワールド座標系の空間でもよいし、視点座標系の空間でもよいし、その他の座標系を有する空間でもよい。
【0013】
ここにおいて微小値は付加したい輪郭の幅に応じて与えることが好ましい。たとえば太い輪郭線をつけたい場合には細い輪郭線をつけたい場合に比べて微小値の値を大きくとることが好ましい。
【0014】
3次元オブジェクトを複数の異なる方向に微小値だけずらして所与の3次元空間に重ねて配置することにより、3次元オブジェクトが重畳した空間の周りに微小値幅の輪郭部分を特定することができる。したがってこれを輪郭部分を特定するために必要な情報として用い、輪郭が付加された画像を生成することができる。
【0015】
本発明によれば、3次元オブジェクトを複数の異なる方向に微小値だけずらして所与の3次元空間に重ねて配置するという簡単なアルゴリズム及び演算処理で輪郭部分を特定するために必要な情報を得ることができる。
【0016】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、3次元オブジェクトの透視変換後の画像又は透視変換後の画像の描画エリアを特定するマスク画像を複数の異なる方向に微小値だけずらして所与の描画バッファに重ねて描画することにより輪郭部分を含む画像エリアを特定することを特徴とする。
【0017】
ここにおいて微小値は付加したい輪郭の幅に応じて与えることが好ましい。たとえば太い輪郭線をつけたい場合には細い輪郭線をつけたい場合に比べて微小値の値を大きくとることが好ましい。
【0018】
また所与の描画用バッファとは例えばフレームバッファ等の画素単位の描画情報をかきこみ可能な記憶領域である。
【0019】
3次元オブジェクトの透視変換後の画像又は透視変換後の画像の描画エリアを特定するマスク画像を複数の異なる方向に微小値だけずらして所与の描画用バッファに重ねて描画することにより、重畳した描画エリアの周りに微小値幅の輪郭部分を生成することができる。
【0020】
したがって本発明によればずらして描画するという簡単なアルゴリズム及び演算処理で輪郭が付加された画像を生成することができる。
【0021】
なおなるべく多くの方向にずらして描画することにより詳細な輪郭情報をえることができるが、描画回数を増やすと処理負担を増加させることになるので、透視変換後の画像の形状に応じてもっとも効果的な描画回数を設定することが好ましい。
【0022】
また前記マスク画像を表示したい輪郭線の色で描画すると、重畳した描画エリアの周りに微小値幅の輪郭線が表示したい輪郭線の色で描画された画像を生成することができる。
【0023】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、輪郭部分を含む画像エリアの輪郭部分以外の画素に、元画像を重ねて描画することにより、元画像に輪郭が付加された画像を生成することを特徴とする。
【0024】
ここにおいて元画像とは3次元オブジェクトの透視変換後の画像またはその画像に基づき生成される画像であって本発明による輪郭が付与される前の画像である。たとえばテクスチャマッピング等が行われる場合にはテクスチャがマッピングされた画像である。
【0025】
本発明によれば、輪郭部分を含む画像エリアの輪郭部分以外の画素に元画像を重ねて描画するという簡単なアルゴリズム及び演算処理で輪郭が元画像に付加された画像を生成することができる。
【0026】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、3次元オブジェクトの透視変換後の画像を予備のフレームバッファに描画し、予備のフレームバッファに描画された画像に基づき、前記マスク画像及び元画像の少なくとも一方をフレームバッファに描画することを特徴とする。
【0027】
本発明によれば予備のフレームバッファを用いて2パス方式で描画を行うことにより処理を高速化することができる。
【0028】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、3次元オブジェクトの透視変換後の画像が描画されている前記所与のバッファ又は予備のフレームバッファの各画素について、当該画素に描画されているのが3次元オブジェクトの透視変換後の画像であるのか背景部であるのかを識別可能なマスク情報を持たせ、当該マスク情報に基づき、元画像及びマスク画像の少なくとも一方を描画することを特徴とする。
【0029】
マスク情報を用いることにより描画する元画像及びマスク画像の少なくとも一方の特定が容易となる。なおマスク情報は例えば画素情報のα値として持たせてもよいし、他にマスク情報用のバッファを設けてもよい。
【0030】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【0031】
1.構成
図1に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部170、或いは処理部100と記憶部170と情報記憶媒体180を含めばよく)、それ以外のブロック(例えば操作部160、表示部190、音出力部192、携帯型情報記憶装置194、通信部196)については、任意の構成要素とすることができる。
【0032】
ここで処理部100は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ(CPU、DSP等)、或いはASIC(ゲートアレイ等)などのハードウェアや、所与のプログラム(ゲームプログラム)により実現できる。
【0033】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筺体などのハードウェアにより実現できる。
【0034】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0035】
情報記憶媒体(コンピュータにより使用可能な記憶媒体)180は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納される情報に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体180には、本発明(本実施形態)の手段(特に処理部100に含まれるブロック)を実行するための情報(プログラム或いはプログラム及びデータ)が格納される。
【0036】
なお、情報記憶媒体180に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部170に転送されることになる。また情報記憶媒体180に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも1つを含むものである。
【0037】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
【0038】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【0039】
携帯型情報記憶装置194は、プレーヤの個人データやセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【0040】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0041】
なお本発明(本実施形態)の手段を実行するためのプログラム或いはデータは、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0042】
処理部100は、ゲーム処理部110、画像処理部140、音処理部150を含む。
【0043】
ここでゲーム処理部110は、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクトの位置や回転角度(X、Y又はZ軸回り回転角度)を求める処理、オブジェクトを動作させる処理(モーション処理)、視点位置や視線角度(視線方向)を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム処理を、操作部160からの操作データや、携帯型情報記憶装置194からの個人データ、保存データや、ゲームプログラムなどに基づいて行う。
【0044】
画像処理部140は、ゲーム処理部110からの指示等にしたがって、各種の画像処理を行うものである。また、音処理部150は、ゲーム処理部110からの指示等にしたがって、各種の音処理を行うものである。
【0045】
なお画像処理部140、音処理部150の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0046】
ゲーム処理部110は、移動・動作演算部114を含む。
【0047】
移動・動作演算部114は、車などのオブジェクトの移動情報(位置データ、回転角度データ)や動作情報(オブジェクトの各パーツの位置データ、回転角度データ)を演算するものであり、例えば、操作部160によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作させたりする処理を行う。
【0048】
より具体的には、移動・動作演算部114は、オブジェクトの位置や回転角度を例えば1フレーム(1/60秒)毎に求める処理を行う。例えば(k−1)フレームでのオブジェクトの位置をPMk-1、速度をVMk-1、加速度をAMk-1、1フレームの時間を△tとする。するとkフレームでのオブジェクトの位置PMk、速度VMkは例えば下式(1)、(2)のように求められる。
【0049】
PMk=PMk-1+VMk-1×△t (1)
VMk=VMk-1+AMk-1×△t (2)
画像処理部140は、ジオメトリ処理部(3次元座標演算部)142、描画部(レンダリング部)146を含む。
【0050】
ここで、ジオメトリ処理部142は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理(3次元座標演算)を行う。
【0051】
描画部146は、輪郭処理部144を含み、ジオメトリ処理後(透視変換後)のオブジェクトデータと、テクスチャバッファに記憶されるテクスチャとに基づいて、オブジェクト描画する処理を行う。
【0052】
輪郭処理部144は、3次元オブジェクトの輪郭を特定するために必要な情報を演算し、この情報に基づき輪郭が付加された画像を生成する処理を行う。例えば3次元オブジェクトの透視変換後の画像又は透視変換後の画像の描画エリアを特定するマスク画像を複数の異なる方向に微小値だけずらして所与の描画バッファに重ねて描画することにより輪郭部分を含む画像エリアを特定することができる。そして輪郭部分を含む画像エリアの輪郭部分以外の画素に、元画像を重ねて描画することにより、元画像に輪郭が付加された画像を生成することができる。
【0053】
なおここにおいて、3次元オブジェクトの透視変換後の画像を予備のフレームバッファに描画し、予備のフレームバッファに描画された画像に基づき、前記マスク画像及び元画像の少なくとも一方をフレームバッファに描画するようにしてもよい。
【0054】
また3次元オブジェクトの透視変換後の画像が描画されている前記所与のバッファ又は予備のフレームバッファの各画素について、当該画素に描画されているのが3次元オブジェクトの透視変換後の画像であるのか背景部であるのかを識別可能なマスク情報をもたせ、当該マスク情報に基づき、元画像及びマスク画像の少なくとも一方を描画するようにしてもよい。
【0055】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0056】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末を用いて生成してもよい。
【0057】
2.本実施形態の特徴と動作
本実施の形態の特徴は3次元オブジェクトの輪郭を特定するために必要な情報を演算し、当該情報に基づき輪郭が付加された画像を生成する点にある。
【0058】
図2はドーナッツ型の3次元オブジェクトに特に輪郭を強調しない通常のレンダリング処理を行った場合の画像を表しており、図3はドーナッツ型の3次元オブジェクトに本実施の形態の輪郭を強調したレンダリング処理を行った画像を表している。
【0059】
従来の3次元CGでは、図2に示すようにより実写に近いリアルで自然な画像を生成するのが一般的であった。
【0060】
これに対し本実施の形態では、図3に示すように、輪郭線210、220で輪郭付けを行い3次元オブジェクトをセルアニメ風に見せる演出を行っている。
【0061】
図4は、本実施の形態で輪郭付けを行う際の動作例を説明するためのフローチャート図である。
【0062】
以下図4のフローチャート図にしたがって、本実施の形態で3次元オブジェクトに輪郭づけを行う手法について説明する。
【0063】
まず輪郭付けの対象となる3次元オブジェクトをスクリーン座標形に透視変換する(ステップS10)。
【0064】
そして仮のバッファ(予備のフレームバッファ)のRGBプレーンに3次元オブジェクトの透視変換後の画像(以下元画像という)を描画するとともに、αプレーンにマスク情報をセットする(ステップS20)。
【0065】
図5は仮のバッファ(予備のフレームバッファ)について説明するための図である。仮のバッファ(予備のフレームバッファ)は各画素の画素情報が描画されるバッファであり、各画素のR、G、Bの値を記憶するためのRプレーン310、Gプレーン320、Bプレーン330と、各画素のα値を記憶するためのαプレーン340を有している。
【0066】
α値は当該画素に描画されているのが3次元オブジェクトの透視変換後の画像(以下元画像という)であるのか背景部であるのかを識別可能なマスク情報を記憶するために用いられる。なおマスク情報は元画像であるか背景部であるかをオン、オフで示すマスクビットでもよいし、例えばα値とあるしきい値を比較して元画像と背景部が識別できるような構成で与えられてもよい。
【0067】
なお仮のバッファ(予備のフレームバッファ)はフレームバッファと同様にVRAM上に設けてもよいし、メインメモリに設けてもよい。本実施の形態では仮のバッファ(予備のフレームバッファ)をフレームバッファと同様にVRAM上に設け、2パス方式で描画を行うことにより処理の高速化を図っている。
【0068】
図6(A)(B)は仮のバッファ(予備のフレームバッファ)のR、G、B各プレーン300とαプレーン340の関係を説明するための図である。図6(A)の370を元画像、380を背景とすれば、仮のバッファ(予備のフレームバッファ)のαプレーンの元画像に対応するエリア360の画素には元画像であることを示すマスク情報が記憶されている。
【0069】
図7(A)〜(F)はマスク画像を元画像の描画予定位置に対して複数の異なる方向に微小値だけずらしてフレームバッファに重ねて描画することにより輪郭を生成する様子を説明するための図である。図7(A)の410が、フレームバッファ400における元画像の描画予定位置を表している。マスク画像とは元画像の描画領域を特定するための画像である。
【0070】
図4のステップS30〜ステップS60でマスク画像を元画像の描画予定位置からそれぞれ上下右左にずらして描画する処理を行っている。
【0071】
すなわち、仮のバッファ(予備のフレームバッファ)のαプレーンのマスク情報に基づきマスク画像を特定し、輪郭線の色に塗りつぶしたマスク画像をフレームバッファの元画像の描画予定位置から上に1ピクセルずらした位置に描画する(ステップS30、図7(B)の420参照)。
【0072】
次に、輪郭線の色に塗りつぶしたマスク画像をフレームバッファの元画像の描画予定位置から下に1ピクセルずらした位置に描画する(ステップS40、図7(C)の430参照)。
【0073】
次に、輪郭線の色に塗りつぶしたマスク画像をフレームバッファの元画像の描画予定位置から右に1ピクセルずらした位置に描画する(ステップS50、図7(D)の440参照)。
【0074】
次に、輪郭線の色に塗りつぶしたマスク画像をフレームバッファの元画像の描画予定位置から左に1ピクセルずらした位置に描画する(ステップS60、図7(E)の450参照)。
【0075】
そして仮のバッファ上の元画像をフレームバッファ上の元画像の描画予定位置に描画する(ステップS70、図7(F)参照)。
【0076】
すると図7(F)に示すように、元画像の周りの上下右左に幅1ビットの輪郭線472、474、476、478が生成されている。
【0077】
このように本実施の形態では、マスク画像を複数の異なる方向に微小値だけずらしてフレームバッファに重ねて描画することにより、重畳した描画エリアの周りに微小値幅の輪郭部分を生成することができる。したがってずらして描画するという簡単なアルゴリズム及び演算処理で輪郭が付加された画像を生成することができる。
【0078】
3.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図8を用いて説明する。
【0079】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950(情報記憶媒体の1つ)に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【0080】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0081】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
【0082】
データ伸張プロセッサ906は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ROM950、CD982に格納されたり、或いは通信インターフェース990を介して外部から転送される。
【0083】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970の機能を利用して、オブジェクトデータを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると、描画プロセッサ910は、これらのオブジェクトデータやテクスチャに基づいて、Zバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ922に高速に描画する。また、描画プロセッサ910は、αブレンディング(半透明処理)、ミップマッピング、フォグ処理、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0084】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ932から出力される。
【0085】
ゲームコントローラ942からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介してデータ転送される。
【0086】
ROM950にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なお、ROM950の代わりにハードディスクを利用するようにしてもよい。
【0087】
RAM960は、各種プロセッサの作業領域として用いられる。
【0088】
DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御するものである。
【0089】
CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
【0090】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルインターフェースのバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルインターフェースのバスを利用することで、他の画像生成システム、他のゲームシステム、或いは情報処理機器(パーソナルコンピュータ、プリンタ、マウス、キーボード)などとの間でのデータ転送が可能になる。
【0091】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【0092】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラム(プログラム及びデータ)が格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【0093】
図9(A)に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、レバー1102、ボタン1104等を操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するためのプログラム(或いはプログラム及びデータ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、この情報を格納情報と呼ぶ。
【0094】
図9(B)に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202、1204を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209等に格納されている。
【0095】
図9(C)に、ホスト装置1300と、このホスト装置1300とネットワーク1302(LANのような小規模ネットワークや、インターネットのような広域ネットワーク)を介して接続される端末1304-1〜1304-nとを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体1306に格納されている。端末1304-1〜1304-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304-1〜1304-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304-1〜1304-nに伝送し端末において出力することになる。
【0096】
なお、図9(C)の構成の場合に、本発明の各手段を、ホスト装置(サーバー)と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0097】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置(メモリカード、携帯型ゲーム装置)を用いることが望ましい。
【0098】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0099】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0100】
また、本実施形態では、ジオメトリ処理として座標変換や透視変換を例に挙げたが、本発明のジオメトリ処理はこれらに限定されない。
【0101】
また色情報としてRGBを例にとり説明したがこれに限られない。例えばHSVやHLS等の値でもよい。
【0102】
また本実施の形態では仮のバッファに一旦描画を行い、その後にフレームバッファに描画を行う2パス形式を採用している場合を例にとり説明したがこれに限られない。例えば1パスでフレームバッファにかきこむ場合でも実現可能であり、3パス又はそれ以上のパスでフレームバッファに描画を行う場合でもよい。
【0103】
本実施の形態では、元画像の描画予定位置に対して上下右左に1ピクセルずつずらした位置にマスク画像を描画して輪郭部分を含む画像エリアを特定する場合を例にとり説明したがこれに限られない。より多くの異なる方向にずらして描画するほど詳細な輪郭情報をえることができるが、描画回数を増やすと処理負担を増加させることになるので、透視変換後の画像の形状に応じてもっとも効果的な描画回数を設定することが好ましい。
【0104】
また本実施の形態では3次元オブジェクトの透視変換後の画像に基づいて輪郭部分を含む画像エリアを特定する場合を例にとり説明したがこれに限られない。例えば透視変換前の3次元オブジェクトを3次元空間において複数の異なる方向に微小値だけずらして重ねて配置することにより輪郭部分を特定するために必要な情報を演算するようにしてもよい。
【0105】
また本発明は種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0106】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、画像生成システム、ゲーム画像を生成するシステムボード等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【図1】本実施形態の画像生成システムのブロック図の例である。
【図2】ドーナッツ型の3次元オブジェクトに特に輪郭を強調しない通常のレンダリング処理を行った場合の画像を表している。
【図3】ドーナッツ型の3次元オブジェクトに本実施の形態の輪郭を強調したレンダリング処理を行った画像を表している。
【図4】本実施の形態で輪郭付けを行う際の動作例を説明するためのフローチャート図である。
【図5】仮のバッファ(予備のフレームバッファ)について説明するための図である。
【図6】図6(A)(B)は仮のバッファ(予備のフレームバッファ)のR、G、B各プレーンとαプレーンの関係を説明するための図である。
【図7】図7(A)〜(F)はマスク画像を元画像の描画予定位置に対して複数の異なる方向に微小値だけずらしてフレームバッファに重ねて描画することにより輪郭を生成する様子を説明するための図である。
【図8】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図9】図9(A)、(B)、(C)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
100 処理部
110 ゲーム処理部
112 編集画面表示部
114 移動・動作演算
140 画像処理部
142 ジオメトリ処理部
144 輪郭処理部
146 描画部
150 音処理部
160 操作部
170 記憶部
172 メインメモリ
174 フレームバッファ
176 テクスチャ記憶部
180 情報記憶媒体
190 表示部
192 音出力部
194 携帯型情報記憶装置
196 通信部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image generation system and an information storage medium.
[0002]
[Background Art and Problems to be Solved by the Invention]
2. Description of the Related Art Conventionally, an image generation system that generates an image that can be seen from a given viewpoint in an object space that is a virtual three-dimensional space is known, and is popular as being able to experience so-called virtual reality. In such an image generation system, it has been desired to generate a more realistic image in order to improve the player's virtual reality.
[0003]
On the other hand, various anime movies and images are gaining popularity. These do not attract people with the reality close to live-action, but attract people with the fun of cel-style images unique to anime.
[0004]
However, since such animation images are projected by playing back animation cell images prepared in advance, they are used for movie and game opening movie images, etc., and are used for game images that change in real time. There wasn't.
[0005]
Therefore, the present applicant has proposed and developed an image generation system that changes a cel animation-like image in real time in accordance with an operation input of a player. And, in order to generate an image close to cel animation, we devised to generate an image with an emphasized outline, but there is a problem of how to generate an image with an emphasized outline with a small processing burden. It was.
[0006]
Theoretically, a cel animation image can be rendered in real time by rendering a cel animation style on a three-dimensional object, and an animation shader is known as such a method. However, the method of the animation shader is heavy in processing load, so it is difficult to adopt it in home and business game systems that require real-time performance.
[0007]
The present invention has been made in view of the above-described problems, and an object of the present invention is to provide an image generation system and an information storage medium for performing contouring capable of producing a cel animation style image with a smaller processing load. Is to provide.
[0008]
[Means for Solving the Problems]
The present invention is an image generation system for generating an image, and includes a means for calculating information necessary for specifying the contour of a three-dimensional object, and a contour added based on the information necessary for specifying the contour. Means for generating a processed image.
[0009]
The information storage medium according to the present invention is an information storage medium that can be used by a computer, and includes a program for executing the above means. The program according to the present invention is a program (including a program embodied in a carrier wave) that can be used by a computer, and includes a processing routine for executing the above means.
[0010]
According to the present invention, it is possible to calculate information necessary for specifying a contour and generate an image in which a contour is added to the original image. Therefore, even if the information regarding the contour line is not previously stored for each object, it is possible to perform contouring by calculating information necessary for specifying the contour in real time. For this reason, it is possible to further enhance the effect of performing a cel animation-like effect on the three-dimensional object.
[0011]
In addition, the image generation system, the information storage medium, and the program according to the present invention specify a contour portion by shifting a three-dimensional object by a minute value in a plurality of different directions and arranging them in a given three-dimensional space. It is characterized by calculating necessary information.
[0012]
A given three-dimensional space means a three-dimensional space in which a three-dimensional object before perspective transformation is placed, and may be a local coordinate system space, a world coordinate system space, or a viewpoint coordinate system space. It may be a space having another coordinate system.
[0013]
Here, the minute value is preferably given according to the width of the contour to be added. For example, when it is desired to add a thick outline, it is preferable to increase the value of the minute value as compared with the case where a thin outline is desired.
[0014]
By shifting the three-dimensional object by a minute value in a plurality of different directions and superposing it on a given three-dimensional space, it is possible to specify a contour portion having a minute value width around the space where the three-dimensional object is superimposed. Therefore, this can be used as information necessary for specifying the contour portion, and an image with a contour can be generated.
[0015]
According to the present invention, information necessary for specifying a contour portion by a simple algorithm and arithmetic processing in which a three-dimensional object is shifted by a minute value in a plurality of different directions and placed in a given three-dimensional space is obtained. Obtainable.
[0016]
The image generation system, the information storage medium, and the program according to the present invention shift a mask image that specifies an image after perspective transformation of a three-dimensional object or a drawing area of an image after perspective transformation by a minute value in a plurality of different directions. An image area including a contour portion is specified by drawing on a given drawing buffer.
[0017]
Here, the minute value is preferably given according to the width of the contour to be added. For example, when it is desired to add a thick outline, it is preferable to increase the value of the minute value as compared with the case where a thin outline is desired.
[0018]
The given drawing buffer is a storage area in which drawing information in units of pixels, such as a frame buffer, can be written.
[0019]
Superimposed by drawing a three-dimensional object after the perspective transformation or a mask image for specifying the drawing area of the perspective transformation image by shifting by a minute value in a plurality of different directions and overlaying it on a given drawing buffer A contour portion having a minute value width can be generated around the drawing area.
[0020]
Therefore, according to the present invention, it is possible to generate an image to which an outline is added by a simple algorithm of drawing with a shift and arithmetic processing.
[0021]
Detailed contour information can be obtained by drawing in as many directions as possible, but increasing the number of drawing increases the processing burden, so it is most effective according to the shape of the image after perspective transformation. It is preferable to set a specific number of times of drawing.
[0022]
Further, when the mask image is drawn with the color of the contour line to be displayed, an image drawn with the color of the contour line with which the contour line with a minute value width is displayed around the superimposed drawing area can be generated.
[0023]
In addition, the image generation system, the information storage medium, and the program according to the present invention draw an image with a contour added to the original image by drawing the original image on pixels other than the contour portion of the image area including the contour portion. It is characterized by generating.
[0024]
Here, the original image is an image after a perspective transformation of a three-dimensional object or an image generated based on the image before the contour according to the present invention is given. For example, when texture mapping or the like is performed, the image is a texture mapped image.
[0025]
According to the present invention, it is possible to generate an image in which a contour is added to the original image by a simple algorithm and calculation processing in which the original image is superimposed and drawn on pixels other than the contour portion of the image area including the contour portion.
[0026]
The image generation system, information storage medium, and program according to the present invention draw a perspective-transformed image of a three-dimensional object in a spare frame buffer, and based on the image drawn in the spare frame buffer, the mask image and At least one of the original images is drawn in a frame buffer.
[0027]
According to the present invention, it is possible to speed up the processing by drawing with a two-pass method using a spare frame buffer.
[0028]
The image generation system, the information storage medium, and the program according to the present invention are drawn on each pixel of the given buffer or the spare frame buffer in which an image after perspective transformation of the three-dimensional object is drawn. Having mask information that can identify whether a three-dimensional object is an image after perspective transformation or a background portion, and drawing at least one of the original image and the mask image based on the mask information Features.
[0029]
By using the mask information, it becomes easy to specify at least one of the original image to be drawn and the mask image. The mask information may be given as the α value of the pixel information, for example, or a mask information buffer may be provided.
[0030]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.
[0031]
1. FIG. 1 shows an example of a block diagram of this embodiment. In this figure, the present embodiment may include at least the processing unit 100 (or may include the processing unit 100 and the storage unit 170, or the processing unit 100, the storage unit 170, and the information storage medium 180), and other blocks. (For example, the operation unit 160, the display unit 190, the sound output unit 192, the portable information storage device 194, and the communication unit 196) can be arbitrary constituent elements.
[0032]
Here, the processing unit 100 performs various processes such as control of the entire system, instruction instruction to each block in the system, game processing, image processing, sound processing, and the like. , DSP, etc.) or ASIC (gate array, etc.) or a given program (game program).
[0033]
The operation unit 160 is for a player to input operation data, and the function can be realized by hardware such as a lever, a button, and a housing.
[0034]
The storage unit 170 serves as a work area such as the processing unit 100 or the communication unit 196, and its function can be realized by hardware such as a RAM.
[0035]
An information storage medium (storage medium usable by a computer) 180 stores information such as programs and data, and functions thereof are an optical disk (CD, DVD), a magneto-optical disk (MO), a magnetic disk, and a hard disk. It can be realized by hardware such as a magnetic tape or a memory (ROM). The processing unit 100 performs various processes of the present invention (this embodiment) based on information stored in the information storage medium 180. That is, the information storage medium 180 stores information (program or program and data) for executing the means of the present invention (this embodiment) (particularly, the blocks included in the processing unit 100).
[0036]
Part or all of the information stored in the information storage medium 180 is transferred to the storage unit 170 when the system is powered on. Information stored in the information storage medium 180 includes program code, image data, sound data, display object shape data, table data, list data, and data for instructing the processing of the present invention. It includes at least one of information, information for performing processing according to the instruction, and the like.
[0037]
The display unit 190 outputs an image generated according to the present embodiment, and the function thereof can be realized by hardware such as a CRT, LCD, or HMD (head mounted display).
[0038]
The sound output unit 192 outputs the sound generated by the present embodiment, and its function can be realized by hardware such as a speaker.
[0039]
The portable information storage device 194 stores player personal data, save data, and the like. As the portable information storage device 194, a memory card, a portable game device, and the like can be considered.
[0040]
The communication unit 196 performs various controls for communicating with the outside (for example, a host device or other image generation system), and functions as hardware such as various processors or a communication ASIC. Or by a program.
[0041]
The program or data for executing the means of the present invention (this embodiment) may be distributed from the information storage medium of the host device (server) to the information storage medium 180 via the network and the communication unit 196. Good. Use of such an information storage medium of the host device (server) is also included in the scope of the present invention.
[0042]
The processing unit 100 includes a game processing unit 110, an image processing unit 140, and a sound processing unit 150.
[0043]
Here, the game processing unit 110 receives coins (cost), various mode setting processing, game progress processing, selection screen setting processing, object position and rotation angle (rotation angle around X, Y, or Z axis). , Processing to move the object (motion processing), processing to determine the viewpoint position and line-of-sight angle (gaze direction), processing to place objects such as map objects in the object space, hit check processing, game results (results, results) ), Various game processes such as a process for a plurality of players to play in a common game space, a game over process, etc., from the operation data from the operation unit 160 and the portable information storage device 194. This is based on personal data, stored data, game programs, etc.
[0044]
The image processing unit 140 performs various types of image processing in accordance with instructions from the game processing unit 110. The sound processing unit 150 performs various types of sound processing in accordance with instructions from the game processing unit 110 and the like.
[0045]
Note that all of the functions of the image processing unit 140 and the sound processing unit 150 may be realized by hardware, or all of them may be realized by a program. Alternatively, it may be realized by both hardware and a program.
[0046]
The game processing unit 110 includes a movement / motion calculation unit 114.
[0047]
The movement / movement calculation unit 114 calculates movement information (position data, rotation angle data) and movement information (position data of each part of the object, rotation angle data) of an object such as a car. Based on the operation data input by the player, the game program, etc., the process of moving or moving the object is performed.
[0048]
More specifically, the movement / motion calculation unit 114 performs processing for obtaining the position and rotation angle of the object every frame (1/60 seconds), for example. For example, the position of the object in the (k-1) frame is PMk-1, the speed is VMk-1, the acceleration is AMk-1, and the time of one frame is Δt. Then, the position PMk and speed VMk of the object in the k frame are obtained by the following equations (1) and (2), for example.
[0049]
PMk = PMk-1 + VMk-1 * .DELTA.t (1)
VMk = VMk-1 + AMk-1 * .DELTA.t (2)
The image processing unit 140 includes a geometry processing unit (three-dimensional coordinate calculation unit) 142 and a drawing unit (rendering unit) 146.
[0050]
Here, the geometry processing unit 142 performs various types of geometry processing (three-dimensional coordinate calculation) such as coordinate transformation, clipping processing, perspective transformation, or light source calculation.
[0051]
The drawing unit 146 includes a contour processing unit 144, and performs an object drawing process based on the object data after geometry processing (after perspective transformation) and the texture stored in the texture buffer.
[0052]
The contour processing unit 144 calculates information necessary for specifying the contour of the three-dimensional object, and performs processing to generate an image with a contour added based on this information. For example, the contour portion is drawn by drawing a mask image for specifying a perspective transformation image of a three-dimensional object or a drawing area of the perspective transformation image by shifting a minute value in a plurality of different directions and overlaying a given drawing buffer. The image area to be included can be specified. Then, by drawing the original image on the pixels other than the contour portion of the image area including the contour portion, an image in which the contour is added to the original image can be generated.
[0053]
Here, the perspective-transformed image of the three-dimensional object is drawn in the spare frame buffer, and at least one of the mask image and the original image is drawn in the frame buffer based on the image drawn in the spare frame buffer. It may be.
[0054]
In addition, for each pixel of the given buffer or spare frame buffer in which an image after perspective transformation of the three-dimensional object is drawn, the image after perspective transformation of the three-dimensional object is drawn in the pixel. It is also possible to provide mask information that can identify whether the image is the background portion or the background portion, and draw at least one of the original image and the mask image based on the mask information.
[0055]
Note that the image generation system of the present embodiment may be a system dedicated to the single player mode in which only one player can play, or not only the single player mode but also a multiplayer mode in which a plurality of players can play. The system may also be provided.
[0056]
Further, when a plurality of players play, game images and game sounds to be provided to the plurality of players may be generated using one terminal, or connected via a network (transmission line, communication line) or the like. Alternatively, it may be generated using a plurality of terminals.
[0057]
2. Features and Operations of this Embodiment The feature of this embodiment is that information necessary for specifying the contour of a three-dimensional object is calculated and an image with a contour added is generated based on the information.
[0058]
FIG. 2 shows an image when a normal rendering process that does not particularly emphasize the contour is performed on the donut-type three-dimensional object, and FIG. 3 is a rendering that emphasizes the contour of the present embodiment on the donut-type three-dimensional object. It represents the processed image.
[0059]
In the conventional three-dimensional CG, as shown in FIG. 2, it is common to generate a real and natural image closer to a real image.
[0060]
On the other hand, in the present embodiment, as shown in FIG. 3, the contour lines 210 and 220 are contoured to produce a 3D object that looks like a cell animation.
[0061]
FIG. 4 is a flowchart for explaining an operation example when performing contouring in the present embodiment.
[0062]
Hereinafter, a method for contouring a three-dimensional object in the present embodiment will be described with reference to the flowchart of FIG.
[0063]
First, a three-dimensional object to be contoured is perspective transformed into a screen coordinate form (step S10).
[0064]
Then, an image after the perspective transformation of the three-dimensional object (hereinafter referred to as an original image) is drawn on the RGB plane of the temporary buffer (preliminary frame buffer), and mask information is set in the α plane (step S20).
[0065]
FIG. 5 is a diagram for explaining a temporary buffer (spare frame buffer). The temporary buffer (reserve frame buffer) is a buffer in which pixel information of each pixel is drawn, and includes an R plane 310, a G plane 320, and a B plane 330 for storing the R, G, and B values of each pixel. And an α plane 340 for storing the α value of each pixel.
[0066]
The α value is used to store mask information that can identify whether the image drawn on the pixel is a perspective-transformed image of the three-dimensional object (hereinafter referred to as an original image) or a background portion. Note that the mask information may be a mask bit indicating whether the original image or the background portion is on or off, for example, by comparing the α value with a certain threshold value so that the original image and the background portion can be identified. May be given.
[0067]
The temporary buffer (reserved frame buffer) may be provided on the VRAM similarly to the frame buffer, or may be provided on the main memory. In this embodiment, a temporary buffer (reserved frame buffer) is provided on the VRAM in the same manner as the frame buffer, and the processing speed is increased by performing drawing in the two-pass method.
[0068]
FIGS. 6A and 6B are diagrams for explaining the relationship between the R plane, the G plane, and the B plane 300 of the temporary buffer (reserved frame buffer) and the α plane 340. If 370 in FIG. 6A is the original image and 380 is the background, a mask indicating that the pixel in the area 360 corresponding to the original image of the α plane of the temporary buffer (preliminary frame buffer) is the original image. Information is stored.
[0069]
FIGS. 7A to 7F illustrate a state in which a contour is generated by drawing a mask image by shifting it by a minute value in a plurality of different directions with respect to a drawing position of the original image and overlaying it on the frame buffer. FIG. A reference numeral 410 in FIG. 7A represents a drawing position of the original image in the frame buffer 400. The mask image is an image for specifying the drawing area of the original image.
[0070]
In steps S30 to S60 in FIG. 4, the mask image is drawn while being shifted from the drawing planned position of the original image to the upper, lower, right and left.
[0071]
That is, the mask image is specified based on the mask information of the α plane in the temporary buffer (reserved frame buffer), and the mask image filled in the outline color is shifted by one pixel from the original drawing position of the original image in the frame buffer. (See step S30, 420 in FIG. 7B).
[0072]
Next, the mask image filled in the outline color is drawn at a position shifted by one pixel downward from the original drawing position of the original image in the frame buffer (see step S40, 430 in FIG. 7C).
[0073]
Next, the mask image filled in the outline color is drawn at a position shifted by one pixel to the right from the drawing position of the original image in the frame buffer (see step S50, 440 in FIG. 7D).
[0074]
Next, the mask image filled in the outline color is drawn at a position shifted by one pixel to the left from the drawing position of the original image in the frame buffer (see step S60, 450 in FIG. 7E).
[0075]
Then, the original image on the temporary buffer is drawn at the drawing position of the original image on the frame buffer (see step S70, FIG. 7F).
[0076]
Then, as shown in FIG. 7F, contour lines 472, 474, 476, and 478 having a width of 1 bit are generated on the upper and lower right and left sides around the original image.
[0077]
As described above, according to the present embodiment, the mask image is shifted by a minute value in a plurality of different directions and drawn on the frame buffer so as to generate a contour portion having a minute value width around the superimposed drawing area. . Therefore, it is possible to generate an image to which an outline is added by a simple algorithm and calculation processing of drawing by shifting.
[0078]
3. Hardware Configuration Next, an example of a hardware configuration capable of realizing the present embodiment will be described with reference to FIG.
[0079]
The main processor 900 operates based on a program stored in the CD 982 (information storage medium), a program transferred via the communication interface 990, or a program stored in the ROM 950 (one of information storage media). Various processes such as processing, image processing, and sound processing are executed.
[0080]
The coprocessor 902 assists the processing of the main processor 900, has a product-sum calculator and a divider capable of high-speed parallel calculation, and executes matrix calculation (vector calculation) at high speed. For example, if a physical simulation for moving or moving an object requires processing such as matrix operation, a program operating on the main processor 900 instructs (requests) the processing to the coprocessor 902. )
[0081]
The geometry processor 904 performs geometry processing such as coordinate transformation, perspective transformation, light source calculation, and curved surface generation, has a product-sum calculator and a divider capable of high-speed parallel computation, and performs matrix computation (vector computation). Run fast. For example, when processing such as coordinate transformation, perspective transformation, and light source calculation is performed, a program operating on the main processor 900 instructs the geometry processor 904 to perform the processing.
[0082]
The data decompression processor 906 performs a decoding process for decompressing the compressed image data and sound data, and a process for accelerating the decoding process of the main processor 900. As a result, a moving image compressed by the MPEG method or the like can be displayed on the opening screen, the intermission screen, the ending screen, or the game screen. Note that the image data and sound data to be decoded are stored in the ROM 950 and the CD 982 or transferred from the outside via the communication interface 990.
[0083]
The drawing processor 910 performs drawing (rendering) processing of an object composed of primitive surfaces such as polygons and curved surfaces at high speed. When drawing an object, the main processor 900 uses the function of the DMA controller 970 to pass the object data to the drawing processor 910 and transfer the texture to the texture storage unit 924 if necessary. Then, the rendering processor 910 renders the object in the frame buffer 922 at high speed while performing hidden surface removal using a Z buffer or the like based on the object data and texture. The drawing processor 910 can also perform α blending (translucent processing), mip mapping, fog processing, trilinear filtering, anti-aliasing, shading processing, and the like. When an image for one frame is written in the frame buffer 922, the image is displayed on the display 912.
[0084]
The sound processor 930 includes a multi-channel ADPCM sound source and the like, and generates high-quality game sounds such as BGM, sound effects, and sounds. The generated game sound is output from the speaker 932.
[0085]
Operation data from the game controller 942, save data from the memory card 944, and personal data are transferred via the serial interface 940.
[0086]
The ROM 950 stores system programs and the like. In the case of an arcade game system, the ROM 950 functions as an information storage medium, and various programs are stored in the ROM 950. A hard disk may be used instead of the ROM 950.
[0087]
The RAM 960 is used as a work area for various processors.
[0088]
The DMA controller 970 controls DMA transfer between the processor and memory (RAM, VRAM, ROM, etc.).
[0089]
The CD drive 980 drives a CD 982 (information storage medium) in which programs, image data, sound data, and the like are stored, and enables access to these programs and data.
[0090]
The communication interface 990 is an interface for transferring data to and from the outside via a network. In this case, as a network connected to the communication interface 990, a communication line (analog telephone line, ISDN), a high-speed serial interface bus, and the like can be considered. By using a communication line, data transfer via the Internet becomes possible. In addition, by using a high-speed serial interface bus, data can be transferred to and from other image generation systems, other game systems, or information processing devices (personal computers, printers, mice, keyboards, etc.). .
[0091]
All of the means of the present invention may be executed by hardware alone, or may be executed only by a program stored in an information storage medium or a program distributed via a communication interface. Alternatively, it may be executed by both hardware and a program.
[0092]
When each means of the present invention is executed by both hardware and a program, a program (program and data) for executing each means of the present invention using hardware is stored in the information storage medium. Will be stored. More specifically, the program instructs each processor 902, 904, 906, 910, 930, etc., which is hardware, and passes data if necessary. Each processor 902, 904, 906, 910, 930, etc. executes each means of the present invention based on the instruction and the passed data.
[0093]
FIG. 9A shows an example in which the present embodiment is applied to an arcade game system. The player enjoys the game by operating the lever 1102, the button 1104, and the like while viewing the game image displayed on the display 1100. Various processors and various memories are mounted on the built-in system board (circuit board) 1106. A program (or program and data) for executing each means of the present invention is stored in the memory 1108 which is an information storage medium on the system board 1106. Hereinafter, this information is referred to as storage information.
[0094]
FIG. 9B shows an example in which the present embodiment is applied to a home game system. The player enjoys the game by operating the game controllers 1202 and 1204 while viewing the game image displayed on the display 1200. In this case, the stored information is stored in the CD 1206, which is an information storage medium that is detachable from the main system, or in the memory cards 1208, 1209, and the like.
[0095]
FIG. 9C shows a host device 1300 and terminals 1304-1 to 1304-n connected to the host device 1300 via a network 1302 (a small-scale network such as a LAN or a wide area network such as the Internet). An example of applying this embodiment to a system including In this case, the stored information is stored in an information storage medium 1306 such as a magnetic disk device, a magnetic tape device, or a memory that can be controlled by the host device 1300, for example. When the terminals 1304-1 to 1304-n can generate game images and game sounds stand-alone, the host device 1300 receives a game program and the like for generating game images and game sounds from the terminal 1304-. 1 to 1304-n. On the other hand, if it cannot be generated stand-alone, the host device 1300 generates a game image and a game sound, which is transmitted to the terminals 1304-1 to 1304-n and output at the terminal.
[0096]
In the case of the configuration shown in FIG. 9C, each unit of the present invention may be executed in a distributed manner between the host device (server) and the terminal. The storage information for executing each means of the present invention may be distributed and stored in the information storage medium of the host device (server) and the information storage medium of the terminal.
[0097]
The terminal connected to the network may be a home game system or an arcade game system. When connecting the arcade game system to a network, a portable information storage device capable of exchanging information with the arcade game system and exchanging information with the home game system. It is desirable to use (memory card, portable game device).
[0098]
The present invention is not limited to that described in the above embodiment, and various modifications can be made.
[0099]
For example, in the invention according to the dependent claims of the present invention, a part of the constituent features of the dependent claims can be omitted. Moreover, the principal part of the invention according to one independent claim of the present invention can be made dependent on another independent claim.
[0100]
In the present embodiment, coordinate transformation or perspective transformation is given as an example of the geometry processing, but the geometry processing of the present invention is not limited to these.
[0101]
In addition, although RGB has been described as an example of color information, the present invention is not limited to this. For example, a value such as HSV or HLS may be used.
[0102]
In this embodiment, the case where a two-pass format in which drawing is temporarily performed in a temporary buffer and then drawing is performed in a frame buffer is described as an example. However, the present invention is not limited to this. For example, it can be realized even when writing in the frame buffer in one pass, and drawing in the frame buffer may be performed in three passes or more.
[0103]
In the present embodiment, the case where the mask image is drawn at a position shifted by one pixel at the top, bottom, right, and left with respect to the drawing position of the original image and the image area including the contour portion is specified has been described as an example. I can't. Detailed contour information can be obtained by drawing in more different directions, but increasing the number of drawing increases the processing burden, so it is most effective depending on the shape of the image after perspective transformation It is preferable to set a proper number of drawing times.
[0104]
In the present embodiment, the case where the image area including the contour portion is specified based on the image after the perspective transformation of the three-dimensional object has been described as an example, but the present invention is not limited to this. For example, information necessary for specifying a contour portion may be calculated by arranging three-dimensional objects before perspective transformation in a three-dimensional space so as to be shifted by a minute value in a plurality of different directions.
[0105]
The present invention can also be applied to various games (such as fighting games, shooting games, robot fighting games, sports games, competitive games, role playing games, music playing games, dance games, etc.).
[0106]
The present invention also relates to various image generation systems such as a business game system, a home game system, a large attraction system in which a large number of players participate, a simulator, a multimedia terminal, an image generation system, and a system board for generating game images. Applicable.
[Brief description of the drawings]
FIG. 1 is an example of a block diagram of an image generation system according to an embodiment.
FIG. 2 shows an image when a normal rendering process that does not particularly emphasize the contour is performed on a donut-type three-dimensional object.
FIG. 3 shows an image obtained by performing rendering processing with emphasis on the outline of the present embodiment on a donut-type three-dimensional object.
FIG. 4 is a flowchart for explaining an operation example when contouring is performed in the present embodiment;
FIG. 5 is a diagram for explaining a temporary buffer (spare frame buffer);
FIGS. 6A and 6B are diagrams for explaining the relationship between R, G, and B planes and an α plane of a temporary buffer (reserved frame buffer).
FIGS. 7A to 7F show a state in which an outline is generated by drawing a mask image by superimposing it on a frame buffer while shifting the mask image by a minute value in a plurality of different directions with respect to the drawing position of the original image. It is a figure for demonstrating.
FIG. 8 is a diagram illustrating an example of a hardware configuration capable of realizing the present embodiment.
FIGS. 9A, 9B, and 9C are diagrams illustrating examples of various types of systems to which the present embodiment is applied.
[Explanation of symbols]
100 processing unit 110 game processing unit 112 editing screen display unit 114 movement / motion calculation 140 image processing unit 142 geometry processing unit 144 contour processing unit 146 drawing unit 150 sound processing unit 160 operation unit 170 storage unit 172 main memory 174 frame buffer 176 texture Storage unit 180 Information storage medium 190 Display unit 192 Sound output unit 194 Portable information storage device 196 Communication unit

Claims (6)

画像を生成するための画像生成システムであって、
3次元オブジェクトの輪郭を特定するために必要な情報を演算する輪郭特定情報演算手段と、
前記輪郭を特定するために必要な情報に基づき輪郭が付加された画像を生成する輪郭付加画像生成手段とを含み、
前記輪郭特定情報演算手段は、
3次元オブジェクトの透視変換後の画像又は透視変換後の画像の描画エリアを特定するマスク画像を複数の異なる方向に微小値だけずらして第1の描画バッファに重ねて描画することにより輪郭部分を含む画像エリアを特定し、
前記輪郭付加画像生成手段は、
3次元オブジェクトの透視変換後の画像を第2の描画バッファに描画し、前記第2の描画バッファに描画された画像に基づき、前記マスク画像及び元画像の少なくとも一方を前記第1の描画バッファに描画することを特徴とする画像生成システム。
An image generation system for generating an image,
Contour specifying information calculating means for calculating information necessary for specifying the contour of the three-dimensional object;
Contour-added image generating means for generating an image to which a contour is added based on information necessary for specifying the contour ,
The contour specifying information calculating means includes
A contour image is included by drawing a mask image for specifying a perspective transformation image of a three-dimensional object or a drawing area of a perspective transformation image by shifting a minute value in a plurality of different directions and overlapping the first rendering buffer. Identify the image area,
The contour added image generating means
The perspective-transformed image of the three-dimensional object is rendered in the second rendering buffer, and at least one of the mask image and the original image is rendered in the first rendering buffer based on the image rendered in the second rendering buffer. An image generation system characterized by drawing .
画像を生成するための画像生成システムであって、
3次元オブジェクトの輪郭を特定するために必要な情報を演算する輪郭特定情報演算手段と、
前記輪郭を特定するために必要な情報に基づき輪郭が付加された画像を生成する輪郭付加画像生成手段とを含み、
前記輪郭特定情報演算手段は、
3次元オブジェクトの透視変換後の画像の各画素について、当該画素に描画されているのが3次元オブジェクトの透視変換後の画像であるのか背景部であるのかを識別可能なマスク情報を持たせ、当該マスク情報に基づきマスク画像を特定し、特定したマスク画像を複数の異なる方向に微小値だけずらして所与の描画バッファに重ねて描画することにより輪郭部分を含む画像エリアを特定するように構成され、
前記輪郭付加画像生成手段は、
当該マスク情報に基づき、元画像及びマスク画像の少なくとも一方を描画することを特徴とする画像生成システム。
An image generation system for generating an image,
Contour specifying information calculating means for calculating information necessary for specifying the contour of the three-dimensional object;
Contour-added image generating means for generating an image to which a contour is added based on information necessary for specifying the contour,
The contour specifying information calculating means includes
For each pixel of the image after the perspective transformation of the three-dimensional object, it has mask information that can identify whether the image drawn on the pixel is the image after the perspective transformation of the three-dimensional object or the background portion, A mask image is specified based on the mask information, and the specified mask image is shifted by a minute value in a plurality of different directions and drawn on a given drawing buffer so as to specify an image area including a contour portion. And
The contour added image generating means
An image generation system that draws at least one of an original image and a mask image based on the mask information.
請求項1又は2のいずれかにおいて、
前記輪郭付加画像生成手段は、
輪郭部分を含む画像エリアの輪郭部分以外の画素に、元画像を重ねて描画することにより、元画像に輪郭が付加された画像を生成することを特徴とする画像生成システム。
In either claim 1 or 2,
The contour added image generating means
An image generation system for generating an image in which a contour is added to an original image by drawing the original image on a pixel other than the contour portion of the image area including the contour portion.
コンピュータが読み取り可能な情報記憶媒体であって、
3次元オブジェクトの輪郭を特定するために必要な情報を演算する輪郭特定情報演算手段と、
前記輪郭を特定するために必要な情報に基づき輪郭が付加された画像を生成する輪郭付加画像生成手段と、
としてコンピュータを機能させるためのプログラムが記憶され、
前記輪郭特定情報演算手段は、
3次元オブジェクトの透視変換後の画像又は透視変換後の画像の描画エリアを特定するマスク画像を複数の異なる方向に微小値だけずらして第1の描画バッファに重ねて描画することにより輪郭部分を含む画像エリアを特定し、
前記輪郭付加画像生成手段は、
3次元オブジェクトの透視変換後の画像を第2の描画バッファに描画し、前記第2の描画バッファに描画された画像に基づき、前記マスク画像及び元画像の少なくとも一方を前記第1の描画バッファに描画することを特徴とする情報記憶媒体。
A computer-readable information storage medium,
Contour specifying information calculating means for calculating information necessary for specifying the contour of the three-dimensional object;
Contour-added image generating means for generating an image to which a contour is added based on information necessary for specifying the contour;
As a program to make the computer function as
The contour specifying information calculating means includes
A contour image is included by drawing a mask image for specifying a perspective transformation image of a three-dimensional object or a drawing area of a perspective transformation image by shifting a minute value in a plurality of different directions and overlapping the first rendering buffer. Identify the image area,
The contour added image generating means
The perspective-transformed image of the three-dimensional object is rendered in the second rendering buffer, and at least one of the mask image and the original image is rendered in the first rendering buffer based on the image rendered in the second rendering buffer. An information storage medium characterized by drawing .
コンピュータが読み取り可能な情報記憶媒体であって、
3次元オブジェクトの輪郭を特定するために必要な情報を演算する輪郭特定情報演算手段と、
前記輪郭を特定するために必要な情報に基づき輪郭が付加された画像を生成する輪郭付加画像生成手段と、
としてコンピュータを機能させるためのプログラムが記憶され、
前記輪郭特定情報演算手段は、
3次元オブジェクトの透視変換後の画像の各画素について、当該画素に描画されているのが3次元オブジェクトの透視変換後の画像であるのか背景部であるのかを識別可能なマスク情報を持たせ、当該マスク情報に基づきマスク画像を特定し、特定したマスク画像を複数の異なる方向に微小値だけずらして所与の描画バッファに重ねて描画することにより輪郭部分を含む画像エリアを特定するように構成され、
前記輪郭付加画像生成手段は、
当該マスク情報に基づき、元画像及びマスク画像の少なくとも一方を描画することを特徴とする情報記憶媒体。
A computer-readable information storage medium,
Contour specifying information calculating means for calculating information necessary for specifying the contour of the three-dimensional object;
Contour-added image generating means for generating an image to which a contour is added based on information necessary for specifying the contour;
As a program to make the computer function as
The contour specifying information calculating means includes
For each pixel of the image after the perspective transformation of the three-dimensional object, it has mask information that can identify whether the image drawn on the pixel is the image after the perspective transformation of the three-dimensional object or the background portion, A mask image is specified based on the mask information, and the specified mask image is shifted by a minute value in a plurality of different directions and drawn on a given drawing buffer so as to specify an image area including a contour portion. And
The contour added image generating means
An information storage medium that draws at least one of an original image and a mask image based on the mask information .
請求項4又は5のいずれかにおいて、
前記輪郭付加画像生成手段は、
輪郭部分を含む画像エリアの輪郭部分以外の画素に、元画像を重ねて描画することにより、元画像に輪郭が付加された画像を生成することを特徴とする情報記憶媒体。
In either of claims 4 or 5,
The contour added image generating means
An information storage medium characterized by generating an image in which a contour is added to an original image by superimposing and drawing the original image on pixels other than the contour portion of the image area including the contour portion.
JP25658099A 1999-09-10 1999-09-10 Image generation system and information storage medium Expired - Lifetime JP4391633B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25658099A JP4391633B2 (en) 1999-09-10 1999-09-10 Image generation system and information storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25658099A JP4391633B2 (en) 1999-09-10 1999-09-10 Image generation system and information storage medium

Publications (3)

Publication Number Publication Date
JP2001084394A JP2001084394A (en) 2001-03-30
JP2001084394A5 JP2001084394A5 (en) 2007-04-26
JP4391633B2 true JP4391633B2 (en) 2009-12-24

Family

ID=17294617

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25658099A Expired - Lifetime JP4391633B2 (en) 1999-09-10 1999-09-10 Image generation system and information storage medium

Country Status (1)

Country Link
JP (1) JP4391633B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4671213B2 (en) * 2001-06-06 2011-04-13 一郎 森田 3D material image providing method, providing system, providing program, and storage medium storing provided program
JP7020356B2 (en) * 2018-09-27 2022-02-16 日本電信電話株式会社 Image generator, image generator, and program

Also Published As

Publication number Publication date
JP2001084394A (en) 2001-03-30

Similar Documents

Publication Publication Date Title
JP3249955B2 (en) Image generation system and information storage medium
JP3777288B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4167358B2 (en) Image generation system and information storage medium
JP3280355B2 (en) Image generation system and information storage medium
JP4367804B2 (en) Image generation system and information storage medium
JP3656012B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP3297410B2 (en) Image generation system and information storage medium
JP4651204B2 (en) Image generation system, program, and information storage medium
JP2001229403A (en) Game system and information storage medium
JP4245356B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4391633B2 (en) Image generation system and information storage medium
JP2005209217A (en) Game system and information storage medium
JP4187192B2 (en) Image generation system, program, and information storage medium
JP4497690B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4574058B2 (en) Image generation system, program, and information storage medium
JP4577968B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4394211B2 (en) Image generation system and information storage medium
JP3614340B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP3254195B2 (en) Image generation system and information storage medium
JP3292713B2 (en) Image generation system and information storage medium
JP4632530B2 (en) GAME SYSTEM, PROGRAM, AND INFORMATION STORAGE MEDIUM
JP4610729B2 (en) GAME SYSTEM, PROGRAM, AND INFORMATION STORAGE MEDIUM
JP4632521B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4480322B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4450535B2 (en) Image generation system and information storage medium

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060904

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090831

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: 20090930

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: 20091008

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

Free format text: PAYMENT UNTIL: 20121016

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4391633

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: 20121016

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121016

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131016

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

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

EXPY Cancellation because of completion of term