(57)【特許請求の範囲】
【請求項１】
テクスチャを構成するテクセルを所定ブロック単位に分けたテクセルブロックを受信する段階と、
前記テクセルブロックに係わるブロックパターンを決定する段階であって、前記ブロックパターンは、前記テクセルブロックを構成するテクセルを、加重値またはインデックスを計算する第１テクセルと、前記加重値またはインデックスを計算しない第２テクセルとのうちいずれか一つに分類するためのパターンであり、
複数のブロックパターンそれぞれに対して、前記第１テクセルに係わるテクセル値と、前記第２テクセルに係わるテクセル値との差値を計算する段階と、
前記複数のブロックパターンのうち、計算された差値が最小であるブロックパターンを、前記テクセルブロックに係わるブロックパターンとして決定する段階と、を含む段階と、
前記ブロックパターンに基づいて、前記テクセルブロックを圧縮する段階と、を含むテクスチャ圧縮方法。
【請求項２】
前記テクセルブロックを圧縮する段階は、
前記テクセルブロックを構成するテクセルに係わる少なくとも１つの代表値を決定する段階と、
前記少なくとも１つの代表値に基づいて、前記第１テクセルに係わる加重値またはインデックスを計算する段階と、を含むことを特徴とする請求項１に記載のテクスチャ圧縮方法。
【請求項３】
前記テクセルブロックを圧縮する段階は、
前記ブロックパターン、前記少なくとも１つの代表値、及び前記第１テクセルに係わる加重値またはインデックスを含む圧縮データを生成する段階を含むことを特徴とする請求項２に記載のテクスチャ圧縮方法。
【請求項４】
前記テクセルブロックを圧縮する段階は、
前記テクセルのうち第２テクセルに係わる加重値またはインデックスに対応するデータビットを、前記少なくとも１つの代表値を示すデータビット、前記第１テクセルに係わる加重値またはインデックスを示すデータビット、及び前記ブロックパターンを示すデータビットのうち少なくとも一つに追加して割り当てる段階をさらに含むことを特徴とする請求項３に記載のテクスチャ圧縮方法。
【請求項５】
前記テクセルブロックに含まれるテクセルは、対称性を有することを特徴とする請求項１乃至４のいずれか一項に記載のテクスチャ圧縮方法。
【請求項６】
請求項１乃至５のいずれか一項に記載の方法をコンピュータに実行させるコンピュータプログラム。
【請求項７】
テクスチャを構成するテクセルを所定ブロック単位で圧縮した圧縮データを受信する段階と、
前記圧縮データに含まれたブロックパターンを抽出する段階であって、前記ブロックパターンは、テクセルブロックを構成するテクセルを、加重値またはインデックスを計算された第１テクセルと、前記加重値またはインデックスを計算されなかった第２テクセルとのうちいずれか一つに分類するためのパターンであり、前記ブロックパターンは、前記第１テクセルに係わるテクセル値と、前記第２テクセルに係わるテクセル値との差値が最小であるブロックパターンである、段階と、
前記ブロックパターンに基づいて、前記圧縮データを圧縮解除し、前記テクセルブロックを構成するテクセルを獲得する段階を含むテクスチャ処理方法。
【請求項８】
前記テクセルを獲得する段階は、
前記圧縮データに基づいて、前記テクセルブロックを構成するテクセルに係わる少なくとも１つの代表値、及び前記第１テクセルに係わる加重値またはインデックスを獲得する段階と、
前記ブロックパターン、前記少なくとも１つの代表値、及び前記加重値またはインデックスを利用して、前記第１テクセルに係わるテクセル値を獲得する段階と、
前記ブロックパターン、及び前記獲得した前記第１テクセルに係わるテクセル値に基づいて、前記第２テクセルに係わるテクセル値を獲得する段階と、を含むことを特徴とする請求項７に記載のテクスチャ処理方法。
【請求項９】
前記第２テクセルに係わるテクセル値を獲得する段階は、
前記第１テクセルに係わるテクセル値のうちいずれか一つを複写し、前記第２テクセルに係わるテクセル値のうちいずれか一つを獲得する段階を含むことを特徴とする請求項８に記載のテクスチャ処理方法。
【請求項１０】
請求項７乃至９のいずれか一項に記載の方法をコンピュータに実行させるコンピュータプログラム。
【請求項１１】
テクスチャを構成するテクセルを所定ブロック単位に分けたテクセルブロックを受信し、前記テクセルブロックに係わるブロックパターンを決定するブロックパターン決定部であって、前記ブロックパターンは、前記テクセルブロックを構成するテクセルを、加重値またはインデックスを計算する第１テクセルと、前記加重値またはインデックスを計算しない第２テクセルとのうちいずれか一つに分類するためのパターンであり、前記ブロックパターン決定部は、
複数のブロックパターンそれぞれに対して、前記第１テクセルに係わるテクセル値と、前記第２テクセルに係わるテクセル値との差値を計算し、
前記複数のブロックパターンのうち、計算された差値が最小であるブロックパターンを、前記テクセルブロックに係わるブロックパターンとして決定する、ブロックパターン決定部と、
前記ブロックパターンに基づいて、前記テクセルブロックを圧縮する圧縮部と、を含むテクスチャ圧縮装置。
【請求項１２】
前記圧縮部は、
前記テクセルブロックを構成するテクセルに係わる少なくとも１つの代表値を決定し、前記少なくとも１つの代表値に基づいて、前記第１テクセルに係わる加重値またはインデックスを計算することを特徴とする請求項１１に記載のテクスチャ圧縮装置。
【請求項１３】
前記圧縮部は、
前記ブロックパターン、前記少なくとも１つの代表値、及び前記第１テクセルに係わる加重値またはインデックスを含む圧縮データを生成することを特徴とする請求項１２に記載のテクスチャ圧縮装置。
【請求項１４】
前記圧縮部は、
前記テクセルのうち第２テクセルに係わる加重値またはインデックスに対応するデータビットを、前記少なくとも１つの代表値を示すデータビット、前記第１テクセルに係わる加重値またはインデックスを示すデータビット、及び前記ブロックパターンを示すデータビットのうち少なくとも一つに追加して割り当てることを特徴とする請求項１３に記載のテクスチャ圧縮装置。
【請求項１５】
前記テクセルブロックに含まれるテクセルは、対称性を有することを特徴とする請求項１１乃至１４のいずれか一項に記載のテクスチャ圧縮装置。
【請求項１６】
テクスチャを構成するテクセルを、所定ブロック単位で圧縮した圧縮データを受信し、前記圧縮データに含まれたブロックパターンを抽出するブロックパターン抽出部であって、前記ブロックパターンは、テクセルブロックを構成するテクセルを、加重値またはインデックスを計算された第１テクセルと、前記加重値またはインデックスを計算されなかった第２テクセルとのうちいずれか一つに分類するためのパターンであり、前記ブロックパターンは、前記第１テクセルに係わるテクセル値と、前記第２テクセルに係わるテクセル値との差値が最小であるブロックパターンである、ブロックパターン抽出部と、
前記ブロックパターンに基づいて、前記圧縮データを圧縮解除し、前記テクセルブロックを構成するテクセルを獲得する圧縮解除部と、を含むテクスチャ処理装置。
【請求項１７】
前記圧縮解除部は、
前記圧縮データに基づいて、前記ブロックパターン、前記テクセルブロックを構成するテクセルに係わる少なくとも１つの代表値、及び前記第１テクセルに係わる加重値またはインデックスを獲得し、
前記ブロックパターン、前記少なくとも１つの代表値、及び前記加重値またはインデックスを利用して、前記第１テクセルに係わるテクセル値を獲得し、
前記ブロックパターン、及び前記獲得した前記第１テクセルに係わるテクセル値に基づいて、前記第２テクセルに係わるテクセル値を獲得することを特徴とする請求項１６に記載のテクスチャ処理装置。
【請求項１８】
前記圧縮解除部は、
前記第１テクセルに係わるテクセル値のうちいずれか一つを複写し、前記第２テクセルに係わるテクセル値のうちいずれか一つを獲得することを特徴とする請求項１７に記載のテクスチャ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テクスチャを構成するテクセルまたはピクセルを所定のブロック単位で圧縮する方法及びその装置、圧縮されたテクセルブロックを処理する方法及びその装置に関する。
【背景技術】
【０００２】
三次元グラフィックスの各フレームに対するレンダリングを行うとき、多くの演算が行われるので、多くの電力とハードウェアリソースとが要求される。従って、三次元グラフィックスレンダリングを行うとき、演算量を減らすことが重要である。
【０００３】
三次元グラフィックスレンダリング過程中、ピクセルシェーディング過程での演算量を減らしてレンダリング速度を加速させるために、グラフィック処理装置（ＧＰＵ：graphic  processing  unit）は、テクスチャ処理装置を含んでいる。
【０００４】
テクスチャ処理装置は、テクスチャリングに必要なテクスチャを生成する作業を行う。テクスチャリングは、三次元空間に形成されたオブジェクトに、事前に準備されたイメージを被せる作業であり、演算量を減らすための三次元グラフィックスレンダリングの重要動作の中の一つである。このとき、事前に準備されたイメージをテクスチャと呼び、テクスチャは、テクスチャ処理装置外部のメモリに圧縮された形態にあらかじめ準備されている。
【０００５】
テクスチャ処理装置は、テクスチャを構成するテクセルを、所定のブロック単位で圧縮した圧縮テクセルブロックを外部のメモリから受信して処理することにより、シェーダコアから要請されたテクスチャを伝送する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、テクスチャを構成するテクセルを、所定のブロック単位で圧縮するとき、ブロックパターンを利用して、全体テクセルではない一部テクセルに対して、圧縮を行うテクスチャ圧縮方法及びその装置を提供することである。
【０００７】
また、圧縮を行った一部テクセルを圧縮解除し、残りのテクセルに係わるテクセル値は、圧縮解除した一部テクセルに係わるテクセル値を利用して獲得するテクスチャ処理方法及びその装置を提供することである。
【課題を解決するための手段】
【０００８】
一実施形態によるテクスチャ圧縮方法は、テクスチャを構成するテクセルを、所定のブロック単位に分けたテクセルブロックを受信する段階、前記テクセルブロックに係わるブロックパターンを決定する段階、及び前記ブロックパターンに基づいて、前記テクセルブロックを圧縮する段階を含んでもよい。
【図面の簡単な説明】
【０００９】
【図１】一実施形態によるグラフィック処理装置を示す図面である。
【図２】グラフィック処理装置で三次元グラフィックスを処理する過程を示す図面である。
【図３】一実施形態によるテクスチャ圧縮装置の構成を示すブロック図である。
【図４】一実施形態によるテクセルブロックについて説明するための図面である。
【図５】一実施形態によるブロックパターンを示す図面である。
【図６】一実施形態によるブロックパターンに基づいて、テクセルブロックを圧縮する方法について説明するために参照される図面である。
【図７】一実施形態によるテクスチャ処理装置の構成を示すブロック図である。
【図８】一実施形態による圧縮データを圧縮解除する方法について説明するために参照される図面である。
【図９】一実施形態によるテクスチャ処理装置の構成を示すブロック図である。
【図１０】一実施形態によるテクセルブロックを圧縮する方法を示すフローチャートである。
【図１１】図１０の段階９３０（Ｓ９３０）を具体的に示すフローチャートである。
【図１２】一実施形態による、テクセルブロックを圧縮解除する方法を示すフローチャートである。
【図１３】図１２の段階１１３０（Ｓ１１３０）を具体的に示すフローチャートである。
【発明を実施するための形態】
【００１０】
＜発明の概要＞
一実施形態によるテクスチャ圧縮方法は、テクスチャを構成するテクセルを、所定のブロック単位に分けたテクセルブロックを受信する段階、前記テクセルブロックに係わるブロックパターンを決定する段階、及び前記ブロックパターンに基づいて、前記テクセルブロックを圧縮する段階を含んでもよい。
【００１１】
一実施形態によるブロックパターンは、前記テクセルブロックを構成するテクセルを、加重値またはインデックスを計算する第１テクセルと、前記加重値またはインデックスを計算しない第２テクセルとのうちいずれか一つに分類するためのパターンでもある。
【００１２】
一実施形態によるテクセルブロックに係わるブロックパターンを決定する段階は、複数のブロックパターンそれぞれに対して、前記第１テクセルに係わるテクセル値と、前記第２テクセルに係わるテクセル値との差値を計算する段階、及び前記複数のブロックパターンのうち、計算された差値が最小であるブロックパターンを、前記テクセルブロックに係わるブロックパターンとして決定する段階を含んでもよい。
【００１３】
一実施形態によるテクセルブロックを圧縮する段階は、前記テクセルブロックを構成するテクセルに係わる少なくとも１つの代表値を決定する段階、前記少なくとも１つの代表値に基づいて、前記第１テクセルに係わる加重値またはインデックスを計算する段階を含んでもよい。
【００１４】
一実施形態によるテクセルブロックを圧縮する段階は、前記ブロックパターン、前記少なくとも１つの代表値、及び前記第１テクセルに係わる加重値またはインデックスを含む圧縮データを生成する段階を含んでもよい。
【００１５】
一実施形態によるテクセルブロックを圧縮する段階は、前記テクセルのうち第２テクセルに係わる加重値またはインデックスに対応するデータビットを、前記少なくとも１つの代表値を示すデータビット、前記第１テクセルに係わる加重値またはインデックスを示すデータビット、及び前記ブロックパターンを示すデータビットのうち少なくとも一つに追加して割り当てる段階をさらに含んでもよい。
【００１６】
一実施形態によるテクセルブロックに含まれるテクセルは、対称性を有することができる。
【００１７】
一実施形態によるテクスチャ処理方法は、テクスチャを構成するテクセルを、所定のブロック単位で圧縮した圧縮データを受信する段階、前記圧縮データに含まれたブロックパターンを抽出する段階、及び前記ブロックパターンに基づいて、前記圧縮データを圧縮解除（decompressing）し、テクセルブロックを構成するテクセルを獲得する段階を含んでもよい。
【００１８】
一実施形態によるテクセルを獲得する段階は、前記圧縮データに基づいて、前記テクセルブロックを構成するテクセルに係わる少なくとも１つの代表値、及び前記第１テクセルに係わる加重値またはインデックスを獲得する段階、前記ブロックパターン、前記少なくとも１つの代表値、及び前記加重値またはインデックスを利用して、前記第１テクセルに係わるテクセル値を獲得する段階、並びに前記ブロックパターン、及び前記獲得した前記第１テクセルに係わるテクセル値に基づいて、前記第２テクセルに係わるテクセル値を獲得する段階を含んでもよい。
【００１９】
一実施形態による第２テクセルに係わるテクセル値を獲得する段階は、前記第１テクセルに係わるテクセル値のうちいずれか一つを複写（replicating）し、前記第２テクセルに係わるテクセル値のうちいずれか一つを獲得する段階を含んでもよい。
【００２０】
一実施形態によるテクスチャ圧縮装置は、テクスチャを構成するテクセルを、所定のブロック単位に分けたテクセルブロックを受信し、前記テクセルブロックに係わるブロックパターンを決定するブロックパターン決定部、及び前記ブロックパターンに基づいて、前記テクセルブロックを圧縮する圧縮部を含んでもよい。
【００２１】
一実施形態によるブロックパターン決定部は、複数のブロックパターンそれぞれに対して、前記第１テクセルに係わるテクセル値と、前記第２テクセルに係わるテクセル値との差値を計算し、前記複数のブロックパターンのうち、計算された差値が最小であるブロックパターンを、前記テクセルブロックに係わるブロックパターンとして決定することができる。
【００２２】
一実施形態による圧縮部は、前記テクセルブロックを構成するテクセルに係わる少なくとも１つの代表値を決定し、前記少なくとも１つの代表値に基づいて、前記第１テクセルに係わる加重値またはインデックスを計算することができる。
【００２３】
一実施形態による圧縮部は、前記ブロックパターン、前記少なくとも１つの代表値、及び前記第１テクセルに係わる加重値またはインデックスを含む圧縮データを生成することができる。
【００２４】
一実施形態による圧縮部は、前記テクセルのうち第２テクセルに係わる加重値またはインデックスに対応するデータビットを、前記少なくとも１つの代表値を示すデータビット、前記第１テクセルに係わる加重値またはインデックスを示すデータビット、及び前記ブロックパターンを示すデータビットのうち少なくとも一つに追加して割り当てることができる。
【００２５】
一実施形態によるテクスチャを構成するテクセルを、所定のブロック単位で圧縮した圧縮データを受信し、前記圧縮データに含まれたブロックパターンを抽出するブロックパターン抽出部、及び前記ブロックパターンに基づいて、前記圧縮データを圧縮解除し、テクセルブロックを構成するテクセルを獲得する圧縮解除部を含んでもよい。
【００２６】
一実施形態による圧縮解除部は、前記圧縮データに基づいて、前記ブロックパターン、前記テクセルブロックを構成するテクセルに係わる少なくとも１つの代表値、及び前記第１テクセルに係わる加重値またはインデックスを獲得し、前記ブロックパターン、前記少なくとも１つの代表値、及び前記加重値またはインデックスを利用して、前記第１テクセルに係わるテクセル値を獲得し、前記ブロックパターン、及び前記獲得した前記第１テクセルに係わるテクセル値に基づいて、前記第２テクセルに係わるテクセル値を獲得することができる。
【００２７】
一実施形態による圧縮解除部は、前記第１テクセルに係わるテクセル値のうちいずれか一つを複写し、前記第２テクセルに係わるテクセル値のうちいずれか一つを獲得することができる。
【００２８】
＜発明の詳細＞
本発明で使用される用語は、本発明での機能を考慮しながら、可能な限り現在汎用される一般的な用語を選択したが、それは、当該分野に携わる技術者の意図、判例あるいは新たな技術の出現などによって異なる。また、特定の場合は、出願人が任意に選定した用語もあり、その場合、当該発明の説明部分で詳細にその意味を記載する。従って、本発明で使用される用語は、単純な用語の名称ではない、その用語が有する意味と、本発明の全般にわたった内容とを基に定義されなければならない。
【００２９】
明細書全体で、ある部分がある構成要素を「含む」というとき、それは、特別に反対となる記載がない限り、他の構成要素を除くものではなく、他の構成要素をさらに含んでもよいということを意味する。また、明細書に記載された「…部」、「…モジュール」のような用語は、少なくとも１つの機能や動作を処理する単位を意味し、それは、ハードウェアまたはソフトウェアによって具現されるか、あるいはハードウェアとソフトウェアとの結合によっても具現される。
【００３０】
以下では、添付した図面を参照し、本発明の実施形態について、本発明が属する技術分野で当業者が容易に実施することができるように詳細に説明する。しかし、本発明は、さまざまに異なる形態に具現され、ここで説明する実施形態に限定されるものではない。
【００３１】
以下では、図面を参照し、本発明の実施形態について詳細に説明する。
【００３２】
図１は、一実施形態によるグラフィック処理装置を示す図面である。図１を参照すれば、グラフィック処理装置１００は、ラスタライザ１１０、シェーダコア１２０、テクスチャ処理装置１３０、ピクセル処理装置１４０、タイルバッファ１５０を含んでもよい。
【００３３】
また、グラフィック処理装置１００は、バス３０を介して、外部のメモリ２００とデータを送受信することができる。
【００３４】
図１に図示されたグラフィック処理装置１００は、三次元グラフィックスを処理する装置であり、タイルに基づいたレンダリング（ＴＢＲ：tile  based  rendering）方式を使用することができる。例えば、グラフィック処理装置１００は、フレームを、一定サイズのタイルに分割し、分割された複数のタイルを、ラスタライザ１１０、シェーダコア１２０、ピクセル処理装置１４０で処理し、処理結果をタイルバッファ１５０に保存することができる。また、グラフィック処理装置１００は、ラスタライザ１１０、シェーダコア１２０及びピクセル処理装置１４０で構成されるチャネルを複数個利用し、１フレームを構成する全てのタイルを並列処理することができる。グラフィック処理装置１００は、１フレームを構成する全てのタイルが処理されれば、タイルバッファ１５０に保存された処理結果を、メモリ２００のフレームバッファ（図示せず）に伝送することができる。
【００３５】
シェーダコア１２０は、ピクセルシェーダ（図示せず）を含んでもよい。また、シェーダコア１２０は、頂点シェーダをさらに含んだ形態でもあるか、あるいは頂点シェーダとピクセルシェーダとが統合された形態の統合シェーダでもある。シェーダコア１２０が頂点シェーダの機能を遂行することができる場合、オブジェクトを示すプリミティブを生成し、ラスタライザ１１０に伝達することができる。
【００３６】
ラスタライザ１１０は、幾何変換過程を経て、頂点シェーダから生成されたプリミティブをラスタライズすることができる。プリミティブのラスタライズは、プリミティブを複数のフラグメントに分割することを意味する。
【００３７】
シェーダコア１２０は、ラスタライザ１１０からラスタライズされたプリミティブを伝達され、ピクセルシェーディングを行うことができる。シェーダコア１２０は、ラスタライズを経て生成されたフラグメントの色相を決定するピクセルシェーディングを行うことができる。シェーダコア１２０は、ピクセルシェーディング過程において、立体的であって臨場感ある三次元グラフィックスを生成するために、テクスチャを利用して生成されたピクセル値を使用することができる。
【００３８】
シェーダコア１２０がテクスチャ処理装置１３０にピクセル値を要請すれば、テクスチャ処理装置１３０は、事前に準備されたテクスチャを処理して生成されたピクセル値を、シェーダコア１２０に伝達することができる。テクスチャは、テクスチャ処理装置１３０の内部または外部の所定メモリ、またはグラフィック処理装置１００の外部メモリ２００に保存されている。テクスチャ処理装置１３０は、シェーダコア１２０に要請したピクセル値の生成に利用されるテクスチャが、テクスチャ処理装置１３０内部の所定メモリに存在しない場合、テクスチャ処理装置１３０の外部メモリまたはメモリ２００からテクスチャを持ってくる。
【００３９】
ピクセル処理装置１４０は、１つのタイル内の同じ位置に対応するピクセルに対して、深さテストのような過程を経て、最終的に表示されるピクセル値を決定することができる。
【００４０】
タイルバッファ１５０は、タイルに含まれる複数のピクセルの最終的なピクセル値が保存される。タイルに含まれた全てのピクセルのピクセル値が決定されれば、タイルは、メモリ２００のフレームバッファ（図示せず）に出力される。
【００４１】
以下、図２を参照し、三次元グラフィックスを処理する過程について、さらに詳細に説明する。
【００４２】
図２は、グラフィック処理装置において、三次元グラフィックスを処理する過程を示す図面である。図２を参照すれば、三次元グラフィックスを処理する過程は、１１段階（Ｓ１１）ないし１８段階（Ｓ１８）を含んでもよい。また、図２の下側の図形は、各段階での頂点またはピクセルの処理を概念的に示す。
【００４３】
段階１１（Ｓ１１）は、映像を示す頂点を生成する段階である。頂点は，映像に含まれたオブジェクトを示すために生成される。
【００４４】
段階１２（Ｓ１２）は、生成された頂点をシェーディングする段階である。頂点シェーダは、段階１１（Ｓ１１）で生成された頂点の位置を指定し、頂点に対するシェーディングを行うことができる。
【００４５】
段階１３（Ｓ１３）は、プリミティブを生成する段階である。プリミティブは，点、線または頂点から形成される多角形を示す。一例として、該プリミティブは、頂点を連結して形成された三角形を示すこともできる。
【００４６】
段階１４（Ｓ１４）は、プリミティブをラスタライズする段階である。プリミティブのラスタライズは、プリミティブを複数のフラグメントに分割することを意味する。該フラグメントは、プリミティブを構成する単位であり、映像処理を行うための基本単位でもある。プリミティブは、頂点に係わる情報のみを含む。従って、ラスタライズする段階において、頂点と頂点のとのフラグメントを生成するときに補間が行われる。
【００４７】
段階１５（Ｓ１５）は、ピクセルをシェーディングする段階を示す。ラスタライズによって生成されたプリミティブを構成するフラグメントは、タイルを構成するピクセルにもなる。当該分野において、フラグメント及びピクセルという用語は、場合によっては、混用して使用される。例えば、ピクセルシェーダは、フラグメントシェーダと呼ぶことができる。一般的に、プリミティブを構成するグラフィック処理の基本単位をフラグメントと呼び、その後、ピクセルシェーディングからのグラフィック処理の基本単位をピクセルと呼ぶことができる。ピクセルシェーディングでは、ピクセルの色を決定することができる。
【００４８】
段階１６（Ｓ１６）は、ピクセルの色を決定するためのテクスチャリング段階を示す。テクスチャリングは、ピクセルの色を決定するとき、事前に準備されたイメージ、すなわち、テクスチャを利用して、ピクセルの色を決定する過程である。実世界の多様な色相とパターンの様子とを表現するために、ピクセルそれぞれの色相の計算は、グラフィック処理に必要なデータ量とグラフィック処理時間とを非常に大きくするので、事前に準備されたテクスチャを利用して、ピクセルの色相を決定するのである。例えば、オブジェクトの表面色相を、テクスチャという別途の二次元映像に保存し、オブジェクトの画面上の位置及び大きさなどによって、保存されたテクスチャを拡大したり縮小したりするか、多様な解像度を有するテクスチャを利用して、テクセル値を混合することにより、ピクセルの色相を決定することができる。
【００４９】
段階１７（Ｓ１７）は、テスト及びミキシング段階を示す。タイル内の同位置に対応するピクセルに対して、深さテストのような過程を経て、最終的に表示されるピクセル値を決定し、１つのタイルに該当するピクセル値を決定することができる。そのような過程を経て生成された複数個のタイルをミキシングし、１フレームに該当する三次元グラフィックスを生成することができる。
【００５０】
段階１８（Ｓ１８）は、段階１１（Ｓ１１）ないし段階１７（Ｓ１７）を介して生成されたフレームをフレームバッファに保存し、フレームバッファに保存されたフレームを、ディスプレイ装置を介して表示する段階を示す。
【００５１】
一方、テクスチャ処理装置１３０内の所定空間に、多様なオブジェクトに係わる全てのテクスチャ、及び各テクスチャに対応するミップマップの保存は、物理的に不可能である。テクスチャ保存に必要な空間を最小化し、テクスチャの伝送を効率的にするために、三次元グラフィックスレンダリングでは、一般的に、テクスチャを圧縮し、テクスチャの保存または伝送を行う。
【００５２】
しかし、テクスチャを圧縮し、圧縮されたテクスチャを圧縮解除（decompressing、又は解凍）するために、多くの演算量及び時間、それによる電力消耗が発生する。従って、テクスチャを圧縮し、圧縮された形態のテクスチャの圧縮解除にあたり、さらに効率的な圧縮及び圧縮解除の方式が必要である。
【００５３】
一実施形態によるテクスチャ圧縮方法及びその装置は、テクスチャを構成するテクセルを所定ブロック単位で圧縮するとき、テクセルブロックのパターンを利用して、全体テクセルではない一部テクセルに対して圧縮を行うことにより、圧縮に対する演算過程を減少させることができる。また、一実施形態によるテクスチャ処理方法及びその装置は、圧縮を行った一部テクセルを圧縮解除し、残りのテクセルに係わるテクセル値は、圧縮解除した一部テクセルに係わるテクセル値を利用して獲得することにより、圧縮解除に対する演算過程を減少させることができる。それによって、効率的なグラフィック処理を行うことができる。
【００５４】
図３は、一実施形態によるテクスチャ圧縮装置の構成を示すブロック図である。図３を参照すれば、テクスチャ圧縮装置３００は、ブロックパターン決定部３１０及び圧縮部３２０を含んでもよい。
【００５５】
ブロックパターン決定部３１０は、テクセルブロックを受信し、受信したテクセルブロックのブロックパターンを決定することができる。テクセルブロックは、テクスチャを構成するテクセルを所定ブロック単位に分けたものを意味する。以下、図４を参照し、テクセルブロックについて説明する。
【００５６】
図４は、一実施形態によるテクセルブロックについて説明するための図面である。
【００５７】
テクスチャは、ハードウェアリソースの要求、及び通信環境の要求を満足させるために、三次元グラフィックス処理過程で圧縮された形態に保存される。テクスチャ圧縮装置３００は、一般的に、テクスチャを構成するテクセルに対して、所定ブロック単位で圧縮を行う。
【００５８】
例えば、図４を参照すれば、テクスチャ４００は、複数個のテクセルを含んでもよく、複数個のテクセルは、一定サイズを有するテクセルブロックに分けられる。図４では、テクセルブロック４１０の大きさが４ｘ４であるテクセルブロック（以下、４ｘ４テクセルブロック）として図示したが、それに限定されるものではなく、テクセルブロック４１０は、多様なサイズを有することができる。ただし、以下では、説明の便宜上、テクセルブロックの大きさが４ｘ４であるとして説明する。
【００５９】
図４を参照すれば、４ｘ４テクセルブロック４１０は、１６個のテクセルＴ０，Ｔ１，Ｔ２，Ｔ３，Ｔ４，Ｔ５，Ｔ６，Ｔ７，Ｔ８，Ｔ９，Ｔ１０，Ｔ１１，Ｔ１２，Ｔ１３，Ｔ１４，Ｔ１５で構成され、テクセルＴ０，Ｔ１，Ｔ２，Ｔ３，Ｔ４，Ｔ５，Ｔ６，Ｔ７，Ｔ８，Ｔ９，Ｔ１０，Ｔ１１，Ｔ１２，Ｔ１３，Ｔ１４，Ｔ１５は、それぞれテクセル値を有することができる。
【００６０】
テクスチャ４００が複数のテクセルブロックに分けられれば、１つのテクセルブロック４１０に含まれるテクセル値は、対称性を有することができる。例えば、４ｘ４テクセルブロック４１０に含まれるテクセル値は、第１対角線４１５を基準に左右対称でもある。第２テクセルＴ１のテクセル値は、第５テクセルＴ４のテクセル値と同一であり、第３テクセルＴ２のテクセル値は、第９テクセルＴ８のテクセル値と同一であり、第４テクセルＴ３のテクセル値は、第１３テクセルＴ１２のテクセル値と同一であり、第７テクセルＴ６のテクセル値は、第１０テクセルＴ９のテクセル値と同一であり、第８テクセルＴ７のテクセル値は、第１４テクセルＴ１３のテクセル値と同一であり、第１２テクセルＴ１１のテクセル値は、第１５テクセルＴ１４のテクセル値と同一である。
【００６１】
そのような場合、一実施形態によるテクスチャ圧縮装置３００は、第１対角線４１５を中心に、左側または右側に位置したテクセルについてのみ圧縮を行い、圧縮データ（例えば、テクセルに係わる加重値またはインデックス）を生成することができる。その後、テクセルブロックに係わる圧縮解除時、圧縮を行ったテクセルを圧縮解除してテクセル値を獲得し、獲得したテクセル値を利用して、圧縮データを生成していないテクセルに係わるテクセル値を獲得することができる。それによって、一実施形態によるテクスチャ圧縮方法及び圧縮解除方法は、テクセルブロックに含まれる一部テクセルに係わる圧縮及び圧縮解除を行わず、演算量、時間及び電力消耗を減少させることができる。
【００６２】
一実施形態による圧縮方法では、テクセルブロックを構成するテクセルのうち、圧縮を行うテクセルと、圧縮を行わないテクセルとを分類するためのブロックパターンが必要である。ブロックパターンについては、図５を参照して詳細に説明する。
【００６３】
図５は、一実施形態によるブロックパターンを示す図面である。図５を参照すれば、ブロックパターン５１１，５１２，５１３，５１４，５１５，５１６，５１７，５１８，５１９，５２０，５２１，５２２，５２３，５２４，５２５，５２６は、テクセルブロックと同一サイズを有し、テクセルブロックを構成するテクセルそれぞれに対応する複数の領域を含む。複数の領域は、灰色に陰影された第１領域と、陰影されていない第２領域とに分けられる。ブロックパターンにおいて、灰色に陰影された領域は、テクセルブロックで圧縮を行うテクセルに対応し、ブロックパターンにおいて、灰色に陰影表示されていない領域は、テクセルブロックで圧縮を行わないテクセルに対応する。
【００６４】
一方、図５では、１６個のブロックパターンを図示したが、それに限定されるものではなく、一実施形態による複数のブロックパターンは、多様なブロックパターンを含んでもよい。
【００６５】
ブロックパターン決定部３１０は、多種のブロックパターンのうち、テクセルブロックの圧縮に利用するブロックパターンを決定することができる。そのとき、ブロックパターン決定部３１０は、複数のブロックパターンのうち、圧縮するテクセルブロックの対称的な特性を最も良好に反映するブロックパターンを選択することができる。例えば、ブロックパターン決定部３１０は、複数のブロックパターンそれぞれに対して、灰色で陰影表示された第１領域に対応するテクセル値の和と、灰色で陰影表示されていない第２領域に対応するテクセル値の和との差値を計算し、差値が最小であるブロックパターンを選択することができる。そのとき、差値が最小であるブロックパターンが複数個検出される場合、ブロックパターン決定部３１０は、最も先に検出されたブロックパターンを選択することができる。または、ブロックパターン決定部３１０は、差値が既設定の値未満のブロックパターンを選択することができる。そのとき、差値が、既設定の値未満であるブロックパターンが複数個検出される場合、ブロックパターン決定部３１０は、最も先に検出されたブロックパターンを選択することができる。または、ブロックパターン決定部３１０は、ユーザ入力に基づいて、ブロックパターンを選択することができる。ただし、ブロックパターンの決定方法は、前述の方法に限定されるものではなく、多様な方法で決定される。
【００６６】
圧縮部３２０は、テクセルブロックに係わるブロックパターンが決定されれば、決定されたブロックパターンに基づいて、テクセルブロックを圧縮することができる。圧縮部３２０は、ブロックパターンに含まれる領域のうち、第１領域（灰色で陰影表示された領域）に対応するテクセルについては、圧縮を行い、第２領域（灰色で陰影表示されていない領域）に対応するテクセルについては、圧縮を行わない。
【００６７】
ブロックパターンに基づいて、テクセルブロックを圧縮する方法については、図６を参照して詳細に説明する。
【００６８】
図６は、一実施形態による、ブロックパターンに基づいて、テクセルブロックを圧縮する方法について説明するために参照される図面である。図６を参照すれば、圧縮部３２０は、テクセルブロックを構成するテクセルに係わる少なくとも１つの代表値を決定することができる。例えば、テクセルブロックを構成するテクセルに係わるテクセル値のうち、最大値ｅｐ（end  point）０と最小値ｅｐ（end  point）１を代表値として決定することができる。ただし、それに限定されるものではなく、多様な方式によっても代表値が決定される。
【００６９】
圧縮部３２０は、代表値が決定されれば、テクセルブロックを構成するテクセルのうち一部テクセルに係わる加重値を計算することができる。テクセルに係わる加重値は、代表値を利用してテクセル値を表現するために、少なくとも１つの代表値に適用される加重値を意味する。例えば、Ｔ（テクセル値）＝ｗ０＊ｅｐ０（第１代表値）＋（１−ｗ０）＊ｅｐ１（第２代表値）で表現される場合、加重値は、ｗ０でもある。
【００７０】
圧縮部３２０は、決定されたブロックパターン６１０を利用して、加重値を計算する一部テクセルを決定することができる。例えば、決定されたブロックパターン６１０に含まれる領域のうち、灰色で陰影表示された領域に対応するテクセル（第１テクセル）ついてのみ加重値を計算することができる。例えば、圧縮部６１０は、第１テクセルＴ０、第２テクセルＴ１、第３テクセルＴ２、第４テクセルＴ３、第７テクセルＴ６、第８テクセルＴ７、第１２テクセルＴ１１、第１６テクセルＴ１５に対して加重値を計算することができる。
【００７１】
圧縮部３２０は、テクセルブロックに係わるブロックパターン、テクセルブロックに係わる少なくとも１つの代表値、テクセルブロックを構成する一部テクセルに係わる加重値を含む圧縮データ６３０を生成することができる。
【００７２】
図６を参照すれば、４ｘ４テクセルブロックに係わる圧縮データ６３０は、ブロックパターンを示すデータＢＰ０、少なくとも１つの代表値を示すデータｅｐ０，ｅｐ１、一部テクセルに係わる加重値を示すデータｗ０，ｗ１，ｗ２，ｗ３，ｗ４，ｗ５，ｗ６，ｗ７を保存した形態でもある。
【００７３】
または、図示されていないが、圧縮部３２０は、テクセルブロックを構成する一部テクセルに係わる加重値の代わりに、一部テクセルに係わるインデックスを含む圧縮データを生成することができる。例えば、該インデックスは、あらかじめ計算された複数のポイントカラー値のうちいずれか一つを選択するためのデータを意味する。複数のポイントカラー値は、少なくとも１つの代表値に基づいて計算され、そのとき、少なくとも１つの代表値は、テクセルブロックを構成するテクセルに係わるテクセル値のうち、最大値ｅｐ０と最小値ｅｐ１とを含んでもよい。また、複数のポイントカラー値は、多様な方法を利用して計算される。
【００７４】
一例として、インデックスに割り当てられたビットが２ビットである場合、４個のポイントカラー値のうち一つが選択され、テクセルは、インデックスによって選択されたポイントカラー値を有することができる。
【００７５】
圧縮部３２０は、ブロックパターンに基づいて、インデックスを計算する一部テクセルを決定し、決定されたテクセルに対してのみインデックスを計算することができる。従って、４ｘ４テクセルブロックに係わる圧縮データは、ブロックパターンを示すデータ、少なくとも１つの代表値を示すデータ、一部テクセルに係わるインデックスを示すデータを保存した形態でもある。
【００７６】
ブロックパターンの種類が、図５に図示されているように、１６個である場合、ブロックパターンを示すデータＢＰ０に４ビットが割り当てられる。また、１つの代表値（end  point）を示すデータには、８ビットが割り当てられ、１つの加重値またはインデックスを示すデータには、２ビットが割り当てられる。
【００７７】
ブロックパターン６１０を利用せずに、４ｘ４テクセルブロック６２０に含まれる全てのテクセルに対して、加重値またはインデックスを計算し、圧縮データに含める場合には、加重値またはインデックスに使用されるビット数が３２ビット（＝２ビットｘ１６）である。一方、図６で説明したように、ブロックパターン６１０を利用して、テクセルブロックに含まれる１６個のテクセルのうち８個のテクセルに対してのみ加重値またはインデックスを計算し、計算された加重値またはインデックスを圧縮データに含める場合には、加重値に使用されるビット数が１６ビット（＝２ビットｘ８）である。ブロックパターンに割り当てられる４ビットを除いても、圧縮データに使用されるビット数を１２ビット減少させることができる。
【００７８】
一実施形態による圧縮部３２０は、残りのテクセルＴ４，Ｔ５，Ｔ８，Ｔ９，Ｔ１０，Ｔ１２，Ｔ１３，Ｔ１４の加重値またはインデックスが計算されないときに節約されるビットに対応する追加ビットを、少なくとも１つの代表値を示すデータビットにさらに割り当てることにより、代表値の個数を増加させることができる。または、減少されたビットを、ブロックパターンを示すデータビットにさらに割り当て、ブロックパターンの種類をさらに多様にする。または、一部テクセルに係わる加重値またはインデックスを示すデータビットにさらに割り当て、一部テクセルの加重値またはインデックスを示すことができる値の個数を増加させることができる。また、追加ビットを、代表値を示すデータビット、ブロックパターンを示すデータビット、及び一部テクセルの加重値またはインデックスを示すデータビットのうち、２以上の組み合わせに割り当てることができる。
【００７９】
追加ビットを利用して、代表値の個数を増加させるか、あるいはブロックパターンの種類をさらに多様にさせる場合、テクスチャの原本と、テクセルブロックを圧縮解除して獲得したテクスチャとの差を低減させることができる。
【００８０】
一方、図６では、ブロックパターン６１０に基づいて、テクセルブロックに含まれるテクセルのうち一部テクセルについてのみ加重値またはインデックスを計算し、テクセルブロックを圧縮することについてだけ説明したが、多種のブロックパターンのうち、テクセルブロックを圧縮するのに適切なブロックパターンが検出されない場合、テクスチャ圧縮装置３００は、テクセルブロックに含まれる全てのテクセルに対して、加重値またはインデックスを計算することができる。そのような場合、圧縮データは、少なくとも１つの代表値を示すデータ、テクセルブロックに含まれる全てのテクセルに係わる加重値またはインデックスを示すデータを保存した形態でもある。
【００８１】
テクスチャ圧縮装置３００は、圧縮データをメモリ２００に保存することができる。
【００８２】
図７は、一実施形態によるテクスチャ処理装置の構成を示すブロック図である。図７を参照すれば、テクスチャ処理装置１３０は、ブロックパターン抽出部７１０及び圧縮解除部７２０を含んでもよい。
【００８３】
ブロックパターン抽出部７１０は、テクスチャ処理装置１３０の内部または外部のメモリ２００、またはＧＰＵ  １００外部のメモリ２００から、テクセルブロックを圧縮した圧縮データを受信し、圧縮データに含まれたブロックパターンを抽出することができる。例えば、ブロックパターン抽出部７１０は、図８に図示されているように、圧縮データ８３０に含まれたブロックパターンを示すデータＢＰ０をデコーディングし、ブロックパターン８１０を抽出することができる。
【００８４】
圧縮解除部７１０は、ブロックパターンに基づいて、受信した圧縮データを圧縮解除し、テクセルブロックを構成するテクセルに係わるテクセル値を獲得することができる。圧縮解除部７１０が圧縮データを圧縮解除し、テクセル値を獲得する方法については、図８を参照して詳細に説明する。
【００８５】
図８は、一実施形態による、圧縮データを圧縮解除する方法について説明するために参照される図面である。図８を参照すれば、圧縮解除部７１０は、圧縮データに含まれた代表値を示すデータ、加重値またはインデックスを示すデータをデコーディングし、テクセルブロックに係わる代表値、テクセルブロックに含まれる一部テクセルそれぞれに係わる加重値またはインデックスを獲得することができる。以下では、圧縮データに加重値を示すデータが含まれた場合を例として挙げて説明する。
【００８６】
例えば、圧縮解除部７１０は、代表値パーサを含み、圧縮データ８３０に含まれた代表値を示すデータｅｐ０，ｅｐ１をデコーディングし、加重値パーサを含み、加重値を示すデータｗ０，ｗ１，ｗ２，ｗ３，ｗ４，ｗ５，ｗ６，ｗ７をデコーディングすることができる。それにより、圧縮解除部７１０は、テクセルブロックに係わる代表値、テクセルブロックに含まれる一部テクセルそれぞれに係わる加重値を獲得することができる。
【００８７】
圧縮解除部７１０は、テクセルブロックに係わるブロックパターン、テクセルブロックに係わる代表値、テクセルブロックに含まれる一部テクセルそれぞれに係わる加重値を利用して、テクセルブロックを構成するテクセルＴ０，Ｔ１，Ｔ２，Ｔ３，Ｔ６，Ｔ７，Ｔ１１，Ｔ１５に係わるテクセル値を計算することができる。具体的には、圧縮解除部７１０は、補間部を含み、テクセルブロックに係わる代表値と加重値とを利用したインターポレーションを行い、テクセルブロックを構成する一部テクセルＴ０，Ｔ１，Ｔ２，Ｔ３，Ｔ６，Ｔ７，Ｔ１１，Ｔ１５に係わるテクセル値を生成することができる。例えば、第１テクセルＴ０に係わるテクセル値は、代表値ｅｐ０，ｅｐ１と、第１テクセルＴ０に係わる加重値ｗ０とを利用して計算することができる。また、圧縮解除部７１０は、複数個のテクセル値を並列して処理するように、複数の補間部を含んでもよい。
【００８８】
一方、圧縮データにインデックスを示すデータが含まれた場合、圧縮解除部７１０は、圧縮データをデコーディングし、テクセルブロックを構成する一部テクセルに係わるインデックスを獲得することができる。圧縮解除部７１０は、インデックスを利用して、一部テクセルに係わるテクセル値を決定することができる。例えば、一部テクセルそれぞれについて、インデックスによって選択されたポイントカラー値をテクセル値として決定することができる。
【００８９】
圧縮解除部７１０は、一部テクセルＴ０，Ｔ１，Ｔ２，Ｔ３，Ｔ６，Ｔ７，Ｔ１１，Ｔ１５（第１テクセル）に係わるテクセル値が計算されれば、抽出されたブロックパターンに基づいて、残りのテクセルＴ４，Ｔ５，Ｔ８，Ｔ９，Ｔ１０，Ｔ１２，Ｔ１３，Ｔ１４（第２テクセル）に係わるテクセル値を計算することができる。
【００９０】
圧縮解除部７１０は、第１テクセルのうちいずれか１つのテクセル値を、第２テクセルのうちいずれか１つのテクセル値として複写することができる。そのとき、ブロックパターン８１０は、第１テクセルのうちいずれか１つのテクセル値が、第２テクセルのうちいずれか１つのテクセル値として複写されるかということに係わる情報を含んでもよい。例えば、第１テクセルのうち第１テクセルＴ０と、第２テクセルのうち第６テクセルＴ５とがマッピングされる場合、第１テクセルＴ０のテクセル値を、第６テクセルＴ５のテクセル値として複写することができる。
【００９１】
または、圧縮解除部７１０は、第１テクセルのテクセル値を補間し、第２テクセルのテクセル値を計算することができる。ただし、それに限定されるものではなく、圧縮解除部７１０は、多様な方法で、第２テクセルのテクセル値を計算することができる。
【００９２】
圧縮解除部７１０は、獲得したテクセル値をシェーダコア１２０に出力することができる。
【００９３】
図９は、一実施形態によるテクスチャ処理装置の構成を示すブロック図である。図９を参照すれば、テクスチャ処理装置１３０は、制御部７５０、ブロックパターン抽出部７１０、圧縮解除部７２０、テクスチャキャッシュ７３０及びテクスチャフィルタ７４０を含んでもよい。ブロックパターン抽出部７１０及び圧縮解除部７２０について、図７及び８で説明した内容と同一内容は図９で省略する。
【００９４】
制御部７５０は、テクスチャ処理装置１３０の全般的な動作、及びテクスチャ処理装置１３０の内部構成要素間の信号フローを制御し、データを処理する機能を遂行する。
【００９５】
図１を再び参照すれば、シェーダコア１２０は、ピクセル処理時に必要なテクセルをテクスチャ処理装置１３０に要請する。それによって、制御部７５０は、シェーダコア１２０から要請されたテクセルのテクセルアドレスを受信することができる。制御部７５０は、要請されたテクセルが、テクスチャキャッシュ７３０に保存されているか否かということをまず判断することができる。要請されたテクセルが、テクスチャキャッシュ７３０に保存されていない場合、制御部７５０は、要請されたテクセルを含むテクセルブロックに係わる圧縮データを、外部のメモリ２００に要請することができる。
【００９６】
それによって、テクスチャ処理装置１３０は、外部のメモリ２００から、圧縮データを受信することができる。
【００９７】
ブロックパターン抽出部７１０は、受信した圧縮データに基づいて、テクセルブロックに係わるブロックパターンを抽出することができる。
【００９８】
圧縮解除部７２０は、受信した圧縮テクセルブロックに基づいて、テクセルブロックに係わる代表値、一部テクセルに係わる加重値を獲得することができる。圧縮解除部７２０は、獲得したテクセルブロックに係わる代表値、及び一部テクセルに係わる加重値に基づいて、一部テクセルに係わるテクセル値を計算することができる。また、圧縮解除部７２０は、計算された一部テクセルに係わるテクセル値と、抽出されたブロックパターンとに基づいて、残りのテクセルに係わるテクセル値を計算することができる。
【００９９】
テクスチャキャッシュ７３０は、圧縮解除されたテクセルに係わるテクセル値を保存することができる。一方、図９では、圧縮解除部７２０において、圧縮データを圧縮解除し、獲得したテクセル値が、テクスチャキャッシュ７３０に保存されるように図示されているが、それと異なり、圧縮が解除されていない圧縮データ形態でもテクスチャキャッシュ７３０に保存される。テクスチャキャッシュ７３０に保存された圧縮データが要請される場合、圧縮解除部７２０は、要請された圧縮データを圧縮解除し、テクセル値を生成することができる。
【０１００】
テクスチャフィルタ７４０は、圧縮データを圧縮解除し、生成されたテクセル値を利用して、テクスフィルタリングを行うことができる。テクセル値をフィルタリングするということは、テクセル値を混合し、ピクセルに対応するカラー値を求めることを意味する。例えば、テクスチュア処理装置１３０に要請されたテクセルのテクセルアドレスが示すテクスチャ空間上の一部領域に含まれたテクセル値の平均値を求めることにより、ピクセルに対応するカラー値を求めることができる。テクスチャフィルタ７４０でフィルタリングされたテクセル値は、シェーダコア１２０の要請に対する応答として、シェーダコア１２０に伝送される。テクスチャフィルタ７４０で遂行するテクスチャフィルタリング方式は、トリリニアフィルタリング方式を含んだ多様なフィルタリング方式でもある。
【０１０１】
図１０は、一実施形態による、テクセルブロックを圧縮する方法を示すフローチャートである。図１０を参照すれば、テクスチャ圧縮装置３００は、テクセルブロックを受信することができる（Ｓ９１０）。
【０１０２】
テクセルブロックは、テクスチャを構成するテクセルを所定ブロック単位に分けたものを意味する。テクセルブロックは、多様なサイズを有することができる。テクスチャをテクセルブロックに分ける場合、１つのテクセルブロックに含まれるテクセル値は、対称性を有することができる。
【０１０３】
テクスチャ圧縮装置３００は、テクセルブロックに係わるブロックパターンを決定することができる（Ｓ９２０）。
【０１０４】
一実施形態によるブロックパターンは、テクセルブロックを構成するテクセルのうち、圧縮を行うテクセルと、圧縮を行わないテクセルとを分類するためのパターンである。
【０１０５】
例えば、ブロックパターンは、テクセルブロックを構成するテクセルそれぞれに対応する複数の領域を含み、複数の領域は、灰色に陰影された第１領域と、灰色に陰影されていない第２領域とに分けられる。ブロックパターンにおいて第１領域は、テクセルブロックで圧縮を行うテクセルに対応し、ブロックパターンにおいて第２領域は、テクセルブロックで圧縮を行わないテクセルに対応する。ただし、それに限定されるものではなく、第１領域は、圧縮を行わないテクセルに対応し、第２領域は、圧縮を行うテクセルにも対応する。
【０１０６】
テクスチャ圧縮装置３００は、複数のブロックパターンのうち入力されたテクセルブロックの圧縮に利用するブロックパターンを決定することができる。テクスチャ圧縮装置３００は、複数のブロックパターンのうちテクセルブロックの対称的な特性を最も良好に反映するブロックパターンを選択することができる。例えば、テクスチャ圧縮装置３００は、複数のブロックパターンそれぞれに対して、第１領域に対応するテクセル値の和と、第２領域に対応するテクセル値の和との差値を計算し、差値が最小であるブロックパターンを決定することができる。
【０１０７】
テクスチャ圧縮装置３００は、決定されたブロックパターンを利用して、テクセルブロックを圧縮することができる（Ｓ９３０）。
【０１０８】
図１０の段階９３０（Ｓ９３０）については、図１１を参照して詳細に説明する。
【０１０９】
図１１は、図１０の段階９３０（Ｓ９３０）を具体的に示すフローチャートである。図１１を参照すれば、テクスチャ圧縮装置３００は、テクセルブロックに係わる代表値を決定することができる（Ｓ１０１０）。
【０１１０】
例えば、テクスチャ圧縮装置３００は、テクセルブロックを構成するテクセルに係わるテクセル値のうち、最大値及び最小値、すなわち、エンドポイント（end  point）値それぞれを代表値として決定することができる。ただし、それに限定されるものではなく、多様な方式で代表値が決定される。
【０１１１】
テクスチャ圧縮装置３００は、代表値が決定されれば、テクセルブロックを構成するテクセルのうち一部テクセルに係わる加重値を計算することができる（Ｓ１０２０）。
【０１１２】
テクセルに係わる加重値は、代表値を利用して、テクセル値を表現するために、少なくとも１つの代表値に適用される加重値を意味する。例えば、Ｔ（テクセル値）＝ｗ０＊ｅｐ０（第１代表値）＋ｗ１＊ｅｐ１（第２代表値）と表現される場合、加重値は、ｗ０またはｗ１でもある。テクスチャ圧縮装置３００は、決定されたブロックパターンを利用して、加重値を計算する一部テクセルを決定することができる。例えば、決定されたブロックパターンに含まれる領域のうち灰色で陰影表示された領域（第１領域）に対応するテクセルについてのみ加重値を計算することができる。テクスチャ圧縮装置３００は、テクセルブロックに係わるブロックパターン、テクセルブロックに係わる少なくとも１つの代表値、テクセルブロックを構成する一部テクセルに係わる加重値を含む圧縮データを生成することができる。
【０１１３】
また、テクスチャ圧縮装置３００は、追加データビットを使用するか否かということを決定することができる（Ｓ１０３０）。
【０１１４】
テクセルブロックを構成するテクセルのうち一部テクセルについてのみ加重値を計算し、圧縮データに含める場合、残りのテクセルに係わる加重値に対応するビットが減少する。テクスチャ圧縮装置３００は、減少されたビットを、代表値を示すデータビット、一部テクセルに係わる加重値を示すデータビット、ブロックパターンを示すデータビットに追加して割り当てるか否かということを決定することができる。追加データビットを割り当てる場合、段階１０１０（Ｓ１０１０）及び段階１０２０（Ｓ１０２０）をさらに遂行したり、図１０の段階９２０（Ｓ９２０）をさらに遂行したりすることができる。
【０１１５】
テクスチャ圧縮装置３００は、圧縮データをメモリ２００に出力することができ（Ｓ１０４０）、メモリ２００は、圧縮データを保存することができる。
【０１１６】
図１２は、一実施形態による、テクセルブロックを圧縮解除する方法を示すフローチャートである。図１２を参照すれば、テクスチャ処理装置１３０は、圧縮データを受信することができる（Ｓ１１１０）。例えば、テクスチャ処理装置１３０は、テクスチャ処理装置１３０の内部または外部のメモリ２００、またはＧＰＵ  １００外部のメモリ２００から、テクセルブロックを圧縮した圧縮データを受信することができる。
【０１１７】
テクスチャ処理装置１３０は、圧縮データに含まれるブロックパターンを抽出することができる（Ｓ１１２０）。例えば、テクスチャ処理装置１３０は、圧縮データに含まれたブロックパターンを示すデータをデコーディングし、ブロックパターンを抽出することができる。
【０１１８】
テクスチャ処理装置１３０は、ブロックパターンに基づいて、受信した圧縮データを圧縮解除し、テクセルブロックを構成するテクセルに係わるテクセル値を獲得することができる（Ｓ１１３０）。
【０１１９】
図１２の段階１１３０（Ｓ１１３０）については、図１３を参照して詳細に説明する。
【０１２０】
図１３は、図１２の段階１１３０（Ｓ１１３０）を具体的に示すフローチャートである。図１３を参照すれば、テクスチャ処理装置１３０は、圧縮データに含まれた代表値を示すデータ、加重値を示すデータをデコーディングし、テクセルブロックに係わる代表値、テクセルブロックに含まれる一部テクセルそれぞれに係わる加重値を獲得することができる（Ｓ１２１０）。
【０１２１】
テクスチャ処理装置１３０は、テクセルブロックに係わるブロックパターン、テクセルブロックに係わる代表値、テクセルブロックに含まれる一部テクセルそれぞれに係わる加重値を利用して、テクセルブロックを構成する一部テクセル（第１テクセル）に係わるテクセル値を計算することができる（Ｓ１２２０）。
【０１２２】
テクスチャ処理装置１３０は、一部テクセル（第１テクセル）に係わるテクセル値が計算されれば、抽出されたブロックパターンに基づいて、残りのテクセル（第２テクセル）に係わるテクセル値を計算することができる（Ｓ１２３０）。
【０１２３】
例えば、テクスチャ処理装置１３０は、第１テクセルのうちいずれか１つのテクセル値を、第２テクセルのうちいずれか１つのテクセル値として複写することができる。そのとき、ブロックパターンは、第１テクセルのうちいずれか１つのテクセル値が、第２テクセルのうちいずれか１つのテクセル値として複写されるかということに係わる情報を含んでもよい。例えば、ブロックパターンにおいて、第１テクセルのうち第１テクセルと、第２テクセルのうち第６テクセルとがマッピングされている場合、第１テクセルのテクセル値を、第６テクセルのテクセル値として複写することができる。
【０１２４】
または、テクスチャ処理装置１３０は、第１テクセルのテクセル値を補間し、第２テクセルのテクセル値を計算することができる。ただし、それに限定されるものではなく、テクスチャ処理装置１３０は、多様な方法で第２テクセルのテクセル値を計算することができる。
【０１２５】
それによって、テクスチャ処理装置１３０は、テクセルブロックを構成する全体テクセルに係わるテクセル値を獲得することができる。
【０１２６】
図１ないし図１３と係わって説明した動作を遂行する、図１のＧＰＵ  １００、ラスタライザ１１０、シェーダコア１２０、テクスチャ処理装置１３０、ピクセル処理装置１４０）、タイルバッファ１５０及びメモリ２００；図３のテクスチャ圧縮装置３００、ブロックパターン決定部３１０、圧縮部３２０及びメモリ２００；図７のテクスチャ処理装置１３０、ブロックパターン抽出部７１０、圧縮解除部７２０及びメモリ２００；並びに図９のテクスチャ処理装置１３０、ブロックパターン抽出部７１０、圧縮解除部７２０、テクスチャキャッシュ７３０、テクスチャフィルタ７４０及び制御部７５０は、ハードウェアコンポーネントによって具現されもする。ハードウェアコンポーネントの例としては、コントローラ、センサ、生成器、ドライバ、メモリ、比較器、演算論理ユニット（arithmetic  logic  units：ＡＬＵ）、加算器、減算器、乗算器、除算器、積分器、及び当発明が属する技術分野で公知の電子的コンポーネントを含んでもよい。
【０１２７】
一例としては、ハードウェアコンポーネントは、コンピュータハードウェアによって具現される。例えば、１以上のプロセッサまたはコンピュータによって具現される。１つのプロセッサまたはコンピュータは、１以上のメモリを含むか、または１以上のメモリに連結される。１以上のメモリは、プロセッサまたはコンピュータによって実行されるインストラクションまたはソフトウェアを保存する。プロセッサまたはコンピュータによって具現されるハードウェアコンポーネントは、図１ないし図１３と係わって説明した動作を遂行するために、１つの運用体系（ＯＳ）、及び運用体系（ＯＳ）上で実行される１以上のソフトウェアアプリケーションのようなインストラクションまたはソフトウェアを実行する。一方、一実施形態によるテクスチャ圧縮方法及びテクスチャ処理方法は、コンピュータで読み取り可能な記録媒体に、コンピュータで読み取り可能なコードでもって具現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取り可能なデータが保存される全種の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ＲＯＭ（read  only  memory）、ＲＡＭ（random  access  memory）、ＣＤ（compact  disc）−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置などがあり、またインターネットを介した伝送のようなキャリアウェーブの形態に具現されるものも含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でプロセッサにおいて読み取り可能なコードが保存されて実行される。
【０１２８】
また、以上では、本発明の実施形態について図示して説明したが、本発明は、前述の特定実施形態に限定されるものではなく、特許請求の範囲で請求する本発明の要旨を外れることなしに、当該発明が属する技術分野で当業者によって多様な変形実施が可能であるということは言うまでもなく、そのような変形実施は、本発明の技術的思想や展望から個別的に理解されるものではない。
【産業上の利用可能性】
【０１２９】
本発明のテクスチャを処理する方法及びその装置は、例えば、グラフィックス関連の技術分野に効果的に適用可能である。
【符号の説明】
【０１３０】
３０    バス
１００  グラフィック処理装置
１１０  ラスタライザ
１２０  シェーダコア
１３０  テクスチャ処理装置
１４０  ピクセル処理装置
１５０  タイルバッファ
２００  メモリ
３００  テクスチャ圧縮装置
３１０  ブロックパターン決定部
３２０  圧縮部
７１０  ブロックパターン抽出部
７２０  圧縮解除部
７３０  テクスチャキャッシュ
７４０  テクスチャフィルタ
７５０  制御部
【図１】
0006782593.tif 000002
【図２】
0006782593.tif 000003
【図３】
0006782593.tif 000004
【図４】
0006782593.tif 000005
【図５】
0006782593.tif 000006
【図６】
0006782593.tif 000007
【図７】
0006782593.tif 000008
【図８】
0006782593.tif 000009
【図９】
0006782593.tif 000010
【図１０】
0006782593.tif 000011
【図１１】
0006782593.tif 000012
【図１２】
0006782593.tif 000013
【図１３】
0006782593.tif 000014