JP6782593B2 - テクスチャを処理する方法及びその装置 - Google Patents

テクスチャを処理する方法及びその装置 Download PDF

Info

Publication number
JP6782593B2
JP6782593B2 JP2016184078A JP2016184078A JP6782593B2 JP 6782593 B2 JP6782593 B2 JP 6782593B2 JP 2016184078 A JP2016184078 A JP 2016184078A JP 2016184078 A JP2016184078 A JP 2016184078A JP 6782593 B2 JP6782593 B2 JP 6782593B2
Authority
JP
Japan
Prior art keywords
texel
block
value
texture
block pattern
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016184078A
Other languages
English (en)
Other versions
JP2017063418A (ja
Inventor
純 敏 權
純 敏 權
浩 榮 金
浩 榮 金
貞 愛 朴
貞 愛 朴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2017063418A publication Critical patent/JP2017063418A/ja
Application granted granted Critical
Publication of JP6782593B2 publication Critical patent/JP6782593B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Description

本発明は、テクスチャを構成するテクセルまたはピクセルを所定のブロック単位で圧縮する方法及びその装置、圧縮されたテクセルブロックを処理する方法及びその装置に関する。
三次元グラフィックスの各フレームに対するレンダリングを行うとき、多くの演算が行われるので、多くの電力とハードウェアリソースとが要求される。従って、三次元グラフィックスレンダリングを行うとき、演算量を減らすことが重要である。
三次元グラフィックスレンダリング過程中、ピクセルシェーディング過程での演算量を減らしてレンダリング速度を加速させるために、グラフィック処理装置(GPU:graphic processing unit)は、テクスチャ処理装置を含んでいる。
テクスチャ処理装置は、テクスチャリングに必要なテクスチャを生成する作業を行う。テクスチャリングは、三次元空間に形成されたオブジェクトに、事前に準備されたイメージを被せる作業であり、演算量を減らすための三次元グラフィックスレンダリングの重要動作の中の一つである。このとき、事前に準備されたイメージをテクスチャと呼び、テクスチャは、テクスチャ処理装置外部のメモリに圧縮された形態にあらかじめ準備されている。
テクスチャ処理装置は、テクスチャを構成するテクセルを、所定のブロック単位で圧縮した圧縮テクセルブロックを外部のメモリから受信して処理することにより、シェーダコアから要請されたテクスチャを伝送する。
本発明が解決しようとする課題は、テクスチャを構成するテクセルを、所定のブロック単位で圧縮するとき、ブロックパターンを利用して、全体テクセルではない一部テクセルに対して、圧縮を行うテクスチャ圧縮方法及びその装置を提供することである。
また、圧縮を行った一部テクセルを圧縮解除し、残りのテクセルに係わるテクセル値は、圧縮解除した一部テクセルに係わるテクセル値を利用して獲得するテクスチャ処理方法及びその装置を提供することである。
一実施形態によるテクスチャ圧縮方法は、テクスチャを構成するテクセルを、所定のブロック単位に分けたテクセルブロックを受信する段階、前記テクセルブロックに係わるブロックパターンを決定する段階、及び前記ブロックパターンに基づいて、前記テクセルブロックを圧縮する段階を含んでもよい。
一実施形態によるグラフィック処理装置を示す図面である。 グラフィック処理装置で三次元グラフィックスを処理する過程を示す図面である。 一実施形態によるテクスチャ圧縮装置の構成を示すブロック図である。 一実施形態によるテクセルブロックについて説明するための図面である。 一実施形態によるブロックパターンを示す図面である。 一実施形態によるブロックパターンに基づいて、テクセルブロックを圧縮する方法について説明するために参照される図面である。 一実施形態によるテクスチャ処理装置の構成を示すブロック図である。 一実施形態による圧縮データを圧縮解除する方法について説明するために参照される図面である。 一実施形態によるテクスチャ処理装置の構成を示すブロック図である。 一実施形態によるテクセルブロックを圧縮する方法を示すフローチャートである。 図10の段階930(S930)を具体的に示すフローチャートである。 一実施形態による、テクセルブロックを圧縮解除する方法を示すフローチャートである。 図12の段階1130(S1130)を具体的に示すフローチャートである。
<発明の概要>
一実施形態によるテクスチャ圧縮方法は、テクスチャを構成するテクセルを、所定のブロック単位に分けたテクセルブロックを受信する段階、前記テクセルブロックに係わるブロックパターンを決定する段階、及び前記ブロックパターンに基づいて、前記テクセルブロックを圧縮する段階を含んでもよい。
一実施形態によるブロックパターンは、前記テクセルブロックを構成するテクセルを、加重値またはインデックスを計算する第1テクセルと、前記加重値またはインデックスを計算しない第2テクセルとのうちいずれか一つに分類するためのパターンでもある。
一実施形態によるテクセルブロックに係わるブロックパターンを決定する段階は、複数のブロックパターンそれぞれに対して、前記第1テクセルに係わるテクセル値と、前記第2テクセルに係わるテクセル値との差値を計算する段階、及び前記複数のブロックパターンのうち、計算された差値が最小であるブロックパターンを、前記テクセルブロックに係わるブロックパターンとして決定する段階を含んでもよい。
一実施形態によるテクセルブロックを圧縮する段階は、前記テクセルブロックを構成するテクセルに係わる少なくとも1つの代表値を決定する段階、前記少なくとも1つの代表値に基づいて、前記第1テクセルに係わる加重値またはインデックスを計算する段階を含んでもよい。
一実施形態によるテクセルブロックを圧縮する段階は、前記ブロックパターン、前記少なくとも1つの代表値、及び前記第1テクセルに係わる加重値またはインデックスを含む圧縮データを生成する段階を含んでもよい。
一実施形態によるテクセルブロックを圧縮する段階は、前記テクセルのうち第2テクセルに係わる加重値またはインデックスに対応するデータビットを、前記少なくとも1つの代表値を示すデータビット、前記第1テクセルに係わる加重値またはインデックスを示すデータビット、及び前記ブロックパターンを示すデータビットのうち少なくとも一つに追加して割り当てる段階をさらに含んでもよい。
一実施形態によるテクセルブロックに含まれるテクセルは、対称性を有することができる。
一実施形態によるテクスチャ処理方法は、テクスチャを構成するテクセルを、所定のブロック単位で圧縮した圧縮データを受信する段階、前記圧縮データに含まれたブロックパターンを抽出する段階、及び前記ブロックパターンに基づいて、前記圧縮データを圧縮解除(decompressing)し、テクセルブロックを構成するテクセルを獲得する段階を含んでもよい。
一実施形態によるテクセルを獲得する段階は、前記圧縮データに基づいて、前記テクセルブロックを構成するテクセルに係わる少なくとも1つの代表値、及び前記第1テクセルに係わる加重値またはインデックスを獲得する段階、前記ブロックパターン、前記少なくとも1つの代表値、及び前記加重値またはインデックスを利用して、前記第1テクセルに係わるテクセル値を獲得する段階、並びに前記ブロックパターン、及び前記獲得した前記第1テクセルに係わるテクセル値に基づいて、前記第2テクセルに係わるテクセル値を獲得する段階を含んでもよい。
一実施形態による第2テクセルに係わるテクセル値を獲得する段階は、前記第1テクセルに係わるテクセル値のうちいずれか一つを複写(replicating)し、前記第2テクセルに係わるテクセル値のうちいずれか一つを獲得する段階を含んでもよい。
一実施形態によるテクスチャ圧縮装置は、テクスチャを構成するテクセルを、所定のブロック単位に分けたテクセルブロックを受信し、前記テクセルブロックに係わるブロックパターンを決定するブロックパターン決定部、及び前記ブロックパターンに基づいて、前記テクセルブロックを圧縮する圧縮部を含んでもよい。
一実施形態によるブロックパターン決定部は、複数のブロックパターンそれぞれに対して、前記第1テクセルに係わるテクセル値と、前記第2テクセルに係わるテクセル値との差値を計算し、前記複数のブロックパターンのうち、計算された差値が最小であるブロックパターンを、前記テクセルブロックに係わるブロックパターンとして決定することができる。
一実施形態による圧縮部は、前記テクセルブロックを構成するテクセルに係わる少なくとも1つの代表値を決定し、前記少なくとも1つの代表値に基づいて、前記第1テクセルに係わる加重値またはインデックスを計算することができる。
一実施形態による圧縮部は、前記ブロックパターン、前記少なくとも1つの代表値、及び前記第1テクセルに係わる加重値またはインデックスを含む圧縮データを生成することができる。
一実施形態による圧縮部は、前記テクセルのうち第2テクセルに係わる加重値またはインデックスに対応するデータビットを、前記少なくとも1つの代表値を示すデータビット、前記第1テクセルに係わる加重値またはインデックスを示すデータビット、及び前記ブロックパターンを示すデータビットのうち少なくとも一つに追加して割り当てることができる。
一実施形態によるテクスチャを構成するテクセルを、所定のブロック単位で圧縮した圧縮データを受信し、前記圧縮データに含まれたブロックパターンを抽出するブロックパターン抽出部、及び前記ブロックパターンに基づいて、前記圧縮データを圧縮解除し、テクセルブロックを構成するテクセルを獲得する圧縮解除部を含んでもよい。
一実施形態による圧縮解除部は、前記圧縮データに基づいて、前記ブロックパターン、前記テクセルブロックを構成するテクセルに係わる少なくとも1つの代表値、及び前記第1テクセルに係わる加重値またはインデックスを獲得し、前記ブロックパターン、前記少なくとも1つの代表値、及び前記加重値またはインデックスを利用して、前記第1テクセルに係わるテクセル値を獲得し、前記ブロックパターン、及び前記獲得した前記第1テクセルに係わるテクセル値に基づいて、前記第2テクセルに係わるテクセル値を獲得することができる。
一実施形態による圧縮解除部は、前記第1テクセルに係わるテクセル値のうちいずれか一つを複写し、前記第2テクセルに係わるテクセル値のうちいずれか一つを獲得することができる。
<発明の詳細>
本発明で使用される用語は、本発明での機能を考慮しながら、可能な限り現在汎用される一般的な用語を選択したが、それは、当該分野に携わる技術者の意図、判例あるいは新たな技術の出現などによって異なる。また、特定の場合は、出願人が任意に選定した用語もあり、その場合、当該発明の説明部分で詳細にその意味を記載する。従って、本発明で使用される用語は、単純な用語の名称ではない、その用語が有する意味と、本発明の全般にわたった内容とを基に定義されなければならない。
明細書全体で、ある部分がある構成要素を「含む」というとき、それは、特別に反対となる記載がない限り、他の構成要素を除くものではなく、他の構成要素をさらに含んでもよいということを意味する。また、明細書に記載された「…部」、「…モジュール」のような用語は、少なくとも1つの機能や動作を処理する単位を意味し、それは、ハードウェアまたはソフトウェアによって具現されるか、あるいはハードウェアとソフトウェアとの結合によっても具現される。
以下では、添付した図面を参照し、本発明の実施形態について、本発明が属する技術分野で当業者が容易に実施することができるように詳細に説明する。しかし、本発明は、さまざまに異なる形態に具現され、ここで説明する実施形態に限定されるものではない。
以下では、図面を参照し、本発明の実施形態について詳細に説明する。
図1は、一実施形態によるグラフィック処理装置を示す図面である。図1を参照すれば、グラフィック処理装置100は、ラスタライザ110、シェーダコア120、テクスチャ処理装置130、ピクセル処理装置140、タイルバッファ150を含んでもよい。
また、グラフィック処理装置100は、バス30を介して、外部のメモリ200とデータを送受信することができる。
図1に図示されたグラフィック処理装置100は、三次元グラフィックスを処理する装置であり、タイルに基づいたレンダリング(TBR:tile based rendering)方式を使用することができる。例えば、グラフィック処理装置100は、フレームを、一定サイズのタイルに分割し、分割された複数のタイルを、ラスタライザ110、シェーダコア120、ピクセル処理装置140で処理し、処理結果をタイルバッファ150に保存することができる。また、グラフィック処理装置100は、ラスタライザ110、シェーダコア120及びピクセル処理装置140で構成されるチャネルを複数個利用し、1フレームを構成する全てのタイルを並列処理することができる。グラフィック処理装置100は、1フレームを構成する全てのタイルが処理されれば、タイルバッファ150に保存された処理結果を、メモリ200のフレームバッファ(図示せず)に伝送することができる。
シェーダコア120は、ピクセルシェーダ(図示せず)を含んでもよい。また、シェーダコア120は、頂点シェーダをさらに含んだ形態でもあるか、あるいは頂点シェーダとピクセルシェーダとが統合された形態の統合シェーダでもある。シェーダコア120が頂点シェーダの機能を遂行することができる場合、オブジェクトを示すプリミティブを生成し、ラスタライザ110に伝達することができる。
ラスタライザ110は、幾何変換過程を経て、頂点シェーダから生成されたプリミティブをラスタライズすることができる。プリミティブのラスタライズは、プリミティブを複数のフラグメントに分割することを意味する。
シェーダコア120は、ラスタライザ110からラスタライズされたプリミティブを伝達され、ピクセルシェーディングを行うことができる。シェーダコア120は、ラスタライズを経て生成されたフラグメントの色相を決定するピクセルシェーディングを行うことができる。シェーダコア120は、ピクセルシェーディング過程において、立体的であって臨場感ある三次元グラフィックスを生成するために、テクスチャを利用して生成されたピクセル値を使用することができる。
シェーダコア120がテクスチャ処理装置130にピクセル値を要請すれば、テクスチャ処理装置130は、事前に準備されたテクスチャを処理して生成されたピクセル値を、シェーダコア120に伝達することができる。テクスチャは、テクスチャ処理装置130の内部または外部の所定メモリ、またはグラフィック処理装置100の外部メモリ200に保存されている。テクスチャ処理装置130は、シェーダコア120に要請したピクセル値の生成に利用されるテクスチャが、テクスチャ処理装置130内部の所定メモリに存在しない場合、テクスチャ処理装置130の外部メモリまたはメモリ200からテクスチャを持ってくる。
ピクセル処理装置140は、1つのタイル内の同じ位置に対応するピクセルに対して、深さテストのような過程を経て、最終的に表示されるピクセル値を決定することができる。
タイルバッファ150は、タイルに含まれる複数のピクセルの最終的なピクセル値が保存される。タイルに含まれた全てのピクセルのピクセル値が決定されれば、タイルは、メモリ200のフレームバッファ(図示せず)に出力される。
以下、図2を参照し、三次元グラフィックスを処理する過程について、さらに詳細に説明する。
図2は、グラフィック処理装置において、三次元グラフィックスを処理する過程を示す図面である。図2を参照すれば、三次元グラフィックスを処理する過程は、11段階(S11)ないし18段階(S18)を含んでもよい。また、図2の下側の図形は、各段階での頂点またはピクセルの処理を概念的に示す。
段階11(S11)は、映像を示す頂点を生成する段階である。頂点は,映像に含まれたオブジェクトを示すために生成される。
段階12(S12)は、生成された頂点をシェーディングする段階である。頂点シェーダは、段階11(S11)で生成された頂点の位置を指定し、頂点に対するシェーディングを行うことができる。
段階13(S13)は、プリミティブを生成する段階である。プリミティブは,点、線または頂点から形成される多角形を示す。一例として、該プリミティブは、頂点を連結して形成された三角形を示すこともできる。
段階14(S14)は、プリミティブをラスタライズする段階である。プリミティブのラスタライズは、プリミティブを複数のフラグメントに分割することを意味する。該フラグメントは、プリミティブを構成する単位であり、映像処理を行うための基本単位でもある。プリミティブは、頂点に係わる情報のみを含む。従って、ラスタライズする段階において、頂点と頂点のとのフラグメントを生成するときに補間が行われる。
段階15(S15)は、ピクセルをシェーディングする段階を示す。ラスタライズによって生成されたプリミティブを構成するフラグメントは、タイルを構成するピクセルにもなる。当該分野において、フラグメント及びピクセルという用語は、場合によっては、混用して使用される。例えば、ピクセルシェーダは、フラグメントシェーダと呼ぶことができる。一般的に、プリミティブを構成するグラフィック処理の基本単位をフラグメントと呼び、その後、ピクセルシェーディングからのグラフィック処理の基本単位をピクセルと呼ぶことができる。ピクセルシェーディングでは、ピクセルの色を決定することができる。
段階16(S16)は、ピクセルの色を決定するためのテクスチャリング段階を示す。テクスチャリングは、ピクセルの色を決定するとき、事前に準備されたイメージ、すなわち、テクスチャを利用して、ピクセルの色を決定する過程である。実世界の多様な色相とパターンの様子とを表現するために、ピクセルそれぞれの色相の計算は、グラフィック処理に必要なデータ量とグラフィック処理時間とを非常に大きくするので、事前に準備されたテクスチャを利用して、ピクセルの色相を決定するのである。例えば、オブジェクトの表面色相を、テクスチャという別途の二次元映像に保存し、オブジェクトの画面上の位置及び大きさなどによって、保存されたテクスチャを拡大したり縮小したりするか、多様な解像度を有するテクスチャを利用して、テクセル値を混合することにより、ピクセルの色相を決定することができる。
段階17(S17)は、テスト及びミキシング段階を示す。タイル内の同位置に対応するピクセルに対して、深さテストのような過程を経て、最終的に表示されるピクセル値を決定し、1つのタイルに該当するピクセル値を決定することができる。そのような過程を経て生成された複数個のタイルをミキシングし、1フレームに該当する三次元グラフィックスを生成することができる。
段階18(S18)は、段階11(S11)ないし段階17(S17)を介して生成されたフレームをフレームバッファに保存し、フレームバッファに保存されたフレームを、ディスプレイ装置を介して表示する段階を示す。
一方、テクスチャ処理装置130内の所定空間に、多様なオブジェクトに係わる全てのテクスチャ、及び各テクスチャに対応するミップマップの保存は、物理的に不可能である。テクスチャ保存に必要な空間を最小化し、テクスチャの伝送を効率的にするために、三次元グラフィックスレンダリングでは、一般的に、テクスチャを圧縮し、テクスチャの保存または伝送を行う。
しかし、テクスチャを圧縮し、圧縮されたテクスチャを圧縮解除(decompressing、又は解凍)するために、多くの演算量及び時間、それによる電力消耗が発生する。従って、テクスチャを圧縮し、圧縮された形態のテクスチャの圧縮解除にあたり、さらに効率的な圧縮及び圧縮解除の方式が必要である。
一実施形態によるテクスチャ圧縮方法及びその装置は、テクスチャを構成するテクセルを所定ブロック単位で圧縮するとき、テクセルブロックのパターンを利用して、全体テクセルではない一部テクセルに対して圧縮を行うことにより、圧縮に対する演算過程を減少させることができる。また、一実施形態によるテクスチャ処理方法及びその装置は、圧縮を行った一部テクセルを圧縮解除し、残りのテクセルに係わるテクセル値は、圧縮解除した一部テクセルに係わるテクセル値を利用して獲得することにより、圧縮解除に対する演算過程を減少させることができる。それによって、効率的なグラフィック処理を行うことができる。
図3は、一実施形態によるテクスチャ圧縮装置の構成を示すブロック図である。図3を参照すれば、テクスチャ圧縮装置300は、ブロックパターン決定部310及び圧縮部320を含んでもよい。
ブロックパターン決定部310は、テクセルブロックを受信し、受信したテクセルブロックのブロックパターンを決定することができる。テクセルブロックは、テクスチャを構成するテクセルを所定ブロック単位に分けたものを意味する。以下、図4を参照し、テクセルブロックについて説明する。
図4は、一実施形態によるテクセルブロックについて説明するための図面である。
テクスチャは、ハードウェアリソースの要求、及び通信環境の要求を満足させるために、三次元グラフィックス処理過程で圧縮された形態に保存される。テクスチャ圧縮装置300は、一般的に、テクスチャを構成するテクセルに対して、所定ブロック単位で圧縮を行う。
例えば、図4を参照すれば、テクスチャ400は、複数個のテクセルを含んでもよく、複数個のテクセルは、一定サイズを有するテクセルブロックに分けられる。図4では、テクセルブロック410の大きさが4x4であるテクセルブロック(以下、4x4テクセルブロック)として図示したが、それに限定されるものではなく、テクセルブロック410は、多様なサイズを有することができる。ただし、以下では、説明の便宜上、テクセルブロックの大きさが4x4であるとして説明する。
図4を参照すれば、4x4テクセルブロック410は、16個のテクセルT0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15で構成され、テクセルT0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15は、それぞれテクセル値を有することができる。
テクスチャ400が複数のテクセルブロックに分けられれば、1つのテクセルブロック410に含まれるテクセル値は、対称性を有することができる。例えば、4x4テクセルブロック410に含まれるテクセル値は、第1対角線415を基準に左右対称でもある。第2テクセルT1のテクセル値は、第5テクセルT4のテクセル値と同一であり、第3テクセルT2のテクセル値は、第9テクセルT8のテクセル値と同一であり、第4テクセルT3のテクセル値は、第13テクセルT12のテクセル値と同一であり、第7テクセルT6のテクセル値は、第10テクセルT9のテクセル値と同一であり、第8テクセルT7のテクセル値は、第14テクセルT13のテクセル値と同一であり、第12テクセルT11のテクセル値は、第15テクセルT14のテクセル値と同一である。
そのような場合、一実施形態によるテクスチャ圧縮装置300は、第1対角線415を中心に、左側または右側に位置したテクセルについてのみ圧縮を行い、圧縮データ(例えば、テクセルに係わる加重値またはインデックス)を生成することができる。その後、テクセルブロックに係わる圧縮解除時、圧縮を行ったテクセルを圧縮解除してテクセル値を獲得し、獲得したテクセル値を利用して、圧縮データを生成していないテクセルに係わるテクセル値を獲得することができる。それによって、一実施形態によるテクスチャ圧縮方法及び圧縮解除方法は、テクセルブロックに含まれる一部テクセルに係わる圧縮及び圧縮解除を行わず、演算量、時間及び電力消耗を減少させることができる。
一実施形態による圧縮方法では、テクセルブロックを構成するテクセルのうち、圧縮を行うテクセルと、圧縮を行わないテクセルとを分類するためのブロックパターンが必要である。ブロックパターンについては、図5を参照して詳細に説明する。
図5は、一実施形態によるブロックパターンを示す図面である。図5を参照すれば、ブロックパターン511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526は、テクセルブロックと同一サイズを有し、テクセルブロックを構成するテクセルそれぞれに対応する複数の領域を含む。複数の領域は、灰色に陰影された第1領域と、陰影されていない第2領域とに分けられる。ブロックパターンにおいて、灰色に陰影された領域は、テクセルブロックで圧縮を行うテクセルに対応し、ブロックパターンにおいて、灰色に陰影表示されていない領域は、テクセルブロックで圧縮を行わないテクセルに対応する。
一方、図5では、16個のブロックパターンを図示したが、それに限定されるものではなく、一実施形態による複数のブロックパターンは、多様なブロックパターンを含んでもよい。
ブロックパターン決定部310は、多種のブロックパターンのうち、テクセルブロックの圧縮に利用するブロックパターンを決定することができる。そのとき、ブロックパターン決定部310は、複数のブロックパターンのうち、圧縮するテクセルブロックの対称的な特性を最も良好に反映するブロックパターンを選択することができる。例えば、ブロックパターン決定部310は、複数のブロックパターンそれぞれに対して、灰色で陰影表示された第1領域に対応するテクセル値の和と、灰色で陰影表示されていない第2領域に対応するテクセル値の和との差値を計算し、差値が最小であるブロックパターンを選択することができる。そのとき、差値が最小であるブロックパターンが複数個検出される場合、ブロックパターン決定部310は、最も先に検出されたブロックパターンを選択することができる。または、ブロックパターン決定部310は、差値が既設定の値未満のブロックパターンを選択することができる。そのとき、差値が、既設定の値未満であるブロックパターンが複数個検出される場合、ブロックパターン決定部310は、最も先に検出されたブロックパターンを選択することができる。または、ブロックパターン決定部310は、ユーザ入力に基づいて、ブロックパターンを選択することができる。ただし、ブロックパターンの決定方法は、前述の方法に限定されるものではなく、多様な方法で決定される。
圧縮部320は、テクセルブロックに係わるブロックパターンが決定されれば、決定されたブロックパターンに基づいて、テクセルブロックを圧縮することができる。圧縮部320は、ブロックパターンに含まれる領域のうち、第1領域(灰色で陰影表示された領域)に対応するテクセルについては、圧縮を行い、第2領域(灰色で陰影表示されていない領域)に対応するテクセルについては、圧縮を行わない。
ブロックパターンに基づいて、テクセルブロックを圧縮する方法については、図6を参照して詳細に説明する。
図6は、一実施形態による、ブロックパターンに基づいて、テクセルブロックを圧縮する方法について説明するために参照される図面である。図6を参照すれば、圧縮部320は、テクセルブロックを構成するテクセルに係わる少なくとも1つの代表値を決定することができる。例えば、テクセルブロックを構成するテクセルに係わるテクセル値のうち、最大値ep(end point)0と最小値ep(end point)1を代表値として決定することができる。ただし、それに限定されるものではなく、多様な方式によっても代表値が決定される。
圧縮部320は、代表値が決定されれば、テクセルブロックを構成するテクセルのうち一部テクセルに係わる加重値を計算することができる。テクセルに係わる加重値は、代表値を利用してテクセル値を表現するために、少なくとも1つの代表値に適用される加重値を意味する。例えば、T(テクセル値)=w0*ep0(第1代表値)+(1−w0)*ep1(第2代表値)で表現される場合、加重値は、w0でもある。
圧縮部320は、決定されたブロックパターン610を利用して、加重値を計算する一部テクセルを決定することができる。例えば、決定されたブロックパターン610に含まれる領域のうち、灰色で陰影表示された領域に対応するテクセル(第1テクセル)ついてのみ加重値を計算することができる。例えば、圧縮部610は、第1テクセルT0、第2テクセルT1、第3テクセルT2、第4テクセルT3、第7テクセルT6、第8テクセルT7、第12テクセルT11、第16テクセルT15に対して加重値を計算することができる。
圧縮部320は、テクセルブロックに係わるブロックパターン、テクセルブロックに係わる少なくとも1つの代表値、テクセルブロックを構成する一部テクセルに係わる加重値を含む圧縮データ630を生成することができる。
図6を参照すれば、4x4テクセルブロックに係わる圧縮データ630は、ブロックパターンを示すデータBP0、少なくとも1つの代表値を示すデータep0,ep1、一部テクセルに係わる加重値を示すデータw0,w1,w2,w3,w4,w5,w6,w7を保存した形態でもある。
または、図示されていないが、圧縮部320は、テクセルブロックを構成する一部テクセルに係わる加重値の代わりに、一部テクセルに係わるインデックスを含む圧縮データを生成することができる。例えば、該インデックスは、あらかじめ計算された複数のポイントカラー値のうちいずれか一つを選択するためのデータを意味する。複数のポイントカラー値は、少なくとも1つの代表値に基づいて計算され、そのとき、少なくとも1つの代表値は、テクセルブロックを構成するテクセルに係わるテクセル値のうち、最大値ep0と最小値ep1とを含んでもよい。また、複数のポイントカラー値は、多様な方法を利用して計算される。
一例として、インデックスに割り当てられたビットが2ビットである場合、4個のポイントカラー値のうち一つが選択され、テクセルは、インデックスによって選択されたポイントカラー値を有することができる。
圧縮部320は、ブロックパターンに基づいて、インデックスを計算する一部テクセルを決定し、決定されたテクセルに対してのみインデックスを計算することができる。従って、4x4テクセルブロックに係わる圧縮データは、ブロックパターンを示すデータ、少なくとも1つの代表値を示すデータ、一部テクセルに係わるインデックスを示すデータを保存した形態でもある。
ブロックパターンの種類が、図5に図示されているように、16個である場合、ブロックパターンを示すデータBP0に4ビットが割り当てられる。また、1つの代表値(end point)を示すデータには、8ビットが割り当てられ、1つの加重値またはインデックスを示すデータには、2ビットが割り当てられる。
ブロックパターン610を利用せずに、4x4テクセルブロック620に含まれる全てのテクセルに対して、加重値またはインデックスを計算し、圧縮データに含める場合には、加重値またはインデックスに使用されるビット数が32ビット(=2ビットx16)である。一方、図6で説明したように、ブロックパターン610を利用して、テクセルブロックに含まれる16個のテクセルのうち8個のテクセルに対してのみ加重値またはインデックスを計算し、計算された加重値またはインデックスを圧縮データに含める場合には、加重値に使用されるビット数が16ビット(=2ビットx8)である。ブロックパターンに割り当てられる4ビットを除いても、圧縮データに使用されるビット数を12ビット減少させることができる。
一実施形態による圧縮部320は、残りのテクセルT4,T5,T8,T9,T10,T12,T13,T14の加重値またはインデックスが計算されないときに節約されるビットに対応する追加ビットを、少なくとも1つの代表値を示すデータビットにさらに割り当てることにより、代表値の個数を増加させることができる。または、減少されたビットを、ブロックパターンを示すデータビットにさらに割り当て、ブロックパターンの種類をさらに多様にする。または、一部テクセルに係わる加重値またはインデックスを示すデータビットにさらに割り当て、一部テクセルの加重値またはインデックスを示すことができる値の個数を増加させることができる。また、追加ビットを、代表値を示すデータビット、ブロックパターンを示すデータビット、及び一部テクセルの加重値またはインデックスを示すデータビットのうち、2以上の組み合わせに割り当てることができる。
追加ビットを利用して、代表値の個数を増加させるか、あるいはブロックパターンの種類をさらに多様にさせる場合、テクスチャの原本と、テクセルブロックを圧縮解除して獲得したテクスチャとの差を低減させることができる。
一方、図6では、ブロックパターン610に基づいて、テクセルブロックに含まれるテクセルのうち一部テクセルについてのみ加重値またはインデックスを計算し、テクセルブロックを圧縮することについてだけ説明したが、多種のブロックパターンのうち、テクセルブロックを圧縮するのに適切なブロックパターンが検出されない場合、テクスチャ圧縮装置300は、テクセルブロックに含まれる全てのテクセルに対して、加重値またはインデックスを計算することができる。そのような場合、圧縮データは、少なくとも1つの代表値を示すデータ、テクセルブロックに含まれる全てのテクセルに係わる加重値またはインデックスを示すデータを保存した形態でもある。
テクスチャ圧縮装置300は、圧縮データをメモリ200に保存することができる。
図7は、一実施形態によるテクスチャ処理装置の構成を示すブロック図である。図7を参照すれば、テクスチャ処理装置130は、ブロックパターン抽出部710及び圧縮解除部720を含んでもよい。
ブロックパターン抽出部710は、テクスチャ処理装置130の内部または外部のメモリ200、またはGPU 100外部のメモリ200から、テクセルブロックを圧縮した圧縮データを受信し、圧縮データに含まれたブロックパターンを抽出することができる。例えば、ブロックパターン抽出部710は、図8に図示されているように、圧縮データ830に含まれたブロックパターンを示すデータBP0をデコーディングし、ブロックパターン810を抽出することができる。
圧縮解除部710は、ブロックパターンに基づいて、受信した圧縮データを圧縮解除し、テクセルブロックを構成するテクセルに係わるテクセル値を獲得することができる。圧縮解除部710が圧縮データを圧縮解除し、テクセル値を獲得する方法については、図8を参照して詳細に説明する。
図8は、一実施形態による、圧縮データを圧縮解除する方法について説明するために参照される図面である。図8を参照すれば、圧縮解除部710は、圧縮データに含まれた代表値を示すデータ、加重値またはインデックスを示すデータをデコーディングし、テクセルブロックに係わる代表値、テクセルブロックに含まれる一部テクセルそれぞれに係わる加重値またはインデックスを獲得することができる。以下では、圧縮データに加重値を示すデータが含まれた場合を例として挙げて説明する。
例えば、圧縮解除部710は、代表値パーサを含み、圧縮データ830に含まれた代表値を示すデータep0,ep1をデコーディングし、加重値パーサを含み、加重値を示すデータw0,w1,w2,w3,w4,w5,w6,w7をデコーディングすることができる。それにより、圧縮解除部710は、テクセルブロックに係わる代表値、テクセルブロックに含まれる一部テクセルそれぞれに係わる加重値を獲得することができる。
圧縮解除部710は、テクセルブロックに係わるブロックパターン、テクセルブロックに係わる代表値、テクセルブロックに含まれる一部テクセルそれぞれに係わる加重値を利用して、テクセルブロックを構成するテクセルT0,T1,T2,T3,T6,T7,T11,T15に係わるテクセル値を計算することができる。具体的には、圧縮解除部710は、補間部を含み、テクセルブロックに係わる代表値と加重値とを利用したインターポレーションを行い、テクセルブロックを構成する一部テクセルT0,T1,T2,T3,T6,T7,T11,T15に係わるテクセル値を生成することができる。例えば、第1テクセルT0に係わるテクセル値は、代表値ep0,ep1と、第1テクセルT0に係わる加重値w0とを利用して計算することができる。また、圧縮解除部710は、複数個のテクセル値を並列して処理するように、複数の補間部を含んでもよい。
一方、圧縮データにインデックスを示すデータが含まれた場合、圧縮解除部710は、圧縮データをデコーディングし、テクセルブロックを構成する一部テクセルに係わるインデックスを獲得することができる。圧縮解除部710は、インデックスを利用して、一部テクセルに係わるテクセル値を決定することができる。例えば、一部テクセルそれぞれについて、インデックスによって選択されたポイントカラー値をテクセル値として決定することができる。
圧縮解除部710は、一部テクセルT0,T1,T2,T3,T6,T7,T11,T15(第1テクセル)に係わるテクセル値が計算されれば、抽出されたブロックパターンに基づいて、残りのテクセルT4,T5,T8,T9,T10,T12,T13,T14(第2テクセル)に係わるテクセル値を計算することができる。
圧縮解除部710は、第1テクセルのうちいずれか1つのテクセル値を、第2テクセルのうちいずれか1つのテクセル値として複写することができる。そのとき、ブロックパターン810は、第1テクセルのうちいずれか1つのテクセル値が、第2テクセルのうちいずれか1つのテクセル値として複写されるかということに係わる情報を含んでもよい。例えば、第1テクセルのうち第1テクセルT0と、第2テクセルのうち第6テクセルT5とがマッピングされる場合、第1テクセルT0のテクセル値を、第6テクセルT5のテクセル値として複写することができる。
または、圧縮解除部710は、第1テクセルのテクセル値を補間し、第2テクセルのテクセル値を計算することができる。ただし、それに限定されるものではなく、圧縮解除部710は、多様な方法で、第2テクセルのテクセル値を計算することができる。
圧縮解除部710は、獲得したテクセル値をシェーダコア120に出力することができる。
図9は、一実施形態によるテクスチャ処理装置の構成を示すブロック図である。図9を参照すれば、テクスチャ処理装置130は、制御部750、ブロックパターン抽出部710、圧縮解除部720、テクスチャキャッシュ730及びテクスチャフィルタ740を含んでもよい。ブロックパターン抽出部710及び圧縮解除部720について、図7及び8で説明した内容と同一内容は図9で省略する。
制御部750は、テクスチャ処理装置130の全般的な動作、及びテクスチャ処理装置130の内部構成要素間の信号フローを制御し、データを処理する機能を遂行する。
図1を再び参照すれば、シェーダコア120は、ピクセル処理時に必要なテクセルをテクスチャ処理装置130に要請する。それによって、制御部750は、シェーダコア120から要請されたテクセルのテクセルアドレスを受信することができる。制御部750は、要請されたテクセルが、テクスチャキャッシュ730に保存されているか否かということをまず判断することができる。要請されたテクセルが、テクスチャキャッシュ730に保存されていない場合、制御部750は、要請されたテクセルを含むテクセルブロックに係わる圧縮データを、外部のメモリ200に要請することができる。
それによって、テクスチャ処理装置130は、外部のメモリ200から、圧縮データを受信することができる。
ブロックパターン抽出部710は、受信した圧縮データに基づいて、テクセルブロックに係わるブロックパターンを抽出することができる。
圧縮解除部720は、受信した圧縮テクセルブロックに基づいて、テクセルブロックに係わる代表値、一部テクセルに係わる加重値を獲得することができる。圧縮解除部720は、獲得したテクセルブロックに係わる代表値、及び一部テクセルに係わる加重値に基づいて、一部テクセルに係わるテクセル値を計算することができる。また、圧縮解除部720は、計算された一部テクセルに係わるテクセル値と、抽出されたブロックパターンとに基づいて、残りのテクセルに係わるテクセル値を計算することができる。
テクスチャキャッシュ730は、圧縮解除されたテクセルに係わるテクセル値を保存することができる。一方、図9では、圧縮解除部720において、圧縮データを圧縮解除し、獲得したテクセル値が、テクスチャキャッシュ730に保存されるように図示されているが、それと異なり、圧縮が解除されていない圧縮データ形態でもテクスチャキャッシュ730に保存される。テクスチャキャッシュ730に保存された圧縮データが要請される場合、圧縮解除部720は、要請された圧縮データを圧縮解除し、テクセル値を生成することができる。
テクスチャフィルタ740は、圧縮データを圧縮解除し、生成されたテクセル値を利用して、テクスフィルタリングを行うことができる。テクセル値をフィルタリングするということは、テクセル値を混合し、ピクセルに対応するカラー値を求めることを意味する。例えば、テクスチュア処理装置130に要請されたテクセルのテクセルアドレスが示すテクスチャ空間上の一部領域に含まれたテクセル値の平均値を求めることにより、ピクセルに対応するカラー値を求めることができる。テクスチャフィルタ740でフィルタリングされたテクセル値は、シェーダコア120の要請に対する応答として、シェーダコア120に伝送される。テクスチャフィルタ740で遂行するテクスチャフィルタリング方式は、トリリニアフィルタリング方式を含んだ多様なフィルタリング方式でもある。
図10は、一実施形態による、テクセルブロックを圧縮する方法を示すフローチャートである。図10を参照すれば、テクスチャ圧縮装置300は、テクセルブロックを受信することができる(S910)。
テクセルブロックは、テクスチャを構成するテクセルを所定ブロック単位に分けたものを意味する。テクセルブロックは、多様なサイズを有することができる。テクスチャをテクセルブロックに分ける場合、1つのテクセルブロックに含まれるテクセル値は、対称性を有することができる。
テクスチャ圧縮装置300は、テクセルブロックに係わるブロックパターンを決定することができる(S920)。
一実施形態によるブロックパターンは、テクセルブロックを構成するテクセルのうち、圧縮を行うテクセルと、圧縮を行わないテクセルとを分類するためのパターンである。
例えば、ブロックパターンは、テクセルブロックを構成するテクセルそれぞれに対応する複数の領域を含み、複数の領域は、灰色に陰影された第1領域と、灰色に陰影されていない第2領域とに分けられる。ブロックパターンにおいて第1領域は、テクセルブロックで圧縮を行うテクセルに対応し、ブロックパターンにおいて第2領域は、テクセルブロックで圧縮を行わないテクセルに対応する。ただし、それに限定されるものではなく、第1領域は、圧縮を行わないテクセルに対応し、第2領域は、圧縮を行うテクセルにも対応する。
テクスチャ圧縮装置300は、複数のブロックパターンのうち入力されたテクセルブロックの圧縮に利用するブロックパターンを決定することができる。テクスチャ圧縮装置300は、複数のブロックパターンのうちテクセルブロックの対称的な特性を最も良好に反映するブロックパターンを選択することができる。例えば、テクスチャ圧縮装置300は、複数のブロックパターンそれぞれに対して、第1領域に対応するテクセル値の和と、第2領域に対応するテクセル値の和との差値を計算し、差値が最小であるブロックパターンを決定することができる。
テクスチャ圧縮装置300は、決定されたブロックパターンを利用して、テクセルブロックを圧縮することができる(S930)。
図10の段階930(S930)については、図11を参照して詳細に説明する。
図11は、図10の段階930(S930)を具体的に示すフローチャートである。図11を参照すれば、テクスチャ圧縮装置300は、テクセルブロックに係わる代表値を決定することができる(S1010)。
例えば、テクスチャ圧縮装置300は、テクセルブロックを構成するテクセルに係わるテクセル値のうち、最大値及び最小値、すなわち、エンドポイント(end point)値それぞれを代表値として決定することができる。ただし、それに限定されるものではなく、多様な方式で代表値が決定される。
テクスチャ圧縮装置300は、代表値が決定されれば、テクセルブロックを構成するテクセルのうち一部テクセルに係わる加重値を計算することができる(S1020)。
テクセルに係わる加重値は、代表値を利用して、テクセル値を表現するために、少なくとも1つの代表値に適用される加重値を意味する。例えば、T(テクセル値)=w0*ep0(第1代表値)+w1*ep1(第2代表値)と表現される場合、加重値は、w0またはw1でもある。テクスチャ圧縮装置300は、決定されたブロックパターンを利用して、加重値を計算する一部テクセルを決定することができる。例えば、決定されたブロックパターンに含まれる領域のうち灰色で陰影表示された領域(第1領域)に対応するテクセルについてのみ加重値を計算することができる。テクスチャ圧縮装置300は、テクセルブロックに係わるブロックパターン、テクセルブロックに係わる少なくとも1つの代表値、テクセルブロックを構成する一部テクセルに係わる加重値を含む圧縮データを生成することができる。
また、テクスチャ圧縮装置300は、追加データビットを使用するか否かということを決定することができる(S1030)。
テクセルブロックを構成するテクセルのうち一部テクセルについてのみ加重値を計算し、圧縮データに含める場合、残りのテクセルに係わる加重値に対応するビットが減少する。テクスチャ圧縮装置300は、減少されたビットを、代表値を示すデータビット、一部テクセルに係わる加重値を示すデータビット、ブロックパターンを示すデータビットに追加して割り当てるか否かということを決定することができる。追加データビットを割り当てる場合、段階1010(S1010)及び段階1020(S1020)をさらに遂行したり、図10の段階920(S920)をさらに遂行したりすることができる。
テクスチャ圧縮装置300は、圧縮データをメモリ200に出力することができ(S1040)、メモリ200は、圧縮データを保存することができる。
図12は、一実施形態による、テクセルブロックを圧縮解除する方法を示すフローチャートである。図12を参照すれば、テクスチャ処理装置130は、圧縮データを受信することができる(S1110)。例えば、テクスチャ処理装置130は、テクスチャ処理装置130の内部または外部のメモリ200、またはGPU 100外部のメモリ200から、テクセルブロックを圧縮した圧縮データを受信することができる。
テクスチャ処理装置130は、圧縮データに含まれるブロックパターンを抽出することができる(S1120)。例えば、テクスチャ処理装置130は、圧縮データに含まれたブロックパターンを示すデータをデコーディングし、ブロックパターンを抽出することができる。
テクスチャ処理装置130は、ブロックパターンに基づいて、受信した圧縮データを圧縮解除し、テクセルブロックを構成するテクセルに係わるテクセル値を獲得することができる(S1130)。
図12の段階1130(S1130)については、図13を参照して詳細に説明する。
図13は、図12の段階1130(S1130)を具体的に示すフローチャートである。図13を参照すれば、テクスチャ処理装置130は、圧縮データに含まれた代表値を示すデータ、加重値を示すデータをデコーディングし、テクセルブロックに係わる代表値、テクセルブロックに含まれる一部テクセルそれぞれに係わる加重値を獲得することができる(S1210)。
テクスチャ処理装置130は、テクセルブロックに係わるブロックパターン、テクセルブロックに係わる代表値、テクセルブロックに含まれる一部テクセルそれぞれに係わる加重値を利用して、テクセルブロックを構成する一部テクセル(第1テクセル)に係わるテクセル値を計算することができる(S1220)。
テクスチャ処理装置130は、一部テクセル(第1テクセル)に係わるテクセル値が計算されれば、抽出されたブロックパターンに基づいて、残りのテクセル(第2テクセル)に係わるテクセル値を計算することができる(S1230)。
例えば、テクスチャ処理装置130は、第1テクセルのうちいずれか1つのテクセル値を、第2テクセルのうちいずれか1つのテクセル値として複写することができる。そのとき、ブロックパターンは、第1テクセルのうちいずれか1つのテクセル値が、第2テクセルのうちいずれか1つのテクセル値として複写されるかということに係わる情報を含んでもよい。例えば、ブロックパターンにおいて、第1テクセルのうち第1テクセルと、第2テクセルのうち第6テクセルとがマッピングされている場合、第1テクセルのテクセル値を、第6テクセルのテクセル値として複写することができる。
または、テクスチャ処理装置130は、第1テクセルのテクセル値を補間し、第2テクセルのテクセル値を計算することができる。ただし、それに限定されるものではなく、テクスチャ処理装置130は、多様な方法で第2テクセルのテクセル値を計算することができる。
それによって、テクスチャ処理装置130は、テクセルブロックを構成する全体テクセルに係わるテクセル値を獲得することができる。
図1ないし図13と係わって説明した動作を遂行する、図1のGPU 100、ラスタライザ110、シェーダコア120、テクスチャ処理装置130、ピクセル処理装置140)、タイルバッファ150及びメモリ200;図3のテクスチャ圧縮装置300、ブロックパターン決定部310、圧縮部320及びメモリ200;図7のテクスチャ処理装置130、ブロックパターン抽出部710、圧縮解除部720及びメモリ200;並びに図9のテクスチャ処理装置130、ブロックパターン抽出部710、圧縮解除部720、テクスチャキャッシュ730、テクスチャフィルタ740及び制御部750は、ハードウェアコンポーネントによって具現されもする。ハードウェアコンポーネントの例としては、コントローラ、センサ、生成器、ドライバ、メモリ、比較器、演算論理ユニット(arithmetic logic units:ALU)、加算器、減算器、乗算器、除算器、積分器、及び当発明が属する技術分野で公知の電子的コンポーネントを含んでもよい。
一例としては、ハードウェアコンポーネントは、コンピュータハードウェアによって具現される。例えば、1以上のプロセッサまたはコンピュータによって具現される。1つのプロセッサまたはコンピュータは、1以上のメモリを含むか、または1以上のメモリに連結される。1以上のメモリは、プロセッサまたはコンピュータによって実行されるインストラクションまたはソフトウェアを保存する。プロセッサまたはコンピュータによって具現されるハードウェアコンポーネントは、図1ないし図13と係わって説明した動作を遂行するために、1つの運用体系(OS)、及び運用体系(OS)上で実行される1以上のソフトウェアアプリケーションのようなインストラクションまたはソフトウェアを実行する。一方、一実施形態によるテクスチャ圧縮方法及びテクスチャ処理方法は、コンピュータで読み取り可能な記録媒体に、コンピュータで読み取り可能なコードでもって具現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取り可能なデータが保存される全種の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ROM(read only memory)、RAM(random access memory)、CD(compact disc)−ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ保存装置などがあり、またインターネットを介した伝送のようなキャリアウェーブの形態に具現されるものも含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でプロセッサにおいて読み取り可能なコードが保存されて実行される。
また、以上では、本発明の実施形態について図示して説明したが、本発明は、前述の特定実施形態に限定されるものではなく、特許請求の範囲で請求する本発明の要旨を外れることなしに、当該発明が属する技術分野で当業者によって多様な変形実施が可能であるということは言うまでもなく、そのような変形実施は、本発明の技術的思想や展望から個別的に理解されるものではない。
本発明のテクスチャを処理する方法及びその装置は、例えば、グラフィックス関連の技術分野に効果的に適用可能である。
30 バス
100 グラフィック処理装置
110 ラスタライザ
120 シェーダコア
130 テクスチャ処理装置
140 ピクセル処理装置
150 タイルバッファ
200 メモリ
300 テクスチャ圧縮装置
310 ブロックパターン決定部
320 圧縮部
710 ブロックパターン抽出部
720 圧縮解除部
730 テクスチャキャッシュ
740 テクスチャフィルタ
750 制御部

