(57)【特許請求の範囲】
【請求項１】
記憶回路から読み出したデータを補間して２次元上の所定位置の画素に対応する第１のテクスチャデータを生成し、記憶回路から読み出したデータを補間して前記画素に対応する第２のテクスチャデータを生成する補間処理を行う第１の画像処理回路と、
前記第１のテクスチャデータと第１の画像データとを第１の混合比率で混合して第２の画像データを生成する第１の混合処理を行い、前記第２の画像データをフィードバックし、前記第１の混合処理を行わない期間に、前記フィードバックされた第２の画像データと前記第２のテクスチャデータとを第２の混合比率で混合して第３の画像データを生成する第２の混合処理を行う第２の画像処理回路と、
を有し、
前記第２の画像処理回路は、
少なくとも２つのデータと混合比率とを入力し、前記入力した２つのデータが示す値を前記入力した混合比率に基づいて線形補間して新たなデータを生成する信号処理回路
を有し、
前記第１の混合処理を行う場合に、前記第１のテクスチャデータと、前記第１の画像データと、前記第１の混合比率とを前記信号処理回路に入力し、
前記第２の混合処理を行う場合に、前記第１の混合処理によって生成された前記第２の画像データと、前記第２のテクスチャデータと、前記第２の混合比率とを前記信号処理回路に入力する
画像処理装置。
【請求項２】
前記第１の画像処理回路は、前記補間処理を複数回繰り返して行い、
前記第２の画像処理回路は、前記第１の混合処理および前記第２の混合処理を順次複数回繰り返して行う
請求項１に記載の画像処理装置。
【請求項３】
前記第１の画像処理回路は、
前記生成した第１のテクスチャデータの前記第２の画像処理回路への出力に続いて、前記生成した第２のテクスチャデータの前記第２の画像処理回路への出力を行い、
前記第２の画像処理回路は、
前記第１の混合処理および前記第２の混合処理を行う混合処理回路と、
前記第１の画像処理回路から入力した前記第１のテクスチャデータと、前記第１の画像処理回路から入力した前記第２のテクスチャデータと、前記第１の画像データと、前記第１の混合処理によって生成された前記第２の画像データとを入力し、前記混合処理回路が前記第１の混合処理を行う場合に、前記入力した第１のテクスチャデータと前記第１の画像データとを選択して前記混合処理回路に出力し、前記混合処理回路が前記第２の混合処理を行う場合に、前記入力した第２の画像データと前記第２のテクスチャデータとを選択して前記混合処理回路に出力する選択回路と
を有する
請求項１に記載の画像処理装置。
【請求項４】
クロック信号を生成するクロック信号生成回路
をさらに有し、
前記第２の画像処理回路は、
前記クロック信号に基づいて、各々ｎ（ｎは自然数）クロックサイクル以内に行われる前記第１の混合処理および前記第２の混合処理を含むｍ（ｍは自然数）個の信号処理を順に、前段の信号処理の結果をフィードバックして後段の信号処理を行い、
前記第１の画像処理回路は、
前記クロック信号に基づいて、ｎ×ｍクロックサイクル以内に前記補間処理を行う
請求項１に記載の画像処理装置。
【請求項５】
前記第２の画像処理回路は、
前記第１の混合処理および前記第２の混合処理の処理時間の合計が、前記第１の画像処理回路が行う前記補間処理の処理時間に比べて長い場合に、前記補間処理の結果を入力するタイミングを調整するための指示を前記第１の画像処理回路に出力する
請求項１に記載の画像処理装置。
【請求項６】
前記第２の画像処理回路は、
各々所定のビット幅のデータＡ，Ｂと、所定のビット幅で０≦ＣＯＥ≦１を満たす値をとるデータＣＯＥを用いて、Ａ×ＣＯＥ＋Ｂ×（１−ＣＯＥ）に相当する演算を行い、上位所定ビットを演算結果として得る信号処理回路であって、
ＣＯＥ＝１の場合、補正データＦとして前記データＡを選択し、ＣＯＥ≠１の場合、前記補正データＦとして前記データＢを選択する補正データ選択回路と、
前記選択した補正データＦを用いて、Ａ×ＣＯＥ＋Ｂ×￣ＣＯＥ＋Ｆ（但し、￣ＣＯＥはＣＯＥのビット反転を示す）に相当する演算を行う演算回路と
を有する請求項１に記載の画像処理装置。
【請求項７】
前記第２の画像処理回路は、
ミップマップ処理、モジュレート処理、デカル処理、ハイライト処理、フォギング処理およびアルファブレンディング処理のうち少なくとも一の処理と、前記第１の混合処理および前記第２の混合処理とを選択的に行う
請求項１に記載の画像処理装置。
【請求項８】
少なくとも２つのデータと混合比率とを入力し、前記入力した２つのデータが示す値を前記入力した混合比率に基づいて線形補間して新たなデータを生成する信号処理回路
を有し、
第１のテクスチャデータと、第１の画像データと、第１の混合比率とを前記信号処理回路に入力し、前記第１のテクスチャデータと前記第１の画像データとを前記第１の混合比率で混合して第２の画像データを生成する第１の混合処理を行い、
前記第２の画像データをフィードバックし、
前記第１の混合処理を行わない期間に、前記第１の混合処理によって生成された前記第２の画像データと、第２のテクスチャデータと、第２の混合比率とを前記信号処理回路に入力し、前記フィードバックされた第２の画像データと前記第２のテクスチャデータとを前記第２の混合比率で混合して第３の画像データを生成する第２の混合処理を行う
画像処理装置。
【請求項９】
記憶回路から読み出されたデータを補間して得られた２次元上の所定位置の画素に対応する前記第１のテクスチャデータと、前記第１の画像データとを、第１の混合比率で混合して前記第２の画像データを生成する第１の混合処理を行い、
前記第１の混合処理を行わない期間に、前記フィードバックされた第２の画像データと、記憶回路から読み出されたデータを補間して得られた前記画素に対応する前記第２のテクスチャデータとを、第２の混合比率で混合して前記第３の画像データを生成する第２の混合処理を行う
請求項８に記載の画像処理装置。
【請求項１０】
前記第１のテクスチャデータと前記第２のテクスチャデータとを交互に入力し、
前記第１の混合処理と前記第２の混合処理とを交互に行う
請求項８に記載の画像処理装置。
【請求項１１】
記憶回路から読み出したデータを補間して２次元上の所定位置の画素に対応する第１のテクスチャデータを生成し、記憶回路から読み出したデータを補間して前記画素に対応する第２のテクスチャデータを生成する補間処理を行う第１の画像処理回路と、
前記第１のテクスチャデータと前記第２のテクスチャデータとを第１の混合比率で混合して第１の画像データを生成する第１の混合処理を行い、前記第１の画像データをフィードバックし、前記第１の混合処理を行わない期間に、前記フィードバックされた第１の画像データと第２の画像データとを第２の混合比率で混合して第３の画像データを生成する第２の混合処理を行う第２の画像処理回路と、
を有し、
前記第２の画像処理回路は、
少なくとも２つのデータと混合比率とを入力し、前記入力した２つのデータが示す値を前記入力した混合比率に基づいて線形補間して新たなデータを生成する信号処理回路
を有し、
前記第１の混合処理を行う場合に、前記第１のテクスチャデータと、前記第２のテクスチャデータと、前記第１の混合比率とを前記信号処理回路に入力し、
前記第２の混合処理を行う場合に、前記第１の混合処理によって生成された前記第１の画像データと、前記第２の画像データと、前記第２の混合比率とを前記信号処理回路に入力する
画像処理装置。
【請求項１２】
前記第１の画像処理回路は、前記補間処理を複数回繰り返して行い、
前記第２の画像処理回路は、前記第１の混合処理および前記第２の混合処理を順次複数回繰り返して行う
請求項１１に記載の画像処理装置。
【請求項１３】
前記第１の画像処理回路は、
前記生成した第１のテクスチャデータの前記第２の画像処理回路への出力に続いて、前記生成した第２のテクスチャデータの前記第２の画像処理回路への出力を行い、
前記第２の画像処理回路は、
前記第１の混合処理および前記第２の混合処理を行う混合処理回路と、
前記第１の画像処理回路から入力した前記第１のテクスチャデータを記憶する記憶回路と、
前記記憶回路から読み出された前記第１のテクスチャデータと、前記第１の画像処理回路から入力した前記第２のテクスチャデータと、前記第１の画像データと、前記第１の混合処理によって生成された前記第２の画像データとを入力し、前記混合処理回路が前記第１の混合処理を行う場合に、前記入力した第１のテクスチャデータと、前記入力した前記第２のテクスチャデータとを選択して前記混合処理回路に出力し、前記混合処理回路が前記第２の混合処理を行う場合に、前記入力した第１の画像データと前記入力した第２の画像データとを選択して前記混合処理回路に出力する選択回路と
を有する
請求項１１に記載の画像処理装置。
【請求項１４】
少なくとも２つのデータと混合比率とを入力し、前記入力した２つのデータが示す値を前記入力した混合比率に基づいて線形補間して新たなデータを生成する信号処理回路
を有し、
第１のテクスチャデータと、第２のテクスチャデータと、第１の混合比率とを前記信号処理回路に入力し、前記第１のテクスチャデータと前記第２のテクスチャデータとを前記第１の混合比率で混合して第１の画像データを生成する第１の混合処理を行い、
前記第１の画像データをフィードバックし、
前記第１の混合処理によって生成された前記第１の画像データと、第２の画像データと、第２の混合比率とを前記信号処理回路に入力し、前記第１の混合処理を行わない期間に、前記フィードバックされた第１の画像データと前記第２の画像データとを前記第２の混合比率で混合して第３の画像データを生成する第２の混合処理を行う
画像処理装置。
【請求項１５】
記憶回路から読み出されたデータを補間して得られた２次元上の所定位置の画素に対応する前記第１のテクスチャデータと、記憶回路から読み出されたデータを補間して得られた２次元上の所定位置の画素に対応する前記第２のテクスチャデータとを、第１の混合比率で混合して前記第１の画像データを生成する第１の混合処理を行い、
前記第１の混合処理を行わない期間に、前記フィードバックされた第１の画像データと、第２の画像データとを、第２の混合比率で混合して前記第３の画像データを生成する第２の混合処理を行う
請求項１４に記載の画像処理装置。
【請求項１６】
前記第１の混合処理と前記第２の混合処理とを交互に行う
請求項１４に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、レンダリング処理において、グラフィックデータに、複数のテクスチャデータを混合するマルチテクスチャ処理を行う画像処理装置に関する。
【０００２】
【従来の技術】
種々のＣＡＤ(Computer Aided Design) システムや、アミューズメント装置などにおいて、コンピュータグラフィックスがしばしば用いられている。特に、近年の画像処理技術の進展に伴い、３次元コンピュータグラフィックスを用いたシステムが急速に普及している。
このような３次元コンピュータグラフィックスでは、各画素（ピクセル）に対応する色を決定するときに、各画素の色の値を計算し、この計算した色の値を、当該画素に対応するディスプレイバッファ（フレームバッファ）のアドレスに書き込むレンダリング(Rendering) 処理を行う。
レンダリング処理の手法の一つに、ポリゴン（Polygon)レンダリングがある。
この手法では、立体モデルを三角形の単位図形（ポリゴン）の組み合わせとして表現しておき、このポリゴンを単位として描画を行なうことで、表示画面の色を決定する。
【０００３】
このようなレンダリング処理では、所定のグラフィック処理を経て生成された画像データに、テクスチャバッファから読み出した複数のテクスチャデータを所定の混合比で混合するマルチテクスチャ処理が行われている。
【０００４】
図１８は、マルチテクスチャ処理を行う従来の画像処理回路５００の構成図である。
図１８に示すように、画像処理回路５００は、演算回路５０１および５０２を有する。
演算回路５０１は、例えば、前段のグラフィック回路から入力したソースデータ５１１とテクスチャメモリから読み出したテクスチャデータ５１０とを、指定された混合比率で混合して画像データ５１３を生成し、画像データ５１３を後段の演算回路５０２に出力する。
演算回路５０２は、演算回路５０１から入力した画像データ５１３とテクスチャメモリから読み出したテクスチャデータ５１２とを、指定された混合比率で混合して画像データ５１４を生成し、これをフレームバッファメモリに書き込む。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述した従来の画像処理回路５００では、同じ構成の演算回路５０１と５０２とを２つ設けるため、大規模化するという問題点があれる。
また、上述した従来の画像処理回路５００では、テクスチャデータ５１０と５１２とを異なるクロックサイクルでテクスチャメモリから読み出しており、その結果、演算回路５０１と５０２との処理を並行して行うことができず、演算回路５０１と５０２とを直列に接続しても、パイプライン処理による処理時間の短縮を図ることはできない。
すなわち、画像処理回路５００では、テクスチャメモリへのアクセス制限により、パフォーマンス向上が図れないにも係わらず、演算回路５０１と５０２との２つの演算回路を直列にした大規模な構成を有している。
【０００６】
本発明は、上述した従来技術の問題点に鑑みて成され、従来に比べて規模を縮小できるマルチテクスチャ処理を行う画像処理装置を提供することを目的とする。
【０００７】
上述した従来技術の問題点を解決し、上述した目的を達成するために、第１の発明の画像処理装置は、記憶回路から読み出したデータを補間して２次元上の所定位置の画素に対応する第１のテクスチャデータを生成し、記憶回路から読み出したデータを補間して前記画素に対応する第２のテクスチャデータを生成する補間処理を行う第１の画像処理回路と、前記第１のテクスチャデータと第１の画像データとを第１の混合比率で混合して第２の画像データを生成する第１の混合処理を行い、前記第２の画像データをフィードバックし、前記第１の混合処理を行わない期間に、前記フィードバックされた第２の画像データと前記第２のテクスチャデータとを第２の混合比率で混合して第３の画像データを生成する第２の混合処理を行う第２の画像処理回路と、を有し、前記第２の画像処理回路は、少なくとも２つのデータと混合比率とを入力し、前記入力した２つのデータが示す値を前記入力した混合比率に基づいて線形補間して新たなデータを生成する信号処理回路を有し、前記第１の混合処理を行う場合に、前記第１のテクスチャデータと、前記第１の画像データと、前記第１の混合比率とを前記信号処理回路に入力し、前記第２の混合処理を行う場合に、前記第１の混合処理によって生成された前記第２の画像データと、前記第２のテクスチャデータと、前記第２の混合比率とを前記信号処理回路に入力する。
【０００９】
第１の発明の画像処理装置は、好ましくは、前記第１の画像処理回路は、前記生成した第１のテクスチャデータの前記第２の画像処理回路への出力に続いて、前記生成した第２のテクスチャデータの前記第２の画像処理回路への出力を行い、前記第２の画像処理回路は、前記第１の混合処理および前記第２の混合処理を行う混合処理回路と、前記第１の画像処理回路から入力した前記第１のテクスチャデータと、前記第１の画像処理回路から入力した前記第２のテクスチャデータと、前記第１の画像データと、前記第１の混合処理によって生成された前記第２の画像データとを入力し、前記混合処理回路が前記第１の混合処理を行う場合に、前記入力した第１のテクスチャデータと前記第１の画像データとを選択して前記混合処理回路に出力し、前記混合処理回路が前記第２の混合処理を行う場合に、前記入力した第２の画像データと前記第２のテクスチャデータとを選択して前記混合処理回路に出力する選択回路とを有する。
【００１０】
第１の発明の画像処理装置は、好ましくは、クロック信号を生成するクロック信号生成回路をさらに有し、前記第２の画像処理回路は、前記クロック信号に基づいて、各々ｎ（ｎは自然数）クロックサイクル以内に行われる前記第１の混合処理および前記第２の混合処理を含むｍ（ｍは自然数）個の信号処理を順に、前段の信号処理の結果をフィードバックして後段の信号処理を行い、前記第１の画像処理回路は、前記クロック信号に基づいて、ｎ×ｍクロックサイクル以内に前記補間処理を行う。
【００１１】
第１の発明の画像処理装置は、好ましくは、前記第２の画像処理回路は、前記第１の混合処理および前記第２の混合処理の処理時間の合計が、前記第１の画像処理回路が行う前記補間処理の処理時間に比べて長い場合に、前記補間処理の結果を入力するタイミングを調整するための指示を前記第１の画像処理回路に出力する。
【００１２】
第１の発明の画像処理装置は、好ましくは、前記第２の画像処理回路は、各々所定のビット幅のデータＡ，Ｂと、所定のビット幅で０≦ＣＯＥ≦１を満たす値をとるデータＣＯＥを用いて、Ａ×ＣＯＥ＋Ｂ×（１−ＣＯＥ）に相当する演算を行い、上位所定ビットを演算結果として得る信号処理回路であって、ＣＯＥ＝１の場合、補正データＦとして前記データＡを選択し、ＣＯＥ≠１の場合、前記補正データＦとして前記データＢを選択する補正データ選択回路と、前記選択した補正データＦを用いて、Ａ×ＣＯＥ＋Ｂ×￣ＣＯＥ＋Ｆ（但し、￣ＣＯＥはＣＯＥのビット反転を示す）に相当する演算を行う演算回路とを有する。
【００１３】
第１の発明の画像処理装置は、好ましくは、前記第２の画像処理回路は、ミップマップ処理、モジュレート処理、デカル処理、ハイライト処理、フォギング処理およびアルファブレンディング処理のうち少なくとも一の処理と、前記第１の混合処理および前記第２の混合処理とを選択的に行う。
【００１４】
第２の発明の画像処理装置は、少なくとも２つのデータと混合比率とを入力し、前記入力した２つのデータが示す値を前記入力した混合比率に基づいて線形補間して新たなデータを生成する信号処理回路を有し、第１のテクスチャデータと、第１の画像データと、第１の混合比率とを前記信号処理回路に入力し、前記第１のテクスチャデータと前記第１の画像データとを前記第１の混合比率で混合して第２の画像データを生成する第１の混合処理を行い、前記第２の画像データをフィードバックし、前記第１の混合処理を行わない期間に、前記第１の混合処理によって生成された前記第２の画像データと、第２のテクスチャデータと、第２の混合比率とを前記信号処理回路に入力し、前記フィードバックされた第２の画像データと前記第２のテクスチャデータとを前記第２の混合比率で混合して第３の画像データを生成する第２の混合処理を行う。
【００１５】
第２の発明の画像処理装置では、第１のテクスチャデータと第１の画像データとが入力される。
そして、当該画像処理装置において、第１の混合処理が行われ、第１のテクスチャデータと第１の画像データとが第１の混合比率で混合され、第２の画像データが生成される。
そして、当該生成された第２の画像データがフィードバックされ、当該画像処理装置に入力される。
次に、当該画像処理装置において、前記第１の混合処理を行わない期間に、第２の混合処理が行われ、前記フィードバックされた第２の画像データと第２のテクスチャデータとが第２の混合比率で混合され、第３の画像データを生成される。
このように、第２の発明の画像処理装置では、同じハードウェアを用いて、異なる時間に、第１の混合処理と第２の混合処理とが順に行われる。そのため、第１の混合処理および第２の混合処理をそれぞれ専用に行うハードウェアを設けた従来の装置に比べて小規模化が図れる。
【００１７】
第２の発明の画像処理装置は、好ましくは、記憶回路から読み出されたデータを補間して得られた２次元上の所定位置の画素に対応する前記第１のテクスチャデータと、前記第１の画像データとを、第１の混合比率で混合して前記第２の画像データを生成する第１の混合処理を行い、前記第１の混合処理を行わない期間に、前記フィードバックされた第２の画像データと、記憶回路から読み出されたデータを補間して得られた前記画素に対応する前記第２のテクスチャデータとを、第２の混合比率で混合して前記第３の画像データを生成する第２の混合処理を行う。
【００１８】
また、第３の発明の画像処理装置は、記憶回路から読み出したデータを補間して２次元上の所定位置の画素に対応する第１のテクスチャデータを生成し、記憶回路から読み出したデータを補間して前記画素に対応する第２のテクスチャデータを生成する補間処理を行う第１の画像処理回路と、前記第１のテクスチャデータと前記第２のテクスチャデータとを第１の混合比率で混合して第１の画像データを生成する第１の混合処理を行い、前記第１の画像データをフィードバックし、前記第１の混合処理を行わない期間に、前記フィードバックされた第１の画像データと第２の画像データとを第２の混合比率で混合して第３の画像データを生成する第２の混合処理を行う第２の画像処理回路と、を有し、前記第２の画像処理回路は、少なくとも２つのデータと混合比率とを入力し、前記入力した２つのデータが示す値を前記入力した混合比率に基づいて線形補間して新たなデータを生成する信号処理回路を有し、前記第１の混合処理を行う場合に、前記第１のテクスチャデータと、前記第２のテクスチャデータと、前記第１の混合比率とを前記信号処理回路に入力し、前記第２の混合処理を行う場合に、前記第１の混合処理によって生成された前記第１の画像データと、前記第２の画像データと、前記第２の混合比率とを前記信号処理回路に入力する。
【００１９】
また、第４の発明の画像処理装置は、少なくとも２つのデータと混合比率とを入力し、前記入力した２つのデータが示す値を前記入力した混合比率に基づいて線形補間して新たなデータを生成する信号処理回路を有し、第１のテクスチャデータと、第２のテクスチャデータと、第１の混合比率とを前記信号処理回路に入力し、前記第１のテクスチャデータと前記第２のテクスチャデータとを前記第１の混合比率で混合して第１の画像データを生成する第１の混合処理を行い、前記第１の画像データをフィードバックし、前記第１の混合処理によって生成された前記第１の画像データと、第２の画像データと、第２の混合比率とを前記信号処理回路に入力し、前記第１の混合処理を行わない期間に、前記フィードバックされた第１の画像データと前記第２の画像データとを前記第２の混合比率で混合して第３の画像データを生成する第２の混合処理を行う。
【００２０】
第４の発明の画像処理装置では、第１のテクスチャデータと第２のテクスチャデータとが入力される。
そして、当該画像処理装置において、第１の混合処理が行われ、第１のテクスチャデータと第２のテクスチャデータとが第１の混合比率で混合され、第１の画像データが生成される。
そして、当該生成された第１の画像データがフィードバックされ、当該画像処理装置に入力される。
次に、当該画像処理装置において、前記第１の混合処理を行わない期間に、第２の混合処理が行われ、前記フィードバックされた第１の画像データと第２の画像データとが第２の混合比率で混合され、第３の画像データを生成される。
このように、第４の発明の画像処理装置では、同じハードウェアを用いて、異なる時間に、第１の混合処理と第２の混合処理とが順に行われる。そのため、第１の混合処理および第２の混合処理をそれぞれ専用に行うハードウェアを設けた従来の装置に比べて小規模化が図れる。
【００２１】
【発明の実施の形態】
第１実施形態
図１は、本実施形態の画像処理装置２００の構成図である。
図１に示すように、画像処理装置２００は、例えば、ソースデータ生成回路２０１、テクスチャバッファメモリ２０２、フレームバッファメモリ２０３、メモリＩ／Ｆ回路２０４、ＤＡＣ回路２０５、テクスチャエンジン回路２０６および制御回路２０７を有する。
本実施形態は、第１の発明および第２の発明に対応した実施形態であり、テクスチャエンジン回路２０６が第１の発明の画像処理装置、並びに第２の発明の第２の画像処理回路に対応している。
【００２２】
ソースデータ生成回路２０１は、例えば、グラフィック回路であり、所定のグラフィック処理を行ってソースデータＳの（Ｒ，Ｇ，Ｂ）データであるＣpixels（本発明の第１の画像データ）を生成し、これをテクスチャエンジン回路２０６に出力する。
【００２３】
テクスチャバッファメモリ２０２は、例えば、図２に示すように、テクスチャデータＴＡ，ＴＢ，ＴＣを含む複数のテクスチャデータを記憶している。
【００２４】
フレームバッファメモリ２０３は、例えば、ＣＲＴ２１０に出力するフレーム画像データを記憶している。
メモリＩ／Ｆ回路２０４は、テクスチャエンジン回路２０６が生成した画像データＳ２０６を、フレーム画像データとしてフレームバッファメモリ２０３に記憶する。
また、メモリＩ／Ｆ回路２０４は、フレームバッファメモリ２０３から読み出したフレーム画像データをＤＡＣ回路２０５に出力する。
【００２５】
ＤＡＣ回路２０５は、メモリＩ／Ｆ回路２０４から入力したデジタルのフレーム画像データを、アナログのフレーム画像データに変換してＣＲＴ２１０に出力する。これにより、ＣＲＴ２１０が、フレーム画像データに応じたフレーム画像を表示する。
【００２６】
制御回路２０７は、画像処理装置２００の処理を統括して制御する。
【００２７】
テクスチャエンジン回路２０６は、ソースデータ生成回路２０１から入力したソースデータＳに、テクスチャバッファメモリ２０２から読み出した複数のテクスチャデータをそれぞれ所定の混合比率で混合して画像データＳ２０６を生成し、これをメモリＩ／Ｆ回路２０４に出力する。
具体的には、テクスチャエンジン回路２０６は、ソースデータ生成回路２０１から入力したソースデータＳと、テクスチャバッファメモリ２０２から読み出したテクスチャデータＴＡとを、所定の混合比率ＣＯＥS-TAで混合して画像データを生成する第１の混合処理を行う。
また、テクスチャエンジン回路２０６は、テクスチャバッファメモリ２０２から読み出したテクスチャデータＴＢと、第１の混合処理で生成された画像データとを所定の混合比率ＣＯＥT-TA-TB で混合して画像データＳ２０６を生成する第２の混合処理を行う。
第１の混合処理および第２の混合処理は、例えば、各画素毎に、当該画素のＲ，Ｇ，Ｂデータのそれぞれについて行われる。
【００２８】
テクスチャエンジン回路２０６は、ソースデータＳに混合する２つのテクスチャデータ（本実施形態では、テクスチャデータＴＡ，ＴＢ）を、例えば、以下のようにして特定する。
例えば、ソースデータ生成回路２０１から入力した各画素に対応した（ｓ，ｔ，ｑ）データを用いて変数ＬＯＤを算出し、変数ＬＯＤの整数部分を２つの連番のテクスチャデータ（本実施形態では、テクスチャデータＴＡ，ＴＢ）を選択するのに使用し、少数部分を当該選択した２つのテクスチャデータ間の混合比率（本実施形態では、ＣＯＥS-TA，ＣＯＥT-TA-TB ）を決定するのに使用する。また、テクスチャバッファメモリ２０２からのテクスチャデータの読み出しには、テクスチャ座標データ（ｕ，ｖ）が使用される。
また、制御回路２０７によって、テクスチャエンジン回路２０６においてソースデータＳに混合される２つのテクスチャデータの特定、並びに混合比率が指定されてもよい。以下、この場合について例示する。
【００２９】
以下、図２を参照しながら、テクスチャエンジン回路２０６が行うマルチテクスチャ処理を説明する。
テクスチャエンジン回路２０６は、マルチテクスチャ処理を行う際に、先ず、４点近傍補間処理を行う。
４点近傍補間処理では、テクスチャデータを割り当てる画素の座標から、当該座標の４近傍の点の（Ｒ，Ｇ，Ｂ）データを求める。
テクスチャエンジン回路２０６が、テクスチャバッファメモリ２０２から、例えば、図２に示すテクスチャデータＴＡの（Ｒ，Ｇ，Ｂ）データを読み出す。
そして、図２に示す位置ｐｉｘｅｌ０の（Ｒ，Ｇ，Ｂ）データである４点近傍補間データＣpixel0（本発明の第１のテクスチャデータ）を、テクスチャデータＴＡの（Ｒ，Ｇ，Ｂ）データのうち当該位置ｐｉｘｅｌ０の４近傍点Ａ０，Ｂ０，Ｃ０，Ｄ０の（Ｒ，Ｇ，Ｂ）データＣA0，ＣB0，ＣC0，ＣD0を用いて、下記式（１）〜（３）に基づいて求める。
このとき、（Ｒ，Ｇ，Ｂ）データＣA0，ＣB0，ＣC0，ＣD0は、テクスチャデータＴＡの（Ｒ，Ｇ，Ｂ）データから得られる。
なお、下記式（１）〜（３）において、ａ，ｂは、それぞれ位置ｐｉｘｅｌ０のｕ座標，ｖ座標の小数部を示している。
【００３０】
【数１】
ＣAB0 ＝ＣB0×ａ＋ＣA0×（１−ａ）                  …（１）
【００３１】
【数２】
ＣCD0 ＝ＣD0×ａ＋ＣC0×（１−ａ）                  …（２）
【００３２】
【数３】
Ｃpixel0＝ＣCD0 ×ｂ＋ＣAB0 ×（１−ｂ）          …（３）
【００３３】
また、テクスチャエンジン回路２０６が、テクスチャバッファメモリ２０２から、例えば、図２に示すテクスチャデータＴＢの（Ｒ，Ｇ，Ｂ）データを読み出す。当該テクスチャデータＴＢの読み出しは、前述したテクスチャデータＴＡの読み出しとは異なるクロックサイクルで行われる。
そして、図２に示す位置ｐｉｘｅｌ１の（Ｒ，Ｇ，Ｂ）データである４点近傍補間データＣpixel1（本発明の第２のテクスチャデータ）を、テクスチャデータＴＢの（Ｒ，Ｇ，Ｂ）データのうち当該位置ｐｉｘｅｌ１の４近傍点Ａ１，Ｂ１，Ｃ１，Ｄ１の（Ｒ，Ｇ，Ｂ）データＣA1，ＣB1，ＣC1，ＣD1用いて、下記式（４）〜（６）に基づいて求める。
このとき、（Ｒ，Ｇ，Ｂ）データＣA1，ＣB1，ＣC1，ＣD1は、テクスチャデータＴＢの（Ｒ，Ｇ，Ｂ）データから得られる。
なお、下記式（４）〜（６）において、ａ，ｂは、それぞれ位置ｐｉｘｅｌ１のｕ座標，ｖ座標の小数部を示している。
【００３４】
【数４】
ＣAB1 ＝ＣB1×ａ＋ＣA1×（１−ａ）                  …（４）
【００３５】
【数５】
ＣCD1 ＝ＣD1×ａ＋ＣC1×（１−ａ）                  …（５）
【００３６】
【数６】
Ｃpixel1＝ＣCD1 ×ｂ＋ＣAB1 ×（１−ｂ）          …（６）
【００３７】
テクスチャエンジン回路２０６は、各画素について、当該画素のソースデータＳの（Ｒ，Ｇ，Ｂ）データであるＣS と４点近傍補間データＣpixel0とを、制御回路２０７から入力したマルチテクスチャ係数ＣＯＥS-TA（本発明の第１の混合比率）で混合するために、下記式（７）に基づいて線形補間を行って画素データＣS-TA（本発明の第２の画像データ）を生成する第１の混合処理を行う。
【００３８】
【数７】
ＣS-TA＝ＣpixelS×ＣＯＥS-TA＋Ｃpixel0×（１−ＣＯＥS-TA）
…（７）
【００３９】
次に、テクスチャエンジン回路２０６は、第１の混合処理で生成した画像データＣS-TAと４点近傍補間データＣpixel1とを、制御回路２０７から入力したマルチテクスチャ係数ＣＯＥS-TA-TB （本発明の第２の混合比率）で混合するために、下記式（８）に基づいて線形補間を行って画像データＣS-TA-TB （本発明の第３の画像データ）を生成する第２の混合処理を行う。
【００４０】
【数８】
ＣS-TA-TB ＝ＣS-TA×ＣＯＥS-TA＋Ｃpixel1×（１−ＣＯＥS-TA）
…（８）
【００４１】
図３は、図１に示すテクスチャエンジン回路２０６の構成図である。
図３に示すように、テクスチャエンジン回路２０６は、例えば、読み出し回路２２８、４点近傍補間回路２２９、選択回路２３０、選択回路２３１、マルチテクスチャ回路２３２およびスイッチ回路２３３を有する。
ここで、４点近傍補間回路２２９が第２の発明の第１の画像処理回路に対応し、選択回路２３０，２３１およびマルチテクスチャ回路２３２が第２の発明の第２の画像処理回路に対応している。
【００４２】
読み出し回路２２８は、テクスチャバッファメモリ２０２から、例えば、図２に示すテクスチャデータＴＡの（Ｒ，Ｇ，Ｂ）データと、テクスチャデータＴＡの（Ｒ，Ｇ，Ｂ）データの読み出しとを順にそれぞれ１クロックサイクルで行う。
【００４３】
４点近傍補間回路２２９は、読み出し回路２２８から入力したテクスチャデータＴＡ、すなわち、図２に示す位置ｐｉｘｅｌ０の４近傍点Ａ０，Ｂ０，Ｃ０，Ｄ０の（Ｒ，Ｇ，Ｂ）データＣA0，ＣB0，ＣC0，ＣD0を用いて、上述した式（１）〜（３）の処理を行って４点近傍補間データＣpixel0を生成し、これを選択回路２３１に出力する。
また、４点近傍補間回路２２９は、読み出し回路２２８から入力したテクスチャデータＴＢ、すなわち，図２に示す位置ｐｉｘｅｌ１の４近傍点Ａ１，Ｂ１，Ｃ１，Ｄ１の（Ｒ，Ｇ，Ｂ）データＣA1，ＣB1，ＣC1，ＣD1を用いて、上述した式（４）〜（６）の処理を行って４点近傍補間データＣpixel1を生成し、これを選択回路２３０に出力する。
４点近傍補間回路２２９は、４点近傍補間データＣpixel0を出力した次のクロックサイクルで４点近傍補間データＣpixel1を出力するように、式（１）の処理と式（２）の処理、並びに式（４）の処理と式（５）の処理を並行して行うと共に、パイプライン処理を行っている。
【００４４】
選択回路２３０は、例えば、ソースデータ生成回路２０１から入力したソースデータＳのデータＣpixelSと、４点近傍補間回路２２９から入力した４点近傍補間データＣpixel1とを入力し、これら入力したデータのうち制御回路２０７からの選択信号ＳＥＬ１に基づいて選択したデータをマルチテクスチャ回路２３２に出力する。
選択回路２３１は、例えば、４点近傍補間回路２２９から入力した４点近傍補間データＣpixel0と、マルチテクスチャ回路２３２からフィードバックされた画像データＳ２３２とを入力し、これら入力したデータのうち制御回路２０７からの選択信号ＳＥＬ２に基づいて選択したデータをマルチテクスチャ回路２３２に出力する。
【００４５】
マルチテクスチャ回路２３２は、選択回路２３０から入力したソースデータＳのデータＣpixelSと、選択回路２３１から入力した４点近傍補間データＣpixel0とを、例えば、制御回路２０７から入力したマルチテクスチャ係数（混合比率）ＣＯＥS-TAで混合して画像データＳ２３２（ＣS-TA）を生成する第１の混合処理を行う。
また、マルチテクスチャ回路２３２は、選択回路２３０から入力した４点近傍補間データＣpixel1と、選択回路２３１から入力した画像データＳ２３２（ＣS-TA）とを、制御回路２０７から入力したマルチテクスチャ係数（混合比率）ＣＯＥS-TA-TB で混合して画像データＳ２３２（ＣS-TA-TB ）を生成する第２の混合処理とを行う。
【００４６】
スイッチ回路２３３は、マルチテクスチャ回路２３２から画像データＳ２３２として画像データＣS-TA-TB を入力するタイミングでオン状態となり、当該画像データＣS-TA-TB を画像データＳ２０６として図１に示すメモリＩ／Ｆ回路２０４に出力する。
スイッチ回路２３３は、マルチテクスチャ回路２３２から画像データＳ２３２として画像データＣS-TAを入力するタイミングでオフ状態となり、当該画像データＣS-TAを図１に示すメモリＩ／Ｆ回路２０４に出力しない。
当該画像データＣS-TAは、選択回路２３１を介してマルチテクスチャ回路２３２にフィードバックされる。
【００４７】
以下、図３に示すテクスチャエンジン回路２０６の動作例を説明する。
図４は、図３に示すテクスチャエンジン回路２０６の動作例を説明するためのタイミングチャートである。
図４（Ａ）は図３に示す読み出し回路２２８によるテクスチャデータの読み出しタイミングを示す図、図４（Ｂ）は４点近傍補間回路２２９内での上記式（１），（２），（４），（５）の実行タイミングを示す図、図４（Ｃ）は４点近傍補間回路２２９内での上記式（３），（６）の実行タイミングを示す図、図４（Ｄ）はマルチテクスチャ回路２３２の処理タイミングを示す図である。
【００４８】
クロックサイクル１：
読み出し回路２２８は、テクスチャバッファメモリ２０２から、例えば、図２に示すテクスチャデータＴＡの位置ｐｉｘｅｌ０の４近傍点Ａ０，Ｂ０，Ｃ０，Ｄ０の（Ｒ，Ｇ，Ｂ）データＣA0，ＣB0，ＣC0，ＣD0を読み出す。
【００４９】
クロックサイクル２：
読み出し回路２２８は、テクスチャバッファメモリ２０２から、例えば、図２に示すテクスチャデータＴＢの位置ｐｉｘｅｌ１の４近傍点Ａ１，Ｂ１，Ｃ１，Ｄ１の（Ｒ，Ｇ，Ｂ）データＣA1，ＣB1，ＣC1，ＣD1を読み出す。
また、４点近傍補間回路２２９内で、クロックサイクル１で読み出されたデータＣA0，ＣB0，ＣC0，ＣD0を用いて、上述した式（１），（２）の処理が行われ、データＣAB0 ，ＣCD0 が生成される。
【００５０】
クロックサイクル３：
４点近傍補間回路２２９内で、クロックサイクル２で生成されたデータＣAB0，ＣCD0 を用いて、上述した式（３）の処理が行われ、４点近傍補間データＣpixel0が生成される。
当該４点近傍補間データＣpixel0は、選択回路２３１を介してマルチテクスチャ回路２３２に入力される。
また、それと並行して、図１に示すソースデータ生成回路２０１からのソースデータＳのデータＣS が選択回路２３０を介してマルチテクスチャ回路２３２に出力される。
また、それと並行して、４点近傍補間回路２２９内で、クロックサイクル２で読み出されたデータＣA1，ＣB1，ＣC1，ＣD1を用いて、上述した式（４），（５）の処理が行われ、データＣAB1 ，ＣCD1 が生成される。
【００５１】
クロックサイクル４：
マルチテクスチャ回路２３２内で、クロックサイクル３で入力されたソースデータＳのデータＣS と４点近傍補間データＣpixel0とが、上述した式（７）に基づいて、制御回路２０７から入力したマルチテクスチャ係数ＣＯＥS-TAで混合され、画像データＳ２３２（ＣS-TA）が生成される。
画像データＣS-TAは、フィードバックされ、選択回路２３１を介してマルチテクスチャ回路２３２に入力される。
また、４点近傍補間回路２２９内で、クロックサイクル３で生成されたデータＣAB1 ，ＣCD1 を用いて、上述した式（６）の処理が行われ、４点近傍補間データＣpixel1が生成される。
当該４点近傍補間データＣpixel1は、選択回路２３０を介してマルチテクスチャ回路２３２に入力される。
【００５２】
クロックサイクル５：
マルチテクスチャ回路２３２内で、クロックサイクル４で入力した４点近傍補間データＣpixel1と、画像データＣS-TAとが、上述した式（８）に基づいて、制御回路２０７から入力したマルチテクスチャ係数ＣＯＥS-TA-TB が示す混合比率で混合されて画像データＳ２３２（ＣS-TA-TB ）が生成される。
当該画像データＣS-TA-TB は、スイッチ回路２３３を介して、画像データＳ２０６として図１に示すメモリＩ／Ｆ回路２０４に出力される。
【００５３】
以上説明したように、画像処理装置２００によれば、図３に示すように、マルチテクスチャ回路２３２において、ソースデータＳに複数のテクスチャデータを混合する（マルチテクスチャ処理を行う）際に、第１の混合処理の処理結果をフィードバックして第２の混合処理を行うことで、第１の混合処理と第２の混合処理とを同一のハードウェアを用いて行う。
そのため、画像処理装置２００によれば、テクスチャエンジン回路２０６を従来に比べて小規模化でき、装置全体の規模を縮小できる。
また、画像処理装置２００によれば、テクスチャバッファメモリ２０２から第１のテクスチャデータと第２のテクスチャデータとを異なるタイミングで読み出し、第１の混合処理が行われない期間に第２の混合処理を行うことから、従来と同じ時間でマルチテクスチャ処理を行うことができる。
【００５４】
第２実施形態
図５は、本実施形態の画像処理装置３００の構成図である。
図５に示すように、画像処理装置３００は、例えば、ソースデータ生成回路２０１、テクスチャバッファメモリ２０２、フレームバッファメモリ２０３、メモリＩ／Ｆ回路２０４、ＤＡＣ回路２０５、テクスチャエンジン回路３０６および制御回路３０７を有する。
図５において、図１と同じ符号を付したソースデータ生成回路２０１、テクスチャバッファメモリ２０２、フレームバッファメモリ２０３、メモリＩ／Ｆ回路２０４およびＤＡＣ回路２０５は、第１実施形態で説明したものと同じである。
本実施形態は、第３の発明および第４の発明に対応した実施形態であり、テクスチャエンジン回路３０６が第３の発明の画像処理装置、並びに第４の発明の第２の画像処理回路に対応している。
【００５５】
画像処理装置３００は、テクスチャエンジン回路３０６および制御回路３０７に特徴を有している。
以下、テクスチャエンジン回路３０６および制御回路３０７を中心に説明する。
テクスチャエンジン回路３０６は、第１実施形態で説明したテクスチャエンジン回路２０６と同様の方法で、式（１）〜（６）に基づいた処理を行い、データＣpixel0（本発明の第１のテクスチャデータ），Ｃpixel1（本発明の第２のテクスチャデータ）の生成を行う。
【００５６】
そして、テクスチャエンジン回路３０６は、各画素について、各画素の４点近傍補間データＣpixel0とＣpixel1とを生成し、これらをマルチテクスチャ係数ＣＯＥTA-TB （本発明の第１の混合比率）で混合するために、下記式（９）に基づいて線形補間を行って画像データＣTA-TB （本発明の第１の画像データ）を生成する第１の混合処理を行う。
【００５７】
【数９】
ＣTA-TB ＝Ｃpixel0×ＣＯＥTA-TB ＋Ｃpixel0×（１−ＣＯＥTA-TB ）
…（９）
【００５８】
次に、テクスチャエンジン回路３０６は、第１の混合処理で生成した画像データＣTA-TB とソースデータＳの画像データＣpixelS（本発明の第２の画像データ）とを、マルチテクスチャ係数ＣＯＥTA-TB-S （本発明の第２の混合比率）で混合するために、下記式（１０）に基づいて線形補間を行って画像データＣTA-TB-S （本発明の第３の画像データ）を生成する第２の混合処理を行う。
【００５９】
【数１０】
ＣTA-TB-S ＝ＣTA-TB ×ＣＯＥTA-TB-S ＋ＣpixelS×（１−ＣＯＥTA-TB-S ）
…（１０）
【００６０】
図６は、図５に示すテクスチャエンジン回路３０６の構成図である。
図６に示すように、テクスチャエンジン回路３０６は、例えば、読み出し回路２２８、４点近傍補間回路２２９、選択回路３３０、選択回路３３１、マルチテクスチャ回路３３２、スイッチ回路３３３、レジスタ３５０、スイッチ回路３５１およびスイッチ回路３５２を有する。
読み出し回路２２８および４点近傍補間回路２２９は、図３を用いて第１実施形態で説明したものと同じである。
ここで、４点近傍補間回路２２９が第４の発明の第１の画像処理回路に対応し、選択回路３３０，３３１およびマルチテクスチャ回路３３２が第４の発明の第２の画像処理回路に対応している。
【００６１】
テクスチャエンジン回路３０６では、４点近傍補間回路２２９から出力されたデータＣpixel0，Ｃpixel1がレジスタ３５０およびスイッチ回路３５２に出力される。
スイッチ回路３５１は、レジスタ３５０にデータＣpixel0が記憶されたクロックサイクルの次のクロックサイクルで、接続状態となり、レジスタ３５０から読み出されたデータＣpixel0を選択回路３３０に出力する。
スイッチ回路３５２は、レジスタ３５０からデータＣpixel0が読み出されるクロックサイクルで接続状態となり、４点近傍補間回路２２９から入力したデータＣpixel1を選択回路３３１に出力する。
すなわち、データＣpixel0，Ｃpixel1が、それぞれスイッチ回路３５１，３５０を介して同じクロックサイクルで、選択回路３３０，３３１にそれぞれ出力される。
【００６２】
選択回路３３０は、例えば、ソースデータ生成回路２０１から入力したソースデータＳのデータＣpixelSと、スイッチ回路３５１から入力した４点近傍補間データＣpixel0とを入力し、これら入力したデータのうち制御回路３０７からの選択信号ＳＥＬ１に基づいて選択したデータをマルチテクスチャ回路３３２に出力する。
選択回路３３１は、例えば、スイッチ回路３５２から入力した４点近傍補間データＣpixel1と、マルチテクスチャ回路３３２からフィードバックされた画像データＳ３３２とを入力し、これら入力したデータのうち制御回路３０７からの選択信号ＳＥＬ２に基づいて選択したデータをマルチテクスチャ回路３３２に出力する。
【００６３】
マルチテクスチャ回路３３２は、選択回路３３０から入力した４点近傍補間データＣpixel0と、選択回路３３１から入力した４点近傍補間データＣpixel1とを、制御回路３０７から入力したマルチテクスチャ係数（混合比率）ＣＯＥTA-TBで混合して画像データＳ３３２（ＣTA-TB ）を生成する第１の混合処理を行う。
また、マルチテクスチャ回路３３２は、選択回路３３０から入力したソースデータＳのデータＣpixelSと、選択回路３３１から入力した画像データＳ３３２（ＣTA-TB ）とを、制御回路３０７から入力したマルチテクスチャ係数（混合比率）ＣＯＥTA-TB-S で混合して画像データＳ３３２（ＣTA-TB-S ）を生成する第２の混合処理とを行う。
【００６４】
スイッチ回路３３３は、マルチテクスチャ回路３３２から画像データＳ３３２として画像データＣTA-TB-S を入力するタイミングでオン状態となり、当該画像データＣTA-TB-S を画像データＳ３０６として図５に示すメモリＩ／Ｆ回路２０４に出力する。
スイッチ回路３３３は、マルチテクスチャ回路３３２から画像データＳ３３２として画像データＣTA-TB を入力するタイミングでオフ状態となり、当該画像データＣTA-TB を図５に示すメモリＩ／Ｆ回路２０４に出力しない。
当該画像データＣTA-TB は、選択回路３３１を介してマルチテクスチャ回路３３２にフィードバックされる。
【００６５】
以下、図６に示すテクスチャエンジン回路３０６の動作例を説明する。
図７は、図６に示すテクスチャエンジン回路３０６の動作例を説明するためのタイミングチャートである。
図７（Ａ）は図６に示す読み出し回路２２８によるテクスチャデータの読み出しタイミングを示す図、図７（Ｂ）は４点近傍補間回路２２９内での上記式（１），（２），（４），（５）の実行タイミングを示す図、図７（Ｃ）は４点近傍補間回路２２９内での上記式（３），（６）の実行タイミングを示す図、図７（Ｄ）はマルチテクスチャ回路３３２の処理タイミングを示す図である。
【００６６】
クロックサイクル１：
読み出し回路２２８は、テクスチャバッファメモリ２０２から、例えば、テクスチャデータＴＡの位置ｐｉｘｅｌ０の４近傍点Ａ０，Ｂ０，Ｃ０，Ｄ０の（Ｒ，Ｇ，Ｂ）データＣA0，ＣB0，ＣC0，ＣD0を読み出す。
【００６７】
クロックサイクル２：
読み出し回路２２８は、テクスチャバッファメモリ２０２から、例えば、テクスチャデータＴＢの位置ｐｉｘｅｌ１の４近傍点Ａ１，Ｂ１，Ｃ１，Ｄ１の（Ｒ，Ｇ，Ｂ）データＣA1，ＣB1，ＣC1，ＣD1を読み出す。
また、４点近傍補間回路２２９内で、クロックサイクル１で読み出されたデータＣA0，ＣB0，ＣC0，ＣD0を用いて、上述した式（１），（２）の処理が行われ、データＣAB0 ，ＣCD0 が生成される。
【００６８】
クロックサイクル３：
４点近傍補間回路２２９内で、クロックサイクル２で生成されたデータＣAB0，ＣCD0 を用いて、上述した式（３）の処理が行われ、４点近傍補間データＣpixel0が生成される。
当該４点近傍補間データＣpixel0は、図６に示すレジスタ３５０に書き込まれる。
また、それと並行して、４点近傍補間回路２２９内で、クロックサイクル２で読み出されたデータＣA1，ＣB1，ＣC1，ＣD1を用いて、上述した式（４），（５）の処理が行われ、データＣAB1 ，ＣCD1 が生成される。
【００６９】
クロックサイクル４：
４点近傍補間回路２２９内で、クロックサイクル３で生成されたデータＣAB1，ＣCD1 を用いて、上述した式（６）の処理が行われ、４点近傍補間データＣpixel1が生成される。
当該４点近傍補間データＣpixel1は、スイッチ回路３５２および選択回路３３１を介してマルチテクスチャ回路３３２に出力される。
また、それと並行して、レジスタ３５０から読み出された４点近傍補間データＣpixel0が、選択回路３３０を介してマルチテクスチャ回路３３２に出力される。
【００７０】
クロックサイクル５：
マルチテクスチャ回路３３２内で、クロックサイクル４で入力された４点近傍補間データＣpixel1とＣpixel0とが、制御回路３０７から入力したマルチテクスチャ係数（混合比率）ＣＯＥTA-TB を用いて上記式（９）に基づいて混合され、画像データＳ３３２（ＣTA-TB ）が生成される。
当該データＣTA-TB は、フィードバックされ、選択回路３３１を介してマルチテクスチャ回路３３２に入力される。
また、それと並行して、図５に示すソースデータ生成回路２０１からのソースデータＳのデータＣS が選択回路３３０を介してマルチテクスチャ回路３３２に入力される。
【００７１】
クロックサイクル６：
マルチテクスチャ回路３３２内で、クロックサイクル５で入力されたデータＣTA-TB とデータＣS とが、制御回路３０７から入力したマルチテクスチャ係数（混合比率）ＣＯＥTA-TB-S を用いて上記式（１０）に基づいて混合され、画像データＳ３３２（ＣTA-TB-S ）が生成される。
当該データＣTA-TB-S は、スイッチ回路３３３を介して、図５に示す画像データＳ３０６として後段のメモリＩ／Ｆ回路２０４に出力される。
【００７２】
以上説明したように、テクスチャエンジン回路３０６によっても上述した第１実施形態のテクスチャエンジン回路２０６と同様の効果が得られる。
【００７３】
第３実施形態
本実施形態では、任意の３次元物体モデルに対する所望の３次元画像をＣＲＴ(Cathode Ray Tube)などのディスプレイ上に高速に表示する３次元コンピュータグラフィックシステムに、本発明を適用した場合について説明する。
【００７４】
図８は、本実施形態の３次元コンピュータグラフィックシステム１のシステム構成図である。
３次元コンピュータグラフィックシステム１は、立体モデルを単位図形である三角形（ポリゴン）を組み合わせて表現し、このポリゴンを描画することで表示画面の各画素の色を決定し、ディスプレイに表示するポリゴンレンダリング処理を行うシステムである。
また、３次元コンピュータグラフィックシステム１では、平面上の位置を表現する（ｘ，ｙ）座標の他に、奥行きを表すｚ座標を用いて３次元物体を表し、この（ｘ，ｙ，ｚ）の３つの座標で３次元空間の任意の一点を特定する。
【００７５】
図８に示すように、３次元コンピュータグラフィックシステム１は、例えば、メインメモリ２、Ｉ／Ｏインタフェース回路３、メインプロセッサ４およびレンダリング回路５が、メインバス６を介して接続されている。
本発明は、後述するレンダリング回路５のテクスチャエンジン回路１２に特徴を有している。
以下、３次元コンピュータグラフィックシステム１の各構成要素の機能について説明する。
メインプロセッサ４は、例えば、画像表示の進行状況などに応じて、メインメモリ２から必要なグラフィックデータを読み出し、このグラフィックデータに対してクリッピング(Clipping)処理、ライティング(Lighting)処理およびジオメトリ(Geometry)処理などを行い、ポリゴンレンダリングデータＳ４を生成する。メインプロセッサ４は、ポリゴンレンダリングデータＳ４を、メインバス６を介してレンダリング回路５に出力する。
Ｉ／Ｏインタフェース回路３は、必要に応じて、外部からポリゴンレンダリングデータＳ４を入力し、これをメインバス６を介してレンダリング回路５に出力する。
【００７６】
ポリゴンレンダリングデータＳ４は、ポリゴンの各３頂点の（ｘ，ｙ，ｚ，Ｒ，Ｇ，Ｂ，ＣＯＥblend ，ｓ，ｔ，ｑ，ＣＯＥfog ）データを含んでいる。
ここで、（ｘ，ｙ，ｚ）データは、ポリゴンの頂点の３次元座標を示し、（Ｒ，Ｇ，Ｂ）データは、それそれ当該３次元座標における赤、緑、青の輝度値を示している。
ＣＯＥblend データは、これから描画する画素と、ディスプレイバッファ２１に既に記憶されている画素とのＲ，Ｇ，Ｂデータのブレンド（混合）係数を示している。
（ｓ，ｔ，ｑ）データのうち、（ｓ，ｔ）は対応するテクスチャの同次座標を示しており、ｑは同次項を示している。ここで、「ｓ／ｑ」および「ｔ／ｑ」に、それぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥを乗じてテクスチャ座標データ（ｕ，ｖ）が得られる。ＳＲＡＭ１７およびテクスチャバッファ２０に記憶されたテクスチャデータへのアクセスは、テクスチャ座標データ（ｕ，ｖ）を用いて行われる。
ＣＯＥfog データは、フォギング処理を行う際に用いられる混合比率を示す係数である。
【００７７】
以下、レンダリング回路５について詳細に説明する。
図８に示すように、レンダリング回路５は、例えば、ＤＤＡ(Digital Differential Anarizer) セットアップ回路１０、トライアングルＤＤＡ回路１１、テクスチャエンジン回路１２、メモリＩ／Ｆ回路１３、ＣＲＴコントローラ回路１４、ＲＡＭＤＡＣ回路１５、ＤＲＡＭ１６、ＳＲＡＭ１７およびクロック信号発生回路１８を有する。
クロック信号発生回路１８は、レンダリング回路５内の各構成要素に、クロック信号Ｓ１８を供給する。
図８において、テクスチャエンジン回路１２が本発明の画像処理装置に対応している。
【００７８】
ＤＲＡＭ１６
ＤＲＡＭ１６は、テクスチャデータを記憶するテクスチャバッファ２０、ＣＲＴに出力してディスプレイに表示する表示データを記憶するディスプレイバッファ２１、ｚデータを記憶するｚバッファ２２およびカラールックアップデータを記憶するテクスチャＣＬＵＴバッファ２３として機能する。
【００７９】
ＤＤＡセットアップ回路１０
ＤＤＡセットアップ回路１０は、後段のトライアングルＤＤＡ回路１１において物理座標系上のポリゴンの各頂点の値を線形補間して、ポリゴンの内部の各画素の色と深さ情報を求めるのに先立ち、ポリゴンレンダリングデータＳ４が示す（ｚ，Ｒ，Ｇ，Ｂ，ＣＯＥblend ，ｓ，ｔ，ｑ，ＣＯＥfog ）データについて、セットアップ演算を行い、ポリゴンの辺と水平方向の差分（変分）を示す変分データＳ１０を生成する。
このセットアップ演算は、具体的には、開始点の値と終点の値と、開始点と終点との距離を用いて、所定の方向に単位長さ移動した場合における、求めようとしている値の変分を算出する。
ＤＤＡセットアップ回路１０は、算出した変分データＳ１０をトライアングルＤＤＡ回路１１に出力する。
【００８０】
トライアングルＤＤＡ回路１１
トライアングルＤＤＡ回路１１は、ＤＤＡセットアップ回路１０から入力した変分データＳ１０を用いて、ポリゴン内部の各画素における線形補間された（ｚ，Ｒ，Ｇ，Ｂ，ＣＯＥblend ，ｓ，ｔ，ｑ，ＣＯＥfog ）データを算出する。
トライアングルＤＤＡ回路１１は、各画素の（ｘ，ｙ）データと、当該（ｘ，ｙ）座標における（ｚ，Ｒ，Ｇ，Ｂ，ＣＯＥblend ，ｓ，ｔ，ｑ，ＣＯＥfog ）データとを、ＤＤＡデータ（補間データ）Ｓ１１としてテクスチャエンジン回路１２に出力する。
本実施形態では、トライアングルＤＤＡ回路１１は、例えば、並行して処理を行う矩形内に位置する８（＝２×４）画素分のＤＤＡデータＳ１１を同時にテクスチャエンジン回路１２に出力する。
【００８１】
テクスチャエンジン回路１２
テクスチャエンジン回路１２は、以下に示すように、テクスチャデータの読み出し処理、マルチテクスチャ処理、ＭＩＰＭＡＰ処理およびテクスチャファンクション処理などを行う。
なお、テクスチャエンジン回路１２は、例えば、所定の矩形内に位置する８画素についての処理を同時に並行して行う。
【００８２】
テクスチャエンジン回路１２は、ＤＤＡデータＳ１１に含まれる（ｓ，ｔ，ｑ）データを用いて「ｓ／ｑ」および「ｔ／ｑ」を算出し、「ｓ／ｑ」および「ｔ／ｑ」のそれぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥを乗じて、テクスチャ座標データ（ｕ，ｖ）を生成する。
そして、テクスチャエンジン回路１２は、メモリＩ／Ｆ回路１３を介して、ＳＲＡＭ１７あるいはＤＲＡＭ１６に、テクスチャ座標データ（ｕ，ｖ）を含む読み出し要求を出力し、メモリＩ／Ｆ回路１３を介して、ＳＲＡＭ１７あるいはテクスチャバッファ２０に記憶されているテクスチャデータを読み出す。これにより、テクスチャエンジン回路１２は、（ｓ，ｔ，ｑ）データに対応したテクスチャアドレスに記憶された（Ｒ，Ｇ，Ｂ）データＳ１７を得る。
なお、ＳＲＡＭ１７には、テクスチャバッファ２０に記憶されているテクスチャデータのコピーが記憶されている。
【００８３】
また、テクスチャエンジン回路１２は、ＳＲＡＭ１７あるいはテクスチャバッファ２０から読み出した（Ｒ，Ｇ，Ｂ）データＳ１７を用いて、マルチテクスチャ処理、ＭＩＰＭＡＰ（複数解像度テクスチャ）処理、並びにテクスチャファンクション処理を行う。
【００８４】
先ず、テクスチャエンジン回路１２が行うマルチテクスチャ処理について説明する。
テクスチャエンジン回路１２は、ＤＤＡデータＳ１１に含まれる（Ｒ，Ｇ，Ｂ）データＳ１１ａ（フラグメントカラー値Ｃflag）に、テクスチャバッファ２０から読み出した複数のテクスチャデータをそれぞれ所定の混合比率で混合して画像データＳ１２を生成し、これをメモリＩ／Ｆ回路１３に出力する。
具体的には、テクスチャエンジン回路１２は、ＳＲＡＭ１７あるいはテクスチャバッファ２０から読み出したテクスチャデータＴＡ（Ｃpixel0）とテクスチャデータＴＢ（Ｃpixel1）とを、前述した式（９）に基づいて、所定の混合比率ＣＯＥTA-TB で混合して画像データＣTA-TB を生成する第１の混合処理を行う。
また、テクスチャエンジン回路１２は、（Ｒ，Ｇ，Ｂ）データＳ１１ａと、第１の混合処理で生成されてフィードバックされた画像データＣTA-TB とを、前述した式（１０）に基づいて、所定の混合比率ＣＯＥTA-TB-S で混合して画像データＳ１３（ＣTA-TB-S ）を生成する第２の混合処理を行う。
第１の混合処理および第２の混合処理は、例えば、各画素毎に、当該画素のＲ，Ｇ，Ｂデータのそれぞれについて行われる。
【００８５】
テクスチャエンジン回路１２は、（Ｒ，Ｇ，Ｂ）データＳ１１ａに混合する２つのテクスチャデータ（本実施形態では、テクスチャデータＴＡ，ＴＢ）を、例えば、以下のようにして特定する。
例えば、トライアングルＤＤＡ回路１１から入力した各画素のＤＤＡデータＳ１１に含まれる（ｓ，ｔ，ｑ）データを用いて変数ＬＯＤを算出し、変数ＬＯＤの整数部分を２つの連番のテクスチャデータ（本実施形態では、テクスチャデータＴＡ，ＴＢ）を選択するのに使用し、少数部分を当該選択した２つのテクスチャデータ間の混合比率（本実施形態では、ＣＯＥS-TA，ＣＯＥT-TA-TB ）を決定するのに使用する。また、テクスチャバッファ２０からのテクスチャデータの読み出しには、テクスチャ座標データ（ｕ，ｖ）が使用される。
【００８６】
次に、ＭＩＰＭＡＰ処理について説明する。
ＭＩＰＭＡＰ処理では、（Ｒ，Ｇ，Ｂ）データＳ１７から２次元上の所望の位置の画素の（Ｒ，Ｇ，Ｂ）データを算出する４点近傍補間処理と、縮小率ＬＯＤ(Level Of Detail) のレベルを補間するレベル補間処理とが行われる。
ＳＲＡＭ１７およびテクスチャバッファ２０には、例えば、図９に示すように、ＭＩＰＭＡＰに基づいた複数の縮小率に対応したテクスチャデータ、すなわち、縮小率ＬＯＤが１．０のレベルのテクスチャデータ１００と、縮小率ＬＯＤが２．０のレベルのテクスチャデータ１０１と、縮小率ＬＯＤが３．０のレベルのテクスチャデータ１０２とが記憶されている。
そして、何れの縮小率ＬＯＤのテクスチャデータを用いるかは、所定のアルゴリズムを用いて前記ポリゴン単位で算出された縮小率ＬＯＤを用いて決定される。
なお、テクスチャデータ１００，１０１，１０２は、既にフィルタリング処理が施され、イメージの縮小などに伴う情報欠落に起因するエイリアシングの影響が抑制された表示パターンを示すデータである。
【００８７】
以下、テクスチャエンジン回路１２で行われるＭＩＰＭＡＰ処理の４点近傍補間処理について説明する。
当該４点近傍補間処理では、テクスチャデータを割り当てる画素の座標から、当該座標の４近傍の点の（Ｒ，Ｇ，Ｂ）データを求める。
例えば、縮小率ＬＯＤが１．０の場合には、ＳＲＡＭ１７あるいはテクスチャバッファ２０からテクスチャエンジン回路１２に、図９に示すテクスチャデータ１００の（Ｒ，Ｇ，Ｂ）データＳ１７が読み出される。
そして、図９に示す位置ｐｉｘｅｌ０の（Ｒ，Ｇ，Ｂ）データである４点近傍補間データＣpixel0を、当該位置ｐｉｘｅｌ０の４近傍点Ａ０，Ｂ０，Ｃ０，Ｄ０の（Ｒ，Ｇ，Ｂ）データＣA0，ＣB0，ＣC0，ＣD0を用いて、下記式（１１）〜（１３）に基づいて求める。
このとき、（Ｒ，Ｇ，Ｂ）データＣA0，ＣB0，ＣC0，ＣD0は、テクスチャデータ１００の（Ｒ，Ｇ，Ｂ）データＳ１７から得られる。
なお、下記式（１１）〜（１３）において、ａ，ｂは、それぞれ位置ｐｉｘｅｌ０のｕ座標，ｖ座標の小数部を示している。
【００８８】
【数１１】
ＣAB0 ＝ＣB0×ａ＋ＣA0×（１−ａ）                  …（１１）
【００８９】
【数１２】
ＣCD0 ＝ＣD0×ａ＋ＣC0×（１−ａ）                  …（１２）
【００９０】
【数１３】
Ｃpixel0＝ＣCD0 ×ｂ＋ＣAB0 ×（１−ｂ）          …（１３）
【００９１】
次に、縮小率のレベル補間処理について説明する。
ここでは、ｔｒｉ−ｌｉｎｅａｒと呼ばれるレベル補間処理を例示して説明する。
例えば、縮小率ＬＯＤが１．５である場合には、テクスチャエンジン回路１２は、上述したように、縮小率ＬＯＤが１．０のテクスチャデータ１００を用いて位置ｐｉｘｅｌ０の４点近傍補間データＣpixel0を算出すると共に、縮小率ＬＯＤが２．０のテクスチャデータ１０１を用いて、テクスチャデータ１００上の位置ｐｉｘｅｌ０に対応したテクスチャデータ１０１上の位置ｐｉｘｅｌ１の４点近傍補間データＣpixel1を算出する。次に、４点近傍補間データＣpixel0とＣpixel1とを線形補間して、縮小率ＬＯＤが１．５のレベル補間データＣpixel を算出する。
【００９２】
すなわち、前述した４点近傍補間データＣpixel0の算出処理に続いて、ＳＲＡＭ１７あるいはテクスチャバッファ２０からテクスチャエンジン回路１２に、図９に示すテクスチャデータ１０１の（Ｒ，Ｇ，Ｂ）データＳ１７が読み出される。
そして、テクスチャエンジン回路１２は、図９における位置ｐｉｘｅｌ１の（Ｒ，Ｇ，Ｂ）データである４点近傍補間データＣpixel1を、当該位置ｐｉｘｅｌ１の４近傍点Ａ１，Ｂ１，Ｃ１，Ｄ１の（Ｒ，Ｇ，Ｂ）データＣA1，ＣB1，ＣC1，ＣD1を用いて、下記式（１４）〜（１６）に基づいて求める。
このとき、（Ｒ，Ｇ，Ｂ）データＣA1，ＣB1，ＣC1，ＣD1は、テクスチャデータ１０１の（Ｒ，Ｇ，Ｂ）データＳ１７から得られる。
なお、下記式（１４）〜（１６）において、ｃ，ｄは、それぞれ位置ｐｉｘｅｌ１のｕ，ｖ座標の小数部を示している。
【００９３】
【数１４】
ＣAB1 ＝ＣB1×ｃ＋ＣA1×（１−ｃ）                  …（１４）
【００９４】
【数１５】
ＣCD1 ＝ＣD1×ｃ＋ＣC1×（１−ｃ）                  …（１５）
【００９５】
【数１６】
Ｃpixel1＝ＣCD1 ×ｄ＋ＣAB1 ×（１−ｄ）          …（１６）
【００９６】
次に、テクスチャエンジン回路１２は、下記式（１７）を用いて、テクスチャデータ１００と１０１との間のレベル補間を行い、レベル補間後の対応する位置（画素）の（Ｒ，Ｇ，Ｂ）データであるレベル補間データＣpixel を求める。なお、下記式（１７）において、ミップマップ係数ＣＯＥmipmapは縮小率ＬＯＤの小数部０．５を示している。
【００９７】
【数１７】
Ｃpixel ＝Ｃpixel1×ＣＯＥmipmap＋Ｃpixel0×（１−ＣＯＥmipmap）
…（１７）
【００９８】
次に、テクスチャエンジン回路１２で行われるテクスチャファンクション処理について説明する。
テクスチャエンジン回路１２で行われるテクスチャファンクション処理には、例えば、モジュレート(Modulate)処理、デカル(Decal) 処理、ハイライト(Highlight) 処理、フォギング(Fogging) 処理、アルファブレンディング (α Blending)処理などがある。
ここで、モジュレート処理は、テクスチャデータが示す色でフラグメントデータが示す色の変調を行う処理である。
なお、本実施形態では、フラグメントデータは、トライアングルＤＤＡ回路１１から入力したＤＤＡデータＳ１１に含まれる（Ｒ，Ｇ，Ｂ）データである。
デカル処理は、テクスチャデータが示す色でフラグメントデータが示す色を置き換える処理である。
ハイライト処理は、ハイライト効果を出すために乗算結果に加算データＨｉを加算する処理である。
フォギング処理は、遠くの物体をぼかす効果を出す処理である。
アルファブレンディング処理は、ソースデータが示す色とディスティネーションデータが示す色とを所定の混合比で混合する処理である。
ここで、ソースデータが示す色は図８に示すディスプレイバッファ２１に記憶されているデータが示す色であり、ディスティネーションデータが示す色はディスプレイバッファ２１に描画しようとするデータが示す色である。
【００９９】
これらのテクスチャファンクション処理は、テクスチャデータをＣtex 、フラグメントデータをＣflag、ハイライト処理の加算データをＨｉとし、モジュレート処理後のデータをＣmod 、デカル処理後のデータをＣdcl 、ハイライト処理後のデータをＣhgh とすると、下記式（１８）〜（２０）のように表せる。
なお、式（２０）において、Ｈｉは、ハイライト用の加算データを示している。
【０１００】
【数１８】
Ｃmod ＝Ｃtex ×Ｃflag                              …（１８）
【０１０１】
【数１９】
Ｃdcl ＝Ｃtex                                       …（１９）
【０１０２】
【数２０】
Ｃhgh ＝Ｃtex ×Ｃflag＋Ｈｉ                        …（２０）
【０１０３】
また、フォギング処理およびアルファブレンディング処理は、フラグメントデータをＣflag、フォグデータをＣfog 、フォグ係数データをＣＯＥfog 、ソース（カラー）データＣsrc 、デスティネーション（カラー）データをＣdst 、ブレンディング係数をＣＯＥblend とし、フォギング処理後のデータをＣfogged、ブレンディング処理後のデータをＣblend とすると、以下式（２１），（２２）で示される。
【０１０４】
【数２１】
Ｃfogged＝Ｃflag×ＣＯＥfog ＋Ｃfog ×（１−ＣＯＥfog ）
…（２１）
【０１０５】
【数２２】
Ｃblend ＝Ｃsrc ×ＣＯＥblend ＋Ｃdst ×（１−ＣＯＥblend ）
…（２２）
【０１０６】
上述したように、式（９），（１０）で示されるマルチテクスチャ処理、並びに式（１７）〜（２２）で示されるＭＩＰＭＡＰ処理のレベル補間処理とテクスチャファンクション処理は、データＡ，Ｂ，ＣＯＥ、ＣおよびＤを用いた下記式（２３）で表現できる。
本実施形態では、このことを利用して、後述するように、ＬＩＰ回路６１をマルチテクスチャ処理、レベル補間処理およびテクスチャファンクション処理で共用する。
【０１０７】
【数２３】
Ｄ＝Ａ×ＣＯＥ＋Ｂ（１−ＣＯＥ）                    …（２３）
【０１０８】
図１０は、テクスチャエンジン回路１２の部分回路図である。
図１０に示すように、テクスチャエンジン回路１２は、例えば、縮小率演算回路５０、読み出し回路５１、ＬＩＰ(Linear Inter Polator)回路５２，５３，５４、ＬＩＰ／テクスチャファンクション回路５５を有する。
テクスチャエンジン回路１２内の各構成要素は、図８に示すクロック信号発生回路１８からのクロック信号Ｓ１８に基づいて動作する。
テクスチャエンジン回路１２は、図１０に示す構成を用いて、マルチテクスチャ処理、ＭＩＰＭＡＰ処理、モジュレート処理、デカル処理、ハイライト処理、フォギング処理、アルファブレンディング処理などの一部あるいは全てを行う。
【０１０９】
縮小率演算回路５０は、ＤＤＡセットアップ回路１０で生成した変分データＳ１０と、トライアングルＤＤＡ回路１１から入力したＤＤＡデータＳ１１に含まれる（ｓ，ｔ，ｑ）データを用いて例えばポリゴン単位で縮小率（変数）ＬＯＤを演算し、縮小率（変数）ＬＯＤを読み出し回路５１に出力する。
【０１１０】
読み出し回路５１は、ＤＤＡデータＳ１１に含まれる（ｓ，ｔ，ｑ）データと、縮小率ＬＯＤと、所定のテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥとに基づいて算出したアドレス（ｕ，ｖ）を用いて、ＳＲＡＭ１７あるいはテクスチャバッファ２０内のアドレスから（Ｒ，Ｇ，Ｂ）データを読み出し、これをテクスチャデータとしてＬＩＰ回路５２，５３に出力する。
このとき、読み出し回路５１は、縮小率演算回路５０から入力した縮小率ＬＯＤの小数部が０でない場合には、縮小率ＬＯＤの前後の整数部に対応する縮小率を持つ２個のテクスチャデータをそれぞれクロック信号Ｓ１８の１クロックサイクルで順に読み出してＬＩＰ回路５２，５３に出力する。
また、読み出し回路５１は、マルチテクスチャ処理の場合には、変数ＬＯＤの整数部を２つの連番のテクスチャデータを選択するのみに用い、変数ＬＯＤの少数部を当該２つのテクスチャデータの混合比率（ＣＯＥTA-TB ）として用いる。
【０１１１】
ＬＩＰ回路５２は、演算対象となっている画素について、前述した式（１１）に相当する４点近傍補間処理の演算を１クロックサイクル内に行って補間データＳ５２を生成し、補間データＳ５２をＬＩＰ回路５４に出力する。
続いて、ＬＩＰ回路５２は、演算対象となっている画素について、前述した式（１４）に相当する４点近傍補間処理の演算を１クロックサイクル内に行って補間データＳ５２を生成し、補間データＳ５２をＬＩＰ回路５４に出力する。
【０１１２】
ＬＩＰ回路５３は、演算対象となっている画素について、前述した式（１２）に相当する４点近傍補間処理の演算を１クロックサイクル内に行って補間データＳ５３を生成し、補間データＳ５３をＬＩＰ回路５４に出力する。
続いて、ＬＩＰ回路５３は、演算対象となっている画素について、前述した式（１５）に相当する４点近傍補間処理の演算を１クロックサイクル内に行って補間データＳ５３を生成し、補間データＳ５３をＬＩＰ回路５４に出力する。
ＬＩＰ回路５３の演算は、ＬＩＰ回路５２の演算と並行して行われる。
【０１１３】
ＬＩＰ回路５４は、ＬＩＰ回路５２および５３からの補間データＳ５２，Ｓ５３を用いて、前述した式（１３）に相当する４点近傍補間処理の演算を１クロックサイクル内に行って４点近傍補間データＣpixel0を生成し、４点近傍補間データＣpixel0をＬＩＰ／テクスチャファンクション回路５５に出力する。
このとき、ＬＩＰ回路５４は、縮小率ＬＯＤの小数部が０でない場合には、補間データＳ５２，Ｓ５３を用いて、レベル補間処理に用いる４点近傍補間データＣpixel0と４点近傍補間データＣpixel1とを順に生成する。
例えば、縮小率ＬＯＤが前述したように１．５である場合には、ＬＩＰ回路５４は、上記式（１３）に基づいて４点近傍補間データＣpixel0を１クロックサイクルで生成した後に、上記式（１６）に基づいて４点近傍補間データＣpixel1を１クロックサイクルで生成する。
なお、ＬＩＰ回路５２，５３，５４の構成および処理は、後述するＬＩＰ回路６１の構成および処理と基本的に同じである。
【０１１４】
図１１は、ＬＩＰ／テクスチャファンクション回路５５の構成図である。
ＬＩＰ／テクスチャファンクション回路５５は、ＬＩＰ回路５４からの４点近傍補間データＣpixel0（必要に応じて４点近傍補間データＣpixel1）を用いて、マルチテクスチャ処理、ＭＩＰＭＡＰ処理のレベル補間処理と、モジュレート処理、デカル処理、ハイライト処理、フォギング処理およびアルファブレンディング処理などのテクスチャファンクション処理の一部あるいは全てを行う。
具体的には、ＬＩＰ／テクスチャファンクション回路５５は、例えば、マルチテクスチャ処理が指定された場合には、例えば、４点近傍補間データＣpixel0，Ｃpixel1と、（Ｒ，Ｇ，Ｂ）データＳ１１ａ（フラグメントカラー値Ｃflag）と、混合比率ＣＯＥTA-TB ，ＣＯＥTA-TB-S とを用いて、マルチテクスチャ処理を行う。
また、ＬＩＰ／テクスチャファンクション回路５５は、ＭＩＰＭＡＰ処理が指定され、しかも縮小率ＬＯＤの小数部が０である場合には、ＬＩＰ回路５４から入力した４点近傍補間データＣpixel0を用いて、テクスチャファンクション処理のうち必要な処理を行う。
また、ＬＩＰ／テクスチャファンクション回路５５は、ＭＩＰＭＡＰ処理が指定され、しかも縮小率の小数部が０でない場合には、ＬＩＰ回路５４から入力した４点近傍補間データＣpixel0，Ｃpixel1を用いてレベル補間処理を行った後に、テクスチャファンクション処理のうち必要な処理を行う。
【０１１５】
ＬＩＰ／テクスチャファンクション回路５５は、図１１に示すように、前処理回路６０、ＬＩＰ回路６１およびレジスタ６２を有する。
前処理回路６０は、図１１に示すように、モードコントローラ７０、レジスタ７４、マルチプレクサ７５〜７８およびレジスタ８５〜８８を有する。
モードコントローラ７０は、図１１に示すように、デコーダ７１、カウンタ７２およびデコーダ７３を有する。
【０１１６】
デコーダ７１は、カウンタ７２のカウント値を監視し、カウンタ７２のカウント値が「０」になったタイミングで、ＬＩＰ回路６１を共用する処理の数に応じた初期値「０」，「１」または「２」をセットする。
例えば、デコーダ７１は、ＬＩＰ回路６１で一つの処理のみを行う場合には初期値「０」をカウンタ７２にセットし、２個の処理でＬＩＰ回路６１を共用する場合には初期値「１」をセットし、３個の処理でＬＩＰ回路６１を共用する場合にはカウント値「２」をセットする。
なお、本実施形態では、カウンタ７２にセットする初期値として「０」，「１」および「２」を用いる場合を例示するが、当該初期値の値は、ＬＩＰ回路６１を共用する処理の数に応じて任意に設定可能である。
デコーダ７１は、例えば図８に示すメインプロセッサ４あるいはテクスチャエンジン回路１２内の図示しない主コントローラからファンクションモードデータＦＭＤを入力する。
ファンクションモードデータＦＭＤは、各クロックサイクル毎に、例えば図１２に示すモード「０」〜「９」を指定し、後述するように、各モードに応じたデータをＬＩＰ回路６１に入力するための制御に用いられる。すなわち、ファンクションモードデータＦＭＤに基づいて、ＬＩＰ回路６１が行う処理の内容が決定される。図１２の内容について、後に詳細に説明する。
デコーダ７１は、例えば、ファンクションモードデータＦＭＤに基づいて、ＬＩＰ回路６１において１個のモードの処理が終了する度に、カウンタ７２のカウント値を１だけ減少させる。
【０１１７】
デコーダ７３は、図８に示すメインプロセッサ４あるいはテクスチャエンジン回路１２内の図示しない主コントローラからファンクションモードデータＦＭＤおよびフォグイネーブルデータＦＥＤを入力する。
また、デコーダ７３は、ＬＩＰ回路５４あるいは読み出し回路５１からミップマップ番号データＭＮＤを入力する。
【０１１８】
ファンクションモードデータＦＭＤは、前述したように、各クロックサイクル毎に、例えば図１２に示すモード「０」〜「９」を指定し、後述するように、各モードに応じたデータをＬＩＰ回路６１に入力するための制御に用いられる。
図１２に示す例では、ＬＩＰ回路６１において、マルチテクスチャ処理、ＭＩＰＭＡＰ処理のレベル補間処理、モジュレート処理、ハイライト処理、デカル処理およびフォギング処理を行う場合を例示している。
この場合に、図１２に示すように、例えば、モジュール処理およびハイライト処理は、当該処理のみが行われるか、あるいは、ＭＩＰＭＡＰ処理のレベル補間処理に続いて行われるかによって異なるモードが付されている。また、フォギング処理も、当該処理のみが行われるか、あるいは、モジュレート処理に続いて行われるかによって異なるモードが付されている。これは、図１１に示すＬＩＰ回路６１の処理結果をフィードバックしてレジスタ８８に書き込むか否かをデコーダ７３において決定する必要があるためである。
なお、図１２に示すモードは一例であり、その他にも種々のモードを指定することが可能である。
【０１１９】
また、フォグイネーブルデータＦＥＤは、例えば、フォギング処理を行う場合には論理値「１」を示し、フォギング処理を行わない場合には論理値「０」を示している。
【０１２０】
また、ミップマップ番号データＭＮＤは、ＬＩＰ回路６１においてレベル補間処理を行わない場合（縮小率ＬＯＤの小数部が０である場合）の４点近傍補間データＣpixel0を入力するタイミングと、レベル補間処理を行う場合の４点近傍補間データＣpixel1を入力するタイミングとで論理値「１」を示す。
また、ミップマップ番号データＭＮＤは、レベル補間処理を行う場合の４点近傍補間データＣpixel0を入力するタイミングで論理値「０」を示す。
ミップマップ番号データＭＮＤは、後述するように、デコーダ７３によるマルチプレクサ７７，７８の制御に用いられる。
【０１２１】
デコーダ７３は、ファンクションモードデータＦＭＤ、ミップマップ番号データＭＮＤおよびフォグイネーブルデータＦＥＤに基づいて、ファンクションモードデータＦＭＤが指定した処理をＬＩＰ回路６１が行うのに必要なデータをＬＩＰ回路６１に供給するように、マルチプレクサ７５〜７８を制御する。
【０１２２】
具体的には、デコーダ７３は、ファンクションモードデータＦＭＤが「０」を示しており、マルチテクスチャ処理の第１の混合処理を行う場合に、レジスタ７４に記憶された４点近傍補間データＣpixel0と、ＬＩＰ回路５４から入力した４点近傍補間データＣpixel1と、読み出し回路５１において生成された混合比率ＣＯＥTA-TB とが、それぞれ同じタイミングでレジスタ８８，８７，８６に出力されるように、マルチプレクサ７８，７７，７６を制御する。これにより、ＬＩＰ回路６１において、上記式（９）に基づいた第１の混合処理が行われ、画像データＣTA-TB が生成される。
また、デコーダ７３は、ファンクションモードデータＦＭＤが「１」を示しており、マルチテクスチャ処理の第２の混合処理を行う場合に、ＬＩＰ回路６１からフィードバックされた画像データＣTA-TB と、トライアングルＤＤＡ回路１１から入力したフラグメントデータＣflagと、読み出し回路５１において生成された混合比率ＣＯＥTA-TB-S とが、それぞれ同じタイミングでレジスタ８８，８７，８６に出力されるように、マルチプレクサ７８，７７，７６を制御する。これにより、ＬＩＰ回路６１において、上記式（１０）に基づいた第２の混合処理が行われ、画像データＣTA-TB-S が生成される。
【０１２３】
図１３は、ＬＩＰ回路５４から図１１に示す前処理回路６０への４点近傍補間データＣpixel0，Ｃpixel1の入力タイミングと、ＬＩＰ／テクスチャファンクション回路５５におけるマルチテクスチャ処理の実行タイミングとを説明するためのタイミングチャートである。
図１３において、同一の（ａ），（ｂ），（ｃ）が付されたデータは、同じレベル補間処理に係わるデータを示している。
【０１２４】
例えば、図１３（Ａ）に示すクロック信号Ｓ１８に基づいて、図１３（Ｂ）に示すタイミングで、ＬＩＰ回路５４からＬＩＰ／テクスチャファンクション回路５５に入力されたマルチテクスチャ処理の対象となる４点近傍補間データＣpixel0がレジスタ７４に記憶される。
そして、次のクロックサイクルで、レジスタ７４から読み出された４点近傍補間データＣpixel0と、ＬＩＰ回路５４から入力した４点近傍補間データＣpixel1とがマルチプレクサ７８，７７およびレジスタ８８，８７をそれぞれ介して、ＬＩＰ回路６１のＩＮA ，ＩＮB 端子に入力される。また、当該クロックサイクルで、混合比率ＣＯＥTA-TB が、マルチプレクサ７６およびレジスタ８６を介して、ＬＩＰ回路６１のＩＮcoeff 端子に入力される。そして、ＬＩＰ回路６１において、第１の混合処理が行われ、画像データＣTA-TB が生成される。当該画像データＣTA-TB は、マルチプレクサ７８にフィードバックされる。
【０１２５】
そして、次のクロックサイクルで、上記フィードバックされた画像データＣTA-TB と、トライアングルＤＤＡ回路１１から入力したフラグメントデータＣflagと、混合比率ＣＯＥTA-TB-S が、マルチプレクサ７８，７７，７６およびレジスタ８８，８７，８６を介して、ＬＩＰ回路６１のＩＮA,ＩＮB ，ＩＮcoeff 端子に入力される。そして、ＬＩＰ回路６１において、第２の混合処理が行われ、画像データＣTA-TB-S が生成される。当該画像データＣTA-TB-S は、レジスタ６２を介して、画像データＳ１２としてメモリＩ／Ｆ回路１３に出力される。
【０１２６】
また、デコーダ７３は、ＭＩＰＭＡＰ処理を行う場合に、以下の処理を行う。
すなわち、デコーダ７３は、ミップマップ番号データＭＮＤが論理値「０」を示す間は、ＬＩＰ回路５４から入力した４点近傍補間データＣpixel0をレジスタ８７に出力しないように、マルチプレクサ７７を制御する。このとき、４点近傍補間データＣpixel0は、レジスタ７４に書き込まれる。
また、デコーダ７３は、ファンクションモードデータＦＭＤが図１２に示す「２」を示しており、ＬＩＰ回路６１がＭＩＰＭＡＰ処理のレベル補間処理を行う場合には、ミップマップ番号データＭＮＤが論理値「１」を示す間に、レジスタ７４から読み出した４点近傍補間データＣpixel0をレジスタ８８に出力し、ＬＩＰ回路５４から入力した４点近傍補間データＣpixel1をレジスタ８７に出力するように、マルチプレクサ７８，７７を制御する。
また、デコーダ７３は、ファンクションモードデータＦＭＤが図１２に示す「３」を示し、ミップマップ番号データＭＮＤが論理値「１」を示す間に、図１０に示す縮小率演算回路５０から入力したミップマップ係数ＣＯＥmipmapを、レジスタ８６に出力するように、マルチプレクサ７６を制御する。それと同時に、デコーダ７３は、論理値「０」をレジスタ８５に出力するように、マルチプレクサ７５を制御する。
これにより、４点近傍補間データＣpixel0，Ｃpixel1およびミップマップ係数ＣＯＥmipmapが、それぞれレジスタ８８，８７，８６に同時に書き込まれ、ＬＩＰ回路６１において、４点近傍補間データＣpixel0，Ｃpixel1を用いたレベル補間処理が行われる。
【０１２７】
図１４は、ＬＩＰ回路５４から図１１に示す前処理回路６０への４点近傍補間データＣpixel0，Ｃpixel1の入力タイミングと、ＬＩＰ／テクスチャファンクション回路５５におけるレベル補間処理の実行タイミングとを説明するためのタイミングチャートである。
図１４において、同一の（ａ），（ｂ），（ｃ）が付されたデータは、同じレベル補間処理に係わるデータを示している。
【０１２８】
例えば、図１４（Ａ）に示すクロック信号Ｓ１８に基づいて、図１４（Ｂ）に示すタイミングで、ＬＩＰ回路５４からＬＩＰ／テクスチャファンクション回路５５に入力されたレベル補間の対象となる４点近傍補間データＣpixel0がレジスタ７４に記憶される。
そして、次のクロックサイクルで、レジスタ７４から読み出された４点近傍補間データＣpixel0が、マルチプレクサ７８およびレジスタ８８を介して、ＬＩＰ回路６１のＩＮA 端子に出力されると共に、ＬＩＰ回路５４から入力した４点近傍補間データＣpixel1が、マルチプレクサ７７およびレジスタ８７を介して、ＬＩＰ回路６１のＩＮB 端子に出力される。
そして、次のクロックサイクルで、図１４（Ｃ）に示すように、ＬＩＰ回路６１において、ミップマップデータＣpixel0，Ｃpixel1を用いたレベル補間処理が行われる。
図１４（Ｃ）から分かるように、ＬＩＰ回路５２，５３，５４を用いて行われるＭＩＰＭＡＰ処理の４点近傍補間処理のスループットは２クロックサイクルであるのに対して、ＬＩＰ回路６１ではＭＩＰＭＡＰ処理のレベル補間処理が１クロックサイクルで行われる。従って、ＬＩＰ回路６１において、レベル補間処理のみを行う場合には、ＬＩＰ回路６１に処理を行わない空き時間が生じる。当該実施形態では、後述するように、当該空き時間を利用して、ＬＩＰ回路６１にテクスチャファンクション処理を行わせる。すなわち、ＭＩＰＭＡＰ処理の４点近傍補間処理と、テクスチャファンクション処理とをインターリーブする。
【０１２９】
また、デコーダ７３は、ファンクションモードデータＦＭＤが図１２に示す「３」を示しており、ＬＩＰ回路６１がモジュレート処理のみを行う場合には、対応する１クロックサイクルの間、ＬＩＰ回路５４から入力した４点近傍補間データＣpixel0をレジスタ７４を介してレジスタ８８に出力し、トライアングルＤＤＡ回路１１から入力したＤＤＡデータＳ１１に含まれる（Ｒ，Ｇ，Ｂ）データＳ１１ａ（フラグメントデータＣflag）をレジスタ８６に出力するように、マルチプレクサ７８，７６を制御する。
また、同時に、デコーダ７３は、レジスタ８７に論理値「０」を出力し、レジスタ８５に論理値「０」を出力するように、マルチプレクサ７７，７５を制御する。
【０１３０】
また、デコーダ７３は、ファンクションモードデータＦＭＤが図１２に示す「４」を示しており、ＬＩＰ回路６１がＭＩＰＭＡＰ処理のレベル補間処理に続いてモジュレート処理を行う場合には、対応する１クロックサイクルの間、ＬＩＰ回路６１のＯＵＴ端子からフィードバックされたレベル補間データをレジスタ８８に出力し、フラグメントデータＣflagをレジスタ８６に出力するように、マルチプレクサ７８，７６を制御する。
また、同時に、デコーダ７３は、レジスタ８７に論理値「０」を出力し、レジスタ８５に論理値「０」を出力するように、マルチプレクサ７７，７５を制御する。
【０１３１】
また、デコーダ７３は、ファンクションモードデータＦＭＤが図１２に示す「５」を示しており、ＬＩＰ回路６１がハイライト処理のみを行う場合には、対応する１クロックサイクルの間、ＬＩＰ回路５４から入力した４点近傍補間データＣpixel0をレジスタ７８を介してレジスタ８８に出力し、トライアングルＤＤＡ回路１１から入力したＤＤＡデータＳ１１に含まれる（Ｒ，Ｇ，Ｂ）データＳ１１ａ（フラグメントデータＣflag）をレジスタ８６に出力するように、マルチプレクサ７８，７６を制御する。
また、同時に、デコーダ７３は、レジスタ８７に論理値「０」を出力し、メインプロセッサ４あるいはテクスチャエンジン回路１２内の図示しない主コントローラから入力したハイライト演算の加算データＨｉをレジスタ８５に出力するように、マルチプレクサ７７，７５を制御する。
【０１３２】
また、デコーダ７３は、ファンクションモードデータＦＭＤが図１２に示す「６」を示しており、ＬＩＰ回路６１がＭＩＰＭＡＰ処理のレベル補間処理に続いてハイライト処理を行う場合には、対応する１クロックサイクルの間、ＬＩＰ回路６１のＯＵＴ端子からフィードバックされたレベル補間データをレジスタ８８に出力し、フラグメントデータＣflagをレジスタ８６に出力するように、マルチプレクサ７８，７６を制御する。
また、同時に、デコーダ７３は、レジスタ８７に論理値「０」を出力し、メインプロセッサ４あるいはテクスチャエンジン回路１２内の図示しない主コントローラから入力したハイライト演算の加算データＨｉをレジスタ８５に出力するように、マルチプレクサ７７，７５を制御する。
【０１３３】
また、デコーダ７３は、ファンクションモードデータＦＭＤが図１２に示す「７」を示しており、ＬＩＰ回路６１がデカル処理のみを行う場合には、対応する１クロックサイクルの間、ＬＩＰ回路５４から入力した４点近傍補間データＣpixel0をレジスタ７８を介してレジスタ８８に出力し、論理値「０ｘｆｆ」をレジスタ８６に出力するように、マルチプレクサ７８，７６を制御する。
また、同時に、デコーダ７３は、レジスタ８７に論理値「０」を出力し、レジスタ８５に論理値「０」を出力するように、マルチプレクサ７７，７５を制御する。
【０１３４】
また、デコーダ７３は、ファンクションモードデータＦＭＤが図１２に示す「８」を示しており、ＬＩＰ回路６１がフォギング処理のみを行う場合には、対応する１クロックサイクルの間、トライアングルＤＤＡ回路１１から入力したＤＤＡデータＳ１１に含まれる（Ｒ，Ｇ，Ｂ）データＳ１１ａ（フラグメントデータＣflag）をレジスタ７４を介してレジスタ８８に出力し、例えば図示しないフォグレジスタに設定されたフォグデータＣfog をレジスタ８７に出力するように、マルチプレクサ７８，７７を制御する。
また、同時に、デコーダ７３は、トライアングルＤＤＡ回路１１から入力したＤＤＡデータＳ１１に含まれるフォギング係数ＣＯＥfog をレジスタ８６に出力するように、マルチプレクサ７６を制御する。
また、同時に、デコーダ７３は、論理値「０」をレジスタ８５に出力するように、マルチプレクサ７５を制御する。
【０１３５】
また、デコーダ７３は、ファンクションモードデータＦＭＤが図１２に示す「９」を示しており、ＬＩＰ回路６１がモジュレート処理に続いてフォギング処理を行う場合には、対応する１クロックサイクルの間、ＬＩＰ回路６１のＯＵＴ端子からフィードバックされたレベル補間データをレジスタ８８に出力し、図示しないフォグレジスタから読み出したフォグデータＣfog をレジスタ８７に出力するように、マルチプレクサ７８，７７を制御する。
また、同時に、デコーダ７３は、トライアングルＤＤＡ回路１１から入力したＤＤＡデータＳ１１に含まれるフォギング係数ＣＯＥfog をレジスタ８６に出力するように、マルチプレクサ７６を制御する。
また、同時に、デコーダ７３は、論理値「０」をレジスタ８５に出力するように、マルチプレクサ７５を制御する。
【０１３６】
また、デコーダ７３は、ＭＩＰＭＡＰ処理のレベル補間処理と、２以上のテクスチャファンクション処理とでＬＩＰ回路６１を共用する場合、すなわち合計３以上の処理でＬＩＰ回路６１を共用する場合には、共用する処理の数に応じたクロックサイクルの間、例えば図１０に示す読み出し回路５１および図１１に示すトライアングルＤＤＡ回路１１にウェイト（待ち）指示を出力する。
例えば、レベル補間処理と、２個のテクスチャファンクション処理とでＬＩＰ回路６１を共用する場合には、ＬＩＰ回路６１が２番目のテクスチャファンクション処理を行う１クロックサイクルの間、ウェイト指示を読み出し回路５１およびトライアングルＤＤＡ回路１１に出力する。
【０１３７】
ＬＩＰ回路６１は、前記式（２３）の演算を行う場合に、それぞれ８ビットのデータＡ，Ｂ，ＣＯＥおよびＣを、ＩＮA 端子、ＩＮB 端子、ＩＮcoeff 端子およびＩＮC 端子からそれぞれ入力し、８ビットのデータＤをＯＵＴ端子から出力する。
【０１３８】
ＬＩＰ回路６１は、図１５に示すように、補正データＦ、データＣＯＥの対応するビットの論理値に基づいてデータＡまたはＢを選択した部分積ｏｕｔ＿０〜ｏｕｔ＿７、および、積和演算項であるデータＣを、シフトさせて加算することで、前記式（２３）に示す演算を行う。
【０１３９】
補正データＦは、データＣＯＥ＝０ｘＦＦ（ＣＯＥ＝１．０）の場合には、データＡを、それ以外の場合にはデータＢを選択した値を持つ。
補正データＦは、８ビットのうち全ビットが論理値「１」の場合に、「１」と見るシステムにおいて、例えば、下記式（２４）に示す演算を、下記式（２５）となるように補正するために用いられる。すなわち、「Ｘ×１．０＝Ｘ」となるように補正を行う。
【０１４０】
【数２４】
０ｘＦＦ×０ｘＦＦ＝０ｘＦＥ                          …（２４）
【０１４１】
【数２５】
０ｘＦＦ×０ｘＦＦ＝０ｘＦＦ                          …（２５）
【０１４２】
部分積ｏｕｔ＿０〜ｏｕｔ＿７は、それぞれデータＣＯＥのビット０〜７が、論理値「１」であればデータＡを示し、論理値「０」であればデータＢを示している。
ここで、データＣＯＥのＬＳＢをビット０とし、ＭＳＢをビット７とする。
部分積ｏｕｔ＿ｎ（０≦ｎ≦７）は、例えば、図１６に示すように、８個のマルチプレクサ８０0 〜８０7 を用いて生成される。
具体的には、０≦ｍ≦７とした場合に、マルチプレクサ８０m に、データＡのビットｍのビットデータＡ〔ｍ〕と、データＢのビットｍのビットデータＢ〔ｍ〕と、データＣＯＥのｎのビットデータＣＯＥ〔ｎ〕とを入力し、ビットデータＣＯＥ〔ｎ〕が論理値「１」であればビットデータＡ〔ｍ〕を選択して、ビットデータｏｕｔ＿ｎ〔ｍ〕として出力する。
なお、ビットデータｏｕｔ＿ｎ〔０〕〜ｏｕｔ＿ｎ〔７〕によって、部分積ｏｕｔ＿ｎが構成される。
【０１４３】
部分積ｏｕｔ＿ｎは、ＭＳＢに向けて、ｎビットだけシフトされた後に、ｗａｌｌａｃｅ＿ｔｒｅｅ型のアーキテクチャを採用した加算回路８１に出力される。
また、積和演算項であるデータＣは、８ビット×８ビットの乗算結果の上位８ビットに加算されるように、図１５に示すように、ＭＳＢに向けて８ビットシフトされた後に加算回路８１に出力される。
【０１４４】
加算回路８１は５ｗａｌｌａｃｅ＿ｔｒｅｅ型のアーキテクチャを採用しており、入力を３個づつ集めて和と桁上げの２個の出力に絞り込み、最終的に加算回路８２において２入力加算器を用いて加算を行うことを可能にする。
これにより、補正データＦおよび積和演算項Ｃによる部分積が追加されても、回路規模は殆ど増加せず、加算速度も殆ど落とさずにすむ。
【０１４５】
図１７は、ｗａｌｌａｃｅ＿ｔｒｅｅ型のアーキテクチャを採用した加算回路８の部分構成図である。
図１７では、図１５に示す矢印９２，９３，９４に示される図中縦方向のビットデータの加算を行う構成のみを示し、それ以外の加算を行う部分は省略してある。
図１５に示す矢印９１に示される図中縦方向のビットデータの加算は、加算回路８２において行われる。
図１７に示すように、加算回路８１は、加算器１００0 〜１００6 を有する。
加算器１００0 は、矢印９２の加算を行い、補正データＦのビット１と、部分積ｏｕｔ＿０のビット１と、部分積ｏｕｔ＿１のビット０との加算を行い、和Ｓｕｍを加算回路８２に出力し、桁上げＣａｒｒｙを加算器１００1 に出力する。
【０１４６】
加算器１００1 ，１００2 ，１００3 は、矢印９３の部分の加算を行う。
加算器１００1 は、補正データＦのビット２と、部分積ｏｕｔ＿０のビット２との加算を行い、和Ｓｕｍを加算器１００3 に出力し、桁上げＣａｒｒｙを加算器１００4 に出力する。
加算器１００2 は、部分積ｏｕｔ＿１のビット１と、部分積ｏｕｔ＿２のビット０との加算を行い、和Ｓｕｍを加算器１００3 に出力し、桁上げＣａｒｒｙを加算器１００5 に出力する。
加算器１００3 は、加算器１００1 からの桁上げＣａｒｒｙと、加算器１００2 からの桁上げＣａｒｒｙとを加算し、和Ｓｕｍおよび桁上げＣａｒｒｙを加算回路８２に出力する。
【０１４７】
加算器１００4 ，１００5 ，１００6 は、矢印９４の部分の加算を行う。
加算器１００4 は、補正データＦのビット３と、部分積ｏｕｔ＿０のビット３との加算を行い、和Ｓｕｍを加算器１００6 に出力し、桁上げＣａｒｒｙを後段の加算器に出力する。
加算器１００5 は、部分積ｏｕｔ＿１のビット２と、部分積ｏｕｔ＿２のビット１との加算を行い、和Ｓｕｍを加算器１００6 に出力し、桁上げＣａｒｒｙを後段の加算器に出力する。
加算器１００6 は、加算器１００4 からの桁上げＣａｒｒｙと、加算器１００5 からの桁上げＣａｒｒｙとを加算し、和Ｓｕｍおよび桁上げＣａｒｒｙを加算回路８２に出力する。
【０１４８】
加算回路８２は、補正データＦのビット０および部分積ｏｕｔ＿０のビット０、加算回路８１から入力した和Ｓｕｍおよび桁上げＣａｒｒｙを、複数の２入力の加算器を用いて加算して、上記式（２３）の演算結果である１６ビットのデータを算出し、当該１６ビットのデータのうち上位８ビットをデータＤとして出力する。
ＬＩＰ回路６１は、例えば、図１１に示すカウンタ７２がカウント値「０」を示す場合には、当該算出したデータＤを図１１に示すＯＵＴ端子からレジスタ６２に出力し、それ以外の場合には、当該算出したデータＤを図１１に示すマルチプレクサ７８にフィードバックする。
【０１４９】
以下、図１１に示すＬＩＰ／テクスチャファンクション回路５５の動作形態について説明する。
第１の動作形態
本動作形態では、ＬＩＰ／テクスチャファンクション回路５５においてマルチテクスチャ処理を行う場合を説明する。
【０１５０】
例えば、クロック信号Ｓ１８に基づいて、第１のクロックサイクルで、ＬＩＰ回路５４からＬＩＰ／テクスチャファンクション回路５５に入力されたマルチテクスチャ処理の対象となる４点近傍補間データＣpixel0がレジスタ７４に記憶される。
次に、第１のクロックサイクルに続く第２のクロックサイクルで、レジスタ７４から読み出された４点近傍補間データＣpixel0と、ＬＩＰ回路５４から入力した４点近傍補間データＣpixel1とがマルチプレクサ７８，７７およびレジスタ８８，８７をそれぞれ介して、ＬＩＰ回路６１のＩＮA ，ＩＮB 端子に入力される。また、当該クロックサイクルで、混合比率ＣＯＥTA-TB が、マルチプレクサ７６およびレジスタ８６を介して、ＬＩＰ回路６１のＩＮcoeff 端子に入力される。そして、ＬＩＰ回路６１において、第１の混合処理が行われ、画像データＣTA-TB が生成される。当該画像データＣTA-TB は、マルチプレクサ７８にフィードバックされる。
【０１５１】
次に、第２のクロックサイクルに続く第３のクロックサイクルで、上記フィードバックされた画像データＣTA-TB と、トライアングルＤＤＡ回路１１から入力したフラグメントデータＣflagと、混合比率ＣＯＥTA-TB-S とが、マルチプレクサ７８，７７，７６およびレジスタ８８，８７，８６をそれぞれ介して、ＬＩＰ回路６１のＩＮA,ＩＮB ，ＩＮcoeff 端子に入力される。そして、ＬＩＰ回路６１において、第２の混合処理が行われ、画像データＣTA-TB-S が生成される。当該画像データＣTA-TB-S は、レジスタ６２を介して、画像データＳ１２としてメモリＩ／Ｆ回路１３に出力される。
【０１５２】
第２の動作形態
本動作形態では、ＭＩＰＭＡＰ処理のレベル補間処理と、モジュレート処理とでＬＩＰ回路６１を共用する場合を説明する。
この場合には、図８に示すメインプロセッサ４あるいはテクスチャエンジン回路１２内の図示しない主コントローラから図１１に示すデコーダ７１，７３に、１クロックサイクル毎に、モード「２」および「４」を交互に示すファンクションモードデータＦＭＤが出力される。
また、デコーダ７１は、カウンタ７２のカウント値の初期値として「１」を設定し、カウンタ７２のカウント値が「０」になる度に、カウンタ７２に「１」を設定する。
【０１５３】
具体的には、例えば、第１のクロックサイクルで、図１０に示すＬＩＰ回路５４からの４点近傍補間データＣpixel0がレジスタ７４に書き込まれる。
また、カウンタ７２のカウント値に「１」がセットされる。
【０１５４】
次に、第１のクロックサイクルに続く第２のクロックサイクルで、ファンクションモードデータＦＭＤがモード「２」を示し、４点近傍補間データＣpixel0がレジスタ７４から読み出されて、マルチプレクサ７８およびレジスタ８８を介してＬＩＰ回路６１のＩＮA 端子に出力される。それと同時に、図１０に示すＬＩＰ回路５４からの４点近傍補間データＣpixel1が、マルチプレクサ７７およびレジスタ８７を介してＬＩＰ回路６１のＩＮB 端子に出力される。
それと同時に、図１０に示す縮小率演算回路５０からのデータＣＯＥmipmapが、マルチプレクサ７６およびレジスタ８６を介してＬＩＰ回路６１のＩＮcoeffに出力される。
そして、ＬＩＰ回路５４において、上記式（１７）に示す演算が行われ、レベル補間データＣpixel が算出される。
そして、カウンタ７２がカウント値が「１」であるため、レベル補間データＣpixel がマルチプレクサ７８にフィードバックされる。
そして、カウンタ７２のカウント値が減少して「０」になる。
【０１５５】
次に、第３のクロックサイクルで、ファンクションモードデータＦＭＤがモード「４」を示し、図１０に示すＬＩＰ回路５４からの次の画素に係わる４点近傍補間データがレジスタ７４に書き込まれる。
それと同時に、第２のクロックサイクルで算出されたレベル補間データＣpixel （＝式（１８）のＣtex に対応）がマルチプレクサ７８およびレジスタ８８を介してＬＩＰ回路６１のＩＮA 端子に出力される。
それと同時に、トライアングルＤＤＡ回路１１からのＤＤＡデータＳ１１に含まれる（Ｒ，Ｇ，Ｂ）データＳ１１ａ（フラグメントカラー値Ｃflag）が、マルチプレクサ７６およびレジスタ８６を介してＬＩＰ回路６１のＩＮcoeff に出力される。
そして、ＬＩＰ回路５４において、上記式（１８）に示す演算が行われ、モジュレート処理後のカラー値Ｃmod が算出される。
そして、カウンタ７２のカウント値が「０」であるため、ＬＩＰ回路６１のＯＵＴ端子からレジスタ６２にカラー値Ｃmod が出力される。
カラー値Ｃmod は、レジスタ６２から読み出されて画素データＳ１２として後段のメモリＩ／Ｆ回路１３に出力される。
そして、カウンタ７２のカウント値に「１」がセットされる。
以後、上述した第２のクロックサイクルの処理と、第３のクロックサイクルの処理とが交互に繰り返される。
【０１５６】
以上説明したように、本動作形態では、ＭＩＰＭＡＰ処理のレベル補間処理と、モジュレート処理とでＬＩＰ回路６１を共用できる。そのため、レベル補間処理用の回路とモジュレート処理用の回路とを直列に接続した場合に比べて回路規模を縮小できる。また、本実施形態では、ＭＩＰＭＡＰ処理の４点近傍補間処理は１系統で２クロックサイクルかけて行われ、当該処理に係わる回路規模は従来と同じである。
また、本動作例では、ＬＩＰ回路６１において、レベル補間処理を行わない空き時間に、モジュレート処理を行うため、処理時間が長期化することはない。
【０１５７】
第３の動作形態
本動作形態では、ＭＩＰＭＡＰ処理のレベル補間処理と、モジュレート処理と、フォギング処理とでＬＩＰ回路６１を共用する場合を説明する。
この場合には、図８に示すメインプロセッサ４あるいはテクスチャエンジン回路１２内の図示しない主コントローラから図１１に示すデコーダ７１，７３に、１クロックサイクル毎に、モード「２」、「４」、「９」を順に繰り返して示すファンクションモードデータＦＭＤが出力される。
また、デコーダ７１は、カウンタ７２のカウント値の初期値として「２」をセットし、カウンタ７２のカウント値が「０」になる度に、カウンタ７２に「２」をセットする。
【０１５８】
具体的には、例えば、第１のクロックサイクルで、図１０に示すＬＩＰ回路５４からの４点近傍補間データＣpixel0がレジスタ７４に書き込まれる。
そして、カウンタ７２のカウント値に「２」がセットされる。
【０１５９】
次に、第２のクロックサイクルで、ファンクションモードデータＦＭＤがモード「１」を示し、４点近傍補間データＣpixel0がレジスタ７４から読み出されて、マルチプレクサ７８およびレジスタ８８を介してＬＩＰ回路６１のＩＮA 端子に出力される。それと同時に、図１０に示すＬＩＰ回路５４からの４点近傍補間データＣpixel1が、マルチプレクサ７７およびレジスタ８７を介してＬＩＰ回路６１のＩＮB 端子に出力される。
それと同時に、図１０に示す縮小率演算回路５０からのデータＣＯＥmipmapが、マルチプレクサ７６およびレジスタ８６を介してＬＩＰ回路６１のＩＮcoeffに出力される。
そして、ＬＩＰ回路５４において、上記式（１７）に示す演算が行われ、レベル補間データＣpixel が算出される。
そして、カウンタ７２がカウント値が「２」であるため、レベル補間データＣpixel がマルチプレクサ７８にフィードバックされる。
そして、カウンタ７２のカウント値が減少して「１」になる。
【０１６０】
次に、第３のクロックサイクルで、ファンクションモードデータＦＭＤがモード「４」を示し、図１０に示すＬＩＰ回路５４からの次の画素に係わる４点近傍補間データＣpixel0がレジスタ７４に書き込まれる。
それ同時に、第２のクロックサイクルで算出されたレベル補間データＣpixel（式（１８）のＣtex に対応）がマルチプレクサ７８およびレジスタ８８を介してＬＩＰ回路６１のＩＮA 端子に出力される。
それと同時に、トライアングルＤＤＡ回路１１からのＤＤＡデータＳ１１に含まれる（Ｒ，Ｇ，Ｂ）データＳ１１ａ（フラグメントカラー値Ｃflag）が、マルチプレクサ７６およびレジスタ８６を介してＬＩＰ回路６１のＩＮcoeff に出力される。
そして、ＬＩＰ回路５４において、上記式（１８）に示す演算が行われ、モジュレート処理後のカラー値Ｃmod が算出される。
そして、カラー値Ｃmod は、カウンタ７２がカウント値が「１」であるため、マルチプレクサ７８にフィードバックされる。
そして、カウンタ７２のカウント値が減少して「０」になる。
また、４点近傍補間データＣpixel0の出力を１クロックサイクルだけ待つことを指示するウェイト指示が図１０に示す読み出し回路５１に出力され、フラグメントデータＣflagの出力を１クロックサイクルだけ待つことを指示するウェイト指示が図８に示すトライアングルＤＤＡ回路１１に出力される。
【０１６１】
次に、第４のクロックサイクルで、ファンクションモードデータＦＭＤがモード「９」を示し、フォグイネーブルデータＦＥＤが論理値「１」であれば、第３のクロックサイクルで算出されたカラー値Ｃmod （式（２１）のＣflagに対応）が、マルチプレクサ７８およびレジスタ８８を介してＬＩＰ回路６１のＩＮA 端子に出力される。
それと同時に、例えば、図示しないフォグレジスタから読み出したフォグデータＣfog が、マルチプレクサ７７およびレジスタ８７を介して、ＬＩＰ回路６１のＩＮB 端子に出力される。
それと同時に、例えば、トライアングルＤＤＡ回路１１からのＤＤＡデータＳ１１に含まれるフォギング係数ＣＯＥfog が、マルチプレクサ７６およびレジスタ８６を介して、ＬＩＰ回路６１のＩＮcoeff 端子に出力される。
そして、ＬＩＰ回路５４において、上記式（２１）に示す演算が行われ、フォギング処理後のカラー値Ｃfoggedが算出される。
そして、カウンタ７２のカウント値が「０」であるため、ＬＩＰ回路６１のＯＵＴ端子からレジスタ６２にカラー値Ｃfoggedが出力される。
カラー値Ｃfoggedは、レジスタ６２から読み出されて画素データＳ１２として後段のメモリＩ／Ｆ回路１３に出力される。
以後、上述した第２のクロックサイクルの処理と、第３のクロックサイクルの処理と、第４のクロックサイクルの処理とが交互に繰り返される。
【０１６２】
以上説明したように、本動作形態では、ＭＩＰＭＡＰ処理のレベル補間処理と、モジュレート処理と、フォギング処理とでＬＩＰ回路６１を共用できる。そのため、レベル補間処理用の回路とモジュレート処理用の回路とを直列に接続した場合に比べてゲート数を少なくでき、回路規模を縮小できる。
【０１６３】
なお、テクスチャエンジン回路１２は、フルカラー方式の場合には、ＳＲＡＭ１７あるいはテクスチャバッファ２０から読み出した（Ｒ，Ｇ，Ｂ）データを直接用いる。一方、テクスチャエンジン回路１２は、インデックスカラー方式の場合には、予め作成したカラールックアップテーブル（ＣＬＵＴ）をテクスチャＣＬＵＴバッファ２３から読み出して、内蔵するＳＲＡＭに転送および記憶し、このカラールックアップテーブルを用いて、ＳＲＡＭ１７あるいはテクスチャバッファ２０から読み出したカラーインデックスに対応する（Ｒ，Ｇ，Ｂ）データを得る。
【０１６４】
メモリＩ／Ｆ回路１３
メモリＩ／Ｆ回路１３は、テクスチャエンジン回路１２から入力した画素データＳ１２に対応するｚデータと、ｚバッファ２２に記憶されているｚデータとの比較を行い、入力した画素データＳ１２によって描画される画像が、前回、ディスプレイバッファ２１に書き込まれた画像より、手前（視点側）に位置するか否かを判断し、手前に位置する場合には、画像データＳ１２に対応するｚデータでｚバッファ２２に記憶されたｚデータを更新する。
【０１６５】
ＣＲＴコントローラ回路１４
ＣＲＴコントローラ回路１４は、与えられた水平および垂直同期信号に同期して、図示しないＣＲＴに表示するアドレスを発生し、ディスプレイバッファ２１から表示データを読み出す要求をメモリＩ／Ｆ回路１３に出力する。この要求に応じて、メモリＩ／Ｆ回路１３は、ディスプレイバッファ２１から一定の固まりで表示データを読み出す。ＣＲＴコントローラ回路１４は、ディスプレイバッファ２１から読み出した表示データを記憶するＦＩＦＯ(First In First Out)回路を内蔵し、一定の時間間隔で、ＲＡＭＤＡＣ回路１５に、ＲＧＢのインデックス値を出力する。
【０１６６】
ＲＡＭＤＡＣ回路１５
ＲＡＭＤＡＣ回路１５は、各インデックス値に対応するＲ，Ｇ，Ｂデータを記憶しており、ＣＲＴコントローラ回路１４から入力したＲＧＢのインデックス値に対応するデジタル形式のＲ，Ｇ，Ｂデータを、Ｄ／Ａコンバータに転送し、アナログ形式のＲ，Ｇ，Ｂデータを生成する。ＲＡＭＤＡＣ回路１５は、この生成されたＲ，Ｇ，ＢデータをＣＲＴに出力する。
【０１６７】
以上説明したように、３次元コンピュータグラフィックシステム１によれば、テクスチャエンジン回路１２において、マルチテクスチャ処理、ＭＩＰＭＡＰ処理のレベル補間処理と、テクスチャファンクション処理とで図１１に示すＬＩＰ回路６１を共用することで、回路規模を縮小できる。この場合に、レベル補間処理と、１個のテクスチャファンクション処理とでＬＩＰ回路６１を共用した場合には、処理時間が長期化することはない。
【０１６８】
また、３次元コンピュータグラフィックシステム１によれば、図１０に示すＬＩＰ回路５２，５３，６１において、図１５に示すように補正データＦを用いて演算を行うため、全ビットが論理値「１」の場合に「１」と見なすシステムにおいて、上記式（２３）のＣＯＥが「１．０」の場合の演算を、回路規模を殆ど増大させることなく、正確に行うことができる。
すなわち、補正を行わないで適切な結果を得るために、１ビット増やして９ビットを用い、「０ｘ１００」を「１」と見なすと、前段のパイプレジスタのゲート数増加を招き、全体的にゲートを増加させることになるが、本実施形態では、ビット数を増やす必要がなく、このような問題は生じない。
【０１６９】
以下、３次元コンピュータグラフィックシステム１の全体動作について説明する。
ポリゴンレンダリングデータＳ４が、メインバス６を介してメインプロセッサ４からＤＤＡセットアップ回路１０に出力され、ＤＤＡセットアップ回路１０において、ポリゴンの辺と水平方向の差分などを示す変分データＳ１０が生成される。
この変分データＳ１０は、トライアングルＤＤＡ回路１１に出力され、トライアングルＤＤＡ回路１１において、ポリゴン内部の各画素における線形補間された（ｚ，Ｒ，Ｇ，Ｂ，ＣＯＥblend ，ｓ，ｔ，ｑ，ＣＯＥfog ）データが算出される。そして、この算出された（ｚ，Ｒ，Ｇ，Ｂ，ＣＯＥblend ，ｓ，ｔ，ｑ，ＣＯＥfog ）データと、ポリゴンの各頂点の（ｘ，ｙ）データとが、ＤＤＡデータＳ１１として、トライアングルＤＤＡ回路１１からテクスチャエンジン回路１２に出力される。
【０１７０】
次に、テクスチャエンジン回路１２において、ＤＤＡデータＳ１１が示す（ｓ，ｔ，ｑ）データについて、ｓデータをｑデータで除算する演算と、ｔデータをｑデータで除算する演算とが行われる。
そして、除算結果「ｓ／ｑ」および「ｔ／ｑ」に、それぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥが乗算され、テクスチャ座標データ（ｕ，ｖ）が生成される。
次に、メモリＩ／Ｆ回路１３を介して、テクスチャエンジン回路１２からＳＲＡＭ１７に、前記生成されたテクスチャ座標データ（ｕ，ｖ）を含む読み出し要求が出力され、メモリＩ／Ｆ回路１３を介して、ＳＲＡＭ１７に記憶された（Ｒ，Ｇ，Ｂ）データＳ１７が読み出される。
そして、このとき、上述したように、図１０および図１１に示す構成を用いて、前述したマルチテクスチャ処理、ＭＩＰＭＡＰ処理およびテクスチャファンクション処理が行われ、画素データＳ１２が生成される。
この画素データＳ１２は、テクスチャエンジン回路１２からメモリＩ／Ｆ回路１３に出力される。
【０１７１】
そして、メモリＩ／Ｆ回路１３において、テクスチャエンジン回路１２から入力した画素データＳ１２に対応するｚデータと、ｚバッファ２２に記憶されているｚデータとの比較が行なわれ、入力した画素データＳ１２によって描画される画像が、前回、ディスプレイバッファ２１に書き込まれた画像より、手前（視点側）に位置するか否かが判断され、手前に位置する場合には、画像データＳ１２がディスプレイバッファ２１に書き込まれると共に、対応するｚデータでｚバッファ２２に記憶されたｚデータが更新される。
【０１７２】
本発明は上述した実施形態には限定されない。
例えば、上述した実施形態では、図１２に示すモード「０」〜「９」を指定するファンクションモードデータＦＭＤに基づいて、ＬＩＰ回路６１が動作する場合を例示したが、例えば、ＬＩＰ回路６１がアルファブレンディング処理を行うようにしてもよい。
【０１７３】
また、ＬＩＰ回路６１を共用する処理の内容および数は任意である。例えば、ＬＩＰ回路６１において、テクスチャファンクション処理として、デカル処理やアルファブレンディング処理などを行うようにしてもよい。
また、上述した実施形態では、本発明をテクスチャエンジン回路１２に適用した場合を例示したが、本発明は、その他の画像処理装置および信号処理装置にも適用できる。
また、上述した第３実施形態で、テクスチャエンジン回路１２として、第２実施形態のテクスチャエンジン回路３０６に応じた構成を用いたものを例示したが、第１実施形態のテクスチャエンジン回路２０６に応じた構成を用いたものを用いてもよい。
【０１７４】
【発明の効果】
以上説明したように、本発明の画像処理装置によれば、ハードウェア資源を有効に使用して、小規模な回路構成で、マルチテクスチャ処理を行うことができる。
【図面の簡単な説明】
【図１】図１は、本発明の第１実施形態の画像処理装置の全体構成図である。
【図２】図２は、図１に示す画像処理装置が行うマルチテクスチャ処理を説明するための図である。
【図３】図３は、図１に示すテクスチャエンジン回路の構成図である。
【図４】図４は、図３に示すテクスチャエンジン回路の処理を説明するためのタイミングチャートである。
【図５】図５は、本発明の第２実施形態の画像処理装置の全体構成図である。
【図６】図６は、図５に示すテクスチャエンジン回路の構成図である。
【図７】図７は、図６に示すテクスチャエンジン回路の処理を説明するためのタイミングチャートである。
【図８】図８は、本発明の第３実施形態に係わる３次元コンピュータグラフィックシステムのシステム構成図である。
【図９】図９は、図８に示すＳＲＡＭおよびテクスチャバッファに記憶されているＭＩＰＭＡＰ処理に用いられるテクスチャデータを説明するための図である。
【図１０】図１０は、図８に示すテクスチャエンジン回路の部分構成図である。
【図１１】図１１は、図１０に示すＬＩＰ／テクスチャファンクション回路の構成図である。
【図１２】図１２は、各モードにおいて、ＬＩＰ回路に入力されるデータを説明するための図である。
【図１３】図１３は、ＬＩＰ／テクスチャファンクション回路におけるマルチテクスチャ処理を説明するためのタイミングチャートである。
【図１４】図１４は、ＬＩＰ／テクスチャファンクション回路におけるＭＩＰＭＡＰ処理を説明するためのタイミングチャートである。
【図１５】図１５は、図１０に示すＬＩＰ回路の処理を説明するための図である。
【図１６】図１６は、図１０に示すＬＩＰ回路の処理を説明するための図である。
【図１７】図１７は、図１５に示す前段の加算回路の部分構成図である。
【図１８】図１８は、従来技術を説明するための図である。
【符号の説明】
１…３次元コンピュータグラフィックシステム、２…メインメモリ、３…Ｉ／Ｏインタフェース回路、４…メインプロセッサ、５…レンダリング回路、１０…ＤＤＡセットアップ回路、１１…トライアングルＤＤＡ回路、１２…テクスチャエンジン回路、１３…メモリＩ／Ｆ回路、１４…ＣＲＴコントローラ回路、１５…ＲＡＭＤＡＣ回路、１６…ＤＲＡＭ、１７…ＳＲＡＭ、２０…テクスチャバッファ、２１…ディスプレイバッファ、２２…Ｚバッファ、２３…テクスチャＣＬＵＴバッファ、５０…縮小率演算回路、５１…読み出し回路、５２，５３，５４６１…ＬＩＰ回路、６０…前処理回路、６２…レジスタ、２００…画像処理装置、２０１…ソースデータ生成回路、２０２…テクスチャバッファメモリ、２０３…フレームバッファメモリ、２０４…メモリＩ／Ｆ回路、２０５…ＤＡＣ回路、２０６…テクスチャエンジン回路、２０７…制御回路、２２８…読み出し回路、２２９…４点近傍補間回路、２３０…選択回路、２３１…選択回路、２３２…マルチテクスチャ回路、２３３…スイッチ回路、３０６…テクスチャエンジン回路、３０７…制御回路、３５０…レジスタ、３５１…スイッチ回路、３５２…スイッチ回路、３３２…マルチテクスチャ回路、３３３…スイッチ回路
【図１】
0004635379.tif 000002
【図２】
0004635379.tif 000003
【図３】
0004635379.tif 000004
【図４】
0004635379.tif 000005
【図５】
0004635379.tif 000006
【図６】
0004635379.tif 000007
【図７】
0004635379.tif 000008
【図８】
0004635379.tif 000009
【図９】
0004635379.tif 000010
【図１０】
0004635379.tif 000011
【図１１】
0004635379.tif 000012
【図１２】
0004635379.tif 000013
【図１３】
0004635379.tif 000014
【図１４】
0004635379.tif 000015
【図１５】
0004635379.tif 000016
【図１６】
0004635379.tif 000017
【図１７】
0004635379.tif 000018
【図１８】
0004635379.tif 000019