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