(57)【要約】【課題】回路面積を低減できる画像処理方法及び画像処理装置を提供すること。【解決手段】  各々が複数の画像データを保持可能な複数の第１エントリを備え、該第１エントリ単位で前記画像データが読み出されるキャッシュメモリ１６を具備する画像処理装置１における画像処理方法であって、画像座標（Ｘ、Ｙ）に対応する複数の画像データの第１アドレスＡ０〜Ａ３を生成するステップＳ１１と、前記第１アドレスＡ０〜Ａ３に対応する複数の前記画像データが、同一の前記第１エントリ内に保持されているか否かを判定するステップＳ３０と、同一の前記第１エントリ内に保持されている場合Ｓ３１、当該複数の前記画像データのいずれかの前記第１アドレスＡ０〜Ａ３を第２アドレスとして生成するステップＳ３２と、前記第２アドレスに基づいて前記キャッシュメモリ１６から前記画像データを読み出すステップＳ２３とを具備する。【選択図】図１１
2008097451.tif 000002
【特許請求の範囲】
【請求項１】
各々が複数の画像データを保持可能な複数の第１エントリを備え、該第１エントリ単位で前記画像データが読み出されるキャッシュメモリを具備する画像処理装置における画像処理方法であって、
画像座標に対応する複数の画像データの第１アドレスを生成するステップと、
前記第１アドレスに対応する複数の前記画像データが、同一の前記第１エントリ内に保持されているか否かを判定するステップと、
同一の前記第１エントリ内に保持されている場合、当該複数の前記画像データのいずれかの前記第１アドレスを第２アドレスとして生成するステップと、
前記第２アドレスに基づいて、前記キャッシュメモリから前記画像データを読み出すステップと
を具備することを特徴とする画像処理方法。
【請求項２】
前記第２アドレスを一時的に保持するステップと、
前記第２アドレスを一時的に保持した後、該第２アドレスと、前記第１エントリの各々に保持される前記画像データに関する情報であるタグ情報とを比較して、該第２アドレスに対応する前記画像データの前記キャッシュメモリ内における有無を判定するステップと
を更に備え、前記画像データが前記キャッシュメモリ内にあると判定された場合に、前記第２アドレスに対応する前記画像データが前記キャッシュメモリから読み出される
ことを特徴とする請求項２記載の画像処理方法。
【請求項３】
前記第１アドレスを生成するステップにおいては、１つの前記画像座標に対して少なくとも４つの前記第１アドレスが生成され、該少なくとも４つの前記第１アドレスに対応する複数の前記画像データをフィルタリングした結果が前記画像座標に貼付される
ことを特徴とする請求項１または２記載の画像処理方法。
【請求項４】
各々が複数の画像データを保持可能な複数の第１エントリを含むキャッシュメモリと、
画像座標に対応する複数の前記画像データの第１アドレスを生成するアドレス生成部と、
前記アドレス生成部で生成された複数の前記第１アドレスをマージして第２アドレスを生成するアドレスマージ部と、
前記アドレスマージ部で生成された前記第２アドレスに基づいて、前記キャッシュメモリから前記第１エントリ単位で前記画像データを読み出す読み出し部と
を具備し、前記アドレスマージ部において、前記第１アドレスに対応する複数の前記画像データが同一の前記第１エントリ内に保持される場合、当該複数の前記画像データのいずれかの前記第１アドレスが前記第２アドレスとされる
ことを特徴とする画像処理装置。
【請求項５】
各々が前記第１エントリに保持されている前記画像データに関する情報であるタグ情報を保持可能な、複数の第２エントリを有するキャッシュ情報保持部と、
前記第２アドレスと前記タグ情報とを比較して、前記第２アドレスに対応する前記画像データが前記キャッシュメモリに保持されているか否かを判定する判定部と、
前記第２アドレスを一時的に保持するアドレス保持部と
を具備し、前記読み出し部は、前記判定部において保持されていると判定された際に、前記アドレス保持部に保持されている前記第２アドレスに基づいて、前記キャッシュメモリから前記画像データを読み出す
ことを特徴とする請求項４記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理方法及び画像処理装置に関するもので、例えば３ＤグラフィックスＬＳＩに関する。
【背景技術】
【０００２】
従来、３ＤグラフィックスＬＳＩではポリゴンにテクスチャ（texture）を貼る処理を行う。この際、より豊かな表現を行うために、１つのピクセルに対して複数のテクセル（texel）を参照する場合がある（例えば非特許文献１参照）。
【０００３】
しかしながら上記従来の方法であると、各ピクセルの処理につき、それぞれ複数のテクセルの読み出しが必要である。その結果、テクセルの読み出しに必要な回路が増大するという問題があった。
【非特許文献１】Paul S. Heckbert著、“Fundamentals of Texture Mapping and Image Warping (Masters Thesis)”、Report No. UCB/CSD 89/516, Computer Science Division, University of California, Berkeley, June 1989年
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明は、回路面積を低減できる画像処理方法及び画像処理装置を提供する。
【課題を解決するための手段】
【０００５】
この発明の一態様に係る画像処理方法は、各々が複数の画像データを保持可能な複数の第１エントリを備え、該第１エントリ単位で前記画像データが読み出されるキャッシュメモリを具備する画像処理装置における画像処理方法であって、画像座標に対応する複数の画像データの第１アドレスを生成するステップと、前記第１アドレスに対応する複数の前記画像データが、同一の前記第１エントリ内に保持されているか否かを判定するステップと、同一の前記第１エントリ内に保持されている場合、当該複数の前記画像データのいずれかの前記第１アドレスを第２アドレスとして生成するステップと、前記第２アドレスに基づいて、前記キャッシュメモリから前記画像データを読み出すステップとを具備する。
【０００６】
また、この発明の一態様に係る画像処理装置は、各々が複数の画像データを保持可能な複数の第１エントリを含むキャッシュメモリと、画像座標に対応する複数の前記画像データの第１アドレスを生成するアドレス生成部と、前記アドレス生成部で生成された複数の前記第１アドレスをマージして第２アドレスを生成するアドレスマージ部と、前記アドレスマージ部で生成された前記第２アドレスに基づいて、前記キャッシュメモリから前記第１エントリ単位で前記画像データを読み出す読み出し部とを具備し、前記アドレスマージ部において、前記第１アドレスに対応する複数の前記画像データが同一の前記第１エントリ内に保持される場合、当該複数の前記画像データのいずれかの前記第１アドレスが前記第２アドレスとされる。
【発明の効果】
【０００７】
この発明によれば、回路面積を低減できる画像処理方法及び画像処理装置を提供出来る。
【発明を実施するための最良の形態】
【０００８】
以下、この発明の実施形態を図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【０００９】
［第１の実施形態］  
この発明の第１の実施形態に係る画像処理方法及び画像処理装置について、図１を用いて説明する。図１は、本実施形態に係るグラフィックプロセッサのブロック図である。
【００１０】
図示するように、グラフィックプロセッサ１はラスタライザ（rasterizer）２、複数のピクセルシェーダ（pixel shader）３、及びローカルメモリ４を備えている。ピクセルシェーダ３の数は、例えば４個、あるいは８個、１６個、３２個等でも良く、その数は限定されるものではない。
【００１１】
ラスタライザ２は、入力された図形情報に従ってピクセル（pixel）を生成する。ピクセルとは、所定の図形を描画する際に取り扱われる最小単位の領域のことであり、ピクセルの集合によって図形が描画される。生成されたピクセルはピクセルシェーダ３へ投入される。
【００１２】
ピクセルシェーダ３は、ラスタライザ２から投入されたピクセルにつき演算処理を行い、ローカルメモリ４上に画像を生成する。ピクセルシェーダ３の各々は、データ振り分け部５、複数のピクセル処理部６、及びテクスチャユニット（texture unit）７を備えている。データ振り分け部５はラスタライザ２からピクセルを受け取る。そして、受け取ったピクセルを各ピクセル処理部６へ割り振る。ピクセル処理部６はシェーダエンジン部であり、ピクセルに対してシェーダプログラムを実行する。そしてピクセル処理部６のそれぞれはＳＩＭＤ（Single Instruction Multiple Data）動作を行って、複数個のピクセルを同時に処理する。テクスチャユニット７はローカルメモリ４からテクスチャを読み出し、テクスチャマッピング（texture mapping）に必要な処理を行う。テクスチャマッピングとは、ピクセル処理部６で処理されたピクセルにテクスチャを貼り付ける処理のことであり、ピクセル処理部６において行われる。
【００１３】
ローカルメモリ４は、例えばｅＤＲＡＭ（embedded DRAM）であり、ピクセルシェーダ３で描画されたピクセルを記憶する。またテクスチャを記憶する。
【００１４】
次に、本実施形態に係るグラフィックプロセッサ１における図形描画の概念について説明する。図２は、図形を描画すべき二次元空間（ＸＹ座標空間）の一部を示す概念図である。なお、図２に示す描画領域は、ローカルメモリ４内においてピクセルを保持するメモリ空間（以下、フレームバッファと呼ぶ）に相当する。
【００１５】
図示するように、フレームバッファは、マトリクス状に配置された複数のブロックＢＬＫ０〜ＢＬＫｎ（ｎは自然数）を含んでいる。図２では（３×３）個のブロックＢＬＫ０〜ＢＬＫ８のみを示しているが、この数は特に限定されるものではない。ピクセルシェーダ３は、ブロックＢＬＫ０〜ＢＬＫｎ順にピクセルを生成する。各ブロックはそれぞれ、マトリクス状に配置された例えば（４×４）個のピクセルを含んで形成されている。なお、１つのブロックに含まれるピクセルの個数も特に１６個に限定されるものでは無い。実際にはより多くのピクセルが含まれることが通常であり、ここでは説明の簡単化のために１６ピクセルの場合について説明する。また、図２において各ピクセルに付記した番号をピクセルＩＤと呼び、以下ピクセル０〜ピクセル１５と呼ぶことにする。
【００１６】
次に、上記フレームバッファに描画される図形に関して説明する。まず図形を描画するにあたって、ラスタライザ２に図形情報が入力される。図形情報は、例えば図形の頂点座標や色情報などである。ここで、例として三角形を描画する場合について説明する。ラスタライザ２に入力された三角形は、描画空間において図２に記載したような位置を占めるとする。すなわち、三角形の３つの頂点座標が、ブロックＢＬＫ１におけるピクセル１５、ブロックＢＬＫ６におけるピクセル３、及びブロックＢＬＫ８におけるピクセル４に位置すると仮定する。ラスタライザ２は、描画すべき三角形が占める位置に対応するピクセルを生成する。この様子を示しているのが図３である。生成されたピクセルは、それぞれ予め対応付けられたピクセルシェーダ３に送られる。
【００１７】
そしてピクセルシェーダ３は、自らの担当するピクセルについて描画処理を行う。その結果、図３に示されるような三角形が、複数のピクセルによって描画される。ピクセルシェーダ３によって描画されたピクセルはローカルメモリ４に格納される。
【００１８】
次に、テクスチャに関して図４を用いて説明する。図４はテクスチャの一部を示す概念図である。テクスチャとは、描画されたピクセルに対して貼り付けられる二次元画像のことである。テクスチャをピクセルに貼り付けることにより、物体表面に様々な模様を加えることができる。テクスチャは、図示するようにＵＶ座標に二次元的に配置された複数のテクスチャブロックＴＢＬＫ０〜ＴＢＬＫｍ（ｍは自然数）を含んでいる。図４では（３×３）個のテクスチャブロックＴＢＬＫ０〜ＴＢＬＫ８のみを示しているが、この数は特に限定されるものではない。各テクスチャブロックはそれぞれ、マトリクス状に配置された例えば（４×４）個のテクセルを含んで形成されている。テクセルとは、テクスチャにおける最小単位の構成要素のことである。なお、１つのテクスチャブロックに含まれるテクセルの個数も特に１６個に限定されるものでは無い。実際にはより多くのテクセルが含まれることが通常であり、ここでは説明の簡単化のために１６テクセルの場合について説明する。また、図４において各テクセルに付記した番号をテクセルＩＤと呼び、以下テクセル０〜テクセル１５と呼ぶことにする。
【００１９】
次に、図１におけるテクスチャユニット７の詳細について説明する。テクスチャユニット７は、その内部にキャッシュメモリを有しており、ローカルメモリ４から読み出したテクセルを一時的に保持する。ローカルメモリ４からテクセルを読み出してキャッシュメモリに書き込む動作を、以下リフィル（refill）と呼ぶことにする。そして、ピクセル処理部６からの要求に応答して、必要なテクセルをキャッシュメモリから読み出してピクセル処理部６へ供給する。  
図５はテクスチャユニット７のブロック図である。図示するようにテクスチャユニット７は、アドレス生成部１０、アドレスマージ部１１、プリフェッチ部１２、アドレス保持部１３、フェッチ部１４、リフィル処理部１５、前記キャッシュメモリ１６、及びフィルタリング処理部１７を備えている。
【００２０】
アドレス生成部１０は、テクセルが貼り付けられるべきピクセルのピクセル座標（ＸＹ座標）をピクセル処理部６から受け取る。そして、ピクセルに貼り付けるべきテクセルが保持されているローカルメモリ４内におけるアドレス（これを以下テクセルアドレスと呼ぶ）を生成する。
【００２１】
アドレスマージ部１１は、アドレス生成部１０で生成された複数のテクセルアドレスを、可能な場合にマージして出力する。アドレスマージ部１１の構成の詳細は後述する。
【００２２】
キャッシュメモリ１６は、前述の通り、ローカルメモリ４から読み出したテクセルを保持する。キャッシュメモリ１６は、例えば（Ｍ＋１）個（Ｍは自然数）のキャッシュエントリ０〜Ｍを備えており、エントリ単位でテクセルを保持する。キャッシュエントリ０〜Ｍの各々は複数のテクセルを保持し、例えば図４で説明したテクスチャブロック単位でテクセルを保持する。従って、あるキャッシュエントリがテクスチャブロックＴＢＬＫ０のテクセルを保持する場合、そのキャッシュエントリはテクスチャブロックＴＢＬＫ０に含まれる１６個のテクセル０〜テクセル１５を保持する。
【００２３】
プリフェッチ部１２は、タグ部１８及びヒット判定部１９を備えている。図６はタグ部１８の構成を示す概念図である。図示するようにタグ部１８は、キャッシュエントリと同じ（Ｍ＋１）個のタグエントリ０〜Ｍを備えている。タグエントリ０〜Ｍの各々は、いずれかのキャッシュエントリ０〜Ｍに対応し、対応するキャッシュエントリ０〜Ｍにおける情報を保持する。タグエントリ０〜Ｍの各々は、エントリ番号フィールド、バリッドフラグフィールド、及びテクセルアドレスフィールドを有している。エントリ番号フィールドは、各タグエントリのエントリ番号０〜Ｍを保持する。テクセルアドレスフィールドは、いずれかのキャッシュエントリ０〜Ｍに保持されている、または保持されるべきテクセルのテクセルアドレスを保持する。図６におけるＡ０〜Ａ１１は、それぞれテクセルアドレスを示している。バリッドフラグフィールドはバリッドフラグ（valid flag）を保持する。バリッドフラグとは、当該タグエントリに対応するキャッシュエントリにおいて、リフィルが完了しているか否かを示し、完了している場合にはバリッドフラグは“１”とされ、完了していない場合には“０”とされる。例えば図６においてタグエントリ０がキャッシュエントリ０に対応していると仮定すると、バリッドフラグは“１”であるので、テクセルアドレスＡ０〜Ａ３に対応するテクセルは、既にキャッシュエントリ０にリフィル済みであることが分かる。またタグエントリ２がキャッシュエントリ２に対応していると仮定すると、バリッドフラグは“０”であるので、テクセルアドレスＡ８〜Ａ１１に対応するテクセルは、キャッシュエントリ２にリフィルされるべきものであるが、未だリフィルは完了していないことが分かる。
【００２４】
ヒット判定部１９は、アドレスマージ部１１から与えられるテクセルアドレスが、タグ部１８のいずれかのタグエントリ内に登録されているか否かを判定する。これを以下「ヒット判定」と呼び、登録されている場合を「ヒット」と呼び、登録されていなかった場合を「ミス」と呼ぶことにする。テクセルアドレスがミスした場合には、その旨をリフィル処理部１５へ出力する。また、ミスしたテクセルアドレスを、いずれかの空きタグエントリに登録する。
【００２５】
リフィル処理部１５は、タグ部１８におけるタグエントリの情報に従って、ローカルメモリ４におけるテクセルをキャッシュメモリ１６へ書き込む（リフィルする）。リフィルが完了すると、リフィル処理部１５は対応するタグエントリにおけるバリッドフラグを“１”とする。
【００２６】
アドレス保持部１３は、例えば（Ｎ＋１）個のアドレスエントリ０〜Ｎ（Ｎは自然数）を有している。各アドレスエントリ０〜Ｎのそれぞれは、内部テクセルアドレスを保持する。内部テクセルアドレスについて図７を用いて説明する。図７は、タグエントリとなるメモリ空間の概念図であり、特にタグエントリ０のテクセルアドレスフィールドについて示している。図示するように、テクセルアドレスフィールドにおいて、テクセルアドレスＡ０〜Ａ３が保持されるメモリアドレスがそれぞれＢ０〜Ｂ３であったとする。このアドレスＢ０〜Ｂ３が内部テクセルアドレスである。
【００２７】
フェッチ部１４は、キャッシュメモリ１６からのテクセルの読み出し動作を司る。フェッチ部１４は、リフィルチェック部２０及び読み出し命令部２１を備えている。読み出し命令部２１は、アドレス保持部１３におけるいずれかのアドレスエントリに保持されている内部テクセルアドレスを読み出す。そして、読み出した内部テクセルアドレスに対応するテクセルのリフィルが完了しているか否かをリフィルチェック部２０に確認させる。完了していた場合、キャッシュメモリ１６に対し、テクセルをフィルタリング処理部１７へ出力するように命令する。
【００２８】
リフィルチェック部２０は、読み出し命令部２１から内部テクセルアドレスを受け、タグ部１８において、当該内部テクセルアドレスに対応したタグエントリのバリッドフラグをチェックする。バリッドフラグをチェックすることにより、当該内部テクセルアドレスに対応したテクセルのリフィルが完了しているか否かを判定し、判定結果を読み出し命令部へ返す。
【００２９】
フィルタリング処理部１７は、キャッシュメモリ１６から読み出された複数のテクセルを用いてフィルタリング処理を行う。フィルタリング処理は、例えばバイリニアフィルタリング（bilinear filtering）である。バイリニアフィルタリングとは、ある１つのピクセルに対して、当該ピクセル対応するテクスチャ座標の近傍に位置する４つのテクセルを読み出し、これら４つのテクセルを用いて補完を行うフィルタリング処理である。そして、補完により作成された１つのテクセルが、対応するピクセルに貼り付けられる。このように、あるピクセルに１：１で対応する１つのテクセルのみを使うのではなく、１つのピクセルに対して４つのテクセルの情報を用いることにより、より豊かな画像表現が可能となる。
【００３０】
次に、図５におけるアドレスマージ部１１の構成について図８を用いて説明する。図８はアドレスマージ部１１のブロック図である。図示するようにアドレスマージ部１１は、重複チェック回路２２、マージ回路２３、選択回路２４−０〜２４−３、マージレジスタ群２５、出力レジスタ群２６、及びマルチプレクサ２７を備えている。以下では、上記フィルタリング処理部１７において４つのテクセルを参照し、アドレス生成部１０がこの４つのテクセルアドレスを生成する場合を例に挙げて説明する。
【００３１】
重複チェック回路２２は、アドレス生成部１０で生成された４つのテクセルアドレスについて、マージ可能であるか否かを判定する。具体的には、４つのテクセルアドレスに対応するテクセルが同一のテクスチャブロック内に存在するか否か、すなわち、４つのテクセルアドレスに対応するテクセルが同一のキャッシュエントリ内に保持されているか否か、更に換言すれば、４つのテクセルアドレスが同一のタグエントリ内に保持されているか否かを判定する。そして、判定結果をバリッド信号Ｖ０〜Ｖ３としてマージ回路２３へ出力し、また４つのテクセルアドレスをマージ回路２３へ出力する。一例として、４つのテクセルアドレスをＡ０〜Ａ３とすると、バリッド信号Ｖ０〜Ｖ３はそれぞれテクセルアドレスＡ０〜Ａ３に対応する。そして、テクセルアドレスＡ０〜Ａ３のうち、マージ可能な組み合わせがある場合、そのテクセルアドレスのうち最も若いテクセルアドレスに対応するバリッド信号が“１”とされる。マージできないテクセルアドレスに対応するバリッド信号も“１”とされる。例えば、テクセルアドレスＡ０〜Ａ３において、テクセルアドレスＡ０、Ａ１のみがマージ可能であった場合、バリッド信号Ｖ０〜Ｖ３は（１０１１）とされる。
【００３２】
マージ回路２３は選択回路２４−０〜２４−３を制御して、テクセルアドレスのマージを行う。マージ回路２３は、選択回路２４−０〜２４−３のそれぞれに４つのテクセルアドレスＡ０〜Ａ３を出力する。また、制御信号Ｃ０〜Ｃ３をそれぞれ選択回路２４−０〜２４−３に出力する。選択回路２４−０〜２４−３はそれぞれ、制御信号Ｃ０〜Ｃ３に基づいてテクセルアドレスＡ０〜Ａ３のいずれかを選択する。例えば上記の通りバリッド信号Ｖ０〜Ｖ３が（１０１１）であった場合、マージ回路は選択回路２４−０〜２４−３に対し、制御信号Ｃ０〜Ｃ３によってテクセルアドレスＡ０、Ａ２、Ａ３のみを選択させる。例えば制御信号Ｃ０〜Ｃ３は（１１１０）とされる。その結果、選択回路２４−０〜２４−２はそれぞれテクセルアドレスＡ０、Ａ２、Ａ３を選択し、選択回路２４−３はテクセルアドレスを選択しない。
【００３３】
マージレジスタ群２５は、例えば４つのマージレジスタ０〜３を備えている。マージレジスタの数は、選択回路２４−０〜２４−３の数と同一である。そしてマージレジスタ０〜３の各々は、選択回路２４−０〜２４−３の出力を一時的に保持する。
【００３４】
出力レジスタ群２６は、例えば４つの出力レジスタ０〜３を備えている。出力レジスタの数は、マージレジスタ０〜３の数と同一である。そして出力レジスタ０〜３の各々は、マージレジスタ０〜３の出力を一時的に保持する。
【００３５】
マルチプレクサ２７は、出力レジスタ０〜３の出力をマルチプレクスして、その結果をヒット判定部１９へ出力する。
【００３６】
次に、上記構成のグラフィックプロセッサ１におけるテクスチャユニット７の動作について図９及び図１０を用いて説明する。図９はアドレス生成部１０、アドレスマージ部１１、プリフェッチ部１２、及びリフィル処理部１５における動作のフローチャートであり、図１０はフェッチ部１４及びフィルタリング処理部１７における動作のフローチャートである。
【００３７】
まず、ピクセル処理部６からアドレス生成部１０に対してあるピクセルＰ１のＸＹ座標が入力される（図９、ステップＳ１０）。次にアドレス生成部１０は、ピクセルＰ１に対応するテクスチャ座標（Ｕ、Ｖ）の近傍４点のテクセルのテクセルアドレスを算出する（ステップＳ１１）。例えば図４において×印を記した座標がピクセルＰ１に対応すると仮定する（図４では２つのケースについて示している）。ケース１の場合、アドレス生成部１０はテクスチャブロックＴＢＬＫ２における４つのテクセル６、７、１２、１３のテクセルアドレスを算出する。またケース２の場合には、アドレス生成部１０はテクスチャブロックＴＢＬＫ４における４つのテクセル２、３、８、９のテクセルアドレスを算出する。
【００３８】
次にマージ回路２３が、アドレス生成部１０で算出されたテクセルアドレスがマージ可能か否かを判定する（ステップＳ１２）。そしてマージ可能であればマージして、ヒット判定部１９へ出力する。この処理の詳細については後述する。
【００３９】
次に、ヒット判定部１９がテクセルアドレスに対してヒット判定を行う（ステップＳ１３）。すなわち、マージ回路２３から与えられたテクセルアドレスが、タグ部１８のタグエントリのいずれかにおけるテクセルアドレスフィールドに登録されているか否かを判定する。ミスした場合（ステップＳ１４、ＮＯ）、すなわち、テクセルアドレスがタグ部１８のいずれのタグエントリにも登録されていなかった場合、ヒット判定部１９は次の処理を行う。すなわち、まずタグ部１８において、いずれかの空きタグエントリを確保する（ステップＳ１５）。空きタグエントリのバリッドフラグは当然ながら“０”である。空きタグエントリが無い場合には、当該テクセルアドレスに関する処理は一旦ストールし、いずれかのタグエントリが空くまで待つ。次にヒット判定部１９は、確保したタグエントリのテクセルアドレスフィールドに、当該テクセルアドレスを登録する（ステップＳ１６）。そしてリフィル処理部１５に対して当該テクセルアドレスに対応するテクセルのリフィルを命令する（ステップＳ１７）。更にヒット判定部１９は、確保したタグエントリにおける内部テクセルアドレスを、アドレス保持部１３におけるいずれかのアドレスエントリに書き込む（ステップＳ１８）。なお、ステップＳ１５、Ｓ１６の処理は、ヒット判定部１９の結果に基づいてリフィル処理部１５が行っても良い。
【００４０】
ステップＳ１３の判定の結果、ヒットした場合（ステップＳ１４、ＹＥＳ）、すなわち、テクセルアドレスがタグ部１８のいずれかのタグエントリにも登録されていた場合には、ステップＳ１８に進む。但し、当該テクセルアドレスについてすでにステップＳ１８の処理が行われていた場合には省略しても良い。
【００４１】
なお、リフィル命令を受けたリフィル処理部１５は、いずれかのタイミングでローカルメモリ４からキャッシュメモリ１６へテクセルをリフィルする。そしてリフィルが完了すると、リフィル処理部１５は対応するタグエントリにおけるバリッドフラグを“１”とする。
【００４２】
ステップＳ１８の後、読み出し命令部２１はアドレス保持部１３に保持されている内部テクセルアドレスを読み出す（図１０、ステップＳ２０）。そして読み出し命令部２１は、リフィルチェック部２０に対して、読み出した内部テクセルアドレスに対応するタグエントリのバリッドフラグをチェックさせる（ステップＳ２１）。バリッドフラグが“１”であった場合（ステップＳ２２、ＹＥＳ）には、既にリフィルは完了しているので、読み出し命令部２１は当該タグエントリに登録されているテクセルをキャッシュメモリ１６から読み出す（ステップＳ２３）。そしてステップＳ２３で読み出されたテクセルを用いて、フィルタリング処理部１７がバイリニアフィルタリングを行い、その結果をピクセル処理部６へ出力する（ステップＳ２４）。
【００４３】
ステップＳ２１のチェックの結果バリッドフラグが“０”であった場合（ステップＳ２２、ＹＥＳ）には、リフィルがまだ完了していないので、当該テクセルアドレスに関する処理は一旦ストールする（ステップＳ２５）。そしていずれかのタイミングで同じ処理を再び繰り返す（ステップＳ２６）。
【００４４】
以上のようにして、テクスチャユニット７はピクセル処理部６のリクエストに応答してテクセルを取得する。次に、上記ステップＳ１２のアドレスマージの処理の詳細について以下説明する。図１１はステップＳ１２のフローチャートである。
【００４５】
まず重複チェック回路２２が、入力された４つのテクセルアドレスを比較する（ステップＳ３０）ことにより、４つのテクセルアドレスが同一のテクスチャブロック内に存在するか否かを判定する。この判定は、テクセルアドレスを構成するビットと、１つのテクスチャブロックの大きさとを確認することで行うことができる。すなわち、テクセルアドレスを構成する数ビットはテクスチャブロックに関する情報である。例えばテクセルアドレスが“０ｘＡＢＣＤＥＦＧＨ”であったとすると、そのうちの“ＡＢＣＤ”がテクスチャブロックに関する情報である。従って、この情報とテクスチャブロックの大きさと比較することで、当該テクセルアドレスがいずれのテクスチャブロック内にあるテクセルのアドレスであるかが分かる。
【００４６】
複数のテクセルが同一テクスチャブロック内にあると判定された場合（ステップＳ３１、ＹＥＳ）、マージ回路２３はそのうちの若いテクセルアドレスのみを選択回路２４−０〜２４−３に選択させ、その他のテクセルアドレスは破棄させる（ステップＳ３２）。同一テクスチャブロックに無い場合（ステップＳ３１、ＮＯ）には、マージ回路２３はマージを行わず、そのまま出力する。
【００４７】
上記マージ処理の具体例を以下説明する。なお、ピクセル処理部６から与えられたピクセルに対応する４つのテクセルをテクセル０〜３とし、これらのテクセルアドレスをテクセルアドレスＡ０〜Ａ３と呼ぶことにする。
【００４８】
＜全てが同一テクスチャブロックに含まれる場合＞  
図１２はテクスチャ座標のブロック図である。図示するように、テクセル０〜４が、全て同一のテクスチャブロックＴＢＬＫ０に含まれていた場合を仮定する。すると、この場合、図１３のタグ部１８の概念図に示すように、全てのテクセルアドレスＡ０〜Ａ４は、同一のタグエントリ０に保持されていることになる。
【００４９】
重複チェック回路２２は、テクセルアドレスＡ０〜Ａ３のうち、最も若いアドレスであるテクセルアドレスＡ０のみを残すべく、バリッド信号Ｖ０のみを“１”とし、その他のバリッド信号Ｖ１〜Ｖ３を“０”とする。そしてマージ回路２３は制御信号Ｃ０のみを“１”とし、その他の制御信号Ｃ１〜Ｃ３を“０”とする。これにより、選択回路２４−０がテクセルアドレスＡ０を選択し、選択回路２４−１〜２４−３はテクセルアドレスを選択しない。
【００５０】
従って、マージレジスタ０にテクセルアドレスＡ０が格納され、マージレジスタ１〜３にはテクセルアドレスは格納されない。これにより図１４に示すように、マージ前の４つのテクセルアドレスＡ０〜Ａ３が全てマージされる結果、テクセルアドレスＡ０のみがアドレスマージ部１１から出力される。またこの場合、アドレス保持部１３には、テクセルアドレスＡ０に対応する内部テクセルアドレスのみが保持され、その他のテクセルアドレスＡ１〜Ａ３に対応する内部テクセルアドレスは保持されない。
【００５１】
＜２つのテクセルが同一テクスチャブロックに含まれる場合（その１）＞  
図１５はテクスチャ座標のブロック図である。図示するように、テクセル０、２が同一テクスチャブロックＴＢＬＫ０に含まれ、テクセル１、３が、同一テクスチャブロックＴＢＬＫ１に含まれていた場合を仮定する。すると、この場合、図１６のタグ部１８の概念図に示すように、テクセルアドレスＡ０、Ａ２は同一のタグエントリ０に保持され、テクセルアドレスＡ１、Ａ３は同一のタグエントリ１に保持されていることになる。
【００５２】
重複チェック回路２２は、テクセルアドレスＡ０、Ａ２のうち若いアドレスであるテクセルアドレスＡ０を残し、テクセルアドレスＡ１、Ａ３のうち若いアドレスであるテクセルアドレスＡ１のみを残すべく、バリッド信号Ｖ０、Ｖ１を“１”とし、その他のバリッド信号Ｖ２、Ｖ３を“０”とする。そしてマージ回路２３は制御信号Ｃ０、Ｃ１を“１”とし、制御信号Ｃ２、Ｃ３を“０”とする。これにより、選択回路２４−０がテクセルアドレスＡ０を選択し、選択回路２４−１がテクセルアドレスＡ１を選択し、選択回路２４−２、２４−３はテクセルアドレスを選択しない。
【００５３】
従って、マージレジスタ０、１にそれぞれテクセルアドレスＡ０、Ａ１が格納され、マージレジスタ２、３にはテクセルアドレスは格納されない。その結果、図１７に示すように、マージ前の４つのテクセルアドレスＡ０〜Ａ３は“Ａ０Ａ１”にマージされ、テクセルアドレスＡ０、Ａ１がアドレスマージ部１１から出力される。またこの場合、アドレス保持部１３には、テクセルアドレスＡ０、Ａ１に対応する内部テクセルアドレスのみが保持され、その他のテクセルアドレスＡ２、Ａ３に対応する内部テクセルアドレスは保持されない。
【００５４】
＜２つのテクセルが同一テクスチャブロックに含まれる場合（その２）＞  
図１８はテクスチャ座標のブロック図である。図示するように、テクセル０、１が同一テクスチャブロックＴＢＬＫ０に含まれ、テクセル２、３が、同一テクスチャブロックＴＢＬＫ２に含まれていた場合を仮定する。するとこの場合、図１９のタグ部１８の概念図に示すように、テクセルアドレスＡ０、Ａ１は同一のタグエントリ０に保持され、テクセルアドレスＡ２、Ａ３は同一のタグエントリ１に保持されていることになる。
【００５５】
重複チェック回路２２は、テクセルアドレスＡ０、Ａ１のうち若いアドレスであるテクセルアドレスＡ０を残し、テクセルアドレスＡ２、Ａ３のうち若いアドレスであるテクセルアドレスＡ２のみを残すべく、バリッド信号Ｖ０、Ｖ２を“１”とし、その他のバリッド信号Ｖ１、Ｖ３を“０”とする。そしてマージ回路２３は制御信号Ｃ０、Ｃ１を“１”とし、その他の制御信号Ｃ２、Ｃ３を“０”とする。この際、マージ回路２３は制御信号Ｃ１に対してテクセルアドレスＡ２を選択する旨の情報を含ませる。これにより、選択回路２４−０がテクセルアドレスＡ０を選択し、選択回路２４−１がテクセルアドレスＡ２を選択し、選択回路２４−２、２４−３はテクセルアドレスを選択しない。
【００５６】
従って、マージレジスタ０、１にそれぞれテクセルアドレスＡ０、Ａ２が格納され、マージレジスタ２、３にはテクセルアドレスは格納されない。その結果、図２０に示すように、マージ前の４つのテクセルアドレスＡ０〜Ａ３は“Ａ０Ａ２”にマージされ、テクセルアドレスＡ０、Ａ２がアドレスマージ部１１から出力される。またこの場合、アドレス保持部１３には、テクセルアドレスＡ０、Ａ２に対応する内部テクセルアドレスのみが保持され、その他のテクセルアドレスＡ１、Ａ３に対応する内部テクセルアドレスは保持されない。
【００５７】
＜全てが異なるテクスチャブロックに含まれる場合＞  
図２１はテクスチャ座標のブロック図である。図示するように、テクセル０〜３が、互いに異なるテクスチャブロックＴＢＬＫ０〜ＴＢＬＫ３に含まれていた場合を仮定する。すると、この場合、図２２のタグ部１８の概念図に示すように、テクセルアドレスＡ０〜Ａ３はそれぞれタグエントリ０〜３に保持されていることになる。
【００５８】
重複チェック回路２２は、いずれのテクセルも同一テクスチャブロックに無いので、全てのテクセルアドレスＡ０〜Ａ３を残すべく、バリッド信号Ｖ０〜Ｖ３の全てを“１”とする。これにより、選択回路２４−０〜２４−３がそれぞれテクセルアドレスＡ０〜Ａ３を選択する。
【００５９】
従って、マージレジスタ０〜３にそれぞれテクセルアドレスＡ０〜Ａ３が格納される。すなわち、この場合にはテクセルアドレスのマージは行われず、テクセルアドレスＡ０、Ａ１、Ａ２、Ａ３がアドレスマージ部１１から出力される。またこの場合、アドレス保持部１３には、テクセルアドレスＡ０、Ａ１、Ａ２、Ａ３に対応する内部テクセルアドレスが保持される。
【００６０】
以上のように、上記実施形態に係るグラフィックプロセッサであると、下記（１）及び（２）の効果が得られる。  
（１）グラフィックプロセッサの回路規模を縮小できる。  
本実施形態に係る構成であると、テクセルアドレスをマージするアドレスマージ部１１がテクスチャユニット７内に設けられている。これにより、グラフィックプロセッサ１の回路規模を削減できる。本効果について以下詳細に説明する。
【００６１】
ピクセルに対応するテクスチャ座標の近傍の例えば４つのテクセルを参照するバイリニアフィルタリング等のフィルタリング手法を用いる場合、４つのテクセルがキャッシュメモリに保持されているか否かの判定を行う必要がある。この際、本実施形態のようにアドレスマージ部１１を有しない構成の場合、この判定を４つのテクセルそれぞれのテクセルアドレスについて行う必要がある。すなわち、１ピクセルにつき、４回のヒット判定を行う必要がある。
【００６２】
しかし本実施形態であると、アドレスマージ部１１によってテクセルアドレスがマージされる。そしてマージ結果についてヒット判定を行っている。従って、最も効率が良い場合には、４つのテクセルアドレスは１つのテクセルアドレスにマージされ、従来は４回行う必要があるヒット判定回数を１回にすることができる。ヒット判定の回数を減らすことができるのは、マージされるテクセルアドレスが同一のタグエントリ、すなわち対応するテクセルが同一のキャッシュエントリに格納されており、且つ、キャッシュメモリ１６がキャッシュエントリ単位でデータを扱うからである。例えば、４つのテクセルアドレスが同一のタグエントリに保持されている場合、少なくとも１つのテクセルアドレスについてヒットすれば、再度ヒット判定を行うことなくその他の３つのテクセルアドレスもヒットしていることが分かる。そのため、ヒット判定部の回路構成を簡略化することができ、その結果グラフィックプロセッサ１の回路規模を縮小できる。
【００６３】
また、アドレス保持部１３は、マージされたテクセルアドレスに対応する内部テクセルアドレスを保持すれば良い。マージしない場合には、４つのテクセルアドレスの全てに対応する内部テクセルアドレスを保持する必要があるが、全てがマージできた場合には１つのテクセルアドレスに対応する内部テクセルアドレスのみを保持すればよい。従って、アドレス保持部１３のメモリサイズを少なくでき、回路規模の削減に寄与する。
【００６４】
（２）グラフィックプロセッサの動作速度を向上出来る。  
テクスチャマッピングを行うグラフィックプロセッサ１においては、テクスチャユニット７内部のプリフェッチ部１２及びフェッチ部１４周辺の回路は、クリティカルパス（critical path）になりやすいのが一般的である。すなわち、ピクセル処理部６のリクエストに対する処理の遅れは、画像処理の遅れに直結しやすい。
【００６５】
この点、本実施形態であると、テクセルアドレスをマージすることによってヒット判定回数を削減できる。従って、処理の遅れが生じ難く、グラフィックプロセッサ１の動作速度を向上出来る。
【００６６】
［第２の実施形態］  
次に、この発明の第２の実施形態に係る画像処理方法及び画像処理装置について説明する。本実施形態は、上記第１の実施形態においてピクセル処理部６の各々が、（４×４）個のピクセル単位でピクセルに対する描画処理を行う構成に係る。なお、以下では（４×４）個のピクセル単位をピクセル群と呼ぶことにする。
【００６７】
図２３は、１個のピクセル群を示すフレームバッファの概念図である。図示するように、１つのピクセル群は（４×４）個のピクセルを有しており、且つ（２×２）個のクアッド（quad）を含んでいる。クアッドとは、（２×２）個のピクセルの集合である。図２３の例であると、クアッドＱ０はピクセル０〜３を含み、クアッドＱ１はピクセル４〜７を含み、クアッドＱ２はピクセル８〜１１を含み、クアッドＱ３はピクセル１２〜１５を含んでいる。
【００６８】
ピクセル処理部６は、データ振り分け部５からピクセル群を受信した際、可能であればクアッドマージ（quad merge）を行う。クアッドマージとは、同一ＸＹ座標の時間的に連続する２つのピクセル群を１つのピクセル群にマージすることである。クアッドマージを行うことで、２つのピクセル群を一度に処理出来る。従って、描画処理すべきデータ量を圧縮出来る。クアッドマージの様子を図２４に示す。
【００６９】
時間的に連続する２つのピクセル群が、例えば図２４に示すようであったとする。まず時刻ｔ０において、４つのクアッドを含んだピクセル群がピクセル処理部６に投入される。図２及び図３で説明したように、図形によっては描画不要なピクセルが存在する。図２４に示すように、時刻ｔ０で投入されたピクセル群においては、クアッドＱ１、Ｑ３に含まれる全てのピクセルが描画不要であったと仮定する。このようなクアッドを以後インバリッドなクアッドと呼び、描画が必要なピクセルを１つでも含むクアッドをバリッドなクアッドと呼ぶことにする。
【００７０】
引き続き時刻ｔ１において、クアッドＱ１、Ｑ２がバリッドなクアッドで且つクアッドＱ０、Ｑ３がインバリッドなクアッドであるピクセル群が入力されたと仮定する。すると、ピクセル処理部６としては、インバリッドなクアッドに関する情報は不要であるので、２つのピクセル群をマージする。すなわちピクセル処理部６は、時刻ｔ０で投入されたピクセル群のクアッドＱ０、Ｑ２と、時刻ｔ１で投入されたピクセル群のクアッドＱ１、Ｑ２とを含む新規なピクセル群を生成する。
【００７１】
以後、ピクセル処理部６はクアッドマージにより生成した新規なピクセル群を用いて描画処理を行う。またテクスチャマッピングを行う際、テクスチャユニット７に対するテクスチャのリクエストはクアッド単位で行う。
【００７２】
図２５は、本実施形態に係るグラフィックプロセッサ１の備えるテクスチャユニット７内のアドレスマージ部１１のブロック図である。図示するように、アドレスマージ部１１の構成は、上記第１の実施形態で説明した図８の構成において、マージ回路２３がマージレジスタ０〜３の内容を参照できるようにしたものである。その他の構成は第１の実施形態と同様であるので説明は省略する。
【００７３】
次に、本実施形態に係るグラフィックプロセッサの動作について説明する。グラフィックプロセッサの動作は、第１の実施形態で説明した図９、図１０の動作においてステップＳ１２を変形した以外は同様であるので、ここではステップＳ１２の処理についてのみ図２６を用いて説明する。図２６は、ステップＳ１２のアドレスマージの処理の詳細を示すフローチャートである。
【００７４】
まず、重複チェック回路２２に対してアドレス生成部１０から、クアッド内の１つのピクセルに対応した４つのテクセルアドレスが入力される（ステップＳ４０）。次に重複チェック回路２２は、入力された４つのテクセルアドレスを比較する（ステップＳ４１）。これにより、４つのテクセルアドレスが同一のテクスチャブロック内に存在するか否かを判定する。この判定の仕方は、第１の実施形態で説明したステップＳ３０と同様である。
【００７５】
複数のテクセルが同一テクスチャブロック内にあると判定された場合（ステップＳ４２、ＹＥＳ）、重複チェック回路２２は、そのうちの若いテクセルアドレスのみを選択するようにバリッド信号Ｖ０〜Ｖ３をマージ回路２３へ出力する（ステップＳ４３）。
【００７６】
次に、ステップＳ４１において同一テクスチャブロック内に無いと判定された場合（ステップＳ４２、ＮＯ）、またはステップＳ４３の後、マージ回路２３はマージレジスタ群２５を参照する。そして、ステップＳ４２、Ｓ４３で得られたテクセルアドレスと、マージレジスタ０〜３に保持されているテクセルアドレスとを比較する（ステップＳ４４）。
【００７７】
これにより、ステップＳ４２、Ｓ４３で得られたテクセルアドレスと、マージレジスタ０〜３に保持されているテクセルアドレスとが同一のテクスチャブロック内に存在するか否かを判定する。この判定の仕方も、第１の実施形態で説明したステップＳ３０と同様である。
【００７８】
複数のテクセルが同一テクスチャブロック内にあると判定された場合（ステップＳ４５、ＹＥＳ）、マージ回路２３は、そのうちの若いテクセルアドレスのみを選択し、その他を破棄するように制御信号Ｃ０〜Ｃ３を出力する（ステップＳ４６）。同一テクスチャブロックに無い場合（ステップＳ４５、ＮＯ）には、マージ回路２３はマージを行わない。  次にマージ回路２３は、マージレジスタ０〜３に空きがあるか否かをチェックする。ステップＳ４５、Ｓ４６まで処理の結果得られるテクセルアドレスを格納できるだけの空きレジスタが無い場合（ステップＳ４７、ＮＯ）には、現在マージレジスタ群２５に保持されているテクセルアドレスを、出力レジスタ群２６及びマルチプレクサ２７を介してヒット判定部１９へ出力させる（ステップＳ４８）。空きレジスタがある場合（ステップＳ４７、ＹＥＳ）、またはステップＳ４８の後、ステップＳ４５、Ｓ４６までの処理の結果得られるテクセルアドレスは、マージレジスタ群２５のいずれかのマージレジスタに格納される（ステップＳ４９）。勿論、新たに格納すべきテクセルアドレスが無い場合には、格納されない。
【００７９】
そして、当該テクセルアドレスが、当該クアッドにおける最後のピクセルである場合（ステップＳ５０、ＹＥＳ）には処理を終了する。最後のピクセルで無い場合（ステップＳ５０、ＮＯ）にはステップＳ４０に戻り、次のピクセルについて処理を繰り返す。
【００８０】
本実施形態に係る上記マージ処理の具体例について以下説明する。図２７は、重複チェック回路に入力されるテクセルアドレス、バリッド信号Ｖ０〜Ｖ３、制御信号Ｃ０〜Ｃ３、及びマージレジスタ内のテクセルアドレスを示すタイミングチャートである。なお図２７では、マージレジスタ０〜３をＲ０〜Ｒ３と記載しており、以下簡単化のためにレジスタＲ０〜Ｒ３と呼ぶことにする。
【００８１】
まず、時刻ｔ０において重複チェック回路２２に４つのテクセルアドレスＡ０〜Ａ３が入力されたとする（ステップＳ４０）。そして重複チェック回路２２は、テクセルアドレスＡ０〜Ａ３を比較する（ステップＳ４１）。比較の結果、全てのテクセルアドレスＡ０〜Ａ３は同一のタグエントリに存在したとする（ステップＳ４２）。従って重複チェック回路２２は、バリッド信号Ｖ０〜Ｖ３を（１０００）とする（ステップＳ４３）。次に時刻ｔ１において、時刻ｔ０におけるバリッド信号Ｖ０〜Ｖ３＝（１０００）を受けて、マージ回路２３はテクセルアドレスＡ０とレジスタＲ０〜Ｒ３内のテクセルアドレスとを比較する（ステップＳ４４）。しかし、この時点ではレジスタＲ０〜Ｒ３にテクセルアドレスは保持されていないので（ステップＳ４５、ＮＯ）、マージ回路２３はそのままテクセルアドレスＡ０を出力すべく、制御信号Ｃ０〜Ｃ３を（１０００）とする。またレジスタＲ０〜Ｒ３は全て空である（ステップＳ４７、ＹＥＳ）ので、時刻ｔ２においてレジスタＲ０にテクセルアドレスＡ０が保持される（ステップＳ４９）。
【００８２】
次に、時刻ｔ１において重複チェック回路２２に次の４つのテクセルアドレスＡ４〜Ａ７が入力されたとする（ステップＳ４０）。そして重複チェック回路２２における比較の結果、全てのテクセルアドレスＡ４〜Ａ７は同一のタグエントリに存在したとする（ステップＳ４２）。従って重複チェック回路２２は、バリッド信号Ｖ０〜Ｖ３を（１０００）とする（ステップＳ４３）。次に時刻ｔ２において、時刻ｔ１におけるバリッド信号Ｖ０〜Ｖ３＝（１０００）を受けて、マージ回路２３はテクセルアドレスＡ４とレジスタＲ０内のテクセルアドレスＡ０とを比較する（ステップＳ４４）。比較の結果、テクセルアドレスＡ０とＡ４とは異なるタグエントリに存在したとする（ステップＳ４５、ＮＯ）。すると、マージ回路２３はそのままテクセルアドレスＡ４を出力すべく、制御信号Ｃ０〜Ｃ３を（０１００）とする。またレジスタＲ１〜Ｒ３は空である（ステップＳ４７、ＹＥＳ）ので、時刻ｔ３においてレジスタＲ１にテクセルアドレスＡ４が保持される（ステップＳ４９）。
【００８３】
次に、時刻ｔ２において重複チェック回路２２に次の４つのテクセルアドレスＡ８〜Ａ１１が入力されたとする（ステップＳ４０）。そして重複チェック回路２２における比較の結果、全てのテクセルアドレスＡ４〜Ａ７は同一のタグエントリに存在したとする（ステップＳ４２）。従って重複チェック回路２２は、バリッド信号Ｖ０〜Ｖ３を（１０００）とする（ステップＳ４３）。次に時刻ｔ３において、時刻ｔ２におけるバリッド信号Ｖ０〜Ｖ３＝（１０００）を受けて、マージ回路２３はテクセルアドレスＡ８とレジスタＲ０、Ｒ１内のテクセルアドレスＡ０、Ａ４とを比較する（ステップＳ４４）。比較の結果、テクセルアドレスＡ８は、テクセルアドレスＡ０とＡ４とのいずれかと同一のタグエントリに存在したとする（ステップＳ４５、ＹＥＳ）。すると、マージ回路２３はテクセルアドレスＡ８〜Ａ１１を出力しないようにすべく、制御信号Ｃ０〜Ｃ３を（００００）とする。またレジスタＲ２、Ｒ３は空である（ステップＳ４７、ＹＥＳ）が、時刻ｔ４において特にテクセルアドレスは新たに保持されることはない（ステップＳ４９）。
【００８４】
次に、時刻ｔ３において重複チェック回路２２に最後の４つのテクセルアドレスＡ１２〜Ａ１５が入力されたとする（ステップＳ４０）。そして重複チェック回路２２における比較の結果、テクセルアドレスＡ１２、Ａ１３が同一タグエントリに存在し、テクセルアドレスＡ１４、Ａ１５が同一タグエントリに存在したとする（ステップＳ４２）。従って重複チェック回路２２は、バリッド信号Ｖ０〜Ｖ３を（１０１０）とする（ステップＳ４３）。次に時刻ｔ４において、時刻ｔ３におけるバリッド信号Ｖ０〜Ｖ３＝（１０１０）を受けて、マージ回路２３はテクセルアドレスＡ１２、Ａ１４と、レジスタＲ０、Ｒ１内のテクセルアドレスＡ０、Ａ４とを比較する（ステップＳ４４）。比較の結果、テクセルアドレスＡ１２、Ａ１４は、テクセルアドレスＡ０、Ａ４と異なるタグエントリに存在したとする（ステップＳ４５、ＮＯ）。すると、マージ回路２３はテクセルアドレスＡ１２、Ａ１４を出力すべく、制御信号Ｃ０〜Ｃ３を（００１１）とする。またレジスタＲ２、Ｒ３は空である（ステップＳ４７、ＹＥＳ）ので、レジスタＲ２、Ｒ３に新たにテクセルアドレスＡ１２、Ａ１４が保持される（ステップＳ４９）。
【００８５】
以上の結果、マージレジスタ群２５にはテクセルアドレスＡ０、Ａ４、Ａ１２、Ａ１４が格納される。そしてこれらが出力レジスタ群２６及びマルチプレクサ２７を介してヒット判定部１９へ出力される。
【００８６】
別の例について図２８を用いて説明する。図２８は、重複チェック回路に入力されるテクセルアドレス、バリッド信号Ｖ０〜Ｖ３、制御信号Ｃ０〜Ｃ３、及びマージレジスタ内のテクセルアドレスを示すタイミングチャートである。
【００８７】
まず、時刻ｔ０において重複チェック回路２２に４つのテクセルアドレスＡ０〜Ａ３が入力されたとする。テクセルアドレスＡ０〜Ａ３については図２７と同様であり、時刻ｔ２においてレジスタＲ０にテクセルアドレスＡ０が保持されたとする。
【００８８】
次に、時刻ｔ１において重複チェック回路２２に次の４つのテクセルアドレスＡ４〜Ａ７が入力されたとする（ステップＳ４０）。そして重複チェック回路２２における比較の結果、全てのテクセルアドレスＡ４〜Ａ７は全て異なるタグエントリに存在したとする（ステップＳ４２、ＮＯ）。従って重複チェック回路２２は、バリッド信号Ｖ０〜Ｖ３を（１１１１）とする（ステップＳ４３）。次に時刻ｔ２において、時刻ｔ１におけるバリッド信号Ｖ０〜Ｖ３＝（１１１１）を受けて、マージ回路２３はテクセルアドレスＡ４〜Ａ７とレジスタＲ０内のテクセルアドレスＡ０とを比較する（ステップＳ４４）。比較の結果、テクセルアドレスＡ０とＡ４〜Ａ７とは異なるタグエントリに存在したとする（ステップＳ４５、ＮＯ）。すると、マージ回路２３はそのままテクセルアドレスＡ４〜Ａ７を出力すべく、制御信号Ｃ０〜Ｃ３を（１１１１）とする。すると、レジスタＲ０はテクセルアドレスＡ０を保持しており使用中であり、マージレジスタ群２５はテクセルアドレスＡ４〜Ａ７の全てを保持できない（ステップＳ４７、ＮＯ）。従って、時刻ｔ３において、マージレジスタＲ０内のテクセルアドレスＡ０がヒット判定部１９へ出力され（ステップＳ４８）、その代わりレジスタＲ０〜Ｒ３にテクセルアドレスＡ４〜Ａ７が格納される（ステップＳ４９）。
【００８９】
次に、時刻ｔ２において重複チェック回路２２に次の４つのテクセルアドレスＡ８〜Ａ１１が入力されたとする（ステップＳ４０）。そして重複チェック回路２２における比較の結果、全てのテクセルアドレスＡ８〜Ａ１１は全て同一タグエントリに存在したとする（ステップＳ４２、ＹＥＳ）。従って重複チェック回路２２は、バリッド信号Ｖ０〜Ｖ３を（１０００）とする（ステップＳ４３）。次に時刻ｔ３において、時刻ｔ２におけるバリッド信号Ｖ０〜Ｖ３＝（１０００）を受けて、マージ回路２３はテクセルアドレスＡ８と、レジスタＲ０〜Ｒ３内のテクセルアドレスＡ４〜Ａ７とを比較する（ステップＳ４４）。比較の結果、テクセルアドレスＡ８とＡ４〜Ａ７とは異なるタグエントリに存在したとする（ステップＳ４５、ＮＯ）。すると、マージ回路２３はそのままテクセルアドレスＡ８を出力すべく、制御信号Ｃ０〜Ｃ３を（１０００）とする。すると、レジスタＲ０〜Ｒ３は全て使用中であり、マージレジスタ群２５はテクセルアドレスＡ８を保持できない（ステップＳ４７、ＮＯ）。従って、時刻ｔ４において、マージレジスタＲ０〜Ｒ３内のテクセルアドレスＡ４〜Ａ７がヒット判定部１９へ出力され（ステップＳ４８）、その代わりレジスタＲ０にテクセルアドレスＡ８が格納される（ステップＳ４９）。
【００９０】
次に、時刻ｔ３において重複チェック回路２２に最後の４つのテクセルアドレスＡ１２〜Ａ１５が入力されたとする（ステップＳ４０）。そして重複チェック回路２２における比較の結果、テクセルアドレスＡ１２、Ａ１３が同一タグエントリに存在し、テクセルアドレスＡ１４、Ａ１５が同一タグエントリに存在したとする（ステップＳ４２）。従って重複チェック回路２２は、バリッド信号Ｖ０〜Ｖ３を（１０１０）とする（ステップＳ４３）。次に時刻ｔ４において、時刻ｔ３におけるバリッド信号Ｖ０〜Ｖ３＝（１０１０）を受けて、マージ回路２３はテクセルアドレスＡ１２、Ａ１４と、レジスタＲ０内のテクセルアドレスＡ８とを比較する（ステップＳ４４）。比較の結果、テクセルアドレスＡ１２、Ａ１４は、テクセルアドレスＡ８と異なるタグエントリに存在したとする（ステップＳ４５、ＮＯ）。すると、マージ回路２３はテクセルアドレスＡ１２、Ａ１４を出力すべく、制御信号Ｃ０〜Ｃ３を（０１１０）とする。またレジスタＲ１〜Ｒ３は空である（ステップＳ４７、ＹＥＳ）ので、レジスタＲ１、Ｒ２に新たにテクセルアドレスＡ１２、Ａ１４が保持される（ステップＳ４９）。
【００９１】
以上の結果、マージレジスタ群２５にはテクセルアドレスＡ８、Ａ１２、Ａ１４が格納される。そしてこれらが出力レジスタ群２６及びマルチプレクサ２７を介してヒット判定部１９へ出力される。
【００９２】
上記のとおり、本実施形態に係るグラフィックプロセッサ１であると、クアッド単位でテクスチャを読み出す構成においても、上記第１の実施形態で説明した（１）、（２）の効果が得られる。最も効率が良い場合には、４個のピクセルが参照する１６個のテクセルのうち、１／４の４個のテクセルのテクセルアドレスのみを考慮すれば良い。更に、下記（３）の効果を併せて得られる。
【００９３】
（３）グラフィックプロセッサの処理効率を向上出来る。
【００９４】
本実施形態に係るグラフィックプロセッサであると、２つのピクセル群において、いずれかのクアッドがインバリッドである場合、これら２つのピクセル群をマージしている。従って、インバリッドなクアッドに関する処理を省き、バリッドなクアッドに対してのみ描画処理行うことが出来、処理量を削減できる。その結果、グラフィックプロセッサの負荷を軽減すると共に、描画速度を向上できる。
【００９５】
以上のように、この発明の第１、第２の実施形態に係るグラフィックプロセッサであると、１つのピクセルに対して複数のテクセルを参照してテクスチャマッピングを行うグラフィックプロセッサにおいて、同一キャッシュエントリに保持されるテクセルのテクセルアドレスをマージしている。よって、テクスチャユニットにおいて扱うテクセルアドレスの数を減らすことができる。またその結果、ヒット判定の回数を削減でき、またテクセルアドレスを保持するメモリ容量を低減することができる。
【００９６】
なお上記実施形態では、テクスチャユニットはバイリニアフィルタリングを使用し、且つ１つのピクセルに対して４つのテクセルを参照する場合を例に挙げて説明した。しかし、フィルタリング手法は特にバイリニアフィルタリングに限定されるものでは無いし、また１つのピクセルに対して参照するテクセルの数は、可能であれば４個以上の例えば８個や１６個であってもよい。
【００９７】
また、アドレス保持部１３が保持するアドレスは、図７で説明した内部テクセルアドレスでなければならないわけではなく、テクセルアドレスそのものであっても良い。また、いずれのタグエントリ内のテクセルであるかが分かれば十分であるので、例えばタグエントリのエントリ番号であっても良い。
【００９８】
更に、タグエントリのテクセルアドレスフィールドには、テクセルアドレスそのものではなく、テクセルアドレスに関連した情報であって、それに基づいてヒット判定部１９がヒット判定可能な情報であれば良い。例えば、ピクセル座標が入力された際、それに識別番号がつけられるような構成を用いて、その識別番号を保持しても良い。その場合ヒット判定部１９は、アドレスマージ部１１から出力されたテクセルアドレスに対応する識別番号と、タグエントリ内の識別番号とのヒット判定を行う。
【００９９】
また、上記第１、第２の実施形態に係るグラフィックプロセッサは、例えばゲーム機、ホームサーバー、テレビ、または携帯情報端末などに搭載することが出来る。図２９は上記第１、第２の実施形態に係るグラフィックプロセッサを備えたデジタルテレビの備えるデジタルボードのブロック図である。デジタルボードは、画像・音声などの通信情報を制御するためのものである。図示するように、デジタルボード１０００は、フロントエンド部１１００、画像描画プロセッサシステム１２００、デジタル入力部１３００、Ａ／Ｄコンバータ１４００、１８００、ゴーストリダクション部１５００、三次元ＹＣ分離部１６００、カラーデコーダ１７００、ＬＡＮ処理ＬＳＩ１９００、ＬＡＮ端子２０００、ブリッジメディアコントローラ２１００、カードスロット２２００、フラッシュメモリ２３００、及び大容量メモリ（例えばＤＲＡＭ）２４００を備えている。フロントエンド部１１００は、デジタルチューナーモジュール１１１０、１１２０、ＯＦＤＭ（Orthogonal Frequency Division Multiplex）復調部１１３０、ＱＰＳＫ（Quadrature Phase Shift Keying）復調部１１４０を備えている。
【０１００】
画像描画プロセッサシステム１２００は、送受信回路１２１０、ＭＰＥＧ２デコーダ１２２０、グラフィックエンジン１２３０、デジタルフォーマットコンバータ１２４０、及びプロセッサ１２５０を備えている。そして、例えばグラフィックエンジン１２３０が、上記第１、第２の実施形態で説明したグラフィックプロセッサに対応する。
【０１０１】
上記構成において、地上デジタル放送波、ＢＳデジタル放送波、及び１１０°ＣＳデジタル放送波は、フロントエンド部１１００で復調される。また地上アナログ放送波及びＤＶＤ／ＶＴＲ信号は、３次元ＹＣ分離部１６００及びカラーデコーダ１７００でデコードされる。これらの信号は、画像描画プロセッサシステム１２００に入力され、送受信回路１２１０で、映像・音声・データに分離される。そして、映像に関しては、ＭＰＥＧ２デコーダ１２２０を介してグラフィックエンジン１２３０に映像情報が入力される。するとグラフィックエンジン１２３０は、上記実施形態で説明したようにして図形を描画する。
【０１０２】
図３０は、上記第１、第２の実施形態に係るグラフィックプロセッサを備えた録画再生機器のブロック図である。図示するように、録画再生機器３０００はヘッドアンプ３１００、モータードライバ３２００、メモリ３３００、画像情報制御回路３４００、ユーザＩ／Ｆ用ＣＰＵ３５００、フラッシュメモリ３６００、ディスプレイ３７００、ビデオ出力部３８００、及びオーディオ出力部３９００を備えている。
【０１０３】
画像情報制御回路３４００は、メモリインターフェース３４１０、デジタル信号プロセッサ３４２０、プロセッサ３４３０、映像処理用プロセッサ３４５０、及びオーディオ処理用プロセッサ３４４０を備えている。そして、例えば映像処理用プロセッサ３４５０及びデジタル信号プロセッサ３４２０が、上記第１及び第２の実施形態で説明したグラフィックプロセッサに対応する。
【０１０４】
上記構成において、ヘッドアンプ３１００で読み出された映像データが画像情報制御回路３４００に入力される。そして、デジタル信号処理プロセッサ３４２０から映像情報用プロセッサ３４５０に図形情報が入力される。すると映像情報用プロセッサ３４５０は、上記実施形態で説明したようにして図形を描画する。
【０１０５】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【図面の簡単な説明】
【０１０６】
【図１】この発明の第１の実施形態に係るグラフィックプロセッサのブロック図。
【図２】この発明の第１の実施形態に係るグラフィックプロセッサにおけるフレームバッファの概念図。
【図３】この発明の第１の実施形態に係るグラフィックプロセッサにおけるフレームバッファの概念図。
【図４】この発明の第１の実施形態に係るグラフィックプロセッサにおけるテクスチャの概念図。
【図５】この発明の第１の実施形態に係るグラフィックプロセッサの備えるテクスチャユニットのブロック図。
【図６】この発明の第１の実施形態に係るグラフィックプロセッサの備えるタグ部の様子を示す概念図。
【図７】この発明の第１の実施形態に係るグラフィックプロセッサの備えるタグ部内のメモリ空間の様子を示す概念図。
【図８】この発明の第１の実施形態に係るグラフィックプロセッサの備えるアドレスマージ部のブロック図。
【図９】この発明の第１の実施形態に係るグラフィックプロセッサにおけるテクスチャ取得のフローチャート。
【図１０】この発明の第１の実施形態に係るグラフィックプロセッサにおけるテクスチャ取得のフローチャート。
【図１１】この発明の第１の実施形態に係るグラフィックプロセッサにおけるテクスチャ取得時のアドレスマージのフローチャート。
【図１２】この発明の第１の実施形態に係るグラフィックプロセッサにおけるテクスチャの概念図。
【図１３】この発明の第１の実施形態に係るグラフィックプロセッサの備えるタグ部の様子を示す概念図。
【図１４】この発明の第１の実施形態に係るグラフィックプロセッサにおいて、アドレスマージ前後のテクセルアドレスを示す概念図。
【図１５】この発明の第１の実施形態に係るグラフィックプロセッサにおけるテクスチャの概念図。
【図１６】この発明の第１の実施形態に係るグラフィックプロセッサの備えるタグ部の様子を示す概念図。
【図１７】この発明の第１の実施形態に係るグラフィックプロセッサにおいて、アドレスマージ前後のテクセルアドレスを示す概念図。
【図１８】この発明の第１の実施形態に係るグラフィックプロセッサにおけるテクスチャの概念図。
【図１９】この発明の第１の実施形態に係るグラフィックプロセッサの備えるタグ部の様子を示す概念図。
【図２０】この発明の第１の実施形態に係るグラフィックプロセッサにおいて、アドレスマージ前後のテクセルアドレスを示す概念図。
【図２１】この発明の第１の実施形態に係るグラフィックプロセッサにおけるテクスチャの概念図。
【図２２】この発明の第１の実施形態に係るグラフィックプロセッサの備えるタグ部の様子を示す概念図。
【図２３】この発明の第２の実施形態に係るグラフィックプロセッサにおけるフレームバッファの概念図であり、ピクセル群を示す図。
【図２４】この発明の第２の実施形態に係るグラフィックプロセッサにおけるフレームバッファの概念図であり、クアッドマージの様子を示す図。
【図２５】この発明の第２の実施形態に係るグラフィックプロセッサの備えるアドレスマージ部のブロック図。
【図２６】この発明の第２の実施形態に係るグラフィックプロセッサにおけるテクスチャ取得時のアドレスマージのフローチャート。
【図２７】この発明の第２の実施形態に係るグラフィックプロセッサのアドレスマージ時における、入力テクセルアドレス、バリッド信号、制御信号、及びマージレジスタ内のテクセルアドレスのタイミングチャート。
【図２８】この発明の第２の実施形態に係るグラフィックプロセッサのアドレスマージ時における、入力テクセルアドレス、バリッド信号、制御信号、及びマージレジスタ内のテクセルアドレスのタイミングチャート。
【図２９】この発明の第１、第２の実施形態に係るグラフィックプロセッサを備えたデジタルテレビの有するデジタルボードのブロック図。
【図３０】この発明の第１、第２の実施形態に係るグラフィックプロセッサを備えた録画再生機器のブロック図。
【符号の説明】
【０１０７】
１…グラフィックプロセッサ、２…ラスタライザ、３…ピクセルシェーダ、４…ローカルメモリ、５…データ振り分け部、６…ピクセル処理部、７…テクスチャユニット、１０…アドレス生成部、１１…アドレスマージ部、１２…プリフェッチ部、１３…アドレス保持部、１４…フェッチ部、１５…リフィル処理部、１６…キャッシュメモリ、１７…フィルタリング処理部、１８…タグ部、１９…ヒット判定部、２０…リフィルチェック部、２１…読み出し命令部、２２…重複チェック回路、２３…マージ回路、２４−０〜２４−３…選択回路、２５…マージレジスタ群、２６…出力レジスタ群、２７…マルチプレクサ
【図１】
2008097451.tif 000003
【図２】
2008097451.tif 000004
【図３】
2008097451.tif 000005
【図４】
2008097451.tif 000006
【図５】
2008097451.tif 000007
【図６】
2008097451.tif 000008
【図７】
2008097451.tif 000009
【図８】
2008097451.tif 000010
【図９】
2008097451.tif 000011
【図１０】
2008097451.tif 000012
【図１１】
2008097451.tif 000013
【図１２】
2008097451.tif 000014
【図１３】
2008097451.tif 000015
【図１４】
2008097451.tif 000016
【図１５】
2008097451.tif 000017
【図１６】
2008097451.tif 000018
【図１７】
2008097451.tif 000019
【図１８】
2008097451.tif 000020
【図１９】
2008097451.tif 000021
【図２０】
2008097451.tif 000022
【図２１】
2008097451.tif 000023
【図２２】
2008097451.tif 000024
【図２３】
2008097451.tif 000025
【図２４】
2008097451.tif 000026
【図２５】
2008097451.tif 000027
【図２６】
2008097451.tif 000028
【図２７】
2008097451.tif 000029
【図２８】
2008097451.tif 000030
【図２９】
2008097451.tif 000031
【図３０】
2008097451.tif 000032