TWI496107B - 最佳化關聯於隨機透明度的分層抽樣之系統、方法與電腦程式產品 - Google Patents

最佳化關聯於隨機透明度的分層抽樣之系統、方法與電腦程式產品 Download PDF

Info

Publication number
TWI496107B
TWI496107B TW101120445A TW101120445A TWI496107B TW I496107 B TWI496107 B TW I496107B TW 101120445 A TW101120445 A TW 101120445A TW 101120445 A TW101120445 A TW 101120445A TW I496107 B TWI496107 B TW I496107B
Authority
TW
Taiwan
Prior art keywords
opacity
sample
pixel
samples
covered
Prior art date
Application number
TW101120445A
Other languages
English (en)
Other versions
TW201320003A (zh
Inventor
Samuli Laine
Tero Karras
Original Assignee
Nvidia Corp
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
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of TW201320003A publication Critical patent/TW201320003A/zh
Application granted granted Critical
Publication of TWI496107B publication Critical patent/TWI496107B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/62Semi-transparency

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Description

最佳化關聯於隨機透明度的分層抽樣之系統、方法與電腦程式產品
本發明係關於顯像影像,特別是關於顯像透明及半透明表面。
傳統上,表面顯像已致能對使用者之一或多個表面的顯示。舉例來說,可利用一顯示器顯示一或多個物件的一或多個表面給使用者。然而,用以顯像透明及半透明表面的目前技術已有各種限制。
舉例來說,用以隨機顯像透明及半透明表面的目前方法在顯像過程中選擇樣本時僅考量一目前基元(primitive)。這可能導致較差的空間分層、基元邊緣的問題、過多的錯誤/雜訊等。
因此,需要解決關聯於習知技術的這些及/或其他問題。
本發明提供用以最佳化關聯於隨機透明度的分層抽樣之系統、方法與電腦程式產品。在使用上,接收關聯於所要顯像之一或多個表面之表面資料。此外,利用隨機透明度顯像一或多個表面,其中關聯於隨機透明度之分層抽樣係最佳化。
圖1顯示根據一具體實施例之用以最佳化關聯於隨機透明度之分層抽樣的方法100。如在操作102所示,接收關 聯於所要顯像之一或多個表面的表面資料。在一具體實施例中,表面資料可包括關聯於所要顯像之一或多個表面的任何資料。舉例來說,表面資料可包括一或多個表面在一特定位置(如在一特定畫素等)的不透明度、一或多個表面在一特定位置的顏色等等。
此外,在另一具體實施例中,所要顯像之一或多個表面可具有一透明度等級。舉例來說,所要顯像之一或多個表面可為透明、可為半透明等。在另一具體實施例中,所要顯像之一或多個表面可為不透明。
此外,如操作104所示,利用隨機透明度顯像一或多個表面,其中關聯於隨機透明度的分層抽樣係最佳化。在一具體實施例中,藉由根據表面的不透明度而隨機地繪製其中一表面至所要顯像之一畫素的樣本中,隨機透明度可用以顯像一或多個表面。
此外,在一具體實施例中,藉由首先對所要顯像之畫素的每一覆蓋樣本執行深度測試,隨機透明度可用以顯像一或多個表面。在另一具體實施例中,畫素的每一覆蓋樣本可指派一不透明度參考值。在另一具體實施例中,基於每一覆蓋樣本之不透明度對不透明度參考值的比較,每一覆蓋樣本可有條件地寫入至框緩衝器及深度緩衝器。
在又一具體實施例中,關聯於隨機透明度的分層抽樣可包括由隨機透明度所使用的的任何抽樣,其中此抽樣為分層的。如此,分層抽樣在簡單情況中可限制抽樣錯誤量,且在複雜情況中可獲得改善的抽樣。此外,在一具體實施例中, 分層抽樣以及隨機透明度可利用硬體、軟體、或硬體及軟體的結合等而實施。
此外,在一具體實施例中,關聯於隨機透明度的分層抽樣可藉由追蹤所要顯像之一或多個表面而最佳化。舉例來說,可追蹤所要顯像之一或多個表面以偵測新的表面何時開始。此外,當偵測到新的表面時,可重新指派不透明度參考值。在另一具體實施例中,追蹤係試探式地執行(performed heuristically)。如此,避免了來自不同表面之樣本的相互關係的引入。
此外,在一具體實施例中,關聯於隨機透明度之分層抽樣可藉由產生關聯於表面資料的一或多個不透明度參考值而最佳化。舉例來說,可產生關聯於表面資料之一或多個不透明度參考值,使得不透明度參考值係均勻地間隔。在另一範例中,關聯於表面資料之一或多個不透明度參考值可在一畫素內以及在鄰近畫素之間分層。在又一範例中,可產生無關聯之不透明度參考值序列。如此,可避免表面之間的相互關係。
此外,在一具體實施例中,關聯於隨機透明度之分層抽樣可藉由分類顯像表面之畫素的一或多個樣本而最佳化。舉例來說,顯像表面之畫素的一或多個樣本可根據繪製到每一樣本之表面之每一者的一深度而分類(如從遠至近、從近至遠等)。如此,藉由分類樣本,先前遇到的表面可群組在一起,其可確保當另一表面繪製於先前所繪製表面之頂部上時,先前繪製到畫素的每一表面獲得分層的樣本組。
此外,藉由分類樣本,可增加類似表面結束於連續跨距(consecutive spans)的可能性。在另一具體實施例中,當已針對一基元指派數值時,由分類所產生的順序可能不能維持(例如可能消失等)。
現在將提出關於各種選擇性架構及特徵的更多描述性資訊,其中可實施或不實施前述結構,依使用者所需而定。需特別注意,以下資訊係提出作為描述性目的,且不應解釋為以任何方式的限制。任何以下的特徵可選擇性地併入或不排除所描述之其他特徵。
圖2顯示根據另一具體實施例之所追蹤的一系列表面改變200。作為一選項,此系列200可在圖1之功能的背景下實行。然而,系列200當然可實施於任何所需的環境中。亦應注意,前述定義可應用於本說明過程中。
如所示,在第一情境202a中,位元遮罩204最初為空的。在一具體實施例中,位元遮罩204在每一畫素中每一樣本包括一位元。在另一具體實施例中,可針對位元遮罩204保持每一畫素的表面ID,其中表面ID開始於零。此外,在第一情境202a之後的第二情境202b中,第一表面基元三角形206抵達而未與位元遮罩204衝突。在一具體實施例中,當一基元繪製到畫素,可執行檢查以查看其所覆蓋的任何樣本是否設定於位元遮罩中。若否,則可得到基元未與目前表面重疊的結論。
此外,在第二情境202b之後的第三情境202c中,對應在第二情境202b中第一表面基元三角形206的覆蓋範圍之 位元208係設定於位元遮罩204內。在一具體實施例中,可保持相同的表面ID,且位元可對應至所覆蓋樣本而設定,有效地增大目前表面。在另一具體實施例中,可檢查在深度測試後繼續存在的所有覆蓋樣本。在又一具體實施例中,可在執行不透明度測試前執行分析,其可淘汰某部份的那些樣本。
此外,在第三情境202c之後的第四情境202d中,與第一表面基元三角形206具有相同表面的第二表面基元三角形210抵達而未與位元遮罩204衝突。此外,在第四情境202d之後的第五情境202e中,對應在第四情境202d中第二表面基元三角形210的覆蓋範圍之位元212係設定於位元遮罩204內。
此外,在第五情境202e之後的第六情境202f中,第三表面基元三角形214抵達並與位元遮罩204衝突。在一具體實施例中,可能需要不透明度參考值序列,其與先前表面無關聯。此外,在第六情境202f之後的第七情境202g中,增加表面ID且位元遮罩204係初始化至由在第六情境202f中之第三表面基元三角形214所覆蓋的樣本216。
在一具體實施例中,若對應所覆蓋樣本之一或多個位元已經設定,可推論出基元係與目前表面重疊,因此需要不透明度參考值的一無關聯組。在此情況中,開始一新表面,增量表面ID,根據所要繪製之基元的覆蓋範圍而初始化位元遮罩。在另一具體實施例中,可保證相同的樣本不會使用相同表面ID處理兩次。
圖3顯示根據另一具體實施例之用以產生不透明度參考值序列之雜湊函數300。作為一選擇,此雜湊函數300可於圖1-2之功能的背景下實行。然而,雜湊函數300當然可執行於任何所需環境中。亦應注意,前述定義可應用於本說明過程中。
如所示,位元序列302的每一位元係利用一XOR操作306而基於其以下之位元的雜湊304而混碼。結果308係描述當具有0.1不透明度的八個白表面繪製於黑背景頂部上時的結果,其使用每一畫素八樣本。在一具體實施例中,可使用一般的雜湊函數以提供樣本隨機性。在另一具體實施例中,藉由有條件地翻轉(flipping)目前位元,可提供改善的隨機性給序列,其可在將多個表面繪製至相同畫素時導致改善的分層。在又一具體實施例中,每一樣本可指派一參考值,且若表面的不透明度大於參考值,則表面可被繪製至樣本。
此外,在一具體實施例中,為了產生運行中的不透明參考值而不是將其儲存於記憶體中,需要一函數,其將一整數(例如從樣本索引、畫素索引、表面ID等所建構)映射至浮點數(例如不透明度參考值等)。此外,在此序列中之索引的連續跨距可產生不透明度參考值的良好分層序列,但不連續的跨距(disjoint spans)可能互不相關。如此,對每一畫素以及遍及多個畫素,參考值可均勻地間隔,其可導致較低的雜訊量。
表格1描述標準的二進制根基反轉(radical inverse),其可藉由反轉索引的位元且放置二進制小數點於前方而獲得。當然,應注意表格1中所顯示的計算僅提出供描述目 的,因此不應解釋為以任何方式的限制。
在一具體實施例中,上述序列可容易地產生且可允許索引的連續跨距產生一良好分層的序列。在另一具體實施例中,可藉由對反轉位元序列執行混碼操作而移除不連續跨距之間的相互關係。舉例來說,針對在反轉位元序列中的每一位元,在其以下的位元係饋入至雜湊函數中,其回傳0或1,且此結果係與被檢查中的位元進行XOR。如此,可產生如同對原始序列執行Owen混碼的相同結果,因此可保持一或多個理想的分層特性。舉例來說,參考Kolling等人在Computer Graphics Forum 21,3(2002),557-564中發表的「高效率多維抽樣(Efficient multidimensional sampling)」,其整體內容係併入本文中作為參考,且其係描述用以執行Owen混碼的方法。
此外,在一具體實施例中,操作可並行地或依序地執行,因為較不重要位元的可能翻轉可被認為是併入至在任何狀況下都是隨機的雜湊函數。表格2描述一混碼序列之範例。當然,應注意表格2中所顯示的範例僅提出供描述目的,因此不應解釋為以任何方式的限制。
如上所示,針對長度2的每一對準序列,混碼索引的最高位元可具有0及1兩個值,因此針對此類跨距的數值可良好的分層(如差異總為0.5等)。類似地,針對長度4的對準序列,兩個最高位元可得到00、01、10、及11的所有可能組合。在一具體實施例中,針對每一對準,具有二次方長度的連續序列可良好的分層,如在先前所考慮的根基反轉序列。在另一具體實施例中,不連續跨距可能不再相互關聯,因此可藉由跳至序列中的不同位置而獲得無關聯但內部分 層的序列。
此外,在一具體實施例中,計算雜湊及對位元進行XOR可藉由乘法及字元長度XOR操作而便宜地近似。在另一具體實施例中,由一偶數隨機數乘上索引可產生一位元串,其中每一輸入位元可影響在其之上的所有位元。在另一具體實施例中,以索引本身進行XOR可基於其以下之位元的類雜湊函數而翻轉每一位元。在又一具體實施例中,以不同常數執行多輪(如四輪等)可移除結果中的任何可偵測結構。
表格3描述使用基於相乘XOR雜湊之基於乘法的雜湊之針對不透明度參考值計算的虛擬碼的範例。當然,應注意表格3所示的虛擬碼僅提出供描述目的,因此不應解釋為以任何方式的限制。
在一具體實施例中,表格3中所示的變數「x」可包括一整數(如32位元無正負號整數等)。在另一具體實施例中,乘法常數可用以產生影像。在又一具體實施例中,為獲得畫 素中樣本之間的良好分層,樣本索引可放置於索引的最低位元,且針對空間分層(如遞色技術(dithering)等),畫素索引可放置於其正上方。在又一具體實施例中,可決定畫素索引,使得鄰近的畫素具有鄰近的索引。
此外,在一具體實施例中,當產生影像時可使用Hilbert曲線。如此,可產生無明顯結構的改良結果。在另一具體實施例中,表面索引可放置於反轉位元序列的最低位元(即索引的最高位元)。這可確保每當有一表面改變時,跳至序列的全新部分且獲得與先前產生數值無關聯的數值。
圖4顯示根據本發明一具體實施例之情境400,其中一顯像表面之每一畫素的一或多個樣本被分類。作為一選擇,情境400可在圖1至3之功能的背景下實行。然而,情境400當然可實施於任何所需的環境中。亦應注意,前述定義可應用於本說明過程中。
如所示,根據先前所繪製表面的深度而分類遠表面402及近表面404的樣本。這導致正確分層結果406。在一具體實施例中,後來所繪製,封閉表面可覆蓋每一先前所繪製表面的正好一半。在另一具體實施例中,這可在指派其索引前藉由分類樣本而完成。舉例來說,可擷取儲存於每一覆蓋樣本之深度緩衝器中的先前深度值。此外,樣本可基於這些深度而以漸增順序分類。這可將在畫素中的表面群組在一起,且可確保每一先前所繪製的表面從不透明度參考值序列得到索引的連續跨距,其可確保良好的分層。
此外,在一具體實施例中,可能不需要偵測個別表面, 且表面群組(如遠距群葉(distant foliage)等)可作為一整體被分層。如此,可使用分類樣本,而非試圖將樣本分組成離散的表面。在另一具體實施例中,可計數在用以偵測表面改變之目前表面覆蓋位元遮罩中設定的一些位元,以決定有多少樣本已從目前表面被繪製,且樣本的編號可從那裡繼續。在又一具體實施例中,在一衝突後開始一新表面的情況下,計數從零開始。舉例來說,在數值指派給一特定基元後,樣本的次序可能消失。
圖5描述根據一具體實施例之當繪製具有多個透明層及隨機排序之三角形的一布料模型時之分類的效果500。結果502描述高量及低量雜訊的區域。在一具體實施例中,在首先繪製近表面的位置,樣本的壓縮可足以保證遠表面獲得正確的樣本數量,因此低量的雜訊。當首先繪製遠表面,可能不能保證在近表面繪製於其上之後,其具有正確的樣本數量。如此,這些區域可能表現高量的雜訊。結果504描述當分類樣本時在另一具體實施例中的結果,使得影像的所有部份可具有相同低量的雜訊(如更均勻的低雜訊等級等)。
表格4描述針對分層隨機透明度演算法之虛擬碼的一範例。當然,應注意表格4中所顯示的虛擬碼僅提出供描述目的,因此不應解釋為以任何方式的限制。
在一具體實施例中,設定S可包含被繪製之片段的樣本。此外,線1-3可執行深度測試且線4-7及18可追蹤目前表面。線8-11及16可確保不透明度參考值的正確順序,且線12-15可執行不透明度測試及有條件的寫入。在另一具體實施例中,在線9上,可根據在所覆蓋樣本位置之先前所繪製深度且非在被繪製之片段中之樣本的深度而分類片段的樣本。
此外,在一具體實施例中,上述演算法可以硬體實施。然而,演算法當然也可以軟體、硬體及軟體的組合等實施。圖6顯示根據一具體實施例之在多層、複雜模型情況中使用最佳化分層抽樣方法的結果600。如此,可在影像品質602a-c及均方根誤差(RMSE)值604a-c(其係使用每一畫素數千個樣 本相對所顯像的參考影像而計算)兩者中看出最佳化方法的效力。
此外,在又一具體實施例中,當樣本數量增加時,RMSE值可較快速下降,其可指示較佳的分層。如此,可產生顯著的記憶體、計算及頻寬節省。在另一具體實施例中,一或多個多通道方法可與上述分層演算法結合,且可更改善影像品質。舉例來說,參考Enderton等人在Proceedings of the ACM Symposium on Interactive 3D Graphics and Games(2010),pp.157-164中所發表之「隨機透明度(Stochastic transparency)」,其整體係併入本文中作為參考,且其描述各種多通道方法。
表格5描述相較於一比較方法之利用分層隨機透明度演算法之測試情況的結果。當然,應注意表格5中所顯示的結果僅提出供描述目的,因此不應解釋為以任何方式的限制。
如表格5所示,當每一畫素的樣本數量成長,分層隨機 透明度演算法的RMSE(例如行「our」)可比比較方法(如行「comp.」)更快地改善,其可指示改善的分層。在一具體實施例中,在每一畫素64個樣本,分層隨機透明度演算法相較於比較方法可能約為一半的雜訊強度。
此外,在一具體實施例中,被顯像的第一影像可藉由顯像具有不同分層圖案的第二影像而逐步地修改(例如使用固定數量的樣本等)。此外,可平均第一及第二影像,其可導致較低的雜訊。在另一具體實施例中,額外影像可被顯像且平均多次,其可導致不同影像之間的分層以及基於分層之更快的雜訊下降。
此外,在一具體實施例中,隨機透明度可以固定的儲存量操作,且可產生具有正確預期值的結果。在另一具體實施例中,結果中的變異量可取決於所使用之抽樣策略。舉例來說,在適當領域的分層抽樣在簡單情況中可限制抽樣錯誤量,且在複雜情況中可獲得整體較佳的抽樣。在另一範例中,技術可用以獲得在空間及α領域兩者中之適當的分層抽樣,其可降低在所產生影像中的雜訊量。
此外,在另一具體實施例中,基本隨機透明度演算法可針對每一覆蓋樣本執行以下計算:1.執行深度測試,若失敗的拋棄;2.隨機選擇不透明度參考值x:[0,1];3.若a>x,寫入樣本至框緩衝器及深度緩衝器。此方法可獲得一畫素的正確預期值。在又一具體實施例中,畫素的每一樣本可指派一不透明度參考值,其可用以代替隨機選擇的不透明度參考值x。在另一具體實施例中,可能不是先決定有多少樣本需要被覆蓋,而是可產生不透明度參考值,如此可獲得所需的 分層。這可產生顯著較少的雜訊同時維持無偏差。此外,舉例來說,參考Mulder等人發表的「網格透明度之畫素遮罩(Pixel Masks for Screen-Door Transparency)」,其整體內容係併入本文中作為參考,且其描述用於網格透明度之畫素遮罩的方法。
此外,在一具體實施例中,不透明度參考值可能並非靜態地指派至樣本。在另一具體實施例中,若表面在數個部份被繪製至相同畫素(例如有一邊緣於畫素內部等),指派可維持一致。這可確保橫跨畫素中整體表面的分層,而非僅於每一個別片段之內。
此外,在一具體實施例中,針對單一表面,指派可維持靜態,而針對不同表面,可能與先前所繪製表面無關聯。這可能需要偵測新的表面何時開始,其可允許重新指派不透明度參考值。在另一具體實施例中,試探式方法可自動地偵測此情況。在又一具體實施例中,針對不透明度參考值可有數個需求。首先,可能需要在畫素內分層,其次則在臨近畫素之間。後者可確保高品質遞色技術,而非隨機雜訊。第三,為支援多個表面,有可能產生無關聯的不透明度參考值序列,而不會犧牲前兩個特性。在另一具體實施例中,可提供容易產生的適當隨機數字序列。
此外,在一具體實施例中,可分類現存的樣本,其可有效地將先前所遇到的表面群組在一起,其可確保先前繪製到畫素中的每一表面在當一表面繪製於其頂部上時獲得分層的樣本組。如此,雜訊可適當地遞色,可避免邊緣的偽像,且可針對多層改善及維持分層。此外,隨機透明度可改善, 使得分層抽樣可致能於空間及α領域兩者中,其可導致影像中雜訊量的降低同時維持無偏差的結果。
圖7說明可實施各種不同前述具體實施例的各種不同架構及/或功能之範例性系統700。如所示,系統700之提供包括至少一主機處理器701,其係連接至一通信匯流排702。系統700亦包括主記憶體704。控制邏輯(軟體)與資料係儲存於可採用隨機存取記憶體(RAM)形式的主記憶體704中。
系統700亦包括一圖形處理器706與一顯示器708(即一電腦監視器)。在一具體實施例中,圖形處理器706可包括複數個著色器模組、柵格化模組等。每一前述模組還可位於單一半導體平台以形成圖形處理單元(GPU)。
在本說明書中,單一半導體平台可指唯一的單一半導體為主的積體電路或晶片。應注意,單一半導體平台一詞也可指具有增強連接性的多晶片模組,其模擬晶片上操作且利用傳統中央處理單元(CPU)及匯流排實施而做出實質的改善。當然,各種不同模組也可依照使用者的需求而分開設置或在半導體平台的各種不同組合。
系統700亦可包括一輔助儲存器710。輔助儲存器710包括例如一硬碟驅動及/或一可移除儲存驅動,代表一軟碟驅動、一磁帶驅動、一光碟驅動等。可移除儲存驅動以熟知的方式從可移除儲存單元讀取及/或寫入。
電腦程式、或電腦控制邏輯演算法可儲存在主記憶體704及/或輔助儲存器710中。當執行電腦程式時,此電腦程 式可致能系統700執行各種不同功能。記憶體704、儲存器710及/或任何其他儲存器為電腦可讀媒體的可能範例。
在一具體實施例中,各種不同先前圖式的架構及/或功能可在主機處理器701、圖形處理器706、具有主機處理器701和圖形處理器706二者能力之至少一部分的積體電路(圖未示)、晶片組(即設計以作用及銷售作為執行相關功能之單元的積體電路群組)、及/或用於此目的之任何其他積體電路的情況下實施。
此外,各種不同先前圖式的架構及/或功能可在一般電腦系統、電路板系統、專屬於娛樂目的之遊戲機控制系統、特定應用系統、及/或任何其他期望系統的範圍中實施。例如,系統700可採用桌上型電腦、膝上型電腦、及/或任何其他類型邏輯的形式。此外,系統700可採用各種不同其他裝置的形式,包括(但不限於)個人數位助理(PDA)裝置、行動電話裝置、電視機等。
此外,雖未顯示,但系統700可耦合至一網路(例如一電信網路、區域網路(LAN)、無線網路、廣域網路(WAN),例如網際網路、對等網路、電纜網路等),供通信目的使用。
雖然上面已描述各種不同具體實施例,但是應該瞭解,這些不同具體實施例只作為範例描述,而不是限制。因此,一較佳具體實施例的廣度及範疇應不受到上述任一範例性具體實施例的限制,而應僅根據下列申請專利範圍及其均等物而定義。
100‧‧‧方法
102‧‧‧操作
104‧‧‧操作
200‧‧‧表面改變
202a‧‧‧第一情境
202b‧‧‧第二情境
202c‧‧‧第三情境
202d‧‧‧第四情境
202e‧‧‧第五情境
202f‧‧‧第六情境
202g‧‧‧第七情境
204‧‧‧位元遮罩
206‧‧‧第一表面基元三角形
208‧‧‧位元
210‧‧‧第二表面基元三角形
212‧‧‧位元
214‧‧‧第三表面基元三角形
216‧‧‧樣本
300‧‧‧雜湊函數
302‧‧‧位元序列
304‧‧‧雜湊
306‧‧‧XOR操作
308‧‧‧結果
400‧‧‧情境
402‧‧‧遠表面
404‧‧‧近表面
406‧‧‧分層結果
500‧‧‧效果
502‧‧‧結果
504‧‧‧結果
600‧‧‧結果
602a‧‧‧影像品質
602b‧‧‧影像品質
602c‧‧‧影像品質
604a‧‧‧均方根誤差值
604b‧‧‧均方根誤差值
604c‧‧‧均方根誤差值
700‧‧‧系統
701‧‧‧主機處理器
702‧‧‧通信匯流排
704‧‧‧主記憶體
706‧‧‧圖形處理器
708‧‧‧顯示器
710‧‧‧輔助儲
圖1顯示根據一具體實施例之用以最佳化關聯於隨機透明度之分層抽樣的方法;圖2顯示根據一具體實施例之追蹤的一系列表面改變;圖3顯示根據另一具體實施例用以產生不透明度參考值序列的雜湊函數;圖4顯示根據又一具體實施例之分類顯像表面之每一畫素的一或多個樣本的情境;圖5顯示根據又一具體實施例之當繪製具有多個透明層及隨機排序之三角形的一布料模型時的分類效果;圖6顯示根據再一具體實施例之在多層、複雜模型情況中使用最佳化分層抽樣方法的結果;以及圖7描述一範例系統,其可實施各種先前具體實施例的各種架構及/或功能性。
100‧‧‧方法
102‧‧‧操作
104‧‧‧操作

Claims (18)

  1. 一種方法,包含:接收於所要顯像之一畫素之一或多個表面之每一者的一不透明度;確認該畫素內複數個樣本;指派一不透明度參考值給該畫素內該等樣本中被該一或多個表面覆蓋的每一者;以及利用隨機透明度,針對該畫素之該等被覆蓋之樣本的每一者,藉由以下而於該樣本有條件地顯像該一或多個表面的每一者:比較該表面之該不透明度與指派給被該表面覆蓋之該樣本的該不透明度參考值;當基於上述比較而決定該表面之該不透明度是大於指派給該樣本的該不透明度參考值時,繪製該表面於該樣本中;以及當基於上述比較而決定該表面之該不透明度是不大於指派給該樣本的該不透明度參考值時,避免繪製該表面於該樣本中;其中關聯於該隨機透明度之分層抽樣係藉由以下而最佳化:指派一新的不透明度參考值給該畫素之該複數個樣本的每一者,每當覆蓋該樣本之一新的表面於該畫素內被偵測時。
  2. 如請求項1所述之方法,其中該一或多個表面具有一透明度等級。
  3. 如請求項1所述之方法,其中隨機透明度係用以藉由對所要顯像之該畫素的每一被覆蓋之樣本執行一深度測 試而顯像該一或多個表面。
  4. 如請求項1所述之方法,其中每一被覆蓋之樣本係有條件地寫入至一框緩衝器及深度緩衝器,其係基於每一被覆蓋之樣本之一不透明度對該不透明度參考值的一比較。
  5. 如請求項1所述之方法,其中關聯於該隨機透明度之該分層抽樣係藉由追蹤該一或多個表面而最佳化。
  6. 如請求項5所述之方法,其中該追蹤係試探式地執行。
  7. 如請求項1所述之方法,其中該一或多個不透明度參考值係產生使得該等不透明度參考值均勻地間隔。
  8. 如請求項1所述之方法,其中該一或多個不透明度參考值係在所要顯像之該畫素內以及在鄰近多個畫素之間分層。
  9. 如請求項1所述之方法,其中關聯於該隨機透明度之該分層抽樣係藉由分類該一或多個顯像表面之一畫素的一或多個樣本而最佳化。
  10. 如請求項9所述之方法,其中該一或多個顯像表面之該畫素的該一或多個樣本係根據先前繪製到每一樣本之該等表面之每一者的一深度而分類。
  11. 如請求項9所述之方法,其中藉由分類該一或多個樣本,先前遇到的多個表面係群組在一起,其確保當另一表面繪製於先前所繪製多個表面之頂部上時,先前繪製到該畫素的每一表面係獲得分層的一樣本組。
  12. 如請求項1所述之方法,其中當決定該新的表面覆蓋該畫素之被設定在關聯於該畫素之一位元遮罩中的一或多個樣本時,覆蓋該樣本之該新的表面於所要顯像之該畫素內被偵測。
  13. 如請求項12所述之方法,其中被設定在關聯於該畫素之該位元遮罩中的該等樣本指示被一之前的表面覆蓋的多個樣本。
  14. 如請求項1所述之方法,其中該等不透明度參考值藉由以下而產生:確認連續跨距之多個索引;將連續跨距之該等索引之每一索引轉換為一個二進制格式化索引;反轉每一個二進制格式化索引並放置一個二進制小數點於前方,以對於連續跨距之該等索引之每一索引產生一不同的反轉位元序列。
  15. 如請求項14所述之方法,其中藉由以下而執行一混碼操作於該等反轉位元序列之每一反轉位元序列:對於該反轉位元序列內每一位元,執行一雜湊函數於該位 元以下之多個位元;對於該反轉位元序列內每一位元,從該雜湊函數接收一第一數值與一第二數值的其中之一;以及對於該反轉位元序列內每一位元,執行一XOR操作於該第一數值與該第二數值的其中之一以及該位元。
  16. 一種具體化於一非暫態之電腦可讀媒體上的電腦程式產品,包含:用以接收於所要顯像之一畫素之一或多個表面之每一者的一不透明度的程式碼;用以確認該畫素內複數個樣本的程式碼;用以指派一不透明度參考值給該畫素內該等樣本中被該一或多個表面覆蓋的每一者的程式碼;以及用以利用隨機透明度,針對該畫素之該等被覆蓋之樣本的每一者,藉由以下而於該樣本有條件地顯像該一或多個表面的每一者的程式碼:比較該表面之該不透明度與指派給被該表面覆蓋之該樣本的該不透明度參考值;當基於上述比較而決定該表面之該不透明度是大於指派給該樣本的該不透明度參考值時,繪製該表面於該樣本中;以及當基於上述比較而決定該表面之該不透明度是不大於指派給該樣本的該不透明度參考值時,避免繪製該表面於該樣本中;其中關聯於該隨機透明度之分層抽樣係藉由以下而最佳化:指派一新的不透明度參考值給該畫素之該複數個樣本的每一者,每當覆蓋該樣本之一新的表面於該畫素內被偵測時。
  17. 一種系統,包含:一硬體,用以:接收於所要顯像之一畫素之一或多個表面之每一者的一不透明度;確認該畫素內複數個樣本;指派一不透明度參考值給該畫素內該等樣本中被該一或多個表面覆蓋的每一者;以及利用隨機透明度,針對該畫素之該等被覆蓋之樣本的每一者,藉由以下而於該樣本有條件地顯像該一或多個表面的每一者:比較該表面之該不透明度與指派給被該表面覆蓋之該樣本的該不透明度參考值;當基於上述比較而決定該表面之該不透明度是大於指派給該樣本的該不透明度參考值時,繪製該表面於該樣本中;以及當基於上述比較而決定該表面之該不透明度是不大於指派給該樣本的該不透明度參考值時,避免繪製該表面於該樣本中;其中關聯於該隨機透明度之分層抽樣係藉由以下而最佳化:指派一新的不透明度參考值給該畫素之該複數個樣本的每一者,每當覆蓋該樣本之一新的表面於該畫素內被偵測時。
  18. 如請求項17所述之系統,更包含經由一匯流排耦合至該硬體的記憶體。
TW101120445A 2011-06-09 2012-06-07 最佳化關聯於隨機透明度的分層抽樣之系統、方法與電腦程式產品 TWI496107B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/157,252 US8698836B2 (en) 2011-06-09 2011-06-09 System, method, and computer program product for optimizing stratified sampling associated with stochastic transparency

Publications (2)

Publication Number Publication Date
TW201320003A TW201320003A (zh) 2013-05-16
TWI496107B true TWI496107B (zh) 2015-08-11

Family

ID=46546296

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101120445A TWI496107B (zh) 2011-06-09 2012-06-07 最佳化關聯於隨機透明度的分層抽樣之系統、方法與電腦程式產品

Country Status (3)

Country Link
US (1) US8698836B2 (zh)
GB (1) GB2491695B (zh)
TW (1) TWI496107B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10784941B2 (en) * 2016-09-30 2020-09-22 Telefonaktiebolaget Lm Ericsson (Publ) Minimizing network planning using reference signal grouping
US10417813B2 (en) * 2016-12-05 2019-09-17 Nvidia Corporation System and method for generating temporally stable hashed values

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5459798A (en) * 1993-03-19 1995-10-17 Intel Corporation System and method of pattern recognition employing a multiprocessing pipelined apparatus with private pattern memory
US6184891B1 (en) * 1998-03-25 2001-02-06 Microsoft Corporation Fog simulation for partially transparent objects
US20030038811A1 (en) * 2001-05-25 2003-02-27 Gritz Larry I. System and method of line sampling object scene information
US6956576B1 (en) * 2000-05-16 2005-10-18 Sun Microsystems, Inc. Graphics system using sample masks for motion blur, depth of field, and transparency
US6982710B2 (en) * 2001-01-05 2006-01-03 Interuniversitair Micro-Elektronica Centrum (Imec Vzw) System and method to obtain surface structures of multi-dimensional objects, and to represent those surface structures for animation, transmission and display
TW200836126A (en) * 2006-12-15 2008-09-01 Qualcomm Inc Post-render graphics transparency

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8842931B2 (en) 2011-02-18 2014-09-23 Nvidia Corporation System, method, and computer program product for reducing noise in an image using depth-based sweeping over image samples

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5459798A (en) * 1993-03-19 1995-10-17 Intel Corporation System and method of pattern recognition employing a multiprocessing pipelined apparatus with private pattern memory
US6184891B1 (en) * 1998-03-25 2001-02-06 Microsoft Corporation Fog simulation for partially transparent objects
US6956576B1 (en) * 2000-05-16 2005-10-18 Sun Microsystems, Inc. Graphics system using sample masks for motion blur, depth of field, and transparency
US6982710B2 (en) * 2001-01-05 2006-01-03 Interuniversitair Micro-Elektronica Centrum (Imec Vzw) System and method to obtain surface structures of multi-dimensional objects, and to represent those surface structures for animation, transmission and display
US20030038811A1 (en) * 2001-05-25 2003-02-27 Gritz Larry I. System and method of line sampling object scene information
TW200836126A (en) * 2006-12-15 2008-09-01 Qualcomm Inc Post-render graphics transparency

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Enderton," Stochastic transparency",2010/05/19-2010/05/21, http://dl.acm.org/citation.cfm?id=1730830 *

Also Published As

Publication number Publication date
US8698836B2 (en) 2014-04-15
TW201320003A (zh) 2013-05-16
US20120313961A1 (en) 2012-12-13
GB2491695A (en) 2012-12-12
GB201208781D0 (en) 2012-07-04
GB2491695B (en) 2014-09-10

Similar Documents

Publication Publication Date Title
US11710268B2 (en) Graphics processing units and methods for controlling rendering complexity using cost indications for sets of tiles of a rendering space
JP7421585B2 (ja) 光線バンドルの光線に対する差分データを決定する方法及びグラフィックス処理ユニット
CN106897143B (zh) 图形处理系统和在图形处理系统中处理基元片段的方法
US7130467B1 (en) Real time data matching
US6744433B1 (en) System and method for using and collecting information from a plurality of depth layers
US8773422B1 (en) System, method, and computer program product for grouping linearly ordered primitives
US9501865B2 (en) System, method, and computer program product for determining a quantity of light received by an element of a scene
TWI552113B (zh) 舖磚延遲著色的系統、方法,及電腦程式產品
TW201033937A (en) Discarding of vertex points during two-dimensional graphics rendering using three-dimensional graphics hardware
US9280956B2 (en) Graphics memory load mask for graphics processing
US8860725B2 (en) System, method, and computer program product for deterministically simulating light transport
US20120280992A1 (en) Grid walk sampling
TWI769138B (zh) 圖形處理之方法、流水線電路以及計算機程序
US6940515B1 (en) User programmable primitive engine
CN112055213B (zh) 用于生成压缩图像的方法、系统和介质
US8842931B2 (en) System, method, and computer program product for reducing noise in an image using depth-based sweeping over image samples
US20070211078A1 (en) Image Processing Device And Image Processing Method
TWI496107B (zh) 最佳化關聯於隨機透明度的分層抽樣之系統、方法與電腦程式產品
TWI537871B (zh) 用於並行確定性一致光傳輸模擬的拼貼螢幕空間樣本干擾的系統、方法和電腦程式商品
Harada A 2.5 D culling for forward+
Dyken et al. Real‐Time GPU Silhouette Refinement using Adaptively Blended Bézier Patches
US10074212B2 (en) Decorrelation of low discrepancy sequences for progressive rendering
US20230377265A1 (en) Systems for Efficiently Rendering Vector Objects
CN109155074B (zh) 用于无缝隙地渲染点的系统和方法
JP6619598B2 (ja) プログラム、記録媒体、輝度演算装置及び輝度演算方法