(57)【要約】【課題】  テクスチャデータをテクスチャメモリに高速に転送可能にし、バイリニアフィルタリング処理を高速に実行可能にする。【解決手段】  メモリ書き込み部２は、１回の書き込み動作において、１度に転送可能でありかつ１個のアドレスに書き込み可能な個数のテクスチャデータを、共通に、第１〜第４のテクスチャメモリ１ａ〜１ｄのいずれか１つに書き込む。また第１〜第４のテクスチャメモリ１ａ〜１ｄへのデータ書き込みを、書き込むテクスチャデータのＶ座標が偶数のときは、第１、第２、第３、第４の順に行う一方、奇数のときは、第３、第４、第１、第２の順に行う。【選択図】    図１
2005149199.tif 000002
【特許請求の範囲】
【請求項１】
テクスチャデータを格納するための第１、第２、第３および第４のテクスチャメモリと、
与えられたテクスチャデータを、前記第１〜第４のテクスチャメモリに書き込む制御を行うメモリ書き込み部と、
テクスチャ座標の近傍の４点のテクスチャデータを、前記第１〜第４のテクスチャメモリから読み出す制御を行うメモリ読み出し部と、
前記メモリ読み出し部によって前記第１〜第４のテクスチャメモリから読み出された４点のテクスチャデータを用いて、バイリニアフィルタリング演算を行うバイリニアフィルタリング演算部とを備え、
前記メモリ書き込み部は、
１回の書き込み動作において、１度に転送可能でありかつ１個のアドレスに書き込み可能な個数のテクスチャデータを、共通に、前記第１〜第４のテクスチャメモリのうちのいずれか１つに対して、書き込み、かつ、
前記第１〜第４のテクスチャメモリへのデータ書き込みを、書き込むテクスチャデータのＶ座標が偶数のときは、第１、第２、第３、第４の順に行う一方、奇数のときは、第３、第４、第１、第２の順に、行うものである
ことを特徴とするテクスチャ処理装置。
【請求項２】
請求項１において、
前記メモリ読み出し部は、データ読み出しの際に、前記第１〜第４のテクスチャメモリのうちアクセスが不要のテクスチャメモリに対し、チップイネーブルをディスエーブルにする
ことを特徴とするテクスチャ処理装置。
【請求項３】
請求項１において、
前記メモリ読み出し部は、データ読み出しの際に、前記第１〜第４のテクスチャメモリのうちアクセスが不要のテクスチャメモリに対し、クロック入力を停止する
ことを特徴とするテクスチャ処理装置。
【請求項４】
請求項１において、
前記メモリ書き込み部は、与えられたテクスチャデータ群の先頭Ｖ座標が偶数か奇数かを示すＶラインモードを受け、このＶラインモードに応じて、各テクスチャデータのＶ座標が偶数か奇数かを判定するものである
ことを特徴とするテクスチャ処理装置。
【請求項５】
請求項４において、
前記メモリ書き込み部は、データ書き込みの開始アドレスが、設定可能に構成されている
ことを特徴とするテクスチャ処理装置。
【請求項６】
請求項４において、
前記メモリ書き込み部は、与えられたテクスチャデータを、指示されたシフト値だけシフトして、前記第１〜第４のテクスチャメモリに書き込むものである
ことを特徴とするテクスチャ処理装置。
【請求項７】
請求項１において、
第１のテクスチャデータ群を格納した状態の前記第１〜第４のテクスチャメモリに、次に用いる第２のテクスチャデータ群を書き込む際に、前記第１〜第４のテクスチャメモリ内において、前記第１のテクスチャデータ群のＶ座標最大のテクスチャデータを、前記第２のテクスチャデータ群のＶ座標最小のテクスチャデータを格納する位置に移動させるメモリデータ移動制御部を備えた
ことを特徴とするテクスチャ処理装置。
【請求項８】
請求項１において、
前記メモリ書き込み部は、
第１のテクスチャデータ群を格納した状態の前記第１〜第４のテクスチャメモリに、次に用いる第２のテクスチャデータ群を書き込む際に、前記第１のテクスチャデータ群のＶ座標最大のテクスチャデータに続けて、前記第２のテクスチャデータ群のうちＶ座標最小のテクスチャデータを除くテクスチャデータを、書き込むものであり、
前記メモリ読み出し部は、
前記第２のテクスチャデータ群のテクスチャデータの読み出しを、前記第１のテクスチャデータ群のＶ座標最大のテクスチャデータが格納された位置を基準にして、行うものである
ことを特徴とするテクスチャ処理装置。
【請求項９】
請求項１において、
テクスチャデータの転送を、１ピクセル当たりのテクスチャデータが１６ビットのときは、２個ずつ行い、３２ビットのときは、１個ずつ行う
ことを特徴とするテクスチャ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばコンピュータ・グラフィックスの分野において用いられるバイリニアフィルタリングを行うテクスチャ処理装置に関するものである。
【背景技術】
【０００２】
近年、ゲーム機やカーナビゲーションシステムでは、リアルな表現を得るため、図形に模様を貼り付けるテクスチャマッピングがよく用いられる。テクスチャマッピングでは、図形を構成する各ピクセルの（Ｘ，Ｙ）座標に対応するテクスチャ座標（Ｕ，Ｖ）を計算し、２次元格子状に構成されるテクスチャから、テクスチャ座標（Ｕ，Ｖ）を基にしてテクスチャデータを取り出し描画する。
【０００３】
テクスチャ座標（Ｕ，Ｖ）は小数部分を持つため、テクスチャの２次元格子上の座標に一致するとは限らない。テクスチャデータを取り出す方法としては、テクスチャ座標（Ｕ，Ｖ）を整数に丸め、２次元格子上のテクスチャデータを取り出すポイントサンプリングや、テクスチャ座標（Ｕ，Ｖ）の小数部分から近傍の４点のテクスチャデータの平均を計算するバイリニアフィルタリング等がある。バイリニアフィルタリングは、テクスチャ座標（Ｕ，Ｖ）が整数にならなくてもテクスチャデータを補間するので、ポイントサンプリングと比べると、図形を変形させたり回転させたりした場合であっても、一般に高画質である。
【０００４】
図１９はバイリニアフィルタリングの概念を示す図である。同図中、Ｔはテクスチャ座標（Ｕ，Ｖ）が指す位置であり、ｐはＵの小数部、ｑはＶの小数部であり、０≦ｐ＜１、０≦ｑ＜１である。Ｔ０，Ｔ１，Ｔ２，Ｔ３は、Ｔの近傍４点の２次元格子上のテクスチャデータであり、Ｔの整数部を（ｕ，ｖ）とすると、Ｔ０の座標は（ｕ，ｖ）、Ｔ１の座標は（ｕ＋１，ｖ）、Ｔ２の座標は（ｕ，ｖ＋１）、Ｔ３の座標は（ｕ＋１，ｖ＋１）である。
【０００５】
バイリニアフィルタリングの計算式は、
Ｔ＝（１−ｐ）×（１−ｑ）×Ｔ０＋ｐ×（１−ｑ）×Ｔ１
＋（１−ｐ）×ｑ×Ｔ２＋ｐ×ｑ×Ｔ３
のようになり、Ｔ０，Ｔ１，Ｔ２，Ｔ３のＲＧＢ値についてそれぞれ計算する。
【０００６】
このように、バイリニアフィルタリングは、１個のテクスチャを生成するのに、４点のテクスチャデータを必要とする。ＬＳＩでテクスチャマッピングを行う際、テクスチャを内部メモリに格納してから参照するが、バイリニアフィルタリングを行う際には、１個のテクスチャを生成するのに内部メモリを４回参照する必要があり、処理が低速になる。
【０００７】
従来、バイリニアフィルタリングを高速に処理するため、テクスチャを２次元格子上の座標（２ｍ，２ｎ）、（２ｍ＋１，２ｎ）、（２ｍ，２ｎ＋１）、（２ｍ＋１，２ｎ＋１）（ｍ、ｎは整数）毎に分類し、この分類種に対応させて、テクスチャデータを４個のメモリに個別に格納し、バイリニアフィルタリングを行う際には、これら４個のメモリから同時にテクスチャデータを読み出す方法が提案されている（例えば、特許文献１参照）。
【特許文献１】特開平１１−１５４２３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述した従来の方法によると、テクスチャデータを４種類に分類して、それぞれ対応したメモリに格納する必要があるため、例えば、データバスを介して、複数ピクセルのテクスチャデータを同時にメモリまで転送できる場合において、転送動作を最速には実行できないという問題がある。
【０００９】
例えば、テクスチャマッピング装置が１６ビット（/pixel）と３２ビット（/pixel）のテクスチャデータを扱う場合、内部メモリの各アドレスで記憶するデータのビット数は、通常、３２ビットである。そして、内部メモリまでテクスチャデータを転送するデータバスのビット数が３２であれば、１６ビットのテクスチャデータは一度に２ピクセル分転送することができる。しかしながら、上述の従来の方法によると、この２ピクセル分のテクスチャデータは別々のメモリに格納する必要があるため、メモリにリード・モディファイ・ライトの処理が入ってしまい、これにより、最速で転送することができず、データバスの転送速度が低速になってしまう。
【００１０】
また、従来の方法によれば、バイリニアフィルタリングを行う際、常に４個のメモリからテクスチャデータを読み出すため、メモリ部の消費電力が高くなるといった問題もある。
【００１１】
前記の問題に鑑み、本発明は、バイリニアフィルタリングを行うテクスチャ処理装置において、テクスチャデータをテクスチャメモリに高速に転送可能にし、バイリニアフィルタリング処理を高速に実行可能にすることを課題とする。
【課題を解決するための手段】
【００１２】
前記の課題を解決するために、本発明は、テクスチャ処理装置として、テクスチャデータを格納するための第１、第２、第３および第４のテクスチャメモリと、与えられたテクスチャデータを前記第１〜第４のテクスチャメモリに書き込む制御を行うメモリ書き込み部と、テクスチャ座標の近傍の４点のテクスチャデータを前記第１〜第４のテクスチャメモリから読み出す制御を行うメモリ読み出し部と、前記メモリ読み出し部によって前記第１〜第４のテクスチャメモリから読み出された４点のテクスチャデータを用いて、バイリニアフィルタリング演算を行うバイリニアフィルタリング演算部とを備え、前記メモリ書き込み部は、１回の書き込み動作において、１度に転送可能でありかつ１個のアドレスに書き込み可能な個数のテクスチャデータを共通に前記第１〜第４のテクスチャメモリのうちのいずれか１つに対して書き込み、かつ、前記第１〜第４のテクスチャメモリへのデータ書き込みを、書き込むテクスチャデータのＶ座標が偶数のときは第１、第２、第３、第４の順に行う一方、奇数のときは第３、第４、第１、第２の順に行うものである。
【００１３】
本発明によると、１回の書き込み動作において、１度に転送可能でありかつ１個のアドレスに書き込み可能な個数のテクスチャデータが、共通に、第１〜第４のテクスチャメモリのうちのいずれか１つに対して書き込まれる。このため、テクスチャデータの転送途中において余分な処理が不要となり、データバスの転送能力を活かした速度でデータ書き込みが実行できる。しかも、第１〜第４のテクスチャメモリへのデータ書き込みは、テクスチャデータのＶ座標が偶数のときは第１、第２、第３、第４の順に行われ、奇数のときは第３、第４、第１、第２の順に行われる。このため、Ｕ座標が同一でＶ座標が「１」違いのテクスチャデータは、必ず、異なるテクスチャメモリに格納される。これにより、バイリニアフィルタリング処理の際に、必要な４点のテクスチャデータを、一度に読み出すことができる。
【００１４】
そして、前記本発明に係るテクスチャ処理装置におけるメモリ読み出し部は、データ読み出しの際に、前記第１〜第４のテクスチャメモリのうちアクセスが不要のテクスチャメモリに対し、チップイネーブルをディスエーブルにする、または、クロック入力を停止するのが好ましい。これにより、テクスチャ処理装置の消費電力を下げることができる。
【００１５】
また、前記本発明に係るテクスチャ処理装置におけるメモリ書き込み部は、与えられたテクスチャデータ群の先頭Ｖ座標が偶数か奇数かを示すＶラインモードを受け、このＶラインモードに応じて、各テクスチャデータのＶ座標が偶数か奇数かを判定するのが好ましい。
【００１６】
さらに、前記メモリ書き込み部は、データ書き込みの開始アドレスが、設定可能に構成されているのが好ましい。または、前記メモリ書き込み部は、与えられたテクスチャデータを、指示されたシフト値だけシフトして、前記第１〜第４のテクスチャメモリに書き込むのが好ましい。
【００１７】
また、前記本発明に係るテクスチャ処理装置は、第１のテクスチャデータ群を格納した状態の前記第１〜第４のテクスチャメモリに、次に用いる第２のテクスチャデータ群を書き込む際に、前記第１〜第４のテクスチャメモリ内において、前記第１のテクスチャデータ群のＶ座標最大のテクスチャデータを、前記第２のテクスチャデータ群のＶ座標最小のテクスチャデータを格納する位置に移動させるメモリデータ移動制御部を備えているのが好ましい。
【００１８】
また、前記本発明に係るテクスチャ処理装置において、前記メモリ書き込み部は、第１のテクスチャデータ群を格納した状態の前記第１〜第４のテクスチャメモリに、次に用いる第２のテクスチャデータ群を書き込む際に、前記第１のテクスチャデータ群のＶ座標最大のテクスチャデータに続けて、前記第２のテクスチャデータ群のうちＶ座標最小のテクスチャデータを除くテクスチャデータを書き込むものとし、前記メモリ読み出し部は、前記第２のテクスチャデータ群のテクスチャデータの読み出しを、前記第１のテクスチャデータ群のＶ座標最大のテクスチャデータが格納された位置を基準にして行うものとするのが好ましい。
【００１９】
また、前記本発明に係るテクスチャ処理装置は、テクスチャデータの転送を、１ピクセル当たりのテクスチャデータが１６ビットのときは２個ずつ行い、３２ビットのときは１個ずつ行うものとするのが好ましい。
【発明の効果】
【００２０】
本発明によると、データバスを介して複数ピクセルのテクスチャデータを一度に転送できる場合に、データバスの転送能力を活かした速度で、テクスチャメモリに書き込むことができる。また、バイリニアフィルタリング処理の際も、必要な４個のテクスチャデータをテクスチャメモリから一度に読み出すことができる。したがって、テクスチャデータの転送を高速に実行できるとともに、バイリニアフィルタリング処理を高速に実行することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態について、図面を参照して説明する。
【００２２】
（第１の実施形態）
図１は本発明の第１の実施形態に係るテクスチャ処理装置の構成を示すブロック図である。図１において、第１、第２、第３および第４のテクスチャメモリ１ａ，１ｂ，１ｃ，１ｄは、テクスチャデータを格納するためのメモリであり、ここではそれぞれ３２ビット×２５６ワードで構成されているものとする。また当該装置は、３２ビットのデータが一度に転送可能なように構成されている。テクスチャメモリ１ａ〜１ｄは、クロックの立ち上がりエッジにおいてライトイネーブルやアドレス、データを取り込む。
【００２３】
メモリ書き込み部２は、外部記憶手段等からロードされたテクスチャデータをテクスチャメモリ１ａ〜１ｄに対して書き込む制御を行うものであり、書き込みデータＤＩ、書き込みアドレスＷＡＤａ，ＷＡＤｂ，ＷＡＤｃ，ＷＡＤｄ、およびライトイネーブルＮＷＥａ，ＮＷＥｂ，ＮＷＥｃ，ＮＷＥｄを出力する。ここでは、与えられるテクスチャデータおよび書き込みデータＤＩは３２ビット、書き込みアドレスＷＡＤａ〜ＷＡＤｄは８ビットとする。またライトイネーブルＮＷＥａ〜ＮＷＥｄは、“０”が書き込み状態を示し、“１”が読み出し状態を示すものとする。
【００２４】
メモリ読み出し部３は、与えられたテクスチャ座標（すでに整数に丸められたもの）に基づいて、テクスチャメモリ１ａ〜１ｄからバイリニアフィルタリングに必要なテクスチャデータを読み出す制御を行うものであり、読み出しアドレスＲＡＤａ，ＲＡＤｂ，ＲＡＤｃ，ＲＡＤｄ、およびチップイネーブルＮＣＥａ，ＮＣＥｂ，ＮＣＥｃ，ＮＣＥｄを出力する。ここでは、読み出しアドレスＲＡＤａ〜ＲＡＤｄは８ビットとする。またチップイネーブルＮＣＥａ〜ＮＣＥｄは、“０”がメモリ１ａ〜１ｄを動作状態にし、“１”がメモリ１ａ〜１ｄを停止状態にするものとする。メモリ１ａ〜１ｄを停止状態にすることによって消費電力を抑えることができる。
【００２５】
セレクタ４ａ，４ｂ，４ｃ，４ｄは、テクスチャメモリ１ａ〜１ｄに対応してそれぞれ設けられている。各セレクタ４ａ〜４ｄは、テクスチャデータがテクスチャメモリ１ａ〜１ｄに書き込まれる期間は、メモリ書き込み部２から出力された書き込みアドレスＷＡＤａ〜ＷＡＤｄを選択する一方、バイリニアフィルタリング演算処理期間は、メモリ読み出し部３から出力された読み出しアドレスＲＡＤａ〜ＲＡＤｄを選択し、メモリアドレスＡＤａ，ＡＤｂ，ＡＤｃ，ＡＤｄとして、それぞれ出力する。
【００２６】
テクスチャ選択部５は、テクスチャメモリ１ａ〜１ｄから読み出されたデータＤＯａ，ＤＯｂ，ＤＯｃ，ＤＯｄから、図１９に示すような、バイリニアフィルタリング演算処理において必要になる４点のテクスチャデータＴ０〜Ｔ３を選択し出力する。バイリニアフィルタリング演算部６は、テクスチャ選択部５から選択出力された４点のテクスチャデータＴ０〜Ｔ３を用いてバイリニアフィルタリング演算を行い、バイリニアフィルタリングデータを出力する。このバイリニアフィルタリングデータは、図示しないフレームメモリの描画座標（Ｘ，Ｙ）に対応する領域に書き込まれ、フレームメモリ上の図形データはディスプレイ等の表示装置で表示される。
【００２７】
以下、メモリ書き込み部２の構成および動作について、詳細に説明する。
【００２８】
図２は図１におけるメモリ書き込み部２の内部構成を示す図である。図２において、制御用カウンタ７は、書き込みカウント値ｗｃｎｔを生成するものであり、加算器８、セレクタ９およびレジスタ１０によって構成されている。加算器８はレジスタ１０の値に“１”を加算する。セレクタ９は起動信号が“０”のときは加算器８の演算結果を選択する一方、起動信号が“１”のときは“０”を選択する。レジスタ１０はセレクタ９の出力を記憶する１０ビットのフリップフロップであり、レジスタ１０の値が書き込みカウント値ｗｃｎｔとなる。
【００２９】
ここで、『ｗｃｎｔ［９：０］』のようにデータ名の後に付した［］はそのデータのビット位置を示している。すなわち、［ｉ：ｊ］はｉビット目からｊビット目までの連続した（ｉ−ｊ＋１）ビットを指す。例えば、先のｗｃｎｔ［９：０］は、データｗｃｎｔの９ビット目から０ビット目までの連続した１０ビットを意味する。また、［ｉ］はそのデータのｉビット目の１ビットを指し、例えば、ｗｃｎｔ［０］はデータｗｃｎｔの０ビット目を、ｗｃｎｔ［１］はデータｗｃｎｔの１ビット目を意味する。
【００３０】
論理回路１９ａはｗｃｎｔ［０］とｗｃｎｔ［１］との論理和をとり、データｎｗｃｎｔ００として出力する。データｎｗｃｎｔ００は、ｗｃｎｔ［１：０］＝００（２進数）のときのみ“０”になる。同様に、論理回路１９ｂはｗｃｎｔ［０］の論理否定とｗｃｎｔ［１］との論理和をとり、データｎｗｃｎｔ０１として出力する。データｎｗｃｎｔ０１は、ｗｃｎｔ［１：０］＝０１（２進数）のときのみ“０”になる。論理回路１９ｃはｗｃｎｔ［０］とｗｃｎｔ［１］の論理否定との論理和をとり、データｎｗｃｎｔ１０として出力する。データｎｗｃｎｔ１０は、ｗｃｎｔ［１：０］＝１０（２進数）のときのみ“０”になる。論理回路１９ｄはｗｃｎｔ［０］とｗｃｎｔ［１］との論理積を論理否定し、データｎｗｃｎｔ１１として出力する。データｎｗｃｎｔ１１は、ｗｃｎｔ［１：０］＝１１（２進数）のときのみ“０”になる。
【００３１】
ライトイネーブル生成部１１は、テクスチャデータのビット数（１ピクセル当たり）と横幅、および書き込みカウント値ｗｃｎｔ［９：０］を基にして、データｎｗｃｎｔ００，ｎｗｃｎｔ０１，ｎｗｃｎｔ１０，ｎｗｃｎｔ１１のいずれかを、ライトイネーブルＮＷＥａ，ＮＷＥｂ，ＮＷＥｃ，ＮＷＥｄとしてそれぞれ選択する。図３および図４はライトイネーブルＮＷＥａ〜ＮＷＥｄを選択するための条件の例を示す。ライトイネーブル生成部１１から出力されたライトイネーブルＮＷＥａ〜ＮＷＥｄはレジスタ１２〜１５にそれぞれ格納され、決定される。
【００３２】
ここで、書き込むテクスチャデータのＶ座標が偶数のときは、テクスチャメモリ１ａ→１ｂ→１ｃ→１ｄ→１ａ→・・・の順に書き込みを行い、奇数のときは、テクスチャメモリ１ｃ→１ｄ→１ａ→１ｂ→１ｃ→・・・の順に書き込みを行うように、ライトイネーブルＮＷＥａ〜ＮＷＥｄが生成される。
【００３３】
すなわち、図３に示すような条件によって、書き込むテクスチャデータのＶ座標が偶数か奇数かを判定する。例えば、テクスチャのビット数が１６（bit/pixel）であり、横幅が８（pixel）のとき、転送可能なデータは３２ビットであるため、１回のメモリ書き込みによって２ピクセルのテクスチャデータを書き込むことができ、８ピクセルのテクスチャデータをメモリに格納するために、４回のメモリ書き込みを行うことになる。すなわち、４回メモリに書き込む毎にＶ座標の偶数と奇数が切り替わることになり、ｗｃｎｔ［２］＝０のときはＶ座標が偶数、ｗｃｎｔ［２］＝１のときはＶ座標が奇数となる。
【００３４】
そして、図４に示すように、Ｖ座標が偶数か奇数かによって、ライトイネーブルＮＷＥａ〜ＮＷＥｄを切り替える。
【００３５】
レジスタ１６は８ビットのフリップフロップであり、ｗｃｎｔ［９：２］すなわち書き込みカウント値の上位８ビットを記憶する。レジスタ１６の値は書き込みアドレスＷＡＤａ〜ＷＡＤｄの共通データとなる。書き込みアドレスＷＡＤａ〜ＷＡＤｄは、ｗｃｎｔ［９：２］の値を用いているため、メモリ書き込みを４回行う毎に「１」増加する。レジスタ１７は３２ビットのフリップフロップであり、与えられたテクスチャデータを記憶する。レジスタ１７の値は書き込みデータＤＩとして出力される。書き込み終了判定部１８は書き込みカウント値ｗｃｎｔ［９：０］をモニターし、メモリ書き込みの回数が処理に必要な所定数に達したとき、メモリ書き込み処理を終了させる。
【００３６】
図５はメモリ書き込み処理を示すタイミングチャートである。図５では、テクスチャデータのビット数が１６（bit/pixel）、横幅が８（pixel）の場合を例にとって示している。図５に示すように、書き込みアドレスＷＡＤａ〜ＷＡＤｄが“０”の期間は、書き込むテクスチャデータのＶ座標が偶数であり、ライトイネーブルＮＷＥａ〜ＮＷＥｄはＮＷＥａ→ＮＷＥｂ→ＮＷＥｃ→ＮＷＥｄの順にアサートされる。これにより、第１〜第４のテクスチャメモリ１ａ〜１ｄへの書き込みは、第１（１ａ）、第２（１ｂ）、第３（１ｃ）、第４（１ｄ）の順に行われる。一方、書き込みアドレスＷＡＤａ〜ＷＡＤｄが“１”の期間は、書き込むテクスチャデータのＶ座標が奇数であり、ライトイネーブルＮＷＥａ〜ＮＷＥｄはＮＷＥｃ→ＮＷＥｄ→ＮＷＥａ→ＮＷＥｂの順にアサートされる。これにより、第１〜第４のテクスチャメモリ１ａ〜１ｄへの書き込みは、第３（１ｃ）、第４（１ｄ）、第１（１ａ）、第２（１ｂ）の順に行われる。
【００３７】
このように、１回の書き込み動作において、１度に転送可能な１個または複数個のテクスチャデータが、共通に、第１〜第４のテクスチャメモリ１ａ〜１ｄのうちのいずれか１つに対して書き込まれるため、連続サイクルで、テクスチャデータをメモリに高速に書き込むことが可能である。
【００３８】
次に、メモリ読み出し部３の構成および動作について、詳細に説明する。
【００３９】
図６は図１におけるメモリ読み出し部３の内部構成を示す図である。図６において、加算器１９，２０は、与えられたＵ座標およびＶ座標に「１」をそれぞれ加算する。そして、Ｔ０アドレス生成部２１は、座標（Ｕ，Ｖ）に対応するテクスチャデータのメモリアドレスｒａｄｒ０を生成出力する。同様に、Ｔ１アドレス生成部２２は座標（Ｕ＋１，Ｖ）に対応するテクスチャデータのメモリアドレスｒａｄｒ１を、Ｔ２アドレス生成部２３は座標（Ｕ，Ｖ＋１）に対応するテクスチャデータのメモリアドレスｒａｄｒ２を、そしてＴ３アドレス生成部２４は座標（Ｕ＋１，Ｖ＋１）に対応するテクスチャデータのメモリアドレスｒａｄｒ３を、それぞれ生成出力する。メモリアドレスｒａｄｒ０〜ｒａｄｒ３はそれぞれ８ビットである。
【００４０】
図７はＴ０アドレス生成部２１におけるメモリアドレス生成内容を示す。同図中、例えば｛Ｖ［５：０］，Ｕ［４：３］｝とあるのは、座標値Ｖの５ビット目から０ビット目までの連続した６ビットと、座標値Ｕの４ビット目から３ビット目までの連続した２ビットを連結した８ビットの値を示す。Ｔ１アドレス生成部２２、Ｔ２アドレス生成部２３およびＴ３アドレス生成部２４も、同様にしてメモリアドレスを生成する。
【００４１】
セレクタ２５は、２ビットのセレクト信号ＳＥＬａに応じて、メモリアドレスｒａｄｒ０〜ｒａｄｒ３のいずれかを選択する。同様に、セレクタ２６，２７，２８はそれぞれ、２ビットのセレクト信号ＳＥＬｂ，ＳＥＬｃ，ＳＥＬｄに応じて、メモリアドレスｒａｄｒ０〜ｒａｄｒ３のいずれかを選択する。セレクタ２５〜２８は、セレクト信号ＳＥＬａ〜ＳＥＬｄが、“００”（２進数）のときはｒａｄｒ０を選択し、“０１”（２進数）のときはｒａｄｒ１を選択し、“１０”（２進数）のときはｒａｄｒ２を選択し、“１１”（２進数）のときはｒａｄｒ３を選択する。レジスタ２９，３０，３１，３２はセレクタ２５〜２８で選択されたアドレスを記憶し、読み出しアドレスＲＡＤａ〜ＲＡＤｄとしてそれぞれ出力する。
【００４２】
メモリ読み出し制御部３３は、座標（Ｕ，Ｖ）を基にして、上述したセレクト信号ＳＥＬａ〜ＳＥＬｄを生成するとともに、各テクスチャメモリ１ａ〜１ｄのチップイネーブルＮＣＥａ〜ＮＣＥｄを生成する。図８はメモリ読み出し制御部３３におけるセレクト信号ＳＥＬａ〜ＳＥＬｄの生成内容を示す。同図中、Ｖ［０］，Ｕ［２：０］，ＳＥＬａ〜ＳＥＬｄはそれぞれ２進数で表記している。なお、図８においてハッチを付した部分は、そのときのデータ読み出しにおいてアクセスする必要がないメモリに係るものであり、一応“００”（２進数）と図示しているが、どのような値でもよい。
【００４３】
また、データ読み出しの際に、アクセスが不要のテクスチャメモリに対しては、チップイネーブルをディスエーブルにするのが好ましい。図９はメモリ読み出し制御部３３におけるチップイネーブルＮＣＥａ〜ＮＣＥｄの生成内容を示す。同図中、ハッチを付した部分は、図８のハッチを付した部分と同一条件になっており、この場合、メモリに対してアクセスする必要がないため、チップイネーブルを“１”にしてディスエーブル状態にする。これにより、メモリ動作を止めることができ、消費電力を下げることができる。なお、アクセスが不要のテクスチャメモリに対しては、チップイネーブルをディスエーブルにする代わりに、またはこれとともに、クロック入力を停止してもよい。
【００４４】
そして、テクスチャ選択部５は、図１０に示すような内容に従って、テクスチャメモリ１ａ〜１ｄから読み出されたデータＤＯａ〜ＤＯｄから、バイリニアフィルタリング演算に必要な４点のテクスチャデータＴ０〜Ｔ３を選択する。なお、テクスチャデータのビット数が１６（bit/pixel）の場合、３２ビットのデータＤＯａ〜ＤＯｄのうちの１６ビットを選択するが、テクスチャデータＴ０〜Ｔ３としては、バイリニアフィルタリング演算部４において演算可能なように、Ｒ，Ｇ，Ｂの各値のビット数を拡張して出力する。
【００４５】
図１１は本実施形態におけるテクスチャデータの書き込みおよび読み出しを概念的に示す図であり、（ａ）はビット数が１６の場合、（ｂ）はビット数が３２の場合である。同図中、ａ〜ｄの記号は、それぞれ、第１〜第４のテクスチャメモリ１ａ〜１ｄにテクスチャデータが書き込まれることを示している。図１１（ａ）に示すように、テクスチャデータが１６ビットの場合、各テクスチャデータは、一度に転送できる２個単位で、各テクスチャメモリ１ａ〜１ｄに書き込まれる。すなわち、テクスチャデータを高速に転送することができる。また、破線矩形枠Ａ，Ｂ，Ｃで示すとおり、必要な４個のテクスチャデータは、複数のテクスチャメモリから、同一サイクルで読み出すことができる。なお、例えば矩形枠Ａの場合、データ読み出しは第１および第３のテクスチャメモリ１ａ，１ｃから行えばよく、第２および第４のテクスチャメモリ１ｂ，１ｄのアクセスは不要であるので、上述したとおり、チップイネーブルＮＣＥｂ，ＮＣＥｄがディセーブルにされる。
【００４６】
以上のように本実施形態によると、テクスチャデータをテクスチャメモリに転送する際、常に、連続サイクルで書き込みを行うことができるので、テクスチャデータを高速に転送することができる。また、バイリニアフィルタリング処理に必要な４点のテクスチャデータを、同一サイクルで、読み出すことができるので、処理を高速に実行することができる。また、データ読み出しの際に、アクセスが必要のテクスチャメモリに対して、チップイネーブルをディスエーブルにしたり、クロック入力を停止することによって、装置の消費電力を下げることができる。
【００４７】
なお、本実施形態では、テクスチャメモリの各アドレスには３２ビットのデータが書き込み可能であり、一度に転送可能なデータも３２ビットであり、テクスチャデータは１６ビットと３２ビットとの２種類があるものとしたが、本発明はこれに限られるものではなく、発明の主旨を逸脱しない範囲で様々な態様のものが考えられる。例えば、一度に６４ビットのデータが転送可能なように構成されている場合は、テクスチャデータが１６ビットのときは、４個のテクスチャデータを転送し、２個ずつ、例えば第１および第２のテクスチャメモリに同時に書き込むようにし、テクスチャデータが３２ビットのときは、２個のテクスチャデータを転送し、１個ずつ、第１および第２のテクスチャメモリに同時に書き込むようにしてもよい。すなわち、１度に転送可能でありかつ１個のアドレスに書き込み可能な個数のテクスチャデータを、いずれか１つのテクスチャメモリに共通に書き込むようにすることによって、データバスの転送能力を活かした速度で、データ書き込みが実行できる。
【００４８】
（第２の実施形態）
本発明の第２の実施形態に係るテクスチャ処理装置の構成は、基本的には図１に示すとおりであるが、第１の実施形態とは、メモリ書き込み部２Ａの構成が異なっている。図１２は本実施形態におけるメモリ書き込み部２Ａの構成を示すブロック図である。同図中、第１の実施形態で示した図２と共通の構成要素については図２と同一の符号を付しており、ここではその詳細な説明を省略する。
【００４９】
ライトイネーブル生成部３４は、書き込みカウント値ｗｃｎｔおよびデータｎｗｃｎｔ００，ｎｗｃｎｔ０１，ｎｗｃｎｔ１０，ｎｗｃｎｔ１１に加えて、ＶラインモードＶＭを受ける。そして、テクスチャデータのビット数と横幅、書き込みカウント値ｗｃｎｔ［９：０］、およびＶラインモードＶＭを基にして、データｎｗｃｎｔ００，ｎｗｃｎｔ０１，ｎｗｃｎｔ１０，ｎｗｃｎｔ１１のいずれかを、ライトイネーブルＮＷＥａ，ＮＷＥｂ，ＮＷＥｃ，ＮＷＥｄとしてそれぞれ選択する。
【００５０】
ここで、ＶラインモードＶＭとは、与えられたテクスチャデータ群の先頭Ｖ座標が偶数か奇数かを示す信号であり、“０”のときは先頭Ｖ座標が偶数、“１”のときは先頭Ｖ座標が奇数であることを示す。
【００５１】
ＶラインモードＶＭが“０”のとき、すなわち、書き込むテクスチャデータ群のＶ座標が偶数から始まる場合は、各テクスチャデータのＶ座標が偶数か奇数か判定する条件は、第１の実施形態で図３に示したものと同様である。一方、Ｖラインモードが“１”のとき、すなわち、書き込むテクスチャデータ群のＶ座標が奇数から始まる場合は、各テクスチャデータのＶ座標が偶数か奇数か判定する条件は、図１３のようになる。そして第１の実施形態と同様に、図４に示すように、Ｖ座標が偶数か奇数かによって、ライトイネーブルＮＷＥａ〜ＮＷＥｄを切り替える。
【００５２】
レジスタ３９は、起動信号を１サイクルディレイさせるためのフリップフロップである。書き込みアドレス生成部４０は、書き込みアドレスＷＡＤａ〜ＷＡＤｄを生成するものであり、加算器４１、セレクタ４２，４３およびレジスタ４４によって構成される。加算器４１はレジスタ４４の値に“１”を加算する。セレクタ４２は、起動信号とレジスタ３９の値との論理和をとった信号が、“０”のときは加算器４１の演算結果を選択する一方、“１”のときは開始アドレスを選択する。この開始アドレスは、当該テクスチャ処理装置の外部から設定可能である。セレクタ４３は、データｎｗｃｎｔ００が“０”のときはセレクタ４２の出力を選択する一方、“１”のときはレジスタ４４の値を選択する。レジスタ４４はセレクタ４３の出力を記憶する８ビットのフリップフロップである。
【００５３】
レジスタ４４の値であるｗａｄｒ［７：０］は、書き込みアドレスＷＡＤａ〜ＷＡＤｄの共通データとなる。データｎｗｃｎｔ００は４サイクルに１回“０”になるので、レジスタ４４の値は４サイクルに１回更新される。すなわち、書き込みアドレスＷＡＤａ〜ＷＡＤｄはメモリ書き込みを４回行う毎に「１」増加する。
【００５４】
レジスタ４５は３２ビットのフリップフロップであり、テクスチャデータｌｏａｄ［３１：０］をデータｌｏａｄ１［３１：０］として保持する。左シフター４６は、レジスタ４５に保持されたデータｌｏａｄ１［３１：０］と与えられたテクスチャデータｌｏａｄ［３１：０］とを連結した６４ビットのデータを、指示されたシフト値に従って、左シフトする。このシフト値は、当該テクスチャ処理装置の外部から与えることができる。レジスタ４７は３２ビットのフリップフロップであり、左シフター４６の出力の上位３２ビットを記憶する。レジスタ４７の値は書き込みデータＤＩとなる。
【００５５】
本実施形態によると、ＶラインモードＶＭに応じて、各テクスチャデータのＶ座標が偶数か奇数かを判定するので、与えられたテクスチャデータ群の先頭Ｖ座標が偶数であっても奇数であっても、第１の実施形態と同様のデータ書き込みを実現することができる。また、データ書き込みの開始アドレスが設定可能に構成されているので、与えられたテクスチャデータをテクスチャメモリの任意のアドレスに書き込むことができ、例えば、転送元のテクスチャデータを横１ラインずつ、テクスチャメモリの任意のアドレスに書き込むことができる。このため、第１の実施形態では転送元のテクスチャデータが必ず外部記憶手段の連続するアドレスに格納されている、という制約があるのに対して、本実施形態では、例えば、外部記憶手段上の大きなテクスチャデータの中のある矩形領域部分を切り出して、テクスチャメモリに転送する、といった動作が可能になる。
【００５６】
また、転送中のテクスチャデータをシフトすることができるので、テクスチャデータの開始位置をワード境界上に置く必要がなく、さらに自由度の高いテクスチャデータの転送が可能になる。
【００５７】
（第３の実施形態）
図１４は本発明の第３の実施形態に係るテクスチャ処理装置の構成を示すブロック図である。同図中、図１と共通の構成要素には図１と同一の符号を付しており、ここではその詳細な説明を省略する。テクスチャメモリ１ａ〜１ｄ、メモリ読み出し部３、テクスチャ選択部５およびバイリニアフィルタリング演算部６は第１の実施形態で説明したものと同様であり、メモリ書き込み部２Ａは第２の実施形態で説明したものと同様である。
【００５８】
メモリデータ移動制御部４８は、前のバイリニアフィルタリング処理のときに第１〜第４のテクスチャメモリ１ａ〜１ｄに格納されたテクスチャデータ群のうちＶ座標最大のテクスチャデータを、第１〜第４のテクスチャメモリ１ａ〜１ｄ内において、次のバイリニアフィルタリング処理のために用いるテクスチャデータ群のうちＶ座標最小（ここでは０）のテクスチャデータを格納する領域に、移動させる機能を有する。
【００５９】
図１５は外部記憶手段上のテクスチャデータを分割して内部のテクスチャメモリに転送してバイリニアフィルタリングを行う場合のデータ分割の例を示す概念図であり、８ピクセル×５ピクセルの領域でテクスチャを分割する場合を例にとっている。図１５では、第１のテクスチャデータ群と第２のテクスチャデータ群とで、領域ＡＲが重複している。すなわち、バイリニアフィルタリングのためにテクスチャデータを分割する際には、境界部分が１ライン重なるようにする。これは、テクスチャデータ群の境界部分についてバイリニアフィルタリングを行うには、隣接するテクスチャデータが必要になるためである。
【００６０】
このため、第１のテクスチャメモリ群をテクスチャメモリ１ａ〜１ｄに格納し、バイリニアフィルタリング処理を行った後、第２のテクスチャメモリ群をテクスチャメモリ１ａ〜１ｄに格納する場合には、通常は、重複領域ＡＲのテクスチャデータが、テクスチャメモリ１ａ〜１ｄに２度書きされることになる。
【００６１】
これに対して本実施形態では、メモリデータ移動制御部４８を設けることによって、重複領域ＡＲの２度書きを回避し、外部記憶手段からのテクスチャデータの転送量を削減することができる。すなわち、メモリデータ移動制御部４８が、第１のテクスチャメモリ群に対するバイリニアフィルタリング処理が終了した後、メモリデータ移動期間において、重複領域ＡＲのテクスチャデータをテクスチャメモリ１ａ〜１ｄ内において移動させる処理を行う。
【００６２】
メモリデータ移動制御部４８は、データ移動処理用のメモリアドレスＭＡＤおよびライトイネーブルＮＭＷＥを出力し、セレクタ４９、セレクタ５０ａ〜５０ｄおよびセレクタ５２ａ〜５２ｄを制御する。
【００６３】
セレクタ４９は、データ移動処理期間はライトイネーブルＮＭＷＥを選択し、それ以外の期間はライトイネーブルＮＷＥａ〜ＮＷＥｄを選択し、ライトイネーブルＮＷＥａ’〜ＮＷＥｄ’として出力する。
【００６４】
セレクタ５０ａ〜５０ｄは、テクスチャデータをテクスチャメモリ１ａ〜１ｄに書き込む期間は書き込みアドレスＷＡＤａ〜ＷＡＤｄを選択し、バイリニアフィルタリング演算処理期間は読み出しアドレスＲＡＤａ〜ＲＡＤｄを選択し、データ移動処理期間はアドレスＭＡＤを選択し、メモリアドレスＡＤａ〜ＡＤｄとして出力する。
【００６５】
レジスタ５１ａ〜５１ｄは３２ビットのフリップフロップであり、テクスチャメモリ１ａ〜１ｄから読み出されたデータＤＯａ〜ＤＯｄを記憶する。セレクタ５２ａ〜５２ｄは、データ移動処理期間はレジスタ５１ａ〜５１ｄの出力を選択し、それ以外の期間は書き込みデータＤＩを選択し、書き込みデータＤＩａ〜ＤＩｄとして出力する。
【００６６】
図１６はテクスチャメモリ１ａ〜１ｄ内のデータ移動処理の例を示すタイミングチャートである。なお、４個のテクスチャメモリ１ａ〜１ｄそれぞれに対して、同時に処理が行われる。図１６では、Ｖ座標最大すなわち重複領域のテクスチャデータが２個のアドレスａ，ｂにわたって存在する場合を例にとって示している。
【００６７】
図１６に示すように、メモリデータ移動制御部４８は、アドレスＭＡＤとして「アドレスａ」を２サイクル出力し、これに並行して、ライトイネーブルＮＭＷＥをメモリ読み出し状態（ＮＭＷＥ＝“１”）で２サイクル出力し、テクスチャメモリ１ａ〜１ｄからアドレスａにおける各データを読み出し、レジスタ５１ａ〜５１ｄにそれぞれ格納する。
【００６８】
次のサイクルにおいて、アドレスＭＡＤとして“０”を１サイクル出力し、これに並行して、ライトイネーブルＮＭＷＥをメモリ書き込み状態（ＮＭＷＥ＝“０”）で１サイクル出力し、テクスチャメモリ１ａ〜１ｄのアドレス０に対応する領域に、レジスタ５１ａ〜５１ｄに格納されたデータをそれぞれ書き込む。その後、「アドレスｂ」についても同様にしてデータを読み出し、テクスチャメモリ１ａ〜１ｄのアドレス１に対応する領域に、書き込む。
【００６９】
このような動作によって、テクスチャメモリ内で、テクスチャデータ群同士の重複領域におけるテクスチャデータが、Ｖ座標最大となる領域からＶ座標が０となる領域に移動される。なお図１６では、Ｖ座標最大のテクスチャデータが２個のアドレスに存在する場合について示したが、Ｖ座標最大のテクスチャデータは、１個のアドレスに存在する場合もあるし、３個以上のアドレスにわたって存在する場合もある。
【００７０】
テクスチャメモリ１ａ〜１ｄ内で重複領域におけるテクスチャデータを移動した後は、次のテクスチャデータ群をテクスチャメモリ１ａ〜１ｄに書き込む際、重複領域のテクスチャデータを除いた分を、移動されたテクスチャデータの続きのアドレスからテクスチャメモリ１ａ〜１ｄに書き込めばよい。
【００７１】
以上のように本実施形態によると、外部記憶手段上のテクスチャデータを分割して内部のテクスチャメモリに転送してバイリニアフィルタリングを行う際に、重複領域のテクスチャデータを予めテクスチャメモリ内で移動しておくため、次のテクスチャデータ群の転送量を削減できるので、テクスチャデータの転送をより高速に行うことができる。
【００７２】
（第４の実施形態）
図１７は本発明の第４の実施形態に係るテクスチャ処理装置の構成を示すブロック図である。同図中、図１と共通の構成要素には図１と同一の符号を付しており、ここではその詳細な説明を省略する。テクスチャメモリ１ａ〜１ｄ、メモリ読み出し部３、セレクタ４ａ〜４ｄ、テクスチャ選択部５およびバイリニアフィルタリング演算部６は第１の実施形態で説明したものと同様であり、メモリ書き込み部２Ａは第２の実施形態で説明したものと同様である。
【００７３】
本実施形態では、メモリ書き込み部２Ａは、外部記憶手段上のテクスチャデータを分割してテクスチャメモリ１ａ〜１ｄに転送してバイリニアフィルタリングを行う際、すでにテクスチャメモリ１ａ〜１ｄに格納されたテクスチャデータのうちＶ座標最大のテクスチャデータが格納されたアドレスの続きに書き込み開始アドレスを設定し、次の分割されたテクスチャデータ群から重複領域のテクスチャデータを除いた分を、テクスチャメモリ１ａ〜１ｄに書き込む。
【００７４】
なお、開始アドレスから順にテクスチャデータをテクスチャメモリに書き込む際、書き込みアドレスがテクスチャメモリの最大アドレスを超えた場合は、書き込みアドレスを０に戻し、続きのテクスチャデータを順に書き込む。ここでは、書き込みアドレス生成部４０のレジスタ４４は８ビットのフリップフロップであり、メモリアドレスを生成できる最低限のものである。このため、最大アドレスを越えたときは、書き込みアドレスは自動的に０に戻ることになる。
【００７５】
ここで、図示していないＣＰＵのような外部制御部が、次のような動作を行う。外部制御部は、書き込みアドレスを把握しており、その続きのアドレスを書き込み開始アドレスに設定する。これにより、Ｖ座標最大のテクスチャデータのアドレスが認識されたことになる。また外部制御部は、次のテクスチャデータ群について、重複領域の続きからデータを転送する。これにより、重複領域のテクスチャデータが次のテクスチャデータ群から除かれることになる。
【００７６】
図１８は分割されたテクスチャデータ群が順にテクスチャメモリに格納される様子を示す。図１８では、３２ビットのテクスチャデータを横１２８ピクセル×縦８ピクセルの領域で分割した場合を例にとっており、４個のテクスチャメモリ１ａ〜１ｄのメモリ領域を総合して図示している。
【００７７】
図１８（ａ）は第１のテクスチャデータ群がテクスチャメモリに格納された状態であり、Ｖａは第１のテクスチャデータ群のＶ座標である。図１８（ｂ）は第２のテクスチャデータ群がテクスチャメモリに格納された状態であり、Ｖｂは第２のテクスチャデータ群のＶ座標である。第１のテクスチャデータ群との重複領域となるＶａ＝７の領域は、そのままＶｂ＝０の領域として用い、Ｖｂ＝０の領域に続いて、Ｖｂ＝１〜７のテクスチャデータを格納する。ただし、Ｖｂ＝０の領域はメモリアドレスの最大アドレスに存在するため、Ｖｂ＝１以降のテクスチャデータは、アドレス０に戻って順に格納される。
【００７８】
図１８（ｃ）は第３のテクスチャデータ群が格納された状態であり、Ｖｃは第３のテクスチャデータ群のＶ座標である。第２のテクスチャデータ群との重複領域となるＶｂ＝７の領域は、そのままＶｃ＝０の領域として用い、Ｖｃ＝０の領域に続いて、Ｖｃ＝１〜７のテクスチャデータを格納する。ただし、Ｖｃ＝１の領域はメモリアドレスの最大アドレスに存在するため、Ｖｃ＝２以降のテクスチャデータは、アドレス０に戻って順に格納される。
【００７９】
テクスチャ座標変換部５３は、図１８のように格納された各テクスチャデータがメモリ読み出し部３によって正しく読み出せるように、テクスチャ座標（Ｕ，Ｖ）を（Ｕ’，Ｖ’）に変換して出力する。すなわち、テクスチャ座標変換部５３は、座標値Ｕはそのまま座標値Ｕ’として出力し、座標値Ｖはテクスチャメモリ１ａ〜１ｄに格納されているテクスチャデータのＶ座標０の領域の位置に応じて、座標値Ｖ’に変換する。これは、メモリ読み出し部３では、Ｖ座標０の領域がメモリアドレス０に存在することを前提にテクスチャ読み出しを行うからである。ここで、Ｖ座標０の領域の位置は、上述のＣＰＵのような外部制御部が覚えておく。そして、外部からテクスチャ座標変換部５３に対して、Ｖ座標０の領域の位置を設定する。
【００８０】
ここで、テクスチャメモリ１ａ〜１ｄに格納されているテクスチャデータのＶ座標０の領域の位置をＶＳ、テクスチャデータ群の縦方向のピクセル長をＴＨ、そしてＴＨ−ＶＳをＶＭとすると、座標値ＶのＶ’への変換は、
Ｖ＜ＶＳのとき  Ｖ’＝Ｖ＋ＶＳ
Ｖ≧ＶＳのとき  Ｖ’＝Ｖ−ＶＭ
とすればよい。図１８（ｃ）の場合を例にとると、ＶＳ＝６、ＴＨ＝８、ＶＭ＝ＴＨ−ＶＳ＝８−６＝２となり、Ｖ＝１のときは、Ｖ＜ＶＳなので、Ｖ’＝Ｖ＋ＶＳ＝１＋６＝７となり、また、Ｖ＝４のときは、Ｖ≧ＶＳなので、Ｖ’＝Ｖ−ＶＭ＝４−２＝２となる。このようにして、テクスチャデータの読み出しが正しく行えるように、テクスチャ座標の変換が行われる。
【００８１】
以上のように本実施形態によると、テクスチャデータを分割してテクスチャメモリに転送してバイリニアフィルタリングを行う際、第３の実施形態のように、重複領域のテクスチャデータを予めテクスチャメモリ内で移動する必要がないため、データを移動させる回路を削減できるだけでなく、テクスチャメモリ内でデータを移動させる処理を省くことができるので、テクスチャデータの転送をさらに高速に実行することができる。
【産業上の利用可能性】
【００８２】
本発明では、テクスチャデータがテクスチャメモリに高速に転送され、バイリニアフィルタリング処理が高速に実行可能になるので、例えば、ゲーム機やカーナビゲーションにおいて、テクスチャマッピングをより高速に実現することができる。
【図面の簡単な説明】
【００８３】
【図１】本発明の第１および第２の実施形態に係るテクスチャ処理装置の構成を示すブロック図である。
【図２】図１におけるメモリ書き込み部の内部構成を示す図である。
【図３】図２のメモリ書き込み部の動作を説明するための図であり、メモリに書き込むテクスチャデータのＶ座標が偶数か奇数かを判定する条件を示す図である。
【図４】図２のメモリ書き込み部の動作を説明するための図であり、ライトイネーブルを決定する条件を示す図である。
【図５】メモリ書き込み処理を示すタイミングチャートである。
【図６】図１におけるメモリ読み出し部の内部構成を示す図である。
【図７】図１のメモリ読み出し部の動作を説明するための図であり、ＴＯアドレス生成部のメモリアドレス生成内容を示す図である。
【図８】図１のメモリ読み出し部の動作を説明するための図であり、セレクト信号の生成内容を示す図である。
【図９】図１のメモリ読み出し部の動作を説明するための図であり、チップイネーブルの生成内容を示す図である。
【図１０】テクスチャ選択部の動作を説明するための図であり、テクスチャデータＴ０〜Ｔ３を選択する内容を示す図である。
【図１１】本発明の第１の実施形態におけるテクスチャデータの書き込みおよび読み出しを概念的に示す図である。
【図１２】本発明の第２の実施形態におけるメモリ書き込み部の構成を示すブロック図である。
【図１３】図１２のメモリ書き込み部の動作を説明するための図であり、テクスチャデータ群のＶ座標が奇数から始まる場合において、メモリに書き込むテクスチャデータのＶ座標が偶数か奇数かを判定する条件を示す図である。
【図１４】本発明の第３の実施形態に係るテクスチャ処理装置の構成を示すブロック図である。
【図１５】テクスチャデータを分割転送する際のデータ分割の例を示す概念図である。
【図１６】テクスチャメモリ内のデータ移動処理の例を示すタイミングチャートである。
【図１７】本発明の第４の実施形態に係るテクスチャ処理装置の構成を示すブロック図である。
【図１８】分割したテクスチャデータ群を順にテクスチャメモリに格納する様子を示す図である。
【図１９】バイリニアフィルタリングの概念を示す図である。
【符号の説明】
【００８４】
１ａ  第１のテクスチャメモリ
１ｂ  第２のテクスチャメモリ
１ｃ  第３のテクスチャメモリ
１ｄ  第４のテクスチャメモリ
２，２Ａ  メモリ書き込み部
３  メモリ読み出し部
６  バイリニアフィルタリング演算部
４８  メモリデータ移動制御部
ＮＣＥａ，ＮＣＥｂ，ＮＣＥｃ，ＮＣＥｄ  チップイネーブル
【図１】
2005149199.tif 000003
【図２】
2005149199.tif 000004
【図３】
2005149199.tif 000005
【図４】
2005149199.tif 000006
【図５】
2005149199.tif 000007
【図６】
2005149199.tif 000008
【図７】
2005149199.tif 000009
【図８】
2005149199.tif 000010
【図９】
2005149199.tif 000011
【図１０】
2005149199.tif 000012
【図１１】
2005149199.tif 000013
【図１２】
2005149199.tif 000014
【図１３】
2005149199.tif 000015
【図１４】
2005149199.tif 000016
【図１５】
2005149199.tif 000017
【図１６】
2005149199.tif 000018
【図１７】
2005149199.tif 000019
【図１８】
2005149199.tif 000020
【図１９】
2005149199.tif 000021