亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于處理圖形的方法和裝置的制作方法

文檔序號(hào):6596918閱讀:205來(lái)源:國(guó)知局
專利名稱:用于處理圖形的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)圖形處理系統(tǒng),尤其是涉及基于區(qū)塊(tile)的圖形處理系統(tǒng)。
將特別地參照三維圖形的處理來(lái)描述本發(fā)明,雖然如本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到 的那樣,本發(fā)明也可同樣地應(yīng)用于二維圖形的處理。
背景技術(shù)
如本領(lǐng)域中已知的那樣,通常通過(guò)首先將要顯示的場(chǎng)景劃分成若干類似的基本成 分(所謂的"圖元")以允許更容易地執(zhí)行3D圖形處理操作來(lái)執(zhí)行3D圖形處理。這些"圖 元"通常具有簡(jiǎn)單多邊形的形式,諸如三角形。 通常使用從需要顯示圖形的應(yīng)用程序(例如游戲)接收到的圖形繪制指令(請(qǐng) 求)由圖形處理系統(tǒng)的應(yīng)用程序界面來(lái)生成要顯示的場(chǎng)景的圖元。 在此階段,通常由一組頂點(diǎn)來(lái)定義每個(gè)圖元且每個(gè)圖元被表示為該組頂點(diǎn)。圖元 的每個(gè)頂點(diǎn)具有與之相關(guān)的表示該頂點(diǎn)的一組數(shù)據(jù)(諸如位置、顏色、紋理坐標(biāo)及其它屬 性數(shù)據(jù))。此數(shù)據(jù)隨后在例如光柵化和渲染頂點(diǎn)(與頂點(diǎn)相關(guān)的(多個(gè))圖元)以用于顯 示時(shí)使用。 —旦已生成并定義了場(chǎng)景的圖元及其頂點(diǎn),就可以由圖形處理系統(tǒng)來(lái)對(duì)其進(jìn)行處 理以便例如在諸如屏幕或打印機(jī)之類的輸出顯示設(shè)備上顯示場(chǎng)景。 此處理基本上包括確定覆蓋將被顯示的場(chǎng)景的采樣點(diǎn)陣列中的哪些采樣點(diǎn)被圖
元覆蓋,并隨后確定每個(gè)采樣點(diǎn)應(yīng)具有的外觀(例如在其顏色等方面)以表示該采樣點(diǎn)處
的圖元。這些處理一般分別被稱為光柵化(rasterising)和著色(shading)。 所述光柵化處理確定應(yīng)被用于圖元的采樣位置(即將被用來(lái)表示將被顯示的場(chǎng)
景中的圖元的采樣點(diǎn)的(x,y)位置)。這通常使用圖元的頂點(diǎn)的位置來(lái)實(shí)現(xiàn)。 所述著色處理隨后導(dǎo)出在采樣點(diǎn)處顯示圖元(即對(duì)每個(gè)采樣點(diǎn)進(jìn)行"著色")所必
需的數(shù)據(jù),諸如紅色、綠色和藍(lán)色(RGB)色值和"a "(透明度)值。如本領(lǐng)域中已知的那
樣,這可以包括應(yīng)用紋理、將采樣點(diǎn)數(shù)據(jù)值進(jìn)行混合等等。(在3D圖形文獻(xiàn)中,術(shù)語(yǔ)"光柵化"有時(shí)用來(lái)意指到樣本位置的圖元轉(zhuǎn)換和著色兩
者。然而,在本文中"光柵化"將僅用來(lái)指示將圖元數(shù)據(jù)轉(zhuǎn)換成采樣點(diǎn)地址。) 通常通過(guò)將采樣點(diǎn)"表示"為通常稱為"碎片"的離散圖形實(shí)體來(lái)執(zhí)行這些處理,
在所述"碎片"上執(zhí)行圖形處理操作(諸如著色)。實(shí)際上,將由將被用來(lái)對(duì)正在討論的采
樣點(diǎn)處的圖元進(jìn)行著色的碎片來(lái)表示每個(gè)采樣點(diǎn)。碎片可以表示(與之相關(guān)的)單個(gè)采樣
點(diǎn)或多個(gè)采樣點(diǎn)。所述"碎片"是通過(guò)著色處理(著色管線)的圖形實(shí)體。(因此,"碎片"有效地是(與之相關(guān)的)被內(nèi)插到圖元的一個(gè)或多個(gè)給定屏幕空
間采樣點(diǎn)的一組圖元數(shù)據(jù)。其還可以包括對(duì)正在討論的一個(gè)或多個(gè)采樣點(diǎn)(碎片位置)處
的圖元進(jìn)行著色所需的每圖元及其他狀態(tài)數(shù)據(jù)??梢院侠淼貙⒚總€(gè)圖形碎片視為有效地等
效于被處理的場(chǎng)景的"像素")。 每個(gè)圖形"碎片"可以對(duì)應(yīng)于最終輸出顯示中的單個(gè)像素(畫面元素)(因?yàn)橛捎谙袼卦谧罱K顯示中是奇點(diǎn),所以在圖形處理器進(jìn)行操作(渲染)的"碎片"與顯示的像素之間可能存在一對(duì)一映射。)然而,情況可能是在碎片與顯示像素之間不存在一對(duì)一的對(duì)應(yīng)關(guān)系,例如在顯示最終圖像之前對(duì)渲染的圖像執(zhí)行諸如等比縮小之類的特定形式的后處理的情況下。 光柵化和著色處理的輸出是被適當(dāng)?shù)刂牟蓸狱c(diǎn)的二維陣列,如本領(lǐng)域中已知的那樣,該二維陣列隨后可以被應(yīng)用于顯示屏或經(jīng)由打印機(jī)來(lái)顯示已被處理的場(chǎng)景(在顯示之前經(jīng)受圖像的諸如下采樣之類的任何后處理)。作為光柵化和著色處理的結(jié)果的輸出采樣點(diǎn)二維陣列可以被視為是"渲染目標(biāo)",因?yàn)槠錇殇秩咎幚?光柵化和著色處理)作為其輸出的位置陣列。實(shí)際上,光柵化和著色處理對(duì)對(duì)應(yīng)于期望的輸出圖像區(qū)域的二維渲染目標(biāo)進(jìn)行"著色"。 許多圖形處理系統(tǒng)使用所謂的"基于區(qū)塊的"渲染。在基于區(qū)塊的渲染中,將被用來(lái)顯示場(chǎng)景("渲染目標(biāo)")的渲染處理的二維輸出陣列被細(xì)分或劃分成用于渲染處理的多個(gè)較小子區(qū)域,通常稱為"區(qū)塊"。每個(gè)區(qū)塊(子區(qū)域)被單獨(dú)地(通常是一個(gè)接一個(gè)地)渲染。渲染的區(qū)塊(子區(qū)域)隨后被重組以提供例如用于顯示的完整輸出陣列(渲染目標(biāo))。 因此,可以將區(qū)塊視為渲染處理進(jìn)行操作的渲染目標(biāo)區(qū)域的細(xì)分。在此類布置中,渲染目標(biāo)區(qū)域(輸出區(qū)域)通常被劃分成尺寸和形狀規(guī)則的區(qū)塊(它們通常是例如正方形或矩形),但這不是必需的。 —般用于"區(qū)塊化(tiling)"和"基于區(qū)塊的"渲染的其它術(shù)語(yǔ)包括"分塊(chunking)"(將子區(qū)域稱為"塊")和"方塊(bucket)"渲染。為方便起見在下文中將使用術(shù)語(yǔ)"區(qū)塊"和"區(qū)塊化",但應(yīng)理解的是這些術(shù)語(yǔ)意圖涵蓋所有替換和等效術(shù)語(yǔ)和技術(shù)。
此類基于區(qū)塊的渲染的優(yōu)點(diǎn)是其尤其能夠減小圖形帶寬的主存儲(chǔ)器(例如芯片外DDR-SDRAM)的量,并且節(jié)電。這是因?yàn)榛趨^(qū)塊的渲染能夠便于避免處理其中將不會(huì)出現(xiàn)圖元的渲染目標(biāo)區(qū)域(輸出區(qū)域)的區(qū)域的圖元?;趨^(qū)塊的渲染還增加空間局部性,這提高芯片上緩沖器和高速緩存的效率。 在基于區(qū)塊的渲染系統(tǒng)中,因此通常期望能夠識(shí)別并知道實(shí)際上存在于給定區(qū)塊中的那些圖元,以便例如避免不必要地渲染實(shí)際上未存在于區(qū)塊中的圖元。為了有利于此,已知的是為每個(gè)區(qū)塊制定對(duì)于該區(qū)塊而言將被渲染的圖元的列表(例如其將出現(xiàn)在區(qū)塊中)。此類"圖元列表"(其也可以稱為"區(qū)塊列表")識(shí)別(例如通過(guò)參考圖元指示符)在對(duì)正在討論的區(qū)塊進(jìn)行渲染以便顯示時(shí)將處理的圖元。 因此,為將被渲染的每個(gè)區(qū)塊制定圖元列表的處理基本上包括確定對(duì)于給定區(qū)塊而言應(yīng)渲染的圖元。此處理通常通過(guò)確定(以期望的準(zhǔn)確度水平)與正在討論的區(qū)塊相交(即其將(至少部分地)出現(xiàn)在正在討論的區(qū)塊內(nèi))的圖元,并隨后制定那些圖元的列表以供圖形處理系統(tǒng)將來(lái)使用。(這里應(yīng)注意的是,在圖元落入多于一個(gè)的區(qū)塊的情況下(情況常常如此),其被包括在其所落入的每個(gè)區(qū)塊的區(qū)塊列表中。而且,由于區(qū)塊化處理中的有限準(zhǔn)確度,所以某些圖元可能被列在它們實(shí)際上不屬于的區(qū)塊的圖元列表中。) 事實(shí)上,可以將每個(gè)區(qū)塊視為具有圖元倉(cāng)(bin)(圖元列表),被發(fā)現(xiàn)可能落入?yún)^(qū)塊之內(nèi)(即與區(qū)塊相交)的任何圖元被放置到該圖元倉(cāng)中。實(shí)際上,用這種方式逐個(gè)區(qū)塊地對(duì)圖元進(jìn)行分類的處理一般稱為"裝倉(cāng)(bi皿ing)",且這樣制定的圖元列表一般稱為"圖 元倉(cāng)"。 為方便起見,術(shù)語(yǔ)"圖元倉(cāng)"在本文中將用于指示出于指示區(qū)塊(或區(qū)塊集)的 待處理圖元的目的而制定的圖元列表。(實(shí)質(zhì)上,如上文所討論的,"區(qū)塊"是渲染處理進(jìn) 行操作的渲染目標(biāo)(輸出)區(qū)域子區(qū)域(細(xì)分),且"圖元倉(cāng)"(圖元列表)是圖形"作業(yè) (job)"(例如圖元)被分布到其中的渲染目標(biāo)(輸出)區(qū)域子區(qū)域(細(xì)分)以輔助渲染處 理("圖元倉(cāng)"有效地記錄圖形"作業(yè)"跨域輸出渲染目標(biāo)的區(qū)域的分布)。每個(gè)"圖元倉(cāng)" 可以對(duì)應(yīng)于單個(gè)區(qū)塊,但如下文將進(jìn)一步討論的那樣,圖元倉(cāng)對(duì)應(yīng)于多個(gè)區(qū)塊也是已知且 可能的。) 如本領(lǐng)域中已知的那樣,可以以變化的精度水平(例如根據(jù)裝倉(cāng)和渲染處理的不 同部分的效率最優(yōu)化)來(lái)執(zhí)行確定對(duì)于任何給定區(qū)塊而言應(yīng)列出(渲染)的圖元的處理。 例如,以最精確的水平,可以精確地確定給定圖元將至少部分地出現(xiàn)在哪些區(qū)塊中,并隨后 將該圖元包括在只用于那些區(qū)塊的圖元倉(cāng)(圖元列表)中。這一般稱為"精確"裝倉(cāng)。
圖1舉例說(shuō)明了精確裝倉(cāng)處理。如圖1所示,要顯示的場(chǎng)景1的輸出形式(渲染 目標(biāo)區(qū)域)被分成十六個(gè)尺寸規(guī)則的渲染子區(qū)域或區(qū)塊2。然后,對(duì)于該場(chǎng)景中的每個(gè)圖 元確定該圖元實(shí)際上出現(xiàn)在(落入)哪個(gè)或哪些區(qū)塊內(nèi)。該圖元被添加到發(fā)現(xiàn)其所落入的 每個(gè)區(qū)塊的圖元倉(cāng)(圖元列表)。因此,以圖1所示為例,圖元3被添加到區(qū)塊4的"圖元 倉(cāng)"(圖元列表)中,圖元5被包括在區(qū)塊6和7的圖元倉(cāng)中,圖元8被包括在區(qū)塊9、10、 11和12的圖元倉(cāng)(圖元列表)中,且圖元13被包括在區(qū)塊12的圖元倉(cāng)(圖元列表)中。 (這里應(yīng)注意的是,圖1出于明了的目的僅示出幾個(gè)區(qū)塊和圖元。如本領(lǐng)域的技術(shù)人員將認(rèn) 識(shí)到的那樣,在實(shí)際圖形處理操作中,通常將存在很多的圖元和區(qū)塊。)
還已知,以比采用精確裝倉(cāng)實(shí)現(xiàn)的精度低的精度來(lái)制定"圖元倉(cāng)"(圖元列表)。 這可能對(duì)例如簡(jiǎn)化圖元列表的制定有用。 一種常見的"較低精度"裝倉(cāng)技術(shù)是"邊界框"裝 倉(cāng)。在這種情況下,圍繞圖元或一組圖元繪制所謂的"邊界框",然后確定被該邊界框覆蓋的 區(qū)塊。然后為已被發(fā)現(xiàn)(至少部分地)被邊界框覆蓋的每個(gè)區(qū)塊列出(裝倉(cāng))該邊界框所 表示(即該邊界框所包圍)的一個(gè)或多個(gè)圖元。 因此,該方案使用邊界框來(lái)確定對(duì)于哪些區(qū)塊而言給定的圖元應(yīng)該被列出以便渲 染,而不是確定圖元本身。這可能意味著例如可以為圖元實(shí)際上未落入的區(qū)塊列出圖元以 便渲染(例如,當(dāng)邊界框未充分緊密地或精確地包圍圖元時(shí)),但另一方面,以這種方式來(lái) 使用邊界框可以簡(jiǎn)化圖元列表的制定。 —旦已經(jīng)以這種方式為每個(gè)區(qū)塊制定了將被渲染的圖元的列表(圖元倉(cāng)),就存 儲(chǔ)該圖元列表以供使用,例如以允許系統(tǒng)在渲染正在討論的區(qū)塊時(shí)識(shí)別需要考慮(并渲 染)哪些圖元。 已經(jīng)發(fā)現(xiàn)此類基于區(qū)塊的渲染方案很有效,因?yàn)樗鼈兡軌蚶鐜椭苊鈱?duì)于圖元 并未出現(xiàn)的、將被輸出的場(chǎng)景的區(qū)域而言仍然處理圖元。 如上文所討論的,使用基于區(qū)塊的渲染方案的一個(gè)結(jié)果是為每個(gè)區(qū)塊保持對(duì)于該 區(qū)塊而言必須處理的圖元列表的需求。對(duì)于必須被保持的每個(gè)此類圖元列表而言,存在開 銷和成本。 此外,隨著圖形系統(tǒng)的幀緩沖器尺寸的增大,此要求正在變得日益繁重。例如,對(duì)于1080P(HDTV)顯示格式,可能需要多于8000個(gè)區(qū)塊(假設(shè)16 X 16采樣位置區(qū)塊)。這么多的區(qū)塊的所有圖元列表的尺寸很大。每個(gè)新的全屏圖元將合計(jì)達(dá)8000個(gè)命令(取決于有多少必須為其列出圖元的區(qū)塊)。還存在保持到每個(gè)圖元列表的指針的龐大開銷。所有這些都嚴(yán)重影響性能。 降低這些成本的一種方式將是保持較少的圖元列表(圖元倉(cāng))。因此,已經(jīng)提出了例如保持覆蓋多于一個(gè)區(qū)塊(比僅僅一個(gè)區(qū)塊大的渲染目標(biāo)(輸出)區(qū)域)的圖元列表(圖元倉(cāng)),諸如2 X 2或4X 4區(qū)塊組,而不是單個(gè)區(qū)塊,以便減少給定數(shù)目的區(qū)塊所需的圖元列表(圖元倉(cāng))的數(shù)目。 這減少了所使用的圖元倉(cāng)(圖元列表)的數(shù)目,并因此降低了與保持圖元倉(cāng)(圖
元列表)相關(guān)的成本,諸如用于圖元列表(圖元倉(cāng))的存儲(chǔ)要求和指針保持。 然而,本申請(qǐng)人已經(jīng)認(rèn)識(shí)到采用此方案的缺點(diǎn)在于需要為圖元倉(cāng)(圖元列表)所
覆蓋的每個(gè)區(qū)塊讀取圖元倉(cāng)(圖元列表)中所列的每個(gè)圖元的數(shù)據(jù),即使該圖元實(shí)際上并
未存在于該圖元倉(cāng)所覆蓋的所有區(qū)塊中。(這是因?yàn)榧词乖搱D元可能由于未落在正在被處
理的區(qū)塊中而最初在渲染處理中被拒絕,仍然需要讀出正在討論的圖元的圖元數(shù)據(jù)以便能
夠確定該圖元實(shí)際上是否落入正在討論的區(qū)塊中。)例如,對(duì)于覆蓋N個(gè)區(qū)塊的圖元倉(cāng),將
對(duì)圖元倉(cāng)中的每個(gè)圖元的數(shù)據(jù)讀取N次,即使該圖元可能只位于該圖元倉(cāng)所覆蓋的區(qū)塊中
的幾個(gè)區(qū)塊中。 因此,雖然使用表示較大渲染目標(biāo)(輸出)區(qū)域的圖元列表(圖元倉(cāng))能夠降低與保持圖元列表(圖元倉(cāng))相關(guān)的成本,但其代價(jià)是可能在處理區(qū)塊以便顯示時(shí)導(dǎo)致更多次數(shù)的存儲(chǔ)器訪問(wèn)。 這是不期望的,因?yàn)閳?chǎng)景描述(包括圖元列表(圖元倉(cāng))和圖元數(shù)據(jù))通常將被存儲(chǔ)在主存儲(chǔ)器中,且在需要時(shí)需要由圖形處理器從該主存儲(chǔ)器中取出。