Claims (18)

  1. テクスチャを構成するテクセルを所定ブロック単位に分けたテクセルブロックを受信する段階と、
    前記テクセルブロックに係わるブロックパターンを決定する段階であって、前記ブロックパターンは、前記テクセルブロックを構成するテクセルを、加重値またはインデックスを計算する第1テクセルと、前記加重値またはインデックスを計算しない第2テクセルとのうちいずれか一つに分類するためのパターンであり、
    複数のブロックパターンそれぞれに対して、前記第1テクセルに係わるテクセル値と、前記第2テクセルに係わるテクセル値との差値を計算する段階と、
    前記複数のブロックパターンのうち、計算された差値が最小であるブロックパターンを、前記テクセルブロックに係わるブロックパターンとして決定する段階と、を含む段階と、
    前記ブロックパターンに基づいて、前記テクセルブロックを圧縮する段階と、を含むテクスチャ圧縮方法。
  2. 前記テクセルブロックを圧縮する段階は、
    前記テクセルブロックを構成するテクセルに係わる少なくとも1つの代表値を決定する段階と、
    前記少なくとも1つの代表値に基づいて、前記第1テクセルに係わる加重値またはインデックスを計算する段階と、を含むことを特徴とする請求項に記載のテクスチャ圧縮方法。
  3. 前記テクセルブロックを圧縮する段階は、
    前記ブロックパターン、前記少なくとも1つの代表値、及び前記第1テクセルに係わる加重値またはインデックスを含む圧縮データを生成する段階を含むことを特徴とする請求項に記載のテクスチャ圧縮方法。
  4. 前記テクセルブロックを圧縮する段階は、
    前記テクセルのうち第2テクセルに係わる加重値またはインデックスに対応するデータビットを、前記少なくとも1つの代表値を示すデータビット、前記第1テクセルに係わる加重値またはインデックスを示すデータビット、及び前記ブロックパターンを示すデータビットのうち少なくとも一つに追加して割り当てる段階をさらに含むことを特徴とする請求項に記載のテクスチャ圧縮方法。
  5. 前記テクセルブロックに含まれるテクセルは、対称性を有することを特徴とする請求項1乃至のいずれか一項に記載のテクスチャ圧縮方法。
  6. 請求項1乃至のいずれか一項に記載の方法をコンピュータに実行させるコンピュータプログラム。
  7. テクスチャを構成するテクセルを所定ブロック単位で圧縮した圧縮データを受信する段階と、
    前記圧縮データに含まれたブロックパターンを抽出する段階であって、前記ブロックパターンは、テクセルブロックを構成するテクセルを、加重値またはインデックスを計算された第1テクセルと、前記加重値またはインデックスを計算されなかった第2テクセルとのうちいずれか一つに分類するためのパターンであり、前記ブロックパターンは、前記第1テクセルに係わるテクセル値と、前記第2テクセルに係わるテクセル値との差値が最小であるブロックパターンである、段階と、
    前記ブロックパターンに基づいて、前記圧縮データを圧縮解除し、前記テクセルブロックを構成するテクセルを獲得する段階を含むテクスチャ処理方法。
  8. 前記テクセルを獲得する段階は、
    前記圧縮データに基づいて、前記テクセルブロックを構成するテクセルに係わる少なくとも1つの代表値、及び前記第1テクセルに係わる加重値またはインデックスを獲得する段階と、
    前記ブロックパターン、前記少なくとも1つの代表値、及び前記加重値またはインデックスを利用して、前記第1テクセルに係わるテクセル値を獲得する段階と、
    前記ブロックパターン、及び前記獲得した前記第1テクセルに係わるテクセル値に基づいて、前記第2テクセルに係わるテクセル値を獲得する段階と、を含むことを特徴とする請求項に記載のテクスチャ処理方法。
  9. 前記第2テクセルに係わるテクセル値を獲得する段階は、
    前記第1テクセルに係わるテクセル値のうちいずれか一つを複写し、前記第2テクセルに係わるテクセル値のうちいずれか一つを獲得する段階を含むことを特徴とする請求項に記載のテクスチャ処理方法。
  10. 請求項乃至のいずれか一項に記載の方法をコンピュータに実行させるコンピュータプログラム。
  11. テクスチャを構成するテクセルを所定ブロック単位に分けたテクセルブロックを受信し、前記テクセルブロックに係わるブロックパターンを決定するブロックパターン決定部であって、前記ブロックパターンは、前記テクセルブロックを構成するテクセルを、加重値またはインデックスを計算する第1テクセルと、前記加重値またはインデックスを計算しない第2テクセルとのうちいずれか一つに分類するためのパターンであり、前記ブロックパターン決定部は、
    複数のブロックパターンそれぞれに対して、前記第1テクセルに係わるテクセル値と、前記第2テクセルに係わるテクセル値との差値を計算し、
    前記複数のブロックパターンのうち、計算された差値が最小であるブロックパターンを、前記テクセルブロックに係わるブロックパターンとして決定する、ブロックパターン決定部と、
    前記ブロックパターンに基づいて、前記テクセルブロックを圧縮する圧縮部と、を含むテクスチャ圧縮装置。
  12. 前記圧縮部は、
    前記テクセルブロックを構成するテクセルに係わる少なくとも1つの代表値を決定し、前記少なくとも1つの代表値に基づいて、前記第1テクセルに係わる加重値またはインデックスを計算することを特徴とする請求項11に記載のテクスチャ圧縮装置。
  13. 前記圧縮部は、
    前記ブロックパターン、前記少なくとも1つの代表値、及び前記第1テクセルに係わる加重値またはインデックスを含む圧縮データを生成することを特徴とする請求項12に記載のテクスチャ圧縮装置。
  14. 前記圧縮部は、
    前記テクセルのうち第2テクセルに係わる加重値またはインデックスに対応するデータビットを、前記少なくとも1つの代表値を示すデータビット、前記第1テクセルに係わる加重値またはインデックスを示すデータビット、及び前記ブロックパターンを示すデータビットのうち少なくとも一つに追加して割り当てることを特徴とする請求項13に記載のテクスチャ圧縮装置。
  15. 前記テクセルブロックに含まれるテクセルは、対称性を有することを特徴とする請求項11乃至14のいずれか一項に記載のテクスチャ圧縮装置。
  16. テクスチャを構成するテクセルを、所定ブロック単位で圧縮した圧縮データを受信し、前記圧縮データに含まれたブロックパターンを抽出するブロックパターン抽出部であって、前記ブロックパターンは、テクセルブロックを構成するテクセルを、加重値またはインデックスを計算された第1テクセルと、前記加重値またはインデックスを計算されなかった第2テクセルとのうちいずれか一つに分類するためのパターンであり、前記ブロックパターンは、前記第1テクセルに係わるテクセル値と、前記第2テクセルに係わるテクセル値との差値が最小であるブロックパターンである、ブロックパターン抽出部と、
    前記ブロックパターンに基づいて、前記圧縮データを圧縮解除し、前記テクセルブロックを構成するテクセルを獲得する圧縮解除部と、を含むテクスチャ処理装置。
  17. 前記圧縮解除部は、
    前記圧縮データに基づいて、前記ブロックパターン、前記テクセルブロックを構成するテクセルに係わる少なくとも1つの代表値、及び前記第1テクセルに係わる加重値またはインデックスを獲得し、
    前記ブロックパターン、前記少なくとも1つの代表値、及び前記加重値またはインデックスを利用して、前記第1テクセルに係わるテクセル値を獲得し、
    前記ブロックパターン、及び前記獲得した前記第1テクセルに係わるテクセル値に基づいて、前記第2テクセルに係わるテクセル値を獲得することを特徴とする請求項16に記載のテクスチャ処理装置。
  18. 前記圧縮解除部は、
    前記第1テクセルに係わるテクセル値のうちいずれか一つを複写し、前記第2テクセルに係わるテクセル値のうちいずれか一つを獲得することを特徴とする請求項17に記載のテクスチャ処理装置。
