TWI408618B - 具有可設定化濾波模組之繪圖處理器及其運算方法 - Google Patents

具有可設定化濾波模組之繪圖處理器及其運算方法 Download PDF

Info

Publication number
TWI408618B
TWI408618B TW99116972A TW99116972A TWI408618B TW I408618 B TWI408618 B TW I408618B TW 99116972 A TW99116972 A TW 99116972A TW 99116972 A TW99116972 A TW 99116972A TW I408618 B TWI408618 B TW I408618B
Authority
TW
Taiwan
Prior art keywords
value
filter
pixel
storage area
equation
Prior art date
Application number
TW99116972A
Other languages
English (en)
Other versions
TW201142739A (en
Inventor
Shao Yi Chien
Chih Hao Sun
You Ming Tsao
Ka-Hang Lok
Original Assignee
Univ Nat Taiwan
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 Univ Nat Taiwan filed Critical Univ Nat Taiwan
Priority to TW99116972A priority Critical patent/TWI408618B/zh
Publication of TW201142739A publication Critical patent/TW201142739A/zh
Application granted granted Critical
Publication of TWI408618B publication Critical patent/TWI408618B/zh

Links

Landscapes

  • Image Generation (AREA)
  • Image Processing (AREA)

Description

具有可設定化濾波模組之繪圖處理器及其運算方法
本發明有關於一種具有可設定化濾波模組之繪圖處理器及其運算方法,使用者可選定一適當的濾波方程式及設定濾波方程式可調整的參數,致使以根據使用者的指示而決定繪圖處理器的運算方式。
現今繪圖處理器(Graphics Processing Unit;GPU)常使用於3D繪圖上,以透過繪圖處理器的貼圖功能而在一電腦系統的螢幕上顯示出一3D影像。
如第1圖所示,為習用繪圖處理器之結構示意圖。如圖所示,繪圖處理器100包括有一記憶體模組11、一固定式濾波模組13一及可程式化著色模組15。
記憶體模組11儲存有複數張紋理影像111,該紋理影像111屬於2D座標點(U,V)的紋理空間影像,其最小可定址單元為紋理像素(texel),固定式濾波模組13包括有一紋理濾波器(texture filter)131及一快取記憶體133,而可程式化著色模組15包括有複數個著色器(shaders),例如:頂點著色器(vertex shader)、幾何著色器(geometry shader)、像素著色器(pixel shader)。
當繪圖處理器100進行3D繪圖時,可程式化著色模組15可在一3D螢幕空間上描繪出一3D物件151(如第2(A)圖或第2(B)圖所示),並將3D物件151的各座標點P(U,V,D)傳送至固定式濾波模組13。固定式濾波模組13係從記憶體模組11中提取至少一紋理影像111,並將紋理影像111暫存於快取記憶體133中。接續,固定式濾波模組13之紋理濾波器131將可程式化著色模組15提供的座標點P對應到紋理空間上的紋理影像111,並從快取記憶體133中存取該座標點P周圍相鄰的至少一紋理像素點,紋理濾波器131在對於這些相鄰紋理像素點進行一加權運算,即可取得該座標點P的像素值。之後,固定式濾波模組13傳送各座標點P的像素值至可程式化著色模組15,以將各座標點P的像素值陸續貼在3D物件151表面,而令物件151得以紋理化。
又,快取記憶體133對於每一紋理影像111會分別暫存有不同解析度之圖層紋理影像,每一圖層紋理影像的尺寸為前一層的一半,假設第0層(Level 0)的影像尺寸為256×256,則第1層(Level 1)的影像尺寸即為128×128,依此類推至1×1。而固定式濾波模組13可採用雙線性紋理濾波技術以使用一張適當解析度(如:最高解析度)的圖層計算出3D物件151上各座標點P的像素值,或者,採用三線性紋理濾波技術以使用兩張不同解析度的圖層計算出3D物件151上各座標點P的像素值。
請參閱第2(A)圖,為習用雙線性紋理濾波技術(Bi-linear texture filtering)之應用示意圖。如第2(A)圖所示,雙線性紋理濾波技術使用於單一圖層上,並以2×2(texels)視窗尺寸1111取樣座標點P周圍相鄰的紋理像素點(a、b、c、d),藉由四個取樣點(a、b、c、d)來計算座標點P的像素值。再者,該雙線性紋理濾波技術可利用有限脈衝響應濾波(FIR Filter)方程式進行計算,如公式(1)所列:
其中,I(k)為各紋理像素點(k=a、b、c、d),C(k)為各紋理像素的權重(k=a、b、c、d),而Coffset為濾波方程式計算所需的偏移量。
又,請參閱第2(B)圖,為習用三線性紋理濾波技術(Tri-linear texture filtering)之應用示意圖。如第2(B)圖所示,三線性紋理濾波技術根據3D物件151的大小比例選擇兩張不同解析度的圖層紋理影像111(例如:Level 0、Level 1),並將座標點P分別對應至上下兩圖層紋理影像111中,且以2×2(texels)視窗尺寸1111取樣座標點P周圍相鄰的紋理像素點(a、b、c、d)(e、f、g、h),藉由八個取樣點(a、b、c、d)(e、f、g、h)來計算座標點P的像素值。再者,該三線性紋理濾波技術同樣可利用公式(1)之FIR線性濾波方程式進行計算,其中,I(k)為各紋理像素點(k=a、b、c、d、e、f、g、h),而C(k)為各紋理像素的權重(k=a、b、c、d、e、f、g、h)。
雖然,現今繪圖處理器100已經可進行較佳的3D繪圖之運算功能,但,仍存在有許多技術上的問題:
1.以往繪圖處理器100運用於3D繪圖上,因此,固定式濾波模組13之紋理濾波器131所採用的濾波方程式往往針對3D繪圖功能而特別設計,不僅濾波方程式的種類有限,且只能進行3D繪圖的相關運算。若,繪圖處理器100欲進一步應用在其他影像處理或科學運算上,例如:影像辨識、機器學習演算…等等,則固定式濾波模組13無法進行運算程序,必須透過可程式化著色模組15的協助方能執行運算處理,致使會加重可程式化著色模組15的運算負擔,再者,固定式濾波模組13的部分功能將處在閒置或關閉狀態,而令硬體資源使用效率降低。
2.承上,若繪圖處理器100使用於其他影像處理上,固定式濾波模組13中所使用的雙線性/三線性紋理濾波技術,其一次可存取多筆紋理像素的功能將無法繼續執行,將造成固定式濾波模組13在每一工作時脈中只能抓取一筆紋理像素,如此,不僅會影響到繪圖處理器100的運算效率,且硬體原本具有的頻寬將無法充分利用。
3.使用者只能單方面採用固定式濾波模組13所預定好的濾波方程式(例如:FIR線性濾波方程式),並且在利用預定的濾波方程式計算3D物件151之座標點P的像素值時,使用者無法對於取樣點數目I(k)(例如:固定為4個取樣點)、取樣的視窗尺寸(例如:固定在2×2視窗尺寸)、各取樣點的權重C(k)或偏移量(Coffset)進行彈性的調整。
本發明之主要目的,在於提供一種具有可設定化濾波模組之繪圖處理器及其運算方法,可設定化濾波模組提供多種濾波方程式,使用者可在繪圖處理器進行運作時選定其中一濾波方程式進行運算處理,並在所選定的濾波方程式中設定取樣的視窗尺寸、取樣點數目、各取樣點的權重及/或偏移量等等計算所需的參數。
本發明之次要目的,在於提供一種具有可設定化濾波模組之繪圖處理器及其運算方法,可設定化濾波模組藉由使用各種類型的濾波方程式,不僅應用於3D繪圖上,且可進一步使用於其他類型的影像處理、生物運算或科學運算等等。
本發明之又一目的,在於提供一種具有可設定化濾波模組之繪圖處理器及其運算方法,提供一應用程式介面,使用者可經由應用程式介面選定一適當的濾波方程式及設定濾波方程式可調整的參數。
為此,為達成上述目的,本發明提供一種具有可設定化濾波模組之繪圖處理器,其包括有:一記憶體模組,儲存有複數張紋理影像;及一可設定化濾波模組,連接記憶體模組,包括有複數組濾波方程式,選定其中一濾波方程式,制定至少一視窗尺寸以在紋理影像中取樣出複數個像素點,各取樣像素點及各權值代入於選定的濾波方程式中進行運算程序,以計算出一運算值。
本發明尚提供一種具有可設定化濾波模組之繪圖處理器之運算方法,其包括有:儲存至少一紋理影像;包括有複數個濾波方程式,選定其中一濾波方程式進行運算;在紋理影像中取樣出複數個像素點;對於各取樣像素點分別設定一權值;及代入各取樣像素點及各權值於選定的濾波方程式中進行運算程序,以計算出一運算值。
首先,請參考第3圖,為本發明繪圖處理器一較佳實施例之結構示意圖。如圖所示,繪圖處理器(Graphics Processing Unit;GPU)200包括有一記憶體模組20及一可設定化濾波模組(Configurable Filtering Unit;CFU)22,該可設定化濾波模組22連接該記憶體模組20。
其中,記憶體模組20儲存有複數張紋理影像201,而可設定化濾波模組22包括有複數個濾波方程式,例如:一有限脈衝響應濾波(FIR Filter)方程式、一取最大值之型態濾波(MAX Morphological Filter)方程式及/或一取最小值之型態濾波(MIN Morphological Filter)方程式。當繪圖處理器200欲對於紋理影像201進行資料運算時,使用者可在這些濾波方程式中選定其中一進行,且制定一視窗尺寸2011,例如:3×3,以利用該視窗尺寸2011在紋理影像201中取樣出複數個像素點I(k),例如:k=a、b、c、d、e、f、g、h、i,如第4圖所示。之後,對於取樣出的像素點I(k)分別對應設定一權值C(k),各取樣像素點(k)及各對應的權值C(k)代入於選定的濾波方程式中進行運算程序,即可計算出一運算值。
如此,使用者可在繪圖處理器200之可設定化濾波模組22中選定一適當的濾波方程式,並對於濾波方程式計算時所需的參數進行調整,致使繪圖處理器200將可根據使用者的指示而決定運算方式。
又,可設定化濾波模組22包括有一快取記憶體23、一可設定化濾波單元25及一應用程式介面27。其中,快取記憶體23暫存有紋理影像201;可設定化濾波單元25包括有各濾波方程式,其連接快取記憶體23,並存取紋理影像201中的各像素點;而應用程式介面27用以選定其中一濾波方程式,制定視窗尺寸2011大小以決定取樣像素點I(k)的位置及數量,以及設定各取樣像素點I(k)所對應的各權值C(k)。
則可設定化濾波單元25根據應用程式介面27所制定的視窗尺寸2011從快取記憶體23中存取該選定的濾波方程式計算時所需要的各取樣像素點I(k),選定的濾波方程式即可利用可設定化濾波單元25存取出的各取樣像素點I(k)及應用程式介面27所設定的各權值C(k)進行運算程序,即可計算出該運算值。
再者,同時參閱第3圖及第4圖,本發明繪圖處理器200尚包括有一可程式化著色模組28,當繪圖處理器200欲運用在3D繪圖時,可程式化著色模組28可在一3D螢幕空間上描繪出一3D物件281,並將3D物件281的各座標點P(U,V,D)傳送至可設定化濾波模組22。可設定化濾波模組22將各座標點P對應到2D紋理影像201之空間位置,並以一3×3視窗尺寸2011在紋理影像201中取樣出各像素點I(k),取樣像素點I(k)與設定的權值C(k)進行運算程序,以產生各運算值。各運算值回傳至可程式化著色模組28,以作為3D物件281上各座標點P的像素值,而使得3D物件281得以紋理化。
快取記憶體23對於每一紋理影像201會分別暫存有不同解析度之圖層紋理影像,如256×256、128×128、…、4×4、2×2、1×1。在第4圖中,可設定化濾波模組22除採用雙線性紋理濾波技術以使用一張適當解析度(如:最高解析度)的圖層紋理影像計算出3D物件281上各座標點P的像素值外,或者,採用三線性紋理濾波技術以使用兩張不同解析度的圖層計算出3D物件281上各座標點P的像素值。
又,在第4圖中,本發明除使用3×3視窗尺寸2011(同第5(F)圖)取樣單一圖層紋理影像201上的像素點I(k)外,再者,亦可如第5(A)圖、第5(C)圖、第5(D)圖、第5(E)圖、第5(G)圖所示,分別採用2×2、4×1、1×4、1×8、8×1或其他視窗尺寸(例如:單一取樣點)對於紋理影像201之單一圖層進行各像素點I(k)的取樣,或者,如第5(B)圖所示,採用2×2或其他視窗尺寸對於紋理影像201中之上下兩張不同解析度圖層進行各像素點I(k)的取樣。
由上所述,本發明可設定化濾波單元25可用以FIR線性濾波方程式、MAX型態濾波方程式、MIN型態濾波方程式之運算程序,各濾波方程式的公式如下所列:FIR濾波方程式
關於公式(2)的運算方式,各取樣像素點I(k)與各對應的權值C(k)進行相乘以求得複數個乘積值,各乘積值在進行一加總程序,加總程序完成後,在加上一偏移量Coffset,即可計算出該運算值P。
MAX型態濾波方程式
關於公式(3)的運算方式,各取樣像素點I(k)與各對應的權值C(k)進行相乘以求得複數個乘積值,各乘積值在進行一比較程序,以比較出一最大值的乘積值,則該最大值的乘積值即為該運算值P。
MIN型態濾波方程式
關於公式(4)的運算方式,各取樣像素點I(k)與各對應的權值C(k)進行相乘以求得複數個乘積值,各乘積值在進行一比較程序,以比較出一最小值的乘積值,則該最小值的乘積值即為該運算值P。
接續,請參閱第6圖所示,為本發明可設定化濾波單元一較佳實施例之電路示意圖。如圖所示,本發明可設定化濾波單元25之電路結構包括有複數個乘法器250及一多階層式之運算器單元251。
其中,各取樣像素點I(k=a、b、c、d、e、f、g、h、i)與各對應的權值C(k=a、b、c、d、e、f、g、h、i)在各乘法器250中進行乘法運算,以產生複數個乘積值,例如:A、B、C、D、E、F、G、H、I。
而多階層式之運算器單元251經由複數個運算器252組成為階層式結構(Hierarchical Structure)電路,例如:4階層(Layer)。各運算器252分別接收一運算選擇訊號,以根據運算選擇訊號的指示進行其中一濾波方程式的運算程序,而計算出該運算值P。
請參閱第7圖所示,為本發明運算器一實施例之電路示意圖。如圖所示,本實施例將以乘積值A及乘積值B進行運算器252的電路解說。運算器252包括有一第一選擇器2521、一加法器2522、一第二選擇器2523及一正負符號表示器2524。
其中,第一選擇器2521接收乘積值A、反向的乘積值-A及運算選擇訊號,藉此,第一選擇器2521根據運算選擇訊號以決定輸出乘積值A或乘積值-A。當運算選擇訊號指示進行FIR線性濾波方程式時,第一選擇器2521輸出乘積值A;當運算選擇訊號指示進行MAX型態濾波方程式或MIN型態濾波方程式時,第一選擇器2521輸出乘積值-A。
加法器2522接收乘積值A、乘積值-A或乘積值B,乘積值B係與乘積值A、乘積值-A之其中一進行相加,以計算出一相加值A+B/B-A。
正負符號表示器2524接收加法值A+B/B-A,以產生一旗標訊號,該旗標訊號指示加法值A+B/B-A為正數或負數。
第二選擇器2523接收乘積值A、乘積值B、加法值A+B/B-A、運算選擇訊號及旗標訊號,根據運算選擇訊號及旗標訊號決定輸出乘積值A、乘積值B、加法值A+B。當運算選擇訊號指示進行FIR線性濾波方程式且旗標訊號為正數時,第二選擇器2523輸出加法值A+B;當運算選擇訊號指示進行MAX型態濾波方程式時,若旗標訊號為正數(B-A>0),則第二選擇器2523輸出乘積值B,反之,若旗標訊號為負數(B-A<0),則第二選擇器2523輸出乘積值A;當運算選擇訊號指示進行MIN型態濾波方程式時,若旗標訊號為正數(B-A>0),則第二選擇器2523輸出乘積值A,反之,若旗標訊號為負數(B-A<0),則第二選擇器2523輸出乘積值B。
此外,本發明運算器252尚包括有一反向器2525,反向器2525用以反向乘積值A,以產生該乘積值-A。
另,乘積值C、D、E、F、G、H、I其彼此間於運算器252中的運算程序係與上述的乘積值A、B完全相同,在此不在重複闡述。
乘積值A、B、C、D、E、F、G、H、I在經由各層級的運算器252運算處理後,於最後一階層的運算器252的輸出端輸出一加總過後之加法值、一最大值的乘積值或一最小值的乘積值即可為該運算值P。
此外,當可程式化濾波單元25用以FIR線性濾波方程式運算程序時,則多階層式之運算器單元251之其中一運算器252將接收一偏移量,以將偏移量加入於加總的加法值中。
又,本實施例運算器252係以3×3視窗尺寸為例,當然亦可使用在其他類型的視窗尺寸,再者,若應用於1×4、4×1或2×2單層取樣的視窗尺寸時,運算器252亦可劃分成上下兩部電路,上半部運算器252處理一視窗尺寸所取樣出的像素點,以在最後階層的運算器252之輸出端產生運算值P1,下半部運算器252處理另一視窗尺寸所取樣出的像素點,以在最後階層的運算器252之輸出端產生運算值P2。藉此,平行處理兩個視窗尺寸的取樣像素點,以增加可程式化濾波單元25的處理效率。
進一步,係以第8圖範例進行解說,本實施例係以3×3視窗尺寸在紋理影像201上進行像素點取樣。在本實施例中,取樣像素點分別包括有九個點(a、b、c、d、e、f、g、h、I),取樣點的像素值I(k)分別為(Ia=4、Ib=3、Ic=3、Id=7、Ie=5、If=2、Ig=3、Ih=6、Ii=3),而設定的權值C(k)分別為(Ca=0.75、Cb=0.75、Cc=0.5、Cd=0.75、Ce=0.75、Cf=0.5、Cg=0.5、Ch=0.5、Ci=0.25)。
當可設定化濾波單元25使用FIR線性濾波方程式進行運算程序時,取樣點的像素值I(K)及C(K)代入於公式(2)中,且在公式(2)中之偏移量(Coffset)可設定為1,則乘積值A(4×0.75=3)+乘積值B(3×0.75=2.25)+乘積值C(3×0.5=1.5)+乘積值D(7×0.75=5.25)+乘積值E(5×0.75=3.75)+乘積值F(2×0.5=1)+乘積值G(3×0.5=1.5)+乘積值H(6×0.5=3)+乘積值I(3×0.25=0.75)+偏移量(1)=23,則加總過後之加法值23即為該運算值P。
當可設定化濾波單元25使用MAX型態濾波方程式進行運算程序時,取樣點的像素值I(K)及C(K)代入於公式(3)中,乘積值A(3)、乘積值B(2.25)、乘積值C(1.5)、乘積值D(5.25)、乘積值E(3.75)、乘積值F(1)、乘積值G(1.5)、乘積值H(3)、乘積值I(0.75)進行彼此間最大值比較,以求得最大的乘積值D(5.25),則乘積值D(5.25)即為該運算值P。
當可設定化濾波單元25使用MIN型態濾波方程式進行運算程序時,取樣點的像素值I(K)及C(K)代入於公式(4)中,各乘積值A(3)、乘積值B(2.25)、乘積值C(1.5)、乘積值D(5.25)、乘積值E(3.75)、乘積值F(1)、乘積值G(1.5)、乘積值H(3)、乘積值I(0.75)進行彼此間最小值比較,以求得最小的乘積值I(0.75),則乘積值I(0.75)即為該運算值P。
請參閱第9圖所示,為本發明調整取樣點數目一實施例之操作示意圖。本實施例取樣點數目之調整方法係可使用在MAX/MIN型態濾波方程式上。
係以3×3視窗尺寸為例,當使用者欲調整取樣點數目時,可對於3×3視窗尺寸所取樣出的像素點其對應權值設定為零。於本實施例之圖示中,使用者可將a、c、g、I像素點之對應權值設定為零,則使用MAX型態濾波方程式進行運算程序時,則a、c、g、I像素點之像素值不論多大,其像素值與權值零相乘的結果皆為零值,因此,a、c、g、I像素點將排除為取樣點。
相反的,若使用MIN型態濾波方程式進行運算程序時,使用者可在至少一像素點之對應權值設定為零,則MIN型態濾波方程式必定產生一零值之運算值,以供其他後續處理的使用,例如:係將零值(黑點)貼至3D物件上。
請參閱第10圖所示,為本發明應用程式介面一較佳實施例之介面示意圖。如圖所示,本發明應用程式介面27包括有複數個設定框271/273/275/277/279。
本實施例繪圖處理器200若使用於3D繪圖上,可程式化著色模組28會根據螢幕場景的鏡頭遠近而決定描繪出3D物件281的大小比例。
當3D物件281為一較小的物件時,可程式化濾波單元25將從快取記憶體23中讀取至少一較低解析度圖層的紋理影像201,則使用者在主題TEXTURE MIN FLITER項目之設定框(Set Pixel Windows)271中制定一視窗尺寸,例如:雙線性紋理濾波技術所採用的單一取樣點、2×2、4×1、1×4、1×8、3×3、8×1或三線性紋理濾波技術所採用的2×2,以利用制定的視窗尺寸從較低解析度圖層的紋理影像201中進行各像素點I(k)的取樣。
當3D物件281為一較大的物件時,可程式化濾波單元25將從快取記憶體23中讀取至少一較高解析度圖層的紋理影像201,則使用者在主題TEXTURE MAG FLITER項目之設定框(Set Pixel Windows)273中制定一視窗尺寸,例如:雙線性紋理濾波技術所採用的單一取樣點、2×2、4×1、1×4、1×8、3×3、8×1或三線性紋理濾波技術所採用的2×2,以利用制定的視窗尺寸從較高解析度圖層的紋理影像201中進行各像素點I(k)的取樣。
使用者在主題TEXTURE FLITER TYPE項目之設定框(Set Filter Type)275中選定一欲執行運算的濾波方程式,例如:FIR、MAX或MIN濾波方程式。
使用者在主題TEXTURE FLITER COEF項目之設定框(Set Coefficients)277中設定各取樣像素點I(k)的權重C(k),其權重C(k)之設定數量同於各取樣像素點I(k)的取樣數量,且各權重C(k)數值為一浮點數(float)並不限任何數值。
再者,若使用者在主題TEXTURE FLITER TYPE之設定框(Set Filter Type)275中選定FIR濾波方程式進行運算程序,則使用者還必須在應用程式介面27之TEXTURE FLITER COFFSET項目之設定框(Set Coffset)279中設定一偏移量Coffset,該偏移量Coffset為FIR濾波方程式之其中一計算參數且為一常數值(constant)。
雖然,本發明繪圖處理器200上述圖示主要以3D繪圖作為解說,但,也可應用在其他影像處理、生物運算或者科學運算上,例如:影像辨識,DNA檢測、機器學習語言...等等,藉以擴大繪圖處理器200可運算處理的領域,再者,可在可設定化濾波模組22中嵌入更多種類的濾波方程式,以應付各種類型的運算處理,而計算出所需的運算值。
請參閱第11圖所示,為本發明快取記憶體暫存紋理影像之儲存示意圖。如圖所示,快取記憶體23包括有複數個儲存區(Banks),例如八個儲存區(B0-B7),每一儲存區在每一工作時脈中可傳送4個(2×2)像素點(texels)至可設定化濾波單元25。
快取記憶體23對於紋理影像201劃分成複數個紋理片狀區,每一紋理片狀區包括有八個列的座標位址,各座標位址分別表示有一像素點,該紋理片狀區的第一列座標位址及第二列區域位址上的各像素點依序循環儲存於第一儲存區B0、第二儲存區B1、第三儲存區B2及第四儲存區B3中,該紋理片狀區的第三列座標位址及第四列區域位址上的各像素點依序循環儲存於第五儲存區B4、第六儲存區B5、第七儲存區B6及第八儲存區B7中,該紋理片狀區的第五列座標位址及第六列區域位址上的各像素點依序循環儲存於第三儲存區B2、第四儲存區B3、第一儲存區B0及第二儲存區B1中,而該紋理片狀區的第七列座標位址及第八列區域位址上的各像素點依序循環儲存於第七儲存區B6、第八儲存區B7、第五儲存區B4及第六儲存區B5中。
快取記憶體23如上方式暫存紋理影像201之像素點,可設定化濾波單元25根據視窗尺寸對於紋理影像201之像素點進行取樣時,由於可設定化濾波單元25對於各儲存區在每一工作時脈中最多只能存取4個像素點,若超過4個取樣像素點儲存於同一儲存區中,則可設定化濾波單元25必須使用至少兩個工作時脈進行存取才能將取樣像素點提取完畢,而令繪圖處理器200的效率降低。
請參閱第12圖所示,為本發明繪圖處理器之運算方法一較佳實施例之流程圖。如圖所示,首先,如步驟S90所示,繪圖處理器200儲存有至少一紋理影像201。
如步驟S91所示,繪圖處理器200之可設定化濾波模組22中包括有複數個濾波方程式,例如:有限脈衝響應濾波(FIR Filter)方程式、一取最大值之型態濾波(MAX Morphological Filter)方程式及/或一取最小值之型態濾波(MIN Morphological Filter)方程式。使用者可透過一應用程式介面27以在這些濾波方程式中選定其中一進行運算。
如步驟S92所示,使用者透過應用程式介面27制定出一視窗尺寸,以根據視窗尺寸在紋理影像201中取樣出複數個像素點。
如步驟S93所示,使用者透過應用程式介面27對於各取樣像素點I(k)分別設定一權值C(k)。
如步驟S95所示,各取樣像素點I(k)及其對應的各權值C(k)代入於所選定的濾波方程式中進行運算程序,以計算出一運算值P。
再者,本發明繪圖處理器之運算方法尚包括有一步驟S94,當使用者選定FIR濾波方程式進行運算程序,則使用者尚須設定一偏移量(Coffset),以將偏移量代入於FIR濾波方程式中,之後,FIR濾波方程式在利用各取樣像素點I(k)、各權值C(k)及偏移量(Coffset)進行運算程序,以計算出該運算值P。
以上所述者,僅為本發明之一較佳實施例而已,並非用來限定本發明實施之範圍,即凡依本發明申請專利範圍所述之形狀、構造、特徵及精神所為之均等變化與修飾,均應包括於本發明之申請專利範圍內。
100...繪圖處理器
11...記憶體模組
111...紋理影像
1111...視窗尺寸
13...固定式濾波模組
131...紋理濾波器
133...快取記憶體
15...可程式化著色模組
151...3D物件
200...繪圖處理器
20...記憶體模組
201...紋理影像
2011...視窗尺寸
22...可設定化濾波模組
23...快取記憶體
25...可設定化濾波單元
250...乘法器
251...多階層式之運算器單元
252...運算器
2521...第一選擇器
2522...加法器
2523...第二選擇器
2524...正負符號表示器
2525...反向器
27...應用程式介面
271...設定框
273...設定框
275...設定框
277...設定框
279...設定框
28...可程式化著色模組
281...3D物件
第1圖:為習用繪圖處理器之結構示意圖。
第2(A)圖:為習用雙線性紋理濾波技術之應用示意圖。
第2(B)圖:為習用三線性紋理濾波技術之應用示意圖。
第3圖:為本發明繪圖處理器一較佳實施例之結構示意圖。
第4圖:為本發明雙線性紋理濾波技術之應用示意圖。
第5圖:為本發明視窗尺寸之種類示意圖。
第6圖:為本發明可設定化濾波單元一較佳實施例之電路示意圖。
第7圖:為本發明運算器一實施例之電路示意圖。
第8圖:為本發明可設定化濾波模組使用各濾波方程式進行一運算程序之範例示意圖。
第9圖:為本發明調整取樣點數目一實施例之操作示意圖。
第10圖:為本發明應用程式介面一較佳實施例之介面示意圖。
第11圖:為本發明快取記憶體暫存紋理影像之儲存示意圖。
第12圖:為本發明繪圖處理器之運算方法。
200...繪圖處理器
20...記憶體模組
201...紋理影像
22...可設定化濾波模組
23...快取記憶體
25...可設定化濾波單元
27...應用程式介面
28...可程式化著色模組

Claims (15)

  1. 一種具有可設定化濾波模組之繪圖處理器,其包括有:一記憶體模組,儲存有至少一紋理影像;一可設定化濾波模組,連接該記憶體模組,包括有複數組濾波方程式,選定其中一濾波方程式,在該紋理影像中取樣出複數個像素點,對於各取樣像素點分別設定一權值,各取樣像素點及各權值代入於該選定的濾波方程式中進行運算程序,以計算出一運算值;及一可程式化著色模組,其可在一3D螢幕空間上描繪出一3D物件,並將該3D物件之各座標點傳送至該可設定化濾波模組,則該可設定化濾波模組將各座標點對應到2D該紋理影像的空間位置,並制定至少一視窗尺寸在該紋理影像中取樣出各像素點,以將各取樣像素點與各權值進行運算而產生各運算值,各運算值回傳至該可程式化著色模組,以將各運算值作為該3D物件上各座標點的像素值。
  2. 如申請專利範圍第1項所述之繪圖處理器,其中該可設定化濾波模組包括有:一快取記憶體,暫存有該紋理影像;一可設定化濾波單元,包括有該濾波方程式,連接該快取記憶體,存取該紋理影像中的各像素點;及一應用程式介面,用以選定其中一濾波方程式及制定至少一視窗尺寸以決定在該紋理影像中取樣出該取 樣像素點的位置及數量,並設定各取樣像素點所對應的各權值;其中,該可設定化濾波單元根據該應用程式介面所制定的該視窗尺寸從該快取記憶體中存取該選定的濾波方程式計算所需的各取樣像素點,則該選定的濾波方程式即可利用該可設定化濾波單元存取出的各取樣像素點及該應用程式介面所設定的各權值進行兩者間的運算程序,以計算出該運算值。
  3. 如申請專利範圍第2項所述之繪圖處理器,其中該濾波方程式包括有一有限脈衝響應濾波(FIR Filter)方程式、一取最大值之型態濾波(MAX Morphological Filter)方程式及/或一取最小值之型態濾波(MIN Morphological Filter)方程式。
  4. 如申請專利範圍第3項所述之繪圖處理器,其中該應用程式介面尚可對於該有限脈衝響應濾波方程式中之一偏移量的計算參數進行設定,而各取樣像素點、各權值及該偏移量代入於該有限脈衝響應濾波方程式中進行運算程序,以計算出該運算值。
  5. 如申請專利範圍第3項所述之繪圖處理器,其中該可設定化濾波單元包括有:複數個乘法器,各取樣像素點及其對應的各權值經由各乘法器的乘法運算,以求得各乘積值;一多階層式之運算器單元,包括有複數個運算器,各乘積值輸入於該多階層式之運算器單元中,而該多 階層式之運算器單元之各運算器接收一運算選擇訊號,以根據該運算選擇訊號的指示進行其中一濾波方程式的運算程序,而計算出該運算值。
  6. 如申請專利範圍第5項所述之繪圖處理器,其中該運算器包括有:一第一選擇器,接收其中一該乘積值、其中一反向的該乘積值及該運算選擇訊號,根據該運算選擇訊號決定輸出其中一該乘積值或其中一反向的該乘積值;一加法器,接收其中一該乘積值、其中一反向的該乘積值或另一該乘積值,以計算出一加法值;一正負符號表示器,接收該加法值,以產生一旗標訊號;及一第二選擇器,接收其中一該乘積值、另一該乘積值、該加法值、該運算選擇訊號及該旗標訊號,根據該運算選擇訊號及該旗標訊號決定輸出其中一該乘積值、另一該乘積值或該加法值。
  7. 如申請專利範圍第6項所述之繪圖處理器,其中該運算器尚包括有一反向器,其用以反向其中一該乘積值,以取得其中一反向的該乘積值。
  8. 如申請專利範圍第6項所述之繪圖處理器,其中在該多階層式之運算器單元中,其最後階層的該運算器所輸出的其中一該乘積值、另一該乘積值或加總之該加法值即為該運算值。
  9. 如申請專利範圍第6項所述之繪圖處理器,當該運算選擇訊號指示該多階層式之運算器單元使用該有限脈衝響應濾波方程式進行運算程序時,該運算器輸出該加法值,並於各階層的運算器中加總該加法值,且於進行加總程序時進一步加上一偏移量。
  10. 如申請專利範圍第6項所述之繪圖處理器,當該運算選擇訊號指示該多階層式之運算器單元之各運算器使用該取最大值之型態濾波方程式進行運算程序時,該第一選擇器輸出其中一反向的該乘積值,其中一反向的該乘積值與另一該乘積值間進行加法計算而得到該加法值,該正負符號表示器判斷該加法值之正負值,若該加法值為一負值,則該第二選擇器輸出其中一該乘積值,反之,該加法值為一正值,則該第二選擇器輸出另一該乘積值。
  11. 如申請專利範圍第6項所述之繪圖處理器,當該運算選擇訊號指示該多階層式之運算器單元之各運算器使用該取最小值之型態濾波方程式進行運算程序時,該第一選擇器輸出其中一反向的該乘積值,其中一反向的該乘積值與另一該乘積值間進行加法計算而得到該加法值,該正負符號表示器判斷該加法值之正負值,若該加法值為一負值,則該第二選擇器輸出另一該乘積值,反之,該加法值為一正值,則該第二選擇器輸出其中一該乘積值。
  12. 如申請專利範圍第2項所述之繪圖處理器,其中該紋 理影像為複數個圖層所組成,每一圖層分別為具有一對應的解析度。
  13. 如申請專利範圍第12項所述之繪圖處理器,其中該可設定化濾波模組根據所制定的該視窗尺寸,以在該紋理影像之單一圖層中或雙圖層中取樣出各像素點,且該可設定化濾波模組可利用2×2、4×1、1×4、1×8、3×3、8×1或其他視窗尺寸對於該紋理影像之單一圖層進行各像素點的取樣,或者,該可設定化濾波模組可利用2×2或其他視窗尺寸對於該紋理影像之雙圖層進行各像素點的取樣。
  14. 如申請專利範圍第2項所述之繪圖處理器,其中該快取記憶體包括有複數個儲存區,每一儲存區在每一工作時脈中儲存有2×2矩陣像素點。
  15. 如申請專利範圍第14項所述之繪圖處理器,其中該快取記憶體包括有八個儲存區,該紋理影像劃分出複數個紋理片狀區,每一紋理片狀區包括有八個列的座標位址,各座標位址分別表示有一像素點,該紋理片狀區的第一列座標位址及第二列區域位址上的各像素點依序循環儲存於第一儲存區、第二儲存區、第三儲存區及第四儲存區中,該紋理片狀區的第三列座標位址及第四列區域位址上的各像素點依序循環儲存於第五儲存區、第六儲存區、第七儲存區及第八儲存區中,該紋理片狀區的第五列座標位址及第六列區域位址上的各像素點依序循環儲存於第三儲存區、第四儲存 區、第一儲存區及第二儲存區中,而該紋理片狀區的第七列座標位址及第八列區域位址上的各像素點依序循環儲存於第七儲存區、第八儲存區、第五儲存區及第六儲存區中。
TW99116972A 2010-05-27 2010-05-27 具有可設定化濾波模組之繪圖處理器及其運算方法 TWI408618B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW99116972A TWI408618B (zh) 2010-05-27 2010-05-27 具有可設定化濾波模組之繪圖處理器及其運算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW99116972A TWI408618B (zh) 2010-05-27 2010-05-27 具有可設定化濾波模組之繪圖處理器及其運算方法

Publications (2)

Publication Number Publication Date
TW201142739A TW201142739A (en) 2011-12-01
TWI408618B true TWI408618B (zh) 2013-09-11

Family

ID=46765143

Family Applications (1)

Application Number Title Priority Date Filing Date
TW99116972A TWI408618B (zh) 2010-05-27 2010-05-27 具有可設定化濾波模組之繪圖處理器及其運算方法

Country Status (1)

Country Link
TW (1) TWI408618B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10152820B2 (en) * 2013-03-15 2018-12-11 Intel Corporation Texture address mode discarding filter taps

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200620691A (en) * 2004-12-10 2006-06-16 Giga Byte Tech Co Ltd Image display device and the method thereof
US20060237631A1 (en) * 2005-04-20 2006-10-26 Sharp Kabushiki Kaisha Amplification type solid-state imaging device
TW200712877A (en) * 2005-09-19 2007-04-01 Via Tech Inc Buffering missed requests in processor caches
US7292221B2 (en) * 2003-03-20 2007-11-06 Lg Electronics Inc. Apparatus and method for controlling inverter pulse width modulation frequency in LCD in portable computer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7292221B2 (en) * 2003-03-20 2007-11-06 Lg Electronics Inc. Apparatus and method for controlling inverter pulse width modulation frequency in LCD in portable computer
TW200620691A (en) * 2004-12-10 2006-06-16 Giga Byte Tech Co Ltd Image display device and the method thereof
US20060237631A1 (en) * 2005-04-20 2006-10-26 Sharp Kabushiki Kaisha Amplification type solid-state imaging device
TW200712877A (en) * 2005-09-19 2007-04-01 Via Tech Inc Buffering missed requests in processor caches

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Chih-Hao Sun, Ka-Hang Lok, You-Ming Tsao, Chia-Ming Chang, and Shao-Yi Chien, "CFU: Multi-Purpose Configurable Filtering Unit for Mobile Multimedia Applications on Graphics Hardware", Proceedings of the Conference on High Performance Graphics 2009, Pages 29-36, August 1-3, Year of 2009 *

Also Published As

Publication number Publication date
TW201142739A (en) 2011-12-01

Similar Documents

Publication Publication Date Title
US8610737B2 (en) Graphic processing unit (GPU) with configurable filtering module and operation method thereof
CN107133914B (zh) 用于生成三维彩色图像的装置和用于生成三维彩色图像的方法
Sun et al. Diffusion curve textures for resolution independent texture mapping
US7256792B1 (en) Method and apparatus for sampling non-power of two dimension texture maps
US10192349B2 (en) Texture sampling techniques
WO2021249091A1 (zh) 图像处理方法、装置、计算机存储介质及电子设备
GB2565619A (en) Single Pass Rendering For Head Mounted Displays
WO2017072476A1 (en) Graphics processing systems
US7038678B2 (en) Dependent texture shadow antialiasing
WO2006095481A1 (ja) テクスチャ処理装置、描画処理装置、およびテクスチャ処理方法
KR20190030174A (ko) 그래픽 처리
TWI288891B (en) Texture filtering using a programmable table filter to improve computer graphics performance
US6831658B2 (en) Anti-aliasing interlaced video formats for large kernel convolution
US20170061678A1 (en) Graphics processing systems
US7027047B2 (en) 3D graphics rendering engine for processing an invisible fragment and a method therefor
TWI408618B (zh) 具有可設定化濾波模組之繪圖處理器及其運算方法
US20040012610A1 (en) Anti-aliasing interlaced video formats for large kernel convolution
US7525551B1 (en) Anisotropic texture prefiltering
US6816162B2 (en) Data management to enable video rate anti-aliasing convolution
CN105389841B (zh) 借助于可配置硬件在电子设备中执行图形系统的图形处理的方法以及相关装置
US7324117B1 (en) Method and apparatus for using non-power of two dimension texture maps
US20080165208A1 (en) 3-Dimensional graphic processing apparatus and operating method thereof
EP4398192A1 (en) Applying texture processing to a block of fragments in a graphics processing unit
US11321803B2 (en) Graphics processing primitive patch testing
GB2625798A (en) Retrieving a block of data items in a processor