發(fā)明內(nèi)容
因此,本申請(qǐng)人相信仍然存在改善基于區(qū)塊的計(jì)算機(jī)圖形渲染系統(tǒng)的余地。
根據(jù)本發(fā)明的第一方面,提供了一種生成數(shù)據(jù)集以便當(dāng)在基于區(qū)塊的圖形處理系統(tǒng)中渲染用于顯示的場(chǎng)景時(shí)使用的方法,該方法包括
確定并存儲(chǔ)將為多個(gè)區(qū)塊的集合渲染的圖元的列表;以及 確定并存儲(chǔ)用于指示所述圖元列表中的圖元在渲染目標(biāo)區(qū)域中的分布的信息,所述渲染目標(biāo)區(qū)域被正在為其制定列表的所述多個(gè)區(qū)塊的集合所涵蓋。 根據(jù)本發(fā)明的第二方面,提供了一種用于生成數(shù)據(jù)集以便當(dāng)在基于區(qū)塊的圖形處理系統(tǒng)中渲染用于顯示的場(chǎng)景時(shí)使用的裝置,該裝置包括 用于確定并存儲(chǔ)將為多個(gè)區(qū)塊的集合渲染的圖元的列表的裝置;以及 用于確定并存儲(chǔ)用于指示所述圖元列表中的圖元在渲染目標(biāo)區(qū)域中的分布的信
息的裝置,其中所述渲染目標(biāo)區(qū)域被正在為其制定列表的所述多個(gè)區(qū)塊的集合所涵蓋。 本發(fā)明涉及基于區(qū)塊的圖形處理系統(tǒng),且包括為多個(gè)區(qū)塊的集合(即為大于單個(gè)
區(qū)塊的渲染目標(biāo)(輸出)區(qū)域)制定圖元列表(圖元倉(cāng))。這類似于上文所討論的、其中為
多個(gè)區(qū)塊的集合制定圖元列表的方案。 然而,在本發(fā)明中,除了為多個(gè)區(qū)塊的集合制定圖元列表之外,還制定并存儲(chǔ)用于指示圖元列表中的圖元在該圖元列表所涵蓋的渲染目標(biāo)區(qū)域(輸出區(qū)域)(圖元列表所對(duì) 應(yīng)的區(qū)塊集合)內(nèi)的分布的信息。 此圖元分布信息隨后將允許圖形處理系統(tǒng)在其將渲染圖元列表所對(duì)應(yīng)的區(qū)塊時(shí), 確定關(guān)于列表中的圖元在列表所覆蓋的區(qū)域中的分布的信息,并因此例如且優(yōu)選地如下文 將進(jìn)一步討論的那樣,確定圖元列表所覆蓋的、實(shí)際上應(yīng)為其處理每個(gè)圖元的區(qū)域的特定 子區(qū)域(例如區(qū)塊)。 這隨后將允許例如渲染處理避免處理圖元列表中的、圖元分布信息指示實(shí)際上未
存在于圖元列表所涵蓋的給定的一個(gè)或多個(gè)區(qū)塊中(需要被處理)的圖元。(這與現(xiàn)有技
術(shù)系統(tǒng)相反,如上所討論的,在現(xiàn)有技術(shù)系統(tǒng)中,對(duì)于圖元列表所涵蓋的每個(gè)區(qū)塊處理圖元
列表中的每個(gè)圖元,即使該圖元可能未落入圖元列表所涵蓋的所有區(qū)塊中。) 實(shí)際上,本發(fā)明提供附加分布信息,其允許更好地確定應(yīng)為哪些區(qū)塊來(lái)處理列表
中的每個(gè)圖元。此信息隨后可以用來(lái)在用于區(qū)塊的渲染處理中跳過(guò)圖元,如果正在討論的
區(qū)塊實(shí)際上不需要該圖元的話。 由于本發(fā)明允許圖形處理系統(tǒng)在渲染用于顯示的區(qū)塊時(shí)更容易地省去或跳過(guò)圖 元列表中的圖元,所以其能夠減少當(dāng)渲染用于顯示的場(chǎng)景時(shí)可以執(zhí)行的存儲(chǔ)器訪問(wèn)的次數(shù) 等,即使在為該場(chǎng)景制定的給定圖元列表可以涵蓋場(chǎng)景的多個(gè)區(qū)塊的情況下也是如此。因 此,本發(fā)明有利于涵蓋待處理的場(chǎng)景的多個(gè)區(qū)塊的圖元列表(圖元倉(cāng))的使用、但尤其是在
這樣做時(shí)(與現(xiàn)有技術(shù)系統(tǒng)相比)將減少存儲(chǔ)器訪問(wèn)等例如以讀取場(chǎng)景描述的次數(shù)。
減少所需的存儲(chǔ)器訪問(wèn)的次數(shù)將降低圖形處理器和存儲(chǔ)器子系統(tǒng)在使用中所消 耗的功率。其還降低存儲(chǔ)器帶寬要求,這有利于例如使用較低性能、較低功率的存儲(chǔ)系統(tǒng)。 所有這些在例如圖形處理器的情況下是有利的,并且尤其是在諸如可以在便攜式和移動(dòng)設(shè) 備中使用的嵌入式和/或較低成本、較低功率圖形處理器的情況下及用于與所述嵌入式和 /或較低成本、較低功率圖形處理器一起使用是有利的。 此外,可以用僅僅相對(duì)次要的硬件和/或軟件附加物(諸如用于處理本發(fā)明存儲(chǔ) 和使用的附加信息的少量附加邏輯)來(lái)實(shí)現(xiàn)本發(fā)明的附加特征和功能。這又使得本發(fā)明特 別適于在較低成本、較低功率的、例如嵌入式圖形處理系統(tǒng)中使用。 本發(fā)明還擴(kuò)展至當(dāng)渲染用于顯示的場(chǎng)景時(shí)本發(fā)明的數(shù)據(jù)結(jié)構(gòu)的使用,以及在圖形 處理系統(tǒng)中渲染區(qū)塊或用于顯示的場(chǎng)景的方法或裝置。 因此,在優(yōu)選實(shí)施例中,本發(fā)明的方法和裝置包括以下步驟或用于以下各項(xiàng)的裝 置 確定并存儲(chǔ)將為待顯示場(chǎng)景的多個(gè)區(qū)塊的集合渲染的圖元的列表; 確定并存儲(chǔ)用于指示所述圖元列表中的圖元在渲染目標(biāo)區(qū)域中的分布的信息,其
中所述渲染目標(biāo)區(qū)域被正在為其制定列表的所述多個(gè)區(qū)塊的集合所涵蓋; 使用所確定的圖元列表來(lái)確定對(duì)于該圖元列表所涵蓋的區(qū)塊而言將要處理的圖
元集合; 使用與所述圖元列表相關(guān)的、所確定的圖元分布信息來(lái)確定對(duì)于正在討論的區(qū)塊 而言將要處理的圖元列表中的圖元集合中的圖元;以及
處理所確定的圖元以渲染區(qū)塊以便顯示。 同樣地,根據(jù)本發(fā)明的第三方面,提供了一種在基于區(qū)塊的圖形處理系統(tǒng)中渲染用于顯示的場(chǎng)景的方法,其中,制定對(duì)于多個(gè)區(qū)塊的集合而言將要渲染的圖元的列表,以及指示該圖元列表中的圖元在渲染目標(biāo)區(qū)域中的分布的信息,所述渲染目標(biāo)區(qū)域被該列表所對(duì)應(yīng)的多個(gè)區(qū)塊的集合所涵蓋,該方法包括所述圖形處理系統(tǒng)在其處理待顯示場(chǎng)景的區(qū)塊時(shí) 使用涵蓋正在討論的區(qū)塊的場(chǎng)景的圖元列表,來(lái)確定將要為正在討論的區(qū)塊處理的圖元集合; 使用與所述圖元列表相關(guān)的圖元分布信息,來(lái)確定將要為正在討論的區(qū)塊處理的
圖元列表中的圖元集合中的圖元;以及 處理所確定的圖元以渲染區(qū)塊以便顯示。 根據(jù)本發(fā)明的第四方面,提供了一種基于區(qū)塊的圖形處理器,其中,制定對(duì)于多個(gè)區(qū)塊的集合而言將要渲染的圖元的列表,以及指示該圖元列表中的圖元在渲染目標(biāo)區(qū)域中的分布的信息,所述渲染目標(biāo)區(qū)域被該列表所對(duì)應(yīng)的多個(gè)區(qū)塊的集合所涵蓋,所述圖形處理器包括 用于使用待顯示場(chǎng)景的圖元列表來(lái)確定將要為該場(chǎng)景的區(qū)塊處理的圖元集合的裝置; 用于使用與所述圖元列表相關(guān)的圖元分布信息來(lái)確定將要為正在討論的區(qū)塊處
理的圖元列表中的圖元集合中的圖元的裝置;以及 用于處理所確定的圖元以渲染區(qū)塊以便顯示的裝置。 本發(fā)明還擴(kuò)展至在本發(fā)明中制定和使用的數(shù)據(jù)結(jié)構(gòu)。 因此,根據(jù)本發(fā)明的第五方面,提供了一種供在基于區(qū)塊的圖形處理系統(tǒng)中使用的數(shù)據(jù)結(jié)構(gòu),包括 將為多個(gè)區(qū)塊的集合渲染的圖元的列表;以及 用于指示該圖元列表中的圖元在渲染目標(biāo)區(qū)域中的分布的信息,所述渲染目標(biāo)區(qū)域被該圖元列表所對(duì)應(yīng)的多個(gè)區(qū)塊的集合所涵蓋。 在本發(fā)明中出于渲染的目的而將渲染目標(biāo)(待渲染的場(chǎng)景的輸出形式)劃分成的區(qū)塊可以是任何期望和適當(dāng)?shù)某叽绾托螤睢H绫绢I(lǐng)域中已知的那樣,所述區(qū)塊優(yōu)選地全部是相同的尺寸和形狀,雖然這不是必需的。在優(yōu)選方案中,每個(gè)區(qū)塊的尺寸為16X16或32X32采樣位置(例如碎片)。 為其制定圖元列表(圖元倉(cāng))的多個(gè)區(qū)塊的集合可以是任何適當(dāng)和期望的多個(gè)區(qū)塊的集合。其優(yōu)選地覆蓋渲染目標(biāo)區(qū)域的規(guī)則形狀區(qū)域,諸如正方形或矩形,并優(yōu)選地涵蓋相鄰的區(qū)塊集合。在優(yōu)選實(shí)施例中,所述多個(gè)區(qū)塊的集合對(duì)應(yīng)于2X2、或4X4、或16X16的區(qū)塊分組。最優(yōu)選地,整個(gè)渲染目標(biāo)區(qū)域被劃分成匹配的區(qū)塊集合(例如2X2或4X4區(qū)塊集合),并為每個(gè)此類區(qū)塊集合制定圖元列表(圖元倉(cāng))。 可以以任何適當(dāng)和期望的方式來(lái)執(zhí)行圖元到圖元倉(cāng)(圖元列表)中的分類和圖元列表的制定。例如,對(duì)于此處理,可以使用已知的且用于將圖元分類并裝倉(cāng)到圖元列表中的任何技術(shù),諸如精確裝倉(cāng)、或邊界框裝倉(cāng)、或兩者之間的任何技術(shù)。優(yōu)選地使用邊界框裝倉(cāng)處理。 單獨(dú)的圖元倉(cāng)(圖元列表)及其中的圖元等可以以任何期望和適當(dāng)?shù)姆绞絹?lái)布置,且包括任何期望和適當(dāng)?shù)臄?shù)據(jù)。該列表優(yōu)選地以與本領(lǐng)域中已用于此類圖形圖元列表(圖元倉(cāng))等類似的方式來(lái)布置和包含數(shù)據(jù)。 優(yōu)選地,為圖元倉(cāng)中的每個(gè)圖元列出圖元信息組。在圖元倉(cāng)(圖元列表)中為每 個(gè)圖元列出的圖元信息可以是任何適當(dāng)和期望的此類信息。因此,其可以并優(yōu)選地確實(shí)包 括圖元類型指示符、到圖元的頂點(diǎn)數(shù)據(jù)的指針或索引、以及圖元的渲染狀態(tài)信息中的一個(gè) 或多個(gè)(其中,例如,使用諸如在本申請(qǐng)人的英國(guó)專利No. 2420261中描述的系統(tǒng))。
同樣在本發(fā)明中確定和存儲(chǔ)的圖元分布信息可以是任何適當(dāng)和期望的此類信息, 即其將允許圖形系統(tǒng)更精確地識(shí)別(以簡(jiǎn)單地高于圖元列表所對(duì)應(yīng)的多個(gè)區(qū)塊的集合所 涵蓋的整個(gè)區(qū)域的分辨率)應(yīng)該為所述多個(gè)區(qū)塊的集合中的哪些區(qū)塊處理給定的一個(gè)或 多個(gè)圖元。實(shí)質(zhì)上,圖元分布信息應(yīng)為圖元倉(cāng)(列表)中的一個(gè)或多個(gè)圖元、以及優(yōu)選地為 每個(gè)圖元更準(zhǔn)確地指示該一個(gè)或多個(gè)圖元位于整個(gè)圖元倉(cāng)區(qū)域內(nèi)的何處。
在特別優(yōu)選的實(shí)施例中,所述分布信息指示圖元位于圖元倉(cāng)區(qū)域的細(xì)分中的何 處,且最優(yōu)選地指示應(yīng)該為圖元倉(cāng)(圖元列表)所涵蓋的渲染目標(biāo)區(qū)域的一組子區(qū)域中的 哪個(gè)子區(qū)域或哪些子區(qū)域處理列表(圖元倉(cāng))中的一個(gè)或多個(gè)圖元及優(yōu)選地每個(gè)圖元。
在一個(gè)特別優(yōu)選的實(shí)施例中,分布信息所相關(guān)的子區(qū)域中的每個(gè)對(duì)應(yīng)于單獨(dú)的區(qū) 塊,從而使得實(shí)際上該分布信息直接指示在渲染場(chǎng)景時(shí)應(yīng)該為圖元列表所涵蓋的多個(gè)區(qū)塊 中的哪個(gè)區(qū)塊或哪些區(qū)塊處理所述圖元或每個(gè)圖元。 然而,還有可能的是,分布信息所相關(guān)的子區(qū)域本身對(duì)應(yīng)于多個(gè)區(qū)塊。例如,覆蓋 4X4區(qū)塊組的圖元列表可被細(xì)分成四個(gè)2X2區(qū)塊子區(qū)域(每個(gè)表示列表區(qū)域的四分之 一 ),或者事實(shí)上細(xì)分成四個(gè)1 X 4區(qū)塊子區(qū)域(每個(gè)表示列表區(qū)域的行或列),且分布信息 可以指示應(yīng)當(dāng)為這些子區(qū)域中的哪些(例如四分之一或行等)處理每個(gè)圖元。在這種情況 下,針對(duì)圖元,分布信息將需要指示四個(gè)子區(qū)域之一,而不是例如16個(gè)區(qū)塊之一,這當(dāng)然將 需要指示較少的數(shù)據(jù)。 這些方案將仍是有利的,因?yàn)樗鼈內(nèi)詫⒃试S系統(tǒng)避免簡(jiǎn)單地必須為列表所覆蓋的 整個(gè)區(qū)域處理列表中的所有圖元??赡芷谕氖?,使用比區(qū)塊大的圖元列表區(qū)域內(nèi)的子區(qū) 域,在那里,例如,以單獨(dú)區(qū)塊的分辨率來(lái)提供分布信息將需要比期望或可用的數(shù)據(jù)容量更 大的數(shù)據(jù)容量。(其中,圖元分布信息指示包括多于一個(gè)的區(qū)塊的圖元列表區(qū)域內(nèi)的子區(qū)域,隨 后,如本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到的那樣,雖然是以低于單個(gè)區(qū)塊水平的分辨率,但仍將間 接地指示應(yīng)為其處理列表中的每個(gè)圖元的一個(gè)或多個(gè)區(qū)塊。) 可以以任何適當(dāng)和期望的方式來(lái)確定圖元列表(圖元倉(cāng))所對(duì)應(yīng)的區(qū)域內(nèi)的圖元
的分布,例如使用任何已知和期望的裝倉(cāng)技術(shù)。例如,可以使用精確裝倉(cāng)技術(shù)。在特別優(yōu)選
的實(shí)施例中,采用軸對(duì)齊邊界框的邊界框裝倉(cāng)技術(shù)被用來(lái)確定圖元的分布。(這里應(yīng)注意的是,通常無(wú)論如何將執(zhí)行此圖元分布測(cè)試以執(zhí)行總體的裝倉(cāng)處理,
并且此外,將經(jīng)常以單獨(dú)區(qū)塊的分辨率水平來(lái)執(zhí)行此圖元分布測(cè)試,即使將為多個(gè)區(qū)塊的
集合制定圖元倉(cāng)(圖元列表)也是如此。因此,實(shí)際上可以生成本發(fā)明同樣制定并存儲(chǔ)的更
精確的分布信息,作為無(wú)論如何必須執(zhí)行的"正常"裝倉(cāng)處理的一部分,因此,關(guān)于這一點(diǎn),
以本發(fā)明的方式進(jìn)行的操作不應(yīng)顯著地增加所需的處理,也不需要對(duì)已知和現(xiàn)有的圖形裝
倉(cāng)處理和硬件進(jìn)行顯著的修改。) 還應(yīng)注意的是,在例如使用邊界框裝倉(cāng)技術(shù)的情況下,圖元分布信息可以不精確地指示圖元本身所落入的區(qū)塊等,而是實(shí)際上將指示圖元倉(cāng)區(qū)域內(nèi)的"邊界框"的分布。然
而,這仍將具有指示圖元在圖元倉(cāng)區(qū)域內(nèi)的分布的效果,并且是以比僅僅總體上對(duì)于圖元
倉(cāng)而言的分辨率高的分辨率,因此,仍以本發(fā)明的方式充當(dāng)圖元分布信息。 所述圖元分布信息可以采取能夠指示所需信息的任何適當(dāng)和期望的形式。在優(yōu)選
實(shí)施例中,其具有覆蓋掩模的形式,優(yōu)選地具有位圖的形式(位圖是表示該覆蓋信息的特
別方便的方式。) 因此,優(yōu)選地,使用覆蓋掩模(例如位圖)來(lái)指示圖元列表所對(duì)應(yīng)的區(qū)域中的圖元的分布,其中所述掩模(例如圖)中的每個(gè)位置對(duì)應(yīng)于圖元列表區(qū)域內(nèi)的給定子區(qū)域(例如區(qū)塊)。 可以以未壓縮的格式來(lái)存儲(chǔ)分布信息(例如覆蓋位圖),但是在優(yōu)選實(shí)施例中,以壓縮形式來(lái)存儲(chǔ)分布信息。例如,出于此目的,可以使用可表示采用較少位的較高分辨率分布信息(例如位圖)的任何保守壓縮方案。因此,例如,可以使用無(wú)損壓縮格式(例如使用行程編碼),或者有損但保守的壓縮格式。 因此,在優(yōu)選實(shí)施例中,使用編碼方案來(lái)采用較少的存儲(chǔ)位表示分布信息(例如覆蓋位圖)。 關(guān)于這一點(diǎn),本申請(qǐng)人已認(rèn)識(shí)到,圖元列表所對(duì)應(yīng)的區(qū)塊集合內(nèi)的某些分布可能性實(shí)際上不太可能或者永遠(yuǎn)不可能發(fā)生。 例如,實(shí)際上,圖元將趨向于覆蓋給定區(qū)塊行內(nèi)的鄰近區(qū)塊。因此,如果考慮一行四個(gè)區(qū)塊,例如,采用用于表示該行中的給定圖元的分布的xxxx位圖,該行中的給定圖元的分布可能性實(shí)際上將是0001、0010、0100、1000、0011、0110、1100、0111、1110、1111(其中
"l"指示圖元存在于對(duì)應(yīng)于該位置的區(qū)塊中(對(duì)于該區(qū)塊而言應(yīng)對(duì)圖元進(jìn)行處理)),且其
并不應(yīng)當(dāng)必需能夠指示例如0101、 1010、 1001等的分布。 這樣做的效果是本申請(qǐng)人已認(rèn)識(shí)到給定覆蓋位圖布置因此不必能夠指示所有可
能的分布可能性,而是可以省略某些分布可能性。因此,可以通過(guò)不提供指示圖元列表區(qū)域中的所有分布可能性的能力來(lái)壓縮分布信息。 因此,在特別優(yōu)選的實(shí)施例中,通過(guò)允許該信息僅僅表示圖元列表所對(duì)應(yīng)的多個(gè)區(qū)塊的集合所覆蓋的區(qū)域內(nèi)的整組分布可能性中的某些而不是全部來(lái)壓縮分布信息(例如區(qū)塊覆蓋位圖)。 同樣地,分布信息不需要(例如)直接表示覆蓋位圖,而是可以被編碼為隨后(例
如經(jīng)由查找表)指示正在討論的位圖的值。例如,如上文所討論的,在對(duì)于一行四個(gè)區(qū)塊而
言期望指示0001、0010、0100、1000、0011、0110、1100、0111、1110、和1111的位圖的情況下,
則作為使用四個(gè)位進(jìn)行此操作的替代,例如可以如下地使用3位編碼方案 0 — 0001 1 — 0010 2 — 0100 3 — 1000 4 — 0011 5 — 0110 6—1100
7 — llll(和Olll,lllO) 在這種情況下,通過(guò)將Olll和1110映射成1111來(lái)將其保守地壓縮,即將Olll、 1110編碼為"7",并且當(dāng)讀取"7"時(shí),其將被解釋為"1111"。不需要對(duì)OOOO進(jìn)行編碼,因?yàn)?不在圖元倉(cāng)區(qū)域中的圖元根本不會(huì)被列出。 因此,在優(yōu)選實(shí)施例中,以編碼形式來(lái)提供分布信息,根據(jù)該編碼形式可以導(dǎo)出或 識(shí)別分布位圖。同樣地,優(yōu)選地將所述編碼形式配置為使得分布信息的編碼形式只能表示 圖元列表所對(duì)應(yīng)的多個(gè)區(qū)塊的集合所覆蓋的區(qū)域內(nèi)的整組分布可能性中的某些而不是全 部。 還可以將單獨(dú)的分布信息組用于例如每個(gè)軸(方向),例如用于X和Y方向,并隨 后將該信息組合以導(dǎo)出用于給定圖元的總體分布信息。 例如,在使用3位編碼方案來(lái)表示沿著一行四個(gè)區(qū)塊的覆蓋度的上述情況下,對(duì) 于4X4區(qū)塊集合而言,可以對(duì)于X和Y方向中的每一個(gè)使用該方案,其中單獨(dú)地查找給定 區(qū)塊的X和Y覆蓋值并隨后將其組合以確定該圖元實(shí)際上是否落入正在討論的區(qū)塊中(實(shí) 際上,如果針對(duì)區(qū)塊的位圖查找對(duì)于X和Y 二者均返回"1 ",則應(yīng)當(dāng)為正在討論的區(qū)塊處理 該圖元(否則不處理))。此布置隨后將允許僅僅使用兩個(gè)3位覆蓋值編碼方案(即總共6 位)來(lái)表示4X4區(qū)塊集合的分布信息,而不是例如必須使用完整的16位位圖(如果要使 用直接表示(沒(méi)有任何中間編碼)4X4區(qū)塊集合的位圖,則將需要該完整的16位位圖)。
因此,在優(yōu)選實(shí)施例中,對(duì)于兩個(gè)方向(優(yōu)選地為X和Y方向)中的每一個(gè),單獨(dú) 地對(duì)分布信息進(jìn)行編碼,并隨后在將其用來(lái)確定圖元列表所覆蓋的區(qū)域內(nèi)的圖元分布時(shí)將 該分布信息適當(dāng)?shù)亟M合。 在使用分布信息的某種形式的壓縮和/或編碼的這些布置中,必要時(shí)則可以適當(dāng) 地使用圖元列表所對(duì)應(yīng)的區(qū)域中的圖元分布的保守測(cè)試,以保證可以表示每個(gè)圖元的分 布,以便允許使用正在討論的編碼方案來(lái)正確地渲染圖元。 同樣地,在存在對(duì)要用于分布測(cè)試的技術(shù)方面的約束的情況下,則可以使用適當(dāng) 的保守壓縮方案以保證可以適當(dāng)?shù)乇硎緢D元的分布。 可以根據(jù)需要來(lái)存儲(chǔ)圖元分布信息。其優(yōu)選地為圖元列表中的每個(gè)圖元指示該圖 元列表所涉及的區(qū)域(區(qū)塊集合)內(nèi)的圖元分布,最優(yōu)選地,以便可以確定應(yīng)當(dāng)為其處理圖 元的、圖元列表所針對(duì)的多個(gè)區(qū)塊中的一個(gè)或多個(gè)區(qū)塊、或區(qū)塊的一個(gè)或多個(gè)子集。
在特別優(yōu)選的實(shí)施例中,圖元列表(圖元倉(cāng))中的每個(gè)圖元具有一組相關(guān)分布信 息,諸如且優(yōu)選地為相關(guān)覆蓋位圖。因此,對(duì)于圖元列表(圖元倉(cāng))中的每個(gè)圖元而言,優(yōu) 選地存在一組相關(guān)分布信息,其指示該圖元跨越圖元列表(圖元倉(cāng))所對(duì)應(yīng)的區(qū)域的分布。
此相關(guān)分布信息可以例如被包括作為存儲(chǔ)在用于每個(gè)圖元的圖元倉(cāng)中的圖元信 息(例如頂點(diǎn)索引等)的一部分。 在優(yōu)選實(shí)施例中,可以與其余圖元信息分開地讀取圖元分布信息。這隨后將允許 首先檢查分布信息,例如,以便如果正在討論的區(qū)塊不需要該圖元,則可以避免讀取圖元倉(cāng) (圖元列表)中的其余圖元信息,諸如頂點(diǎn)索引。這可以進(jìn)一步減少所需的存儲(chǔ)器訪問(wèn)和帶 寬。這可以通過(guò)例如將圖元分布信息存儲(chǔ)在單獨(dú)的數(shù)據(jù)結(jié)構(gòu)中、或者作為可以被與圖元列 表中的其它圖元信息分開地讀取的報(bào)頭等來(lái)實(shí)現(xiàn)。 還可以優(yōu)選的是,與其它圖元信息分開地存儲(chǔ)圖元分布信息,以便促進(jìn)本發(fā)明的技術(shù)與現(xiàn)有圖形處理系統(tǒng)的向后兼容性。 雖然本發(fā)明需要使用涵蓋多于一個(gè)區(qū)塊的圖元列表(圖元倉(cāng)),但在優(yōu)選實(shí)施例 中,還可以是并且還可以制定并使用單獨(dú)區(qū)塊的圖元列表(圖元倉(cāng))。在這種情況下,則可 以存在專用于單獨(dú)區(qū)塊和多個(gè)區(qū)塊的集合的圖元列表的圖元列表。因此,在優(yōu)選實(shí)施例中, 可以針對(duì)單獨(dú)的區(qū)塊和多個(gè)區(qū)塊的集合制定圖元列表。 在一個(gè)優(yōu)選的此類實(shí)施例中,布置是這樣的,即可以例如以在本申請(qǐng)人的英國(guó) (UK)專利No. 2433014中所描述的"分級(jí)"方式,針對(duì)具有不同數(shù)目的區(qū)塊的多個(gè)區(qū)塊的集 合、以及針對(duì)單獨(dú)的區(qū)塊制定圖元列表。 在這些情況下,可以(并且優(yōu)選地的確)針對(duì)對(duì)應(yīng)于多個(gè)區(qū)塊的集合的圖元列表 (中的每一個(gè))制定并存儲(chǔ)本發(fā)明的分布信息,但對(duì)應(yīng)于單個(gè)區(qū)塊的圖元列表將不需要該 分布信息。 實(shí)際上,本發(fā)明的優(yōu)點(diǎn)是可以將其用于改善簡(jiǎn)單地使用較大"圖元倉(cāng)"的較低性 能區(qū)塊化圖形處理器、和例如使用諸如分級(jí)裝倉(cāng)方案之類的更復(fù)雜的裝倉(cāng)方案的較高性能 圖形處理器兩者。 應(yīng)認(rèn)識(shí)到的是,在圖元列表中列出的圖元可以是且通常將是簡(jiǎn)單圖元,諸如簡(jiǎn)單 多邊形,諸如三角形、四邊形、直線或點(diǎn)。然而,本發(fā)明可同樣地適用于在圖元列表中可以包 括可能不是簡(jiǎn)單圖元的其它形式的圖形描述符的情況。 此類其它圖形描述符可以例如包括程序描述,諸如程序繪圖調(diào)用、例如待渲染對(duì) 象的高階或高級(jí)描述符(諸如對(duì)象的平滑表面表示)、多個(gè)圖元的集合的表示(諸如繪圖調(diào) 用)等等。本發(fā)明擴(kuò)展至在圖元列表中包括任何此類描述符(和適當(dāng)時(shí),分布信息與此類 描述符的關(guān)聯(lián))。 本發(fā)明可同樣地適用于例如可以跨越圖元列表分布圖形命令的情況(例如因?yàn)?br> 它們是屏幕位置依賴的)。因此,圖元列表還可以包括具有相關(guān)的分布信息的圖形命令,或
者可以存在例如向其分配圖形命令的單獨(dú)的"命令"列表(倉(cāng))的集合。 通常,可以將本發(fā)明用于(如果需要)可能具有位置依賴性的任何形式的圖形數(shù)
據(jù)或處理,盡管其相對(duì)于圖元來(lái)說(shuō)最令人感興趣,因?yàn)樗鼈冃纬蓤D形系統(tǒng)中的大批位置依
賴數(shù)據(jù)。 應(yīng)針對(duì)構(gòu)成將要顯示的場(chǎng)景(渲染目標(biāo))的每組區(qū)塊制定適當(dāng)?shù)膱D元列表(圖元 倉(cāng))以及相關(guān)的分布信息。 —旦已針對(duì)區(qū)塊集合制定了圖元列表及相關(guān)分布信息,則可以如上文所討論的那 樣通過(guò)使用圖元列表及相關(guān)分布信息來(lái)確定對(duì)于每個(gè)區(qū)塊而言需要處理(渲染)哪些圖元 等,來(lái)在渲染構(gòu)成待顯示場(chǎng)景的區(qū)塊時(shí)使用此信息。 換言之,渲染處理將優(yōu)選地使用圖元列表中的圖元的相關(guān)分布信息來(lái)確定對(duì)于正 在討論的區(qū)塊而言實(shí)際上是否需要處理該(每個(gè))圖元(并且如果不需要,則將跳過(guò)該圖 元并轉(zhuǎn)到列表中的下一個(gè)圖元,以此類推)。 可以且優(yōu)選地以類似于已知的基于區(qū)塊的渲染系統(tǒng)的方式來(lái)執(zhí)行此渲染處理。因 此,優(yōu)選地,單獨(dú)地處理并渲染每個(gè)區(qū)塊??梢砸匀魏纹谕姆绞?例如通過(guò)以連續(xù)或并行 的方式渲染單獨(dú)的區(qū)塊)來(lái)執(zhí)行此渲染。 一旦已經(jīng)渲染了所有的區(qū)塊,則如本領(lǐng)域中已知 的那樣,可以例如在幀緩沖器中將其重組以進(jìn)行顯示。
13
在優(yōu)選實(shí)施例中,圖形處理系統(tǒng)可以將待顯示的輸出幀作為多個(gè)單獨(dú)的子幀進(jìn)行 處理,從而使得實(shí)際上將被顯示的總輸出幀可以被劃分成不同的子幀,其中每個(gè)子幀則如 同其是單個(gè)幀一樣被處理(因此被劃分成區(qū)塊,該區(qū)塊具有為其制定的圖元列表等等),并
且隨后可以將所述多個(gè)子幀重組以提供總輸出幀以進(jìn)行顯示。 之后,這將提供將包括大量區(qū)塊的輸出幀(渲染目標(biāo))的細(xì)分的另一種可能性。這 可能是期望的,其中,例如存在有限數(shù)量的可用圖元倉(cāng)(圖元列表),因?yàn)?,例如,不是?jiǎn)單 地必須允許每個(gè)圖元倉(cāng)涵蓋更多的區(qū)塊(如通常將允許有限數(shù)目的圖元倉(cāng)覆蓋更大數(shù)目 的區(qū)塊的情況一樣_這則可能意味著分布信息同樣必須表示較粗的分辨率),而是每次可 以渲染輸出幀的較小區(qū)域(子幀),從而有效地允許所允許的數(shù)目的圖元倉(cāng)表示較小的區(qū) 域和較少數(shù)目的區(qū)塊(以便單獨(dú)的圖元倉(cāng)可以表示較少的區(qū)塊等等)。 因此,允許將輸出幀作為多個(gè)子幀來(lái)處理提供了用于根據(jù)每個(gè)圖元列表等所對(duì)應(yīng) 的幀區(qū)域(區(qū)塊數(shù)目)來(lái)控制例如分辨率的另一種選擇。 可以以任何期望和適當(dāng)?shù)姆绞絹?lái)執(zhí)行本發(fā)明的各種功能。在特別優(yōu)選實(shí)施例中, 可以在生成并輸出圖形數(shù)據(jù)的單個(gè)圖形處理平臺(tái)上執(zhí)行那些功能,所述圖形數(shù)據(jù)被寫入顯 示設(shè)備的幀緩沖器。本發(fā)明的數(shù)據(jù)結(jié)構(gòu)可以例如且優(yōu)選地由幾何處理器或幾何處理器的幾 何處理單元生成并存儲(chǔ),并隨后在渲染場(chǎng)景以便顯示時(shí)由圖形處理器的像素(碎片)處理 器或處理單元(其執(zhí)行光柵化和渲染處理)使用。 根據(jù)需要,可以在硬件或軟件中實(shí)現(xiàn)本發(fā)明的功能。因此,例如,本發(fā)明的各種"裝 置"可以包括可操作以執(zhí)行所述各種功能等的適當(dāng)?shù)囊粋€(gè)或多個(gè)處理器、功能單元、電路、 處理邏輯、微處理器裝置等,諸如適當(dāng)?shù)貙S糜布?或可被編程為以期望的方式操 作的可編程硬件元件。 在優(yōu)選實(shí)施例中,系統(tǒng)被實(shí)現(xiàn)為硬件元件(例如ASIC)。因此,在另一方面,本發(fā)明 包括硬件元件,該硬件元件包括本文所述的本發(fā)明的任何一個(gè)或多個(gè)方面的裝置或依照本 發(fā)明的任何一個(gè)或多個(gè)方面的方法操作的裝置。 還應(yīng)注意的是,如本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到的那樣,可以在給定的處理器上復(fù) 制和/或并行地執(zhí)行本發(fā)明的各種功能等。 本發(fā)明可適用于任何形式或配置的(基于區(qū)塊的)圖形處理器和渲染器,諸如具
有"管線"渲染布置的處理器(在這種情況下渲染器將具有渲染管線的形式)。 如從上文將認(rèn)識(shí)到的那樣,本發(fā)明特別但非排他性地可適用于3D圖形處理器和
處理設(shè)備,并因此擴(kuò)展至包括本文所述的本發(fā)明的任何一個(gè)或多個(gè)方面的裝置、或依照本
發(fā)明的任何一個(gè)或多個(gè)方面的方法操作的裝置的3D圖形處理器和3D圖形處理平臺(tái)。經(jīng)受
執(zhí)行上文所討論的特定功能所需的任何硬件,此類3D圖形處理器另外可以包括3D圖形處
理器包括的常見功能單元等中的任何一個(gè)或多個(gè)或全部。 本領(lǐng)域的技術(shù)人員還將認(rèn)識(shí)到,本發(fā)明的全部所述方面和實(shí)施例可以適當(dāng)?shù)匕?本文所述的優(yōu)選和可選特征中的任何一個(gè)或多個(gè)或全部。 可以至少部分地使用例如計(jì)算機(jī)程序的軟件來(lái)實(shí)現(xiàn)依照本發(fā)明的方法。因此,將 看到,當(dāng)從其它方面看時(shí),本發(fā)明提供特別適合于當(dāng)被安裝在數(shù)據(jù)處理裝置上時(shí)執(zhí)行本文 所述的方法的計(jì)算機(jī)軟件、包括用于當(dāng)在數(shù)據(jù)處理裝置上運(yùn)行程序單元時(shí)執(zhí)行本文所述方 法的計(jì)算機(jī)軟件代碼部分的計(jì)算機(jī)程序單元、以及包括適合于當(dāng)在數(shù)據(jù)處理系統(tǒng)上運(yùn)行程序時(shí)執(zhí)行本文所述的一種或多種方法的所有步驟的代碼裝置的計(jì)算機(jī)程序。所述數(shù)據(jù)處理 系統(tǒng)可以是微處理器系統(tǒng)、可編程FPGA(現(xiàn)場(chǎng)可編程門陣列)等等。 本發(fā)明還擴(kuò)展至包括此類軟件的計(jì)算機(jī)軟件載體,所述軟件在被用來(lái)操作圖形處 理器、渲染器或包括數(shù)據(jù)處理裝置的微處理器系統(tǒng)時(shí)與所述數(shù)據(jù)處理裝置相結(jié)合地促使所 述處理器、渲染器或系統(tǒng)執(zhí)行本發(fā)明的方法的步驟。此類計(jì)算機(jī)軟件載體可以是諸如ROM 芯片、CD ROM或盤之類的物理存儲(chǔ)介質(zhì),或者可以是諸如導(dǎo)線上的電信號(hào)、光信號(hào)或諸如到 達(dá)衛(wèi)星的無(wú)線電信號(hào)等的信號(hào)。 將進(jìn)一步認(rèn)識(shí)到的是,并不是需要由計(jì)算機(jī)軟件來(lái)執(zhí)行本發(fā)明的方法的所有步 驟,因此,從更廣泛的方面出發(fā),本發(fā)明提供被安裝在計(jì)算機(jī)軟件載體上的、用于執(zhí)行本文 所闡述的方法步驟中的至少一個(gè)的計(jì)算機(jī)軟件和此類軟件。 本發(fā)明因此可以被適當(dāng)?shù)伢w現(xiàn)為供與計(jì)算機(jī)系統(tǒng)一起使用的計(jì)算機(jī)程序產(chǎn)品。此 類實(shí)施方式可以包括固定在諸如例如磁盤、CD-R0M、 ROM或硬盤等計(jì)算機(jī)可讀介質(zhì)之類的 有形介質(zhì)上,或可通過(guò)包括但不限于光學(xué)或模擬通信線路的有形介質(zhì)或無(wú)形地使用包括但 不限于微波、紅外或其它傳輸技術(shù)的無(wú)線技術(shù)、經(jīng)由調(diào)制解調(diào)器或其它接口設(shè)備發(fā)送到計(jì) 算機(jī)系統(tǒng)的一系列計(jì)算機(jī)可讀指令。該系列計(jì)算機(jī)可讀指令體現(xiàn)了本文中先前所述的全部 功能或部分功能。 本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,可以以多種編程語(yǔ)言來(lái)編寫此類計(jì)算機(jī)可讀指令以 與許多計(jì)算機(jī)體系結(jié)構(gòu)或操作系統(tǒng)一起使用。此外,可以使用包括但不限于半導(dǎo)體、磁或光 學(xué)的目前或未來(lái)的任何存儲(chǔ)技術(shù)來(lái)存儲(chǔ)此類指令,或者可以使用包括但不限于光學(xué)、紅外、 或微波的目前或未來(lái)的任何通信技術(shù)來(lái)發(fā)送此類指令??梢灶A(yù)期的是,可以將此類計(jì)算機(jī) 程序產(chǎn)品作為可移動(dòng)介質(zhì)與例如用計(jì)算機(jī)系統(tǒng)預(yù)加載的收縮包裝軟件的隨附印刷或電子 文件一起發(fā)布在例如系統(tǒng)ROM或固定盤上,或者可以通過(guò)例如因特網(wǎng)或萬(wàn)維網(wǎng)的網(wǎng)絡(luò)從服 務(wù)器或電子公告板發(fā)布。


