欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

圖形處理器的流水線化歸約操作的制作方法

文檔序號(hào):6570825閱讀:190來(lái)源:國(guó)知局
專利名稱:圖形處理器的流水線化歸約操作的制作方法
圖形處理器的流水線化歸約操作
背景技術(shù)
圖形處理單元(GPU)是可以用在例如個(gè)人計(jì)算機(jī)、工作站或游戲主 機(jī)中的專用圖形渲染設(shè)備。GPU在操作和顯示計(jì)算機(jī)圖形方面非常有效率。 GPU包含多個(gè)處理單元,這些處理單元同時(shí)執(zhí)行獨(dú)立的操作(例如,在像 素級(jí)上的顏色空間轉(zhuǎn)換)。它們的高并行化結(jié)構(gòu)可以使它們?cè)趶?fù)雜算法范圍 內(nèi)比普通的中央處理單元(CPU)效率高。GPU可以采用使圖形基元操作 運(yùn)行的比使用主CPU直接在屏幕上繪制快得多的方式,來(lái)實(shí)現(xiàn)多個(gè)圖形基 元。
GPU上的通用編程正在成為一種用于加速計(jì)算的高效且普遍的方式, 并且結(jié)合CPU充當(dāng)重要的計(jì)算單元。在實(shí)踐中,可以對(duì)龐大數(shù)量的現(xiàn)有通 用處理內(nèi)核(例如紋理處理、矩陣和矢量計(jì)算)進(jìn)行優(yōu)化以便運(yùn)行在GPU 上。然而,GPU具有某些硬件約束和結(jié)構(gòu)限制。例如,GPU不具有全局變 量的概念,并且不能使用幾個(gè)全局變量來(lái)在運(yùn)行中保存臨時(shí)數(shù)據(jù)。因此, GPU不能有效地處理某些通常使用的歸約(reduction)操作(例如,對(duì)一 串?dāng)?shù)據(jù)元素進(jìn)行平均和求和計(jì)算)。


根據(jù)以下詳細(xì)描述,各個(gè)實(shí)施例的特征和優(yōu)點(diǎn)將會(huì)變得顯而易見,其