JP2016184078A 2015-09-22 2016-09-21 テクスチャを処理する方法及びその装置 Active JP6782593B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150133886A KR102477264B1 (ko) 2015-09-22 2015-09-22 텍스쳐를 처리하는 방법 및 장치
KR10-2015-0133886 2015-09-22

Publications (2)

Publication Number Publication Date
JP2017063418A JP2017063418A (ja) 2017-03-30
JP6782593B2 true JP6782593B2 (ja) 2020-11-11

Family

ID=56997345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016184078A Active JP6782593B2 (ja) 2015-09-22 2016-09-21 テクスチャを処理する方法及びその装置

Country Status (5)

Country Link
US (1) US10068353B2 (ja)
EP (1) EP3147865A1 (ja)
JP (1) JP6782593B2 (ja)
KR (1) KR102477264B1 (ja)
CN (1) CN106548498B (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9378560B2 (en) * 2011-06-17 2016-06-28 Advanced Micro Devices, Inc. Real time on-chip texture decompression using shader processors
US10535114B2 (en) * 2015-08-18 2020-01-14 Nvidia Corporation Controlling multi-pass rendering sequences in a cache tiling architecture
KR20180048081A (ko) * 2016-11-02 2018-05-10 삼성전자주식회사 텍스쳐 처리 방법 및 장치
KR102507669B1 (ko) * 2017-10-18 2023-03-09 삼성전자주식회사 전자 장치 및 그의 제어방법
KR102489266B1 (ko) 2018-08-13 2023-01-17 엘지전자 주식회사 모바일 디바이스 및 그 제어 방법
US11069023B2 (en) * 2019-05-24 2021-07-20 Nvidia Corporation Techniques for efficiently accessing memory and avoiding unnecessary computations
CN110458922B (zh) * 2019-08-14 2022-12-27 深圳市商汤科技有限公司 图形渲染方法及相关产品
US11704860B2 (en) 2021-05-14 2023-07-18 Nvidia Corporation Accelerated processing via a physically based rendering engine
US11908064B2 (en) 2021-05-14 2024-02-20 Nvidia Corporation Accelerated processing via a physically based rendering engine
US11830123B2 (en) 2021-05-14 2023-11-28 Nvidia Corporation Accelerated processing via a physically based rendering engine
US11875444B2 (en) * 2021-05-14 2024-01-16 Nvidia Corporation Accelerated processing via a physically based rendering engine
US11853764B2 (en) 2021-05-14 2023-12-26 Nvidia Corporation Accelerated processing via a physically based rendering engine

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100490885B1 (ko) * 2002-04-17 2005-05-19 중앙대학교 산학협력단 직각 교차 실린더를 이용한 영상기반 렌더링 방법
US6940511B2 (en) * 2002-06-07 2005-09-06 Telefonaktiebolaget L M Ericsson (Publ) Graphics texture processing methods, apparatus and computer program products using texture compression, block overlapping and/or texture filtering
JP4044069B2 (ja) * 2004-04-23 2008-02-06 株式会社ソニー・コンピュータエンタテインメント テクスチャ処理装置、テクスチャ処理方法および画像処理装置
US7852916B2 (en) 2004-06-27 2010-12-14 Apple Inc. Efficient use of storage in encoding and decoding video data streams
KR100648923B1 (ko) 2004-12-14 2006-11-28 삼성전자주식회사 화상형성 시스템 및 화상형성 방법
GB0504570D0 (en) * 2005-03-04 2005-04-13 Falanx Microsystems As Method of and apparatus for encoding data
KR100781833B1 (ko) 2006-03-29 2007-12-03 주식회사 팬택 컬러 데이터의 압축 방법
MX2009006404A (es) * 2006-12-18 2009-06-23 Koninkl Philips Electronics Nv Compresion y descompresion de imagen.
CA2758262C (en) 2009-04-08 2016-09-13 Watchitoo, Inc. System and method for image compression
US8625910B2 (en) * 2011-02-25 2014-01-07 Adobe Systems Incorporated Compression of image data
GB2491688B (en) * 2011-05-05 2014-08-27 Advanced Risc Mach Ltd Method of and apparatus for encoding and decoding data
GB2495301B (en) * 2011-09-30 2018-01-17 Advanced Risc Mach Ltd Method of and apparatus for encoding data
CN102368329A (zh) * 2011-10-24 2012-03-07 龙芯中科技术有限公司 图形系统中纹理图像透明度通道处理系统与装置和方法
GB2503691B (en) * 2012-07-04 2019-08-14 Advanced Risc Mach Ltd Methods of and apparatus for encoding and decoding data
GB2507127B (en) * 2012-10-22 2014-10-08 Gurulogic Microsystems Oy Encoder, decoder and method
CN103886623B (zh) * 2012-12-19 2017-03-15 华为技术有限公司 一种图像压缩方法、设备及系统
US10147202B2 (en) * 2013-03-15 2018-12-04 Arm Limited Methods of and apparatus for encoding and decoding data
CN104869425A (zh) * 2015-05-13 2015-08-26 信阳师范学院 一种基于纹理图像相似性的压缩和解压缩方法

Also Published As

Publication number Publication date
US10068353B2 (en) 2018-09-04
KR102477264B1 (ko) 2022-12-13
KR20170035154A (ko) 2017-03-30
CN106548498A (zh) 2017-03-29
EP3147865A1 (en) 2017-03-29
JP2017063418A (ja) 2017-03-30
US20170084055A1 (en) 2017-03-23
CN106548498B (zh) 2021-07-20

Similar Documents

Publication Publication Date Title
JP6782593B2 (ja) テクスチャを処理する方法及びその装置
EP3026633B1 (en) Texture processing method and unit
CN106408634B (zh) 纹理处理设备和方法
US9330475B2 (en) Color buffer and depth buffer compression
TWI731871B (zh) 用於最佳化在唯位置著色圖磚延遲渲染器中的剪裁操作的方法、裝置及非暫態電腦可讀取媒體
US7804499B1 (en) Variable performance rasterization with constant effort
US10453274B2 (en) Texture compressing method and apparatus and texture decompressing method and apparatus
US9679530B2 (en) Compressing graphics data rendered on a primary computer for transmission to a remote computer
US11715253B2 (en) Pixelation optimized delta color compression
KR20160046614A (ko) 텍스쳐를 처리하는 방법 및 장치
US11250611B1 (en) Graphics processing
US20210358174A1 (en) Method and apparatus of data compression
CN115836317A (zh) 增量三元组索引压缩
US10269168B2 (en) Graphics processing systems
US20230186523A1 (en) Method and system for integrating compression
CN106447593B (zh) 操作图形处理流水线的方法、图形处理流水线、存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190725

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200512

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201020

R150 Certificate of patent or registration of utility model

Ref document number: 6782593

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250