現(xiàn)在將參照附圖僅以示例的方式來(lái)描述本發(fā)明的若干優(yōu)選實(shí)施例,在附圖中 圖1示意地示出基于區(qū)塊的圖形處理布置; 圖2示意地示出依照本發(fā)明的圖元的分布信息的導(dǎo)出; 圖3示意地示出可以依照本發(fā)明來(lái)操作的圖形處理器的布置; 圖4示意地示出本發(fā)明的實(shí)施例中的、為圖元列表中的圖元存儲(chǔ)的數(shù)據(jù); 圖5示出出于渲染的目的將待處理的場(chǎng)景細(xì)分成區(qū)塊,以及出于裝倉(cāng)的目的將待
處理的場(chǎng)景細(xì)分成多個(gè)區(qū)塊的集合;以及 圖6舉例說(shuō)明本發(fā)明的實(shí)施例中的、待渲染的幀到多個(gè)子幀的細(xì)分。
具體實(shí)施例方式
圖3示意地示出可以依照本發(fā)明來(lái)操作的圖形處理器20。圖形處理器20包括幾 何處理器21和像素或碎片處理器22。如果需要,可以存在并行地操作的多于一個(gè)的像素處 理器22。 幾何處理器21和像素處理器22可訪問(wèn)各種存儲(chǔ)器23、24、25(如本領(lǐng)域中已知的那樣,根據(jù)需要,該存儲(chǔ)器可以全部是同一物理存儲(chǔ)器的一部分,或者可以是單獨(dú)的存儲(chǔ) 器)。存儲(chǔ)器中的一個(gè)或多個(gè)可以與圖形處理器一起"在芯片上",或者,更典型的是,它們 可以是在使用中可以被幾何處理器和像素處理器訪問(wèn)的外部存儲(chǔ)器(例如在主處理系統(tǒng) 上)。 幾何處理器21還包括以本發(fā)明的方式生成圖元列表的列表構(gòu)造器26,且所述(或 每個(gè))像素處理器22包括當(dāng)渲染場(chǎng)景以便顯示時(shí)讀取并使用圖元列表的列表讀取器27。 這些操作將在下文中更詳細(xì)地討論。 圖3中所示的圖形處理器20除其操作是依照本發(fā)明之外,另外還以此類處理器的 正常方式運(yùn)作。 因此,如圖3所示,在圖形處理器20的操作中,幾何處理器21首先從存儲(chǔ)器23讀 取用于待渲染的場(chǎng)景的原始幾何數(shù)據(jù)30(如本領(lǐng)域中已知的那樣,該原始幾何數(shù)據(jù)例如由 圖形處理器驅(qū)動(dòng)器提供,或在運(yùn)行于圖形處理器20的主系統(tǒng)上的API上提供)。所述幾何 處理器隨后對(duì)該原始幾何數(shù)據(jù)30進(jìn)行變換,以給出用于該場(chǎng)景的一組經(jīng)變換的幾何數(shù)據(jù) 31,并將該經(jīng)變換的幾何數(shù)據(jù)31存儲(chǔ)在存儲(chǔ)器24中。 幾何處理器21的列表構(gòu)造器26這時(shí)還為該場(chǎng)景制定一組圖元列表(圖元倉(cāng))32, 并將那些列表存儲(chǔ)在存儲(chǔ)器24中。 存儲(chǔ)器24還存儲(chǔ)該場(chǎng)景的一組紋理23。可以根據(jù)需要來(lái)提供這些紋理。
像素處理器22使用經(jīng)變換的幾何數(shù)據(jù)31、紋理33和圖元列表32 (其由列表讀取 器27讀取)來(lái)逐個(gè)區(qū)塊地渲染用于顯示的場(chǎng)景,并將結(jié)果得到的輸出圖像數(shù)據(jù)34存儲(chǔ)在 存儲(chǔ)器25中(它可以從該存儲(chǔ)器25例如被導(dǎo)出到幀緩沖器以便顯示)。對(duì)場(chǎng)景的每個(gè)(可 見)區(qū)塊重復(fù)此操作。 為此,如本領(lǐng)域中已知的那樣,像素處理器22識(shí)別要處理的(下一個(gè))區(qū)塊,使用 圖元列表來(lái)識(shí)別將為該區(qū)塊處理的圖元,將那些圖元光柵化為采樣點(diǎn),生成表示該采樣點(diǎn) 的碎片,并通過(guò)例如將紋理應(yīng)用到碎片、將其混合等來(lái)渲染該碎片,以提供碎片的輸出集合 以用于顯示。 如上文所討論的那樣,作為用于顯示的場(chǎng)景的處理的一部分,幾何處理器21(實(shí) 際上是幾何處理器21的列表構(gòu)造器26)將場(chǎng)景的待渲染圖元分類成渲染的場(chǎng)景將被輸出 到的渲染目標(biāo)的子區(qū)域,并為每個(gè)此類子區(qū)域制定列表(倉(cāng)),其指示應(yīng)該為該子區(qū)域處理 的圖元。在本實(shí)施例中,每個(gè)子區(qū)域包括多個(gè)區(qū)塊,即2X2區(qū)塊組。 圖5舉例說(shuō)明這 一 點(diǎn),并示出對(duì)應(yīng)于出于渲染目的而被劃分成十六個(gè)區(qū)塊 48(4X4區(qū)塊陣列)的待渲染場(chǎng)景的渲染目標(biāo)區(qū)域47。然后為區(qū)塊40、44、45、46的每個(gè) 2X2塊制定圖元列表(圖元倉(cāng))。(圖5出于明了的目的,僅示出16個(gè)區(qū)塊。如本領(lǐng)域的 技術(shù)人員將認(rèn)識(shí)到的那樣,實(shí)際上,可以存在很多的區(qū)塊。)在圖5中示出示例性圖元42。
為了將圖元分類到用于每個(gè)區(qū)塊組的圖元倉(cāng)中,列表構(gòu)造器26使用軸對(duì)齊邊界 框來(lái)執(zhí)行邊界框裝倉(cāng)處理(如本領(lǐng)域中已知的那樣),以根據(jù)場(chǎng)景的每個(gè)圖元的經(jīng)變換幾 何數(shù)據(jù)來(lái)確定圖元應(yīng)被視為落入出于處理(渲染)的目的而將經(jīng)渲染場(chǎng)景的渲染目標(biāo)劃分 成的區(qū)塊中的哪些區(qū)塊中(即將需要為該區(qū)塊處理所述圖元)。 此信息隨后被用來(lái)將圖元分配給多個(gè)區(qū)塊的每個(gè)集合的列表(圖元倉(cāng))(將圖元 包括在其中),所述多個(gè)區(qū)塊的每個(gè)集合包括圖元已被發(fā)現(xiàn)落入其中的區(qū)塊。因此,在圖5
16所示的圖元42的情況下,該圖元被分配給2X2區(qū)塊集合40的圖元倉(cāng)。 當(dāng)然,如果需要,可以將諸如精確裝倉(cāng)技術(shù)之類的其它裝倉(cāng)技術(shù)用于此圖元分類
和列表處理。 除了將圖元分類到圖元倉(cāng)中并為每個(gè)圖元倉(cāng)制定圖元列表之外,依照本發(fā)明,列 表構(gòu)造器26還為圖元倉(cāng)中的每個(gè)圖元確定并存儲(chǔ)分布信息,該分布信息指示圖元在該圖 元倉(cāng)所對(duì)應(yīng)的區(qū)塊集合內(nèi)的分布。在本實(shí)施例中,為圖元倉(cāng)中列出的每個(gè)圖元確定此分布 信息,并且該分布信息與該每個(gè)圖元相關(guān)。 在本實(shí)施例中,此圖元分布信息被確定為裝倉(cāng)處理的一部分(如上文所討論的, 因?yàn)檠b倉(cāng)處理確定圖元應(yīng)被認(rèn)為覆蓋的區(qū)塊),并被以區(qū)塊覆蓋位圖的形式進(jìn)行存儲(chǔ),該區(qū) 塊覆蓋位圖指示應(yīng)該為正在討論的圖元列表(圖元倉(cāng))所對(duì)應(yīng)的區(qū)塊集合中的哪些區(qū)塊處 理圖元。 圖2舉例說(shuō)明這一點(diǎn),并示出將為其制定圖元列表(圖元倉(cāng))41的示例性2X2區(qū) 塊集合40。在這種情況下,圖元42被其邊界框43發(fā)現(xiàn)存在于構(gòu)成該2 X 2區(qū)塊集合的四個(gè) 區(qū)塊中的兩個(gè)區(qū)塊中。因此,使圖元42與具有形式"0101"的區(qū)塊覆蓋位圖相關(guān)聯(lián),以指示 其位于2 X 2區(qū)塊組的區(qū)塊"1"和"3"中(在本實(shí)施例中,使用4位位圖xxxx來(lái)指示每個(gè) 圖元在圖元列表(圖元倉(cāng))所對(duì)應(yīng)的2X2區(qū)塊塊內(nèi)的分布)。 當(dāng)開始針對(duì)此區(qū)塊集合40處理圖元42時(shí),像素處理器22(像素處理器的列表讀 取器27)將從圖元倉(cāng)41讀取圖元42的數(shù)據(jù),并根據(jù)其相關(guān)的區(qū)塊覆蓋位圖來(lái)確定應(yīng)只針 對(duì)區(qū)塊集合40的區(qū)塊"1"和"3"處理圖元42 (即可以跳過(guò)區(qū)塊"0"和"2")。
在本實(shí)施例中,每個(gè)圖元的分布信息(區(qū)塊覆蓋位圖)被與圖元的其它數(shù)據(jù)一起 存儲(chǔ)在圖元列表中。圖4舉例說(shuō)明這一點(diǎn)。因此,如圖4所示,圖元列表中的每個(gè)圖元"條 目"50存儲(chǔ)圖元類型51(例如三角形、直線、點(diǎn))、區(qū)塊覆蓋位圖52、用于指示在渲染圖元時(shí) 要設(shè)置的渲染狀態(tài)的渲染狀態(tài)字索引53(如例如在本申請(qǐng)人的英國(guó)(UK)專利No. 2420261 中所討論的那樣)、以及到圖元的頂點(diǎn)數(shù)據(jù)的索引54。(圖4示出假定32位寬的存儲(chǔ)器的 用于此數(shù)據(jù)的存儲(chǔ)器布局)。如圖4所示,如果"頂點(diǎn)l"和"頂點(diǎn)2"索引的長(zhǎng)度為32位, 則其將存在于存儲(chǔ)器的第一字中,且其它數(shù)據(jù)將存在于存儲(chǔ)器的下一個(gè)字中)。
當(dāng)然,將可以有其它布置。 當(dāng)已制定了圖元列表(圖元倉(cāng))時(shí),如上文所討論的,像素處理器(其列表讀取器 27)確定涵蓋當(dāng)前正在處理的區(qū)塊的圖元列表(圖元倉(cāng)),并如本領(lǐng)域中已知的那樣,依次 讀取該圖元列表(圖元倉(cāng))中的每個(gè)圖元的所列信息。 然而,當(dāng)這樣做時(shí),其還讀取正在討論的圖元的覆蓋位圖(信息),以確定是否應(yīng) 當(dāng)為當(dāng)前正在處理的區(qū)塊處理該圖元。如果與正在討論的圖元相關(guān)的分布信息(位圖)指 示不需要為當(dāng)前正在處理的區(qū)塊處理該圖元,則跳過(guò)該圖元(并且,例如,因此不讀出其相 關(guān)頂點(diǎn)信息),且處理轉(zhuǎn)到列表中的下一個(gè)圖元上,以此類推。這可允許顯著地減少在處理 場(chǎng)景以便顯示時(shí)讀取的數(shù)據(jù)的量。 如本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到的那樣,如果需要,可以在本實(shí)施例中且對(duì)于本發(fā) 明使用對(duì)上述布置進(jìn)行的各種變更、修改或替換等。 例如,作為如上文所討論的那樣為2X2區(qū)塊集合制定圖元列表的替代,可以為 4X4區(qū)塊集合或16X16區(qū)塊集合等制定圖元列表。
每個(gè)圖元的諸如覆蓋位圖之類的分布信息可以被存儲(chǔ)在單獨(dú)的數(shù)據(jù)結(jié)構(gòu)中或列
表中的報(bào)頭中,以便可以將其與其它圖元信息分開地讀取。這則將允許在確定了不需要為
正在討論的區(qū)塊處理圖元的情況下讀取要跳過(guò)的圖元列表中的其余圖元信息。 還可以以壓縮形式來(lái)存儲(chǔ)諸如區(qū)塊覆蓋位圖之類的分布信息。可以使用任何適當(dāng)
的保守(有損)壓縮或無(wú)損壓縮格式。非有損壓縮方案可以使用例如行程編碼。 在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,使用如下的位圖壓縮形式。 在這種情況下,假設(shè)每個(gè)圖元列表表示4X4區(qū)塊集合。為了表示圖元在此區(qū)塊集 合內(nèi)的分布,使用未壓縮覆蓋位圖(其中該圖中的單個(gè)位表示4X4區(qū)塊集合中的每個(gè)區(qū) 塊)將需要16位的存儲(chǔ)。 然而,本申請(qǐng)人已認(rèn)識(shí)到實(shí)際上可以以更緊湊的形式來(lái)對(duì)分布信息進(jìn)行編碼。
特別地,由于圖元實(shí)際上將僅僅趨向于位于4X4區(qū)塊塊的給定行或列內(nèi)的鄰近
區(qū)塊中,所以只需要表示沿著區(qū)塊的給定行或列的有限數(shù)目的分布可能性。特別地,對(duì)于 任何給定的行或列,覆蓋可能性實(shí)際上將是0001、0010、0100、1000、0011、0110、1100、0111、
1110、和1111。這些覆蓋位圖因此可被表示且編碼為八個(gè)不同的覆蓋值,如下 0 — 0001 1 — 0010 2 — 0100 3—1000 4 — 0011 5 — 0110 6—1100 7 — 1111 (和Olll,lllO(其被保守地映射成llll)) 然后可以使用此編碼方案來(lái)單獨(dú)地使用x和y方向中的每一個(gè)的3位覆蓋編碼值 表示在x和y方向中的每一個(gè)方向上的給定圖元的覆蓋。然后可以使用當(dāng)前區(qū)塊索引模數(shù) 4來(lái)從x和y軸中的每個(gè)的覆蓋位圖中挑選位,并且如果對(duì)兩個(gè)軸的查找返回"1",則需要 為該區(qū)塊處理圖元,否則不需要處理圖元。 以這種方式,通過(guò)使用x和y軸中的每個(gè)的3位覆蓋值,可以僅使用6位的存儲(chǔ)來(lái) 表示4X4區(qū)塊集合內(nèi)的圖元的覆蓋。 雖然已參照指示單獨(dú)區(qū)塊級(jí)別的圖元在為其制定了圖元列表的多個(gè)區(qū)塊的集合 內(nèi)的分布描述了上述實(shí)施例,但同樣可以指示跨越多個(gè)區(qū)塊的子集的圖元在為其制定了圖 元列表的多個(gè)區(qū)塊的更大集合內(nèi)的分布。例如,在如上文所討論的4X4區(qū)塊集合的圖元列 表的情況下,不是直接地指示4X4區(qū)塊集合中的單獨(dú)區(qū)塊中的圖元的分布,而是可以例如 將4X4區(qū)塊集合劃分成2X2區(qū)塊子集,并隨后指示跨越2X2區(qū)塊子集的每個(gè)圖元的分 布。 還可以具有這樣的布置,其中為單獨(dú)的區(qū)塊以及為多個(gè)區(qū)塊的集合兩者均制定圖
元列表,其中,例如,為對(duì)應(yīng)于多個(gè)區(qū)塊的集合的那些圖元列表提供圖元分布信息。 因此,例如,如果需要,可以使用本申請(qǐng)人的英國(guó)專利No. 2433014中所描述的形
式的"分級(jí)"裝倉(cāng)方案,其中為表示多個(gè)區(qū)塊的集合的那些圖元列表提供以本發(fā)明的方式的
分布信息。
實(shí)際上,除了用于較低面積和較低性能的圖形處理系統(tǒng)之外,本發(fā)明還可以有利 地應(yīng)用于較高性能的圖形處理系統(tǒng),諸如可以使用諸如分級(jí)裝倉(cāng)之類的更復(fù)雜的裝倉(cāng)方案 的系統(tǒng)。 而且,例如,不需要使用軸對(duì)齊邊界框來(lái)確定圖元是否存在于給定區(qū)塊中,而是可 以在需要時(shí)例如使用其它邊界框布置。必要時(shí),可以使用適當(dāng)?shù)谋J?有損)壓縮方案以 保證不發(fā)生具有對(duì)角線的區(qū)塊覆蓋位圖。 圖6舉例說(shuō)明結(jié)合本實(shí)施例和本發(fā)明使用的進(jìn)一步優(yōu)選的輸出幀細(xì)分布置。在這 種情況下,將場(chǎng)景將被渲染為的總輸出幀60作為四個(gè)單獨(dú)的子幀61、62、63、64來(lái)處理,該 單獨(dú)的子幀61、62、63、64隨后被組合以提供用于顯示的最終輸出幀。以上文所討論的、即 出于渲染的目的被細(xì)分成區(qū)塊65的方式來(lái)處理每個(gè)單獨(dú)的子幀61、62、63和64,且每個(gè)單 獨(dú)的子幀61、62、63和64具有為多個(gè)區(qū)塊的集合66而制定以利于該處理的圖元列表(這 僅僅出于明了的目的而針對(duì)子幀61示出)。 此布置提供將輸出幀處理進(jìn)行細(xì)分的附加方式,其中,例如,圖形處理系統(tǒng)支持固 定最大數(shù)目的圖元倉(cāng)(圖元列表),并且例如,與每個(gè)圖元倉(cāng)相關(guān)的分布信息可以只表示在 被圖元列表(圖元倉(cāng))覆蓋的區(qū)域內(nèi)的有限數(shù)目的分布布置。 在此類系統(tǒng)中,例如,如果要繪制的幀涵蓋大量區(qū)塊(通常由于區(qū)塊尺寸將被固 定且因此用于較高分辨率顯示,將需要生成更多的區(qū)塊),則一種替換將是簡(jiǎn)單地將較大數(shù) 目的區(qū)塊劃分成允許的數(shù)目的圖元倉(cāng)。然而,這樣做的效果將是每個(gè)圖元倉(cāng)將涵蓋更多的 區(qū)塊。 可替換地,如圖6所示,總幀60可以被細(xì)分成將被接連地處理的"子幀"。每個(gè)子幀 隨后將可以訪問(wèn)圖形處理系統(tǒng)可以支持的整組圖元列表(圖元倉(cāng)),并且因此,與一次(總 體上)處理整個(gè)輸出幀相比,每個(gè)圖元倉(cāng)將只需涵蓋較小數(shù)目的區(qū)塊。 從上文可以看出,本發(fā)明至少在其優(yōu)選實(shí)施例中提供了供在區(qū)塊化圖形處理系統(tǒng) 中使用的方法和裝置,其特別地能夠減小圖形處理器(且特別是光柵化或渲染處理)存儲(chǔ) 帶寬(特別是在處理場(chǎng)景以便顯示時(shí)被執(zhí)行以讀取場(chǎng)景描述的存儲(chǔ)器訪問(wèn)的次數(shù))。這降 低了圖形處理器所消耗的功率,并且特別是降低了光柵化和渲染處理及存儲(chǔ)器子系統(tǒng)所消 耗的功率。其還允許使用較低性能、較低功率的存儲(chǔ)系統(tǒng)。 此外,這可以在對(duì)圖形處理系統(tǒng)進(jìn)行相對(duì)簡(jiǎn)單且次要的修改的情況下實(shí)現(xiàn),從而 使得例如可以只需要少量的附加邏輯。 這使得本發(fā)明特別有利,尤其是對(duì)于諸如可以在便攜式和移動(dòng)設(shè)備及嵌入式系統(tǒng) 中使用的較低功率的圖形處理器。 這在本發(fā)明的優(yōu)選實(shí)施例中至少通過(guò)使用共同地覆蓋多個(gè)區(qū)塊的圖元列表來(lái)實(shí) 現(xiàn)。這降低了圖元列表的存儲(chǔ)要求和指針保持。 然而,除了做這些之外,本發(fā)明還提供指示圖元列表中的圖元在圖元列表所覆蓋 的區(qū)塊內(nèi)的分布的附加信息。光柵化和渲染處理隨后讀取此分布信息,并且如果分布信息 指示正在處理的區(qū)塊事實(shí)上不需要該圖元,則可以跳過(guò)獲取圖元數(shù)據(jù)等。本申請(qǐng)人已經(jīng)發(fā) 現(xiàn)這可以顯著減少在光柵化和渲染處理期間讀取的數(shù)據(jù)的量,雖然有正在使用表示多個(gè)區(qū) 塊的集合的圖元列表這一事實(shí)。
19
權(quán)利要求
一種生成數(shù)據(jù)集合以供當(dāng)在基于區(qū)塊的圖形處理系統(tǒng)中渲染用于顯示的場(chǎng)景時(shí)使用的方法,該方法包括確定并存儲(chǔ)將為待渲染的多個(gè)區(qū)塊的集合渲染的圖元的列表;以及確定并存儲(chǔ)用于指示圖元列表中的圖元在下述區(qū)域中的分布的信息,其中該區(qū)域被正在為其制定列表的多個(gè)區(qū)塊的集合涵蓋。
2. —種在基于區(qū)塊的圖形處理系統(tǒng)中渲染用于顯示的場(chǎng)景的方法,其中,為待渲染的多個(gè)區(qū)塊的集合制定待渲染的圖元的列表,以及指示該圖元列表中的圖元在下述區(qū)域中的分布的信息,其中該區(qū)域被列表所對(duì)應(yīng)的多個(gè)區(qū)塊的集合涵蓋,該方法包括圖形處理系統(tǒng)在其處理待顯示場(chǎng)景的區(qū)塊時(shí)使用涵蓋所述的區(qū)塊的場(chǎng)景的圖元列表,來(lái)確定將為所述的區(qū)塊處理的圖元集合;使用與圖元列表相關(guān)的圖元分布信息,來(lái)確定將為所述的區(qū)塊處理的圖元列表中的圖元集合的圖元;以及處理所確定的圖元以渲染區(qū)塊以便顯示。
3. 權(quán)利要求1或2的方法,其中,圖元分布信息直接指示當(dāng)渲染場(chǎng)景時(shí)應(yīng)該為圖元列表所涵蓋的多個(gè)區(qū)塊中的哪個(gè)區(qū)塊或哪些區(qū)塊處理所述圖元或每個(gè)圖元。
4. 權(quán)利要求1、2、或3的方法,其中,圖元分布信息采用覆蓋掩模的形式。
5. 權(quán)利要求1、2、3或4的方法,其中,以編碼形式來(lái)提供圖元分布信息,該編碼形式只能表示圖元列表對(duì)應(yīng)的多個(gè)區(qū)塊的集合所覆蓋的區(qū)域內(nèi)的分布可能性的整個(gè)集合中的一些但不是全部。
6. 權(quán)利要求1至5中任何一項(xiàng)的方法,其中,針對(duì)兩個(gè)不同方向中的每一個(gè)方向,單獨(dú)地對(duì)圖元分布信息進(jìn)行編碼。
7. 權(quán)利要求1至6中任何一項(xiàng)的方法,其中,對(duì)于圖元列表中的每個(gè)圖元,存在一組相關(guān)的分布信息,該分布信息指示該圖元跨越圖元列表所對(duì)應(yīng)的區(qū)域的分布。
8. 權(quán)利要求1至7中任何一項(xiàng)的方法,其中,可以與圖元列表中的其余圖元信息分開地讀取圖元分布信息。
9. 一種用于生成數(shù)據(jù)集合以供當(dāng)在基于區(qū)塊的圖形處理系統(tǒng)中渲染用于顯示的場(chǎng)景時(shí)使用的裝置,該裝置包括用于確定并存儲(chǔ)將為待渲染的多個(gè)區(qū)塊的集合渲染的圖元的列表的裝置;以及用于確定并存儲(chǔ)用于指示圖元列表中的圖元在下述區(qū)域中的分布的信息的裝置,其中該區(qū)域被正在為其制定列表的多個(gè)區(qū)塊的集合所涵蓋。
10. —種基于區(qū)塊的圖形處理器,其中為待渲染的多個(gè)區(qū)塊的集合制定待渲染的圖元的列表,以及指示該圖元列表中的圖元在下述區(qū)域中的分布的信息,其中該區(qū)域被列表所對(duì)應(yīng)的多個(gè)區(qū)塊的集合所涵蓋,所述圖形處理器包括用于使用待顯示場(chǎng)景的圖元列表來(lái)確定將為場(chǎng)景的區(qū)塊處理的圖元集合的裝置;用于使用與圖元列表相關(guān)的圖元分布信息來(lái)確定將為所述的區(qū)塊處理的圖元列表中的圖元集合的圖元的裝置;以及用于處理所確定的圖元以渲染區(qū)塊以便顯示的裝置。
11. 權(quán)利要求9或10的裝置或處理器,其中,圖元分布信息直接指示當(dāng)渲染場(chǎng)景時(shí)應(yīng)該為圖元列表所涵蓋的多個(gè)區(qū)塊中的哪個(gè)區(qū)塊或哪些區(qū)塊處理所述圖元或每個(gè)圖元。
12. 權(quán)利要求9、10或11的裝置或處理器,其中,圖元分布信息采用覆蓋掩模的形式。
13. 權(quán)利要求9、10、11或12的裝置或處理器,其中,以編碼形式來(lái)提供圖元分布信息,該編碼形式只能表示圖元列表對(duì)應(yīng)的多個(gè)區(qū)塊的集合所覆蓋的區(qū)域內(nèi)的分布可能性的整個(gè)集合中的一些但不是全部。
14. 權(quán)利要求9 13中的任何一項(xiàng)的裝置或處理器,其中,針對(duì)兩個(gè)不同方向中的每一個(gè)方向,單獨(dú)地對(duì)圖元分布信息進(jìn)行編碼。
15. 權(quán)利要求9 14中任何一項(xiàng)的裝置或處理器,其中,對(duì)于圖元列表中的每個(gè)圖元,存在一組相關(guān)的分布信息,該分布信息指示該圖元跨越圖元列表所對(duì)應(yīng)的區(qū)域的分布。
16. 權(quán)利要求9 15中任何一項(xiàng)的裝置或處理器,其中,可以與圖元列表中的其余圖元信息分開地讀取圖元分布信息。
17. —種2D或3D圖形處理器或2D或3D圖形處理平臺(tái),其包括權(quán)利要求9、10、11、12、13、 14、 15和16中任何一項(xiàng)的裝置或處理器。
全文摘要
本發(fā)明涉及用于處理圖形的方法和裝置,所述方法確定并存儲(chǔ)將為待渲染的多個(gè)區(qū)塊的集合渲染的圖元的列表,以及確定并存儲(chǔ)用于指示圖元列表中的圖元在下述區(qū)域中的分布的信息,其中該區(qū)域被正在為其制定列表的多個(gè)區(qū)塊的集合涵蓋。所述裝置包括用于確定并存儲(chǔ)將為待渲染的多個(gè)區(qū)塊的集合渲染的圖元的列表的裝置;以及用于確定并存儲(chǔ)用于指示圖元列表中的圖元在下述區(qū)域中的分布的信息的裝置,其中該區(qū)域被正在為其制定列表的多個(gè)區(qū)塊的集合所涵蓋。
文檔編號(hào)G06T15/00GK101794456SQ20101000299
公開日2010年8月4日 申請(qǐng)日期2010年1月15日 優(yōu)先權(quán)日2009年1月15日
發(fā)明者D·克羅克斯富德, F·朗廷, J·塔普利, J·奈斯塔德 申請(qǐng)人:Arm有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1