JPH10334249A - 画像情報生成方法及び画像情報生成装置、並びに記録媒体 - Google Patents

画像情報生成方法及び画像情報生成装置、並びに記録媒体

Info

Publication number
JPH10334249A
JPH10334249A JP15916197A JP15916197A JPH10334249A JP H10334249 A JPH10334249 A JP H10334249A JP 15916197 A JP15916197 A JP 15916197A JP 15916197 A JP15916197 A JP 15916197A JP H10334249 A JPH10334249 A JP H10334249A
Authority
JP
Japan
Prior art keywords
data
primitive
image information
pointer
polygon
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.)
Pending
Application number
JP15916197A
Other languages
English (en)
Inventor
Teiji Toyo
禎治 豊
Shinji Noda
慎治 野田
Sachiyo Aoki
幸代 青木
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment 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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP15916197A priority Critical patent/JPH10334249A/ja
Publication of JPH10334249A publication Critical patent/JPH10334249A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 テクスチャイメージデータ、モデリングデー
タ、アニメーションデータなどの意味の異なるデータの
管理を容易にした画像情報生成方法及び画像情報生成装
置、並びに画像情報が記録された記録媒体を提供する。 【解決手段】 同一プログラムで処理されるデータをま
とめて配置し、上記データをまとめて配置したプリミテ
ィブ領域の先頭にそのデータの種類を示す識別子及びそ
のデータを処理すべき処理ドライバのプログラムへのジ
ャンプテーブルを付加したデータ構造の画像情報を生成
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
【0002】
【産業上の利用分野】本発明は、情報処理により画像情
報を作成する画像情報生成方法及びその画像情報を処理
する画像情報生成装置、並びに画像情報が記録された記
録媒体に関する。
【0003】
【従来の技術】例えば、家庭用ゲーム機やパーソナルコ
ンピュータ装置或いはグラフィックコンピュータ装置等
において、テレビジョン受像機やモニタ受像機或いはC
RTディスプレイ装置等に出力されて表示される画像は
2次元のものが殆どであり、基本的には2次元の平面的
な背景に2次元のキャラクタ等を適宜に配置して移動さ
せたり、変化させたりするような形態で画像表示が行わ
れている。
【0004】しかしながら、上述したような2次元的な
画像表示や映像では、表現できる背景及びキャラクタや
それらの動きに制限があり、例えばゲームの臨場感を高
めることが困難である。
【0005】そこで、例えば次に示すような方法で疑似
的な3次元の画像や映像を作成することが行われてい
る。すなわち、上記キャラクタとしていくつかの方向か
ら見た画像を用意しておき、表示画面中での視点の変化
等に応じてこれらの複数画像の内から1つを選択して表
示したり、2次元の画像を奥行き方向に重ねて疑似的な
3次元画像を表現したりするような方法が挙げられる。
また、画像データを生成或いは作成する際に、いわゆる
テクスチャ(生地、地模様)の画像を多面体等の所望の
面に貼り付けるようなテクスチャマッピング方法や、画
像の色データをいわゆるカラールックアップテーブルを
通して変換することにより表示色を変化させる手法が採
られている。
【0006】ここで、従来の家庭用ゲーム機の概略的な
構成の一例を図146に示す。この図146において、
マイクロプロセッサ等から成るCPU391は、入力パ
ッドやジョイスティック等の入力デバイス394の操作
情報をインターフェイス393を介し、メインバス39
9を通して取り出す。この操作情報の取り出しと同時
に、メインメモリ392に記憶されている3次元画像の
データがビデオプロセッサ396によってソースビデオ
メモリ395に転送され、記憶される。
【0007】また、上記CPU391は、上記ソースビ
デオメモリ395に記憶された画像を重ね合わせて表示
するための画像データの読み出し順位を上記ビデオプロ
セッサ396に送る。上記ビデオプロセッサ396は上
記画像データの読み出し順位に従って上記ソースビデオ
メモリ395から画像データを読み出し、画像を重ね合
わせて表示する。
【0008】上述のように画像を表示すると同時に、上
記取り出された操作情報中の音声情報により、オーディ
オプロセッサ397はオーディオメモリ398内に記憶
されている上記表示される画像に応じた音声データを出
力する。
【0009】図147は、図146に示す構成をもつ家
庭用ゲーム機において、2次元画像のデータを用いて3
次元画像を出力する手順を示す図である。この図147
では、市松模様の背景画像上に円筒状の物体を3次元画
像として表示する場合を説明する。 この図147のソ
ースビデオメモリ395には、市松模様の背景画像20
0と、この背景画像200上の円筒状の物体の深さ方向
の断面を表す矩形の画像、いわゆるスプライト201、
202、203、204のデータが記憶されている。こ
の矩形の画像201、202、203、204上の円筒
の断面の画像以外の部分は透明色で描かれている。
【0010】ビデオプロセッサ396内のシンクジェネ
レータ400は、表示する画像の同期信号に合わせた読
み出しアドレス信号を発生する。また、このシンクジェ
ネレータ400は、上記読み出しアドレス信号をメイン
バス399を介して図146のCPU391から与えら
れた読み出しアドレステーブル401に送る。さらに、
このシンクジェネレータ400は上記読み出しアドレス
テーブル401からの情報に従って上記ソースビデオメ
モリ395内の画像データを読み出す。
【0011】上記読み出された画像データは、上記CP
U391により上記メインバス399を介して与えられ
たプライオリティテーブル402内の画像の重ね合わせ
順位に基づいて、重ね合わせ処理部403で順次重ね合
わせられる。この場合には、上記背景画像200が最も
順位が低く、矩形の画像201、202、203、20
4と順に順位が高くなっているため、背景画像200か
ら順次画像が重ね合わせられる。
【0012】次に、透明色処理部404において、円筒
以外の部分を背景画像で表示するために上記重ね合わせ
られた円筒の断面の画像201、202、203、20
4により表示される円筒以外の部分を透明にする処理を
施す。
【0013】上述した処理により、円筒状の物体の2次
元画像のデータが図147に示す3次元画像VD0 の画
像データとして出力される。
【0014】
【発明が解決しようとする課題】ところで、従来より、
あるフォーマットのファイルを生成するためには、元の
情報を処理して必要な情報にした後、必要とされるフォ
ーマットに加工する処理が必要となっている。
【0015】ここでは、上記元の情報を処理して必要と
されるフォーマットに加工する処理の一例として、上述
した家庭用ゲーム機にも適用され、上記元の情報である
物体形状データを処理して上記必要とされるフォーマッ
トの2次元表示画面上に表示される3次元グラフィック
スデータを生成する場合について説明する。
【0016】図148には、上記物体形状データを処理
して2次元表示画面に表示される3次元グラフィックス
データを生成する処理(3次元グラフィックス処理と呼
ぶ)を行う画像処理の流れを簡略化して示す。すなわ
ち、この図148に示すシステムでは、端子500に供
給される上記元の情報である物体形状データを、座標変
換装置501で処理して上記必要とされるフォーマット
のパケットデータを得、これをレンダリング装置502
に送り込み描画を行うようにしている。
【0017】ここで、上記元の情報である物体形状デー
タは、ディスプレイ等に表示される3次元の物体を構成
するためのポリゴン(描画を行う装置が扱う図形の最小
単位で三角形や四角形等の多角形)の集合からなり、各
ポリゴンはポリゴンの種類(三角形か四角形かなど)、
ポリゴンの属性(不透明か半透明かなど)、ポリゴンの
色、頂点の位置を表す3次元座標、頂点における法線を
表す3次元ベクトル、はり付けるテクスチャの格納場所
を表す2次元座標、などの情報で構成されている。図1
49にはこのような物体形状データを複数集めたファイ
ルの従来のフォーマットを示している。
【0018】一方、座標変換装置501により処理され
た結果である上記必要とされるフォーマットのパケット
データは、ポリゴンをディスプレイ(スクリーン)上に
描画するための情報として、例えばポリゴンの種類(三
角形か四角形かなど)、ポリゴンの属性(不透明か半透
明かなど)、頂点の位置を表す2次元座標、頂点の色、
はり付けるテクスチャの格納場所を表す2次元座標、な
どの情報で構成されている。図150にはこのようなパ
ケットデータを複数集めたファイルのフォーマットを示
している。なお、図150中のCODEは構成要素の種
類(ポリゴン,直線,スプライト等)を表すコードであ
り、V,Uは各頂点のテクスチャソース空間上でのX,
Y座標値、R,G,Bはポリゴンの色を表す3原色の
R,G,B値、X,Yはポリゴン頂点の位置を表すX,
Y座標値である。また、パケットデータの構成要素や長
さはポリゴンの種類などによって変化する。
【0019】したがって、図149のようなフォーマッ
トのファイルを、図150のようなフォーマットのファ
イルに変換するためには、図148の座標変換装置50
1が次のような処理を行わなければならない。
【0020】1.ポリゴンの数の種類ごとに必要なパケ
ットデータの大きさを計算し、例えば内蔵するメモリ上
に格納場所を確保する必要がある。 2.各ポリゴンごとに次の操作を繰り返す必要がある。 (1)ポリゴンの種類、ポリゴンの属性を1つのワードに
合成し、パケットデータの領域0に書き込む。 (2)頂点の法線とポリゴンの色から頂点の色を合成し、
パケットデータの領域0,領域3,領域6に書き込む。 (3)頂点の3次元座標から2次元座標を計算し、パケッ
トデータの領域1,領域4,領域7に書き込む。 (4)テクスチャの2次元座標をパケットデータの領域
2,領域5,領域8に書き込む。
【0021】上述したように、元になる情報が収められ
たファイル(物体形状データのファイル)から、必要な
情報の収められたファイル(パケットデータのファイ
ル)を生成するためには、 1.新しいファイルを生成するメモリ領域を確保する。 2.元になるファイルの情報を新しいフォーマットに加
工して書き込む。 3.元になるファイルの情報から計算で求められる情報
を新しいフォーマットに合わせて書き込む。 という3種類の操作が必要であり、時間と労力がかか
る。
【0022】そこで、本件出願人は、必要とされる新し
いファイルを生成するための元の情報を含むファイルを
新しいファイルのフォーマットに容易に変更可能な画像
情報生成方法として、例えば特開平8−161525号
公報等に開示されているように、オブジェクトのテーブ
ル(OBJ TABLE) と、これを構成するプリミティブ(PRIMI
TIVE) 、頂点(VERTEX)、法線(NORMAL)の3種類のデータ
の実体を持ち、4つのブロックで構成されるTMDフォ
ーマットを採用した画像情報生成方法を先に提案してい
る。
【0023】しかし、従来の3次元画像フォーマットで
は、テクスチャイメージデータ、モデリングデータ、ア
ニメーションデータなどを別々のフォーマットとして管
理していたので、1つの論理オブジェクトに対して複数
のデータが必要であり、そのための管理が大変であり、
また、フォーマットを拡張しようとすると、異なるフォ
ーマット間での調整が大変であった。
【0024】また、従来の3次元画像フォーマットで
は、そのデータを処理するプログラムと切り離れている
ために、データに対して適正な処理が行われない可能性
があり、データを作成したときとデータを再生したとき
とで異なる見え方をする虞があった。また、データに関
してどの処理プログラムを呼び出すかを毎回検索する必
要があり、処理が重いという問題点があった。
【0025】そこで、本発明の目的は、テクスチャイメ
ージデータ、モデリングデータ、アニメーションデータ
などの意味の異なるデータの管理を容易にした画像情報
生成方法及びその画像情報を処理する画像情報処理装
置、並びに画像情報が記録された記録媒体を提供するこ
とにある。
【0026】本発明の他の目的は、画像情報の処理時間
を短縮した画像情報生成方法及びその画像情報を処理す
る画像情報処理装置、並びに画像情報が記録された記録
媒体を提供することにある。
【0027】また、本発明の他の目的は、データと処理
プログラムとの関連付けを容易にした画像情報生成方法
及びその画像情報を処理する画像情報処理装置、並びに
画像情報が記録された記録媒体を提供することにある。
【0028】また、本発明の他の目的は、異なるフォー
マットのデータを適時追加することができる画像情報生
成方法及びその画像情報を処理する画像情報処理装置、
並びに画像情報が記録された記録媒体を提供することに
ある。
【0029】さらに、本発明の他の目的は、データ量を
節約することができる画像情報生成方法及びその画像情
報を処理する画像情報処理装置、並びに画像情報が記録
された記録媒体を提供することにある。
【0030】
【課題を解決するための手段】本発明に係る画像情報生
成方法は、同一プログラムで処理されるデータをまとめ
て配置し、上記データをまとめて配置したプリミティブ
領域の先頭にそのデータの種類を示す識別子及びそのデ
ータを処理すべき処理ドライバのプログラムへのジャン
プテーブルを付加したデータ構造の画像情報を生成する
ことを特徴とする。
【0031】また、本発明に係る画像情報生成方法は、
一ポリゴン内の頂点が複数のマトリクスによって個々に
計算される共有ポリゴンを含むポリゴンの集合体の画像
情報を生成する画像生成方法であって、一ポリゴン内の
頂点が単一のマトリクスによって計算される独立ポリゴ
ンの頂点群と共有ポリゴンの頂点群とを近接して配置
し、独立ポリゴン及び共有ポリゴンで同じ内容頂点情報
を一つにまとめ、独立ポリゴン及び共有ポリゴン両方か
ら参照して画像情報を生成することを特徴とする。
【0032】さらに、本発明に係る画像生成方法は、デ
ータの処理に必要なパラメータセットが上記データの内
部にあるか外部にあるを判別するための判別用データ
と、上記パラメータセットの所在を示すためのポインタ
とを上記データの内に有するデータ構造の画像情報を生
成する画像生成方法であって、上記パラメータセットが
データ内部に存在する場合には、ポインタは初期値とし
てデータ内での特定のアドレスからの上記パラメータセ
ットの先頭アドレスまでの距離を指定し、上記パラメー
タセットがデータ外部に存在する場合には、ポインタは
任意の初期値を持ち、データの処理前に、上記判定用デ
ータを参照してパラメータセットがデータ内にあるか否
かを判定し、パラメータセットがデータ内部にある場合
には、ポインタに書かれた距離データを実アドレスに変
換して上記ポインタに書き戻し、パラメータセットがデ
ータ外部にある場合には、直接パラメータの場所を示す
を示す実アドレスを上記ポインタに書き込むことを特徴
とする。
【0033】本発明に係る画像情報生成装置は、同一プ
ログラムで処理されるデータをまとめて配置し、上記デ
ータをまとめて配置したプリミティブ領域の先頭にその
データの種類を示す識別子及びそのデータを処理すべき
処理ドライバのプログラムへのジャンプテーブルを付加
したデータ構造の画像情報を生成する情報処理手段を備
えることを特徴とする。
【0034】また、本発明に係る画像情報生成装置は、
一ポリゴン内の頂点が複数のマトリクスによって個々に
計算される共有ポリゴンを含むポリゴンの集合体の画像
情報を生成する画像生成装置であって、一ポリゴン内の
頂点が単一のマトリクスによって計算される独立ポリゴ
ンの頂点群と共有ポリゴンの頂点群とを近接して配置
し、独立ポリゴン及び共有ポリゴンで同じ内容頂点情報
を一つにまとめ、独立ポリゴン及び共有ポリゴン両方か
ら参照して画像情報を生成する情報処理手段を備えるこ
とを特徴とする。
【0035】さらに、本発明に係る画像生成装置は、デ
ータの処理に必要なパラメータセットが上記データの内
部にあるか外部にあるを判別するための判別用データ
と、上記パラメータセットの所在を示すためのポインタ
とを上記データの内に有するデータ構造の画像情報を生
成する画像生成装置であって、上記パラメータセットが
データ内部に存在する場合には、ポインタは初期値とし
てデータ内での特定のアドレスからの上記パラメータセ
ットの先頭アドレスまでの距離を指定し、上記パラメー
タセットがデータ外部に存在する場合には、ポインタは
任意の初期値を持ち、データの処理前に、上記判定用デ
ータを参照してパラメータセットがデータ内にあるか否
かを判定し、パラメータセットがデータ内部にある場合
には、ポインタに書かれた距離データを実アドレスに変
換して上記ポインタに書き戻し、パラメータセットがデ
ータ外部にある場合には、直接パラメータの場所を示す
実アドレスを上記ポインタに書き込む情報処理手段を備
えることを特徴とする。
【0036】本発明に係る記録媒体は、同一プログラム
で処理されるデータをまとめて配置し、上記データをま
とめて配置したプリミティブ領域の先頭にそのデータの
種類を示す識別子及びそのデータを処理すべき処理ドラ
イバのプログラムへのジャンプテーブルを付加したデー
タ構造の画像情報を生成する情報処理プログラムを記録
したことを特徴とする。
【0037】また、本発明に係る記録媒体は、一ポリゴ
ン内の頂点が複数のマトリクスによって個々に計算され
る共有ポリゴンを含むポリゴンの集合体の画像情報を生
成する情報処理プログラムであって、一ポリゴン内の頂
点が単一のマトリクスによって計算される独立ポリゴン
の頂点群と共有ポリゴンの頂点群とを近接して配置し、
独立ポリゴン及び共有ポリゴンで同じ内容頂点情報を一
つにまとめ、独立ポリゴン及び共有ポリゴン両方から参
照して画像情報を生成する情報処理プログラムを記録し
たことを特徴とする。
【0038】さらに、本発明に係る記録媒体は、データ
の処理に必要なパラメータセットが上記データの内部に
あるか外部にあるを判別するための判別用データと、上
記パラメータセットの所在を示すためのポインタとを上
記データの内に有するデータ構造の画像情報を生成する
情報処理プログラムであって、上記パラメータセットが
データ内部に存在する場合には、ポインタは初期値とし
てデータ内での特定のアドレスからの上記パラメータセ
ットの先頭アドレスまでの距離を指定し、上記パラメー
タセットがデータ外部に存在する場合には、ポインタは
任意の初期値を持ち、データの処理前に、上記判定用デ
ータを参照してパラメータセットがデータ内にあるか否
かを判定し、パラメータセットがデータ内部にある場合
には、ポインタに書かれた距離データを実アドレスに変
換して上記ポインタに書き戻し、パラメータセットがデ
ータ外部にある場合には、直接パラメータの場所を示す
を示す実アドレスを上記ポインタに書き込む情報処理プ
ログラムを記録したことを特徴とする。
【0039】
【発明の実施の形態】以下、図面を参照しながら、この
発明の実施の形態について説明する。
【0040】先ず、本発明に係る画像情報生成方法の説
明に先立ち、本発明の画像情報生成方法により生成され
た画像データ(物体形状データ:モデリングデータ)を
用いて3次元グラフィックスデータを生成して表示する
ような画像処理システムについて説明する。この画像処
理システムは、例えば家庭用ゲーム機やパーソナルコン
ピュータ装置或いはグラフィックコンピュータ装置等に
適用されるものであり、図1の例では家庭用ゲーム機に
適用した例を示している。
【0041】この画像処理システムは、後述する本発明
のフォーマットのデータが記録されている本発明の記録
媒体である例えば光学ディスク(例えばCD−ROM)
等から、データ(例えばゲームプログラム)を読み出し
て実行することにより、使用者からの指示に応じてゲー
ムを行うようになっており、図1に示すような構成を有
している。
【0042】この画像処理システムは、CD−ROMの
ディスクから読み出された後述する本発明フォーマット
のデータである3次元画像情報に対して透視変換処理を
施して2次元画像情報に変換する座標変換手段としての
ジオメトリトランスファエンジン(GTE)61と、当
該2次元画像情報を所定の転送規格で転送して2次元表
示画面上へ描画する描画手段としてのグラフィックスプ
ロセッシングユニット(GPU62)とを有し、上記3
次元画像情報において透視変換処理される情報を除く構
造が上記2次元画像情報の所定の転送規格と同一の構造
であるとき、上記GTE61は、上記3次元画像情報の
透視変換処理される情報と上記2次元画像情報の所定の
転送規格と同一の構造の情報とを識別し、上記透視変換
処理される情報については透視変換処理を施し、当該透
視変換処理した情報と上記3次元画像情報のうちの上記
所定の転送規格と同一の構造の情報とから上記2次元画
像情報を生成するようにしている。
【0043】すなわち、この画像処理システムは、中央
演算処理装置(CPU51)及びその周辺装置(周辺デ
バイスコントローラ52等)からなる制御系50と、フ
レームバッファ63上に描画を行うグラフィックスプロ
セッシングユニット(GPU62)等からなるグラフィ
ックシステム60と、楽音、効果音等を発生するサウン
ドプロセッシングユニット(SPU71)等からなるサ
ウンドシステム70と、補助記憶装置である光学ディス
ク(CD−ROMディスク)ドライブ81の制御や再生
情報のデコード等を行う光学ディスク制御部80と、使
用者からの指示を入力するコントローラ92からの指示
入力及びゲームの設定等を記憶する補助メモリ(メモリ
カード93)からの入出力を制御する通信制御部90
と、上記制御系50から通信制御部90までが接続され
ているメインバスB等を備えている。
【0044】上記制御系50は、CPU51と、割り込
み制御、タイムコントロール、メモリコントロール、ダ
イレクトメモリアクセス(DMA)転送の制御等を行う
周辺デバイスコントローラ52と、例えば2メガバイト
のRAMからなる主記憶装置(メインメモリ)53と、
このメインメモリ53や上記グラフィックシステム6
0,サウンドシステム70等の管理を行ういわゆるオペ
レーティングシステム等のプログラムが格納された例え
ば512キロバイトのROM54とを備えている。
【0045】CPU51は、例えば32ビットのRIS
C(reduced instruction set computor)CPUであり、
ROM54に記憶されているオペレーティングシステム
を実行することにより装置全体の制御を行う。当該CP
U51は命令キャッシュとスクラッチパッドメモリを搭
載し、実メモリの管理も行う。
【0046】上記グラフィックシステム60は、座標変
換等の処理を行う座標計算用コプロセッサからなるジオ
メトリトランスファエンジン(GTE)61と、CPU
51からの描画指示に従って描画を行うグラフィックス
プロセッシングユニット(GPU)62と、該GPU6
2により描画された画像を記憶する例えば1メガバイト
のフレームバッファ63と、いわゆる離散コサイン変換
などの直行変換により圧縮されて符号化された画像デー
タを復号化する画像デコーダ(以下MDECと呼ぶ)6
4とを備えている。
【0047】GTE61は、例えば複数の演算を並列に
実行する並列演算機構を備え、CPU51のコプロセッ
サとして、CPU51からの演算要求に応じて座標変
換、光源計算、例えば固定小数点形式の行列やベクトル
の演算を高速に行うことができるようになっている。な
お、前述した図○55に対応させた場合、このGTE6
1が座標変換装置に相当することになる。
【0048】具体的には、このGTE61は、1つの三
角形状のポリゴンに同じ色で描画するフラットシェーデ
ィングを行う演算の場合では、1秒間に最大150万程
度のポリゴンの座標演算を行うことができるようになっ
ており、これによってこの画像処理システムでは、CP
U51の負荷を低減すると共に、高速な座標演算を行う
ことができるようになっている。
【0049】GPU62は、CPU51からのポリゴン
描画命令に従って動作し、フレームバッファ63に対し
て多角形(ポリゴン)等の描画を行う。このGPU62
は、1秒間に最大36万程度のポリゴンの描画を行うこ
とができるようになっている。また、このGPU62
は、CPU51とは独立した2次元のアドレス空間を持
ち、そこにフレームバッファ63がマッピングされるよ
うになっている。
【0050】フレームバッファ63は、いわゆるデュア
ルポートRAMからなり、GPU62からの描画あるい
はメインメモリ53からの転送と、表示のための読み出
しとを同時に行うことができるようになっている。
【0051】このフレームバッファ63は、例えば1メ
ガバイトの容量を有し、それぞれ16ビットの横102
4で縦512の画素のマトリックスとして扱われる。
【0052】このフレームバッファ63のうちの任意の
領域を例えばディスプレイ装置等のビデオ出力手段65
に出力することができるようになっている。
【0053】また、このフレームバッファ63には、ビ
デオ出力として出力される表示領域の他に、GPU62
がポリゴン等の描画を行う際に参照するカラールックア
ップテーブル(以下CLUTと呼ぶ)が記憶されるCL
UT領域と、描画時に座標変換されてGPU62によっ
て描画されるポリゴン等の中に挿入(マッピング)され
る素材(テクスチャ)が記憶されるテクスチャ領域が設
けられている。これらのCLUT領域とテクスチャ領域
は表示領域の変更等に従って動的に変更されるようにな
っている。すなわち、このフレームバッファ63は、表
示中の領域に対して描画アクセスを実行することがで
き、また、メインメモリ53との間で高速DMA転送を
行うことも可能となっている。
【0054】なお、上記GPU62は、上述のフラット
シェーディングの他にポリゴンの頂点の色から補間して
ポリゴン内の色を決めるグーローシェーディングと、上
記テクスチャ領域に記憶されているテクスチャをポリゴ
ンに張り付けるテクスチャマッピングを行うことができ
るようになっている。
【0055】これらのグーローシェーディング又はテク
スチャマッピングを行う場合には、上記GTE61は、
1秒間に最大50万程度のポリゴンの座標演算を行うこ
とができる。
【0056】MDEC64は、上記CPU51からの制
御により、CD−ROMディスクから読み出されてメイ
ンメモリ53に記憶されている静止画あるいは動画の画
像データを復号化して再びメインメモリ53に記憶す
る。具体的には、MDEC64は逆離散コサイン変換
(逆DCT)演算を高速に実行でき、ディスクから読み
出されたカラー静止画圧縮標準(いわゆるJPEG)や
蓄積メディア系動画像符号化標準(いわゆるMPEG、
但し、この例ではフレーム内圧縮のみ)の圧縮データの
伸張を行うことができるようになっている。
【0057】また、この再生された画像データは、GP
U62を介してフレームバッファ63に記憶することに
より、上述のGPU62によって描画される画像の背景
として使用することができるようにもなっている。
【0058】上記サウンドシステム70は、CPU51
からの指示に基づいて、楽音、効果音等を発生するサウ
ンド再生処理プロセッサ(SPU)71と、CD−RO
Mから読み出された音声,楽音等のデータや音源データ
等が記憶される例えば512キロバイトのサウンドバッ
ファ72と、SPU71によって発生される楽音、効果
音等を出力するサウンド出力手段としてのスピーカ73
とを備えている。
【0059】上記SPU71は、16ビットの音声デー
タを4ビットの差分信号として適応差分符号化(ADP
CM)された音声データを再生するADPCM復号機能
と、サウンドバッファ72に記憶されている音源データ
を再生することにより、効果音等を発生する再生機能
と、サウンドバッファ72に記憶されている音声データ
等を変調させて再生する変調機能等を備えている。すな
わち、当該SPU71は、ルーピングや時間を系数とし
た動作パラメータの自動変更などの機能を持つADPC
M音源24ボイスを内蔵し、CPU51からの操作によ
り動作する。また、SPU71は、サウンドバッファ7
2がマッピングされた独自のアドレス空間を管理し、C
PU51からサウンドバッファ72にADPCMデータ
を転送し、キーオン/キーオフやモジュレーション情報
を直接渡すことによりデータを再生する。
【0060】このような機能を備えることによってこの
サウンドシステム70は、CPU51からの指示によっ
てサウンドバッファ72に記録された音声データ等に基
づいて楽音、効果音等を発生するいわゆるサンプリング
音源として使用することができるようになっている。
【0061】上記光学ディスク制御部80は、CD−R
OMディスクである光学ディスクに記録されたプログラ
ム、データ等を再生するディスクドライブ装置81と、
例えばエラー訂正(ECC)符号が付加されて記録され
ているプログラム、データ等を復号するデコーダ82
と、ディスクドライブ装置81からの再生データを一時
的に記憶することにより、ディスクからの読み出された
データを記憶する例えば32キロバイトのバッファ83
とを備えている。すなわち、当該光学ディスク制御部8
0は、上記ドライブ装置81やデコーダ82等のディス
クの読み出しを行うために必要な部品類から構成されて
いる。なお、ここでは、ディスクフォーマットとしてC
D−DA、CD−ROM XAのデータをサポートでき
るようになっている。なお、デコーダ82はサウンドシ
ステム70の一部も構成している。また、ディスクドラ
イブ装置81で再生されるディスクに記録されている音
声データとしては、上述のADPCMデータ(CD−R
OM XAのADPCMデータ等)の他に音声信号をア
ナログ/デジタル変換したいわゆるPCMデータがあ
る。
【0062】ADPCMデータとして、例えば16ビッ
トのデジタルデータの差分を4ビットで表わして記録さ
れている音声データは、デコーダ82で誤り訂正と復号
化がなされた後、上述のSPU71に供給され、SPU
71でデジタル/アナログ変換等の処理が施された後、
スピーカ73を駆動するために使用される。
【0063】また、PCMデータとして、例えば16ビ
ットのデジタルデータとして記録されている音声データ
は、デコーダ82で復号化された後、スピーカ73を駆
動するために使用される。なお、当該デコーダ82のオ
ーディオ出力は、一旦SPU71に入り、当該SPU出
力とミックスされ、リバーブユニットを経由して最終の
オーディオ出力となる。
【0064】また、通信制御部90は、メインバスBを
介してCPU51との通信の制御を行う通信制御デバイ
ス91と、使用者からの指示を入力するコントローラ9
2と、ゲームの設定等を記憶するメモリカード93とを
備えている。
【0065】コントローラ92は、使用者の意図をアプ
リケーションに伝達するインタフェースであり、使用者
からの指示を入力するために、例えば16個の指示キー
を有し、通信制御デバイス91からの指示に従って、こ
の指示キーの状態を、同期式通信により、通信制御デバ
イス91に毎秒60回程度送信する。そして、通信制御
デバイス91は、コントローラ92の指示キーの状態を
CPU51に送信する。なお、コントローラ92は、本
体に2個のコネクタを有し、その他にマルチタップを使
用して多数のコントローラを接続することも可能となっ
ている。
【0066】これにより、使用者からの指示がCPU5
1に入力され、CPU51は、実行しているゲームプロ
グラム等に基づいて使用者からの指示に従った処理を行
う。また、CPU51は、実行しているゲームの設定等
を記憶する必要があるときに、該記憶するデータを通信
制御デバイス91に送信し、通信制御デバイス91はC
PU51からのデータをメモリカード93に記憶する。
【0067】このメモリカード93は、メインバスBか
ら分離されているため、電源を入れた状態で、着脱する
ことができるようになっている。これにより、ゲームの
設定等を複数のメモリカード93に記憶することができ
るようになっている。
【0068】また、この画像処理システムは、メインバ
スBに接続された16ビットパラレル入出力(I/O)
ポート101と、非同期式のシリアル入出力(I/O)
ポート102とを備えている。
【0069】そして、パラレルI/Oポート101を介
して周辺機器との接続を行うことができるようになって
おり、また、シリアルI/Oポート102を介して他の
ビデオゲーム装置等との通信を行うことができるように
なっている。
【0070】ところで、上記メインメモリ53、GPU
62、MDEC64及びデコーダ82等の間では、プロ
グラムの読み出し、画像の表示あるいは描画等を行う際
に、大量の画像データを高速に転送する必要がある。
【0071】このため、この画像処理システムでは、上
述のようにCPU51を介さずに周辺デハイスコントロ
ーラ52からの制御により上記メインメモリ53、GP
U62、MDEC64及びデコーダ82等の間で直接デ
ータの転送を行ういわゆるDMA転送を行うことができ
るようになっている。
【0072】これにより、データ転送によるCPU51
の負荷を低減させることができ、高速なデータの転送を
行うことができようになっている。
【0073】この画像処理システムでは、電源が投入さ
れると、CPU51が、ROM54に記憶されているオ
ペレーティングシステムを実行する。
【0074】このオペレーティングシステムに実行によ
り、CPU51は、上記グラフィックシステム60、サ
ウンドシステム70等の制御を行う。
【0075】また、オペレーティングシステムが実行さ
れると、CPU51は、動作確認等の装置全体の初期化
を行った後、光学ディスク制御部80を制御して、光学
ディスクに記録されているゲーム等のプログラムを実行
する。
【0076】このゲーム等のプログラムの実行により、
CPU51は、使用者からの入力に応じて上記グラフィ
ックシステム60、サウンドシステム70等を制御し
て、画像の表示、効果音、楽音の発生を制御するように
なっている。
【0077】次に、この画像処理システムにおけるディ
スプレイ上への表示について説明する。
【0078】上記GPU62は、フレームバッファ63
4内の任意の矩形領域の内容を、そのまま上記ビデオ出
力手段65の例えばCRT等のディスプレイ上に表示す
る。この領域を以下表示エリアと呼ぶ。上記矩形領域と
ディスプレイ画面表示の関係は、図2に示すようになっ
ている。
【0079】また、上記GPU62は、次の10個の画
面モードをサポートしている。
【0080】 〔モード〕 〔標準解像度〕 備考 モード0 256(H)×240(V) ノンインターレス モード1 320(H)×240(V) ノンインターレス モード2 512(H)×240(V) ノンインターレス モード3 640(H)×240(V) ノンインターレス モード4 256(H)×480(V) インターレス モード5 320(H)×480(V) インターレス モード6 512(H)×480(V) インターレス モード7 640(H)×480(V) インターレス モード8 384(H)×240(V) ノンインターレス モード9 384(H)×480(V) インターレス 画面サイズすなわちディスプレイ画面上のピクセル数は
可変で、図3のように、水平方向、垂直方向それぞれ独
立に表示開始位置(座標(DTX,DTY))、表示終
了位置(座標(DBX,DBY))を指定することがで
きる。
【0081】また、各座標に指定可能な値と画面モード
との関係は、以下のようになっている。なお、座標値の
DTX,DBXは4の倍数になるように設定する必要が
ある。したがって、最小画面サイズは、横4ピクセル、
縦2ピクセル(ノンインターレス時)又は4ピクセル
(インターレス時)になる。
【0082】〔X座標の指定可能範囲〕 〔モード〕 〔DTX〕 〔DBX〕 0,4 0〜276 4〜280 1,5 0〜348 4〜352 2,6 0〜556 4〜560 3,7 0〜700 4〜704 8,9 0〜396 4〜400 〔Y座標の指定可能範囲〕 〔モード〕 〔DTY〕 〔DBY〕 0〜3,8 0〜241 2〜243 4〜7,9 0〜480 4〜484 次に、GPU62は、表示色数に関するモードとして、
16ビットダイレクトモード(32768色)と、24
ビットダイレクトモード(フルカラー)の2つをサポー
トしている。上記16ビットダイレクトモード(以下1
6ビットモードと呼ぶ)は32768色表示モードであ
る。この16ビットモードでは、24ビットダイレクト
モード(以下24ビットモードと呼ぶ)に較べ表示色数
に限りはあるが、描画時のGPU62内部での色計算は
24ビットで行われ、また、いわゆるディザ機能も搭載
しているので、疑似フルカラー(24ビットカラー)表
示が可能となっている。また、上記24ビットモード
は、16777216色(フルカラー)表示のモードで
ある。但し、フレームバッファ63内に転送されたイメ
ージデータの表示(ビットマップ表示)のみが可能で、
GPU62の描画機能を実行することはできない。ここ
で、1ピクセルのビット長は24ビットとなるが、フレ
ームバッファ63上での座標や表示位置の値は16ビッ
トを基準として指定する必要がある。すなわち、640
×480の24ビット画像データは、フレームバッファ
63中では960×480として扱われる。また、前記
座標値DBXは8の倍数になるように設定する必要があ
り、したがって、この24ビットモードでの最小画面サ
イズは横8×縦2ピクセルになる。
【0083】また、GPU62には、1×1ドット〜2
56×256ドットのスプライトに対して、4ビットC
LUT(4ビットモード、16色/スプライト)や8ビ
ットCLUT(8ビットモード、256色/スプライ
ト),16ビットCLUT(16ビットモード、327
68色/スプライト)等が可能なスプライト描画機能
と、ポリゴン(三角形や四角形等の多角形)の各頂点の
画面上の座標を指定して描画を行うと共に、ポリゴン内
部を同一色で塗りつぶすフラットシェーディング、各頂
点に異なる色を指定して内部をグラデーションするグー
ローシェーディング、ポリゴン表面に2次元のイメージ
データ(テクスチャパターン)を用意して張り付けるテ
クスチャマッピング等を行うポリゴン描画機能と、グラ
デーションが可能な直線描画機能と、CPU51からフ
レームバッファ63への転送、フレームバッファ63か
らCPU51への転送、フレームバッファ63からフレ
ームバッファ63への転送等のイメージ転送機能と、そ
の他の機能として、各ピクセルの平均をとって半透明化
する機能(各ピクセルのピクセルデータを所定比率αで
混合することからαブレンディング機能と呼ばれる)、
色の境界にノイズを乗せてぼかすディザ機能、描画エリ
アを越えた部分を表示しない描画クリッピング機能、描
画エリアに応じて描画原点を動かすオフセット指定機能
等が搭載されている。
【0084】また、描画を行う座標系は符号付きの11
ビットを単位としており、X,Yそれぞれに−1024
〜+1023の値をとる。また、図4に示すように、本
実施例でのフレームバッファ63のサイズは1024×
512となっているので、はみ出した部分は折り返すよ
うになっている。描画座標の原点は、座標値のオフセッ
ト値を任意に設定する機能により、フレームバッファ6
3内で自由に変更することができる。また、描画は、描
画クリッピング機能により、フレームバッファ63内の
任意の矩形領域に対してのみ行われる。
【0085】さらに、GPU62は、最大256×25
6ドットのスプライトをサポートしており、縦,横それ
ぞれの値を自由に設定することができる。
【0086】上記スプライトに張りつけるイメージデー
タ(スプライトパターン)は、図5に示すように、フレ
ームバッファ63の非表示領域に配置する。スプライト
パターンは、描画コマンド実行に先立ってフレームバッ
ファ63に転送される。スプライトパターンは、256
×256ピクセルを1ページとして、フレームバッファ
63上にメモリの許す限り何枚でも置くことができ、こ
の256×256の領域をテクスチャページと呼んでい
る。1枚のテクスチャページの場所は、描画コマンドの
TSBと呼ぶテクスチャページの位置(アドレス)指定
のためのパラメータに、ページ番号を指定することで決
定される。
【0087】スプライトパターンには、4ビットCLU
T(4ビットモード)、8ビットCLUT(8ビットモ
ード)、16ビットCLUT(16ビットモード)の3
種類の色モードがある。4ビットCLUT及び8ビット
CLUTの色モードでは、CLUTを使用する。
【0088】このCLUTとは、図6に示すように、最
終的に表示される色を表す3原色のR,G,B値が16
乃至256個、フレームバッファ63上に並んだもので
ある。各R,G,B値はフレームバッファ63上の左か
ら順に番号付けされており、スプライトパターンはこの
番号により各ピクセルの色を表す。また、CLUTはス
プライト単位で選択でき、全てのスプライトに対して独
立したCLUTを持つことも可能である。また、図6に
おいて、1個のエントリは16ビットモードの1ピクセ
ルと同じ構造となっており、したがって、1セットのC
LUTは1×16(4ビットモード時)、1×255
(8ビットモード時)のイメージデータと等しくなる。
フレームバッファ63内でのCLUTの格納位置は、描
画コマンド内のCBAと呼ぶCLUTの位置(アドレ
ス)指定のためのパラメータに、使用するCLUTの左
端の座標を指定することで決定する。
【0089】さらに、スプライト描画の概念を模式的に
示すと図7のように表すことができる。なお、図7中の
描画コマンドのU,Vはテクスチャページのどの位置か
を横(U),縦(V)で指定するパラメータであり、
X,Yは描画エリアの位置を指定するためのパラメータ
である。
【0090】また、GPU62は、動画表示の方式とし
て、フレームダブルバッファリングという手法を用いる
ようにしている。このフレームダブルバッファリングと
は、図8に示すように、フレームバッファ63上に2つ
の矩形領域を用意し、一方のエリアに描画をしている間
はもう片側を表示し、描画が終了したら2つのエリアを
お互いに交換するものである。これにより、書き換えの
様子が表示されるのを回避することができることにな
る。なお、バッファの切り換え操作は、垂直帰線期間内
に行う。また、GPU62では、描画の対象となる矩形
領域と座標系の原点を自由に設定できるので、この2つ
を移動させることにより、複数のバッファを実現するこ
とも可能である。
【0091】次に、この画像処理システムで取り扱う画
報情報すなわち本発明に係る画像情報生成方法により生
成する画報情報のデータ構造について説明する。
【0092】本発明に係る画像情報生成方法により生成
する画報情報のデータフォーマットの全体像を図9に示
す。
【0093】すなわち、画像情報生成方法により生成す
る画報情報は、図9に示すように、ブロックヘッダ、セ
クションヘッダ及びセクションの各要素から構成され
る。上記セクションとしては、種類に応じてたプリミテ
ィブセクション、コーディネートセクション、イメージ
セクション、バーテックスセクション、ノーマルセクシ
ョンやアニメーションセクションなどが設けられる。こ
のセクションを拡張することで、様々なデータフォーマ
ットを追加することができる。
【0094】ブロックは、その構造を図10に示すよう
に、後述するプリミティブ集合がリンクされた構造にな
っており、リンクの最後がターミネータで終了してい
る。ブロックヘッダは、最初の要素と最後の要素を除
き、ブロックの先頭アドレスを羅列している。
【0095】プリミティブは、その構造を図11に示す
ように、タイプと呼ばれる識別子と、処理ドライバへの
ポインタと、プリミティブデータから成る。但し、上記
プリミティブを構成する識別子とポインタは兼用するよ
うにしてもよい。初期化の際に識別子すなわちタイプを
見てそのタイプに応じてそのプリミティブデータを処理
するのに適当な関数の先頭アドレスを処理ドライバポイ
ンタに埋め込むことによって、ブロックヘッダが示すブ
ロックの先頭アドレスを次々に読み出すことで処理を行
うことができる。
【0096】プリミティブ集合は、複数のプリミティブ
をまとめたものであって、その構造を図12に示すよう
に、次のプリミティブ集合へのリンク、セクションヘッ
ダポインタ、各プリミティブプリからなる。プリミティ
ブ集合の先頭は、セクションヘッダの中のアドレスをポ
イントしている。セクションヘッダは各セクションの先
頭アドレスが羅列さている領域であり、ブロックの中で
参照されるセクションの先頭アドレスを知らせるために
先頭にセクションヘッダ中へのポインタがある。
【0097】ここで、処理ドライバとの引数の受け渡し
について説明する。
【0098】処理ドライバとの引数の受け渡しは、メモ
リ上の特定の領域を用いて行う。ここでは、ブロックを
先頭から呼び出す関数を基幹関数と呼び、この基幹関数
が例えば図13に示すようにメモリ上の特定の引数領域
に対して、引数のセットアップを行う。
【0099】上記基幹関数による処理ドライバの呼び出
しは、例えばブロックヘッダの要素block top、全ての
処理ドライバに対して共通の引数セットの先頭アドレス
paraml、引数領域の先頭を示すポインタarg areaを用い
て、基幹関数(block top,paraml,arg area)により行
う。
【0100】基幹関数は、プリミティブ領域の先頭アド
レスをarg areaの最初に、paramlで与えられる引数をar
g areaの次に展開し、その後、block topから辿って最
初のセクションヘッダを先ほど展開した領域に続けて展
開し、最初のプリミティブドライバを呼び出す。そし
て、最初のプリミティブドライバの呼び出し実行が完了
したら次のプリミティブドライバへとターミネータに出
会うまで次々にプリミティブドライバを呼び出す。
【0101】この基幹関数による処理ドライバの呼び出
し手順を図14のフローチャートに示してある。
【0102】すなわち、処理ドライバを呼び出すには、
先ず最初のプリミティブ集合について引数領域へのセッ
トアップを行い(ステップS1)、その後にタイプの数
が0であるか否かを判定する(ステップS2)。そし
て、ステップS2における判定結果が「NO」すなわち
タイプの数が0でなければ、処理ドライバを読み出し
(ステップS3)、次の処理ドライバを辿り(ステップ
S4)、タイプの数をデクリメントして(ステップS
5)、上記ステップS2に戻って再度タイプの数が0で
あるか否か判定し、タイプの数が0になるまで上記ステ
ップS2からステップS5の処理を繰り返すことによ
り、そのプリミティブ集合の処理に必要な全ての処理ド
ライバを呼び出す。
【0103】そして、上記ステップS2における判定結
果が「YES」すなわちタイプの数が0になったら、タ
ーミネータか否かを判定する(ステップS6)。
【0104】このステップS6における判定結果が「N
O」すなわちターミネータでなければ、次のプリミティ
ブ集合を辿り(ステップS7)、上記ステップS1に戻
って次のプリミティブ集合について引数領域へのセット
アップを行い、上述の上記ステップS2からステップS
5の処理を繰り返すことにより、そのプリミティブ集合
の処理に必要な全ての処理ドライバを呼び出す。
【0105】上記ステップS1からステップS7の処理
を繰り返し行うことにより、全てのプリミティブ集合に
ついて、その処理に必要な全ての処理ドライバを呼び出
し、上記ステップS6における判定結果が「YES」す
なわちターミネータになれば、処理を終了する。次に、
上述の如き画報情報(以下、この画像情報をHMDとい
う。)としてモデルデータ、テクスチャデータ、アニメ
ーションデータなど各種データを統一的な枠組で管理す
るためのデータ構造(以下、このデータ構造をHMDと
いう。)について、さらに具体的に説明する。
【0106】HMDには、モデルデータ、テクスチャデ
ータ、アニメーションデータなど各種データが格納さ
れ、それぞれのカテゴリのデータはローカルなフォーマ
ットを持つことが可能になっている。先ず。各カテゴリ
に共通するHDMの構造について説明する。
【0107】HDMは、図15に示すように、HDMヘ
ッダ部とHDMボディ部の2つの領域を有し、HDMボ
ディ部がセクションと呼ばれる複数の領域から構成され
る。セクションのうちプリミティブセクション及びプリ
ミティブヘッダセクションは必須であり、プリミティブ
セクションのタイプにより他のセクションが必要に応じ
て付加される。図15はコーディネートセクションが付
加されている場合を示している。
【0108】なお、以下の説明において、ポインタはメ
モリ上で実アドレスに変換され、この変換をマップ呼
ぶ。また、ポインタは各図において網掛けを施して示し
てある。このポインタの初期値はHMDの先頭からのワ
ード数である。マップはGsMapUnit()関数により行われ
る。インデックスはそれぞれのTOPアドレスからのオ
フセットでありワード単位で示されている。
【0109】上記HDMヘッダ部のHMDヘッダには、
図16に示すように、バージョン情報ID、MAP FLAG、
プリミティブヘッダセクショントップポインタ、ブロッ
ク数と情報が入る。MAP FLAGは、GsMapUnit()が行われ
たか否かを示すフラグであり、GsMapUnit()により参照
・書き込みが行われる。プリミティブヘッダセクション
トップポインタは、プリミティブヘッダセクションの先
頭アドレスを示すポインタである。ブロック数は、プリ
ミティブブロックへのポインタの数を示す。そして、上
記ブロック数の後の情報として、それぞれのプリミティ
ブブロックへのポインタがリストされる。
【0110】上記HDMボディ部のプリミティブセクシ
ョンは、複数のプリミティブブロックの集合体として定
義される領域である。
【0111】プリミティブは、図17に示すように、各
々ポインタでチェーンされて1つのプリミティブブロッ
クを構成する。HMDには1つ以上のプリミティブブロ
ックが格納される。
【0112】また、プリミティブは、図18に示すよう
に、1つのコントロール部と1以上のデータ部からな
る。
【0113】コントロール部には、Next Prim ポイン
タ、プリミティブヘッダポインタ及びタイプの数が入
る。Next Prim ポインタには、プリミティブチェーンを
実現するために次のプリミティブの先頭ポインタが入
る。次のプリミティブが存在しない場合は、Next Prim
ポインタにターミネータが入る。プリミティブヘッダポ
インタは、プリミティブヘッダへのポインタである。タ
イプの数は、データ部の数を示すものであり、MSBが
そのプリミティブのNext Prim ポインタとプリミティブ
ヘッダポインタがマップされたか否かのフラグになって
いる。
【0114】データ部には、type、データ数・サイズ及
びデータが入る。typeは、そのデータの識別子であり、
後述するSCANによりそのデータを処理するドライバの先
頭アドレスに書き換えられる。typeは、HMDフォーマ
ット内でユニークな識別子であり、このtypeを変えるこ
とでデータの内容及びドライバを切り換えることを可能
にしている。データ数・サイズは、上位16で1つのデ
ータ部に含まれるデータ数を示す。1つのtypeは、通常
複数のまとまりのデータを処理するがその処理を何回廻
すかを決定する。また、データ数・サイズは、下位16
で1データ部のサイズを示す。そして、データには、ty
peによって様々なフォーマットをとることができる実際
のデータが入れられる。
【0115】プリミティブヘッダは、1つのHMDデー
タの中でまとめられプリミティブヘッダセクションを構
成する。上記プリミティブヘッダセクションへのポイン
タはHMDヘッダの中に書かれている。
【0116】プリミティブヘッダは、その構造を図19
に示してあるように、最初の1ワードがプリミティブヘ
ッダのサイズであり、次から各セクションへのポインタ
が入る。プリミティブヘッダは、1プリミティブブロッ
クで共用され、そのプリミティブブロックが関連して参
照するセクションへのポインタを与える。
【0117】各セクションへのポインタは、MSBに1
を立てていることにより識別されマップされる。MSB
が0の場合は、各セクションへのポインタではなく数値
と解釈されマップは行われない。MSBが0のポインタ
は、プリミティブドライバにパラメータを渡す場合に使
用される。
【0118】上記プリミティブは、プリミティブヘッ
ダ、プリミティブドライバ、データの3つの部分に分け
られ、それらの相互関係が図20に示すようになってい
る。プリミティブヘッダは、関連するセクションデータ
の先頭ポインタを保持しており、プリミティブのタイプ
によって様々なセクションを参照する。プリミティブの
データは、関連するセクションと合わせて評価される。
【0119】データの評価は、プリミティブドライバに
よって行われる。プリミティブドライバは、typeによっ
て識別され、ドライバの先頭アドレスがtypeフィールド
に上書きされる。この変換をSCANと呼ぶ。SCANは、GsSc
anUnit()を用いてtypeフィールドのアドレスとtypeの値
をプリミティブ毎に取り出し、typeフィールドにプリミ
ティブドライバの先頭アドレスを設定することで行う。
【0120】次に、モデルデータの概要について説明す
る。
【0121】モデルデータは、HMDヘッダセクショ
ン、プリミティブヘッダセクション、コーディネートセ
クション、プリミティブセクション、ポリゴンセクショ
ン及びバーテックスセクションを必須で持ち、必要に応
じて、ノーマルセクションやイメージセクションを持つ
場合もある。モデルデータは、座標系を含み、座標毎に
プリミティブブロックが異なる。HMDプリミティブヘ
ッダセクションは、複数のプリミティブヘッダがまとめ
られて配置される。モデルデータの構成例として、共有
頂点型HMDの全体構成を、図21,図22及び図23
に示す。
【0122】HMDヘッダセクションには、図24に示
すように、バージョンID、MAP FLAG、プリミティブヘ
ッダセクショントップポインタ、ブロック数とプリミテ
ィブブロックポインタテーブルが入る。バージョンID
には、HMDフォーマットのバージョン番号が入る。MA
P FLAGは、マックされた否かを示すフラグであり、GsMa
pUnit()により参照及びセットが行われる。プリミティ
ブヘッダセクショントップポインタは、プリミティブヘ
ッダセクションへのポインタ(ワード単位で先頭からの
オフセット値)である。プリミティブヘッダセクション
のデータでMSBが1の要素はGsMapUnit()によりマッ
プされる。ブロック数は、ブロックの数を示す。1コー
ディネート1ブロック、及びPRE-PROCESS,POST-PROCESS
のブロックがあるのでコーディネート数+2となる。そ
して、プリミティブブロックポインタテーブルは、図2
5に示すように、ブロック毎にプリミティブブロックへ
のポインタが入る。先頭のブロックBLOCK0はPRE-PROCES
S用でありコーディネートを持たない。次のブロックBLO
CK1からそれぞれコーディネートトップからインデック
スで対応させる。最後のブロックBLOCKN+1はPOST-PROSC
ESSでありコーディネートを持たない。
【0123】コーディネートセクションには、それぞれ
のブロックの座標系のデータが入る。先頭の1ワードは
コーディネートの数を示す。このコーディネートセクシ
ョンの形式は、 GsCOORDUNIT{ unsigned long flg; MATRIX matrix; MATRIX workm; SVECTOR rot; struct GsCOODUNIT *super; } により定義されるCOORDUNIT形式となっている。プリミ
ティブヘッダセクションは、1プリミティブブロックで
グローバルな情報を格納する領域である。複数のプリミ
ティブヘッダが集められプリミティブヘッダセクション
が構成される。GsSortUnit()は、プリミティブドライバ
をコピーする場合、図26に示すような情報の変数受け
渡し領域にコピーする。コピーされる数はヘッダサイズ
として格納されている。したがって、プリミティブドラ
イバは、プリミティブヘッダの情報を参照できる。プリ
ミティブヘッダにはノーマルやバーテックなどのセクシ
ョンへの先頭ポインタが入っているのでドライバはそれ
らのセクションの情報を参照することができる。ポイン
タでない通常の数を参照するため、マップをするか否か
は最上位ビットで判断する。
【0124】プリミティブセクションは、複数のプリミ
ティブブロックから構成され、それぞれのブロックが1
つのコーディネートと対応している。1つのプリミティ
ブブロックは複数のプリミティブから構成されている。
モデルデータの場合、最初のプリミティブは独立頂点用
のデータを格納している。次のブロックは共有頂点デー
タを格納しているプリミティブである。ただし、共有頂
点用プリミティブ及び独立頂点用プリミティブはなけれ
ば省略することができる。
【0125】プリミティブは、複数のtypeのデータから
構成される。プリミティブは、その構造を図27に示す
ように、上位3ワードがコントロール部であり、Next P
rimポインタ、プリミティブヘッダポインタ及びタイプ
の数から構成される。タイプの数の最上位ビットは、Ne
xt Prim ポインタとプリミティブヘッダポインタがマッ
プされたか否かのフラグmになっている。
【0126】プリミティブのデータ部は、1単位3ワー
ドであり識別のためのコードtypeとそのtypeに含まれる
データのポリゴン数及び実際のポリゴンデータへのポイ
ンタであるPOLYGONIDXからなり、これがコントロール部
のタイプの数だけ繰り返されている。
【0127】ポリゴン数・サイズは、そのtypeに含まれ
るポリゴンの数とそのtypeを含まれるデータのサイズを
格納すすものであって、その最上位ビットがSCAN済みか
否かを示すフラグsとなっている。
【0128】typeフィードは、図28に示すように32
ビットあり、4つのビット列にカテゴライズされてい
る。上位8ビットが全てのカテゴリで共通の情報であ
る。全カテゴリ共通の情報として、DEVELOPPER IDに
は、このフォーマットを作成したデベロッパのIDが登
録される。また、CATEGORYには、ポリゴンデータ[カテ
ゴリ0]、共有ポリゴンデータ[カテゴリ1]、イメー
ジデータ[カテゴリ2]、アニメーションデータ[カテ
ゴリ3]やMIMeデータ[カテゴリ4]など全16カテゴ
リを示す情報が入る。
【0129】ポリゴンデータ[カテゴリ0]では、ドラ
イバとして、プリミティブデータの形は同一であるがプ
リミティブの振る舞いを違えたい場合のために図29に
示すDIV,FOG,LGT,BCL,BOT,ST
P,CLP,INIの8ビットを定義してある。
【0130】DIVは分割を行うか否かを示す。FOG
は霧のオン・オフを示す。LGTは光源計算を行うか否
かを示す。BCLはバッククリップ正論理かバッククリ
ック負論理かを示す。BOTは片面ポリゴンか両面ポリ
ゴンかを示す。STPは通常(元の状態を維持する。)
か全てを半透明にするかを示す。CLPはクリップする
か否かを示す。INIは初期化タイプか否かを示す。な
お、初期化タイプは、そのtypeをSCANするときに初期化
用の関数を呼び出して環境をセットアップするためのも
のである。初期化に出現するタイプにはこのビットが立
っている場合がある。
【0131】また、プリミティブの形が異なる場合に、
プリミティブタイプとして、図30に示すように、1つ
1つ別のビットを割り当てる。図30におけるTMEは
テクスチャマッピングを行うか否かを示す。COLは同
一ポリゴン内で1材質カラーであるか、頂点毎とにカラ
ーがあるかをを示す。IIPはフラットポリゴンかグー
ローポリゴンかを示す。CODEはポリゴンの形状(直
線[0],三角形[1],四角形[2],ストリップメ
ッシュ[3]、スプライト[4])を示す。LMDは法
線の有無を示す。MIPはミップマップの有無を示す。
PSTはプリセット無しか、プリセットパケットかを示
す。TILEは繰り返しテクスチャのための情報の有無
を示す。MIMeは通常のポリゴンかMIMeポリゴン
かを示す。
【0132】ポリゴンセクションは、ポリゴンの結線情
報を格納する領域である。この結線情報をPACKETと呼
ぶ。PACKETは、TYPEにより種類分けされ、インデックス
で参照されるNORMAL,VERTEXのフィールドの他、直接値
が書き込まれる RGB等のフィールドがある。
【0133】ポリゴンのタイプの形状としては、 三角
形[1],四角形[2],メッシュ[3]等があり、メ
ッシュ[3]の場合は先頭のnumフィールドで結線数を
指定する。
【0134】上記PACKETでは、ポリゴンタイプで光源計
算ありの場合、図31乃至図54に示すような各種デー
タ構造を定議することができる。
【0135】単色フラットポリゴンのテクスチャ無し三
角形(Flat No-Texture Triangle)は、図31に示すデ
ータ構造で定議される。
【0136】単色グーローポリゴンのテクスチャ無し三
角形(Gouraud No-Texture Triangle)は、図32に示
すデータ構造で定議される。
【0137】色付きフラットポリゴンのテクスチャ無し
三角形(Colored Flat No-TextureTriangle)は、図3
3に示すデータ構造で定議される。
【0138】色付きグーローポリゴンのテクスチャ無し
三角形(Colored Gouraud No-Texture Triangle)は、
図34に示すデータ構造で定議される。
【0139】単色フラットポリゴンのテクスチャ有り三
角形(Flat Texture Triangle)は、図35に示すデー
タ構造で定議される。
【0140】単色グーローポリゴンのテクスチャ有り三
角形(Gouraud Texture Triangle)は、図36に示すデ
ータ構造で定議される。
【0141】色付きフラットポリゴンのテクスチャ有り
三角形(Colored Flat Texture Triangle)は、図37
に示すデータ構造で定議される。
【0142】色付きグーローポリゴンのテクスチャ有り
三角形(Colored Gouraud TextureTriangle)は、図3
8に示すデータ構造で定議される。
【0143】単色フラットポリゴンのテクスチャ無し四
角形(Flat No-Texture Quad)は、図39に示すデータ
構造で定議される。
【0144】単色グーローポリゴンのテクスチャ無し四
角形(Gouraud No-Texture Quad)は、図40に示すデ
ータ構造で定議される。
【0145】色付きフラットポリゴンのテクスチャ無し
四角形(Colored Flat No-TextureQuad)は、図41に
示すデータ構造で定議される。
【0146】色付きグーローポリゴンのテクスチャ無し
四角形(Colored Gouraud No-Texture Quad)は、図4
2に示すデータ構造で定議される。
【0147】単色フラットポリゴンのテクスチャ有り四
角形(Flat Texture Quad)は、図43に示すデータ構
造で定議される。
【0148】単色グーローポリゴンのテクスチャ有り四
角形(Gouraud Texture Quad)は、図44に示すデータ
構造で定議される。
【0149】色付きフラットポリゴンのテクスチャ有り
四角形(Colored Flat Texture Quad)は、図45に示
すデータ構造で定議される。
【0150】色付きグーローポリゴンのテクスチャ有り
四角形(Colored Gouraud TextureQuad)は、図46に
示すデータ構造で定議される。
【0151】単色フラットポリゴンのテクスチャ無しメ
ッシュ(Flat No-Texture Mesh)は、図47に示すデー
タ構造で定議される。
【0152】単色グーローポリゴンのテクスチャ無しメ
ッシュ(Gouraud No-Texture Mesh)は、図48に示す
データ構造で定議される。
【0153】色付きフラットポリゴンのテクスチャ無し
メッシュ(Colored Flat No-Texture Mesh)は、図49
に示すデータ構造で定議される。
【0154】色付きグーローポリゴンのテクスチャ無し
メッシュ(Colored Gouraud No-Texture Mesh)は、図
50に示すデータ構造で定議される。
【0155】単色フラットポリゴンのテクスチャ有りメ
ッシュ(Flat Texture Mesh)は、図51に示すデータ
構造で定議される。
【0156】単色グーローポリゴンのテクスチャ有りメ
ッシュ(Gouraud Texture Mesh)は、図52に示すデー
タ構造で定議される。
【0157】色付きフラットポリゴンのテクスチャ有り
メッシュ(Colored Flat Texture Mesh)は、図53に
示すデータ構造で定議される。
【0158】色付きグーローポリゴンのテクスチャ有り
メッシュ(Colored Gouraud Texture Mesh)は、図54
に示すデータ構造で定議される。
【0159】また、上記PACKETでは、ポリゴンタイプで
光源計算無し(法線を含まないモデルデータ)の場合、
図55乃至図66に示すような各種データ構造を定議す
ることができる。
【0160】単色フラットポリゴンのテクスチャ無し三
角形(Flat No-Texture Triangle)は、図55に示すデ
ータ構造で定議される。
【0161】単色グーローポリゴンのテクスチャ無し三
角形(Gouraud No-Texture Triangle)は、図56に示
すデータ構造で定議される。
【0162】単色フラットポリゴンのテクスチャ有り三
角形(Flat Texture Triangle)は、図57に示すデー
タ構造で定議される。
【0163】単色グーローポリゴンのテクスチャ有り三
角形(Gouraud Texture Triangle)は、図58に示すデ
ータ構造で定議される。
【0164】単色フラットポリゴンのテクスチャ無し四
角形(Flat No-Texture Quad)は、図59に示すデータ
構造で定議される。
【0165】単色グーローポリゴンのテクスチャ無し四
角形(Gouraud No-Texture Quad)は、図60に示すデ
ータ構造で定議される。
【0166】単色フラットポリゴンのテクスチャ有り四
角形(Flat Texture Quad)は、図61に示すデータ構
造で定議される。
【0167】単色グーローポリゴンのテクスチャ有り四
角形(Gouraud Texture Quad)は、図62に示すデータ
構造で定議される。
【0168】単色フラットポリゴンのテクスチャ無しメ
ッシュ(Flat No-Texture Mesh)は、図63に示すデー
タ構造で定議される。
【0169】単色グーローポリゴンのテクスチャ無しメ
ッシュ(Gouraud No-Texture Mesh)は、図64に示す
データ構造で定議される。
【0170】単色フラットポリゴンのテクスチャ有りメ
ッシュ(Flat Texture Mesh)は、図65に示すデータ
構造で定議される。
【0171】単色グーローポリゴンのテクスチャ有りメ
ッシュ(Gouraud Texture Mesh)は、図66に示すデー
タ構造で定議される。
【0172】また、上記PACKETでは、繰り返しテクスチ
ャで光源計算ありの場合、図67乃至図78に示すよう
な各種データ構造を定議することができる。
【0173】ここで、TUMはテクスチャパターンU座
標の繰り返しマスク、TVMはテクスチャパターンV座
標の繰り返しマスク、TUAはテクスチャパターン繰り
返しU上位アドレス、TVAはテクスチャパターン繰り
返しV上位アドレスである。繰り返しテクスチャのパケ
ットは、1パケット内で繰り返しパラメータ記述子を最
初に付加し、リセットパラメータを最後に付加すること
により、繰り返しのないデータとの共存を図ることがで
きる。
【0174】すなわち、繰り返しテクスチャで光源計算
ありの場合、単色フラットポリゴンのテクスチャ有り三
角形(Flat Texture Triangle)は、図67に示すデー
タ構造で定議される。
【0175】単色グーローポリゴンのテクスチャ有り三
角形(Gouraud Texture Triangle)は、図68に示すデ
ータ構造で定議される。
【0176】色付きフラットポリゴンのテクスチャ有り
三角形(Colored Flat Texture Triangle)は、図69
に示すデータ構造で定議される。
【0177】色付きグーローポリゴンのテクスチャ有り
三角形(Colored Gouraud TextureTriangle)は、図7
0に示すデータ構造で定議される。
【0178】単色フラットポリゴンのテクスチャ有り四
角形(Flat Texture Quad)は、図71に示すデータ構
造で定議される。
【0179】単色グーローポリゴンのテクスチャ有り四
角形(Gouraud Texture Quad)は、図72に示すデータ
構造で定議される。
【0180】色付きフラットポリゴンのテクスチャ有り
四角形(Colored Flat Texture Quad)は、図73に示
すデータ構造で定議される。
【0181】色付きグーローポリゴンのテクスチャ有り
四角形(Colored Gouraud TextureQuad)は、図74に
示すデータ構造で定議される。
【0182】単色フラットポリゴンのテクスチャ有りメ
ッシュ(Flat Texture Mesh)は、図75に示すデータ
構造で定議される。
【0183】単色グーローポリゴンのテクスチャ有りメ
ッシュ(Gouraud Texture Mesh)は、図76に示すデー
タ構造で定議される。
【0184】色付きフラットポリゴンのテクスチャ有り
メッシュ(Colored Flat Texture Mesh)は、図77に
示すデータ構造で定議される。
【0185】色付きグーローポリゴンのテクスチャ有り
メッシュ(Colored Gouraud Texture Mesh)は、図78
に示すデータ構造で定議される。
【0186】また、上記PACKETでは、繰り返しテクスチ
ャで光源計算なしの場合、図79乃至図84に示すよう
な各種データ構造を定議することができる。
【0187】単色フラットポリゴンのテクスチャ有り三
角形(Flat Texture Triangle)は、図79に示すデー
タ構造で定議される。
【0188】単色グーローポリゴンのテクスチャ有り三
角形(Gouraud Texture Triangle)は、図80に示すデ
ータ構造で定議される。
【0189】単色フラットポリゴンのテクスチャ有り四
角形(Flat Texture Quad)は、図81に示すデータ構
造で定議される。
【0190】単色グーローポリゴンのテクスチャ有り四
角形(Gouraud Texture Quad)は、図82に示すデータ
構造で定議される。
【0191】単色フラットポリゴンのテクスチャ有りメ
ッシュ(Flat Texture Mesh)は、図83に示すデータ
構造で定議される。
【0192】単色グーローポリゴンのテクスチャ有りメ
ッシュ(Gouraud Texture Mesh)は、図84に示すデー
タ構造で定議される。
【0193】さらに、上記PACKETでは、プリセット型モ
デルデータとして、図85乃至図96に示すような各種
データ構造を定議することができる。
【0194】単色フラットポリゴンのテクスチャ無し三
角形(Flat No-Texture Triangle)は、図85に示すデ
ータ構造で定議される。
【0195】単色グーローポリゴンのテクスチャ無し三
角形(Gouraud No-Texture Triangle)は、図86に示
すデータ構造で定議される。
【0196】単色フラットポリゴンのテクスチャ有り三
角形(Flat Texture Triangle)は、図87に示すデー
タ構造で定議される。
【0197】単色グーローポリゴンのテクスチャ有り三
角形(Gouraud Texture Triangle)は、図88に示すデ
ータ構造で定議される。
【0198】単色フラットポリゴンのテクスチャ無し四
角形(Flat No-Texture Quad)は、図89に示すデータ
構造で定議される。
【0199】単色グーローポリゴンのテクスチャ無し四
角形(Gouraud No-Texture Quad)は、図90に示すデ
ータ構造で定議される。
【0200】単色フラットポリゴンのテクスチャ有り四
角形(Flat Texture Quad)は、図91に示すデータ構
造で定議される。
【0201】単色グーローポリゴンのテクスチャ有り四
角形(Gouraud Texture Quad)は、図92に示すデータ
構造で定議される。
【0202】単色フラットポリゴンのテクスチャ無しメ
ッシュ(Flat No-Texture Mesh)は、図93に示すデー
タ構造で定議される。
【0203】単色グーローポリゴンのテクスチャ無しメ
ッシュ(Gouraud No-Texture Mesh)は、図94に示す
データ構造で定議される。
【0204】単色フラットポリゴンのテクスチャ有りメ
ッシュ(Flat Texture Mesh)は、図95に示すデータ
構造で定議される。
【0205】単色グーローポリゴンのテクスチャ有りメ
ッシュ(Gouraud Texture Mesh)は、図96に示すデー
タ構造で定議される。
【0206】また、上記共有ポリゴンデータ[カテゴリ
1]を処理するための共有プリミティブドライバには、
PRE-CALICULATIONドライバと共有ドライバの2種類があ
る。
【0207】PRE-CALICULATIONドライバは、VERTEXに関
して3次元の共有頂点列から透視変換後の2次元の頂点
列への計算を行い、またNORMALに関しては頂点色を計算
する。このPRE-CALICULATIONドライバは、コーディネー
ト毎に呼び出される必要があり、各プリミティブブロッ
クにチェーンする形でtypeフィールド0X01000000により
呼び出される。
【0208】共有ドライバは、PRE-CALICULATIONドライ
バにより既に計算の終わった頂点列からデータを取り出
しGPU PACKETを作成してOTへ登録する。この共有ドラ
イバは、最後に呼び出される必要があり、POST-PROCESS
のプリミティブブロックにチェーンする形で呼び出され
る。DRIVERの8ビットは全て0とされる。
【0209】また、プリミティブの形が異なる場合に、
プリミティブタイプとして、図97に示すように、TM
Eはテクスチャマッピングを行うか否かを示すTME、
同一ポリゴン内で1材質カラーであるか、頂点毎とにカ
ラーがあるかをを示すCOL、フラットポリゴンかグー
ローポリゴンかを示すIIP、ポリゴンの形状(直線
[0],三角形[1],四角形[2],ストリップメッ
シュ[3]、スプライト[4])を示すMODEを割り
当てる。
【0210】共有ドライバの参照する結線情報のフォー
マットは独立ポリゴンのPACKETと等しい。この共有ドラ
イバが参照する計算済み領域のフォーマットは、VER
TEXでは図98に示すようになっており、また、NO
RMALでは図99に示すようになっている。
【0211】そして、共有ポリゴンの処理では、図10
0に破線の矢印で示すフローがPRE-CALICULATIONドライ
バにより処理され、コーディネート毎に頂点及び法線の
計算が行われる。また、図100に実線の矢印で示すフ
ローが共有ドライバにより処理され、上記PRE-CALICULA
TIONドライバにより処理済みの頂点情報や色情報を利用
してGPU PACKETが作成される。なお、結線情報のフォー
マットは独立のPACKETフォーマットと等しく、TYPEによ
って識別する。
【0212】また、上記アニメーションデータ[カテゴ
リ3]を定義するためのアニメーションプリミティブセ
クションは、図101に示すように、アニメーションプ
リミティブヘッダセクション、シーケンスポインタセク
ション、補完関数テーブルセクション、シーケンスコン
トロールセクション及びパラメータセクションからな
る。各セクションの相関図を図102に示す。
【0213】アニメーションプリミティブセクション
は、補完テーブルポインタ、シーケンスコントロールセ
クションラ及びパラメータセクションへの先頭ポインタ
が必ず入る。それより下位ののアドレスには必要に応じ
て書き換えるセクションの先頭アドレスが入る。例え
ば、COORDINATEを書き換える場合はCOORDINATE TOPが入
れられ、バーテックスを書き換えるのVERTEX TOPが入れ
られる。
【0214】シーケンスポインタセクションは、シーケ
ンスポインタ及び各シーケンスの情報を保持している領
域である。書き換えインデックスは、上位8ビットと下
位2ビットで別の情報が格納される。
【0215】補完関数テーブルセクションは、シーケン
ス記述子が参照する補完関数のtypeが配列として格納さ
れる領域である。この配列のインデックスにより補完方
法を決定する。前処理のGsScanAnim()関数によりtypeを
取り出し実際のプリミティブドライバの先頭アドレスに
SCANする必要がある。
【0216】シーケンスコントロールセクションは、シ
ーケンスがシーケンス記述子の配列という形で表現され
ている領域である。シーケンス記述子は、補完関数テー
ブルセクション及びパラメータセクションをインデック
ス参照することにより、キーフレーム間の補完方法やキ
ーフレームのパラメータの値を特定する。
【0217】シーケンス記述子は補完関数と補完パラメ
ータをインデックス参照しており、パラメータセクショ
ンは、補完パラメータが配列される領域である。このパ
ラメータセクションには、補完関数の違いにより様々な
フォーマットのパラメータが存在する。
【0218】アニメーションタイプは、図103に示す
ように、INI,CAT,TGT,MTX,SCALI
NTR,ROTINTR,TRNSINTRなどの各種
情報を与える。INIは、補完テーブルセクションをSC
ANする必要があるか否を示す。CATは、フレームアッ
プデートドライバのカテゴリを示す。TGTは、書き換
えがーゲット(0:COORDINATEセクションを書き換え
る、1:VERTEXセクションを書き換える、2:NORMALセ
クションを書き換える、ポリゴンセクションを書き換え
る、4:プリミティブセクションを書き換える)を示
す。MTXは、0:パラメータ形式でデータを持つか、
1:マトリクス形式でデータを持つかを示す。SCAL
INTRは、スケーリングの補完方法を規定する。RO
TINTRは、ローテーションの保管方法を規定する。
TRNSINTRはトランスレーションの補完方法を規
定する。
【0219】シーケンスヘッダは、図104に示すよう
に、各シーケンス管理用の情報を持つ。シーケンスポイ
ンタは、再生中のシンーケンス情報を保持するもので、
同時に再生するシーケンスを複数設定した場合にはそれ
ぞれの再生シーケンスにつき1つのシーケンスポインタ
が割り当てられる。プログラマ波、シーケンスポインタ
を通してリアルタイムにシーケンスの再生をコントロー
ルする。シーケンスポインタのメンバ常に補完プリミテ
ィブドライバから参照されているので即時の反映が可能
である。
【0220】図105に、シーケンスポインタのデータ
フォーマットを示す。図105において、網掛けを施し
て示した部分は、HMDのデータとして既に書かれてい
る領域であり、網掛けを施してない部分は、プログラマ
が値を代入してシーケンスを正sぎするためのワークで
ある。
【0221】書き換えインデックスは、このシーケンス
により変更される対象となるアドレスが書かれて折り、
図106に示すように、上位8ビットがセクションオフ
セット、下位24がセクション内オフセットである。
【0222】セクションオフセットは、プリミティブヘ
ッダに各セクションの先頭アドレスがリストされている
が、そのどのセクションを書き換えるかをインテックし
ている。例えば0ならば補完関数テーブルセクション、
1ならばコントロールセクションとなる。セクション内
オフセットは、上位8ビットで指定されたセクションの
中のどの部分を書き換えるかをインデックスしている。
【0223】アニメーションの種類によっては、コーデ
ィネートではなくVERTEXやNORMALを書き換える可能性も
ある。その場には、アニメーションヘッダに書き換える
セクションの先頭ポインタを追加し書き換えインデック
スのセクションオフセットによりそのポインタを指定す
る。次に、セクション内王負セットを指定することでど
このデータを書き換えるかを指定する。どの種類のデー
タ書き換えるかの識別はタイプによる。
【0224】シーケンスの数とサイズは、図107に示
すように、上位16ビットと下位16ビットで保持され
る。シーケンスの数は、そのシーケンスポインタがとり
うるシーケンスの数を示す。また、サイズは、次のシー
ケンスポインタまでのワード数を示す。
【0225】現在のフレームの補完後のパラメータがIN
TRIDXで参照されるキーフレームの実体に入る。INTR ID
Xには途中で動的にシーケンスを入れ替える時の開始パ
ラメータにすることができる。INTR IDXに0xffffを指定
した場合はこのアップデートは行われない。
【0226】A FRAMEはシーケンスの総フレーム数を示
すもので、このAFRAMEを0にすることでそのシーケンス
を中断することができる。シーケンスコントロール記述
子のENDbitを解釈すると自動的に0になる。A FRAMEに0
xffffを入れると総フレーム数は無限大になりデクリメ
ントされなくなる。
【0227】SRCA INTRIDXはINTR IDXに設定すべきワー
ク領域をデータとして保持している。
【0228】シーケンスポインタのアップデートの速度
を指定するSPEEDは、図108に示すように8ビットで
構成される。最上位ビットの符号に1が立っていた場
合、シーケンスポインタのアップデートはデクリメント
となり、アニメーションは逆転再生される。3ビットの
整数部により7倍までの範囲でアニメーションの早回し
再生を設定することができる。さらに4ビットの少数部
により1/15までのスロー再生を設定することができ
る。SPEEDの8ビットがすべて0である場合は、シーケ
ンスポインタのアップデート前回のアップデートレイト
を引き継ぐ。
【0229】TFRAMEは、再生中のモーションの現状のキ
ーフレーム間の時間距離を示すものであって、フレーム
数で与えられる。このTFRAMEはキーフレームの切り替え
時に自動的に更新される。
【0230】RFRAMEは、再生中のモーションの現状の元
のキーフレーム間の時間距離を示すものであって、フレ
ーム数で与えられる。このRFRAMEはキーフレームの切り
替え時に新たに読み込まれる。
【0231】STREAM IDは複数のシーケンスを多重に定
義するためのものである。シーケンスのジャンプはこの
STREAM IDが一致した時にのみ起こる。あらかじめ複数
のシーケンスを用意し実行時に状況に応じてSTREAM ID
を変えることでインタラクティブなアニメーションをメ
モり効率よく実装することができる。
【0232】TCTR IDXは補完を行うための2つのキーフ
レームのうちのターゲットへのキーフレームへのインデ
ックスを保持する。ターゲットとは収束する方向にある
キーフレームのことである。このTCTR IDXはキーフレー
ムの切り替え時に自動的に更新される。シーケンスの先
頭を指定するためには、TCTR IDXに先頭のシーケンス記
述子へのインデックスを入れ、RFRAMEを0にする。
【0233】CTR IDXは補完を行う2つのキーフレーム
のうち元のキーフレームへのインデックスを保持する。
元のキーフレームとは時間的に通り過ぎたキーフレーム
のことである。このCTR IDXはキーフレームの切り替え
時に自動的に更新される。
【0234】START IDXにはシーケンスの開始インデッ
クスが入っている。シーケンスを開始する際に、このST
ART IDXをTCTR IDXに入れ、SIDにSTART SIDを入れ、RFR
AMEを0にする。
【0235】START SIDにはシーケンスを開始するスト
リームIDが入っている。
【0236】TRAVELINGはキーフレームの切り替え時に
0にクリアされる変数である。プログラマは、この変数
を自由に使用することができる。例えばキーフレームの
補完中に0ではない数をTRAVELING入れておくことによ
り、このTRAVELINGが0かどうかをポーリングすること
で現在の補完が終わったか否かを確認することができ
る。
【0237】1つのシーケンスポインタに複数のシーケ
ンスを定義し選択的にシーケンスを再生することができ
る。この場合はシーケンスポインタの領域の最後に選択
の候補となるシーケンスの情報を追加する。この追加す
る情報は、シーケンス管理データと呼ばれ、シーケンス
ポインタの最後の1ワードからTRAVELINGを除いた図1
09に示すようなフォーマットとなっている。
【0238】シーケンスインデックスは、シーケンスの
スタートポイントのシーケンスコントロール記述子のイ
ンデックスを保持する。プログラマによりシーケンスポ
インタのTCTR IDXへコピーされ、RFRAMEに0にを入れる
ことでシーケンスをスタートさせる。
【0239】シーケンスのスタート時のSTREAM IDはプ
ログラマによりシーケンスポインタのSTREAM IDへコピ
ーされてシーケンスをスタートさせる。
【0240】次に補完関数テーブルセクションについて
説明する。
【0241】キーフレームの補完方法は、1シーケンス
中であっても変更することができる。そのため、ジャン
プ以外の全てのシーケンス記述子は、補完方法を指定す
るtypeのインデックスを持つ。そのインデックスで参照
されるtypeの配列の領域が補完関数テーブルセクション
である。補完関数テーブルセクションのtypeは、SCAN専
用の関数GsScanAnim()によって、予めそのtypeのプリミ
ティブドライバの先頭アドレスへ変換される。TYPEのIN
Iフィールドに1を立てることによってSCANのタイミン
グを識別する。補完関数テーブルセクションのSCAN関数
は、HMDのSCANのさいに呼び出される。SCANした後
は、そのビットを落としたフレームアップデートドライ
バ関数の先頭に書き換えられる。補完関数テーブルセク
ションの最初の1ワードはtypeが入るが、その最上位ビ
ットGsScanAnim()でSCANしたか否かのフラグとして用い
される。
【0242】また、シーケンスコントロールセクション
は、実際のシーケンスをリスト構造のデータで表現す
る。この1つのリストをシーケンス記述子と定義する。
シーケンス記述子には、2つのタイプがあり、シーケン
ス記述子の最上位ビットが識別子になっている。
【0243】通常のシーケンスを逐次記述するタイプの
シーケンス記述子は、図110に示すように、識別子と
して最上位ビットに0が立てられており、TYPE IDX,TF
RAME及びPARAMETER IDXからなる。TYPE IDXは、補完関
数を補完関数テーブルセクションのインデックスで特定
するものであり、7ビットで最大128種類の補完関数
にアクセスすることができる。TFRAMEは、次のシーケン
ス記述子間でのフレーム数を示す。PARAMETER IDXは、
このシーケンス記述子が参照するキーフレームのパラメ
ータへのインデックスである。
【0244】また、シーケンスをジャンプさせるタイプ
のシーケンス記述子は、図111に示すように、識別子
として最上位ビット側に10が立てられており、STREAM
IDとSEQUENCE IDXからなる。STREAM IDは、1つのシー
ケンス中にシーケンスリンクを多重に定義するためのイ
ンデックスであり、上位7ビットのSID CNDと下位7ビ
ットのSID CNDからなる。SID CNDはストリームの一致に
よりジャンプが行われるか否かを決定する。また、SID
CNDはジャンプした先でのSTREAM IDを決定する。そし
て、SEQUENCE IDXには、ジャンプ先のコントロール記述
子のインデックスが書かれている。
【0245】さらに、図112に示すように、識別子と
して最上位ビット側に11が立てられたシーケンス記述
子は、コントロール用であって、制御コードCODEとパラ
メータP1,P2からなる。制御コードCOD:0X01は停止END
を示し、パラメータP1が現状のSTREAM IDとしたならば
シーケンスを停止させる。
【0246】また、パラメータセクションは、パラメー
タの実体が並んでいるセクションであって、シーケンス
コントロールセクションから参照される。このセクショ
ンのパラメータの各種形識別は参照する側で行う。
【0247】アニメーションフレームアップデートプリ
ミティブドライバ及び補完プリミティブドライバは、図
113に示すような環境でコールされる。このアニメー
ションプリミティブドライバの実行環境を示す図113
において、網掛けを施して示す部分、すなわち、primto
p,tag(OT),shift(OT),offset(OT),OUTPUT(packetar
ea),ヘッダサイズ,補完関数テーブルポインタ,CONTR
OL TOPポインタ及びPARAMETER TOPポインタは必ずセッ
トされる。他の部分は、プリミティブヘッダがそのまま
コピーされるので、ヘッダが変われば変化する。ヘッダ
サイズは補完関数テーブルへのアドレス以下の要素数を
示す。但し最後の4つの要素は含まない。上記例では、
???+4ということになる。この要素数により???の部分
がいくつ存在するかわかり、次に述べる補完関数への引
数領域の先頭が特定される。最後の4つのパラメータba
se,src,dst,intrは補完関数への引数領域である。
【0248】baseはシーケンスポインタの先頭アドレス
を与え、srcは補完元キーフレームの先頭アドレスを与
え、dstは補完先キーフレームの先頭アドレスを与え、i
ntrは補完後のパラメータを格納するアドレスを与え
る。
【0249】次のプリミティブドライバの振る舞いにつ
いて説明する。
【0250】プリミティブドライバは、フレームアップ
デートドライバと補完ドライバの2種類があり、GsSort
Unit()が呼ばれる度に呼び出される。
【0251】アニメーションのプリミティブはHMDの
コーディネートセクションの先頭PRE-PROCESSにリンク
させる。アニメーションプリミティブドライバの初期化
は次の手順で行われる。 (1) GsScanUnit()でHMDを初期化する際にGsScanAnim
()を呼び出し補完関数テーブルをSCANする。 (2) HMDのtypeフィールドにフレームアップデートド
ライバの先頭アドレスを入れる。これでGsSortUnit()の
度にフレームアップデートドライバが呼ばれる。フレー
ムアップデートドライバは補完ドライバを呼び出す。
【0252】補完ドライバのコーリングインターフェー
スはフレームアップデートドライバによって規定され、
typeフィールドのフレームアップデートドライバの種別
を示す3ビットは対応する補完関数も同じ番号を持つ。
【0253】フレームアップデートドライバが補完ドラ
イバを呼び出す際のコーリングインターフェースとして
FUNC(sp)が準備されている。spで示される引数領域に
は、上記パラメータbase,src,dst,intrが内包されて
いる。
【0254】ここで、図114乃至図124に各種アニ
メーションパケットの構造例を示す。
【0255】すなわち、図114は、ps0r0t1 すなわち
Translation Linearにおけるアニメーションパケットの
構造を示す。図115は、ps0r0t9すなわちTranslation
Linear(short)の処理を行うアニメーションパケットの
構造を示す。図116は、ps9r0t9 すなわちScale(one)
Translation(short) Linearの処理を行うアニメーショ
ンパケットの構造を示す。図117は、ps1r0t0 すなわ
ちScale Linearの処理を行うアニメーションパケットの
構造を示す。図118は、ps0r1t0 すなわちRotation L
inearの処理を行うアニメーションパケットの構造を示
す。図119は、ps9r1t0 すなわちScale(one)Rotation
Linearの処理を行うアニメーションパケットの構造を
示す。図120は、ps0r1t1 すなわちRotation Transla
tion Linearの処理を行うアニメーションパケットの構
造を示す。図121は、ps9r1t1すなわちScale(one) Tr
anslation Linearの処理を行うアニメーションパケット
の構造を示す。図122は、ps1r1t1 すなわちScale Ro
tation Translation Linearの処理を行うアニメーショ
ンパケットの構造を示す。図123は、ps0r1t9すなわ
ちParameter Translation(short) Linearの処理を行う
アニメーションパケットの構造を示す。図124は、ps
1r1t9 すなわちTranslation Linear(short)の処理を行
うアニメーションパケットの構造を示す。
【0256】次に、イメージデータ[カテゴリ2]のイ
メージプリミティブセクションの構造を図125に示
す。
【0257】イメージプリミティブセクションは、イメ
ージ用のヘッダ部、コントロール部及びデータ部からな
る。イメージ用のヘッダ部には、IMAGE TOPポインタとC
LUTTOPポインタが入り、また、コントロール部には、イ
メージヘッダポインタ及びタイプの数が入る。データ部
には、type、イメージの数・サイズ及びデータが入る。
typeはCLUTの有無で変わる。イメージデータの本体
(インデックスデータ又はRGBデータ)はイメージデ
ータセクションに格納され、また、カラールックアップ
テーブルCLUTデータはCLUTセクションに格納さ
れる。
【0258】イメージタイプ(IMAGE TYPE)は、図12
6に示すように、32ビットで構成され、データの種類
を規定するためのDATA TYPEによりCLUTの有無を示
す。
【0259】そして、CLUT無しプリミティブは、図
127に示すようなデータ構造をとる。また、CLUT
ありプリミティブは、図128に示すようなデータ構造
をとる。また、トス。
【0260】また、イメージプリミティブドライバは、
図129に示すような実行環境で呼び出される。すなわ
ち、引数メモリ領域に各変数primtop,tag(OT),shift
(OT),offset(OT),OUTPUT(packet area),イメージヘ
ッダポインタ及びCLUT TOPポインタをコピーして呼び出
される。
【0261】イメージのプリミティブはHMDのコーデ
ィネートセクションの先頭PRE-PROCESSにリンクされ
る。転送関数の読み出しはSCAN時に行い、転送が終了し
たならばNULLドライバ(プリミティブドライバの1つで
ある何もしないドライバ)を入れていくことにより、そ
れ以後毎回VRAMへの転送は行われない。
【0262】次に、MIMeデータ[カテゴリ4]のMIMeプ
リミティブについて説明する。
【0263】MIMeプリミティブでは、MIMe DIFFセクシ
ョンを必要とし、頂点マイムVtxMIMeや法線マイムNrmMI
Meを使用する場合にはORGSVセクションを必要とし、ま
た、HMD内にMIMEPRを持つ場合にはMIMEPRを必要とす
る。
【0264】MIMeプリミティブブロック用のヘッダに
は、図130乃至図133に各種マイムのヘッダを示し
てあるように、HEADLEN,COORD TOP,MIMEPR PTR,MIMEI
D,MIMeDIFF TOP,ORGSVN TOP,VERTEX TOPやNORMAL TO
Pなどが入る。
【0265】HEADLENは、当該プリミティブヘッドの長
さを示す。COORD TOPは、COORDINATEセクションの先頭
アドレスをHMD先頭からのlongワード数で示す。MIME
PR PTRは、MIMEPRがHMD内の場合にHMD先頭からの
longワード数を示す。MIMEIDは、当該プリミティブのI
Dである。MIMe DIFF TOPは、MIMe DIFFセクションの先
頭アドレスをHMD先頭からのlongワード数で示す。OR
GSVN TOPは、ORGSVNセクションの先頭アドレスをHMD
先頭からのlongワード数で示す。VERTEX TOPは、VERTEX
セクションの先頭アドレスをHMD先頭からのlongワー
ド数で示す。NORMAL TOPは、NORMALセクションの先頭ア
ドレスをHMD先頭からのlongワード数で示す。
【0266】関節マイムJntMIMeすなわち回転軸内挿に
よる関節マイムJntAxesMIMe及びRPY値内挿による関節マ
イムJntRPYMIMeのヘッダは、図130のように構成され
る。
【0267】また、上記関節マイムのリセットRstJntMI
Meすなわち上記回転軸内挿による関節マイムのリセット
RstJntAxesMIMe及びRPY値内挿による関節マイムのリセ
ットRstJntRPYMIMeのヘッダは、図131のように構成
される。
【0268】頂点/法線マイムVNMIMeすなわち頂点VtxM
IMe及び法線マイムNrmMIMeのヘッダは、図132のよう
に構成される。また、上記頂点/法線マイムのリセット
RstVNMIMeすなわち頂点のリセットRstVtxMIMe及び法線
マイムのリセットRstNrmMIMeのヘッダは、図133のよ
うに構成される。
【0269】上記図130及び図132に示した各ヘッ
ダにおいて、フラグmは初期値が0でMIMEPR PTRが実ア
ドレスににマップされると1にされる。またフラグi
は、MIMEPR PTRがHMD内であれば1で、プログラム側
で確保するならば0とされる。
【0270】そして、MIMeプリミティブブロックは、図
134に示すように構成される。この図134に示すMI
Meプリミティブブロックにおいて、TYPEはプリミティブ
識別コードである。mは、初期値が1のフラグであっ
て、実行時にTYPEがSCANされ、関節ポインタが埋め込ま
れたら0にされる。prim numはMIMe DIFF IDXの数を示
す。MIMe DIFF IDXは、差分ブロックの先頭アドレスを
HMD先頭からのlongワード数で示す。
【0271】ここで、MIMe DIFFは、図135に示すよ
うに32ビットデータであって、MIMe DIFFセクション
におかれる差分に関するデータDIFFS NUM,COORDID,ON
UM,dflags,DIFFS TOPやCHANGED PTRなどが入る。
【0272】DIFFS NUMは、DIFFの数を示す。COORDID
は、当該COORDINATE(マイムする関節)番号を示す。ON
UMは対応するRstVNMIMeの数を示す。dflagsは、差分(DI
FF)のあるビットは1、ないビットは0とされるフラグ
である。図135には、マイムキー#0,#1,#3,
#8に差分があるdflags=0x0000010Bの状態が示されて
いる。DIFFS TOPは、当該MIMe DIFFの先頭からのlongワ
ード数で示すDIFFSへのポインタである。CHANGED PTR
は、HMD先頭からのlongワード数で示す対応するRstV
NMIMeのDIFFS内のchangedへのポインタである。DIFFSに
は、リセットのRstの場合、リセット用オリジナルデー
タが用いられ、それ以外の場合はキー毎の実際の差分値
が用いされる。
【0273】関節マイムのJntMIMe/RstJntMIMeのMIMe
DIFFは、図136に示すように構成され、JntMIMeとRst
JntMIMeが組となり同一のMIMe DIFを使う。
【0274】また、頂点/法線マイムVNMIMeのMIMe DIF
Fは、図137に示すように構成され、そのリセットRst
VNMIMeのMIMe DIFFは、図138に示すように構成され
る。
【0275】RPY値内挿による関節マイムJntRPYMIMeの
キー毎の実際の差分データDIFFSは、図139に示すデ
ータ構造により与えられる。図139に示すデータ構造
の差分データDIFFSでは、dvx−dvzによりrotの差分値を
与え、dtx−dtzによりt[0-2]の差分値を与える。なお、
リセット用オリジナルデータを図143に示す。
【0276】また、回転軸内挿による関節マイムJntAxe
sMIMeのキー毎の実際の差分データDIFFSは、図140に
示すデータ構造により与えられる。図140に示すデー
タ構造の差分データDIFFSでは、dvx−dvzにより差分回
転ベクトルを与え、dtx−dtzによりt[0-2]の差分値を与
える。なお、リセット用オリジナルデータを図144に
示す。
【0277】さらに、頂点/法線マイムVNMIMeすなわち
頂点VtxMIMe及び法線マイムNrmMIMeのキー毎の実際の差
分データDIFFSは、図141に示すデータ構造により与
えられる。図141に示すデータ構造の差分データDIFF
Sでは、vstartにより最初に異なる頂点の番号を与え、v
numにより差分頂点数を与える。なお、リセット用オリ
ジナルデータを図142に示す。
【0278】ORGSVNセクションは、初期値は全て任意で
あり、実行時に図145に示すようなデータ構造で使用
される。dvx-zは、待避したオリジナル頂点/法線デー
タをである。
【0279】
【発明の効果】以上のように、本発明によれば、テクス
チャイメージデータ、モデリングデータ、アニメーショ
ンデータなどの意味の異なるデータを1つの枠組みでま
とめて扱うことができ、意味の異なるデータ管理が容易
である。的、そのデータを扱うプログラムを一元化する
ことが可能で、そのデータを取り扱うユーザにとっても
見通しがよい。
【0280】また、本発明によれば、データ中にそのデ
ータを処理するプログラムの先頭アドレスを埋め込むこ
とで、データとプログラムとの関連付けが初期化のとき
に終わるので、それ以降に関連付けをやり直す必要がな
く、処理時間を短縮することができる。
【0281】また、本発明によれば、実行時に上記デー
タとプログラムとの関連付けを行うことによって、処理
プログラムを換えて各種効果を得ることができる。
【0282】また、データ中に識別子を入れることで、
データと処理プログラムとの関連付けを容易にすること
ができる。
【0283】また、分類されたデータ集合をセクション
として定義するで、異なるフォーマットのデータを適時
追加することができ、必要なデータのみをまとめ上げる
ことができる。
【0284】さらに、本発明によれば、セクションヘッタ゛
をプリミティブ集合毎に定義することで、複数のセクシ
ョンをインデックス参照することができ、これによりデ
ータ量を節約することができる。
【図面の簡単な説明】
【図1】本発明に係る画像情報処理装置の概略的な構成
を示すブロック回路図である。
【図2】ディスプレイ上への表示について説明するため
の図である。
【図3】ディスプレイ上の表示の設定について説明する
ための図である。
【図4】描画クリッピングの機能について説明するため
の図である。
【図5】テクスチャページについて説明するための図で
ある。
【図6】CLUT構造について説明するための図であ
る。
【図7】スプライト描画の概念を説明するための図であ
る。
【図8】フレームダブルバッファリングについて説明す
るための図である。
【図9】本発明に係る画像情報生成方法により生成する
画報情報のデータフォーマットの全体像を示す図であ
る。
【図10】上記データフォーマットおけるブロックの構
造を示す図である。
【図11】プリミティブの構造を示す図である。
【図12】プリミティブ集合の構造を示す図である。
【図13】基幹関数により引数のセットアップを行う引
数領域を示す図である。
【図14】基幹関数による処理ドライバの呼び出し手順
を示すフローチャートである。
【図15】本発明に係る画像情報生成方法により生成す
る画報情報HDMの構成を示す図である。
【図16】HDMヘッダ部のHMDヘッダの内容を示す
図である。
【図17】プリミティブブロックを構成するプリミティ
ブのチェーンを示す図である。
【図18】プリミティブの構成を示す図である。
【図19】プリミティブヘッダの構造を示す図である。
【図20】プリミティブヘッダ、プリミティブドライバ
及びデータの相互関係を示す図である。
【図21】共有頂点型HMDの全体構成を示す図であ
る。
【図22】共有頂点型HMDの全体構成を示す図であ
る。
【図23】共有頂点型HMDの全体構成を示す図であ
る。
【図24】HMDヘッダセクションの構成を示す図であ
る。
【図25】プリミティブブロックポインタテーブルの内
容を示す図である。
【図26】GsSortUnit()によりプリミティブドライバを
コピーする場合の変数受け渡し領域の情報を示す図であ
る。
【図27】プリミティブの構造を示すずである。
【図28】typeフィードの構造を示す図である。
【図29】ポリゴンデータのドライバに定義された内容
を示す図である。
【図30】プリミティブタイプの内容を示す図である。
【図31】ポリゴンタイプで光源計算ありの場合の単色
フラットポリゴンのテクスチャ無し三角形(Flat No-Te
xture Triangle)のデータ構造を示す図である。
【図32】光源計算ありの場合の単色グーローポリゴン
のテクスチャ無し三角形(Gouraud No-Texture Triangl
e)のデータ構造を示す図である。
【図33】光源計算ありの場合の色付きフラットポリゴ
ンのテクスチャ無し三角形(Colored Flat No-Texture
Triangle)のデータ構造を示す図である。
【図34】光源計算ありの場合の色付きグーローポリゴ
ンのテクスチャ無し三角形(Colored Gouraud No-Textu
re Triangle)のデータ構造を示す図である。
【図35】光源計算ありの場合の単色フラットポリゴン
のテクスチャ有り三角形(Flat Texture Triangle)の
データ構造を示す図である。
【図36】光源計算ありの場合の単色グーローポリゴン
のテクスチャ有り三角形(Gouraud Texture Triangle)
データ構造を示す図である。
【図37】光源計算ありの場合の色付きフラットポリゴ
ンのテクスチャ有り三角形(Colored Flat Texture Tri
angle)のデータ構造を示す図である。
【図38】光源計算ありの場合の色付きグーローポリゴ
ンのテクスチャ有り三角形(Colored Gouraud Texture
Triangle)のデータ構造を示す図である。
【図39】光源計算ありの場合の単色フラットポリゴン
のテクスチャ無し四角形(Flat No-Texture Quad)のデ
ータ構造を示す図である。
【図40】光源計算ありの場合の単色グーローポリゴン
のテクスチャ無し四角形(Gouraud No-Texture Quad)
のデータ構造を示す図である。
【図41】光源計算ありの場合の色付きフラットポリゴ
ンのテクスチャ無し四角形(Colored Flat No-Texture
Quad)のデータ構造を示す図である。
【図42】光源計算ありの場合の色付きグーローポリゴ
ンのテクスチャ無し四角形(Colored Gouraud No-Textu
re Quad)のデータ構造を示す図である。
【図43】光源計算ありの場合の単色フラットポリゴン
のテクスチャ有り四角形(Flat Texture Quad)のデー
タ構造を示す図である。
【図44】光源計算ありの場合の単色グーローポリゴン
のテクスチャ有り四角形(Gouraud Texture Quad)のデ
ータ構造を示す図である。
【図45】光源計算ありの場合の色付きフラットポリゴ
ンのテクスチャ有り四角形(Colored Flat Texture Qua
d)のデータ構造を示す図である。
【図46】光源計算ありの場合の色付きグーローポリゴ
ンのテクスチャ有り四角形(Colored Gouraud Texture
Quad)のデータ構造を示す図である。
【図47】光源計算ありの場合の単色フラットポリゴン
のテクスチャ無しメッシュ(FlatNo-Texture Mesh)の
データ構造を示す図である。
【図48】光源計算ありの場合の単色グーローポリゴン
のテクスチャ無しメッシュ(Gouraud No-Texture Mes
h)のデータ構造を示す図である。
【図49】光源計算ありの場合の色付きフラットポリゴ
ンのテクスチャ無しメッシュ(Colored Flat No-Textur
e Mesh)のデータ構造を示す図である。
【図50】光源計算ありの場合の色付きグーローポリゴ
ンのテクスチャ無しメッシュ(Colored Gouraud No-Tex
ture Mesh)のデータ構造を示す図である。
【図51】光源計算ありの場合の単色フラットポリゴン
のテクスチャ有りメッシュ(FlatTexture Mesh)のデー
タ構造を示す図である。
【図52】光源計算ありの場合の単色グーローポリゴン
のテクスチャ有りメッシュ(Gouraud Texture Mesh)の
データ構造を示す図である。
【図53】光源計算ありの場合の色付きフラットポリゴ
ンのテクスチャ有りメッシュ(Colored Flat Texture M
esh)のデータ構造を示す図である。
【図54】光源計算ありの場合の色付きグーローポリゴ
ンのテクスチャ有りメッシュ(Colored Gouraud Textur
e Mesh)のデータ構造を示す図である。
【図55】 ポリゴンタイプで光源計算無しの場合の単
色フラットポリゴンのテクスチャ無し三角形(Flat No-
Texture Triangle)のデータ構造を示す図である。
【図56】光源計算無しの場合の単色グーローポリゴン
のテクスチャ無し三角形(Gouraud No-Texture Triangl
e)のデータ構造を示す図である。
【図57】光源計算無しの場合の単色フラットポリゴン
のテクスチャ有り三角形(Flat Texture Triangle)の
データ構造を示す図である。
【図58】光源計算無しの場合の単色グーローポリゴン
のテクスチャ有り三角形(Gouraud Texture Triangle)
のデータ構造を示す図である。
【図59】光源計算無しの場合の単色フラットポリゴン
のテクスチャ無し四角形(Flat No-Texture Quad)のデ
ータ構造を示す図である。
【図60】光源計算無しの場合の単色グーローポリゴン
のテクスチャ無し四角形(Gouraud No-Texture Quad)
のデータ構造を示す図である。
【図61】光源計算無しの場合の 単色フラットポリゴ
ンのテクスチャ有り四角形(FlatTexture Quad)のデー
タ構造を示す図である。
【図62】光源計算無しの場合の単色グーローポリゴン
のテクスチャ有り四角形(Gouraud Texture Quad)のデ
ータ構造を示す図である。
【図63】 光源計算無しの場合の単色フラットポリゴ
ンのテクスチャ無しメッシュ(Flat No-Texture Mesh)
のデータ構造を示す図である。
【図64】光源計算無しの場合の単色グーローポリゴン
のテクスチャ無しメッシュ(Gouraud No-Texture Mes
h)のデータ構造を示す図である。
【図65】光源計算無しの場合の単色フラットポリゴン
のテクスチャ有りメッシュ(FlatTexture Mesh)のデー
タ構造を示す図である。
【図66】光源計算無しの場合の単色グーローポリゴン
のテクスチャ有りメッシュ(Gouraud Texture Mesh)の
データ構造を示す図である。
【図67】 繰り返しテクスチャで光源計算ありの場合
の単色フラットポリゴンのテクスチャ有り三角形(Flat
Texture Triangle)のデータ構造を示す図である。
【図68】 光源計算ありの場合の単色グーローポリゴ
ンのテクスチャ有り三角形(Gouraud Texture Triangl
e)のデータ構造を示す図である。
【図69】 光源計算ありの場合の色付きフラットポリ
ゴンのテクスチャ有り三角形(Colored Flat Texture T
riangle)のデータ構造を示す図である。
【図70】 光源計算ありの場合の色付きグーローポリ
ゴンのテクスチャ有り三角形(Colored Gouraud Textur
e Triangle)のデータ構造を示す図である。
【図71】 光源計算ありの場合の単色フラットポリゴ
ンのテクスチャ有り四角形(Flat Texture Quad)のデ
ータ構造を示す図である。
【図72】 光源計算ありの場合の単色グーローポリゴ
ンのテクスチャ有り四角形(Gouraud Texture Quad)の
データ構造を示す図である。
【図73】 光源計算ありの場合の色付きフラットポリ
ゴンのテクスチャ有り四角形(Colored Flat Texture Q
uad)のデータ構造を示す図である。
【図74】 光源計算ありの場合の色付きグーローポリ
ゴンのテクスチャ有り四角形(Colored Gouraud Textur
e Quad)のデータ構造を示す図である。
【図75】 光源計算ありの場合の単色フラットポリゴ
ンのテクスチャ有りメッシュ(Flat Texture Mesh)の
データ構造を示す図である。
【図76】 光源計算ありの場合の単色グーローポリゴ
ンのテクスチャ有りメッシュ(Gouraud Texture Mesh)
のデータ構造を示す図である。
【図77】 光源計算ありの場合の色付きフラットポリ
ゴンのテクスチャ有りメッシュ(Colored Flat Texture
Mesh)のデータ構造を示す図である。
【図78】 光源計算ありの場合の色付きグーローポリ
ゴンのテクスチャ有りメッシュ(Colored Gouraud Text
ure Mesh)のデータ構造を示す図である。
【図79】 繰り返しテクスチャで光源計算なしの場合
の単色フラットポリゴンのテクスチャ有り三角形(Flat
Texture Triangle)のデータ構造を示す図である。
【図80】光源計算なしの場合の単色グーローポリゴン
のテクスチャ有り三角形(Gouraud Texture Triangle)
のデータ構造を示す図である。
【図81】光源計算なしの場合の単色フラットポリゴン
のテクスチャ有り四角形(Flat Texture Quad)のデー
タ構造を示す図である。
【図82】光源計算なしの場合の単色グーローポリゴン
のテクスチャ有り四角形(Gouraud Texture Quad)のデ
ータ構造を示す図である。
【図83】光源計算なしの場合の単色フラットポリゴン
のテクスチャ有りメッシュ(FlatTexture Mesh)のデー
タ構造を示す図である。
【図84】光源計算なしの場合の単色グーローポリゴン
のテクスチャ有りメッシュ(Gouraud Texture Mesh)の
データ構造を示す図である。
【図85】プリセット型モデルデータとして定議される
単色フラットポリゴンのテクスチャ無し三角形(Flat N
o-Texture Triangle)のデータ構造を示す図である。
【図86】プリセット型モデルデータとして定議される
単色グーローポリゴンのテクスチャ無し三角形(Gourau
d No-Texture Triangle)のデータ構造を示す図であ
る。
【図87】プリセット型モデルデータとして定議される
単色フラットポリゴンのテクスチャ有り三角形(Flat T
exture Triangle)のデータ構造を示す図である。
【図88】プリセット型モデルデータとして定議される
単色グーローポリゴンのテクスチャ有り三角形(Gourau
d Texture Triangle)のデータ構造を示す図である。
【図89】プリセット型モデルデータとして定議される
単色フラットポリゴンのテクスチャ無し四角形(Flat N
o-Texture Quad)のデータ構造を示す図である。
【図90】プリセット型モデルデータとして定議される
単色グーローポリゴンのテクスチャ無し四角形(Gourau
d No-Texture Quad)のデータ構造を示す図である。
【図91】プリセット型モデルデータとして定議される
単色フラットポリゴンのテクスチャ有り四角形(Flat T
exture Quad)のデータ構造を示す図である。
【図92】プリセット型モデルデータとして定議される
単色グーローポリゴンのテクスチャ有り四角形(Gourau
d Texture Quad)のデータ構造を示す図である。
【図93】プリセット型モデルデータとして定議される
単色フラットポリゴンのテクスチャ無しメッシュ(Flat
No-Texture Mesh)のデータ構造を示す図である。
【図94】プリセット型モデルデータとして定議される
単色グーローポリゴンのテクスチャ無しメッシュ(Gour
aud No-Texture Mesh)のデータ構造を示す図である。
【図95】プリセット型モデルデータとして定議される
単色フラットポリゴンのテクスチャ有りメッシュ(Flat
Texture Mesh)のデータ構造を示す図である。
【図96】プリセット型モデルデータとして定議される
単色グーローポリゴンのテクスチャ有りメッシュ(Gour
aud Texture Mesh)のデータ構造を示す図である。
【図97】共有プリミティブのプリミティブタイの構造
を示す図である。
【図98】共有ドライバが参照する計算済み領域のVE
RTEXでのフォーマットを示す図である。
【図99】共有ドライバが参照する計算済み領域のNO
RMALでのフォーマットを示す図である。
【図100】共有ポリゴンの処理手順を示す図である。
【図101】アニメーションプリミティブセクションの
構成を示す図である。
【図102】アニメーションの各セクションの相関図で
ある。
【図103】アニメーションタイプの内容を示す図であ
る。
【図104】シーケンスヘッダの内容を示す図である。
【図105】シーケンスポインタのデータフォーマット
を示す図である。
【図106】書き換えインデックスの内容を示す図であ
る。
【図107】シーケンスの数とサイズの構成を示す図で
ある。
【図108】シーケンスポインタのアップデートの速度
を指定するSPEEDの構成を示す図である。
【図109】シーケンス管理データのフォーマットを示
す図である。
【図110】通常のシーケンスを逐次記述するタイプの
シーケンス記述子の構成を示す図である。
【図111】シーケンスをジャンプさせるタイプのシー
ケンス記述子の構成を示す図である。
【図112】コントロール用のシーケンス記述子の構成
を示す図である。
【図113】アニメーションプリミティブドライバの実
行環境を示す図である。
【図114】Translation Linearにおけるアニメーショ
ンパケットの構造を示す図である。
【図115】Translation Linear(short)の処理を行う
アニメーションパケットの構造を示す図である。
【図116】Scale(one) Translation(short) Linearの
処理を行うアニメーションパケットの構造を示す図であ
る。
【図117】Scale Linearの処理を行うアニメーション
パケットの構造を示す図である。
【図118】Rotation Linearの処理を行うアニメーシ
ョンパケットの構造を示す図である。
【図119】Scale(one)Rotation Linearの処理を行う
アニメーションパケットの構造を示す図である。
【図120】Rotation Translation Linearの処理を行
うアニメーションパケットの構造を示す図である。
【図121】Scale(one) Translation Linearの処理を
行うアニメーションパケットの構造を示す図である。
【図122】Scale Rotation Translation Linearの処
理を行うアニメーションパケットの構造を示す図であ
る。
【図123】Parameter Translation(short) Linearの
処理を行うアニメーションパケットの構造を示す図であ
る。
【図124】Translation Linear(short)の処理を行う
アニメーションパケットの構造を示す図である。
【図125】イメージプリミティブセクションの構造を
示す図である。
【図126】イメージタイプ(IMAGE TYPE)の構成を示
す図である。
【図127】CLUT無しプリミティブのデータ構造を
示す図である。
【図128】CLUTありプリミティブのデータ構造を
示す図である。
【図129】イメージプリミティブドライバのデータ構
造を示す図である。
【図130】関節マイムJntMIMeすなわち回転軸内挿に
よる関節マイムJntAxesMIMe及びRPY値内挿による関節マ
イムJntRPYMIMeのヘッダの構成を示す図である。
【図131】上記関節マイムのリセットRstJntMIMeすな
わち上記回転軸内挿による関節マイムのリセットRstJnt
AxesMIMe及びRPY値内挿による関節マイムのリセットRst
JntRPYMIMeのヘッダ示す図である。
【図132】頂点/法線マイムVNMIMeすなわち頂点VtxM
IMe及び法線マイムNrmMIMeのヘッダの構成を示す図であ
る。
【図133】上記頂点/法線マイムのリセットRstVNMIM
eすなわち頂点のリセットRstVtxMIMe及び法線マイムの
リセットRstNrmMIMeのヘッダの構成を示す図である。
【図134】MIMeプリミティブブロックの構成を示す図
である。
【図135】MIMe DIFFの構成を示す図である。
【図136】関節マイムのJntMIMe/RstJntMIMeのMIMe
DIFFの構成を示す図である。
【図137】頂点/法線マイムVNMIMeのMIMe DIFFの構
成を示す図である。
【図138】リセットRstVNMIMeのMIMe DIFFの構成を示
す図である。
【図139】RPY値内挿による関節マイムJntRPYMIMeの
キー毎の実際の差分データDIFFSのデータ構造を示す図
である。
【図140】回転軸内挿による関節マイムJntAxesMIMe
のキー毎の実際の差分データDIFFSのデータ構造を示す
図である。
【図141】頂点/法線マイムVNMIMeすなわち頂点VtxM
IMe及び法線マイムNrmMIMeのキー毎の実際の差分データ
DIFFSのデータ構造を示す図である。
【図142】頂点/法線マイムVNMIMeすなわち頂点VtxM
IMe及び法線マイムNrmMIMeのリセット用オリジナルデー
タを示す図である。
【図143】RPY値内挿による関節マイムJntRPYMIMeの
リセット用オリジナルデータを示す図である。
【図144】回転軸内挿による関節マイムJntAxesMIMe
のリセット用オリジナルデータを示す図である。
【図145】ORGSVNセクションの実行時のデータ構造を
示す図である。
【図146】従来の画像作成装置(家庭用ゲーム機)の
構成例を示すブロック回路図である。
【図147】従来の画像作成装置による画像作成方法の
説明に用いる図である。
【図148】従来の画像情報処理システムの基本構成を
示すブロック回路図である。
【図149】従来の物体形状データのファイルの構成を
示す図である。
【図150】従来のパケットデータのファイルの構成を
示す図である。
【符号の説明】
51 CPU、52 周辺デバイスコントローラ、53
メインメモリ、54ROM、60 グラフィックシス
テム、61 ジオメトリトランスファエンジン(GT
E)、62 グラフィックスプロセッシングユニット、
63 フレームバッファ、64 画像デコーダ(MDE
C)、65 ビデオ出力手段(ディスプレイ装置)、7
0 サウンドシステム、71 サウンドプロセッシング
ユニット(SPU)、72 サウンドバッファ、73
スピーカ、80 光学ディスク制御部、81 ディスク
ドライブ装置、82 デコーダ、83 バッファ、90
通信制御部、91 通信制御機、92 コントローラ、
93 メモリカード、101 パラレルI/Oポート、
102 シリアルI/Oポート
───────────────────────────────────────────────────── フロントページの続き (72)発明者 青木 幸代 東京都港区赤坂7丁目1番1号 株式会社 ソニー・コンピュータエンタテインメント 内

