(57)【特許請求の範囲】
【請求項１】
テクスチャを構成するテクセルが、所定ブロック単位に圧縮された圧縮テクセルブロックを処理するテクスチャ処理方法において、
前記圧縮テクセルブロックに基づいて、テクセルブロックを構成するテクセルの代表値、前記テクセルブロックを構成する各テクセルに係わる加重値、並びに前記テクセルブロックを構成する各テクセルに対応する、前記代表値及び前記加重値に係わるインデックスを獲得する段階と、
前記代表値、前記加重値、及び前記インデックスをテクスチャキャッシュに保存する段階と、
要請されたテクセルに対応するインデックスによって、前記代表値及び前記加重値を、前記テクスチャキャッシュから読み取る段階と、
読み取られた前記代表値及び前記加重値に基づいて、テクセルを生成する段階と、
前記生成されたテクセルを利用して、テクスチャフィルタリングを行う段階と、を含むテクスチャ処理方法。
【請求項２】
前記獲得する段階は、
前記テクセルブロックを構成するテクセルの代表値、及び前記テクセルブロックを構成する各テクセルに係わる加重値をパージングする段階と、
前記各テクセルに対応する前記代表値の前記テクスチャキャッシュでの保存位置と、前記各テクセルに対応する前記加重値の前記テクスチャキャッシュでの保存位置とを含む、前記各テクセルに対応するインデックスを生成する段階と、を含むことを特徴とする請求項１に記載のテクスチャ処理方法。
【請求項３】
前記保存する段階は、
前記テクセルブロックを構成するテクセルの代表値を代表値キャッシュに保存する段階と、
前記テクセルブロックを構成する各テクセルに係わる加重値を加重値キャッシュに保存する段階と、
前記テクセルブロックを構成する各テクセルに対応するインデックスをインデックスキャッシュに保存する段階と、を含むことを特徴とする請求項１又は２に記載のテクスチャ処理方法。
【請求項４】
前記読み取る段階は、
前記要請されたテクセルに対応するインデックスを、前記インデックスキャッシュから読み取り、前記読み取られたインデックスによって、前記代表値及び前記加重値を、前記代表値キャッシュ及び前記加重値キャッシュからそれぞれ読み取ることを特徴とする請求項３に記載のテクスチャ処理方法。
【請求項５】
前記要請されたテクセルに対応するインデックスが、前記テクスチャキャッシュに保存されていない旨の判断に応答して、前記テクスチャ処理方法を遂行するテクスチャ処理装置外部のメモリから、前記要請されたテクセルを含む圧縮テクセルブロックを受信する段階をさらに含むことを特徴とする請求項１〜４のうちの何れか１項に記載のテクスチャ処理方法。
【請求項６】
前記要請されたテクセルに対応するインデックスが、前記テクスチャキャッシュに保存されていない旨の判断に応答して、前記圧縮テクセルブロックを、前記テクスチャ処理方法を遂行する前記テクスチャ処理装置外部のメモリから受信して保存する第２テクスチャキャッシュから、前記要請されたテクセルを含む圧縮テクセルブロックを受信する段階をさらに含むことを特徴とする請求項１〜５のうちの何れか１項に記載のテクスチャ処理方法。
【請求項７】
前記テクセルを生成する段階は、
前記読み取られた代表値、及び前記読み取られた加重値を利用したインターポレーションを行い、前記圧縮テクセルブロックの一部テクセルのみ生成することを特徴とする請求項１〜６のうちの何れか１項に記載のテクスチャ処理方法。
【請求項８】
前記読み取る段階は、
前記要請されたテクセルがピクセルシェーディングに使用されるか否かを判断する段階を含み、
前記要請されたテクセルが、前記ピクセルシェーディングに使用される旨の判断に応答して、前記要請されたテクセルに対応するインデックスによって、前記代表値及び前記加重値を、前記テクスチャキャッシュから読み取ることを特徴とする請求項１〜７のうちの何れか１項に記載のテクスチャ処理方法。
【請求項９】
前記要請されたテクセルが、前記ピクセルシェーディングに使用されない旨の判断に応答して、前記要請に対する応答として、所定値を返す段階をさらに含むことを特徴とする請求項８に記載のテクスチャ処理方法。
【請求項１０】
請求項１ないし９のうちいずれか１項に記載のテクスチャ処理方法をコンピュータに実行させるためのプログラムを記録したコンピュータで読み取り可能な記録媒体。
【請求項１１】
テクスチャを構成するテクセルが、所定ブロック単位に圧縮された圧縮テクセルブロックを処理するテクスチャ処理装置において、
前記圧縮テクセルブロックに基づいて、テクセルブロックを構成するテクセルの代表値、前記テクセルブロックを構成する各テクセルに係わる加重値、並びに前記テクセルブロックを構成する各テクセルに対応する、前記代表値及び前記加重値に係わるインデックスを獲得する圧縮解除部と、
前記代表値、前記加重値、及び前記インデックスを保存するテクスチャキャッシュと、
要請されたテクセルに対応するインデックスによって、前記代表値及び前記加重値を、前記テクスチャキャッシュから読み取る制御部と、
読み取られた前記代表値及び前記加重値に基づいて、テクセルを生成するテクセル生成部と、
前記生成されたテクセルを利用して、テクスチャフィルタリングを行うテクスチャフィルタと、を含むテクスチャ処理装置。
【請求項１２】
前記圧縮解除部は、
前記テクセルブロックを構成するテクセルの代表値をパージングする代表値パーサと、
前記テクセルブロックを構成する各テクセルに係わる加重値をパージングする加重値パーサと、
前記各テクセルに対応する前記代表値の前記テクスチャキャッシュでの保存位置と、前記各テクセルに対応する前記加重値の前記テクスチャキャッシュでの保存位置と、を含むことを特徴とする前記各テクセルに対応するインデックスを生成するインデックス生成部と、を含むことを特徴とする請求項１１に記載のテクスチャ処理装置。
【請求項１３】
前記テクスチャキャッシュは、
前記テクセルブロックを構成するテクセルの代表値を保存する代表値キャッシュと、
前記テクセルブロックを構成する各テクセルに係わる加重値を保存する加重値キャッシュと、
前記テクセルブロックを構成する各テクセルに対応するインデックスを保存するインデックスキャッシュと、を含むことを特徴とする請求項１１又は１２に記載のテクスチャ処理装置。
【請求項１４】
前記制御部は、
前記要請されたテクセルに対応するインデックスを、前記インデックスキャッシュから読み取り、前記読み取られたインデックスによって、前記代表値及び前記加重値を、前記代表値キャッシュ及び前記加重値キャッシュからそれぞれ読み取ることを特徴とする請求項１３に記載のテクスチャ処理装置。
【請求項１５】
前記圧縮解除部は、
前記要請されたテクセルに対応するインデックスが、前記テクスチャキャッシュに保存されていない旨の判断に応答して、前記テクスチャ処理装置外部のメモリから、前記要請されたテクセルを含む圧縮テクセルブロックをさらに受信することを特徴とする請求項１１〜１４のうちの何れか１項に記載のテクスチャ処理装置。
【請求項１６】
前記圧縮テクセルブロックを、前記テクスチャ処理装置外部のメモリから受信して保存する第２テクスチャキャッシュをさらに含み、
前記圧縮解除部は、
前記要請されたテクセルに対応するインデックスが、前記テクスチャキャッシュに保存されていない旨の判断に応答して、前記第２テクスチャキャッシュから、前記要請されたテクセルを含む圧縮テクセルブロックをさらに受信することを特徴とする請求項１１〜１５のうちの何れか１項に記載のテクスチャ処理装置。
【請求項１７】
前記テクセル生成部は、
前記読み取られた代表値、及び前記読み取られた加重値を利用したインターポレーションを行い、前記圧縮テクセルブロックの一部テクセルのみ生成することを特徴とする請求項１１〜１６のうちの何れか１項に記載のテクスチャ処理装置。
【請求項１８】
前記制御部は、
前記要請されたテクセルが、ピクセルシェーディングに使用されるか否かを判断し、前記要請されたテクセルが、前記ピクセルシェーディングに使用される旨の判断に応答して、前記要請されたテクセルに対応するインデックスによって、前記代表値及び前記加重値を、前記テクスチャキャッシュから読み取ることを特徴とする請求項１１〜１７のうちの何れか１項に記載のテクスチャ処理装置。
【請求項１９】
前記制御部は、
前記要請されたテクセルが、前記ピクセルシェーディングに使用されない旨の判断に応答して、前記要請に対する応答として、所定値をリターンすることを特徴とする請求項１８に記載のテクスチャ処理装置。
【請求項２０】
前記代表値は、所定規則によって配列された、前記テクセルブロックを構成するテクセルのエンドポイント値に該当する値であることを特徴とする請求項１１〜１９のうちの何れか１項に記載のテクスチャ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テクスチャ（texture）を構成するテクセル（texel）が所定のブロック単位に圧縮された圧縮テクセルブロック（compressed  texel  block）を処理するテクスチャ処理方法及びその装置に関する。
【背景技術】
【０００２】
三次元グラフィックスの各フレームに対するレンダリングを行うとき、多くの演算が行われるので、多くの電力及びハードウェアリソースが要求される。従って、三次元グラフィックスレンダリングを行うとき、演算量低減が重要である。
【０００３】
三次元グラフィックスレンダリング過程において、ピクセルシェーディング過程での演算量を減らし、レンダリング速度を加速させるために、グラフィック処理装置（ＧＰＵ：graphic  processing  unit）は、テクスチャ処理装置（texture  processing  unit）を含んでいる。
【０００４】
テクスチャ処理装置は、テクスチャリング（texturing）に必要なテクスチャを生成する作業を遂行する。テクスチャリングは、三次元空間に形成されたオブジェクト（object）にあらかじめ準備されたイメージを被せる又は適用する作業であり、演算量を減らすための三次元グラフィックスレンダリングの動作中の一つである。このとき、あらかじめ準備されたイメージをテクスチャと呼び、テクスチャは、テクスチャ処理装置外部のメモリに、圧縮された形態であらかじめ準備されている。
【０００５】
テクスチャ処理装置は、テクスチャを構成するテクセルが、所定のブロック単位に圧縮された圧縮テクセルブロックを、外部のメモリから受信して処理することにより、シェーダコアから要請されたテクスチャを伝送する。
【０００６】
一方、テクスチャブロックをキャッシュに要請し、キャッシュに、圧縮解除されたテクスチャブロックがあるか否かということを判断し、圧縮解除されたテクスチャブロックがなければ、キャッシュに保存された圧縮されたテクスチャブロックを圧縮解除する先行技術については、特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許出願公開第２０１２／０３２００６７号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明が解決しようとする課題は、テクスチャ処理装置においてテクスチャを構成するテクセルが、所定のブロック単位に圧縮された圧縮テクセルブロックを圧縮解除する場合に、圧縮解除過程を分割し、圧縮テクセルブロック全体ではない一部についてだけ圧縮解除過程を完了するテクスチャ処理方法及びその装置を提供することである。
【課題を解決するための手段】
【０００９】
前記課題を解決するために、本発明の第１側面による、テクスチャを構成するテクセルが、所定のブロック単位に圧縮された圧縮テクセルブロック（compressed  texel  block）を処理するテクスチャ処理方法は、前記圧縮テクセルブロックに基づいて、テクセルブロックを構成するテクセルの代表値（representative  value）、前記テクセルブロックを構成する各テクセルに係わる加重値（weight）、並びに前記テクセルブロックを構成する各テクセルに対応する、前記代表値及び前記加重値に係わるインデックス（index）を獲得する段階と、前記代表値、前記加重値、及び前記インデックスをテクスチャキャッシュに保存する段階と、要請されたテクセルに対応するインデックスによって、前記代表値及び前記加重値を前記テクスチャキャッシュから読み取る段階と、前記読み取られた、前記代表値及び前記加重値に基づいて、テクセルを生成する段階と、前記生成されたテクセルを利用して、テクスチャフィルタリングを行う段階と、を含む。
【００１０】
また、前記獲得する段階は、前記テクセルブロックを構成するテクセルの代表値、及び前記テクセルブロックを構成する各テクセルに係わる加重値をパージングする段階と、前記各テクセルに対応する前記代表値の前記テクスチャキャッシュでの保存位置と、前記各テクセルに対応する前記加重値の前記テクスチャキャッシュでの保存位置とを含む、前記各テクセルに対応するインデックスを生成する段階と、を含んでもよい。
【００１１】
また、前記保存する段階は、前記テクセルブロックを構成するテクセルの代表値を代表値キャッシュに保存する段階と、前記テクセルブロックを構成する各テクセルに係わる加重値を加重値キャッシュに保存する段階と、前記テクセルブロックを構成する各テクセルに対応するインデックスをインデックスキャッシュに保存する段階と、を含んでもよい。
【００１２】
また、前記読み取る段階は、前記要請されたテクセルに対応するインデックスを前記インデックスキャッシュから読み取り、前記読み取られたインデックスによって、前記代表値及び前記加重値を、前記代表値キャッシュ及び前記加重値キャッシュからそれぞれ読み取ることができる。
【００１３】
また、前記要請されたテクセルに対応するインデックスが、前記テクスチャキャッシュに保存されていないということに応答し、前記テクスチャ処理方法を遂行するテクスチャ処理装置外部のメモリから、前記要請されたテクセルを含む圧縮テクセルブロックを受信する段階をさらに含んでもよい。
【００１４】
また、前記要請されたテクセルに対応するインデックスが、前記テクスチャキャッシュに保存されていないということに応答し、前記圧縮テクセルブロックを、前記テクスチャ処理方法を遂行する前記テクスチャ処理装置外部のメモリから受信して保存する第２テクスチャキャッシュから、前記要請されたテクセルを含む圧縮テクセルブロックを受信する段階をさらに含んでもよい。
【００１５】
また、前記テクセルを生成する段階は、前記読み取られた代表値、及び前記読み取られた加重値を利用したインターポレーションを行い、前記圧縮テクセルブロックの一部テクセルのみ生成することができる。
【００１６】
また、前記読み取る段階は、前記要請されたテクセルがピクセルシェーディングに使用されるか否かということを判断する段階を含み、前記要請されたテクセルが、前記ピクセルシェーディングに使用されるという判断結果に応答し、前記要請されたテクセルに対応するインデックスによって、前記代表値及び前記加重値を、前記テクスチャキャッシュから読み取ることができる。
【００１７】
また、前記要請されたテクセルが、前記ピクセルシェーディングに使用されないという判断結果に応答し、前記要請に対する応答として、所定値をリターンする段階をさらに含んでもよい。
【００１８】
前記課題を解決するために、本発明の第２側面による、コンピュータで実行させるためのプログラムを記録した記録媒体は、前記テクスチャ処理方法をコンピュータで実行させるためのプログラムでもって記録する。
【００１９】
前記課題を解決するために、本発明の第３側面による、テクスチャを構成するテクセルが、所定のブロック単位に圧縮された圧縮テクセルブロックを処理するテクスチャ処理装置は、前記圧縮テクセルブロックに基づいて、テクセルブロックを構成するテクセルの代表値、前記テクセルブロックを構成する各テクセルに係わる加重値、並びに前記テクセルブロックを構成する各テクセルに対応する、前記代表値及び前記加重値に係わるインデックスを獲得する圧縮解除部；前記代表値、前記加重値、及び前記インデックスを保存するテクスチャキャッシュ；要請されたテクセルに対応するインデックスによって、前記代表値及び前記加重値を、前記テクスチャキャッシュから読み取る制御部；前記読み取られた、前記代表値及び前記加重値に基づいて、テクセルを生成するテクセル生成部；及び前記生成されたテクセルを利用して、テクスチャフィルタリングを行うテクスチャフィルタ；を含む。
【００２０】
また、前記圧縮解除部は、前記テクセルブロックを構成するテクセルの代表値をパージングする代表値パーサ；前記テクセルブロックを構成する各テクセルに係わる加重値をパージングする加重値パーサ；及び前記各テクセルに対応する前記代表値の前記テクスチャキャッシュでの保存位置と、前記各テクセルに対応する前記加重値の前記テクスチャキャッシュでの保存位置とを含む、前記各テクセルに対応するインデックスを生成するインデックス生成部；を含んでもよい。
【００２１】
また、前記テクスチャキャッシュは、前記テクセルブロックを構成するテクセルの代表値を保存する代表値キャッシュ；前記テクセルブロックを構成する各テクセルに係わる加重値を保存する加重値キャッシュ；及び前記テクセルブロックを構成する各テクセルに対応するインデックスを保存するインデックスキャッシュ；を含んでもよい。
【００２２】
また、前記制御部は、前記要請されたテクセルに対応するインデックスを、前記インデックスキャッシュから読み取り、前記読み取られたインデックスによって、前記代表値及び前記加重値を、前記代表値キャッシュ及び前記加重値キャッシュからそれぞれ読み取ることができる。
【００２３】
また、前記圧縮解除部は、前記要請されたテクセルに対応するインデックスが、前記テクスチャキャッシュに保存されていないということに応答し、前記テクスチャ処理装置外部のメモリから、前記要請されたテクセルを含む圧縮テクセルブロックをさらに受信することができる。
【００２４】
また、前記圧縮テクセルブロックを、前記テクスチャ処理装置外部のメモリから受信して保存する第２テクスチャキャッシュをさらに含み、前記圧縮解除部は、前記要請されたテクセルに対応するインデックスが、前記テクスチャキャッシュに保存されていないということに応答し、前記第２テクスチャキャッシュから、前記要請されたテクセルを含む圧縮テクセルブロックをさらに受信することができる。
【００２５】
また、前記テクセル生成部は、前記読み取られた代表値、及び前記読み取られた加重値を利用したインターポレーションを行い、前記圧縮テクセルブロックの一部テクセルのみ生成することができる。
【００２６】
また、前記制御部は、前記要請されたテクセルがピクセルシェーディングに使用されるか否かということを判断し、前記要請されたテクセルが、前記ピクセルシェーディングに使用されるという判断結果に応答し、前記要請されたテクセルに対応するインデックスによって、前記代表値及び前記加重値を、前記テクスチャキャッシュから読み取ることができる。
【００２７】
また、前記制御部は、前記要請されたテクセルが、前記ピクセルシェーディングに使用されないという判断結果に応答し、前記要請に対する応答として、所定値をリターンすることができる。
【００２８】
また、前記代表値は、所定の規則によって配列された、前記テクセルブロックを構成するテクセルのエンドポイント値に該当する値でもある。
【図面の簡単な説明】
【００２９】
【図１】一実施形態によるグラフィック処理装置を示した図面である。
【図２】グラフィック処理装置において、三次元グラフィックスを処理する過程の一実施形態について説明する図面である。
【図３】一実施形態によるテクスチャ処理装置の構成を示したブロック図である。
【図４】圧縮テクセルブロックの一実施形態について説明するための図面である。
【図５】圧縮テクセルブロックの他の実施形態を示した図面である。
【図６】一実施形態によるテクスチャ処理装置の動作について説明するための図面である。
【図７】圧縮テクセルブロックに基づいて、代表値、加重値及びインデックスを獲得し、テクスチャキャッシュに保存する動作の一実施形態について説明するための図面である。
【図８】他の実施形態によるテクスチャ処理装置の構成を示したブロック図である。
【図９】さらに他の実施形態によるテクスチャ処理装置の構成を示したブロック図である。
【図１０】一実施形態によるテクスチャ処理方法について説明するためのフローチャートである。
【図１１】一実施形態によるテクスチャ処理方法において、代表値、加重値及びインデックスを獲得する段階に係わる詳細フローチャートである。
【図１２】一実施形態によるテクスチャ処理方法において、代表値、加重値及びインデックスを保存する段階に係わる詳細フローチャートである。
【図１３】一実施形態によるテクスチャ処理方法において、テクスチャ処理装置に要請されたテクセルに対応するインデックスによって、代表値及び加重値を、テクスチャキャッシュから読み取る段階に係わる詳細フローチャートである。
【図１４】一実施形態によるテクスチャ処理方法において、テクスチャ処理装置に要請されたテクセルを含む圧縮テクセルブロックを受信する段階に係わる詳細フローチャートである。
【図１５】一実施形態によるテクスチャ処理方法において、テクスチャ処理装置に要請されたテクセルに対応するインデックスによって、代表値及び加重値を、テクスチャキャッシュから読み取る段階に係わる他の実施形態による詳細フローチャートである。
【発明を実施するための形態】
【００３０】
以下、添付された図面を参照しながら、単なる例示のための実施形態によって、発明を詳細に説明する。下記の実施形態は、発明を具体化するためのものであるだけであり、発明の権利範囲を制限したり限定したりするものではないことは言うまでもない。詳細な説明及び実施形態から、発明が属する技術分野の専門家が容易に類推することができるものは、発明の権利範囲に属すると解釈される。
【００３１】
本明細書で使用される「構成される」や「含む」というような用語は、明細書上に記載されたさまざまな構成要素、またはさまざまな段階を必ずしも全て含むものであると解釈される必要はなく、そのうちの一部の構成要素または一部の段階は含まれなくてもよく、または追加的な構成要素または段階をさらに含んでもよいと解釈されなければならない。
【００３２】
また、本明細書で使用される「第１」または「第２」というような序数を含む用語は、多様な構成要素についての説明に使用することができるが、前記構成要素は、前記用語によって限定されるものではない。前記用語は、１つの構成要素を他の構成要素から区別する目的のみに使用される。
【００３３】
本実施形態は、テクスチャ処理方法及びその装置に係わるものであり、以下の実施形態が属する技術分野で当業者に公知されている事項については、詳細な説明を省略する。
【００３４】
図１は、一実施形態によるグラフィック処理装置を示した図面である。図１に図示された構成要素以外に、他の汎用的な構成要素がさらに含まれてもよいということを、関連技術分野で当業者であるならば、理解することができるであろう。
【００３５】
図１を参照すれば、グラフィック処理装置１００は、ラスタライザ（rasterizor）１１０、シェーダコア（shader  core）１２０、テクスチャ処理装置（texture  processing  unit）１３０、ピクセル処理装置（pixel  processing  unit）１４０、タイルバッファ（tile  buffer）１５０などを含んでもよい。グラフィック処理装置１００は、バス３００を介して、外部のメモリ２００とデータを送受信することができる。
【００３６】
図１に図示されたグラフィック処理装置１００は、三次元グラフィックスを処理する装置であり、タイルに基づいたレンダリング（ＴＢＲ：tile  based  rendering）方式を使用することができる。言い替えれば、グラフィック処理装置１００は、１つのフレームに該当する三次元グラフィックスを生成するために、一定サイズに分割された複数個のタイルを、ラスタライザ１１０、シェーダコア１２０、ピクセル処理装置１４０を通過させ、処理結果を、タイルバッファ１５０に保存することができる。グラフィック処理装置１００は、フレームを構成する全てのタイルに対して、ラスタライザ１１０、シェーダコア１２０及びピクセル処理装置１４０で構成されるチャンネルを複数個利用して、並列処理を行うことができる。グラフィック処理装置１００は、１つのフレームに該当する複数個のタイルが処理されれば、タイルバッファ１５０に保存された処理結果を、メモリ２００のフレームバッファ（図示せず）で伝送することができる。
【００３７】
シェーダコア１２０は、ピクセルシェーダ（pixel  shader）を含んでもよい。シェーダコア１２０は、バーテックスシェーダ（vertex  shader）をさらに含んでいる形態であってもよく、バーテックスシェーダとピクセルシェーダとが統合された形態の統合シェーダであってもよい。シェーダコア１２０が、バーテックスシェーダの機能を遂行することができる場合、オブジェクトを示すプリミティブ（primitive）を生成し、ラスタライザ１１０に伝達することができる。
【００３８】
ラスタライザ１１０は、幾何変換過程を経て、バーテックスシェーダから生成されたプリミティブに対して、ラスタ化（rasterization）を行うことができる。
【００３９】
シェーダコア１２０は、ラスタライザ１１０からラスタ化されたプリミティブを伝達され、ピクセルシェーディングを行うことができる。シェーダコア１２０は、ラスタ化を経て生成されたプリミティブのフラグメント（fragment）を含むタイルに対して、タイルを構成する全てのピクセルの色相を決定するピクセルシェーディングを行うことができる。シェーダコア１２０は、ピクセルシェーディング過程において、立体的であって臨場感ある三次元グラフィックスを生成するために、テクスチャを利用して生成されたピクセル値を使用することができる。
【００４０】
シェーダコア１２０が、所望するピクセルに対応するピクセル値の伝達をテクスチャ処理装置１３０に要請すれば、テクスチャ処理装置１３０は、あらかじめ準備されたテクスチャを処理し、生成されたピクセル値を伝達する。テクスチャは、テクスチャ処理装置１３０の内部または外部の所定空間、またはグラフィック処理装置１００外部のメモリ２００に保存されている。テクスチャ処理装置１３０は、シェーダコア１２０で要請したピクセル値の生成に利用されるテクスチャが、テクスチャ処理装置１３０内部の所定空間にない場合、テクスチャ処理装置１３０外部の空間またはメモリ２００から、テクスチャを持ってきて使用することができる。
【００４１】
ピクセル処理装置１４０は、１つのタイル内の同一位置に対応するピクセルに対して、深さテストのような過程を経て、最終的に表示されるピクセル値を決定し、１つのタイルに該当する全てのピクセル値を決定することができる。
【００４２】
タイルバッファ１５０は、ピクセル処理装置１４０から伝達された１つのタイルに該当する全てのピクセル値を保存することができる。１つのフレームを構成する全てのタイルに対するグラフィック処理過程が完了すれば、タイルバッファ１５０に保存された処理結果が、メモリ２００のフレームバッファに伝達される。
【００４３】
図２は、グラフィック処理装置において、三次元グラフィックスを処理する過程の一実施形態について説明する図面である。
【００４４】
三次元グラフィックスを処理する過程は、大別して、幾何変換、ラスタ化、ピクセルシェーディングの３段階に分けることができ、以下、図２を参照し、さらに詳細的な過程について説明する。図２を参照すれば、段階１１ないし段階１８を介して、三次元グラフィックスを処理する過程を示している。
【００４５】
段階１１は、バーテックス（vertices）を生成する段階である。バーテックスは、三次元グラフィックスに含まれたオブジェクトを示すために生成される。
【００４６】
段階１２は、生成されたバーテックスをシェーディングする段階である。バーテックスシェーダは、段階１１で生成されたバーテックスの位置を指定することにより、バーテックスに対するシェーディングを行うことができる。
【００４７】
段階１３は、プリミティブを生成する段階である。プリミティブは、少なくとも１つのバーテックスを利用して形成される、点、線、多角形（polygon）などを意味する。一例として、プリミティブは、バーテックスを連結して形成された三角形で示すことができる。
【００４８】
段階１４は、プリミティブをラスタ化する段階である。プリミティブのラスタ化は、プリミティブをフラグメントに分割することを意味する。フラグメントは、プリミティブに対してグラフィック処理を行うための基本単位でもある。プリミティブは、バーテックスに係わる情報のみを含むので、ラスタ化段階において、バーテックスとバーテックスとの間のフラグメントを生成することにより、三次元グラフィックスに対するグラフィック処理を行う。
【００４９】
段階１５は、ピクセルをシェーディングする段階を示す。ラスタ化によって生成された、プリミティブを構成するフラグメントは、タイルを構成するピクセルになる。当該分野で、フラグメント及びピクセルという用語は場合によって、混用して使用されてもよい。例えば、ピクセルシェーダは、フラグメントシェーダと呼ぶことができる。一般的に、プリミティブを構成するグラフィック処理の基本単位をフラグメントと呼び、以後、ピクセルシェーディングからのグラフィック処理の基本単位をピクセルと呼ぶ。ピクセルシェーディングでは、ピクセルの色を決定することができる。
【００５０】
段階１６は、ピクセルの色を決定するためのテクスチャリング段階を示す。テクスチャリングは、ピクセルの色を決定するとき、あらかじめ準備されたイメージ、すなわち、テクスチャを利用して、ピクセルの色を決定する過程である。実世界の多様な色相、及びパターンの様子を表現するために、それぞれのピクセルの色相を計算して決定することは、グラフィック処理に必要なデータ演算量及びグラフィック処理時間を非常に増加させるので、あらかじめ準備されたテクスチャを利用して、ピクセルの色相を決定するのである。例えば、オブジェクトの表面色相を、テクスチャという別途の二次元映像に保存し、オブジェクトの画面上の位置及び大きさなどによって、保存されたテクスチャを拡大及び縮小したり、多様な解像度を有するテクスチャを利用してテクセル値を混合したりすることにより、ピクセルの色相を決定することができる。
【００５１】
さらに具体的には、ピクセルシェーディング過程において、さらに迅速な三次元グラフィックス処理のために、あらかじめ準備されたテクスチャを利用して生成されたピクセル値を使用することができる。このとき、オブジェクトの大きさに適応的に対応するように、互いに異なる解像度を有する複数個のテクスチャをあらかじめ準備しておき、それらを組み合わせてピクセル値を生成することもできる。このとき、互いに異なる解像度を有する、あらかじめ準備されたテクスチャをミップマップ（mipmap）という。例えば、あらかじめ準備された２つのミップマップの中間解像度を有するオブジェクトのピクセル値を生成するために、２つのミップマップから、オブジェクトに対応する位置のテクセル値を抽出し、それらをフィルタリングすることにより、オブジェクトを構成するピクセル値を生成することができる。
【００５２】
段階１７は、テスト及びミキシング（testing  and  mixing）段階を示す。タイル内の同一位置に対応するピクセルに対して、深さテストのような過程を経て、最終的に表示されるピクセル値を決定し、１つのタイルに該当するピクセル値を決定することができる。このような過程を経て生成された複数個のタイルをミキシングし、１つのフレームに該当する三次元グラフィックスを生成することができる。
【００５３】
段階１８は、段階１１ないし段階１７を介して生成されたフレームをフレームバッファに保存し、フレームバッファに保存されたフレームを、ディスプレイ装置を介して表示する段階を示す。
【００５４】
一方、テクスチャ処理装置１３０内の所定空間に、多様なオブジェクトに係わる全てのテクスチャ、及び各テクスチャに対応するミップマップを保存することは物理的に容易ではない。テクスチャ保存に必要な空間を最小化し、テクスチャの伝送を効率的にするために、三次元グラフィックスレンダリングでは、一般的にテクスチャを圧縮し、テクスチャの保存または伝送を行う。
【００５５】
しかし、圧縮されたテクスチャを圧縮解除するために、多くの演算量、時間、及びそれによる電力消耗が発生する。さらに、テクスチャミップマップを利用したテクスチャリングにおいて、圧縮されたテクスチャがさらに必要な場合、圧縮解除するために、さらに多くの演算量、時間、及びてそれによる電力消耗が発生する。従って、テクスチャ処理装置１３０は、圧縮された形態のテクスチャの圧縮解除にあたり、さらに効率的な圧縮解除方式が必要である。
【００５６】
以下、テクスチャ処理装置１３０において、テクスチャを構成するテクセルが、所定ブロック単位に圧縮された圧縮テクセルブロックを圧縮解除する場合、圧縮解除過程を分割し、圧縮テクセルブロック全体ではない一部についてだけ圧縮解除過程を完了することにより、効率的なグラフィック処理を行うことができるテクスチャ処理方法及びその装置について説明する。
【００５７】
図３は、一実施形態によるテクスチャ処理装置の構成を示したブロック図である。
【００５８】
図３を参照すれば、テクスチャ処理装置１３０は、制御部１３１、圧縮解除部１３３、テクスチャキャッシュ１３５、テクセル生成部１３７、テクスチャフィルタ１３９を含んでもよい。
【００５９】
制御部１３１は、テクスチャ処理装置１３０を制御するために必要な演算を行ったり、圧縮解除部１３３、テクスチャキャッシュ１３５、テクセル生成部１３７、テクスチャフィルタ１３９を制御したりし、テクスチャ処理装置１３０の全般的な制御を担当することができる。
【００６０】
圧縮解除部１３３は、テクスチャ処理装置１３０が、テクスチャ処理装置１３０の外部のメモリ２００から、圧縮されたテクスチャを受信する場合、圧縮解除を行うことができる。一般的なテクスチャ圧縮標準において、テクスチャは、テクスチャを構成するテクセルが、所定ブロック単位に圧縮された、少なくとも１つの圧縮テクセルブロックに圧縮されるので、圧縮解除部１３３は、圧縮テクセルブロックを受信することができる。
【００６１】
このとき、圧縮テクセルブロックは、テクスチャを構成するテクセルが、所定ブロック単位に圧縮された状態のテクセルブロックを意味する。一方、テクセルブロックは、圧縮される前のテクスチャを構成するテクセルのうち、圧縮の対象になる所定ブロック単位のテクセルまたは圧縮テクセルブロックを完全に圧縮解除して生成されるテクセルを意味する。一方、１つのテクスチャは、少なくとも１つのテクセルブロックを含んでもよい。１つの圧縮されたテクスチャは、少なくとも１つの圧縮テクセルブロックから構成される。言い替えれば、テクスチャは、少なくとも１つの圧縮テクセルブロックに圧縮される。
【００６２】
図４は、圧縮テクセルブロックの一実施形態について説明するための図面である。
【００６３】
テクスチャは、ハードウェアリソースの要求、及び通信環境の要求を満足させるために、三次元グラフィックス処理過程で圧縮された形態に保存されることが一般的である。一般的な圧縮方式は、テクスチャを構成するテクセルに対して、所定ブロック単位のテクセル、すなわち、テクセルブロックに対して行われる。テクスチャを構成するテクセルが、所定ブロック単位に圧縮された圧縮テクセルブロックを生成する過程について、図４を参照して説明する。
【００６４】
一般的なテクスチャ圧縮標準は、圧縮するテクセルブロックに対して、代表値を決定し、各テクセル値を表現することができる代表値に適用する加重値（weight）を求め、それらを保存する方式を使用する。
【００６５】
図４を参照すれば、２Ｘ２のテクセルブロックを圧縮し、圧縮テクセルブロックを生成する過程が図示されている。図４から分かるように、２Ｘ２のテクセルブロックは、Ｔ０，Ｔ１，Ｔ２，Ｔ３の総４個のテクセルで構成され、説明の便宜上、それぞれのテクセル値は、８、７、６、５の値を有すると前提する。
【００６６】
まず、４個のテクセル値を大きさ順に配したとき、エンドポイント（end  point）値に該当する最大値及び最小値のそれぞれを代表値として決定することができる。その後、それぞれのテクセル値を表現するように、２つのエンドポイント値に適用する加重値を計算することができる。
【００６７】
例えば、テクセルＴ０の場合、テクセル値が８であり、テクセル値のうち最大値に該当するエンドポイント値ＥＰ１と同じであるので、テクセル値のうち最小値に該当するエンドポイント値ＥＰ０に適用する加重値を０にし、テクセルＴ０に係わる加重値Ｗ０を計算することができる。かような方式で、テクセルＴ１ないしＴ３に係わる加重値Ｗ１ないしＷ３をそれぞれ計算すれば、１／３、２／３、１になる。図４から分かるように、Ｔｎ＝（ＥＰ０ｘＷｎ）＋（ＥＰ１ｘ（１−Ｗｎ））でもある。
【００６８】
圧縮テクセルブロックは、エンドポイント値に該当する代表値と、各テクセルに係わる加重値とを保存した形態でもある。図４を参照すれば、２Ｘ２テクセルブロックに対する圧縮テクセルブロックが、代表値に該当するＥＰ０及びＥＰ１と、加重値に該当するＷ０、Ｗ１、Ｗ２、Ｗ３とを保存しているということが分かる。
【００６９】
一方、図４に図示された圧縮方式の逆過程に基づけば、圧縮テクセルブロックを完全に圧縮解除し、テクセルブロック全体を求めることができる。
【００７０】
図５は、圧縮テクセルブロックの他の一実施形態を示した図面である。
【００７１】
具体的には、図５は、テクスチャ圧縮標準のうち１つの方式による４Ｘ４テクセルブロックの圧縮形態を示した図面である。図５を参照すれば、８バイト（bytes）の圧縮テクセルブロックを確認することができる。
【００７２】
２つの代表値に対して、それぞれ２bytesを割り当て、１６個のテクセルそれぞれに係わる加重値をエンコーディングした情報に対して２ビット（bits）を割り当て、４Ｘ４テクセルブロックが総８bytesの圧縮テクセルブロックに圧縮されるということが分かる。
【００７３】
再び図３を参照すれば、圧縮解除部１３３は、受信した圧縮テクセルブロックから、完全に圧縮解除されたテクセルブロックを獲得せず、圧縮解除過程の一部過程のみを遂行する。言い替えれば、圧縮解除過程を、圧縮テクセルブロックから、圧縮過程に利用された圧縮パラメータを抽出する過程と、抽出された圧縮パラメータから、テクセルを生成する過程とに分割し、二元化された圧縮解除過程のうち前者のみ遂行することができる。圧縮解除過程のうち一部を、実際要請があるまで延期することにより、不要な圧縮解除演算を最小化するためである。特に、二元化された圧縮解除過程のうち、後者の場合、テクセル値を生成するために、圧縮パラメータに基づいたインターポレーション又は補間（interpolation）を行うが、インターポレーション過程上の多数の乗算及び加算の演算組み合わせによって、電力消耗及びハードウェアリソース要求量が多いので、テクスチャ処理装置１３０に実際要請されたテクセルについてだけ遂行されるようにし、電力消耗及びハードウェアリソース要求量を大きく低減させることができる。
【００７４】
具体的には、圧縮解除部１３３は、圧縮テクセルブロックに基づいて、テクセルブロックを構成するテクセルの代表値、テクセルブロックを構成する各テクセルに係わる加重値、並びにテクセルブロックを構成する各テクセルに対応する、代表値及び加重値に係わるインデックス（index）を獲得することができる。代表値は、テクセルブロックを構成するテクセルの値に基づいて、任意の値として決定することができる。例えば、代表値は、テクセルブロックを構成するテクセルを、所定規則によって配したとき、エンドポイント値に該当する値でもある。各テクセルに係わる加重値は、加重値自体や、加重値をエンコーディングした情報になる。圧縮テクセルブロックに基づいて獲得する代表値及び加重値は、テクスチャ圧縮標準の種類によって異なる。言い替えれば、圧縮標準の種類によって、代表値の個数または代表値決定方式が異なり、それによって、加重値も異なる。本明細書において代表値は、１つの代表値のみを有する場合と、２以上の代表値を有する場合とを含んでもよい。
【００７５】
圧縮解除部１３３は、圧縮テクセルブロックから、圧縮過程に利用された圧縮パラメータを抽出する過程を遂行することができる。圧縮解除部１３３は、テクセルブロックを構成する各テクセルを生成するために、抽出された圧縮パラメータのうちいずれを使用するかということに係わるインデックスを、各テクセルごとに生成することができる。
【００７６】
テクスチャキャッシュ１３５は、圧縮解除部１３３で獲得された、代表値、加重値、並びに代表値及び加重値に係わるインデックスを保存することができる。テクスチャキャッシュ１３５は、圧縮過程に利用された圧縮パラメータを保存する過程を遂行することができる。テクスチャキャッシュ１３５に保存された値は、テクスチャ処理装置１３０に要請されたテクセルを生成するための圧縮解除過程を完了するのに利用される。
【００７７】
制御部１３１は、テクスチャ処理装置１３０に要請されたテクセルに対応するインデックスによって、代表値及び加重値を、テクスチャキャッシュ１３５から読み取ることができる。制御部１３１は、シェーダコア１２０で処理するピクセルに対応するテクセルアドレスを、シェーダコア１２０から受信することにより、シェーダコア１２０で処理するピクセルのためのテクセル要請を受けることができる。テクスチャ処理装置１３０に要請されたテクセルを求めるために、テクセルブロックに含まれた少なくとも１つのテクセルが必要であるために、テクスチャ処理装置１３０に要請されたテクセルに対応するインデックスは、少なくとも一つでもある。
【００７８】
テクセル生成部１３７は、テクスチャキャッシュ１３５から読み取られた、代表値及び加重値に基づいて、テクセルを生成することができる。一方、テクセル生成部１３７は、複数個のテクセルを並列的に処理するように、複数個のインターポレータ（interpolator）を含んでもよい。
【００７９】
テクスチャフィルタ１３９は、テクセル生成部１３７で生成されたテクセル値を利用して、テクスチャフィルタリングを行うことができる。テクセル値をフィルタリング（filtering）するということは、テクセル値を混合（blending）し、ピクセルに対応するカラー値を求めることを意味する。例えば、テクスチャ処理装置１３０に要請されたテクセルのテクセルアドレスが含まれるテクスチャ空間上の一部領域に含まれたテクセル値の平均を求めることにより、ピクセルに対応するカラー値を求めることができる。テクスチャフィルタ１３９でフィルタリングされたテクセル値は、シェーダコア１２０の要請に対する応答として、シェーダコア１２０に伝送される。テクスチャフィルタ１３９で遂行するテクスチャフィルタリング方式は、トリリニア（tri-linear）フィルタリング方式を含んでいる多様なフィルタリング方式でもある。
【００８０】
図６は、一実施形態によるテクスチャ処理装置の動作について説明するための図面である。
【００８１】
図６を参照すれば、テクスチャ処理装置１３０は、制御部１３１、圧縮解除部１３３、テクスチャキャッシュ１３５、テクセル生成部１３７、テクスチャフィルタ１３９を含んでもよい。圧縮解除部１３３は、インデックス生成部１３３−１、代表値パーサ１３３−２、加重値パーサ１３３−３を含んでもよい。テクスチャキャッシュ１３５は、インデックスキャッシュ１３５−１、代表値キャッシュ１３５−２、加重値キャッシュ１３５−３を含んでもよい。
【００８２】
圧縮解除部１３３は、圧縮テクセルブロックに基づいて、テクセルブロックを構成するテクセルの代表値、テクセルブロックを構成する各テクセルに係わる加重値、並びにテクセルブロックを構成する各テクセルに対応する、代表値及び加重値に係わるインデックスを獲得することができる。すなわち、圧縮解除部１３３が、代表値及び加重値を利用してテクスチャを構成するテクセルが、所定ブロック単位に圧縮された圧縮テクセルブロックを受信すれば、受信された圧縮テクセルブロックに基づいて、代表値、加重値、並びに代表値及び加重値に係わるインデックスを獲得することができる。具体的には、圧縮解除部１３３を構成する代表値パーサ１３３−２、加重値パーサ１３３−３及びインデックス生成部１３３−１について説明すれば、次の通りである。
【００８３】
代表値パーサ１３３−２は、テクセルブロックを構成するテクセルの代表値をパージング（又は解析）することができる。テクセルブロックを構成するテクセルの代表値は、テクセルのエンドポイント値にもなり、代表値は、複数個でもある。
【００８４】
加重値パーサ１３３−３は、テクセルブロックを構成する各テクセルに係わる加重値をパージングすることができる。各テクセルに係わる加重値は、テクセルブロックを構成する各テクセルの個数と同一である。
【００８５】
代表値パーサ１３３−２と加重値パーサ１３３−３は、圧縮解除部１３３に受信された圧縮テクセルブロックにおいて、代表値が保存される領域、または加重値が保存される領域を把握し、代表値及び加重値を獲得することができる。
【００８６】
インデックス生成部１３３−１は、各テクセルに対応する代表値のテクスチャキャッシュ１３５における保存位置と、各テクセルに対応する加重値のテクスチャキャッシュ１３５における保存位置と、を含む、各テクセルに対応するインデックスを生成することができる。言い替えれば、各テクセルに対応するインデックスは、各テクセルに対応する代表値の、代表値キャッシュ１３５−２における保存位置と、各テクセルに対応する加重値の、加重値キャッシュ１３５−３における保存位置と、を含んでもよい。
【００８７】
テクスチャキャッシュ１３５は、圧縮解除部１３３で獲得された、代表値、加重値、並びに代表値及び加重値に係わるインデックスを保存することができる。言い替えれば、テクスチャキャッシュ１３５は、圧縮テクセルブロック全体に対応するテクセルの代表値、テクセルブロックを構成する各テクセルに係わる加重値、並びにテクセルブロックを構成する各テクセルに対応する、代表値及び加重値に係わるインデックスを保存することができる。
【００８８】
代表値キャッシュ１３５−２は、テクセルブロックを構成するテクセルの代表値を保存することができる。
【００８９】
加重値キャッシュ１３５−３は、テクセルブロックを構成する各テクセルに係わる加重値を保存することができる。
【００９０】
インデックスキャッシュ１３５−１は、テクセルブロックを構成する各テクセルに対応するインデックスを保存することができる。このとき、インデックスは、テクセルアドレスと対応させ、インデックスキャッシュ１３５−１に保存されている。
【００９１】
インデックスキャッシュ１３５−１、代表値キャッシュ１３５−２、及び加重値キャッシュ１３５−３は、それぞれ物理的に区分される別個のキャッシュでもある。また、インデックスキャッシュ１３５−１、代表値キャッシュ１３５−２、及び加重値キャッシュ１３５−３は、１つのテクスチャキャッシュ１３５を所定空間に分けて区分されるそれぞれの領域を意味することもできる。言い替えれば、テクスチャキャッシュ１３５の保存空間を３つの空間に分割したとき、分割されたそれぞれの空間を、インデックスキャッシュ１３５−１、代表値キャッシュ１３５−２、及び加重値キャッシュ１３５−３として利用することもできる。
【００９２】
図７は、圧縮テクセルブロックに基づいて、代表値、加重値及びインデックスを獲得し、テクスチャキャッシュに保存する動作の一実施形態について説明するための図面である。
【００９３】
説明の便宜上、４Ｘ４のテクセルブロックが圧縮された圧縮テクセルブロックであるということを前提に説明する。４Ｘ４のテクセルブロックは、テクセルＴ０からテクセルＴ１５まで総１６個のテクセルを含んでもよい。
【００９４】
図７に図示された圧縮テクセルブロックは、２つの代表値ＲＶ０，ＲＶ１、１６個の各テクセルに係わる加重値Ｗ０ないしＷ１５を含んでいるということが分かる。かような圧縮テクセルブロックが圧縮解除部１３３に受信されれば、受信された圧縮テクセルブロックに基づいて、代表値、加重値及びインデックスを獲得し、獲得された値は、テクスチャキャッシュ１３５に保存される。
【００９５】
具体的には、圧縮解除部１３３の代表値パーサ１３３−２と、加重値パーサ１３３−３は、図７に図示されているように、圧縮テクセルブロックに含まれたＲＶ０、ＲＶ１、Ｗ０ないしＷ１５をパージングすることができる。代表値パーサ１３３−２は、ＲＶ０及びＲＶ１をパージングし、テクセルブロックを構成するテクセルの代表値として処理することができる。加重値パーサ１３３−３は、Ｗ０ないしＷ１５をパージングし、テクセルブロックを構成する各テクセルに係わる加重値として処理することができる。
【００９６】
インデックス生成部１３３−１は、各テクセルに対応する代表値のテクスチャキャッシュ１３５における保存位置と、各テクセルに対応する加重値のテクスチャキャッシュ１３５における保存位置と、を含む、各テクセルに対応するインデックスを生成することができる。言い替えれば、インデックス生成部１３３−１は、代表値パーサ１３３−２がパージングした各テクセルに対応する代表値の、代表値キャッシュ１３５−２における保存位置と、加重値パーサ１３３−３がパージングした各テクセルに対応する加重値の、加重値キャッシュ１３５−３における保存位置と、を含む、各テクセルに対応するインデックスを生成することができる。
【００９７】
図７を参照すれば、インデックス生成部１３３−１は、各テクセルに対応する代表値ＲＶ０及びＲＶ１の、代表値キャッシュ１３５−２における保存位置であるＸ０と、各テクセルに対応する加重値の、加重値キャッシュ１３５−３における保存位置であるＹ０ないしＹ１５とのうちいずれか一つを含む形態の、各テクセルに対応するインデックスを生成することができる。
【００９８】
例えば、テクセルブロックを構成するテクセルＴ０に対応するインデックスは、代表値ＲＶ０及びＲＶ１の、代表値キャッシュ１３５−２における保存位置であるＸ０と、テクセルＴ０に対応する加重値Ｗ０の、加重値キャッシュ１３５−３における保存位置であるＹ０と、を含むインデックス（Ｘ０，Ｙ０）のように示すことができる。他の例として、テクセルブロックを構成するテクセルＴ１に対応するインデックスは、代表値ＲＶ０及びＲＶ１の、代表値キャッシュ１３５−２における保存位置であるＸ０と、テクセルＴ１に対応する加重値Ｗ１の、加重値キャッシュ１３５−３における保存位置であるＹ１と、を含むインデックス（Ｘ０，Ｙ１）のように示すことができる。かような方式によって、インデックス生成部１３３−１は、テクセルブロックを構成するテクセルＴ０ないしＴ１５にそれぞれ対応するインデックス（Ｘ０，Ｙ０）ないし（Ｘ０，Ｙ１５）を生成することができる。
【００９９】
代表値パーサ１３３−２がパージングした各テクセルに対応する代表値は、代表値キャッシュ１３５−２に保存され、加重値パーサ１３３−３がパージングした各テクセルに対応する加重値は、加重値キャッシュ１３５−３に保存される。インデックス生成部１３３−１が生成したテクセルブロックを構成する各テクセルに対応するインデックスは、インデックスキャッシュ１３５−１に保存される。一方、各テクセルに対応するインデックスは、各テクセルのテクセルアドレスにマッチングされて保存される。その場合、テクスチャ処理装置１３０に要請されたテクセルに対応するインデックスは、要請されたテクセルのテクセルアドレスをインデックスキャッシュ１３５−１に伝達することにより、インデックスキャッシュ１３５−１から読み取ることができる。インデックスキャッシュ１３５−１から読み取られたインデックスによって、テクスチャ処理装置１３０に要請されたテクセルに対応する代表値及び加重値を、代表値キャッシュ１３５−２及び加重値キャッシュ１３５−３からそれぞれ読み取ることができる。
【０１００】
再び図６を参照すれば、制御部１３１は、要請されたテクセルに対応するインデックスを、インデックスキャッシュ１３５−１から読み取り、読み取られたインデックスによって、代表値及び加重値を、代表値キャッシュ１３５−２及び加重値キャッシュ１３５−３からそれぞれ読み取ることができる。
【０１０１】
制御部１３１は、要請されたテクセルに対応するインデックスが、テクスチャキャッシュ１３５に保存されていない場合、テクスチャ処理装置１３０外部のメモリ２００に、要請されたテクセルを含む圧縮テクセルブロックを要請することができる。それによって、圧縮解除部１３３は、テクスチャ処理装置１３０外部のメモリ２００から、要請されたテクセルを含む圧縮テクセルブロックを受信することができる。
【０１０２】
テクセル生成部１３７は、テクスチャキャッシュ１３５から読み取られた、代表値及び加重値に基づいて、テクセルを生成することができる。具体的には、テクセル生成部１３７は、テクスチャキャッシュ１３５から読み取られた、代表値及び加重値を利用したインターポレーションを行い、圧縮テクセルブロックの一部テクセルのみ生成することができる。従って、テクセル生成部１３７は、圧縮テクセルブロック全体ではない、テクスチャ処理装置１３０に要請された一部テクセルについてだけ圧縮解除過程を完了することにより、不要な圧縮解除による電力消耗を防止し、ハードウェアリソースの要求量を低めることができる。
【０１０３】
テクスチャフィルタ１３９は、テクセル生成部１３７で生成されたテクセルを利用して、テクスチャフィルタリングを行うことができる。テクスチャフィルタ１３９は、テクセル生成部１３７で生成されたテクセルの個数が、テクスチャフィルタリングを行うのに必要な最小個数であるとき、テクスチャフィルタリングを行うことができる。
【０１０４】
図８は、他の実施形態によるテクスチャ処理装置の構成を示したブロック図である。
【０１０５】
図８を参照すれば、テクスチャ処理装置１３０は、制御部１３１、圧縮解除部１３３、テクスチャキャッシュ１３５、テクセル生成部１３７、テクスチャフィルタ１３９だけではなく、第２テクスチャキャッシュ１３６をさらに含んでもよい。言い替えれば、図８に図示されたテクスチャ処理装置１３０は、図３及び図６に図示されたテクスチャ処理装置１３０より、圧縮テクセルブロックを、テクスチャ処理装置１３０外部のメモリ２００から受信して保存する第２テクスチャキャッシュ１３６をさらに含んでいる。
【０１０６】
前述の図３及び図６のテクスチャ処理装置１３０と動作がほぼ類似しているが、テクスチャ処理装置１３０に要請されたテクセルに対応するインデックスが、テクスチャキャッシュ１３５に保存されていない場合、テクスチャ処理装置１３０外部のメモリではない、テクスチャ処理装置１３０内部の第２テクスチャキャッシュ１３６に、要請されたテクセルに対応するインデックスを含む圧縮テクセルブロックを要請することができる。第２テクスチャキャッシュ１３６は、以前のテクスチャ処理動作において、テクスチャ処理装置１３０外部のメモリ２００に要請された１以上の圧縮テクセルブロックを保存することができる。テクスチャ処理装置１３０外部のメモリ２００に、圧縮テクセルブロックが要請されたとき、現在要請された圧縮テクセルブロックだけがテクスチャ処理装置１３０外部のメモリ２００で検索され、第２テクスチャキャッシュ１３６に保存されるか、あるいはテクスチャ処理装置１３０外部のメモリ２００に、その次に要請される圧縮テクセルブロックは、現在要請された圧縮テクセルブロックの付近でもあるという期待を有し、現在要請された圧縮テクセルブロックを含んでいる複数個の連続的な圧縮テクセルブロックがテクスチャ処理装置１３０外部のメモリ２００から検索され、第２テクスチャキャッシュ１３６に保存される。
【０１０７】
制御部１３１は、要請されたテクセルに対応するインデックスが、テクスチャキャッシュ１３５に保存されていない場合、テクスチャ処理装置１３０内部の第２テクスチャキャッシュ１３６に、要請されたテクセルを含む圧縮テクセルブロックを要請することができる。それによって、圧縮解除部１３３は、テクスチャ処理装置１３０内部の第２テクスチャキャッシュ１３６から、要請されたテクセルを含む圧縮テクセルブロックを受信することができる。しかし、要請されたテクセルを含む圧縮テクセルブロックが、第２テクスチャキャッシュ１３６に保存されていなければ、制御部１３１は、テクスチャ処理装置１３０外部のメモリ２００に、要請されたテクセルを含む圧縮テクセルブロックを要請することができる。
【０１０８】
圧縮解除部１３３は、要請されたテクセルを含む圧縮テクセルブロックを、テクスチャ処理装置１３０外部のメモリ２００から受信せず、テクスチャ処理装置１３０内部の第２テクスチャキャッシュ１３６から受信することにより、外部のメモリ２００にアクセスする回数を減らし、迅速な三次元グラフィックス処理が可能になる。
【０１０９】
図９は、さらに他の実施形態によるテクスチャ処理装置の構成を示したブロック図である。
【０１１０】
図９を参照すれば、テクスチャ処理装置１３０は、制御部１３１、圧縮解除部１３３、テクスチャキャッシュ１３５、テクセル生成部１３７、テクスチャフィルタ１３９を含んでもよい。このとき、図９に図示されたテクスチャ処理装置１３０の制御部１３１は、有効性確認部（validity  checker）１３２をさらに含んでもよい。
【０１１１】
有効性確認部１３２は、テクスチャ処理装置１３０に要請されたテクセルが、ピクセルシェーディングに使用されるか否かということを判断することができる。言い替えれば、有効性確認部１３２は、テクスチャ処理装置１３０に要請されたテクセルを生成する前に、テクスチャ処理装置１３０に要請されたテクセルが、実際に使用されるか否かということを、まず判断することができる。それによって、テクスチャ処理装置１３０に要請されたテクセルが、実際にピクセルシェーディングに使用されるものではなければ、不要な圧縮解除過程を防止することができる。
【０１１２】
例えば、シェーダコア１２０が処理するピクセルに、ゾンビピクセル（zombie  pixel）がある場合、ＲＧＢＡ（red,  green,  blue  and  alpha（透明度））のうち一部コンポーネント（component）についてだけテクスチャ処理装置１３０に要請された場合、スウィズル（swizzle）動作によって、一部コンポーネント値が使用されない場合などには、不要な一部圧縮解除過程を省略することができる。ゾンビピクセルは、情報を抽出するために必要であるが、テクスチャ処理装置１３０によって処理される必要はないダミーピクセルである。例えば、グラフィック処理から、一般的に、２Ｘ２ピクセルまたは４Ｘ４ピクセルの集合のような付近ピクセルの集合は、ピクセル間の関係から情報を抽出するために共に処理される。しかし、いくつかの場合、情報を抽出するためにただ必要なピクセル集合での１以上のピクセルは、テクスチャ処理装置１３０によって処理される必要がなく、結果として、不要な圧縮解除処理を防止することができる。
【０１１３】
有効性確認部１３２を含む制御部１３１は、テクスチャ処理装置１３０に要請されたテクセルが、ピクセルシェーディングに使用されると判断されれば、要請されたテクセルに対応するインデックスによって、代表値及び加重値をテクスチャキャッシュ１３５から読み取ることができる。一方、有効性確認部１３２を含む制御部１３１は、テクスチャ処理装置１３０に要請されたテクセルが、ピクセルシェーディングに使用されないと判断されれば、要請に対する応答として、所定値をリターンし（すなわち、返し）、要請されたテクセルに係わる圧縮解除過程を省略することができる。それによって、電力消耗をさらに効果的に減らすことができる。
【０１１４】
図１０は、一実施形態によるテクスチャ処理方法について説明するためのフローチャートである。以下、省略された内容であるとしても、以上において、テクスチャ処理装置１３０について記述した内容は、テクスチャ処理方法についても適用される。
【０１１５】
１０１０段階において、テクスチャ処理装置１３０は、圧縮テクセルブロックに基づいて、テクセルブロックを構成するテクセルの代表値、テクセルブロックを構成する各テクセルに係わる加重値、並びにテクセルブロックを構成する各テクセルに対応する、代表値及び加重値に係わるインデックスを獲得することができる。それは、圧縮解除過程のうち一部過程に該当するものであり、以後要請されたテクセルについてだけ圧縮解除を完了するための準備段階に該当する。以下、図１１を参照し、さらに詳細に説明する。
【０１１６】
図１１は、一実施形態によるテクスチャ処理方法において、代表値、加重値及びインデックスを獲得する段階に係わる詳細フローチャートである。
【０１１７】
１１１０段階において、テクスチャ処理装置１３０は、圧縮テクセルブロックから、テクセルブロックを構成するテクセルの代表値、及びテクセルブロックを構成する各テクセルに係わる加重値をパージングすることができる。テクスチャ処理装置１３０は、圧縮テクセルブロックにおいて、代表値が保存される領域と、加重値が保存される領域とを把握し、代表値及び加重値を獲得することができる。
【０１１８】
１１２０段階において、テクスチャ処理装置１３０は、各テクセルに対応する代表値のテクスチャキャッシュ１３５における保存位置と、各テクセルに対応する加重値のテクスチャキャッシュ１３５における保存位置と、を含む、各テクセルに対応するインデックスを生成することができる。言い替えれば、テクスチャ処理装置１３０は、各テクセルに対応する代表値の、代表値キャッシュ１３５−２における保存位置と、各テクセルに対応する加重値の、加重値キャッシュ１３５−３における保存位置と、を含む、各テクセルに対応するインデックスを生成することができる。
【０１１９】
再び図１０を参照すれば、１０２０段階において、テクスチャ処理装置１３０は、代表値、加重値及びインデックスを、テクスチャキャッシュ１３５に保存することができる。言い替えれば、テクスチャ処理装置１３０は、テクスチャキャッシュ１３５に、圧縮テクセルブロック全体に対応するテクセルの代表値、テクセルブロックを構成する各テクセルに係わる加重値、並びにテクセルブロックを構成する各テクセルに対応する、代表値及び加重値に係わるインデックスを保存することができる。以下、図１２を参照し、さらに詳細に説明する。
【０１２０】
図１２は、一実施形態によるテクスチャ処理方法において、代表値、加重値及びインデックスを保存する段階に係わる詳細フローチャートである。
【０１２１】
１２１０段階において、テクスチャ処理装置１３０は、テクセルブロックを構成するテクセルの代表値を、代表値キャッシュ１３５−２に保存することができる。テクスチャ処理装置１３０の代表値パーサ１３３−２がパージングした各テクセルに対応する代表値は、代表値キャッシュ１３５−２に保存される。
【０１２２】
１２２０段階において、テクスチャ処理装置１３０は、テクセルブロックを構成する各テクセルに係わる加重値を、加重値キャッシュ１３５−３に保存することができる。テクスチャ処理装置１３０の加重値パーサ１３３−３がパージングした各テクセルに対応する加重値は、加重値キャッシュ１３５−３に保存される
１２１０段階と１２２０段階は、順序が入れ替わってもよく、同時に並列的に処理されてもよい。
【０１２３】
１２３０段階において、テクスチャ処理装置１３０は、テクセルブロックを構成する各テクセルに対応するインデックスを、インデックスキャッシュ１３５−１に保存することができる。テクスチャ処理装置１３０のインデックス生成部１３３−１が生成したテクセルブロックを構成する各テクセルに対応するインデックスは、インデックスキャッシュ１３５−１に保存される。このとき、テクスチャ処理装置１３０のインデックスキャッシュ１３５−１は、各テクセルに対応するインデックスを、各テクセルのテクセルアドレスにマッチングさせて保存することができる。
【０１２４】
再び図１０を参照すれば、１０３０段階において、テクスチャ処理装置１３０は、テクスチャ処理装置１３０に要請されたテクセルに対応するインデックスによって、代表値及び加重値を、テクスチャキャッシュ１３５から読み取ることができる。以下、図１３ないし図１５を参照し、さらに詳細に説明する。
【０１２５】
図１３は、一実施形態によるテクスチャ処理方法において、テクスチャ処理装置に要請されたテクセルに対応するインデックスによって、代表値及び加重値を、テクスチャキャッシュから読み取る段階に係わる詳細フローチャートである。
【０１２６】
１３１０段階において、テクスチャ処理装置１３０は、テクスチャ処理装置１３０に要請されたテクセルのインデックスが、インデックスキャッシュ１３５−１に保存されているか否かということを確認することができる。言い替えれば、テクスチャ処理装置１３０は、テクスチャ処理装置１３０に要請されたテクセルのインデックスについて、インデックスキャッシュ１３５−１において、キャッシュヒットが発生したか否かということを確認することができる。具体的には、テクスチャ処理装置１３０は、テクスチャ処理装置１３０に要請されたテクセルのテクセルアドレスを、インデックスキャッシュ１３５−１に伝達することにより、要請されたテクセルのテクセルアドレスにマッチングされて保存されたインデックスがインデックスキャッシュ１３５−１にあるか否かということを確認することができる。
【０１２７】
１３２０段階において、テクスチャ処理装置１３０に要請されたテクセルに対応するインデックスを、インデックスキャッシュ１３５−１から読み取ることができる場合、すなわち、キャッシュヒットの場合、テクスチャ処理装置１３０は、インデックスキャッシュ１３５−１から読み取られたインデックスによって、テクスチャ処理装置１３０に要請されたテクセルに対応する代表値及び加重値を、代表値キャッシュ１３５−２及び加重値キャッシュ１３５−３からそれぞれ読み取ることができる。
【０１２８】
１３３０段階において、テクスチャ処理装置１３０に要請されたテクセルに対応するインデックスを、インデックスキャッシュ１３５−１から読み取ることができない場合、すなわち、キャッシュミスの場合、テクスチャ処理装置１３０の圧縮解除部１３３は、要請されたテクセルを含む圧縮テクセルブロックを受信することができる。以下、図１４を参照し、さらに詳細に説明する。
【０１２９】
図１４は、一実施形態によるテクスチャ処理方法において、テクスチャ処理装置に要請されたテクセルを含む圧縮テクセルブロックを受信する段階に係わる詳細フローチャートである。
【０１３０】
１４１０段階において、テクスチャ処理装置１３０は、テクスチャ処理装置１３０に要請されたテクセルを含む圧縮テクセルブロックを、テクスチャ処理装置１３０外部のメモリ２００に要請した場合、テクスチャ処理装置１３０外部のメモリ２００から、要請されたテクセルを含む圧縮テクセルブロックを受信することができる。テクスチャ処理装置１３０内部の空間上制約によって、圧縮されたテクスチャが、テクスチャ処理装置１３０外部のメモリ２００に保存されている場合、これに従うことになる。
【０１３１】
１４２０段階において、テクスチャ処理装置１３０は、テクスチャ処理装置１３０に要請されたテクセルを含む圧縮テクセルブロックを、テクスチャ処理装置１３０内部の第２テクスチャキャッシュ１３６に要請した場合、第２テクスチャキャッシュ１３６に要請されたテクセルを含む圧縮テクセルブロックが存在するか否かということを確認する。このとき、第２テクスチャキャッシュに対して、キャッシュミスが発生すれば、１４１０段階によって、テクスチャ処理装置１３０外部のメモリ２００から、要請されたテクセルを含む圧縮テクセルブロックを受信することができる。一方、第２テクスチャキャッシュ１３６に対して、キャッシュヒットが発生すれば、１４３０段階に従うことになる。
【０１３２】
１４３０段階において、テクスチャ処理装置１３０は、テクスチャ処理装置１３０に要請されたテクセルを含む圧縮テクセルブロックを、テクスチャ処理装置１３０内部の第２テクスチャキャッシュ１３６から、要請されたテクセルを含む圧縮テクセルブロックを受信することができる。テクスチャ処理装置１３０外部のメモリ２００へのアクセス回数を減らすために、テクスチャ処理装置１３０内部に、圧縮テクセルブロックをテクスチャ処理装置１３０外部のメモリ２００から受信して保存する第２テクスチャキャッシュ１３６がある場合、これに従うことになる。
【０１３３】
図１５は、一実施形態によるテクスチャ処理方法において、テクスチャ処理装置に要請されたテクセルに対応するインデックスによって、代表値及び加重値を、テクスチャキャッシュから読み取る段階に係わる他の実施形態による詳細フローチャートである。
【０１３４】
１５１０段階において、テクスチャ処理装置１３０は、テクスチャ処理装置１３０に要請されたテクセルが、ピクセルシェーディングに使用されるか否かということを判断することができる。テクスチャ処理装置１３０は、要請されたテクセルが、ピクセルシェーディングに使用されれば、１５３０段階に進むことができる。一方、テクスチャ処理装置１３０は、要請されたテクセルが、ピクセルシェーディングに使用されなければ、１５２０段階に進むことができる。
【０１３５】
１５２０段階において、テクスチャ処理装置１３０は、テクセル要請に対する応答として、所定値をリターンすることができる。それによって、要請されたテクセルに係わる圧縮解除過程を省略することにより、電力消耗をさらに効果的に減らすことができる。
【０１３６】
１５３０段階において、テクスチャ処理装置１３０は、テクスチャ処理装置１３０に要請されたテクセルのインデックスが、インデックスキャッシュ１３５−１に保存されているか否かということを確認することができる。言い替えれば、テクスチャ処理装置１３０は、テクスチャ処理装置１３０に要請されたテクセルのインデックスに対して、インデックスキャッシュ１３５−１において、キャッシュヒットが発生したか否かということを確認することができる。具体的には、テクスチャ処理装置１３０は、テクスチャ処理装置１３０に要請されたテクセルのテクセルアドレスを、インデックスキャッシュ１３５−１に伝達することにより、要請されたテクセルのテクセルアドレスにマッチングされて保存されたインデックスが、インデックスキャッシュ１３５−１にあるか否かということを確認することができる。
【０１３７】
１５４０段階において、テクスチャ処理装置１３０に要請されたテクセルに対応するインデックスを、インデックスキャッシュ１３５−１から読み取ることができる場合、すなわち、キャッシュヒットの場合、テクスチャ処理装置１３０は、インデックスキャッシュ１３５−１から読み取られたインデックスによって、テクスチャ処理装置１３０に要請されたテクセルに対応する代表値及び加重値を、代表値キャッシュ１３５−２及び加重値キャッシュ１３５−３からそれぞれ読み取ることができる。
【０１３８】
１５５０段階において、テクスチャ処理装置１３０に要請されたテクセルに対応するインデックスを、インデックスキャッシュ１３５−１から読み取ることができない場合、すなわち、キャッシュミスの場合、テクスチャ処理装置１３０の圧縮解除部１３３は、要請されたテクセルを含む圧縮テクセルブロックを受信することができる。それと係わり、図１４を参照して説明した内容がそのまま適用される。
【０１３９】
再び図１０を参照すれば、１０４０段階において、テクスチャ処理装置１３０は、読み取られた、代表値及び加重値に基づいて、テクセルを生成することができる。テクスチャ処理装置１３０は、テクスチャキャッシュ１３５から読み取られた、代表値及び加重値を利用したインターポレーションを行い、圧縮テクセルブロックの一部テクセルのみ生成することができる。言い替えれば、テクスチャ処理装置１３０は、圧縮テクセルブロック全体ではない、テクスチャ処理装置１３０に要請された一部テクセルについてだけ圧縮解除過程を完了することができる。
【０１４０】
１０５０段階において、テクスチャ処理装置１３０は、生成されたテクセルを利用して、テクスチャフィルタリングを行うことができる。
【０１４１】
図１ないし図１５と係わって説明した動作を遂行する図１、図３、図６、図８及び図９に開示された各構成は、ハードウェアコンポーネントによって具現されてもよい。ハードウェアコンポーネントの一例は、コントローラ、ジェネレータ、ドライバ、メモリ、比較器、ＡＬＵ、加算器、マルチプライヤ、及び当該分野で公知のいなかる電子部品であってもよい。一方、前述のテクスチャ処理方法は、コンピュータで実行されるプログラムで作成されることも可能であり、コンピュータで読み取り可能な記録媒体を利用して、かようなプログラムを動作させる汎用デジタルコンピュータで具現されてもよい。かようなコンピュータで読み取り可能な記録媒体は、ＲＯＭ（read  only  memory）、ＲＡＭ（random  access  memory）、フラッシュメモリ、ＣＤ（compact  disc）−ＲＯＭｓ、ＣＤ−Ｒｓ、ＣＤ＋Ｒｓ、ＣＤ−ＲＷｓ、ＣＤ＋ＲＷｓ、ＤＶＤ（digital  versatile  disc）−ＲＯＭｓ、ＤＶＤ−Ｒｓ、ＤＶＤ＋Ｒｓ、ＤＶＤ−ＲＷｓ、ＤＶＤ＋ＲＷｓ、ＤＶＤ−ＲＡＭｓ、ＢＤ−ＲＯＭｓ、ＢＤ−Ｒｓ、ＢＤ−ＲＬＴＨｓ、ＢＤ−ＲＥｓ、マグネチックテープ、フロッピー（登録商標）ディスク、光磁気データ保存装置、光学データ保存装置、ハードディスク、ソリッドステートディスク（ＳＳＤ）、そして命令語またはソフトウェア、関連データ、データファイル、及びデータ構造を保存することができ、プロセッサやコンピュータが命令語を実行するように、プロセッサやコンピュータに命令語またはソフトウェア、関連データ、データファイル、及びデータ構造を提供することができるいかなる装置でもあってもよい。
【０１４２】
以上、実施形態を中心に説明した。開示された実施形態が属する技術分野において、当業者であるならば、開示された実施形態が、本質的な特徴から逸脱しない範囲で変形された形態で具現化されてもよいということを理解することができるであろう。従って、開示された実施形態は、限定的な観点ではなく、説明的な観点から考慮されなければならない。実施形態による発明の範囲は、前述の説明ではなくむしろ特許請求の範囲に示されており、それと同等な範囲内にある全ての変形例は、発明の範囲に含まれるものであると解釈されなければならない。
【産業上の利用可能性】
【０１４３】
本発明のテクスチャ処理方法及びその装置は、例えば、画像処理関連の技術分野に効果的に適用可能である。
【符号の説明】
【０１４４】
１００      グラフィック処理装置
１１０      ラスタライザ
１２０      シェーダコア
１３０      テクスチャ処理装置
１３１      制御部
１３２      有効性確認部
１３３      圧縮解除部
１３３−１  インデックス生成部
１３３−２  代表値パーサ
１３３−３  加重値パーサ
１３５      テクスチャキャッシュ
１３５−１  インデックスキャッシュ
１３５−２  代表値キャッシュ
１３５−３  加重値キャッシュ
１３６      第２テクスチャキャッシュ
１３７      テクセル生成部
１３９      テクスチャフィルタ
１４０      ピクセル処理装置
１５０      タイルバッファ
２００      メモリ
３００      バス
【図１】
0006626691.tif 000002
【図２】
0006626691.tif 000003
【図３】
0006626691.tif 000004
【図４】
0006626691.tif 000005
【図５】
0006626691.tif 000006
【図６】
0006626691.tif 000007
【図７】
0006626691.tif 000008
【図８】
0006626691.tif 000009
【図９】
0006626691.tif 000010
【図１０】
0006626691.tif 000011
【図１１】
0006626691.tif 000012
【図１２】
0006626691.tif 000013
【図１３】
0006626691.tif 000014
【図１４】
0006626691.tif 000015
【図１５】
0006626691.tif 000016