(57)【特許請求の範囲】
【請求項１】
３次元画像情報に対して透視変換処理を施して２次元画像情報に変換する座標変換手段と、当該２次元画像情報を所定の転送規格で転送して２次元表示画面上へ描画する描画手段とを有し、上記３次元画像情報は、３次元画像情報の描画対象であるオブジェクトの構成要素であるパケットを含み、このパケットには、当該パケットの種類や属性を示す情報が含まれるものであり、
上記３次元画像情報において透視変換処理される情報を除く構造が上記２次元画像情報の所定の転送規格と同一の構造であるとき、上記座標変換手段は、パケットの種類や属性を示す情報を判別して上記３次元画像情報の透視変換処理される情報と上記２次元画像情報の所定の転送規格と同一の構造の情報とを識別し、上記透視変換処理される情報については透視変換処理を施し、当該透視変換処理した情報と上記３次元画像情報のうちの上記所定の転送規格と同一の構造の情報とから上記２次元画像情報を生成することを特徴とする画像情報処理装置。
【請求項２】
上記３次元画像情報は、２次元表示画面上に描画される物体の陰影についての情報を含むことを特徴とする請求項１記載の画像情報処理装置。
【請求項３】
上記３次元画像情報は、３次元画像情報の描画対象であるオブジェクトの構成要素であるパケットを含み、このパケットを構成するワードが、上記２次元画像情報の所定の転送規格と同一の構造をしており、前記座標変換装置は、当該２次元画像情報の所定の転送規格と同一の構造をしているワードに対しては、当該ワードをコピーすることで、当該ワードに対する処理を完了するものであることを特徴とする請求項１記載の画像情報処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、情報処理により画像情報を作成する画像情報生成方法及びその画像情報を処理する画像情報処理装置、並びに画像情報が記録された記録媒体に関する。
【０００２】
【従来の技術】
例えば、家庭用ゲーム機やパーソナルコンピュータ装置或いはグラフィックコンピュータ装置等において、テレビジョン受像機やモニタ受像機或いはＣＲＴディスプレイ装置等に出力されて表示される画像は２次元のものが殆どであり、基本的には２次元の平面的な背景に２次元のキャラクタ等を適宜に配置して移動させたり、変化させたりするような形態で画像表示が行われている。
【０００３】
しかしながら、上述したような２次元的な画像表示や映像では、表現できる背景及びキャラクタやそれらの動きに制限があり、例えばゲームの臨場感を高めることが困難である。
【０００４】
そこで、例えば次に示すような方法で疑似的な３次元の画像や映像を作成することが行われている。すなわち、上記キャラクタとしていくつかの方向から見た画像を用意しておき、表示画面中での視点の変化等に応じてこれらの複数画像の内から１つを選択して表示したり、２次元の画像を奥行き方向に重ねて疑似的な３次元画像を表現したりするような方法が挙げられる。また、画像データを生成或いは作成する際に、いわゆるテクスチャ（生地、地模様）の画像を多面体等の所望の面に貼り付けるようなテクスチャマッピング方法や、画像の色データをいわゆるカラールックアップテーブルを通して変換することにより表示色を変化させる手法が採られている。
【０００５】
ここで、従来の家庭用ゲーム機の概略的な構成の一例を図５３に示す。この図５３において、マイクロプロセッサ等から成るＣＰＵ３９１は、入力パッドやジョイスティック等の入力デバイス３９４の操作情報をインターフェイス３９３を介し、メインバス３９９を通して取り出す。この操作情報の取り出しと同時に、メインメモリ３９２に記憶されている３次元画像のデータがビデオプロセッサ３９６によってソースビデオメモリ３９５に転送され、記憶される。
【０００６】
また、上記ＣＰＵ３９１は、上記ソースビデオメモリ３９５に記憶された画像を重ね合わせて表示するための画像データの読み出し順位を上記ビデオプロセッサ３９６に送る。上記ビデオプロセッサ３９６は上記画像データの読み出し順位に従って上記ソースビデオメモリ３９５から画像データを読み出し、画像を重ね合わせて表示する。
【０００７】
上述のように画像を表示すると同時に、上記取り出された操作情報中の音声情報により、オーディオプロセッサ３９７はオーディオメモリ３９８内に記憶されている上記表示される画像に応じた音声データを出力する。
【０００８】
図５４は、図５３に示す構成をもつ家庭用ゲーム機において、２次元画像のデータを用いて３次元画像を出力する手順を示す図である。この図５４では、市松模様の背景画像上に円筒状の物体を３次元画像として表示する場合を説明する。
【０００９】
この図５４のソースビデオメモリ３９５には、市松模様の背景画像２００と、この背景画像２００上の円筒状の物体の深さ方向の断面を表す矩形の画像、いわゆるスプライト２０１、２０２、２０３、２０４のデータが記憶されている。この矩形の画像２０１、２０２、２０３、２０４上の円筒の断面の画像以外の部分は透明色で描かれている。
【００１０】
ビデオプロセッサ３９６内のシンクジェネレータ４００は、表示する画像の同期信号に合わせた読み出しアドレス信号を発生する。また、このシンクジェネレータ４００は、上記読み出しアドレス信号をメインバス３９９を介して図５３のＣＰＵ３９１から与えられた読み出しアドレステーブル４０１に送る。さらに、このシンクジェネレータ４００は上記読み出しアドレステーブル４０１からの情報に従って上記ソースビデオメモリ３９５内の画像データを読み出す。
【００１１】
上記読み出された画像データは、上記ＣＰＵ３９１により上記メインバス３９９を介して与えられたプライオリティテーブル４０２内の画像の重ね合わせ順位に基づいて、重ね合わせ処理部４０３で順次重ね合わせられる。この場合には、上記背景画像２００が最も順位が低く、矩形の画像２０１、２０２、２０３、２０４と順に順位が高くなっているため、背景画像２００から順次画像が重ね合わせられる。
【００１２】
次に、透明色処理部４０４において、円筒以外の部分を背景画像で表示するために上記重ね合わせられた円筒の断面の画像２０１、２０２、２０３、２０４により表示される円筒以外の部分を透明にする処理を施す。
【００１３】
上述した処理により、円筒状の物体の２次元画像のデータが図５４に示す３次元画像ＶＤ０  の画像データとして出力される。
【００１４】
【発明が解決しようとする課題】
ところで、従来より、あるフォーマットのファイルを生成するためには、元の情報を処理して必要な情報にした後、必要とされるフォーマットに加工する処理が必要となっている。
【００１５】
ここでは、上記元の情報を処理して必要とされるフォーマットに加工する処理の一例として、上述した家庭用ゲーム機にも適用され、上記元の情報である物体形状データを処理して上記必要とされるフォーマットの２次元表示画面上に表示される３次元グラフィックスデータを生成する場合について説明する。
【００１６】
図５５には、上記物体形状データを処理して２次元表示画面に表示される３次元グラフィックスデータを生成する処理（３次元グラフィックス処理と呼ぶ）を行う画像処理の流れを簡略化して示す。すなわち、この図５５に示すシステムでは、端子５００に供給される上記元の情報である物体形状データを、座標変換装置５０１で処理して上記必要とされるフォーマットのパケットデータを得、これをレンダリング装置５０２に送り込み描画を行うようにしている。
【００１７】
ここで、上記元の情報である物体形状データは、ディスプレイ等に表示される３次元の物体を構成するためのポリゴン（描画を行う装置が扱う図形の最小単位で三角形や四角形等の多角形）の集合からなり、各ポリゴンはポリゴンの種類（三角形か四角形かなど）、ポリゴンの属性（不透明か半透明かなど）、ポリゴンの色、頂点の位置を表す３次元座標、頂点における法線を表す３次元ベクトル、はり付けるテクスチャの格納場所を表す２次元座標、などの情報で構成されている。図５６にはこのような物体形状データを複数集めたファイルの従来のフォーマットを示している。
【００１８】
一方、座標変換装置５０１により処理された結果である上記必要とされるフォーマットのパケットデータは、ポリゴンをディスプレイ（スクリーン）上に描画するための情報として、例えばポリゴンの種類（三角形か四角形かなど）、ポリゴンの属性（不透明か半透明かなど）、頂点の位置を表す２次元座標、頂点の色、はり付けるテクスチャの格納場所を表す２次元座標、などの情報で構成されている。図５７にはこのようなパケットデータを複数集めたファイルのフォーマットを示している。なお、図５７中のＣＯＤＥは構成要素の種類（ポリゴン，直線，スプライト等）を表すコードであり、Ｖ，Ｕは各頂点のテクスチャソース空間上でのＸ，Ｙ座標値、Ｒ，Ｇ，Ｂはポリゴンの色を表す３原色のＲ，Ｇ，Ｂ値、Ｘ，Ｙはポリゴン頂点の位置を表すＸ，Ｙ座標値である。また、パケットデータの構成要素や長さはポリゴンの種類などによって変化する。
【００１９】
したがって、図５６のようなフォーマットのファイルを、図５７のようなフォーマットのファイルに変換するためには、図５５の座標変換装置５０１が次のような処理を行わなければならない。
【００２０】
１．ポリゴンの数の種類ごとに必要なパケットデータの大きさを計算し、例えば内蔵するメモリ上に格納場所を確保する必要がある。
【００２１】
２．各ポリゴンごとに次の操作を繰り返す必要がある。
【００２２】
（１）ポリゴンの種類、ポリゴンの属性を１つのワードに合成し、パケットデータの領域０に書き込む。
【００２３】
（２）頂点の法線とポリゴンの色から頂点の色を合成し、パケットデータの領域０，領域３，領域６に書き込む。
【００２４】
（３）頂点の３次元座標から２次元座標を計算し、パケットデータの領域１，領域４，領域７に書き込む。
【００２５】
（４）テクスチャの２次元座標をパケットデータの領域２，領域５，領域８に書き込む。
【００２６】
上述したように、元になる情報が収められたファイル（物体形状データのファイル）から、必要な情報の収められたファイル（パケットデータのファイル）を生成するためには、
１．新しいファイルを生成するメモリ領域を確保する。
【００２７】
２．元になるファイルの情報を新しいフォーマットに加工して書き込む。
【００２８】
３．元になるファイルの情報から計算で求められる情報を新しいフォーマットに合わせて書き込む。
【００２９】
という３種類の操作が必要であり、時間と労力がかかる。
【００３０】
本発明は必要とされる新しいファイルを生成するための元の情報を含むファイルを、新しいファイルのフォーマットに容易に変更可能な画像情報生成方法及び、その画像情報を処理する画像情報処理装置、並びに画像情報が記録された記録媒体を提供するものである。
【００３１】
【課題を解決するための手段】
本発明の画像情報生成方法は、３次元画像情報に対して透視変換処理を施して２次元画像情報に変換し、当該２次元画像情報が所定の転送規格で転送されて２次元表示画面上へ描画される際の、上記３次元画像情報を生成する方法であって、上記透視変換処理される情報を除く上記３次元画像情報の構造を、上記２次元画像情報の所定の転送規格と同一の構造とすることを特徴とするものである。このときの３次元画像情報は、２次元表示画面上に描画される物体の陰影についての情報を含むことができる。なお、上記３次元画像情報の構造と２次元画像情報の構造では、最小単位である１ワードが同じものや、複数ワードが同じものが考えられ、さらに３次元画像情報は２次元画像情報の全てを含むものともすることができる。
【００３２】
また、本発明の画像情報処理装置は、３次元画像情報に対して透視変換処理を施して２次元画像情報に変換する座標変換手段と、当該２次元画像情報を所定の転送規格で転送して２次元表示画面上へ描画する描画手段とを有し、上記３次元画像情報において透視変換処理される情報を除く構造が上記２次元画像情報の所定の転送規格と同一の構造であるとき、上記座標変換手段は、上記３次元画像情報の透視変換処理される情報と上記２次元画像情報の所定の転送規格と同一の構造の情報とを識別し、上記透視変換処理される情報については透視変換処理を施し、当該透視変換処理した情報と上記３次元画像情報のうちの上記所定の転送規格と同一の構造の情報とから上記２次元画像情報を生成することを特徴とするものである。このときの３次元画像情報は２次元表示画面上に描画される物体の陰影についての情報を含む。
【００３３】
さらに、本発明の記録媒体は、３次元画像情報に対して透視変換処理を施して２次元画像情報に変換し、当該２次元画像情報が所定の転送規格で転送されて２次元表示画面上へ描画される際の、上記３次元画像情報を記録してなる記録媒体であって、上記透視変換処理される情報を除く上記３次元画像情報の構造は、上記２次元画像情報の所定の転送規格と同一の構造であることを特徴とするものである。このときの上記３次元画像情報は、２次元表示画面上に描画される物体の陰影についての情報を含む。
【００３４】
【作用】
本発明においては、透視変換処理される情報を除く３次元画像情報の構造を、２次元画像情報の所定の転送規格と同一の構造としているため、３次元画像情報のうちの透視変換処理される情報のみについて処理を行えば、所定の転送規格の２次元画像情報を得ることができるようになる。
【００３５】
また、３次元画像情報には、２次元表示画面上に描画される物体の陰影についての情報を含めることで、２次元画像を生成する際に、物体の陰影の情報を得るための計算を行わなくて済むようになる。
【００３６】
【実施例】
以下、本発明の好ましい実施例について、図面を参照しながら説明する。
【００３７】
先ず、本発明実施例の画像情報生成方法の説明に先立ち、本発明の画像情報生成方法により生成された画像データ（物体形状データ：モデリングデータ）を用いて３次元グラフィックスデータを生成して表示するような画像処理システムについて説明する。本実施例の画像処理システムは、例えば家庭用ゲーム機やパーソナルコンピュータ装置或いはグラフィックコンピュータ装置等に適用されるものであり、図１の例では家庭用ゲーム機に適用した例を示している。
【００３８】
本実施例の画像処理システムは、後述する本発明のフォーマットのデータが記録されている本発明の記録媒体である例えば光学ディスク（例えばＣＤ−ＲＯＭ）等から、データ（例えばゲームプログラム）を読み出して実行することにより、使用者からの指示に応じてゲームを行うようになっており、図１に示すような構成を有している。
【００３９】
本実施例の画像処理システムは、ＣＤ−ＲＯＭのディスクから読み出された後述する本発明フォーマットのデータである３次元画像情報に対して透視変換処理を施して２次元画像情報に変換する座標変換手段としてのジオメトリトランスファエンジン（ＧＴＥ）６１と、当該２次元画像情報を所定の転送規格で転送して２次元表示画面上へ描画する描画手段としてのグラフィックスプロセッシングユニット（ＧＰＵ６２）とを有し、上記３次元画像情報において透視変換処理される情報を除く構造が上記２次元画像情報の所定の転送規格と同一の構造であるとき、上記ＧＴＥ６１は、上記３次元画像情報の透視変換処理される情報と上記２次元画像情報の所定の転送規格と同一の構造の情報とを識別し、上記透視変換処理される情報については透視変換処理を施し、当該透視変換処理した情報と上記３次元画像情報のうちの上記所定の転送規格と同一の構造の情報とから上記２次元画像情報を生成するようにしている。
【００４０】
すなわち、この画像処理システムは、中央演算処理装置（ＣＰＵ５１）及びその周辺装置（周辺デバイスコントローラ５２等）からなる制御系５０と、フレームバッファ６３上に描画を行うグラフィックスプロセッシングユニット（ＧＰＵ６２）等からなるグラフィックシステム６０と、楽音、効果音等を発生するサウンドプロセッシングユニット（ＳＰＵ７１）等からなるサウンドシステム７０と、補助記憶装置である光学ディスク（ＣＤ−ＲＯＭディスク）ドライブ８１の制御や再生情報のデコード等を行う光学ディスク制御部８０と、使用者からの指示を入力するコントローラ９２からの指示入力及びゲームの設定等を記憶する補助メモリ（メモリカード９３）からの入出力を制御する通信制御部９０と、上記制御系５０から通信制御部９０までが接続されているメインバスＢ等を備えている。
【００４１】
上記制御系５０は、ＣＰＵ５１と、割り込み制御、タイムコントロール、メモリコントロール、ダイレクトメモリアクセス（ＤＭＡ）転送の制御等を行う周辺デバイスコントローラ５２と、例えば２メガバイトのＲＡＭからなる主記憶装置（メインメモリ）５３と、このメインメモリ５３や上記グラフィックシステム６０，サウンドシステム７０等の管理を行ういわゆるオペレーティングシステム等のプログラムが格納された例えば５１２キロバイトのＲＯＭ５４とを備えている。
【００４２】
ＣＰＵ５１は、例えば３２ビットのＲＩＳＣ（ｒｅｄｕｃｅｄ  ｉｎｓｔｒｕｃｔｉｏｎ  ｓｅｔ  ｃｏｍｐｕｔｏｒ）ＣＰＵであり、ＲＯＭ５４に記憶されているオペレーティングシステムを実行することにより装置全体の制御を行う。当該ＣＰＵ５１は命令キャッシュとスクラッチパッドメモリを搭載し、実メモリの管理も行う。
【００４３】
上記グラフィックシステム６０は、座標変換等の処理を行う座標計算用コプロセッサからなるジオメトリトランスファエンジン（ＧＴＥ）６１と、ＣＰＵ５１からの描画指示に従って描画を行うグラフィックスプロセッシングユニット（ＧＰＵ）６２と、該ＧＰＵ６２により描画された画像を記憶する例えば１メガバイトのフレームバッファ６３と、いわゆる離散コサイン変換などの直行変換により圧縮されて符号化された画像データを復号化する画像デコーダ（以下ＭＤＥＣと呼ぶ）６４とを備えている。
【００４４】
ＧＴＥ６１は、例えば複数の演算を並列に実行する並列演算機構を備え、ＣＰＵ５１のコプロセッサとして、ＣＰＵ５１からの演算要求に応じて座標変換、光源計算、例えば固定小数点形式の行列やベクトルの演算を高速に行うことができるようになっている。なお、前述した図５５に対応させた場合、このＧＴＥ６１が座標変換装置に相当することになる。
【００４５】
具体的には、このＧＴＥ６１は、１つの三角形状のポリゴンに同じ色で描画するフラットシェーディングを行う演算の場合では、１秒間に最大１５０万程度のポリゴンの座標演算を行うことができるようになっており、これによってこの画像処理システムでは、ＣＰＵ５１の負荷を低減すると共に、高速な座標演算を行うことができるようになっている。
【００４６】
ＧＰＵ６２は、ＣＰＵ５１からのポリゴン描画命令に従って動作し、フレームバッファ６３に対して多角形（ポリゴン）等の描画を行う。このＧＰＵ６２は、１秒間に最大３６万程度のポリゴンの描画を行うことができるようになっている。また、このＧＰＵ６２は、ＣＰＵ５１とは独立した２次元のアドレス空間を持ち、そこにフレームバッファ６３がマッピングされるようになっている。
【００４７】
フレームバッファ６３は、いわゆるデュアルポートＲＡＭからなり、ＧＰＵ６２からの描画あるいはメインメモリ５３からの転送と、表示のための読み出しとを同時に行うことができるようになっている。
【００４８】
このフレームバッファ６３は、例えば１メガバイトの容量を有し、それぞれ１６ビットの横１０２４で縦５１２の画素のマトリックスとして扱われる。
【００４９】
このフレームバッファ６３のうちの任意の領域を例えばディスプレイ装置等のビデオ出力手段６５に出力することができるようになっている。
【００５０】
また、このフレームバッファ６３には、ビデオ出力として出力される表示領域の他に、ＧＰＵ６２がポリゴン等の描画を行う際に参照するカラールックアップテーブル（以下ＣＬＵＴと呼ぶ）が記憶されるＣＬＵＴ領域と、描画時に座標変換されてＧＰＵ６２によって描画されるポリゴン等の中に挿入（マッピング）される素材（テクスチャ）が記憶されるテクスチャ領域が設けられている。これらのＣＬＵＴ領域とテクスチャ領域は表示領域の変更等に従って動的に変更されるようになっている。すなわち、このフレームバッファ６３は、表示中の領域に対して描画アクセスを実行することができ、また、メインメモリ５３との間で高速ＤＭＡ転送を行うことも可能となっている。
【００５１】
なお、上記ＧＰＵ６２は、上述のフラットシェーディングの他にポリゴンの頂点の色から補間してポリゴン内の色を決めるグーローシェーディングと、上記テクスチャ領域に記憶されているテクスチャをポリゴンに張り付けるテクスチャマッピングを行うことができるようになっている。
【００５２】
これらのグーローシェーディング又はテクスチャマッピングを行う場合には、上記ＧＴＥ６１は、１秒間に最大５０万程度のポリゴンの座標演算を行うことができる。
【００５３】
ＭＤＥＣ６４は、上記ＣＰＵ５１からの制御により、ＣＤ−ＲＯＭディスクから読み出されてメインメモリ５３に記憶されている静止画あるいは動画の画像データを復号化して再びメインメモリ５３に記憶する。具体的には、ＭＤＥＣ６４は逆離散コサイン変換（逆ＤＣＴ）演算を高速に実行でき、ディスクから読み出されたカラー静止画圧縮標準（いわゆるＪＰＥＧ）や蓄積メディア系動画像符号化標準（いわゆるＭＰＥＧ、但し本実施例ではフレーム内圧縮のみ）の圧縮データの伸張を行うことができるようになっている。
【００５４】
また、この再生された画像データは、ＧＰＵ６２を介してフレームバッファ６３に記憶することにより、上述のＧＰＵ６２によって描画される画像の背景として使用することができるようにもなっている。
【００５５】
上記サウンドシステム７０は、ＣＰＵ５１からの指示に基づいて、楽音、効果音等を発生するサウンド再生処理プロセッサ（ＳＰＵ）７１と、ＣＤ−ＲＯＭから読み出された音声，楽音等のデータや音源データ等が記憶される例えば５１２キロバイトのサウンドバッファ７２と、ＳＰＵ７１によって発生される楽音、効果音等を出力するサウンド出力手段としてのスピーカ７３とを備えている。
【００５６】
上記ＳＰＵ７１は、１６ビットの音声データを４ビットの差分信号として適応差分符号化（ＡＤＰＣＭ）された音声データを再生するＡＤＰＣＭ復号機能と、サウンドバッファ７２に記憶されている音源データを再生することにより、効果音等を発生する再生機能と、サウンドバッファ７２に記憶されている音声データ等を変調させて再生する変調機能等を備えている。すなわち、当該ＳＰＵ７１は、ルーピングや時間を系数とした動作パラメータの自動変更などの機能を持つＡＤＰＣＭ音源２４ボイスを内蔵し、ＣＰＵ５１からの操作により動作する。また、ＳＰＵ７１は、サウンドバッファ７２がマッピングされた独自のアドレス空間を管理し、ＣＰＵ５１からサウンドバッファ７２にＡＤＰＣＭデータを転送し、キーオン／キーオフやモジュレーション情報を直接渡すことによりデータを再生する。
【００５７】
このような機能を備えることによってこのサウンドシステム７０は、ＣＰＵ５１からの指示によってサウンドバッファ７２に記録された音声データ等に基づいて楽音、効果音等を発生するいわゆるサンプリング音源として使用することができるようになっている。
【００５８】
上記光学ディスク制御部８０は、ＣＤ−ＲＯＭディスクである光学ディスクに記録されたプログラム、データ等を再生するディスクドライブ装置８１と、例えばエラー訂正（ＥＣＣ）符号が付加されて記録されているプログラム、データ等を復号するデコーダ８２と、ディスクドライブ装置８１からの再生データを一時的に記憶することにより、ディスクからの読み出されたデータを記憶する例えば３２キロバイトのバッファ８３とを備えている。すなわち、当該光学ディスク制御部８０は、上記ドライブ装置８１やデコーダ８２等のディスクの読み出しを行うために必要な部品類から構成されている。なお、ここでは、ディスクフォーマットとしてＣＤ−ＤＡ、ＣＤ−ＲＯＭ  ＸＡのデータをサポートできるようになっている。なお、デコーダ８２はサウンドシステム７０の一部も構成している。
【００５９】
また、ディスクドライブ装置８１で再生されるディスクに記録されている音声データとしては、上述のＡＤＰＣＭデータ（ＣＤ−ＲＯＭ  ＸＡのＡＤＰＣＭデータ等）の他に音声信号をアナログ／デジタル変換したいわゆるＰＣＭデータがある。
【００６０】
ＡＤＰＣＭデータとして、例えば１６ビットのデジタルデータの差分を４ビットで表わして記録されている音声データは、デコーダ８２で誤り訂正と復号化がなされた後、上述のＳＰＵ７１に供給され、ＳＰＵ７１でデジタル／アナログ変換等の処理が施された後、スピーカ７３を駆動するために使用される。
【００６１】
また、ＰＣＭデータとして、例えば１６ビットのデジタルデータとして記録されている音声データは、デコーダ８２で復号化された後、スピーカ７３を駆動するために使用される。なお、当該デコーダ８２のオーディオ出力は、一旦ＳＰＵ７１に入り、当該ＳＰＵ出力とミックスされ、リバーブユニットを経由して最終のオーディオ出力となる。
【００６２】
また、通信制御部９０は、メインバスＢを介してＣＰＵ５１との通信の制御を行う通信制御デバイス９１と、使用者からの指示を入力するコントローラ９２と、ゲームの設定等を記憶するメモリカード９３とを備えている。
【００６３】
コントローラ９２は、使用者の意図をアプリケーションに伝達するインタフェースであり、使用者からの指示を入力するために、例えば１６個の指示キーを有し、通信制御デバイス９１からの指示に従って、この指示キーの状態を、同期式通信により、通信制御デバイス９１に毎秒６０回程度送信する。そして、通信制御デバイス９１は、コントローラ９２の指示キーの状態をＣＰＵ５１に送信する。なお、コントローラ９２は、本体に２個のコネクタを有し、その他にマルチタップを使用して多数のコントローラを接続することも可能となっている。
【００６４】
これにより、使用者からの指示がＣＰＵ５１に入力され、ＣＰＵ５１は、実行しているゲームプログラム等に基づいて使用者からの指示に従った処理を行う。
【００６５】
また、ＣＰＵ５１は、実行しているゲームの設定等を記憶する必要があるときに、該記憶するデータを通信制御デバイス９１に送信し、通信制御デバイス９１はＣＰＵ５１からのデータをメモリカード９３に記憶する。
【００６６】
このメモリカード９３は、メインバスＢから分離されているため、電源を入れた状態で、着脱することができるようになっている。これにより、ゲームの設定等を複数のメモリカード９３に記憶することができるようになっている。
【００６７】
また、本実施例システムは、メインバスＢに接続された１６ビットパラレル入出力（Ｉ／Ｏ）ポート１０１と、非同期式のシリアル入出力（Ｉ／Ｏ）ポート１０２とを備えている。
【００６８】
そして、パラレルＩ／Ｏポート１０１を介して周辺機器との接続を行うことができるようになっており、また、シリアルＩ／Ｏポート１０２を介して他のビデオゲーム装置等との通信を行うことができるようになっている。
【００６９】
ところで、上記メインメモリ５３、ＧＰＵ６２、ＭＤＥＣ６４及びデコーダ８２等の間では、プログラムの読み出し、画像の表示あるいは描画等を行う際に、大量の画像データを高速に転送する必要がある。
【００７０】
このため、この画像処理システムでは、上述のようにＣＰＵ５１を介さずに周辺デハイスコントローラ５２からの制御により上記メインメモリ５３、ＧＰＵ６２、ＭＤＥＣ６４及びデコーダ８２等の間で直接データの転送を行ういわゆるＤＭＡ転送を行うことができるようになっている。
【００７１】
これにより、データ転送によるＣＰＵ５１の負荷を低減させることができ、高速なデータの転送を行うことができようになっている。
【００７２】
このビデオゲーム装置では、電源が投入されると、ＣＰＵ５１が、ＲＯＭ５４に記憶されているオペレーティングシステムを実行する。
【００７３】
このオペレーティングシステムに実行により、ＣＰＵ５１は、上記グラフィックシステム６０、サウンドシステム７０等の制御を行う。
【００７４】
また、オペレーティングシステムが実行されると、ＣＰＵ５１は、動作確認等の装置全体の初期化を行った後、光学ディスク制御部８０を制御して、光学ディスクに記録されているゲーム等のプログラムを実行する。
【００７５】
このゲーム等のプログラムの実行により、ＣＰＵ５１は、使用者からの入力に応じて上記グラフィックシステム６０、サウンドシステム７０等を制御して、画像の表示、効果音、楽音の発生を制御するようになっている。
【００７６】
次に、本実施例の画像処理システムにおけるディスプレイ上への表示について説明する。
【００７７】
上記ＧＰＵ６２は、フレームバッファ６３４内の任意の矩形領域の内容を、そのまま上記ビデオ出力手段６５の例えばＣＲＴ等のディスプレイ上に表示する。この領域を以下表示エリアと呼ぶ。上記矩形領域とディスプレイ画面表示の関係は、図２に示すようになっている。
【００７８】
また、上記ＧＰＵ６２は、次の１０個の画面モードをサポートしている。
【００７９】
0003578498.tif 000002
画面サイズすなわちディスプレイ画面上のピクセル数は可変で、図３のように、水平方向、垂直方向それぞれ独立に表示開始位置（座標（ＤＴＸ，ＤＴＹ））、表示終了位置（座標（ＤＢＸ，ＤＢＹ））を指定することができる。
【００８０】
また、各座標に指定可能な値と画面モードとの関係は、以下のようになっている。なお、座標値のＤＴＸ，ＤＢＸは４の倍数になるように設定する必要がある。したがって、最小画面サイズは、横４ピクセル、縦２ピクセル（ノンインターレス時）又は４ピクセル（インターレス時）になる。
【００８１】
0003578498.tif 000003
次に、ＧＰＵ６２は、表示色数に関するモードとして、１６ビットダイレクトモード（３２７６８色）と、２４ビットダイレクトモード（フルカラー）の２つをサポートしている。上記１６ビットダイレクトモード（以下１６ビットモードと呼ぶ）は３２７６８色表示モードである。この１６ビットモードでは、２４ビットダイレクトモード（以下２４ビットモードと呼ぶ）に較べ表示色数に限りはあるが、描画時のＧＰＵ６２内部での色計算は２４ビットで行われ、また、いわゆるディザ機能も搭載しているので、疑似フルカラー（２４ビットカラー）表示が可能となっている。また、上記２４ビットモードは、１６７７７２１６色（フルカラー）表示のモードである。但し、フレームバッファ６３内に転送されたイメージデータの表示（ビットマップ表示）のみが可能で、ＧＰＵ６２の描画機能を実行することはできない。ここで、１ピクセルのビット長は２４ビットとなるが、フレームバッファ６３上での座標や表示位置の値は１６ビットを基準として指定する必要がある。すなわち、６４０×４８０の２４ビット画像データは、フレームバッファ６３中では９６０×４８０として扱われる。また、前記座標値ＤＢＸは８の倍数になるように設定する必要があり、したがって、この２４ビットモードでの最小画面サイズは横８×縦２ピクセルになる。
【００８２】
また、ＧＰＵ６２には次のような描画機能が搭載されている。
【００８３】
先ず、１×１ドット〜２５６×２５６ドットのスプライトに対して、４ビットＣＬＵＴ（４ビットモード、１６色／スプライト）や８ビットＣＬＵＴ（８ビットモード、２５６色／スプライト），１６ビットＣＬＵＴ（１６ビットモード、３２７６８色／スプライト）等が可能なスプライト描画機能と、
ポリゴン（三角形や四角形等の多角形）の各頂点の画面上の座標を指定して描画を行うと共に、ポリゴン内部を同一色で塗りつぶすフラットシェーディング、各頂点に異なる色を指定して内部をグラデーションするグーローシェーディング、ポリゴン表面に２次元のイメージデータ（テクスチャパターン）を用意して張り付けるテクスチャマッピング等を行うポリゴン描画機能と、
グラデーションが可能な直線描画機能と、
ＣＰＵ５１からフレームバッファ６３への転送、フレームバッファ６３からＣＰＵ５１への転送、フレームバッファ６３からフレームバッファ６３への転送等のイメージ転送機能と、
その他の機能として、各ピクセルの平均をとって半透明化する機能（各ピクセルのピクセルデータを所定比率αで混合することからαブレンディング機能と呼ばれる）、色の境界にノイズを乗せてぼかすディザ機能、描画エリアを越えた部分を表示しない描画クリッピング機能、描画エリアに応じて描画原点を動かすオフセット指定機能等がある。
【００８４】
また、描画を行う座標系は符号付きの１１ビットを単位としており、Ｘ，Ｙそれぞれに−１０２４〜＋１０２３の値をとる。また、図４に示すように、本実施例でのフレームバッファ６３のサイズは１０２４×５１２となっているので、はみ出した部分は折り返すようになっている。描画座標の原点は、座標値のオフセット値を任意に設定する機能により、フレームバッファ６３内で自由に変更することができる。また、描画は、描画クリッピング機能により、フレームバッファ６３内の任意の矩形領域に対してのみ行われる。
【００８５】
さらに、ＧＰＵ６２は、最大２５６×２５６ドットのスプライトをサポートしており、縦，横それぞれの値を自由に設定することができる。
【００８６】
上記スプライトに張りつけるイメージデータ（スプライトパターン）は、図５に示すように、フレームバッファ６３の非表示領域に配置する。スプライトパターンは、描画コマンド実行に先立ってフレームバッファ６３に転送される。スプライトパターンは、２５６×２５６ピクセルを１ページとして、フレームバッファ６３上にメモリの許す限り何枚でも置くことができ、この２５６×２５６の領域をテクスチャページと呼んでいる。１枚のテクスチャページの場所は、描画コマンドのＴＳＢと呼ぶテクスチャページの位置（アドレス）指定のためのパラメータに、ページ番号を指定することで決定される。
【００８７】
スプライトパターンには、４ビットＣＬＵＴ（４ビットモード）、８ビットＣＬＵＴ（８ビットモード）、１６ビットＣＬＵＴ（１６ビットモード）の３種類の色モードがある。４ビットＣＬＵＴ及び８ビットＣＬＵＴの色モードでは、ＣＬＵＴを使用する。
【００８８】
このＣＬＵＴとは、図６に示すように、最終的に表示される色を表す３原色のＲ，Ｇ，Ｂ値が１６乃至２５６個、フレームバッファ６３上に並んだものである。各Ｒ，Ｇ，Ｂ値はフレームバッファ６３上の左から順に番号付けされており、スプライトパターンはこの番号により各ピクセルの色を表す。また、ＣＬＵＴはスプライト単位で選択でき、全てのスプライトに対して独立したＣＬＵＴを持つことも可能である。また、図６において、１個のエントリは１６ビットモードの１ピクセルと同じ構造となっており、したがって、１セットのＣＬＵＴは１×１６（４ビットモード時）、１×２５５（８ビットモード時）のイメージデータと等しくなる。フレームバッファ６３内でのＣＬＵＴの格納位置は、描画コマンド内のＣＢＡと呼ぶＣＬＵＴの位置（アドレス）指定のためのパラメータに、使用するＣＬＵＴの左端の座標を指定することで決定する。
【００８９】
さらに、スプライト描画の概念を模式的に示すと図７のように表すことができる。なお、図７中の描画コマンドのＵ，Ｖはテクスチャページのどの位置かを横（Ｕ），縦（Ｖ）で指定するパラメータであり、Ｘ，Ｙは描画エリアの位置を指定するためのパラメータである。
【００９０】
また、ＧＰＵ６２は、動画表示の方式として、フレームダブルバッファリングという手法を用いるようにしている。このフレームダブルバッファリングとは、図８に示すように、フレームバッファ６３上に２つの矩形領域を用意し、一方のエリアに描画をしている間はもう片側を表示し、描画が終了したら２つのエリアをお互いに交換するものである。これにより、書き換えの様子が表示されるのを回避することができることになる。なお、バッファの切り換え操作は、垂直帰線期間内に行う。また、ＧＰＵ６２では、描画の対象となる矩形領域と座標系の原点を自由に設定できるので、この２つを移動させることにより、複数のバッファを実現することも可能である。
【００９１】
次に、本実施例の画像処理システムが扱う本発明の画像情報生成方法によって生成するデータフォーマットについて説明する。本発明実施例システムが扱うグラフィックスには、３次元グラフィックスと、基本とも言うべき２次元グラフィックスの２種類がある。３次元データには、現実感のある物体（描画対象の物体をオブジェクトと称する）の形状すなわちオブジェクト形状の表面属性を表すモデリングデータ（以下ＴＭＤデータと呼ぶ）と、オブジェクトの配置情報を含むアニメーションデータ（以下ＴＯＤデータと呼ぶ）とがある。２次元データには、スプライトパターンやテクスチャの素材として使用するイメージデータ（以下ＴＩＭデータと呼ぶ）、バックグランド（背景）面のマップデータとスプライトアニメーションを行うためのＢＧマップデータ（ＢＧＤ）、セルデータ（ＣＥＬ）、情報データ（ＡＮＭ）等がある。
【００９２】
先ず、アニメーションデータのフォーマット（以下ＴＯＤフォーマットと呼ぶ）は、３次元オブジェクトに関する情報を時間の流れに沿ってセットするためのものである。具体的には、３次元アニメーション（連続したフレーム）における各フレームについて、生成，変化，或いは消滅させる３次元オブジェクトに関する必要なデータを記述し、各フレームのデータを時間の流れに沿って並べたものである。
【００９３】
上記ＴＯＤフォーマットのファイル（以下ＴＯＤファイルと呼ぶ）は、図９のように、ファイルヘッダ（ｆｉｌｅ  ｈｅａｄｅｒ）  とこれに続くフレームデータとからなる。
【００９４】
この図９において、ＴＯＤファイルの先頭には２ワード（６４ビット）のヘッダ（ＨＥＡＤＥＲ）がある。このヘッダ（ＨＥＡＤＥＲ）には次の４種類の情報が記述される。
【００９５】
（ａ）  ｆｉｌｅ    ＩＤ（８ビット）
これはアニメーション・ファイルであることを示すＩＤである。
【００９６】
（ｂ）  ｖｅｒｓｉｏｎ  （８ビット）
これはアニメーションのバージョンを示す。
【００９７】
（ｃ）  ｒｅｓｏｌｕｔｉｏｎ（１６ビット）
これは１フレームが表示されている時間（単位ｔｉｃｋ＝１／６０秒）  を示す。
【００９８】
（ｄ）  ｎｕｍｂｅｒ  ｏｆ  ｆｒａｍｅｓ（３２ビット）
これはファイルに記述されているフレームの数を示す。
【００９９】
上記ヘッダ（ＨＥＡＤＥＲ）に続いては、フレーム（ＦＲＡＭＥ）  が記述される。当該フレーム（ＦＲＡＭＥ）  は、時系列に従って並べられている。
【０１００】
このフレーム（ＦＲＡＭＥ）  は、図１０に示すように、フレームヘッダ（ｆｒａｍｅ  ｈｅａｄｅｒ）とこれに続くパケット（ＰＡＣＫＥＴ）からなる。
【０１０１】
この図１０において、各フレーム（ＦＲＡＭＥ）  の先頭には、２ワードのフレームヘッダ（ｆｒａｍｅ  ｈｅａｄｅｒ）がある。当該フレームヘッダ（ｆｒａｍｅ  ｈｅａｄｅｒ）には、次のような情報が記述される。
【０１０２】
（ａ）  ｆｒａｍｅ  ｓｉｚｅ（１６ビット）
これはフレームデータ（ヘッダを含む）のワード（４バイト）単位のサイズである。
【０１０３】
（ｂ）  ｎｕｍｂｅｒ  ｏｆ  ｐａｃｋｅｔ（１６ビット）
これはパケット数を示す。
【０１０４】
（ｃ）  ｆｒａｍｅ  ｎｕｍｂｅｒｓ  （３２ビット）
これはフレーム番号を示す。
【０１０５】
フレームヘッダ（ｆｒａｍｅ  ｈｅａｄｅｒ）の後には、パケット（ＰＡＣＫＥＴ）が続き、各パケット（ＰＡＣＫＥＴ）は、図１１に示すように、先頭にある１ワードのパケットヘッダ（ｐａｃｋｅｔ  ｈｅａｄｅｒ）  とこれにつづくパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  からなる。パケット（ＰＡＣＫＥＴ）には様々な種類のものがあり、各パケット（ＰＡＣＫＥＴ）におけるパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  のサイズは、パケット（ＰＡＣＫＥＴ）が異種の場合はもちろん、同種の場合でも同じであるとは限らない。
【０１０６】
図１１に示すパケット（ＰＡＣＫＥＴ）は、パケットヘッダ（ｐａｃｋｅｔ  ｈｅａｄｅｒ）  とパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  から構成されており、上記パケットヘッダ（ｐａｃｋｅｔ  ｈｅａｄｅｒ）  には、以下のような情報が記述される。
【０１０７】
（ａ）  ｏｂｊｅｃｔ    ＩＤ（１６ビット）
これは対象となるオブジェクトのＩＤである。
【０１０８】
（ｂ）  ｐａｃｋｅｔ  ｔｙｐｅ  （４ビット）
これはパケットデータのタイプを示し、パケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  に格納したデータの種別が格納されている。
【０１０９】
（ｃ）  ｆｌａｇ（４ビット）
これはパケットタイプ（ｐａｃｋｅｔ  ｔｙｐｅ）  により意味が異なる。
【０１１０】
（ｄ）  ｐａｃｋｅｔ  ｌｅｎｇｔｈ  （８ビット）
これはパケット長（ヘッダを含む）のワード（４バイト）単位のサイズを示す。
【０１１１】
また、パケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  には、例えば後述するＲＳＴ値やＴＭＤデータＩＤ（モデリングデータのＩＤ）等の様々な種類のデータが格納されている。上記パケット（ＰＡＣＫＥＴ）がどのタイプであるかは、ヘッダ（ＨＥＡＤＥＲ）中のパケットタイプ（ｐａｃｋｅｔ  ｔｙｐｅ）  で区別する。パケットタイプ（ｐａｃｋｅｔ  ｔｙｐｅ）  の値とデータ種との関係は、例えば以下のようになっている。
【０１１２】
0003578498.tif 000004
以下、データ種について順に説明する。
【０１１３】
先ず、上記アトリビュート（Ａｔｔｒｉｂｕｔｅ）  として、パケットタイプ（ｐａｃｋｅｔ  ｔｙｐｅ）  が００００の場合、パケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  にはアトリビュート設定を行うデータが格納される。この場合は、フラグ（ｆｌａｇ）は使用されない。
【０１１４】
パケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  は、図１２に示すように、２ワードからなる。この図１２において、１ワード目は、値を変更する部分と変更しない部分を示すマスクで、変更する項目に該当するビットには０をセットし、値を変更しないビットについては１をセットする。２ワード目には、変更する項目に該当するビットに新しいデータを入れ、それ以外のビットについては０をセットする。このように、変更の対象にならないビットにセットするデフォルトの値が、１ワード目では１、２ワード目では０というように、１ワード目と２ワード目とで異なっている。上記２ワード目のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  における各ビットの意味は、以下のようになる。
【０１１５】
0003578498.tif 000005
ここで、例えば光源計算強制オンにする場合、パケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  は、図１３のようになる。この図１３において、１ワード目はビット（６）  に光源に関して変更することを示す０を入れ、その他のビットには変更しないことを示す１を入れる。２ワード目は、ビット（６）  に光源計算強制オンを示す１を入れ、値を変更しないその他のビットにはデフォルトの０を入れる。
【０１１６】
次に、上記コーディネイト（Ｃｏｏｒｄｉｎａｔｅ（ＲＳＴ））として、パケットタイプ（ｐａｃｋｅｔ  ｔｙｐｅ）  が０００１の場合、パケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  にはコーディネイトをセットするデータが格納される。この場合、フラグ（ｆｌａｇ）は図１４のような構成となる。この図１４において、図中のｍａｔｒｉｘ  ｔｙｐｅ  はＲＳＴのマトリクスのタイプを示し、例えば０のとき絶対値、１の時直前のフレームからの差分マトリクスを示す。同図中のｒｏｔａｔｉｏｎは回転（Ｒ）のフラグで、０のとき無し、１のとき有りを示す。同図中のｓｃａｌｉｎｇ  はスケーリング（Ｓ）のフラグで、０のとき無し、１のとき有りを示す。同図中のｔｒａｎｓｌａｔｉｏｎ  は平行移動（Ｔ）のフラグで、０のとき無し、１のとき有りを示す。
【０１１７】
また、パケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成は、フラグ（ｆｌａｇ）の上記ｒｏｔａｔｉｏｎ（回転）ビット、ｓｃａｌｉｎｇ  （スケーリング）ビット、ｔｒａｎｓｌａｔｉｏｎ  （平行移動）ビットの値により異なり、図１５に示すようになる。この図１５において、図中中Ｒｘ，Ｒｙ，Ｒｚはそれぞれ回転角のＸ軸成分、Ｙ軸成分、Ｚ軸成分を表す。同様に同図中Ｓｘ，Ｓｙ，ＳｚはそれぞれスケーリングのＸ軸成分、Ｙ軸成分、Ｚ軸成分を表し、Ｔｘ，Ｔｙ，Ｔｚはそれぞれ平行移動のＸ軸成分、Ｙ軸成分、Ｚ軸成分を表す。
【０１１８】
次に上記ＴＭＤ  ＩＤとして、パケットタイプ（ｐａｃｋｅｔ  ｔｙｐｅ）  が００１０の場合、パケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  には、図１６に示すようなそのオブジェクトの実体となるモデリングデータ（ＴＭＤデータ）ＩＤが格納される。このＴＭＤデータＩＤは２バイトとなっている。
【０１１９】
上記親オブジェクトＩＤとして、パケットタイプ（ｐａｃｋｅｔ  ｔｙｐｅ）  が００１１の場合、パケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  には、図１７に示すように、指定したオブジェクトの親オブジェクトＩＤが格納される。親オブジェクトＩＤは２バイトとなっている。この場合フラグ（ｆｌａｇ）は使用されない。
【０１２０】
次に、上記マトリクス（ＭＡＴＲＩＸ）値として、パケットタイプ（ｐａｃｋｅｔ  ｔｙｐｅ）  が０１００の場合、パケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  には、コーディネイトメンバを設定するデータが格納されている。この場合フラグ（ｆｌａｇ）は使用されない。このときのパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成は、図１８に示すようになる。
【０１２１】
上記ＴＭＤデータ本体は、パケットタイプ（ｐａｃｋｅｔ  ｔｙｐｅ）  が０１０１の場合、ＴＭＤデータが格納される。このＴＭＤデータについては後述する。
【０１２２】
次に、上記光源として、パケットタイプ（ｐａｃｋｅｔ  ｔｙｐｅ）  が０１１０の場合、パケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  には、光源の設定を行うデータが格納される。この場合、オブジェクトＩＤは、普通のオブジェクトＩＤとは別の光源のＩＤとなる。また、フラグ（ｆｌａｇ）は図１９に示すような意味を持つ。この図１９において、図中ｄａｔａ  ｔｙｐｅ  はデータのタイプを示し、０のとき絶対値、１のとき直前フレームからの差分を示す。同図中ｄｉｒｅｃｔｉｏｎ  は方向フラグを示し、０のとき無し、１のとき有りを示す。同図中ｃｏｌｏｒ  は色フラグを示し、０のとき無し、１のとき有りを示す。また、パケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成は、フラグ（ｆｌａｇ）のｄｉｒｅｃｔｉｏｎ  ビット、ｃｏｌｏｒ  ビットの値により異なり、次の図２０に示すようになる。
【０１２３】
次に、上記カメラとして、パケットタイプ（ｐａｃｋｅｔ  ｔｙｐｅ）  が０１１１の場合、パケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  には、視点位置情報の設定を行うデータが格納される。この場合、オブジェクトＩＤは、普通のオブジェクトＩＤとは別のカメラＩＤとなる。また、フラグ（ｆｌａｇ）は図２１に示すような意味を持つ。
【０１２４】
なお、上記図２１の図中ｃａｍｅｒａ  ｔｙｐｅ  のビットが０の場合の他のビットは、図２２に示すようになり、ｃａｍｅｒａ  ｔｙｐｅ  のビットが１の場合の他のビットは図２３に示すようになる。すなわち、図２２において、図中ｄａｔａ  ｔｙｐｅ  はデータのタイプを示し、０のとき絶対値を、１のとき直前フレームからの差分であることを示す。図２２中ｐｏｓｉｔｉｏｎ  ＆  ｒｅｆｅｒｅｎｃｅは視点位置、注視点位置フラグであり、０のとき無し、１のとき有りを示す。図２２中ｚ  ａｎｇｌｅ  は水平からの注視点角度フラグであり、０のとき無し、１のとき有りを示す。また、図２３において、図中ｄａｔａ  ｔｙｐｅ  はデータのタイプを示し、０のとき絶対値を、１のとき直前フレームからの差分であることを示す。図２３中ｒｏｔａｔｉｏｎは回転（Ｒ）フラグであり、０のとき無し、１のとき有りを示す。図２３中ｔｒａｎｓｌａｔｉｏｎ  は平行移動（Ｔ）フラグであり、０のとき無し、１のとき有りを示す。
【０１２５】
また、このときのパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成は、フラグ（ｆｌａｇ）により異なり、図２４や図２５のようになる。
【０１２６】
次に、オブジェクト制御として、パケットタイプ（ｐａｃｋｅｔ  ｔｙｐｅ）  が１０００の場合は、オブジェクトに対する制御の設定を行う。この場合、パケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  は無い。
【０１２７】
最後に、特殊コマンドとして、パケットタイプ（ｐａｃｋｅｔ  ｔｙｐｅ）  が１１１１の場合は、アニメーションデータの制御を行う。
【０１２８】
次に、モデリングデータのフォーマット（以下ＴＭＤフォーマットと呼ぶ）について説明する。
【０１２９】
ここで、多くの３次元グラフィックスでは物体の形状はポリゴン（多角形）の集合体として表現する。この物体形状を表すデータをモデリングデータと呼ぶ。各ポリゴンは、その頂点の位置を３次元空間中の座標値として持つ。前述の従来例で説明した座標変換装置は、ポリゴンの頂点位置を透視変換処理し、２次元座標値に変換し、その結果をレンダリング装置へ送り込んで描画を行う。レンダリング装置へ送られるデータの処理単位をパケットという。なお通常１個のパケットで１ポリゴンを表す。また、パケットは、ポリゴンの種類によって構造が異なり、種類によって様々な大きさがある。
【０１３０】
本発明のフォーマットでは、物体形状データにおいてポリゴンの構造を一部を除いてパケットの構造と同一にすることにより、前記座標変換装置での処理の高速化を可能にしている。
【０１３１】
なお、３次元を示す座標系には、３次元の物体そのものに関する形状や寸法を表現するためのオブジェクト座標系、３次元の物体を空間に配置したときの物体の位置を示すワールド（世界）座標系、及びスクリーン上に表示した３次元の物体を表現するためのスクリーン座標系等が使用されることが多いが、以下に説明においては、説明を簡略化するために、対象となる３次元の物体のオブジェクト座標系及びスクリーン座標系を中心に説明する。
【０１３２】
以下に述べる本実施例の物体形状データすなわちモデリングデータのフォーマット（ＴＭＤフォーマット）は、例えば家庭用ゲーム機やパーソナルコンピュータ装置或いはグラフィックコンピュータ装置等に適用される本実施例の画像処理システムにおける３次元の拡張グラフィックスライブラリで扱うフォーマットである。このＴＭＤフォーマットデータは、メモリ上へダウンロードしてそのまま当該拡張グラフィックスライブラリで提供されている関数の引数として渡すことができる。
【０１３３】
また、当該ＴＭＤフォーマットのファイル（以下ＴＭＤファイルと呼ぶ）は、３次元グラフィックスツール等、アーティストツールの段階では、より抽象度の高いテキストデータであるＲＳＤファイルと呼ぶファイルを使用し、プログラム作成時に所定のコマンド（ｒｓｄｌｉｎｋ  コマンドと呼ぶ）によって当該ＴＭＤフォーマットへ変換される。
【０１３４】
さらに、本実施例のＴＭＤファイルが記述するデータはオブジェクトを構成するポリゴンや直線等のプリミティブ（ＰＲＩＭＩＴＩＶＥ）  の集合体である。１つのＴＭＤファイルで複数のオブジェクトを持つことができる。
【０１３５】
ＴＭＤファイル内での座標値は、本実施例の画像処理システムの上記拡張グラフィックスライブラリで扱う空間に従い、ｘ軸の正方向が右、ｙ軸が下、ｚ軸が画面奥を表すようになっている。各オブジェクトが持つ空間の座標値は１６ビットの符号つき整数値で、それぞれの軸の座標値の取りえる値は、−３２７６７〜＋３２７６８７になる。なお、デザインの段階のフォーマット（以下ＲＳＤフォーマットと呼ぶ）では、頂点（ＶＥＲＴＥＸ）の値は浮動小数点であるため、ＲＳＤ→ＴＭＤ変換時には拡大／縮小を行ってスケールを合わせる必要がある。このときのスケール調整値が参考値として後述のオブジェクト構造体中に含まれている。ＴＭＤフォーマットデータ中の頂点（ＶＥＲＴＥＸ）の値にスケール値を掛け合わせると、デザイン時のスケールに戻ることになる。この値は、ワールド（ｗｏｒｌｄ）座標に対してどのようなスケールでマッピングされるべきであるかの指標値になる。
【０１３６】
以下に、本発明実施例のＴＭＤフォーマットについて詳細に説明する。
【０１３７】
本実施例のＴＭＤフォーマットは、図２６に示すように、ＴＭＤファイルの３次元オブジェクトのテーブル（ＯＢＪ  ＴＡＢＬＥ）  と、これを構成するプリミティブ（ＰＲＩＭＩＴＩＶＥ）  、頂点（ＶＥＲＴＥＸ）、法線（ＮＯＲＭＡＬ）の３種類のデータの実体を持ち、４つのブロックで構成されている。
【０１３８】
この図２６に示すＴＭＤフォーマットのヘッダ（ＨＥＡＤＥＲ）部は、図２７に示すようなデータの構造に関する情報を持った３ワード（１２バイト）のデータである。この図２７において、ＩＤは３２ビット長（１ワード）のデータで、ＴＭＤファイルのバージョンを表す。また、ＦＬＡＧＳは、３２ビット長（１ワード）のデータでＴＭＤフォーマットデータの構成情報を持つ。最下位ビット（ＬＳＢ）が後述するＦＩＸＰビットで、残りのビットはリザーブされており、値は全て０である。上記ＦＩＸＰビットは後述するオブジェクト構造体が持つポインタ値が実アドレスかどうかを表す。値が１の時は実アドレス、０の時は先頭からのオフセットである。さらにＮＯＢＪはオブジェクトの個数を表す整数値である。
【０１３９】
次に、図２６のオブジェクトテーブル（ＯＢＪ  ＴＡＢＬＥ）  部は、図２８に示すように、各オブジェクトの実体がどこに格納されているかを示すポインタ情報を持った構造体が並んだテーブルである。１個のオブジェクト構造体は次のような構成になっている。
【０１４０】
0003578498.tif 000006
上記オブジェクト構造体のメンバの内、ポインタ値（ｖｅｒｔ  ＿ｔｏｐ，ｎｏｒｍａｌ＿ｔｏｐ，ｐｒｉｍｉｔｉｖｅ  ＿ｔｏｐ）はヘッダ（ＨＥＡＤＥＲ）部のＦＩＸＰビットの値によって意味が変化する。ＦＩＸＰ＝１の場合は実アドレスであるが、ＦＩＸＰ＝０の場合はオブジェクト（ＯＢＪＥＣＴ）部の先頭を０番地とする相対アドレスを表す。
【０１４１】
スケーリングファクタ（Ｓｃａｌｉｎｇ  ｆａｃｔｏｒ）は符号付きのｌｏｎｇ型で、その２のべき乗値がスケール値になる。すなわち、上記オブジェクト構造体のスケーリングファクタ（Ｓｃａｌｉｎｇ  ｆａｃｔｏｒ）の値が０のときが等倍、２の時はスケール値が４、−１のときはスケール値が１／２になる。
【０１４２】
次に図２６のプリミティブ（ＰＲＩＭＩＴＩＶＥ）  部は、オブジェクトの構成要素（プリミティブ）の描画パケットが並んだもので、図２９のように、１つのパケットで１個のプリミティブを表す。ＴＭＤフォーマットで定義されるプリミティブは、拡張グラフィックスライブラリの関数によって透視変換の処理を行うと共に描画プリミティブへ変換される。図２９に示す各パケットは可変長で、その大きさ／構造はプリミティブのタイプ毎に異なる。
【０１４３】
ここで、図２９のパケットの内、ｍｏｄｅはプリミティブの種類や属性を示す８ビットの情報で、図３０のようなビット構成になっている。図３０中ＣＯＤＥ（コード）は構成要素の種類を表す３ビットのコードで、００１＝ポリゴン（３角，４角）、０１０＝直線、０１１＝スプライト（矩形）を表す。また、ＯＰＴＩＯＮはオプションのビットでＣＯＤＥ（コード）の値によって変化する（後述するパケットデータ構成の一覧に併記する）。
【０１４４】
また、図２９のパケットの内、ｆｌａｇはレンダリング時のオプション情報を示す８ビットの情報で、図３１のようなビット構成になっている。図３１中ＧＯＲは光源計算ありのＴｅｘｔｕｒｅなしポリゴンのみ有効で、１のときグラデーションポリゴンを、０のとき単色ポリゴンを示す。ＦＣＥは１のとき両面ポリゴン、０のとき片面ポリゴン（ＣＯＤＥの値がポリゴンの時のみ有効）である。ＬＧＴは１のとき光源計算なしで、０のとき光源計算ありを示す。
【０１４５】
さらに、図２９中のｉｌｅｎはパケットデータ部のワード長を表す８ビットの情報であり、ｏｌｅｎは中間処理で生成する描画プリミティブのワード長を表す８ビットの情報、Ｐａｃｋｅｔ  ｄａｔａは頂点／法線等の各種パラメータでプリミティブのタイプによって異なる。このＰａｃｋｅｔ  ｄａｔａの構造については後述する。
【０１４６】
次に、図２６のＶＥＲＴＥＸ部は頂点を表す構造体の列で、１つの構造体のフォーマットは図３２に示すようになっている。なお、図３２中のＶＸ，ＶＹ，ＶＺは頂点座標のｘ，ｙ，ｚ値（１６ビット整数）である。
【０１４７】
図２６のＮＯＲＭＡＬ部は法線を表す構造体の列で、１つの構造体のフォーマットは図３３に示すようになる。なお、図３３中のＮＸ，ＮＹ，ＮＺは法線のｘ，ｙ，ｚ成分（１６ビット固定少数点）である。また、ＮＸ，ＮＹ，ＮＺのそれそれの値は４０９６を１．０として扱う符号つきの１６ビット固定少数点で、図３４に示すようなフォーマットとなっており、符号は１ビット、整数部は３ビット、少数部は１２ビットからなる。
【０１４８】
次にプリミティブの種類別に各パケットデータ構成の一覧について説明する。パケットデータに含まれるパラメータには、以下に述べるＶｅｒｔｅｘ（ｎ）  、Ｎｏｒｍａｌ（ｎ）  、Ｕｎ，Ｖｎ、Ｒｎ，Ｇｎ，Ｂｎ、ＴＢＳ  、ＣＢＡ  がある。
【０１４９】
先ず、Ｖｅｒｔｅｘ（ｎ）  は、前記ＶＥＲＴＥＸ（頂点）をポイントする１６ビット長のインデックス値で、そのポリゴンが属するオブジェクトの前記図２６のＶＥＲＴＥＸ部先頭から何番目の要素であるかを表す。
【０１５０】
Ｎｏｒｍａｌ（ｎ）  は、前記ＮＯＲＭＡＬ（法線）をポイントする１６ビット長のインデックス値で、上記Ｖｅｒｔｅｘと同様である。
【０１５１】
Ｕｎ，Ｖｎは、各頂点のテクスチャソース空間上でのｘ，ｙ座標値である。
【０１５２】
Ｒｎ，Ｇｎ，Ｂｎは、ポリゴンの色を表すＲ，Ｇ，Ｂ値で、８ビット符号なしの整数値である。光源計算なしの場合、予め計算された輝度値を指定しておく必要がある。
【０１５３】
ＴＢＳは、テクスチャ／スプライトパターンに関する情報を持ち、図３５のようなフォーマットを持つ。なお、図３５中のＴＰＡＧＥはテクスチャページ番号（０〜３１）を示す。また、同図中ＡＢＲは半透明レート（混合比率）であり、ＡＢＥが１の時のみ有効となる。ＡＢＲが００のとき５０％ｂａｃｋ＋５０％ｐｏｌｙｇｏｎ  、０１のとき１００  ％ｂａｃｋ＋１００  ％ｐｏｌｙｇｏｎ  、１０のとき１００  ％ｂａｃｋ＋５０％ｐｏｌｙｇｏｎ  、１１のとき１００  ％ｂａｃｋ−１００  ％ｐｏｌｙｇｏｎ  となる。さらに、同図中ＴＰＦは色モードを表し、００のとき４ビットモード、０１のとき８ビットモード、１０のとき１６ビットモードを表す。
【０１５４】
ＣＢＡは、図３６に示すように、ＣＬＵＴのフレームバッファ６３内での格納位置を示す。この図３６中のＣＬＸはフレームバッファ６３上のＣＬＵＴのＸ座標値１０ビットの上位６ビットを示し、ＣＬＹはフレームバッファ６３上のＣＬＵＴのＹ座標値９ビットを示す。
【０１５５】
次にパケットデータ構成例について以下に説明する。
【０１５６】
先ず、パケットデータ構成例として３角形ポリゴンで光源計算有りの場合について説明する。
【０１５７】
プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のモード値のビット構成は、図３７のようになる。この図３７中のＩＩＰはシェーディングモードを示し、０のときフラットシェーディング（Ｆｌａｔ  ｓｈａｄｉｎｇ）、１のときグーローシェーディング（Ｇｏｕｒａｕｄ  ｓｈａｄｉｎｇ）  となる。また、同図中ＴＭＥはテクスチャ指定を示し、０のときオフ、１のときオンとなる。さらにＡＢＥは半透明処理を示し、０のときオフ、１のときオンとなる。ＴＧＥはテクスチャマッピング時の輝度計算を示し、０のときオン、１のときオフ（テクスチャをそのまま描画）となる。なお、これらは他のポリゴンでも同様である。
【０１５８】
さらに、このときのパケットデータ構成は、図３８に示すようになる。図３８の（ａ）にはシェーディングモードがフラットシェーディングでテクスチャ指定オフの単色の場合を、図３８の（ｂ）にはシェーディングモードがグーローシェーディングでテクスチャ指定オフの単色の場合、図３８の（ｃ）にはシェーディングモードがフラットシェーディングでテクスチャ指定オフのグラデーションの場合、図３８の（ｄ）にはシェーディングモードがグーローシェーディングでテクスチャ指定オフのグラデーションの場合、図３８の（ｅ）にはシェーディングモードがフラットシェーディングでテクスチャ指定オンの場合、図３８の（ｆ）にはシェーディングモードがグーローシェーディングでテクスチャ指定オンの場合を示している。なお、この例の中のモード（ｍｏｄｅ）、フラグ（ｆｌａｇ）の値は片面ポリゴン／半透明オフの状態を表している。
【０１５９】
次に、パケットデータ構成例として３角形ポリゴンで光源計算無しの場合について説明する。
【０１６０】
プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のモード値のビット構成は前記図３７と同様である。
【０１６１】
この例でのパケットデータ構成は、図３９に示すようになる。図３９の（ａ）にはシェーディングモードがフラットシェーディングでテクスチャ指定オフの場合を、図３９の（ｂ）にはシェーディングモードがグーローシェーディングでテクスチャ指定オフのグラデーションの場合、図３９の（ｃ）にはシェーディングモードがフラットシェーディングでテクスチャ指定オンの場合、図３９の（ｄ）にはシェーディングモードがグーローシェーディングでテクスチャ指定オンのグラデーションの場合を示している。
【０１６２】
次に、パケットデータ構成例として４角形ポリゴンで光源計算有りの場合について説明する。
【０１６３】
プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のモード値のビット構成は、図４０のようになる。なお、この図４０内の各ビットの値については図３７と同様である。
【０１６４】
この例でのパケットデータ構成は、図４１に示すようになる。図４１の（ａ）にはシェーディングモードがフラットシェーディングでテクスチャ指定オフの場合を、図４１の（ｂ）にはシェーディングモードがグーローシェーディングでテクスチャ指定オフの場合、図４１の（ｃ）にはシェーディングモードがフラットシェーディングでテクスチャ指定オフのグラデーションの場合、図４１の（ｄ）にはシェーディングモードがグーローシェーディングでテクスチャ指定オフのグラデーションの場合、図４１の（ｅ）にはシェーディングモードがフラットシェーディングでテクスチャ指定オンの場合、図４１の（ｆ）にはシェーディングモードがグーローシェーディングでテクスチャ指定オンの場合を示している。
【０１６５】
次に、パケットデータ構成例として４角形ポリゴンで光源計算無しの場合について説明する。
【０１６６】
プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のモード値のビット構成は前記図４０と同様である。
【０１６７】
この例でのパケットデータ構成は、図４２に示すようになる。図４２の（ａ）にはシェーディングモードがフラットシェーディングでテクスチャ指定オフの場合を、図４２の（ｂ）にはシェーディングモードがグーローシェーディング（グラデーション）でテクスチャ指定オフの場合、図４２の（ｃ）にはシェーディングモードがフラットシェーディングでテクスチャ指定オンの場合、図４２の（ｄ）にはシェーディングモードがグーローシェーディング（グラデーション）でテクスチャ指定オンの場合を示している。
【０１６８】
次に、パケットデータ構成例として直線の場合について説明する。
【０１６９】
プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のモード値のビット構成は図４３のようになる。この図４３中のＩＩＰはグラデーションの有無を示し、０のときグラデーションをオフ（すなわち単一色）、１のときグラデーションをオンとする。また、同図中ＡＢＥ  は半透明処理のオン／オフを示し、０のときオフ、１のときオンとなる。
【０１７０】
この例でのパケットデータ構成は、図４４に示すようになる。図４４の（ａ）にはグラデーションがオフの場合を、図４４の（ｂ）にはグラデーションがオンの場合を示している。
【０１７１】
次に、パケットデータ構成例として３次元スプライトの場合について説明する。３次元スプライトとは、３次元の座標値を持つスプライトで、描画内容は通常のスプライトと同じである。
【０１７２】
プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のモード値のビット構成は図４５のようになる。この図４５中のＳＩＺはスプライトサイズを示し、００のときフリーサイズ（Ｗ，Ｈで指定）、０１のとき１×１、１０のとき８×８、１１のとき１６×１６のサイズを示す。また、同図中ＡＢＥは半透明処理を示し、０のときオフ、１のときオンとなる。
【０１７３】
この例でのパケットデータ構成は、図４６に示すようになる。図４６の（ａ）にはスプライトサイズがフリーサイズの場合を、図４６の（ｂ）にはスプライトサイズが１×１の場合を、図４６の（ｃ）にはスプライトサンプリングが８×８の場合を、図４６の（ｄ）にはスプライトサイズが１６×１６の場合を示している。
【０１７４】
上述した図２６のＴＭＤファイルフォーマットでは、物体形状を表現するモデリングデータを構成する領域の一部が、前述した従来例のパケットデータと同じ形をしており、したがって、前記ＧＴＥ６１（座標変換装置）はワード単位のコピーを行うだけでこの領域に関する処理を完了することができる。一つの構成例として前記図３８の（ｆ）を挙げると、従来のパケットデータは領域１，領域２，領域３に相当する。
【０１７５】
ここで、本実施例のＴＭＤフォーマットのデータが供給された場合のＧＴＥ６１での処理の流れを図４７にて説明する。
【０１７６】
この図４７において、ステップＳ１０では１ポリゴンのデータを取り出し、次のステップＳ１１ではポリゴンの種類を識別する。ステップＳ１２では、１ワード（３２ビット分）取り出し、ステップＳ１３ではパケットデータとの共通部か否かの判断を行う。パケットデータとの共通部であると判断した場合にはステップＳ１７においてパケットデータへコピーし、パケットデータとの共通部でないと判断した場合にはステップＳ１４に進む。このステップＳ１４ではＶｅｒｔｅｘ又はＮｏｒｍａｌに応じた処理を行い、次のステップＳ１５ではパケットデータを生成する。その後のステップＳ１６では１ポリゴン分の座標変換処理が終了したか否かの判断を行い、終了していないと判断した場合にはステップＳ１２に戻り、終了したと判断した場合には処理を終了する。
【０１７７】
なお、３次元グラフィックスの座標変換を行う場合の処理の流れは一般的には図４８のようなものとなる。この図４８において、ステップＳ１では物体形状データ（モデリングデータ）が入力され、ステップＳ２では座標変換処理が行われる。次のステップＳ３では光源計算が行われ、ステップＳ４では全ポリゴンの処理が終了したか否かの判断がなされる。ステップＳ４でノーと判断した場合にはステップＳ２に戻り、イエスと判断した場合にはステップＳ５にてパケットデータの出力がなされる。
【０１７８】
ここで、リアルタイムで映像を変化させるためには、ステップＳ２からステップＳ３を高速に繰り返さなければならない。物体の陰影（シェーディング）は、リアルタイムで変化しなくても良い場合はステップＳ３をループの外に出すことができ、図４９のようなフローチャートになる。すなわち、図４９のフローチャートではステップＳ４でノーと判断した場合にはステップＳ３に戻る。この場合、一つの構成例として前記図３８の（ｆ）を挙げると、領域０，領域３，領域６は一度だけ設定すれば良いことになり、さらに座標変換処理の負担は軽くなる。
【０１７９】
以下に物体の陰影（シェーディング）をリアルタイムで計算しない場合に座標変換処理の負担をさらに軽くするための、本発明の他の実施例の物体形状データ（モデリングデータ）ファイルのフォーマットについて説明する。
【０１８０】
図５０は、当該他の実施例のファイル全体のフォーマットである。このファイルの先頭には、ポリゴンの種類や属性を表す図中ＴＹＰＥで表す情報と、幾つかのポリゴンが含まれているかを示す図中ＮＰＡＣＫＥＴで表す情報が配置される。さらにポリゴンの数だけ図中Ｐｏｌｙｇｏｎ  Ｄａｔａで示すポリゴンのデータが配置される。
【０１８１】
上記ポリゴンデータ（Ｐｏｌｙｇｏｎ  Ｄａｔａ）の内容は図５１に示すようなものとしている。このポリゴンデータ（Ｐｏｌｙｇｏｎ  Ｄａｔａ）には、パケットデータが２つと、ポリゴンの頂点の３次元座標値とが配置される。
【０１８２】
さらに、当該他の実施例でのパケットデータの内容は図５２に示すようなものとしている。このパケットデータは前記図５７のファイルと同じものである。これもまたポリゴンの種類などによって構成要素や長さが変化する。この例では、物体の陰影（シェーディング）をリアルタイムで計算しないという前提であるから、パケットデータのうち次のものは座標変換処理する前に書き込んでおくことができる。
【０１８３】
すなわち、
ＣＯＤＥ
（Ｂ０，Ｇ０，Ｒ０）
（Ｖ０，Ｕ０）
（Ｂ１，Ｇ１，Ｒ１）
（Ｖ１，Ｕ１）
（Ｂ２，Ｇ２，Ｒ２）
（Ｖ２，Ｕ２）
は座標変換処理前に書き込んでおく。したがって、座標変換処理の際には、頂点の位置から、
（Ｙ０，Ｘ０）
（Ｙ１，Ｘ１）
（Ｙ２，Ｘ２）
を計算するだけで良く、座標変換処理の負担が軽くなる。またパケットデータ用の格納場所をメモリ内に新しく確保する必要もない。
【０１８４】
これらのことから、当該他の実施例によれば、座標変換処理により変更されるところだけをメモリに書き込めば良いので時間と労力が節約できることになる。
【０１８５】
【発明の効果】
以上の説明からも明らかなように、本発明においては、透視変換処理される情報を除く３次元画像情報の構造を、２次元画像情報の所定の転送規格と同一の構造としているため、３次元画像情報のうちの透視変換処理される情報のみについて処理を行えば、所定の転送規格の２次元画像情報を得ることができるようになる。すなわち、必要とされる新しいファイルを生成するための元の情報を含むファイルを、新しいファイルのフォーマットに容易に変更可能となる。
【０１８６】
また、本発明では、３次元画像情報に２次元表示画面上に描画される物体の陰影についての情報を含めることで、２次元画像を生成する際に、物体の陰影の情報を得るための計算を行わなくて済むようになる。
【図面の簡単な説明】
【図１】本発明の画像情報処理装置の概略的な構成を示すブロック回路図である。
【図２】ディスプレイ上への表示について説明するための図である。
【図３】ディスプレイ上の表示の設定について説明するための図である。
【図４】描画クリッピングの機能について説明するための図である。
【図５】テクスチャページについて説明するための図である。
【図６】ＣＬＵＴ構造について説明するための図である。
【図７】スプライト描画の概念を説明するための図である。
【図８】フレームダブルバッファリングについて説明するための図である。
【図９】ＴＯＤファイルフォーマットを示す図である。
【図１０】ＴＯＤフォーマットのフレーム（ＦＲＡＭＥ）  部のフォーマットを示す図である。
【図１１】フレーム（ＦＲＡＭＥ）  部のパケット（ＰＡＣＫＥＴ）部のフォーマットを示す図である。
【図１２】アトリビュートの場合のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成を説明するための図である。
【図１３】光源計算強制オンにする場合のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成を説明するための図である。
【図１４】コーディネート（ＲＳＴ）の場合のフラグ（ｆｌａｇ）の構成を説明するための図である。
【図１５】コーディネート（ＲＳＴ）の場合のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成を説明するための図である。
【図１６】ＴＭＤデータＩＤの場合のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成を説明するための図である。
【図１７】親オブジェクトＩＤの場合のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成を説明するための図である。
【図１８】マトリクス（ＭＡＴＲＩＸ）値の場合のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成を説明するための図である。
【図１９】光源の場合のフラグ（ｆｌａｇ）の構成を説明するための図である。
【図２０】光源の場合のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成を説明するための図である。
【図２１】カメラの場合のフラグ（ｆｌａｇ）の構成を説明するための図である。
【図２２】カメラタイプ（ｃａｍｅｒａ  ｔｙｐｅ）  が０の場合の他のビットについて説明するための図である。
【図２３】カメラタイプ（ｃａｍｅｒａ  ｔｙｐｅ）  が１の場合の他のビットについて説明するための図である。
【図２４】カメラの場合のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成（その一）を説明するための図である。
【図２５】カメラの場合のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成（その二）を説明するための図である。
【図２６】ＴＭＤフォーマットを示す図である。
【図２７】ＴＭＤフォーマットのヘッダ（ＨＥＡＤＥＲ）部の構成を示す図である。
【図２８】ＴＭＤフォーマットのオブジェクトテーブル（ＯＢＪＴＡＢＬＥ）部の構成を示す図である。
【図２９】ＴＭＤフォーマットのプリミティブ（ＰＲＩＭＩＴＩＶＥ）  部の構成を示す図である。を示す図である。
【図３０】プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のｍｏｄｅの構成を示す図である。
【図３１】プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のｆｌａｇの構成を示す図である。を示す図である。
【図３２】ＴＭＤフォーマットのＶＥＲＴＥＸ部の構成を示す図である。
【図３３】ＴＭＤフォーマットのＮＯＲＭＡＬ部の構成を示す図である。
【図３４】固定少数点フォーマットを示す図である。
【図３５】プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  に含まれるパラメータのうちのＴＢＳの構成を示す図である。
【図３６】プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  に含まれるパラメータのうちのＣＢＡの構成を示す図である。
【図３７】プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成例として３角形ポリゴン・光源計算ありの場合のｍｏｄｅ値のビット構成を示す図である。
【図３８】プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成例として３角形ポリゴン・光源計算ありの場合のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  構成について説明するための図である。
【図３９】プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成例として３角形ポリゴン・光源計算なしの場合のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  構成について説明するための図である。
【図４０】プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成例として４角形ポリゴン・光源計算ありの場合のｍｏｄｅ値のビット構成を示す図である。
【図４１】プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成例として４角形ポリゴン・光源計算ありの場合のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  構成について説明するための図である。
【図４２】プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成例として４角形ポリゴン・光源計算なしの場合のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  構成について説明するための図である。
【図４３】プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成例として直線の場合のｍｏｄｅ値のビット構成を示す図である。
【図４４】プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成例として直線の場合のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  構成について説明するための図である。
【図４５】プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成例として３次元スプライトの場合のｍｏｄｅ値のビット構成を示す図である。
【図４６】プリミティブ（ＰＲＩＭＩＴＩＶＥ）  部のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  の構成例として３次元スプライトの場合のパケットデータ（ｐａｃｋｅｔ  ｄａｔａ）  構成について説明するための図である。
【図４７】本発明のＴＭＤフォーマットを透視変換処理する際の処理の流れを説明するフローチャートである。
【図４８】一般的な３次元グラフィックスの座標変換装置の処理の流れを説明するフローチャートである。
【図４９】物体の陰影（シェーディング）をリアルタイムで処理しない場合の座標変換装置の処理の流れを説明するフローチャートである。
【図５０】他の実施例のＴＭＤフォーマットを示す図である。
【図５１】他の実施例のＴＭＤフォーマットのポリゴンデータ（Ｐｏｌｙｇｏｎ  Ｄａｔａ）の構成を示す図である。
【図５２】他の実施例のパケットデータの構成を示す図である。
【図５３】従来の画像作成装置（家庭用ゲーム機）の構成例を示すブロック回路図である。
【図５４】従来の画像作成装置による画像作成方法の説明に用いる図である。
【図５５】従来の画像情報処理システムの基本構成を示すブロック回路図である。
【図５６】従来の物体形状データのファイルの構成を示す図である。
【図５７】従来のパケットデータのファイルの構成を示す図である。
【符号の説明】
５１  ＣＰＵ
５２  周辺デバイスコントローラ
５３  メインメモリ
５４  ＲＯＭ
６０  グラフィックシステム
６１  ジオメトリトランスファエンジン（ＧＴＥ）
６２  グラフィックスプロセッシングユニット
６３  フレームバッファ
６４  画像デコーダ（ＭＤＥＣ）
６５  ビデオ出力手段（ディスプレイ装置）
７０  サウンドシステム
７１  サウンドプロセッシングユニット（ＳＰＵ）
７２  サウンドバッファ
７３  スピーカ
８０  光学ディスク制御部
８１  ディスクドライブ装置
８２  デコーダ
８３  バッファ
９０  通信制御部
９１  通信制御機
９２  コントローラ
９３  メモリカード
１０１  パラレルＩ／Ｏポート
１０２  シリアルＩ／Ｏポート
【図１】
0003578498.tif 000007
【図２】
0003578498.tif 000008
【図３】
0003578498.tif 000009
【図４】
0003578498.tif 000010
【図５】
0003578498.tif 000011
【図６】
0003578498.tif 000012
【図７】
0003578498.tif 000013
【図８】
0003578498.tif 000014
【図９】
0003578498.tif 000015
【図１０】
0003578498.tif 000016
【図１１】
0003578498.tif 000017
【図１２】
0003578498.tif 000018
【図１３】
0003578498.tif 000019
【図１４】
0003578498.tif 000020
【図１５】
0003578498.tif 000021
【図１６】
0003578498.tif 000022
【図１７】
0003578498.tif 000023
【図１８】
0003578498.tif 000024
【図１９】
0003578498.tif 000025
【図２０】
0003578498.tif 000026
【図２１】
0003578498.tif 000027
【図２２】
0003578498.tif 000028
【図２３】
0003578498.tif 000029
【図２４】
0003578498.tif 000030
【図２５】
0003578498.tif 000031
【図２６】
0003578498.tif 000032
【図２７】
0003578498.tif 000033
【図２８】
0003578498.tif 000034
【図２９】
0003578498.tif 000035
【図３０】
0003578498.tif 000036
【図３１】
0003578498.tif 000037
【図３２】
0003578498.tif 000038
【図３３】
0003578498.tif 000039
【図３４】
0003578498.tif 000040
【図３５】
0003578498.tif 000041
【図３６】
0003578498.tif 000042
【図３７】
0003578498.tif 000043
【図３８】
0003578498.tif 000044
【図３９】
0003578498.tif 000045
【図４０】
0003578498.tif 000046
【図４１】
0003578498.tif 000047
【図４２】
0003578498.tif 000048
【図４３】
0003578498.tif 000049
【図４４】
0003578498.tif 000050
【図４５】
0003578498.tif 000051
【図４６】
0003578498.tif 000052
【図４７】
0003578498.tif 000053
【図４８】
0003578498.tif 000054
【図４９】
0003578498.tif 000055
【図５０】
0003578498.tif 000056
【図５１】
0003578498.tif 000057
【図５２】
0003578498.tif 000058
【図５３】
0003578498.tif 000059
【図５４】
0003578498.tif 000060
【図５５】
0003578498.tif 000061
【図５６】
0003578498.tif 000062
【図５７】
0003578498.tif 000063