TWI547902B - 採用梯度域梅特羅波利斯光傳輸以呈像圖形之方法與系統 - Google Patents

採用梯度域梅特羅波利斯光傳輸以呈像圖形之方法與系統 Download PDF

Info

Publication number
TWI547902B
TWI547902B TW102148643A TW102148643A TWI547902B TW I547902 B TWI547902 B TW I547902B TW 102148643 A TW102148643 A TW 102148643A TW 102148643 A TW102148643 A TW 102148643A TW I547902 B TWI547902 B TW I547902B
Authority
TW
Taiwan
Prior art keywords
gradient
values
light
image
pixel
Prior art date
Application number
TW102148643A
Other languages
English (en)
Other versions
TW201441971A (zh
Inventor
賈各 雷第內
提摩 艾拉
山繆理 連恩
泰洛 卡拉思
大衛 盧博克
Original Assignee
輝達公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/730,320 external-priority patent/US9437039B2/en
Application filed by 輝達公司 filed Critical 輝達公司
Publication of TW201441971A publication Critical patent/TW201441971A/zh
Application granted granted Critical
Publication of TWI547902B publication Critical patent/TWI547902B/zh

Links

Landscapes

  • Image Processing (AREA)

Description

採用梯度域梅特羅波利斯光傳輸以呈像圖形之方法與系統 【相關申請案交叉參照】
本申請案主張於2012年9月11日申請,申請號61/699,483,歸檔編號NVID-P-HE-12-0317-US0的美國臨時專利申請案之優先權,其完整內容在此併入當成參考。
本發明係關於一種採用梯度域梅特羅波利斯光傳輸以呈像圖形之方法與系統。
梅特羅波利斯取樣為產生具備全域間接照明效果的真實影像之標準方法,梅特羅波利斯取樣不偏頗並且可調適。不偏頗的意思就是產生的結果在平均上顯示正確,這是預測呈像應用所要的。可調適的意思就是該程序付出最多計算工作量在對於最終影像貢獻最絕對光彩之光傳輸模擬之部分。不過,標準梅特羅波利斯取樣集中努力之絕對光彩對於可調適取樣並不一定是好的措施。
標準梅特羅波利斯光傳輸程序產生一些樣本, 其中x和y為影像座標,並且P為路徑座標向量,一種識別將光線從光源傳播至觀看平面特定像素的特定射線區段鍊之高維度向量。梅特羅波利斯處理產生樣本使其根據測量單一光路徑至單一影像空間位置的差異貢獻之路徑產量函數f(x,y,P)來分布。該最終影像是透過邊緣化P之樣本,即是計算該影像之上的該等樣本密度所獲得的。不過,本方法在獲得視覺收斂方面緩慢。
因此,存在對於產生具有更快視覺收斂的影像之需求。本發明的具體實施例提供一種用於產生一中間影像的系統及方法,該影像利用執行一類梅特羅波利斯光傳輸處理來描述一實際影像的梯度,其中光路徑選擇偏向選擇更多光路徑給具有較高梯度值的像素,然後利用解一標準卜瓦松等式(Poisson equation)來從梯度域轉換成原始域,以重新建構該最終影像。
尤其是,本發明的具體實施例直接關於一種產生一影像的方法。該方法包含模擬在虛擬化三維空間之內至少一個光源的存在,在該虛擬化三維空間之內,定義一光感應平面,該光感應平面包含要顯示在顯示螢幕上的一些像素之矩陣。該方法另包含使用一光傳輸程序,計算該矩陣中每一像素的一梯度值,以產生一些梯度值。計算該等梯度值包含選擇在該虛擬化三維空間之內的一些光路徑配對。計算該等梯度值另包含針對每一光路徑配對,決定一梯度貢獻給該矩陣的個別像素。此外,計算該等梯度值包含針對每一光路徑配對,以該梯度貢獻更新該個別像素的一梯度 值,其中該選擇偏向選擇通過像素具有較大梯度值的更多光路徑。然後,將該等複數個梯度值轉換成代表該影像的複數個光亮度值。
在另一個具體實施例內,本發明係關於一種產生一影像的電腦實施方法。該方法包含模擬在虛擬化三維空間之內至少一個光源的存在,一改良的梅特羅波利斯光傳輸程序執行,來產生梯度值的一二維像素矩陣。該矩陣代表該虛擬化三維空間之內一光感應器平面。該梅特羅波利斯光傳輸程序已經過改良,其中光路徑樣本選擇偏向選擇通過矩陣像素並具有較大梯度值指派的更多光路徑。該方法另包含將該等梯度值轉換成光亮度值。該等光亮度值代表該影像。
尚且在另一個具體實施例內,本發明係關於一電腦系統。該電腦系統包含耦合至一匯流排的一處理器、耦合至該匯流排的一顯示螢幕以及耦合至該匯流排的一記憶體。該記憶體包含指令,當該等指令在該處理器上執行時,使該電腦系統實施產生一影像的一方法。該方法包含模擬在虛擬化三維空間之內至少一個光源的存在。在該虛擬化三維空間之內,定義一光感應平面,該光感應平面包含要顯示在顯示螢幕上的一些像素之矩陣。該方法另包含使用一光傳輸程序,計算該矩陣中每一像素的一梯度值,以產生一些梯度值。計算該等梯度值包含選擇在該虛擬化三維空間之內的一些光路徑配對。計算該等梯度值另包含針對每一光路徑配對,決定一梯度貢獻給該矩陣的個別像素。此外,計算該等梯度值包含針對每一光路徑配對,以該梯度貢獻更新該個別像素的一梯度值,其中該選擇偏向選擇通過像素具有較大梯度值的更多光路徑。將該等複數個梯度值轉換成代表該影像的複數個光亮度值。
以下詳細描述結合附圖,將對本發明的性質與優點有更佳瞭解。
100‧‧‧電腦系統
102‧‧‧中央處理單元
104‧‧‧系統記憶體
106‧‧‧系統板
108‧‧‧通訊匯流排
110‧‧‧圖形處理單元
112‧‧‧記憶體裝置
114‧‧‧圖形子系統
116‧‧‧顯示器
118‧‧‧電源單元
200‧‧‧虛擬化三維圖形場景
221‧‧‧光源
223‧‧‧物體
225‧‧‧照明路徑
227‧‧‧觀點
229‧‧‧觀看視窗
231‧‧‧像素
233‧‧‧△x光路徑
235‧‧‧△y光路徑
333‧‧‧畫面
337‧‧‧第一像素
339‧‧‧第二像素
400‧‧‧流程圖
520‧‧‧標準梅特羅波利斯光傳輸程序
522‧‧‧梯度域梅特羅波利斯光傳輸程序
600‧‧‧流程圖
700‧‧‧流程圖
800‧‧‧流程圖
900‧‧‧流程圖
402、404、406、408、410、412、414、416、418、420、422、424、426、428、430、602、604、606、608、702、704、706、802、804、806、902、904、906‧‧‧方塊
本發明的具體實施例藉由範例進行說明並且不受其限制,在附圖中的數據以及其中相同的參考編號指示相同的元件。
圖1顯示根據本發明一個具體實施例的範例電腦系統。
圖2根據本發明的具體實施例,描述呈現為記憶體內所儲存資料物件並包含一光源的一虛擬化三維圖形場景。
圖3A根據本發明的具體實施例,描述包含複數個具有梯度值的像素之一觀看平面或畫面之內一方格。
圖3B根據本發明的具體實施例,描述包含複數個具有梯度值的像素之一觀看平面或畫面之內一方格,其中某些像素具有比其他像素還要大的梯度值。
圖4根據本發明的具體實施例,描述從一梯度式梅特羅波利斯光傳輸程序建構一影像的範例電腦控制處理之流程圖400。
圖5根據本發明的具體實施例,描述使用一標準梅特羅波利斯光傳輸程序與一梯度域梅特羅波利斯光傳輸程序所產生的影像之比較。
圖6為根據本發明的具體實施例,描述產生一影像的範例電腦實施處理流程圖。
圖7為根據本發明的具體實施例,描述計算一梯度值的範例電腦實施處理流程圖。
圖8為根據本發明的具體實施例,描述產生一影像的範例電腦實施處理流程圖。
圖9為根據本發明的具體實施例,描述產生複數個光亮度值的範例電腦實施處理流程圖。
在此將詳細參考本發明的許多具體實施例,附圖內將說明其實例。雖然本發明將結合這些具體實施例來說明,應瞭解這並不意欲將本發明限制在這些具體實施例上。相反地,本發明意欲涵蓋替代方案、修正及均等物之,其可包括於如附加之申請專利範圍所定義之本發明之精神及範疇內。更進一步,在下列本發明的詳細說明中,將公佈許多特定細節以提供對本發明有通盤了解。不過,應了解在沒有這些特定細節的情況下也可實施本發明。在其他實例中,已知的方法、程序、組件和電路並未詳述,以免不必要地模糊本具體實施例的態樣。
某些詳細說明部分都以可在電腦記憶體上執行的資料位元上操作之程序、邏輯區塊、處理以及其他符號表示之方式來呈現。這些說明與表示為精通資料處理技術人士用來將其工作內容最有效地灌輸給其他精通此技術人士的方式。在本申請案中,程序、邏輯區塊、處理等等一般係認為是導致所要結果的自相一致的步驟或指令。這些步驟為使用實體量之實體操縱。通常,雖然非必要,不過這些量採用可以儲存、傳輸、結合、比較以及在電腦系統內操縱的電或磁性信號形式。為了時間上方便起見,原則上因為常用,所以這些信號代表交易、位元、數值、元件、符號、字 元、樣板、像素等等。
不過,應瞭解所有這些與類似詞彙都與適當的物理量相關連,並且僅為適用這些量的便利符號。除非特別聲明,否則從下列討論中可瞭解,整個本詳細說明當中,利用像是「分配」、「關聯」、「移動」、「複製」、「設定」、「存取」、「抹除」、「釋放」、「控制」、「新增」、「記錄」、「決定」、「識別」、「快取」、「維護」、「遞增」、「比較」、「移除」、「呈像」、「寫入」等等詞彙所做的論述,都是指代電腦系統或類似電子計算裝置或處理器(像是圖1的系統100)之動作與處理(例如圖4的流程圖400)。電腦系統或類似電子計算裝置操縱並轉換呈現為電腦系統暫存器、記憶體或其他這種資料儲存、傳輸或顯示裝置內實體(電子)量的資料。
本說明書內描述的具體實施例可在位於例如程式模組這類某些電腦可讀取儲存媒體形式上,由一或更多電腦或其他裝置所執行的電腦可執行指令之一般內容內論述。藉由範例並且不受限於此範例,電腦可讀取儲存媒體可包含非暫態電腦可讀取儲存媒體以及通訊媒體;包含暫態、傳播信號以外所有電腦可讀取媒體的非暫態電腦可讀取媒體。一般而言,程式模組包含常式、程式、物件、組件、資料結構以及執行特定工作或實施特定摘要資料類型等。程式模組的功能性可在許多具體實施例內結合或分散。
電腦儲存媒體包含在任何方法或技術內實施的揮發與非揮發性、可移除與不可移除媒體,用於儲存像是電腦可讀取指令、資料結構、程式模組或其他資料等等資訊。電腦儲存媒體包含但不受限於隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電子抹除式可複寫唯讀記憶體 (EEPROM)、快閃記憶體或其他記憶體技術、光碟唯讀記憶體(CD-ROM)、數位視訊光碟(DVD)或其他光學儲存裝置、磁匣、磁帶、磁片儲存或其他磁性儲存裝置,或可用於儲存所要資訊以及可存取來擷取這些資訊的其他任何媒體。
通訊媒體可具體實施電腦可執行指令、資料結構以及程式模組,並且包含任何資訊傳遞媒體。藉由範例並且不受限於此範例,通訊媒體包含像是有線網路或直接有線連線的有線媒體,以及像是聲音、射頻(RF)、紅外線以及其他無線媒體的無線媒體。上述任何媒體的通訊也應該包含在電腦可讀取媒體的域內。
圖1顯示根據本發明具體實施例的範例電腦系統100。電腦系統100描述根據本發明具體實施例的組件,提供特定硬體式與軟體式功能的執行平台。一般而言,電腦系統100包含一系統板106,其包含至少一個中央處理單元(CPU,central processing unit)102以及一個系統記憶體104。CPU 102可透過橋接器組件/記憶體控制器(未顯示)連結至系統記憶體104,或可透過CPU 102內部的一記憶體控制器(未顯示)直接連結至系統記憶體104。
電腦系統100也包含一圖形子系統114,其包含至少一個圖形處理單元(GPU,graphics processor unit)110,例如:圖形子系統114可包含在繪圖卡上。圖形子系統114可耦合至一顯示器116。一或多個額外GPU 110可選擇性耦合至電腦系統100,以便進一步增加其計算能力。GPU 110可透過一通訊匯流排108耦合至CPU 102以及系統記憶體104。GPU 110可實施成為分散式組件、設計來透過連接器(例如AGP插槽、PCI-E插槽等 等)連結至電腦系統100的分散式繪圖卡、分散式積體電路晶粒(例如直接固定在主機板上)或包含在電腦系統晶片組(未顯示)的積體電路晶粒內之整合式GPU。另外,記憶體裝置112可耦合至GPU 110,用於高頻寬圖形資料儲存,例如訊框緩衝器。在一個具體實施例內,記憶體裝置112可為動態隨機存取記憶體。一電源單元(PSU,power source unit)118可提供電力給系統板106以及圖形子系統114。
CPU 102和GPU 110也可整合成單一積體電路晶粒,並且該CPU和GPU可共享許多資源,例如指令邏輯、緩衝器、功能單元等等,或可提供個別資源用於圖形與一般用途操作。該GPU可進一步整合進入一核心邏輯組件內。因此,此處所說明與GPU 110相關聯的任何或全部電路以及/或功能也可在合適設置的CPU 102內實施或由其執行。此外,雖然此處所述具體實施例參照一GPU,應瞭解此處所述電路以及/或功能也可在其他種處理器內實施(像是一般用途或其他特殊用途協同處理器),或在CPU內實施。
系統100可實施成例如桌上型電腦系統或伺服器電腦系統,具有連接至專屬圖形呈像GPU 110的強效通用CPU 102。在這種具體實施例內,組件內可額外包含週邊匯流排、特殊音頻/視頻組件、IO裝置等等。類似地,系統100可實施成為可攜式裝置(例如行動電話、PDA等等)、直播衛星(DBS)/地面機上盒或是機上盒遊戲主機裝置,像是例如美國微軟公司的Xbox®或是日本索尼公司PlayStation3®。系統100也可實施成為「系統單晶片」,其中計算裝置的電子組件(例如組件102、104、110、112等等)完整包含在單一積體電路晶粒內,範例包含具有顯示器的手持式儀器、汽 車導航系統、可攜式娛樂系統等等。
梯度域梅特羅波利斯光傳輸
本發明的具體實施例提供一種使用改良式梅特羅波利斯光傳輸處理,來在一觀看平面之內產生描述一實際影像的該等光梯度值之一中間影像,及然後以解一標準卜瓦松等式來從梯度域轉換成原始域重新建構該最終影像的系統及方法。不過,本發明的具體實施例可套用至用於產生一影像的任何系統或方法。該原始梅特羅波利斯光傳輸程序由E.Veach和L.Guibas描述於1997.Metropolis Light Transport.Proc.SIGGRAPH’97之內。
圖2根據本發明的具體實施例,描述呈現為記憶體內所儲存資料物件並包含一光源221的一虛擬化三維圖形場景200。虛擬化三維場景200也包含該場景內的物體223。光源221透過照明路徑225照明虛擬化的三維場景200。可以理解,照明路徑225只是光源221在虛擬化三維空間200內投射出來的許多照明路徑之一者。虛擬化三維空間200也包含一觀點227。觀點227為在三維場景200之內看見物體223的點,觀點227投射出一觀點貫穿觀看視窗229,觀看視窗229為二維光感應平面,包含要顯示在顯示裝置,例如顯示裝置116(圖1)的像素231之矩陣。
由光源221投射的照明路徑225反射並彈離物體223,照明路徑225根據標準梅特羅波利斯光傳輸程序投射,此為業界所熟知。照明路徑225通過觀看視窗229上的像素231。在本發明的具體實施例內,照明路徑225可往x方向或y方向擾動,產生一△x光路徑233或一△y光路徑235,△x光路徑233和△y光路徑235都為從照明路徑225往x或y方向擾 動一個像素的光路徑。如此照明路徑225與△x光路徑233一起形成一光取樣路徑配對,類似地,如此照明路徑225與△y光路徑235也形成一光取樣路徑配對。這些光取樣路徑配對允許本發明具體實施例計算像素231往特定方向,例如△x或△y的光亮度梯度。對於像素231該梯度貢獻或配對之內光亮度差異總量以△x梯度值或△y梯度值儲存。因此,觀看視窗229的矩陣之內每一像素231都儲存對每一方向(x方向和y方向)之一梯度值。
該標準梅特羅波利斯光傳輸程序產生一路徑,並且將該路徑的節點儲存在一清單中。然後透過新增額外節點並且建立一新光路徑來修改該路徑。在建立此新路徑時,該程序決定新增多少新節點,以及這些新節點是否確實建立一新路徑。換言之,當依照該梅特羅波利斯光傳輸程序部分完成路徑選擇時,本發明的具體實施例與該梅特羅波利斯光傳輸程序不同之處有:1)該路徑樣本經過擾動,以允許梯度計算,以及2)樣本光路徑選擇偏向選擇通過更多具有較大梯度值的像素之路徑,反之亦然。相較之下,在傳統梅特羅波利斯光傳輸演算法中,路徑選擇偏向選擇更多對該影像貢獻更多光線的路徑。
本發明目標在於探索貢獻較大梯度給該影像的樣本光路徑。接著,影響將路徑改變成根據對該影像貢獻較大梯度給的那些路徑來擾動的路徑之可能性,每一路徑都貢獻一固定值給該梯度。該路徑選擇根據通過具有較大梯度的像素之路徑選擇而偏向。更多通過較大梯度像素的路徑被選擇。如此,樣本路徑選擇偏向具有較大梯度的影像區域,例如光亮度變動最密集的影像區域。運用卜瓦松等式,該等梯度值轉換成每一像素的絕對值(主要域),並且該結果影像顯示在一顯示裝置116上(圖1)。
在本發明的具體實施例內,計算出照明路徑225與△x光路徑233之間一梯度值。該梯度貢獻可為+1或-1。然後該梯度貢獻被放入對像素231之照明路徑225的整體梯度總和(用於x方向),。而對y方向也執行類似程序。該處理重複用於對應於△x光路徑和△y光路徑的後續照明路徑。多個樣本路徑選擇因此對該陣列內所有像素在該△x和△y方向內建立起梯度值。
圖3A根據本發明的具體實施例,描述包含複數個具有梯度值的像素231之一觀看平面或畫面333之內一方格。每一像素231都包含兩個梯度值,代表每一像素231上所儲存該影像亮度的梯度。因此,在每一像素上儲存的是△I/△x和△I/△y,該整體梯度總和。除此之外,每一像素也包含一座標值。像素231的該等梯度值為光路徑配對間之差異,如圖2所描述。
執行該梅特羅波利斯程序來選擇路徑。該路徑選擇偏向貢獻較大梯度值給該像素的那些路徑。該等梯度值被維持通過已顯示像素231的畫面333座標。然後在該等梯度值上解一卜瓦松等式,將該等梯度值轉換成絕對值給每一像素231。然後該結果影像顯示在顯示裝置116(圖1)的畫面333上。
本發明的具體實施例根據偏向具有較高梯度值的那些影像區域之光路徑選擇,執行梅特羅波利斯光傳輸,以計算該梯度域內用於每一像素的梯度值,並且在將該結果影像顯示在一顯示裝置上之前,在該主要域內將該等梯度值轉換成絕對值。
圖3B根據本發明的具體實施例,描述包含複數個具有梯度 值的像素之一觀看平面或畫面333之內一像素陣列,其中部分像素具有比其他像素還要大的梯度值。畫面333包含一第一像素337和一第二像素339。在此特定範例中,第一像素337具有比第二像素339還要大的梯度貢獻。結果,照明射線225的投射偏向第一像素337,並且在第一像素337上採集更多樣本。相較之下,在第二像素339上採集較少的樣本。如上面所提及,第一像素337和第二像素339都具有擾動的光路徑,就是每一樣本的△x光路徑233或△y光路徑235。每一照明射線225都與△x光路徑233或△y光路徑235一起形成一光路徑配對,因此第一像素337將具有比第二像素339更多的光路徑配對。每一像素231也包含兩個梯度值,代表每一像素231上所儲存該影像亮度的梯度。因此,在每一像素上儲存的是△I/△x和△I/y,該整體梯度總和。
圖4根據本發明的具體實施例,描述從一基於梅特羅波利斯光傳輸程序之梯度建構一影像的範例電腦控制處理之流程圖400。流程圖400描述一改良式梅特羅波利斯光傳輸程序的流程。該等計算都在該梯度域內運算。在該梯度域內運算的目標在於將集中努力於該影像內的「事情發生處」上,提供更快視覺收斂的可能。
一般而言,標準梅特羅波利斯光傳輸程序產生一些樣本,其中x和y為影像座標,並且P為路徑座標向量,一種識別將光線從光源傳播至特定像素的特定射線區段鍊之高維度向量。梅特羅波利斯處理產生樣本使其根據測量單一光路徑至單一影像空間位置的差異貢獻,即(x i ,y i ,P i ) f(x,y,P)之路徑產量函數f(x,y,P)來分布。該最終影像是透過邊緣化P之樣本,即是計算該影像之上的該等樣本密度所獲得。
在本發明的具體實施例內,運用梅特羅波利斯取樣法產生根據於x和y方向該路徑產出函數之有限差異所分布之樣本。樣本經過選擇,偏向選擇通過較高梯度值的像素之光路徑。實際上,產生兩組樣本A和B,像是: 以及
例如該第一組樣本A根據該絕對每像素x差異來分布,並且該組B則根據該絕對y差異來分散。在一個具體實施例內,該樣本集合係使用單一取樣器、使用差異方向當成該路徑產出函數內的額外變數以及根據該標準梅特羅波利斯程序在該兩者之間隨機切換所計算。此處理的優點在於計算努力都用在變更區域上,同時仍舊維持未偏差。隨著後續重建步驟所需,其可評估真實帶正負號的導數,而非驅動該取樣器的其絕對值。
一旦邊緣化P,則該兩組樣本A和B形成該最終影像的數值梯度之隨機評估。然後,運用一標準卜瓦松解算器(Poisson solver),根據該等評估梯度產生該影像。
尤其是在方塊402內,重建及從梯度顯示是一影像然後使用一卜瓦松解算器來轉換至該主要域之處理被啟動。選擇初始路徑P,並且計算其配合度。在許多具體實施內,路徑的配合度為該路徑貢獻的絕對差異。在其他具體實施例內,該路徑的配合度可為路徑255的該主要域貢獻中該 路徑貢獻之絕對差異。該路徑選擇偏向選擇更多通過具有較大梯度的像素之路徑,反之亦然,例如在圖2內,反射離該等物體的初始路徑被選擇,且其配合度被計算出。
在方塊404內,做出該處理是否應該因為執行時間或影像完成而終止之決定。一般而言,該處理並不會在該處理第一次通過時終止。若要終止該處理,則在方塊428由使用一卜瓦松解算器的該等梯度重建該影像,然後在方塊430上,該處理將結束,並且將顯示該最終影像。
在方塊406內,若該處理未在方塊404內終止,則做出P的配合度是否為負之決定。若該配合度被視為負,則在方塊410上,將貢獻C設定為負一。若該配合度不被視為負,則在方塊408上,將貢獻C設定為一。一般而言,具有較大梯度值的像素將具有更多通過其間的樣本被選擇,並且對於結果影像將具有更多貢獻。例如在圖3B內,該第一像素具有較大梯度值,如此有更多通過其間的樣本被選擇。
在方塊412內,在設定貢獻C為一或負一時(在方塊408或方塊410內),將路徑P的貢獻C放入該影像之內,例如在圖2內,該路徑的貢獻被放入該路徑相關聯的該像素之該梯度值內。
在方塊414內,提出變化路徑P’並且後續在方塊416內計算P’的配合度。在一個具體實施例內,變化路徑P’與路徑P相鄰,例如在圖3A內,該變化路徑與原始路徑P相鄰,如此通過相鄰像素,就是△x或△y。
在方塊418內,建構一路徑P”,路徑P”偏離(△x或△y)P’一個像素。因此,在方塊420內計算P”的配合度。例如在圖3A內,該變 化路徑與原始路徑P相鄰。
在方塊422內,由P’的配合度與P”的配合度間之絕對差異,取代P’的配合度。該絕對差異當成該程序的一部分來計算。
在方塊424內,根據比較P的配合度與P’的配合度,做出是否應該有可能接受該變化路徑之決定。若應該接受該變化路徑,則在方塊426內應該用P’取代P,並且用該新P值重複該處理。若不應接受該變化路徑,則不取代該P值來重複該處理。
可以理解當流程圖400套用於該X方向內的導數時,可針對Y方向獨立運行類似程序。該標準梅特羅波利斯光傳輸程序包含方塊402、404、408、412、414、416、424、426和430。本發明新增方塊406、410、418、420、422和428。而方塊416、418、420和422全都屬於配合度計算的一部分。這些步驟也適用於方塊402內該初始配合度計算。
利用將此處理應用在選擇的許多路徑上,步驟412使用該等△x和△y梯度值傳播該顯示平面的像素,藉此在該梯度域內建構該影像。在最終步驟,步驟428上,使用該卜瓦松解算器,將該梯度域轉換成該主要域,例如該影像亮度值。在一個具體實施例內,知悉每一像素的該等梯度以及通過該影像的該平均影像亮度,允許轉換成該主要域。
在一個具體實施例內,流程圖400的處理可用來直接評估該最終影像的拉普拉斯數值,而非其梯度。這牽涉到沿著該x和該y維度計算二階微分。該最終影像的拉普拉斯呈現為比該梯度場還要緊湊的呈現,因為並非每一向量場都是純量函數的梯度。
在進一步具體實施例內,可利用計算一低解析度、可能低解 析度以及吵雜主要域「指導影像」來調整該卜瓦松解算器,同時設定該正確尺度及用於該梯度重建的偏移,並將該重建轉向該正確低頻內容。這可利用要求該重建與指導影像的局部加權平均匹配來達成。
尚且在另一個具體實施例內,該程序可擴充來計算多個尺度上的導數。例如:雙長度梯度|f(x+2,y,P)-f(x,y,P)|和|f(x,y+2,P)-f(x,y,P)|,並且在多個比例上隨機驅動該取樣器來建立一梯度角錐。
圖5根據本發明的具體實施例,描述使用一標準梅特羅波利斯光傳輸程序520產生的一影像與使用梯度域梅特羅波利斯光傳輸程序522產生的一影像之比較。
使用該梯度域梅特羅波利斯光傳輸程序522產生的該影像在取樣場景內使用單一間接反彈照明。而使用標準梅特羅波利斯光傳輸程序520產生的該影像則在該主要域內計算。如本說明書中的改良,使用該梯度域梅特羅波利斯光傳輸程序522產生的該影像在每像素上所需之樣本數量,要低於使用標準梅特羅波利斯光傳輸程序520產生的該影像,以產生梯度計算以及通過較高梯度值的像素之光路徑選擇。例如:對於該梯度域梅特羅波利斯光傳輸程序522而言,每像素的大約樣本數為16,而對於使用標準梅特羅波利斯光傳輸程序520產生的該影像而言,則小於或等於32。
圖6為根據本發明的具體實施例,描述產生一影像的範例電腦實施處理流程圖600。
在方塊602內,模擬在一虛擬化三維空間之內至少一個光源 的存在,例如在圖5內,使用該梯度域梅特羅波利斯光傳輸程序產生的該影像在取樣場景內使用單一間接反彈照明。
在方塊604內,在該虛擬化三維空間之內,定義一光感應平面,該光感應平面包含要顯示在顯示螢幕上的複數個像素之矩陣。
在方塊606內,使用一光傳輸程序,計算該矩陣中每一像素的一梯度值,以產生複數個梯度值。圖7的流程圖內描述該矩陣中每一像素的計算。在一個具體實施例內,該光傳輸程序為一改良式梅特羅波利斯光傳輸程序。然後重複方塊606,直到由於執行時間或影像完成而應該終止該處理。
在方塊608內,將該等複數個梯度值轉換成代表該影像的複數個光亮度值。該轉換包含使用卜瓦松解算器程序,將該等複數個梯度值轉換成該等複數個光亮度值。在一個具體實施例內,該轉換另包含一梅特羅波利斯光傳輸程序,以產生粗略複數個光亮度值給該矩陣。進一步,該轉換也包含使用該等粗略複數個光亮度值結合該等複數個梯度值,以產生該等複數個光亮度值。
在一個具體實施例內,產生一影像的處理也包含在該顯示螢幕上顯示該影像。流程圖600的處理可使用系統100(圖1)來實施。
圖7為根據本發明的具體實施例,描述計算一梯度值的範例電腦實施處理流程圖700。流程圖700描述計算圖6的方塊606內該梯度值。
在方塊702內,選擇該虛擬化三維空間之內複數個光路徑配對。
在方塊704內,針對每一光路徑配對,計算該矩陣的一個別 像素之梯度貢獻。在一個具體實施例內,針對一光路徑配對的一第一光路徑,該決定包含計算第一光亮度貢獻給該矩陣的第一像素。進一步,針對該第一光路徑配對的一第二光路徑,該決定包含計算第二光亮度貢獻給第二像素,其中該第二像素與該第一像素相鄰。再者,該決定包含決定該第一與第二光亮度貢獻之間的差異。此外,該決定包含若該差異為正,則指派一正值給該梯度貢獻,並且若該差異為負,則指派一負值給該梯度貢獻。
在一個具體實施例內,該第一和第二像素分別根據(x,y)和(x,y+1)置於該矩陣內。在另一個具體實施例內,該第一和第二像素根據(x,y)和(x,y+1)來安置。
在方塊706內,針對每一光路徑配對,以該梯度貢獻更新該個別像素的一梯度值。方塊502內的選擇偏向選擇更多通過具有較大梯度的像素之路徑。
圖8為根據本發明的具體實施例,描述產生一影像的範例電腦實施方法流程圖800。
在方塊802內,模擬在一虛擬化三維空間之內存在至少一個光源。
在方塊804內,執行一改良的梅特羅波利斯光傳輸程序,來產生梯度值的一二維像素矩陣。該矩陣代表該虛擬化三維空間之內一光感應器平面。該改良式梅特羅波利斯光傳輸程序已經過改良,其中光路徑樣本選擇偏向選通過矩陣像素並具有較大梯度值指派的更多光路徑。
執行該梅特羅波利斯光傳輸程序包含選擇在該虛擬化三維空間之內的複數個光路徑配對,進一步,該程序包含針對每一光路徑配對, 決定一梯度貢獻給該矩陣的個別像素。此外,該程序包含針對每一光路徑配對,以該梯度貢獻更新該個別像素的一梯度值。
在一個具體實施例內,針對一光路徑配對的一第一光路徑,該決定包含計算第一光亮度貢獻給該矩陣的第一像素。進一步,針對該第一光路徑配對的一第二光路徑,該決定包含計算第二光亮度貢獻給第二像素,其中該第二像素與該第一像素相鄰。再者,該決定包含決定該第一與第二光亮度貢獻之間的差異。此外,該決定包含若該差異為正,則指派一正值給該梯度貢獻,並且若該差異為負,則指派一負值給該梯度貢獻。
尚且在另一個具體實施例內,該第一和第二像素分別根據(x,y)和(x,y+1)置於該矩陣內。
在方塊806內,該等梯度值轉換成光亮度值。該等光亮度值代表該影像。在一個具體實施例內,該轉換包含使用卜瓦松解算器程序,將該等梯度值轉換成該等光亮度值。
在一個具體實施例內,流程圖800的處理也包含利用在該顯示螢幕上顯示該影像來呈像該影像。
尚且在另一個具體實施例內,流程圖800的處理也包含執行一標準梅特羅波利斯光傳輸程序,以產生粗略複數個光亮度值給該矩陣。該轉換包含使用該等粗略複數個光亮度值結合該等梯度值,以產生該等光亮度值。
圖9為根據本發明的具體實施例,描述產生複數個光亮度值的範例電腦實施處理流程圖。在方塊902內,執行一梅特羅波利斯光傳輸程序,產生一粗略複數個光亮度值給包含複數個像素的一矩陣,例如在圖2 內,執行一標準梅特羅波利斯光傳輸程序,以產生複數個光亮度值給該矩陣。該矩陣包含複數個像素。
在方塊904內,使用一改良式梅特羅波利斯光傳輸程序來選擇樣本光路徑,並且使用該等路徑選擇光路徑配對,並且計算複數個梯度值給該矩陣的每一像素,例如在圖2內,使用一改良式梅特羅波利斯光傳輸程序,以選擇該光源所產生的樣本光路徑,然後使用該樣本光路徑選擇光路徑配對。該等光路徑配對為該照明路徑與一△x光路徑或△y光路徑的組合,然後該等光路徑配對用來計算該矩陣之內每一像素的複數個梯度值。
在方塊906內,使用該等粗略複數個光亮度值結合該等複數個梯度值,以產生複數個光亮度值。例如在圖4內,在顯示該影像之前,使用該等粗略複數個光亮度值結合該等複數個梯度值,以產生複數個光亮度值。
雖然上面使用特定方塊圖、流程圖以及範例揭示許多具體實施例,不過本說明書中描述及/或例示的每一方塊圖元件、流程圖步驟及/或元件,都可使用廣泛的硬體、軟體或韌體(或任何組合)組態,獨自及/或集中實施。此外,因為可實施許多其他架構來達成相同功能性,所以其他元件內含元件的任何揭露都應該考量當成範例。
本說明書中描述及/或例示的處理參數以及步驟順序僅為範例,例如:雖然本說明書中例示及/或描述的該等步驟可用特定順序顯示或討論,不過這些步驟並不需要以例示或討論的順序來執行。本說明書中描述及/或例示的許多範例方法也可省略本說明書中描述及/或例示的一或更多步驟,或加額外步驟。
雖然本說明書中已經在全功能計算系統範圍內描述及/或例示許多具體實施例,一或更多這些範例具體實施例可用許多形式分布當成一程式產品,而不管實際上用於執行該分布的電腦可讀取媒體之特定類型。本說明書中揭示的具體實施例也可使用執行特定任務的軟體模組來實施。這些軟體模組可包含描述檔、批次檔或可儲存在一電腦可讀取儲存媒體或計算系統內的其他可執行檔。這些軟體模組可設置一計算系統,執行本說明書所揭示的一或更多範例具體實施例。本說明書中揭示的一或更多軟體模組可在雲端計算環境下實施。雲端計算環境可透過網際網路提供許多服務與應用程式。透過網路瀏覽器或其他遠端介面,可存取這些雲端服務(例如服務軟體、服務平台、服務基礎設施等等)。本說明書中描述的許多功能可透過遠端桌面環境或任何其他雲端計算環境來提供。
在上面的說明中,為了解釋而參考特定具體實施例做說明。不過,上面例示的討論並非用於專屬或限制本發明於所說明的形式中。許多修改與變化都可以上述為依據。具體實施例經過選擇與說明來最佳闡述本發明原理,並且以許多具體實施例讓其他精通技術人士對本系統有最佳了解,這些具體實施例都適合特定使用期待。
到此已經說明根據本發明的具體實施例。雖然已經用特定具體實施例說明本發明,吾人應該瞭解,本發明不應受限於這種具體實施例,而是根據下列申請專利範圍來建構。
600‧‧‧流程圖
602、604、606、608‧‧‧方塊

