專利名稱:基于Direct3D技術(shù)的圖像處理方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,尤其涉及一種基于Direct3D技術(shù)的圖像處理方法和一種基于Direct3D技術(shù)的圖像處理裝置。
背景技術(shù):
目前圖像采集卡一般采用Direct3D技術(shù)顯示捕捉到的圖像數(shù)據(jù)。為了采用Direct3D圖形流水線來處理采集卡捕獲的圖像數(shù)據(jù),一般做法是先把圖像數(shù)據(jù)發(fā)送到系統(tǒng)內(nèi)存,然后根據(jù)系統(tǒng)內(nèi)存中的圖像數(shù)據(jù)創(chuàng)建動態(tài)紋理,再利用Direct3D圖形流水線完成對圖像數(shù)據(jù)的處理以及顯示。這種做法在對圖像數(shù)據(jù)進(jìn)行處理之前,需要先將圖像數(shù)據(jù)從系統(tǒng)內(nèi)存發(fā)送至顯存中,然后才能利用顯存中的圖形流水線進(jìn)行處理。也即圖像數(shù)據(jù)需要在系統(tǒng)內(nèi)存和顯存之間進(jìn)行傳輸,存在著CPU占用率高和圖像顯示效率低等問題,特別是當(dāng) 進(jìn)行多窗口顯示時這種問題更加明顯。
發(fā)明內(nèi)容
為解決上述存在的問題,本發(fā)明提供了一種基于Direct3D技術(shù)的圖像處理方法和一種基于Direct3D技術(shù)的圖像處理裝置。一種基于Direct3D技術(shù)的圖像處理方法,包括以下步驟通過Direct3D技術(shù)創(chuàng)建表面、第一紋理、第二紋理以及與第二紋理綁定的圖形流水線;將圖像數(shù)據(jù)發(fā)送至所述表面;將所述表面中的圖像數(shù)據(jù)發(fā)送至所述第一紋理;將所述第一紋理中的圖像數(shù)據(jù)發(fā)送至所述第二紋理;通過所述與第二紋理綁定的圖形流水線對圖像數(shù)據(jù)進(jìn)行處理。與一般技術(shù)相比,本發(fā)明基于Direct3D技術(shù)的圖像處理方法通過Direct3D技術(shù)在顯存中創(chuàng)建表面,利用創(chuàng)建的表面直接接收獲取到的圖像數(shù)據(jù)。通過在顯存中創(chuàng)建紋理以接收表面中的圖像數(shù)據(jù),并利用圖形流水線對圖像進(jìn)行處理。由于在圖像數(shù)據(jù)的傳輸過程中無需經(jīng)過系統(tǒng)內(nèi)存,并且繞過了 CPU,因此很大程度上提高了圖像的處理速度和顯示效率。一種基于Direct3D技術(shù)的圖像處理裝置,包括創(chuàng)建模塊、圖像數(shù)據(jù)發(fā)送模塊和圖像數(shù)據(jù)處理模塊;所述創(chuàng)建模塊用于通過Direct3D技術(shù)創(chuàng)建表面、第一紋理、第二紋理以及與第二紋理綁定的圖形流水線;所述圖像數(shù)據(jù)發(fā)送模塊用于將圖像數(shù)據(jù)發(fā)送至所述表面,將所述表面中的圖像數(shù)據(jù)發(fā)送至所述第一紋理,以及將所述第一紋理中的圖像數(shù)據(jù)發(fā)送至所述第二紋理;所述圖像數(shù)據(jù)處理模塊用于通過所述與第二紋理綁定的圖形流水線對圖像數(shù)據(jù)進(jìn)行處理。
與一般技術(shù)相比,本發(fā)明基于Direct3D技術(shù)的圖像處理裝置通過Direct3D技術(shù)在顯存中創(chuàng)建表面,利用創(chuàng)建的表面直接接收獲取到的圖像數(shù)據(jù)。通過在顯存中創(chuàng)建紋理以接收表面中的圖像數(shù)據(jù),并利用圖形流水線對圖像進(jìn)行處理。由于在圖像數(shù)據(jù)的傳輸過程中無需經(jīng)過系統(tǒng)內(nèi)存,并且繞過了 CPU,因此很大程度上提高了圖像的處理速度和顯示效率。
圖I是本發(fā)明基于Direct3D技術(shù)的圖像處理方法的示意流程圖;圖2是本發(fā)明基于Direct3D技術(shù)的圖像處理裝置的結(jié)構(gòu)示意圖。
具體實施例方式為更進(jìn)一步闡述本發(fā)明所采取的技術(shù)手段及取得的效果,下面結(jié)合附圖及較佳實施例,對本發(fā)明的技術(shù)方案,進(jìn)行清楚和完整的描述。 請參閱圖1,為本發(fā)明基于Direct3D技術(shù)的圖像處理方法的示意流程圖。本發(fā)明基于Direct3D技術(shù)的圖像處理方法包括以下步驟SlOl通過Direct3D技術(shù)創(chuàng)建表面、第一紋理、第二紋理以及與第二紋理綁定的圖形流水線;通過Direct3D技術(shù)創(chuàng)建設(shè)備對象一,包括創(chuàng)建表面以及第一紋理;創(chuàng)建設(shè)備對象二,包括創(chuàng)建第二紋理以及與第二紋理綁定的圖形流水線。作為其中一個實施例,可通過D3D9技術(shù),創(chuàng)建所述表面和所述第一紋理;通過D3D9技術(shù)、D3D10技術(shù)或者D3D11技術(shù),創(chuàng)建所述第二紋理和所述與第二紋理綁定的圖形流水線。例如,可采用Direct3D技術(shù)中的D3D9EX創(chuàng)建表面,采用D3D10. I技術(shù)創(chuàng)建用于對圖像數(shù)據(jù)進(jìn)行處理的圖形流水線。S102將圖像數(shù)據(jù)發(fā)送至所述表面;作為其中一個實施例,可通過圖像數(shù)據(jù)采集卡獲取圖像數(shù)據(jù);向圖像數(shù)據(jù)采集卡發(fā)送控制指令,將其捕獲的圖像數(shù)據(jù)發(fā)送至所述表面。S103將所述表面中的圖像數(shù)據(jù)發(fā)送至所述第一紋理;可將表面中的圖像數(shù)據(jù)復(fù)制至第一紋理,第一紋理可將圖像數(shù)據(jù)采用共享的方式發(fā)送至第二紋理。S104將所述第一紋理中的圖像數(shù)據(jù)發(fā)送至所述第二紋理;作為其中一個實施例,可通過Direct3D技術(shù)中的共享機(jī)制,將所述第一紋理中的圖像數(shù)據(jù)發(fā)送至所述第二紋理。例如,可在D3D9EX與D3D10. I之間實現(xiàn)共享,利用Direct3D技術(shù)中的表面共享機(jī)制,實現(xiàn)兩個紋理中圖像數(shù)據(jù)的同步。其中,第二紋理已綁定預(yù)先創(chuàng)建的圖形流水線。S105通過所述與第二紋理綁定的圖形流水線對圖像數(shù)據(jù)進(jìn)行處理。當(dāng)圖像數(shù)據(jù)到達(dá)第二紋理之后,便可發(fā)送繪制指令控制圖形流水線開始處理圖像數(shù)據(jù)。例如,可通過D3D10. I中的圖形流水線進(jìn)行圖像數(shù)據(jù)處理。另外,在步驟S105完成之后,還可再次利用表面獲取圖像數(shù)據(jù),然后通過第一紋理共享至第二紋理,并進(jìn)一步對圖像數(shù)據(jù)進(jìn)行處理。如此可形成一個循環(huán)過程,這樣能適應(yīng)多窗口和大容量圖像的數(shù)據(jù)處理與顯示。與一般技術(shù)相比,本發(fā)明基于Direct3D技術(shù)的圖像處理方法通過Direct3D技術(shù)在顯存中創(chuàng)建表面,利用創(chuàng)建的表面直接接收獲取到的圖像數(shù)據(jù)。通過在顯存中創(chuàng)建紋理以接收表面中的圖像數(shù)據(jù),并利用圖形流水線對圖像進(jìn)行處理。由于在圖像數(shù)據(jù)的傳輸過程中無需經(jīng)過系統(tǒng)內(nèi)存,并且繞過了 CPU,因此很大程度上提高了圖像的處理速度和顯示效率。本發(fā)明可將采集卡采集的圖像數(shù)據(jù)直接提供給D3D10. I可編程圖形流水線,便于可編程圖形流水線對圖像進(jìn)行靈活處理,以克服圖像的放大或縮小中出現(xiàn)的質(zhì)量問題,如劇齒現(xiàn)象和走樣等。通過本發(fā)明可把采集卡捕獲到的圖像數(shù)據(jù)發(fā)送(如采用DMA的方式)至D3D9EX創(chuàng)建的表面,能很大程度上降低CPU資源占用。通過利用圖形流水線 對圖像數(shù)據(jù)進(jìn)行處理可明顯提高采集卡捕獲的圖像的處理效果,以及進(jìn)一步的顯示質(zhì)量。此外,還公布了一種基于Direct3D技術(shù)的圖像處理裝置。請參閱圖2,為本發(fā)明基于Direct3D技術(shù)的圖像處理裝置的結(jié)構(gòu)示意圖。一種基于Direct3D技術(shù)的圖像處理裝置,包括創(chuàng)建模塊201、圖像數(shù)據(jù)發(fā)送模塊202和圖像數(shù)據(jù)處理模塊203 ;所述創(chuàng)建模塊201用于通過Direct3D技術(shù)創(chuàng)建表面、第一紋理、第二紋理以及與第二紋理綁定的圖形流水線;作為其中一個實施例,所述創(chuàng)建模塊可包括第一創(chuàng)建模塊和第二創(chuàng)建模塊;所述第一創(chuàng)建模塊用于通過D3D9技術(shù),創(chuàng)建所述表面和所述第一紋理;所述第二創(chuàng)建模塊用于通過D3D9技術(shù)、D3D10技術(shù)或者D3D11技術(shù),創(chuàng)建所述第二紋理和所述與第二紋理綁定的圖形流水線。例如,可采用Direct3D技術(shù)中的D3D9EX創(chuàng)建表面,采用D3D10. I技術(shù)創(chuàng)建用于對圖像數(shù)據(jù)進(jìn)行處理的圖形流水線。所述圖像數(shù)據(jù)發(fā)送模塊202用于將圖像數(shù)據(jù)發(fā)送至所述表面,將所述表面中的圖像數(shù)據(jù)發(fā)送至所述第一紋理,以及將所述第一紋理中的圖像數(shù)據(jù)發(fā)送至所述第二紋理;作為其中一個實施例,所述圖像數(shù)據(jù)發(fā)送模塊可包括圖像數(shù)據(jù)獲取模塊和控制指令發(fā)送模塊;所述圖像數(shù)據(jù)獲取模塊用于通過圖像數(shù)據(jù)采集卡獲取圖像數(shù)據(jù);所述控制指令發(fā)送模塊用于向圖像數(shù)據(jù)采集卡發(fā)送控制指令,將其捕獲的圖像數(shù)據(jù)發(fā)送至所述表面。作為其中一個實施例,所述圖像數(shù)據(jù)發(fā)送模塊可用于通過Direct3D技術(shù)中的共享機(jī)制,將所述第一紋理中的圖像數(shù)據(jù)發(fā)送至所述第二紋理。所述圖像數(shù)據(jù)處理模塊203用于通過所述與第二紋理綁定的圖形流水線對圖像數(shù)據(jù)進(jìn)行處理。當(dāng)圖像數(shù)據(jù)到達(dá)第二紋理之后,便可發(fā)送繪制指令控制圖形流水線開始處理圖像數(shù)據(jù)。例如,可通過D3D10. I中的圖形流水線進(jìn)行圖像數(shù)據(jù)處理。與一般技術(shù)相比,本發(fā)明基于Direct3D技術(shù)的圖像處理裝置通過Direct3D技術(shù)在顯存中創(chuàng)建表面,利用創(chuàng)建的表面直接接收獲取到的圖像數(shù)據(jù)。通過在顯存中創(chuàng)建紋理以接收表面中的圖像數(shù)據(jù),并利用圖形流水線對圖像進(jìn)行處理。由于在圖像數(shù)據(jù)的傳輸過程中無需經(jīng)過系統(tǒng)內(nèi)存,并且繞過了 CPU,因此很大程度上提高了圖像的處理速度和顯示效率。
以上所述實施例僅表達(dá)了本發(fā)明的幾種實施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員 來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種基于Direct3D技術(shù)的圖像處理方法,其特征在于,包括以下步驟 通過Direct3D技術(shù)創(chuàng)建表面、第一紋理、第二紋理以及與第二紋理綁定的圖形流水線. 將圖像數(shù)據(jù)發(fā)送至所述表面; 將所述表面中的圖像數(shù)據(jù)發(fā)送至所述第一紋理; 將所述第一紋理中的圖像數(shù)據(jù)發(fā)送至所述第二紋理; 通過所述與第二紋理綁定的圖形流水線對圖像數(shù)據(jù)進(jìn)行處理。
2.根據(jù)權(quán)利要求I所述的基于Direct3D技術(shù)的圖像處理方法,其特征在于,所述創(chuàng)建表面、第一紋理、第二紋理以及與第二紋理綁定的圖形流水線的步驟,包括以下步驟 通過D3D9技術(shù),創(chuàng)建所述表面和所述第一紋理; 通過D3D9技術(shù)、D3D10技術(shù)或者D3D11技術(shù),創(chuàng)建所述第二紋理和所述與第二紋理綁定的圖形流水線。
3.根據(jù)權(quán)利要求I所述的基于Direct3D技術(shù)的圖像處理方法,其特征在于,所述將圖像數(shù)據(jù)發(fā)送至所述表面的步驟,包括以下步驟 通過圖像數(shù)據(jù)采集卡獲取圖像數(shù)據(jù); 向圖像數(shù)據(jù)采集卡發(fā)送控制指令,將其捕獲的圖像數(shù)據(jù)發(fā)送至所述表面。
4.根據(jù)權(quán)利要求I所述的基于Direct3D技術(shù)的圖像處理方法,其特征在于,通過Direct3D技術(shù)中的共享機(jī)制,將所述第一紋理中的圖像數(shù)據(jù)發(fā)送至所述第二紋理。
5.一種基于Direct3D技術(shù)的圖像處理裝置,其特征在于,包括創(chuàng)建模塊、圖像數(shù)據(jù)發(fā)送模塊和圖像數(shù)據(jù)處理模塊; 所述創(chuàng)建模塊用于通過Direct3D技術(shù)創(chuàng)建表面、第一紋理、第二紋理以及與第二紋理綁定的圖形流水線; 所述圖像數(shù)據(jù)發(fā)送模塊用于將圖像數(shù)據(jù)發(fā)送至所述表面,將所述表面中的圖像數(shù)據(jù)發(fā)送至所述第一紋理,以及將所述第一紋理中的圖像數(shù)據(jù)發(fā)送至所述第二紋理; 所述圖像數(shù)據(jù)處理模塊用于通過所述與第二紋理綁定的圖形流水線對圖像數(shù)據(jù)進(jìn)行處理。
6.根據(jù)權(quán)利要求5所述的基于Direct3D技術(shù)的圖像處理裝置,其特征在于,所述創(chuàng)建模塊包括第一創(chuàng)建模塊和第二創(chuàng)建模塊; 所述第一創(chuàng)建模塊用于通過D3D9技術(shù),創(chuàng)建所述表面和所述第一紋理; 所述第二創(chuàng)建模塊用于通過D3D9技術(shù)、D3D10技術(shù)或者D3D11技術(shù),創(chuàng)建所述第二紋理和所述與第二紋理綁定的圖形流水線。
7.根據(jù)權(quán)利要求5所述的基于Direct3D技術(shù)的圖像處理裝置,其特征在于,所述圖像數(shù)據(jù)發(fā)送模塊包括圖像數(shù)據(jù)獲取模塊和控制指令發(fā)送模塊; 所述圖像數(shù)據(jù)獲取模塊用于通過圖像數(shù)據(jù)采集卡獲取圖像數(shù)據(jù); 所述控制指令發(fā)送模塊用于向圖像數(shù)據(jù)采集卡發(fā)送控制指令,將其捕獲的圖像數(shù)據(jù)發(fā)送至所述表面。
8.根據(jù)權(quán)利要求5所述的基于Direct3D技術(shù)的圖像處理裝置,其特征在于,所述圖像數(shù)據(jù)發(fā)送模塊用于通過Direct3D技術(shù)中的共享機(jī)制,將所述第一紋理中的圖像數(shù)據(jù)發(fā)送至所述第二紋理。
全文摘要
本發(fā)明公開了一種基于Direct3D技術(shù)的圖像處理方法,包括通過Direct3D技術(shù)創(chuàng)建表面、第一紋理、第二紋理以及與第二紋理綁定的圖形流水線;將圖像數(shù)據(jù)發(fā)送至表面;將表面中的圖像數(shù)據(jù)發(fā)送至第一紋理;將第一紋理中的圖像數(shù)據(jù)發(fā)送至第二紋理;通過圖形流水線對圖像數(shù)據(jù)進(jìn)行處理。還公開了一種基于Direct3D技術(shù)的圖像處理裝置,包括創(chuàng)建模塊、圖像數(shù)據(jù)發(fā)送模塊和圖像數(shù)據(jù)處理模塊。本發(fā)明利用在顯存中創(chuàng)建的表面直接接收圖像數(shù)據(jù),通過在顯存中創(chuàng)建紋理以接收表面中的圖像數(shù)據(jù),并利用圖形流水線對圖像進(jìn)行處理。由于在圖像數(shù)據(jù)的傳輸過程中無需經(jīng)過系統(tǒng)內(nèi)存,并且繞過了CPU,因此提高了圖像的處理速度和顯示效率。
文檔編號G06T15/04GK102800122SQ20121020606
公開日2012年11月28日 申請日期2012年6月20日 優(yōu)先權(quán)日2012年6月20日
發(fā)明者蒙興柳 申請人:廣東威創(chuàng)視訊科技股份有限公司