(57)【特許請求の範囲】
【請求項１】
マトリクス状に配置された複数の画素の色データを示す２次元画像データを記憶回路に記憶し、前記複数の画素の２次元配置に対応した２次元アドレス（Ｕ，Ｖ）を用いて前記記憶回路に記憶された前記２次元画像データにアクセスを行う記憶回路制御装置において、
ｎ（ｎは１以上の整数）ビットで表現された前記２次元アドレス（Ｕ，Ｖ）のＵアドレスと、ｍ（ｍは１以上の整数）ビットで表現された前記２次元アドレス（Ｕ，Ｖ）の前記Ｖアドレスとのそれぞれを構成するビットデータを組み合わせて、（ｎ＋ｍ）ビットの１次元アドレスを生成するアドレス生成手段と、
前記生成された１次元アドレスを用いて、前記記憶回路にアクセスを行うデータアクセス手段と
を有し、
前記整数ｍが、（ｎ−１）である場合に、
ｋを、０＜ｋ＜（ｎ−１）の整数とし、
前記Ｕアドレスを（Ｕ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕）のｎビットで表現し、
前記Ｖアドレスを（Ｖ〔ｎ−２〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕）の（ｎ−１）ビットで表現した場合に、
前記アドレス生成手段は、前記Ｕアドレスの各ビットデータＵ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕と、前記Ｖアドレスの各ビットデータＶ〔ｎ−２），．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕とを、組み合わせて、（２ｎ−１）ビットの１次元アドレス（Ｕ〔ｎ−１〕，Ｖ〔ｎ−２〕，Ｕ〔ｎ−２〕，．．，Ｖ〔ｋ〕，Ｕ〔ｋ〕，．．，Ｖ〔０〕，Ｕ〔０〕）を生成する
記憶回路制御装置。
【請求項２】
立体モデルを複数の単位図形の組み合わせで表現し、前記単位図形の内部に位置する各画素の画像データに含まれる同次座標（ｓ，ｔ）および同次項ｑに応じたアドレスを用いて、前記単位図形に張り付ける画像データであるテクスチャデータを記憶回路から読み出して単位図形に張り付けるグラフィック演算装置において、
複数のテクスチャデータを記憶した記憶回路と、
前記同次座標（ｓ，ｔ）を前記同次項ｑで除算した除算結果（ｓ／ｑ，ｔ／ｑ）に基づいて、ｎ（ｎは１以上の整数）ビットで表現されたＵアドレスと、ｍ（ｍは１以上の整数）ビットで表現された前記Ｖアドレスとからなる２次元アドレス（Ｕ，Ｖ）を生成する２次元アドレス生成手段と、
前記２次元アドレスのＵ，Ｖを構成するビットデータを組み合わせて、（ｎ＋ｍ）ビットの１次元アドレスを生成する１次元アドレス生成手段と、
前記生成された１次元アドレスを用いて、前記記憶回路から前記テクスチャデータを読み出し、前記単位図形に張り付けるデータ読み出し手段と
を有し、
前記整数ｎと前記整数ｍとが等しく、
ｋを、０＜ｋ＜（ｎ−１）の整数とし、
前記Ｕアドレスを（Ｕ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕）のｎビットで表現し、
前記Ｖアドレスを（Ｖ〔ｎ−１〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕）のｎビットで表現した場合に、
前記アドレス生成手段は、前記Ｕアドレスの各ビットデータＵ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕と、前記Ｖアドレスの各ビットデータＶ〔ｎ−１〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕とを、組み合わせて、２ｎビットの１次元アドレス（Ｖ〔ｎ−１〕，Ｕ〔ｎ−１〕，．．，Ｖ〔ｋ〕，Ｕ〔ｋ〕，．．，Ｖ〔０〕，Ｕ〔０〕）を生成する
グラフィック演算装置。
【請求項３】
立体モデルを複数の単位図形の組み合わせで表現し、前記単位図形の内部に位置する各画素の画像データに含まれる同次座標（ｓ，ｔ）および同次項ｑに応じたアドレスを用いて、前記単位図形に張り付ける画像データであるテクスチャデータを記憶回路から読み出して単位図形に張り付けるグラフィック演算装置において、
複数のテクスチャデータを記憶した記憶回路と、
前記同次座標（ｓ，ｔ）を前記同次項ｑで除算した除算結果（ｓ／ｑ，ｔ／ｑ）に基づいて、ｎ（ｎは１以上の整数）ビットで表現されたＵアドレスと、ｍ（ｍは１以上の整数）ビットで表現された前記Ｖアドレスとからなる２次元アドレス（Ｕ，Ｖ）を生成する２次元アドレス生成手段と、
前記２次元アドレスのＵ，Ｖを構成するビットデータを組み合わせて、（ｎ＋ｍ）ビットの１次元アドレスを生成する１次元アドレス生成手段と、
前記生成された１次元アドレスを用いて、前記記憶回路から前記テクスチャデータを読み出し、前記単位図形に張り付けるデータ読み出し手段と
を有し、
前記整数ｍが、（ｎ−１）である場合に、
ｋを、０＜ｋ＜（ｎ−１）の整数とし、
前記Ｕアドレスを（Ｕ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕）のｎビットで表現し、
前記Ｖアドレスを（Ｖ〔ｎ−２〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕）の（ｎ−１）ビットで表現した場合に、
前記アドレス生成手段は、前記Ｕアドレスの各ビットデータＵ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕と、前記Ｖアドレスの各ビットデータＶ〔ｎ−２），．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕とを、組み合わせて、（２ｎ−１）ビットの１次元アドレス（Ｕ〔ｎ−１〕，Ｖ〔ｎ−２〕，Ｕ〔ｎ−２〕，．．，Ｖ〔ｋ〕，Ｕ〔ｋ〕，．．，Ｖ〔０〕，Ｕ〔０〕）を生成する
グラフィック演算装置。
【請求項４】
ディスプレイに表示する形状を表現する基本単位となる単位図形に張り合わせるイメージデータであるテクスチャデータを記憶する記憶回路と、
前記単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを生成するポリゴンレンダリングデータ生成手段と、
前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の補間データを生成する補間データ生成手段と、
前記補間データに含まれる前記同次座標（ｓ，ｔ）を前記同次項ｑで除算した除算結果（ｓ／ｑ，ｔ／ｑ）に基づいて、ｎ（ｎは１以上の整数）ビットで表現されたＵアドレスと、ｍ（ｍは１以上の整数）ビットで表現された前記Ｖアドレスとからなる２次元アドレス（Ｕ，Ｖ）を生成する２次元アドレス生成手段と、
前記２次元アドレスのＵ，Ｖを構成するビットデータを組み合わせて、（ｎ＋ｍ）ビットの１次元アドレスを生成する１次元アドレス生成手段と、
前記生成された１次元アドレスを用いて、前記記憶回路から前記テクスチャデータを読み出し、前記単位図形に張り付けるデータ読み出し手段と
を有し、
前記整数ｎと前記整数ｍとが等しく、
ｋを、０＜ｋ＜（ｎ−１）の整数とし、
前記Ｕアドレスを（Ｕ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕）のｎビットで表現し、
前記Ｖアドレスを（Ｖ〔ｎ−１〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕）のｎビットで表現した場合に、
前記アドレス生成手段は、前記Ｕアドレスの各ビットデータＵ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕と、前記Ｖアドレスの各ビットデータＶ〔ｎ−１〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕とを、組み合わせて、２ｎビットの１次元アドレス（Ｖ〔ｎ−１〕，Ｕ〔ｎ−１〕，．．，Ｖ〔ｋ〕，Ｕ〔ｋ〕，．．，Ｖ〔０〕，Ｕ〔０〕）を生成する
グラフィック演算装置。
【請求項５】
ディスプレイに表示する形状を表現する基本単位となる単位図形に張り合わせるイメージデータであるテクスチャデータを記憶する記憶回路と、
前記単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを生成するポリゴンレンダリングデータ生成手段と、
前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の補間データを生成する補間データ生成手段と、
前記補間データに含まれる前記同次座標（ｓ，ｔ）を前記同次項ｑで除算した除算結果（ｓ／ｑ，ｔ／ｑ）に基づいて、ｎ（ｎは１以上の整数）ビットで表現されたＵアドレスと、ｍ（ｍは１以上の整数）ビットで表現された前記Ｖアドレスとからなる２次元アドレス（Ｕ，Ｖ）を生成する２次元アドレス生成手段と、
前記２次元アドレスのＵ，Ｖを構成するビットデータを組み合わせて、（ｎ＋ｍ）ビットの１次元アドレスを生成する１次元アドレス生成手段と、
前記生成された１次元アドレスを用いて、前記記憶回路から前記テクスチャデータを読み出し、前記単位図形に張り付けるデータ読み出し手段と
を有し、
前記整数ｍが、（ｎ−１）である場合に、
ｋを、０＜ｋ＜（ｎ−１）の整数とし、
前記Ｕアドレスを（Ｕ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕）のｎビットで表現し、
前記Ｖアドレスを（Ｖ〔ｎ−２〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕）の（ｎ−１）ビットで表現した場合に、
前記アドレス生成手段は、前記Ｕアドレスの各ビットデータＵ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕と、前記Ｖアドレスの各ビットデータＶ〔ｎ−２），．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕とを、組み合わせて、（２ｎ−１）ビットの１次元アドレス（Ｕ〔ｎ−１〕，Ｖ〔ｎ−２〕，Ｕ〔ｎ−２｝，．．，Ｖ〔ｋ〕，Ｕ〔ｋ〕，．．，Ｖ〔０〕，Ｕ〔０〕）を生成する
グラフィック演算装置。
【請求項６】
マトリクス状に配置された複数の画素の色データを示す２次元画像データを記憶回路に記憶し、前記複数の画素の２次元配置に対応した２次元アドレス（Ｕ，Ｖ）を用いて前記記憶回路に記憶された前記２次元画像データにアクセスを行う記憶回路制御方法において、
ｎ（ｎは１以上の整数）ビットで表現された前記２次元アドレス（Ｕ，Ｖ）のＵアドレスと、ｍ（ｍは１以上の整数）ビットで表現された前記２次元アドレス（Ｕ，Ｖ）の前記Ｖアドレスとのそれぞれを構成するビットデータを組み合わせて、（ｎ＋ｍ）ビットの１次元アドレスを生成し、
前記生成された１次元アドレスを用いて、前記記憶回路にアクセスを行う
記憶回路制御方法であって、
前記整数ｍが、（ｎ−１）である場合に、
ｋを、０＜ｋ＜（ｎ−１）の整数とし、
前記Ｕアドレスを（Ｕ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕）のｎビットで表現し、
前記Ｖアドレスを（Ｖ〔ｎ−２〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕）の（ｎ−１）ビットで表現した場合に、
前記Ｕアドレスの各ビットデータＵ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕と、前記Ｖアドレスの各ビットデータＶ〔ｎ−２），．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕とを、組み合わせて、（２ｎ−１）ビットの１次元アドレス（Ｕ〔ｎ−１〕，Ｖ〔ｎ−２〕，Ｕ〔ｎ−２｝，．．，Ｖ〔ｋ〕，Ｕ〔ｋ〕，．．，Ｖ〔０〕，Ｕ〔０〕）を生成する
記憶回路制御方法。
【請求項７】
立体モデルを複数の単位図形の組み合わせで表現し、前記単位図形の内部に位置する各画素の画像データに含まれる同次座標（ｓ，ｔ）および同次項ｑに応じたアドレスを用いて、前記単位図形に張り付ける画像データであるテクスチャデータを記憶回路から読み出して単位図形に張り付けるグラフィック演算方法において、
複数のテクスチャデータを記憶回路に記憶し、
前記同次座標（ｓ，ｔ）を前記同次項ｑで除算した除算結果（ｓ／ｑ，ｔ／ｑ）に基づいて、ｎ（ｎは１以上の整数）ビットで表現されたＵアドレスと、ｍ（ｍは１以上の整数）ビットで表現された前記Ｖアドレスとからなる２次元アドレス（Ｕ，Ｖ）を生成し、
前記２次元アドレスのＵ，Ｖを構成するビットデータを組み合わせて、（ｎ＋ｍ）ビットの１次元アドレスを生成し、
前記生成された１次元アドレスを用いて、前記記憶回路から前記テクスチャデータを読み出し、前記単位図形に張り付ける
グラフィック演算方法であって、
前記整数ｎと前記整数ｍとが等しく、
ｋを、０＜ｋ＜（ｎ−１）の整数とし、
前記Ｕアドレスを（Ｕ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕）のｎビットで表現し、
前記Ｖアドレスを（Ｖ〔ｎ−１〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕）のｎビットで表現した場合に、
前記アドレス生成手段は、前記Ｕアドレスの各ビットデータＵ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕と、前記Ｖアドレスの各ビットデータＶ〔ｎ−１〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕とを、組み合わせて、２ｎビットの１次元アドレス（Ｖ〔ｎ−１〕，Ｕ〔ｎ−１〕，．．，Ｖ〔ｋ〕，Ｕ〔ｋ〕，．．，Ｖ〔０〕，Ｕ〔０〕）を生成する
グラフィック演算方法。
【請求項８】
立体モデルを複数の単位図形の組み合わせで表現し、前記単位図形の内部に位置する各画素の画像データに含まれる同次座標（ｓ，ｔ）および同次項ｑに応じたアドレスを用いて、前記単位図形に張り付ける画像データであるテクスチャデータを記憶回路から読み出して単位図形に張り付けるグラフィック演算方法において、
複数のテクスチャデータを記憶回路に記憶し、
前記同次座標（ｓ，ｔ）を前記同次項ｑで除算した除算結果（ｓ／ｑ，ｔ／ｑ）に基づいて、ｎ（ｎは１以上の整数）ビットで表現されたＵアドレスと、ｍ（ｍは１以上の整数）ビットで表現された前記Ｖアドレスとからなる２次元アドレス（Ｕ，Ｖ）を生成し、
前記２次元アドレスのＵ，Ｖを構成するビットデータを組み合わせて、（ｎ＋ｍ）ビットの１次元アドレスを生成し、
前記生成された１次元アドレスを用いて、前記記憶回路から前記テクスチャデータを読み出し、前記単位図形に張り付ける
グラフィック演算方法であって、
前記整数ｍが、（ｎ−１）である場合に、
ｋを、０＜ｋ＜（ｎ−１）の整数とし、
前記Ｕアドレスを（Ｕ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕）のｎビットで表現し、
前記Ｖアドレスを（Ｖ〔ｎ−２〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕）の（ｎ−１）ビットで表現した場合に、
前記Ｕアドレスの各ビットデータＵ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕と、前記Ｖアドレスの各ビットデータＶ〔ｎ−２），．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕とを、組み合わせて、（２ｎ−１）ビットの１次元アドレス（Ｕ〔ｎ−１〕，Ｖ〔ｎ−２〕，Ｕ〔ｎ−２｝，．．，Ｖ〔ｋ〕，Ｕ〔ｋ〕，．．，Ｖ〔０〕，Ｕ〔０〕）を生成する
グラフィック演算方法。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、例えば、テクスチャデータを記憶した記憶回路の記憶領域を効率的に使用できる記憶回路制御装置およびその方法と、グラフィック演算装置およびその方法とに関する。
【０００２】
【従来の技術】
種々のＣＡＤ(Computer Aided Design) システムや、アミューズメント装置などにおいて、コンピュータグラフィックスがしばしば用いられている。特に、近年の画像処理技術の進展に伴い、３次元コンピュータグラフィックスを用いたシステムが急速に普及している。
このような３次元コンピュータグラフィックスでは、マトリクス状に画素（ピクセル）を配置したＣＲＴ(Cathode Ray Tube)などのディスプレイに表示を行なうとき、レンダリング(Rendering) 処理を行なう。
このレンダリング処理は、各画素の色データを計算し、得られた色データを、当該画素に対応するディスプレイバッファ（フレームバッファ）に書き込む。レンダリング処理の手法の一つに、ポリゴン（Polygon)レンダリングがある。この手法では、立体モデルを三角形の単位図形（ポリゴン）の組み合わせとして表現しておき、このポリゴンを単位として描画を行なうことで、表示画面の色を決定する。
【０００３】
このようなポリゴンレンダリングを用いた３次元コンピュータグラフィックシステムでは、描画時に、テクスチャマッピン処理が行なわれる。このテクスチャマッピング処理は、三角形を単位として、イメージパターンを示すテクスチャデータをテクスチャバッファから読み出し、この読み出したテクスチャデータを立体モデルの表面に張り付け、リアリティの高い画像データを得るためのものである。
【０００４】
このテクスチャマッピング処理では、以下に示すように、イメージデータに応じたイメージを映し出す画素を特定する２次元のテクスチャアドレスを算出し、これをテクスチャアドレスを用いて、テクスチャバッファに記憶されたテクスチャデータを参照する。
具体的には、先ず、三角形の各頂点の同次座標（ｓ，ｔ）および同次項ｑを示す（ｓ1 ，ｔ1 ，ｑ1 ），（ｓ2 ，ｔ2 ，ｑ2 ），（ｓ3 ，ｔ3 ，ｑ3 ）から、三角形の内部の各画素の（ｓ，ｔ，ｑ）を線形補間して求める。
ここで、同次項ｑは、簡単にいうと、拡大縮小率を示している。
【０００５】
次に、各画素について、除算により、（ｓ／ｑ，ｔ／ｑ）を算出し、ｓ／ｑおよびｔ／ｑのそれぞれにテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥを乗じてテクスチャ座標データ（ｕ，ｖ）を生成する。
次に、テクスチャ座標データ（ｕ，ｖ）を、テクスチャバッファ上のテクスチャアドレス（Ｕ，Ｖ）に変換し、このテクスチャアドレス（Ｕ，Ｖ）を用いて、テクスチャバッファからテクスチャデータを読み出す。
【０００６】
上述した３次元コンピュータグラフィックシステムでは、テクスチャバッファをテクスチャアドレス（Ｕ，Ｖ）を用いて直接参照ができるように、テクスチャバッファの記憶領域に、テクスチャデータをＵ，Ｖ座標系に対応する２次元的な配置で記憶する場合がある。すなわち、２次元のテクスチャアドレス（Ｕ，Ｖ）を直接用いて、テクスチャバッファに記憶されたテクスチャデータにアクセスすることがある。この方法によれば、テクスチャデータにアクセスを行なう際の処理を簡単化できる。
しかしながら、この方法では、複数の種類のテクスチャデータをテクスチャバッファに記憶する場合に、記憶しようとするテクスチャデータのサイズと空き領域のサイズとの関係で、図１０に示すように、有効に活用できない空き領域が生じ、記憶領域を効率的に利用ができないという問題がある。
【０００７】
例えば、図１０に示すように、Ｕ，Ｖ方向のアドレス長が異なる複数のテクスチャデータ４００，４０１，４０２，４０３，４０６を、テクスチャアドレス（Ｕ，Ｖ）によって直接参照できるようにテクスチャバッファのアドレス空間に記憶すると、記憶しようとするテクスチャデータの２次元的なサイズと空き領域の２次元的なサイズとの関係で、テクスチャデータを記憶できない空き領域４１０，４１１が生じてしまう。
【０００８】
その結果、記憶するテクスチャデータのデータ量に比べて、非常に大きな記憶容量を持つテクスチャバッファを用いる必要があり、システムが大規模化および高価格化するという問題がある。
【０００９】
そのため、従来では、テクスチャバッファの記憶領域を効率的に利用するために、「物理アドレスＡ  ＝  Ｖ×（テクスチャの幅）＋Ｕ」に基づいて、２次元のテクスチャアドレス（Ｕ，Ｖ）から１次元の物理アドレスＡを算出し、この物理アドレスＡを用いて、テクスチャバッファにアクセスを行なっている。このようにすることで、図１１に示すように、テクスチャバッファの記憶領域に空き領域をつくることなく、テクスチャデータを記憶できる。
なお、「テクスチャの幅」は、テクスチャバッファのアドレス空間における、Ｕ方向のアドレス長を示している。
【００１０】
図１２は、従来の３次元コンピュータグラフィックシステムの部分構成図である。
図１２に示すように、テクスチャマッピング装置１０１に内蔵されたアドレス変換装置１０４において、上述したように、三角形の頂点の（ｓ1 ，ｔ1 ，ｑ1 ），（ｓ2 ，ｔ2 ，ｑ2 ），（ｓ3 ，ｔ3 ，ｑ3 ）から、各画素の物理アドレスＡが算出される。そして、当該算出された物理アドレスＡを用いて、テクスチャバッファ１０２からテクスチャマッピング装置１０１にテクスチャデータ（Ｒ，Ｇ，Ｂ，α）が読み出され、このテクスチャデータ（Ｒ，Ｇ，Ｂ，α）が立体モデルの表面に対応する画素に張り付けられ、描画データＳ１０１が生成される。この描画データＳ１０１は、ディスプレイバッファ１０３に書き込まれる。
【００１１】
また、高速な３次元コンピュータグラフィックシステムでは、例えば、図１３に示すように、それぞれアドレス変換装置１０４1 〜１０４n を内蔵したｎ個のテクスチャマッピング装置１０１1 〜１０１n を備え、ｎ個の画素について、テクスチャマッピング処理が同時に並行して行なわれ、描画データＳ１０１1 〜Ｓ１０１n がディスプレイバッファに同時に書き込まれる。
【００１２】
【発明が解決しようとする課題】
しかしながら、上述した３次元コンピュータグラフィックシステムでは、上述したように「物理アドレスＡ  ＝  Ｖ×（テクスチャの幅）＋Ｕ」を用いて、２次元のテクスチャアドレス（Ｕ，Ｖ）から、１次元の物理アドレスＡを生成するときに、「テクスチャの幅」に応じた乗算を行なう大規模な乗算回路が必要になる。その結果、システムが大規模化してしまうという問題がある。
特に、図１３に示すような、複数のテクスチャマッピング装置１０１1 〜１０１n を備えた場合には、回路規模の問題は深刻になる。
【００１３】
本発明は上述した従来技術の問題点に鑑みてなされ、小規模な回路構成で、テクスチャバッファの記憶領域を効率的に使用できる記憶回路制御装置およびグラフィック演算装置を提供することを目的とする。
また、本発明は、テクスチャバッファの記憶領域を効率的に使用できる記憶回路制御方法およびグラフィック演算方法を提供することを目的とする。
【００１４】
【課題を解決するための手段】
本発明によれば、マトリクス状に配置された複数の画素の色データを示す２次元画像データを記憶回路に記憶し、前記複数の画素の２次元配置に対応した２次元アドレス（Ｕ，Ｖ）を用いて前記記憶回路に記憶された前記２次元画像データにアクセスを行う記憶回路制御装置において、
ｎ（ｎは１以上の整数）ビットで表現された前記２次元アドレス（Ｕ，Ｖ）のＵアドレスと、ｍ（ｍは１以上の整数）ビットで表現された前記２次元アドレス（Ｕ，Ｖ）の前記Ｖアドレスとのそれぞれを構成するビットデータを組み合わせて、（ｎ＋ｍ）ビットの１次元アドレスを生成するアドレス生成手段と、前記生成された１次元アドレスを用いて、前記記憶回路にアクセスを行うデータアクセス手段とを有し、
前記整数ｍが、（ｎ−１）である場合に、
ｋを、０＜ｋ＜（ｎ−１）の整数とし、
前記Ｕアドレスを（Ｕ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕）のｎビットで表現し、
前記Ｖアドレスを（Ｖ〔ｎ−２〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕）の（ｎ−１）ビットで表現した場合に、
前記アドレス生成手段は、前記Ｕアドレスの各ビットデータＵ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕と、前記Ｖアドレスの各ビットデータＶ〔ｎ−２），．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕とを、組み合わせて、（２ｎ−１）ビットの１次元アドレス（Ｕ〔ｎ−１〕，Ｖ〔ｎ−２〕，Ｕ〔ｎ−２〕，．．，Ｖ〔ｋ〕，Ｕ〔ｋ〕，．．，Ｖ〔０〕，Ｕ〔０〕）を生成する
記憶回路制御装置が提供される。
【００１５】
また本発明によれば、立体モデルを複数の単位図形の組み合わせで表現し、前記単位図形の内部に位置する各画素の画像データに含まれる同次座標（ｓ，ｔ）および同次項ｑに応じたアドレスを用いて、前記単位図形に張り付ける画像データであるテクスチャデータを記憶回路から読み出して単位図形に張り付けるグラフィック演算装置において、
複数のテクスチャデータを記憶した記憶回路と、前記同次座標（ｓ，ｔ）を前記同次項ｑで除算した除算結果（ｓ／ｑ，ｔ／ｑ）に基づいて、ｎ（ｎは１以上の整数）ビットで表現されたＵアドレスと、ｍ（ｍは１以上の整数）ビットで表現された前記Ｖアドレスとからなる２次元アドレス（Ｕ，Ｖ）を生成する２次元アドレス生成手段と、前記２次元アドレスのＵ，Ｖを構成するビットデータを組み合わせて、（ｎ＋ｍ）ビットの１次元アドレスを生成する１次元アドレス生成手段と、前記生成された１次元アドレスを用いて、前記記憶回路から前記テクスチャデータを読み出し、前記単位図形に張り付けるデータ読み出し手段とを有し、
前記整数ｎと前記整数ｍとが等しく、
ｋを、０＜ｋ＜（ｎ−１）の整数とし、
前記Ｕアドレスを（Ｕ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕）のｎビットで表現し、
前記Ｖアドレスを（Ｖ〔ｎ−１〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕）のｎビットで表現した場合に、
前記アドレス生成手段は、前記Ｕアドレスの各ビットデータＵ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕と、前記Ｖアドレスの各ビットデータＶ〔ｎ−１〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕とを、組み合わせて、２ｎビットの１次元アドレス（Ｖ〔ｎ−１〕，Ｕ〔ｎ−１〕，．．，Ｖ〔ｋ〕，Ｕ〔ｋ〕，．．，Ｖ〔０〕，Ｕ〔０〕）を生成する
グラフィック演算装置が提供される。
【００１６】
本発明によれば、立体モデルを複数の単位図形の組み合わせで表現し、前記単位図形の内部に位置する各画素の画像データに含まれる同次座標（ｓ，ｔ）および同次項ｑに応じたアドレスを用いて、前記単位図形に張り付ける画像データであるテクスチャデータを記憶回路から読み出して単位図形に張り付けるグラフィック演算装置において、
複数のテクスチャデータを記憶した記憶回路と、前記同次座標（ｓ，ｔ）を前記同次項ｑで除算した除算結果（ｓ／ｑ，ｔ／ｑ）に基づいて、ｎ（ｎは１以上の整数）ビットで表現されたＵアドレスと、ｍ（ｍは１以上の整数）ビットで表現された前記Ｖアドレスとからなる２次元アドレス（Ｕ，Ｖ）を生成する２次元アドレス生成手段と、前記２次元アドレスのＵ，Ｖを構成するビットデータを組み合わせて、（ｎ＋ｍ）ビットの１次元アドレスを生成する１次元アドレス生成手段と、前記生成された１次元アドレスを用いて、前記記憶回路から前記テクスチャデータを読み出し、前記単位図形に張り付けるデータ読み出し手段とを有し、
前記整数ｍが、（ｎ−１）である場合に、
ｋを、０＜ｋ＜（ｎ−１）の整数とし、
前記Ｕアドレスを（Ｕ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕）のｎビットで表現し、
前記Ｖアドレスを（Ｖ〔ｎ−２〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕）の（ｎ−１）ビットで表現した場合に、
前記アドレス生成手段は、前記Ｕアドレスの各ビットデータＵ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕と、前記Ｖアドレスの各ビットデータＶ〔ｎ−２），．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕とを、組み合わせて、（２ｎ−１）ビットの１次元アドレス（Ｕ〔ｎ−１〕，Ｖ〔ｎ−２〕，Ｕ〔ｎ−２〕，．．，Ｖ〔ｋ〕，Ｕ〔ｋ〕，．．，Ｖ〔０〕，Ｕ〔０〕）を生成する
グラフィック演算装置が提供される。
【００１７】
本発明によれば、ディスプレイに表示する形状を表現する基本単位となる単位図形に張り合わせるイメージデータであるテクスチャデータを記憶する記憶回路と、
前記単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを生成するポリゴンレンダリングデータ生成手段と、前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の補間データを生成する補間データ生成手段と、前記補間データに含まれる前記同次座標（ｓ，ｔ）を前記同次項ｑで除算した除算結果（ｓ／ｑ，ｔ／ｑ）に基づいて、ｎ（ｎは１以上の整数）ビットで表現されたＵアドレスと、ｍ（ｍは１以上の整数）ビットで表現された前記Ｖアドレスとからなる２次元アドレス（Ｕ，Ｖ）を生成する２次元アドレス生成手段と、前記２次元アドレスのＵ，Ｖを構成するビットデータを組み合わせて、（ｎ＋ｍ）ビットの１次元アドレスを生成する１次元アドレス生成手段と、前記生成された１次元アドレスを用いて、前記記憶回路から前記テクスチャデータを読み出し、前記単位図形に張り付けるデータ読み出し手段とを有し、
前記整数ｎと前記整数ｍとが等しく、
ｋを、０＜ｋ＜（ｎ−１）の整数とし、
前記Ｕアドレスを（Ｕ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕）のｎビットで表現し、
前記Ｖアドレスを（Ｖ〔ｎ−１〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕）のｎビットで表現した場合に、
前記アドレス生成手段は、前記Ｕアドレスの各ビットデータＵ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕と、前記Ｖアドレスの各ビットデータＶ〔ｎ−１〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕とを、組み合わせて、２ｎビットの１次元アドレス（Ｖ〔ｎ−１〕，Ｕ〔ｎ−１〕，．．，Ｖ〔ｋ〕，Ｕ〔ｋ〕，．．，Ｖ〔０〕，Ｕ〔０〕）を生成する
グラフィック演算装置が提供される。
【００１８】
また本発明によれば、ディスプレイに表示する形状を表現する基本単位となる単位図形に張り合わせるイメージデータであるテクスチャデータを記憶する記憶回路と、前記単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを生成するポリゴンレンダリングデータ生成手段と、前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の補間データを生成する補間データ生成手段と、前記補間データに含まれる前記同次座標（ｓ，ｔ）を前記同次項ｑで除算した除算結果（ｓ／ｑ，ｔ／ｑ）に基づいて、ｎ（ｎは１以上の整数）ビットで表現されたＵアドレスと、ｍ（ｍは１以上の整数）ビットで表現された前記Ｖアドレスとからなる２次元アドレス（Ｕ，Ｖ）を生成する２次元アドレス生成手段と、前記２次元アドレスのＵ，Ｖを構成するビットデータを組み合わせて、（ｎ＋ｍ）ビットの１次元アドレスを生成する１次元アドレス生成手段と、前記生成された１次元アドレスを用いて、前記記憶回路から前記テクスチャデータを読み出し、前記単位図形に張り付けるデータ読み出し手段とを有し、
前記整数ｍが、（ｎ−１）である場合に、
ｋを、０＜ｋ＜（ｎ−１）の整数とし、
前記Ｕアドレスを（Ｕ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕）のｎビットで表現し、
前記Ｖアドレスを（Ｖ〔ｎ−２〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕）の（ｎ−１）ビットで表現した場合に、
前記アドレス生成手段は、前記Ｕアドレスの各ビットデータＵ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕と、前記Ｖアドレスの各ビットデータＶ〔ｎ−２），．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕とを、組み合わせて、（２ｎ−１）ビットの１次元アドレス（Ｕ〔ｎ−１〕，Ｖ〔ｎ−２〕，Ｕ〔ｎ−２｝，．．，Ｖ〔ｋ〕，Ｕ〔ｋ〕，．．，Ｖ〔０〕，Ｕ〔０〕）を生成する
グラフィック演算装置が提供される。
【００１９】
本発明によれば、マトリクス状に配置された複数の画素の色データを示す２次元画像データを記憶回路に記憶し、前記複数の画素の２次元配置に対応した２次元アドレス（Ｕ，Ｖ）を用いて前記記憶回路に記憶された前記２次元画像データにアクセスを行う記憶回路制御方法において、
ｎ（ｎは１以上の整数）ビットで表現された前記２次元アドレス（Ｕ，Ｖ）のＵアドレスと、ｍ（ｍは１以上の整数）ビットで表現された前記２次元アドレス（Ｕ，Ｖ）の前記Ｖアドレスとのそれぞれを構成するビットデータを組み合わせて、（ｎ＋ｍ）ビットの１次元アドレスを生成し、前記生成された１次元アドレスを用いて、前記記憶回路にアクセスを行う記憶回路制御方法であって、
前記整数ｍが、（ｎ−１）である場合に、
ｋを、０＜ｋ＜（ｎ−１）の整数とし、
前記Ｕアドレスを（Ｕ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕）のｎビットで表現し、
前記Ｖアドレスを（Ｖ〔ｎ−２〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕）の（ｎ−１）ビットで表現した場合に、
前記Ｕアドレスの各ビットデータＵ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕と、前記Ｖアドレスの各ビットデータＶ〔ｎ−２），．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕とを、組み合わせて、（２ｎ−１）ビットの１次元アドレス（Ｕ〔ｎ−１〕，Ｖ〔ｎ−２〕，Ｕ〔ｎ−２｝，．．，Ｖ〔ｋ〕，Ｕ〔ｋ〕，．．，Ｖ〔０〕，Ｕ〔０〕）を生成する
記憶回路制御方法が提供される。
【００２０】
本発明によれば、立体モデルを複数の単位図形の組み合わせで表現し、前記単位図形の内部に位置する各画素の画像データに含まれる同次座標（ｓ，ｔ）および同次項ｑに応じたアドレスを用いて、前記単位図形に張り付ける画像データであるテクスチャデータを記憶回路から読み出して単位図形に張り付けるグラフィック演算方法において、
複数のテクスチャデータを記憶回路に記憶し、前記同次座標（ｓ，ｔ）を前記同次項ｑで除算した除算結果（ｓ／ｑ，ｔ／ｑ）に基づいて、ｎ（ｎは１以上の整数）ビットで表現されたＵアドレスと、ｍ（ｍは１以上の整数）ビットで表現された前記Ｖアドレスとからなる２次元アドレス（Ｕ，Ｖ）を生成し、前記２次元アドレスのＵ，Ｖを構成するビットデータを組み合わせて、（ｎ＋ｍ）ビットの１次元アドレスを生成し、前記生成された１次元アドレスを用いて、前記記憶回路から前記テクスチャデータを読み出し、前記単位図形に張り付けるグラフィック演算方法であって、
前記整数ｎと前記整数ｍとが等しく、
ｋを、０＜ｋ＜（ｎ−１）の整数とし、
前記Ｕアドレスを（Ｕ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕）のｎビットで表現し、
前記Ｖアドレスを（Ｖ〔ｎ−１〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕）のｎビットで表現した場合に、
前記アドレス生成手段は、前記Ｕアドレスの各ビットデータＵ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕と、前記Ｖアドレスの各ビットデータＶ〔ｎ−１〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕とを、組み合わせて、２ｎビットの１次元アドレス（Ｖ〔ｎ−１〕，Ｕ〔ｎ−１〕，．．，Ｖ〔ｋ〕，Ｕ〔ｋ〕，．．，Ｖ〔０〕，Ｕ〔０〕）を生成する
グラフィック演算方法が提供される。
【００２１】
また本発明によれば、立体モデルを複数の単位図形の組み合わせで表現し、前記単位図形の内部に位置する各画素の画像データに含まれる同次座標（ｓ，ｔ）および同次項ｑに応じたアドレスを用いて、前記単位図形に張り付ける画像データであるテクスチャデータを記憶回路から読み出して単位図形に張り付けるグラフィック演算方法において、
複数のテクスチャデータを記憶回路に記憶し、前記同次座標（ｓ，ｔ）を前記同次項ｑで除算した除算結果（ｓ／ｑ，ｔ／ｑ）に基づいて、ｎ（ｎは１以上の整数）ビットで表現されたＵアドレスと、ｍ（ｍは１以上の整数）ビットで表現された前記Ｖアドレスとからなる２次元アドレス（Ｕ，Ｖ）を生成し、前記２次元アドレスのＵ，Ｖを構成するビットデータを組み合わせて、（ｎ＋ｍ）ビットの１次元アドレスを生成し、前記生成された１次元アドレスを用いて、前記記憶回路から前記テクスチャデータを読み出し、前記単位図形に張り付けるグラフィック演算方法であって、
前記整数ｍが、（ｎ−１）である場合に、
ｋを、０＜ｋ＜（ｎ−１）の整数とし、
前記Ｕアドレスを（Ｕ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕）のｎビットで表現し、
前記Ｖアドレスを（Ｖ〔ｎ−２〕，．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕）の（ｎ−１）ビットで表現した場合に、
前記Ｕアドレスの各ビットデータＵ〔ｎ−１〕，．．，Ｕ〔ｋ〕，．．，Ｕ〔０〕と、前記Ｖアドレスの各ビットデータＶ〔ｎ−２），．．，Ｖ〔ｋ〕，．．，Ｖ〔０〕とを、組み合わせて、（２ｎ−１）ビットの１次元アドレス（Ｕ〔ｎ−１〕，Ｖ〔ｎ−２〕，Ｕ〔ｎ−２｝，．．，Ｖ〔ｋ〕，Ｕ〔ｋ〕，．．，Ｖ〔０〕，Ｕ〔０〕）を生成する
グラフィック演算方法が提供される。
【００２６】
【発明の実施の形態】
以下、本実施形態においては、家庭用ゲーム機などに適用される、任意の３次元物体モデルに対する所望の３次元画像をＣＲＴなどのディスプレイ上に高速に表示する３次元コンピュータグラフィックシステムについて説明する。
図１は、本実施形態の３次元コンピュータグラフィックシステム１のシステム構成図である。
３次元コンピュータグラフィックシステム１は、立体モデルを単位図形である三角形（ポリゴン）の組み合わせとして表現し、このポリゴンを描画することで表示画面の各画素の色を決定し、ディスプレイに表示するポリゴンレンダリング処理を行うシステムである。
また、３次元コンピュータグラフィックシステム１では、平面上の位置を表現する（ｘ，ｙ）座標の他に、奥行きを表すｚ座標を用いて３次元モデルを表し、この（ｘ，ｙ，ｚ）の３つの座標で３次元空間の任意の一点を特定する。
【００２７】
図１に示すように、３次元コンピュータグラフィックシステム１は、メインメモリ２、Ｉ／Ｏインタフェース回路３、メインプロセッサ４およびレンダリング回路５が、メインバス６を介して接続されている。
以下、各構成要素の機能について説明する。
メインプロセッサ４は、例えば、ゲームの進行状況などに応じて、メインメモリ２から必要なグラフィックデータを読み出し、このグラフィックデータに対してクリッピング(Clipping)処理、ライティング(Lighting)処理およびジオメトリ(Geometry)処理などを行い、ポリゴンレンダリングデータを生成する。メインプロセッサ４は、ポリゴンレンダリングデータＳ４を、メインバス６を介してレンダリング回路５に出力する。
Ｉ／Ｏインタフェース回路３は、必要に応じて、外部からポリゴンレンダリングデータを入力し、これをメインバス６を介してレンダリング回路５に出力する。
【００２８】
ここで、ポリゴンレンダリングデータは、ポリゴンの各３頂点の（ｘ，ｙ，ｚ，Ｒ，Ｇ，Ｂ，α，ｓ，ｔ，ｑ，Ｆ）のデータを含んでいる。
ここで、（ｘ，ｙ，ｚ）データは、ポリゴンの頂点の３次元座標を示し、（Ｒ，Ｇ，Ｂ）データは、それぞれ当該３次元座標における赤、緑、青の輝度値を示している。
データαは、これから描画する画素と、ディスプレイバッファ２１に既に記憶されている画素とのＲ，Ｇ，Ｂデータのブレンド（混合）係数を示している。
（ｓ，ｔ，ｑ）データのうち、（ｓ，ｔ）は、対応するテクスチャの同次座標を示しており、ｑは同次項を示している。ここで、「ｓ／ｑ」および「ｔ／ｑ」に、それぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥを乗じてテクスチャ座標データ（ｕ，ｖ）が得られる。テクスチャバッファ２０に記憶されたテクスチャデータへのアクセスは、テクスチャ座標データ（ｕ，ｖ）を用いて行われる。
Ｆデータは、フォグのα値を示している。
すなわち、ポリゴンレンダリングデータは、三角形の各頂点の物理座標値と、それぞれの頂点の色とテクスチャおよびフォグの値のデータを示している。
【００２９】
以下、レンダリング回路５について詳細に説明する。
図１に示すように、レンダリング回路５は、ＤＤＡ(Digital Differential Anarizer) セットアップ回路１０、補間データ生成手段としてのトライアングルＤＤＡ回路１１、テクスチャエンジン回路１２、メモリＩ／Ｆ回路１３、ＣＲＴコントローラ回路１４、ＲＡＭＤＡＣ回路１５、ＤＲＡＭ１６およびＳＲＡＭ１７を有する。
ＤＲＡＭ１６は、記憶回路としてのテクスチャバッファ２０、ディスプレイバッファ２１、ｚバッファ２２およびテクスチャＣＬＵＴバッファ２３として機能する。
【００３０】
ＤＤＡセットアップ回路１０
ＤＤＡセットアップ回路１０は、後段のトライアングルＤＤＡ回路１１において物理座標系上の三角形の各頂点の値を線形補間して、三角形の内部の各画素の色と深さ情報を求めるに先立ち、ポリゴンレンダリングデータＳ４が示す（ｚ，Ｒ，Ｇ，Ｂ，α，ｓ，ｔ，ｑ，Ｆ）データについて、三角形の辺と水平方向の差分などを求めるセットアップ演算を行う。
このセットアップ演算は、具体的には、開始点の値と終点の値と、開始点と終点との距離を用いて、単位長さ移動した場合における、求めようとしている値の変分を算出する。
【００３１】
ＤＤＡセットアップ回路１０は、算出した変分データＳ１０をトライアングルＤＤＡ回路１１に出力する。
【００３２】
トライアングルＤＤＡ回路１１
トライアングルＤＤＡ回路１１は、ＤＤＡセットアップ回路１０から入力した変分データＳ１０を用いて、三角形内部の各画素における線形補間された（ｚ，Ｒ，Ｇ，Ｂ，α，ｓ，ｔ，ｑ，Ｆ）データを算出する。
トライアングルＤＤＡ回路１１は、各画素の（ｘ，ｙ）データと、当該（ｘ，ｙ）座標における（ｚ，Ｒ，Ｇ，Ｂ，α，ｓ，ｔ，ｑ，Ｆ）データとを、ＤＤＡデータＳ１１としてテクスチャエンジン回路１２に出力する。
本実施形態では、トライアングルＤＤＡ回路１１は、並行して処理を行う矩形内に位置する８（＝２×４）画素分を単位として、ＤＤＡデータＳ１１をテクスチャエンジン回路１２に出力する。
【００３３】
テクスチャエンジン回路１２
テクスチャエンジン回路１２は、テクスチャデータの縮小率の選択処理、「ｓ／ｑ」および「ｔ／ｑ」の算出処理、テクスチャ座標データ（ｕ，ｖ）の算出処理、２次元のテクスチャアドレス（Ｕ，Ｖ）の算出処理、１次元の物理アドレスＡの生成、テクスチャバッファ２０からの（Ｒ，Ｇ，Ｂ，ｔα）データの読み出し処理、および、混合処理（テクスチャαブレンディング処理）を順にパイプライン方式で行う。
このとき、テクスチャエンジン回路１２は、所定の矩形領域内に位置する８画素についての処理を同時に並行して行う。
【００３４】
図２は、テクスチャエンジン回路１２の構成図である。
図２に示すように、テクスチャエンジン回路１２は、縮小率演算回路３０４、テクスチャデータ読み出し回路３０５およびテクスチャαブレンド回路３０６を有する。
【００３５】
縮小率演算回路３０４は、ＤＤＡデータＳ１１に含まれる８画素分の（ｓ，ｔ，ｑ）データＳ１１ａ1 〜Ｓ１１ａ8 などを用いて、テクスチャデータの縮小率ｌｏｄを算出する。
ここで、縮小率は、元画像のテクスチャデータを、どの程度縮小したものであるかを示すものであり、元画像の縮小率を１／１とした場合には、１／２，１／４，１／８，．．．となる。
【００３６】
テクスチャバッファ２０には、例えば、図３に示すように、ｌｏｄ＝０，１，２，３，４のテクスチャデータ３２０，３２１，３２２，３２３が記憶されている。
なお、テクスチャバッファ２０の記憶領域のアドレス空間は、図３に示すように、Ｕ，Ｖ座標系で表現され、複数の縮小率に対応したテクスチャデータが記憶されている記憶領域の基準アドレス（開始アドレス）は、縮小率ｌｏｄに基づいて算出される。図７に示す例では、テクスチャデータ３２０，３２１，３２２，３２３の基準アドレスは、（ｕｂａｓｅ0 ，ｖｂａｓｅ0 ），（ｕｂａｓｅ1 ，ｖｂａｓｅ1 ），（ｕｂａｓｅ2 ，ｖｂａｓｅ2 ），（ｕｂａｓｅ3 ，ｖｂａｓｅ3 ）となる。
また、テクスチャバッファ２０に記憶されているテクスチャデータにおける各画素についてのテクスチャアドレス（Ｕ，Ｖ）は、基準アドレス（ｕｂａｓｅ，ｖｂａｓｅ）と、テクスチャ座標データ（ｕ，ｖ）とを加算したアドレスとなる。
【００３７】
〔テクスチャデータ読み出し回路３０５〕
テクスチャデータ読み出し回路３０５は、ＤＤＡデータＳ１１に含まれる８画素分の（ｓ，ｔ，ｑ）データＳ１１ａ1 〜Ｓ１１ａ8 と、縮小率演算回路３０４からの縮小率ｌｏｄと、テクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥとを入力し、８画素のそれぞれに対応した、テクスチャデータＳ１７1 〜Ｓ１７8 をテクスチャバッファ２０から読み出し、これをテクスチャαブレンド回路３０６に出力する。
【００３８】
図４はテクスチャデータ読み出し回路３０５の構成図である。図５は、テクスチャデータ読み出し回路３０５における処理のフローチャートである。
図４に示すように、テクスチャデータ読み出し回路３０５は、ｕ，ｖ算出回路５０１、Ｕ，Ｖ算出回路５０２、アドレス生成手段としての物理アドレス生成回路５０３およびデータアクセス手段としてのアクセス制御回路５０４を有する。ステップＳ２１：テクスチャデータ読み出し回路３０５では、先ず、ｕ，ｖ算出回路５０１において、８画素分の（ｓ，ｔ，ｑ）データＳ１１ａ1 〜Ｓ１１ａ8 のそれぞれについて、ｓデータをｑデータで除算する演算と、ｔデータをｑデータで除算する演算とを行い、除算結果「ｓ／ｑ」および「ｔ／ｑ」を算出する。
そして、除算結果「ｓ／ｑ」および「ｔ／ｑ」に、それぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥを乗じて、各画素に対応したテクスチャ座標データ（ｕ1 ，ｖ1 ）〜（ｕ8 ，ｖ8 ）を算出する。
【００３９】
ステップＳ２２：Ｕ，Ｖ算出回路５０２は、例えば、予め用意したアドレステーブルを参照して、縮小率ｌｏｄに対応する基準アドレス（ｕｂａｓｅ，ｖｂａｓｅ）を得る。
そして、Ｕ，Ｖ算出回路５０２は、基準アドレス（ｕｂａｓｅ  ，ｖｂａｓｅ）と、ｕ，ｖ算出回路５０１から入力したテクスチャ座標データ（ｕ1 ，ｖ1 ）〜（ｕ8 ，ｖ8 ）とを加算して、テクスチャバッファ２０の記憶領域を２次元のＵＶ座標系で表した場合のテクスチャアドレス（Ｕ1 ，Ｖ1 ）〜（Ｕ8 ，Ｖ8 ）を生成する。
本実施形態では、「ｉ」を「１≦ｉ≦８」の整数とした場合に、テクスチャアドレス（Ｕi ，Ｖi ）のＵi およびＶi は、それぞれ下記（１）および（２）に示す３ビットからなる。
【００４０】
【数１】
Ｕi ＝｛Ｕi 〔２〕，Ｕi 〔１〕，Ｕi 〔０〕｝          …（１）
【００４１】
【数２】
Ｖi ＝｛Ｖi 〔２〕，Ｖi 〔１〕，Ｖi 〔０〕｝          …（２）
【００４２】
ステップＳ２３：物理アドレス生成回路５０３は、Ｕ，Ｖ算出回路５０２から入力したテクスチャアドレス（Ｕ1 ，Ｖ1 ）〜（Ｕ8 ，Ｖ8 ）のそれぞれについて、Ｕi およびＶi を構成するビットを、下記（３）示すパターンで結合し、物理アドレスＡを生成する。この物理アドレスＡの生成は、簡単なビット入れ替え操作のみで実現されるため、小規模な回路構成で高速に行なうことができる。
【００４３】
【数３】
物理アドレスＡ＝（Ｖi 〔２〕，Ｕi 〔２〕，Ｖi 〔１〕，Ｕi 〔１〕，Ｖi 〔０〕，Ｕi 〔０〕）                                      …（３）
【００４４】
上記（３）に示す物理アドレスＡの生成は、図６で示される。図６において、縦軸Ｖが３ビットで示されるＶi の値を示し、横軸Ｕが３ビットで示されるＵi の値を示し、マトリクス状に配置された「０」〜「６３」が物理アドレスＡの値を示している。
すなわち、３ビットのＵi およびＶi で表されるマトリクス状に位置する２次元のテクスチャアドレス（Ｕi ，Ｖi ）は、上記式（３）によって、「０」〜「６３」の連続した１次元の物理アドレスＡに変換される。
但し、本発明では、Ｕi は２n （ｎは１以上の整数）ビットであり、Ｖi は２m （ｍは１以上の整数）ビット数であり、しかも、ｎ＝ｍ、あるいは、ｍ＝ｎ−１である。
【００４５】
上記式（３）の変換の具体例を、図６を参照していくつか例示する。
例えば、Ｕi ＝（０，１，０）、Ｖi ＝（１，０，０）である場合には、上記式（３）によって、物理アドレスＡ＝（１，０，０，１，０，０）となり、１０進数で表すと、「３６」となる。ここで、Ｕi ＝（０，１，０）＝２であり、Ｖi ＝（１，０，０）＝４であり、図６において、Ｕ＝２、Ｖ＝４の位置Ａは「３６」になっている。
また、Ｕi ＝（０，０，１）、Ｖi ＝（０，１，０）である場合には、上記式（３）によって、物理アドレスＡ＝（０，０，１，０，０，１）となり、１０進数で表すと、「９」となる。ここで、Ｕi ＝（０，０，１）＝１であり、Ｖi ＝（０，１，０）＝２であり、図６において、Ｕ＝１、Ｖ＝２の位置Ｂは「９」になっている。
【００４６】
ステップＳ２４：アクセス制御回路５０４は、物理アドレス生成回路５０３から入力した１次元の物理アドレスＡを、図１に示すメモリＩ／Ｆ回路１３を介して、テクスチャバッファ２０に出力し、テクスチャデータである（Ｒ，Ｇ，Ｂ，ｔα）データＳ１７1 〜Ｓ１７8 を読み出す。
なお、ＳＲＡＭ１７には、テクスチャバッファ２０に記憶されているテクスチャデータのコピーが記憶されており、テクスチャエンジン回路１２は、実際には、メモリＩ／Ｆ回路１３を介してＳＲＡＭ１７に記憶されているテクスチャデータを読み出す。
【００４７】
ステップＳ２５：アクセス制御回路５０４は、ステップＳ２４で読み出した（Ｒ，Ｇ，Ｂ，ｔα）データＳ１７1 〜Ｓ１７8 をテクスチャαブレンド回路３０６に出力する。
【００４８】
〔テクスチャαブレンド回路３０６〕
テクスチャαブレンド回路３０６は、ＤＤＡデータＳ１１に含まれる８画素分の（Ｒ，Ｇ，Ｂ）データＳ１１ｂ1 〜Ｓ１１ｂ8 と、テクスチャデータ読み出し回路３０５が読み出した（Ｒ，Ｇ，Ｂ，ｔα）データＳ１７1 〜Ｓ１７8 とを入力し、それぞれ（Ｒ，Ｇ，Ｂ）データＳ１１ｂ1 〜Ｓ１１ｂ8 と、データＳ１７1 〜Ｓ１７8 に含まれる（Ｒ，Ｇ，Ｂ）データとを、データＳ１７1 〜Ｓ１７8 に含まれるｔαで示される混合値で混合し、（Ｒ，Ｇ，Ｂ）データＳ３０６1 〜Ｓ３０６8 を生成する。
そして、ＤＤＡデータに含まれるαデータＳ１１ｄ1 〜Ｓ１１ｄ8 と、（Ｒ，Ｇ，Ｂ）データＳ３０６1 〜Ｓ３０６8 とが、（Ｒ，Ｇ，Ｂ，α）データＳ１２ａ1 〜Ｓ１２ａ8 として、メモリＩ／Ｆ回路１３に出力される。
【００４９】
なお、テクスチャエンジン回路１２は、フルカラー方式の場合には、テクスチャバッファ２０から読み出した（Ｒ，Ｇ，Ｂ，ｔα）データを直接用いる。一方、テクスチャエンジン回路１２は、インデックスカラー方式の場合には、予め作成したカラールックアップテーブル（ＣＬＵＴ）をテクスチャＣＬＵＴバッファ２３から読み出して、内蔵するＳＲＡＭに転送および記憶し、このカラールックアップテーブルを用いて、テクスチャバッファ２０から読み出したカラーインデックスに対応する（Ｒ，Ｇ，Ｂ）データを得る。
【００５０】
ＤＲＡＭ１６およびＳＲＡＭ１７
図７は、ＤＲＡＭ１６、ＳＲＡＭ１７、および、メモリＩ／Ｆ回路１３のＤＲＡＭ１６およびＳＲＡＭ１７へのアクセス機能を持つブロックの構成図である。図７に示すように、図１に示すＤＲＡＭ１６およびＳＲＡＭ１７は、メモリモジュール２００，２０１，２０２，２０３を有する。
メモリモジュール２００は、メモリ２１０，２１１を有する。
メモリ２１０は、ＤＲＡＭ１６の一部を構成するバンク２１０1 ，２１０2 と、ＳＲＡＭ１７の一部を構成するバンク２２０1 ，２２０2 とを有する。
また、メモリ２１１は、ＤＲＡＭ１６の一部を構成するバンク２１１1 ，２１１2 と、ＳＲＡＭ１７の一部を構成するバンク２２１1 ，２２１2 とを有する。
バンク２２０1 ，２２０2 ，２２１1 ，２２１2 に対しては同時アクセスが可能である。
なお、メモリモジュール２０１，２０２，２０２は、基本的に、メモリモジュール２００と同じ構成をしている。
【００５１】
ここで、メモリモジュール２００，２０１，２０２，２０３の各々は、図１に示すテクスチャバッファ２０、ディスプレイバッファ２１、Ｚバッファ２２およびテクスチャＣＬＵＴバッファ２３の全ての機能を持つ。
すなわち、メモリモジュール２００，２０１，２０２，２０３の各々は、対応する画素のテクスチャデータ、描画データ（（Ｒ，Ｇ，Ｂ）データ）、ｚデータおよびテクスチャカラールックアップテーブルデータの全てを記憶する。
但し、メモリモジュール２００，２０１，２０２，２０３は、相互で異なる画素についてのデータを記憶する。
ここで、同時に処理される１６画素についてのテクスチャデータ、描画データ、ｚデータおよびテクスチャカラールックアップテーブルデータが、相互に異なるバンク２１０1 ，２１０2 ，２１１1 ，２１１2 ，２１２1 ，２１２2 ，２１３1 ，２１３2 ，２１４1 ，２１４2 ，２１５1 ，２１５2 ，２１６1 ，２１６2 ，２１７1 ，２１７2 に記憶される。
これにより、ＤＲＡＭ１６に対して、１６画素についてのデータが同時にアクセス可能になる。
【００５２】
なお、バンク２２０1 ，２２０2 ，２２１1 ，２２１2 ，２２２1 ，２２２2 ，２２３1 ，２２３2 ，２２４1 ，２２４2 ，２２５1 ，２２５2 ，２２６1 ，２２６2 ，２２７1 ，２２７2 には、それぞれバンク２１０1 ，２１０2 ，２１１1 ，２１１2 ，２１２1 ，２１２2 ，２１３1 ，２１３2 ，２１４1 ，２１４2 ，２１５1 ，２１５2 ，２１６1 ，２１６2 ，２１７1 ，２１７2 に記憶されたテクスチャデータのコピーが記憶されている。
【００５３】
メモリＩ／Ｆ回路１３
また、メモリＩ／Ｆ回路１３は、テクスチャエンジン回路１２から入力した（Ｒ，Ｇ，Ｂ，α）データＳ１２ａ1 〜Ｓ１２ａ8 、すなわち画素データＳ１２ａに対応するｚデータと、ｚバッファ２２に記憶されているｚデータとの比較を行い、入力した画素データＳ１２ａによって描画される画像が、前回、ディスプレイバッファ２１に書き込まれた画像より、手前（視点側）に位置するか否かを判断し、手前に位置する場合には、画素データＳ１２ａに対応するｚデータでｚバッファ２２に記憶されたｚデータを更新する。
また、メモリＩ／Ｆ回路１３は、必要に応じて、画素データＳ１２ａに含まれる（Ｒ，Ｇ，Ｂ）データと、既にディスプレイバッファ２１に記憶されている（Ｒ，Ｇ，Ｂ）データとを、画素データＳ１２ａに対応するαデータが示す混合値で混合する、いわゆるαブレンディング処理を行い、混合後の（Ｒ，Ｇ，Ｂ）データをディスプレイバッファ２１に書き込む（打ち込む）。
【００５４】
メモリＩ／Ｆ回路１３は、ＤＲＡＭ１６に対して１６画素について同時にアクセスを行なう。
図７に示すように、メモリＩ／Ｆ回路１３は、メモリコントローラ２４０，２４１，２４２，２４３、アドレスコンバータ２５０，２５１，２５２，２５３、ディストリビュータ２６０および読み出しコントローラ２６２を有する。
【００５５】
ディストリビュータ２６０は、例えば、書き込み時に、１６画素分の（Ｒ，Ｇ，Ｂ）データを入力し、これらを、各々４画素分のデータからなる４つの画像データＳ２６０0 ，Ｓ２６０1 ，Ｓ２６０2 ，Ｓ２６０3 に分割し、それぞれをアドレスコンバータ２５０，２５１，２５２，２５３に出力する。
ここで、１画素分の（Ｒ，Ｇ，Ｂ）データおよびｚデータは、それぞれ３２ビットからなる。
【００５６】
アドレスコンバータ２５０，２５１，２５２，２５３は、書き込み時に、ディストリビュータ２６０から入力した（Ｒ，Ｇ，Ｂ）データおよびｚデータに対応したアドレスを、それぞれメモリモジュール２００，２０１，２０２，２０３内のアドレスに変換し、それぞれ変換したアドレスＳ２５０，Ｓ２５１，Ｓ２５２，Ｓ２５３をメモリコントローラ２４０に出力する。
【００５７】
メモリコントローラ２４０，２４１，２４２，２４３は、それぞれ配線群２７０，２７１，２７２，２７３を介してメモリモジュール２００，２０１，２０２，２０３に接続されており、書き込み時にメモリモジュール２００，２０１，２０２，２０３に対してのアクセスを制御する。
具体的には、メモリコントローラ２４０，２４１，２４２，２４３は、ディストリビュータ２６０から入力した４画素分の（Ｒ，Ｇ，Ｂ）データおよびｚデータを、配線群２７０，２７１，２７２，２７３を介してメモリモジュール２００，２０１，２０２，２０３に同時に書き込む。
このとき、例えば、メモリモジュール２００では、バンク２１０1 ，２１０2 ，２１０3 ，２１０4 の各々に、１画素分の（Ｒ，Ｇ，Ｂ）データおよびｚデータが記憶される。メモリモジュール２０１，２０２，２０３についても同じである。
なお、本実施形態では、配線群２７０，２７１，２７２，２７３の各々は、２５６ビットである。
【００５８】
読み出しコントローラ２６２は、配線群２８０を介してメモリモジュール２００，２０１，２０２，２０３と接続されており、読み出し時に、メモリモジュール２００，２０１，２０２，２０３から、８画素あるいは１６画素単位で、テクスチャデータ、（Ｒ，Ｇ，Ｂ）データ、ｚデータおよびテクスチャカラールックアップテーブルデータを配線群２８０を介して読み出す。
なお、本実施形態では、配線群２８０は、１０２４ビットである。
【００５９】
ＣＲＴコントローラ回路１４
ＣＲＴコントローラ回路１４は、与えられた水平および垂直同期信号に同期して、図示しないＣＲＴに表示するアドレスを発生し、ディスプレイバッファ２１から表示データを読み出す要求をメモリＩ／Ｆ回路１３に出力する。この要求に応じて、メモリＩ／Ｆ回路１３は、ディスプレイバッファ２１から一定の固まりで表示データを読み出す。ＣＲＴコントローラ回路１４は、ディスプレイバッファ２１から読み出した表示データを記憶するＦＩＦＯ(First In First Out)回路を内蔵し、一定の時間間隔で、ＲＡＭＤＡＣ回路１５に、ＲＧＢのインデックス値を出力する。
【００６０】
ＲＡＭＤＡＣ回路１５
ＲＡＭＤＡＣ回路１５は、各インデックス値に対応するＲ，Ｇ，Ｂデータを記憶しており、ＣＲＴコントローラ回路１４から入力したＲＧＢのインデックス値に対応するデジタル形式のＲ，Ｇ，Ｂデータを、Ｄ／Ａコンバータに転送し、アナログ形式のＲ，Ｇ，Ｂデータを生成する。ＲＡＭＤＡＣ回路１５は、この生成されたＲ，Ｇ，ＢデータをＣＲＴに出力する。
【００６１】
以下、３次元コンピュータグラフィックシステム１の動作について説明する。
図１に示す３次元コンピュータグラフィックシステム１では、ポリゴンレンダリングデータＳ４が、メインバス６を介してメインプロセッサ４からＤＤＡセットアップ回路１０に出力され、ＤＤＡセットアップ回路１０において、三角形の辺と水平方向の差分を示す変分データＳ１０が生成される。
そして、ＤＤＡセットアップ回路１０からトライアングルＤＤＡ回路１１に変分データＳ１０が出力される。
【００６２】
次に、トライアングルＤＤＡ回路１１において、変分データＳ１０に基づいて、三角形内部の各画素における線形補間された（ｚ，Ｒ，Ｇ，Ｂ，α，ｓ，ｔ，ｑ，Ｆ）が生成される。
そして、トライアングルＤＤＡ回路１１からテクスチャエンジン回路１２に、各画素の（ｘ，ｙ）データと、当該（ｘ，ｙ）座標における（ｚ，Ｒ，Ｇ，Ｂ，α，ｓ，ｔ，ｑ，Ｆ）データとが、ＤＤＡデータＳ１１として出力される。
【００６３】
次に、図２に示すテクスチャエンジン回路１２の縮小率演算回路３０４において、ＤＤＡデータＳ１１に含まれる８画素分の（ｓ，ｔ，ｑ）データＳ１１ａ1 〜Ｓ１１ａ8 を用いて、テクスチャデータの縮小率が算出され、この縮小率ｌｏｄがテクスチャデータ読み出し回路３０５に出力される。
【００６４】
次に、テクスチャデータ読み出し回路３０５において、図５に示すフローに基づいて、上記式（３）に基づいて生成された１次元の物理アドレスＡを用いて、テクスチャバッファ２０（ＳＲＡＭ１７）からテクスチャデータＳ１７1 〜Ｓ１７8 が読み出され、この読み出されたテクスチャデータＳ１７1 〜Ｓ１７8 が、テクスチャαブレンド回路３０６に出力される。
【００６５】
このとき、図７に示す読み出しコントローラ２６２からの制御によって、配線群２８０を介して、テクスチャデータＳ１７1 〜Ｓ１７8 を含む１６画素分のテクスチャデータが、ＳＲＡＭ１７を構成するバンク２２０1 ，２２０2 ，２２１1 ，２２１2 ，２２２1 ，２２２2 ，２２３1 ，２２３2 ，２２４1 ，２２４2 ，２２５1 ，２２５2 ，２２６1 ，２２６2 ，２２７1 ，２２７2 から読み出される。
【００６６】
次に、テクスチャαブレンド回路３０６において、（Ｒ，Ｇ，Ｂ）データＳ１１ｂ1 〜Ｓ１１ｂ8 と、データＳ１７1 〜Ｓ１７8 に含まれる（Ｒ，Ｇ，Ｂ）データとが、データＳ１７1 〜Ｓ１７8 に含まれるｔαで示される混合値で混合され、（Ｒ，Ｇ，Ｂ）データＳ３０６1 〜Ｓ３０６8 が生成される。
そして、ＤＤＡデータに含まれるαデータＳ１１ｄ1 〜Ｓ１１ｄ8 と、（Ｒ，Ｇ，Ｂ）データＳ３０６1 〜Ｓ３０６8 とが、（Ｒ，Ｇ，Ｂ，α）データＳ１２ａ1 〜Ｓ１２ａ8 、すなわち、画素データＳ１２ａとして、メモリＩ／Ｆ回路１３に出力される。
【００６７】
そして、メモリＩ／Ｆ回路１３において、テクスチャエンジン回路１２から入力した画素データＳ１２ａに対応するｚデータと、ｚバッファ２２に記憶されているｚデータとの比較が行なわれ、入力した画素データＳ１２ａによって描画される画像が、前回、ディスプレイバッファ２１に書き込まれた画像より、手前（視点側）に位置するか否かが判断され、手前に位置する場合には、画像データＳ１２ａに対応するｚデータでｚバッファ２２に記憶されたｚデータが更新される。
【００６８】
次に、メモリＩ／Ｆ回路１３において、必要に応じて、画像データＳ１２ａに含まれる（Ｒ，Ｇ，Ｂ）データと、既にディスプレイバッファ２１に記憶されている（Ｒ，Ｇ，Ｂ）データとが、画素データＳ１２ａに対応するαデータが示す混合値で混合され、混合後の（Ｒ，Ｇ，Ｂ）データがディスプレイバッファ２１に書き込まれる。
【００６９】
このとき、図７に示すメモリコントローラ２４０，３４１，２４２，２４３からの制御によって、配線群２７０，２７１，２７２，２７３を介して、１６画素分の（Ｒ，Ｇ，Ｂ）データが、図１に示すディスプレイバッファ２１を構成するバンク２１０1 ，２１０2 ，２１１1 ，２１１2 ，２１２1 ，２１２2 ，２１３1 ，２１３2 ，２１４1 ，２１４2 ，２１５1 ，２１５2 ，２１６1 ，２１６2 ，２１７1 ，２１７2 に書き込まれる
【００７０】
以上説明したように、３次元コンピュータグラフィックシステム１によれば、テクスチャバッファ２０の２次元アドレス空間を示す２次元のテクスチャアドレス（Ｕ，Ｖ）のＵおよびＶを構成する各ビットを、上記式（３）に基づいて組み合わせることで、１次元の物理アドレスＡを生成できる。ここで、物理アドレスＡの生成は、簡単なビット操作で実現できることから、当該物理アドレスＡの生成を、小規模な回路構成で高速に実現できる。
また、１次元の物理アドレスを用いてテクスチャバッファ２０の連続した記憶領域にテクスチャを記憶できることから、図１０に示すような空き領域が生じることはなく、テクスチャバッファ２０の記憶領域を効率的に使用できる。その結果、テクスチャバッファ２０の記憶容量を小さくでき、装置の小規模化および低価格化を図れる。
【００７１】
本発明は上述した実施形態には限定されない。
例えば、上述した実施形態では、Ｕi およびＶi が共に３ビットである場合を例示したが、本発明は、Ｕi およびＶi が共に、ｎ＝２、あるいは、ｎ（ｎ≧４）ビットの場合にも適用可能である。
例えば、Ｕi およびＶi が、下記式（４），（５）に示すように、共に４ビットの場合には、下記式（５）によって１次元の物理アドレスＡが図８に示すように、生成される。
【００７２】
【数４】
Ｕi ＝｛Ｕi 〔３〕，Ｕi 〔２〕，Ｕi 〔１〕，Ｕi 〔０〕｝…（４）
【００７３】
【数５】
Ｖi ＝｛Ｖi 〔３〕，Ｖi 〔２〕，Ｖi 〔１〕，Ｖi 〔０〕｝  …（５）
【００７４】
【数６】
物理アドレスＡ＝（Ｖi 〔３〕，Ｕi 〔３〕，Ｖi 〔２〕，Ｕi 〔２〕，Ｖi 〔１〕，Ｕi 〔１〕，Ｖi 〔０〕，Ｕi 〔０〕）…（６）
【００７５】
また、Ｕi およびＶi のビット数が一致しなくてもよい。具体的には、Ｕi がｎビットのときに、Ｖi がｎ−１ビットであってもよい。
例えば、Ｕi およびＶi が、下記式（７），（８）に示すように、それぞれ３ビットおよび２ビットの場合には、下記式（９）によって１次元の物理アドレスＡが図９に示すように生成される。
【００７６】
【数７】
Ｕi ＝｛Ｕi 〔２〕，Ｕi 〔１〕，Ｕi 〔０〕｝…（７）
【００７７】
【数８】
Ｖi ＝｛Ｖi 〔１〕，Ｖi 〔０〕｝  …（８）
【００７８】
【数９】
物理アドレスＡ＝（Ｕi 〔３〕，Ｖi 〔２〕，Ｕi 〔２〕，Ｖi 〔１〕，Ｕi 〔１〕，Ｖi 〔０〕，Ｕi 〔０〕）…（９）
【００７９】
また、上述した実施形態では、同時に処理が実行される画素数を８としたが、この数は任意であり、例えば、４であってもよい。但し、同時に処理が実行される画素数は、２のべき乗であることが望ましい。
【００８０】
また、上述した図１に示す３次元コンピュータグラフィックシステム１では、ＳＲＡＭ１７を用いる構成を例示したが、ＳＲＡＭ１７を設けない構成にしてもよい。
また、図１に示すテクスチャバッファ２０およびテクスチャＣＬＵＴバッファ２３を、ＤＲＡＭ１６の外部に設けてもよい。
【００８１】
さらに、図１に示す３次元コンピュータグラフィックシステム１では、ポリゴンレンダリングデータを生成するジオメトリ処理を、メインプロセッサ４で行なう場合を例示したが、レンダリング回路５で行なう構成にしてもよい。
【００８２】
【発明の効果】
以上説明したように、本発明の記憶回路制御装置によれば、小規模な回路構成で、２次元画像データを記憶回路に効率的に記憶でき、記憶回路の記憶領域を有効利用できる。
また、本発明のグラフィック演算装置によれば、小規模な回路構成で、テクスチャデータを記憶回路に効率的に記憶でき、記憶回路の記憶領域を有効利用できる。
また、本発明の記憶回路制御方法によれば、２次元画像データを記憶回路に効率的に記憶でき、記憶回路の記憶領域を有効利用できる。
また、本発明のグラフィック演算方法によれば、テクスチャデータを記憶回路に効率的に記憶でき、記憶回路の記憶領域を有効利用できる。
また、本発明の記憶回路制御装置およびその方法と、グラフィック演算装置およびその方法とによれば、記憶回路にアクセスする際のアドレス変換を高速に行なうことができる。
【図面の簡単な説明】
【図１】図１は、本発明の実施形態の３次元コンピュータグラフィックシステムのシステム構成図である。
【図２】図２は、図１に示すテクスチャエンジン回路の内部構成図である。
【図３】図３は、図１に示すテクスチャバッファに記憶され、ＭＩＰＭＡＰフィルタリング処理された複数の縮小率のテクスチャデータを説明するための図である。
【図４】図４は、テクスチャデータ読み出し回路の構成図である。
【図５】図５は、図２に示すテクスチャデータ読み出し回路における処理のフローチャートである。
【図６】図６は、テクスチャエンジン回路において、２次元のテクスチャアドレス（Ｕi ，Ｖi ）から１次元の物理アドレスＡを生成する方法を説明するための図である。
【図７】図７は、図１に示すＤＲＡＭ、ＳＲＡＭ、および、メモリＩ／Ｆ回路のＤＲＡＭおよびＳＲＡＭへのアクセス機能を持つブロックの構成図である。
【図８】図８は、２次元のテクスチャアドレス（Ｕ，Ｖ）が共に、４ビットの場合における１次元の物理アドレスＡの生成方法を説明するための図である。
【図９】図９は、２次元のテクスチャアドレス（Ｕ，Ｖ）のＵが３ビットであり、Ｖが２ビットのである場合における１次元の物理アドレスＡの生成方法を説明するための図である。
【図１０】図１０は、２次元のテクスチャアドレス（Ｕ，Ｖ）を直接用いて、複数の種類のテクスチャデータをテクスチャバッファに記憶する場合の問題点を説明するための図である。
【図１１】図１１は、１次元の物理アドレスを用いて、複数の種類のテクスチャデータをテクスチャバッファに記憶したときの記憶状態を説明するための図である。
【図１２】図１２は、従来の３次元コンピュータグラフィックシステムの部分構成図である。
【図１３】図１３は、従来の高速処理が可能な３次元コンピュータグラフィックシステムの部分構成図である。
【符号の説明】
１…３次元コンピュータグラフィックシステム、２…メインメモリ、３…Ｉ／Ｏインタフェース回路、４…メインプロセッサ、５…レンダリング回路、１０…ＤＤＡセットアップ回路、１１…トライアングルＤＤＡ回路、１２…テクスチャエンジン回路、１３…メモリＩ／Ｆ回路、１４…ＣＲＴコントローラ回路、１５…ＲＡＭＤＡＣ回路、１６…ＤＲＡＭ、１７…ＳＲＡＭ、２０…テクスチャバッファ、２１…ディスプレイバッファ、２２…Ｚバッファ、２３…テクスチャＣＬＵＴバッファ、３０４…縮小率演算回路、３０５…テクスチャデータ読み出し回路、３０６…テクスチャαブレンド回路、２００，２０１，２０２，２０３…メモリモジュール、２１０，２１１，２１２，２１３，２１４，２１５，２１６，２１７…メモリ、２４０，２４１，２４２，２４３…メモリコントローラ、２５０，２５１，２５２，２５３…アドレスコンバータ、２６０…ディストリビュータ、２６２…読み出しコントローラ、２７０，２７１，２７２，２７３，２８０…配線群
【図１】
0004069486.tif 000002
【図２】
0004069486.tif 000003
【図３】
0004069486.tif 000004
【図４】
0004069486.tif 000005
【図５】
0004069486.tif 000006
【図６】
0004069486.tif 000007
【図７】
0004069486.tif 000008
【図８】
0004069486.tif 000009
【図９】
0004069486.tif 000010
【図１０】
0004069486.tif 000011
【図１１】
0004069486.tif 000012
【図１２】
0004069486.tif 000013
【図１３】
0004069486.tif 000014