(57)【要約】【課題】  テクスチャ処理装置及びその方法を提供する。【解決手段】  グラフィック処理装置で要求されるテクスチャの精度に基づいて、テクスチャのフォーマットを変換してテクスチャを処理するテクスチャ処理方法及びその装置である。【選択図】      図３
2017033565.tif 000002
【特許請求の範囲】
【請求項１】
テクスチャ処理装置において、
テクスチャを保存するテクスチャキャッシュと、
要求されたテクスチャに対応するテクスチャアドレスを決定し、前記テクスチャアドレスに対応するテクスチャを、前記テクスチャキャッシュから読み取る制御部と、
グラフィック処理装置で要求されるテクスチャの精度に基づいて、前記読み取られたテクスチャのフォーマットを変換するフォーマット変換部と、
前記フォーマットが変換された、読み取られたテクスチャを利用して、テクスチャフィルタリングを行うテクスチャフィルタと、
を含む、テクスチャ処理装置。
【請求項２】
前記フォーマット変換部は、
前記グラフィック処理装置で要求される前記テクスチャの精度に基づいて、前記テクスチャのフォーマットを決定し、前記読み取られたテクスチャを、前記決定されたテクスチャのフォーマットで出力する、
ことを特徴とする請求項１に記載のテクスチャ処理装置。
【請求項３】
前記フォーマット変換部は、
前記テクスチャフィルタリングのモード、及び前記グラフィック処理装置で利用されるＡＰＩ（application  program  interface）種類のうち少なくとも一つに基づいて、前記グラフィック処理装置で要求される前記テクスチャの精度を判断し、前記判断の結果により、前記テクスチャのフォーマットを変換するか否かを決定する、
ことを特徴とする請求項１または２に記載のテクスチャ処理装置。
【請求項４】
前記フォーマット変換部は、
前記テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードに該当せず、前記ＡＰＩ種類が、高精度が要求される既設定の種類に該当しない場合、前記テクスチャのフォーマットを変換する、
ことを特徴とする請求項３に記載のテクスチャ処理装置。
【請求項５】
前記フォーマット変換部は、
前記グラフィック処理装置に要求されるレンダリングレベルをさらに考慮し、前記グラフィック処理装置で要求される前記テクスチャの精度を判断する、
ことを特徴とする請求項３に記載のテクスチャ処理装置。
【請求項６】
前記フォーマット変換部は、
前記テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードに該当せず、前記ＡＰＩ種類が、高精度が要求される既設定の種類に該当せず、前記要求されたレンダリングレベルが所定の基準以下である場合、前記テクスチャのフォーマットを変換する、
ことを特徴とする請求項５に記載のテクスチャ処理装置。
【請求項７】
前記グラフィック処理装置に要求されるレンダリングレベルは、前記グラフィック処理装置に連結されたアプリケーションを介してユーザから決定されるか、前記グラフィック処理装置のハードウェアリソースに基づいて、グラフィック処理装置で決定される、
ことを特徴とする請求項５に記載のテクスチャ処理装置。
【請求項８】
前記テクスチャフィルタは、
前記変換されたフォーマットに対応するフィルタリングユニットを駆動し、前記テクスチャフィルタリングを行う、
ことを特徴とする請求項１乃至７いずれか一項に記載のテクスチャ処理装置。
【請求項９】
前記読み取られたテクスチャを圧縮解除するデコンプレッサをさらに含み、
前記フォーマット変換部は、
前記グラフィック処理装置で要求されるテクスチャの精度に基づいて、前記圧縮解除されたテクスチャのフォーマットを変換する、
ことを特徴とする請求項１乃至８いずれか一項に記載のテクスチャ処理装置。
【請求項１０】
前記フォーマットが変換されたテクスチャを圧縮解除するデコンプレッサをさらに含み、
前記テクスチャフィルタは、
前記圧縮解除されたテクスチャを利用して、前記テクスチャフィルタリングを行う、
ことを特徴とする請求項１乃至９いずれか一項に記載のテクスチャ処理装置。
【請求項１１】
テクスチャ処理方法において、
要求されたテクスチャに対応するテクスチャアドレスを決定する段階と、
前記テクスチャアドレスに対応するテクスチャをテクスチャキャッシュから読み取る段階と、
グラフィック処理装置で要求されるテクスチャの精度に基づいて、前記読み取られたテクスチャのフォーマットを変換する段階と、
前記フォーマットが変換された、読み取られたテクスチャを利用して、テクスチャフィルタリングを行う段階と、
を含む、テクスチャ処理方法。
【請求項１２】
前記フォーマットを変換する段階は、
前記グラフィック処理装置で要求される前記テクスチャの精度に基づいて、前記テクスチャのフォーマットを決定する段階と、
前記読み取られたテクスチャを、前記決定されたテクスチャのフォーマットで出力する段階と、
を含む、ことを特徴とする請求項１１に記載のテクスチャ処理方法。
【請求項１３】
前記テクスチャのフォーマットを決定する段階は、
前記テクスチャフィルタリングのモード、及び前記グラフィック処理装置で利用されるＡＰＩ（application  program  interface）種類のうち少なくとも一つに基づいて、前記グラフィック処理装置で要求される前記テクスチャの精度を判断する段階と、
前記判断の結果により、前記テクスチャのフォーマットを変換するか否かを決定する段階と、
を含む、ことを特徴とする請求項１２に記載のテクスチャ処理方法。
【請求項１４】
前記テクスチャのフォーマットを変換するか否かを決定する段階は、
前記テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードに該当せず、前記ＡＰＩ種類が、高精度が要求される既設定の種類に該当しない場合、前記テクスチャのフォーマットを変換する、
ことを特徴とする請求項１３に記載のテクスチャ処理方法。
【請求項１５】
前記精度を判断する段階は、
前記グラフィック処理装置に要求されるレンダリングレベルをさらに考慮し、前記グラフィック処理装置で要求される前記テクスチャの精度を判断する、
ことを特徴とする請求項１３に記載のテクスチャ処理方法。
【請求項１６】
前記テクスチャのフォーマットを変換するか否かを決定する段階は、
前記テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードに該当せず、前記ＡＰＩ種類が、高精度が要求される既設定の種類に該当せず、前記要求されたレンダリングレベルが所定の基準以下である場合、前記テクスチャのフォーマットを変換する、
ことを特徴とする請求項１５に記載のテクスチャ処理方法。
【請求項１７】
前記テクスチャフィルタリングを行う段階は、
前記変換されたフォーマットに対応するフィルタリングユニットを駆動し、前記テクスチャフィルタリングを行う、
ことを特徴とする請求項１１乃至１６いずれか一項に記載のテクスチャ処理方法。
【請求項１８】
前記読み取られたテクスチャを圧縮解除する段階をさらに含み、
前記フォーマットを変換する段階は、
前記グラフィック処理装置で要求されるテクスチャの精度に基づいて、前記圧縮解除されたテクスチャのフォーマットを変換する、
ことを特徴とする請求項１１乃至１７いずれか一項に記載のテクスチャ処理方法。
【請求項１９】
前記フォーマットが変換されたテクスチャを圧縮解除する段階をさらに含み、
前記テクスチャフィルタリングを行う段階は、
前記圧縮解除されたテクスチャを利用して、前記テクスチャフィルタリングを行う、
ことを特徴とする請求項１１乃至１８いずれか一項に記載のテクスチャ処理方法。
【請求項２０】
請求項１１ないし１９のうちいずれか１項に記載の方法をコンピュータで実行させるためのプログラムを記録した、コンピュータで読み取り可能な記録媒体。
【請求項２１】
テクスチャ処理装置において、
テクスチャ要求に対する応答として、保存されたテクスチャのうちテクスチャを読み取る制御部と、
グラフィック処理装置で要求されるテクスチャの精度に基づいて、前記読み取られたテクスチャを、前記読み取られたテクスチャのフォーマットと異なるフォーマットを有する変換されたテクスチャに変換するか否かを決定するフォーマット変換部と、
前記読み取られたテクスチャ、または前記変換されたテクスチャを利用して、テクスチャフィルタリングを行うテクスチャフィルタと、
を含む、テクスチャ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テクスチャ処理装置及びその方法に関する。
【背景技術】
【０００２】
三次元グラフィックスレンダリング過程において、ピクセルシェーディング過程での演算量を減らし、レンダリング速度を加速させるために、グラフィック処理装置（ＧＰＵ：graphic  processing  unit）は、テクスチャ処理装置（texture  processor）を含んでいる。
【０００３】
テクスチャ処理装置は、テクスチャリング（texturing）に必要なテクスチャを生成する作業を行う。テクスチャリングは、三次元空間に形成されたオブジェクト（object）に、あらかじめ準備されたイメージを加える作業であり、演算量を減らすための三次元グラフィックスレンダリング動作のうちの一つである。このとき、あらかじめ準備されたイメージをテクスチャ（texture）と呼び、該テクスチャは、テクスチャ処理装置外部のメモリに圧縮された形態であらかじめ準備されている。
【０００４】
テクスチャ処理装置は、テクスチャを構成するテクセル（ｔｅｘｅｌ）が所定のブロック単位で圧縮された圧縮テクセルブロックを、外部のメモリから受信して処理することにより、シェーダコアから要求されたテクスチャを伝送する。
【０００５】
なお、高精度モードと低精度モードとのうちから選択したモードによってレンダリングするグラフィック処理構造に係る先行技術について、特許文献１の公開特許公報に開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願公開第２００５−００６６２０５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする課題は、グラフィック処理装置で要求されるテクスチャの精度（precision）に基づいて、テクスチャのフォーマットを変換してテクスチャを処理するテクスチャ処理方法及びその装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明の第１側面によるテクスチャ処理装置は、テクスチャを保存するテクスチャキャッシュと、要求されたテクスチャに対応するテクスチャアドレスとを決定し、前記テクスチャアドレスに対応するテクスチャを、前記テクスチャキャッシュから読み取る制御部と、グラフィック処理装置で要求されるテクスチャの精度に基づいて、前記読み取られたテクスチャのフォーマットを変換するフォーマット変換部と、前記フォーマットが変換されたテクスチャを利用して、テクスチャフィルタリングを行うテクスチャフィルタと、を含む。
【０００９】
また、前記フォーマット変換部は、前記グラフィック処理装置で要求される前記テクスチャの精度に基づいて、前記テクスチャのフォーマットを決定し、前記読み取られたテクスチャを、前記決定されたテクスチャのフォーマットで出力することができる。
【００１０】
また、前記フォーマット変換部は、前記テクスチャフィルタリングのモード、及び前記グラフィック処理装置で利用されるＡＰＩ（application  program  interface）の種類のうち少なくとも一つに基づいて、前記グラフィック処理装置で要求される前記テクスチャの精度を判断し、前記判断結果によって、前記テクスチャのフォーマットを変換するか否かを決定することができる。
【００１１】
また、前記フォーマット変換部は、前記テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードに該当せず、前記ＡＰＩ種類が高精度が要求される既設定の種類に該当しない場合、前記テクスチャのフォーマットを変換することができる。
【００１２】
また、前記フォーマット変換部は、前記グラフィック処理装置に要求されるレンダリングレベルをさらに考慮し、前記グラフィック処理装置で要求される前記テクスチャの精度を判断することができる。
【００１３】
また、前記フォーマット変換部は、前記テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードに該当せず、前記ＡＰＩ種類が、高精度が要求される既設定の種類に該当せず、前記要求されたレンダリングレベルが、所定の基準以下である場合、前記テクスチャのフォーマットを変換することができる。
【００１４】
また、前記グラフィック処理装置に要求されるレンダリングレベルは、前記グラフィック処理装置に連結されたアプリケーションを介してユーザから決定されるか、または、前記グラフィック処理装置のハードウェアリソースに基づいて、グラフィック処理装置で決定される。
【００１５】
また、前記テクスチャフィルタは、前記変換されたフォーマットに対応するフィルタリングユニットを駆動し、前記テクスチャフィルタリングを行うことができる。
【００１６】
また、前記読み取られたテクスチャを圧縮解除するデコンプレッサをさらに含み、前記フォーマット変換部は、前記グラフィック処理装置で要求されるテクスチャの精度に基づいて、前記圧縮解除されたテクスチャのフォーマットを変換することができる。
【００１７】
また、前記フォーマットが変換されたテクスチャを圧縮解除するデコンプレッサをさらに含み、前記テクスチャフィルタは、前記圧縮解除されたテクスチャを利用して、前記テクスチャフィルタリングを行うことができる。
【００１８】
本発明の第２側面によるテクスチャ処理方法は、要求されるテクスチャに対応するテクスチャアドレスを決定する段階と、前記テクスチャアドレスに対応するテクスチャをテクスチャキャッシュから読み取る段階と、グラフィック処理装置で要求されるテクスチャの精度に基づいて、前記読み取られたテクスチャのフォーマットを変換する段階と、前記フォーマットが変換されたテクスチャを利用して、テクスチャフィルタリングを行う段階と、を含む。
【００１９】
また、前記フォーマットを変換する段階は、前記グラフィック処理装置で要求される前記テクスチャの精度に基づいて、前記テクスチャのフォーマットを決定する段階と、前記読み取られたテクスチャを、前記決定されたテクスチャのフォーマットで出力する段階と、を含んでもよい。
【００２０】
また、前記テクスチャのフォーマットを決定する段階は、前記テクスチャフィルタリングのモード、及び前記グラフィック処理装置で利用されるＡＰＩ種類のうち少なくとも一つに基づいて、前記グラフィック処理装置で要求される前記テクスチャの精度を判断する段階と、前記判断結果によって、前記テクスチャのフォーマットを変換するか否かを決定する段階と、を含んでもよい。
【００２１】
また、前記テクスチャのフォーマットを変化するか否かを決定する段階は、前記テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードに該当せず、前記ＡＰＩ種類が、高精度が要求される既設定の種類に該当しない場合、前記テクスチャのフォーマットを変換することができる。
【００２２】
また、前記精度を判断する段階は、前記グラフィック処理装置に要求されるレンダリングレベルをさらに考慮し、前記グラフィック処理装置で要求される前記テクスチャの精度を判断することができる。
【００２３】
また、前記テクスチャのフォーマットを変化するか否かを決定する段階は、前記テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードに該当せず、前記ＡＰＩ種類が、高精度が要求される既設定の種類に該当せず、前記要求されたレンダリングレベルが所定の基準以下である場合、前記テクスチャのフォーマットを変換することができる。
【００２４】
また、前記テクスチャフィルタリングを行う段階は、前記変換されたフォーマットに対応するフィルタリングユニットを駆動し、前記テクスチャフィルタリングを行うことができる。
【００２５】
また、前記読み取られたテクスチャを圧縮解除する段階をさらに含み、前記フォーマットを変換する段階は、前記グラフィック処理装置で要求されるテクスチャの精度に基づいて、前記圧縮解除されたテクスチャのフォーマットを変換することができる。
【００２６】
また、前記フォーマットが変換されたテクスチャを圧縮解除する段階をさらに含み、前記テクスチャフィルタリングを行う段階は、前記圧縮解除されたテクスチャを利用して、前記テクスチャフィルタリングを行うことができる。
【００２７】
本発明の第３側面による、コンピュータで実行させるためのプログラムを記録した記録媒体は、前記テクスチャ処理方法をコンピュータで実行させるためのプログラムを記録する。
【００２８】
第４側面によるテクスチャ処理装置は、テクスチャ要求に対する応答として、保存されたテクスチャのうちテクスチャを読み取る制御部と、グラフィック処理装置で要求されるテクスチャの精度に基づいて、前記読み取られたテクスチャを、前記読み取られたテクスチャのフォーマットと異なるフォーマットを有する変換されたテクスチャに変換するか否かを決定するフォーマット変換部と、前記読み取られたテクスチャ、または前記変換されたテクスチャを利用して、テクスチャフィルタリングを行うテクスチャフィルタと、を含む。
【図面の簡単な説明】
【００２９】
【図１】一実施形態によるグラフィック処理装置を示した図面である。
【図２】グラフィック処理装置において、三次元グラフィックスを処理する過程について説明する図面である。
【図３】一実施形態によるテクスチャ処理装置の構成及び動作について説明するための図面である。
【図４】テクスチャのフォーマットについて説明するための図面である。
【図５】テクスチャフィルタの構成及び動作について説明するための図面である。
【図６】テクスチャのフォーマット変換によるテクスチャフィルタの構成及び動作について説明するための図面である。
【図７】他の実施形態によるテクスチャ処理装置の構成を示したブロック図である。
【図８】さらに他の実施形態によるテクスチャ処理装置の構成を示したブロック図である。
【図９】一実施形態によるテクスチャ処理方法について説明するためのフローチャートである。
【図１０】一実施形態によるテクスチャ処理方法において、テクスチャのフォーマットを変換する段階に係る詳細フローチャートである。
【図１１】一実施形態によるテクスチャ処理方法において、テクスチャのフォーマットを変換する段階のうちテクスチャのフォーマットを決定する段階の一実施形態に係る詳細フローチャートである。
【図１２】一実施形態によるテクスチャ処理方法において、テクスチャのフォーマットを変換する段階のうちテクスチャのフォーマットを決定する段階の他の実施形態に係る詳細フローチャートである。
【図１３】他の実施形態によるテクスチャ処理方法において、テクスチャのフォーマットを変換する段階に係る詳細フローチャートである。
【図１４】さらに他の実施形態によるテクスチャ処理方法において、テクスチャのフォーマットを変換する段階に係る詳細フローチャートである。
【発明を実施するための形態】
【００３０】
以下、添付された図面を参照しながら、単に例示のための実施形態について詳細に説明する。下記の実施形態は、技術的内容を具体化するためのものだけであり、権利範囲を制限したり限定したりするものではないことは言うまでもない。詳細な説明及び実施形態から、当該技術分野の専門家が容易に類推することができるものは、権利範囲に属すると解釈される。
【００３１】
本明細書で使用される「構成される」または「含む」というような用語は、明細書上に記載された多くの構成要素、または多くの段階を、必ずしもいずれも含むものであると解釈されるものではなく、そのうち一部構成要素または一部段階は、含まれないこともあり、あるいは追加的な構成要素または段階をさらに含んでもよいと解釈されなければならない。
【００３２】
また、本明細書で使用される「第１」または「第２」というように、序数を含む用語は、多様な構成要素についての説明に使用することができるが、前記構成要素は、前記用語によって限定されるものではない。前記用語は、１つの構成要素を他の構成要素から区別する目的のみに使用される。
【００３３】
本実施形態は、テクスチャ処理装置及びその方法に係るものであり、以下の実施形態が属する技術分野で当業者に周知されている事項については、詳細な説明を省略する。
【００３４】
図１は、一実施形態によるグラフィック処理装置を示した図面である。図１に図示された構成要素以外に、他の汎用的な構成要素がさらに含まれてもよいことは、関連技術分野で当業者であるならば、理解することができるであろう。
【００３５】
図１を参照すれば、グラフィック処理装置１００は、ラスタライザ（rasterizor）１１０、シェーダコア（shader  core）１２０、テクスチャ処理装置（texture  processor）１３０、ピクセル処理装置（pixel  processor）１４０、タイルバッファ（tile  buffer）１５０などを含んでよい。グラフィック処理装置１００は、バス（bus）３００を介して、外部のメモリ２００とデータを送受信することができる。
【００３６】
図１に図示されたグラフィック処理装置１００は、三次元グラフィックスを処理する装置であり、タイルに基づいたレンダリング（ＴＢＲ：tile  based  rendering）方式を使用することができる。言い替えれば、グラフィック処理装置１００は、１つのフレームに該当する三次元グラフィックスを生成するために、一定サイズに分割された複数個のタイルを、ラスタライザ１１０、シェーダコア１２０、ピクセル処理装置１４０を通過させ、処理結果をタイルバッファ１５０に保存することができる。グラフィック処理装置１００は、フレームを構成する全てのタイルに対して、ラスタライザ１１０、シェーダコア１２０及びピクセル処理装置１４０で構成されるチャネルを複数個利用して、並列処理することができる。グラフィック処理装置１００は、１つのフレームに該当する複数個のタイルが処理されれば、タイルバッファ１５０に保存された処理結果を、メモリ２００のフレームバッファ（図示せず）に伝送することができる。
【００３７】
ラスタライザ１１０は、幾何変換過程を経て、バーテックスシェーダ（vertex  shader）から生成されたプリミティブに対して、ラスタ化（rasterization）を行うことができる。
【００３８】
シェーダコア１２０は、ラスタライザ１１０からラスタ化されたプリミティブを伝達され、ピクセルシェーディングを行うことができる。シェーダコア１２０は、ラスタ化を経て生成されたプリミティブ（primitive）のフラグメントを含むタイルに対して、タイルを構成する全てのピクセルの色相を決定するピクセルシェーディングを行うことができる。シェーダコア１２０は、ピクセルシェーディング過程において、立体的であって臨場感ある三次元グラフィックスを生成するために、テクスチャを利用して生成されたピクセル値を使用することができる。
【００３９】
シェーダコア１２０は、ピクセルシェーダ（pixel  shader）を含んでもよい。また、シェーダコア１２０は、バーテックスシェーダをさらに含んだ形態であるか、あるいはバーテックスシェーダとピクセルシェーダとが統合された形態の統合シェーダでもある。シェーダコア１２０がバーテックスシェーダの機能を遂行することができる場合、オブジェクトを示すプリミティブを生成し、ラスタライザ１１０に伝達することができる。
【００４０】
シェーダコア１２０が、所望するピクセルに対応するピクセル値の伝達をテクスチャ処理装置１３０に要求すれば、テクスチャ処理装置１３０は、あらかじめ準備されたテクスチャを処理し、生成されたピクセル値を伝達することができる。テクスチャは、テクスチャ処理装置１３０の内部または外部の所定空間、またはグラフィック処理装置１００外部のメモリ２００に保存されている。テクスチャ処理装置１３０は、シェーダコア１２０において要求したピクセル値の生成に利用されるテクスチャが、テクスチャ処理装置１３０内部の所定空間にない場合、テクスチャ処理装置１３０外部の空間またはメモリ２００からテクスチャを持ってきて使用することができる。
【００４１】
ピクセル処理装置１４０は、１つのタイル内の同じ位置に対応するピクセルに対して、深さテストのような過程を経て、最終的に表示されるピクセル値を決定し、１つのタイルに該当する全てのピクセル値を決定することができる。
【００４２】
タイルバッファ１５０は、ピクセル処理装置１４０から伝達された１つのタイルに該当する全てのピクセル値を保存することができる。１つのフレームを構成する全てのタイルに対するグラフィック処理過程が完了すれば、タイルバッファ１５０に保存された処理結果が、メモリ２００のフレームバッファに伝達される。
【００４３】
図２は、グラフィック処理装置において、三次元グラフィックスを処理する過程について説明する図面である。
【００４４】
三次元グラフィックスを処理する過程は、大きく見て、幾何変換、ラスタ化、ピクセルシェーディングの３段階に分けることができ、以下、図２を参照し、さらに詳細な過程について説明する。図２を参照すれば、段階１１ないし段階１８を介して、三次元グラフィックスを処理する過程を示す。
【００４５】
段階１１は、バーテックスを生成する（generating  vertices）段階である。バーテックスは、三次元グラフィックスに含まれるオブジェクトを示すために生成される。
【００４６】
段階１２は、生成されたバーテックスをシェーディングする（vertex  shading）段階である。バーテックスシェーダは、段階１１で生成されたバーテックスの位置を指定することにより、バーテックスに対するシェーディングを行うことができる。
【００４７】
段階１３は、プリミティブを生成する（generating  primitives）段階である。プリミティブは、少なくとも１つのバーテックスを利用して形成される、点、線、多角形（polygon）などを意味する。一例として、プリミティブは、バーテックスを連結して形成された三角形として示すことができる。
【００４８】
段階１４は、プリミティブをラスタ化する（vertex  rasterization）する段階である。プリミティブのラスタ化は、プリミティブをフラグメントに分割することを意味する。フラグメントは、プリミティブに対してグラフィック処理を行うための基本単位でもある。プリミティブは、バーテックスに係る情報のみを含むので、ラスタ化段階において、バーテックスとバーテックスとの間のフラグメントを生成することにより、三次元グラフィックスに対するグラフィック処理を行うようにする。
【００４９】
段階１５は、ピクセルをシェーディングする（pixel  shading）段階を示す。ラスタ化によって生成された、プリミティブを構成するフラグメントは、タイルを構成するピクセルにもなる。当該分野において、フラグメント及びピクセルという用語は、場合によって混用して使用されもする。例えば、ピクセルシェーダは、フラグメントシェーダとも呼ばれる。一般的に、プリミティブを構成するグラフィック処理の基本単位をフラグメントと呼び、その後、ピクセルシェーディングからのグラフィック処理の基本単位をピクセルと呼ぶ。ピクセルシェーディングにおいては、ピクセルの色を決定することができる。
【００５０】
段階１６は、ピクセルの色を決定するためのテクスチャリング（texturing）段階を示す。テクスチャリングは、あらかじめ準備されたイメージであるテクスチャを利用して、ピクセルの色を決定する過程である。実世界の多様な色相とパターンの様子とを表現するために、それぞれのピクセルの色相を計算して決定することは、グラフィック処理に必要なデータ演算量と、グラフィック処理時間とを増大させるので、あらかじめ準備されたテクスチャを利用して、ピクセルの色相を決定するのである。例えば、オブジェクトの表面色相を、テクスチャという別途の二次元映像に保存し、オブジェクトの画面上の位置及び大きさなどによって、保存されたテクスチャを拡大したり縮小したりもし、多様な解像度を有するテクスチャを利用して、テクセル値を混合したりすることにより、ピクセルの色相を決定することができる。
【００５１】
さらに具体的には、ピクセルシェーディング過程において、さらに迅速な三次元グラフィックス処理のために、あらかじめ準備されたテクスチャを利用して生成されたピクセル値を使用することができる。このとき、オブジェクトの大きさに適応的に対応するように、互いに異なる解像度を有する複数個のテクスチャをあらかじめ準備しておき、それらを組み合わせてピクセル値を生成することもできる。このとき、互いに異なる解像度を有する、あらかじめ準備されたテクスチャをミップマップ（mipmap）という。例えば、あらかじめ準備された２つのミップマップの中間解像度を有するオブジェクトのピクセル値を生成するために、２つのミップマップからオブジェクトに対応する位置のテクセル（texel）値を抽出し、それらをフィルタリングすることにより、オブジェクトを構成するピクセル値を生成することができる。
【００５２】
段階１７は、テスト及びミキシング（testing  and  mixing）段階を示す。タイル内の同じ位置に対応するピクセルに対して、深さテストのような過程を経て、最終的に表示されるピクセル値を決定し、１つのタイルに該当するピクセル値を決定することができる。このような過程を経て生成された複数個のタイルをミキシングし、１つのフレームに該当する三次元グラフィックスを生成することができる。
【００５３】
段階１８は、段階１１ないし段階１７を介して生成されたフレームをフレームバッファ（frame  buffer）に保存し、フレームバッファに保存されたフレームをディスプレイ装置を介して表示する段階を示す。
【００５４】
図３は、一実施形態によるテクスチャ処理装置の構成及び動作について説明するための図面である。図３を参照すれば、テクスチャ処理装置１３０は、制御部１３１、テクスチャキャッシュ１３３、フォーマット変換部１３５、テクスチャフィルタ１３７を含んでもよい。テクスチャ処理装置１３０は、シェーダコア１２０とメモリ２００との間で、シェーダコア１２０から要求されたテクスチャを処理し、シェーダコア１２０に伝送することができる。テクスチャ処理装置１３０は、シェーダコア１２０が処理するピクセルに対応するテクスチャ座標を受信することにより、テクスチャ要求を受信することができる。テクスチャ処理装置１３０は、テクスチャキャッシュ１３３に保存されていないテクスチャをメモリ２００から持ってくることができる。
【００５５】
制御部１３１は、テクスチャ処理装置１３０を制御するために必要な演算を行うことができる。制御部１３１は、テクスチャキャッシュ１３３、フォーマット変換部１３５、テクスチャフィルタ１３７を制御し、テクスチャ処理装置１３０の全般的な制御を担当することができる。
【００５６】
制御部１３１は、テクスチャ処理装置１３０に要求されたテクスチャに対応するテクスチャアドレスを決定することができる。言い替えれば、制御部１３１は、シェーダコア１２０から受信したテクスチャ座標を、それに対応するテクスチャが保存されたテクスチャキャッシュ１３３のアドレスに変換することができる。制御部１３１は、テクスチャアドレスに対応するテクスチャを、テクスチャキャッシュ１３３から読み取ることができる。
【００５７】
テクスチャキャッシュ１３３は、テクスチャを保存することができる。テクスチャキャッシュ１３３は、テクスチャ処理装置１３０とメモリ２００とのデータ伝送によるグラフィック処理遅延時間を最小化するために、メモリ２００から受信した一部テクスチャを保存することができる。
【００５８】
テクスチャキャッシュ１３３は、テクスチャ処理装置１３０と別途のモジュールとして存在することもできる。例えば、テクスチャキャッシュを別途のモジュールで具現し、テクスチャ処理装置１３０とメモリ２００との間に位置するようにすることもできる。
【００５９】
フォーマット変換部１３５は、グラフィック処理装置１００で要求されるテクスチャの精度に基づいて、テクスチャキャッシュ１３３から読み取られたテクスチャのフォーマットを変換することができる。以下、図４を参照し、テクスチャのフォーマットについてまず説明する。
【００６０】
図４は、テクスチャのフォーマットについて説明するための図面である。
【００６１】
テクスチャは、多種のフォーマットを使用することができる。例えば、テクスチャは、Integer  ＲＧＢＡ  ８bit、Integer  ＲＧＢＡ  １６bit、Integer  ＲＧＢＡ  ３２bit、Floating  ＲＧＢＡ  １６bit、Floating  ＲＧＢＡ  ３２bitのようなフォーマットを基本に使用したり、それらの多様な組み合わせを使用したりすることができる。
【００６２】
図４に図示されているように、テクスチャキャッシュ１３３に保存されたテクスチャは、多種のフォーマットを有することができる。例えば、Integer  ＲＧＢＡ  ８bitのフォーマットは、Ｒ，Ｇ，Ｂ，Ａ各チャネル（channel）が８bitのinteger値を有することができる。Floating  ＲＧＢＡ  ３２bitのフォーマットは、Ｒ，Ｇ，Ｂ，Ａ各チャネルが３２bitのFloating値を有することができる。Floating  ＲＧＢＡ  ３２bitのフォーマットが、Integer  ＲＧＢＡ  ８bitのフォーマットより高い精度を有するグラフィック処理が可能であるが、電力消耗が多く、グラフィック処理に長時間が必要となる。従って、テクスチャフォーマットの種類は、グラフィック処理装置１００のレンダリング品質またはレンダリング速度のような性能に影響を与えてしまう。テクスチャフォーマットは、テクスチャ処理装置１３０のテクスチャフィルタ１３７の動作と密接な関連があるが、それについては、テクスチャフィルタ１３７に係る説明において後述する。
【００６３】
再び図３を参照すれば、フォーマット変換部１３５は、グラフィック処理装置１００で要求されるテクスチャの精度に基づいて、テクスチャのフォーマットを決定することができる。
【００６４】
フォーマット変換部１３５は、テクスチャフィルタリングのモード、及びグラフィック処理装置１００で利用されるＡＰＩ（application  programming  interface）の種類に基づいて、グラフィック処理装置１００で要求されるテクスチャの精度を判断することができる。また、フォーマット変換部１３５は、テクスチャフィルタリングのモード、グラフィック処理装置１００で利用されるＡＰＩ種類、グラフィック処理装置１００に要求されるレンダリングレベルのうち少なくとも一つまたは２以上の組み合わせに基づいて、グラフィック処理装置１００で要求されるテクスチャの精度を判断することができる。テクスチャフィルタリングのモード、グラフィック処理装置１００で利用されるＡＰＩ種類、グラフィック処理装置１００に要求されるレンダリングレベルのような情報は、シェーダコア１２０から受信されたテクスチャ要求コマンド、またはテクスチャ処理装置１３０内のＧ−state（Graphic  state）メモリ（図示せず）から抽出されたgraphic  state情報から獲得することができる。フォーマット変換部１３５は、判断結果により、テクスチャのフォーマットを変換するか否かを決定することができる。
【００６５】
例えば、フォーマット変換部１３５は、テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードに該当せず、ＡＰＩ種類が、高精度が要求される既設定の種類に該当しない場合、テクスチャのフォーマットの変換を決定することができる。フォーマット変換部１３５が、グラフィック処理装置１００に要求されるレンダリングレベルをさらに考慮する場合、テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードに該当せず、ＡＰＩ種類が、高精度が要求される既設定の種類に該当せず、グラフィック処理装置１００に要求されたレンダリングレベルが所定の基準以下である場合、テクスチャのフォーマットを変換することを決定することができる。
【００６６】
このとき、フォーマット維持が要求されるテクスチャフィルタリングのモードにおいて、ポイントフィルタリングモードがあらかじめ設定されている。高精度が要求されるＡＰＩ種類に、Open  ＧＬ／ＣＬまたはＨＳＡ（heterogeneous  system  architecture）などがあらかじめ設定されている。
【００６７】
一方、グラフィック処理装置１００に要求されるレンダリングレベルは、グラフィック処理装置１００に連結されたアプリケーションを介して、ユーザから決定される。例えば、ユーザが、グラフィック処理装置１００が含まれる端末機（図示せず）を使用するとき、端末機にインストールされたアプリケーションを介して、レンダリングレベルを調整することができる。ユーザは、自分の好みにより、特定品質のレンダリングレベルを設定したり、利用するアプリケーション種類によって、レンダリングレベルを異なって設定したりし、ユーザが設定したレンダリングレベルをグラフィック処理装置１００に要求することができる。また、グラフィック処理装置１００に要求されるレンダリングレベルは、グラフィック処理装置１００のハードウェアリソースに基づいて、グラフィック処理装置１００自体が決定することもできる。例えば、同時に数多くのスレッドを処理しなければならない状況であるが、それを処理するためのハードウェアリソースが不足したり、残余バッテリ量が不足したりする場合、グラフィック処理装置１００は、グラフィック処理装置１００自体に要求されるレンダリングレベルを所定基準以下に低くすることができる。
【００６８】
反対に、フォーマット変換部１３５は、フィルタリングモードがポイントフィルタリングのような、フォーマット維持が要求されるモードである場合、テクスチャのフォーマットを維持することを決定することができる。また、フォーマット変換部１３５は、グラフィック処理装置１００で利用されるＡＰＩが、Open  ＧＬ／ＣＬまたはＨＳＡのような高精度を要求するＡＰＩ種類に該当する場合、テクスチャのフォーマットを維持することを決定することができる。フォーマット変換部１３５は、テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードに該当せず、ＡＰＩ種類が、高精度が要求される既設定の種類に該当しない場合であるとしても、グラフィック処理装置１００に要求されるレンダリングレベルが所定の基準を超える場合、テクスチャのフォーマット維持を決定することができる。
【００６９】
フォーマット変換部１３５は、テクスチャキャッシュ１３３から読み取られたテクスチャを、フォーマット変換部１３５で決定したテクスチャのフォーマットとして出力することができる。
【００７０】
テクスチャフィルタ１３７は、テクスチャに含まれるテクセル値を利用して、テクスチャフィルタリングを行うことができる。テクセル値のフィルタリングは、テクセル値を混合（blending）し、ピクセルに対応するカラー値を求めることを意味する。例えば、テクスチャ処理装置１３０に受信された、テクスチャ座標が含まれるテクスチャ空間上の一部領域に含まれたテクセル値の平均を求めることにより、要求されたテクスチャを求めることができる。テクスチャフィルタ１３７において、テクスチャフィルタリングが行われた結果値は、シェーダコア１２０に伝送される。テクスチャフィルタ１３７で行うテクスチャフィルタリングのモードは、ポイントフィルタリング（point  filtering）、バイリニア（bi-linear）フィルタリング、トリリニア（tri-linear）フィルタリングなど多様なモードのうちいずれかでもある。
【００７１】
ポイントフィルタリングは、レンダリングされるオブジェクトに被せられるテクスチャを決定するとき、テクスチャ座標を基準に周辺４個のテクセルを獲得し、最も近くの位置のテクセルを出力するモードである。バイリニアフィルタリングは、レンダリングされるオブジェクトに被せられるテクスチャを決定するとき、テクスチャ座標を基準に周辺４個のテクセルを獲得し、それぞれ２個のテクセルをインターポレーション（interpolation）し、それぞれのインターポレーション結果をさらにインターポレーションし、その結果を出力するモードである。トリリニアフィルタリングは、テクスチャ座標を基準に、２個のミップマップレベルにおいてそれぞれ４個のテクセルを有し、各ミップマップにおいてバイリニアフィルタリングを行い、２個のミップマップでの結果値それぞれに再びバイリニアフィルタリングを行い、その結果を出力するモードである。
【００７２】
テクスチャフィルタ１３７は、フォーマット変換部１３５で出力されたテクスチャのフォーマットにより、テクスチャフィルタリングを行うことができる。フォーマット変換部１３５においてテクスチャのフォーマットが変換された場合、テクスチャフィルタ１３７は、フォーマットが変換されたテクスチャを利用して、テクスチャフィルタリングを行うことができる。このとき、テクスチャフィルタ１３７は、変換されたフォーマットに対応するフィルタリングユニットを駆動し、テクスチャフィルタリングを行うことができる。それと関連して、図５及び図６を参照し、以下に詳細に説明する。
【００７３】
図５は、テクスチャフィルタの構成及び動作について説明するための図面である。
【００７４】
先に、図４においてテクスチャは、Integer  ＲＧＢＡ  ８bit、Integer  ＲＧＢＡ  １６bit、Integer  ＲＧＢＡ  ３２bit、Floating  ＲＧＢＡ  １６bit、Floating  ＲＧＢＡ  ３２bitのようなフォーマットを基本として使用するか、あるいはそれらの多様な組み合わせを使用することができることについて説明した。
【００７５】
テクスチャフィルタ１３７は、かような多様なフォーマットのテクスチャに対して、テクスチャフィルタリングを行うために、各フォーマットに対応するフィルタリングユニットが各コンポーネント別に存在することができる。
【００７６】
図５を参照すれば、テクスチャフィルタリングのモードが、バイリニアフィルタリング（bi-linear  filtering）であり、テクスチャのフォーマットそれぞれに対応するフィルタリングユニットが、各コンポーネント別に存在することが分かる。例えば、Integer  ＲＧＢＡ  ８bitのフォーマットの場合、８bit  integerのバイリニアフィルタリングユニットが４個あることが分かる。Floating  ＲＧＢＡ  １６bitのフォーマットの場合、１６bit  floatingのバイリニアフィルタリングユニットが４個あることが分かる。また、バイリニアフィルタリングの場合、各コンポーネントに対応するフィルタリングユニットが３個のインターポレータ（interpolator）によって構成されていることが分かる。
【００７７】
図６は、テクスチャのフォーマット変換によるテクスチャフィルタの構成及び動作について説明するための図面である。
【００７８】
テクスチャフィルタ１３７は、フォーマット変換部１３５で出力されたテクスチャのフォーマットに対応するフィルタリングユニットを駆動し、テクスチャフィルタリングを行うことができる。フォーマット変換部１３５において、テクスチャのフォーマットが変換された場合、テクスチャフィルタ１３７は、変換されたフォーマットに対応するフィルタリングユニットを駆動し、テクスチャフィルタリングを行うことができる。
【００７９】
高精度を有するテクスチャフォーマットが、それより低い精度を有するテクスチャフォーマットに変換された場合、テクスチャフィルタ１３７は、低い精度を有するテクスチャフォーマットに対応するフィルタリングユニットを駆動し、テクスチャフィルタリングを行うことができる。
【００８０】
例えば、テクスチャのフォーマットがInteger  ＲＧＢＡ  ３２bitからInteger  ＲＧＢＡ  １６bitに変換された場合、テクスチャフィルタ１３７は、Integer  ＲＧＢＡ  １６bitに対応するフィルタリングユニットを駆動し、テクスチャフィルタリングを行うことができる。同様に、テクスチャのフォーマットが、Floating  ＲＧＢＡ  ３２bitからFloating  ＲＧＢＡ  １６bitに変換された場合、テクスチャフィルタ１３７は、Floating  ＲＧＢＡ  １６bitに対応するフィルタリングユニットを駆動し、テクスチャフィルタリングを行うことができる。
【００８１】
その結果、テクスチャフィルタ１３７は、テクスチャのフォーマット変換なしに、テクスチャフィルタリングを行ったときより、低い消費電力及び少ないハードウェアリソースを使用して、テクスチャフィルタリングを行うことができる。
【００８２】
一方、フォーマット変換部１３５が、テクスチャのフォーマットがInteger  ＲＧＢＡ  ３２bitと、Floating  ＲＧＢＡ  ３２bitとである場合、常にInteger  ＲＧＢＡ  １６bitとFloating  ＲＧＢＡ  １６bitとに変換する場合、テクスチャフィルタ１３７に、Integer  ＲＧＢＡ  ３２bitとFloating  ＲＧＢＡ  ３２bitとに対応するフィルタリングユニットを除去することにより、テクスチャフィルタ１３７がテクスチャ処理装置１３０で占める面積を減らすこともできる。
【００８３】
図７は、他の実施形態によるテクスチャ処理装置の構成を示したブロック図である。図７を参照すれば、テクスチャ処理装置２３０は、制御部１３１、テクスチャキャッシュ１３３、デコンプレッサ１３４、フォーマット変換部１３５、テクスチャフィルタ１３７を含んでもよい。図３の一実施形態によるテクスチャ処理装置１３０の構成と比較すれば、図７のテクスチャ処理装置２３０は、テクスチャキャッシュ１３３の出力をデコンプレッサ１３４の入力にし、デコンプレッサ１３４の出力をフォーマット変換部１３５の入力にするという点で違いがある。図３で説明した内容と同一内容については、説明を省略する。
【００８４】
テクスチャは、ハードウェアリソースの要求、及び通信環境の要求を満足させるために、三次元グラフィックス処理過程で圧縮された形態で保存及び伝送される。一般的な圧縮方式は、テクスチャを構成するテクセルに対して、テクセルブロックという所定のブロック単位のテクセルに対して行われる。多数のテクスチャ圧縮標準は、圧縮するテクセルブロックに対して、代表値（representative  value）を決定し、各テクセル値を表現することができる代表値に適用する加重値（weight）を求め、それらを保存する方式を使用する。
【００８５】
デコンプレッサ１３４は、テクスチャキャッシュ１３３から読み取られた、圧縮された形態のテクスチャを受信する場合、圧縮解除を行うことができる。テクスチャは、テクスチャを構成するテクセルが、所定のブロック単位で圧縮されるので、デコンプレッサ１３４は、圧縮テクセルブロックを受信することができる。デコンプレッサ１３４は、圧縮テクセルブロックから圧縮過程に利用された圧縮パラメータを抽出し、テクセル値を生成するために、圧縮パラメータに基づいたインターポレーション（ｉｎｔｅｒｐｏｌａｔｉｏｎ）を行うことができる。かような過程により、圧縮解除されたテクスチャが生成される。デコンプレッサ１３４は、圧縮解除されたテクスチャを、フォーマット変換部１３５に伝送することができる。
【００８６】
フォーマット変換部１３５は、グラフィック処理装置１００で要求されるテクスチャの精度に基づいて、圧縮解除されたテクスチャのフォーマットを変換することができる。
【００８７】
図８は、さらに他の実施形態によるテクスチャ処理装置の構成を示したブロック図である。図８を参照すれば、テクスチャ処理装置３３０は、制御部１３１、テクスチャキャッシュ１３３、フォーマット変換部１３５、デコンプレッサ１３６、テクスチャフィルタ１３７を含んでもよい。図３のテクスチャ処理装置１３０及び図７のテクスチャ処理装置２３０の構成と比較すれば、図８のテクスチャ処理装置３３０は、テクスチャキャッシュ１３３の出力を、フォーマット変換部１３５の入力にし、フォーマット変換部１３５の出力を、デコンプレッサ１３６の入力にし、デコンプレッサ１３６の出力を、テクスチャフィルタ１３７の入力にするという点で違いがある。図３のテクスチャ処理装置１３０及び図７のテクスチャ処理装置２３０で説明した内容と同一内容については、説明を省略する。
【００８８】
デコンプレッサ１３６は、フォーマット変換部１３５から出力されたテクスチャを受信する場合、圧縮解除を行うことができる。フォーマット変換部１３５でテクスチャのフォーマットが変換された場合、デコンプレッサ１３６は、フォーマットが変換されたテクスチャの圧縮テクセルブロックを受信することができる。デコンプレッサ１３６は、フォーマットが変換されたテクスチャを圧縮解除することができる。デコンプレッサ１３６は、圧縮解除されたテクスチャをテクスチャフィルタ１３７に伝送することができる。
【００８９】
テクスチャフィルタ１３７は、圧縮解除されたテクスチャを利用して、テクスチャフィルタリングを行うことができる。
【００９０】
フォーマット変換部１３５が、テクスチャキャッシュ１３３の出力端に位置し、テクスチャのフォーマットを変換しなければならない状況である場合、制御部１３１のテクスチャ要求に対する応答として、テクスチャキャッシュ１３３から、フォーマットが変換されたテクスチャが出力されるというような結果を期待することができる。
【００９１】
一方、テクスチャキャッシュ１３３は、テクスチャ処理装置３３０と空間的に分離された、独立した別途のモジュールとして具現することができる。特に、フォーマット変換部１３５を、テクスチャキャッシュ１３３の出力端に置き、テクスチャ処理装置３３０とメモリ２００との間に、テクスチャキャッシュ１３３とフォーマット変換部１３５とを位置させる場合、フォーマット変換部１３５のテクスチャフォーマット変換により、テクスチャ処理装置３３０とテクスチャキャッシュ１３３とのトラフィックを減らすことができる。
【００９２】
例えば、制御部１３１が、テクスチャキャッシュ１３３に、Integer  ＲＧＢＡ  ３２bitのフォーマットを有するテクスチャを要求した場合、テクスチャキャッシュ１３３の出力端にあるフォーマット変換部１３５が、Integer  ＲＧＢＡ  １６bitのフォーマットに変換して出力するので、テクスチャ処理装置３３０内の他の構成と、テクスチャキャッシュ１３３とのトラフィックを減らすことができる。
【００９３】
図９は、一実施形態によるテクスチャ処理方法について説明するためのフローチャートである。
【００９４】
９１０段階において、テクスチャ処理装置１３０，２３０，３３０は、要求されたテクスチャに対応するテクスチャアドレスを決定することができる。
【００９５】
９２０段階において、テクスチャ処理装置１３０，２３０，３３０は、テクスチャアドレスに対応するテクスチャを、テクスチャキャッシュ１３３から読み取ることができる。
【００９６】
９３０段階において、テクスチャ処理装置１３０，２３０，３３０は、グラフィック処理装置１００で要求されるテクスチャの精度に基づいて、読み取られたテクスチャのフォーマットを変換することができる。以下、図１０を参照して詳細に説明する。
【００９７】
図１０は、一実施形態によるテクスチャ処理方法において、テクスチャのフォーマットを変換する段階に係る詳細フローチャートである。
【００９８】
１０１０段階において、テクスチャ処理装置１３０，２３０，３３０は、グラフィック処理装置１００で要求されるテクスチャの精度に基づいて、テクスチャのフォーマットを決定することができる。以下、図１１及び図１２を参照し、テクスチャのフォーマットを決定する段階について詳細に説明する。
【００９９】
図１１は、一実施形態によるテクスチャ処理方法において、テクスチャのフォーマットを変換する段階のうちテクスチャのフォーマットを決定する段階の一実施形態に係る詳細フローチャートである。
【０１００】
１１１０段階において、テクスチャ処理装置１３０，２３０，３３０は、テクスチャフィルタリングのモードと、グラフィック処理装置１００で利用されるＡＰＩ種類とを受信することができる。テクスチャフィルタリングのモード、グラフィック処理装置１００で利用されるＡＰＩ種類のような情報は、テクスチャ要求コマンド、またはテクスチャ処理装置１３０，２３０，３３０内のＧ−state（Graphic  state）メモリ（図示せず）から抽出されたGraphic  state情報から獲得することができる。
【０１０１】
１１２０段階において、テクスチャ処理装置１３０，２３０，３３０は、テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードであるか否かを確認することができる。このとき、フォーマット維持が要求されるテクスチャフィルタリングのモードとして、ポイントフィルタリングモードがあらかじめ設定されている。テクスチャ処理装置１３０は、テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードに該当しない場合、１１３０段階に進むことができる。一方、テクスチャ処理装置１３０，２３０，３３０は、テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードに該当する場合、１１４０段階に進むことができる。
【０１０２】
１１３０段階において、テクスチャ処理装置１３０，２３０，３３０は、グラフィック処理装置１００で利用されるＡＰＩ種類、が高精度が要求される既設定の種類に該当する否かを確認することができる。このとき、高精度が要求されるＡＰＩ種類として、Open  ＧＬ／ＣＬまたはＨＳＡなどがあらかじめ設定されている。テクスチャ処理装置１３０，２３０，３３０は、グラフィック処理装置１００で利用されるＡＰＩ種類が、高精度が要求される既設定の種類に該当すれば、１１４０段階に進むことができる。一方、テクスチャ処理装置１３０，２３０，３３０は、グラフィック処理装置１００で利用されるＡＰＩ種類が、高精度が要求される既設定の種類に該当しない場合、１１５０段階に進むことができる。
【０１０３】
１１４０段階において、テクスチャ処理装置１３０，２３０，３３０は、テクスチャフィルタリングモードが、フォーマット維持が要求される既設定のモードであるか、グラフィック処理装置１００で利用されるＡＰＩ種類が、高精度が要求されるＡＰＩ種類に該当するので、テクスチャのフォーマットを維持することを決定することができる。
１１５０段階において、テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードに該当せず、ＡＰＩ種類が、高精度が要求される既設定の種類に該当しないので、テクスチャ処理装置１３０，２３０，３３０は、テクスチャのフォーマット変換を決定することができる。
【０１０４】
図１２は、一実施形態によるテクスチャ処理方法において、テクスチャのフォーマットを変換する段階のうちテクスチャのフォーマットを決定する段階の他の実施形態に係る詳細フローチャートである。
【０１０５】
１２１０段階において、テクスチャ処理装置１３０，２３０，３３０は、テクスチャフィルタリングのモード、グラフィック処理装置１００で利用されるＡＰＩ種類、及びグラフィック処理装置１００に要求されるレンダリングレベルを受信することができる。テクスチャフィルタリングのモード、グラフィック処理装置１００で利用されるＡＰＩ種類、グラフィック処理装置１００に要求されるレンダリングレベルのような情報は、テクスチャ要求コマンド、またはテクスチャ処理装置１３０，２３０，３３０内のＧ−state（Graphic  state）メモリ（図示せず）から抽出されたGraphic  state情報から獲得することができる。
【０１０６】
１２２０段階において、テクスチャ処理装置１３０，２３０，３３０は、テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードであるか否かを確認することができる。このとき、フォーマット維持が要求されるテクスチャフィルタリングのモードとして、ポイントフィルタリングモードがあらかじめ設定されている。テクスチャ処理装置１３０，２３０，３３０は、テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードに該当しない場合、１２３０段階に進むことができる。一方、テクスチャ処理装置１３０，２３０，３３０は、テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードに該当する場合、１２５０段階に進むことができる。
【０１０７】
１２３０段階において、テクスチャ処理装置１３０，２３０，３３０は、グラフィック処理装置１００で利用されるＡＰＩ種類が、高精度が要求される既設定の種類に該当する否かを確認することができる。このとき、高精度が要求されるＡＰＩ種類として、Open  ＧＬ／ＣＬまたはＨＳＡなどがあらかじめ設定されている。テクスチャ処理装置１３０は、グラフィック処理装置１００で利用されるＡＰＩ種類が、高精度が要求される既設定の種類に該当すれば、１２５０段階に進むことができる。一方、テクスチャ処理装置１３０，２３０，３３０は、グラフィック処理装置１００で利用されるＡＰＩ種類が、高精度が要求される既設定の種類に該当しない場合、１２４０段階に進むことができる。
【０１０８】
１２４０段階において、テクスチャ処理装置１３０，２３０，３３０は、グラフィック処理装置１００に要求されるレンダリングレベルが、所定の基準以下であるか否かを確認することができる。このとき、グラフィック処理装置１００に要求されるレンダリングレベルは、グラフィック処理装置１００に連結されたアプリケーションを介して、ユーザから決定されるか、グラフィック処理装置１００のハードウェアリソースに基づいて、グラフィック処理装置１００で決定される。
【０１０９】
１２５０段階において、テクスチャ処理装置１３０，２３０，３３０は、テクスチャフィルタリングモードが、フォーマット維持が要求される既設定のモードであるか、グラフィック処理装置１００で利用されるＡＰＩ種類が、高精度が要求されるＡＰＩ種類に該当するので、テクスチャのフォーマット維持を決定することができる。一方、テクスチャ処理装置１３０，２３０，３３０は、グラフィック処理装置１００に要求されたレンダリングレベルが、所定の基準を超える場合、テクスチャのフォーマット維持を決定することができる。
【０１１０】
１２６０段階において、テクスチャ処理装置１３０は、テクスチャフィルタリングのモードが、フォーマット維持が要求される既設定のモードに該当せず、ＡＰＩ種類が、高精度が要求される既設定の種類に該当せず、グラフィック処理装置１００に要求されるレンダリングレベルが、所定の基準以下であるので、テクスチャ処理装置１３０，２３０，３３０は、テクスチャのフォーマット変換を決定することができる。
【０１１１】
再び図１０を参照すれば、１０２０段階において、テクスチャ処理装置１３０は、テクスチャキャッシュ１３３から読み取られたテクスチャを、１０１０段階で決定されたテクスチャのフォーマットとして出力することができる。
【０１１２】
一方、テクスチャ処理装置２３０またはテクスチャ処理装置３３０において、フォーマット変換部１３５の位置が、テクスチャフィルタ１３７の入力端であるか、テクスチャキャッシュ１３３の出力端であるかにより、テクスチャのフォーマットを変換する段階について、図１３及び図１４の詳細フローチャートに分けて説明することができる。
【０１１３】
図１３は、他の実施形態によるテクスチャ処理方法において、テクスチャのフォーマットを変換する段階に係る詳細フローチャートである。図１３は、テクスチャキャッシュ１３３の出力端に位置したデコンプレッサ１３４と、テクスチャフィルタ１３７の入力端にフォーマット変換部１３５とを位置させる場合、テクスチャのフォーマットを変換する過程を示したものである。
【０１１４】
１３１０段階において、テクスチャ処理装置２３０は、テクスチャキャッシュ１３３から読み取られた、圧縮された形態のテクスチャを圧縮解除することができる。
【０１１５】
１３２０段階において、テクスチャ処理装置２３０は、グラフィック処理装置１００で要求されるテクスチャの精度に基づいて、圧縮解除されたテクスチャのフォーマットを決定することができる。
【０１１６】
１３３０段階において、テクスチャ処理装置２３０は、決定されたテクスチャのフォーマットで圧縮解除されたテクスチャを出力することができる。
【０１１７】
図１４は、さらに他の実施形態によるテクスチャ処理方法において、テクスチャのフォーマットを変換する段階に係る詳細フローチャートである。図１４は、フォーマット変換部１３５をテクスチャキャッシュ１３３の出力端に置き、テクスチャ処理装置３３０とメモリ２００との間にテクスチャキャッシュ１３３とフォーマット変換部１３５とを位置させる場合、テクスチャのフォーマットを変換する過程を示したものである。
【０１１８】
１４１０段階において、テクスチャ処理装置３３０は、グラフィック処理装置１００で要求されるテクスチャの精度に基づいて、テクスチャのフォーマットを決定することができる。
【０１１９】
１４２０段階において、テクスチャ処理装置３３０は、決定されたテクスチャのフォーマットでテクスチャを出力することができる。テクスチャフォーマット変換により、テクスチャ処理装置３３０とテクスチャキャッシュ１３３とのトラフィックを減らすことができる。
【０１２０】
１４３０段階において、テクスチャ処理装置３３０は、決定されたテクスチャのフォーマットで出力された、圧縮された形態のテクスチャを圧縮解除することができる。
【０１２１】
再び図９を参照すれば、９４０段階において、テクスチャ処理装置１３０，２３０，３３０は、フォーマットが変換されたテクスチャを利用して、テクスチャフィルタリングを行うことができる。一方、テクスチャのフォーマットが変換されていなければ、フォーマットが維持されたテクスチャを利用して、テクスチャフィルタリングを行うこともできる。
【０１２２】
なお、前述のテクスチャ処理方法は、コンピュータで実行されるプログラムによって作成可能であり、コンピュータで読み取り可能な記録媒体を利用して、かようなプログラムを動作させる汎用デジタルコンピュータを用いて具現されるのである。かようなコンピュータで読み取り可能な記録媒体は、ＲＯＭ（read  only  memory）、ＲＡＭ（random  access  memory）、フラッシュメモリ、ＣＤ（compact  disc）−ＲＯＭｓ、ＣＤ−Ｒｓ、ＣＤ＋Ｒｓ、ＣＤ−ＲＷｓ、ＣＤ＋ＲＷｓ、ＤＶＤ−ＲＯＭｓ、ＤＶＤ−Ｒｓ、ＤＶＤ＋Ｒｓ、ＤＶＤ−ＲＷｓ、ＤＶＤ＋ＲＷｓ、ＤＶＤ−ＲＡＭｓ、ＢＤ−ＲＯＭｓ、ＢＤ−Ｒｓ、ＢＤ−ＲＬＴＨｓ、ＢＤ−ＲＥｓ、マグネチックテープ、フロッピー（登録商標）ディスク、光磁気データ保存装置、光学データ保存装置、ハードディスク、ソリッドステートディスク（ＳＳＤ）、及び命令語またはソフトウェア・関連データ・データファイル・データ構造を保存することができ、プロセッサやコンピュータが命令語を実行することができるように、プロセッサやコンピュータに、命令語またはソフトウェア・関連データ・データファイル・データ構造を提供することができるいかなる装置でもよい。
【０１２３】
以上、実施形態を中心に説明した。開示された実施形態が属する技術分野における当業者であるならば、開示された実施形態が、本質的な特性から逸脱しない範囲で変形された形態において具現されることを理解することができるであろう。従って、開示された実施形態は、限定的な観点ではなく、説明的な観点から考慮されなければならない。発明の範囲は、前述の実施形態の説明ではなく、特許請求の範囲に示されており、それと同等な範囲内にある全ての差異は、発明の範囲に含まれるものであると解釈されなければならないであろう。
【産業上の利用可能性】
【０１２４】
本発明のテクスチャ処理装置及びその方法は、例えば、グラフィックス関連の技術分野に効果的に適用可能である。
【符号の説明】
【０１２５】
１００    グラフィック処理装置
１１０    ラスタライザ
１２０    シェーダコア
１３０，２３０，３３０    テクスチャ処理装置
１３１    制御部
１３３    テクスチャキャッシュ
１３４，１３６    デコンプレッサ
１３５    フォーマット変換部
１３７    テクスチャフィルタ
１４０    ピクセル処理装置
１５０    タイルバッファ
２００    メモリ
３００    バス
【図１】
2017033565.tif 000003
【図６】
2017033565.tif 000004
【図９】
2017033565.tif 000005
【図２】
2017033565.tif 000006
【図３】
2017033565.tif 000007
【図４】
2017033565.tif 000008
【図５】
2017033565.tif 000009
【図７】
2017033565.tif 000010
【図８】
2017033565.tif 000011
【図１０】
2017033565.tif 000012
【図１１】
2017033565.tif 000013
【図１２】
2017033565.tif 000014
【図１３】
2017033565.tif 000015
【図１４】
2017033565.tif 000016