(57)【特許請求の範囲】
【請求項１】
画像データを処理する画像処理回路と、
前記画像データを記憶する第１の記憶回路と、
前記第１の記憶回路にデータを書き込む書き込み系回路と、
読み出し要求を受けて前記第１の記憶回路に記憶されたデータを前記書き込み系回路と異なる経路で読み出す読み出し系回路と、を有し、
前記第１の記憶回路は、同一機能を有する複数のメモリモジュールに分割され、
前記各メモリモジュールは、
複数のバンクと、
前記書き込み系回路から入力した時系列な画像データを入力順でアドレスに応じて対応する前記バンクに出力する書き込み用の第２の記憶回路と、を含み、
前記書き込み系回路および読み出し系回路は、
前記各メモリモジュールに対応して設けられ、それぞれ対応するメモリモジュールと書き込み系配線群、並びに読み出し系配線群を介して接続され、書き込み時および読み出し時に各メモリモジュールに対しての並列アクセスを制御する複数のメモリコントローラを共用し、
前記各メモリコントローラは、
自身のステートマシンがアイドル状態にあるときに、アイドル信号をアクティブで出力し、
前記書き込み系回路は、
書き込み時に、複数画素分のデータおよび書き込みアドレスを入力し、当該データを所定画素分のデータからなる前記メモリモジュールの分割数に相当する複数の画像データに分割し、当該分割した画像データおよび書き込みアドレスを出力し、かつ、当該画像データを、前記第１の記憶回路の各メモリモジュールに、画像データの表示アドレス空間において、隣接するアドレスにおける表示要素が、異なるメモリモジュールとなる配置となるように処理するディストリビュータと、
書き込み時に、前記ディストリビュータから入力した画像データおよびアドレスを、それぞれ前記各メモリモジュール内のアドレスに変換し、それぞれ変換したアドレスと分割された画像データを前記複数のメモリコントローラに出力するアドレスコンバータと、を含み、
前記読み出し系回路は、
所定の連続する画素からなるブロック単位で読み出しを行う読み出しコントローラを有し、
前記読み出しコントローラは、
読み出しアドレスを受けた場合、前記各メモリコントローラからのアイドル信号をすべてアクティブで受けると、このアイドル信号に応答して、複数画素単位で読み出しを行うように、読み出しアドレスおよび読み出し要求信号を前記各メモリコントローラに出力するアドレスコンバータと、
読み出しアドレスおよび読み出し要求信号に応答して前記各メモリコントローラで読み出された複数画素単位のデータを読み出し用配線群を介して入力し、所定の演算処理を行って、要求先に出力するデータ演算部と、を含み、
前記各メモリコントローラは、
自身のステートマシンがアイドル状態にあるときに、前記アイドル信号を前記読み出しコントローラにアクティブで出力し、当該アイドル信号に応答した前記読み出しコントローラによる読み出しアドレスおよび読み出し要求信号を受けて、前記読み出し系配線群を介して前記メモリモジュールからデータの読み出しを行い、前記読み出し用配線群を介して前記読み出しコントローラに出力する
画像処理装置。
【請求項２】
前記各メモリモジュールは、
前記複数のバンクのそれぞれに対応して設けられ、前記書き込み系回路から入力した画像データを入力順でアドレスに応じて対応する前記バンクに出力する書き込み用の複数の第２の記憶回路と、
時系列な画像データをアドレスに対応した前記バンクに対応する前記第２の記憶回路に分配する分配部と、を含む
請求項１記載の画像処理装置。
【請求項３】
前記各メモリモジュールは、
前記複数のバンクのそれぞれに対応して設けられ、対応する前記バンクから読み出された画像データを入力順に出力する読み出し用の複数の第３の記憶回路と、
前記複数の第３の記憶回路から読み出された画像データを対応する前記読み出し用配線群に出力する集配部と、をさらに含む
請求項２記載の画像処理装置。
【請求項４】
前記各メモリモジュールの前記第２の記憶回路は、
１個の入力ポートと少なくとも２個以上の出力ポートとを有し、各出力ポートにおいて、前記入力ポートを介して入力した画像データを入力順でアドレスに応じて対応する前記バンクに出力する
請求項１記載の画像処理装置。
【請求項５】
前記各メモリモジュールは、
少なくとも２個の入力ポートと１個以上の出力ポートとを有し、前記入力ポートの位置に応じた順序で、前記複数のバンクから前記入力ポートを介して入力した画像データを、前記出力ポートから対応する読み出し用配線群に出力する第３の記憶回路を有する
請求項４記載の画像処理装置。
【請求項６】
単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、テクスチャ同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを用いてレンダリング処理を行うために、
前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の補間データを生成する補間データ生成回路と、
前記補間データに含まれるテクスチャ同次座標（ｓ，ｔ）を同次項ｑで除算して「ｓ／ｑ」および「ｔ／ｑ」を生成し、当該「ｓ／ｑ」および「ｔ／ｑ」に応じたテクスチャアドレスを用いて前記第１の記憶回路から読み出されたテクスチャデータを、図形要素の表面への張り付け処理を行って表示データを生成し、当該表示データを前記第２の記憶回路を介して前記第１の記憶回路に書き込むテクスチャ処理回路と、を有する
請求項１、２、または４に記載の画像処理装置。
【請求項７】
単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、テクスチャ同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを用いてレンダリング処理を行うために、
前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の補間データを生成する補間データ生成回路と、
前記補間データに含まれるテクスチャ同次座標（ｓ，ｔ）を同次項ｑで除算して「ｓ／ｑ」および「ｔ／ｑ」を生成し、当該「ｓ／ｑ」および「ｔ／ｑ」に応じたテクスチャアドレスを用いて前記第３の記憶回路を介して前記第１の記憶回路から読み出されたテクスチャデータを、図形要素の表面への張り付け処理を行って表示データを生成し、当該表示データを前記第２の記憶回路を介して前記第１の記憶回路に書き込むテクスチャ処理回路と、を有する
請求項３または５に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置に関する。
【０００２】
【従来の技術】
種々のＣＡＤ(Computer Aided Design) システムや、アミューズメント装置などにおいて、コンピュータグラフィックスがしばしば用いられている。特に、近年の画像処理技術の進展に伴い、３次元コンピュータグラフィックスを用いたシステムが急速に普及している。
このような３次元コンピュータグラフィックスでは、各画素（ピクセル）に対応する色を決定するときに、各画素の色の値を計算し、この計算した色の値を、当該画素に対応するディスプレイバッファ（フレームバッファ）のアドレスに書き込むレンダリング(Rendering) 処理を行う。
【０００３】
レンダリング処理の手法の一つに、ポリゴン（Polygon)レンダリングがある。この手法では、立体モデルを三角形の単位図形（ポリゴン）の組み合わせとして表現しておき、このポリゴンを単位として描画を行うことで、表示画面の色を決定する。
【０００４】
ポリゴンレンダリングでは、物理座標系における三角形の各頂点についての、座標（ｘ，ｙ，ｚ）と、色データ（Ｒ，Ｇ，Ｂ）と、張り合わせのイメージパターンを示すテクスチャデータの同次座標（ｓ，ｔ）および同次項ｑの値とを入力とし、これらの値を三角形の内部で補間する処理が行われる。
ここで、同次項ｑは、簡単にいうと、拡大縮小率のようなもので、実際のテクスチャバッファのＵＶ座標系における座標、すなわち、テクスチャ座標データ（ｕ，ｖ）は、同次座標（ｓ，ｔ）を同次項ｑで除算した「ｓ／ｑ」および「ｔ／ｑ」に、それぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥを乗じたものとなる。
【０００５】
図１３は、３次元コンピュータグラフィックスシステムの基本的な概念を示すシステム構成図である。
【０００６】
この３次元コンピュータグラフィックスシステムにおいては、グラフィックス描画等のデータは、メインプロセッサ１のメインメモリ２、あるいは外部からのグラフィックスデータを受けるＩ／Ｏインタフェース回路３からメインバス４を介してレンダリングプロセッサ５ａ、フレームバッファメモリ５ｂを有するレンダリング回路５に与えられる。
【０００７】
レンダリングプロセッサ５ａには、表示するためのデータを保持することを目的とするフレームバッファ５ｂと、描画する図形要素（たとえば三角形）の表面に張り付けるテクスチャデータを保持しているテクスチャメモリ６が結合されている。
そして、レンダリングプロセッサ５ａによって、図形要素毎に表面にテクスチャを張り付けた図形要素を、フレームバッファ５ｂに描画するという処理が行われる。
【０００８】
フレームバッファ５ｂとテクスチャメモリ６は、一般的にＤＲＡＭ(Dynamic Random Access Memory)を用いて構成されている。
ところで、従来、このようなＤＲＡＭは、例えば、図１４に示すように、バンク５００Ａ，５００Ｂを有し、書き込みデータを入力する書き込み用ＦＩＦＯ回路５０１と読み出しデータを出力する読み出し用ＦＩＦＯ回路５０２とがそれぞれ１個ずつ設けられている。
【０００９】
【発明が解決しようとする課題】
しかしながら、上述した３次元コンピュータグラフィックスシステムにおいて、ＤＲＡＭを複数のバンク構成にした場合に、書き込み用ＦＩＦＯ回路５０１および読み出し用ＦＩＦＯ回路５０２をそれぞれ１個しか設けていないと、以下に示すような場合には、ＤＲＡＭのセルがアクセス状態であるにも係わらず、アクセスを行うことができない事態が発生する。
【００１０】
例えば、図１５に示す時系列なデータＳ５１０が、図１４に示す書き込み用ＦＩＦＯ回路５０１に入力された場合について説明する。
ここで、図１５に示されるデータＡ1 （０），Ａ2 （０），はバンク２０１Ａの０番目のデータ線（ライン）を介して書き込まれるデータであり、データＢ3 （１），Ｂ4 （１），Ｂ7 （１），Ｂ8 （１）はバンク２０１Ｂの１番目のデータ線を介して書き込まれるデータであり、データＡ5 （１），Ａ6 （１）はバンク２０１Ａの１番目のデータ線を介して書き込まれるデータである。
【００１１】
図１５に示すデータＳ５１０が、図１４に示す書き込み用ＦＩＦＯ回路５０１に入力され、ＦＩＦＯ方式で、バンク５００Ａ，５００Ｂに書き込まれる。
先ず、図１６（Ａ）に示すように、先ず、タイミングｔ1 で、バンク５００Ａにおいて、０番目のデータ線のプリチャージ動作が開始される。
次に、所定時間後に、タイミングｔ3 ，ｔ4 で、バンク５００Ａにおいて、バンク５００Ａの０番目のデータ線を介して、データＡ1 （０），Ａ2 （０）が連続して２回書き込まれる。
このとき、タイミングｔ3 で、バンク５００ＡにおけるデータＡ1 （０）の書き込み動作と並行して、バンク５００Ｂにおいて、１番目のデータ線のプリチャージ動作が開始される。
そして、バンク５００ＡにおけるデータＡ2 （０）の書き込み動作が終了したタイミングｔ5 とタイミングｔ6 とで、バンク５００Ｂにおいて、１番目のデータ線を介して、データＢ3 （１），Ｂ4 （１）が連続して書き込まれる。
このとき、タイミングｔ6 で、バンク５００ＢにおけるデータＢ4 （１）の書き込み動作と並行して、バンク５００Ａにおいて、１番目のデータ線のプリチャージ動作が開始される。
【００１２】
次に、所定時間後に、タイミングｔ8 ，ｔ9 で、バンク５００Ａにおいて、バンク５００Ａの１番目のデータ線を介して、データＡ5 （１），Ａ6 （１）が連続して２回書き込まれる。
その後、バンク５００ＡにおけるデータＡ6 （１）の書き込み動作が終了したタイミングｔ10とタイミングｔ11とで、バンク５００Ｂにおいて、１番目のデータ線を介して、データＢ7 （１），Ｂ8 （１）が連続して書き込まれる。
【００１３】
この場合に、図１６（Ｂ）に示すタイミングｔ7 〜ｔ8 では、バンク５００ＢはデータＢ7 （１）を１番目のデータ線を介して書き込み可能な状態になっているが、書き込み用ＦＩＦＯ回路５０１において、データＢ7 （１）はデータＡ5 （１），Ａ6 （１）を追い越すことができないため、当該データＢ7 （１）の書き込みを行うことができない。
すなわち、従来の図１４に示す構成のＤＲＡＭでは、上述したようなデータの追い越しができないことが、ＤＲＡＭへのアクセス速度をさらに向上させる上でのボトルネックとなっていた。
【００１４】
本発明は、かかる事情に鑑みてなされたものであり、画像データを記憶している複数バンクからなるメモリへのアクセス速度を向上できる画像処理装置を提供することを目的とする。
【００１５】
【課題を解決するための手段】
前記目的を達成するため、本発明の第１の観点の画像処理装置は、画像データを処理する画像処理回路と、前記画像データを記憶する第１の記憶回路と、前記第１の記憶回路にデータを書き込む書き込み系回路と、読み出し要求を受けて前記第１の記憶回路に記憶されたデータを前記書き込み系回路と異なる経路で読み出す読み出し系回路と、を有し、前記第１の記憶回路は、同一機能を有する複数のメモリモジュールに分割され、前記各メモリモジュールは、複数のバンクと、前記書き込み系回路から入力した時系列な画像データを入力順でアドレスに応じて対応する前記バンクに出力する書き込み用の第２の記憶回路と、を含み、前記書き込み系回路および読み出し系回路は、前記各メモリモジュールに対応して設けられ、それぞれ対応するメモリモジュールと書き込み系配線群、並びに読み出し系配線群を介して接続され、書き込み時および読み出し時に各メモリモジュールに対しての並列アクセスを制御する複数のメモリコントローラを共用し、前記各メモリコントローラは、自身のステートマシンがアイドル状態にあるときに、アイドル信号をアクティブで出力し、前記書き込み系回路は、書き込み時に、複数画素分のデータおよび書き込みアドレスを入力し、当該データを所定画素分のデータからなる前記メモリモジュールの分割数に相当する複数の画像データに分割し、当該分割した画像データおよび書き込みアドレスを出力し、かつ、当該画像データを、前記第１の記憶回路の各メモリモジュールに、画像データの表示アドレス空間において、隣接するアドレスにおける表示要素が、異なるメモリモジュールとなる配置となるように処理するディストリビュータと、書き込み時に、前記ディストリビュータから入力した画像データおよびアドレスを、それぞれ前記各メモリモジュール内のアドレスに変換し、それぞれ変換したアドレスと分割された画像データを前記複数のメモリコントローラに出力するアドレスコンバータと、を含み、前記読み出し系回路は、所定の連続する画素からなるブロック単位で読み出しを行う読み出しコントローラを有し、前記読み出しコントローラは、読み出しアドレスを受けた場合、前記各メモリコントローラからのアイドル信号をすべてアクティブで受けると、このアイドル信号に応答して、複数画素単位で読み出しを行うように、読み出しアドレスおよび読み出し要求信号を前記各メモリコントローラに出力するアドレスコンバータと、読み出しアドレスおよび読み出し要求信号に応答して前記各メモリコントローラで読み出された複数画素単位のデータを読み出し用配線群を介して入力し、所定の演算処理を行って、要求先に出力するデータ演算部と、を含み、前記各メモリコントローラは、自身のステートマシンがアイドル状態にあるときに、前記アイドル信号を前記読み出しコントローラにアクティブで出力し、当該アイドル信号に応答した前記読み出しコントローラによる読み出しアドレスおよび読み出し要求信号を受けて、前記読み出し系配線群を介して前記メモリモジュールからデータの読み出しを行い、前記読み出し用配線群を介して前記読み出しコントローラに出力する。
【００１６】
このように、第１の観点の画像処理装置では、バンク毎に第２の記憶回路を設けたことで、第１の記憶回路へのデータの入出力順序と、第２の記憶回路へのデータのアクセス順序とを入れ替えることが可能になる。これにより、複数のバンクのうち、アクセス可能なバンクに優先的にアクセスを行うことができ、アクセス速度を短縮できる。
【００１７】
また、好ましくは、前記各メモリモジュールは、前記複数のバンクのそれぞれに対応して設けられ、前記書き込み系回路から入力した画像データを入力順でアドレスに応じて対応する前記バンクに出力する書き込み用の複数の第２の記憶回路と、時系列な画像データをアドレスに対応した前記バンクに対応する前記第２の記憶回路に分配する分配部と、を含む。
【００１８】
また、好ましくは、前記各メモリモジュールは、前記複数のバンクのそれぞれに対応して設けられ、対応する前記バンクから読み出された画像データを入力順に出力する読み出し用の複数の第３の記憶回路と、前記複数の第３の記憶回路から読み出された画像データを対応する前記読み出し用配線群に出力する集配部と、をさらに含む。
【００１９】
また、好ましくは、前記各メモリモジュールの前記第２の記憶回路は、１個の入力ポートと少なくとも２個以上の出力ポートとを有し、各出力ポートにおいて、前記入力ポートを介して入力した画像データを入力順でアドレスに応じて対応する前記バンクに出力する。
【００２０】
また、好ましくは、前記各メモリモジュールは、少なくとも２個の入力ポートと１個以上の出力ポートとを有し、前記入力ポートの位置に応じた順序で、前記複数のバンクから前記入力ポートを介して入力した画像データを、前記出力ポートから対応する読み出し用配線群に出力する第３の記憶回路を有する。
【００２１】
また、好ましくは、単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、テクスチャ同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを用いてレンダリング処理を行うために、前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の補間データを生成する補間データ生成回路と、前記補間データに含まれるテクスチャ同次座標（ｓ，ｔ）を同次項ｑで除算して「ｓ／ｑ」および「ｔ／ｑ」を生成し、当該「ｓ／ｑ」および「ｔ／ｑ」に応じたテクスチャアドレスを用いて前記第１の記憶回路から読み出されたテクスチャデータを、図形要素の表面への張り付け処理を行って表示データを生成し、当該表示データを前記第２の記憶回路を介して前記第１の記憶回路に書き込むテクスチャ処理回路と、を有する。
【００２２】
また、好ましくは、単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、テクスチャ同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを用いてレンダリング処理を行うために、前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の補間データを生成する補間データ生成回路と、前記補間データに含まれるテクスチャ同次座標（ｓ，ｔ）を同次項ｑで除算して「ｓ／ｑ」および「ｔ／ｑ」を生成し、当該「ｓ／ｑ」および「ｔ／ｑ」に応じたテクスチャアドレスを用いて前記第３の記憶回路を介して前記第１の記憶回路から読み出されたテクスチャデータを、図形要素の表面への張り付け処理を行って表示データを生成し、当該表示データを前記第２の記憶回路を介して前記第１の記憶回路に書き込むテクスチャ処理回路と、を有する。
【００２４】
【発明の実施の形態】
以下、本実施形態においては、パーソナルコンピュータなどに適用される、任意の３次元物体モデルに対する所望の３次元画像をＣＲＴ(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は、１次元のアドレス空間内で連続したアドレスを持つように、ＳＲＡＭ１４８の相互に異なるバンクに記憶される。
すなわち、テクスチャバッファ１４７ａには、同時にアクセスが行われるカラーデータからなる単位ブロックが、一次元のアドレス空間で連続したアドレスを持つように記憶される。
【００４８】
以下、図２に示すメモリモジュール２００，２１０，２２０，２３０内に、それぞれメモリコントローラ３５０，３６０，３７０，３８０との間のインタフェース部に設けられたＦＩＦＯ回路について説明する。
当該ＦＩＦＯ回路の構成は、メモリモジュール２００，２１０，２２０，２３０において共通であるため、以下、メモリモジュール２００に設けられたＦＩＦＯ回路について説明する。
【００４９】
図７に示すように、メモリモジュール２００は、バンク２０１Ａ，２０１Ｂ，２０１Ｃ，２０１Ｄ、バンク２０２Ａ，２０２Ｂ，２０２Ｃ，２０２Ｄ、読み出し用ＦＩＦＯ回路４０１Ａ，４０１Ｂ，４０３Ａ，４０３Ｂ、書き込み用ＦＩＦＯ回路４００Ａ，４００Ｂ，４０２Ａ，４０２Ｂ、分配・集配部４１０，４１１およびＦＩＦＯコントローラ４２０を有する。
【００５０】
ＦＩＦＯコントローラ４２０は、書き込み用ＦＩＦＯ回路４００Ａ，４００Ｂ，４０２Ａ，４０２Ｂ、分配・集配部４１０，４１１の入出力を統括して制御する。
分配・集配部４１０は、ＤＲＡＭ１４７のバンク２０１Ａ，２０１Ｂのデータ書き込み時に、図２に示す書き込み用配線群４０１Ｒ，４０２Ｒを介して入力したデータのうち、バンク２０１Ａに書き込まれるデータを書き込み用ＦＩＦＯ回路４００Ａに出力し、バンク２０１Ｂに書き込まれるデータを書き込み用ＦＩＦＯ回路４００Ｂに出力する。
また、分配・集配部４１０は、ＤＲＡＭ１４７のバンク２０１Ａ，２０１Ｂのデータ読み出し時に、読み出し用ＦＩＦＯ回路４０１Ａ，４０１Ｂから入力したデータを、読み出し用配線群４０１Ｗ，４０２Ｗに出力する。このとき、必要に応じてデータの並べ替えが行われる。
【００５１】
書き込み用ＦＩＦＯ回路４００Ａは、ＦＩＦＯコントローラ４２０からの制御信号に基づいて、バンク２０１Ａの書き込み時に、分配・集配部４１０から入力したデータをＦＩＦＯ方式でバンク２０１Ａに書き込む。
また、読み出し用ＦＩＦＯ回路４０１Ａは、ＦＩＦＯコントローラ４２０からの制御信号に基づいて、バンク２０１Ａの読み出し時に、バンク２０１Ａから読み出したデータを、ＦＩＦＯ方式で分配・集配部４１０に出力する。
また、書き込み用ＦＩＦＯ回路４００Ｂは、ＦＩＦＯコントローラ４２０からの制御信号に基づいて、バンク２０１Ｂの書き込み時に、分配・集配部４１０から入力したデータをＦＩＦＯ方式でバンク２０１Ｂに書き込む。
また、読み出し用ＦＩＦＯ回路４０１Ｂは、ＦＩＦＯコントローラ４２０からの制御信号に基づいて、バンク２０１Ｂの読み出し時に、バンク２０１Ｂから読み出したデータを、ＦＩＦＯ方式で分配・集配部４１０に出力する。
【００５２】
バンク２０１Ａ，２０１Ｂは、ＤＲＡＭ１４７のバンクであり、通常のＤＲＡＭと同様に、データ線を所定の電圧（プリチャージ電圧）に初期設定するプリチャージ動作に続いて、書き込み動作および読み出し動作が選択的に行われる。また、定期的にリフレッシュ動作が行われる。
このとき、バンク２０１Ａ，２０１Ｂは、他のバンクがアクセスされているときでも、プリチャージ動作およびリフレッシュ動作を行うことができる。
【００５３】
以下、バンク２０１Ａ，２０１Ｂの書き込み動作について説明する。
ここでは、図８に示す時系列なデータＳ３９０が、書き込み用配線群４０１Ｒ，４０２Ｒを介してメモリコントローラ３５０から図７に示す分配・集配部４１０に入力された場合の動作を説明する。
ここで、図８に示されるデータＡ1 （０），Ａ2 （０），はバンク２０１Ａの０番目のデータ線（ライン）を介して書き込まれるデータであり、データＢ3 （１），Ｂ4 （１），Ｂ7 （１），Ｂ8 （１）はバンク２０１Ｂの１番目のデータ線を介して書き込まれるデータであり、データＡ5 （１），Ａ6 （１）はバンク２０１Ａの１番目のデータ線を介して書き込まれるデータである。
【００５４】
分配・集配部４１０に入力された図８に示すデータは、バンク２０１Ａに書き込まれるデータとバンク２０１Ｂに書き込まれるデータとに分配され、図９（Ａ）に示すデータＳ４０１Ａが書き込み用ＦＩＦＯ回路４００Ａに出力され、図９（Ｂ）に示すデータＳ４０１Ｂが書き込み用ＦＩＦＯ回路４００Ｂに出力される。
【００５５】
そして、書き込み用ＦＩＦＯ回路４００ＡからデータＳ４１０ＡがＦＩＦＯ方式でバンク２０１Ａに出力される。
また、書き込み用ＦＩＦＯ回路４００ＢからデータＳ４１０ＢがＦＩＦＯ方式でバンク２０１Ｂに出力される。
【００５６】
これにより、図１０（Ａ），（Ｂ）に示すように、先ず、タイミングｔ1 で、バンク２０１Ａにおいて、０番目のデータ線のプリチャージ動作が開始される。次に、所定時間後に、タイミングｔ3 ，ｔ4 で、バンク２０１Ａにおいて、バンク２０１の０番目のデータ線を介して、データＡ1 （０），Ａ2 （０）が連続して２回書き込まれる。
このとき、タイミングｔ3 で、バンク２０１ＡにおけるデータＡ1 （０）の書き込み動作と並行して、バンク２０１Ｂにおいて、１番目のデータ線のプリチャージ動作が開始される。
そして、バンク２０１ＡにおけるデータＡ2 （０）の書き込み動作が終了したタイミングｔ5 で、バンク２０１Ｂにおいて、１番目のデータ線を介して、データＢ3 （１），Ｂ4 （１），Ｂ7 （１），Ｂ8 （１）が連続して書き込まれる。このとき、タイミングｔ6 で、バンク２０１ＢにおけるデータＢ4 （１）の書き込み動作と並行して、バンク２０１Ａにおいて、１番目のデータ線のプリチャージ動作が開始される。
【００５７】
そして、バンク２０１ＢにおけるデータＢ8 （１）の書き込み動作が終了したタイミングｔ9 で、バンク２０１Ａにおいて、１番目のデータ線を介して、データＡ5 （１），Ａ6 （１）が連続して書き込まれる。
【００５８】
また、ＤＲＡＭ１４７のバンク２０１Ａ，２０１Ｂの読み出し動作は、図２に示すメモリコントローラ３５０から入力したデータを分配・集配部４１０においてデータの並べ替え等（集配）を行う点と、図７に示す読み出し用ＦＩＦＯ回路４０１Ａ，４０１Ｂを用いる点とを除いて、前述した書き込み動作と同じである。
【００５９】
なお、バンク２０２Ａ，２０２Ｂ，２０２Ｃ，２０２Ｄ、読み出し用ＦＩＦＯ回路４０３Ａ，４０３Ｂ、書き込み用ＦＩＦＯ回路４０２Ａ，４０２Ｂおよび分配・集配部４１１は、基本的に、それぞれ前述したバンク２０１Ａ，２０１Ｂ，２０１Ｃ，２０１Ｄ、読み出し用ＦＩＦＯ回路４０１Ａ，４０１Ｂ、書き込み用ＦＩＦＯ回路４００Ａ，４００Ｂおよび分配・集配部４１０と同じである。
【００６０】
以上説明したように、図７に示すように、ＤＲＡＭ１４７の各バンク毎に書き込み用ＦＩＦＯ回路および読み出し用ＦＩＦＯ回路を１個ずつ設けたことで、前述した従来のＤＲＡＭのように複数のバンクで１つのＦＩＦＯ回路を設けた場合に比べて、データの書き込み時間および読み出し時間を短縮できる。
【００６１】
また、メモリモジュール２００，２１０，２２０，２３０は、例えば、図７に示す読み出し用ＦＩＦＯ回路４０３Ａ，４０３Ｂ、書き込み用ＦＩＦＯ回路４０２Ａ，４０２Ｂおよび分配・集配部４１１の代わりに、１個の入力ポートと２個の出力ポートとを有する書き込み用ＦＩＦＯ回路６００，６０２および２個の入力ポートと２個の出力ポートとを有する読み出し用ＦＩＦＯ回路６０１，６０３を用いて構成することも可能である。
この場合にも、書き込み用ＦＩＦＯ回路６００，６０２および読み出し用ＦＩＦＯ回路６０１，６０３においてデータの追い越しが可能になることから、例えば、図１０に示すパターンでＤＲＡＭ１４７のバンクにアクセスを行うことが可能になる。
【００６２】
ＤＤＡセットアップ回路１４１
ＤＤＡセットアップ回路１４１は、後段のトライアングルＤＤＡ回路１４２において物理座標系上の三角形の各頂点の値を線形補間して、三角形の内部の各画素の色と深さ情報を求めるに先立ち、ポリゴンレンダリングデータＳ１１が示す（ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）データについて、三角形の辺と水平方向の差分などを求めるセットアップ演算を行う。
このセットアップ演算は、具体的には、開始点の値と終点の値と、開始点と終点との距離を用いて、単位長さ移動した場合における、求めようとしている値の変分を算出する。
ＤＤＡセットアップ回路１４１は、算出した変分データＳ１４１をトライアングルＤＤＡ回路１４２に出力する。
【００６３】
トライアングルＤＤＡ回路１４２
トライアングルＤＤＡ回路１４２は、ＤＤＡセットアップ回路１４１から入力した変分データＳ１４１を用いて、三角形内部の各画素における線形補間された（ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）データを算出する。
トライアングルＤＤＡ回路１１は、各画素の（ｘ，ｙ）データと、当該（ｘ，ｙ）座標における（ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）データとを、ＤＤＡデータ（補間データ）Ｓ１４２としてテクスチャエンジン回路１４３に出力する。
例えば、トライアングルＤＤＡ回路１４２は、並行して処理を行う矩形内に位置する８（＝２×４）画素分のＤＤＡデータＳ１４２をテクスチャエンジン回路１４３に出力する。
【００６４】
テクスチャエンジン回路１４３
テクスチャエンジン回路１４３は、「ｓ／ｑ」および「ｔ／ｑ」の算出処理、テクスチャ座標データ（ｕ，ｖ）の算出処理、テクスチャバッファ１４７ａからの（Ｒ，Ｇ，Ｂ）データの読み出し処理等をパイプライン方式で行う。
なお、テクスチャエンジン回路１４３は、例えば所定の矩形内に位置する８画素についての処理を同時に並行して行う。
【００６５】
テクスチャエンジン回路１４３は、ＤＤＡデータＳ１４２が示す（ｓ，ｔ，ｑ）データについて、ｓデータをｑデータで除算する演算と、ｔデータをｑデータで除算する演算とを行う。
テクスチャエンジン回路１４３には、例えば図示しない除算回路が８個設けられており、８画素についての除算「ｓ／ｑ」および「ｔ／ｑ」が同時に行われる。
【００６６】
また、テクスチャエンジン回路１４３は、除算結果である「ｓ／ｑ」および「ｔ／ｑ」に、それぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥを乗じて、テクスチャ座標データ（ｕ，ｖ）を生成する。
また、テクスチャエンジン回路１４３は、メモリＩ／Ｆ回路１４４を介して、ＳＲＡＭ１４８あるいはＤＲＡＭ１４７に、生成したテクスチャ座標データ（ｕ，ｖ）を含む読み出し要求を出力し、メモリＩ／Ｆ回路１４４を介して、ＳＲＡＭ１４８あるいはテクスチャバッファ１４７ａに記憶されているテクスチャデータを読み出すことで、（ｓ，ｔ）データに対応したテクスチャアドレスに記憶された（Ｒ，Ｇ，Ｂ）データＳ１４８を得る。
ここで、ＳＲＡＭ１４８には、前述したようにテクスチャバッファ１４７ａに格納されているテクスチャデータが記憶される。
テクスチャエンジン回路１４３は、読み出した（Ｒ，Ｇ，Ｂ）データＳ１４８の（Ｒ，Ｇ，Ｂ）データと、前段のトライアングルＤＤＡ回路１４２からのＤＤＡデータＳ１４２に含まれる（Ｒ，Ｇ，Ｂ）データとを、それぞれ掛け合わせるなどして、カラーデータＳ１４３を生成する。
テクスチャエンジン回路１４３は、このカラーデータＳ１４３をメモリＩ／Ｆ回路１４４に出力する。
【００６７】
なお、テクスチャバッファ１４７ａには、ＭＩＰＭＡＰ（複数解像度テクスチャ）などの複数の縮小率に対応したテクスチャデータが記憶されている。ここで、何れの縮小率のテクスチャデータを用いるかは、所定のアルゴリズムを用いて、前記三角形単位で決定される。
【００６８】
テクスチャエンジン回路１４３は、フルカラー方式の場合には、テクスチャバッファ１４７ａから読み出した（Ｒ，Ｇ，Ｂ）データを直接用いる。
一方、テクスチャエンジン回路１４３は、インデックスカラー方式の場合には、あらかじめ作成したカラールックアップテーブル（ＣＬＵＴ）をテクスチャＣＬＵＴバッファ１４７ｄから読み出して、内蔵するＳＲＡＭに転送および記憶し、このカラールックアップテーブルを用いて、テクスチャバッファ１４７ａから読み出したカラーインデックスに対応する（Ｒ，Ｇ，Ｂ）データを得る。
【００６９】
メモリＩ／Ｆ回路１４４
メモリＩ／Ｆ回路１４４は、テクスチャエンジン回路１４３から入力したカラーデータＳ１４３に対応するｚデータと、ｚバッファ１４７ｃに記憶されているｚデータとの比較を行い、入力したカラーデータＳ１４３によって描画される画像が、前回、ディスプレイバッファ１４７ｂに書き込まれた画像より、手前（視点側）に位置するか否かを判断し、手前に位置する場合には、画像データＳ１４３に対応するｚデータでｚバッファ１４７ｃに記憶されたｚデータを更新する。また、メモリＩ／Ｆ回路１４４は、（Ｒ，Ｇ，Ｂ）データをディスプレイバッファ１４７ｂに書き込む。
さらに、メモリＩ／Ｆ回路１４４は、テクスチャエンジン回路１４３からのＳＲＡＭ１４８に、生成されたテクスチャ座標データ（ｕ，ｖ）を含む読み出し要求を受けた場合には、ＳＲＡＭ１４８に記憶された（Ｒ，Ｇ，Ｂ）データＳ１４８を読み出す。
また、メモリＩ／Ｆ回路１４４は、ＣＲＴコントロール回路１４５から表示データを読み出す要求を受けた場合には、この要求に応じて、ディスプレイバッファ１４７ｂから一定の固まり、例えば８画素あるいは１６画素単位で表示データを読み出す。
【００７０】
このように、メモリＩ／Ｆ回路１４４は、ＤＲＡＭ１４７およびＳＲＡＭ１４８へのアクセス（書き込みまたは読み出し）を行うが、書き込み経路と読み出し経路とが別経路として構成されている。
すなわち、書き込みの場合には書き込みアドレスＡＤＲＷとカラーデータＤＴＷが書き込み系回路で処理されてＤＲＡＭ１４７に書き込み、読み出しの場合には読み出し系回路で処理されてＤＲＡＭ１４７またはＳＲＡＭ１４８から読み出す。
そして、メモリＩ／Ｆ回路１４４は、所定のインターリーブ方式のアドレッシングに基づいてＤＲＡＭ１４７へのアクセスを、書き込みを１６画素単位、読み出しを８画素単位で行う。
【００７１】
以下に、メモリＩ／Ｆ回路１４４の具体的な構成例について、図２を参照しながら説明する。
【００７２】
メモリＩ／Ｆ回路１４４は、図２に示すように、ディストリビュータ３００、アドレスコンバータ３１０，３２０，３３０，３４０、メモリコントローラ３５０，３６０，３７０，３８０および読み出しコントローラ３９０を有する。
【００７３】
〔ディストリビュータ３００〕
ディストリビュータ３００は、書き込み時に、８画素分のカラーデータＤＴＷおよび書き込みアドレスＡＤＲＷを入力し、これらから１６画素分のカラーデータを生成した後に、各々４画素分のデータからなる４つの画像データＳ３０１，Ｓ３０２，Ｓ３０３，Ｓ３０４に分割し、その画像データおよび書き込みアドレスをそれぞれアドレスコンバータ３１０，３２０，３３０，３４０に出力する。ここで、１画素分の（Ｒ，Ｇ，Ｂ）データは各々３２ビット、ｚデータは３２ビットからなる。
【００７４】
〔アドレスコンバータ３１０，３２０，３３０，３４０〕
アドレスコンバータ３１０，３２０，３３０，３４０は、書き込み時に、ディストリビュータ３００から入力した（Ｒ，Ｇ，Ｂ）データおよびｚデータに対応したアドレスを、それぞれメモリモジュール２００，２１０，２２０，２３０内のアドレスに変換し、それぞれ変換したアドレスＳ３１０，Ｓ３２０，Ｓ３３０，Ｓ３４０と分割された画像データをメモリコントローラ３５０，３６０，３７０，３８０に出力する。
【００７５】
図１２は、このディストリビュータ３００の画像データ処理（ピクセル処理）を模式的に示す図である。
この図は、前述した図３〜図６に対応するものであり、ディストリビュータ３００は、ＤＲＡＭ１４７に対して、例えば２×８画素の１６画素についてのデータが同時にアクセス可能になるように画像データ処理を行う。
そして、読み出し動作では、Ｘ方向について８の倍数のバウンダリ、かつＹ方向について任意のバウンダリでの領域でアクセスを行い、書き込み動作では、Ｘ方向およびＹ方向について偶数のバウンダリの領域でアクセスを行うようなアドレッシングとなるように画像データの処理を行う。
これによりＤＲＡＭ１４７は、アクセスの先頭がメモリセル番号ＭＣＮ「１」，「２」，「３」にはならず、必ずメモリセル番号ＭＣＮ「０」となり、ページ違反の発生等が防止される。
また、ディストリビュータ３００は、各ＤＲＡＭモジュール２００〜２３０に対して、カラーデータを、表示領域において隣接した部分は、異なるＤＲＡＭモジュールとなる配置するとなるように画像データの処理を行う。
これにより、三角形のような平面を描画する場合には面で同時に処理できることになるため、それぞれのＤＲＡＭモジュールの動作確率は非常に高くなっている。
【００７６】
〔メモリコントローラ３５０，３６０，３７０，３８０〕
メモリコントローラ３５０，３６０，３７０，３８０は、それぞれ書き込み系配線群４０１Ｗ，４０２Ｗ，４１１Ｗ，４１２Ｗ，４２１Ｗ，４２２Ｗ，４３１Ｗ，４３２Ｗ、並びに読み出し系配線群４０１Ｒ，４０２Ｒ，４１１Ｒ，４１２Ｒ，４２１Ｒ，４２２Ｒ，４３１Ｒ，４３２Ｒを介してメモリモジュール２００，２１０，２２０，２３０に接続されており、書き込み時および読み出し時にメモリモジュール２００，２１０，２２０，２３０に対してのアクセスを制御する。
【００７７】
具体的には、書き込み時には、メモリコントローラ３５０，３６０，３７０，３８０は、ディストリビュータ３００から出力され、アドレスコンバータ３５０，３６０，３７０，３８０から入力した４画素分の（Ｒ，Ｇ，Ｂ）データおよびｚデータを、書き込み系配線群４０１Ｗ，４０２Ｗ，４１１Ｗ，４１２Ｗ，４２１Ｗ，４２２Ｗ，４３１Ｗ，４３２Ｗを介してメモリモジュール２００，２１０，２２０，２３０に同時に書き込む。
このとき、例えば、メモリモジュール２００では、前述したように、バンク２０１Ａ，２０１Ｂ，２０２Ａ，２０２Ｂの各々に、１画素分の（Ｒ，Ｇ，Ｂ）データおよびｚデータが記憶される。メモリモジュール２１０，２２０，２３０についても同じである。
【００７８】
また、各メモリコントローラ３５０，３６０，３７０，３８０は、自身のステートマシンがいわゆるアイドル（ＩＤＬＥ）状態にあるときに、アイドル信号Ｓ３５０，Ｓ３６０，Ｓ３７０，Ｓ３８０を読み出しコントローラ３９０にアクティブで出力し、このアイドル信号Ｓ３５０，Ｓ３６０，Ｓ３７０，Ｓ３８０に応答した読み出しコントローラ３９０による読み出しアドレスおよび読み出し要求信号Ｓ３９１を受けて、読み出し系配線群４０１Ｒ，４０２Ｒ，４１１Ｒ，４１２Ｒ，４２１Ｒ，４２２Ｒ，４３１Ｒ，４３２Ｒを介してデータの読み出しを行い、読み出し系配線群３５１，３６１，３７１，３８１、並びに配線群４４０を介して読み出しコントローラ３９０に出力する。
【００７９】
なお、本実施形態では、書き込み系配線群４０１Ｗ，４０２Ｗ，４１１Ｗ，４１２Ｗ，４２１Ｗ，４２２Ｗ，４３１Ｗ，４３２Ｗ、並びに読み出し系配線群４０１Ｒ，４０２Ｒ，４１１Ｒ，４１２Ｒ，４２１Ｒ，４２２Ｒ，４３１Ｒ，４３２Ｒの配線本数は１２８本（１２８ビット）、読み出し系配線群３５１，３６１，３７１，３８１の配線本数は２５６本（２５６ビット）、ならびに読み出し系配線群４４０の配線本数は１０２４本（１０２４ビット）である。
【００８０】
〔読み出しコントローラ３９０〕
読み出しコントローラ３９０は、アドレスコンバータ３９１およびデータ演算処理部３９２により構成されている。
アドレスコンバータ３９１は、読み出しアドレスＡＤＲＲを受けた場合、メモリコントローラ３５０，３６０，３７０，３８０からのアイドル信号Ｓ３５０，Ｓ３６０，Ｓ３７０，Ｓ３８０をすべてアクティブで受けると、このアイドル信号Ｓ３５０，Ｓ３６０，Ｓ３７０，Ｓ３８０に応答して、８画素単位で読み出しを行うように、読み出しアドレスおよび読み出し要求信号Ｓ３９１を各メモリコントローラ３５０，３６０，３７０，３８０に出力する。
データ演算部３９２は、読み出しアドレスおよび読み出し要求信号Ｓ３９１に応答して各メモリコントローラ３５０，３６０，３７０，３８０で読み出された８画素あるいは１６画素単位の、テクスチャデータ、（Ｒ，Ｇ，Ｂ）データ、ｚデータおよびテクスチャカラールックアップテーブルデータを配線群４４０を介して入力し、所定の演算処理を行って、データ並べ替え部４００でデータ並べ替えを行った後に、要求先、例えばテクスチャエンジン回路１４３またはＣＲＴコントロール回路１４５に出力する。
また、ＤＲＡＭ１４７の記憶領域内において一の矩形領域からデータを読み出して他の矩形領域に書き込む場合にも、読み出しコントローラ３９０、データ並べ替え部４００およびディストリビュータ３００を介してデータ転送が行われる。
【００８１】
読み出しコントローラ３９０は、上述したように、メモリコントローラ３５０，３６０，３７０，３８０のすべてがアイドル状態にあるときに、読み出しアドレスおよび読み出し要求信号Ｓ３９１をメモリコントローラ３５０，３６０，３７０，３８０に出力して読み出しデータを受けることから、読み出すデータの同期をとることができる。
したがって、読み出しコントローラ３９０は、データを一時的に保持するＦＩＦＯ(First In First Out)回路等の保持回路を設ける必要がなく、回路規模の縮小化が図られている。
【００８２】
ＣＲＴコントロール回路１４５
ＣＲＴコントロール回路１４５は、与えられた水平および垂直同期信号に同期して、図示しないＣＲＴに表示するアドレスを発生し、ディスプレイバッファ１４７ｂから表示データを読み出す要求をメモリＩ／Ｆ回路１４４に出力する。この要求に応じて、メモリＩ／Ｆ回路１４４は、ディスプレイバッファ１４７ｂから一定の固まりで表示データを読み出す。ＣＲＴコントローラ回路１４５は、ディスプレイバッファ１４７ｂから読み出した表示データを記憶するＦＩＦＯ回路を内蔵し、一定の時間間隔で、ＲＡＭＤＡＣ回路１４６に、ＲＧＢのインデックス値を出力する。
【００８３】
ＲＡＭＤＡＣ回路１４６
ＲＡＭＤＡＣ回路１４６は、各インデックス値に対応するＲ，Ｇ，Ｂデータを記憶しており、ＣＲＴコントローラ回路１４５から入力したＲＧＢのインデックス値に対応するデジタル形式のＲ，Ｇ，Ｂデータを、図示しないＤ／Ａコンバータ(Digital/Analog Converter)に転送し、アナログ形式のＲ，Ｇ，Ｂデータを生成する。ＲＡＭＤＡＣ回路１４６は、この生成されたＲ，Ｇ，ＢデータをＣＲＴに出力する。
【００８４】
以下、上述した３次元コンピュータグラフィックスシステム１０の全体動作を説明する。
３次元コンピュータグラフィックスシステム１０においては、グラフィックス描画等のデータは、メインプロセッサ１１のメインメモリ１２、あるいは外部からのグラフィックスデータを受けるＩ／Ｏインタフェース回路１３からメインバス１５を介してレンダリング回路１４に与えられる。
なお、必要に応じて、グラフィックス描画等のデータは、メインプロセッサ１１等において、座標変換、クリップ処理、ライティング処理等のジオメトリ処理が行われる。
ジオメトリ処理が終わったグラフィックスデータは、三角形の各３頂点の頂点座標ｘ，ｙ，ｚ、輝度値Ｒ，Ｇ，Ｂ、描画しようとしている画素と対応するテクスチャ座標ｓ，ｔ，ｑとからなるポリゴンレンダリングデータＳ１１となる。
【００８５】
このポリゴンレンダリングデータＳ１１は、レンダリング回路１４のＤＤＡセットアップ回路１４１に入力される。
ＤＤＡセットアップ回路１４１においては、ポリゴンレンダリングデータＳ１１に基づいて、三角形の辺と水平方向の差分などを示す変分データＳ１４１が生成される。具体的には、開始点の値と終点の値、並びに、その間の距離を用いて、単位長さ移動した場合における、求めようとしている値の変化分である変分が算出され、変分データＳ１４１としてトライアングルＤＤＡ回路１４２に出力される。
【００８６】
トライアングルＤＤＡ回路１４２においては、変分データＳ１４１を用いて、三角形内部の各画素における線形補間された（ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）データが算出される。
そして、この算出された（ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）データと、三角形の各頂点の（ｘ，ｙ）データとが、ＤＤＡデータＳ１４２として、トライアングルＤＤＡ回路１４２からテクスチャエンジン回路１４３に出力される。
【００８７】
テクスチャエンジン回路１４３においては、ＤＤＡデータＳ１４２が示す（ｓ，ｔ，ｑ）データについて、ｓデータをｑデータで除算する演算と、ｔデータをｑデータで除算する演算とが行われる。そして、除算結果「ｓ／ｑ」および「ｔ／ｑ」に、それぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥが乗算され、テクスチャ座標データ（ｕ，ｖ）が生成される。
【００８８】
次に、テクスチャエンジン回路１４３からメモリＩ／Ｆ回路１４４に対して生成されたテクスチャ座標データ（ｕ，ｖ）を含む読み出し要求が出力され、メモリＩ／Ｆ回路１４４を介して、ＳＲＡＭ１４８に記憶された（Ｒ，Ｇ，Ｂ）データＳ１４８が読み出される。
次に、テクスチャエンジン回路１４３において、読み出した（Ｒ，Ｇ，Ｂ）データＳ１４８の（Ｒ，Ｇ，Ｂ）データと、前段のトライアングルＤＤＡ回路１４２からのＤＤＡデータＳ１４２に含まれる（Ｒ，Ｇ，Ｂ）データとが掛け合わされ、画素データＳ１４３として生成される。
この画素データＳ１４３は、テクスチャエンジン回路１４３からメモリＩ／Ｆ回路１４４に出力される。
【００８９】
フルカラーの場合には、テクスチャバッファ１４７ａからのデータ（Ｒ，Ｇ，Ｂ）を直接用いればよいが、インデックスカラーの場合には、あらかじめ作成しておいたカラーインデックステーブル（Color Index Table ）のデータが、テクスチャＣＬＵＴ（Color Look Up Table)バッファ１４７ｄより、ＳＲＡＭ等で構成される一時保管バッファへ転送され、この一時保管バッファのＣＬＵＴを用いてカラーインデックスから実際のＲ，Ｇ，Ｂカラーが得られる。
なお、ＣＵＬＴがＳＲＡＭで構成された場合は、カラーインデックスをＳＲＡＭのアドレスに入力すると、その出力には実際のＲ，Ｇ，Ｂカラーが出てくるといった使い方となる。
【００９０】
そして、メモリＩ／Ｆ回路１４４において、テクスチャエンジン回路１４３から入力した画素データＳ１４３に対応するｚデータと、ｚバッファ１４７ｃに記憶されているｚデータとの比較が行われ、入力した画素データＳ１２によって描画される画像が、前回、ディスプレイバッファ２１に書き込まれた画像より、手前（視点側）に位置するか否かが判断される。
判断の結果、手前に位置する場合には、画像データＳ１４３に対応するｚデータでｚバッファ１４７ｃに記憶されたｚデータが更新される。
【００９１】
次に、メモリＩ／Ｆ回路１４４において、（Ｒ，Ｇ，Ｂ）データがディスプレイバッファ１４７ｂに書き込まれる。
これら書き込む（更新も含む）べきデータは、書き込み系回路である、ディストリビュータ３００、アドレスデコーダ３１０，３２０，３３０，３４０を介してメモリコントローラ３５０，３６０，３７０，３８０に供給され、メモリコントローラ３５０，３６０，３７０，３８０によって、それぞれ書き込み系配線群４０１Ｗ，４０２Ｗ，４１１Ｗ，４１２Ｗ，４２１Ｗ，４２２Ｗ，４３１Ｗ，４３２Ｗを介し所定のメモリに対して並列的に書き込まれる。
【００９２】
このとき、前述したように、図２に示すメモリモジュール２００，２１０，２２０，２３０の各々において、図７に示す分配・集配部４１０，４１１および書き込み用ＦＩＦＯ回路４００Ａ，４００Ｂ，４０２Ａ，４０２Ｂを介して、バンク２０１Ａ，２０１Ｂ，２０２Ａ，２０２Ｂ，２１１Ａ，２１１Ｂ，２１２Ａ，２１２Ｂ，２２１Ａ，２２１Ｂ，２２２Ａ，２２２Ｂ，２３１Ａ，２３１Ｂ，２３２Ａ，２３２Ｂに略同時にデータが書き込まれる。
【００９３】
メモリＩ／Ｆ回路１４４においては、今から描画しようとしている画素におけるテクスチャアドレスに対応したテクスチャを格納しているメモリブロックがそのテクスチャアドレスにより算出され、そのメモリブロックにのみ読みだし要求が出され、テクスチャデータが読み出される。
この場合、該当するテクスチャデータを保持していないメモリブロックにおいては、テクスチャ読み出しのためのアクセスが行われないため、描画により多くのアクセス時間を提供することが可能となっている。
【００９４】
描画においても同様に、今から描画しようとしている画素アドレスに対応する画素データを格納しているメモリブロックに対して、該当アドレスから画素データがモディファイ書き込み(Modify Write)を行うために読み出され、モディファイ後、同じアドレスへ書き戻される。
【００９５】
隠れ面処理を行う場合には、やはり同じように今から描画しようとしている画素アドレスに対応する奥行きデータを格納しているメモリブロックに対して、該当アドレスから奥行きデータがモディファイ書き込み(Modify Write)を行うために読み出され、必要ならばモディファイ後、同じアドレスへ書き戻される。
【００９６】
このようなメモリＩ／Ｆ回路１４４に基づくＤＲＡＭ１４７とのデータのやり取りにおいては、それまでの処理を複数並行処理することで、描画性能を向上させることができる。
特に、トライアングルＤＤＡ回路１４２とテクスチャエンジン１４３の部分を並列実行形式で、同じ回路に設ける（空間並列）か、または、パイプラインを細かく挿入する（時間並列）ことで、部分的に動作周波数を増加させるという手段により、複数画素の同時算出が行われる。
【００９７】
また、画素データは、メモリＩ／Ｆ回路１４４の制御のもと、表示領域において隣接した部分は、異なるＤＲＡＭモジュールとなるように配置される。
これにより、三角形のような平面を描画する場合には面で同時に処理される。このため、それぞれのＤＲＡＭモジュールの動作確率は非常に高い。
【００９８】
そして、図示しないＣＲＴに画像を表示する場合には、ＣＲＴコントロール回路１４５において、与えられた水平垂直同期周波数に同期して、表示アドレスが発生され、メモリＩ／Ｆ回路１４４へ表示データ転送の要求が出される。
メモリＩ／Ｆ回路１４４では、その要求に従い、一定のまとまった固まりで、表示データがＣＲＴコントロール回路１４５に転送される。
ＣＲＴコントロール回路１４５では、図示しないディスプレイ用ＦＩＦＯ(First In First Out)等にその表示データが貯えられ、一定の間隔でＲＡＭＤＡＣ１４６へＲＧＢのインデックス値が転送される。
【００９９】
なお、上述したようにメモリＩ／Ｆ回路１４４に対してＤＲＡＭ１４７あるいはＳＲＡＭ１４８に格納されているデータの読み出し要求があった場合、読み出しコントローラ３９０のアドレスコンバータ３９１に読み出しアドレスＡＤＲＲが入力される。
このとき、アドレスコンバータ３９１ではメモリコントローラ３５０，３６０，３７０，３８０からのアイドル信号Ｓ３５０，Ｓ３６０，Ｓ３７０，Ｓ３８０をすべてアクティブで入力された否かのチェックが行われる。そして、アイドル信号Ｓ３５０，Ｓ３６０，Ｓ３７０，Ｓ３８０がすべてアクティブで入力されると、アイドル信号Ｓ３５０，Ｓ３６０，Ｓ３７０，Ｓ３８０に応答して、８画素あるいは１６画素単位で読み出しを行うように、読み出しアドレスおよび読み出し要求信号Ｓ３９１が各メモリコントローラ３５０，３６０，３７０，３８０に出力される。
【０１００】
読み出しアドレスおよび読み出し要求信号Ｓ３９１を受けて、各メモリコントローラ３５０，３６０，３７０，３８０で８画素あるいは１６画素単位の、テクスチャデータ、（Ｒ，Ｇ，Ｂ）データ、ｚデータおよびテクスチャカラールックアップテーブルデータが読み出し系配線群４０１Ｒ，４０２Ｒ，４１１Ｒ，４１２Ｒ，４２１Ｒ，４２２Ｒ，４３１Ｒ，４３２Ｒを介して並列的に読み出され、さらに読み出し系配線群３５１，３６１，３７１，３８１，配線群４４０を介してデータ演算部３９２に入力される。
そして、データ演算部３９２で所定の演算処理が行われて、要求先、たとえばテクスチャエンジン回路１４３またはＣＲＴコントロール回路１４５に出力される。
【０１０１】
このとき、前述したように、図２に示すメモリモジュール２００，２１０，２２０，２３０の各々において、図７に示す読み出し用ＦＩＦＯ回路４０１Ａ，４０１Ｂ，４０３Ａ，４０３Ｂおよび分配・集配部４１０，４１１を介して、バンク２０１Ａ，２０１Ｂ，２０２Ａ，２０２Ｂ，２１１Ａ，２１１Ｂ，２１２Ａ，２１２Ｂ，２２１Ａ，２２１Ｂ，２２２Ａ，２２２Ｂ，２３１Ａ，２３１Ｂ，２３２Ａ，２３２Ｂから略同時にデータ読み出される。
【０１０２】
ＲＡＭＤＡＣ１４６においては、ＲＡＭ内部にＲＧＢのインデックスに対するＲＧＢ値が記憶されていて、インデックス値に対するＲＧＢ値が図示しないＤ／Ａコンバータへ転送される。
そして、Ｄ／Ａコンバータでアナログ信号に変換されたＲＧＢ信号がＣＲＴへ転送される。
【０１０３】
以上説明したように、３次元コンピュータグラフィックシステム１０によれば、図７に示すように、ＤＲＡＭ１４７の各バンク毎に書き込み用ＦＩＦＯ回路および読み出し用ＦＩＦＯ回路を１個ずつ設けたことで、前述した従来のＤＲＡＭのように複数のバンクで１つのＦＩＦＯ回路を設けた場合に比べて、データの書き込み時間および読み出し時間を短縮できる。
【０１０４】
また、本実施形態によれば、ＤＲＡＭ１４７およびＳＲＡＭ１４８へのアクセス（書き込みまたは読み出し）を行うメモリＩ／Ｆ回路１４４において、書き込み経路と読み出し経路とを別経路として構成し、書き込みの場合には書き込みアドレスＡＤＲＷとカラーデータＤＴＷを書き込み系回路であるデータ並べ替え部４００、ディストリビュータ３００、アドレスコンバータ３１０，３２０，３３０，３４０およびメモリコントローラ３５０，３６０，３７０，３８０で処理してＤＲＡＭ１４７に書き込み、読み出しの場合には読み出し系回路であるデータ並べ替え部４００、読み出しコントローラ３９０、メモリコントローラ３５０，３６０，３７０，３８０で処理してＤＲＡＭ１４７またはＳＲＡＭ１４８から読み出すことから、例えば読み出しの割り込みが入った時等に早いタイミングで切り替えることができ、読み出しの際の性能向上を図れる利点がある。
【０１０５】
また、メモリＩ／Ｆ回路１４４は、所定のインターリーブ方式のアドレッシングに基づいてＤＲＡＭ１４７へのアクセスを、例えば１６画素単位あるいは８画素単位で行い、アクセスを行う領域に制限を加えていることから、ペ−ジ違反を起こさない画像処理装置を実現できる。
【０１０６】
さらに、本実施形態によれば、半導体チップ内部に内蔵されたＤＲＡＭ１４７に、表示デ−タと少なくとも一つの図形要素が必要とするテクスチャデ−タを記憶させた構成を有することから、表示領域以外の部分にテクスチャデ−タを格納できることになり、内蔵ＤＲＡＭの有効利用が可能となり、高速処理動作、並びに低消費電力化を並立させるようにした画像処理装置が実現可能となる。
そして、単一メモリシステムを実現でき、すべてが内蔵された中だけで処理ができる。その結果、ア−キテクチャとしても大きなパラダイムシフトとなる。
また、メモリの有効利用ができることで、内部に持っているＤＲＡＭのみでの処理が可能となり、内部にあるがゆえのメモリと描画システムの間の大きなバンド幅が、十分に活用可能となる。また、ＤＲＡＭにおいても特殊な処理を組み込むことが可能となる。
【０１０７】
さらに、表示アドレス空間において、隣接するアドレスにおける表示要素が、それぞれ異なるＤＲＡＭのブロックになるように配置するので、さらにビット線の有効利用が可能となり、グラフィックス描画におけるような、比較的固まった表示領域へのアクセスが多い場合には、それぞれのモジュ−ルが同時に処理できる確率が増加し、描画性能の向上が可能となる。
【０１０８】
また、チップ内部にＤＲＡＭを内蔵することで、その高速なインタ−フェ−ス部分がチップの内部だけで完結することになるため、大きな付加容量のＩ／Ｏバッファであるとか、チップ間配線容量をドライブする必要がなくなり、消費電力は内蔵しない場合に比較して小さくなる。
よって、さまざまな技術を使って、一つのチップの中だけですべてができるような仕組みは、今後の携帯情報端末等の身近なデジタル機器のためには、必要不可欠な技術要素となっている。
【０１０９】
本発明は上述した実施形態には限定されない。
例えば、上述した実施形態では、図７に示すように、メモリモジュール２００，２１０，２２０，２３０において、各バンク毎に、書き込み用ＦＩＦＯ回路と読み出し用ＦＩＦＯ回路の双方を設けた場合を例示したが、書き込み動作と読み出し動作とは同時には行われないため、各バンク毎に、書き込み動作および読み出し動作の双方で共用される１個のＦＩＦＯ回路を設けてもよい。
また、図７に示す分配・集配部４１０，４１１の機能を、メモリコントローラ３５０，３６０，３７０，３８０に持たせてもよい。
また、図７に示すＳＲＡＭ１４８のバンク２０１Ｃ，２０１Ｄ，２０２Ｃ，２０２Ｄ，バンク２１１Ｃ，２１１Ｄ，２１２Ｃ，２１２Ｄ，２２１Ｃ，２２１Ｄ，２２２Ｃ，２２２Ｄ，バンク２３１Ｃ，２３１Ｄ，２３２Ｃ，２３２Ｄの各々に、読み出し用ＦＩＦＯ回路をそれぞれ設けてもよい。
【０１１０】
また、上述した図１に示す３次元コンピュータグラフィックスシステム１０では、ＳＲＡＭ１４８を用いる構成を例示したが、ＳＲＡＭ１４８を設けない構成にしてもよい。
【０１１１】
さらに、図１に示す３次元コンピュータグラフィックスシステム１０では、ポリゴンレンダリングデータを生成するジオメトリ処理を、メインプロセッサ１１で行う場合を例示したが、レンダリング回路１４で行う構成にしてもよい。
【０１１２】
【発明の効果】
以上説明したように、本発明の画像処理装置によれば、複数のバンクを有する第１の記憶回路へのアクセス速度を向上できる。
【図面の簡単な説明】
【図１】  本発明に係る３次元コンピュータグラフィックスシステムの構成を示すブロック図である。
【図２】  本発明に係るレンダリング回路におけるＤＲＡＭ、ＳＲＡＭ、並びに、ＤＲＡＭおよびＳＲＡＭへアクセスするメモリＩ／Ｆ回路の具体的な構成例を示すブロック図である。
【図３】  本発明に係るＤＲＡＭバッファの構成例を示す概略図である。
【図４】  テクスチャデータに含まれる同時にアクセスが行われるカラーデータを説明するための図である。
【図５】  テクスチャデータを構成する単位ブロックを説明するための図である。
【図６】  テクスチャバッファのアドレス空間を説明するための図である。
【図７】  図７は、図２に示すメモリモジュールの構成図である。
【図８】  図８は、図７に示すメモリモジュールに入力されるデータの一例である。
【図９】  図９は、図７に示す書き込み用ＦＩＦＯ回路に入力されるデータを説明するための図である。
【図１０】  図１０は、図７に示す各バンクへの図９に示すデータの書き込み動作を説明するための図である。
【図１１】  図１１は、図２に示すメモリモジュールのその他の構成図である。
【図１２】  本発明に係るメモリＩ／Ｆ回路におけるディストリビュータの画像データ処理を説明するための図である。
【図１３】  ３次元コンピュータグラフィックスシステムの基本的な概念を示すシステム構成図である。
【図１４】  図１３は、図１２に示すメモリとしてＤＲＡＭを用いた場合のバンク付近の構成図である。
【図１５】  図１５は、図１４に示す書き込み用ＦＩＦＯ回路に入力されるデータを説明するための図である。
【図１６】  図１６は、図１４に示す各バンクへの図１５に示すデータの書き込み動作を説明するための図である。
【符号の説明】
１０…３次元コンピュータグラフィックスシステム、１１…メインプロセッサ、１２…メインメモリ、１３…Ｉ／Ｏインタフェース回路、１４…レンダリング回路、１４１…ＤＤＡセットアップ回路、１４２…トライアングルＤＤＡ回路、１４３…テクスチャエンジン回路、１４４…メモリＩ／Ｆ回路、１４５…ＣＲＴコントローラ回路、１４６…ＲＡＭＤＡＣ回路、１４７…ＤＲＡＭ、１４７ａ…テクスチャバッファ、１４７ｂ…ディスプレイバッファ、１４７ｃ…ｚバッファ、１４７ｄ…テクスチャＣＬＵＴバッファ、１４８…ＳＲＡＭ、２００，２１０，２２０，２３０…メモリモジュール、２０１Ａ，２０１Ｂ，２０２Ａ，２０２Ｂ，２１１Ａ，２１１Ｂ，２１２Ａ，２１２Ｂ，２２１Ａ，２２１Ｂ，２２２Ａ，２２２Ｂ，２３１Ａ，２３１Ｂ，２３２Ａ，２３２Ｂ…バンク、３００…ディストリビュータ、３１０，３２０，３３０，３４０…アドレスデコーダ、３５０，３６０，３７０，３８０…メモリコントローラ、３９０…読み出しコントローラ、３９１…アドレスデコーダ、３９２…データ演算処理部、４１０，４１１…分配・集配部、４００Ａ，４００Ｂ，４０２Ａ，４０２Ｂ，６００，６０２…書き込み用ＦＩＦＯ回路、４０１Ａ，４０１Ｂ，４０３Ａ，４０３Ｂ，６０１，６０３…読み出し用ＦＩＦＯ回路、４２０…ＦＩＦＯコントローラ
【図１】
0004232234.tif 000002
【図２】
0004232234.tif 000003
【図３】
0004232234.tif 000004
【図４】
0004232234.tif 000005
【図５】
0004232234.tif 000006
【図６】
0004232234.tif 000007
【図７】
0004232234.tif 000008
【図８】
0004232234.tif 000009
【図９】
0004232234.tif 000010
【図１０】
0004232234.tif 000011
【図１１】
0004232234.tif 000012
【図１２】
0004232234.tif 000013
【図１３】
0004232234.tif 000014
【図１４】
0004232234.tif 000015
【図１５】
0004232234.tif 000016
【図１６】
0004232234.tif 000017