Claims (17)

  1. 一種產生一影像的方法,該方法包括:模擬在一虛擬化三維空間之內至少一個光源的存在;在該虛擬化三維空間之內,定義一光感應平面,其中該光感應平面包含要顯示在一顯示螢幕上的複數個像素之一矩陣;使用一光傳輸程序,計算該矩陣中每一像素的一梯度值,以產生複數個梯度值,其中該計算包含:選擇該虛擬化三維空間之內複數個光路徑配對;針對每一光路徑配對,決定一梯度貢獻給該矩陣的一個別像素;以及針對每一光路徑配對,以該梯度貢獻更新該個別像素的一梯度值,其中該選擇偏向選擇通過像素具有較大梯度值的更多光路徑;以及將該等複數個梯度值轉換成代表該影像的複數個光亮度值。
  2. 如申請專利範圍第1項之方法,另包含在該顯示螢幕上顯示該影像。
  3. 如申請專利範圍第1項之方法,其中該將該等複數個梯度值轉換成代表該影像的複數個光亮度值之步驟包含使用一卜瓦松解算器(Poisson solver)程序,將該等複數個梯度值轉換成該等複數個光亮度值。
  4. 如申請專利範圍第1項之方法,其中該光傳輸程序為一改良式梅特羅波利斯光傳輸程序,而該改良式梅特羅波利斯光傳輸程序包含經過擾動的路徑樣本之一梯度計算。
  5. 如申請專利範圍第1項之方法,其中該光傳輸程序為一改良式梅特羅波利斯光傳輸程序,而該改良式梅特羅波利斯光傳輸程序包含偏向選擇通過更多具有較大梯度值的像素之路徑之一樣本光路徑選擇。
  6. 如申請專利範圍第1項之方法,其中該決定包含:針對一光路徑配對的一第一光路徑,計算一第一光亮度貢獻給該矩陣的一第一像素;針對該第一光路徑配對的一第二光路徑,計算一第二光亮度貢獻給一第二像素,其中該第二像素與該第一像素相鄰;決定該第一與第二光亮度貢獻之間的一差異;以及若該差異為正,則指派一正值給該梯度貢獻,並且若該差異為負,則指派一負值給該梯度貢獻。
  7. 如申請專利範圍第6項之方法,其中該第一和第二像素分別根據(x,y)和(x,y+1)置於該矩陣內,其中x,y為影像座標。
  8. 如申請專利範圍第6項之方法,其中該第一和第二像素分別根據(x,y)和(x+1,y)置於該矩陣內,其中x,y為影像座標。
  9. 如申請專利範圍第3項之方法,另包含執行一梅特羅波利斯光傳輸程序來產生一粗略複數個粗略光亮度值給該矩陣,並且其中該將該等複數個梯度值轉換成代表該影像的複數個光亮度值之步驟包含使用該等複數個粗略光亮度值結合該等複數個梯度值,以產生該等複數個光亮 度值。
  10. 一種產生一影像的電腦系統,包含:一處理器,其連接至一匯流排;一顯示螢幕,其耦合至該匯流排;以及一記憶體,其耦合至該匯流排,其中該記憶體包含指令,當該等指令在該處理器上執行時,使該電腦系統實施產生一影像的一方法,該方法包含:模擬在一虛擬化三維空間之內至少一個光源的存在;在該虛擬化三維空間之內,定義一光感應平面,其中該光感應平面包含要顯示在一顯示螢幕上的複數個像素之一矩陣;使用一光傳輸程序,計算該矩陣中每一像素的一梯度值,以產生複數個梯度值,其中該計算包含:選擇該虛擬化三維空間之內複數個光路徑配對;針對每一光路徑配對,決定一梯度貢獻給該矩陣的一個別像素;以及針對每一光路徑配對,以該梯度貢獻更新該個別像素的一梯度值,其中該選擇偏向選擇通過像素具有較大梯度值的更多光路徑;以及將該等複數個梯度值轉換成代表該影像的複數個光亮度值。
  11. 如申請專利範圍第10項之電腦系統,其中該方法另包含在該顯示螢幕上顯示該影像。
  12. 如申請專利範圍第10項之電腦系統,其中該將該等複數個梯度值轉換成代表該影像的複數個光亮度值之步驟包含使用一卜瓦松解算器程序,將該等複數個梯度值轉換成該等複數個光亮度值,並且其中該光傳輸程序為一改良式梅特羅波利斯光傳輸程序,而該改良式梅特羅波利斯光傳輸程序包含經過擾動的路徑樣本之一梯度計算。
  13. 如申請專利範圍第10項之電腦系統,其中該將該等複數個梯度值轉換成代表該影像的複數個光亮度值之步驟包含使用一卜瓦松解算器程序,將該等複數個梯度值轉換成該等複數個光亮度值,並且其中該光傳輸程序為一改良式梅特羅波利斯光傳輸程序,而該改良式梅特羅波利斯光傳輸程序包含偏向選擇通過更多具有較大梯度值的像素之路徑之一樣本光路徑選擇。
  14. 如申請專利範圍第10項之電腦系統,其中該決定包含:針對一光路徑配對的一第一光路徑,計算一第一光亮度貢獻給該矩陣的一第一像素;針對該第一光路徑配對的一第二光路徑,計算一第二光亮度貢獻給一第二像素,該第二像素與該第一像素相鄰;決定該第一與第二光亮度貢獻之間的一差異;以及若該差異為正,則指派一正值給該梯度貢獻,並且若該差異為負,則指派一負值給該梯度貢獻。
  15. 如申請專利範圍第12或13項之電腦系統,其中該方法另包含執行一 梅特羅波利斯光傳輸程序來產生一複數個粗略光亮度值給該矩陣,並且其中該將該等複數個梯度值轉換成代表該影像的複數個光亮度值之步驟包含使用該等複數個粗略光亮度值結合該等複數個梯度值,以產生該等複數個光亮度值。
  16. 一種產生一影像的電腦實施方法,該方法包括:模擬在一虛擬化三維空間之內至少一個光源的存在;執行一改良式梅特羅波利斯光傳輸程序來產生梯度值的一二維像素矩陣,其中該矩陣代表該虛擬化三維空間之內一光感應器平面,並且其中另該改良式梅特羅波利斯光傳輸程序經過改良,其中光路徑樣本選擇偏向選擇更多通過具有較大梯度值的該矩陣中像素之光路徑;以及將該等梯度值轉換成光亮度值,其中該光亮度值代表該影像。
  17. 如申請專利範圍第16項之方法,另包含利用在一顯示螢幕上顯示該等光亮度值來呈像該影像。
