(57)【特許請求の範囲】
【請求項１】
外部バスを介して接続される複数の画像処理ユニット及びメモリを備える画像処理装置であって、
少なくとも１つの画像処理ユニットのデータ入力段にデータのアンパケット化の手順が変更可能な第１のパケットエンジンを設けたことを特徴とする画像処理装置。
【請求項２】
他の画像処理ユニットのデータ出力段にデータをパケット化する第２のパケットエンジンを有することを特徴とする請求項１記載の画像処理装置。
【請求項３】
上記第２のパケットエンジンは、データのパケット化の際にそのパケット化の手順に対応するアンパケット化の手順を示す付加情報をパケットに付加し、上記第１のパケットエンジンは、アンパケット化の際に上記付加情報により示される手順に従ってアンパケット化を行うことを特徴とする請求項２記載の画像処理装置。
【請求項４】
上記第１及び第２のパケットエンジンは、データのパケット化／アンパケット化の手順を選択する手順選択手段を備え、上記第２のパケットエンジンは、パケット化の際に上記手順選択手段により選択されたアンパケット化の手順を示すタグ情報をパケットに付加し、上記第１のパケットエンジンは、アンパケット化の際に上記タグ情報により指定される手順を上記手順選択手段で選択することを特徴とする請求項２記載の画像処理装置。
【請求項５】
単位図形の組み合わせとして３次元モデルを定義して３次元画像を描画するための描画命令を作成するジオメトリ処理を行うジオメトリ処理機能を有し、作成した描画命令を第１のパケットエンジンによりパケット化してコマンドパケットとして外部バスに送出する第１の画像処理ユニットと、
上記第１の画像処理ユニットから送られてくるコマンドパケットを第１のパケットエンジンによりアンパケット化し、上記コマンドパケットとして送られてきた描画命令を解釈して画素データをフレームバッファに書き込むレンダリング処理を行うレンダリング処理機能を有する第２の画像処理ユニットを上記複数の画像処理ユニットとして備えることを特徴とする請求項１記載の画像処理装置。
【請求項６】
外部バスを介して接続される複数の画像処理ユニット及びメモリを備える画像処理装置における画像処理方法であって、
少なくとも１つの画像処理ユニットのデータ入力段に設けたデータのアンパケット化の手順が変更可能な第１のパケットエンジンにより、アンパケット化を行うことを特徴とする画像処理方法。
【請求項７】
他の画像処理ユニットのデータ出力段に設けた第２のパケットエンジンにより、データをパケット化することを特徴とする請求項６記載の画像処理方法。
【請求項８】
第２のパケットエンジンにより、データのパケット化の際にそのパケット化の手順に対応するアンパケット化の手順を示す付加情報をパケットに付加し、
第１のパケットエンジンにより、アンパケット化の際に上記付加情報により示される手順に従ってアンパケット化を行うことを特徴とする請求項７記載の画像処理方法。
【請求項９】
第２のパケットエンジンにより、データのパケット化の際にデータのパケット化／アンパケット化の手順を選択し、選択されたアンパケット化の手順を示すタグ情報をパケットに付加し、
第１のパケットエンジンにより、アンパケット化の際に上記タグ情報により指定されるアンパケット化の手順を選択して、アンパケット化を行うことを特徴とする請求項７記載の画像処理方法。
【請求項１０】
第１の画像処理ユニットにおいて、単位図形の組み合わせとして３次元モデルを定義して３次元画像を描画するための描画命令を作成するジオメトリ処理を行い、作成した描画命令を第２のパケットエンジンによりパケット化してコマンドパケットとして外部バスに送出し、
第２の画像処理ユニットにおいて、上記第１の画像処理ユニットから送られてくるコマンドパケットを第１のパケットエンジンによりアンパケット化し、上記コマンドパケットとして送られてきた描画命令を解釈して画素データをフレームバッファに書き込むレンダリング処理を行うことを特徴とする請求項６記載の画像処理方法。
【発明の詳細な説明】
技術分野
本発明は、コンピュータを用いた映像機器であるグラフィックコンピュータ、特殊効果装置、ビデオゲーム機等に用いられる画像処理装置及び画像処理方法に関する。
背景技術
家庭用TVゲーム機やパーソナルコンピュータあるいはグラフィックコンピュータなどにおいて、テレビジョン受像機やモニタ受像機あるいは陰極線管（CRT:Cathode Ray Tube）ディスプレイ装置などに出力して表示する画像のデータすなわち表示出力画像データを生成する画像処理装置は、汎用メモリチップ、中央演算処理装置（CPU:Central Processing Unit）やその他の演算チップが組み合わせて構成され、CPUとフレームバッファの間に専用の描画装置を設けることにより、高速処理を可能にしている。
すなわち、上記画像処理装置において、CPU側では、画像を生成する際に、直接フレームバッファをアクセスするのではなく、座標変換やクリッピング、光源計算等のジオメトリ処理を行い、３角形や４角形などの基本的な単位図形（ポロゴン）の組み合わせとして３次元モデルを定義して３次元画像を描画するための描画命令を作成し、その描画命令を外部バスを介して描画装置に送る。例えば、３次元のオブジェクトを表示する場合は、オブジェクトを複数のポリゴンに分解して、各ポリゴン対応する描画命令をCPUから描画装置に転送する。そして、描画装置は、CPUから外部バスを介して送られてきた描画命令を解釈して、頂点の色データと奥行きを示すＺ値から、ポリゴンを構成する全ての画素の色とＺ値を演算して、画素データをフレームバッファに書き込むレンダリング処理を行い、フレームバッファに図形を描画する。なお、上記Ｚ値は、視点からの奥行き方向の距離を示す情報である。
例えば、上記画像生成装置において、３次元のオブジェクトを表示する場合は、オブジェクトを複数のポリゴンに分解して、各ポリゴンに対応する描画命令をCPUから描画装置に転送する。この際に、オブジェクトをより実際に近く表現するするために、テクスチャマッピングやミップマッピングと呼ばれる手法が採用されている。さらに、色変換データを記憶したカラールックアップテーブル（CLUT:Color Look Up Table）を介して画像の色データを変換することにより、表示色を変化させる手法も広く知られている。
ここで、テクスチャマッピングとは、テクスチャソース画像として別に用意された２次元画像（絵柄）すなわちテクスチャパターンを物体を構成するポリゴンの表面に張り付ける技術である。また、ミップマッピングは、３次元モデルに近づいたり、そこから遠ざかった場合に、ポリゴンの張り付ける絵柄が不自然にならないように画素データを補間するようにしたテクスチャマッピングの手法の１つである。
ところで、家庭用TVゲーム機やパーソナルコンピュータのような汎用メモリチップ、CPUやその他の演算チップが組み合わせて構成された演算処理システムでは、演算チップの動作周波数や回路規模などの性能向上に比べてメモリの動作速度や外部バスの性能の向上が十分でなく、外部バスがボトルネックとなっていた。また、大きなデータ転送量を持つメモリバスシステムも一般にレイテンシィが大きく、大容量のバースト転送では高性能だが、通常のCPUアクセスのような小容量でランダムな転送では、性能を発揮できていない。
コマンドパケット等の予め固定されたパケットを用いる場合、ダイレクトメモリアクセスコントローラ（DMAC:Direct Memory Access Controller）の利用により、効率よく転送できるが、多様なアルゴリズムには対応できず、冗長となる場合も多かった。
パケットのフォーマットとリフォーマットにCPU命令が消費され効率を下げていた。また、キャッシュを持ったシステムであっても、パケット長に適合するほど長いバーストを設定することができず、通常４ワード程度に固定されており、大きなデータ転送量のメモリシステムの性能を発揮できない。
そこで、本発明は、上述したような実情に鑑みてなされたものであり、次のような目的を有する。
すなわち、本発明の目的は、汎用メモリチップ、CPUやその他の演算チップが組み合わせて構成された画像処理装置における上述ようなボトルネックを軽減することにある。
本発明の他の目的は、データ転送の高効率化を図った画像処理装置及び画像処理方法を提供することにある。
また、本発明の他の目的は、メモリ上のデータの高効率化を図った画像処理装置及び画像処理方法を提供することにある。
また、本発明の他の目的は、ポケットデータの展開・梱包の高効率化を図った画像処理装置及び画像処理方法を提供することにある。
また、本発明の他の目的は、パケット形式に自由度を持たせた画像処理装置及び画像処理方法を提供することにある。
さらに、本発明の他の目的は、パケット形式に適したバースト転送を可能にした画像処理装置及び画像処理方法を提供することにある。
発明の開示
本発明は、外部バスを介して接続される複数の画像処理ユニット及びメモリを備える画像処理装置であって、少なくとも１つの画像処理ユニットのデータ入力段にデータのアンパケット化の手順が変更可能な第１のパケットエンジンを設けたことを特徴とする。これにより、本発明に係る画像処理装置では、パケット形式に自由度を持たせ、データ転送の高効率化を図るとともに、メモリ上のデータの高効率化を図ることができる。
本発明に係る画像処理装置では、他の画像処理ユニットのデータ出力段にデータをパケット化する第２のパケットエンジンを有するものとすることができる。
本発明に係る画像処理装置において、上記第２のパケットエンジンは、データのパケット化の際にそのパケット化の手順に対応するアンパケット化の手順を示す付加情報をパケットに付加し、上記第１のパケットエンジンは、アンパケット化の際に上記付加情報により示される手順に従ってアンパケット化を行うようにすることができる。これにより、本発明に係る画像処理装置における各パケットエンジンは、パケット形式に自由度を持たせ、パケットデータの展開・梱包を効率よく行うことができる。
また、本発明に係る画像処理装置において、上記第１及び第２のパケットエンジンは、データのパケット化／アンパケット化の手順を選択する手順選択手段を備えることにより、上記第２のパケットエンジンは、パケット化の際に上記手順選択手段により選択されたアンパケット化の手順を示すタグ情報をパケットに付加し、上記第２のパケットエンジンは、アンパケット化の際に上記タグ情報により指定される手順を上記手順選択手段で選択することができる。これにより、本発明に係る画像処理装置におけるパケットエンジンは、パケット形式に自由度を持たせ、パケットデータの展開・梱包を効率よく行うことができる。
さらに、本発明に係る画像処理装置は、例えば、単位図形の組み合わせとして３次元モデルを定義して３次元画像を描画するための描画命令を作成するジオメトリ処理を行うジオメトリ処理機能を有し、作成した描画命令を第２のパケットエンジンによりパケット化してコマンドパケットとして外部バスに送出する第１の画像処理ユニットと、上記第１の画像処理ユニットから送られてくるコマンドパケットを第１のパケットエンジンによりアンパケット化し、上記コマンドパケットとして送られてきた描画命令を解釈して画素データをフレームバッファに書き込むレンダリング処理を行うレンダリング処理機能を有する第２の画像処理ユニットを上記複数の画像処理ユニットとして備えることができる。これにより、本発明に係る画像処理装置では、効率よく描画処理を行うことができる。
また、本発明は、外部バスを介して接続される複数の画像処理ユニット及びメモリを備える画像処理装置における画像処理方法であって、少なくとも１つの画像処理ユニットのデータ入力段に設けたデータのアンパケット化の手順が変更可能な第１のパケットエンジンにより、アンパケット化を行うことを特徴とする。これにより、本発明に係る画像処理方法では、パケット形式に自由度を持たせ、データ転送の高効率化を図るとともに、メモリ上のデータの高効率化を図ることができる。
本発明に係る画像処理方法では、他の画像処理ユニットのデータ出力段に設けた第２のパケットエンジンにより、データをパケット化することができる。
また、本発明に係る画像処理方法では、第２のパケットエンジンにより、データのパケット化の際にそのパケット化の手順に対応するアンパケット化の手順を示す付加情報をパケットに付加し、第１のパケットエンジンにより、アンパケット化の際に上記付加情報により示される手順に従ってアンパケット化を行うようにすることができる。これにより、本発明に係る画像処理方法では、各パケットエンジンのパケット形式に自由度を持たせ、パケットデータの展開・梱包を効率よく行うことができる。
また、本発明に係る画像処理方法では、第２のパケットエンジンにより、データのパケット化の際にデータのパケット化／アンパケット化の手順を選択し、選択されたアンパケット化の手順を示すタグ情報をパケットに付加し、第１のパケットエンジンにより、アンパケット化の際に上記タグ情報により指定されるアンパケット化の手順を選択して、アンパケット化を行うようにすることができる。これにより、本発明に係る画像処理方法では、各パケットエンジンのパケット形式に自由度を持たせ、パケットデータの展開・梱包を効率よく行うことができる。
さらに、本発明に係る画像処理方法では、例えば、第１の画像処理ユニットにおいて、単位図形の組み合わせとして３次元モデルを定義して３次元画像を描画するための描画命令を作成するジオメトリ処理を行い、作成した描画命令を第２のパケットエンジンによりパケット化してコマンドパケットとして外部バスに送出し、第２の画像処理ユニットにおいて、上記第１の画像処理ユニットから送られてくるコマンドパケットを第１のパケットエンジンによりアンパケット化し、上記コマンドパケットとして送られてきた描画命令を解釈して画素データをフレームバッファに書き込むレンダリング処理を行うようにすることができる。これにより、本発明に係る画像処理装置では、効率よく描画処理を行うことができる。
したがって、本発明によれば、汎用メモリチップ、CPUやその他の演算チップが組み合わせて構成された従来の画像処理装置におけるボトルネックを軽減することができる。
【図面の簡単な説明】
図１は、本発明を適用したビデオゲーム装置の構成を示すブロック図である。
図２は、上記ビデオゲーム装置におけるプログラマブルパケットエンジンPPEの設置状態を模式的に示す図である。
図３は、上記PPEの構成を示すブロック図である。
図４は、上記PPEの動作例を示す図である。
図５は、上記PPEの他の動作例を示す図である。
図６は、上記PPEの他の動作例を示す図である。
図７は、上記ビデオゲーム装置における可変長リード／ライトバッファVLBFの動作例を示す図である。
図８は、本発明を適用したビデオゲーム装置の平面図である。
図９は、上記ビデオゲーム装置の背面図である。
図10は、上記ビデオゲーム装置の側面図である。
図11は、上記ビデオゲーム装置に装着されるCD−ROMの平面図である。
発明を実施するための最良の形態
以下、本発明の好ましい実施の形態について、図面を参照しながら説明する。
本発明は、例えば図１に示すような構成のビデオゲーム装置に適用される。このビデオゲーム装置は、例えば光学ディスク等に記憶されているゲームプログラムを読み出して実行することにより、使用者からの指示に応じてゲームを行うものであって、図１に示すような構成を有している。
すなわち、このビデオゲーム装置は、２種類のバスすなわち、メインバス１とサブバス２を備える。上記メインバス１とサブバス２は、バスコントローラ10を介して接続されている。
そして、上記メインバス１には、マイクロプロセッサなどからなる主中央演算処理部（メインCPU:Central Processing Unit）11、ランダムアクセスメモリ（RAM:Random Access Memory）からなる主記憶装置（メインメモリ）12、主ダイレクトメモリアクセスコントローラ（メインDMAC:Direct Memory Access Controller）13、MPEGデコーダ（MDEC:MPEG Decoder）14及び画像処理部（GPU:Graphic Processing Unit）15が接続されている。また、上記サブバス２には、マイクロプロセッサなどからなる副中央演算処理部（サブCPU:Central Processing Unit）21、ランダムアクセスメモリ（RAM:Random Access Memory）からなる副記憶装置（サブメモリ）22、副ダイレクトメモリアクセスコントローラ（サブDMAC:Direct Memory Access Controller）23、オペレーティングシステム等のプログラムが格納されたリードオンリーメモリ（ROM:Read Only Memory）24、音声処理部（SPU:Sound Processing Unit）25、通信制御部（ATM:Asynchronous Transmission mode）26、補助記憶装置27、入力デバイス28及びCD−ROMドライブ30が接続されている。
上記バスコントローラ10は、メインバス１とサブバス２との間のスイッチングを行う上記メインバス１上のデバイスであって、初期状態ではオープンになっている。
また、上記メインCPU11は、上記メインメモリ12上のプログラムで動作する上記メインバス１上のデバイスである。このメインCPU11は、起動時には上記バスコントローラ10がオープンになっていることにより、上記サブバス２上のROM24からブートプログラムを読み込んで実行し、CD−ROMドライバ30によりCD−ROMからアプリケーションプログラム及び必要なデータを再生して上記メインメモリ12や上記サブバス２上のデバイスにロードする。このメインCPU11には、座標変換等の処理を行うジオミトリトランスファエンジン（GTE:Geometry Transfer Engine）17が搭載されているとともに、その入出力部にデータのパケット化／アンパケット化を行うとともに、その手順が変更可能なプログラマブルパケットエンジン（PPE:Programmable Packet Engine）112及び可変長リード／ライトバッファ（VLBF:Variable Length Read/Write Buffer）117が設けられている。
上記GTE17は、例えば複数の演算を並列に実行する並列演算機構を備え、上記メインCPU11からの演算要求に応じて座標変換，光源計算，行列あるいはベクトルなどの演算を高速に行う。そして、上記メインCPU11は、上記GTE17による演算結果に基づいて３角形や４角形などの基本的な単位図形（ポリゴン）の組み合わせとして３次元モデルを定義して３次元画像を描画するための各ポリゴンに対応する描画命令を作成する。そして、上記PPE112は、この描画命令をパケット化してコマンドパケットとして、上記メインバス１を介して上記GPU15に転送する。
また、上記メインDMAC13は、メインバス１上のデバイスを対象とするDMA転送の制御等を行う上記メインバス１上のデバイスである。このメインDMAC13は、上記バスコントローラ10がオープンになっているときにはサブバス２上のデバイスも対象とする。
また、上記GPU15は、レンダリングプロセッサとして機能する上記メインバス１上のデバイスである。このGPU15は、その入出力部にデータのパケット化／アンパケット化の手順が変更可能なプログラマブルパケットエンジン（PPE:Programmable Packet Engine）152が設けられており、上記メインCPU11又はメインDMAC13から送られてくるコマンドパケット及びオブジェクトデータを上記PPE152によりアンパケット化する。そして、このGPU15は、上記コマンドパケットとして送られてきた描画命令解釈して、頂点の色データと奥行きを示すＺ値から、ポリゴンを構成する全ての画素の色を演算する。そして、画素データをＺ値に応じてフレームバッファ18に書き込むレンダリング処理を行う。
また、GPU15は、上記オブジェクトデータとして送られてきた３次元の画像データに対して、図示しないプリプロセッサにより座標変換、光源計算などの演算を行い、各ポリゴンに対応する描画命令を内部で生成することもできるようになっている。そして、上記と同様にレンダリング処理を行う。
また、上記MDEC14は、CPUと並列に動作可能なI/O接続デバイスであって、画像伸張エンジンとして機能する上記メインバス１上のデバイスである。このMDEC14は、離散コサイン変換などの直行変換により圧縮されて符号化された画像データを復号化する。
また、上記サブCPU21は、上記サブメモリ22上のプログラムで動作する上記サブバス２上のデバイスである。また、上記サブDMAC23は、サブバス２上のデバイスを対象とするDMA転送の制御等を行う上記サブバス２上のデバイスである。このサブDMAC23は、上記バスコントローラ10がクローズなっているときにのみバス権利を獲得することができる。また、上記SPU25は、サウンドプロセッサとして機能する上記サブバス２上のデバイスである。このSPU25は、上記サブCPU21又はサブDMAC23からコマンドパケットとして送られてくるサウンドコマンドに応じて、サウンドメモリ29から音源データ読み出して出力する。また、上記ATM26は、サブバス２上の通信用デバイスである。また、上記補助記憶装置27は、サブバス２上のデータ入出力デバイスであってフラッシュメモリ等の不揮発性メモリなどからなる。この補助記憶装置27は、ゲームの進行経過やスコア等のデータを一時記憶する。入力デバイス28は、サブバス２上のコントロールパッド、マウスなどのマンマシンインターフェースや、画像入力、音声入力などの他の機器からの入力用デバイスである。さらに、CD−ROMドライバ30は、サブバス２上のデータ入力デバイスであってCD−ROMからアプリケーションプログラム及び必要なデータを再生する。
すなわち、このビデオゲーム装置では、座標変換やクリッピング、光源計算等のジオメトリ処理を行い、３角形や４角形などの基本的な単位図形（ポリゴン）の組み合わせとして３次元モデルを定義して３次元画像を描画するための描画命令を作成し、各ポリゴンに対応する描画命令をコマンドパケットとしてメインバス１に送出するジオメトリ処理手段が上記メインバス１上のメインCPU11及びGTE17などにより構成され、上記ジオメトリ処理手段からの描画命令に基づいて各ポリゴンの画素データを生成してフレームバッファ18に書き込むレンダリング処理を行い、フレームバッファ18に図形を描画するレンダリング処理手段が上記GPU15により構成されている。
ここで、上記ジオメトリ処理手段を構成しているメインCPU11側のPPE112及びレンダリング処理手段を構成しているGPU15側のPPE152は、図２に示すように、それぞれ各演算ユニット内のFIFO（First In First Out）メモリによる入出力バッファ111,151と内部レジスタ113,153との間に置かれている。上記入出力バッファ111,151はデータ転送のアルゴリズムに適したビット長で構成され、内部レジスタ113,153は演算に適したビット長で構成される。
そして、各PPE112,152は、図３に示すように、入出力バッファ111,151と内部レジスタ113,153を指定するアドレス部112A,152A、データマスク部112B,152B、シフタ部112C,152C、符号拡張部112D,152D、データのパケット化／アンパケット化の各種手順を記述したリストが書き込まれているプログラム部112E,152E及び上記プログラム部112E,152Eのリストに基づいて、各部を制御するとともに、リード／ライトを制御する制御部112F,152Fで構成され、演算制御とは独立に並行して動作して、上記プログラム部112E,152Eのリストで示される手順に従ってデータのパケット化／アンパケット化を行うようになっている。
例えば、上記メインCPU11側のPPE112では、上記GTE17による演算結果に基づいて作成された描画命令をパケット化するに当たり、その描画命令に適したパケット化の手順が上記プログラム部112Eのリストの選択により指定され、この指定されたリストで示される手順に従って描画命令をフォーマッティングして梱包すなわちパケット化する。このパケット化の際に、上記リストで示されるパケット化の手順に対応するアンパケット化の手順を示すタグ情報をパケットに付加する。そして、上記GPU15側のPPE152では、上記メインCPU11又はメインDMAC13から送られてくるコマンドパケットに付加されているタグ情報により指定されるリストに記述された手順に従って上記コマンドパケットをリフォーマッティングして開包すなわちアンパケット化する。
具体的には、上記メインCPU11側のPPE112におけるプログラム部112Eは、三種類のパッキングリストPL0,PL1,PL2が記録されている。
パッキングリストPL0には、図４の（Ａ）に示すように、メインCPU11の内部レジスタ113にオブジェクトデータとして生成された頂点情報（VX0,VY0,VZ0），（VX1,VY1,VZ1），（VX2,VY2,VZ2）、各頂点の法線情報（NX0,NY0,NZ0），（NX1,NY1,NZ1），（NX2,NY2,NZ2）、各頂点の色情報（R0,G0,B0），（R1,G1,B1），（R2,G2,B2）で示される３次元の三角形情報を入出力バッファ111にパケット化してパケットコマンドとして書き込むための手順が記述されている。このパッキングリストPL0に従ったパッキング処理では、32ビットで演算された各頂点情報VX0,VY0,VZ0,VX1,VY1,VZ1,VX2,VY2,VZ2と各頂点の各法線情報NX0,NY0,NZ0,NX1,NY1,NZ1,NX2,NY2,NZ2を16ビットにしてパッキングし、また、16ビットで演算された各頂点の色情報R0,G0,B0,R1,G1,B1,R2,G2,B2を各頂点毎に16ビット、すなわちR,G,Bそれぞれ５ビット及び半透明に用いられる処理などに用いられる制御ビットの計16ビットにパッキングするとともに、当該パッキングリストPL0に対応するアンパッキングリストUL0を指定するタグ情報TAGを付加する。
また、パッキングリストPL1には、図５の（Ａ）に示すように、頂点データ（VX0,VY0,VZ0），差分データ（ΔX1,ΔY1,ΔZ1），（ΔVX2,ΔY2,ΔZ2），（ΔX3,ΔY3,ΔZ3）・・・で構成される連結三角形情報をパケット化するための手順が記述されている。このパッキングリストPL1に従ったパッキング処理では、32ビットで演算された各頂点情報VX0,VY0,VZ0を16ビットにしてパッキングし、また、32ビットで演算された各差分データΔX1,ΔY1,ΔZ1,ΔVX2,ΔY2,ΔZ2,ΔX3,ΔY3,ΔZ3・・・を８ビットにしてパッキングするとともに、当該パッキングリストPL1に対応するアンパッキングリストUL1を指定するタグ情報TAGを付加する。
さらに、パッキングリストPL2には、図６の（Ａ）に示すように、メインCPU11の内部レジスタ113に描画命令としてセットされた頂点座標（X0,Y0），（X1,Y1），（X2,Y2），（X3,Y3）及び各頂点に対応するテクスチャ座標（U0,V0），（U1,V1），（U2,V2），（U3,V3）、色情報（R0,G0,B0），（R1,G1,B1），（R2,G2,B2），（R3,G3,B3）で構成される２次元の四角形情報をパケット化するための手順が記述されている。このパッキングリストPL2に従ったパッキング処理では、32ビットで演算された各頂点座標X0,Y0,X1,Y1,X2,Y2,X3,Y3を16ビットにしてパッキングし、また、16ビットで演算された各テクスチャ座標U0,V0,U1,V1,U2,V2,U3,V3と各頂点の各色情報R0,G0,B0,R1,G1,B1,R2,G2,B2,R3,G3,B3を８ビットにしてパッキングするとともに、当該パッキングリストPL2に対応するアンパッキングリストUL2を指定するタグ情報TAGを付加する。
また、上記GPU15側のPPE152におけるプログラム部152Eは、上記パッキングリストPL0,PL1,PL2に対応する三種類のアンパッキングリストPU0,PU1,PU2が記録されている。
すなわち、アンパッキングリストUL0には、図４の（Ｂ）に示すように、入出力バッファ151に転送されてくるパケットコマンドをそのタグ情報TAGに基づいて32ビットの頂点情報（VX0,VY0,VZ0），（VX1,VY1,VZ1），（VX2,VY2,VZ2）、法線（NX0,NY0,NZ0），（NX1,NY1,NZ1），（NX2,NY2,NZ2）、16ビットの色情報（R0,G0,B0），（R1,G1,B1）,R2,G2,B2）で示される３次元の三角形情報に展開して内部レジスタ153に書き込むための手順が記述されている。
また、アンパッキングリストUL1には、図５の（Ｂ）に示すように、入出力バッファ151に転送されていくるパケットコマンドをそのタグ情報TAGに基づいて32ビットの頂点データ（VX0,VY0,VZ0）と差分データ（ΔX1,ΔY1,ΔZ1），（ΔVX2,ΔY2、ΔZ2），（ΔX3,ΔY3,ΔZ3）・・・で構成される連結三角形情報に展開して内部レジスタ153に書き込むための手順が記述されている。
さらに、パッキングリストUL2には、図６の（Ｂ）に示すように、入出力バッファ151に転送されてくるパケットコマンドをそのタグ情報TAGに基づいて32ビットの頂点座標（X0,Y0），（X1,Y1），（X2,Y2），（X3,Y3）と各頂点に対応する16ビットのテクスチャ座標（U0,V0），（U1,V1），（U2,V2），（U3,V3）及び色情報（R0,G0,B0），（R1,G1,B1），（R2,G2,B2），（R3,G3,B3）で構成される四角形情報に展開して内部レジスタ153に書き込むための手順が記述されている。
また、上記メインCPU11の入出力部に設けられているVLBF117は、図７の（Ａ），（Ｂ）に示すように、最長バースト転送に対応するリードバッファ117Rとライトバッファ117Wと、それぞれのバースト長を設定する各バースト長設定レジスタ117RL,117WLとで構成される。上記バースト長設定レジスタ117RL,117WLは、キャッシュオンする特定のルーチンの先頭でルーチン内で処理するパケットの読み込み、作成に適した長さに設定される。これにより、パケット形式に適したバースト転送を可能にし転送効率を向上させることができる。
このような本発明を適用したビデオゲーム装置は、例えば、図８の平面図、図９の正面図及び図10の側面図に示すような構成となっている。
すなわち、このビデオゲーム装置201は、図８に示すように、基本的に、装置本体202と、この装置本体202に対してケーブル227を介して接続される操作装置217により構成されている。装置本体202の上面の中央部には、ディスク装着部203が設けられ、その内部に図11に示すようなCD−ROM251が装着されるようになされている。ディスク装着部203の左側には、装置の電源をオン又はオフするときに操作される電源スイッチ205と、ゲームを一旦リセットするときに操作されるリセットスイッチ204が設けられている。また、ディスク装着部203の右側には、ディスク装着部203に対してCD−ROM251を着脱するときに操作されるディスク操作スイッチ206が設けられている。
また、装置本体202の正面には、図９に示すように、接続部207A,207Bが設けられている。これらの接続部207A,207Bには、操作装置217から導出されたケーブル227の先端に設けられている接続端子部226と、メモリーカードなどよりなる記録装置228を接続するため接続端子挿入部212と記録挿入部208がそれぞれ設けられている。すなわち、この装置本体202には、操作装置217と記録装置228がそれぞれ２個接続できるようになされている。
ここで、図９の正面図には、右側の接続部207Bに接続端子部226と記録装置228が装着され、左側の接続部207Aには接続端子部226と記録装置228のいずれも装着されていない状態が示されている。この図９に示すように、記録装置228を装着する記録挿入部208にはシャッタ209が設けられており、記録装置238を装置本体202に対して装着するときに、記録装置238の先端で、このシャッタ209を押し込むようにして、装着が行われるようになっている。
また、接続端子部226の把持部231Aと記録装置238には把持部242Aには、それぞれ例えばローレット加工などによる滑り止め加工が施されている。なお、図10の側面図に示すように、接続端子部226と記録装置238の長さＬは、ほぼ同一の長さとされている。
操作装置17には、左右の手で把持される支持部220,221が設けられ、支持部220,221の先端には、操作部218,219が設けられている。操作に224,225は、左右の手の人差し指で操作され、操作部218,219は、左右の親指で操作されるようになっている。
操作部218,219の間には、ゲーム中においてセレクト操作を行うときに操作されるセレクトスイッチ222と、ゲームを開始するときに操作されるスタートスイッチ223が設けられている。
このビデオゲーム装置201では、上記ディスク装着部203に装着されたCD−ROM251が上述CD−ROMドライブ30により再生される。また、上記操作装置217は、上述の入力デバイス28に相当するものであり、また、上記記録装置228は、上述補助記憶装置27に相当するものである。
合に広く適用することができる。
【図１０】
0003620857.tif 000002
【図１】
0003620857.tif 000003
【図１１】
0003620857.tif 000004
【図２】
0003620857.tif 000005
【図３】
0003620857.tif 000006
【図４】
0003620857.tif 000007
【図５】
0003620857.tif 000008
【図６】
0003620857.tif 000009
【図７】
0003620857.tif 000010
【図８】
0003620857.tif 000011
【図９】
0003620857.tif 000012