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

圖像處理方法和系統(tǒng)的制作方法

文檔序號:6461977閱讀:131來源:國知局
專利名稱:圖像處理方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明的實(shí)施例 一般地涉及圖像處理領(lǐng)域。
技術(shù)背景從三維場景呈現(xiàn)二維圖像的過程通常被稱作圖像處理。隨著現(xiàn)代 計算機(jī)工業(yè)的發(fā)展,圖像處理也在發(fā)展。圖像處理發(fā)展的一個具體的 目標(biāo)是使得三維場景的二維仿真或呈現(xiàn)盡可能逼真。呈現(xiàn)逼真的圖像 的 一個限制是現(xiàn)代顯示器通過使用像素來顯示圖像。像素是在顯示器上可被照亮的最小的空間區(qū)域。大多數(shù)現(xiàn)代的計 算機(jī)顯示器使用成百上千個或數(shù)百萬個像素的組合來組成整個顯示 或呈現(xiàn)的場景。各個像素被安排在柵格模式中,并且總體上覆蓋顯示 器的整個觀看區(qū)域。每個個體像素可以被照亮以呈現(xiàn)供觀看的最終畫 面。一種用于在使用像素的二維顯示器上呈現(xiàn)真實(shí)世界三維場景的技術(shù)稱為光柵化(rasterization)。光柵化是將二維圖像表示為矢量格式 (在場景內(nèi)的幾何對象的數(shù)學(xué)表示)并且將圖像轉(zhuǎn)化為各個像素以便 在顯示器上顯示。光柵化在快速呈現(xiàn)圖形和使用相對較低的計算功率 量方面是有效的;然而,光柵化受到一些缺陷的制約。例如,光柵化 通常缺乏逼真性,因?yàn)樗皇腔诠獾奈锢硖匦缘?,相反,光柵化?基于場景中的三維幾何對象投影在二維平面上的形狀的。而且,利用 光柵化呈現(xiàn)場景所需的計算功率直接隨要呈現(xiàn)的場景的復(fù)雜度的增 加而增大。當(dāng)圖像處理變得越逼真時,所呈現(xiàn)的場景也變得越復(fù)雜。 因此,光柵化隨著圖像處理的發(fā)展而受到制約,因?yàn)楣鈻呕苯与S復(fù) 雜度而增大。另一種用于在使用像素的二維顯示器上呈現(xiàn)真實(shí)世界三維場景 的技術(shù)稱為射線跟蹤。射線跟蹤技術(shù)跟蹤其行為與光線類似的虛射線 在要在計算機(jī)屏幕上呈現(xiàn)的三維場景中的傳播。射線源自坐在計算機(jī) 屏幕后的觀看者的眼睛,并且朝著三維場景橫穿構(gòu)成計算機(jī)屏幕的像 素。每個被跟蹤的射線前進(jìn)到場景中并且可以與場景內(nèi)的對象相交。 如果射線與場景中的對象相交,則使用對象的特性和若干其它貢獻(xiàn)因素來計算顏色和光的量,或者如果不相交,則暴露射線。接著,使用 這些計算來確定被跟蹤的射線所經(jīng)過的像素的最終顏色。對于單個場景,跟蹤射線的過程被執(zhí)行多次。例如,針對顯示器 中的每個像素,可以跟蹤單個射線。 一旦已經(jīng)跟蹤足夠數(shù)量的射線以 確定構(gòu)成計算機(jī)屏幕的二維顯示的所有像素的顏色,則可以在計算機(jī) 屏幕上將三維場景的二維合成顯示給觀看者。射線跟蹤通常呈現(xiàn)比光柵化更逼真的真實(shí)世界三維場景。這一部 分是因?yàn)樯渚€跟蹤模擬了光在真實(shí)世界環(huán)境中的行進(jìn)和行為的方式 而不是像光柵化所做的那樣簡單地將三維形狀投影到二維平面上這 一事實(shí)。因此,使用射線跟蹤來呈現(xiàn)的圖形更精確地在顯示器上描述了在真實(shí)世界中人眼所習(xí)慣看到的東西。而且,在場景變得更加復(fù)雜時,射線跟蹤對場景復(fù)雜度的增加的 處理也優(yōu)于光柵化。射線跟蹤隨著場景復(fù)雜度呈對數(shù)增大。這是由于 即使場景變得更加復(fù)雜也可以將相同數(shù)量的射線投射入場景。由此, 射線跟蹤不會像光柵化那樣在場景變得復(fù)雜時受到關(guān)于計算功率需 求的問題的制約。射線跟蹤的一個主要缺陷是呈現(xiàn)場景所需的大量計算以及由此產(chǎn)生的處理功率。在需要快速呈現(xiàn)的時候,這會導(dǎo)致問題。例如,當(dāng)圖像處理系統(tǒng)出于例如在游戲控制臺中的動畫目的要呈現(xiàn)圖形時。由 于針對射線跟蹤的增加的計算需求,很難足夠快地呈現(xiàn)動畫使得其看起來是逼真的(逼真的動畫大約每秒二十到二十四幀)。 因此,需要更有效的技術(shù)和設(shè)備來執(zhí)行射線跟蹤。發(fā)明內(nèi)容本發(fā)明的實(shí)施例 一般地提供了用于執(zhí)行射線跟蹤的方法和裝置。 本發(fā)明的 一 個實(shí)施例提供了 一種通過執(zhí)行具有自適應(yīng)抗鋸齒的射線跟蹤來呈現(xiàn)三維場景的圖像的方法。該方法一般地包括基于發(fā) 出到場景的初始的 一 組射線來識別像素的高對比度區(qū)域;以及發(fā)出附 加的一組射線到一個或多個高對比度區(qū)域。根據(jù)本發(fā)明的另 一個實(shí)施例,提供了 一種包含程序的計算機(jī)可讀 介質(zhì)。該程序在被執(zhí)行時會執(zhí)行一般地包括以下步驟的操作基于發(fā) 出到三維場景的初始的 一 組射線來識別像素的高對比度區(qū)域;以及發(fā) 出附加的一組射線到 一個或多個高對比度區(qū)域。根據(jù)本發(fā)明的另一個實(shí)施例,提供了一種圖像處理系統(tǒng)。該圖像 處理系統(tǒng)一般地包括存儲器設(shè)備,其被配置為存儲像素幀中的每個 像素的顏色信息;以及處理單元,其被配置為基于發(fā)出到三維場景的 初始的一組射線來識別像素的高對比度區(qū)域,以及發(fā)出附加的一組射 線到一個或多個高對比度區(qū)域。