TW102148643A 2012-12-28 2013-12-27 採用梯度域梅特羅波利斯光傳輸以呈像圖形之方法與系統 TWI547902B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/730,320 US9437039B2 (en) 2012-09-11 2012-12-28 Method and system for graphics rendering employing gradient domain metropolis light transport

Publications (2)

Publication Number Publication Date
TW201441971A TW201441971A (zh) 2014-11-01
TWI547902B true TWI547902B (zh) 2016-09-01

Family

ID=52424217

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102148643A TWI547902B (zh) 2012-12-28 2013-12-27 採用梯度域梅特羅波利斯光傳輸以呈像圖形之方法與系統

Country Status (1)

Country Link
TW (1) TWI547902B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6483507B2 (en) * 1998-11-12 2002-11-19 Terarecon, Inc. Super-sampling and gradient estimation in a ray-casting volume rendering system
US20060028469A1 (en) * 2004-08-09 2006-02-09 Engel Klaus D High performance shading of large volumetric data using screen-space partial derivatives
US20100085360A1 (en) * 2008-10-04 2010-04-08 Microsoft Corporation Rendering in scattering media
TW201025193A (en) * 2008-12-25 2010-07-01 Univ Nat Chiao Tung Method for automatic detection and tracking of multiple targets with multiple cameras and system therefor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6483507B2 (en) * 1998-11-12 2002-11-19 Terarecon, Inc. Super-sampling and gradient estimation in a ray-casting volume rendering system
US20060028469A1 (en) * 2004-08-09 2006-02-09 Engel Klaus D High performance shading of large volumetric data using screen-space partial derivatives
US20100085360A1 (en) * 2008-10-04 2010-04-08 Microsoft Corporation Rendering in scattering media
TW201025193A (en) * 2008-12-25 2010-07-01 Univ Nat Chiao Tung Method for automatic detection and tracking of multiple targets with multiple cameras and system therefor

