采用梯度域米特羅波利斯光傳輸?shù)膱D形渲染的方法和系統(tǒng)的制作方法
【專利摘要】公開了用于采用梯度域Metropolis光傳輸?shù)膱D形渲染的方法和系統(tǒng)。一種生成圖像的方法。方法包括模擬虛擬化三維空間內(nèi)的至少一個(gè)光源的存在。在虛擬化三維空間內(nèi)定義光感測平面。光感測平面包括要顯示在顯示屏上的若干像素的矩陣。方法進(jìn)一步包括使用光傳輸過程,針對矩陣的每個(gè)像素計(jì)算梯度值以產(chǎn)生若干梯度值。梯度計(jì)算涉及選擇對像素進(jìn)行貢獻(xiàn)的多個(gè)光路徑對,其中選擇偏向于選擇通過具有較大梯度值的像素的更多光路徑。多個(gè)梯度值轉(zhuǎn)換成表示圖像的多個(gè)光強(qiáng)度值。
【專利說明】采用梯度域米特羅波利斯光傳輸?shù)膱D形渲染的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本申請涉及圖像生成方法和系統(tǒng),具體地說,涉及用于采用梯度域米特羅波利斯(MetropoIis)光傳輸?shù)膱D形渲染的方法和系統(tǒng)。
【背景技術(shù)】
[0002]Metropolis (米特羅波利斯)采樣是用于生成具有全局間接照明效果的逼真圖像的標(biāo)準(zhǔn)方法。Metropolis采樣是無偏性的并且自適應(yīng)的。就所生成結(jié)果平均可示出為正確的意義而言,它是無偏性的,其對于預(yù)測性渲染應(yīng)用是可取的。就過程目標(biāo)在于將大部分計(jì)算工作量花費(fèi)在將大部分絕對輻亮度(radiance)貢獻(xiàn)到最后圖像的光傳輸模擬的各部分上的意義而言,它是自適應(yīng)的。然而,在該處標(biāo)準(zhǔn)Metropo I i s采樣集中其工作量的絕對輻亮度不一定是用于自適應(yīng)采樣的良好措施。
[0003]標(biāo)準(zhǔn)Metropolis光傳輸過程(procedure)生成若干樣本(Xi, Yi, Pi),其中x和y是圖像坐標(biāo),并且P是路徑坐標(biāo)向量,標(biāo)識將光從光源傳播到視平面的特定像素的特定光線段鏈的高維向量。Metropolis過程生成樣本,使得他們根據(jù)路徑吞吐量函數(shù)f (x, y, P)來分布,該函數(shù)f (x,y,P)測量單個(gè)光路徑對單個(gè)圖像空間位置的微分(differential)貢獻(xiàn)。最后圖像通過在P之上進(jìn)行邊緣化而從樣本獲得,即計(jì)算圖像之上的樣本的密度。然而,當(dāng)前方法可能在獲得視覺會聚方面是慢的。
【發(fā)明內(nèi)容】
[0004]因此,存在對于生成具有較快視覺會聚的圖像的需要。本發(fā)明的實(shí)施例提供用于生成通過實(shí)施在其中光路徑選擇偏向于具有較高梯度值的像素的更多光路徑的選擇的類Metropolis (Metropolis-like)的光傳輸過程來描繪實(shí)際圖像的梯度的中間圖像,以及然后通過解算標(biāo)準(zhǔn)Poisson (泊松)方程從梯度域轉(zhuǎn)換成原始域來重建最后圖像的系統(tǒng)和方法。
[0005]更特別地,本發(fā)明的實(shí)施例涉及生成圖像的方法。方法包括模擬虛擬化三維空間內(nèi)的至少一個(gè)光源的存在。在虛擬化三維空間內(nèi)定義光感測平面。光感測平面包括要顯示在顯示屏上的若干像素的矩陣。方法進(jìn)一步包括使用光傳輸過程,針對矩陣的每個(gè)像素計(jì)算梯度值以產(chǎn)生若干梯度值。計(jì)算梯度值包括選擇虛擬化三維空間內(nèi)的若干光路徑對。計(jì)算梯度值進(jìn)一步包括針對每個(gè)光路徑對確定用于矩陣的各個(gè)像素的梯度貢獻(xiàn)。此外,計(jì)算梯度值包括針對每個(gè)光路徑對利用梯度貢獻(xiàn)來更新用于各個(gè)像素的梯度值,其中選擇偏向于選擇通過具有較大梯度值的像素的更多光路徑。多個(gè)梯度值然后被轉(zhuǎn)換成表示圖像的多個(gè)光強(qiáng)度值。
[0006]在另一個(gè)實(shí)施例中,本發(fā)明涉及生成圖像的計(jì)算機(jī)實(shí)現(xiàn)的方法。方法包括模擬虛擬化三維空間內(nèi)的至少一個(gè)光源的存在。經(jīng)修改Metropolis光傳輸過程被執(zhí)行以產(chǎn)生梯度值的二維像素矩陣。矩陣表示虛擬化三維內(nèi)的光傳感器平面。修改Metropolis光傳輸過程,其中使光路徑樣本選擇偏向于選擇通過矩陣的被賦予了較大梯度值的像素的更多光路徑。方法進(jìn)一步包括將梯度值轉(zhuǎn)換成光強(qiáng)度值。光強(qiáng)度值表示圖像。
[0007]在又一個(gè)實(shí)施例中,本發(fā)明涉及計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)系統(tǒng)包括耦連到總線的處理器、耦連到總線的顯示屏以及耦連到總線的存儲器。存儲器包括指令,該指令當(dāng)在處理器上被執(zhí)行時(shí)使計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)生成圖像的方法。方法包括模擬虛擬化三維空間內(nèi)的至少一個(gè)光源的存在。在虛擬化三維空間內(nèi)定義光感測平面。光感測平面包括要顯示在顯示屏上的若干像素的矩陣。方法進(jìn)一步包括使用光傳輸過程,針對矩陣的每個(gè)像素計(jì)算梯度值以產(chǎn)生若干梯度值。計(jì)算梯度值包括選擇虛擬化三維空間內(nèi)的若干光路徑對。計(jì)算梯度值進(jìn)一步包括針對每個(gè)光路徑對確定用于矩陣的各個(gè)像素的梯度貢獻(xiàn)。此外,計(jì)算梯度值包括針對每個(gè)光路徑對利用梯度貢獻(xiàn)來更新用于各個(gè)像素的梯度值,其中選擇偏向于選擇通過具有較大梯度值的像素的更多光路徑。多個(gè)梯度值轉(zhuǎn)換成表示圖像的多個(gè)光強(qiáng)度值。
[0008]下面的詳細(xì)描述和附圖一起將提供本發(fā)明的性質(zhì)和優(yōu)勢的更好理解。
【專利附圖】
【附圖說明】
[0009]本發(fā)明的實(shí)施例以示例的方式并且不以限制的方式在附圖中示出,并且其中同樣的參考數(shù)字指代類似的元件。
[0010]圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性計(jì)算機(jī)系統(tǒng)。
[0011]圖2描繪了根據(jù)本發(fā)明的實(shí)施例的、包括光源的、表示為存儲在存儲器中的數(shù)據(jù)對象的虛擬化三維圖形場景。
[0012]圖3A描繪了根據(jù)本發(fā)明的實(shí)施例的、包括具有梯度值的多個(gè)像素的屏幕或視平面內(nèi)的網(wǎng)格。
[0013]圖3B描繪了根據(jù)本發(fā)明的實(shí)施例的、包括具有梯度值的多個(gè)像素的屏幕或視平面內(nèi)的網(wǎng)格,其中某些像素比其他像素具有更大的梯度值。
[0014]圖4描繪了根據(jù)本發(fā)明的實(shí)施例的、根據(jù)基于梯度的Metropolis光傳輸過程構(gòu)建圖像的示例性計(jì)算機(jī)控制的過程的流程圖400。
[0015]圖5描繪了根據(jù)本發(fā)明的實(shí)施例的、使用標(biāo)準(zhǔn)Metropolis光傳輸過程和梯度域Metropolis光傳輸過程所生成的圖像的比較。
[0016]圖6描繪了根據(jù)本發(fā)明的實(shí)施例的、生成圖像的示例性計(jì)算機(jī)實(shí)現(xiàn)的過程的流程圖。
[0017]圖7描繪了根據(jù)本發(fā)明的實(shí)施例的、計(jì)算梯度值的示例性計(jì)算機(jī)實(shí)現(xiàn)的過程的流程圖。
[0018]圖8描繪了根據(jù)本發(fā)明的實(shí)施例的、生成圖像的示例性計(jì)算機(jī)實(shí)現(xiàn)的過程的流程圖。
[0019]圖9描繪了根據(jù)本發(fā)明的實(shí)施例的、產(chǎn)生多個(gè)光強(qiáng)度值的示例性計(jì)算機(jī)實(shí)現(xiàn)的過程的流程圖。
【具體實(shí)施方式】
[0020]現(xiàn)在將更詳細(xì)地對本公開的各實(shí)施例進(jìn)行參考,其示例在附圖中示出。雖然結(jié)合這些實(shí)施例進(jìn)行了描述,但是將理解的是,他們不旨在將本公開限于這些實(shí)施例。相反,本公開旨在覆蓋可以包括在如隨附權(quán)利要求書所定義的本公開的精神和范圍內(nèi)的替代、修改以及等同。在下面的本公開的詳細(xì)描述中,將闡述大量的具體細(xì)節(jié)以提供對本公開的透徹理解。然而,將理解的是,本公開可以在沒有這些具體細(xì)節(jié)的情況下得以實(shí)踐。在其他實(shí)例中,未詳細(xì)描述公知方法、過程、部件以及電路以免不必要地對本發(fā)明的各方面造成混淆。
[0021]下面的詳細(xì)描述的一些部分依據(jù)對計(jì)算機(jī)存儲器內(nèi)的數(shù)據(jù)位的操作的過程、邏輯塊、處理和其他符號表示來呈現(xiàn)。這些描述和表示是數(shù)據(jù)處理領(lǐng)域技術(shù)人員最有效地將他們工作的實(shí)質(zhì)傳達(dá)給本領(lǐng)域其他技術(shù)人員所使用的工具。在本應(yīng)用中,過程、邏輯塊、進(jìn)程等等被設(shè)想是導(dǎo)致所期望結(jié)果的自相一致的步驟或指令序列。步驟是那些利用物理量的物理操縱的步驟。盡管不一定,但是這些量通常采取能夠在計(jì)算機(jī)系統(tǒng)中被存儲、轉(zhuǎn)移、組合、比較以及否則操縱的電氣或磁信號的形式。主要出于普通用法的原因,將這些信號指代為事務(wù)、位、值、元素、符號、字符、樣本、像素等等已經(jīng)證明有時(shí)是方便的。
[0022]然而,應(yīng)該記住的是,所有這些以及類似術(shù)語將與適當(dāng)物理量相關(guān)聯(lián)并且僅是應(yīng)用到這些物理量的方便的標(biāo)簽。除非特別聲明否則從下面的討論中顯而易見,應(yīng)該理解,貫穿本公開利用術(shù)語諸如“分配”、“關(guān)聯(lián)”、“移動(dòng)”、“拷貝”、“設(shè)定”、“訪問”、“擦除”、“釋放”、“控制”、“添加”、“記錄”、“確定”、“標(biāo)識”、“高速緩存”、“維持”、“增量”、“比較”、“移除”、“讀取”、“寫入”等等的討論是指計(jì)算機(jī)系統(tǒng)或類似電子計(jì)算設(shè)備或處理器(例如圖1的系統(tǒng)100)的動(dòng)作和過程(例如圖4的流程圖400)。計(jì)算機(jī)系統(tǒng)或類似電子計(jì)算設(shè)備操縱以及變換表示為計(jì)算機(jī)系統(tǒng)存儲器、寄存器或其他這類信息存儲、傳輸或顯示設(shè)備內(nèi)的物理(電子)量的數(shù)據(jù)。
[0023]本文所描述的實(shí)施例可以在駐留在某一形式的計(jì)算機(jī)可讀存儲介質(zhì)上的計(jì)算機(jī)可執(zhí)行指令的通用背景中進(jìn)行討論,所述計(jì)算機(jī)可執(zhí)行指令諸如由一個(gè)或多個(gè)計(jì)算機(jī)或其他設(shè)備執(zhí)行的程序模塊。以示例并且非限制的方式,計(jì)算機(jī)可讀存儲介質(zhì)可以包括非暫時(shí)性計(jì)算機(jī)可讀存儲介質(zhì)以及通信介質(zhì);非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)包括除暫時(shí)性傳播信號的所有計(jì)算機(jī)可讀介質(zhì)。一般地,程序模塊包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等,其實(shí)施特定任務(wù)或者實(shí)現(xiàn)特定抽象的數(shù)據(jù)類型。程序模塊的功能性可以按照各實(shí)施例中所期望的進(jìn)行組合或分布。
[0024]計(jì)算機(jī)存儲介質(zhì)包括以用于信息的存儲的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì),所述信息諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)。計(jì)算機(jī)存儲介質(zhì)包括但不限于隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、電可擦可編程ROM (EEPR0M)、閃存或其他存儲器技術(shù)、壓縮光盤ROM (CD-ROM)、數(shù)字多用光盤(DVD)或其他光學(xué)存儲、磁帶盒、磁帶、磁盤存儲或其他磁存儲設(shè)備,或者可以用來存儲所期望信息并可被訪問以檢索該信息的任何其他介質(zhì)。
[0025]通信介質(zhì)可以具體化計(jì)算機(jī)可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)以及程序模塊,并且包括任何信息傳遞介質(zhì)。以示例的方式但不進(jìn)行限制,通信介質(zhì)包括有線(wired)介質(zhì)諸如有線網(wǎng)絡(luò)或直接有線的(direct-wired)連接,以及無線介質(zhì)諸如聽覺、射頻(RF)、紅外線以及其他無線介質(zhì)。以上任何組合也可以包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
[0026]圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性計(jì)算機(jī)系統(tǒng)100。計(jì)算機(jī)系統(tǒng)100描繪了根據(jù)本發(fā)明的實(shí)施例的、提供用于某些基于硬件和基于軟件的功能性的執(zhí)行平臺的部件。一般而言,計(jì)算機(jī)系統(tǒng)100包括系統(tǒng)板106,其包括至少一個(gè)中央處理單元(CPU)102和系統(tǒng)存儲器104。CPU102可經(jīng)由橋部件/存儲器控制器(未示出)耦連到系統(tǒng)存儲器104或者可經(jīng)由CPU102內(nèi)部的存儲器控制器(未示出)直接耦連到系統(tǒng)存儲器104。
[0027]計(jì)算機(jī)系統(tǒng)100還包括圖像子系統(tǒng)114,其包括至少一個(gè)圖形處理器單元(GPU)110。例如,圖形子系統(tǒng)114可以包括在圖形卡上。圖形子系統(tǒng)114可以耦連到顯示器116。一個(gè)或多個(gè)附加的GPUllO可以可選地耦連到計(jì)算機(jī)系統(tǒng)100以進(jìn)一步增加其計(jì)算能力。GPUllO可經(jīng)由通信總線108耦連到CPU102和系統(tǒng)存儲器104。GPUllO可以作為分立的部件、設(shè)計(jì)為經(jīng)由連接器(例如AGP槽、PC1-Express槽等)|禹連到計(jì)算機(jī)系統(tǒng)100的分立的圖形卡、分立的集成電路裸片(例如直接安裝在主板上)或者作為包括在計(jì)算機(jī)系統(tǒng)芯片集部件(未示出)的集成電路裸片內(nèi)的集成GPU來實(shí)現(xiàn)。此外,存儲器設(shè)備112可以與GPUllO耦連用于高帶寬圖形數(shù)據(jù)存儲,例如幀緩沖區(qū)。在實(shí)施例中,存儲器設(shè)備112可以是動(dòng)態(tài)隨機(jī)存取存儲器。電源單元(PSU) 118可以提供電力到系統(tǒng)板106和圖形子系統(tǒng)114。
[0028]CPU102和GPUl 10也可以集成到單個(gè)集成電路裸片中,并且CPU和GPU可以共享各種資源,諸如指令邏輯、緩沖區(qū)、功能單元等等,或者可以提供分開的資源用于圖形和通用操作。GPU可以進(jìn)一步集成到核心邏輯部件中。因此,如與GPUl 10相關(guān)聯(lián)的本文所描述的任何或所有電路和/或功能性也可以實(shí)現(xiàn)在適當(dāng)裝備的CPU102中以及由適當(dāng)裝備的CPU102來實(shí)施。此外,雖然本文的實(shí)施例可以參考GPU,但是應(yīng)該注意的是,所描述的電路和/或功能性也可以以其他類型的處理器(例如通用或其他專用協(xié)處理器)實(shí)現(xiàn)或在CPU內(nèi)實(shí)現(xiàn)。
[0029]系統(tǒng)100可以實(shí)現(xiàn)為例如具有耦連到專用圖形渲染GPUllO的強(qiáng)大的通用CPU102的服務(wù)器計(jì)算機(jī)系統(tǒng)或臺式計(jì)算機(jī)系統(tǒng)。在這類實(shí)施例中,可以包括添加外圍總線、專門的音頻/視頻部件、IO設(shè)備等等的部件。類似地,系統(tǒng)100可以實(shí)現(xiàn)為便攜式設(shè)備(例如手機(jī)、PDA等)、直播衛(wèi)星(DBS) /地面機(jī)頂盒或機(jī)頂視頻游戲控制臺設(shè)備諸如例如可從華盛頓雷蒙德的微軟公司購買的Xbox?、可從日本東京的索尼計(jì)算機(jī)娛樂公司購買的
PlayStation3?0系統(tǒng)100也可以實(shí)現(xiàn)為“片上系統(tǒng)”,在該處計(jì)算設(shè)備的電子部件(例如部
件102、104、110、112等等)完全包含在單個(gè)集成電路裸片內(nèi)。示例包括具有顯示屏的手持式儀器、汽車導(dǎo)航系統(tǒng)、便攜式娛樂系統(tǒng)等等。
[0030]梯度域METROPOLIS光傳輸
[0031 ] 本發(fā)明的實(shí)施例提供用于使用經(jīng)修改Metropo I i s光傳輸過程以在視平面內(nèi)生成描繪實(shí)際圖像的光梯度值的中間圖像,以及通過解算標(biāo)準(zhǔn)泊松方程以從梯度域轉(zhuǎn)換成原始域來重建最后圖像的系統(tǒng)和方法。然而,本發(fā)明的實(shí)施例可以應(yīng)用到用于生成圖像的任何系統(tǒng)或方法。原創(chuàng)的Metropolis光傳輸過程由E.Veach和L.Guibas描述于1997年的“Metropolis Light Transport”(Proc.SIGGRAPH,97)。
[0032]圖2描繪了根據(jù)本發(fā)明的實(shí)施例的、包括光源221的、表示為存儲在存儲器中的數(shù)據(jù)對象的虛擬化三維圖形場景200。虛擬化三維場景200還包括場景內(nèi)的對象223。光源221經(jīng)由照射路徑225照射虛擬化三維場景200??梢岳斫獾氖?,照射路徑225僅僅是由光源221投射在虛擬化三維空間200中的許多照射路徑中的一個(gè)。虛擬化三維場景200還包括視點(diǎn)227。視點(diǎn)227是在該處對象223在三維場景200內(nèi)被觀看的點(diǎn)。視點(diǎn)227通過觀看窗229投射視點(diǎn)。觀看窗229是包括要顯示在顯示設(shè)備例如顯示設(shè)備116 (圖1)上的像素231的矩陣的二維光感測平面。
[0033]由光源221所投射的照射路徑225反照以及反射對象223。照射路徑225根據(jù)本領(lǐng)域公知的標(biāo)準(zhǔn)Metropolis光傳輸過程進(jìn)行投射。照射路徑225通過觀看窗229上的像素231。在本發(fā)明的實(shí)施例中,照射路徑225可能在X方向或y方向上被擾動(dòng),產(chǎn)生Λχ光路徑233或Λ y光路徑235。Δχ光路徑233和Λ y光路徑235是在x或y方向上被擾動(dòng)離開照射路徑225 —個(gè)像素的光路徑。照射路徑225和Λ X光路徑233 —起形成光樣本路徑對。類似地,照射路徑225和Ay光路徑235也形成光樣本路徑對。這些光樣本路徑對使得本發(fā)明的實(shí)施例能夠針對特定方向的像素231計(jì)算光強(qiáng)度梯度,例如ΛΧ或Ay。所述光樣本路徑對之內(nèi)的光強(qiáng)度差(differential)量或梯度貢獻(xiàn)經(jīng)存儲以Λ x梯度值或Ay梯度值用于像素231。因此,觀看窗229的矩陣內(nèi)的每個(gè)像素231針對每個(gè)方向(x方向和y方向)存儲梯度值。
[0034]標(biāo)準(zhǔn)Metropolis光傳輸過程生成路徑并且將路徑的節(jié)點(diǎn)存儲在列表中。它然后可通過添加額外的節(jié)點(diǎn)和創(chuàng)建新光路徑來修改路徑。當(dāng)創(chuàng)建該新路徑時(shí),過程決定添加多少新節(jié)點(diǎn)以及這些新節(jié)點(diǎn)是否將實(shí)際創(chuàng)建新路徑。換句話說,雖然路徑選擇可以部分地根據(jù)Metropolis光傳輸過程進(jìn)行,但是本發(fā)明的實(shí)施例與Metropolis光傳輸過程不同,因?yàn)镮)路徑樣本經(jīng)擾動(dòng)以允許梯度計(jì)算,以及2)樣本光路徑選擇偏向于選擇通過具有較大梯度值的像素的更多路徑,反之亦然。相反,在傳統(tǒng)Metropolis光傳輸算法中,路徑選擇偏向于選擇向圖像貢獻(xiàn)更多光的更多路徑。
[0035]本發(fā)明致力于尋找出對圖像貢獻(xiàn)較大梯度的樣本光路徑。進(jìn)而,這影響將路徑改變到基于對圖像貢獻(xiàn)較大梯度的那些路徑而被擾動(dòng)的路徑的可能性。每個(gè)路徑對梯度貢獻(xiàn)固定值。路徑選擇基于通過具有較大梯度的像素的路徑的選擇而偏向。選擇通過大梯度的像素的更多路徑。以這種方式,樣本路徑選擇偏向于具有較大梯度的圖像區(qū),例如光強(qiáng)度改變最多的那些圖像區(qū)。使用泊松方程,梯度值轉(zhuǎn)換成每個(gè)像素的絕對值(原始域)并且江產(chǎn)生的圖像顯示在顯示設(shè)備116 (圖1)上。
[0036]在本發(fā)明的實(shí)施例中,計(jì)算照射路徑225與Λ X光路徑233之間的梯度值。梯度貢獻(xiàn)可以是+1或-1。梯度貢獻(xiàn)然后存放到用于像素231的照射路徑225的總梯度和(針對X方向)。針對y方向?qū)嵤╊愃七^程。針對隨后的照射路徑其相應(yīng)Ax光路徑和Ay光路徑重復(fù)該過程。因此,多個(gè)樣本路徑選擇在Λ X方向和Ay方向上建立梯度值用于陣列中的所有像素。
[0037]圖3Α描繪了根據(jù)本發(fā)明的實(shí)施例的、包括具有梯度值的多個(gè)像素231的屏幕333或視平面內(nèi)的網(wǎng)格。每個(gè)像素231包括表示存儲在每個(gè)像素231處的圖像強(qiáng)度的梯度的兩個(gè)梯度值。因此,存儲在每個(gè)像素處的是Λ Ι/Λχ和ΛΙ/y,總梯度和。此外,每個(gè)像素還包括坐標(biāo)值。像素231的梯度值是光路徑對之間的差,如圖2所描述的。
[0038]執(zhí)行Metropolis過程以選擇路徑。路徑選擇偏向于對像素貢獻(xiàn)較大梯度值的那些路徑。梯度值跨屏幕333被維持所顯示像素的坐標(biāo)。泊松方程在梯度值上被解算以將梯度值轉(zhuǎn)換成用于每個(gè)像素231的絕對值。產(chǎn)生的圖像然后顯示在顯示設(shè)備116 (圖1)的屏幕333上。
[0039]本發(fā)明的實(shí)施例基于偏向于具有較高梯度值的那些圖像區(qū)的光路徑選擇實(shí)施Metropolis光傳輸以針對每個(gè)像素計(jì)算梯度域中的梯度值以及在將產(chǎn)生的圖像顯示在顯示設(shè)備上之前將梯度值轉(zhuǎn)換成原始域中的絕對值。
[0040]圖3B描繪了根據(jù)本發(fā)明的實(shí)施例的、包括具有梯度值的多個(gè)像素的屏幕333或視平面內(nèi)的像素的陣列,其中某些像素比其他像素具有更大的梯度值。屏幕333包括第一像素337和第二像素339。在該特定示例中,第一像素337比第二像素339具有更大的梯度貢獻(xiàn)。因此,照射光線225的投射偏向于第一像素337并且在第一像素337處取得較多樣本。相比之下,在第二像素339處取得較少樣本。如上所述,第一像素337和第二像素339二者具有經(jīng)擾動(dòng)的光路徑,或者Λ X光路徑233或者Ay光路徑235用于每個(gè)樣本。每個(gè)照射光線225與Λ X光路徑233或者Λ y光路徑235 —起形成光路徑對。因此,第一像素337將比第二像素339具有更多光路徑對。每個(gè)像素231還包括表示存儲在每個(gè)像素231處的圖像強(qiáng)度的梯度的兩個(gè)梯度值。因此,存儲在每個(gè)像素處的是ΛΙ/Λχ和ΛΙ/y,總梯度和。
[0041]圖4描繪了根據(jù)本發(fā)明的實(shí)施例的、根據(jù)基于梯度的Metropolis光傳輸過程構(gòu)建圖像的示例性計(jì)算機(jī)控制的過程的流程圖400。流程圖400描繪了經(jīng)修改Metropolis光傳輸過程的流向。計(jì)算在梯度域內(nèi)進(jìn)行操作。梯度域中操作的目標(biāo)是將工作量集中在圖像中的“事情發(fā)生的地方”,為較快視覺會聚提供潛在性。
[0042]—般地,標(biāo)準(zhǔn)Metropolis光傳輸過程生成若干樣本(Xi, yi; Pi),其中χ和y是圖像坐標(biāo),并且P是路徑坐標(biāo)向量,標(biāo)識將光從光源傳播到視平面的特定像素的特定光線段鏈的高維向量。Metropolis過程生成樣本,使得他們根據(jù)路徑吞吐量函數(shù)f (x,y,P)來分布,該函數(shù)f (X,y,P)衡量單個(gè)光路徑對單個(gè)圖像空間位置的微分貢獻(xiàn),即(Xi,yi; Pi) ~ f(x,y,P)。最后圖像通過在P之上進(jìn)行邊緣化而從樣本獲得,例如計(jì)算圖像之上的樣本的密度。
[0043]在本發(fā)明的實(shí)施例中,Metropolis采樣被用來生成樣本,其根據(jù)χ和y方向上的路徑吞吐量函數(shù)的有限差分來分布。選擇偏向于通過較高梯度值的像素的那些光路徑的選擇的樣本。原則上,生成樣本的兩個(gè)集合A和B使得:
[0044](XiA, YiA, Pja) oc j f (x+l,y,P)-f (x, y, P) |
[0045]以及
[0046](χΛ yj,Pi13) 00 I f (x+1, y, P) -f (x, y, P) I
[0047]例如,樣本的第一集合A根據(jù)絕對每像素χ差分來分布,并且集合B根據(jù)絕對y差分來分布。在實(shí)施例中,樣本集合使用單個(gè)采樣器、使用差分的方向作為路徑吞吐量函數(shù)中的附加變量以及根據(jù)標(biāo)準(zhǔn)Metropolis過程隨機(jī)地在二者之間進(jìn)行切換來計(jì)算。該過程是有利的,因?yàn)橛?jì)算工作量花費(fèi)在改變的區(qū)域上而仍維持不偏向性。它使能由隨后的重建步驟所要求的真有符號導(dǎo)數(shù)的估計(jì)而不是驅(qū)動(dòng)采樣器的其絕對值。
[0048]一旦在P之上進(jìn)行邊緣化,則樣本的兩個(gè)集合A和B形成最后圖像的數(shù)值梯度的隨機(jī)估計(jì)。然后采用標(biāo)準(zhǔn)泊松解算器用于基于所估計(jì)梯度生成圖像。
[0049]更特別地,在框402中,開始根據(jù)梯度重建和顯示圖像然后使用泊松解算器來轉(zhuǎn)換成原始域的過程。挑選初始路徑P以及計(jì)算其適合度(fitness)。在許多實(shí)施例中,路徑的適合度是路徑貢獻(xiàn)的絕對差(absolute difference)。在其他實(shí)施例中,路徑的適合度可以是路徑255的原始域貢獻(xiàn)的路徑貢獻(xiàn)的絕對差。路徑選擇偏向于選擇更多通過具有較大梯度值的像素的路徑,并且反之亦然。例如,在圖2中,挑選反照對象的初始路徑以及計(jì)算其適合度。
[0050]在框404中,做出過程是否應(yīng)由于運(yùn)行時(shí)間或圖像完整性而終止的決策。典型地,過程不將在過程的第一道上終止。如果過程將被終止,那么圖像將使用泊松解算器根據(jù)梯度來重建,框428。然后過程將結(jié)束并且將顯示最后圖像,框430。
[0051]在框406中,如果過程不將終止于框404,那么做出用于P的適合度是否是負(fù)的決策。如果適合度被認(rèn)為是負(fù)的,那么貢獻(xiàn)C設(shè)定到-1,框410。如果適合度被認(rèn)為是非負(fù)的,那么貢獻(xiàn)C設(shè)定到1,框408。典型地,具有較大梯度值的像素將具有更多通過那里而被選擇的樣本并且將具有對產(chǎn)生的圖像的更多貢獻(xiàn)。例如,在圖3B中,第一像素具有較大梯度值并且因此具有更多通過那里而被選擇的樣本。
[0052]在框412中,一旦將貢獻(xiàn)C設(shè)定到I或者-1 (在框408或框410中),那么路徑P的貢獻(xiàn)C存放在圖像內(nèi)。例如,在圖2中,路徑的貢獻(xiàn)存放在用于與路徑相關(guān)聯(lián)的像素的梯度值內(nèi)。
[0053]在框414中,突變(mutated)路徑P’被提議并且隨后在框416中計(jì)算用于P’的適合度。在實(shí)施例中,突變路徑P’與路徑P毗鄰。例如,在圖3A中,突變路徑與原始路徑P毗鄰,使得它通過相鄰的像素,Λχ或Ay。
[0054]在框418中,構(gòu)建路徑P”。用于P”的路徑與P’偏置(Λχ或Ay)—個(gè)像素。隨后,在框420中計(jì)算用于P”的適合度。例如,在圖3Α中,突變路徑與原始路徑P毗鄰。
[0055]在框422,P’的適合度由P’的適合度和P”的適合度的絕對差(absolutedifference)來替換。計(jì)算絕對差作為過程的一部分。
[0056]在框424中,基于比較P的適合度和P’的適合度做出突變路徑是否應(yīng)被依概率接受。如果突變路徑應(yīng)被接受,那么P應(yīng)以P’來替換,框426,并且過程以新P值來替換。如果突變路徑不應(yīng)被接受,那么重復(fù)過程而不替換P值。
[0057]應(yīng)該理解的是,雖然流程圖400應(yīng)用到X方向上的導(dǎo)數(shù),但是類似過程對于Y方向獨(dú)立地運(yùn)行。標(biāo)準(zhǔn)Metropolis光傳輸過程包括框402、404、408、412、414、416、424、426和430。本發(fā)明添加框406、410、418、420、422和428???16,418,420和422全部是適合度計(jì)算的一部分。這些步驟也應(yīng)用到框402中的初始適合度計(jì)算。
[0058]通過在許多許多路徑的選擇之上的該過程的應(yīng)用,步驟412利用ΛΧ和Ay梯度值來填充顯示平面的像素從而梯度域中的圖像。在最后的步驟步驟428,泊松解算器可以用來將梯度域轉(zhuǎn)換成原始域,例如圖像強(qiáng)度值。在一個(gè)實(shí)施例中,知悉用于每個(gè)像素的梯度和跨圖像的平均圖像強(qiáng)度允許到原始域的轉(zhuǎn)換。
[0059]在一個(gè)實(shí)施例中,流程圖400的過程可以用來直接估計(jì)最后圖像的數(shù)值拉普拉斯算子(Laplacian)而不是其梯度。這涉及計(jì)算沿χ和y維二者的二階差分。因?yàn)椴皇敲恳粋€(gè)向量場都是標(biāo)量函數(shù)的梯度,所以最后圖像的拉普拉斯算子表示是比梯度場更嚴(yán)密的表
/Jn ο
[0060]在進(jìn)一步的實(shí)施例中,泊松解算器可通過計(jì)算低分辨率、可能地低分辨率以及嘈雜的原始域“導(dǎo)引圖像”來正規(guī)化,該原始域“導(dǎo)引圖像”同時(shí)針對梯度重建設(shè)定正確比例和偏置以及將重建向正確的低頻率內(nèi)容引導(dǎo)。這可通過要求經(jīng)重建和導(dǎo)引圖像二者的局部加權(quán)平均值匹配來完成。
[0061]在又一個(gè)實(shí)施例中,過程可被延遲以在多個(gè)比例上計(jì)算導(dǎo)數(shù)。例如,雙倍長梯度I f (x+2, y, P) -f (x, y, P) I 和 I f (x, y+2, P) -f (x, y, P) I ,以多個(gè)比例隨機(jī)地驅(qū)動(dòng)
采樣器以建造梯度金字塔。[0062]圖5描繪了根據(jù)本發(fā)明的實(shí)施例的、使用標(biāo)準(zhǔn)Metropolis光傳輸過程520所生成的圖像和使用梯度域Metropolis光傳輸過程522所生成的圖像的比較。
[0063]使用梯度域Metropolis光傳輸過程522所生成的圖像使用簡單場景中的照射的單個(gè)間接反射。使用標(biāo)準(zhǔn)Metropolis光傳輸過程520所生成的圖像在原始域中來計(jì)算。使用梯度域Metropolis光傳輸過程522所生成的圖像比使用如本文所修改的標(biāo)準(zhǔn)Metropolis光傳輸過程520所生成的圖像每像素要求更低數(shù)目的樣本以產(chǎn)生梯度計(jì)算以及通過具有較高梯度值的像素的光路徑選擇。例如,每像素的樣本的適當(dāng)數(shù)目對于梯度域Metropolis光傳輸過程522是16并且對于使用標(biāo)準(zhǔn)Metropolis光傳輸過程520所生成的圖像是小于或等于32。
[0064]圖6描繪了根據(jù)本發(fā)明的實(shí)施例的、生成圖像的示例性計(jì)算機(jī)實(shí)現(xiàn)的過程的流程圖 600。
[0065]在框602中,模擬虛擬化三維空間內(nèi)的至少一個(gè)光源的存在。例如,在圖5中,梯度域MetropoIis光傳輸過程使用簡單場景中的照明的單個(gè)間接反射。
[0066]在框604中,在虛擬化三維空間內(nèi)定義光感測平面。光感測平面包括要顯示在顯示屏上的多個(gè)像素的矩陣。
[0067]在框606中,使用光傳輸過程針對矩陣的每個(gè)像素計(jì)算梯度值以產(chǎn)生多個(gè)梯度值。圖7的流程圖描述了針對矩陣的每個(gè)像素的計(jì)算。在實(shí)施例中,光傳輸過程是經(jīng)修改的Metropolis光傳輸過程。重復(fù)框606直到過程應(yīng)由于運(yùn)行時(shí)間或圖像不完整性而終止。
[0068]在框608,多個(gè)梯度值轉(zhuǎn)換成表示圖像的多個(gè)光強(qiáng)度值。轉(zhuǎn)換包括使用泊松解算器過程將多個(gè)梯度值轉(zhuǎn)換成多個(gè)光強(qiáng)度值。在實(shí)施例中,轉(zhuǎn)換進(jìn)一步包括產(chǎn)生用于矩陣的粗略多個(gè)光強(qiáng)度值的Metropolis光傳輸過程。進(jìn)一步地,轉(zhuǎn)換還包括結(jié)合多個(gè)梯度值使用粗略多個(gè)光強(qiáng)度值來產(chǎn)生多個(gè)光強(qiáng)度值。
[0069]在實(shí)施例中,生成圖像的過程還包括將圖像顯示在顯示屏上。流程圖600的過程可以使用系統(tǒng)100 (圖1)來實(shí)現(xiàn)。
[0070]圖7描繪了根據(jù)本發(fā)明的實(shí)施例的、計(jì)算梯度值的示例性計(jì)算機(jī)實(shí)現(xiàn)的過程的流程圖700。流程圖700描述圖6的框606中的計(jì)算梯度值。
[0071]在框702中,選擇虛擬化三維空間內(nèi)的多個(gè)光路徑對。
[0072]在框704中,針對每個(gè)光路徑對確定用于矩陣的各個(gè)像素的梯度貢獻(xiàn)。在實(shí)施例中,確定包括針對光路徑對的第一光路徑計(jì)算對矩陣的第一像素的第一光強(qiáng)度貢獻(xiàn)。進(jìn)一步地,確定包括針對光路徑對的第二光路徑計(jì)算對第二像素的第二光強(qiáng)度貢獻(xiàn),其中第二像素與第一像素毗鄰。此外,確定包括第一和第二光強(qiáng)度貢獻(xiàn)之間的差。此外,確定包括如果差為正則對梯度貢獻(xiàn)賦予正值以及如果差為負(fù)則對梯度貢獻(xiàn)賦予負(fù)值。
[0073]在實(shí)施例中,第一和第二像素分別根據(jù)(X,y)和(X,y+Ι)在矩陣內(nèi)進(jìn)行定位。在另一個(gè)實(shí)施例中,第一和第二像素根據(jù)(X,y)和(X+1,y)進(jìn)行定位。
[0074]在框706中,針對每個(gè)光路徑對,更新用于具有梯度貢獻(xiàn)的各個(gè)像素的梯度值???02中的選擇偏向于選擇更多通過具有較大梯度值的像素的光路徑。
[0075]圖8描繪了根據(jù)本發(fā)明的實(shí)施例的、生成圖像的示例性計(jì)算機(jī)實(shí)現(xiàn)的方法的流程圖 800。
[0076]在框802中,模擬虛擬化三維空間內(nèi)的至少一個(gè)光源的存在。[0077]在框804中,經(jīng)修改的Metropolis光傳輸過程被執(zhí)行以產(chǎn)生梯度值的二維像素矩陣。矩陣表示虛擬化三維空間內(nèi)的光傳感器平面。經(jīng)修改的Metropolis光傳輸過程被修改,其中光路徑樣本選擇偏向于選擇更多通過該矩陣的被賦予了較大梯度值的像素的光路徑。
[0078]執(zhí)行Metropolis光傳輸過程包括選擇虛擬化三維空間內(nèi)的多個(gè)光路徑對。進(jìn)一步地,過程包括針對每個(gè)光路徑對確定用于矩陣的各個(gè)像素的梯度貢獻(xiàn)。此外,過程包括針對光對更新用于具有梯度貢獻(xiàn)的各個(gè)像素的梯度值。
[0079]在實(shí)施例中,確定包括針對光路徑對的第一光路徑計(jì)算對矩陣的第一像素的第一光強(qiáng)度貢獻(xiàn)。進(jìn)一步地,確定包括針對第一光路徑對的第二光路徑計(jì)算對第二像素的第二光強(qiáng)度貢獻(xiàn),第二像素與第一像素毗鄰。此外,確定包括第一和第二光強(qiáng)度貢獻(xiàn)之間的差。此外,確定包括如果差為正則對梯度貢獻(xiàn)賦予正值并且如果差為負(fù)則對梯度貢獻(xiàn)賦予負(fù)值。
[0080]在又一個(gè)實(shí)施例中,第一和第二像素分別根據(jù)(X,y)和(X,y+Ι)在矩陣內(nèi)進(jìn)行定位。
[0081]在框806中,梯度值被轉(zhuǎn)換成光強(qiáng)度值。光強(qiáng)度值表示圖像。在實(shí)施例中,轉(zhuǎn)換包括使用泊松解算器過程將梯度值轉(zhuǎn)換成光強(qiáng)度值。
[0082]在實(shí)施例中,流程圖800的過程還包括通過將光強(qiáng)度值顯示在顯示屏上來渲染圖像。
[0083]在又一個(gè)實(shí)施例中,流程圖800的過程還包括實(shí)施標(biāo)準(zhǔn)Metropolis光傳輸過程以產(chǎn)生用于矩陣的粗略多個(gè)光強(qiáng)度值。轉(zhuǎn)換包括結(jié)合梯度值使用粗略多個(gè)光強(qiáng)度值以產(chǎn)生光強(qiáng)度值。
[0084]圖9描繪了根據(jù)本發(fā)明的實(shí)施例的、產(chǎn)生多個(gè)光強(qiáng)度值的示例性計(jì)算機(jī)實(shí)現(xiàn)的過程的流程圖。在框902中,實(shí)施Metropolis光傳輸過程以產(chǎn)生用于包括多個(gè)像素的矩陣的粗略多個(gè)光強(qiáng)度值。例如,在圖2中,實(shí)施Metropolis光傳輸過程以產(chǎn)生用于矩陣的多個(gè)光強(qiáng)度值。矩陣包括多個(gè)像素。
[0085]在框904中,經(jīng)修改的Metropolis光傳輸過程用來選擇樣本光路徑并且使用路徑來選擇光路徑對以及針對矩陣的每個(gè)像素計(jì)算多個(gè)梯度值。例如,在圖2中,經(jīng)修改的Metropolis光傳輸過程用來選擇由光源所生成的樣本光路徑。樣本光路徑然后用來選擇光路徑對。光路徑對是照射路徑和Ax光路徑或者是照射路徑和Ay光路徑的組合。光路徑對然后用來計(jì)算用于矩陣內(nèi)的每個(gè)像素的多個(gè)梯度值。
[0086]在框906中,結(jié)合多個(gè)梯度值使用粗略多個(gè)光強(qiáng)度值來產(chǎn)生多個(gè)光強(qiáng)度值。例如,在圖4中,結(jié)合多個(gè)梯度值的粗略多個(gè)光強(qiáng)度值用來在顯示圖像之前產(chǎn)生多個(gè)光強(qiáng)度值。
[0087]雖然前述公開使用具體框圖、流程圖和示例闡述了各實(shí)施例,但是每個(gè)框圖組分、流程圖步驟、操作和/或本文所描述和/或示出的組分可使用各種硬件、軟件或固件(或其組合)配置單獨(dú)和/或選擇性地來實(shí)現(xiàn)。另外,包含在其他部件內(nèi)的部件的任何公開應(yīng)被視為示范性的,因?yàn)樵S多其他架構(gòu)可以實(shí)現(xiàn)為達(dá)到相同功能性。
[0088]本文所描述和/或示出的步驟序列和過程參數(shù)僅以示例的方式給出。例如,雖然本文所示出和/或描述的步驟可以以特定次序來示出和討論,但是這些步驟不一定需要以所示出或討論的次序來實(shí)施。本文所描述和/或示出的各示范性方法也可以省略本文所描述或示出的步驟中的一個(gè)或多個(gè),或者包括除這些所公開步驟外的附加的步驟。
[0089]雖然本文已在全功能計(jì)算系統(tǒng)的環(huán)境中對各實(shí)施例進(jìn)行了描述和/或示出,但是這些示范性實(shí)施例中的一個(gè)或多個(gè)可以以各種形式分布為程序產(chǎn)品,而不管用來實(shí)際實(shí)行分布的計(jì)算機(jī)可讀介質(zhì)的特定類型。本文所公開的實(shí)施例也可以使用實(shí)施某些任務(wù)的軟件模塊來實(shí)現(xiàn)。這些軟件模塊可以包括可存儲在計(jì)算機(jī)可讀存儲介質(zhì)或計(jì)算系統(tǒng)上的腳本、批處理或其他可執(zhí)行文件。這些軟件模塊可將計(jì)算系統(tǒng)配置為實(shí)施本文所公開的示范性實(shí)施例中的一個(gè)或多個(gè)。本文所公開的軟件模塊中的一個(gè)或多個(gè)可以在云計(jì)算環(huán)境中實(shí)現(xiàn)。云計(jì)算環(huán)境可經(jīng)由互聯(lián)網(wǎng)提供各種服務(wù)和應(yīng)用。這些基于云的服務(wù)(例如軟件即服務(wù)、平臺即服務(wù)、基礎(chǔ)設(shè)施即服務(wù)等)可以通過網(wǎng)頁瀏覽器或其他遠(yuǎn)程接口訪問。本文所描述的各功能可以通過遠(yuǎn)程臺式電腦環(huán)境或任何其他基于云的計(jì)算環(huán)境來提供。
[0090]出于說明的目的,已參照具體實(shí)施例對前述描述進(jìn)行了描述。然而,以上示例性討論不旨在是詳盡的或?qū)⒈景l(fā)明限于所公開的確切形式。鑒于以上教導(dǎo),許多修改和變化是可能的。為了最好地說明本發(fā)明的原理和其實(shí)際應(yīng)用選擇并且描述了實(shí)施例,從而使本領(lǐng)域其他技術(shù)人員最好地利用本發(fā)明和具有如可能適合于所構(gòu)想的特定使用的各修改的各實(shí)施例。
[0091]因此描述了根據(jù)本發(fā)明的實(shí)施例。雖然已在特定實(shí)施例中描述了本公開,但是應(yīng)該理解的是,本發(fā)明不應(yīng)理解為受這類實(shí)施例所限制,而應(yīng)理解為根據(jù)下面的權(quán)利要求書。
【權(quán)利要求】
1.一種生成圖像的方法,所述方法包括: 模擬虛擬化三維空間內(nèi)的至少一個(gè)光源的存在; 在所述虛擬化三維空間內(nèi)定義光感測平面,其中所述光感測平面包括要顯示在顯示屏上的多個(gè)像素的矩陣; 使用光傳輸過程,針對所述矩陣的每個(gè)像素計(jì)算梯度值以產(chǎn)生多個(gè)梯度值,其中所述計(jì)算包括: 選擇所述虛擬化三維空間內(nèi)的多個(gè)光路徑對; 針對每個(gè)光路徑對,確定用于所述矩陣的各個(gè)像素的梯度貢獻(xiàn);以及針對每個(gè)光路徑對,利用所述梯度貢獻(xiàn)來更新用于所述各個(gè)像素的梯度值,其中所述選擇偏向于選擇通過具有較大梯度值的像素的更多光路徑;以及將所述多個(gè)梯度值轉(zhuǎn)換成表示所述圖像的多個(gè)光強(qiáng)度值。
2.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括將所述圖像顯示在所述顯示屏上。
3.根據(jù)權(quán)利要求1所述的方法,其中所述轉(zhuǎn)換包括使用泊松解算器過程將所述多個(gè)梯度值轉(zhuǎn)換成所述多個(gè)光強(qiáng)度值。
4.根據(jù)權(quán)利要求 1所述的方法,其中所述光傳輸過程是經(jīng)修改的Metropolis光傳輸過程。
5.根據(jù)權(quán)利要求1所述的方法,其中所述確定包括: 針對光路徑對的第一光路徑,計(jì)算對所述矩陣的第一像素的第一光強(qiáng)度貢獻(xiàn); 針對所述第一光路徑對的第二光路徑,計(jì)算對第二像素的第二光強(qiáng)度貢獻(xiàn),所述第二像素與所述第一像素毗鄰; 確定所述第一和第二光強(qiáng)度貢獻(xiàn)之間的差;以及 如果所述差為正,則對所述梯度貢獻(xiàn)賦予正值,以及如果所述差為負(fù),則對所述梯度貢獻(xiàn)賦予負(fù)值。
6.根據(jù)權(quán)利要求5所述的方法,其中在所述矩陣內(nèi)分別根據(jù)(X,y)和(X,y+Ι)對所述第一和第二像素進(jìn)行定位。
7.根據(jù)權(quán)利要求5所述的方法,其中在所述矩陣內(nèi)分別根據(jù)(X,y)和(x+1,y)對所述第一和第二像素進(jìn)行定位。
8.根據(jù)權(quán)利要求3所述的方法,進(jìn)一步包括實(shí)施Metropolis光傳輸過程以產(chǎn)生用于所述矩陣的粗略多個(gè)光強(qiáng)度值,并且其中所述轉(zhuǎn)換包括結(jié)合所述多個(gè)梯度值使用所述粗略多個(gè)光強(qiáng)度值以產(chǎn)生所述多個(gè)光強(qiáng)度值。
9.一種計(jì)算機(jī)系統(tǒng),包括: 處理器,其耦連到總線; 顯示屏,其耦連到所述總線;以及 存儲器,其耦連到所述總線,其中所述存儲器包括指令,所述指令當(dāng)執(zhí)行在所述處理器上時(shí)使所述計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)生成圖像的方法,所述方法包括: 模擬虛擬化三維空間內(nèi)的至少一個(gè)光源的存在; 在所述虛擬化三維空間內(nèi)定義光感測平面,其中所述光感測平面包括要顯示在顯示屏上的多個(gè)像素的矩陣; 使用光傳輸過程,針對所述矩陣的每個(gè)像素計(jì)算梯度值以產(chǎn)生多個(gè)梯度值,其中所述計(jì)算包括: 選擇所述虛擬化三維空間內(nèi)的多個(gè)光路徑對; 針對每個(gè)光路徑對,確定用于所述矩陣的各個(gè)像素的梯度貢獻(xiàn);以及針對每個(gè)光路徑對,利用所述梯度貢獻(xiàn)來更新用于所述各個(gè)像素的梯度值,其中所述選擇偏向于選擇通過具有較大梯度值的像素的更多光路徑;以及將所述多個(gè)梯度值轉(zhuǎn)換成表示所述圖像的多個(gè)光強(qiáng)度值。
10.根據(jù)權(quán)利要求9所述的計(jì)算機(jī)系統(tǒng),其中所述方法進(jìn)一步包括將所述圖像顯示在所述顯示屏上。
11.根據(jù)權(quán)利要求9所述的計(jì)算機(jī)系統(tǒng),其中所述轉(zhuǎn)換包括使用泊松解算器過程將所述多個(gè)梯度值轉(zhuǎn)換成所述多個(gè)光強(qiáng)度值,并且其中所述光傳輸過程是經(jīng)修改的Metropolis光傳輸過程。
12.根據(jù)權(quán)利要求9所述的計(jì)算機(jī)系統(tǒng),其中所述確定包括: 針對光路徑對的第一光路徑,計(jì)算對所述矩陣的第一像素的第一光強(qiáng)度貢獻(xiàn); 針對所述第一光路徑對的第二光路徑,計(jì)算對第二像素的第二光強(qiáng)度貢獻(xiàn),所述第二像素與所述第一像素毗鄰; 確定所述第一和第二光強(qiáng)度貢獻(xiàn)之間的差;以及 如果所述差為正,則對所述梯度貢獻(xiàn)賦予正值,以及如果所述差為負(fù),則對所述梯度貢獻(xiàn)賦予負(fù)值。
13.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)系統(tǒng),其中所述方法進(jìn)一步包括實(shí)施Metropolis光傳輸過程以產(chǎn)生用于所述矩陣的粗略多個(gè)光強(qiáng)度值,并且其中所述轉(zhuǎn)換包括結(jié)合所述多個(gè)梯度值使用所述粗略多個(gè)光強(qiáng)度值來產(chǎn)生所述多個(gè)光強(qiáng)度值。
14.一種生成圖像的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括: 模擬虛擬化三維空間內(nèi)的至少一個(gè)光源的存在; 執(zhí)行經(jīng)修改的Metropolis光傳輸過程以產(chǎn)生梯度值的二維像素矩陣,其中所述矩陣表示所述虛擬化三維空間內(nèi)的光傳感器平面,并且其中進(jìn)一步地,修改所述經(jīng)修改的MetropoI i s光傳輸過程,其中將光路徑樣本選擇偏向于選擇通過所述矩陣的被賦予了較大梯度值的像素的更多光路徑;以及 將所述梯度值轉(zhuǎn)換成光強(qiáng)度值,其中所述光強(qiáng)度值表示所述圖像。
15.根據(jù)權(quán)利要求14所述的方法,進(jìn)一步包括通過將所述光強(qiáng)度值顯示在顯示屏上來渲染所述圖像。
【文檔編號】G06T17/00GK103914864SQ201310745200
【公開日】2014年7月9日 申請日期:2013年12月30日 優(yōu)先權(quán)日:2012年9月11日
【發(fā)明者】亞科·萊赫蒂寧, 蒂莫·艾拉, 薩穆利·萊內(nèi), 泰羅·卡拉斯, 大衛(wèi)·利布基 申請人:輝達(dá)公司