圖1示出根據(jù)一個(gè)實(shí)施例的實(shí)例視頻挖掘應(yīng)用;
圖2A示出根據(jù)一個(gè)實(shí)施例的用于歸約操作的實(shí)例濾波器循環(huán)方法的 流程圖2B示出根據(jù)一個(gè)實(shí)施例的濾波器循環(huán)方法的實(shí)例應(yīng)用; 圖3A示出根據(jù)一個(gè)實(shí)施例的用于歸約操作的實(shí)例流水線紋理方法的 流程圖;以及
圖3B示出根據(jù)一個(gè)實(shí)施例的流水線紋理循環(huán)方法的實(shí)例應(yīng)用。
具體實(shí)施例方式
圖1示出了一個(gè)實(shí)例視頻挖掘應(yīng)用100。該視頻挖掘應(yīng)用IOO包括特征 提取110和拍攝圖片(shot)邊界檢測(cè)120。特征提取110包括幾個(gè)歸約操 作。這些歸約操作可以包括以下的至少一些子集(1)確定一幀內(nèi)所有像 素的平均灰度值;(2)提取一個(gè)指定區(qū)域內(nèi)的像素的黑值和白值;(3)計(jì) 算一幀的每個(gè)顏色通道的RGB直方圖;以及(4)計(jì)算兩個(gè)連續(xù)幀之間的 平均灰度差值。
可以通過(guò)以分層形式將一個(gè)幀(例如720x576個(gè)像素)尺寸縮小為更 小的塊并且提取這些塊的特征,來(lái)執(zhí)行特征提取。最終將該幀歸約為1個(gè) 像素,并且該像素是該幀的平均值。
一種塊形成方法可以使用大濾波器將幀的尺寸縮小為大塊。例如,可 以使用36x32濾波器著色器(shader)將720x576個(gè)像素的幀的尺寸縮小為 20x18個(gè)像素的圖像,隨后可以使用20x18的濾波器著色器將該20x18個(gè)像 素的圖像的尺寸縮小為單個(gè)像素。該方法僅需要幾個(gè)步驟(例如,兩個(gè)尺 寸縮小事件),但是這些步驟需要大量的內(nèi)存存取時(shí)間。在具有很多獨(dú)立處 理單元(流水線)的GPU上使用這種方法會(huì)造成一個(gè)流水線過(guò)分占用對(duì)存 儲(chǔ)器的存取,并造成其他流水線停頓。
濾波器循環(huán)方法將一個(gè)濾波器著色器使用幾次,從而連續(xù)地將一個(gè)幀 的尺寸縮小到特定量,并且隨后一旦該圖像被歸約到特定尺寸,就使用第 二個(gè)濾波器著色器將其歸約到1個(gè)像素。該方法對(duì)每個(gè)幀使用多個(gè)像素緩 沖器來(lái)保存各種尺寸縮小的版本。例如,可以使用2x2濾波器將圖像進(jìn)行 1/4縮小5次,因此將圖像歸約為22x18個(gè)像素。然后可以使用22x18濾波 器著色器將該22x18個(gè)像素的圖像的尺寸縮小為1個(gè)像素。這個(gè)實(shí)例會(huì)需 要5個(gè)像素緩沖器來(lái)存儲(chǔ)各種尺寸縮小的版本(每個(gè)進(jìn)行了 1/4尺寸縮小后 的圖像)。
圖2A示出用于歸約操作的一個(gè)實(shí)例濾波器循環(huán)方法的流程圖。初始化 像素緩沖器(例如,5個(gè))(200)。將該幀提供給尺寸縮小循環(huán)(210)。該 循環(huán)210通過(guò)使用2x2濾波器將當(dāng)前圖像的尺寸縮小為1/4尺寸(220)。將 縮小尺寸后的圖像繪制到下一個(gè)像素緩沖器(230)。在當(dāng)前圖像為22x18
6個(gè)像素(例如,在經(jīng)過(guò)5次l/4尺寸縮小之后),該循環(huán)210結(jié)束。然后使 用22x18濾波器著色器將該22x18個(gè)像素的圖像歸約為1個(gè)像素。這個(gè)一 個(gè)像素的結(jié)果就是該幀的期望平均值。
該濾波器循環(huán)方法對(duì)于每個(gè)幀都需要6次尺寸縮小操作,并且需要5 個(gè)額外的像素緩沖器來(lái)捕獲尺寸縮小后的圖像。在該濾波器循環(huán)方法中的 關(guān)鍵路徑是使用22x18濾波器著色器的尺寸縮小。
圖2B示出了該濾波器循環(huán)方法(例如210)的實(shí)例應(yīng)用。當(dāng)接收到該 幀時(shí),將其存儲(chǔ)在緩沖器250中。將該幀的尺寸縮小到1/4,然后存儲(chǔ)在下 一個(gè)緩沖器260中。然后對(duì)尺寸縮小后的圖像再進(jìn)行尺寸縮小,并依次存 儲(chǔ)在緩沖器265-280中。存儲(chǔ)在緩沖器280的圖像是22x18個(gè)像素的圖像, 其尺寸被22x18濾波器著色器縮小到1個(gè)像素。
流水線紋理方法將各個(gè)幀的尺寸縮小操作重疊在一起,從而增加了并 行性??梢詫⒍鄠€(gè)濾波步驟合并為單個(gè)濾波步驟,從而可以將多個(gè)(例如8 個(gè))具有不同尺寸的連續(xù)的幀一起進(jìn)行尺寸縮小。最初,對(duì)比一個(gè)幀大(例 如2倍)的紋理緩沖器進(jìn)行初始化。該紋理緩沖器可以包含兩側(cè),第一側(cè) 用于存儲(chǔ)新的幀,第二側(cè)用于存儲(chǔ)尺寸縮小后的幀。將一個(gè)幀讀取到該紋 理緩沖器中。然后對(duì)該紋理緩沖器進(jìn)行尺寸縮小,并且偏移尺寸縮小后的 圖像。該過(guò)程持續(xù)進(jìn)行,從而使濾波操作可以一次對(duì)多個(gè)幀進(jìn)行尺寸縮小。 一旦該操作處于穩(wěn)定狀態(tài)(該紋理緩沖器是滿的),則執(zhí)行單個(gè)尺寸縮小就 足以獲得最終結(jié)果。
圖3A示出了用于歸約操作的實(shí)例流水線紋理方法的流程圖。初始化 2X的像素緩沖器(300)。然后初始化流水線濾波器操作(310)。該流水線 濾波器操作310包括讀取一個(gè)新的幀,并將其繪制到紋理的左側(cè)(320)。 然后使用2x2濾波器將紋理中的圖像尺寸縮小到1/4 (330),并將所有尺寸 縮小后的圖像繪制到紋理的右側(cè)(340)。事實(shí)上,紋理中的每個(gè)圖像都被 尺寸縮小,然后向右側(cè)偏移。原始幀(例如720x576個(gè)像素)被尺寸縮小 到1/4 (例如360x288個(gè)像素)并繪制到紋理緩沖器右側(cè)上的第一個(gè)位置處。 紋理的右側(cè)上的圖像被尺寸縮小,然后再次繪制到右側(cè)上的下一個(gè)位置處。
持續(xù)地重復(fù)該尺寸縮小處理。每次尺寸縮小操作都對(duì)一個(gè)新的幀以及 在紋理緩沖器右側(cè)中的尺寸縮小后的圖像一起進(jìn)行尺寸縮小。需要7次1/4
7尺寸縮小操作來(lái)將一個(gè)幀歸約為單個(gè)像素。紋理緩沖器的右側(cè)能夠保存7 個(gè)尺寸縮小后的圖像。當(dāng)紋理緩沖器是滿的時(shí),其一共保存了各種尺寸縮 小版本的8個(gè)幀,并對(duì)這些圖像中的各圖像同時(shí)進(jìn)行尺寸縮小。在第7次 尺寸縮小操作之后的值后一個(gè)像素,并且表示該幀的期望平均值。
圖3B示出了流水線紋理循環(huán)方法(例如310)的實(shí)例應(yīng)用。紋理緩沖 器350的尺寸是一個(gè)幀尺寸的兩倍(例如,1440x576個(gè)像素),并且包括左 側(cè)355和右側(cè)360。左側(cè)355存儲(chǔ)新的幀(幀N) 365。右側(cè)360存儲(chǔ)7個(gè) 先前幀的尺寸縮小版本。先前幀(幀N-1) 370是1/4尺寸的并且被存儲(chǔ)在 右側(cè)360上的第一個(gè)槽位(slot)中。幀N-2 375到幀N-7 397存儲(chǔ)在右側(cè) 的連續(xù)槽位中,并且每一個(gè)槽位都是前一個(gè)槽位的1/4尺寸。應(yīng)該注意,幀 N-6和N-7尺寸非常小,以至于不能清楚地觀看它們,因此為了簡(jiǎn)單起見, 將它們一起進(jìn)行標(biāo)記。
當(dāng)執(zhí)行尺寸縮小操作時(shí),其將7個(gè)圖像(7個(gè)不同幀的不同階段) 一起 進(jìn)行歸約,并且將圖像重新繪制在右側(cè),然后在左側(cè)繪制一個(gè)新的幀。因 此,當(dāng)流水線紋理方法處于穩(wěn)定狀態(tài)中時(shí),每次簡(jiǎn)約操作都能夠得到一個(gè) 幀的結(jié)果。
在GPU上使用流水線紋理方法能夠同時(shí)處理多個(gè)幀的多個(gè)計(jì)算。在沒(méi) 有復(fù)雜的編程和SIMD優(yōu)化的情況下,這種處理是不能在CPU上執(zhí)行的。
以上所述的紋理緩沖器的實(shí)施例討論了在長(zhǎng)度上是一個(gè)幀的兩倍的緩 沖器(例如,720x576對(duì)比1440x576),但是并不局限于此。相反,緩沖器 可以在高度上延長(zhǎng)(例如720x1152),而不會(huì)脫離本發(fā)明的范圍。此外,實(shí) 施例示出了將一個(gè)新的幀繪制到左側(cè),而將尺寸縮小后的幀繪制到右側(cè), 但是并不局限于此。相反,可以將新的幀繪制到右側(cè),而將尺寸縮小后的 幀繪制到左側(cè),可以將新的幀繪制到上部,而將尺寸縮小后的幀繪制到下 部,或者可以將新的幀繪制到下部,而將尺寸縮小后的幀繪制到上部,而 不會(huì)脫離本發(fā)明的范圍。簡(jiǎn)單的事實(shí)是可以對(duì)緩沖器中的所有內(nèi)容執(zhí)行一 次尺寸縮小操作,然后將尺寸縮小后的圖像重新繪制在緩沖器中的下一個(gè) 位置。
雖然本公開內(nèi)容已經(jīng)參考具體實(shí)施例進(jìn)行了陳述,但是顯而易見的是, 本公開內(nèi)容并不局限于此,因?yàn)樵诓幻撾x本發(fā)明的范圍的情況下可以對(duì)具
8體實(shí)施例繼續(xù)各種改變和修改。對(duì)"一個(gè)實(shí)施例"或"實(shí)施例"的指代意 思是在此所述的特定的特征、結(jié)構(gòu)或特點(diǎn)包含在至少一個(gè)實(shí)施例中。因此, 在通篇說(shuō)明書中的各個(gè)位置出現(xiàn)的短語(yǔ)"在一個(gè)實(shí)施例中"或"在實(shí)施例 中"并非必然指代同一實(shí)施例。
實(shí)施例可以用硬件、軟件、固件、微代碼或者其任意組合來(lái)實(shí)現(xiàn)。當(dāng) 用軟件、固件或微代碼實(shí)現(xiàn)時(shí),實(shí)施例的要素是用于執(zhí)行必要任務(wù)的程序 代碼或代碼段。代碼可以是執(zhí)行操作的實(shí)際代碼,或者是對(duì)操作進(jìn)行模擬 或仿真的代碼。代碼段可以表示過(guò)程、函數(shù)、子程序、程序、例程、子例 程、模塊、軟件包、類、或者指令、數(shù)據(jù)結(jié)構(gòu)或程序聲明的任意組合。代 碼段可以通過(guò)傳遞和/或接收信息、數(shù)據(jù)、自變量、參數(shù)或存儲(chǔ)器內(nèi)容而耦 合到另一代碼段或硬件電路。信息、自變量、參數(shù)、數(shù)據(jù)等可以借助于任 何手段,包括存儲(chǔ)器共享、消息傳遞、令牌傳遞、網(wǎng)絡(luò)傳輸?shù)鹊?,進(jìn)行傳 遞、轉(zhuǎn)發(fā)或發(fā)送。程序或代碼段可以存儲(chǔ)在處理器可讀介質(zhì)中,或者由體 現(xiàn)在載波中的計(jì)算機(jī)數(shù)據(jù)信號(hào)或由載波調(diào)制的信號(hào)而通過(guò)傳輸介質(zhì)進(jìn)行發(fā) 送。"處理器可讀或可存取介質(zhì)"或"機(jī)器可讀或可存取介質(zhì)"可以包括任 何能夠存儲(chǔ)、發(fā)送或傳遞信息的介質(zhì)。處理器/機(jī)器可讀/可存取介質(zhì)的實(shí)例
包括電子電路、半導(dǎo)體存儲(chǔ)器件、只讀存儲(chǔ)器(ROM)、閃存存儲(chǔ)器、可擦 除ROM (EROM)、軟盤、致密盤(CD-ROM)、光盤,硬盤、光纖介質(zhì)、 無(wú)線電頻率(RF)鏈路等等。計(jì)算機(jī)數(shù)據(jù)信號(hào)可以包括能夠在諸如電子網(wǎng) 絡(luò)信道、光纖、空中、電磁、RF鏈路等等之類的傳輸介質(zhì)上傳播的任何信 號(hào)。代碼段可以經(jīng)由諸如互聯(lián)網(wǎng)、內(nèi)聯(lián)網(wǎng)等等之類的計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行下載。 機(jī)器可存取介質(zhì)可以體現(xiàn)為制造品。機(jī)器可存取介質(zhì)可以包括當(dāng)由機(jī)器存 取時(shí)使該機(jī)器執(zhí)行以下所述的操作的數(shù)據(jù)。術(shù)語(yǔ)"數(shù)據(jù)"在此指代能夠?yàn)?了機(jī)器可讀的目的而被編碼的任何類型的信息。因此,其可以包括程序、 代碼、數(shù)據(jù)、文件等等。
實(shí)施例的一部分或者全部可以用軟件來(lái)實(shí)現(xiàn)。軟件可以具有彼此耦合 的幾個(gè)模塊。 一個(gè)軟件模塊耦合到另一模塊,以接收變量、參數(shù)、自變量、 指針等等,和/或產(chǎn)生或傳遞結(jié)果、更新的變量、指針等等。軟件模塊還可 以是與運(yùn)行在平臺(tái)上的操作系統(tǒng)交互的軟件驅(qū)動(dòng)器或接口。軟件模塊還可 以是用于配置、設(shè)置、初始化數(shù)據(jù)以及將數(shù)據(jù)發(fā)送到硬件設(shè)備或從硬件設(shè)
9備接收數(shù)據(jù)的硬件驅(qū)動(dòng)器。
實(shí)施例可以描述為一個(gè)處理,處理通常被繪制為流程圖、流程圖表、 結(jié)構(gòu)圖或框圖。雖然流程圖可以將操作描述為順序處理,但是其中的很多 操作可以并行或同時(shí)執(zhí)行。另外,可以重新排列操作的次序。當(dāng)一個(gè)處理 的操作完成時(shí),該處理可以結(jié)束。處理可以對(duì)應(yīng)于方法、函數(shù)、過(guò)程、子 例程、子程序等等。當(dāng)處理對(duì)應(yīng)于函數(shù)時(shí),該處理的結(jié)束可以對(duì)應(yīng)于該函 數(shù)返回到調(diào)用函數(shù)或主函數(shù)。
各個(gè)實(shí)施例旨在受到所附權(quán)利要求的精神和范圍內(nèi)的最寬泛的保護(hù)。
權(quán)利要求
1、一種能夠?qū)Χ鄠€(gè)圖像同時(shí)執(zhí)行歸約操作的方法,所述方法包括初始化紋理緩沖器;以及通過(guò)利用所述紋理緩沖器,對(duì)所述歸約操作進(jìn)行流水線操作。
2、如權(quán)利要求l所述的方法,其中,所述流水線操作包括: 將新的幀繪制到所述紋理緩沖器;對(duì)在所述紋理緩沖器中的當(dāng)前圖像進(jìn)行尺寸縮??;以及將尺寸縮小后的圖像繪制到所述紋理緩沖器。
3、 如權(quán)利要求2所述的方法,其中,對(duì)一個(gè)幀重復(fù)所述流水線操作, 直到將該幀歸約到一個(gè)像素為止。
4、 如權(quán)利要求2所述的方法,其中,所述尺寸縮小將每個(gè)圖像的尺寸 縮小為1/4尺寸。
5、 如權(quán)利要求4所述的方法,其中,所述尺寸縮小同時(shí)對(duì)7個(gè)圖像進(jìn) 行尺寸縮小。
6、 如權(quán)利要求2所述的方法,其中,所述紋理緩沖器的尺寸是一個(gè)幀 的兩倍。
7、 如權(quán)利要求2所述的方法,其中,將所述新的幀繪制到所述紋理緩 沖器的第一部分。
8、 如權(quán)利要求2所述的方法,其中,將尺寸縮小后的圖像繪制到所述 紋理緩沖器的第二部分。
9、 如權(quán)利要求2所述的方法,其中,在處于穩(wěn)定狀態(tài)中時(shí),每次尺寸縮小操作都會(huì)產(chǎn)生對(duì)于一個(gè)幀的結(jié)果。
10、 如權(quán)利要求9所述的方法,其中,所述結(jié)果是對(duì)該幀進(jìn)行的歸約 操作的期望平均值。
11、 一種能夠?qū)Χ鄠€(gè)圖像同時(shí)執(zhí)行歸約操作的圖形處理單元,所述圖形處理單元包括用于初始化紋理緩沖器的邏輯;以及用于通過(guò)利用所述紋理緩沖器對(duì)所述歸約操作進(jìn)行流水線操作的邏輯。
12、 如權(quán)利要求ll所述的圖形處理單元,其中,所述用于流水線操作 的邏輯包括用于將新的幀繪制到所述紋理緩沖器的邏輯;用于對(duì)在所述紋理緩沖器中的當(dāng)前圖像進(jìn)行尺寸縮小的邏輯;以及 用于將尺寸縮小后的圖像繪制到所述紋理緩沖器的邏輯。
13、 如權(quán)利要求12所述的圖形處理單元,其中,對(duì)一個(gè)幀重復(fù)所述用 于流水線操作的邏輯,直到將該幀歸約到一個(gè)像素為止。
14、 如權(quán)利要求12所述的圖形處理單元,其中,所述用于尺寸縮小的 邏輯對(duì)7個(gè)圖像同時(shí)進(jìn)行尺寸縮小,并將每個(gè)圖像的尺寸縮小為1/4尺寸。
15、 如權(quán)利要求12所述的圖形處理單元,其中,使機(jī)器執(zhí)行流水線操 作的內(nèi)容在被執(zhí)行時(shí),在處于穩(wěn)定狀態(tài)中時(shí)對(duì)于每次迭代都會(huì)產(chǎn)生對(duì)一個(gè) 幀的歸約操作的期望平均值。
16、 一種能夠?qū)Χ鄠€(gè)圖像同時(shí)執(zhí)行歸約操作的系統(tǒng),所述系統(tǒng)包括 中央處理器(CPU);圖形處理器(GPU);以及存儲(chǔ)器,其耦合到所述CPU和所述GPU以存儲(chǔ)應(yīng)用程序,所述應(yīng)用 程序當(dāng)被執(zhí)行時(shí)使得所述GPU:初始化紋理緩沖器;以及 連續(xù)地將新的幀繪制到所述紋理緩沖器;對(duì)在所述紋理緩沖器中的當(dāng)前圖像進(jìn)行尺寸縮小;以及 將尺寸縮小后的圖像繪制到所述紋理緩沖器。
17、 如權(quán)利要求16所述的系統(tǒng),其中,所述應(yīng)用程序當(dāng)被執(zhí)行時(shí),使 得所述GPU對(duì)7個(gè)圖像同時(shí)進(jìn)行尺寸縮小,并將每個(gè)圖像的尺寸縮小到1/4 尺寸。
18、 如權(quán)利要求16所述的系統(tǒng),其中,所述應(yīng)用程序當(dāng)被執(zhí)行時(shí),使 得所述GPU在處于穩(wěn)定狀態(tài)中時(shí)對(duì)于每次迭代都會(huì)產(chǎn)生對(duì)一個(gè)幀的歸約操 作的期望平均值。
全文摘要
通常,在一個(gè)方案中,本公開內(nèi)容描述了一種用于初始化紋理緩沖器以及通過(guò)利用該紋理緩沖器對(duì)歸約操作進(jìn)行流水線操作的方法。
文檔編號(hào)G06T1/20GK101542524SQ200680056329
公開日2009年9月23日 申請(qǐng)日期2006年11月8日 優(yōu)先權(quán)日2006年11月8日
發(fā)明者E·李, W·李 申請(qǐng)人:英特爾公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
垫江县| 泰安市| 丰镇市| 洛扎县| 通城县| 明光市| 融水| 福州市| 蕉岭县| 莎车县| 琼中| 松滋市| 上蔡县| 达拉特旗| 博兴县| 莲花县| 宝应县| 文成县| 库车县| 拉孜县| 麻城市| 榆中县| 扬中市| 天峨县| 高碑店市| 康平县| 二连浩特市| 连城县| 台江县| 弥渡县| 曲麻莱县| 耿马| 斗六市| 淳化县| 惠州市| 息烽县| 南京市| 威海市| 鄄城县| 治多县| 永川市|