Claims (75)

    【特許請求の範囲】
  1. 【請求項1】 同一プログラムで処理されるデータをま
    とめて配置し、 上記データをまとめて配置したプリミティブ領域の先頭
    にそのデータの種類を示す識別子及びそのデータを処理
    すべき処理ドライバのプログラムへのジャンプテーブル
    を付加したデータ構造の画像情報を生成することを特徴
    とする画像情報生成方法。
  2. 【請求項2】 上記プリミティブ領域の先頭にそのデー
    タの種類を示す識別子及びそのデータを処理すべき処理
    ドライバのプログラムへのジャンプテーブルとともに次
    のプリミティブ領域の先頭へのオフセットを付加したデ
    ータ構造の画像情報を生成することを特徴とする請求項
    1記載の画像情報生成方法。
  3. 【請求項3】 上記次のプリミティブ領域の先頭へのオ
    フセットにより連結された1以上のプリミティブ領域か
    らなるプリミティブ領域群と、データを種別した一まと
    まりのデータ群からなるセクションの先頭のアドレスの
    リストを含むヘッダセクションへのポインタと、次のプ
    リミティブ領域群へのポインタを付加したデータ構造を
    ブロックとする画像情報を生成することを特徴とする請
    求項2記載の画像情報生成方法。
  4. 【請求項4】 上記プリミティブ領域に付加された識別
    子により、プリミティブのデータを処理すべき処理ドラ
    イバを特定し、その処理ドライバのプログラムの先頭ア
    ドレスを上記ジャンプテーブルへ代入することにより、
    データとプログラムとの関連付けを実行時に行うことを
    特徴とする請求項1記載の画像情報生成方法。
  5. 【請求項5】 上記識別子は、上位ビットを大分類に割
    り当て、下位ビットを小分類に割り当てることを特徴と
    する請求項1記載の画像情報生成方法。
  6. 【請求項6】 上記識別子に初期化用のビットを設け、
    データ作成時に上記初期化用のビットを付加し、処理ド
    ライバとプリミティブの関連付けのときに上記初期化用
    のビットを参照して、初期化処理を行うことを特徴とす
    る請求項4記載の画像情報生成方法。
  7. 【請求項7】 上記処理ドライバにパラメータを渡す場
    合に、プリミティブ内にパラメータ領域を設け、その先
    頭アドレスを関数の引数として渡すことを特徴とする請
    求項1記載の画像情報生成方法。
  8. 【請求項8】 上記パラメータ領域にコピーするパラメ
    ータの一部にセクションヘッダの内容を含むことを特徴
    とする請求項7記載の画像情報生成方法。
  9. 【請求項9】 プリミティブと処理ドライバとの関連付
    けが行われたか否かを示すフラグを上記プリミティブ内
    に設けることを特徴とする請求項1記載の画像情報生成
    方法。
  10. 【請求項10】 上記ヘッダセクションへのポインタと
    次のプリミティブ領域群へのポインタは、データが作成
    されたときには先頭からのオフセットが入っており、実
    行時に実アドレスに変換されることを特徴とする請求項
    3記載の画像情報生成方法。
  11. 【請求項11】 上記ポインタが実行時に実アドレスに
    変換されたか否かを示すフラグをデータ内に設けること
    を特徴とする請求項10記載の画像情報生成方法。
  12. 【請求項12】 上記ブロックの先頭アドレスを羅列し
    たブロックヘッダ領域を設け、このブロックヘッダ領域
    に羅列された先頭アドレスに従って最初から順番にブロ
    ックの評価を行い、先頭ブロックを前処理に使用し、最
    終ブロックを後処理に使用することを特徴とする請求項
    1記載の画像情報生成方法。
  13. 【請求項13】 上記先頭ブロック及び最終ブロック以
    外のブロックは、1つのブロックが1つの座標系に対応
    することを特徴とする請求項12記載の画像情報生成方
    法。
  14. 【請求項14】 上記セクションには、テクスチャイメ
    ージデータ、ポリゴンデータあるいはモーションデータ
    が入ることを特徴する請求項3記載の画像情報生成方
    法。
  15. 【請求項15】 上記処理ドライバが他の処理ドライバ
    を呼び出すことを特徴とする請求項1記載の画像情報生
    成方法。
  16. 【請求項16】 上記パラメータ領域を連続して用いる
    ことにより、上記処理ドライバが他の処理ドライバを呼
    び出すことを特徴とする請求項7記載の画像情報生成方
    法。
  17. 【請求項17】 時系列でデータを変化させる場合に、
    上記セクションとセクション内オフセットを指定するこ
    とにより、変化させるべきデータを特定することを特徴
    とする請求項3記載の画像情報生成方法。
  18. 【請求項18】 上記プリミティブと処理ドライバのプ
    ログラムとの関連付けを行うときに、上記パラメータ領
    域にその処理ドライバを呼び出すための引数を用意する
    ことを特徴とする請求項7記載の画像情報生成方法。
  19. 【請求項19】 プリミティブデータがセクション内オ
    フセットにより表現され、セクションヘッダにそのプリ
    ミティブを含むブロックで参照されるセクションの全て
    の先頭アドレスが示され、処理ドライバはセクションヘ
    ッダからセクションのアドレスとプリミティブデータの
    中のオフセットにより所定のデータにアクセスすること
    を特徴とする請求項3記載の画像情報生成方法。
  20. 【請求項20】 処理ドライバが識別子に基づいてセク
    ションとオフセットのの対応をとることを特徴とする請
    求項19記載の画像生成方法。
  21. 【請求項21】 一ポリゴン内の頂点が複数のマトリク
    スによって個々に計算される共有ポリゴンを含むポリゴ
    ンの集合体の画像情報を生成する画像生成方法であっ
    て、 一ポリゴン内の頂点が単一のマトリクスによって計算さ
    れる独立ポリゴンの頂点群と共有ポリゴンの頂点群とを
    近接して配置し、 独立ポリゴン及び共有ポリゴンで同じ内容頂点情報を一
    つにまとめ、独立ポリゴン及び共有ポリゴン両方から参
    照して画像情報を生成することを特徴とする画像生成方
    法。
  22. 【請求項22】 データの処理に必要なパラメータセッ
    トが上記データの内部にあるか外部にあるを判別するた
    めの判別用データと、上記パラメータセットの所在を示
    すためのポインタとを上記データの内に有するデータ構
    造の画像情報を生成する画像生成方法であって、 上記パラメータセットがデータ内部に存在する場合に
    は、ポインタは初期値としてデータ内での特定のアドレ
    スからの上記パラメータセットの先頭アドレスまでの距
    離を指定し、上記パラメータセットがデータ外部に存在
    する場合には、ポインタは任意の初期値を持ち、 データの処理前に、上記判定用データを参照してパラメ
    ータセットがデータ内にあるか否かを判定し、 パラメータセットがデータ内部にある場合には、ポイン
    タに書かれた距離データを実アドレスに変換して上記ポ
    インタに書き戻し、 パラメータセットがデータ外部にある場合には、直接パ
    ラメータの場所を示すを示す実アドレスを上記ポインタ
    に書き込むことを特徴とする画像生成方法。
  23. 【請求項23】 パラメータが重み係数であることを特
    徴とする請求項22記載の画像情報生成方法。
  24. 【請求項24】 上記ポインタが初期値であるか実アド
    レスが書き込まれたをを示すフラグデータをデータ内に
    有し、既に実アドレスが書き込まれたポインタに再度実
    アドレスが書き込まれるのを上記フラグデータにより禁
    止することを特徴とする請求項22記載の画像情報生成
    方法。
  25. 【請求項25】 上記パラメータセットは、データ外部
    にある場合には外部からの入力に反映された値を持ち、
    データ内部にある場合には内部シーケンスによる値を持
    つことを特徴とする請求項22記載の画像情報生成方
    法。
  26. 【請求項26】 同一プログラムで処理されるデータを
    まとめて配置し、上記データをまとめて配置したプリミ
    ティブ領域の先頭にそのデータの種類を示す識別子及び
    そのデータを処理すべき処理ドライバのプログラムへの
    ジャンプテーブルを付加したデータ構造の画像情報を生
    成する情報処理手段を備えることを特徴とする画像情報
    生成装置。
  27. 【請求項27】 上記情報処理手段は、上記プリミティ
    ブ領域の先頭にそのデータの種類を示す識別子及びその
    データを処理すべき処理ドライバのプログラムへのジャ
    ンプテーブルとともに次のプリミティブ領域の先頭への
    オフセットを付加したデータ構造の画像情報を生成する
    ことを特徴とする請求項26記載の画像情報生成装置。
  28. 【請求項28】 上記情報処理手段は、上記次のプリミ
    ティブ領域の先頭へのオフセットにより連結された1以
    上のプリミティブ領域からなるプリミティブ領域群と、
    データを種別した一まとまりのデータ群からなるセクシ
    ョンの先頭のアドレスのリストを含むヘッダセクション
    へのポインタと、次のプリミティブ領域群へのポインタ
    を付加したデータ構造をブロックとする画像情報を生成
    することを特徴とする請求項27記載の画像情報生成装
    置。
  29. 【請求項29】 上記情報処理手段は、上記プリミティ
    ブ領域に付加された識別子により、プリミティブのデー
    タを処理すべき処理ドライバを特定し、その処理ドライ
    バのプログラムの先頭アドレスを上記ジャンプテーブル
    へ代入することにより、データとプログラムとの関連付
    けを実行時に行うことを特徴とする請求項26記載の画
    像情報生成方法。
  30. 【請求項30】 上記情報処理手段は、上記識別子の上
    位ビットを大分類に割り当て、下位ビットを小分類に割
    り当てることを特徴とする請求項26 載の画像情報生
    成装置。
  31. 【請求項31】 上記情報処理手段は、上記識別子に初
    期化用のビットを設け、データ作成時に上記初期化用の
    ビットを付加し、処理ドライバとプリミティブの関連付
    けのときに上記初期化用のビットを参照して、初期化処
    理を行うことを特徴とする請求項29記載の画像情報生
    成装置。
  32. 【請求項32】 上記情報処理手段は、上記処理ドライ
    バにパラメータを渡す場合に、プリミティブ内にパラメ
    ータ領域を設け、その先頭アドレスを関数の引数として
    渡すことを特徴とする請求項26 載の画像情報生成装
    置。
  33. 【請求項33】 上記パラメータ領域にコピーするパラ
    メータの一部にセクションヘッダの内容を含むことを特
    徴とする請求項32記載の画像情報生成装置。
  34. 【請求項34】 プリミティブと処理ドライバとの関連
    付けが行われたか否かを示すフラグを上記プリミティブ
    内に設けることを特徴とする請求項26記載の画像情報
    生成装置。
  35. 【請求項35】 上記情報処理手段は、上記ヘッダセク
    ションへのポインタと次のプリミティブ領域群へのポイ
    ンタにデータが作成されたときには先頭からのオフセッ
    トを入れておき、実行時に実アドレスに変換するること
    を特徴とする請求項28記載の画像情報生成装置。
  36. 【請求項36】 上記情報処理手段は、上記ポインタが
    実行時に実アドレスに変換されたか否かを示すフラグを
    データ内に設けることを特徴とする請求項35記載の画
    像情報生成装置。
  37. 【請求項37】 上記情報処理手段は、上記ブロックの
    先頭アドレスを羅列したブロックヘッダ領域を設け、こ
    のブロックヘッダ領域に羅列された先頭アドレスに従っ
    て最初から順番にブロックの評価を行い、先頭ブロック
    を前処理に使用し、最終ブロックを後処理に使用するこ
    とを特徴とする請求項26記載の画像情報生成装置。
  38. 【請求項38】 上記情報処理手段は、上記先頭ブロッ
    ク及び最終ブロック以外のブロックに、1つのブロック
    を1つの座標系に対応させることを特徴とする請求項3
    7記載の画像情報生成装置。
  39. 【請求項39】 上記情報処理手段は、上記セクション
    にテクスチャイメージデータ、ポリゴンデータあるいは
    モーションデータを入れることを特徴する請求項28記
    載の画像情報生成装置。
  40. 【請求項40】 上記情報処理手段は、上記処理ドライ
    バにより他の処理ドライバを呼び出すことを特徴とする
    請求項26記載の画像情報生成装置。
  41. 【請求項41】 上記情報処理手段は、上記パラメータ
    領域を連続して用いることにより、上記処理ドライバで
    他の処理ドライバを呼び出すことを特徴とする請求項3
    2記載の画像情報生成装置。
  42. 【請求項42】 上記情報処理手段は、時系列でデータ
    を変化させる場合に、上記セクションとセクション内オ
    フセットを指定することにより、変化させるべきデータ
    を特定することを特徴とすることを特徴とする請求項2
    8記載の画像情報生成装置。
  43. 【請求項43】 上記情報処理手段は、上記プリミティ
    ブと処理ドライバのプログラムとの関連付けを行うとき
    に、上記パラメータ領域にその処理ドライバを呼び出す
    ための引数を用意することを特徴とする請求項32記載
    の画像情報生成装置。
  44. 【請求項44】 プリミティブデータがセクション内オ
    フセットにより表現され、セクションヘッダにそのプリ
    ミティブを含むブロックで参照されるセクションの全て
    の先頭アドレスが示され、処理ドライバはセクションヘ
    ッダからセクションのアドレスとプリミティブデータの
    中のオフセットにより所定のデータにアクセスすること
    を特徴とする請求項28記載の画像情報生成装置。
  45. 【請求項45】 処理ドライバが識別子に基づいてセク
    ションとオフセットのの対応をとることを特徴とする請
    求項44記載の画像生成装置。
  46. 【請求項46】 一ポリゴン内の頂点が複数のマトリク
    スによって個々に計算される共有ポリゴンを含むポリゴ
    ンの集合体の画像情報を生成する画像生成装置であっ
    て、 一ポリゴン内の頂点が単一のマトリクスによって計算さ
    れる独立ポリゴンの頂点群と共有ポリゴンの頂点群とを
    近接して配置し、独立ポリゴン及び共有ポリゴンで同じ
    内容頂点情報を一つにまとめ、独立ポリゴン及び共有ポ
    リゴン両方から参照して画像情報を生成する情報処理手
    段を備えることを特徴とする画像生成装置。
  47. 【請求項47】 データの処理に必要なパラメータセッ
    トが上記データの内部にあるか外部にあるを判別するた
    めの判別用データと、上記パラメータセットの所在を示
    すためのポインタとを上記データの内に有するデータ構
    造の画像情報を生成する画像生成装置であって、 上記パラメータセットがデータ内部に存在する場合に
    は、ポインタは初期値としてデータ内での特定のアドレ
    スからの上記パラメータセットの先頭アドレスまでの距
    離を指定し、上記パラメータセットがデータ外部に存在
    する場合には、ポインタは任意の初期値を持ち、データ
    の処理前に、上記判定用データを参照してパラメータセ
    ットがデータ内にあるか否かを判定し、パラメータセッ
    トがデータ内部にある場合には、ポインタに書かれた距
    離データを実アドレスに変換して上記ポインタに書き戻
    し、パラメータセットがデータ外部にある場合には、直
    接パラメータの場所を示す実アドレスを上記ポインタに
    書き込む情報処理手段を備えることを特徴とする画像生
    成装置。
  48. 【請求項48】 上記情報処理手段は、パラメータが重
    み係数であることを特徴とする請求項47記載の画像情
    報生成装置。
  49. 【請求項49】 上記情報処理手段は、上記ポインタが
    初期値であるか実アドレスが書き込まれたをを示すフラ
    グデータをデータ内に有し、既に実アドレスが書き込ま
    れたポインタに再度実アドレスが書き込まれるのを上記
    フラグデータにより禁止することを特徴とする請求項4
    7記載の画像情報生成装置。
  50. 【請求項50】 上記情報処理手段は、上記パラメータ
    セットが、データ外部にある場合には外部からの入力に
    反映された値を持ち、データ内部にある場合には内部シ
    ーケンスによる値を持つことを特徴とする請求項47記
    載の画像情報生成装置。
  51. 【請求項51】 同一プログラムで処理されるデータを
    まとめて配置し、上記データをまとめて配置したプリミ
    ティブ領域の先頭にそのデータの種類を示す識別子及び
    そのデータを処理すべき処理ドライバのプログラムへの
    ジャンプテーブルを付加したデータ構造の画像情報を生
    成する情報処理プログラムを記録したことを特徴とする
    コンピュータにより実行可能な情報処理プログラムの記
    録媒体。
  52. 【請求項52】 上記情報処理プログラムは、上記プリ
    ミティブ領域の先頭にそのデータの種類を示す識別子及
    びそのデータを処理すべき処理ドライバのプログラムへ
    のジャンプテーブルとともに次のプリミティブ領域の先
    頭へのオフセットを付加したデータ構造の画像情報を生
    成することを特徴とする請求項51記載の記録媒体。
  53. 【請求項53】 上記情報処理プログラムは、上記次の
    プリミティブ領域の先頭へのオフセットにより連結され
    た1以上のプリミティブ領域からなるプリミティブ領域
    群と、データを種別した一まとまりのデータ群からなる
    セクションの先頭のアドレスのリストを含むヘッダセク
    ションへのポインタと、次のプリミティブ領域群へのポ
    インタを付加したデータ構造をブロックとする画像情報
    を生成することを特徴とする請求項52記載の記録媒
    体。
  54. 【請求項54】 上記情報処理プログラムは、上記プリ
    ミティブ領域に付加された識別子により、プリミティブ
    のデータを処理すべき処理ドライバを特定し、その処理
    ドライバのプログラムの先頭アドレスを上記ジャンプテ
    ーブルへ代入することにより、データとプログラムとの
    関連付けを実行時に行うことを特徴とする請求項51記
    載の記録媒体。
  55. 【請求項55】 上記情報処理プログラムは、上記識別
    子の上位ビットを大分類に割り当て、下位ビットを小分
    類に割り当てることを特徴とする請求項51記載の記録
    媒体。
  56. 【請求項56】 上記情報処理プログラムは、上記識別
    子に初期化用のビットを設け、データ作成時に上記初期
    化用のビットを付加し、処理ドライバとプリミティブの
    関連付けのときに上記初期化用のビットを参照して、初
    期化処理を行うことを特徴とする請求項54記載の記録
    媒体。
  57. 【請求項57】 上記情報処理プログラムは、上記処理
    ドライバにパラメータを渡す場合に、プリミティブ内に
    パラメータ領域を設け、その先頭アドレスを関数の引数
    として渡すことを特徴とする請求項51記載の記録媒
    体。
  58. 【請求項58】 上記情報処理プログラムは、上記パラ
    メータ領域にコピーするパラメータの一部にセクション
    ヘッダの内容を含むことを特徴とする請求項57記載の
    記録媒体。
  59. 【請求項59】 上記情報処理プログラムは、プリミテ
    ィブと処理ドライバとの関連付けが行われたか否かを示
    すフラグを上記プリミティブ内に設けることを特徴とす
    る請求項51記載の記録媒体。
  60. 【請求項60】 上記情報処理プログラムは、上記ヘッ
    ダセクションへのポインタと次のプリミティブ領域群へ
    のポインタは、データが作成されたときには先頭からの
    オフセットが入っており、実行時に実アドレスに変換さ
    れることを特徴とする請求項53記載の記録媒体。
  61. 【請求項61】 上記情報処理プログラムは、上記ポイ
    ンタが実行時に実アドレスに変換されたか否かを示すフ
    ラグをデータ内に設けることを特徴とする請求項60記
    載の記録媒体。
  62. 【請求項62】 上記情報処理プログラムは、上記ブロ
    ックの先頭アドレスを羅列したブロックヘッダ領域を設
    け、このブロックヘッダ領域に羅列された先頭アドレス
    に従って最初から順番にブロックの評価を行い、先頭ブ
    ロックを前処理に使用し、最終ブロックを後処理に使用
    することを特徴とする請求項51記載の記録媒体。
  63. 【請求項63】 上記情報処理プログラムは、上記先頭
    ブロック及び最終ブロック以外のブロック画、1つのブ
    ロックが1つの座標系に対応することを特徴とする請求
    項62記載の記録媒体。
  64. 【請求項64】 上記情報処理プログラムは、上記セク
    ションにテクスチャイメージデータ、ポリゴンデータあ
    るいはモーションデータが入ることを特徴する請求項5
    3記載の記録媒体。
  65. 【請求項65】 上記情報処理プログラムは、上記処理
    ドライバが他の処理ドライバを呼び出すことを特徴とす
    る請求項51記載の記録媒体。
  66. 【請求項66】 上記情報処理プログラムは、上記パラ
    メータ領域を連続して用いることにより、上記処理ドラ
    イバが他の処理ドライバを呼び出すことを特徴とする請
    求項57記載の記録媒体。
  67. 【請求項67】 上記情報処理プログラムは、時系列で
    データを変化させる場合に、上記セクションとセクショ
    ン内オフセットを指定することにより、変化させるべき
    データを特定することを特徴とする請求項53記載の記
    録媒体。
  68. 【請求項68】 上記情報処理プログラムは、上記プリ
    ミティブと処理ドライバのプログラムとの関連付けを行
    うときに、上記パラメータ領域にその処理ドライバを呼
    び出すための引数を用意することを特徴とする請求項5
    7記載の記録媒体。
  69. 【請求項69】 上記情報処理プログラムは、プリミテ
    ィブデータがセクション内オフセットにより表現され、
    セクションヘッダにそのプリミティブを含むブロックで
    参照されるセクションの全ての先頭アドレスが示され、
    処理ドライバはセクションヘッダからセクションのアド
    レスとプリミティブデータの中のオフセットにより所定
    のデータにアクセスすることを特徴とする請求項53記
    載の記録媒体。
  70. 【請求項70】 上記情報処理プログラムは、処理ドラ
    イバが識別子に基づいてセクションとオフセットのの対
    応をとることを特徴とする請求項69記載の記録媒体。
  71. 【請求項71】 一ポリゴン内の頂点が複数のマトリク
    スによって個々に計算される共有ポリゴンを含むポリゴ
    ンの集合体の画像情報を生成する情報処理プログラムで
    あって、一ポリゴン内の頂点が単一のマトリクスによっ
    て計算される独立ポリゴンの頂点群と共有ポリゴンの頂
    点群とを近接して配置し、独立ポリゴン及び共有ポリゴ
    ンで同じ内容頂点情報を一つにまとめ、独立ポリゴン及
    び共有ポリゴン両方から参照して画像情報を生成する情
    報処理プログラムを記録したことを特徴とするコンピュ
    ータにより実行可能な情報処理プログラムの記録媒体。
  72. 【請求項72】 データの処理に必要なパラメータセッ
    トが上記データの内部にあるか外部にあるを判別するた
    めの判別用データと、上記パラメータセットの所在を示
    すためのポインタとを上記データの内に有するデータ構
    造の画像情報を生成する情報処理プログラムであって、
    上記パラメータセットがデータ内部に存在する場合に
    は、ポインタは初期値としてデータ内での特定のアドレ
    スからの上記パラメータセットの先頭アドレスまでの距
    離を指定し、上記パラメータセットがデータ外部に存在
    する場合には、ポインタは任意の初期値を持ち、データ
    の処理前に、上記判定用データを参照してパラメータセ
    ットがデータ内にあるか否かを判定し、パラメータセッ
    トがデータ内部にある場合には、ポインタに書かれた距
    離データを実アドレスに変換して上記ポインタに書き戻
    し、パラメータセットがデータ外部にある場合には、直
    接パラメータの場所を示すを示す実アドレスを上記ポイ
    ンタに書き込む情報処理プログラムを記録したことを特
    徴とするコンピュータにより実行可能な情報処理プログ
    ラムの記録媒体。
  73. 【請求項73】 上記情報処理プログラムは、パラメー
    タが重み係数であることを特徴とする請求項72記載の
    記録媒体。
  74. 【請求項74】 上記情報処理プログラムは、上記ポイ
    ンタが初期値であるか実アドレスが書き込まれたをを示
    すフラグデータをデータ内に有し、既に実アドレスが書
    き込まれたポインタに再度実アドレスが書き込まれるの
    を上記フラグデータにより禁止することを特徴とする請
    求項72記載の記録媒体。
  75. 【請求項75】 上記情報処理プログラムは、上記パラ
    メータセットが、データ外部にある場合には外部からの
    入力に反映された値を持ち、データ内部にある場合には
    内部シーケンスによる値を持つことを特徴とする請求項
    72記載の記録媒体。
