(57)【特許請求の範囲】
【請求項１】
少なくとも表示用画像デ−タを記憶する記憶回路と、
上記記憶回路の記憶データに基づいて、画像データに所定の処理を行うロジック回路と、
上記記憶回路にデータを書き込む書き込み系回路と、
読み出し要求を受けて上記記憶回路に記憶されたデータを上記書き込み系回路と異なる経路で読み出す読み出し系回路とを有し、
上記記憶回路、上記ロジック回路、上記書き込み系回路および上記読み出し系回路が一つの半導体チップ内に混載され、
上記記憶回路は、同一機能を有する複数のモジュールに分割され、
上記書き込み系回路および読み出し系回路は、
上記各モジュールに対応して設けられ、それぞれ対応するモジュールと書き込み系配線群、並びに読み出し系配線群を介して接続され、書き込み時および読み出し時に各モジュールに対しての並列アクセスを制御する複数のメモリコントローラを共用し、
上記各メモリコントローラは、
自身のステートマシンがアイドル状態にあるときに、アイドル信号をアクティブで出力し、
上記書き込み系回路は、
書き込み時に、複数画素分のデータおよび書き込みアドレスを入力し、当該データを所定画素分のデータからなる上記モジュールの分割数に相当する複数の画像データに分割し、当該分割した画像データおよび書き込みアドレスを出力し、かつ、当該画像データを、上記記憶回路の各モジュールに、画像データの表示アドレス空間において、隣接するアドレスにおける表示要素が、異なるモジュールとなる配置となるように処理するディストリビュータと、
書き込み時に、上記ディストリビュータから入力した画像データおよびアドレスを、それぞれ上記各モジュール内のアドレスに変換し、それぞれ変換したアドレスと分割された画像データを上記複数のメモリコントローラに出力するアドレスコンバータと、を含み、
上記読み出し系回路は、
所定の連続する画素からなるブロック単位で読み出しを行う読み出しコントローラを有し、
上記読み出しコントローラは、
読み出しアドレスを受けた場合、上記各メモリコントローラからのアイドル信号をすべてアクティブで受けると、このアイドル信号に応答して、複数画素単位で読み出しを行うように、読み出しアドレスおよび読み出し要求信号を上記各メモリコントローラに出力するアドレスコンバータと、
読み出しアドレスおよび読み出し要求信号に応答して上記各メモリコントローラで読み出された複数画素単位のデータを読み出し用配線群を介して入力し、所定の演算処理を行って、要求先に出力するデータ演算部と、を含み、
上記各メモリコントローラは、
自身のステートマシンがアイドル状態にあるときに、上記アイドル信号を上記読み出しコントローラにアクティブで出力し、当該アイドル信号に応答した上記読み出しコントローラによる読み出しアドレスおよび読み出し要求信号を受けて、上記読み出し系配線群を介して上記モジュールからデータの読み出しを行い、上記読み出し用配線群を介して上記読み出しコントローラに出力する
画像処理装置。
【請求項２】
単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、テクスチャ同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを受けてレンダリング処理を行う画像処理装置であって、
表示デ−タと少なくとも一つの図形要素が必要とするテクスチャデ−タを記憶する記憶回路と、
前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の補間データを生成する補間データ生成回路と、
前記補間データに含まれるテクスチャ同次座標（ｓ，ｔ）を同次項ｑで除算して「ｓ／ｑ」および「ｔ／ｑ」を生成し、前記「ｓ／ｑ」および「ｔ／ｑ」に応じたテクスチャアドレスを用いて、前記記憶回路からテクスチャデータを読み出し、表示データの図形要素の表面へのテクスチャデータの張り付け処理を行うテクスチャ処理回路と、
上記記憶回路にデータを書き込む書き込み系回路と、
読み出し要求を受けて上記記憶回路に記憶されたデータを上記書き込み系回路と異なる経路で読み出す読み出し系回路と
を少なくとも有し、
上記記憶回路、上記ロジック回路、上記書き込み系回路および上記読み出し系回路が一つの半導体チップ内に混載され、
上記記憶回路は、同一機能を有する複数のモジュールに分割され、
上記書き込み系回路および読み出し系回路は、
上記各モジュールに対応して設けられ、それぞれ対応するモジュールと書き込み系配線群、並びに読み出し系配線群を介して接続され、書き込み時および読み出し時に各モジュールに対しての並列アクセスを制御する複数のメモリコントローラを共用し、
上記各メモリコントローラは、
自身のステートマシンがアイドル状態にあるときに、アイドル信号をアクティブで出力し、
上記書き込み系回路は、
書き込み時に、複数画素分のデータおよび書き込みアドレスを入力し、当該データを所定画素分のデータからなる上記モジュールの分割数に相当する複数の画像データに分割し、当該分割した画像データおよび書き込みアドレスを出力し、かつ、当該画像データを、上記記憶回路の各モジュールに、画像データの表示アドレス空間において、隣接するアドレスにおける表示要素が、異なるモジュールとなる配置となるように処理するディストリビュータと、
書き込み時に、上記ディストリビュータから入力した画像データおよびアドレスを、それぞれ上記各モジュール内のアドレスに変換し、それぞれ変換したアドレスと分割された画像データを上記複数のメモリコントローラに出力するアドレスコンバータと、を含み、
上記読み出し系回路は、
所定の連続する画素からなるブロック単位で読み出しを行う読み出しコントローラを有し、
上記読み出しコントローラは、
読み出しアドレスを受けた場合、上記各メモリコントローラからのアイドル信号をすべてアクティブで受けると、このアイドル信号に応答して、複数画素単位で読み出しを行うように、読み出しアドレスおよび読み出し要求信号を上記各メモリコントローラに出力するアドレスコンバータと、
読み出しアドレスおよび読み出し要求信号に応答して上記各メモリコントローラで読み出された複数画素単位のデータを読み出し用配線群を介して入力し、所定の演算処理を行って、要求先に出力するデータ演算部と、を含み、
上記各メモリコントローラは、
自身のステートマシンがアイドル状態にあるときに、上記アイドル信号を上記読み出しコントローラにアクティブで出力し、当該アイドル信号に応答した上記読み出しコントローラによる読み出しアドレスおよび読み出し要求信号を受けて、上記読み出し系配線群を介して上記モジュールからデータの読み出しを行い、上記読み出し用配線群を介して上記読み出しコントローラに出力する
画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、グラフィックス描画画像処理装置に係り、特にＤＲＡＭ等の記憶回路とロジック回路を混載させた画像処理装置に関するものである。
【０００２】
【従来の技術】
種々のＣＡＤ(Computer Aided Design) システムや、アミューズメント装置などにおいて、コンピュータグラフィックスがしばしば用いられている。特に、近年の画像処理技術の進展に伴い、３次元コンピュータグラフィックスを用いたシステムが急速に普及している。
このような３次元コンピュータグラフィックスでは、各画素（ピクセル）に対応する色を決定するときに、各画素の色の値を計算し、この計算した色の値を、当該画素に対応するディスプレイバッファ（フレームバッファ）のアドレスに書き込むレンダリング(Rendering) 処理を行う。
【０００３】
レンダリング処理の手法の一つに、ポリゴン（Polygon)レンダリングがある。この手法では、立体モデルを三角形の単位図形（ポリゴン）の組み合わせとして表現しておき、このポリゴンを単位として描画を行うことで、表示画面の色を決定する。
【０００４】
ポリゴンレンダリングでは、物理座標系における三角形の各頂点についての、座標（ｘ，ｙ，ｚ）と、色データ（Ｒ，Ｇ，Ｂ）と、張り合わせのイメージパターンを示すテクスチャデータの同次座標（ｓ，ｔ）および同次項ｑの値とを入力とし、これらの値を三角形の内部で補間する処理が行われる。
ここで、同次項ｑは、簡単にいうと、拡大縮小率のようなもので、実際のテクスチャバッファのＵＶ座標系における座標、すなわち、テクスチャ座標データ（ｕ，ｖ）は、同次座標（ｓ，ｔ）を同次項ｑで除算した「ｓ／ｑ」および「ｔ／ｑ」に、それぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥを乗じたものとなる。
【０００５】
図１４は、３次元コンピュータグラフィックスシステムの基本的な概念を示すシステム構成図である。
【０００６】
この３次元コンピュータグラフィックスシステムにおいては、グラフィックス描画等のデータは、メインプロセッサ１のメインメモリ２、あるいは外部からのグラフィックスデータを受けるＩ／Ｏインタフェース回路３からメインバス４を介してレンダリングプロセッサ５ａ、フレームバッファメモリ５ｂを有するレンダリング回路５に与えられる。
【０００７】
レンダリングプロセッサ５ａには、表示するためのデータを保持することを目的とするフレームバッファ５ｂと、描画する図形要素（たとえば三角形）の表面に張り付けるテクスチャデータを保持しているテクスチャメモリ６が結合されている。
そして、レンダリングプロセッサ５ａによって、図形要素毎に表面にテクスチャを張り付けた図形要素を、フレームバッファ５ｂに描画するという処理が行われる。
【０００８】
フレームバッファ５ｂとテクスチャメモリ６は、一般的にＤＲＡＭ(Dynamic Random Access Memory)により構成される。
そして、図１４のシステムにおいては、フレームバッファ５ｂとテクスチャメモリ６は、物理的に別々のメモリシステムとして構成されている。
【０００９】
【発明が解決しようとする課題】
ところで、上記における従来のいわゆる内蔵ＤＲＡＭシステムにおいて、フレームバッファメモリとテクスチャメモリが別々のメモリシステムに別れている場合においては、以下のような不利益があった。
【００１０】
第１に、表示の解像度の変化によって空きとなったフレームバッファをたとえばテクスチャ用に利用できない。
このことは、内蔵ＤＲＡＭという限られた容量のなかですべてを処理しようとする場合に大きな問題となる。
【００１１】
第２に、フレームバッファメモリとテクスチャメモリを物理的に同一にすると、フレームバッファメモリとテクスチャーメモリの同時アクセスにおいて、ＤＲＡＭのペ−ジ切り替え等のオーバーヘッドが大きくなり、性能を犠牲にしなければならなくなる。
【００１２】
また、書き込みおよび読み出し動作、特に読み出し動作を効率良く行う必要がある。
【００１３】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、表示の解像度の変化によって空きとなったメモリ領域をテクスチャ用等として有効に利用でき、ペ−ジ切り替え等のオーバーヘッドの増大を防止でき、性能の低下を招くことがない、柔軟でかつ高速処理が可能な画像処理装置を提供することにある。
【００１４】
【課題を解決するための手段】
上記目的を達成するため、本発明の画像処理装置は、少なくとも表示用画像デ−タを記憶する記憶回路と、上記記憶回路の記憶データに基づいて、画像データに所定の処理を行うロジック回路と、上記記憶回路にデータを書き込む書き込み系回路と、読み出し要求を受けて上記記憶回路に記憶されたデータを上記書き込み系回路と異なる経路で読み出す読み出し系回路とを有し、上記記憶回路、上記ロジック回路、上記書き込み系回路および上記読み出し系回路が一つの半導体チップ内に混載され、上記記憶回路は、同一機能を有する複数のモジュールに分割され、上記書き込み系回路および読み出し系回路は、上記各モジュールに対応して設けられ、それぞれ対応するモジュールと書き込み系配線群、並びに読み出し系配線群を介して接続され、書き込み時および読み出し時に各モジュールに対しての並列アクセスを制御する複数のメモリコントローラを共用し、上記各メモリコントローラは、自身のステートマシンがアイドル状態にあるときに、アイドル信号をアクティブで出力し、上記書き込み系回路は、書き込み時に、複数画素分のデータおよび書き込みアドレスを入力し、当該データを所定画素分のデータからなる上記モジュールの分割数に相当する複数の画像データに分割し、当該分割した画像データおよび書き込みアドレスを出力し、かつ、当該画像データを、上記記憶回路の各モジュールに、画像データの表示アドレス空間において、隣接するアドレスにおける表示要素が、異なるモジュールとなる配置となるように処理するディストリビュータと、書き込み時に、上記ディストリビュータから入力した画像データおよびアドレスを、それぞれ上記各モジュール内のアドレスに変換し、それぞれ変換したアドレスと分割された画像データを上記複数のメモリコントローラに出力するアドレスコンバータと、を含み、上記読み出し系回路は、所定の連続する画素からなるブロック単位で読み出しを行う読み出しコントローラを有し、上記読み出しコントローラは、読み出しアドレスを受けた場合、上記各メモリコントローラからのアイドル信号をすべてアクティブで受けると、このアイドル信号に応答して、複数画素単位で読み出しを行うように、読み出しアドレスおよび読み出し要求信号を上記各メモリコントローラに出力するアドレスコンバータと、読み出しアドレスおよび読み出し要求信号に応答して上記各メモリコントローラで読み出された複数画素単位のデータを読み出し用配線群を介して入力し、所定の演算処理を行って、要求先に出力するデータ演算部と、を含み、上記各メモリコントローラは、自身のステートマシンがアイドル状態にあるときに、上記アイドル信号を上記読み出しコントローラにアクティブで出力し、当該アイドル信号に応答した上記読み出しコントローラによる読み出しアドレスおよび読み出し要求信号を受けて、上記読み出し系配線群を介して上記モジュールからデータの読み出しを行い、上記読み出し用配線群を介して上記読み出しコントローラに出力する。
【００１５】
また、本発明は、単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、テクスチャ同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを受けてレンダリング処理を行う画像処理装置であって、表示デ−タと少なくとも一つの図形要素が必要とするテクスチャデ−タを記憶する記憶回路と、前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の補間データを生成する補間データ生成回路と、前記補間データに含まれるテクスチャ同次座標（ｓ，ｔ）を同次項ｑで除算して「ｓ／ｑ」および「ｔ／ｑ」を生成し、前記「ｓ／ｑ」および「ｔ／ｑ」に応じたテクスチャアドレスを用いて、前記記憶回路からテクスチャデータを読み出し、表示データの図形要素の表面へのテクスチャデータの張り付け処理を行うテクスチャ処理回路と、上記記憶回路にデータを書き込む書き込み系回路と、読み出し要求を受けて上記記憶回路に記憶されたデータを上記書き込み系回路と異なる経路で読み出す読み出し系回路とを少なくとも有し、上記記憶回路、上記ロジック回路、上記書き込み系回路および上記読み出し系回路が一つの半導体チップ内に混載され、上記記憶回路は、同一機能を有する複数のモジュールに分割され、上記書き込み系回路および読み出し系回路は、上記各モジュールに対応して設けられ、それぞれ対応するモジュールと書き込み系配線群、並びに読み出し系配線群を介して接続され、書き込み時および読み出し時に各モジュールに対しての並列アクセスを制御する複数のメモリコントローラを共用し、上記各メモリコントローラは、自身のステートマシンがアイドル状態にあるときに、アイドル信号をアクティブで出力し、上記書き込み系回路は、書き込み時に、複数画素分のデータおよび書き込みアドレスを入力し、当該データを所定画素分のデータからなる上記モジュールの分割数に相当する複数の画像データに分割し、当該分割した画像データおよび書き込みアドレスを出力し、かつ、当該画像データを、上記記憶回路の各モジュールに、画像データの表示アドレス空間において、隣接するアドレスにおける表示要素が、異なるモジュールとなる配置となるように処理するディストリビュータと、書き込み時に、上記ディストリビュータから入力した画像データおよびアドレスを、それぞれ上記各モジュール内のアドレスに変換し、それぞれ変換したアドレスと分割された画像データを上記複数のメモリコントローラに出力するアドレスコンバータと、を含み、上記読み出し系回路は、所定の連続する画素からなるブロック単位で読み出しを行う読み出しコントローラを有し、上記読み出しコントローラは、読み出しアドレスを受けた場合、上記各メモリコントローラからのアイドル信号をすべてアクティブで受けると、このアイドル信号に応答して、複数画素単位で読み出しを行うように、読み出しアドレスおよび読み出し要求信号を上記各メモリコントローラに出力するアドレスコンバータと、読み出しアドレスおよび読み出し要求信号に応答して上記各メモリコントローラで読み出された複数画素単位のデータを読み出し用配線群を介して入力し、所定の演算処理を行って、要求先に出力するデータ演算部と、を含み、上記各メモリコントローラは、自身のステートマシンがアイドル状態にあるときに、上記アイドル信号を上記読み出しコントローラにアクティブで出力し、当該アイドル信号に応答した上記読み出しコントローラによる読み出しアドレスおよび読み出し要求信号を受けて、上記読み出し系配線群を介して上記モジュールからデータの読み出しを行い、上記読み出し用配線群を介して上記読み出しコントローラに出力する。
【００２０】
本発明によれば、記憶回路に対する書き込み系回路と読み出し系回路とを個別に有し、書き込み経路と読み出し経路とを別経路として構成されることから、たとえば読み出しの割り込み要求があった時等に、早いタイミングで切り替えられ、効率良く読み出し動作が行われる。
【００２１】
また、記憶回路がアイドル状態にあるときに、記憶回路からのデータの読み出しが行われる。これにより、読み出しデータの同期がとられ、特別の保持回路を設けることなく、効率の良い読み出し動作が行われる。
さらに、読み出しは、所定の連続する画素からなるブロック単位で行われる。その結果、ページ違反の発生が防止される。
【００２２】
また、本発明によれば、一つの半導体チップの内部に、ＤＲＡＭ等の記憶回路とロジック回路を混載させ、また、表示デ−タと少なくとも一つの図形要素が必要とするテクスチャデ−タを、内蔵の記憶回路に記憶させていることにより、表示領域以外の部分にテクスチャデ−タを格納できることになり、内蔵メモリの有効利用が可能となる。
【００２３】
また、内蔵記憶回路の配置、すなわち、それぞれの独立されたメモリ＋機能モジュ−ルが、占有するアドレス空間を工夫することで、さらにビット線の有効利用が可能となる。
グラフィックス描画におけるような、比較的固まった表示領域へのアクセスが多い場合には、表示アドレス空間において、隣接するアドレスにおける表示要素が、それぞれ異なるメモリのブロックになるように配置することで、それぞれのモジュ−ルが同時に処理できる確率が増加し、描画性能の向上が可能となる。固まった表示領域へのアクセスが多いというのは、三角形等の閉領域の内部を描画しようとした場合、その内部の表示要素どうしは隣接しているので、そのような領域へのアクセスはアドレス隣接することになる。
【００２４】
【発明の実施の形態】
以下、本実施形態においては、パーソナルコンピュータなどに適用される、任意の３次元物体モデルに対する所望の３次元画像をＣＲＴ(Cathode Ray Tube)などのディスプレイ上に高速に表示する３次元コンピュータグラフィックスシステムについて説明する。
【００２５】
図１は、本発明に係る画像処理装置としての３次元コンピュータグラフィックスシステム１０のシステム構成図である。
【００２６】
３次元コンピュータグラフィックスシステム１０は、立体モデルを単位図形である三角形（ポリゴン）の組み合わせとして表現し、このポリゴンを描画することで表示画面の各画素の色を決定し、ディスプレイに表示するポリゴンレンダリング処理を行うシステムである。
また、３次元コンピュータグラフィックスシステム１０では、平面上の位置を表現する（ｘ，ｙ）座標の他に、奥行きを表すｚ座標を用いて３次元物体を表し、この（ｘ，ｙ，ｚ）の３つの座標で３次元空間の任意の一点を特定する。
【００２７】
図１に示すように、３次元コンピュータグラフィックスシステム１０は、メインプロセッサ１１、メインメモリ１２、Ｉ／Ｏインタフェース回路１３、およびレンダリング回路１４が、メインバス１５を介して接続されている。
以下、各構成要素の機能について説明する。
【００２８】
メインプロセッサ１１は、たとえば、アプリケーションの進行状況などに応じて、メインメモリ１２から必要なグラフィックデータを読み出し、このグラフィックデータに対してクリッピング(Clipping)処理、ライティング(Lighting)処理などのジオメトリ(Geometry)処理などを行い、ポリゴンレンダリングデータを生成する。メインプロセッサ１１は、ポリゴンレンダリングデータＳ１１を、メインバス１５を介してレンダリング回路１４に出力する。
【００２９】
Ｉ／Ｏインタフェース回路１３は、必要に応じて、外部から動きの制御情報またはポリゴンレンダリングデータなどを入力し、これをメインバス１５を介してレンダリング回路１４に出力する。
【００３０】
ここで、ポリゴンレンダリングデータは、ポリゴンの各３頂点の（ｘ，ｙ，ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）のデータを含んでいる。
ここで、（ｘ，ｙ，ｚ）データは、ポリンゴの頂点の３次元座標を示し、（Ｒ，Ｇ，Ｂ）データは、それぞれ当該３次元座標における赤、緑、青の輝度値を示している。
（ｓ，ｔ，ｑ）データのうち、（ｓ，ｔ）は、対応するテクスチャの同次座標を示しており、ｑは同次項を示している。ここで、「ｓ／ｑ」および「ｔ／ｑ」に、それぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥを乗じてテクスチャ座標データ（ｕ，ｖ）が得られる。テクスチャバッファ１４７ａに記憶されたテクスチャデータへのアクセスは、テクスチャ座標データ（ｕ，ｖ）を用いて行われる。
すなわち、ポリゴンレンダリングデータは、三角形の各頂点の物理座標値と、それぞれの頂点の色とテクスチャデータである。
【００３１】
以下、レンダリング回路１４について詳細に説明する。
図１に示すように、レンダリング回路１４は、ＤＤＡ(Digital Differential Analyzer) セットアップ回路１４１、トライアングルＤＤＡ回路１４２、テクスチャエンジン回路１４３、メモリインタフェース（Ｉ／Ｆ）回路１４４、ＣＲＴコントロール回路１４５、ＲＡＭＤＡＣ回路１４６、ＤＲＡＭ１４７およびＳＲＡＭ(Static RAM)１４８を有する。
本実施形態におけるレンダリング回路１４は、一つの半導体チップ内にロジック回路と少なくとも表示データとテクスチャデータとを記憶するＤＲＡＭ１４７とが混載されている。
【００３２】
ＤＲＡＭ１４７
ＤＲＡＭ１４７は、テクスチャバッファ１４７ａ、ディスプレイバッファ１４７ｂ、ｚバッファ１４７ｃおよびテクスチャＣＬＵＴ(Color Look Up Table) バッファ１４７ｄとして機能する。
また、ＤＲＡＭ１４７は、後述するように、同一機能を有する複数（本実施形態では４個）のモジュールに分割されている。
【００３３】
また、ＤＲＡＭ１４７には、より多くのテクスチャデ−タを格納するために、インデックスカラ−におけるインデックスと、そのためのカラ−ルックアップテ−ブル値が、テクスチャＣＬＵＴバッファ１４７ｄに格納されている。
インデックスおよびカラ−ルックアップテ−ブル値は、テクスチャ処理に使われる。すなわち、通常はＲ，Ｇ，Ｂそれぞれ８ビットの合計２４ビットでテクスチャ要素を表現するが、それではデ−タ量が膨らむため、あらかじめ選んでおいたたとえば２５６色等の中から一つの色を選んで、そのデ−タをテクスチャ処理に使う。このことで２５６色であればそれぞれのテクスチャ要素は８ビットで表現できることになる。インデックスから実際のカラ−への変換テ−ブルは必要になるが、テクスチャの解像度が高くなるほど、よりコンパクトなテクスチャデ−タとすることが可能となる。
これにより、テクスチャデ−タの圧縮が可能となり、内蔵ＤＲＡＭの効率良い利用が可能となる。
【００３４】
さらにＤＲＡＭ１４７には、描画と同時並行的に隠れ面処理を行うため、描画しようとしている物体の奥行き情報が格納されている。
なお、表示データと奥行きデータおよびテクスチャデータの格納方法としては、メモリブロックの先頭から連続して表示データが格納され、次に奥行きデータが格納され、残りの空いた領域に、テクスチャの種類毎に連続したアドレス空間でテクスチャデータが格納される。これにより、テクスチャデータを効率よく格納できることになる。
【００３５】
図２は、ＤＲＡＭ１４７、ＳＲＡＭ１４８、並びに、ＤＲＡＭ１４７およびＳＲＡＭ１４８へアクセスするメモリＩ／Ｆ回路１４４の具体的な構成例を示すブロック図である。
【００３６】
図２に示すように、図１に示すＤＲＡＭ１４７およびＳＲＡＭ１４８は、前述したように４個のメモリモジュール２００，２１０，２２０，２３０に分割されている。
【００３７】
メモリモジュール２００は、メモリ２０１，２０２を有する。
メモリ２０１は、ＤＲＡＭ１４７の一部を構成するバンク２０１Ａ，２０１Ｂと、ＳＲＡＭ１４８の一部を構成するバンク２０１Ｃ，２０１Ｄとを有する。
また、メモリ２０２は、ＤＲＡＭ１４７の一部を構成するバンク２０２Ａ，２０２Ｂと、ＳＲＡＭ１４８の一部を構成するバンク２０２Ｃ，２０２Ｄとを有する。
なお、ＳＲＡＭ１４８を構成するバンク２０１Ｃ，２０１Ｄ，２０２Ｃ，２０２Ｄに対しては同時アクセスが可能である。
【００３８】
メモリモジュール２１０は、メモリ２１１，２１２を有する。
メモリ２１１は、ＤＲＡＭ１４７の一部を構成するバンク２１１Ａ，２１１Ｂと、ＳＲＡＭ１４８の一部を構成するバンク２１１Ｃ，２１１Ｄとを有する。
また、メモリ２１２は、ＤＲＡＭ１４７の一部を構成するバンク２１２Ａ，２１２Ｂと、ＳＲＡＭ１４８の一部を構成するバンク２１２Ｃ，２１２Ｄとを有する。
なお、ＳＲＡＭ１４８を構成するバンク２１１Ｃ，２１１Ｄ，２１２Ｃ，２１２Ｄに対しては同時アクセスが可能である。
【００３９】
メモリモジュール２２０は、メモリ２２１，２２２を有する。
メモリ２２１は、ＤＲＡＭ１４７の一部を構成するバンク２２１Ａ，２２１Ｂと、ＳＲＡＭ１４８の一部を構成するバンク２２１Ｃ，２２１Ｄとを有する。
また、メモリ２２２は、ＤＲＡＭ１４７の一部を構成するバンク２２２Ａ，２２２Ｂと、ＳＲＡＭ１４８の一部を構成するバンク２２２Ｃ，２２２Ｄとを有する。
なお、ＳＲＡＭ１４８を構成するバンク２２１Ｃ，２２１Ｄ，２２２Ｃ，２２２Ｄに対しては同時アクセスが可能である。
【００４０】
メモリモジュール２３０は、メモリ２３１，２３２を有する。
メモリ２３１は、ＤＲＡＭ１４７の一部を構成するバンク２３１Ａ，２３１Ｂと、ＳＲＡＭ１４８の一部を構成するバンク２３１Ｃ，２３１Ｄとを有する。
また、メモリ２３２は、ＤＲＡＭ１４７の一部を構成するバンク２３２Ａ，２３２Ｂと、ＳＲＡＭ１４８の一部を構成するバンク２３２Ｃ，２３２Ｄとを有する。
なお、ＳＲＡＭ１４８を構成するバンク２３１Ｃ，２３１Ｄ，２３２Ｃ，２３２Ｄに対しては同時アクセスが可能である。
【００４１】
ここで、メモリモジュール２００，２１０，２２０，２３０の各々は、図１に示すテクスチャバッファ１４７ａ、ディスプレイバッファ１４７ｂ、Ｚバッファ１４７ｃおよびテクスチャＣＬＵＴバッファ１４７ｄの全ての機能を持つ。
すなわち、メモリモジュール２００，２１０，２２０，２３０の各々は、対応する画素のテクスチャデータ、描画データ（（Ｒ，Ｇ，Ｂ）データ）、ｚデータおよびテクスチャカラールックアップテーブルデータの全てを記憶する。
ただし、メモリモジュール２００，２１０，２２０，２３０は、相互で異なる画素についてのデータを記憶する。
ここで、同時に処理される１６画素についてのテクスチャデータ、描画データ、ｚデータおよびテクスチャカラールックアップテーブルデータが、相互に異なるバンク２０１Ａ，２０１Ｂ，２０２Ａ，２０２Ｂ，２１１Ａ，２１１Ｂ，２１２Ａ，２１２Ｂ，２２１Ａ，２２１Ｂ，２２２Ａ，２２２Ｂ，２３１Ａ，２３１Ｂ，２３２Ａ，２３２Ｂに記憶される。
これにより、Ｉ／Ｆ回路１４４は、ＤＲＡＭ１４７に対して、たとえば２×８画素の１６画素についてのデータが同時にアクセス可能になる。
なお、Ｉ／Ｆ回路１４４は、後述するように、いわゆる所定のインターリーブ方式のアドレッシングに基づいてＤＲＡＭ１４７へのアクセス（書き込み）を行う。
【００４２】
図３は、ＤＲＡＭ１４７のバッファ（たとえばテクスチャバッファ）としての構成例を示す概略図である。
図３に示すように、２×８画素（ピクセル）の領域でメモリアクセスされたデータは、ページ（ロウ）やブロック（カラム）と呼ばれる領域に格納される。
各ロウＲＯＷ０〜ＲＯＷn+1 は、図３（ａ）に示すように、それぞれ４個のカラム（ブロック）Ｍ０Ａ，Ｍ０Ｂ，Ｍ１Ａ，Ｍ１Ｂに区分けされている。
そして、ｘ方向について８画素毎のバウンダリ、かつｙ方向について偶数のバウンダリでの領域でアクセス（書き込み、読み出し）が行われる。
これにより、たとえばロウＲＯＷ０とロウＲＯＷ１をまたぐような領域へのアクセスが行われることがなく、いわゆるページ違反が発生することがない。
【００４３】
なお、バンク２０１Ｃ，２０１Ｄ，２０２Ｃ，２０２Ｄ，２１１Ｃ，２１１Ｄ，２１２Ｃ，２１２Ｄ，２２１Ｃ，２２１Ｄ，２２２Ｃ，２２２Ｄ，２３１Ｃ，２３１Ｄ，２３２Ｃ，２３２Ｄには、それぞれバンク２０１Ａ，２０１Ｂ，２０２Ａ，２０２Ｂ，２１１Ａ，２１１Ｂ，２１２Ａ，２１２Ｂ，２２１Ａ，２２１Ｂ，２２２Ａ，２２２Ｂ，２３１Ａ，２３１Ｂ，２３２Ａ，２３２Ｂに記憶されているテクスチャデータが記憶される。
【００４４】
次に、インターリーブ方式のアドレッシングに基づくテクスチャバッファ１４７ａにおけるテクスチャデータの記憶パターンについて、図４〜図６に関連付けてさらに詳細に説明する。
図４はテクスチャデータに含まれる同時にアクセスが行われる画素データを説明するための図、図５はテクスチャデータを構成する単位ブロックを説明するための図、図６はテクスチャバッファのアドレス空間を説明するための図である。
【００４５】
本実施形態の場合、図４に示すように、テクスチャデータに含まれる、２×８のマトリクス状に配置された画素の色データを示す画素データＰ0 〜Ｐ15が、同時にアクセスされる。
【００４６】
画素データＰ0 〜Ｐ15は、テクスチャバッファ１４７ａを構成するＳＲＡＭ１４８の異なるバンクに記憶される必要がある。
本実施形態では、画素データＰ0 ，Ｐ1 ，Ｐ8 ，Ｐ9 が、それぞれ図２に示すメモリ２０１のバンク２０１Ｃ，２０１Ｄおよびメモリ２０２のバンク２０２Ｃ，２０２Ｄに記憶される。また、画素データＰ2 ，Ｐ3 ，Ｐ10，Ｐ11が、それぞれ図２に示すメモリ２１１のバンク２１１Ｃ，２１１Ｄおよびメモリ２１２のバンク２１２Ｃ，２１２Ｄに記憶される。また、画素データＰ4 ，Ｐ5 ，Ｐ12，Ｐ13が、それぞれ図２に示すメモリ２２１のバンク２２１Ｃ，２２１Ｄおよびメモリ２２２のバンク２２２Ｃ，２２２Ｄに記憶される。さらに、画素データＰ6 ，Ｐ7 ，Ｐ14，Ｐ15が、それぞれ図２に示すメモリ２３１のバンク２３１Ｃ，２３１Ｄおよびメモリ２３２のバンク２３２Ｃ，２３２Ｄに記憶される。
【００４７】
本実施形態では、同時に処理される矩形領域内に位置する画素の画素データＰ0 〜Ｐ15の組を単位ブロックＲi と呼び、たとえば、１枚のイメージを示すテクスチャデータは、図５に示すように、Ｂ×Ａのマトリクス状に配置された単位ブロックＲ0 〜ＲBA-1からなる。
単位ブロックＲ0 〜ＲBA-1は、図６に示すように、１次元のアドレス空間で連続したアドレスを持つように、テクスチャバッファ１４７ａを構成するＤＲＡＭ１４７に記憶されている。また、各単位ブロックＲ0 〜ＲBA-1内の画素データＰ0 〜Ｐ15は、１次元のアドレス空間内で連続したアドレスを持つように、ＳＲＡＭ１４８の相互に異なるバンクに記憶される。
すなわち、テクスチャバッファ１４７ａには、同時にアクセスが行われる画素データからなる単位ブロックが、一次元のアドレス空間で連続したアドレスを持つように記憶される。
【００４８】
ＤＤＡセットアップ回路１４１
ＤＤＡセットアップ回路１４１は、後段のトライアングルＤＤＡ回路１４２において物理座標系上の三角形の各頂点の値を線形補間して、三角形の内部の各画素の色と深さ情報を求めるに先立ち、ポリゴンレンダリングデータＳ１１が示す（ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）データについて、三角形の辺と水平方向の差分などを求めるセットアップ演算を行う。
このセットアップ演算は、具体的には、開始点の値と終点の値と、開始点と終点との距離を用いて、単位長さ移動した場合における、求めようとしている値の変分を算出する。
ＤＤＡセットアップ回路１４１は、算出した変分データＳ１４１をトライアングルＤＤＡ回路１４２に出力する。
【００４９】
ＤＤＡセットアップ回路１４１の機能について図７に関連付けてさらに説明する。
上述したように、ＤＤＡセットアップ回路１４１の主な処理は、前段のジオメトリ処理を経て物理座標にまで落ちてきた各頂点における各種情報（色、テクスチャ座標、）の与えられた三頂点により構成される三角形内部で変分を求めて、後段の線形補間処理の基礎デ−タを算出することである。
なお、三角形の各頂点データは、たとえばｘ，ｙ座標が１６ビット、ｚ座標が２４ビット、ＲＧＢカラー値が各１２ビット（＝８＋４）、ｓ，ｔ，ｑテクスチャ座標は各３２ビット浮動少数値（ＩＥＥＥフォーマット）で構成される。
【００５０】
三角形の描画は水平ラインの描画に集約されるが、そのために水平ラインの描画開始点における最初の値を求める必要がある。
この水平ラインの描画においては、一つの三角形の中でその描画方向は一定にする。たとえば左から右へ描画する場合は、左側の辺におけるＹ方向変位に対するＸおよび上記各種の変分を算出しておいて、それを用いて頂点から次の水平ラインに移った場合の最も左の点のｘ座標と、上記各種情報の値を求める（辺上の点はＹ，Ｘ両方向に変化するのでＹ方向の傾きのみでは計算できない。）。
右側の辺に関しては終点の位置がわかればよいので、Ｙ方向変位に対するｘの変分のみを調べておけばよい。
水平ラインの描画に関しては、水平方向の傾きは同一三角形内では均一なので、上記各種情報の傾きを算出しておく。
与えられた三角形をＹ方向にソートして最上位の点をＡとする。次に残りの２頂点のＸ方向の位置を比較して右側の点をＢとする。こうすることで、処理の場合分け等が２通り程度にできる。
【００５１】
トライアングルＤＤＡ回路１４２
トライアングルＤＤＡ回路１４２は、ＤＤＡセットアップ回路１４１から入力した変分データＳ１４１を用いて、三角形内部の各画素における線形補間された（ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）データを算出する。
トライアングルＤＤＡ回路１１は、各画素の（ｘ，ｙ）データと、当該（ｘ，ｙ）座標における（ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）データとを、ＤＤＡデータ（補間データ）Ｓ１４２としてテクスチャエンジン回路１４３に出力する。
たとえば、トライアングルＤＤＡ回路１４２は、並行して処理を行う矩形内に位置する８（＝２×４）画素分のＤＤＡデータＳ１４２をテクスチャエンジン回路１４３に出力する。
【００５２】
トライアングルＤＤＡ回路１４２の機能について図８に関連付けてさらに説明する。
上述したように、ＤＤＡセットアップ回路１４１により、三角形の各辺と水平方向における先出の各種情報の傾き情報が準備され、この情報を受けたトライアングルＤＤＡ回路１４２の基本的処理は、三角形の辺上の各種情報の補間処理による水平ラインの初期値の算出と、水平ライン上での各種情報の補間処理である。
ここで最も注意しなければならないことは、補間結果の算出は、画素中心における値を算出する必要があるということである。
その理由は、算出する値が画素中心からはずれたところを求めていては、静止画の場合はさほど気にならないが、動画にした場合には、画像の揺らぎが目立つようになるからである。
【００５３】
最初の水平ライン（当然画素中心を結んだライン）の一番左側における各種情報は、辺上の傾きに頂点からその最初の水平ラインまでの距離をかけてやることで求めることができる。
次のラインにおける開始位置での各種情報は、辺上の傾きを足してゆくことで算出できる。
水平ラインにおける最初の画素での値は、ラインの開始位置における値に、最初の画素までの距離と水平方向の傾きをかけた値を足すことで算出できる。水平ラインにおける次の画素における値は、最初の画素の値に対してつぎつぎに水平方向の傾きを足し込んでゆけば算出できる。
【００５４】
次に、頂点のソートについて図９に関連付けて説明する。
頂点をあらかじめソートしておくことで、以降の処理の場合分けを最大限に減らし、かつ、補間処理においてもできるだけ一つの三角形の内部においては、矛盾が生じにくくすることができる。
ソートのやり方としては、まずすべての与えられた頂点をＹ方向にソートして、最上位の点と最下位の点を決めそれぞれＡ点、Ｃ点とする。残りの点はＢ点とする。
このようにすることで、Ｙ方向に最も長く伸びた辺が辺ＡＣとなり、最初に辺ＡＣと辺ＡＢを用いてその二つの辺で挟まれた領域の補間処理を行い、次に辺ＡＣはそのままで、辺ＡＢに変えて辺ＢＣと辺ＡＣで挟まれた領域の補間を行うという処理になる。また、Ｙ方向の画素座標格子上への補正に関しても、辺ＡＣと辺ＢＣについて行っておけばよいこともわかる。
このようにして、ソート後の処理に場合分けが不必要になることで、データを単純に流すだけの処理で可能となりバグも発生しにくくなるし、構造もシンプルになる。
また、一つの三角形の中で補間処理の方向が辺ＢＣ上を開始点として一定にできるため、水平方向の補間(Span)の方向が一定となり、演算誤差があったとしても辺ＢＣから他の辺に向かって誤差が蓄積されるかたちとなり、その蓄積の方向が一定となるため、隣接する辺同士での誤差は目立たなくなる。
【００５５】
次に、水平方向の傾き算出について図１０に関連付けて説明する。
三角形内における各種変数（ｘ，ｙ，ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）の（ｘ，ｙ）に対する傾き（変数分）は、線形補間であることから一定となる。
したがって、水平方向の傾き、すなわち、各水平ライン(Span)上での傾きはどのSpanにおいても、一定となるので、各Spanの処理に先立ってその傾きを求めておくことになる。
三角形の与えられた頂点をＹ方向にソートした結果、辺ＡＣが最も長く伸びた辺と再定義されているので、頂点Ｂを水平方向に伸ばしたラインと辺ＡＣの交点が必ず存在するのでその点をＤとする。
後は単純に点Ｂと点Ｄの間の変分を求めるようなことを行えば、水平方向すなわちｘ方向の傾きを求めることができる。
【００５６】
具体的には、Ｄ点でのｘおよびｚ座標は次式のようになる。
【００５７】
【数１】
ｘd ＝｛（ｙd −ｙa ）／（ｙc −ｙa ）｝・（ｘc −ｘa ）
ｚd ＝｛（ｙd −ｙa ）／（ｙc −ｙa ）｝・（ｚc −ｚa ）
【００５８】
これに基づいて、変数ｚのｘ方向の傾きを求めると、次のようになる。
【００５９】
【数２】
0004081860.tif 000002
【００６０】
次に、頂点データの補間手順の一例について、図１１および図１２に関連付けて説明する。
頂点のソート、水平方向の傾き算出、各辺上での傾きの算出処理を経て、それらの結果を使って補間処理を行う。
Ｂ点の位置によって、Spanでの処理の向きは２通りに別れる。これは、一つの三角形の内部での補間における各Span同士での誤差の蓄積方向を、一定にすることで、できるだけ不具合が発生しないようにするために、Ｙ方向に最も長く伸びた辺を常に始点として、処理するようにしようとしているからである。
Ｂ点がＡ点と同じ高さにあった場合には、前半の処理はスキップされることになる。よって、場合分けというよりは、スキップが可能な機構を設けておくだけで処理としてはすっきりしたものとできる。
複数のSpanを同時処理することで、処理能力をあげようとした場合には、Ｙ方向における傾きを求めたくなるが、頂点のソートからやり直す必要があることになる。しかしながら、補間処理の前処理だけでことが済むために、全体としての処理系は簡単にできる。
【００６１】
具体的には、Ｂ点がＡ点と同じ高さでない場合には、ＡＣ，ＡＢのＹ方向補正（画素格子上の値算出）を行い（ＳＴ１，ＳＴ２）、ＡＣ辺上の補間およびＡＢ辺上の補間を行う（ＳＴ３）。
そして、ＡＣ水平方向の補正およびＡＣ辺からＡＢ辺方向の水平ライン(Span)上を補間する（ＳＴ４）。
以上のステップＳＴ３，ＳＴ４の処理をＡＢ辺の端点まで行う（ＳＴ５）。
ＡＢ辺の端点までステップＳＴ２〜ＳＴ４の処理が終了した場合、あるいはステップＳＴ１においてＢ点がＡ点が同じ高さであると判別した場合には、ＢＣのＹ方向補正（画素格子上の値算出）を行い（ＳＴ６）、ＡＣ辺上の補間およびＢＣ辺上の補間を行う（ＳＴ７）。
そして、ＡＣ水平方向の補正およびＡＣ辺からＢＣ辺方向の水平ライン(Span)上を補間する（ＳＴ８）。
以上のステップＳＴ７，ＳＴ８の処理をＢＣ辺の端点まで行う（ＳＴ９）。
【００６２】
テクスチャエンジン回路１４３
テクスチャエンジン回路１４３は、「ｓ／ｑ」および「ｔ／ｑ」の算出処理、テクスチャ座標データ（ｕ，ｖ）の算出処理、テクスチャバッファ１４７ａからの（Ｒ，Ｇ，Ｂ）データの読み出し処理等をパイプライン方式で行う。
なお、テクスチャエンジン回路１４３は、たとえば所定の矩形内に位置する８画素についての処理を同時に並行して行う。
【００６３】
テクスチャエンジン回路１４３は、ＤＤＡデータＳ１４２が示す（ｓ，ｔ，ｑ）データについて、ｓデータをｑデータで除算する演算と、ｔデータをｑデータで除算する演算とを行う。
テクスチャエンジン回路１４３には、たとえば図示しない除算回路が８個設けられており、８画素についての除算「ｓ／ｑ」および「ｔ／ｑ」が同時に行われる。
【００６４】
また、テクスチャエンジン回路１４３は、除算結果である「ｓ／ｑ」および「ｔ／ｑ」に、それぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥを乗じて、テクスチャ座標データ（ｕ，ｖ）を生成する。
また、テクスチャエンジン回路１４３は、メモリＩ／Ｆ回路１４４を介して、ＳＲＡＭ１４８あるいはＤＲＡＭ１４７に、生成したテクスチャ座標データ（ｕ，ｖ）を含む読み出し要求を出力し、メモリＩ／Ｆ回路１４４を介して、ＳＲＡＭ１４８あるいはテクスチャバッファ１４７ａに記憶されているテクスチャデータを読み出すことで、（ｓ，ｔ）データに対応したテクスチャアドレスに記憶された（Ｒ，Ｇ，Ｂ）データＳ１４８を得る。
ここで、ＳＲＡＭ１４８には、前述したようにテクスチャバッファ１４７ａに格納されているテクスチャデータが記憶される。
テクスチャエンジン回路１４３は、読み出した（Ｒ，Ｇ，Ｂ）データＳ１４８の（Ｒ，Ｇ，Ｂ）データと、前段のトライアングルＤＤＡ回路１４２からのＤＤＡデータＳ１４２に含まれる（Ｒ，Ｇ，Ｂ）データとを、それぞれ掛け合わせるなどして、画素データＳ１４３を生成する。
テクスチャエンジン回路１４３は、この画素データＳ１４３をメモリＩ／Ｆ回路１４４に出力する。
【００６５】
なお、テクスチャバッファ１４７ａには、ＭＩＰＭＡＰ（複数解像度テクスチャ）などの複数の縮小率に対応したテクスチャデータが記憶されている。ここで、何れの縮小率のテクスチャデータを用いるかは、所定のアルゴリズムを用いて、前記三角形単位で決定される。
【００６６】
テクスチャエンジン回路１４３は、フルカラー方式の場合には、テクスチャバッファ１４７ａから読み出した（Ｒ，Ｇ，Ｂ）データを直接用いる。
一方、テクスチャエンジン回路１４３は、インデックスカラー方式の場合には、あらかじめ作成したカラールックアップテーブル（ＣＬＵＴ）をテクスチャＣＬＵＴバッファ１４７ｄから読み出して、内蔵するＳＲＡＭに転送および記憶し、このカラールックアップテーブルを用いて、テクスチャバッファ１４７ａから読み出したカラーインデックスに対応する（Ｒ，Ｇ，Ｂ）データを得る。
【００６７】
メモリＩ／Ｆ回路１４４
メモリＩ／Ｆ回路１４４は、テクスチャエンジン回路１４３から入力した画素データＳ１４３に対応するｚデータと、ｚバッファ１４７ｃに記憶されているｚデータとの比較を行い、入力した画素データＳ１４３によって描画される画像が、前回、ディスプレイバッファ１４７ｂに書き込まれた画像より、手前（視点側）に位置するか否かを判断し、手前に位置する場合には、画像データＳ１４３に対応するｚデータでｚバッファ１４７ｃに記憶されたｚデータを更新する。
また、メモリＩ／Ｆ回路１４４は、（Ｒ，Ｇ，Ｂ）データをディスプレイバッファ１４７ｂに書き込む。
さらに、メモリＩ／Ｆ回路１４４は、テクスチャエンジン回路１４３からのＳＲＡＭ１４８に、生成されたテクスチャ座標データ（ｕ，ｖ）を含む読み出し要求を受けた場合には、ＳＲＡＭ１４８に記憶された（Ｒ，Ｇ，Ｂ）データＳ１４８を読み出す。
また、メモリＩ／Ｆ回路１４４は、ＣＲＴコントロール回路１４５から表示データを読み出す要求を受けた場合には、この要求に応じて、ディスプレイバッファ１４７ｂから一定の固まり、たとえば８画素あるいは１６画素単位で表示データを読み出す。
【００６８】
このように、メモリＩ／Ｆ回路１４４は、ＤＲＡＭ１４７およびＳＲＡＭ１４８へのアクセス（書き込みまたは読み出し）を行うが、書き込み経路と読み出し経路とが別経路として構成されている。
すなわち、書き込みの場合には書き込みアドレスＡＤＲＷと書き込みデータＤＴＷが書き込み系回路で処理されてＤＲＡＭ１４７に書き込み、読み出しの場合には読み出し系回路で処理されてＤＲＡＭ１４７またはＳＲＡＭ１４８から読み出す。
そして、メモリＩ／Ｆ回路１４４は、所定のインターリーブ方式のアドレッシングに基づいてＤＲＡＭ１４７へのアクセスを、たとえば１６画素単位で行う。
【００６９】
以下に、メモリＩ／Ｆ回路１４４の具体的な構成例について、図２に関連付けて説明する。
【００７０】
メモリＩ／Ｆ回路１４４は、図２に示すように、ディストリビュータ３００、アドレスコンバータ３１０，３２０，３３０，３４０、メモリコントローラ３５０，３６０，３７０，３８０および読み出しコントローラ３９０を有する。
【００７１】
ディストリビュータ３００は、書き込み時に、１６画素分の（Ｒ，Ｇ，Ｂ）データＤＴＷおよび書き込みアドレスＡＤＲＷを入力し、これらを、各々４画素分のデータからなる４つの画像データＳ３０１，Ｓ３０２，Ｓ３０３，Ｓ３０４に分割し、その画像データおよび書き込みアドレスをそれぞれアドレスコンバータ３１０，３２０，３３０，３４０に出力する。
ここで、１画素分の（Ｒ，Ｇ，Ｂ）データは各８ビット、ｚデータは、それぞれ３２ビットからなる。
【００７２】
アドレスコンバータ３１０，３２０，３３０，３４０は、書き込み時に、ディストリビュータ３００から入力した（Ｒ，Ｇ，Ｂ）データおよびｚデータに対応したアドレスを、それぞれメモリモジュール２００，２１０，２２０，２３０内のアドレスに変換し、それぞれ変換したアドレスＳ３１０，Ｓ３２０，Ｓ３３０，Ｓ３４０と分割された画像データをメモリコントローラ３５０，３６０，３７０，３８０に出力する。
【００７３】
図１３は、このディストリビュータ３００の画像データ処理（ピクセル処理）を模式的に示す図である。
この図は、前述した図３〜図６に対応するものであり、ディストリビュータ３００は、ＤＲＡＭ１４７に対して、たとえば２×８画素の１６画素についてのデータが同時にアクセス可能になるように画像データ処理を行う。
そして、ｘ方向について８画素毎のバウンダリ、かつｙ方向について偶数のバウンダリでの領域でアクセス（書き込み、読み出し）を行うようなアドレッシングとなるように画像データの処理を行う。
これによりＤＲＡＭ１４７は、アクセスの先頭がメモリセル番号ＭＣＮ「１」，「２」，「３」にはならず、必ずメモリセル番号ＭＣＮ「０」となり、ページ違反の発生等が防止される。
また、ディストリビュータ３００は、各ＤＲＡＭモジュール２００〜２３０に対して、画素データを、表示領域において隣接した部分は、異なるＤＲＡＭモジュールとなる配置するとなるように画像データの処理を行う。
これにより、三角形のような平面を描画する場合には面で同時に処理できることになるため、それぞれのＤＲＡＭモジュールの動作確率は非常に高くなっている。
【００７４】
メモリコントローラ３５０，３６０，３７０，３８０は、それぞれ書き込み系配線群４０１Ｗ，４０２Ｗ，４１１Ｗ，４１２Ｗ，４２１Ｗ，４２２Ｗ，４３１Ｗ，４３２Ｗ、並びに読み出し系配線群４０１Ｒ，４０２Ｒ，４１１Ｒ，４１２Ｒ，４２１Ｒ，４２２Ｒ，４３１Ｒ，４３２Ｒを介してメモリモジュール２００，２１０，２２０，２３０に接続されており、書き込み時および読み出し時にメモリモジュール２００，２１０，２２０，２３０に対してのアクセスを制御する。
【００７５】
具体的には、書き込み時には、メモリコントローラ３５０，３６０，３７０，３８０は、ディストリビュータ３００から出力され、アドレスコンバータ３５０，３６０，３７０，３８０から入力した４画素分の（Ｒ，Ｇ，Ｂ）データおよびｚデータを、書き込み系配線群４０１Ｗ，４０２Ｗ，４１１Ｗ，４１２Ｗ，４２１Ｗ，４２２Ｗ，４３１Ｗ，４３２Ｗを介してメモリモジュール２００，２１０，２２０，２３０に同時に書き込む。
このとき、たとえば、メモリモジュール２００では、前述したように、バンク２０１Ａ，２０１Ｂ，２０２Ａ，２０２Ｂの各々に、１画素分の（Ｒ，Ｇ，Ｂ）データおよびｚデータが記憶される。メモリモジュール２１０，２２０，２３０についても同じである。
【００７６】
また、各メモリコントローラ３５０，３６０，３７０，３８０は、自身のステートマシンがいわゆるアイドル（ＩＤＬＥ）状態にあるときに、アイドル信号Ｓ３５０，Ｓ３６０，Ｓ３７０，Ｓ３８０を読み出しコントローラ３９０にアクティブで出力し、このアイドル信号Ｓ３５０，Ｓ３６０，Ｓ３７０，Ｓ３８０に応答した読み出しコントローラ３９０による読み出しアドレスおよび読み出し要求信号Ｓ３９１を受けて、読み出し系配線群４０１Ｒ，４０２Ｒ，４１１Ｒ，４１２Ｒ，４２１Ｒ，４２２Ｒ，４３１Ｒ，４３２Ｒを介してデータの読み出しを行い、読み出し系配線群３５１，３６１，３７１，３８１、並びに配線群４４０を介して読み出しコントローラ３９０に出力する。
【００７７】
なお、本実施形態では、書き込み系配線群４０１Ｗ，４０２Ｗ，４１１Ｗ，４１２Ｗ，４２１Ｗ，４２２Ｗ，４３１Ｗ，４３２Ｗ、並びに読み出し系配線群４０１Ｒ，４０２Ｒ，４１１Ｒ，４１２Ｒ，４２１Ｒ，４２２Ｒ，４３１Ｒ，４３２Ｒの配線本数は１２８本（１２８ビット）、読み出し系配線群３５１，３６１，３７１，３８１の配線本数は２５６本（２５６ビット）、ならびに読み出し系配線群４４０の配線本数は１０２４本（１０２４ビット）である。
【００７８】
読み出しコントローラ３９０は、アドレスコンバータ３９１およびデータ演算処理部３９２により構成されている。
アドレスコンバータ３９１は、読み出しアドレスＡＤＲＲを受けた場合、メモリコントローラ３５０，３６０，３７０，３８０からのアイドル信号Ｓ３５０，Ｓ３６０，Ｓ３７０，Ｓ３８０をすべてアクティブで受けると、このアイドル信号Ｓ３５０，Ｓ３６０，Ｓ３７０，Ｓ３８０に応答して、８画素あるいは１６画素単位で読み出しを行うように、読み出しアドレスおよび読み出し要求信号Ｓ３９１を各メモリコントローラ３５０，３６０，３７０，３８０に出力する。
データ演算部３９２は、読み出しアドレスおよび読み出し要求信号Ｓ３９１に応答して各メモリコントローラ３５０，３６０，３７０，３８０で読み出された８画素あるいは１６画素単位の、テクスチャデータ、（Ｒ，Ｇ，Ｂ）データ、ｚデータおよびテクスチャカラールックアップテーブルデータを配線群４４０を介して入力し、所定の演算処理を行って、要求先、たとえばテクスチャエンジン回路１４３またはＣＲＴコントロール回路１４５に出力する。
【００７９】
読み出しコントローラ３９０は、上述したように、メモリコントローラ３５０，３６０，３７０，３８０のすべてがアイドル状態にあるときに、読み出しアドレスおよび読み出し要求信号Ｓ３９１をメモリコントローラ３５０，３６０，３７０，３８０に出力し読み出しデータを受けることから、読み出すデータの同期をとることができる。
したがって、読み出しコントローラ３９０は、データを一時的に保持するＦＩＦＯ(First In First Out)回路等の保持回路を設ける必要がなく、回路規模の縮小化が図られている。
【００８０】
ＣＲＴコントロール回路１４５
ＣＲＴコントロール回路１４５は、与えられた水平および垂直同期信号に同期して、図示しないＣＲＴに表示するアドレスを発生し、ディスプレイバッファ１４７ｂから表示データを読み出す要求をメモリＩ／Ｆ回路１４４に出力する。この要求に応じて、メモリＩ／Ｆ回路１４４は、ディスプレイバッファ１４７ｂから一定の固まりで表示データを読み出す。ＣＲＴコントローラ回路１４５は、ディスプレイバッファ１４７ｂから読み出した表示データを記憶するＦＩＦＯ回路を内蔵し、一定の時間間隔で、ＲＡＭＤＡＣ回路１４６に、ＲＧＢのインデックス値を出力する。
【００８１】
ＲＡＭＤＡＣ回路１４６
ＲＡＭＤＡＣ回路１４６は、各インデックス値に対応するＲ，Ｇ，Ｂデータを記憶しており、ＣＲＴコントローラ回路１４５から入力したＲＧＢのインデックス値に対応するデジタル形式のＲ，Ｇ，Ｂデータを、図示しないＤ／Ａコンバータ(Digital/Analog Converter)に転送し、アナログ形式のＲ，Ｇ，Ｂデータを生成する。ＲＡＭＤＡＣ回路１４６は、この生成されたＲ，Ｇ，ＢデータをＣＲＴに出力する。
【００８２】
次に、上記構成による動作を説明する。
３次元コンピュータグラフィックスシステム１０においては、グラフィックス描画等のデータは、メインプロセッサ１１のメインメモリ１２、あるいは外部からのグラフィックスデータを受けるＩ／Ｏインタフェース回路１３からメインバス１５を介してレンダリング回路１４に与えられる。
なお、必要に応じて、グラフィックス描画等のデータは、メインプロセッサ１１等において、座標変換、クリップ処理、ライティング処理等のジオメトリ処理が行われる。
ジオメトリ処理が終わったグラフィックスデータは、三角形の各３頂点の頂点座標ｘ，ｙ，ｚ、輝度値Ｒ，Ｇ，Ｂ、描画しようとしている画素と対応するテクスチャ座標ｓ，ｔ，ｑとからなるポリゴンレンダリングデータＳ１１となる。
【００８３】
このポリゴンレンダリングデータＳ１１は、レンダリング回路１４のＤＤＡセットアップ回路１４１に入力される。
ＤＤＡセットアップ回路１４１においては、ポリゴンレンダリングデータＳ１１に基づいて、三角形の辺と水平方向の差分などを示す変分データＳ１４１が生成される。具体的には、開始点の値と終点の値、並びに、その間の距離を用いて、単位長さ移動した場合における、求めようとしている値の変化分である変分が算出され、変分データＳ１４１としてトライアングルＤＤＡ回路１４２に出力される。
【００８４】
トライアングルＤＤＡ回路１４２においては、変分データＳ１４１を用いて、三角形内部の各画素における線形補間された（ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）データが算出される。
そして、この算出された（ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）データと、三角形の各頂点の（ｘ，ｙ）データとが、ＤＤＡデータＳ１４２として、トライアングルＤＤＡ回路１４２からテクスチャエンジン回路１４３に出力される。
【００８５】
テクスチャエンジン回路１４３においては、ＤＤＡデータＳ１４２が示す（ｓ，ｔ，ｑ）データについて、ｓデータをｑデータで除算する演算と、ｔデータをｑデータで除算する演算とが行われる。そして、除算結果「ｓ／ｑ」および「ｔ／ｑ」に、それぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥが乗算され、テクスチャ座標データ（ｕ，ｖ）が生成される。
【００８６】
次に、テクスチャエンジン回路１４３からメモリＩ／Ｆ回路１４４に対して生成されたテクスチャ座標データ（ｕ，ｖ）を含む読み出し要求が出力され、メモリＩ／Ｆ回路１４４を介して、ＳＲＡＭ１４８に記憶された（Ｒ，Ｇ，Ｂ）データＳ１４８が読み出される。
次に、テクスチャエンジン回路１４３において、読み出した（Ｒ，Ｇ，Ｂ）データＳ１４８の（Ｒ，Ｇ，Ｂ）データと、前段のトライアングルＤＤＡ回路１４２からのＤＤＡデータＳ１４２に含まれる（Ｒ，Ｇ，Ｂ）データとが掛け合わされ、画素データＳ１４３として生成される。
この画素データＳ１４３は、テクスチャエンジン回路１４３からメモリＩ／Ｆ回路１４４に出力される。
【００８７】
フルカラーの場合には、テクスチャバッファ１４７ａからのデータ（Ｒ，Ｇ，Ｂ）を直接用いればよいが、インデックスカラーの場合には、あらかじめ作成しておいたカラーインデックステーブル（Color Index Table ）のデータが、テクスチャＣＬＵＴ（Color Look Up Table)バッファ１４７ｄより、ＳＲＡＭ等で構成される一時保管バッファへ転送され、この一時保管バッファのＣＬＵＴを用いてカラーインデックスから実際のＲ，Ｇ，Ｂカラーが得られる。
なお、ＣＵＬＴがＳＲＡＭで構成された場合は、カラーインデックスをＳＲＡＭのアドレスに入力すると、その出力には実際のＲ，Ｇ，Ｂカラーが出てくるといった使い方となる。
【００８８】
そして、メモリＩ／Ｆ回路１４４において、テクスチャエンジン回路１４３から入力した画素データＳ１４３に対応するｚデータと、ｚバッファ１４７ｃに記憶されているｚデータとの比較が行われ、入力した画素データＳ１２によって描画される画像が、前回、ディスプレイバッファ２１に書き込まれた画像より、手前（視点側）に位置するか否かが判断される。
判断の結果、手前に位置する場合には、画像データＳ１４３に対応するｚデータでｚバッファ１４７ｃに記憶されたｚデータが更新される。
【００８９】
次に、メモリＩ／Ｆ回路１４４において、（Ｒ，Ｇ，Ｂ）データがディスプレイバッファ１４７ｂに書き込まれる。
これら書き込む（更新も含む）べきデータは、書き込み系回路である、ディストリビュータ３００、アドレスデコーダ３１０，３２０，３３０，３４０を介してメモリコントローラ３５０，３６０，３７０，３８０に供給され、メモリコントローラ３５０，３６０，３７０，３８０によって、それぞれ書き込み系配線群４０１Ｗ，４０２Ｗ，４１１Ｗ，４１２Ｗ，４２１Ｗ，４２２Ｗ，４３１Ｗ，４３２Ｗを介し所定のメモリに対して並列的に書き込まれる。
【００９０】
メモリＩ／Ｆ回路１４４においては、今から描画しようとしている画素におけるテクスチャアドレスに対応したテクスチャを格納しているメモリブロックがそのテクスチャアドレスにより算出され、そのメモリブロックにのみ読みだし要求が出され、テクスチャデータが読み出される。
この場合、該当するテクスチャデータを保持していないメモリブロックにおいては、テクスチャ読み出しのためのアクセスが行われないため、描画により多くのアクセス時間を提供することが可能となっている。
【００９１】
描画においても同様に、今から描画しようとしている画素アドレスに対応する画素データを格納しているメモリブロックに対して、該当アドレスから画素データがモディファイ書き込み(Modify Write)を行うために読み出され、モディファイ後、同じアドレスへ書き戻される。
【００９２】
隠れ面処理を行う場合には、やはり同じように今から描画しようとしている画素アドレスに対応する奥行きデータを格納しているメモリブロックに対して、該当アドレスから奥行きデータがモディファイ書き込み(Modify Write)を行うために読み出され、必要ならばモディファイ後、同じアドレスへ書き戻される。
【００９３】
このようなメモリＩ／Ｆ回路１４４に基づくＤＲＡＭ１４７とのデータのやり取りにおいては、それまでの処理を複数並行処理することで、描画性能を向上させることができる。
特に、トライアングルＤＤＡ回路１４２とテクスチャエンジン１４３の部分を並列実行形式で、同じ回路に設ける（空間並列）か、または、パイプラインを細かく挿入する（時間並列）ことで、部分的に動作周波数を増加させるという手段により、複数画素の同時算出が行われる。
【００９４】
また、画素データは、メモリＩ／Ｆ回路１４４の制御のもと、表示領域において隣接した部分は、異なるＤＲＡＭモジュールとなるように配置される。
これにより、三角形のような平面を描画する場合には面で同時に処理される。このため、それぞれのＤＲＡＭモジュールの動作確率は非常に高い。
【００９５】
そして、図示しないＣＲＴに画像を表示する場合には、ＣＲＴコントロール回路１４５において、与えられた水平垂直同期周波数に同期して、表示アドレスが発生され、メモリＩ／Ｆ回路１４４へ表示データ転送の要求が出される。
メモリＩ／Ｆ回路１４４では、その要求に従い、一定のまとまった固まりで、表示データがＣＲＴコントロール回路１４５に転送される。
ＣＲＴコントロール回路１４５では、図示しないディスプレイ用ＦＩＦＯ(First In First Out)等にその表示データが貯えられ、一定の間隔でＲＡＭＤＡＣ１４６へＲＧＢのインデックス値が転送される。
【００９６】
なお、上述したようにメモリＩ／Ｆ回路１４４に対してＤＲＡＭ１４７あるいはＳＲＡＭ１４８に格納されているデータの読み出し要求があった場合、読み出しコントローラ３９０のアドレスコンバータ３９１に読み出しアドレスＡＤＲＲが入力される。
このとき、アドレスコンバータ３９１ではメモリコントローラ３５０，３６０，３７０，３８０からのアイドル信号Ｓ３５０，Ｓ３６０，Ｓ３７０，Ｓ３８０をすべてアクティブで入力された否かのチェックが行われる。そして、アイドル信号Ｓ３５０，Ｓ３６０，Ｓ３７０，Ｓ３８０がすべてアクティブで入力されると、アイドル信号Ｓ３５０，Ｓ３６０，Ｓ３７０，Ｓ３８０に応答して、８画素あるいは１６画素単位で読み出しを行うように、読み出しアドレスおよび読み出し要求信号Ｓ３９１が各メモリコントローラ３５０，３６０，３７０，３８０に出力される。
【００９７】
読み出しアドレスおよび読み出し要求信号Ｓ３９１を受けて、各メモリコントローラ３５０，３６０，３７０，３８０で８画素あるいは１６画素単位の、テクスチャデータ、（Ｒ，Ｇ，Ｂ）データ、ｚデータおよびテクスチャカラールックアップテーブルデータが読み出し系配線群４０１Ｒ，４０２Ｒ，４１１Ｒ，４１２Ｒ，４２１Ｒ，４２２Ｒ，４３１Ｒ，４３２Ｒを介して並列的に読み出され、さらに読み出し系配線群３５１，３６１，３７１，３８１，配線群４４０を介してデータ演算部３９２に入力される。
そして、データ演算部３９２で所定の演算処理が行われて、要求先、たとえばテクスチャエンジン回路１４３またはＣＲＴコントロール回路１４５に出力される。
【００９８】
ＲＡＭＤＡＣ１４６においては、ＲＡＭ内部にＲＧＢのインデックスに対するＲＧＢ値が記憶されていて、インデックス値に対するＲＧＢ値が図示しないＤ／Ａコンバータへ転送される。
そして、Ｄ／Ａコンバータでアナログ信号に変換されたＲＧＢ信号がＣＲＴへ転送される。
【００９９】
以上説明したように、本実施形態によれば、ＤＲＡＭ１４７およびＳＲＡＭ１４８へのアクセス（書き込みまたは読み出し）を行うメモリＩ／Ｆ回路１４４において、書き込み経路と読み出し経路とを別経路として構成し、書き込みの場合には書き込みアドレスＡＤＲＷと書き込みデータＤＴＷを書き込み系回路であるディストリビュータ３００、アドレスコンバータ３１０，３２０，３３０，３４０およびメモリコントローラ３５０，３６０，３７０，３８０で処理してＤＲＡＭ１４７に書き込み、読み出しの場合には読み出し系回路である読み出しコントローラ３９０、メモリコントローラ３５０，３６０，３７０，３８０で処理してＤＲＡＭ１４７またはＳＲＡＭ１４８から読み出すことから、たとえば読み出しの割り込みが入った時等に早いタイミングで切り替えることができ、読み出しの際の性能向上を図れる利点がある。
【０１００】
また、読み出しコントローラ３９０は、メモリコントローラ３５０，３６０，３７０，３８０がアイドル状態にあるときに、読み出しアドレスおよび読み出し要求信号Ｓ３９１をメモリコントローラ３５０，３６０，３７０，３８０に出力して読み出しデータを受けるようにしたので、読み出すデータの同期をとることができる。
したがって、読み出しコントローラ３９０は、データを一時的に保持するＦＩＦＯ(First In First Out)回路等の保持回路を設ける必要がなく、回路規模の縮小化を図ることができる。
【０１０１】
また、メモリＩ／Ｆ回路１４４は、所定のインターリーブ方式のアドレッシングに基づいてＤＲＡＭ１４７へのアクセスを、たとえば１６画素単位で行い、読み出す領域に制限を加えていることから、ペ−ジ違反を起こさない画像処理装置を実現できる。
【０１０２】
さらに、本実施形態によれば、半導体チップ内部に内蔵されたＤＲＡＭ１４７に、表示デ−タと少なくとも一つの図形要素が必要とするテクスチャデ−タを記憶させた構成を有することから、表示領域以外の部分にテクスチャデ−タを格納できることになり、内蔵ＤＲＡＭの有効利用が可能となり、高速処理動作、並びに低消費電力化を並立させるようにした画像処理装置が実現可能となる。
そして、単一メモリシステムを実現でき、すべてが内蔵された中だけで処理ができる。その結果、ア−キテクチャとしても大きなパラダイムシフトとなる。
また、メモリの有効利用ができることで、内部に持っているＤＲＡＭのみでの処理が可能となり、内部にあるがゆえのメモリと描画システムの間の大きなバンド幅が、十分に活用可能となる。また、ＤＲＡＭにおいても特殊な処理を組み込むことが可能となる。
【０１０３】
また、ＤＲＡＭにおける同一機能を独立した複数のモジュ−ル１４７１〜１４７４として並列にもつことから、並列動作の効率を向上させることができる。単にデ−タのビット数が多いだけでは、デ−タの使用効率は悪化し、性能向上できるのは一部の条件の場合に限定されることになる。平均的な性能を向上させるためには、ある程度の機能をもったモジュ−ルを複数設けることで、ビット線の有効利用を行うことができる。
【０１０４】
さらに、表示アドレス空間において、隣接するアドレスにおける表示要素が、それぞれ異なるＤＲＡＭのブロックになるように配置するので、さらにビット線の有効利用が可能となり、グラフィックス描画におけるような、比較的固まった表示領域へのアクセスが多い場合には、それぞれのモジュ−ルが同時に処理できる確率が増加し、描画性能の向上が可能となる。
【０１０５】
また、より多くのテクスチャデ−タを格納するために、インデックスカラ−におけるインデックスと、そのためのカラ−ルックアップテ−ブル値を内蔵ＤＲＡＭ１４７内部に格納するので、テクスチャデ−タの圧縮が可能となり、内蔵ＤＲＡＭの効率良い利用が可能となる。
【０１０６】
また、描画しようとしている物体の奥行き情報を、内蔵のＤＲＡＭに格納するので、描画と同時並行的に隠れ面処理を行うことが可能となる。
描画を行って、通常はそれを表示しようとするわけだが、ユニファイドメモリとして、テクスチャデ−タと表示デ−タを同一のメモリシステムに同居させることができることから、直接表示に使わずに、描画デ−タをテクスチャデ−タとして使ってしまうということも可能となる。
このようなことは、必要なときに必要なテクスチャデ−タを、描画によって作成する場合に有効となり、これもテクスチャデ−タを膨らませないための効果的な機能となる。
【０１０７】
また、チップ内部にＤＲＡＭを内蔵することで、その高速なインタ−フェ−ス部分がチップの内部だけで完結することになるため、大きな付加容量のＩ／Ｏバッファであるとか、チップ間配線容量をドライブする必要がなくなり、消費電力は内蔵しない場合に比較して小さくなる。
よって、さまざまな技術を使って、一つのチップの中だけですべてができるような仕組みは、今後の携帯情報端末等の身近なデジタル機器のためには、必要不可欠な技術要素となっている。
【０１０８】
なお、本発明は上述した実施形態には限定されない。
また、上述した図１に示す３次元コンピュータグラフィックスシステム１０では、ＳＲＡＭ１４８を用いる構成を例示したが、ＳＲＡＭ１４８を設けない構成にしてもよい。
【０１０９】
さらに、図１に示す３次元コンピュータグラフィックスシステム１０では、ポリゴンレンダリングデータを生成するジオメトリ処理を、メインプロセッサ１１で行う場合を例示したが、レンダリング回路１４で行う構成にしてもよい。
【０１１０】
【発明の効果】
以上説明したように、本発明によれば、デ−タの記憶回路への書き込み系と記憶回路メモリからの読み出し系を分離して行うことから、読み出しの割り込みが入った時に早いタイミングで切り替えることができ、読み出しの際の性能向上を図れる利点がある。
また、記憶回路がアイドル状態のときにアドレススと読み出しリクエストを出すようにしたので、読み出すデ−タの同期をとれるようになる。その結果、デ−タを一時的に保存するＦＩＦＯ等の保持回路を無くすことができ、回路規模を縮小することを実現することができる。
また、読み出す領域に制限を加えていることから、ペ−ジ違反を起こさない画像処理装置を実現できる。
【０１１１】
さらに、半導体チップ内部にロジック回路と混載された記憶回路に、表示デ−タと少なくとも一つの図形要素が必要とするテクスチャデ−タを記憶させた構成を有することから、表示領域以外の部分にテクスチャデ−タを格納できることになり、内蔵記憶回路の有効利用が可能となり、高速処理動作、並びに低消費電力化を並立させるようにした画像処理装置が実現可能となる。
そして、単一メモリシステムを実現でき、すべてが内蔵された中だけで処理ができる。その結果、ア−キテクチャとしても大きなパラダイムシフトとなる。
また、記憶回路の有効利用ができることで、内部に持っているメモリのみでの処理が可能となり、内部にあるがゆえのメモリと描画システムの間の大きなバンド幅が、十分に活用可能となる。また、メモリにおいても特殊な処理を組み込むことが可能となる。
【０１１２】
また、メモリにおける同一機能を独立した複数のモジュ−ルとして並列にもつことから、並列動作の効率を向上させることができる。
【０１１３】
さらに、表示アドレス空間において、隣接するアドレスにおける表示要素を、それぞれ異なるメモリのブロックになるように配置するので、グラフィックス描画におけるような、比較的固まった表示領域へのアクセスが多い場合には、それぞれのモジュ−ルが同時に処理できる確率が増加し、描画性能の向上が可能となる。
【図面の簡単な説明】
【図１】  本発明に係る３次元コンピュータグラフィックスシステムの構成を示すブロック図である。
【図２】  本発明に係るレンダリング回路におけるＤＲＡＭ、ＳＲＡＭ、並びに、ＤＲＡＭおよびＳＲＡＭへアクセスするメモリＩ／Ｆ回路の具体的な構成例を示すブロック図である。
【図３】  本発明に係るＤＲＡＭバッファの構成例を示す概略図である。
【図４】  テクスチャデータに含まれる同時にアクセスが行われる画素データを説明するための図である。
【図５】  テクスチャデータを構成する単位ブロックを説明するための図である。
【図６】  テクスチャバッファのアドレス空間を説明するための図である。
【図７】  本発明に係るＤＤＡセットアップ回路の機能を説明するための図である。
【図８】  本発明に係るトライアングルＤＤＡ回路の機能を説明するための図である。
【図９】  本発明に係るトライアングルＤＤＡ回路の頂点のソート処理を説明するための図である。
【図１０】  本発明に係るトライアングルＤＤＡ回路の水平方向の傾き算出処理を説明するための図である。
【図１１】  本発明に係るトライアングルＤＤＡ回路の頂点データの補間手順を説明するための図である。
【図１２】  本発明に係るトライアングルＤＤＡ回路の頂点データの補間手順を説明するためのフローチャートである。
【図１３】  本発明に係るメモリＩ／Ｆ回路におけるディストリビュータの画像データ処理を説明するための図である。
【図１４】  ３次元コンピュータグラフィックスシステムの基本的な概念を示すシステム構成図である。
【符号の説明】
１０…３次元コンピュータグラフィックスシステム、１１…メインプロセッサ、１２…メインメモリ、１３…Ｉ／Ｏインタフェース回路、１４…レンダリング回路、１４１…ＤＤＡセットアップ回路、１４２…トライアングルＤＤＡ回路、１４３…テクスチャエンジン回路、１４４…メモリＩ／Ｆ回路、１４５…ＣＲＴコントローラ回路、１４６…ＲＡＭＤＡＣ回路、１４７…ＤＲＡＭ、１４７１〜１４７４…ＤＲＡＭモジュール、１４７ａ…テクスチャバッファ、１４７ｂ…ディスプレイバッファ、１４７ｃ…ｚバッファ、１４７ｄ…テクスチャＣＬＵＴバッファ、１４８…ＳＲＡＭ、２００，２１０，２２０，２３０…メモリモジュール、３００…ディストリビュータ、３１０，３２０，３３０，３４０…アドレスデコーダ、３５０，３６０，３７０，３８０…メモリコントローラ、３９０…読み出しコントローラ、３９１…アドレスデコーダ、３９２…データ演算処理部。
【図１】
0004081860.tif 000003
【図２】
0004081860.tif 000004
【図３】
0004081860.tif 000005
【図４】
0004081860.tif 000006
【図５】
0004081860.tif 000007
【図６】
0004081860.tif 000008
【図７】
0004081860.tif 000009
【図８】
0004081860.tif 000010
【図９】
0004081860.tif 000011
【図１０】
0004081860.tif 000012
【図１１】
0004081860.tif 000013
【図１２】
0004081860.tif 000014
【図１３】
0004081860.tif 000015
【図１４】
0004081860.tif 000016