(57)【要約】【課題】  テクスチャを処理する方法及びその装置を提供すること。【解決手段】  テクスチャの周波数情報により、テクスチャフィルタリングに利用されるテクセル個数を調節し、テクスチャを処理する方法及びその装置である。【選択図】      図３
2016062594.tif 000002
【特許請求の範囲】
【請求項１】
テクスチャを処理する方法において、
ピクセルアドレスに対応するテクスチャアドレス、及びテクスチャの周波数情報を獲得する段階と、
前記テクスチャの周波数情報により、テクスチャフィルタリングに利用されるテクセル個数を決定する段階と、
前記テクスチャアドレスに基づいて、前記決定されたテクセル個数に該当するテクセル値を読み取る段階と、
前記読み取られたテクセル値を利用して、テクスチャフィルタリングを行う段階と、を含む、
テクスチャを処理する方法。
【請求項２】
前記テクセル個数を決定する段階は、
前記テクスチャの周波数情報が、テクセル値の変化率に係わる所定の基準値より低周波数であるということを示す場合、テクスチャフィルタリングに利用される最小のテクセル個数値を決定する、
請求項１に記載のテクスチャを処理する方法。
【請求項３】
前記テクセル値を読み取る段階は、
前記テクスチャアドレスに基づいて、テクスチャキャッシュに保存されたテクスチャのテクセル値を要請される段階と、
前記テクスチャキャッシュにおいて、前記要請されたテクセル値に係わるキャッシュヒットを判断する段階と、
前記要請されたテクセル値に係わるキャッシュヒット個数と、前記最小のテクセル個数値との比較結果により、前記最小のテクセル個数値に該当するテクセル値を伝送する段階と、を含む、
請求項２に記載のテクスチャを処理する方法。
【請求項４】
前記テクスチャキャッシュに保存されたテクスチャのテクセル値を要請される段階は、
前記最小のテクセル個数値に該当するテクセル値を要請される、
請求項３に記載のテクスチャを処理する方法。
【請求項５】
前記テクセル値を伝送する段階は、
前記テクスチャフィルタリングに利用される前記最小のテクセル個数値よりキャッシュヒット個数が小さい場合、キャッシュミス個数に該当するテクセル値を、外部メモリに要請する段階と、
前記キャッシュヒットされたテクセル値に、前記外部メモリから受信した少なくとも１つのテクセル値を補充し、前記最小のテクセル個数値に該当するテクセル値を同時に伝送する段階と、を含む、
請求項３に記載のテクスチャを処理する方法。
【請求項６】
前記テクセル値を伝送する段階は、
前記テクスチャフィルタリングに利用される前記最小のテクセル個数値よりキャッシュヒット個数が大きいか、あるいはそれと同じである場合、前記最小のテクセル個数値に該当するテクセル値を伝送する、
請求項３乃至５いずれか一項に記載のテクスチャを処理する方法。
【請求項７】
前記テクセル値を読み取る段階は、
前記最小のテクセル個数値に該当するテクセル値を伝送した後、キャッシュミス個数に該当する少なくとも１つのテクセル値を、外部メモリに要請する段階と、
前記外部メモリから受信した前記少なくとも１つのテクセル値を、前記テクスチャキャッシュに保存する段階と、をさらに含む、
請求項５または６に記載のテクスチャを処理する方法。
【請求項８】
前記テクセル個数を決定する段階は、
前記テクスチャの周波数情報がテクセル値の変化率に係わる所定の基準値より高周波数であるということを示す場合、テクスチャフィルタリングに利用される最大のテクセル個数値を決定する、
請求項１に記載のテクスチャを処理する方法。
【請求項９】
前記テクスチャの周波数情報は、圧縮されたテクスチャのヘッダファイルから抽出された情報に基づく、
請求項１乃至８いずれか一項に記載のテクスチャを処理する方法。
【請求項１０】
請求項１乃至９いずれか一項に記載の方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体。
【請求項１１】
テクスチャを処理する装置において、
ピクセルアドレスに対応するテクスチャアドレス、及びテクスチャの周波数情報を獲得し、前記テクスチャの周波数情報によりテクスチャフィルタリングに利用されるテク  セル個数を決定する制御部と、
前記テクスチャアドレスに基づいて、前記決定されたテクセル個数に該当するテクセル値を読み取るテクスチャキャッシュと、
前記読み取られたテクセル値を利用して、テクスチャフィルタリングを行うテクスチャフィルタと、を含む、
テクスチャを処理する装置。
【請求項１２】
前記制御部は、
前記テクスチャの周波数情報がテクセル値の変化率に係わる所定の基準値より低周波数であるということを示す場合、テクスチャフィルタリングに利用される最小のテクセル個数値を決定する、
請求項１１に記載のテクスチャを処理する装置。
【請求項１３】
前記テクスチャキャッシュは、
前記テクスチャアドレスに基づいて、前記テクスチャキャッシュに保存されたテクスチャのテクセル値を要請され、前記要請されたテクセル値に係わるキャッシュヒットを判断し、前記要請されたテクセル値に係わるキャッシュヒット個数と、前記最小のテクセル個数値との比較結果により、前記最小のテクセル個数値に該当するテクセル値を伝送する、
請求項１２に記載のテクスチャを処理する装置。
【請求項１４】
前記テクスチャキャッシュは、
前記最小のテクセル個数値に該当するテクセル値を要請される、
請求項１３に記載のテクスチャを処理する装置。
【請求項１５】
前記テクスチャキャッシュは、
前記テクスチャフィルタリングに利用される前記最小のテクセル個数値よりキャッシュヒット個数が小さい場合、キャッシュミス個数に該当するテクセル値を外部メモリに要請し、前記キャッシュヒットされたテクセル値に、前記外部メモリから受信した少なくとも１つのテクセル値を補充し、前記最小のテクセル個数値に該当するテクセル値を同時に伝送する、
請求項１３に記載のテクスチャを処理する装置。
【請求項１６】
前記テクスチャキャッシュは、
前記テクスチャフィルタリングに利用される前記最小のテクセル個数値よりキャッシュヒット個数が大きいか、あるいはそれと同じである場合、前記最小のテクセル個数値に該当するテクセル値を伝送する、
請求項１３乃至１５いずれか一項に記載のテクスチャを処理する装置。
【請求項１７】
前記テクスチャキャッシュは、
前記最小のテクセル個数値に該当するテクセル値を伝送した後、キャッシュミス個数に該当する少なくとも１つのテクセル値を外部メモリに要請し、前記外部メモリから受信した前記少なくとも１つのテクセル値を保存する、
請求項１５または１６に記載のテクスチャを処理する装置。
【請求項１８】
前記制御部は、
前記テクスチャの周波数情報が、テクセル値の変化率に係わる所定の基準値より高周波数であるということを示す場合、テクスチャフィルタリングに利用される最大のテクセル個数値を決定する、
請求項１１に記載のテクスチャを処理する装置。
【請求項１９】
外部メモリから受信される圧縮されたテクスチャを圧縮解除するデコンプレッサをさらに含み、
前記制御部は、前記圧縮されたテクスチャのヘッダファイルから抽出された情報に基づいて決定された前記テクスチャの周波数情報を、前記デコンプレッサから獲得する、
請求項１１に記載のテクスチャを処理する装置。
【請求項２０】
前記テクスチャの周波数情報は、前記ヘッダファイルから抽出された前記圧縮されたテクスチャの圧縮率情報に基づいて決定される、
請求項１９に記載のテクスチャを処理する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フレームを構成するピクセルにマッピングされるテクスチャを処理する方法及びその装置に関する。
【背景技術】
【０００２】
三次元グラフィックスＡＰＩ（application  program  interface）標準では、OpenＧＬ、OpenＧＬ  ＥＳまたはDirect３などがある。ＡＰＩ標準は、三次元グラフィックスの各フレームに対するレンダリングを行い、映像を表示する方法を含む。三次元グラフィックスの各フレームに対するレンダリングを行うとき、多くの演算が行われ、多くの電力が消耗される。従って、レンダリングを行うとき、演算量を減らし、グラフィックス処理装置の外部のメモリに接続（access）する回数を減らす必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明が解決しようとする課題は、テクスチャの周波数情報によって、テクスチャフィルタリングに利用されるテクセル個数を調節し、テクスチャを処理する方法及びその装置を提供するところにある。本実施形態がなす技術的課題は、前述のような技術的課題に限定されるものではなく、以下の実施形態から他の技術的課題が類推される。
【課題を解決するための手段】
【０００４】
前記課題を解決するために、本発明の第１側面による、テクスチャを処理する方法は、ピクセルアドレスに対応するテクスチャアドレス、及びテクスチャの周波数情報を獲得する段階、前記テクスチャの周波数情報により、テクスチャフィルタリングに利用されるテクセル個数を決定する段階、前記テクスチャアドレスに基づいて、前記決定されたテクセル個数に該当するテクセル値を読み取る段階、及び前記読み取られたテクセル値を利用して、テクスチャフィルタリングを行う段階を含む。
【０００５】
また、前記テクセル個数を決定する段階は、前記テクスチャの周波数情報が、テクセル値の変化率に係わる所定の基準値より低周波数であるということを示す場合、テクスチャフィルタリングに利用される最小のテクセル個数値を決定することができる。
【０００６】
また、前記テクセル値を読み取る段階は、前記テクスチャアドレスに基づいて、テクスチャキャッシュに保存されたテクスチャのテクセル値を要請される段階、前記テクスチャキャッシュにおいて、前記要請されたテクセル値に係わるキャッシュヒットを判断する段階、及び前記要請されたテクセル値に係わるキャッシュヒット個数と、前記最小のテクセル個数値との比較結果により、前記最小のテクセル個数値に該当するテクセル値を伝送する段階を含んでもよい。
【０００７】
また、前記テクスチャキャッシュに保存されたテクスチャのテクセル値を要請される段階は、前記最小のテクセル個数値に該当するテクセル値を要請される。
【０００８】
また、前記テクセル値を伝送する段階は、前記テクスチャフィルタリングに利用される前記最小のテクセル個数値よりキャッシュヒット個数が小さい場合、キャッシュミス個数に該当するテクセル値を、外部メモリに要請する段階、及び前記キャッシュヒットされたテクセル値に、前記外部メモリから受信した少なくとも１つのテクセル値を補充し、前記最小のテクセル個数値に該当するテクセル値を同時に伝送する段階を含んでもよい。
【０００９】
また、前記テクセル値を伝送する段階は、前記テクスチャフィルタリングに利用される前記最小のテクセル個数値よりキャッシュヒット個数が大きいか、あるいはそれと同じである場合、前記最小のテクセル個数値に該当するテクセル値を伝送することができる。
【００１０】
また、前記テクセル値を読み取る段階は、前記最小のテクセル個数値に該当するテクセル値を伝送した後、キャッシュミス個数に該当する少なくとも１つのテクセル値を、外部メモリに要請する段階、及び前記外部メモリから受信した前記少なくとも１つのテクセル値を、前記テクスチャキャッシュに保存する段階をさらに含んでもよい。
【００１１】
また、前記テクセル個数を決定する段階は、前記テクスチャの周波数情報が、テクセル値の変化率に係わる所定の基準値より高周波数であるということを示す場合、テクスチャフィルタリングに利用される最大のテクセル個数値を決定することができる。
また、前記テクスチャの周波数情報は、圧縮されたテクスチャのヘッダファイルから抽出された情報に基づく。
【００１２】
前記課題を解決するために、本発明の第２側面による、コンピュータで実行させるためのプログラムを記録した記録媒体は、前記テクスチャを処理する方法をコンピュータで実行させるためのプログラムとして記録する。
【００１３】
前記課題を解決するために、本発明の第３側面による、テクスチャを処理する装置は、ピクセルアドレスに対応するテクスチャアドレス、及びテクスチャの周波数情報を獲得し、前記テクスチャの周波数情報により、テクスチャフィルタリングに利用されるテクセル個数を決定する制御部；前記テクスチャアドレスに基づいて、前記決定されたテクセル個数に該当するテクセル値を読み取るテクスチャキャッシュ；及び前記読み取られたテクセル値を利用して、テクスチャフィルタリングを行うテクスチャフィルタ；を含む。
【００１４】
また、前記制御部は、前記テクスチャの周波数情報が、テクセル値の変化率に係わる所定の基準値より低周波数であるということを示す場合、テクスチャフィルタリングに利用される最小のテクセル個数値を決定することができる。
また、前記テクスチャキャッシュは、前記テクスチャアドレスに基づいて、前記テクスチャキャッシュに保存されたテクスチャのテクセル値を要請され、前記要請されたテクセル値に係わるキャッシュヒットを判断し、前記要請されたテクセル値に係わるキャッシュヒット個数と、前記最小のテクセル個数値との比較結果により、前記最小のテクセル個数値に該当するテクセル値を伝送することができる。
【００１５】
また、前記テクスチャキャッシュは、前記最小のテクセル個数値に該当するテクセル値を要請されるテクスチャを処理することができる。
【００１６】
また、前記テクスチャキャッシュは、前記テクスチャフィルタリングに利用される前記最小のテクセル個数値よりキャッシュヒット個数が小さい場合、キャッシュミス個数に該当するテクセル値を外部メモリに要請し、前記キャッシュヒットされたテクセル値に、前記外部メモリから受信した少なくとも１つのテクセル値を補充し、前記最小のテクセル個数値に該当するテクセル値を同時に伝送することができる。
【００１７】
また、前記テクスチャキャッシュは、前記テクスチャフィルタリングに利用される前記最小のテクセル個数値よりキャッシュヒット個数が大きいか、あるいはそれと同じである場合、前記最小のテクセル個数値に該当するテクセル値を伝送することができる。
【００１８】
また、前記テクスチャキャッシュは、前記最小のテクセル個数値に該当するテクセル値を伝送した後、キャッシュミス個数に該当する少なくとも１つのテクセル値を外部メモリに要請し、前記外部メモリから受信した、前記少なくとも１つのテクセル値を保存することができる。
【００１９】
また、前記制御部は、前記テクスチャの周波数情報が、テクセル値の変化率に係わる所定の基準値より高周波数であるということを示す場合、テクスチャフィルタリングに利用される最大のテクセル個数値を決定することができる。
【００２０】
また、外部メモリから受信される圧縮されたテクスチャを圧縮解除するデコンプレッサをさらに含み、前記制御部は、前記圧縮されたテクスチャのヘッダファイルから抽出された情報に基づいて決定された前記テクスチャの周波数情報を、前記デコンプレッサから獲得するテクスチャを処理することができる。
【００２１】
また、前記テクスチャの周波数情報は、前記ヘッダファイルから抽出された、前記圧縮されたテクスチャの圧縮率情報に基づいて決定される
【発明の効果】
【００２２】
本発明によれば、テクスチャ処理に要する時間を短縮させることにより、グラフィックス処理に要する時間を短縮させることができる。
【図面の簡単な説明】
【００２３】
【図１】一実施形態によるグラフィックス処理装置（ＧＰＵ（graphics  processing  unit）を示した図面である。
【図２】グラフィックス処理装置において、三次元グラフィックスを処理する過程について説明する図面である。
【図３】一実施形態によるグラフィックス処理装置に含まれるテクスチャ処理装置の構成を示したブロック図である。
【図４】一実施形態によるテクスチャ処理装置の動作について説明するための図面である。
【図５】他の実施形態によるテクスチャ処理装置の動作について説明するための図面である。
【図６】さらに他の実施形態によるテクスチャ処理装置の動作について説明するための図面である。
【図７】一実施形態によるテクスチャ処理方法について説明するためのフローチャートである。
【図８】図７のテクスチャ処理方法に係る一実施形態において、テクスチャフィルタリングに利用されるテクセル個数を決定する段階に係わるフローチャートである。
【図９】図７のテクスチャ処理方法に係る一実施形態において、低周波のテクスチャである場合、決定されたテクセル個数に該当するテクセル値を読み取る段階に係わるフローチャートである。
【図１０】図９のオペレーションにおいて、キャッシュヒット個数と、最小のテクセル個数値との比較結果により、最小のテクセル個数値に該当するテクセル値を伝送する段階に係わるフローチャートである。
【図１１】図７のテクスチャ処理方法に係る一実施形態において、高周波のテクスチャである場合、決定されたテクセル個数に該当するテクセル値を読み取る段階に係わるフローチャートである。
【図１２】図１１のオペレーションにおいて、キャッシュヒット個数と、最大のテクセル個数値との比較結果により、最大のテクセル個数値に該当するテクセル値を伝送する段階に係わるフローチャートである。
【発明を実施するための形態】
【００２４】
以下、添付された図面を参照しながら、ただ例示のための実施形態によって、本発明について詳細に説明する。下記実施形態は、発明を具体化するためだけのものであり、発明の権利範囲を限定したり、あるいは限定したりするものではないことは言うまでもない。詳細な説明及び実施形態から、発明が属する技術分野の専門家が容易に類推することができるものは、発明の権利範囲に属すると解釈される。
【００２５】
本明細書で使用される「構成される」または「含む」というような用語は、明細書上に記載されたさまざまな構成要素、あるいはさまざまな段階を、必ずいずれも含むと解釈されるものではない、そのうち一部の構成要素または一部の段階は、含まれないこともあり、またはさらなる構成要素または段階を、さらに含んでもよいと解釈されなければならない。
【００２６】
また、本明細書で使用される「第１」または「第２」というように、序数を含む用語は、多様な構成要素の説明に使用されるが、前記構成要素は、前記用語によって限定されるものではない。前記用語は、１つの構成要素を他の構成要素から区別する目的のみに使用される。
【００２７】
本実施形態は、テクスチャを処理する方法及びその装置に係わるものであり、以下の実施形態が属する技術分野で当業者に周知されている事項については、詳細な説明を省略する。
【００２８】
図１は、一実施形態によるグラフィックス処理装置（ＧＰＵ（graphics  processing  unit））（１００）を示した図面である。図１に図示された構成要素以外に他の汎用的な構成要素がさらに含まれ得ることを関連技術分野で当業者であるならば、理解することができる。
【００２９】
図１を参照すれば、グラフィックス処理装置１００は、ラスタライザ１１０、シェーダコア１２０、テクスチャ処理装置１３０、ピクセル処理装置１４０、タイルバッファ１５０などを含んでよい。グラフィックス処理装置１００は、バス３００を介して、外部のメモリ２００とデータを送受信することができる。
【００３０】
図１に図示されたグラフィックス処理装置１００は、三次元グラフィックスを処理する装置であり、図１に図示されているように、タイルに基づいたレンダリング（ＴＢＲ：tile  based  rendering）方式を使用することができる。言い替えれば、グラフィックス処理装置１００は、１つのフレームに該当する三次元グラフィックスを生成するために、決定された大きさに分割された複数個のタイルを、ラスタライザ１１０、シェーダコア１２０、ピクセル処理装置１４０を経由させ、処理結果を、タイルバッファ１５０に保存することができる。グラフィックス処理装置１００は、全てのタイルに対して、ラスタライザ１１０、シェーダコア１２０及びピクセル処理装置１４０から構成されるチャネルを複数個利用して、並列処理を行うことができる。グラフィックス処理装置１００は、１つのフレームに該当する複数個のタイルが処理されれば、タイルバッファ１５０に保存された処理結果を、メモリ２００のフレームバッファ（図示せず）に伝送することができる。
【００３１】
シェーダコア１２０は、ピクセルシェーダを含んでもよい。シェーダコア１２０は、バーテックスシェーダ（vertex  shader）をさらに含んだ形態であるか、あるいはバーテックスシェーダとピクセルシェーダとが統合された形態の統合シェーダでもある。シェーダコア１２０が、バーテックスシェーダの機能を遂行することができる場合、オブジェクトを示すプリミティブ（primitive）を生成し、ラスタライザ１１０に伝達することができる。また、シェーダコア１２０は、ラスタライザ１１０からラスタ化（rasterization）されたプリミティブを伝達され、ピクセルシェーディングを行うことができる。
【００３２】
ラスタライザ１１０は、幾何変換過程を経て、バーテックスシェーダから生成されたプリミティブに対してラスタ化を行うことができる。
【００３３】
シェーダコア１２０は、ラスタ化を経て生成されたプリミティブのフラグメントを含むタイルを構成する全てのピクセルの色相を決定するピクセルシェーディングを行うことができる。シェーダコア１２０は、ピクセルシェーディング過程において、立体的であり、現実感ある三次元グラフィックスを生成するためにテクスチャを利用して生成されたピクセル値を使用することができる。
シェーダコア１２０が、所望するピクセルに対応するピクセル値を伝達することをテクスチャ処理装置１３０に要請すれば、テクスチャ処理装置１３０は、作り置かれたテクスチャを処理して生成されたピクセル値を伝達する。そのとき、テクスチャは、テクスチャ処理装置１３０内の所定空間、またはグラフィックス処理装置１００外部のメモリ２００に保存されている。テクスチャ処理装置１３０は、シェーダコア１２０において要請したピクセル値を生成するのに利用されるテクスチャが、テクスチャ処理装置１３０内の所定空間にない場合、メモリ２００からテクスチャを持ってきて使用することができる。
【００３４】
ピクセル処理装置１４０は、１つのタイル内の同じ位置に対応するピクセルに対して、深さテストのような過程を経て、最終的に表示されるピクセル値を決定し、１つのタイルに該当する全てのピクセル値を決定することができる。
タイルバッファ１５０は、ピクセル処理装置１４０から伝達された１つのタイルに該当する全てのピクセル値を保存することができる。１つのフレームを構成する全てのタイルに対するグラフィックス処理過程が完了すれば、タイルバッファ１５０に保存された処理結果が、メモリ２００のフレームバッファに伝達される。
【００３５】
以下、図２を参照し、三次元グラフィックスを処理する過程についてさらに詳細に説明する。
【００３６】
図２は、グラフィックス処理装置１００において、三次元グラフィックスを処理する過程について説明する図面である。
【００３７】
図２を参照すれば、段階１１ないし段階１７を介して、三次元グラフィックスを処理する過程を示している。三次元グラフィックスを処理する過程は、幾何変換、ラスタ化、ピクセルシェーディングの３段階に大別され、さらに細部的な過程に分け、以下で説明する。
【００３８】
段階１１は、バーテックス（vertices）を生成する段階である。バーテックスは、三次元グラフィックスに含まれたオブジェクトを示すために生成される。
【００３９】
段階１２は、生成されたバーテックスをシェーディングする段階である。バーテックスシェーダは、段階１１で生成されたバーテックスの位置を指定することにより、バーテックスに対するシェーディングを行うことができる。
【００４０】
段階１３は、プリミティブを生成する段階である。プリミティブは、少なくとも１つのバーテックスを利用して形成される点、線、多角形（polygon）などを意味する。一例として、プリミティは、バーテックスを連結して形成された三角形としても示される。
【００４１】
段階１４は、プリミティブをラスタ化する段階である。プリミティブのラスタ化は、プリミティブをフラグメントに分割することを意味する。フラグメントは、プリミティブに対してグラフィックス処理を行うための基本単位でもある。プリミティブは、バーテックスに係わる情報のみを含むので、ラスタ化段階において、バーテックスとバーテックスとの間のフラグメントを生成することにより、三次元グラフィックスに対するグラフィックス処理を行う。
【００４２】
段階１５は、ピクセルをシェーディングする段階を示す。ラスタ化によって生成された、プリミティブを構成するフラグメントは、タイルを構成するピクセルにもなる。当該分野において、フラグメント及びピクセルという用語は、場合によって混同して使用されもする。例えば、ピクセルシェーダは、フラグメントシェーダとも呼ばれる。一般的に、プリミティブを構成するグラフィックス処理の基本単位をフラグメントと呼び、今後、ピクセルシェーディングからのグラフィックス処理の基本単位をピクセルと呼ぶ。ピクセルシェーディングでは、ピクセルの色を決定することができる。
【００４３】
段階１６は、ピクセルの色を決定するためのテクスチャリング段階を示す。テクスチャリングは、ピクセルの色を決定するとき、作り置かれたイメージ、すなわち、テクスチャを利用して、ピクセルの色を決定する過程である。実世界の多様な色相と、パターン形態とを表現するために、それぞれのピクセルの色相を計算して決定することは、グラフィックス処理に必要なデータ量と、グラフィックス処理時間とをかなり増大させるので、作り置かれたテクスチャを利用して、ピクセルの色相を決定するのである。例えば、オブジェクトの表面色相を、テクスチャという別途の二次元映像に保存し、オブジェクトの画面上の位置及び大きさなどによって、保存されたテクスチャを拡大及び縮小したり、あるいは多様な解像度を有するテクスチャを利用して、テクセル値を混合したりすることにより、ピクセルの色相を決定することができる。
【００４４】
段階１７は、テスト及びミキシング（testing  and  mixing）段階を示す。タイル内の同じ位置に対応するピクセルに対して、深さテストのような過程を経て、最終的に表示されるピクセル値を決定し、１つのタイルに該当するピクセル値を決定することができる。このような過程を経て生成された複数個のタイルをミキシングし、１つのフレームに該当する三次元グラフィックスを生成することができる。
【００４５】
段階１８は、段階１１ないし段階１７を介して生成されたフレームをフレームバッファに保存し、フレームバッファに保存されたフレームを、ディスプレイ装置を介して表示する段階を示す。
ピクセルシェーディング過程において、さらに迅速な三次元グラフィックス処理のために、作り置かれたテクスチャを利用して生成されたピクセル値を使用することができることを、すでに説明している。そのとき、オブジェクトの大きさに適応的に対応するように、互いに異なる解像度を有する複数個のテクスチャをあらかじめ準備しておき、それらを組み合わせてピクセル値を生成することもできる。そのとき、互いに異なる解像度を有する作り置かれたテクスチャをミップマップ（mipmap）という。例えば、作り置かれた２つのミップマップの中間解像度を有するオブジェクトのピクセル値を生成するために、２つのミップマップから、オブジェクトに対応する位置のテクセル値を抽出し、それらをフィルタリングすることにより、オブジェクトを構成するピクセル値を生成することができる。
【００４６】
ただし、テクスチャ処理装置１３０内の所定空間に、多様なオブジェクトに係わる全てのテクスチャ、及び各テクスチャに対応するミップマップを保存することは不可能であるので、テクスチャ処理装置１３０内の所定空間に保存されていないテクスチャが必要である場合、グラフィックス処理装置１００外部のメモリ２００へのアクセスが必要であり、さらに、テクスチャ・ミップマップを利用したテクスチャ処理において、テクスチャフィルタリングに利用されるテクセルの個数が増加する場合、メモリ２００へのアクセス頻度を高めることにより、迅速なグラフィックス処理が困難であるという問題が起こる。
【００４７】
以下、テクスチャ・ミップマップを利用したテクスチャ処理において、テクスチャフィルタリングに利用されるテクセルの個数をテクスチャの種類によって異にして、グラフィックス処理装置１００外部のメモリ２００へのアクセス頻度を低めることにより、迅速なグラフィックス処理を行うことができるテクスチャ処理方法及びその装置について説明する。
【００４８】
図３は、一実施形態によるグラフィックス処理装置１００に含まれるテクスチャ処理装置１３０の構成を示したブロック図である。
図３を参考すれば、テクスチャ処理装置１３０は、制御部１３１、デコンプレッサ１３３、テクスチャキャッシュ１３５、テクスチャフィルタ１３７を含んでよい。
【００４９】
デコンプレッサ１３３は、テクスチャ処理装置１３０が、グラフィックス処理装置１００の外部メモリ２００から、圧縮された形態のテクスチャを受信する場合、圧縮解除を行うことができる。圧縮解除されたテクスチャは、テクスチャキャッシュ１３５に保存される。
【００５０】
テクスチャキャッシュ１３５は、グラフィックス処理過程で利用されたテクスチャを保存することができ、１つのテクスチャに係わる多様な解像度のミップマップを保存することもできる。テクスチャキャッシュ１３５は、シェーダコア１２０において要請したピクセル値の処理に必要なテクセル値を抽出し、テクスチャフィルタ１３７に伝送することができる。
【００５１】
テクスチャフィルタ１３７は、テクスチャキャッシュ１３５から伝送されたテクセル値をフィルタリングし、１つのピクセル値を生成することができる。テクセル値のフィルタリングは、テクセル値を混合し、ピクセルに対応するカラー値を求めることを意味する。例えば、ピクセルアドレスから変換されたテクスチャアドレスが含まれるテクスチャ空間上の一部領域に含まれたテクセル値の平均を求めることにより、ピクセルに対応するカラー値を求めることができる。テクスチャフィルタ１３７で生成されたピクセル値は、所定の演算過程を経たフィルタリングされたテクセル値であり、シェーダコア１２０のピクセル値要請に対する応答として、シェーダコア１２０に伝送される。
【００５２】
制御部１３１は、テクスチャ処理装置１３０を制御するために必要な演算を行ったり、あるいはデコンプレッサ１３３、テクスチャキャッシュ１３５、テクスチャフィルタ１３７を制御し、テクスチャ処理装置１３０の全般的な制御を担当することができる。
【００５３】
制御部１３１は、シェーダコア１２０で処理するピクセルのピクセルアドレスに対応するテクスチャアドレスを、シェーダコア１２０から受信することにより、シェーダコア１２０で処理するピクセルに対するピクセル値要請を受けることができる。制御部１３１は、そのような要請に対する応答として、生成されたピクセル値を、シェーダコア１２０に伝送するために、テクスチャ処理装置１３０を制御し、テクスチャ・ミップマップを利用したテクスチャ処理を行うことができる。
【００５４】
制御部１３１は、テクスチャ・ミップマップを利用したテクスチャ処理を行うために、シェーダコア１２０で処理するピクセルに対応するテクスチャの周波数情報を獲得することができる。テクスチャの周波数情報により、シェーダコア１２０から要請されたピクセル値を生成するためのテクスチャ処理のレベルを決定するためである。そのとき、テクスチャの周波数情報は、テクスチャを構成するテクセルのテクセル値の変化率を示すことができる。テクスチャの空間周波数が低いということは、テクセル値の変化率が低いということを意味し、それは、テクスチャを構成する隣接テクセルが同じであるか、あるいは非常に類似しているテクセル値を有することを意味する。言い換えれば、テクスチャの空間周波数が低いということは、テクスチャの空間的相関度が高い状態、またはテクスチャが平滑である状態であるといえる。
【００５５】
シェーダコア１２０から要請されたピクセル値を生成するために、テクスチャ処理装置１３０は、テクスチャ・ミップマップから複数個のテクセル値を抽出して使用するが、低周波のテクスチャであるならば、テクセル値の変化率が低いという意味であるので、要請されたピクセル値を生成するために、原則的にテクスチャフィルタリングに利用されなければならない全てのテクセル値を使用しないとしても、要請されたピクセル値に非常に近似したピクセル値を生成することができる。一方、高周波のテクスチャであるならば、テクセル値の変化率が高いという意味であるので、要請されたピクセル値を生成するために、原則的にテクスチャフィルタリングに利用されなければならない全てのテクセル値を使用しないのであるならば、要請されたピクセル値と誤差があるピクセル値を生成してしまう。従って、高周波のテクスチャである場合には、要請されたピクセル値を生成するために、原則的にテクスチャフィルタリングに利用されなければならない全てのテクセル値を確保した後、テクスチャフィルタリングを行うことにより、要請されたピクセル値に該当するピクセル値を生成することができる。そのとき、原則的にテクスチャフィルタリングに利用されなければならない全てのテクセル値の個数は、テクスチャフィルタリング方式によって決定される
制御部１３１は、外部メモリ２００から受信される圧縮されたテクスチャを圧縮解除するデコンプレッサ１３３から、テクスチャの周波数情報を獲得することができる。デコンプレッサ１３３は、圧縮されたテクスチャのヘッダファイルから抽出された情報に基づいて、テクスチャの周波数情報を決定することができ、決定されたテクスチャの周波数情報を、制御部１３１に伝送することができる。
【００５６】
一方、テクスチャの周波数情報は、テクスチャの圧縮率情報に基づいて判断される。例えば、テクスチャの圧縮率が高い場合、テクスチャの空間周波数は低く、テクスチャの圧縮率が低い場合、テクスチャの空間周波数は高い。テクスチャの周波数情報は、低周波であるか、あるいは高周波であるかということを区分する所定の基準と、テクスチャの圧縮率とを比較して決定される。そのとき、テクスチャの周波数情報が低周波であるか、あるいは高周波であるかということを区分する所定の基準は、少なくとも一つであり、所定の基準が複数個である場合、テクスチャの周波数情報の形態をさらに細分化し、ピクセル値の近似化レベルを決定することもできる。
【００５７】
制御部１３１は、テクスチャの周波数情報を獲得することにより、テクスチャを処理するレベルを決定することができる。制御部１３１は、テクスチャの周波数情報により、シェーダコア１２０から要請されたピクセル値を近似化して計算するか、あるいは正確に計算するかということを決定することができる。具体的には、制御部１３１は、テクスチャの周波数情報により、テクスチャフィルタリングに利用されるテクセル個数を決定することができる。低周波のテクスチャである場合には、テクスチャフィルタリングに利用されるテクセル個数を最小化することにより、キャッシュミス（cache miss）の回数、またはグラフィックス処理装置１００の外部メモリ２００のアクセス頻度を低め、グラフィックス処理の時間を短縮させることができる。
【００５８】
一般的に、テクスチャフィルタリング方式によってピクセル値を求めるのに利用されるテクセルの個数が定められるが、本実施形態においては、さらに進んで、テクスチャの周波数情報によって、テクスチャフィルタリングに利用されるテクセルの個数が決定される
例えば、トリリニア（tri-linear）フィルタリング方式の場合、テクスチャ処理装置１３０は、１つのピクセル値を求めるために、８個テクセル値を利用して、テクスチャフィルタリングを行うことができるが、低周波のテクスチャである場合、８個より少ない個数のテクセルを利用して、テクスチャフィルタリングを行うことができる。言い換えれば、テクスチャが低周波である場合、テクセル値の変化率が低く、テクスチャ処理装置１３０は、シェーダコア１２０から要請されたピクセル値を求めるのに利用されるテクセルの基本個数より少ない個数のテクセルを利用して、テクスチャフィルタリングを行っても、要請されたピクセル値に非常に近似したピクセル値を生成し、シェーダコア１２０に伝送することができる。制御部１３１は、低周波のテクスチャに対して、テクスチャフィルタリングに利用される最小のテクセル個数値を決定し、決定された最小のテクセル個数値に該当するピクセル値のみを利用して、グラフィックス処理時間の短縮を極大化することができる。テクスチャフィルタリングに利用される最小のテクセル個数値は、行われるテクスチャフィルタリング方式によって、異なって決定され、既定の値にも決定される。
【００５９】
一方、テクスチャが高周波である場合、テクセル値の変化率が高いために、テクスチャ処理装置１３０は、シェーダコア１２０から要請されたピクセル値を求めるために、テクスチャフィルタリング方式によって決定された個数ほどのテクセルを利用して、テクスチャフィルタリングを行うことができる。テクスチャ処理装置１３０は、シェーダコア１２０から要請されたピクセル値に該当するピクセル値を、そのような方式で生成し、シェーダコア１２０に伝送することができる。制御部１３１は、高周波のテクスチャに対して、テクスチャフィルタリングに利用される最大のテクセル個数値を決定し、決定された最大のテクセル個数値に該当するテクセル値を利用して、ピクセル値の正確度を維持することができる。すなわち、高周波のテクスチャであるとき、テクスチャフィルタリングに利用される最大のテクセル個数値は、テクスチャフィルタリング方式によって決定されたテクセルの個数と同じである。
【００６０】
以下、テクスチャ処理装置１３０において、フレームを構成するピクセルにマッピングされるテクスチャの処理にあたり、特に、テクスチャフィルタリングに利用されるテクスチャが低周波のテクスチャである場合、テクスチャ処理装置１３０の動作について、図４ないし図６を参照して具体的に説明する。
【００６１】
図４は、一実施形態によるテクスチャ処理装置１３０の動作について説明するための図面である。説明の便宜上、テクスチャフィルタ１３７で行うテクスチャフィルタリング方式が、トリリニア・フィルタリング方式であるということを前提とするが、それに限定されるものではないことは言うまでもない。
【００６２】
テクスチャ処理装置１３０は、シェーダコア１２０から、シェーダコア１２０で処理するピクセルのピクセルアドレスに対応するテクセルアドレスを受信することにより、シェーダコア１２０で処理するピクセルに対するテクスチャ処理を要請される。
【００６３】
テクスチャ処理装置１３０の制御部１３１は、シェーダコア１２０から要請されたピクセル値を求めるために、シェーダコア１２０で処理するピクセルに対応するテクスチャの周波数情報を獲得することができる。そのとき、獲得した周波数情報が、テクセル値の変化率に係わる所定の基準値より低周波数であるということを示す場合、制御部１３１は、テクスチャフィルタリングに利用される最小のテクセル個数値を決定することができる。図４に図示されているように、決定された最小のテクセル個数値が６である場合、制御部１３１は、決定された最小のテクセル個数値が６であるということをテクスチャキャッシュ１３５に知らせる。また、制御部１３１は、決定された最小のテクセル個数値に係わる情報を、テクスチャフィルタ１３７にも伝送することができる。
【００６４】
テクスチャ処理装置１３０の制御部１３１は、テクスチャフィルタ１３７において、トリリニア・フィルタリング方式によって、テクスチャフィルタリングを行う場合、１つのピクセル値を求めるために、８個テクセル値を利用するので、８個に該当するテクセル値を、テクスチャキャッシュ１３５に要請することができる。例えば、制御部１３１は、シェーダコア１２０から受信したテクスチャアドレスを利用して計算した少なくとも１つのテクスチャ・ミップマップ空間上の一部領域に含まれたテクセル値を、テクスチャキャッシュ１３５に要請することができる。
【００６５】
テクスチャキャッシュ１３５は、制御部１３１で決定されたテクセルの個数に該当するテクセル値を読み取る。テクスチャキャッシュ１３５は、制御部１３１から要請されたテクセル値に対して、要請されたテクセル値がテクスチャキャッシュ１３５に保存されているか否かということを確認し、キャッシュヒット（cache hit）及び／またはキャッシュミスを判断し、制御部１３１から要請されたテクセル値に係わるキャッシュヒット個数と、制御部１３１から受信した最小のテクセル個数値との比較結果により、最小のテクセル個数値に該当するテクセル値を伝送することができる。テクスチャキャッシュ１３５は、テクスチャフィルタリングに利用される最小のテクセル個数値よりキャッシュヒット個数が小さい場合、キャッシュミス個数に該当するテクセル値を、外部メモリ２００に要請し、キャッシュヒットされたテクセル値に、外部メモリ２００から受信した、少なくとも１つのテクセル値を補充し、最小のテクセル個数値に該当するテクセル値を、テクスチャフィルタ１３７に同時に伝送することができる。
【００６６】
図４に図示されているように、制御部１３１から要請された８個のテクセル値のうち、５個のテクセル値についてのみキャッシュヒットが発生した場合、先に、制御部１３１で決定した最小のテクセル個数値である６よりキャッシュヒット個数が小さいので、テクスチャキャッシュ１３５は、キャッシュミス個数に該当する３個のテクセル値を、外部メモリ２００に要請することができる。テクスチャキャッシュ１３５は、外部メモリ２００から、キャッシュミス個数に該当する３個のテクセル値を受信し、そのうち１つのテクセル値を、キャッシュヒットされたテクセル値に補充し、最小のテクセル個数値に該当する６個のテクセル値を、同時にテクスチャフィルタ１３７に伝送することができる。外部メモリ２００から受信されたテクセル値は、テクスチャキャッシュ１３５に保存されて、追って利用される。
【００６７】
テクスチャフィルタ１３７は、テクスチャキャッシュ１３５から受信された６個のテクセル値を利用して、テクスチャフィルタリングを行うことにより、シェーダコア１２０において要請したピクセル値に該当するピクセル値を生成し、生成されたピクセル値を、シェーダコア１２０に伝送することができる。そのとき、シェーダコア１２０に伝送されるピクセル値は、近似化された色相値に該当するが、非常に微細な誤差を有するので、三次元グラフィックスの品質に大きい影響を与えない。
【００６８】
図５は、他の実施形態によるテクスチャ処理装置１３０の動作について説明するための図面である。説明の便宜上、テクスチャフィルタ１３７で行うテクスチャフィルタリング方式が、トリリニア・フィルタリング方式であるということを前提とするが、それに限定されるものではないことは言うまでもない。
【００６９】
テクスチャ処理装置１３０は、シェーダコア１２０から、シェーダコア１２０で処理するピクセルのピクセルアドレスに対応するテクセルアドレスを受信することにより、シェーダコア１２０で処理するピクセルに対するテクスチャ処理を要請される。
【００７０】
テクスチャ処理装置１３０の制御部１３１は、シェーダコア１２０から要請されたピクセル値を求めるために、シェーダコア１２０で処理するピクセルに対応するテクスチャの周波数情報を獲得することができる。そのとき、獲得した周波数情報が、テクセル値の変化率に係わる所定の基準値より低周波数であるということを示す場合、制御部１３１は、テクスチャフィルタリングに利用される最小のテクセル個数値を決定することができる。図５に図示されているように、決定された最小のテクセル個数値が６である場合、制御部１３１は、決定された最小のテクセル個数値が６であるということをテクスチャキャッシュ１３５に知らせる。また、制御部１３１は、決定された最小のテクセル個数値に係わる情報を、テクスチャフィルタ１３７にも伝送することができる。
【００７１】
テクスチャ処理装置１３０の制御部１３１は、決定された最小のテクセル個数値に該当するテクセル値を、テクスチャキャッシュ１３５に要請することができる。図５に図示されているように、制御部１３１は、シェーダコア１２０から受信したテクスチャアドレスを利用して計算した少なくとも１つのテクスチャ・ミップマップ空間上の一部領域に含まれた６個に該当するテクセル値を、テクスチャキャッシュ１３５に要請することができる。
【００７２】
テクスチャキャッシュ１３５は、制御部１３１で決定されたテクセルの個数に該当するテクセル値を読み取る。テクスチャキャッシュ１３５は、制御部１３１から要請されたテクセル値に対して、要請されたテクセル値がテクスチャキャッシュ１３５に保存されているか否かということを確認し、キャッシュヒット及び／またはキャッシュミスを判断し、制御部１３１から要請されたテクセル値に係わるキャッシュヒット個数と、制御部１３１から受信した最小のテクセル個数値との比較結果により、最小のテクセル個数値に該当するテクセル値を伝送することができる。テクスチャキャッシュ１３５は、テクスチャフィルタリングに利用される最小のテクセル個数値よりキャッシュヒット個数が小さい場合、キャッシュミス個数に該当するテクセル値を、外部メモリ２００に要請し、キャッシュヒットされたテクセル値に、外部メモリ２００から受信した少なくとも１つのテクセル値を補充し、最小のテクセル個数値に該当するテクセル値を、テクスチャフィルタ１３７に同時に伝送することができる。
【００７３】
図５に図示されているように、制御部１３１から要請された６個のテクセル値のうち、４個のテクセル値についてのみキャッシュヒットが発生した場合、先に、制御部１３１で決定した最小のテクセル個数値である６よりキャッシュヒット個数が小さいので、テクスチャキャッシュ１３５は、キャッシュミス個数に該当する２個のテクセル値を、外部メモリ２００に要請することができる。テクスチャキャッシュ１３５は、外部メモリ２００から、キャッシュミス個数に該当する２個のテクセル値を受信し、キャッシュヒットされたテクセル値に補充し、最小のテクセル個数値に該当する６個のテクセル値を、同時にまたは順次にテクスチャフィルタ１３７に伝送することができる。
【００７４】
テクスチャフィルタ１３７は、テクスチャキャッシュ１３５から受信された６個のテクセル値を利用して、テクスチャフィルタリングを行うことにより、シェーダコア１２０において要請したピクセル値に該当するピクセル値を生成し、生成されたピクセル値を、シェーダコア１２０に伝送することができる。そのとき、シェーダコア１２０に伝送されるピクセル値は、近似化された色相値に該当するが、非常に微細な誤差を有するので、三次元グラフィックスの品質に大きい影響を与えない。
【００７５】
図６は、さらに他の実施形態によるテクスチャ処理装置１３０の動作について説明するための図面である。説明の便宜上、テクスチャフィルタ１３７で行うテクスチャフィルタリング方式が、トリリニア・フィルタリング方式であるということを前提とするが、それに限定されるものではないことは言うまでもない。
【００７６】
テクスチャ処理装置１３０は、シェーダコア１２０から、シェーダコア１２０で処理するピクセルのピクセルアドレスに対応するテクセルアドレスを受信することにより、シェーダコア１２０で処理するピクセルに対するテクスチャ処理を要請される。
テクスチャ処理装置１３０の制御部１３１は、シェーダコア１２０から要請されたピクセル値を求めるために、シェーダコア１２０で処理するピクセルに対応するテクスチャの周波数情報を獲得することができる。そのとき、獲得した周波数情報が、テクセル値の変化率に係わる所定の基準値より低周波数であるということを示す場合、制御部１３１は、テクスチャフィルタリングに利用される最小のテクセル個数値を決定することができる。図６に図示されているように、決定された最小のテクセル個数値が５である場合、制御部１３１は、決定された最小のテクセル個数値が５であるということをテクスチャキャッシュ１３５に知らせる。また、制御部１３１は、決定された最小のテクセル個数値に係わる情報を、テクスチャフィルタ１３７にも伝送することができる。
【００７７】
テクスチャ処理装置１３０の制御部１３１は、テクスチャフィルタ１３７において、トリリニア・フィルタリング方式によって、テクスチャフィルタリングを行う場合、１つのピクセル値を求めるために、８個テクセル値を利用するので、８個に該当するテクセル値を、テクスチャキャッシュ１３５に要請することができる。例えば、制御部１３１は、シェーダコア１２０から受信したテクスチャアドレスを利用して計算した少なくとも１つのテクスチャ・ミップマップ空間上の一部領域に含まれたテクセル値を、テクスチャキャッシュ１３５に要請することができる。
【００７８】
テクスチャキャッシュ１３５は、制御部１３１で決定されたテクセルの個数に該当するテクセル値を読み取る。テクスチャキャッシュ１３５は、制御部１３１から要請されたテクセル値に対して、要請されたテクセル値がテクスチャキャッシュ１３５に保存されているか否かということを確認し、キャッシュヒット及び／またはキャッシュミスを判断し、制御部１３１から要請されたテクセル値に係わるキャッシュヒット個数と、制御部１３１から受信した最小のテクセル個数値との比較結果により、最小のテクセル個数値に該当するテクセル値を伝送することができる。テクスチャキャッシュ１３５は、テクスチャフィルタリングに利用される最小のテクセル個数値よりキャッシュヒット個数が大きいか、あるいはそれと同じである場合、最小のテクセル個数値に該当するテクセル値を、テクスチャフィルタ１３７に伝送することができる。
【００７９】
テクスチャキャッシュ１３５は、最小のテクセル個数値に該当するテクセル値を、テクスチャフィルタ１３７に伝送した後、キャッシュミス個数に該当する少なくとも１つのテクセル値を、外部メモリ２００に要請し、外部メモリ２００から受信した少なくとも１つのテクセル値を保存することができる。それにより、テクスチャキャッシュ１３５は、シェーダコア１２０から、その後要請されるピクセル値に対してキャッシュヒットの確率を高め、迅速なグラフィックス処理を行うことができる。
【００８０】
図６に図示されているように、制御部１３１から要請された８個のテクセル値のうち５個のテクセル値についてのみキャッシュヒットが発生した場合、先に、制御部１３１で決定した最小のテクセル個数値である５と、キャッシュヒット個数が同じであるので、テクスチャキャッシュ１３５は、最小のテクセル個数値に該当する５個のテクセル値を、直ちにテクスチャフィルタ１３７に伝送することができる。その後、テクスチャキャッシュ１３５は、キャッシュミス個数に該当する３個のテクセル値を、外部メモリ２００に要請し、それを受信して保存することにより、シェーダコア１２０から、その後要請されるピクセル値に対してキャッシュヒットの確率を高め、迅速なグラフィックス処理を行うようにすることができる。
【００８１】
テクスチャフィルタ１３７は、テクスチャキャッシュ１３５から受信された５個のテクセル値を利用して、テクスチャフィルタリングを行うことにより、シェーダコア１２０において要請したピクセル値に該当するピクセル値を生成し、生成されたピクセル値を、シェーダコア１２０に伝送することができる。そのとき、シェーダコア１２０に伝送されるピクセル値は、近似化された色相値に該当するが、非常に微細な誤差を有するので、三次元グラフィックスの品質に大きい影響を与えない。
【００８２】
図７は、一実施形態によるテクスチャ処理方法について説明するためのフローチャートである。上記のテクスチャ処理装置１３０について記述した内容は、以降で省略された内容であるとしても、テクスチャ処理方法にもそのまま適用される。
【００８３】
オペレーションＳ７１０において、テクスチャ処理装置１３０は、ピクセルアドレスに対応するテクスチャアドレス、及びテクスチャの周波数情報を獲得することができる。具体的には、テクスチャ処理装置１３０は、シェーダコア１２０からピクセルアドレスに対応するテクスチャアドレスを獲得することができる。また、テクスチャ処理装置１３０は、外部メモリ２００から受信される圧縮されたテクスチャを圧縮解除するデコンプレッサ１３３から、テクスチャの周波数情報を獲得することができる。そのとき、テクスチャの周波数情報は、圧縮されたテクスチャのヘッダファイルから抽出された情報に基づく。
【００８４】
オペレーションＳ７２０において、テクスチャ処理装置１３０は、テクスチャの周波数情報により、テクスチャフィルタリングに利用されるテクセル個数を決定することができる。具体的には、テクスチャ処理装置１３０は、シェーダコア１２０から要請されたピクセル値を計算するために使用されるテクスチャが、低周波のテクスチャであるか、あるいは高周波のテクスチャであるかということにより、テクスチャフィルタリングに利用されるテクセル個数を異なって決定することができる。それについては、図８を参照し、以下で詳細に説明する。
【００８５】
図８は、一実施形態によるテクスチャ処理方法において、テクスチャフィルタリングに利用されるテクセル個数を決定する段階に係わるフローチャートである。
【００８６】
オペレーションＳ８１０において、テクスチャ処理装置１３０は、テクスチャの周波数情報が、テクセル値の変化率に係わる所定の基準値より低周波数であるということを示すか否かということを判断する。
【００８７】
テクスチャ処理装置１３０は、テクスチャの周波数情報が、テクセル値の変化率に係わる所定の基準値より低周波数であるということを示す場合、オペレーションＳ８２０において、テクスチャフィルタリングに利用される最小のテクセル個数値を決定する。
【００８８】
テクスチャ処理装置１３０は、テクスチャの周波数情報が、テクセル値の変化率に係わる所定の基準値より高周波数であるということを示す場合、オペレーションＳ８３０において、テクスチャフィルタリングに利用される最大のテクセル個数値を決定する。
【００８９】
再び図７を参照すれば、オペレーションＳ７３０において、テクスチャ処理装置１３０は、テクスチャアドレスに基づいて、前記決定されたテクセル個数に該当するテクセル値を読み取る。それについては、図９ないし図１２を参照し、以下で詳細に説明する。シェーダコア１２０から要請されたピクセル値を計算するために使用されるテクスチャが低周波である場合、図９及び図１０を参照し、シェーダコア１２０から要請されたピクセル値を計算するために使用されるテクスチャが高周波である場合、図１１及び図１２を参照して説明する。
【００９０】
図９は、一実施形態によるテクスチャ処理方法において、低周波のテクスチャである場合、決定されたテクセル個数に該当するテクセル値を読み取る段階に係わるフローチャートである。
【００９１】
オペレーションＳ９１０において、テクスチャ処理装置１３０のテクスチャキャッシュ１３５は、テクスチャアドレスに基づいて、テクスチャキャッシュ１３５に保存されたテクスチャのテクセル値を要請される。そのとき、図８のＳ８１０で決定されたテクスチャフィルタリングに利用される最小のテクセル個数値に該当するテクセル値のみ要請されもする。
【００９２】
オペレーションＳ９２０において、テクスチャ処理装置１３０のテクスチャキャッシュ１３５は、要請されたテクセル値に係わるキャッシュヒットを判断する。
【００９３】
オペレーションＳ９３０において、テクスチャ処理装置１３０のテクスチャキャッシュ１３５は、要請されたテクセル値に係わるキャッシュヒット個数と、最小のテクセル個数値との比較結果により、最小のテクセル個数値に該当するテクセル値を、テクスチャフィルタ１３７に伝送することができる。以下、図１０を参照して詳細に説明する。
【００９４】
図１０は、キャッシュヒット個数と、最小のテクセル個数値との比較結果により、最小のテクセル個数値に該当するテクセル値を伝送する段階に係わるフローチャートである。
【００９５】
オペレーションＳ１０１０において、テクスチャ処理装置１３０のテクスチャキャッシュ１３５は、要請されたテクセル値に係わるキャッシュヒット個数と、図８のＳ８２０で決定された最小のテクセル個数値とを比較する。
【００９６】
図８のＳ８２０で決定された、テクスチャフィルタリングに利用される最小のテクセル個数値よりキャッシュヒット個数が小さい場合、オペレーションＳ１０２０において、テクスチャ処理装置１３０のテクスチャキャッシュ１３５は、キャッシュミス個数に該当するテクセル値を、外部メモリ２００に要請することができる。
【００９７】
オペレーションＳ１０３０において、テクスチャ処理装置１３０のテクスチャキャッシュ１３５は、キャッシュヒットされたテクセル値に、外部メモリ２００から受信した少なくとも１つのテクセル値を補充し、最小のテクセル個数値に該当するテクセル値を、テクスチャフィルタ１３７に、同時にまたは順次に伝送することができる。
【００９８】
一方、図８のＳ８２０で決定された、テクスチャフィルタリングに利用される最小のテクセル個数値よりキャッシュヒット個数が大きいか、あるいはそれと同じである場合、オペレーションＳ１０４０において、テクスチャ処理装置１３０のテクスチャキャッシュ１３５は、最小のテクセル個数値に該当するテクセル値を、テクスチャフィルタ１３７に伝送することができる。テクスチャ処理装置１３０のテクスチャキャッシュ１３５は、最小のテクセル個数値に該当するテクセル値を伝送した後、キャッシュミス個数に該当する少なくとも１つのテクセル値を、外部メモリ２００に要請し、外部メモリ２００から受信した少なくとも１つのテクセル値を保存することができる。
【００９９】
図１１は、一実施形態によるテクスチャ処理方法において、高周波のテクスチャである場合、決定されたテクセル個数に該当するテクセル値を読み取る段階に係わるフローチャートである。
【０１００】
オペレーションＳ１１１０において、テクスチャ処理装置１３０のテクスチャキャッシュ１３５は、テクスチャアドレスに基づいて、テクスチャキャッシュ１３５に保存されたテクスチャのテクセル値を要請される。そのとき、図８のＳ８２０で決定されたテクスチャフィルタリングに利用される最大のテクセル個数値に該当するテクセル値を要請されもする。
【０１０１】
オペレーションＳ１１２０において、テクスチャ処理装置１３０のテクスチャキャッシュ１３５は、要請されたテクセル値に係わるキャッシュヒットを判断する。
【０１０２】
オペレーションＳ１１３０において、テクスチャ処理装置１３０のテクスチャキャッシュ１３５は、要請されたテクセル値に係わるキャッシュヒット個数と、最大のテクセル個数値との比較結果により、最大のテクセル個数値に該当するテクセル値を、テクスチャフィルタ１３７に伝送することができる。以下、図１２を参照して詳細に説明する。
【０１０３】
図１２は、キャッシュヒット個数と、最大のテクセル個数値との比較結果により、最大のテクセル個数値に該当するテクセル値を伝送する段階に係わるフローチャートである。
【０１０４】
オペレーションＳ１２１０において、テクスチャ処理装置１３０のテクスチャキャッシュ１３５は、要請されたテクセル値に係わるキャッシュヒット個数と、図８のＳ８３０で決定された最大のテクセル個数値とを比較する。
【０１０５】
図８のＳ８３０で決定された、テクスチャフィルタリングに利用される最大のテクセル個数値よりキャッシュヒット個数が小さい場合、オペレーションＳ１２２０において、テクスチャ処理装置１３０のテクスチャキャッシュ１３５は、キャッシュミス個数に該当するテクセル値を、外部メモリ２００に要請する。
【０１０６】
オペレーションＳ１２３０において、テクスチャ処理装置１３０のテクスチャキャッシュ１３５は、キャッシュヒットされたテクセル値に、外部メモリ２００から受信した少なくとも１つのテクセル値を補充し、最大のテクセル個数値に該当するテクセル値を、テクスチャフィルタ１３７に同時にまたは順次に伝送する。
【０１０７】
一方、図８のＳ８３０で決定されたテクスチャフィルタリングに利用される最小のテクセル個数値、とキャッシュヒット個数が同じである場合、オペレーションＳ１２４０において、テクスチャ処理装置１３０のテクスチャキャッシュ１３５は、最大のテクセル個数値に該当するテクセル値を、テクスチャフィルタ１３７に伝送する。
【０１０８】
再び図７を参照すれば、オペレーションＳ７４０において、テクスチャ処理装置１３０は、読み取られたテクセル値を利用して、テクスチャフィルタリングを行うことができる。テクスチャフィルタリングによって生成されたピクセル値は、シェーダコア１２０に伝送される。
【０１０９】
以上、実施形態を中心に説明した。開示された実施形態が属する技術分野で当業者は、開示された実施形態が、本質的な特性から外れない範囲で変形された形態で具現されるということを理解することができるであろう。従って、開示された実施形態は、限定的な観点ではなく、説明的な観点から考慮されなければならない。実施形態による発明の範囲は、前述の説明ではなく、特許請求の範囲に示されており、それと同等な範囲内にある全ての差異は、特許請求の範囲に含まれたものであると解釈されなければならないのである。
【産業上の利用可能性】
【０１１０】
本発明のテクスチャを処理する方法及びその装置は、例えば、画像処理関連の技術分野に効果的に適用可能である。
【符号の説明】
【０１１１】
１００  グラフィックス処理装置
１１０  ラスタライザ
１２０  シェーダコア
１３０  テクスチャ処理装置
１３１  制御部
１３３  デコンプレッサ
１３５  テクスチャキャッシュ
１３７  テクスチャフィルタ
１４０  ピクセル処理装置
１５０  ライルバッファ
２００  メモリ
３００  バス
【図１】
2016062594.tif 000003
【図２】
2016062594.tif 000004
【図３】
2016062594.tif 000005
【図４】
2016062594.tif 000006
【図５】
2016062594.tif 000007
【図６】
2016062594.tif 000008
【図７】
2016062594.tif 000009
【図８】
2016062594.tif 000010
【図９】
2016062594.tif 000011
【図１０】
2016062594.tif 000012
【図１１】
2016062594.tif 000013
【図１２】
2016062594.tif 000014