JP15916197A 1997-06-02 1997-06-02 画像情報生成方法及び画像情報生成装置、並びに記録媒体 Pending JPH10334249A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15916197A JPH10334249A (ja) 1997-06-02 1997-06-02 画像情報生成方法及び画像情報生成装置、並びに記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15916197A JPH10334249A (ja) 1997-06-02 1997-06-02 画像情報生成方法及び画像情報生成装置、並びに記録媒体

Publications (1)

Publication Number Publication Date
JPH10334249A true JPH10334249A (ja) 1998-12-18

Family

ID=15687610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15916197A Pending JPH10334249A (ja) 1997-06-02 1997-06-02 画像情報生成方法及び画像情報生成装置、並びに記録媒体

Country Status (1)

Country Link
JP (1) JPH10334249A (ja)

Similar Documents

Publication Publication Date Title
US5793376A (en) Method of producing image data, image data processing apparatus, and recording medium
CA2164269C (en) Image processing in which the image is divided into image areas with specific color lookup tables for enhanced color resolution
JP4719363B2 (ja) 内部フレームバッファと主メモリ間でのコピーアウト変換を有するグラフィクスシステム
JP3725524B2 (ja) コンピュータディスプレイ画像を生成する方法ならびに画像データを生成するコンピュータ処理システムおよびグラフィックスプロセッサ
US7075545B2 (en) Graphics system with embedded frame buffer having reconfigurable pixel formats
US7576748B2 (en) Graphics system with embedded frame butter having reconfigurable pixel formats
EP0715278B1 (en) Method of producing image data and associated recording medium
KR100823786B1 (ko) 표시장치, 표시방법, 및, 프로그램을 기록한 컴퓨터 판독 가능한 정보기록매체
JP2000132706A (ja) 記録媒体、画像処理装置および画像処理方法
JP2003515766A (ja) ハンドヘルドlcd素子に高い色解像度を表示するための方法および装置
JPH11259671A (ja) 画像表示方法及びそれを実行する画像表示装置
JP3548642B2 (ja) 画像情報生成装置及び方法、画像情報処理装置及び方法、並びに記録媒体
JP4683760B2 (ja) 再構成可能なピクセルフォーマットを有する組み込みフレームバッファを有するグラフィックスシステム
JPH10334249A (ja) 画像情報生成方法及び画像情報生成装置、並びに記録媒体
JP3910259B2 (ja) 画像処理装置および方法、並びにレンダリング装置および方法
JP3698747B2 (ja) 画像データ生成方法及び画像処理システム
JP3547236B2 (ja) 画像情報生成装置及び方法、並びに画像情報処理装置及び方法
EP1182617A2 (en) Graphics system with reconfigurable embedded frame buffer and copy out conversions between embedded frame buffer and main memory
JPH08161465A (ja) 画像データファイル作成方法、記録媒体及び画像作成方法
JP2003323633A (ja) 画像処理装置及びプログラム
MXPA95004904A (en) Method for producing image data, image data processing device and regis medium

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040601

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040601

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070417

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070807