摘 要:多媒體視頻處理的任務(wù)繁重,計(jì)算量大,很多算法無(wú)法在僅使用一顆CPU的條件下達(dá)到實(shí)時(shí)處理的速度。設(shè)計(jì)一套圖形處理器協(xié)同運(yùn)算的視頻處理架構(gòu),它采用圖形處理器與中央處理器配合,共同完成視頻計(jì)算的任務(wù)。這種架構(gòu)可以大大加速處理速度,并減輕中央處理器的負(fù)擔(dān)。
關(guān)鍵詞:圖形處理器;GPU通用計(jì)算;視頻處理;GPU架構(gòu)
中圖分類號(hào):TP39114文獻(xiàn)標(biāo)識(shí)碼:B文章編號(hào):1004373X(2008)2013405
Graphic Processing Unit Assisted Video Processing Architecture
ZHANG Lei,WANG Guangsheng
(College of Electronic Information and Control Engineering,Beijing University of Technology,Beijing,100022,China)
Abstract:The process tasks of multimedia video are heavy and the amount of calculations is large.Many algorithms can not achieve real-time process speed with only one CPU usage.This paper proposes a graphic processing unit assisted video processing architecture,which makes graphic processing unit and central processing unit work together and process the tasks of video calculations.This architecture can greatly accelerate the processing speed and release the load of central processing unit.
Keywords:graphic processing unit;GPU general compute;video processing;GPU architecture
隨著現(xiàn)代圖形處理器(Graphic Processing Unit,GPU)的可編程能力及性能的提高,越來(lái)越多的人發(fā)現(xiàn)GPU的這種并行流式處理架構(gòu)可以完成一些具有并行性高,運(yùn)算密度高的一般計(jì)算任務(wù)。于是,世界各地的人們紛紛將自己所研究領(lǐng)域的算法向GPU上進(jìn)行移植,并在某些領(lǐng)域取得了令人驚訝的成績(jī),尤其在一些對(duì)運(yùn)算能力敏感的特定領(lǐng)域,GPU已經(jīng)被證明比單獨(dú)的x86 CPU更具優(yōu)勢(shì)。人們對(duì)于x86和GPU運(yùn)算能力差別的傳統(tǒng)觀念正在發(fā)生著轉(zhuǎn)變。
多媒體視頻處理的任務(wù)繁重,計(jì)算量大,很多算法無(wú)法在僅使用一顆CPU的條件下達(dá)到實(shí)時(shí)處理的速度。本文介紹一種采用GPU進(jìn)行協(xié)同運(yùn)算的視頻處理架構(gòu),通過(guò)GPU與CPU配合工作來(lái)完成視頻處理的計(jì)算任務(wù),從而起到加速計(jì)算的目的,并將CPU從繁重的計(jì)算任務(wù)中解脫出來(lái)。
1 圖形處理器及其可編程性簡(jiǎn)介
圖形處理器(Graphic Processing Unit,GPU)是在顯卡上集成的有圖形運(yùn)算能力的處理器。如同整個(gè)PC架構(gòu)中CPU是最重要的部分一樣,在顯卡的架構(gòu)中,GPU也是其主心骨。GPU最大的作用是協(xié)助CPU進(jìn)行3D圖形計(jì)算,整個(gè)3D圖形計(jì)算完全由GPU這個(gè)專門的硬件來(lái)執(zhí)行,大大提升了效率,也將CPU從繁重的幾何計(jì)算中解放出來(lái)。GPU所采用的核心技術(shù)有硬件TL(Transform Lighting)、立方環(huán)境材質(zhì)貼圖和頂點(diǎn)混合、紋理壓縮和凹凸映射貼圖、雙重紋理4像素256位渲染引擎等,而硬件TL技術(shù)可以說(shuō)是GPU的標(biāo)志[1-3]。
如今的GPU集成比CPU更多數(shù)量的晶體管,其復(fù)雜程度可想而知。從歷代產(chǎn)品的發(fā)展過(guò)程來(lái)看,每一代GPU都保持相對(duì)穩(wěn)定的架構(gòu),即像素填充率決定基本速度,然后通過(guò)各種技術(shù)實(shí)現(xiàn)3D特效,從而在速度與畫質(zhì)方面取得雙重進(jìn)步\\。當(dāng)今的大多數(shù)GPU都能達(dá)到10~20 Gigaflops( 1 Gigaflops=1 s進(jìn)行10億次的浮點(diǎn)運(yùn)算),nVidia于2007年底推出的GeForce 8800Ultra甚至能達(dá)到576 Gigaflops,而Intel 3 GHz Pentium 4即使采用SSE指令集也只能達(dá)到6 Gigaflops,與GPU有數(shù)十倍的差距!
新一代的GPU在傳統(tǒng)的3D渲染流水線的基礎(chǔ)上,增加了2個(gè)全新的流處理器:頂點(diǎn)處理器(vertex processor)和片元處理器(fragment processor,在Direct3D中稱為pixel processor), 使得GPU可以處理開發(fā)人員寫好的代碼腳本,跳過(guò)原先3D渲染流水線上的某些處理環(huán)節(jié),來(lái)達(dá)到某些原來(lái)不能達(dá)到或者很難達(dá)到的效果。頂點(diǎn)處理器和片元處理器在渲染流程如圖1所示。
頂點(diǎn)處理器取代了原先TL的變換過(guò)程, 它讓程序員能夠?qū)μ囟ㄎ矬w,甚至整個(gè)畫面的每一個(gè)頂點(diǎn),指定特別的運(yùn)算程序,而不需要CPU介入。每一個(gè)頂點(diǎn)都攜帶相當(dāng)多的信息,比如坐標(biāo)、重量、法線、顏色、紋理坐標(biāo)等數(shù)據(jù)。頂點(diǎn)處理器能夠以簡(jiǎn)短的程序來(lái)改變上述這些信息,這些小程序直接由頂點(diǎn)著色引擎本身執(zhí)行。這樣開發(fā)人員可以利用頂點(diǎn)處理器做任意有關(guān)幾何空間的變換和光照陰影的處理,大大地增加了GPU的靈活性。
片元處理器是渲染管線中的一個(gè)新增處理器,它在GPU的光柵化流程之后負(fù)責(zé)處理片元及其他相關(guān)數(shù)據(jù)。片元處理器比頂點(diǎn)處理器處理的范圍更寬,它可以對(duì)片元的顏色、插值、紋理讀寫、紋理顏色、霧、邊緣效果以及高質(zhì)量的光照等進(jìn)行處理。片元處理器所能生成的一個(gè)最重要的特效是毛發(fā)效果,原先制作毛發(fā)需要?jiǎng)?chuàng)造大量的多邊形而每一根毛發(fā)之間復(fù)雜多變的即時(shí)光影關(guān)系更不是幾個(gè)簡(jiǎn)單固定的指令所能實(shí)現(xiàn)的。而開發(fā)人員通過(guò)直接對(duì)片元處理器的編程則很好地解決了這個(gè)問(wèn)題 。
GPU通過(guò)增加頂點(diǎn)處理器和片元處理器后,GPU成為了可編程的處理器。開發(fā)人員自由地改寫渲染流水線的處理方式,他們可以很簡(jiǎn)單地完成以前需要很復(fù)雜的工作才能完成的任務(wù)。然而,GPU的可編程性還不止于此,如果可以很好地利用GPU的流式處理架構(gòu)和它的可編程性,可以利用GPU處理一些非3D圖形類的工作,這就是GPU的通用計(jì)算。
2 GPU相對(duì)CPU的優(yōu)勢(shì)
由于GPU特殊的硬件架構(gòu),使得GPU在某些方面要遠(yuǎn)遠(yuǎn)優(yōu)于CPU。它有著高度并行的計(jì)算風(fēng)格,強(qiáng)大的計(jì)算能力和很高的存儲(chǔ)帶寬[5]。CPU被設(shè)計(jì)用來(lái)完成通用的計(jì)算任務(wù),其設(shè)計(jì)主要針對(duì)串行任務(wù)的處理,芯片中含有很大很復(fù)雜的控制功能,真正用于計(jì)算的部分只占其核心部分的很少一個(gè)部分。因此,相對(duì)于CPU來(lái)講,GPU的主要優(yōu)勢(shì)在于:
(1) 浮點(diǎn)運(yùn)算性能極高
大多數(shù)GPU都能達(dá)到10~20 Gigaflops( 1 Gigaflops=1 s進(jìn)行10億次的浮點(diǎn)運(yùn)算),而最近推出的GPU甚至能達(dá)到576 Gigaflops。Intel 3 GHz Pentium 4即使采用SSE指令集也只能達(dá)到6 Gigaflops。GPU在浮點(diǎn)運(yùn)算性能大幅領(lǐng)先于CPU,這是GPU領(lǐng)先CPU最本質(zhì)的地方。
(2) 適合處理并行計(jì)算任務(wù)
GPU內(nèi)部含有多條并行的渲染流水線,本身就可以做多路并行任務(wù)。而CPU要解決并行處理的工作往往需要很多其他輔助工作的配合,而且需要一定的性能開銷作為代價(jià)(CPU的流程控制比GPU要復(fù)雜得多)。
(3) 適合進(jìn)行重復(fù)性計(jì)算
GPU因?yàn)槭菍iT為圖形運(yùn)算而設(shè)計(jì)的,其考慮到了圖形運(yùn)算的特殊性。就片元著色器來(lái)說(shuō),當(dāng)前批次所有的待處理像素,都會(huì)執(zhí)行相同的像素著色程序,相同或類似的運(yùn)算會(huì)在海量的數(shù)據(jù)上重復(fù)運(yùn)行[6-8]。
(4) 幾何處理能力強(qiáng)且方便
GPU天生就是用來(lái)處理圖形方面的運(yùn)算的,因此它的幾何處理能力要比CPU強(qiáng)很多,同時(shí)使用GPU來(lái)處理幾何問(wèn)題要比CPU更加方便,已經(jīng)有相當(dāng)成熟的API(OpenGL和Direct3D)支持GPU完成幾何處理。
(5) 圖像視頻處理速度快
GPU中含有對(duì)紋理填充和著色的工作,這些處理工作可以很容易地移植到對(duì)圖像的處理上面,因?yàn)閺哪撤N意義上說(shuō),紋理和圖像是等價(jià)的。GPU的流式處理架構(gòu)非常適合處理具有過(guò)濾器圖表式結(jié)構(gòu)的圖像或視頻算法的工作。
(6) 成本相對(duì)低廉
一顆GPU的價(jià)格幾乎與CPU價(jià)格相當(dāng),那么如果算法可以在GPU上獲得幾倍甚至幾十倍的加速,這就意味原本需要幾顆或者幾十顆CPU同時(shí)處理的工作,現(xiàn)在僅需要一顆GPU就足以應(yīng)付,大大降低了系統(tǒng)成本。
3 GPGPU 程序的運(yùn)作模式
為了與GPGPU的運(yùn)作模式做對(duì)比,首先來(lái)看傳統(tǒng)的3D應(yīng)用程序中,CPU和GPU的運(yùn)作模式,如圖2(a)所示。首先,CPU將用于生成幾何體的信息上傳到顯卡的顯示內(nèi)存中,幾何體的信息通常包括頂點(diǎn)信息和紋理信息2大部分,如果開發(fā)人員需要對(duì)GPU渲染流水線處理流程做改動(dòng),這時(shí)還會(huì)把針對(duì)頂點(diǎn)處理器和片元處理器所編寫的程序一起上傳。之后,CPU調(diào)用相關(guān)圖形API,使GPU按照指令生成所要求的幾何體,并對(duì)其進(jìn)行處理。這個(gè)過(guò)程中幾乎所有的任務(wù)都在GPU內(nèi)部完成,有的時(shí)候渲染過(guò)程并非一次完成,那么GPU會(huì)將一次渲染的結(jié)果存入顯示存儲(chǔ)器中,然后再對(duì)其進(jìn)行處理,這是GPU管線的特殊處理方式[9]。最后,GPU將處理好的圖像存儲(chǔ)到顯示幀緩沖區(qū)中,之后將其送入顯示設(shè)備,最終顯示在屏幕上。整個(gè)系統(tǒng)的運(yùn)作模式為:CPU單向地發(fā)送指令和信息,GPU單向地接收信息并按照指令進(jìn)行處理,是一種單向的流水線式的運(yùn)作模式。
GPGPU程序的運(yùn)作模式則不同,如圖2(b)所示。
GPGPU程序的運(yùn)作模式
首先,CPU將所要計(jì)算的通用數(shù)據(jù),以紋理和頂點(diǎn)的形式上傳給GPU,然后把API傳送給GPU。前期的初始化過(guò)程雖然與傳統(tǒng)的應(yīng)用程序差不多,但是在這里,頂點(diǎn)信息沒(méi)有太多的實(shí)用價(jià)值,它只是為了渲染得到結(jié)果而安排的。紋理變成了承載通用數(shù)據(jù)信息的重要媒介,它幾乎等同于CPU中的數(shù)組。在大多數(shù)情況下開發(fā)人員都需要對(duì)頂點(diǎn)處理器和片元處理器進(jìn)行編程,以滿足他們通用計(jì)算的處理任務(wù)。
GPU接收到API指令后,按照API指令進(jìn)行計(jì)算。這個(gè)過(guò)程雖然仍然被稱為“渲染”,但是其目的卻并非去做3D幾何和光照運(yùn)算,而是通過(guò)頂點(diǎn)處理器和片元處理器按照開發(fā)人員的特殊需求做數(shù)學(xué)計(jì)算。由于通用計(jì)算任務(wù)往往需要回饋計(jì)算,因此當(dāng)1次渲染結(jié)束后,GPU將它以紋理的形式保存到內(nèi)存儲(chǔ)器中,這個(gè)過(guò)程稱為“渲染到紋理”?!颁秩镜郊y理”是目前惟一用于實(shí)現(xiàn)直接把GPU輸出的數(shù)據(jù)反饋到輸入,而不用返回主機(jī)處理器的機(jī)制。
通過(guò)數(shù)次回饋計(jì)算,GPU最終將計(jì)算的結(jié)果輸出。這一步,并不像傳統(tǒng)的3D應(yīng)用程序那樣將結(jié)果直接輸出到顯示設(shè)備中顯示出來(lái),而是再次將結(jié)果以紋理的方式保存在顯示存儲(chǔ)器中。在通用計(jì)算中,開發(fā)人員往往對(duì)這個(gè)渲染結(jié)果需要進(jìn)一步的處理,因此由CPU發(fā)送“讀回”指令,將渲染的紋理(通用計(jì)算的數(shù)據(jù))讀回到計(jì)算機(jī)的內(nèi)存儲(chǔ)器中,并對(duì)其進(jìn)行處理,將其重新按照原先的非紋理的方式保存。這樣GPU所計(jì)算的數(shù)據(jù)最終交由CPU再做處理。
CPU將結(jié)果進(jìn)行處理后,有時(shí)需要再次使用GPU來(lái)繼續(xù)下一步的運(yùn)算。這時(shí)CPU再將要處理的數(shù)據(jù)重新以紋理的方式上傳到GPU中去,GPU在進(jìn)行對(duì)其處理并將結(jié)果返回。這樣,CPU將處理好的數(shù)據(jù)傳給GPU處理,GPU將處理好的數(shù)據(jù)傳給CPU處理。CPU和GPU相互配合,互相發(fā)揮自身的優(yōu)勢(shì),最終加速整個(gè)計(jì)算過(guò)程。
在這種模式下,CPU和GPU是一種“協(xié)作”關(guān)系,GPU成為了CPU的協(xié)處理器,幫助CPU完成一些特定的復(fù)雜度高的計(jì)算任務(wù)。需要指出的是,在通常情況下,CPU并不會(huì)因?yàn)榈却鼼PU計(jì)算而發(fā)生空閑,這是因?yàn)楝F(xiàn)代GPU往往具有異步傳送等功能,CPU可以一邊將數(shù)據(jù)傳送給GPU,一邊執(zhí)行自己這一邊的計(jì)算任務(wù)。同時(shí),GPU計(jì)算速度極快,往往會(huì)在CPU完成計(jì)算任務(wù)之前,先完成任務(wù)并將GPU計(jì)算的結(jié)果傳回給CPU。因此,大多數(shù)情況下都是GPU等待CPU,GPU空閑的時(shí)候更多。
4 GPU協(xié)同運(yùn)算的視頻處理架構(gòu)
傳統(tǒng)的視頻處理工作往往是流水線的處理架構(gòu),GPU的工作模式也是流水線的方式,因此在GPU協(xié)同運(yùn)算的視頻處理架構(gòu)中,GPU所扮演的角色是整個(gè)視頻處理流水線中的一個(gè)環(huán)節(jié)。如圖3(a)所示是一個(gè)典型的視頻壓縮編碼處理架構(gòu),從視頻源的供給到視頻壓縮編碼,再到編碼后的視頻輸出,都由CPU完成。
在GPGPU的工作模式下,壓縮編碼器是將壓縮編碼的工作由CPU和GPU共同完成下的視頻處理的架構(gòu),如圖3(b)所示。在視頻編碼過(guò)程中,GPU完成的工作有運(yùn)動(dòng)估計(jì)、圖像空域?yàn)V波、運(yùn)動(dòng)補(bǔ)償及其他針對(duì)圖像區(qū)域的2D處理運(yùn)算。前面提到,對(duì)GPU來(lái)講,圖像是圖形學(xué)中的紋理,而GPU在處理紋理的時(shí)候,有專用的硬件填充器和著色器,使得處理速度大大增加。
視頻幀是視頻數(shù)據(jù)封裝的一個(gè)單元,在進(jìn)行視頻處理的時(shí)候都是以一幀作為對(duì)象進(jìn)行處理。因此,要讓GPU處理視頻數(shù)據(jù),首先應(yīng)把視頻幀以紋理的形式上傳到GPU的顯示內(nèi)存中去才能進(jìn)行。GPU針對(duì)紋理的處理方式,可以有不同的方式,既可以單純地使用片元著色器,對(duì)紋理進(jìn)行區(qū)域色彩的處理;也可以結(jié)合頂點(diǎn)著色器將平面的視頻進(jìn)行扭曲,改變各個(gè)像素點(diǎn)的位置;還可以直接利用紋理貼圖技術(shù),將GPU貼在一個(gè)空間的表面上,再進(jìn)行透視投影變換將空間表面重新轉(zhuǎn)換為2D的視頻。當(dāng)GPU在處理完畢后,視頻數(shù)據(jù)經(jīng)由顯示卡的顯示內(nèi)存流回到系統(tǒng)內(nèi)存中,以便CPU進(jìn)一步處理,將最終的結(jié)果輸出。如果1次渲染后視頻幀仍需再進(jìn)行處理,GPU會(huì)再次調(diào)用顯示內(nèi)存中已渲染好的視頻數(shù)據(jù),并重新執(zhí)行處理流水線。這種視頻處理架構(gòu)的內(nèi)部處理流程如圖4所示。
這里的讀回操作需要特別注意。數(shù)據(jù)從顯卡中讀回是一個(gè)開銷非常大的操作。傳統(tǒng)應(yīng)用程序都是將渲染好的3D圖形顯示在屏幕上,很少進(jìn)行讀回操作。這樣,GPU在設(shè)計(jì)的時(shí)候并沒(méi)有對(duì)讀回操作進(jìn)行太多的優(yōu)化,用于讀回的帶寬資源非常有限。因此,普通的GPU上傳性能非??焖?,而下載卻非常慢。而用于通用計(jì)算的GPU往往需要將顯卡中的數(shù)據(jù)重新讀回到內(nèi)存中再進(jìn)行其他計(jì)算,對(duì)讀回操作的性能要求極高。這樣,讀回的流程將會(huì)形成流水線中的一個(gè)嚴(yán)重的瓶頸。好在現(xiàn)在的廠商已經(jīng)開始重視這一問(wèn)題,著手對(duì)GPU進(jìn)行相關(guān)的優(yōu)化,比如nVidia在他圖形顯示卡推出的“硬件加速的讀回操作”(Hardware Accelerate Readback),異步讀回技術(shù)(Asynchronous ReadBack),更高速率的傳輸總線PCI-E 2.0等,這個(gè)流水線的瓶頸開始被逐漸緩解。
以上便是GPU協(xié)同運(yùn)算的視頻處理架構(gòu),通過(guò)將視頻幀下載到顯卡中,使用GPU進(jìn)行部分工作的處理,來(lái)達(dá)到降低CPU的負(fù)載,加快處理速度的目的。
5 實(shí)驗(yàn)及分析
在實(shí)驗(yàn)中,將傳統(tǒng)的圖像透視變換算法移植到GPU上完成。圖像透視變換算法是一種2D到2D的變換,這種變換可以用以下矩陣來(lái)描述:
x′y′1=m0m1m2m3m4m5m6m7m8xy1(1)
其中x′,y′是視頻圖像中的像素點(diǎn)x,y在透視變換之后的新位置。m0~m8為透視變換各個(gè)參數(shù),它的取值將決定透視變換的效果。
從式(1)不難看出,透視變換算法需要對(duì)圖像中每個(gè)像素進(jìn)行計(jì)算,那么要想對(duì)每秒25~30幀的視頻進(jìn)行實(shí)時(shí)處理,其計(jì)算量相當(dāng)龐大。在此實(shí)驗(yàn)中,采用此種透視變換處理320×240×30fps的視頻圖像,如果純靠CPU來(lái)進(jìn)行需要消耗CPU的80%的資源,而要想實(shí)時(shí)處理更高分辨率的視頻,則需要通過(guò)增加處理器的內(nèi)核數(shù)量實(shí)現(xiàn)。
當(dāng)采用本文提出的圖形處理器協(xié)同運(yùn)算的視頻處理架構(gòu)后,將算法移植到GPU內(nèi)部,將被變換的視頻幀直接通過(guò)紋理貼圖到預(yù)先建立的幾何模型上,再通過(guò)GPU渲染,直接完成對(duì)視頻幀的透視變換。如需對(duì)圖像色彩進(jìn)行調(diào)整,也可以通過(guò)編寫片元著色器實(shí)現(xiàn)。在實(shí)驗(yàn)中,要進(jìn)行柱狀透視變換,因此預(yù)先建立起的幾何模型為圓柱面,透視變換前后的視頻幀如圖5(a)和圖5(b)所示。當(dāng)進(jìn)行其他形態(tài)的透視變換時(shí),可以通過(guò)在GPU內(nèi)部建立相應(yīng)的3D曲面來(lái)完成。采用GPU處理這種類型的視頻變換的另一個(gè)好處是,無(wú)需預(yù)先推算出準(zhǔn)確的數(shù)學(xué)表達(dá)式,而通過(guò)頂點(diǎn)建立曲面的方法直接得出結(jié)果。如圖5(c)所示,是一個(gè)無(wú)法通過(guò)準(zhǔn)確的數(shù)學(xué)表達(dá)式來(lái)進(jìn)行描述的透視變換,但可以通過(guò)在GPU上進(jìn)行幾何建模的方法來(lái)完成此類透視變換,這在對(duì)視頻圖像進(jìn)行幾何校正時(shí)是非常有用的。
圖5 視頻圖像的透視變換
從實(shí)驗(yàn)看,采用GPU協(xié)同運(yùn)算的視頻處理架構(gòu)在執(zhí)行視頻透視變換的任務(wù)中,由于絕大多數(shù)的工作量交由GPU來(lái)進(jìn)行處理,CPU上僅耗費(fèi)了10%~15%的資源。CPU上所消耗的資源主要用在系統(tǒng)驅(qū)動(dòng)GPU工作和CPU與GPU之間的視頻數(shù)據(jù)收發(fā)環(huán)節(jié)上。從結(jié)果可以看出,與傳統(tǒng)單靠CPU運(yùn)算相比,此套GPU協(xié)同運(yùn)算的視頻處理架構(gòu)大幅提升了處理速度,減輕了CPU的負(fù)荷量,并且認(rèn)為還有更大的潛力有待挖掘。
6 結(jié) 語(yǔ)
用GPU來(lái)輔助進(jìn)行視頻處理運(yùn)算,是一個(gè)很新又很有潛力的技術(shù),微軟,IBM,索尼等大公司已經(jīng)開始著手研究GPU的通用計(jì)算能力以及相關(guān)算法。同時(shí),顯示芯片廠商對(duì)此問(wèn)題關(guān)注日益加強(qiáng),今后的GPU將更強(qiáng)大并更有利于進(jìn)行通用計(jì)算。
在今后,更多的大規(guī)模計(jì)算領(lǐng)域?qū)⒉捎肎PU作為加速計(jì)算的手段,完成更多更繁重的工作,極大地降低CPU使用的個(gè)數(shù)和計(jì)算機(jī)群的規(guī)模。GPU將成為CPU,DSP后的另一個(gè)具有通用計(jì)算能力的處理器,迎來(lái)它在歷史上嶄新的一頁(yè)。
參考文獻(xiàn)
[1]張健浪.CPU不再是惟一核心 GPU將邁向通用計(jì)算\\.新電腦,2007,31(4):118-120.
[2]湯穎,張宏鑫,張美玉.基于圖形硬件的紋理圖像編碼與實(shí)時(shí)繪制算法\\.計(jì)算機(jī)學(xué)報(bào),2007,30(2):272-280.
[3]GPU通用運(yùn)算新篇章深入分析\\.http://www.shbear.com/2/lib/200701/04/ 20070104335-2.htm.
[4]Randi J Rost.OpenGL Shading Lanaguage\\.北京:人民郵電出版社,2006.
[5]John Owens.Streaming Architechures and Technology Trends.GPU Gems,2005:457-470.
[6]Owen Harrison,John Waldron.Optimising Data Movement Rates for Parallel Processing Applications on Graphics Processors.Parallel and Distributed Computing and Networks,2007.
[7]Fung J,Mann S,Aimone C Openvidia.Parallel GPU Computer Vision,ACM Multimedia,Singapore.2005.
[8]High Performance Graphics Coprocessor Sorting for Large Database Management,Proceedings of ACM SIGMOD Conference.Chicago,IL,June,2006.
[9]Tomas Akenine-Moller,Eric Haines.實(shí)時(shí)計(jì)算機(jī)圖形學(xué)\\.普建濤,譯.北京:北京大學(xué)出版社,2004.
[10]Video Cards.The Graphics Pipeline\\.http://www.devhardware.com/c/a/Video-Cards/The-Graphics-Pipeline.
作者簡(jiǎn)介
張 磊 男,1983年出生,北京人,碩士研究生。主要從事視頻處理及圖像處理的研究。
王廣生 男,高級(jí)工程師。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文