圖1是描述根據(jù)本發(fā)明的一個實(shí)施例的示例性計算機(jī)處理器的 框圖。圖2說明了根據(jù)本發(fā)明的一個實(shí)施例的多內(nèi)核處理單元網(wǎng)絡(luò)。圖3A-3C是說明根據(jù)本發(fā)明的一個實(shí)施例的存儲器收件箱 (inbox)的各方面的框圖;圖4是根據(jù)本發(fā)明的一個實(shí)施例的將通過圖像處理系統(tǒng)呈現(xiàn)的 示例性三維場景。圖5A-5C說明了根據(jù)本發(fā)明的一個實(shí)施例的將通過圖像處理系 統(tǒng)呈現(xiàn)的二維空間和通過圖像處理系統(tǒng)創(chuàng)建的對應(yīng)的空間索引。圖6、 9和12是說明根據(jù)本發(fā)明的實(shí)施例的執(zhí)行射線跟蹤的示例 性方法的流程圖。圖7是根據(jù)本發(fā)明的一個實(shí)施例的將通過圖像處理系統(tǒng)呈現(xiàn)的示例性三維空間。圖8A-8D說明了根據(jù)本發(fā)明的一個實(shí)施例的執(zhí)行射線跟蹤的方法。圖10、 11、 13和14說明了根據(jù)本發(fā)明的實(shí)施例的將通過射線跟 蹤圖像處理系統(tǒng)呈現(xiàn)的幀中的示例性像素。
具體實(shí)施方式
本發(fā)明的實(shí)施例提供用以提高射線跟蹤圖像處理系統(tǒng)的性能的 方法和裝置。本發(fā)明的 一 個實(shí)施例提供用于使得圖像處理系統(tǒng)呈現(xiàn)抗 鋸齒的圖像同時最小化與抗鋸齒相關(guān)聯(lián)的工作量增加的技術(shù)。根據(jù)本 發(fā)明的 一 個實(shí)施例,通過自適應(yīng)抗鋸齒,可以呈現(xiàn)抗鋸齒的二維圖像, 同時最小化工作量增加。根據(jù)本發(fā)明的一個實(shí)施例,圖像處理系統(tǒng)可 以通過檢測容易存在鋸齒的區(qū)域(例如,高對比度區(qū)域)并且發(fā)出附 加射線到那些區(qū)域來自適應(yīng)地對圖像進(jìn)行抗鋸齒處理。圖像處理系統(tǒng) 可以通過以下步驟來檢測高對比度區(qū)域發(fā)出初始射線到三維場景, 基于初始射線的相交來確定像素的初始顏色,以及接著對4象素的初始 顏色進(jìn)行比較。于是,圖像處理系統(tǒng)可以通過增加所發(fā)出的經(jīng)過高對 比度區(qū)域的像素的射線的數(shù)目來自適應(yīng)地執(zhí)行抗鋸齒。通過僅增加發(fā) 出到高對比度區(qū)域(即,可能由于鋸齒化而失真的區(qū)域)中的三維場 景的射線的數(shù)目,可以呈現(xiàn)抗鋸齒的圖像,同時最小化工作量的增加。根據(jù)本發(fā)明的另 一 實(shí)施例,可以減少射線跟蹤圖像處理系統(tǒng)經(jīng)歷 的工作量,同時可以維持最終圖像的質(zhì)量。根據(jù)本發(fā)明的 一 個實(shí)施例, 通過減少發(fā)出到可能具有低對比度的三維場景的區(qū)域的射線的數(shù)目 同時維持發(fā)出到不具有低對比度的三維場景的射線的數(shù)目,可以獲得 工作量的減少且不會降低圖像質(zhì)量。這可以稱作是自適應(yīng)地對低對比 度區(qū)域中的三維場景進(jìn)行子采樣以減少初始發(fā)出的射線??梢詼p少發(fā) 出到低對比度區(qū)域的射線的數(shù)目且不降低質(zhì)量,因?yàn)橄鄬τ诔醪缴渚€ 所確定的顏色,所發(fā)出的通過低對比度區(qū)域的像素的附加射線可以對 像素的顏色進(jìn)行微小的(不可覺察的)改變。通過維持發(fā)出到不具有低對比度的三維場景的區(qū)域的射線的數(shù)目同時減少發(fā)出到低對比度 區(qū)域的射線的數(shù)目,可以維持通過射線跟蹤圖像處理系統(tǒng)呈現(xiàn)的圖像 的質(zhì)量,同時可以減少圖像處理系統(tǒng)經(jīng)歷的工作量。在下文中,參考本發(fā)明的實(shí)施例。然而,應(yīng)該理解本發(fā)明不限于 特定的所描述的實(shí)施例。相反,下面的特征和單元的任意組合被考慮 用于實(shí)現(xiàn)和實(shí)踐本發(fā)明,無論這些特征和單元是否與不同的實(shí)施例相 關(guān)。此外,在各種實(shí)施例中,本發(fā)明提供了相對于現(xiàn)有技術(shù)的眾多優(yōu) 點(diǎn)。然而,盡管本發(fā)明的實(shí)施例可以實(shí)現(xiàn)相對于其它可能的解決方案 和/或現(xiàn)有技術(shù)的優(yōu)點(diǎn),但是是否由給定的實(shí)施例獲得特定的優(yōu)點(diǎn)不 構(gòu)成對本發(fā)明的限制。因此,以下方面、特征、實(shí)施例和優(yōu)點(diǎn)僅是說 明性的,并且除非在權(quán)利要求中特別指出,否則不應(yīng)認(rèn)為是所附權(quán)利 要求的單元或限制。類似地,對"本發(fā)明"的引用不應(yīng)該解釋為此處 公開的任何發(fā)明主題的概括,并且除非在權(quán)利要求中特別指出,否則 不應(yīng)認(rèn)為是所附權(quán)利要求的單元或限制。本發(fā)明的 一 個實(shí)施例實(shí)現(xiàn)為用于與諸如下面描述的圖像處理系 統(tǒng)之類的計算機(jī)系統(tǒng)一起使用的程序產(chǎn)品。該程序產(chǎn)品的程序限定了 實(shí)施例的功能(包括此處描述的方法)并且可以包含在各種各樣的計算機(jī)可讀介質(zhì)上。示例性的計算機(jī)可讀介質(zhì)包括但不限于(i)永久 性地存儲在不可寫的存儲介質(zhì)(例如,計算機(jī)內(nèi)的只讀存儲器設(shè)備, 諸如可由CD-ROM驅(qū)動器讀取的CD-ROM盤)上的信息;(ii)存儲 在可寫的存儲介質(zhì)(例如,軟盤驅(qū)動器內(nèi)的軟盤或硬盤驅(qū)動器)上的 可更改的信息;以及(iii)通過通信介質(zhì),諸如通過計算機(jī)或電話網(wǎng) 絡(luò),傳送給計算機(jī)的信息,其中通信介質(zhì)包括無線通信。后一實(shí)施例 特別地包括從互聯(lián)網(wǎng)和其它網(wǎng)絡(luò)下載的信息。這樣的計算機(jī)可讀介 質(zhì),當(dāng)承載涉及本發(fā)明的功能的計算機(jī)可讀指令時,表示本發(fā)明的實(shí) 施例。一般而言,被執(zhí)行以實(shí)現(xiàn)本發(fā)明的實(shí)施例的例程可以是操作系統(tǒng) 的一部分或者是特定的應(yīng)用、組件、程序、模塊、對象或者指令序列。 本發(fā)明的計算機(jī)程序典型地包括多個指令,其將被本地計算機(jī)轉(zhuǎn)換成機(jī)器可讀的格式并且因此變?yōu)榭蓤?zhí)行的指令。同樣,程序包括變量和 數(shù)據(jù)結(jié)構(gòu),其要么本地地駐留在程序中,要么可以在存儲器中或在存 儲設(shè)備上找到。另外,可以基于此后描述的各種程序在本發(fā)明的特定 實(shí)施例中所針對的應(yīng)用來識別這些程序。然而,應(yīng)該明白以下的任何 具體的編程術(shù)語僅是為了方便而使用的,并且因此不應(yīng)將本發(fā)明限制 為僅用于由這樣的術(shù)語所標(biāo)識和/或暗示的任何特定的應(yīng)用。示例性多內(nèi)核處理單元圖1說明了根據(jù)本發(fā)明的一個實(shí)施例的多內(nèi)核處理單元100。多 內(nèi)核處理單元100包括多個基本吞吐量引擎105 (BTE)。 BTE 105 可以包含多個處理線程和內(nèi)核高速緩存(例如,Ll高速緩存)。位于 每個BTE內(nèi)的處理線程可以有權(quán)訪問共享的多內(nèi)核處理單元存儲器 高速緩存110(例如,共享的L2高速緩存)。BTE 105還可以有權(quán)訪問多個收件箱115。收件箱115可以是存 儲器映射的地址空間,這將在下文針對圖3進(jìn)行進(jìn)一步描述。收件箱 115可以被映射到位于每個BTE 105內(nèi)的處理線程。位于每個BTE 內(nèi)的每個線程可以具有存儲器映射的收件箱并且有權(quán)訪問所有的其 它存儲器映射的收件箱115。收件箱115構(gòu)成了供BTE 105使用的低 等待時間且高帶寬的通信網(wǎng)絡(luò)。BTE可以使用收件箱115作為網(wǎng)絡(luò)以和每個其它的BTE進(jìn)行通 信并且在各BTE上重新分配數(shù)據(jù)處理工作。對于某些實(shí)施例,在通 信網(wǎng)絡(luò)中可以使用單獨(dú)的發(fā)件箱,例如用來接收BTE 105的處理結(jié) 果。對于其它實(shí)施例,收件箱115還可以用作發(fā)件箱,例如,其中一 個BTE 105將處理功能的結(jié)果直接寫到將使用該結(jié)果的另一 BTE 105的收件箱中。圖像處理系統(tǒng)的總性能可能與BTE能夠多好地劃分和重新分配 工作緊密相關(guān)。收件箱115的網(wǎng)絡(luò)可以用于收集和分配工作到另外的 BTE,而不破壞具有無幀到幀一致性的BTE通信數(shù)據(jù)分組的共享多 內(nèi)核處理單元高速緩存110。可以呈現(xiàn)每幀數(shù)百萬個三角形的圖像處理系統(tǒng)可以包括以這種方式連接的多個BTE 105。在本發(fā)明的一個實(shí)施例中,一個BTE 105的線程可以被指定給工 作量管理器。圖像處理系統(tǒng)可以使用各種軟件和硬件組件來從三維場 景呈現(xiàn)二維圖像。如下面針對圖6進(jìn)一步描述的那樣,根據(jù)本發(fā)明的 一個實(shí)施例,圖像處理系統(tǒng)可以使用工作量管理器來用圖像處理系統(tǒng) 發(fā)出的射線遍歷空間索引??臻g索引可以實(shí)現(xiàn)為樹類型數(shù)據(jù)結(jié)構(gòu),用 于將相對較大的三維場景劃分成較小的有界體積(bounding volume ), 下文將針對圖4對空間索引進(jìn)行進(jìn)一步描述。使用射線跟蹤方法進(jìn)行 圖像處理的圖像處理系統(tǒng)可以使用空間索引來快速地確定射線-有界 體積相交。在本發(fā)明的一個實(shí)施例中,工作量管理器可以使用空間索 引來執(zhí)行射線-有界體積相交測試。在本發(fā)明的一個實(shí)施例中,多內(nèi)核處理器單元100上的多內(nèi)核處 理單元BTE 105的其它線程可以是矢量吞吐量引擎。在工作量管理 器確定射線-有界體積相交之后,工作量管理器可以經(jīng)由收件箱115 發(fā)出(發(fā)送)射線到多個矢量吞吐量引擎中的一個。根據(jù)本發(fā)明的一 個實(shí)施例,并且在下面將針對圖6進(jìn)行進(jìn)一步描述,于是矢量吞吐量 引擎可以確定射線是否與該有界體積內(nèi)包含的圖元相交。矢量吞吐量 引擎還可以執(zhí)行與確定射線經(jīng)過的像素的顏色相關(guān)的操作。圖2說明了才艮據(jù)本發(fā)明的一個實(shí)施例的多內(nèi)核處理單元的網(wǎng)絡(luò) 200。圖2還說明了本發(fā)明的一個實(shí)施例,其中多內(nèi)核處理單元100 的BTE之一的線程是工作量管理器205。根據(jù)本發(fā)明的一個實(shí)施例, 多內(nèi)核處理單元的網(wǎng)絡(luò)200中的每個多內(nèi)核處理單元220卜n可以包 含一個工作量管理器205n根據(jù)本發(fā)明的另一個實(shí)施例,多內(nèi)核處擎210。根據(jù)本發(fā)明的一個實(shí)施例,工作量管理器22(Vn可以使用高速 總線225,以與其它多內(nèi)核處理單元220的其它工作量管理器220卜N 和/或矢量吞吐量引擎210通信。每個矢量吞吐量引擎210可以使用 高速總線225來與工作量管理器205的其它矢量吞吐量引擎210通信。工作量管理器205可以使用高速總線225來收集圖像處理相關(guān)的 任務(wù)并且將其分配到其它工作量管理器205,和/或?qū)⑷蝿?wù)分配到其它 矢量吞吐量引擎210。使用高速總線225可以允許工作量管理器205^ 進(jìn)行通信,而不影響具有與工作量管理器205通信相關(guān)的數(shù)據(jù)分組的 高速緩存230。低等待時間的高帶寬通信網(wǎng)絡(luò)如上所述,圖像處理系統(tǒng)的總性能可能與BTE能夠多好地劃分 和重新分配工作緊密相關(guān)。根據(jù)本發(fā)明的一個實(shí)施例,高速緩存內(nèi)的 存儲器空間(稱為存儲器收件箱)可被用于將工作分配到單個處理器 線程。在使用多個處理器(每個均具有多個線程)的圖像處理系統(tǒng)中, 收件箱的集合可以被稱為低等待時間的高帶寬通信網(wǎng)絡(luò)。在諸如BTE 105之類的多線程處理器中,存儲器收件箱可以被指 定給給定線程(此處稱為所有者線程)。在本發(fā)明的一個實(shí)施例中, 用于收件箱的存儲器空間可以從共享存儲器高速緩存110排他地分 配給所有者線程。通過排他地將高速緩存中的存儲器空間指定給所有 者線程,所有者線程可以維持足夠的存儲器空間以高速緩存其自己的 指令和數(shù)據(jù),而不會使其它竟?fàn)幘€程置換所有者線程的指令和數(shù)據(jù)。因此,通過將所有者線程的數(shù)據(jù)和指令維持在指定的高速緩存的收件 箱部分并且減少在從高級別的存儲器獲取用于所有者線程的數(shù)據(jù)和 指令的同時停止所有者線程的可能性,存儲器收件箱可以改進(jìn)所有者 線程的執(zhí)行。此外,通過將高速緩存中的存儲器空間指定給所有者線 程,打算用于目標(biāo)線程的數(shù)據(jù)或指令可以僅存儲在分配給線程的收件 箱中。因此,打算用于目標(biāo)線程的數(shù)據(jù)或指令不存儲到整個共享存儲 器高速緩存110中,而是僅存儲在分配給目標(biāo)線程的收件箱中。此外,收件箱存儲器可以被其它線程使用以有效地與所有者線程 通信。例如,在另一線程具有要被提供給某個收件箱的所有者線程的 數(shù)據(jù)和/或指令的情況下,則該另一線程可以將數(shù)據(jù)和/或指令發(fā)送給 其中數(shù)據(jù)和/或指令可以被所有者線程獲取的收件箱。類似地,在某些情況下,所有者線程可以使用收件箱作為用于與其它線程交換信息 的發(fā)件箱。例如,為了與另一線程交換信息,所有者線程可以將信息 放在收件箱中并且向該另 一線程發(fā)送通知,表明數(shù)據(jù)和/或指令的位 置,由此允許該另一線程獲取信息。可選地,所有者線程可以直接將 信息提供給該另一線程的收件箱。因此,收件箱存儲器可以用于簡化 發(fā)送線程和接收線程之間的通信,同時防止供其它線程使用的數(shù)據(jù)和 /或指令的置換。圖3A是根據(jù)本發(fā)明的一個實(shí)施例的多內(nèi)核處理單元100中的存 儲器收件箱302...318的框圖。存儲器收件箱302...318的描述意指概 念視圖,并且因此不限于任何特定的物理配置。如所描述的,在每個 內(nèi)核(例如,BTE 105)中執(zhí)行的線程(例如,線程T0-T7)可以有 權(quán)經(jīng)由共享的L2高速緩存接口 322訪問共享的L2高速緩存110。此 外,共享的L2高速緩存接口 322還可供線程T0-T7使用以訪問對應(yīng) 的存儲器收件箱302…318。如上面所描述的,在某些情況下,每個 收件箱302…318可以被指定給對應(yīng)的線程T0-T7。因此,收件箱0 302 可以被指定給線程TO,并且以此類推。如下文將描述的,通過將給 定的收件箱指定給給定線程,可以不限制所有者線程對指定收件箱的 訪問,而可以限制其它線程的訪問。示例性限制將在下文進(jìn)行更具體 的描述。圖3B是描述從存儲器收件箱(例如,收件箱302…308 )和共享 的L2高速緩存IIO傳輸?shù)教幚韮?nèi)核(例如,BTE 105)以及從處理 內(nèi)核(例如,BTE 105)傳送到存儲器收件箱(例如,收件箱302… 308 )和共享的L2高速緩存110的數(shù)據(jù)路徑的框圖。如上文所描述的, 存儲器收件箱302…308和共享的L2高速緩存110可以經(jīng)由共享的 L2高速緩存接口 322進(jìn)行訪問。在BTE 105中執(zhí)行的線程從收件箱 302…308或從共享的L2高速緩存IIO獲取數(shù)據(jù)的情況下,所獲取的 數(shù)據(jù)可以放置在用于BTE 105的Ll高速緩存312中。用于該線程的 指令可以從發(fā)出單元332發(fā)出。在某些情況下,BTE105可以被配置 為同時執(zhí)行多個線程。因此,發(fā)出單元332可以被配置為發(fā)出用于多個線程的指令。在某些情況下,BTE 105可以提供多個執(zhí)行單元 334…338,其可以用于在BTE 105中同時執(zhí)行線程。執(zhí)行單元 334…338可以包括定點(diǎn)執(zhí)行單元334、浮點(diǎn)執(zhí)行單元336和分支執(zhí)行 單元338。在某些情況下,線程可以更新或產(chǎn)生(例如,由同一線程或由另 一線程)稍后要訪問的數(shù)據(jù)。在被更新的數(shù)據(jù)將稍后被訪問的情況下, 線程可以將更新的數(shù)據(jù)放置在Ll高速緩存312中。此外,在期望的 情況下,更新的數(shù)據(jù)可以被放置在L2高速緩存110或收件箱302... 308中,以便經(jīng)由共享的L2高速緩存接口 322更新線程。在某些情 況下,如前面所描述的,經(jīng)由共享的L2高速緩存接口 322直接訪問 給定收件箱(例如,收件箱0 302)可以限于擁有該給定收件箱的線 程(例如線程T0)。在本發(fā)明的 一 個實(shí)施例中,存儲器收件箱內(nèi)的存儲器空間可以被 映射到全局存儲器地址(例如,包括L1高速緩存312、 L2高速緩存局存儲器地址來訪問給定的存儲器收件箱)。因此,在本發(fā)明的一個 實(shí)施例中,為了訪問收件箱存儲器空間,所有者線程可以僅將期望的 信息讀取或?qū)懭氲綄?yīng)于收件箱存儲器空間的全局存儲器地址。不擁 有存儲器收件箱并且試圖經(jīng)由全局存儲器地址直接訪問收件箱的線 程可能被拒絕訪問收件箱。相反,可以提供其它形式的訪問給其它不 擁有存儲器收件箱的線程,例如,經(jīng)由發(fā)送給收件箱的打包消息。同樣,在本發(fā)明的一個實(shí)施例中,存儲在存儲器收件箱中的信息 可能不是可高速緩存的。例如,當(dāng)Ll高速緩存312、 L2高速緩存110 和其它存儲器級別中的信息可以由多內(nèi)核處理單元100自動高速緩 存時,從而從給定存儲器地址請求的信息在#:訪問時可以自動從主存 儲器讀取并且保存在高速緩存級別312、 110之一中。相比而言,給存儲器層級的不同級別(例如,主存儲器、共享的L2高速緩存存儲 器110或L1高速緩存存儲器)之間移動,并且無需復(fù)制到收件箱外部的新的地址空間。因此,所有者線程對收件箱的訪問可以針對收件 箱存儲器被直接且快速地執(zhí)行,而不需等待從存儲器層級的另 一級別 讀取信息和/或在讀取期間進(jìn)行轉(zhuǎn)換。收件箱存儲器的不可高速緩存 性還可以應(yīng)用到下文描述的對收件箱的打包訪問中。此外,在本發(fā)明的替代性實(shí)施例中,存儲在收件箱中的信息可以被高速緩存在存儲器 層級的其它級別中。對存儲器收件箱的指定在本發(fā)明的 一 個實(shí)施例中,存儲器收件箱可以從共享的存儲器高速緩存110來提供(例如,L2高速緩存110的一部分可以保留用于 收件箱存儲器115。)圖3C是描述根據(jù)本發(fā)明的一個實(shí)施例的從共享 的L2高速緩存UO劃分出的收件箱存儲器115的框圖。如所描述的,每個收件箱302、 304等的大小和位置可以由收件 箱控制寄存器340控制。每個收件箱302、 304等的狀態(tài)(例如,啟 用和禁用)可以經(jīng)由收件箱狀態(tài)寄存器362來表明和/或修改。在一 個實(shí)施例中,對收件箱控制寄存器340的訪問可以是無限制的??蛇x 地,在某些情況中,對收件箱控制寄存器的訪問可以是受限的,例如, 限于被許可的線程的子集(例如,所有者線程、所有者線程的父線程、 特別指派的控制線程、以及/或者操作系統(tǒng)核心線程)。在一個實(shí)施例 中,收件箱控制寄存器340可以包括開始地址寄存器342、 M8…354, 大小寄存器344、 350...356和所有者線程標(biāo)識寄存器346、 352…358。在一個實(shí)施例中,開始地址寄存器342、 348…354可以表明每個 收件箱302、 304等的開始地址。大小寄存器344、 350…358可以表 明對應(yīng)的收件箱302、 304等的大小。用于收件箱的存儲器空間可以 因此占用從對應(yīng)的開始地址開始且范圍為所表明的收件箱大小的每 個地址。該大小可以以任意方式來表明,例如,作為以字節(jié)為單位的 絕對大小或者作為固定大小的整數(shù)倍數(shù)(例如,大小寄存器344、 350...358中的大小可以表明以千字節(jié)為單位的大小)。在一個實(shí)施例中,所有者線程標(biāo)識寄存器346、 352…358可以標(biāo)識哪個線程(例如,線程T0、 Tl...TN)擁有給定的收件箱302、 304 等。盡管針對線程和對應(yīng)的收件箱1、 2...N進(jìn)行了描述,但是本發(fā)字、地址等)。在本發(fā)明的一個實(shí)施例中,收件箱標(biāo)識符寄存器可以 用于將對對應(yīng)的收件箱內(nèi)的存儲器地址的直接訪問限于所有者線程。 在某些情況中,還可以允許有限選擇的其它線程進(jìn)行直接訪問,例如 所有者線程的父線程、特定的控制線程和/或操作系統(tǒng)核心線程。在 一個實(shí)施例中,可以使用訪問控制電路360來提供受限的訪問。通過將共享的存儲器高速緩存110的部分指定給收件箱,可以形 成低等待時間的高帶寬通信網(wǎng)絡(luò)。共享的存儲器高速緩存110的剩余 部分可以保持不指定并且因此可用于存儲與處理線程間通信無關(guān)的 信息。共享的存儲器高速緩存110的剩余部分可用于存儲被圖像處理 系統(tǒng)用來執(zhí)行射線跟蹤(下面將參考圖5進(jìn)一步說明)的幾何特性和 數(shù)據(jù)結(jié)構(gòu)。器高速緩存110的剩余部分來存儲幾何特性和數(shù)據(jù)結(jié)構(gòu)的好處在于 無論有多少通信相關(guān)的信息傳到收件箱,都不會消耗整個的存儲器高 速緩存。因此,如下面將進(jìn)一步描述的,通信相關(guān)的信息將不會置換 存儲在共享的存儲器高速緩存no的剩余部分內(nèi)的幾何特性和數(shù)據(jù)結(jié)構(gòu)。由此,在跟蹤隨后的射線或者呈現(xiàn)隨后的幀時可能被重用的數(shù) 據(jù)(對象幾何特性和數(shù)據(jù)結(jié)構(gòu))可以保留在高速緩存中,而在跟蹤隨 后的射線或者呈現(xiàn)隨后的幀時不可能被重用的數(shù)據(jù)(數(shù)據(jù)處理工作) 將不保留在高速緩存中。示例性三維場景圖4是要由圖像處理系統(tǒng)呈現(xiàn)的示例性三維場景405。在三維場 景405內(nèi)可以是對象420。圖4中的對象420具有不同的幾何形狀。 盡管在圖4中僅示出了 4個對象420,但是典型的三維場景中的對象 數(shù)目可以更多或者更少。通常,三維場景將具有比圖4中示出的更多的對象。如從圖4中可以看出的,對象具有變化的幾何形狀和大小。例如,圖4中的一個對象是金字塔420A。圖4中的其他對象是盒子420B.D。 在很多現(xiàn)代的圖像處理系統(tǒng)中,對象通常被分解成較小的幾何形狀 (例如,正方形、圓形、三角形等)。于是,較大的對象由多個較小 的簡單的幾何形狀進(jìn)行表示。這些較小的幾何形狀通常被稱為圖元。在場景405中還說明了光源425A.B。光源可以照亮位于場景405 中的對象420。此外,取決于光源425和對象420在場景405中的位 置,光源可以使得陰影投在場景405中的對象上。三維場景405可以由圖像處理系統(tǒng)呈現(xiàn)在二維畫面中。圖像處理 系統(tǒng)還可以使得二維畫面顯示在顯示器410上。顯示器410可以使用 不同顏色的多個像素430來呈現(xiàn)最終的二維畫面。圖像處理系統(tǒng)用于將三維場景420呈現(xiàn)到二維畫面中的一種方 法被稱為射線跟蹤。射線跟蹤通過圖像處理系統(tǒng)從觀看者415的角度 "發(fā)出,,或"射出,,射線到三維場景420中來實(shí)現(xiàn)。該射線具有與光 線類似的特性和行為。在圖4中可以看到一條射線440,其源自觀看者415的位置并且 行進(jìn)經(jīng)過三維場景405。當(dāng)射線440從觀看者415向三維場景405行 進(jìn)時,射線440通過其中圖像處理系統(tǒng)將呈現(xiàn)最終二維畫面的平面。 在圖4中,該平面由顯示器410表示。射線440通過平面或顯示器 410的點(diǎn)由像素435來表示。如前面簡單描述的那樣,多數(shù)圖像處理系統(tǒng)使用數(shù)千個(或者數(shù)百萬個)像素的柵格430 (幀)來在顯示器410上呈現(xiàn)最終場景。每 個個體像素可以顯示不同的顏色以在顯示器410上呈現(xiàn)最終的合成 二維畫面。使用射線跟蹤圖像處理方法從三維場景呈現(xiàn)二維畫面的圖 像處理系統(tǒng)將計算發(fā)出的一條或多條射線在三維場景中碰到的顏色。 于是,圖像處理系統(tǒng)將該射線碰到的顏色指定給射線在其從觀看者到 三維場景的路徑上經(jīng)過的像素。每像素發(fā)出的射線的數(shù)目可以變化。 一些像素可以具有發(fā)出的多條射線,以便呈現(xiàn)特定的場景。在該情況下,像素的最終顏色由來自 該像素發(fā)出的所有射線的每個顏色貢獻(xiàn)來確定。其他像素可以僅具有 發(fā)出的單個射線以確定二維畫面中的像素的所得顏色。 一些像素可以 不具有任何圖像處理系統(tǒng)發(fā)出的射線,在該情況下它們的顏色可以由 圖像處理系統(tǒng)內(nèi)的算法進(jìn)行確定、近似或者指定。為了確定二維畫面中的^象素435的最終顏色,圖^象處理系統(tǒng)必須 確定射線440是否與場景內(nèi)的對象相交。如果射線沒有與場景內(nèi)的對 象相交,其可以被指定默認(rèn)的背景顏色(例如,藍(lán)色或黑色,表示白 天或黑夜的天空)。相反地,當(dāng)射線440行進(jìn)經(jīng)過三維場景時,射線 440可能撞擊對象。當(dāng)射線撞擊場景內(nèi)的對象時,可以將對象的顏色 指定給射線經(jīng)過的像素。然而,對象的顏色在其被指定到像素之前必 須一皮確定。多種因素可能對原始射線440所撞擊的對象的顏色做出貢獻(xiàn)。例 如,三維場景內(nèi)的光源可以照亮對象。此外,對象的物理特性可以對 對象的顏色做出貢獻(xiàn)。例如,如果對象具有反射性或者是透明的,則 其他的非光源對象可以對對象的顏色做出貢獻(xiàn)。為了確定來自三維場景內(nèi)的其他對象的影響,可以從原始射線 440與對象的交點(diǎn)發(fā)出輔助射線。例如, 一種類型的輔助射線可以是 陰影射線??梢允褂藐幱吧渚€來確定到原始射線440與對象的交點(diǎn)的 光的貢獻(xiàn)。另一種類型的輔助射線可以是透射射線。可以使用透射射 線來確定哪種顏色或者光可以透射經(jīng)過對象體。此外,第三種類型的 輔助射線可以是反射射線??梢允褂梅瓷渖渚€來確定哪種顏色或光可 以反射到對象上。如上所述, 一種類型的輔助射線可以是陰影射線。每個陰影射線 可以被從原始射線和對象的交點(diǎn)跟蹤到三維場景405內(nèi)的光源。如果 射線到達(dá)光源且在到達(dá)光源之前沒有碰到另外的對象,則光源將照亮 在原始射線撞擊對象的點(diǎn)處原始射線所撞擊的對象。例如,陰影射線44U可以從原始射線440與對象42(U的交點(diǎn)處 發(fā)出,并且可以在朝著光源425a的方向上行迸。陰影射線44U到達(dá)光源425A而沒有碰到場景405內(nèi)的任何其他對象420。由此,光源 425A將照亮在原始射線440與對象42(U的交點(diǎn)處的對象420A。其他陰影射線可以具有其自己的在原始射線撞擊對象的點(diǎn)與被 三維場景內(nèi)的其他對象阻擋的光源之間的路徑。如果阻擋在原始射線 撞擊在對象上的點(diǎn)與光源之間的路徑的對象是不透明的,則光源將不 照亮在原始射線撞擊對象的點(diǎn)處的對象。因此,光源可能不對原始射 線的顏色做出貢獻(xiàn),并且因此也不對將在二維畫面上呈現(xiàn)的像素的顏 色做出貢獻(xiàn)。然而,如果該對象是半透明的或透明的,則光源可以照 亮在原始射線撞擊對象的點(diǎn)處的對象。例如,陰影射線441s可以從原始射線440與對象420A的交點(diǎn)處 發(fā)出,并且可以在朝著光源425B的方向上行進(jìn)。在該例子中,陰影 射線44U的路徑被對象420D阻擋。如果對象420o是不透明的,則光 源425s將不照亮在原始射線440與對象420A的交點(diǎn)處的對象420八。 然而,如果對象420D對于陰影射線是半透明的或透明的,則光源425B 可以照亮在原始射線440與對象420A的交點(diǎn)處的對象420A。另一種類型的輔助射線是透射射線。如果與原始射線相交的對象 具有半透明的或者透明的屬性(例如,玻璃),則可以由圖像處理系 統(tǒng)發(fā)出透射射線。透射射線相對于原始射線撞擊對象的角度以一個角 度來行進(jìn)經(jīng)過該對象。例如,觀察到透射射線444行進(jìn)經(jīng)過與原始射 線440相交的對象420A 。另一種類型的輔助射線是反射射線。如果與原始射線相交的對象 具有反射屬性(例如,金屬涂層),則可以由圖像處理系統(tǒng)發(fā)出反射 射線以確定哪種顏色或者光可能被對象反射。反射射線相對于原始射 線和對象相交的角度以一個角度從該對象穿出。例如,反射射線443 可以由圖像處理系統(tǒng)發(fā)出以確定哪種顏色或者光可能被與原始射線 440相交的對象420A反射。所有輔助射線(例如,陰影射線、透射射線、反射射線等)的顏 色和光的總貢獻(xiàn)將產(chǎn)生原始射線經(jīng)過的像素的最終顏色。示例性的Kd - Tree當(dāng)執(zhí)行射線跟蹤時,碰到的一個問題是快速且有效地確定發(fā)出的 射線是否與要呈現(xiàn)的場景內(nèi)的任何對象相交。本領(lǐng)域的普通技術(shù)人員 已知的一種使得射線相交確定更加有效的方法是使用空間索引??臻g 索引將三維場景或世界分成較小的體積(相對于整個三維場景較小), 這些較小的體積可以包含圖元也可以不包括圖元。于是,圖像處理系 統(tǒng)可以使用這些較小體積的已知邊界來確定射線是否可能與包含在 較小的體積內(nèi)的圖元相交。如果射線與包含圖元的體積相交,則可以 相對于該體積內(nèi)包含的圖元的已知位置和維度,使用射線的軌跡來運(yùn) 行射線相交測試。如果射線不與特定的體積相交,則不需要相對于該 體積內(nèi)包含的圖元來運(yùn)行射線-圖元相交測試。此外,如果射線與不 包含圖元的有界體積相交,則不需要相對于該有界體積運(yùn)行射線-圖 元相交測試。因此,通過減少可能是必要的射線-圖元相交測試的數(shù) 目,空間索引的使用極大地提高了射線跟蹤圖像處理系統(tǒng)的性能。不 同的空間索引加速數(shù)據(jù)結(jié)構(gòu)的一些例子是八叉樹、k維樹(kd - Tree ) 以及二進(jìn)制空間劃分樹(BSP樹)。盡管存在若干不同的空間索引結(jié) 構(gòu),但是為了易于描述本發(fā)明的實(shí)施例,在下面的例子中將使用 kd-tree。然而,本領(lǐng)域的普通技術(shù)人員將容易認(rèn)識到本發(fā)明的實(shí)施例 可以應(yīng)用到任何不同類型的空間索引。kd-tree使用軸線校準(zhǔn)的有界體積來將整個場景或空間劃分成較小 的體積。也就是說,kd-tree可以通過使用平行于已知軸的分割平面來細(xì) 分場景所包含的三維空間。分割平面將較大的空間劃分成較小的有界體 積。較小的有界體積一起組成了場景中的整個空間。將較大的有界體積 劃分(細(xì)分)成兩個較小的有界體積的確定可以由圖像處理系統(tǒng)通過 使用kd-tree構(gòu)造算法來做出。用于確定何時將有界體積劃分成較小的體積的 一個標(biāo)準(zhǔn)可以是 有界體積內(nèi)包含的圖元的數(shù)目。也就是說,只要有界體積包含多于預(yù)定閾值的圖元,則可以繼續(xù)樹構(gòu)造算法來通過畫出多個分割平面來細(xì) 分體積。用于確定何時將有界體積劃分成較小的體積的另 一個標(biāo)準(zhǔn)可以是有界體積內(nèi)包含的空間量。此外,繼續(xù)劃分有界體積的決定還可 以基于創(chuàng)建有界體積的平面可以與多少圖元相交。對場景的劃分可以通過由節(jié)點(diǎn)、分支和葉子構(gòu)成的二叉樹結(jié)構(gòu)來 表示。樹內(nèi)的每個內(nèi)部節(jié)點(diǎn)可以表示相對較大的有界體積,而節(jié)點(diǎn)可 以包含到子節(jié)點(diǎn)的分支,子節(jié)點(diǎn)可以表示在由分割平面劃分了相對較 大的有界體積之后所得的兩個相對較小的分塊體積。在軸線校準(zhǔn)的kd-tree中,每個內(nèi)部節(jié)點(diǎn)可以僅包含兩個到其他節(jié)點(diǎn)的分支。內(nèi)部節(jié) 點(diǎn)可以包含到一個或兩個葉子節(jié)點(diǎn)的分支(即,指針)。葉子節(jié)點(diǎn)是 不再進(jìn)一 步細(xì)分到更小的體積并且包含到圖元的指針的節(jié)點(diǎn)。內(nèi)部節(jié) 點(diǎn)還可以包含到其他被進(jìn)一步細(xì)分的內(nèi)部節(jié)點(diǎn)的分支。內(nèi)部節(jié)點(diǎn)還可 以包含用于確定沿著哪個軸畫出分割平面以及沿著軸的哪里畫出分 割平面所需的信息。示例性的有界體積圖5A-5C說明了將由圖像處理系統(tǒng)和對應(yīng)的kd-tree呈現(xiàn)的二維 空間。為了筒單起見,使用二維場景來說明kd-tree的構(gòu)建,然而kd-tree 還可以用于表示三維場景。在圖5A-5C的二維說明中,示出了分割 線,而不是在三維結(jié)構(gòu)中將使用的分割平面,并且示出了有界區(qū)域而 不是在三維結(jié)構(gòu)中將使用的有界體積。然而,本領(lǐng)域的普通技術(shù)人員 將很快認(rèn)識到這些概念可以容易地應(yīng)用到包含對象的三維場景。圖5A說明了將在顯示器510上顯示的最終畫面中呈現(xiàn)的包含圖 元510的二維場景505。表示場景的整個體積的最大體積是由有界體 積1 (BV。所包圍的。在對應(yīng)的kd-tree中,這可以通過頂層節(jié)點(diǎn)550 (也稱為根節(jié)點(diǎn)或世界節(jié)點(diǎn))來表示。在圖像處理系統(tǒng)的一個實(shí)施例 中,當(dāng)有界體積包含例如多于兩個的圖元時,圖像處理系統(tǒng)可以繼續(xù) 將有界體積劃分成較小的有界體積。如先前所述,繼續(xù)將有界體積劃 分成較小的有界體積的決定可以基于很多因素,然而為了易于說明, 在本例子中,繼續(xù)劃分有界體積的決定僅基于圖元的數(shù)目。如從圖 5A可以看出的,包含六個圖元,因此kd-tree構(gòu)造算法可以將BV!劃分成較小的有界體積。圖5B說明了與圖5A中說明的相同的二維場景505。然而,在圖 5B中,樹構(gòu)造算法已將BVi劃分成兩個較小的有界體積BV2和BV3。 對BVi的劃分通過在點(diǎn)Xl處沿著x軸畫出分割平面SP! 515來實(shí)現(xiàn)。 對BV1的這種劃分也在kd-tree中反映為在內(nèi)部節(jié)點(diǎn)或父節(jié)點(diǎn)BVi 550之下的兩個節(jié)點(diǎn)555和560,分別對應(yīng)于BV2和BV3。表示BVi 的內(nèi)部節(jié)點(diǎn)現(xiàn)在可以存儲沿著哪個軸畫出分割平面(即,x軸)以及沿著軸的哪里畫出分割平面(即,在點(diǎn)x,處)所需的信息,諸如但 不限于指向在BV以下的兩個節(jié)點(diǎn)(例如,BV2和BV3)的指針。kd-tree構(gòu)造算法可以繼續(xù)劃分有界體積BV3,因?yàn)槠浒嘤陬A(yù) 定閾值的圖元(例如,多于兩個圖元)。然而,kd-tree構(gòu)造算法可以 不繼續(xù)劃分有界體積BV2,因?yàn)橛薪珞w積BV2包含少于或等于預(yù)定閾 值的圖元(例如,僅兩個圖元510"。不再進(jìn)一步劃分或細(xì)分的節(jié)點(diǎn) (諸如BV2)被稱為葉子節(jié)點(diǎn)。圖5C說明了與圖5B中說明的相同的二維場景505。然而,在圖 5C中,kd-tree構(gòu)造算法已將BV3劃分成兩個較小的有界體積BV4和 BV5。 kd-tree構(gòu)造算法已經(jīng)使用在點(diǎn)yi處的沿著y軸的劃分平面劃分 了 BV3。因?yàn)锽V3已經(jīng)被劃分成兩個子節(jié)點(diǎn),所以其現(xiàn)在可以被稱為 內(nèi)部節(jié)點(diǎn)。對BV3的劃分也在kd-tree中反映為兩個葉子節(jié)點(diǎn)565和 570,分別對應(yīng)于BV4和BV5。 BV4和BVs是葉子節(jié)點(diǎn),因?yàn)樗鼈儽?示的體積不被進(jìn)一步劃分成較小的有界體積。兩個葉子節(jié)點(diǎn)BV4和 BVs位于內(nèi)部節(jié)點(diǎn)BV3的下面,BV3表示在kd-tree中被劃分的有界 體積。表示BV3的內(nèi)部節(jié)點(diǎn)可以存儲沿著哪個軸畫出分割平面(即,y 軸)以及沿著軸的哪里畫出分割平面(即,在點(diǎn)yt處)所需的信息, 諸如但不限于指向兩個葉子節(jié)點(diǎn)(即,BV4和BVs)的指針。kd-tree構(gòu)造算法現(xiàn)在可以停止劃分有界體積,因?yàn)槲挥趫鼍皟?nèi)的 所有的有界體積包含少于或等于可被包圍在有界體積內(nèi)的最大預(yù)定 數(shù)目的圖元。葉子節(jié)點(diǎn)可以包含指向被包圍在每個葉子節(jié)點(diǎn)表示的有界體積內(nèi)的圖元的指針。例如,葉子節(jié)點(diǎn)BV2可以包含指向圖元510A的指針,葉子節(jié)點(diǎn)BV4可以包含指向圖元510b的指針,而葉子節(jié)點(diǎn) BVs可以包含指向圖元510c的指針。所得的kd-tree結(jié)構(gòu)或者其他空間索引結(jié)構(gòu),可以被存儲在共享 的存儲器高速緩存110中。kd-tree和對應(yīng)的包括kd-tree的數(shù)據(jù)的大 小可以針對共享的存儲器高速緩存110的存儲而被進(jìn)行最優(yōu)化。迭代射線跟蹤算法根據(jù)本發(fā)明的 一個實(shí)施例,將射線跟蹤算法從遞歸算法轉(zhuǎn)換成迭 代算法可以使得能夠在多個處理單元之間有效地分布與射線跟蹤有 關(guān)的工作量。與遞歸的射線跟蹤算法不同,迭代的射線跟蹤算法可以 允許單獨(dú)的處理單元執(zhí)行與確定單個像素的顏色有關(guān)的操作并且允 許有效地使用處理器資源(例如,存儲器高速緩存)。在多個處理單 元之間有效地分布工作量可以提高射線跟蹤圖像處理系統(tǒng)的性能。一種用于執(zhí)行射線跟蹤的算法在下列意義上可以是遞歸的其發(fā) 出原始射線到三維場景中并且在發(fā)出后續(xù)的原始射線到三維場景中 之前完成與發(fā)出的原始射線相關(guān)的所有射線跟蹤搡作(例如,跟蹤所 有的輔助射線和執(zhí)行所有的射線-對象相交測試)。例如,圖像處理系統(tǒng)可以使用遞歸的射線跟蹤算法來從三維場景 呈現(xiàn)二維圖像。使用遞歸的射線跟蹤算法的圖像處理系統(tǒng)可以使用處 理單元來執(zhí)行射線跟蹤。處理器可被用于將射線行進(jìn)經(jīng)過空間索引, 并且確定射線是否與空間索引的有界體積內(nèi)的任何對象相交。如果射 線與有界體積內(nèi)包含的對象相交,則圖像處理系統(tǒng)(使用同一處理器)可以發(fā)出輔助射線到三維場景以確定它們是否與任何對象相交,并且 因此對與原始射線相交的對象的顏色做出貢獻(xiàn)。當(dāng)執(zhí)行與確定輔助射 線是否與三維場景內(nèi)的對象相交的確定有關(guān)的操作時,處理器可以在 處理器的存儲器高速緩存中存儲用于限定原始射線的信息。如果處理單元確定輔助射線與三維場景內(nèi)的對象相交,則圖像處 理系統(tǒng)可以發(fā)出更多的輔助射線到場景中以確定那些輔助射線是否與對象相交并且對與原始射線相交的對象的顏色做出貢獻(xiàn)。當(dāng)執(zhí)行用 于確定輔助射線是否與三維場景內(nèi)的對象相交的計算時,處理器可以 在處理器的存儲器高速緩存中存儲以前的輔助射線信息。通過發(fā)出越 來越多的輔助射線到場景中,圖像處理系統(tǒng)可以最終確定來自輔助射 線的對與原始射線相交的對象的顏色的總貢獻(xiàn)。根據(jù)與原始射線相交 的對象的顏色和由輔助射線作出的顏色貢獻(xiàn),可以最終確定原始射線 經(jīng)過的像素的顏色。盡管遞歸的射線跟蹤算法確定了原始射線經(jīng)過的像素的顏色,但 在每次圖像處理系統(tǒng)發(fā)出更多的輔助射線到三維場景中時,遞歸的射 線跟蹤圖像處理系統(tǒng)將限定了以前的射線(例如,原始射線或以前的 輔助射線)的信息放置到處理單元的存儲器高速緩存中。圖像處理系 統(tǒng)可以將射線信息存儲在高速緩存中,以便釋放執(zhí)行與確定后續(xù)的輔 助射線是否與三維場景內(nèi)的對象相交有關(guān)的計算所需的寄存器。因 此,針對單個的像素,遞歸的射線跟蹤圖像處理系統(tǒng)可以將大量的(與 高速緩存的大小相關(guān))信息放置到處理器存儲器高速緩存中。通過將大量的射線信息存儲在處理器的存儲器高速緩存中,在處 理器的存儲器高速緩存中只有很少的空間或者沒有空間用于限定三 維場景內(nèi)的對象的信息(即,對象幾何數(shù)據(jù))。該信息可能需要頻繁 地從主存儲器讀取到存儲器高速緩存中以便執(zhí)行用于確定原始射線 或輔助射線是否與三維場景內(nèi)的對象相交的操作(由此,發(fā)生高速緩存"沖突,,(trashing))。因此,使用遞歸的射線跟蹤技術(shù)的圖像處理 系統(tǒng)的限制可能受到從主存儲器中讀取信息以及將其放置在處理器 的存儲器高速緩存中的訪問時間的限制。然而,根據(jù)本發(fā)明的實(shí)施例,射線跟蹤算法可以被劃分成迭代的射線跟蹤算法。迭代的射線跟蹤算法可以允許單獨(dú)的處理單元執(zhí)行射 線跟蹤算法的各部分。通過允許單獨(dú)的處理單元執(zhí)行射線跟蹤算法的 各部分,可以減少需要高速緩存的信息量(例如,原始射線和輔助射 線)。此外,根據(jù)本發(fā)明的實(shí)施例,迭代的射線跟蹤算法可以結(jié)合低 等待時間高帶寬通信網(wǎng)絡(luò)和共享的存儲器高速緩存iio—起使用,以便提高射線跟蹤圖像處理系統(tǒng)的性能。根據(jù)本發(fā)明的實(shí)施例,如上面針對圖3A-3C所描述的,收件箱 的低等待時間高帶寬通信網(wǎng)絡(luò)可以用于傳遞或發(fā)送數(shù)據(jù)處理信息(例 如,限定原始射線和輔助射線的信息),這些信息在跟蹤后續(xù)的射線 或者呈現(xiàn)后續(xù)幀時很少使用。另外,根據(jù)本發(fā)明的實(shí)施例,射線跟蹤 圖像處理系統(tǒng)可以使用共享的一致存儲器高速緩存來存儲在跟蹤后 續(xù)的射線或者執(zhí)行針對后續(xù)幀的射線跟蹤時可能被圖像處理系統(tǒng)使 用的信息。圖6是說明根據(jù)本發(fā)明的一個實(shí)施例的可以用在多處理器圖像 處理系統(tǒng)中的分塊的并且因此迭代的射線跟蹤算法或方法600的流 程圖。方法600開始于步驟605,在該步驟中圖像處理系統(tǒng)發(fā)出原始 射線到三維場景。原始射線在其行進(jìn)到三維場景中時可以經(jīng)過像素。 原始射線可以用于確定原始射線經(jīng)過的像素的顏色。接著,在步驟610處,圖像處理系統(tǒng)可以使用工作量管理器205 處理單元來遍歷(traverse)空間索引(例如,kd-tree )??臻g索引可 以被存儲在圖像處理系統(tǒng)的共享的存儲器高速緩存110內(nèi)。遍歷 kd-tree可以包括執(zhí)行確定原始射線是否與由空間索引內(nèi)的節(jié)點(diǎn)限定 的有界體積相交的計算。此外,遍歷空間索引可以包括選取到限定了 與射線相交的有界體積的節(jié)點(diǎn)的分支。工作量管理器205可以使用坐 標(biāo)和發(fā)出的射線(例如,原始射線)的軌跡來確定射線是否與空間索 引中的節(jié)點(diǎn)限定的有界體積相交。工作量管理器205可以繼續(xù)遍歷空 間索引,直到原始射線與僅包含圖元的有界體積(即,葉子節(jié)點(diǎn))相 叉。在步驟615處,在工作量管理器205已經(jīng)使得原始射線遍歷到葉 子節(jié)點(diǎn)之后,工作量管理器205可以將原始射線和限定葉子節(jié)點(diǎn)的信 息發(fā)送給矢量吞吐量引擎210。工作量管理器205可以將限定原始射 線和葉子節(jié)點(diǎn)的信息(例如,射線的軌跡、原始射線經(jīng)過的像素、葉子節(jié)點(diǎn)限定的有界體積等)發(fā)送給矢量吞吐量引擎210。工作量管理 器205可以通過將限定射線和相交葉子節(jié)點(diǎn)的信息寫入矢量吞吐量引擎210的收件箱來將信息發(fā)送給矢量吞吐量引擎210。通過將像素信息與限定原始射線的信息相耦合,在矢量吞吐量引 擎210確定射線與對象相交并且因此確定像素的顏色的情況下將不 需要將原始射線發(fā)送回工作量管理器205。根據(jù)本發(fā)明的一個實(shí)施 例,矢量吞吐量引擎210可以使用像素信息從而通過對對應(yīng)于像素的 幀緩沖器內(nèi)的存儲器位置進(jìn)行寫入(例如,存儲在共享的存儲器高速 緩存110中)來更新像素的顏色。通過在輔助射線與三維場景內(nèi)的對 象相交時更新像素顏色,可以減少需要存儲(例如,在高速緩存存儲 器中)的與同一像素相關(guān)的射線的數(shù)目。在工作量管理器205向矢量吞吐量引擎210發(fā)送原始射線信息之 后,圖像處理系統(tǒng)可以發(fā)出后續(xù)的原始射線到三維場景。在工作量管 理器205已經(jīng)將原始射線發(fā)送給矢量吞吐量引擎210之后,工作量管 理器205可以立即開始使得該后續(xù)發(fā)出的原始射線遍歷空間索引。因 此,工作量管理器205可以使得射線連續(xù)地遍歷空間索引,而不是如 在遞歸的射線跟蹤算法中那樣等待直到完成關(guān)于原始射線是否與對 象相交的確定。此外,工作量管理器205可以在矢量吞吐量引擎210 確定以前發(fā)出的射線是否與葉子節(jié)點(diǎn)限定的有界體積內(nèi)的對象相交 時使得射線連續(xù)地遍歷空間索引。根據(jù)本發(fā)明的一個實(shí)施例,矢量吞 吐量引擎210可以負(fù)責(zé)執(zhí)行射線-圖元相交測試。也就是說,矢量吞 吐量引擎210可以確定射線是否與葉子節(jié)點(diǎn)限定的有界體積內(nèi)包含 的4壬4可圖元相交。由此,在步驟620,在其收件箱中接收射線和葉子節(jié)點(diǎn)信息的矢 量吞吐量引擎210可以執(zhí)行射線-圖元相交測試以確定射線是否與 葉子節(jié)點(diǎn)限定的有界體積內(nèi)的任何圖元相交。限定圖元的幾何特性可 以存儲在共享的存儲器高速緩存110中,并且因此可以不需要從主存 儲器讀取幾何特性。通過在共享的存儲器高速緩存110中存儲圖元的 幾何特性,迭代的射線跟蹤算法可以不需要像在遞歸的射線跟蹤算法 中那樣從主存儲器讀取幾何特性。如果矢量吞吐量引擎210確定原始 射線與葉子節(jié)點(diǎn)限定的有界體積內(nèi)包含的圖元相交,則矢量吞吐量弓1擎210可以前進(jìn)到步驟630。在步驟630處,矢量吞吐量引擎210可以確定在原始射線與圖元 的交點(diǎn)處的相交圖元的顏色。例如,圖元的顏色可以存儲在共享的存 儲器高速緩存110中并且矢量吞吐量引擎210可以從共享的存儲器高 速緩存210中讀取顏色信息。在確定在射線-圖元交點(diǎn)處的圖元的顏色之后,矢量吞吐量引擎 210可以更新射線所經(jīng)過的像素的顏色。這可以例如通過對對應(yīng)于原 始射線所經(jīng)過的像素的幀緩沖器內(nèi)的存儲器位置進(jìn)行寫入來實(shí)現(xiàn)。通 過在確定射線-圖元相交時并且在確定與原始射線相關(guān)的所有輔助 射線的顏色貢獻(xiàn)之前更新像素信息,可以減少需要存儲在存儲器高速 緩存中的信息量。相比而言,在遞歸的射線跟蹤算法中,可能直到已 經(jīng)確定來自輔助射線的所有顏色貢獻(xiàn)才在幀緩沖器中存儲像素的顏 色,其增加了可能需要在處理器的存儲器高速緩存中存儲的信息量。在更新像素顏色之后,矢量吞吐量引擎210可以前進(jìn)到步驟635, 在該步驟中矢量吞吐量引擎210可以生成輔助射線。如前面針對圖4 所描述的,射線跟蹤圖像處理系統(tǒng)可以使用輔助射線確定對相交對象 并且因此對原始射線所經(jīng)過的^f象素的附加顏色貢獻(xiàn)。輔助射線可以例 如是反射射線、透射(折射)射線或者陰影射線。生成輔助射線可以 包括例如基于原始射線的軌跡、相交對象的表面特性以及原始射線與 相交對象的相交角度來確定輔助射線的軌跡。在生成輔助射線之后,在步驟640中矢量吞吐量引擎210向工作 量管理器205發(fā)送輔助射線。矢量吞吐量引擎210可以通過將限定輔 助射線(例如,軌跡、限定原始射線所經(jīng)過的像素的信息等)的信息 放置在工作量管理器205的收件箱1.15中來向工作量管理器205發(fā)送 輔助射線。根據(jù)本發(fā)明的一個實(shí)施例,矢量吞吐量引擎210可以向使 得射線遍歷空間索引的工作量管理器205發(fā)送輔助射線。然而,根據(jù) 本發(fā)明的另外的實(shí)施例,圖像處理系統(tǒng)可以包含多個工作量管理器, 并且矢量吞吐量引擎210可以向沒有使得射線遍歷空間索引的工作 量管理器發(fā)送輔助射線。在向工作量管理器205發(fā)送輔助射線之后,矢量吞吐量引擎210 可以從收件箱獲取限定可以等待到完成射線-圖元相交測試的射線 的其他信息。在矢量吞吐量引擎210的收件箱中等待的射線可能先前 已經(jīng)由工作量管理器205使其遍歷空間索引。因此,矢量吞吐量引擎 210可以執(zhí)行更多的射線-圖元相交測試以確定射線(即,原始的或 輔助的)是否與葉子節(jié)點(diǎn)所限定的有界體積內(nèi)的對象相交。因此,矢 量吞吐量引擎210可以連續(xù)地執(zhí)行與射線-圖元相交測試相關(guān)的操 作,確定圖元顏色、更新^像素顏色以及生成輔助射線。在從矢量吞吐量引擎210接收輔助射線之后,工作量管理器205 可以執(zhí)行步驟610和615 (如上面所描述的)以確定輔助射線是否與 葉子節(jié)點(diǎn)相交。返回到步驟625,如果矢量吞吐量引擎210確定射線沒有與葉子 節(jié)點(diǎn)限定的有界體積內(nèi)包含的圖元相交,則矢量吞吐量引擎210可以 給原始射線所經(jīng)過的像素指定三維場景的背景顏色。背景顏色可以被 指定給像素,因?yàn)樵忌渚€沒有與三維場景內(nèi)包含的任何圖元相交。 然而,根據(jù)本發(fā)明的其他實(shí)施例,如果射線沒有與葉子節(jié)點(diǎn)有界體積 內(nèi)包含的任何圖元相交,則矢量吞吐量引擎210可以將射線發(fā)送回工 作量管理器205,使得工作量管理器205可以再次使得射線遍歷空間 索引以確定射線是否與包含圖元的任何其他葉子節(jié)點(diǎn)相交。迭代的射線跟蹤算法的示例性使用圖7說明了根據(jù)本發(fā)明的一個實(shí)施例的從圖像處理系統(tǒng)發(fā)出到 三維場景505的示例性射線。為了清楚起見,三維場景505與圖5A-5C 中用于說明kd-tree的構(gòu)造的三維場景相同。由此,對應(yīng)于三維場景 505的kd-tree與針對圖5A-5C構(gòu)造的kd-tree相同。如在圖7中所示 的,觀看者705表示可以由圖像處理系統(tǒng)發(fā)出到三維場景505的多個 原始射線710m的起點(diǎn)。當(dāng)每個原始射線710M被發(fā)出到三維場景中 時,原始射線可以首先經(jīng)過像素柵格(幀)715中的對應(yīng)的像素。盡 管在圖7中僅說明了四個像素715和四個原始射線710M來從三維場景呈現(xiàn)最終的二維圖像,但是可能需要更多的像素并且可能發(fā)出更多 的原始射線??梢杂蓤D像處理系統(tǒng)發(fā)出第一原始射線710!并且該第一原始射線710!經(jīng)過第一像素715!。第一原始射線710t可以在交點(diǎn)It處與有 界體積4相交。為了便于理解,該例子中的圖像處理系統(tǒng)可以符合從 像素715的柵格的頂部開始發(fā)出射線的模式,并且連續(xù)發(fā)出射線,每 個像素一條射線,向下移動像素的柵格直到已經(jīng)針對像素柵格中的每 個像素發(fā)出了射線。還可以由圖像處理系統(tǒng)發(fā)出第二原始射線7102和第三原始射線 7103,其分別經(jīng)過第一像素7152和第三像素7153。第二原始射線7102 和第三原始射線7103還可以分別在第二交點(diǎn)12和第三交點(diǎn)13處與BV4 相交。因此,第一原始射線710!、第二原始射線7102和第三原始射 線7103都與相同的有界體積相交。此外,還可以由圖像處理系統(tǒng)發(fā) 出第四原始射線7104并且可以經(jīng)過第四像素7154。與前三個原始射 線710w不同,第四原始射線7104可以在交點(diǎn)14處與有界體積5( BV5) 相交。圖8A說明了使得第一原始射線71(^遍歷空間索引805 (例如, kd-tree)。此外,如陰影框205所表明的,圖8A說明了工作量管理器 205執(zhí)行與使得第一原始射線710,遍歷空間索引805相關(guān)的操作。工 作量管理器205可以通過選取到限定與射線相交的有界體積的節(jié)點(diǎn) 的分支直到到達(dá)葉子節(jié)點(diǎn)(如圖8中通過加黑的分支和節(jié)點(diǎn)所示)來 使得射線遍歷空間索引805。如圖7中所示,原始射線710!與BV4 相交,由此工作量管理器205將使得第一原始射線71(h遍歷到限定 BV4的葉子節(jié)點(diǎn)。在使得射線遍歷到葉子節(jié)點(diǎn)之后,工作量管理器205 可以向矢量吞吐量引擎210發(fā)送第一原始射線710i (例如,發(fā)送限定 第一原始射線710!的信息和限定第一原始射線所經(jīng)過的像素715i的 信息)和限定相交葉子節(jié)點(diǎn)(即,BV4)的信息。根據(jù)本發(fā)明的實(shí)施例,在工作量管理器205向矢量吞吐量引擎 210發(fā)送第一原始射線710!之后,工作量管理器205可以開始使第二原始射線7102遍歷空間索引。因此,在矢量吞吐量引擎210確定射 線是否與由于遍歷到葉子節(jié)點(diǎn)而限定的有界體積內(nèi)的對象相交的同 時,工作量管理器205可以持續(xù)地使得射線遍歷空間索引805。圖8B說明了第一原始射線710i行進(jìn)通過有界體積4 (BV4)。此 外,如陰影框所表明的,圖8B說明了在矢量吞吐量引擎210已經(jīng)接 收限定第一原始射線710!的信息和限定有界體積BV4的信息之后, 矢量吞吐量引擎210執(zhí)行射線-圖元相交測試。如針對圖6所描述的, 矢量吞吐量引擎210可以執(zhí)行射線-圖元相交測試以確定原始射線 710i是否與有界體積BV4內(nèi)包含的圖元相交。矢量吞吐量引擎210可以執(zhí)行第一原始射線710!相對于有界體 積BV4內(nèi)的第 一對象720以及相對于有界體積BV4內(nèi)的第二對象725 的測試。如圖8B所示的,矢量吞吐量引擎210可以確定第一原始射 線710i與第一對象720相交。如前面針對方法600所描述的,在確定第一原始射線71(^與對 象相交之后,矢量吞吐量引擎210可以確定在第一原始射線71(h與 第一對象720的交點(diǎn)處的第一對象720的顏色。在確定在交點(diǎn)處的對 象720的顏色之后,矢量吞吐量引擎210可以更新第一原始射線71(h 所經(jīng)過的像素715!的顏色(例如,通過對對應(yīng)于像素715!的幀緩沖 器存儲器位置進(jìn)行寫入)。在確定交點(diǎn)處的對象720的顏色之后,矢量吞吐量引擎210可以 生成輔助射線。例如,如圖8C所說明的,矢量吞吐量引擎210可以 生成反射射線730和透射(折射)射線735。兩種輔助射線(730和 735 )源自第一原始射線710i與對象720的交點(diǎn)。如上文所描述的, 輔助射線可以用于確定對第一原始射線71(h與對象720的交點(diǎn)處的 對象的附加顏色貢獻(xiàn)。輔助射線的生成可以包括確定每個輔助射線的 軌跡以及標(biāo)記輔助射線,使得來自輔助射線的附加顏色貢獻(xiàn)可以用于 更新第一原始射線710i所經(jīng)過的像素715i的顏色。在生成輔助射線(730和735 )之后,矢量吞吐量引擎210可以 經(jīng)由收件箱向工作量管理器205發(fā)送輔助射線(730和735 )。接收輔助射線(730和735 )的工作量管理器205可以使用限定輔助射線(即, 輔助射線的軌跡)的信息來遍歷空間索引805。例如,圖8D中的陰 影框說明了可以利用由矢量吞吐量引擎210生成的輔助射線(例如, 730 )來遍歷空間索引805的工作量管理器205。工作量管理器205 可以使得輔助射線遍歷到葉子節(jié)點(diǎn)。在已經(jīng)使得輔助射線遍歷到葉子 節(jié)點(diǎn)之后,工作量管理器205可以向矢量吞吐量引擎210發(fā)送輔助射 線和限定與輔助射線相交的有界體積的信息來確定輔助射線是否與 和輔助射線相交的有界體積內(nèi)的任何對象相交。當(dāng)矢量吞吐量引擎210確定原始射線或輔助射線撞擊三維場景 內(nèi)的對象時,可以在幀緩沖器內(nèi)更新原始射線所經(jīng)過的像素的顏色。 根據(jù)本發(fā)明的實(shí)施例,與 一個原始射線相關(guān)的以及因此與原始射線所 經(jīng)過的像素相關(guān)的所有輔助射線可以在三維場景內(nèi)進(jìn)行跟蹤,并且它 們的顏色貢獻(xiàn)可以被保存在幀緩沖器中,以便確定像素的最終顏色。 然而,根據(jù)本發(fā)明的其他實(shí)施例,對與原始射線相關(guān)的有限數(shù)目的輔 助射線可以在三維場景中進(jìn)行跟蹤以便確定像素的顏色。通過限制在 三維場景內(nèi)跟蹤的并且因此對像素的顏色做出貢獻(xiàn)的輔助射線的數(shù) 目,可以減少用于確定像素的最終顏色所必需的處理量。用于自適應(yīng)抗鋸齒的顏色緩沖器對比度閾值圖像處理系統(tǒng)的(例如,射線跟蹤圖像處理系統(tǒng))的一個公共問 題是鋸齒。鋸齒通常是指在對信號進(jìn)行采樣時引起的失真。在射線跟 蹤圖像處理中,待采樣的原始信號是三維場景,并且在圖像處理系統(tǒng) 呈現(xiàn)的二維圖像中可能有明顯的鋸齒。在呈現(xiàn)的圖像中例如在存在高對比度的區(qū)域中可能存在更加突出的鋸齒。高對比度區(qū)域可以沿著三 維場景內(nèi)的對象的邊緣出現(xiàn)。鋸齒可能被顯示為沿著三維場景中的對 象的邊緣的參差不齊的邊。圖像處理系統(tǒng)可以使用各種技術(shù),通常稱為抗鋸齒,來減小最終 呈現(xiàn)的圖像中的鋸齒。 一種抗鋸齒技術(shù)是增加取自原始信號的采樣 數(shù),并且接著對采樣結(jié)果進(jìn)行平均。這種技術(shù)可以通過獲取采樣信號的更精確表示來減小鋸齒失真。在射線跟蹤圖像處理系統(tǒng)中,增加采 樣數(shù)可能使得必須針對幀中的每個像素發(fā)出更多的射線到三維場景。 這些附加射線可以與三維場景內(nèi)的對象相交并且通過來自這些附加 射線的總的顏色貢獻(xiàn)可以得到對每個像素的顏色的更精確的確定。針 對幀內(nèi)的像素的更精確的顏色確定可以減小最終呈現(xiàn)的圖像中的鋸 齒(例如,參差不齊的邊)。盡管增加針對幀中的每個像素的射線的數(shù)目可以減小鋸齒引起的失真,但是針對幀中的每個像素發(fā)出附加射線到三維場景可能顯著 地增加呈現(xiàn)最終圖像所必需的工作量。更大的工作量會增大射線跟蹤 圖像處理系統(tǒng)用于從三維場景呈現(xiàn)最終二維圖像所需的時間量。呈現(xiàn) 圖像所需的增大的時間量可能在結(jié)合其他系統(tǒng)(例如,游戲系統(tǒng))使 用圖像處理系統(tǒng)來提供動畫時導(dǎo)致明顯的分辨率或響應(yīng)損失。然而,本發(fā)明的實(shí)施例提供了用于圖像處理系統(tǒng)在最小化(或者, 減小)工作量增加的同時呈現(xiàn)抗鋸齒的圖像的技術(shù)。根據(jù)本發(fā)明的一 個實(shí)施例,通過提供自適應(yīng)抗鋸齒,可以在最小化工作量的增加的同 時呈現(xiàn)抗鋸齒的二維圖像。根據(jù)本發(fā)明的一個實(shí)施例,圖像處理系統(tǒng) 可以通過檢測可能易于存在鋸齒的區(qū)域(例如,高對比度區(qū)域)和發(fā) 出附加射線到這些區(qū)域中而使得圖像自適應(yīng)地抗鋸齒。圖像處理系統(tǒng)可以通過以下步驟來檢測高對比度區(qū)域發(fā)出初始射線到三維場景, 基于初始射線的相交來確定像素的初始顏色,以及接著對像素的初始 顏色進(jìn)行比較來檢測高對比度區(qū)域。于是,圖像處理系統(tǒng)可以通過增 加所發(fā)出的經(jīng)過高對比度區(qū)域中的像素的射線的數(shù)目來自適應(yīng)地執(zhí) 行抗鋸齒。通過僅增加發(fā)出到高對比度區(qū)域(即,很可能存在鋸齒引 起的失真的區(qū)域)中的三維場景的射線的數(shù)目,可以在最小化工作量 的增加的同時呈現(xiàn)抗鋸齒的圖像。圖9是說明根據(jù)本發(fā)明的一個實(shí)施例的執(zhí)行射線跟蹤和自適應(yīng) 抗鋸齒的示例性方法900的流程圖。方法900開始于步驟905,在該 步驟中圖像處理系統(tǒng)(例如,工作量管理器205 )可以發(fā)出初始射線 到三維場景。當(dāng)初始射線向三維場景行進(jìn)或行進(jìn)到三維場景中時,它們會經(jīng)過多個像素。根據(jù)本發(fā)明的實(shí)施例,圖像處理系統(tǒng)可以針對每個像素發(fā)出恒定 數(shù)目的初始射線到三維場景。盡管該恒定數(shù)目的初始射線在不同的實(shí) 現(xiàn)之間或者在不同的幀之間可以變化,但是針對任何給定幀中的每個 像素發(fā)出的初始射線的數(shù)目可以是恒定的,例如,針對特定幀中的每 個像素。每個初始射線可以經(jīng)過每個像素內(nèi)的特定點(diǎn)。因此,針對每個像素發(fā)出的射線可以創(chuàng)建它們經(jīng)過像素時的點(diǎn)的模式。例如,圖IO說明了一系列的像素1005,圖像處理系統(tǒng)可以發(fā)出 多個初始射線通過這些像素。圖IO還說明了可以從其發(fā)出射線的觀 察點(diǎn)1000和可以由圖像處理系統(tǒng)(例如,由工作量管理器205 )發(fā) 出的示例性射線1010。一系列像素1005中的5個像素(即,像素1015、 1020、 1025、 1030和1035 )可以是一起組成幀的4交大的像素沖冊才各(例 如,圖4的柵格430)的一部分。在圖IO說明的例子中,可以發(fā)出恒定數(shù)目即5個初始射線經(jīng)過 一系列像素1005中的每個像素。初始射線可以通過其來經(jīng)過每個像 素的點(diǎn)的模式1040在圖10中由每個像素內(nèi)的陰影圏來表示。在針對幀中的每個像素發(fā)出初始射線之后,或者在圖像處理系統(tǒng) 發(fā)出初始射線到三維場景時,圖像處理系統(tǒng)可以前進(jìn)到步驟910,其 中圖像處理系統(tǒng)可以執(zhí)行初始射線的射線跟蹤操作。這可以包括例如 (例如,利用工作量管理器205 )使得初始射線遍歷具有表示三維場 景內(nèi)的有界體積的節(jié)點(diǎn)的空間索引805,(例如,利用矢量吞吐量引 擎210)針對初始射線執(zhí)行射線-圖元相交測試,以及(例如,利用 矢量吞吐量引擎210)更新對應(yīng)于三維場景內(nèi)與初始射線相交的對象 的像素的顏色。圖像處理系統(tǒng)可以通過將顏色信息保存在例如幀緩沖 器中來更新像素的顏色。幀緩沖器(顏色緩沖器)可以是二維存儲器 空間(例如,在存儲器高速緩存IIO或者其他合適的存儲器設(shè)備內(nèi)), 其中圖像處理系統(tǒng)可以存儲針對幀內(nèi)的每個像素的顏色信息。一旦幀緩沖器中存在足夠信息量,圖像處理系統(tǒng)就可以識別高對 比度區(qū)域。足夠信息量可以是這樣的信息量,其可以允許圖像處理系統(tǒng)確定三維場景內(nèi)是否存在高對比度區(qū)域。例如,兩個像素可以構(gòu)成 足夠的信息量,因?yàn)閳D像處理系統(tǒng)可以對這兩個像素的顏色進(jìn)行比較 以便確定是否存在高對比度區(qū)域。然而,本發(fā)明的其他實(shí)施例針對像 素數(shù)目可以具有不同的閾值,其中所述像素在確定幀緩沖器中存在足 夠信息量之前具有初始顏色。例如,本發(fā)明的一個實(shí)施例可以等待直 到幀緩沖器內(nèi)的每個像素具有初始顏色。像素的初始顏色可以是由初始射線與三維場景內(nèi)的對象的相交 或者初始射線與三維場景的背景的相交所確定的顏色。因此,初始顏 色可能不是像素的最終顏色。可以通過跟蹤響應(yīng)于初始射線與三維場 景中的對象的相交所生成的所有輔助射線以及計算來自與這些輔助射線相交的對象對像素的顏色貢獻(xiàn)來確定像素的最終顏色。此外,對 最終顏色的確定還可以包括執(zhí)行如下所述的利用附加射線的射線跟 蹤。上文針對圖6描述的迭代的射線跟蹤算法使得圖像處理系統(tǒng)能夠 使用像素的初始顏色來確定像素是否包含高對比度顏色,而不是等待 像素的最終顏色來確定像素顏色是否是高對比度的。通過使用像素的初始顏色來確定高對比度區(qū)域而不是等待直到 像素的最終顏色,圖像處理系統(tǒng)可以相對較早地在執(zhí)行針對幀的射線 跟蹤的同時確定哪里存在高對比度區(qū)域。像素的初始顏色可以是對像 素的最終顏色的好的近似,并且因此可以是對高對比度區(qū)域的好的指 示。通過相對較早地確定哪里存在高對比度區(qū)域,圖像處理系統(tǒng)可以 在執(zhí)行其他初始射線和/或輔助射線的射線跟蹤的同時開始對幀的部分進(jìn)行自適應(yīng)抗鋸齒。相對于在開始抗鋸齒圖像之前進(jìn)行等待直到像 素具有最終顏色而言,這種并行的抗鋸齒和射線跟蹤可以減少呈現(xiàn)抗 鋸齒的射線跟蹤圖像所需的時間。如果在幀緩沖器中不存在足夠的信息量,則圖像處理系統(tǒng)可以繼 續(xù)執(zhí)行射線跟蹤操作并且更新幀緩沖器內(nèi)的像素的顏色,直到在幀緩 沖器內(nèi)存在足夠的信息量。如果幀緩沖器內(nèi)存在足夠的信息量,則圖像處理系統(tǒng)可以前進(jìn)到步驟920以識別高對比度區(qū)域。為了識別高對比度區(qū)域,圖像處理系統(tǒng)可以對幀緩沖器內(nèi)的相鄰像素進(jìn)行比較并且確定相鄰像素是否具有高對比度顏色。每個像素的 初始顏色可以被存儲在例如幀緩沖器內(nèi)。因此,圖像處理系統(tǒng)可以通 過檢查存儲在幀緩沖器內(nèi)的顏色信息來對像素的顏色進(jìn)行比較。此 外,根據(jù)本發(fā)明的實(shí)施例,在開始像素的顏色比較之前可以設(shè)置閾值 對照。閾值可以限定可構(gòu)成高對比度的兩個像素之間的顏色差異程 度。如果被比較的像素的顏色的差異不超過閾值對照(即,顏色的區(qū) 別沒有達(dá)到構(gòu)成高對比度的程度),則圖像處理系統(tǒng)可以移動或者前 進(jìn)到下 一像素以將下 一像素與該下 一像素的相鄰像素進(jìn)行比較以確 定這些像素是否具有高對比度顏色。通過前進(jìn)到幀中的下一像素,當(dāng) 顏色比較表明像素不具有高對比度顏色時,圖像處理系統(tǒng)有效地將所 發(fā)出的經(jīng)過像素的射線的數(shù)目限制為所發(fā)出的經(jīng)過像素的初始射線 的數(shù)目。例如,在步驟920中,圖像處理系統(tǒng)可以基于初始顏色來確定傳-素1015和像素1020不具有構(gòu)成高對比度的顏色。因此,圖像處理系 統(tǒng)可以不將對應(yīng)的區(qū)域識別為高對比度并且可以繼續(xù)進(jìn)行而不發(fā)出 附加射線通過像素1015。相對于無論像素1015和像素1020之間的 對比量如何都發(fā)出附加射線通過像素1015的抗鋸齒圖像處理系統(tǒng)而 言,不發(fā)出附加射線通過像素1015的步驟使得抗鋸齒圖像處理系統(tǒng) 的工作量的增加減到最小。如果圖像處理系統(tǒng)確定顏色的差異超過閾值(即,像素的顏色差 異達(dá)到構(gòu)成高對比度的程度),則圖像處理系統(tǒng)可以前進(jìn)到步驟930 以確定要發(fā)出到三維場景的附加射線的軌跡??梢源_定附加射線的軌 跡,使得它們可以給被比較的像素提供附加顏色信息,并且因此在高 對比度區(qū)域中提供抗鋸齒。可以基于被比較像素的位置和所發(fā)出的通 過被比較像素的初始射線的軌跡來確定附加射線的軌跡。例如,可以發(fā)出附加射線,使得它們經(jīng)過可以較好地區(qū)分鋸齒影 響可能最突出之處的像素顏色的點(diǎn)處的像素。例如,如果兩個像素具 有的顏色的不同足以構(gòu)成高對比度,則圖像處理系統(tǒng)可以發(fā)出更多的射線到三維場景,其靠近或者沿著被比較的兩個像素的邊緣。此外, 圖像處理系統(tǒng)可以發(fā)出附加射線行進(jìn)通過先前發(fā)出的初始射線沒有 經(jīng)過的像素內(nèi)的點(diǎn)。通過確定最可能存在鋸齒的區(qū)域中的每個像素的 最終顏色,這些軌跡可以得到更好的抗鋸齒。例如,在步驟920圖像處理系統(tǒng)可以確定像素1025和像素1030 具有的初始顏色的不同足以達(dá)到構(gòu)成高對比度的程度。因此,在步驟 930中,圖像處理系統(tǒng)可以確定要發(fā)出到三維場景的附加射線的軌 跡,以便確定像素1025和像素1030的最終顏色。例如,圖ll說明 了三個點(diǎn),通過這些點(diǎn)圖4象處理系統(tǒng)可以發(fā)出三條新的射線到三維場 景。這三個新的點(diǎn)在圖11中示為在像素1025和像素1030 二者內(nèi)或 邊緣的陰影圈,而初始射線經(jīng)過的點(diǎn)在圖11中示為不帶陰影的圏。 附加射線(例如,射線1105、射線1110和射線1115)的軌跡可以是 使得它們經(jīng)過這些新的點(diǎn)并且進(jìn)入三維場景。在確定附加射線的軌跡之后,圖像處理系統(tǒng)可以前進(jìn)到步驟940, 以發(fā)出附加射線到三維場景。接著,圖像處理系統(tǒng)可以執(zhí)行針對附加 射線的射線跟蹤操作以便確定附加射線是否可以與三維場景內(nèi)的對 象相交。與附加射線相交的對象可以幫助更精確地確定高對比度像素 (例如,像素1025和像素1030)的最終顏色。與附加射線相交的對 象(以及與響應(yīng)于附加射線和對象的相交而生成的輔助射線相交的對 象)的顏色可以例如和與初始射線(以及響應(yīng)于對象和初始射線的相 交而生成的輔助射線)相交的對象的顏色進(jìn)行組合或平均。這種對每 個像素的顏色的平均可以幫助更加精確地確定像素(例如,像素1025 和像素1030)的最終顏色并且可以減少最終呈現(xiàn)的圖像中的鋸齒失 真。圖像處理系統(tǒng)可以在發(fā)出附加射線到三維場景之前識別所有的 高對比度區(qū)域,或者在圖像處理系統(tǒng)正在針對高對比度顏色評估其他 區(qū)域(像素)時,圖像處理系統(tǒng)可以針對所識別的高對比度區(qū)域發(fā)出 附加射線到三維場景。例如,在發(fā)出附加射線到三維場景之后或同時,圖像處理系統(tǒng)可以前進(jìn)到幀中的下 一像素。于是,圖1泉處理系統(tǒng)可以評估幀中的下一 像素,以便通過評估下 一像素和該下 一像素的相鄰像素是否具有高對 比度顏色來確定在三維場景中是否存在另外的高對比度區(qū)域。通過檢查存儲在幀緩沖器中的每個像素的初始顏色來確定高對 比度區(qū)域和僅發(fā)出附加射線到高對比度區(qū)域,圖像處理系統(tǒng)可以呈現(xiàn) 抗鋸齒的圖像,同時維持相對減少的工作量。工作量的減少是與下面的抗鋸齒射線跟蹤圖像處理系統(tǒng)相比而言的該系統(tǒng)可以發(fā)出附加射 線通過幀中的每個像素而不是僅具有高對比度的幀區(qū)域中的像素。針對減少發(fā)出的射線的自適應(yīng)子采樣如上文所描述的,由射線跟蹤圖像處理系統(tǒng)發(fā)出到三維場景的射 線的數(shù)目與圖像處理系統(tǒng)經(jīng)歷的工作量直接相關(guān)。越多的射線被發(fā)出 到三維場景,則射線跟蹤圖像處理系統(tǒng)經(jīng)歷的工作量越大。因此,發(fā) 出到三維場景的射線的數(shù)目的任何減少可以減少射線跟蹤圖像處理 系統(tǒng)經(jīng)歷的工作量并且可以減少從三維場景呈現(xiàn)二維圖像所必需的 時間,因此提高性能。當(dāng)結(jié)合系統(tǒng)(例如,視頻游戲系統(tǒng))使用圖像 處理系統(tǒng)來提供需要每秒呈現(xiàn)多個幀(例如,每秒60幀)的動畫時, 可能期望減少呈現(xiàn)二維圖像所必需的時間。然而,減少發(fā)出到三維場 景的射線的數(shù)目的副作用可能是降低圖像處理系統(tǒng)呈現(xiàn)的最終圖像的質(zhì)量。然而,根據(jù)本發(fā)明的一個實(shí)施例,可以在維持最終圖像的質(zhì)量的 同時減少射線跟蹤圖像處理系統(tǒng)經(jīng)歷的工作量。通過減少發(fā)出到具有 相對較低的對比度的三維場景區(qū)域的射線的數(shù)目,同時維持發(fā)出到具 有相對較高的對比度的三維場景的射線的數(shù)目。這可以稱為自適應(yīng)地 對低對比度區(qū)域中的三維場景進(jìn)行子采樣以減少初始發(fā)出的射線的 數(shù)目??梢詼p少發(fā)出到低對比度區(qū)域的射線的數(shù)目而不降低質(zhì)量,因 為相對于初步射線所確定的顏色而言,發(fā)出附加射線通過低對比度區(qū) 域的像素對像素的顏色的改變可能是微小的(不可覺察的)。通過維 持發(fā)出到不具有低對比度的三維場景區(qū)域的射線的數(shù)目同時減少發(fā)出到低對比度區(qū)域的射線的數(shù)目,可以維持射線跟蹤圖像處理系統(tǒng)呈 現(xiàn)的圖像質(zhì)量,同時減少圖像處理系統(tǒng)經(jīng)歷的工作量。圖12是說明根據(jù)本發(fā)明一個實(shí)施例的在自適應(yīng)地對具有低對比 度的三維場景區(qū)域進(jìn)行子采樣的同時執(zhí)行射線跟蹤的示例性方法1200的流程圖。方法1200可以開始于步驟1205,在該步驟中圖像處 理系統(tǒng)可以發(fā)出多條初步射線到三維場景。這些初步射線可以被圖像 處理系統(tǒng)用于確定幀內(nèi)的像素的初始顏色。根據(jù)本發(fā)明的 一 個實(shí)施 例,圖像處理系統(tǒng)可以針對每個像素發(fā)出單條初步射線到三維場景。例如,圖13說明了一系列像素1305,圖像處理系統(tǒng)可以發(fā)出多 條初步射線通過這些像素。圖13還說明了,可以從其發(fā)出射線的觀 察點(diǎn)1300以及可由圖像處理系統(tǒng)(例如,由工作量管理器205 )發(fā) 出的示例性初步射線(在圖13中示為虛線箭頭)。在一系列像素1305 中的5個像素(即,像素1315、 1320、 1325、 1330和1335 )可以是 一起組成幀的較大的像素柵格(例如,圖4的柵格430)的一部分。 在圖13示出的每個像素(即,像素1315、 1320、 1325、 1330和1335 ) 內(nèi)是初步射線所經(jīng)過的示例性的點(diǎn)1340。接下來在步驟1210中,圖像處理系統(tǒng)可以執(zhí)行初步射線的射線 3艮蹤來確定幀內(nèi)的每個1象素的初始顏色。這可以包括例如(例如,利 用工作量管理器205 )使得初步射線遍歷具有表示三維場景內(nèi)有界體 積的節(jié)點(diǎn)的空間索引,(例如,利用矢量吞吐量引擎210)執(zhí)行利用 初步射線的射線-圖元相交測試,以及(例如,利用矢量吞吐量引擎 210)更新對應(yīng)于與初步射線相交的三維場景內(nèi)的對象的像素的顏色。 圖像處理系統(tǒng)可以通過將顏色信息保存在例如幀緩沖器中來更新像 素的顏色。幀緩沖器可以是二維存儲器空間(例如,在存儲器高速緩 存110或者其他合適的存儲器設(shè)備內(nèi)),其中可以存儲針對幀內(nèi)的每 個像素的顏色信息。一旦幀緩沖器中存在足夠的信息量,圖像處理系統(tǒng)就可以識別低 對比度區(qū)域。足夠的信息量可以是這樣的信息量,其可以允許圖像處 理系統(tǒng)確定三維場景內(nèi)是否存在低對比度區(qū)域。例如,兩個像素可以構(gòu)成用于確定是否存在低對比度區(qū)域的足夠的信息量,因?yàn)閳D像處理 系統(tǒng)可以對這兩個像素的顏色進(jìn)行比較以便確定這些像素是否包含 低對比度顏色。然而,本發(fā)明的其他實(shí)施例針對像素數(shù)目可以具有不 同的閣值,其中所述像素在確定幀緩沖器中存在足夠的信息量之前具 有初始顏色。例如,本發(fā)明的一個實(shí)施例可以等待直到幀緩沖器內(nèi)的 每個像素具有初始顏色。像素的初始顏色可以是由初始射線與三維場景內(nèi)的對象的相交 或者初始射線與三維場景的背景的相交所確定的顏色。因此,初始顏 色可能不是像素的最終顏色。可以通過跟蹤響應(yīng)于初始射線與三維場 景中的對象的相交所生成的所有輔助射線以及計算來自與這些輔助射線相交的對象對像素的顏色貢獻(xiàn)來確定像素的最終顏色。此外,對 最終顏色的確定還可以包括執(zhí)行如下所述的利用附加射線的射線跟 蹤。上文針對圖6描述的迭代的射線跟蹤算法使得圖像處理系統(tǒng)能夠 使用像素的初始顏色來確定像素是否包含低對比度顏色,而不是等待 像素的最終顏色來確定像素顏色是高對比度的還是低對比度的。通過使用像素的初始顏色來確定低對比度區(qū)域而不是等待直到 像素的最終顏色,圖像處理系統(tǒng)可以相對較早地在執(zhí)行針對幀的射線 跟蹤的同時確定哪里存在低對比度區(qū)域。這是因?yàn)檩o助射線對像素的 顏色貢獻(xiàn)相對較小的改變量,并且因此像素的初始顏色可以非常接近 像素的最終顏色。通過相對較早地確定哪里存在低對比度區(qū)域,圖像 處理系統(tǒng)可以相對較早地在射線跟蹤過程中確定哪里需要發(fā)出附加 射線,由此減少用于呈現(xiàn)圖像的總時間。如果在幀緩沖器中不存在足夠的信息量,則圖像處理系統(tǒng)可以繼 續(xù)執(zhí)行射線跟蹤操作并且更新幀緩沖器內(nèi)的像素的顏色,直到在幀緩 沖器內(nèi)存在足夠的信息量。一旦在幀緩沖器中存在足夠的信息,圖像處理系統(tǒng)就可以前進(jìn)到步驟1215,在該步驟中圖4象處理系統(tǒng)可以例如通過對幀內(nèi)的相鄰傳-素的顏色進(jìn)行比較來識別幀內(nèi)的低對比度區(qū)域。每個像素的初始顏色 可以被存儲在例如幀緩沖器中。因此,圖像處理系統(tǒng)可以通過檢查存儲在幀緩沖器內(nèi)的顏色信息來對相鄰像素的顏色進(jìn)行比較。關(guān)于像素 是否具有低對比度顏色的確定可以基于閾值顏色差異。閾值顏色差異 可以限定在像素的顏色仍被認(rèn)為是低對比度的情況下兩個像素的顏 色之間的最大差異量。如果兩個像素具有相同或者相似(在闊值差異 所確定的范圍內(nèi)相似)的顏色,則圖像處理系統(tǒng)可以將對應(yīng)的幀區(qū)域 識別為低對比度并且移動到評估幀的其他區(qū)域(像素)以確定是否存 在其他低對比度區(qū)域。圖像處理系統(tǒng)可以在進(jìn)入步驟1220之前識別所有的低對比度區(qū) 域,或者可以在圖像處理系統(tǒng)正在檢查幀內(nèi)的其他區(qū)域的顏色時進(jìn)入步驟1220。在步驟1220處,圖像處理系統(tǒng)可以基于前面的對低對比 度區(qū)域的識別來確定像素是否在低對比度區(qū)域中,如果是這樣,則圖 像處理系統(tǒng)可以前進(jìn)到步驟1225,在該步驟中可以基于利用初步射 線執(zhí)行的射線跟蹤(例如,與初步射線相交的對象或者與根據(jù)初步射 線與對象/圖元的相交而生成的輔助射線相交的對象)來確定像素的 最終顏色。通過在不發(fā)出附加射線到場景的情況下確定低對比度區(qū)域 中的像素的最終顏色,圖像處理系統(tǒng)可以減少圖像處理系統(tǒng)所經(jīng)歷的 工作量。這種工作量的減少是與下面的射線跟蹤圖像處理系統(tǒng)相比而 言的該系統(tǒng)無論兩個像素是否包含^f氐對比度顏色都可以針對每個像素發(fā)出恒定數(shù)目的射線到三維場景(例如,可以針對每個像素發(fā)出不 止一條射線的系統(tǒng))。此外,通過針對包含低對比度的像素不發(fā)出附加射線到場景,圖像處理系統(tǒng)沒有降低呈現(xiàn)的圖像的質(zhì)量,因?yàn)榘l(fā)出附加射線對低顏色對比度區(qū)域中的圖像質(zhì)量只有微小的(不可覺察)的提高。然而,如果圖像處理系統(tǒng)在步驟1220處確定像素不在低對比度 區(qū)域中,則圖像處理系統(tǒng)可以前進(jìn)到步驟1230以發(fā)出附加射線通過 像素以及基于初步射線和附加射線來確定像素的最終顏色。圖像處理 系統(tǒng)可以通過對初步射線石並到的顏色、在初步射線與對象相交之后生 成的輔助射線碰到的顏色和附加射線碰到的顏色進(jìn)行組合來確定非 低對比度區(qū)域中的像素的最終顏色,其中輔助射線在附加射線與對象相交之后生成。圖像處理系統(tǒng)可以在步驟1230處發(fā)出附加射線到三維場景以更 加精確地確定非低對比度區(qū)域中的像素的最終顏色。通過針對不具有 相同或相似顏色的像素發(fā)出附加射線到三維場景,圖像處理系統(tǒng)呈現(xiàn) 的圖像不會損失非低對比度區(qū)域中的質(zhì)量。在發(fā)出附加射線到三維場 景之后,圖像處理系統(tǒng)可以開始利用附加射線執(zhí)行射線跟蹤以確定附 加射線對像素的附加顏色貢獻(xiàn)。例如,圖14說明了一系列像素1305中的5個^f象素(1315、 1320、 1325、 1330和1335 )。圖14還說明了 (經(jīng)由每個像素內(nèi)的無陰影的 圈和虛線箭頭)圖像處理系統(tǒng)先前發(fā)出單條初步射線以經(jīng)過一 系列像 素中的每個像素(例如1340)。在步驟1210處,圖像處理系統(tǒng)可能 已經(jīng)針對這些初步射線執(zhí)行了射線跟蹤,確定了初步射線與三維場景 的對象或背景相交,并且利用基于這些相交的初始顏色信息更新了幀 緩沖器。在利用五個^f象素(1315、 1320、 1325、 1330和1335 )的初始顏 色信息更新了幀緩沖器之后,圖像處理系統(tǒng)可以開始方法1200中的 一系列步驟以便確定像素是否包含低對比度顏色(即,相同或類似的 顏色)。如果它們不包含相同或類似的顏色,則圖像處理系統(tǒng)可以發(fā) 出附加射線到三維場景以進(jìn)一步確定一系列像素1305內(nèi)的像素的顏 色。例如,圖像處理系統(tǒng)可以通過利用初步射線執(zhí)行射線跟蹤來確定 像素1315和像素1320具有相同或類似的顏色,因此圖像處理系統(tǒng)可 以只基于初步射線確定像素1315和像素1320的最終顏色而不需要發(fā) 出附加射線通過像素。類似地,圖像處理系統(tǒng)可以確定像素1320和 像素1325具有相同或類似的顏色,因此不需要發(fā)出附加射線通過像 素1320和像素1325以便確定它們的最終顏色。然而,在此期間圖^Jt理系統(tǒng)可以在步驟1215處確定像素1330 和像素1335不具有相同或類似的顏色。因此,圖像處理系統(tǒng)可以發(fā) 出附加射線通過像素1330和像素1335。在圖14中通過實(shí)線箭頭示出了示例性的附加射線,并且在圖14中通過陰影圏示出了附加射線經(jīng)過像素1330和像素1335的附加點(diǎn)的示例性模式。附加射線的軌跡可以使得附加射線給像素提供附加顏色信息。因此,附加射線的軌跡可以使得附加射線經(jīng)過與初步射線不同的像素點(diǎn),如圖14所示。附加射線可以幫助更精確地確定像素1330和像素1335的顏色,其可以維持圖像處理系統(tǒng)呈現(xiàn)的圖像的質(zhì)量。結(jié)論根據(jù)本發(fā)明的 一個實(shí)施例,通過增加所發(fā)出的通過具有高對比度 顏色的相鄰像素的射線的數(shù)目同時維持所發(fā)出的通過不具有高對比 度顏色的相鄰像素的射線的數(shù)目,射線跟蹤圖像處理系統(tǒng)可以呈現(xiàn)抗 鋸齒的圖像同時最小化圖像處理系統(tǒng)所經(jīng)歷的工作量的增加。另夕卜, 根據(jù)本發(fā)明的另 一實(shí)施例,通過維持所發(fā)出的通過具有低對比度顏色 的相鄰像素的射線的數(shù)目同時增加所發(fā)出的通過不具有低對比度顏 色的相鄰像素的射線的數(shù)目,圖像處理系統(tǒng)可以減少在執(zhí)行射線跟蹤 時經(jīng)歷的工作量,同時維持所呈現(xiàn)的圖像的質(zhì)量。盡管上文針對本發(fā)明的特定實(shí)施例,但是在不偏離本發(fā)明的基本 范圍的情況下可以設(shè)計本發(fā)明的其他的和另外的實(shí)施例,并且本發(fā)明 的范圍由所附權(quán)利要求確定。
權(quán)利要求
1.一種通過執(zhí)行具有自適應(yīng)抗鋸齒的射線跟蹤呈現(xiàn)三維場景的圖像的方法,包括基于發(fā)出到所述場景的初始的一組射線來識別像素的高對比度區(qū)域;以及發(fā)出附加的一組射線到一個或多個所述高對比度區(qū)域。
2. 根據(jù)權(quán)利要求1所述的方法,其中附加射線僅被發(fā)出到高對 比度區(qū)域。
3. 根據(jù)權(quán)利要求1所述的方法,其中基于初始的一組射線來識 別像素的高對比度區(qū)域包括發(fā)出初始射線,其經(jīng)過相鄰像素并且進(jìn)入三維場景; 通過利用所述初始射線執(zhí)行射線跟蹤來確定所述相鄰像素的初 始顏色;以及否是高對比度的。
4. 根據(jù)權(quán)利要求3所述的方法,其中發(fā)出附加的一組射線到一 個或多個所述高對比度區(qū)域包括發(fā)出至少一個附加射線到所述三維場景,其經(jīng)過所述相鄰像素中 的至少一個;利用所述附加射線執(zhí)行射線跟蹤;以及通過對所述相鄰像素中的所述至少一個的初始顏色和基于利用 所述附加射線執(zhí)行射線跟蹤的結(jié)果得到的對該相鄰像素的顏色貢獻(xiàn) 進(jìn)行組合來確定該相鄰像素的最終顏色。
5. 根據(jù)權(quán)利要求3所述的方法,其中確定相鄰像素的初始顏色 包括發(fā)出第一初始射線到所述三維場景,其中所述第一初始射線經(jīng)過 所述相鄰像素中的第 一像素;利用所述第 一初始射線執(zhí)行射線跟蹤以確定所述第 一像素的初始顏色;發(fā)出第二初始射線到所述三維場景,其中所述第二初始射線經(jīng)過所述相鄰像素中的第二像素;以及利用所述第二初始射線執(zhí)行射線跟蹤以確定所述第二像素的初 始顏色。
6. 根據(jù)權(quán)利要求5所述的方法.,其中確定所述相鄰像素的所述 初始顏色是否是高對比度的包括對所述第 一像素的初始顏色和所述第二像素的初始顏色進(jìn)行比 較;以及如果所述第一像素的初始顏色和所述第二〗象素的初始顏色的差 異程度超過了顏色閾值,則所述第 一像素的初始顏色和所述第二像素 的初始顏色是高對比度顏色。
7. 根據(jù)權(quán)利要求4所述的方法,其中所述至少一個附加射線的 軌跡是基于所述相鄰像素的位置確定的。
8. 根據(jù)權(quán)利要求7所述的方法,其中所述附加射線經(jīng)過所述第 一像素中靠近所述第 一像素和所述第二像素的邊界的點(diǎn)。
9. 一種包含程序的計算機(jī)可讀介質(zhì),該程序在被執(zhí)行時,完成 用于實(shí)現(xiàn)根據(jù)權(quán)利要求1-8中任意一項(xiàng)所述的方法中的步驟的操作。
10. —種圖^f象處理系統(tǒng),包括存儲器設(shè)備,其被配置為存儲像素幀中的每個像素的顏色信息;以及處理單元,其被配置為基于發(fā)出到三維場景的初始的一組射線來 識別像素的高對比度區(qū)域,以及發(fā)出附加的一組射線到一個或多個所 述高對比度區(qū)域。
11. 根據(jù)權(quán)利要求10所述的圖像處理系統(tǒng),其中附加射線僅被 發(fā)出到高對比度區(qū)域。
12. 根據(jù)權(quán)利要求10所述的圖像處理系統(tǒng),其中所述處理單元 通過以下步驟實(shí)現(xiàn)基于初始的一組射線來識別像素的高對比度區(qū)域發(fā)出初始射線,其經(jīng)過相鄰像素并且進(jìn)入所述三維場景;通過利用所述初始射線執(zhí)行射線跟蹤來確定所述相鄰像素的初始顏色;將所述初始顏色存儲在對應(yīng)于所述相鄰像素的存儲器設(shè)備內(nèi)的 存儲器位置中;以及對所述相鄰j象素的初始顏色進(jìn)行比較以便確定所述初始顏色是 否是高對比度的。
13. 根據(jù)權(quán)利要求12所述的圖像處理系統(tǒng),其中發(fā)出附加的一 組射線到一個或多個所述高對比度區(qū)域包括發(fā)出至少一個附加射線到所述三維場景,其經(jīng)過所述相鄰像素中 的至少一個;利用所述附加射線執(zhí)行射線跟蹤;通過對所述相鄰像素中的所述至少一個的初始顏色和基于利用 所述附加射線執(zhí)行射線跟蹤的結(jié)果得到的對該相鄰像素的顏色貢獻(xiàn) 進(jìn)行組合來確定該相鄰像素的最終顏色;以及將所述相鄰像素中的所述至少 一 個的所述最終顏色存儲在所述 存儲器設(shè)備內(nèi)的對應(yīng)的存儲器位置中。
14. 根據(jù)權(quán)利要求13所述的圖像處理系統(tǒng),其中所述至少一個 附加射線的軌跡是基于所述相鄰像素的位置確定的。
全文摘要
根據(jù)本發(fā)明的一個實(shí)施例,通過增加所發(fā)出的通過具有高對比度顏色的相鄰像素的射線的數(shù)目同時維持所發(fā)出的通過不具有高對比度顏色的相鄰像素的射線的數(shù)目,射線跟蹤圖像處理系統(tǒng)可以呈現(xiàn)抗鋸齒的圖像,同時最小化圖像處理系統(tǒng)所經(jīng)歷的工作量的增加。另外,根據(jù)本發(fā)明的另一實(shí)施例,通過維持所發(fā)出的通過具有低對比度顏色的相鄰像素的射線的數(shù)目同時增加所發(fā)出的通過不具有低對比度顏色的相鄰像素的射線的數(shù)目,圖像處理系統(tǒng)可以減少在執(zhí)行射線跟蹤時經(jīng)歷的工作量,同時維持所呈現(xiàn)的圖像的質(zhì)量。
文檔編號G06T15/06GK101276479SQ20081008852
公開日2008年10月1日 申請日期2008年3月27日 優(yōu)先權(quán)日2007年3月29日
發(fā)明者E·O·梅德里奇, J·D·布朗, R·D·胡佛 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1