[go: up one dir, main page]

TW201832179A - 使用一類神經網路過濾影像資料 - Google Patents

使用一類神經網路過濾影像資料 Download PDF

Info

Publication number
TW201832179A
TW201832179A TW107101730A TW107101730A TW201832179A TW 201832179 A TW201832179 A TW 201832179A TW 107101730 A TW107101730 A TW 107101730A TW 107101730 A TW107101730 A TW 107101730A TW 201832179 A TW201832179 A TW 201832179A
Authority
TW
Taiwan
Prior art keywords
image data
neural network
data
specific embodiment
unit
Prior art date
Application number
TW107101730A
Other languages
English (en)
Other versions
TWI764974B (zh
Inventor
安東S 卡普拉尼掦
查克拉瓦蒂 雷迪愛拉 切塔尼亞
堤摩 奧斯凱瑞 艾拉
亞倫 艾略特 萊福恩
馬可 薩爾維
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
Application filed by 美商輝達公司 filed Critical 美商輝達公司
Publication of TW201832179A publication Critical patent/TW201832179A/zh
Application granted granted Critical
Publication of TWI764974B publication Critical patent/TWI764974B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/192Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
    • G06V30/194References adjustable by an adaptive method, e.g. learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20182Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

本發明揭示一種用於進行時空過濾的方法、電腦可讀取媒體和系統。該方法包含識別要渲染的影像資料;利用包含具有一個或多個跳躍連接和一層或多層遞迴層的一類神經網路的一過濾器重建該影像資料,以創建經重建的影像資料;以及回傳該經重建的影像資料。

Description

使用一類神經網路過濾影像資料 【優先權主張】
本申請案主張2017年1月18日所申請之標題為「使用遞迴自動編碼器重建具雜訊蒙地卡羅影像序列,以及用於重建全域照明影像的時空變動引導過濾(RECONSTRUCTION OF NOISY MONTE CARLO IMAGE SEQUENCES USING A RECURRENT AUTOENCODER AND SPATIOTEMPORAL VARIANCE-GUIDED FILTERING FOR RECONSTRUCTION OF GLOBAL ILLUMINATION IMAGES)」的美國臨時申請案No.62/447,859(代理人案No.NVIDP1153+/17KI0010US01)以及2018年1月16日所申請之標題為「使用一類神經網路過濾影像資料(FILTERING IMAGE DATA USING A NEURAL NETWORK)」的美國申請案No.15/872,838之利益,其全部內容皆以參考方式併入文中。
本發明係關於影像渲染,更特定而言係關於在渲染程序期間對所取樣的影像進行重建。
利用現有技術重建具雜訊影像資料已經驗證富有挑戰性。舉例來說,現有用於進行具雜訊影像資料重建的實作非常耗時,需仰賴具有相對較高取樣計數的影像,且無法生成時間上穩定結果。現有解決方案皆無法提供有時間效率、能以少量取樣計數處理初始影像資料,並生成時間上穩定結果的重建方法。
因此,本領域亟需解決這些問題及/或與先前技術相關聯的其他問題。
【簡述】
本發明揭示一種用於進行時空過濾的方法、電腦可讀取媒體和系統。該方法包括識別要渲染的影像資料;利用包含具有一個或多個跳 躍連接和一層或多層遞迴層的一類神經網路的一過濾器重建該影像資料,以創建經重建的影像資料;以及回傳該經重建的影像資料。
100‧‧‧方法
102、104、106‧‧‧運算
200‧‧‧並行處理單元(PPU)
202‧‧‧系統匯流排
204‧‧‧記憶體裝置;記憶體
205‧‧‧輸入/輸出(I/O)單元
210‧‧‧主機介面單元;主機單元
215‧‧‧前端單元
220‧‧‧排程器單元
225‧‧‧工作分配單元
230‧‧‧集線器
250‧‧‧一般處理叢集(GPC)
270‧‧‧交叉開關(XBar)
280‧‧‧分區單元
310‧‧‧指令管線管理器
315‧‧‧前光柵運算單元(PROP);PROP單元
320‧‧‧紋理處理叢集(TPC)
325‧‧‧光柵引擎
330‧‧‧M管線控制器(MPC)
335‧‧‧基元引擎
340‧‧‧串流多處理器(SM)
345‧‧‧紋理單元
350‧‧‧光柵運算(ROP)單元
352‧‧‧色彩光柵運算(CROP)單 元
354‧‧‧Z光柵運算(ZROP)單元
355‧‧‧光柵運算(ROP)管理器
360‧‧‧二階(L2)快取
365‧‧‧二階(L2)交叉開關(XBar)
370‧‧‧記憶體介面
380‧‧‧工作分配交叉開關(WDX)
390‧‧‧記憶體管理單元(MMU)
405‧‧‧指令快取
410‧‧‧排程器單元
415‧‧‧指令調度單元;調度單元
420‧‧‧暫存器檔案
450‧‧‧處理核心;核心
452‧‧‧特殊功能單元(SFU)
454‧‧‧載入/儲存單元(LSU)
470‧‧‧共享記憶體
480‧‧‧互連網路
490‧‧‧一階(L1)快取;分區一階(L1)快取
500‧‧‧系統單晶片(SoC)
550‧‧‧中央處理單元(CPU)
590‧‧‧系統記憶體管理單元(MMU)
595‧‧‧記憶體介面
600‧‧‧圖形處理指令管線
601‧‧‧輸入資料
602‧‧‧輸出資料
610‧‧‧資料組合階段
620‧‧‧頂點著色階段
630‧‧‧基元組合階段
640‧‧‧幾何著色階段
650‧‧‧視埠縮放、淘汰及修剪(VSCC)階段;視埠SCC階段
660‧‧‧光柵化階段
670‧‧‧片段著色階段
680‧‧‧光柵運算階段
700‧‧‧示例性系統;系統
701‧‧‧中央處理器
702‧‧‧通訊匯流排
704‧‧‧主記憶體;記憶體
706‧‧‧圖形處理器
708‧‧‧顯示器
710‧‧‧輔助儲存體;儲存體
712‧‧‧輸入裝置
800‧‧‧方法
802、804、806‧‧‧運算
900‧‧‧示例性內部結構
902A-C‧‧‧第一複數卷積
902D-F‧‧‧第二複數卷積
904‧‧‧第一輸入
906‧‧‧反饋迴路
908‧‧‧隱藏遞迴狀態
910‧‧‧第二輸入
第一圖例示依據一個具體實施例用於使用類神經網路過濾影像資料的方法的流程圖;第二圖例示依據一個具體實施例的並行處理單元;第三A圖例示依據一個具體實施例的第二圖的並行處理單元的一般處理叢集;第三B圖例示依據一個具體實施例的第二圖的並行處理單元的分區單元;第四圖例示依據一個具體實施例的第三A圖的串流多處理器;第五圖例示依據一個具體實施例包含第二圖的並行處理單元的系統單晶片;第六圖係依據一個具體實施例透過第二圖的並行處理單元實行的圖形處理指令管線的概念圖;第七圖例示於其中可能實行所有具體實施例的各種架構及/或功能的示例性系統;第八圖例示依據一個具體實施例用於使用類神經網路重建影像資料的示例性方法的流程圖;以及第九圖例示依據一個具體實施例的遞迴卷積類神經網路(Recurrent convolutional neural network,RCNN)連接的示例性內部結構。
第一圖例示依據一個具體實施例用於使用類神經網路過濾影像資料的方法100的流程圖。如運算102所示,識別要渲染的影像資料。在一個具體實施例中,該影像資料可能包含一單張影像。在另一個具體實施例中,該影像資料可能包含複數影像畫面(如視訊資料等)之一。在又另一具體實施例中,該影像資料可能係由於預定程序的結果所創建。舉例來說,該預定程序可能包含一個或多個的低光度攝影、低光度錄影、一蒙地卡羅 (Monte Carlo)取樣方法、生成RGB和深度資訊的攝影及/或視訊創作、使用僅深度相機〔如生成具雜訊影像/視訊的飛行時間(time-of-flight)相機〕的影像創作等。在又另一具體實施例中,該影像資料可能係透過一個或多個車用成像裝置(如白天相機、夜視相機等)創建。
此外,在一個具體實施例中,該影像資料可能具有低於預定臨界值的每個像素若干取樣(Samples per pixel,spp)。舉例來說,該影像資料可能具有大於預定臨界值的雜訊程度。在另一個具體實施例中,該影像資料可能包含色彩資料(如RGB資料等)。在又另一具體實施例中,該影像資料可能包含輔助資訊。舉例來說,該輔助資訊可能包含一個或多個視野空間著色法線(如2D向量等)。在另一個範例中,該輔助資訊可能包含一個或多個深度值。在又另一範例中,該輔助資訊可能包含一個或多個粗糙度值。在又另一具體實施例中,渲染該影像資料可能包含利用該影像資料產生一可觀看的影像。
再者,如運算104所示,利用包含具有一個或多個跳躍連接和一層或多層遞迴層的一類神經網路的過濾器重建該影像資料,以創建經重建的影像資料。在一個具體實施例中,重建該影像資料可能包含去除該影像資料的雜訊(如減少該影像資料內的雜訊等),以創建該經重建的影像資料。在另一個具體實施例中,重建該影像資料可能包含完成及/或校正該影像資料,以創建該經重建的影像資料。舉例來說,該類神經網路可能使用預定數量的自然影像進行訓練,並可能將該影像資料作為輸入且完成及/或校正該影像資料,以創建該經重建的影像資料使其局部看起來像是該等訓練影像的部分。
在又另一具體實施例中,該類神經網路可能包含複數卷積層(如階段等)。在又另一具體實施例中,該類神經網路可能包含一自動編碼器。舉例來說,該類神經網路可能包含會學習重建其輸入的一自動編碼器。在另一個具體實施例中,該輔助資訊可能通過該自動編碼器而未改變。
又再者,在一個具體實施例中,在該重建期間,該等一個或多個跳躍連接可能使其能避免該類神經網路的一層或多層。舉例來說,該類神經網路可能包含複數編碼器層和對應的解碼器層。在另一個範例中, 該類神經網路內的跳躍連接可能使重建程序能從編碼器層直接跳轉到對應的解碼器層,由此跳過該類神經網路內的一層或多層編碼器和解碼器層。
此外,在一個具體實施例中,該等一層或多層遞迴層可能包含一遞迴卷積類神經網路(RCNN)。舉例來說,一個或多個反饋迴路可能透過將先前狀態的輸出(如稍早影像資料畫面等)連接到現有狀態中的一層或多層遞迴層實行。在另一個範例中,這可能使其能在輸入影像資料之間(如影像資料的畫面之間等)保留資訊(如輔助資訊等)。
舉例來說,在該影像資料的畫面序列的第一畫面的重建期間使用的資訊(如輔助資訊、色彩資訊、狀態資訊等),可能係儲存為隱藏的重現狀態。這種狀態可能隨後在該RCNN內的影像資料的畫面序列的第二畫面的重建期間,利用該RCNN的反饋迴路進行存取。
此外,在一個具體實施例中,該等一層或多層遞迴層可能在該類神經網路內將一層鏈接到其自身。舉例來說,這可能在該類神經網路內實行短期記憶(如透過允許該類神經網路在影像畫面之間留存狀態資訊等)。在另一個範例中,這可能會提升該經重建的影像資料的時間穩定性/一致性(如透過減少像是閃爍的時間問題等)。
再者,在一個具體實施例中,該類神經網路可能利用包含複數輸入/輸出對的資料集進行訓練。舉例來說,該訓練可能包含學習從具雜訊輸入影像資料到無雜訊輸出影像資料的一映射。在另一個範例中,每個輸入/輸出對皆可能包含輸入影像資料〔如欲進行轉換的低品質影像資料(如具有低於預定臨界值的每個像素若干取樣的具雜訊影像資料等)〕,以及預渲染的輸出資料〔使用昂貴渲染程序(如利用高於預定臨界值的每個像素若干取樣等)得到的高品質參考影像〕。在又另一範例中,該訓練可能包括對該類神經網路內的每一層皆進行加權,以便找出將輸入/輸出對的輸入一致地映射到該輸入/輸出對的輸出的功能。
又再者,在一個具體實施例中,可能在該類神經網路的訓練期間利用損失函數。在一個具體實施例中,該損失函數可能會定義在該訓練期間如何計算實際類神經網路輸出與訓練輸出之間的誤差。
結果,該經重建的影像資料可能具有比該輸入影像資料更少 的雜訊。
又,如運算106所示,回傳該經重建的影像資料。在一個具體實施例中,可能會輸出該經重建的影像資料(如顯示為可觀看的影像等)。在另一個具體實施例中,可能將該經重建的影像資料傳遞到一個或多個附加過濾器(如在渲染程序內等)。
如此,影像資料可能在渲染期間使用具有跳躍連接和遞迴層的自動編碼器進行重建。此外,可能使用類神經網路重建蒙地卡羅取樣資料。
現在將闡述有關各種視需要的架構和特徵(前述框架根據使用者所需可能會透過其實行或不實行)的更多例示性資訊。應深切注意下列資訊係為了例示性目的所闡述,且不應以任何方式理解為限制。下列特徵之任一者皆可能視需要地排除或未排除所說明的其他特徵而併入。
並行處理架構
第二圖例示依據一個具體實施例的並行處理單元(Parallel processing unit,PPU)200。在一個具體實施例中,PPU 200係實行在一個或多個積體電路裝置上的多重執行緒處理器。PPU 200係設計為並行處理大量執行緒的延遲隱藏架構。執行緒(即執行的執行緒)係配置成透過PPU 200執行的指令集的例示。在一個具體實施例中,PPU 200係圖形處理單元(Graphics processing unit,GPU),其配置成實行用於處理三維(three-dimensional,3D)圖形資料以便產生用於在液晶顯示器(Liquid crystal display,LCD)裝置等顯示裝置上顯示的二維(two-dimensional,2D)影像資料的圖形渲染指令管線。在其他具體實施例中,PPU 200可能用於進行通用運算。儘管為了例示性目的於文中提供一個示例性並行處理器,但應深切注意這樣的處理器僅僅係為了例示性目的而闡述,且可能採用任何處理器進行補充及/或代換。
如第二圖所示,PPU 200包含一輸入/輸出(Input/Output,I/O)單元205、一主機介面單元210、一前端單元215、一排程器單元220、一工作分配單元225、一集線器230、一交叉開關(crossbar,XBar)270、一個 或多個一般處理叢集(General processing cluster,GPC)250,以及一個或多個分區單元280。PPU 200可能透過系統匯流排202連接到主機處理器或其他周邊裝置。PPU 200也可能連接到包括若干記憶體裝置204的局部記憶體。在一個具體實施例中,該局部記憶體可能包括若干動態隨機存取記憶體(Dynamic random access memory,DRAM)裝置。
I/O單元205係配置成透過系統匯流排202傳輸和從主機處理器(未顯示)接收通訊(即命令、資料等)。I/O單元205可能透過系統匯流排202或經由記憶體橋等一個或多個中間裝置直接與該主機處理器通訊。在一個具體實施例中,I/O單元205實行用於透過快速周邊組件互連(Peripheral Component Interconnect Express,PCIe)匯流排的通訊的PCIe介面。在替代性具體實施例中,I/O單元205可能實行用於與外部裝置通訊的其他類型的熟知介面。
I/O單元205係耦接到主機介面單元210,其會解碼透過系統匯流排202接收的封包。在一個具體實施例中,該等封包代表配置成使得PPU 200進行各種運算的命令。由於該等命令可能指定,主機介面單元210會將該等經解碼的命令傳輸到PPU 200的各種其他單元。舉例來說,一些命令可能會傳輸到前端單元215。其他命令可能會傳輸到集線器230或PPU 200的其他單元,例如一個或多個複製引擎、視訊編碼器、視訊解碼器、電源管理單元等(未明確顯示)。換言之,主機介面單元210係配置成在PPU 200的該等各種邏輯單元之間和之中路由通訊。
在一個具體實施例中,透過該主機處理器執行的程式會編碼向PPU 200提供工作負荷進行處理的緩衝區中的命令流。工作負荷可能包括要透過那些指令處理的若干指令和資料。該緩衝區係可透過該主機處理器和PPU 200兩者存取(即讀取/寫入)的記憶體中的區域。舉例來說,主機介面單元210可能配置成存取透過記憶體請求(其透過I/O單元205在系統匯流排202上傳輸)連接到系統匯流排202的系統記憶體中的緩衝區。在一個具體實施例中,該主機處理器會將該命令流寫入該緩衝區,並隨後將啟動該命令流的指標(pointer)傳輸到PPU 200。主機介面單元210會向一個或多個命令流提供具有指標的前端單元215。前端單元215會管理該等一個或 多個串流、從該等串流讀取命令,並將命令轉送到PPU 200的該等各種單元。
前端單元215係耦接到排程器單元220,其配置該等各種GPC 250以處理該等一個或多個串流所定義的任務。排程器單元220係配置成追蹤與透過排程器單元220管理的該等各種任務相關的狀態資訊。該狀態可能指示任務係分派給哪個GPC 250、是否啟動(active)或停用(inactive)該任務、與該任務相關聯的優先程度等。排程器單元220會管理該等一個或多個GPC 250上的複數任務的執行。
排程器單元220係耦接到工作分配單元225,其配置成調度用於在該等GPC 250上執行的任務。工作分配單元225可能會追蹤從排程器單元220接收的若干經排程的任務。在一個具體實施例中,工作分配單元225會管理用於每個該等GPC 250的待處理任務池和啟動任務池。該待處理任務池可能包括若干時隙(如32個時隙),其含有分派要透過特定GPC 250處理的任務。該啟動任務池可能包括若干時隙(如4個時隙),其用於積極地透過該等GPC 250處理的任務。隨著GPC 250結束任務的執行,該任務會從用於GPC 250的啟動任務池逐出,且會選定來自該待處理任務池的其他任務之一,並排程要在GPC 250上執行。若啟動任務已在GPC 250上閒置,例如在等待要解決的資料相依性的同時,則該啟動任務可能會從GPC 250逐出並回傳到該待處理任務池,而會選定該待處理任務池中的另一項任務,並排程要在GPC 250上執行。
工作分配單元225透過XBar 270與該等一個或多個GPC 250通訊。XBar 270係將PPU 200的許多該等單元耦接到PPU 200的其他單元的互連網路。舉例來說,XBar 270可能配置成將工作分配單元225耦接到特定GPC 250。儘管未明確顯示,但PPU 200的一個或多個其他單元係耦接到主機單元210。該等其他單元也可能透過集線器230連接到XBar 270。
該等任務係透過排程器單元220管理,並透過工作分配單元225調度給GPC 250。GPC 250係配置成處理該任務並產生結果。該等結果可能透過GPC 250內的其他任務消耗、透過XBar 270路由到不同的GPC 250,或儲存在記憶體204中。該等結果可透過該等分區單元280(其實行用於從記憶體204讀取資料/將資料寫入記憶體204的記憶體介面)寫入記憶體204。在一個具體實施例中,PPU 200包含數量U的分區單元280,其等於耦接到PPU 200的分離且相異的記憶體裝置204的數量。以下將搭配第三B圖更詳細地說明分區單元280。
在一個具體實施例中,主機處理器執行驅動程式核心,其實行使在該主機處理器上執行的一個或多個應用程式能排程要在PPU 200上執行的運算的應用程式設計介面(Application programming interface,API)。應用程式可能會產生指令(即API呼叫),使得該驅動程式核心產生要透過PPU 200執行的一項或多項任務。該驅動程式核心將任務輸出到透過PPU 200處理的一個或多個串流。每項任務皆可能包括一個或多個相關執行緒群組,其於文中指稱為執行纜。執行緒區塊可能指稱執行緒的複數群組,其包含要進行該任務的指令。同一執行緒群組中的執行緒可能經由共享記憶體交換資料。在一個具體實施例中,執行緒群組包括32個相關執行緒。
第三A圖例示依據一個具體實施例的第二圖的PPU 200的GPC 250。如第三A圖所示,每個GPC 250皆包含用於處理任務之若干硬體單元。在一個具體實施例中,每個GPC 250皆包含一指令管線管理器310、一前光柵運算單元(Pre-raster operations unit,PROP)315、一光柵引擎325、一工作分配交叉開關(Work distribution crossbar,WDX)380、一記憶體管理單元(Memory management unit,MMU)390,以及一個或多個紋理處理叢集(Texture Processing Cluster,TPC)320。應可瞭解,第三A圖的GPC 250可能包含替代或除了第三A圖所示的該等單元之外的其他硬體單元。
在一個具體實施例中,GPC 250的運算係透過指令管線管理器310控制。指令管線管理器310會管理用於處理調配給GPC 250的任務的該等一個或多個TPC 320的配置。在一個具體實施例中,指令管線管理器310可能會配置該等一個或多個TPC 320中至少一者,以實行至少部分的圖形渲染指令管線。舉例來說,TPC 320可能配置成在可程式串流多處理器(Streaming multiprocessor,SM)340上執行頂點著色器程式。指令管線管理器310也可能配置成將從工作分配單元225接收的封包路由到GPC 250 內的該等適用的邏輯單元。舉例來說,一些封包可能會路由到PROP 315及/或光柵引擎325中的固定功能硬體單元,而其他封包可能會路由到要透過基元引擎335或SM 340處理的該等TPC 320。
以下將更詳細地說明,PROP單元315係配置成將光柵引擎325和該等TPC 320所產生的資料路由到分區單元280中的光柵運算(Raster Operation,ROP)單元。PROP單元315也可能配置成進行用於色彩混合的最佳化、組織像素資料、進行位址轉譯及其類似物。
光柵引擎325包含若干固定功能硬體單元,其配置成進行各種光柵運算。在一個具體實施例中,光柵引擎325包含一設置引擎、一過程光柵引擎、一淘汰引擎、一修剪引擎、一精細光柵引擎,以及一階層接合(tile coalescing)引擎。該設置引擎會接收經變換的頂點,並產生與該等頂點所定義的幾何基元相關聯的平面方程式。該等平面方程式係傳輸到該粗略光柵引擎,以產生用於該基元的涵蓋資訊(如用於階層的x、y涵蓋遮罩)。該粗略光柵引擎的輸出可能會傳輸到該淘汰引擎,其中淘汰未通過z測試的與該基元相關聯的片段,且該輸出會傳輸到修剪引擎,其中修剪位於視見平截頭體(viewing frustum)外部的片段。在修剪和淘汰之後仍存在的那些片段可能會傳遞到精細光柵引擎,以基於該設置引擎所產生的該等平面方程式產生用於該等像素片段的屬性。光柵引擎325的輸出包括要處理的片段,例如透過在TPC 320內實行的片段著色器處理。
包含在GPC 250中的每個TPC 320皆包含一M管線控制器(M-Pipe Controller,MPC)330、一基元引擎335、一個或多個SM 340,以及一個或多個紋理單元345。MPC 330會控制TPC 320的運算,從而將從指令管線管理器310接收的封包路由到TPC 320中的該等適用的單元。舉例來說,與頂點相關聯的封包可能係路由到基元引擎335,其配置成從記憶體204提取與該頂點相關聯的頂點屬性。相對而言,與著色器程式相關聯的封包可能係傳輸到SM 340。
在一個具體實施例中,紋理單元345係配置成從記憶體204載入紋理映射(如紋素的2D陣列),並取樣該等紋理映射以生成要在SM 340所執行的著色器程式中使用的經取樣的紋理值。紋理單元345會實行紋理 運算,例如使用mip映射(即細部的不同階的紋理映射)的過濾運算。紋理單元345也用作用於SM 340到MMU 390的載入/儲存路徑。在一個具體實施例中,每個TPC 320皆包含二(2)紋理單元345。
SM 340包括一可程式串流處理器,其係配置成處理若干執行緒所代表的任務。每個SM 340皆係多重執行緒,並配置成同時執行來自特定執行緒群組的複數執行緒(如32個執行緒)。在一個具體實施例中,SM 340會實行單一指令多重資料(Single-Instruction,Multiple-Data,SIMD)架構,其中執行緒群組(即執行纜)中的每個執行緒皆配置成基於同一指令集處理不同的資料集。該執行緒群組中的所有執行緒皆會執行相同指令。在另一個具體實施例中,SM 340會實行單一指令多重執行緒(Single-Instruction,Multiple Thread,SIMT)架構,其中執行緒群組中的每個執行緒皆配置成基於同一指令集處理不同的資料集,但其中允許該執行緒群組中的個別執行緒在執行期間偏離。換言之,調度要執行的用於該執行緒群組的指令時,該執行緒群組中的一些執行緒可能啟動,由此執行該指令,而該執行緒群組中的其他執行緒可能停用,由此進行無運算(No-operation,NOP)而非執行該指令。以下可能搭配第四圖更詳細地說明SM 340。
MMU 390在GPC 250與分區單元280之間提供介面。MMU 390可能會提供將虛擬位址轉譯為實體位址、記憶體保護,以及記憶體請求的仲裁。在一個具體實施例中,MMU 390會提供一個或多個轉譯後備緩衝區(Translation lookaside buffer,TLB),其用於改進在記憶體204中將虛擬位址轉譯為實體位址。
第三B圖例示依據一個具體實施例的第二圖的PPU 200的分區單元280。如第三B圖所示,分區單元280包含一光柵運算(ROP)單元350、一二階(Level two,L2)快取360、一記憶體介面370,以及一L2交叉開關(XBar)365。記憶體介面370係耦接到記憶體204。記憶體介面370可能會實行用於高速資料傳輸的16、32、64、128位元資料匯流排或其類似物。在一個具體實施例中,PPU 200包括U個記憶體介面370,每個分區單元280皆有一個記憶體介面370,其中每個分區單元280皆連接到對應的記憶體裝置204。舉例來說,PPU 200可能會連接到多達U個記憶體裝置204, 例如圖形雙倍資料速率的版本5的同步動態隨機存取記憶體(Graphics double-data-rate,version 5,synchronous dynamic random access memory,GDDR5 SDRAM)。在一個具體實施例中,記憶體介面370會實行DRAM介面,且U等於8。
在一個具體實施例中,PPU 200會實行多階記憶體階層。記憶體204在耦接到PPU 200的SDRAM中位於晶片外。來自記憶體204的資料可能係提取和儲存在位於晶片上並在該等各種GPC 250之間共享的L2快取360中。如所示,每個分區單元280皆包含部分的L2快取360,其與對應的記憶體裝置204相關聯。隨後可能在該等GPC 250內的各種單元中實行較低階快取。舉例來說,每個該等SM 340皆可能實行一階(Level one,L1)快取。該L1快取係專用於特定SM 340的專用記憶體。來自L2快取360的資料可能係提取和儲存在要在該等SM 340的該等功能單元中處理的每個該等L1快取中。L2快取360係耦接到記憶體介面370和XBar 270。
ROP單元350包含一ROP管理器355、一色彩光柵運算(Color ROP,CROP)單元352,以及一Z光柵運算(ZROP)單元354。CROP單元352會進行與像素色彩相關的光柵運算,例如色彩壓縮、像素混合及其類似物。ZROP單元354會搭配光柵引擎325實行深度測試。ZROP單元354會從光柵引擎325的淘汰引擎接收用於與像素片段相關聯的取樣位置的深度。ZROP單元354會對照用於與該片段相關聯的取樣位置的深度緩衝區中的對應深度測試該深度。若該片段通過用於該取樣位置的深度測試,則ZROP單元354會更新該深度緩衝區,並將該深度測試的結果傳輸到光柵引擎325。ROP管理器355會控制ROP單元350的運算。應可瞭解,分區單元280的數量可能不同於GPC 250的數量,因此每個ROP單元350皆可能耦接到每個該等GPC 250。因此,ROP管理器355會追蹤從該等不同的GPC 250接收的封包,並判定ROP單元350所產生的結果係路由到哪個GPC 250。CROP單元352和ZROP單元354係透過L2 XBar 365耦接到L2快取360。
第四圖例示依據一個具體實施例的第三A圖的串流多處理器340。如第四圖所示,SM 340包含一指令快取405、一個或多個排程器 單元410、一暫存器檔案420、一個或多個處理核心450、一個或多個特殊功能單元(Special function unit,SFU)452、一個或多個載入/儲存單元(Load/store unit,LSU)454、一互連網路480、一共享記憶體470以及一L1快取490。
如以上所說明,工作分配單元225會調度要在PPU 200的該等GPC 250上執行的任務。該等任務係調配給GPC 250內的特定TPC 320,且若該任務與著色器程式相關聯,則該任務可能會調配給SM 340。排程器單元410會從工作分配單元225接收該等任務,並管理用於分派給SM 340的一個或多個執行緒群組(即執行纜)的指令排程。排程器單元410會排程要在並行執行緒群組中執行的執行緒,其中每個群組皆稱為執行纜。在一個具體實施例中,每個執行纜皆包含32個執行緒。排程器單元410可能會管理複數不同的執行纜,從而排程要執行的該等執行纜,並隨後在每個時脈週期期間皆將來自該等複數不同的執行纜的指令調度到該等各種功能單元(即核心450、SFU 452和LSU 454)。
在一個具體實施例中,每個排程器單元410皆包含一個或多個指令調度單元415。每個調度單元415皆配置成將指令傳輸到該等功能單元的一個或多個。在第四圖所示的具體實施例中,排程器單元410包含兩個調度單元415,其使來自同一執行纜的兩個不同的指令能在每個時脈週期期間皆進行調度。在替代性具體實施例中,每個排程器單元410皆可能包含一單一調度單元415或附加調度單元415。
每個SM 340皆包含一暫存器檔案420,其提供用於SM 340的該等功能單元的暫存器集。在一個具體實施例中,暫存器檔案420係在每個該等功能單元之間進行劃分,使得每個功能單元皆調配暫存器檔案420的專用部分。在另一個具體實施例中,暫存器檔案420係在透過SM 340執行的該等不同的執行纜之間進行劃分。暫存器檔案420會提供用於連接到該等功能單元的該等資料路徑的運算元的暫時儲存。
每個SM 340皆包括L個處理核心450。在一個具體實施例中,SM 340包含大量(如128個等)相異的處理核心450。每個核心450皆可能包含一完全指令管線的單精度處理單元,其包含一浮點算術邏輯單元和 一整數算術邏輯單元。核心450也可能包含一雙精度處理單元,其包含一浮點算術邏輯單元。在一個具體實施例中,該等浮點算術邏輯單元會實行用於浮點算術的IEEE 754-2008標準。每個SM 340也皆包括M個SFU 452,其會進行特殊功能(如屬性評估、互反平方根及其類似物);以及N個LSU 454,其在共享記憶體470或L1快取490與暫存器檔案420之間實行載入和儲存運算。在一個具體實施例中,SM 340包含128個核心450、32個SFU 452以及32個LSU 454。
每個SM 340皆包含一互連網路480,其將每個該等功能單元皆連接到暫存器檔案420,並將LSU 454連接到暫存器檔案420、共享記憶體470以及L1快取490。在一個具體實施例中,互連網路480係交叉開關,其可配置成將該等功能單元任一者連接到暫存器檔案420中的該等暫存器之任一者,並將該等LSU 454連接到共享記憶體470和L1快取490中的暫存器檔案和記憶體位置。
共享記憶體470係晶片上記憶體的陣列,其允許SM 340與基元引擎335之間和SM 340中的執行緒之間的資料儲存和通訊。在一個具體實施例中,共享記憶體470包括64KB的儲存容量。L1快取490係在從SM 340到分區單元280的路徑中。L1快取490可用於快取讀取和寫入。在一個具體實施例中,L1快取490包括24KB的儲存容量。
以上所說明的PPU 200可能配置成比慣用中央處理單元(Central processing unit,CPU)更快速許多地進行高度並行運算。並行運算在圖形處理、資料壓縮、生物統計學、串流處理演算法及其類似物方面具有優勢。
配置用於通用並行運算時,可使用較簡單的配置。在這種模型中,如第二圖所示,會繞過固定功能圖形處理單元,從而創建簡單更多的可程式模型。在這種配置中,工作分配單元225會直接將執行緒區塊分派和分配給該等TPC 320。區塊中的該等執行緒會使用該計算中的唯一執行緒ID執行同一程式,以確保每個執行緒皆產生唯一結果,從而使用SM 340執行該程式並進行計算,共享記憶體470會在執行緒之間通訊,且LSU 454會經由分區L1快取490和分區單元280讀取和寫入總體記憶體。
配置用於通用並行運算時,SM 340也可寫入排程器單元220可使用以在該等TPC 320上啟動新工作的命令。
在一個具體實施例中,PPU 200包括一圖形處理單元(GPU)。PPU 200係配置成接收指定用於處理圖形資料的著色器程式的命令。圖形資料可能係定義為基元集,例如點、線、三角形、四邊形、三角形帶及其類似物。通常,基元會包含資料,其指定用於該基元(如在模型空間坐標系中)以及與該基元的每個頂點皆相關聯的屬性的若干頂點。PPU 200可配置成處理該等圖形基元,以產生畫面緩衝區(即用於該顯示器的每個該等像素的像素資料)。
應用程式會將用於場景(即頂點和屬性的集合)的模型資料寫入系統記憶體或記憶體204等記憶體。該模型資料會定義顯示器上可能可見的每個該等物件。該應用程式隨後會對該驅動程式核心進行API呼叫,請求要渲染和顯示的模型資料。該驅動程式核心會讀取該模型資料,並將命令寫入該等一個或多個串流,以進行處理該模型資料的運算。該等命令可能會參照要在包含頂點著色器、外殼著色器、定域著色器、幾何著色器和像素著色器的一個或多個的PPU 200的該等SM 340上實行的不同的著色器程式。舉例來說,該等SM 340的一個或多個可能配置成執行頂點著色器程式,其會處理該模型資料所定義的若干頂點。在一個具體實施例中,該等不同的SM 340可能配置成同時執行不同的著色器程式。舉例來說,SM 340的第一子集可能配置成執行頂點著色器程式,而SM 340的第二子集可能配置成執行像素著色器程式。SM 340的第一子集會處理頂點資料,以生成經處理的頂點資料,並將該經處理的頂點資料寫入L2快取360及/或記憶體204。在該經處理的頂點資料係光柵化(即在螢幕空間中從三維資料變換為二維資料)以生成片段資料之後,SM 340的第二子集會執行像素著色器,以生成經處理的片段資料,其隨後會與其他經處理的片段資料混合,並寫入記憶體204中的畫面緩衝區。該頂點著色器程式和像素著色器程式可能會同時執行,從而以指令管線的方式處理來自同一場景的不同資料,直到用於該場景的所有模型資料皆已渲染到該畫面緩衝區。然後,該畫面緩衝區的該等內容係傳輸到用於在顯示裝置上顯示的顯示控制器。
PPU 200可能係包含在桌上型電腦、膝上型電腦、平板電腦、智慧型手機(如無線、手持式裝置)、個人數位助理(Personal digital assistant,PDA)、數位相機、手持式電子裝置及其類似物中。在一個具體實施例中,PPU 200係體現在單一半導體基板上。在另一個具體實施例中,PPU 200係伴隨精簡指令集電腦(Reduced instruction set computer,RISC)CPU、記憶體管理單元(MMU)、數位類比轉換器(Digital-to-analog converter,DAC)及其類似物等一個或多個其他邏輯單元而包含在系統單晶片(System-on-a-chip,SoC)中。
在一個具體實施例中,PPU 200可能係包含在圖形卡上,其包含一個或多個記憶體裝置204,例如GDDR5 SDRAM。該圖形卡可能配置成與包含例如北橋晶片組和南橋晶片組的桌上型電腦的主機板上的PCIe插槽介接。在又另一具體實施例中,PPU 200可能係包含在該主機板的晶片組(即北橋)中的整合式圖形處理單元(Integrated graphics processing unit,iGPU)。
第五圖例示依據一個具體實施例包含第二圖的PPU 200的系統單晶片(SoC)500。如第五圖所示,如以上所說明,SoC 500包含一CPU 550和一PPU 200。SoC 500也可能包含一系統匯流排202,以使SoC 500的該等各種組件之間能通訊。CPU 550和PPU 200所產生的記憶體請求可能會經由SoC 500的多個組件所共享的系統MMU 590路由。SoC 500也可能包含一記憶體介面595,其耦接到一個或多個記憶體裝置204。記憶體介面595可能會實行例如DRAM介面。
儘管未明確顯示,但SoC 500可能除了第五圖所示的該等組件之外還包含其他組件。舉例來說,SoC 500可能包含多個PPU 200(如4個PPU 200)、一視訊編碼器/解碼器,以及一無線寬頻收發器以及其他組件。在一個具體實施例中,SoC 500可能係以堆疊式封裝(Package-on-package,PoP)配置與記憶體204一起包含。
第六圖係依據一個具體實施例透過第二圖的PPU 200實行的圖形處理指令管線600的概念圖。圖形處理指令管線600係實行以從3D幾何資料產生2D電腦產出影像的該等處理步驟的摘要流程圖。如熟知,指 令管線架構可能會透過將該運算分成複數階段而更有效地進行長時間等待運算,其中每個階段的輸出皆係耦接到下一個連續階段的輸入。因此,圖形處理指令管線600會接收輸入資料601,其從圖形處理指令管線600的一個階段傳輸到該下一個階段以產生輸出資料602。在一個具體實施例中,圖形處理指令管線600可能代表OpenGL® API所定義的圖形處理指令管線。作為選項,圖形處理指令管線600可能在該等先前圖示及/或任何後續圖示的功能性和架構的背景中實行。
如第六圖所示,圖形處理指令管線600包括一指令管線架構,其包含若干階段。該等階段包含但不限於一資料組合階段610、一頂點著色階段620、一基元組合階段630、一幾何著色階段640、一視埠縮放、淘汰及修剪(Viewport scale,cull,and clip,VSCC)階段650、一光柵化階段660、一片段著色階段670以及一光柵運算階段680。在一個具體實施例中,輸入資料601包括命令,其配置該等處理單元以實行要透過該等階段處理的圖形處理指令管線600和幾何基元(如點、線、三角形、四邊形、三角形帶或扇形等)的該等階段。輸出資料602可能包括像素資料(即色彩資料),其會複製到記憶體中的畫面緩衝區或其他類型的表面資料結構中。
資料組合階段610會接收輸入資料601,其指定用於高階表面、基元或其類似物的頂點資料。資料組合階段610會例如透過從該主機處理器接收包含指向記憶體中的緩衝區的一指標的命令,並從該緩衝區讀取該頂點資料而收集暫時儲存或佇列中的頂點資料。該頂點資料隨後係傳輸到頂點著色階段620進行處理。
頂點著色階段620會透過針對每個該等頂點皆進行一次運算集(即頂點著色器或程式)而處理頂點資料。頂點可能係例如指定為與一個或多個頂點屬性(如色彩、紋理坐標、表面法線等)相關聯的4個坐標向量(即<x,y,z,w>)。頂點著色階段620可能會操控個別頂點屬性,例如位置、色彩、紋理坐標及其類似物。換言之,頂點著色階段620會對與頂點相關聯的該等頂點坐標或其他頂點屬性進行運算。這樣的運算普遍會包含照明運算(即針對頂點修改色彩屬性)和變換運算(即針對頂點修改該坐標空間)。舉例來說,頂點可能係使用物件坐標空間中的坐標進行指定,其係透過將該 等坐標乘以將該等坐標從該物件坐標空間轉譯為世界空間或正規化裝置坐標(Normalized-device-coordinate,NCD)空間的矩陣而變換。頂點著色階段620會產生傳輸到基元組合階段630的經變換的頂點資料。
基元組合階段630會收集頂點著色階段620所輸出的頂點,並將該等頂點群組為要透過幾何著色階段640處理的幾何基元。舉例來說,基元組合階段630可能配置成將每三個連續的頂點皆群組為要傳輸到幾何著色階段640的幾何基元(即三角形)。在一些具體實施例中,指定頂點可能會重新用於連續的幾何基元(如三角形帶中的兩個連續的三角形可能會共享兩個頂點)。基元組合階段630會將幾何基元(即相關聯頂點的集合)傳輸到幾何著色階段640。
幾何著色階段640會透過對該等幾何基元進行運算集(即幾何著色器或程式)而處理幾何基元。格狀運算可能會從每個幾何基元產生一個或多個幾何基元。換言之,幾何著色階段640可能會將每個幾何基元皆細分成要透過圖形處理指令管線600的其餘部分處理的兩個或多個幾何基元的更精細網格。幾何著色階段640會將幾何基元傳輸到視埠SCC階段650。
在一個具體實施例中,圖形處理指令管線600可能會在串流多處理器內運算,且頂點著色階段620、基元組合階段630、幾何著色階段640、片段著色階段670及/或與其相關聯的硬體/軟體可能會序列地進行處理運算。一旦該等序列處理運算完成,則在一個具體實施例中,視埠SCC階段650可能會利用該資料。在一個具體實施例中,透過圖形處理指令管線600中的該等階段的一個或多個處理的基元資料可能會寫入快取(如L1快取、頂點快取等)。在這種情況下,在一個具體實施例中,視埠SCC階段650可能會存取該快取中的資料。在一個具體實施例中,視埠SCC階段650和光柵化階段660係實行為固定功能電路。
視埠SCC階段650會進行該等幾何基元的視埠縮放、淘汰及修剪。經渲染到的每個表面皆會與摘要相機位置相關聯。該相機位置代表看著該場景的觀看者的位置,並定義封圍該場景的該等物件的視見平截頭體。該視見平截頭體可能包含一觀看平面、一後平面,以及四個修剪平 面。由於該幾何基元將無助於最後經渲染的場景,因此完全在該視見平截頭體外部的任何幾何基元皆可能淘汰(即廢除)。部分在該視見平截頭體內部且部分在該視見平截頭體外部的任何幾何基元皆可能修剪(即變換為封圍在該視見平截頭體內的新幾何基元)。再者,幾何基元可能會每個皆係基於該視見平截頭體的深度進行縮放。所有潛在可見的幾何基元隨後皆會傳輸到光柵化階段660。
光柵化階段660會將該等3D幾何基元轉換為2D片段(如能夠用於顯示等)。光柵化階段660可能配置成利用該等幾何基元的該等頂點設置從其可內插各種屬性的平面方程式集。光柵化階段660也可能會運算用於複數像素的涵蓋遮罩,其指示用於該像素的一個或多個取樣位置是否攔截該幾何基元。在一個具體實施例中,z測試也可能進行,以判定該幾何基元是否透過已光柵化的其他幾何基元閉合。光柵化階段660會產生傳輸到片段著色階段670的片段資料(即與用於每個經涵蓋的像素的特定取樣位置相關聯的經內插的頂點屬性)。
片段著色階段670會透過在每個該等片段上皆進行運算集(即片段著色器或程式)而處理片段資料。片段著色階段670可能會例如透過使用用於該片段的經內插的紋理坐標進行照明運算或取樣紋理映射,而產生用於該片段的像素資料(即色彩值)。片段著色階段670會產生傳輸到光柵運算階段680的像素資料。
光柵運算階段680可能會對該像素資料進行各種運算,例如進行阿法(alpha)測試、模板測試,以及將該像素資料與對應於與該像素相關聯的其他片段的其他像素資料混合。光柵運算階段680已結束處理該像素資料(即輸出資料602)時,該像素資料可能會寫入畫面緩衝區、色彩緩衝區或其類似物等渲染目標。
應可瞭解,除了或替代以上所說明的該等階段的一個或多個之外,一個或多個附加階段可能係包含在圖形處理指令管線600中。該摘要圖形處理指令管線的各種實作可能會實行不同的階段。再者,以上所說明的該等階段的一個或多個可能會在一些具體實施例(例如幾何著色階段640)中從該圖形處理指令管線排除。其他類型的圖形處理指令管線係設想為 在本發明所揭示內容的範疇內。再者,圖形處理指令管線600的該等階段任一者皆可能係透過PPU 200等圖形處理器內的一個或多個專用硬體單元實行。圖形處理指令管線600的其他階段可能係透過PPU 200的SM 340等可程式硬體單元實行。
圖形處理指令管線600可能係透過CPU 550等主機處理器所執行的應用程式實行。在一個具體實施例中,裝置驅動程式可能會實行應用程式設計介面(API),其定義可透過應用程式利用以便產生用於顯示的圖形資料的各種功能。該裝置驅動程式係軟體程式,其包含控制PPU 200的運算的複數指令。該API會為程式設計師提供摘要,其讓程式設計師利用PPU 200等專門圖形硬體產生該圖形資料,而不要求該程式設計師利用用於PPU 200的指定指令集。該應用程式可能包含一API呼叫,其係路由到用於PPU 200的裝置驅動程式。該裝置驅動程式會解譯該API呼叫並進行各種運算,以對該API呼叫作出反應。在一些實例中,該裝置驅動程式可能會透過在CPU 550上執行指令而進行運算。在其他實例中,該裝置驅動程式可能會至少部分地透過利用CPU 550與PPU 200之間的輸入/輸出介面啟動PPU 200上的運算而進行運算。在一個具體實施例中,該裝置驅動程式係配置成利用PPU 200的硬體實行圖形處理指令管線600。
各種程式可能係在PPU 200內執行,以便實行圖形處理指令管線600的該等各種階段。舉例來說,該裝置驅動程式可能會在PPU 200上啟動核心,以在一個SM 340(或多個SM 340)上進行頂點著色階段620。該裝置驅動程式(或PPU 200所執行的初始核心)也可能會在PPU 200上啟動其他核心,以進行圖形處理指令管線600的其他階段,例如幾何著色階段640和片段著色階段670。此外,圖形處理指令管線600的一些階段可能係在實行在PPU 200內的光柵化器或資料組合器等固定單元硬體上實行。應可瞭解,來自一個核心的結果可能係在透過SM 340上的後續核心處理之前,透過一個或多個中間固定功能硬體單元處理。
第七圖例示於其中可能實行該等各種先前具體實施例的各種架構及/或功能性的示例性系統700。如所示,提供系統700,其包含連接到通訊匯流排702的至少一個中央處理器701。通訊匯流排702可能係使用 任何適合的協定實行,例如周邊組件互連(Peripheral Component Interconnect,PCI)、快速周邊組件互連(PCI-Express)、加速圖形埠(Accelerated Graphics Port,AGP)、超傳輸(HyperTransport)或任何其他匯流排或點對點通訊協定。系統700也包含一主記憶體704。控制邏輯(軟體)和資料係儲存在可能會採取隨機存取記憶體(Random access memory,RAM)形式的主記憶體704中。
系統700也包含輸入裝置712、一圖形處理器706以及一顯示器708,即慣用陰極射線管(Cathode ray tube,CRT)、液晶顯示器(LCD)、發光二極體(Light emitting diode,LED)、電漿顯示器或其類似物。使用者輸入可能係從輸入裝置712(如鍵盤、滑鼠、觸控板、麥克風及其類似物)接收。在一個具體實施例中,圖形處理器706可能包含複數著色器模組、一光柵化模組等。每個前述模組甚至皆可能位於單一半導體平台上,以形成圖形處理單元(GPU)。
在本發明所說明內容中,單一半導體平台可能指稱單獨的個體半導體型積體電路或晶片。應注意,該用語單一半導體平台也可能指稱多晶片模組,其具有模擬晶片上運算並透過利用慣用中央處理單元(CPU)和匯流排實作而進行實質性改進的經提升的連接性。當然,該等各種模組也可能係根據該使用者所需分開地或以半導體平台的各種組合放置。
系統700也可能包含一輔助儲存體710。輔助儲存體710包含例如一硬碟機及/或一可拆卸儲存磁碟機,其代表軟式磁碟機、磁帶機、光碟機、數位影音光碟(Digital versatile disk,DVD)機、記錄裝置、通用串列匯流排(Universal serial bus,USB)快閃記憶體。該可拆卸儲存磁碟機會以熟知方式從可拆卸儲存單元讀取及/或寫入該可拆卸儲存單元。
電腦程式或電腦控制邏輯演算法可能係儲存在主記憶體704及/或輔助儲存體710中。這樣的電腦程式執行時,會使系統700能進行各種功能。記憶體704、儲存體710及/或任何其他儲存體皆係電腦可讀取媒體的可能範例。
在一個具體實施例中,該等各種先前圖示的架構及/或功能性可能係在中央處理器701、圖形處理器706、支援中央處理器701和圖形 處理器706兩者該等能力的至少部分的積體電路(未顯示)、晶片組(即設計成作為用於進行相關功能的單元作業和銷售的積體電路群組)及/或與此有關的任何其他積體電路的背景中實行。
又,該等各種先前圖示的架構及/或功能性可能係在一般電腦系統、電路板系統、專用於娛樂用途的遊戲機系統、指定應用程式系統及/或任何其他所需系統的背景中實行。舉例來說,系統700可能會採取桌上型電腦、膝上型電腦、伺服器、工作站、遊戲機、嵌入式系統及/或任何其他類型的邏輯形式。又,系統700可能會採取包含但不限於一個人數位助理(PDA)裝置、一行動電話裝置、一電視等的各種其他裝置形式。
再者,儘管未顯示,但系統700可能係耦接到用於通訊用途的網路〔如電信網路、區域網路(Local area network,LAN)、無線網路、廣域網路(Wide area network,WAN),例如網際網路、同級間網路、有線網路或其類似物〕。
第八圖例示依據一個具體實施例用於使用類神經網路重建影像資料的方法800的流程圖。如運算802所示,識別要渲染的影像資料,該影像資料產生自蒙地卡羅取樣方法。此外,如運算804所示,將過濾器應用於該影像資料以創建經重建的影像資料,其中該過濾器係類神經網路。舉例來說,該影像資料的過濾和重建可能係利用該類神經網路(如代替交叉雙向過濾器等)明確地進行。舉例來說,該類神經網路可能包含一自動編碼器。在另一個範例中,該類神經網路可能會實行一個或多個跳躍連接。在又另一範例中,該類神經網路可能會實行一層或多層遞迴層。再者,如運算806所示,回傳該經重建的影像資料。
使用遞迴自動編碼器互動式重建具雜訊蒙地卡羅影像序列 前言
射線和路徑追蹤近來已興起成為用於視覺效果首選的渲染演算法。這所促使的過濾和重建技術開發,已減少蒙地卡羅渲染中固有的雜訊,但是對影片品質結果的關注可能會允許在過濾之前每個像素數百至數千個取樣。
同時,遊戲近來也已轉向來自更有經驗模型的實體型著色,但是來自這種轉變的潛在逼真度提升,大多取決於比光柵化所允許更加靈活地取樣光傳輸路徑的可能性。可惜的是,即使最快速的射線追蹤器,在1080p和30Hz下也僅能追蹤每個像素幾條射線。儘管此數量每隔幾年就倍增,但該趨勢(至少部分地)會被更高解析度顯示器和更高刷新率的走向抵銷。因此,在可預見的未來,針對遊戲和其他即時應用程式的逼真取樣預算,似乎可能將保持在每個像素一個(短)路徑的數量級上。可能會提出新的一般性重建技術,或許能大幅改進此狀況下的最先進技術。
每個像素皆從單一路徑重建全域照明可能會帶來挑戰。間接照明的蒙地卡羅積分可能會在低取樣率下導致具雜訊影像,使得大部分能量係集中在路徑或像素的小子集中。由於在過低取樣率下,開始時可能幾乎僅有雜訊,因此該問題可能會界定為從這些稀疏取樣重建最後影像(而非去雜訊)。此問題可能會在嘗試得到動畫方面的時間穩定結果時惡化。
在一個具體實施例中,可能會對深卷積網路進行重大修改,以便解決重建具有極端蒙地卡羅雜訊的經渲染的影像序列的特定挑戰。更具體而言,在深自動編碼器結構中添加遞迴連接可能會導致時間穩定性提升,且進行端對端訓練可能會允許該網路自動地學習如何最好地利用深度和法線等輔助像素通道,而沒有使用者互動或參數設定。
這些進步可能會允許在極低取樣預算下互動地產生具有全域照明的似真影像序列。
路徑追蹤
在一個具體實施例中,產生1個取樣單向路徑追蹤評估可能會用於創建到該類神經網路的輸入。
互動式路徑追蹤器
在一個具體實施例中,最佳化路徑追蹤器可能係用於生成具雜訊輸入影像。傳統路徑追蹤器可能會經由每個像素射出射線,從而依據該所相交物件的反射率概況隨機地散射,並遞歸地繼續直到撞擊光源。下 一個事件評估可能係用於透過將每個路徑頂點皆確定性地連接到光而改進收斂性。
為了加速可見表面判定,GPU可能係運用於光柵化(而非射線追蹤)來自該相機的第一命中點,並將其相關聯的著色屬性儲存在G緩衝區(G-Buffer)中。更具體而言,可能會儲存該命中網格ID、網格基元ID、三角形相交質心坐標、材料ID、世界空間位置和著色法線、漫射和鏡面反照率以及移動向量。在此光柵化過程之後,該路徑可能係使用GPU射線追蹤器進行追蹤。由於景深和移動模糊普遍可能係實行為補充性後處理,且其可能會在該G緩衝區中引入雜訊,因此在路徑追蹤期間可能不會考量這些效果。
在另一個具體實施例中,取樣該光源和散射方向時,可能會使用低差異序列(如Halton或Sobol),且路徑空間規則化可能係在散射之後應用於亮面和鏡面材料。這種規則化可能會大幅減少亮面反射中稀疏高強度異常值的數量,其代價為小偏差。
對實際互動性而言,間接反射的數量可能係限制為一個。儘管可能採用更多光反射渲染影像,但其對該影像的貢獻通常會迅速地衰減,但其對渲染時間和影像變動的負面衝擊更為顯著。如此,路徑追蹤器可能會在每個像素皆僅產生一個直接照明路徑(相機-表面-光)和一個間接路徑(相機表面-表面-光)。每個像素的總輸入產生成本皆可能包括光柵化、三條射線、兩個材料評估以及一個材料取樣。在一個具體實施例中,即使該影像沿著其路線具有兩個下一個事件評估,但其可能係稱為單一取樣影像,以強調追蹤一個路徑。
用於重建的輔助輸入
在一個具體實施例中,該G緩衝區可能會含有關於該場景的幾何形狀、材料和光源的資訊。其子集可能係透過匯出可能包含有多個緩衝區的深影像而可用於該重建。除了該具雜訊高動態範圍RGB影像之外,下列G緩衝區特徵集可能係從該光柵化過程匯出到該重建演算法:視野空間著色法線(2D向量)、深度以及該材料的粗糙度。在另一個具體實施 例中,到該重建演算法的輸入可能會包含有每個像素3+4=7個純量值。
該等色彩值可能係作為16位元半精度浮點(16-bit half precision floating point,FP16)值儲存在線性空間中,以留存高動態範圍(High dynamic range,HDR)。該等深度值可能為了更高準確度而線性化,並可能儲存為FP16。該等剩餘的3個通道可能每個皆儲存為8bpp。該視野空間著色法線可能係使用該相機的投影矩陣進行計算,且可能會儲存其x和y分量。
該輸入可能係透過該直接可見材料的反照率解調變該具雜訊RGB影像而簡化。透過儲存這種無紋理照明,可能會從該具雜訊影像去除大部分紋理複雜度,這可能會大幅促進訓練並減少所需的網路容量。在該無紋理照明已重建之後,其可能係透過該反照率重新調變,以便在最後渲染中包含紋理細節。
在另一個具體實施例中,由於直接可見表面在每個像素僅取樣一次,因此所有前述輸入皆可能易於影像空間失真。抗失真這些輸入可能需要更高的取樣率,這可能會妨礙互動式渲染。反之,將螢幕空間時間抗失真技術(Temporal antialiasing technique,TAA)應用於該經重建的輸出影像,或許能以可忽略的添加成本解決剩餘的失真。
採用遞迴自動編碼器的影像序列重建
在一個具體實施例中,該影像重建演算法可能包含一資料驅動方法,其基於每個皆包含有範例輸入序列和所需輸出序列(即訓練目標)的大量訓練對,學習從具雜訊輸入影像序列到無雜訊輸出影像序列的映射。
該重建方法可能係基於使用具有階層式跳躍連接的卷積網路的影像還原。這種架構可能係修改以包含次取樣和上取樣階段以及遞迴連接。可能會準備訓練資料,且精確損失函數可能係在訓練期間最佳化。
具有跳躍連接的自動編碼器
在一個具體實施例中,該網路架構可能包含相異的編碼器和解碼器階段,其分別在遞減和遞增的空間解析度下運算。這可能會在光學 流動評估方面提供良好結果,並且也可能會強調到去雜訊自動編碼器的連接。由於在最高空間解析度下運算的該等層可能最為耗時,因此這種設計相較於其他架構時,可能係在執行方面更快速,其中在品質〔針對高斯(Gaussian)雜訊〕方面的降低可忽略。所有較深層的接受域皆可能在該輸入影像中係幾倍大,這可能會允許考量較大的像素鄰域,並因此改進非常稀疏輸入的處理。由於該網路會學習從輸入到輸出的映射,因此除了色彩資料之外,可能會提供任何數量的輔助輸入。訓練期間的最佳化可能會考量所有這些輸入,並可能自動地找出將其用於消除該色彩資料歧義的最佳方式。
用於視訊去雜訊的遞迴自動編碼器
遞迴類神經網路(Recurrent neural network,RNN)可能係用於處理任意長輸入序列。RNN可能包含反饋迴路,其將該等先前隱藏狀態的輸出連接到該等現有隱藏狀態,因此在輸入之間留存重要資訊。由於兩種原因,這可能會使其適合於該應用程式。首先,為了去除連續影像流的雜訊,可能需要得到時間上穩定結果。其次,由於輸入影像係非常稀疏地取樣,因此該等遞迴連接可能會允許收集關於隨著時間的照明的更多資訊。
為了在多個縮放尺度留存時間特徵,每個編碼階段中皆可能包含完全卷積遞迴區塊。在一個具體實施例中,包含該等遞迴連接的整個架構可能係完全卷積。這可能會允許訓練具有小固定尺寸裁切(如128×128像素)的網路,以及對任意尺寸影像的後來應用程式。
在一個具體實施例中,該等遞迴區塊可能係放置在編碼器部分中,而非解碼器。該原因在於信號可能在該編碼器中較稀疏。舉例來說,遞迴區塊可能係在每個編碼階段皆放置,就在最大池化(pooling)之前。
每個遞迴區塊皆可能包含有具有3×3像素空間支援的三層卷積層。一層可能會處理來自該編碼器的前一層的輸入特徵。其隨後可能會將該等結果與來自先前隱藏狀態的該等特徵序連在一起,並可能將其穿過兩層剩餘的卷積層。該結果可能會同時變成新的隱藏狀態和該遞迴區塊的輸出。這可能會提供足夠的時間接受域,且與這樣的遞迴區塊的多縮放 尺度串接一起,可能會允許時間上有效地追蹤和留存特徵。遞迴區塊中的該等卷積層可能會在同一影像解析度下運算,且每個像素的特徵數量皆作為其所附接的編碼階段。
在一個具體實施例中,該輸出和該隱藏狀態可能係使用遞迴方程式代表:h i =O i =C 3x3(C 3x3(C 3x3(I i ) h i-1))
其中C 3×3 係具有3×3像素空間支援的卷積核心,O i 係該輸出,I i 係該現有輸入,h i 係用於該輸入i的隱藏狀態,且係序連運算子。
第九圖例示依據一個具體實施例的RCNN連接的示例性內部結構900。如所示,第一複數卷積902A-C會接收第一輸入904,且第二複數卷積902D-F會接收第二輸入910。反饋迴路906會從該等第一複數卷積902A提供隱藏遞迴狀態908作為到第二複數卷積902E-F的輸入。如此,可能在該RCNN的輸入之間留存資訊。
訓練
以下說明用於該遞迴自動編碼器的訓練資料的一個示例性準備,以及有關一個示例性訓練程序的細節。
資料集
在一個範例中,平順流暢的相機飛越(fly-through)動畫針對可用於訓練的每個場景,皆可能包含例如1000個畫面。對每個畫面而言,在每個像素1個取樣下可能會產生10個不同的具雜訊影像以及該等輔助特徵,以及用於訓練的目標影像。透過具有多個具雜訊影像,可能會要求蒙地卡羅雜訊的每個這些實例皆導致同一經重建的影像。相較於創建附加的目標影像,這可能會以可忽略的成本增加訓練對的數量。請注意,由於原射線光柵化,因此該等具雜訊影像可能會共享該等輔助特徵。
在另一個範例中,1024×1024影像可能係在渲染期間產生,而該訓練可能係使用針對7個畫面的每個訓練序列皆隨機地選定的較小128 ×128裁切進行。每個訓練序列的開始皆可能係在飛越序列以及該飛越序列自身內隨機地選定。向前和向後回放可能係隨機地交替,以便訓練有關各種相機移動的網路。該相機也可能係透過將該具雜訊影像改變為不同的起源(seed),同時保持該畫面和該目標影像固定,而在該訓練序列中隨機地「停頓」。
此外,將該訓練序列隨機轉動90=180=270度可能係用於在更多移動方向上訓練。範圍[0,2]中的隨機調變可能係分開應用於每個色彩通道。這可能會迫使該網路更好地學習該線性輸入-目標色彩關係,以及該等通道的獨立性。
網路
我們訓練進行500個時期(epochs),其中學習率0.001,以及衰減率1=0.9和2=0.99。該學習率可能係在前10個訓練時期期間使用幾何級數上升10倍,且隨後依據1/排程降低,其中t係訓練時間。可能會使用4個序列的迷你批量尺寸,且每個時期皆可能會隨機化訓練資料的次序。所有參數皆可能初始化,且可能會在除了最後一層(其可能會使用線性啟動)之外的所有層中使用α=0.1的洩漏ReLU啟動。最大池化可能係用於次取樣和用於上取樣的最鄰近過濾。
總而言之,該網路中可能有36層卷積層:18層在該前饋路徑中,且3層在每個該等6個RCNN區塊內。7個連續畫面的序列可能係用於在訓練期間提供足夠的時間背景。可能會透過經由時間的反向傳播訓練該等遞迴區塊,其中複製該RNN的該等前饋子部分以展開該等遞迴迴路。
輸出特徵計數可能係在編碼器的第一階段中設定為每個像素32個,且隨後該數量可能係在每個次取樣運算之後皆乘以4/3。這可能會在每個次取樣之後皆導致係數4/(4/3)=3的固定率壓縮。因此,每個階段的資訊損失皆可能會經由該等跳躍連接重新引入。該解碼器部分隨後可能會在每個上取樣之後將資料量放大3倍。
損失函數
損失函數可能會定義如何在訓練期間運算網路輸出與訓練 目標之間的誤差。用於影像還原的一個示例性損失函數係L 2 ,其係所預測的影像P與目標影像T之間的均方誤差。然而,使用L 1 損失而非L 2 可能會減少來自經重建的影像的汙點偽影。
另一個示例性第一損失項可能包含一空間L 1 損失,其針對該時間訓練序列中的單一影像表示為
其中P i T i 對應地係該所預測和目標影像的第i個像素。該影像也可能係透過在運算該損失之前將所有色彩通道皆提升至該功率而修平。1/2.2的值可能係接近感知伽瑪校正,然而,0.2的更積極的值可能會允許甚至更有效地不利於(penalize)該影像的黑暗區域中的誤差。
L 1 空間損失可能會提供耐受異常值的良好整體影像指標。為了更不利於邊緣等微小細節方面的差異,也可能會使用梯度域L 1 損失:
其中該等導數可能係採用使用對應地沿著x和y的單一像素偏移的有限差分進行運算。
這些損失可能會分別最小化每個影像的誤差。然而,其可能不會不利於時間不連貫(如畫面之間的閃爍),且可能不會促使該最佳化器訓練該等遞迴連接,以跨畫面傳遞更多資料。因此,可能會引入時間L 1 損失
其中用於第i個影像像素的時間導數 P i / t,可能係使用該時間訓練序列中的現有和先前影像的該等第i個像素之間的時間方面的有限差分進行運算。這三個損失的加權組合可能係用作最後的訓練損失:
其中w s/g/t 係控制每個損失的貢獻的可調整加權。該經加權的損失可能係用於對應地具有加權w s/g/t =0.8/0.1/0.1的訓練。
在一個具體實施例中,可能會分派較高加權給該序列中後來的該等畫面,以激勵RNN區塊的時間訓練。舉例來說,由於可能會使用7個影像(0.011、0.044、0.135、0.325、0.607、0.882、1)的序列,因此高斯曲線可能係用於調變w s/g/t
為了驗證該合併損失會對僅空間損失導致改進,結構相似性指標(Structural similarity metric,SSIM)可能係在100個訓練時期之後在驗證序列上進行測量。SSIM可能會顯示改進(如從針對的0.7815到針對該合併損失的0.7647)。
儘管以上已說明各種具體實施例,但應可理解其僅藉由範例而非限制進行說明。因此,較佳具體實施例的廣度和範疇不應受到以上所說明的諸示例性具體實施例之任一者限制,而是應僅依據下列諸申請專利範圍及其相等物進行定義。

Claims (20)

  1. 一種用於進行時空過濾的方法,包括:識別要渲染的影像資料;利用包含具有一個或多個跳躍連接和一層或多層遞迴層的一類神經網路的一過濾器重建該影像資料,以創建經重建的影像資料;以及回傳該經重建的影像資料。
  2. 如申請專利範圍第1項之方法,其中該影像資料係由於一預定程序的結果所創建,該預定程序包含下列一個或多個:低光度攝影;低光度錄影;一蒙地卡羅取樣方法;生成RGB和深度資訊的攝影;以及僅深度相機。
  3. 如申請專利範圍第1項之方法,其中該影像資料具有低於一預定臨界值的每個像素若干取樣(spp)。
  4. 如申請專利範圍第1項之方法,其中該影像資料包含輔助資訊。
  5. 如申請專利範圍第4項之方法,其中該輔助資訊包含一個或多個視野空間著色法線。
  6. 如申請專利範圍第4項之方法,其中該輔助資訊包含一個或多個深度值。
  7. 如申請專利範圍第4項之方法,其中該輔助資訊包含一個或多個粗糙度值。
  8. 如申請專利範圍第1項之方法,其中該類神經網路包含複數卷積層。
  9. 如申請專利範圍第1項之方法,其中該類神經網路包含複數編碼器層和對應的解碼器層,且該類神經網路內的一第一跳躍連接使一重建程序能從一第一編碼器層直接跳轉到一對應的解碼器層,由此跳過該類神經網路內的一層或多層編碼器和解碼器層。
  10. 如申請專利範圍第1項之方法,其中該等一層或多層遞迴層包含一遞迴卷積類神經網路(RCNN)。
  11. 如申請專利範圍第1項之方法,其中該等一層或多層遞迴層在該類神經網路內將一層鏈接到其自身。
  12. 如申請專利範圍第1項之方法,更包括利用包含複數輸入/輸出對的一資料集訓練該類神經網路。
  13. 如申請專利範圍第12項之方法,其中在該類神經網路的訓練期間利用一損失函數。
  14. 如申請專利範圍第1項之方法,其中在該影像資料的一畫面序列的一第一畫面的一重建期間使用的資訊,係儲存為一隱藏的重現狀態,其隨後在一RCNN內的影像資料的畫面序列的一第二畫面的一重建期間,利用該RCNN的一反饋迴路進行存取。
  15. 一種系統,包括:一處理器,其配置成:識別要渲染的影像資料;利用包含具有一個或多個跳躍連接和一層或多層遞迴層的一類神經網路的一過濾器重建該影像資料,以創建經重建的影像資料;以及回傳該經重建的影像資料。
  16. 如申請專利範圍第15項之系統,其中該影像資料係由於一預定程序的結果所創建,該預定程序包含下列一個或多個:低光度攝影;低光度錄影;一蒙地卡羅取樣方法;生成RGB和深度資訊的攝影;以及僅深度相機。
  17. 如申請專利範圍第15項之系統,其中該影像資料具有低於一預定臨界值的每個像素若干取樣(spp)。
  18. 如申請專利範圍第15項之系統,其中該影像資料包含輔助資訊。
  19. 如申請專利範圍第16項之系統,其中該輔助資訊包含一個或多個視野空間著色法線。
  20. 一種用於進行時空過濾的方法,包括:識別要渲染的影像資料,該影像資料產生自一蒙地卡羅取樣方法;將一過濾器應用於該影像資料以創建經重建的影像資料,其中該過濾器係一類神經網路;以及回傳該經重建的影像資料。
TW107101730A 2017-01-18 2018-01-17 使用一類神經網路過濾影像資料 TWI764974B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762447859P 2017-01-18 2017-01-18
US62/447,859 2017-01-18
US15/872,838 US11113800B2 (en) 2017-01-18 2018-01-16 Filtering image data using a neural network
US15/872,838 2018-01-16

Publications (2)

Publication Number Publication Date
TW201832179A true TW201832179A (zh) 2018-09-01
TWI764974B TWI764974B (zh) 2022-05-21

Family

ID=62841003

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107101730A TWI764974B (zh) 2017-01-18 2018-01-17 使用一類神經網路過濾影像資料

Country Status (2)

Country Link
US (2) US11113800B2 (zh)
TW (1) TWI764974B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI686772B (zh) * 2019-03-21 2020-03-01 國立清華大學 利用壓縮感知的資料還原方法以及電腦程式產品
TWI689891B (zh) * 2019-04-18 2020-04-01 耐能智慧股份有限公司 影像處理系統
TWI701608B (zh) * 2018-09-07 2020-08-11 香港商阿里巴巴集團服務有限公司 用於圖片匹配定位的神經網路系統、方法及裝置
TWI716923B (zh) * 2018-09-04 2021-01-21 開曼群島商創新先進技術有限公司 基於gan網路的車損影像產生方法和裝置
TWI717865B (zh) * 2018-12-14 2021-02-01 大陸商深圳市商湯科技有限公司 影像處理方法及裝置、電子設備、電腦可讀取的記錄媒體和電腦程式產品
TWI719743B (zh) * 2019-12-05 2021-02-21 中華電信股份有限公司 提高類神經網路在分類問題的準確度之方法與電腦可讀儲存媒介
TWI735112B (zh) * 2019-03-18 2021-08-01 大陸商北京市商湯科技開發有限公司 圖像生成方法、電子設備和儲存介質
TWI802520B (zh) * 2021-11-08 2023-05-11 創惟科技股份有限公司 影像處理方法及影像處理裝置
TWI844734B (zh) * 2019-12-27 2024-06-11 美商英特爾股份有限公司 用於量化會聚方向為基的射線分類之設備及方法以及機器可讀取媒體
TWI881895B (zh) * 2023-07-30 2025-04-21 鴻海精密工業股份有限公司 機器學習方法

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12322071B2 (en) 2015-03-21 2025-06-03 Mine One Gmbh Temporal de-noising
US12169944B2 (en) 2015-03-21 2024-12-17 Mine One Gmbh Image reconstruction for virtual 3D
US11792511B2 (en) * 2015-03-21 2023-10-17 Mine One Gmbh Camera system utilizing auxiliary image sensors
GB2541179B (en) * 2015-07-31 2019-10-30 Imagination Tech Ltd Denoising filter
US10270939B2 (en) * 2016-05-24 2019-04-23 E Ink Corporation Method for rendering color images
US10078908B2 (en) * 2016-08-12 2018-09-18 Elite Robotics Determination of relative positions
US11113800B2 (en) 2017-01-18 2021-09-07 Nvidia Corporation Filtering image data using a neural network
US10572979B2 (en) 2017-04-06 2020-02-25 Pixar Denoising Monte Carlo renderings using machine learning with importance sampling
US10311552B2 (en) * 2017-04-06 2019-06-04 Pixar De-noising images using machine learning
US10896657B2 (en) * 2017-04-17 2021-01-19 Intel Corporation Graphics with adaptive temporal adjustments
US10929955B2 (en) * 2017-06-05 2021-02-23 Adasky, Ltd. Scene-based nonuniformity correction using a convolutional recurrent neural network
US11012594B2 (en) 2017-06-05 2021-05-18 Adasky, Ltd. Techniques for correcting oversaturated pixels in shutterless FIR cameras
US11557022B2 (en) * 2017-07-27 2023-01-17 Nvidia Corporation Neural network system with temporal feedback for denoising of rendered sequences
US11475542B2 (en) 2017-07-27 2022-10-18 Nvidia Corporation Neural network system with temporal feedback for adaptive sampling and denoising of rendered sequences
US11861811B2 (en) 2017-07-27 2024-01-02 Nvidia Corporation Neural network system with temporal feedback for denoising of rendered sequences
US20190236758A1 (en) * 2018-01-29 2019-08-01 Intel Corporation Apparatus and method for temporally stable conservative morphological anti-aliasing
CN108335275B (zh) * 2018-02-13 2019-12-13 腾讯科技(深圳)有限公司 图像增强方法、装置、计算设备及存储介质
US10776985B2 (en) 2018-03-17 2020-09-15 Nvidia Corporation Reflection denoising in ray-tracing applications
US10699382B2 (en) 2018-03-29 2020-06-30 Disney Enterprises, Inc. Denoising Monte Carlo renderings using neural networks with asymmetric loss
CN111937392B (zh) * 2018-04-17 2024-05-10 联发科技股份有限公司 视频编解码的神经网络方法和装置
US10636123B2 (en) * 2018-05-15 2020-04-28 Wipro Limited Method and device for de-noising images
US10991079B2 (en) 2018-08-14 2021-04-27 Nvidia Corporation Using previously rendered scene frames to reduce pixel noise
JP7075012B2 (ja) * 2018-09-05 2022-05-25 日本電信電話株式会社 画像処理装置、画像処理方法及び画像処理プログラム
CN110971901B (zh) * 2018-09-29 2022-08-02 杭州海康威视数字技术股份有限公司 卷积神经网络的处理方法、装置、设备及存储介质
CN111340879B (zh) * 2018-12-17 2023-09-01 台达电子工业股份有限公司 基于上采样的影像定位系统及其方法
RU2707138C1 (ru) * 2018-12-21 2019-11-22 Акционерное общество "Российская корпорация ракетно-космического приборостроения и информационных систем" (АО "Российские космические системы") Интеллектуальная космическая система для мониторинга зданий и сооружений
US10922790B2 (en) * 2018-12-21 2021-02-16 Intel Corporation Apparatus and method for efficient distributed denoising of a graphics frame
US11501441B2 (en) * 2019-05-14 2022-11-15 Aic Innovations Group, Inc. Biomarker determination using optical flows
CN110400344B (zh) * 2019-07-11 2021-06-18 Oppo广东移动通信有限公司 深度图处理方法和装置
US11302035B2 (en) * 2019-09-06 2022-04-12 Intel Corporation Processing images using hybrid infinite impulse response (TTR) and finite impulse response (FIR) convolution block
KR102770795B1 (ko) * 2019-09-09 2025-02-21 삼성전자주식회사 3d 렌더링 방법 및 장치
CN110874594B (zh) * 2019-09-23 2023-06-30 平安科技(深圳)有限公司 基于语义分割网络的人体外表损伤检测方法及相关设备
US20210089867A1 (en) * 2019-09-24 2021-03-25 Nvidia Corporation Dual recurrent neural network architecture for modeling long-term dependencies in sequential data
US12443831B1 (en) * 2020-01-23 2025-10-14 Nvidia Corporation Neural network execution streams
CN111429374B (zh) * 2020-03-27 2023-09-22 中国工商银行股份有限公司 图像中摩尔纹的消除方法及装置
RU2752246C1 (ru) * 2020-06-15 2021-07-23 Российская Федерация, от имени которой выступает ФОНД ПЕРСПЕКТИВНЫХ ИССЛЕДОВАНИЙ Программно-аппаратный комплекс, предназначенный для обработки аэрофотоснимков видимого и дальнего инфракрасного диапазонов с целью обнаружения, локализации и классификации строений вне населенных пунктов
US11222232B1 (en) * 2020-06-19 2022-01-11 Nvidia Corporation Using temporal filters for automated real-time classification
US11600036B2 (en) * 2020-09-04 2023-03-07 Nvidia Corporation Spatiotemporal self-guided shadow denoising in ray-tracing applications
US11647212B2 (en) 2020-09-30 2023-05-09 Qualcomm Incorporated Activation function design in neural network-based filtering process for video coding
US11232544B1 (en) * 2020-10-09 2022-01-25 Nvidia Corporation History clamping for denoising dynamic ray-traced scenes using temporal accumulation
US20220092738A1 (en) * 2020-11-19 2022-03-24 Intel Corporation Methods and apparatus for super-resolution rendering
US11838522B2 (en) * 2020-12-29 2023-12-05 Tencent America LLC Method and apparatus for video coding
US11533279B2 (en) * 2021-03-30 2022-12-20 International Business Machines Corporation Method for electronic messaging using image based noisy content
US11683283B2 (en) 2021-03-30 2023-06-20 International Business Machines Corporation Method for electronic messaging
US12530745B2 (en) 2021-07-26 2026-01-20 GE Precision Healthcare LLC Systems and methods to reduce unstructured and structured noise in image data
US12100103B2 (en) * 2021-07-30 2024-09-24 Intel Corporation Converting barycentric planes to attribute planes
CN115908157B (zh) * 2021-09-30 2025-04-08 想象技术有限公司 渲染3d场景的图像的方法、图形处理单元和存储介质
WO2023079323A1 (en) * 2021-11-03 2023-05-11 Intel Corporation Temporally amortized supersampling using a kernel splatting network
US20230334626A1 (en) * 2022-04-14 2023-10-19 Disney Enterprises, Inc. Techniques for denoising videos
CN114782276B (zh) * 2022-04-29 2023-04-11 电子科技大学 一种基于自适应梯度投影的电阻率成像错位校正方法
WO2023244488A1 (en) * 2022-06-14 2023-12-21 Innopeak Technology, Inc. Methods and systems for view synthesis with image relighting
US20240312107A1 (en) * 2023-03-16 2024-09-19 Intel Corporation Preserving g-buffer & optical flow in uv space
WO2024238851A1 (en) * 2023-05-16 2024-11-21 Hefazi Siamak System, method and data structure for mapping 3d objects to 2d shaded contour renderings
US12423905B2 (en) 2023-07-21 2025-09-23 Nvidia Corporation Denoising dynamically ray-traced scenes using temporal and spatial variances of historical pixel values
US12444017B2 (en) 2023-07-21 2025-10-14 Nvidia Corporation Denoising dynamically ray-traced scenes using historical pixel values
CN117314809B (zh) * 2023-09-26 2025-09-26 长沙市规划信息服务中心 一种倾斜摄影三维模型瓦片数据合并方法与系统

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5699487A (en) * 1995-07-07 1997-12-16 Hewlett-Packard Company Artificial neural network read channel
ES2195432T3 (es) * 1997-12-19 2003-12-01 Bae Systems Plc Comparacion del valor hamming para agrupaciones de vits no ponderadas.
DE69901542T2 (de) * 1998-02-17 2002-12-05 Sun Microsystems, Inc. Verfahren und vorrichtung zur abschätzung der leistung eines grafischen systems von polygonen
US7952583B2 (en) * 2000-06-19 2011-05-31 Mental Images Gmbh Quasi-monte carlo light transport simulation by efficient ray tracing
KR20020075960A (ko) 2002-05-20 2002-10-09 주식회사 코난테크놀로지 신경회로망을 이용한 얼굴 영역 검출 방법
EP1515270A1 (en) 2003-09-09 2005-03-16 Semeion An artificial neural network
US9292904B2 (en) 2004-01-16 2016-03-22 Nvidia Corporation Video image processing with parallel processing
US8184793B2 (en) * 2004-07-20 2012-05-22 Qwest Communications International Inc. Multi-line telephone calling
US7522769B2 (en) * 2005-09-09 2009-04-21 Hewlett-Packard Development Company, L.P. Method and system for skin color estimation from an image
US20080162743A1 (en) * 2006-12-28 2008-07-03 On Demand Microelectronics Method and apparatus to select and modify elements of vectors
US20080232682A1 (en) * 2007-03-19 2008-09-25 Kumar Eswaran System and method for identifying patterns
US9799098B2 (en) 2007-04-24 2017-10-24 Massachusetts Institute Of Technology Method and apparatus for image processing
CA2695050C (en) * 2009-02-27 2019-01-15 Jds Uniphase Corporation Method for auto-configuration of a wavelength selective switch in an optical network
US10091439B2 (en) 2009-06-03 2018-10-02 Flir Systems, Inc. Imager with array of multiple infrared imaging modules
KR20110017303A (ko) 2009-08-13 2011-02-21 삼성전자주식회사 회전변환을 이용한 영상 부호화, 복호화 방법 및 장치
JP2012058845A (ja) 2010-09-06 2012-03-22 Sony Corp 画像処理装置および方法、並びにプログラム
US20130245462A1 (en) 2011-09-06 2013-09-19 Lluis Capdevila Apparatus, methods, and articles of manufacture for determining and using heart rate variability
CN102663438A (zh) 2012-05-08 2012-09-12 哈尔滨工程大学 一种小样本高光谱图像蒙特卡罗特征降维方法
WO2014130748A1 (en) 2013-02-20 2014-08-28 Emotient Automatic analysis of rapport
US9047566B2 (en) 2013-03-12 2015-06-02 Oracle International Corporation Quadratic regularization for neural network with skip-layer connections
US9710894B2 (en) 2013-06-04 2017-07-18 Nvidia Corporation System and method for enhanced multi-sample anti-aliasing
US20150317511A1 (en) * 2013-11-07 2015-11-05 Orbeus, Inc. System, method and apparatus for performing facial recognition
US10002310B2 (en) * 2014-04-29 2018-06-19 At&T Intellectual Property I, L.P. Method and apparatus for organizing media content
WO2015196281A1 (en) 2014-06-24 2015-12-30 Sportlogiq Inc. System and method for visual event description and event analysis
US9928610B2 (en) * 2014-06-27 2018-03-27 Samsung Electronics Co., Ltd. Motion based adaptive rendering
US9367766B2 (en) 2014-07-22 2016-06-14 Adobe Systems Incorporated Text line detection in images
US20160098820A1 (en) 2014-10-03 2016-04-07 Raghu Kopalle System for robust denoising of images
EP3021583B1 (en) 2014-11-14 2019-10-23 Axis AB Method of identifying relevant areas in digital images, method of encoding digital images, and encoder system
CN104506162A (zh) 2014-12-15 2015-04-08 西北工业大学 基于ls-svr建模的高阶粒子滤波器的故障预示方法
WO2016103285A1 (en) * 2014-12-24 2016-06-30 Datalogic Ip Tech S.R.L. System and method for reading direct part marking (dpm) codes on objects
US10832374B2 (en) * 2015-01-16 2020-11-10 Disney Enterprises, Inc. Image decomposition and path-space motion estimation
US11080587B2 (en) 2015-02-06 2021-08-03 Deepmind Technologies Limited Recurrent neural networks for data item generation
US11221990B2 (en) 2015-04-03 2022-01-11 The Mitre Corporation Ultra-high compression of images based on deep learning
US20160321523A1 (en) 2015-04-30 2016-11-03 The Regents Of The University Of California Using machine learning to filter monte carlo noise from images
US9741104B2 (en) * 2015-05-18 2017-08-22 Toshiba Medical Systems Corporation Apparatus, method, and computer-readable medium for quad reconstruction using hybrid filter convolution and high dynamic range tone-mapping
US20160358069A1 (en) 2015-06-03 2016-12-08 Samsung Electronics Co., Ltd. Neural network suppression
US10460230B2 (en) 2015-06-04 2019-10-29 Samsung Electronics Co., Ltd. Reducing computations in a neural network
US9741107B2 (en) 2015-06-05 2017-08-22 Sony Corporation Full reference image quality assessment based on convolutional neural network
US10628735B2 (en) 2015-06-05 2020-04-21 Deepmind Technologies Limited Reading comprehension neural networks
KR101701250B1 (ko) * 2015-08-03 2017-02-01 서울대학교산학협력단 딥 빌리프 네트워크를 위한 복수 레이어가 적층된 뉴런 어레이 및 뉴런 어레이 동작 방법
US10467496B2 (en) 2015-08-31 2019-11-05 Apple Inc. Temporal filtering of independent color channels in image data
WO2017091833A1 (en) 2015-11-29 2017-06-01 Arterys Inc. Automated cardiac volume segmentation
EP3188033B1 (en) * 2015-12-31 2024-02-14 Dassault Systèmes Reconstructing a 3d modeled object
US10373019B2 (en) 2016-01-13 2019-08-06 Ford Global Technologies, Llc Low- and high-fidelity classifiers applied to road-scene images
WO2017132288A1 (en) 2016-01-25 2017-08-03 Google Inc. Generating images using neural networks
US10402700B2 (en) * 2016-01-25 2019-09-03 Deepmind Technologies Limited Generating images using neural networks
US9779293B2 (en) * 2016-01-27 2017-10-03 Honeywell International Inc. Method and tool for post-mortem analysis of tripped field devices in process industry using optical character recognition and intelligent character recognition
US10373380B2 (en) * 2016-02-18 2019-08-06 Intel Corporation 3-dimensional scene analysis for augmented reality operations
CN105787892A (zh) 2016-02-22 2016-07-20 浙江传媒学院 一种基于机器学习的蒙特卡洛噪声去除方法
US10783618B2 (en) * 2016-05-05 2020-09-22 Digimarc Corporation Compensating for geometric distortion of images in constrained processing environments
US10607408B2 (en) * 2016-06-04 2020-03-31 Shape Labs Inc. Method for rendering 2D and 3D data within a 3D virtual environment
CN106127684B (zh) 2016-06-22 2019-03-15 中国科学院自动化研究所 基于双向递归卷积神经网络的图像超分辨率增强方法
CN106204468B (zh) 2016-06-27 2019-04-26 深圳市未来媒体技术研究院 一种基于ReLU卷积神经网络的图像去噪方法
CN106204489B (zh) 2016-07-12 2019-04-16 四川大学 结合深度学习与梯度转换的单幅图像超分辨率重建方法
US10573018B2 (en) * 2016-07-13 2020-02-25 Intel Corporation Three dimensional scene reconstruction based on contextual analysis
CN106251303A (zh) 2016-07-28 2016-12-21 同济大学 一种使用深度全卷积编码‑解码网络的图像降噪方法
EP3535688A1 (en) * 2016-11-04 2019-09-11 DeepMind Technologies Limited Scene understanding and generation using neural networks
US10176388B1 (en) * 2016-11-14 2019-01-08 Zoox, Inc. Spatial and temporal information for semantic segmentation
US20180144241A1 (en) * 2016-11-22 2018-05-24 Mitsubishi Electric Research Laboratories, Inc. Active Learning Method for Training Artificial Neural Networks
CN106709568B (zh) 2016-12-16 2019-03-22 北京工业大学 基于深层卷积网络的rgb-d图像的物体检测和语义分割方法
US10445926B2 (en) * 2017-01-11 2019-10-15 Adobe Inc. Light path correlation in digital image rendering of a digital scene
US11113800B2 (en) 2017-01-18 2021-09-07 Nvidia Corporation Filtering image data using a neural network
CN106991646B (zh) 2017-03-28 2020-05-26 福建帝视信息科技有限公司 一种基于密集连接网络的图像超分辨率方法
US10475165B2 (en) 2017-04-06 2019-11-12 Disney Enterprises, Inc. Kernel-predicting convolutional neural networks for denoising
US10552667B1 (en) * 2019-08-19 2020-02-04 Neon Evolution Inc. Methods and systems for image processing

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI716923B (zh) * 2018-09-04 2021-01-21 開曼群島商創新先進技術有限公司 基於gan網路的車損影像產生方法和裝置
TWI701608B (zh) * 2018-09-07 2020-08-11 香港商阿里巴巴集團服務有限公司 用於圖片匹配定位的神經網路系統、方法及裝置
TWI717865B (zh) * 2018-12-14 2021-02-01 大陸商深圳市商湯科技有限公司 影像處理方法及裝置、電子設備、電腦可讀取的記錄媒體和電腦程式產品
TWI735112B (zh) * 2019-03-18 2021-08-01 大陸商北京市商湯科技開發有限公司 圖像生成方法、電子設備和儲存介質
TWI686772B (zh) * 2019-03-21 2020-03-01 國立清華大學 利用壓縮感知的資料還原方法以及電腦程式產品
TWI689891B (zh) * 2019-04-18 2020-04-01 耐能智慧股份有限公司 影像處理系統
US10764507B1 (en) 2019-04-18 2020-09-01 Kneron (Taiwan) Co., Ltd. Image processing system capable of generating a snapshot image with high image quality by using a zero-shutter-lag snapshot operation
TWI719743B (zh) * 2019-12-05 2021-02-21 中華電信股份有限公司 提高類神經網路在分類問題的準確度之方法與電腦可讀儲存媒介
TWI844734B (zh) * 2019-12-27 2024-06-11 美商英特爾股份有限公司 用於量化會聚方向為基的射線分類之設備及方法以及機器可讀取媒體
US12223585B2 (en) 2019-12-27 2025-02-11 Intel Corporation Apparatus and method for quantized convergent direction-based ray sorting
TWI802520B (zh) * 2021-11-08 2023-05-11 創惟科技股份有限公司 影像處理方法及影像處理裝置
TWI881895B (zh) * 2023-07-30 2025-04-21 鴻海精密工業股份有限公司 機器學習方法

Also Published As

Publication number Publication date
TWI764974B (zh) 2022-05-21
US11113800B2 (en) 2021-09-07
US10600167B2 (en) 2020-03-24
US20180204307A1 (en) 2018-07-19
US20180204314A1 (en) 2018-07-19

Similar Documents

Publication Publication Date Title
TWI764974B (zh) 使用一類神經網路過濾影像資料
CN108335349B (zh) 利用神经网络滤波图像数据
US20220405582A1 (en) Systems and methods for training neural networks with sparse data
US10438400B2 (en) Perceptually-based foveated rendering using a contrast-enhancing filter
US10362289B2 (en) Method for data reuse and applications to spatio-temporal supersampling and de-noising
US10115229B2 (en) Reinforcement learning for light transport
US10565686B2 (en) Systems and methods for training neural networks for regression without ground truth training samples
US9177413B2 (en) Unique primitive identifier generation
CN110390644A (zh) 通过平滑锯齿边缘向计算机生成的图像添加更大的真实感
US20210012562A1 (en) Probe-based dynamic global illumination
US11120609B2 (en) Reconstruction for temporally dense ray trace rendering
CN109034385A (zh) 用稀疏数据训练神经网络的系统和方法
US10068366B2 (en) Stereo multi-projection implemented using a graphics processing pipeline
US11997306B2 (en) Adaptive pixel sampling order for temporally dense rendering
US10417813B2 (en) System and method for generating temporally stable hashed values
CN113393564B (zh) 利用全局照明数据结构的基于水塘的时空重要性重采样
US10212406B2 (en) Image generation of a three-dimensional scene using multiple focal lengths
CN114100118B (zh) 基于网络状况的动态图像平滑
US20250308144A1 (en) Three dimensional gaussian splatting with exact perspective transformation