Also Published As

Publication number Publication date
TW201441971A (zh) 2014-11-01

Similar Documents

Publication Publication Date Title
US20220405582A1 (en) Systems and methods for training neural networks with sparse data
CN110196746B (zh) 交互界面渲染方法及装置、电子设备、存储介质
JP6639877B2 (ja) 映像処理装置及び方法
US10403035B2 (en) Rendering images using ray tracing with multiple light sources
CN110378947B (zh) 3d模型重建方法、装置及电子设备
US8854392B2 (en) Circular scratch shader
US7064755B2 (en) System and method for implementing shadows using pre-computed textures
EP3462743A1 (en) Device and method for dynamic range expansion in a virtual reality scene
CN112233216A (zh) 游戏图像处理方法、装置及电子设备
CN102136156A (zh) 用于介观几何结构调制的系统和方法
CN111915712B (zh) 光照渲染方法、装置、计算机可读介质及电子设备
US10776996B2 (en) Method and apparatus for processing image
CN114758051A (zh) 一种图像渲染方法及其相关设备
JP2014006901A (ja) 関与媒質により受光された光量を推定する方法及び対応する装置
CN113332714B (zh) 游戏模型的补光方法及装置、存储介质、计算机设备
US9437039B2 (en) Method and system for graphics rendering employing gradient domain metropolis light transport
TW201417040A (zh) 圖形顯示系統中光傳輸一致性場景之簡化
CN116883573A (zh) 基于WebGL的地图建筑渲染方法及其系统
TWI547902B (zh) 採用梯度域梅特羅波利斯光傳輸以呈像圖形之方法與系統
WO2016039301A1 (ja) 画像処理装置および画像処理方法
US20120232830A1 (en) Method for estimating light scattering
CN115970275A (zh) 虚拟对象的投影处理方法、装置、存储介质与电子设备
DE102011013584A1 (de) Hardwarebeschleunigte Simulation atmosphärischer Streuung
JP6619598B2 (ja) プログラム、記録媒体、輝度演算装置及び輝度演算方法
EP3413270A1 (en) Device and method for editing a virtual reality scene represented in a curved shape form

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees