NVIDIA's GameWorks Tech Enhances EVE
Nx Witness v3.0 - 雲端影像平台解決方案 — |
leiphone 作者:何忞
本文作者為 NVIADIA AR & VR 研究小組的科學家 Morgan McGuire,在本文中,他詳細介紹了電影、遊戲的圖像渲染,與現在 VR 圖像渲染的不同之處,以及 VR 在圖像渲染方面臨的挑戰。同時,他還講述了英偉達如何透過 GPU 和相關軟體,來解決這些問題的。這是文章的第二部分,雷鋒網編譯如下。
作者介紹:Morgan McGuire 博士是 NVIADIA AR & VR 研究小組的科學家。他在 Activision 和 THQ的系列遊戲 Skylanders、Call of Duty、Marvel Ultimate Alliance 和 Titan Quest 製作中都有所貢獻。Morgan 還是 Graphics Codex 和 Computer Graphics:Principles & Practice 的共同作者。同時,他也在滑鐵盧大學和威廉姆斯學院擔任教職。
重塑未來 VR 系統
我們從人類感知的極限中,推導出未 VR 的規範。衡量這些的方法有很多種,但若要做出完美的顯示,你需要大約相當於 200 個更新速度,在 240Hz 的 HDTV。這約等於每秒 100,000 萬像素的圖像吞吐量。
回憶一下,現今 VR 的圖像吞吐量,大約在 450 萬像素每秒。這意味著未來的 VR 需要將性能提升 200 倍。但是由於高動態範圍、可變焦點,和現有電影標準對視覺品質和光線的要求,更加現實的性能需求是達到 10,000 倍的提升。並且我們只要 1ms 的延遲。
理論上,我們可以透過提高算力來實現這個目標,但是這樣的蠻力並不高效也不經濟,蠻力不會讓 VR 的使用廣泛化。那麼,我們可以用什麼技術來實現這一目標呢?
渲染算法
‧焦點渲染( Foveated Rendering)
我們提升性能的第一個方法是焦點渲染——降低用戶的周邊視覺中的圖像品質,提升中心視角中的圖像品質,它利用了人類視覺感知的自然特性,在未感知的部分捨棄品質,從而提升整體的 VR 性能。
因為眼睛本身只有在你視野聚焦的地方,才有很高的解析度,所以在視野中央區域以外,VR 系統可以不被察覺地捨棄周邊像素的分辨率,從而提高整體性能。
不過,它不能在低解析度上渲染。上面的圖像是縮小比例展示的寬視野 2D 圖像。如果你在 VR 中注視時鐘,那麼左邊的公告牌就在你的中心視野外圍。
如果只放棄頂部圖像中的解析度,就會立刻產生塊狀圖形和視覺對比度的變化。你的眼睛會察覺到這些變化,你會覺得眼角部分的圖像,發生了改動或者感到模糊。我們的目標是計算生成低解析度圖像所需的精確優化量,並使外圍低解析度的模糊圖像,能夠與人類視覺精準匹配,讓用戶的 VR 視野如同真實視野一樣完美。
不過,它不能在低解析度上渲染。上面的圖像是縮小比例展示的寬視野 2D 圖像。如果你在 VR 中注視時鐘,那麼左邊的公告牌就在你的中心視野外圍。
如果只放棄頂部圖像中的解析度,就會立刻產生塊狀圖形和視覺對比度的變化。你的眼睛會察覺到這些變化,你會覺得眼角部分的圖像,發生了改動或者感到模糊。我們的目標是計算生成低解析度圖像所需的精確優化量,並使外圍低解析度的模糊圖像,能夠與人類視覺精準匹配,讓用戶的 VR 視野如同真實視野一樣完美。
‧光場(Light Fields)
為了加速 VR 渲染逼真的 VR 圖像,我們正在考慮三角形網格外的渲染像素。在與麥吉爾大學(McGill University)和史丹佛大學的合作中,我們使用光場來加速照明計算。不同於現有的僅展示物體表面光照情況的 2D 光線地圖,光場面對的是一個 4D 的數據結構,可以儲存空間中所有光線可能的方向和角度。
光場可以產出場景中所有表面的反射和陰影,甚至是動態角色。這也為統一光線跟蹤品質和環境探測器,及光照地圖的性能打好下一步基礎。
‧即時光線跟蹤(Real-time Ray Tracing)
那麼真正運行時的光線跟蹤是怎麼的呢?NVIDIA Volta GPU 是目前世界上最快的光線追蹤處理器,而 NVIDIA Pascal GPU 系列是消費級中最快的。
Pascal 的速度約為 10 億次/秒,這個速度完全可以取代現有VR 的主光柵器或陰影地圖。那麼如果用這個技術來解鎖管線的話,光線追蹤可以為未來的 VR 帶來什麼呢?
Pascal 的速度約為 10 億次/秒,這個速度完全可以取代現有VR 的主光柵器或陰影地圖。那麼如果用這個技術來解鎖管線的話,光線追蹤可以為未來的 VR 帶來什麼呢?
答案是:光線追蹤可以幫助 VR 做很多事情。在進行光線追蹤時,你根本無需使用陰影地圖,從而直接消除一個延遲障礙。光線追蹤本身就可以分別渲染紅色,綠色和藍色,並直接渲染鏡頭中的桶形失真圖像。所以,它無需再對鏡頭畸變進行處理,也因此減少了相應的延遲。
事實上,當進行光線追蹤時,渲染像素離散幀的延遲可以被完全消除,因此,這裡實際上已經沒有了典型意義上的「幀速率」的概念。我們可以將 GPU 生成的每個像素直接發送到顯示器中,這種方法被稱為「波束競速(beam Racing)」,同時這也消除了顯示同步性。這樣一來,圖形系統中的高延遲障礙將降為零。
由於沒有像在光柵化中的平面投影,光線追蹤技術也解決了 VR 的視場問題。柵格化取決於 3D 到 2D 圖像中保留的直線(例如三角形的邊緣)。
但 VR 則需要一個更寬的視場,它需要一個魚眼投影,將 3D 圖像彎曲到 2D 顯示螢幕中。光柵器會將 3D 圖像分解成多個平面來進行仿真。
而如果使用光線追蹤技術,你可以直接將一個完整的 360 度視野的圖像,直接渲染到球形螢幕上。光線追蹤本身也支持混合的圖元:三角形,光場,點,三維像素,甚至是文本,從而在內容優化方面提供更大的靈活性。現在,我們正在研究如何讓所有的這些渲染速度,比傳統 VR 更快。
但 VR 則需要一個更寬的視場,它需要一個魚眼投影,將 3D 圖像彎曲到 2D 顯示螢幕中。光柵器會將 3D 圖像分解成多個平面來進行仿真。
而如果使用光線追蹤技術,你可以直接將一個完整的 360 度視野的圖像,直接渲染到球形螢幕上。光線追蹤本身也支持混合的圖元:三角形,光場,點,三維像素,甚至是文本,從而在內容優化方面提供更大的靈活性。現在,我們正在研究如何讓所有的這些渲染速度,比傳統 VR 更快。
光線追蹤除了可以減少 ,VR 渲染的延遲,和增加吞吐量之外,它的另一個特徵就是可以提升圖像品質。回顧本文開始所提到的,電影渲染的圖像品質,取決於「路徑追蹤」的圖像算法,它其實是光線追蹤的一種擴展。如果我們把它轉換為基於光線投射的渲染器,VR 圖像的品質將會上升到一個新的水平。
即時路徑追蹤(Real-time Path Tracing)
雖然我們現在已經可以進行即時光線追蹤,但路徑的即時追蹤仍然是一個很大的挑戰。因為路徑追蹤的計算密度,大約是光線追蹤的 10,000 倍。這就是為什麼電影的每一幀,都需要花費幾分鐘,而不是幾毫秒來生成。
在路徑追蹤下,系統首先追蹤來自攝影機的光線,以尋找可見的物體表面。然後再向太陽方向投射另一道光線,檢查該表面是否在陰影中。
但是,場景中的光線不僅僅是直接來自太陽的。有些光線是間接的,比如從地面或其他表面反射的光。因此,路徑追蹤器後續會遞歸式地隨機投射,對間接照明進行採樣。同時,在這個點上,還需要一個陰影光線投射,以及它自身的隨機間接光線投射……這個過程將一直持續到追蹤器在每條單一路徑上都追蹤到約 10 條光線。
但是,場景中的光線不僅僅是直接來自太陽的。有些光線是間接的,比如從地面或其他表面反射的光。因此,路徑追蹤器後續會遞歸式地隨機投射,對間接照明進行採樣。同時,在這個點上,還需要一個陰影光線投射,以及它自身的隨機間接光線投射……這個過程將一直持續到追蹤器在每條單一路徑上都追蹤到約 10 條光線。
但是,如果一個像素只有一條或兩條路徑,由於隨機採樣過程,圖像的噪點會很多。它看起來就像這樣:
電影圖像解決這個問題的方法,是追蹤每個像素上的數千個路徑。每條路徑上十條光線,一共有成千上萬條路徑,這就是為什麼路徑追蹤,比單獨的光線追蹤的成本高 10,000 倍的原因。
為了提升 VR 路徑追蹤圖像的品質,我們需要一種方法,對每個像素只採樣幾條路徑,同時避免隨機採樣的噪聲。多虧了創新的焦點渲染技術,我們認為這個目標很快就能實現。焦點渲染只需要對圖像中心的路徑進行詳細分析,並且無需追蹤更多的光線,便可以進行圖像去噪,即將粒狀圖像直接轉換為清晰的圖像。
今年我們與麥吉爾大學,蒙特婁大學,達特茅斯學院,威廉姆斯學院,史丹佛大學和卡爾斯魯厄理工學院,合作發表了三篇研究論文,都是在解決去噪問題。這些方法可以將一個布滿噪點的即時路徑跟蹤圖像,轉化為清晰的圖像,如下圖所示:
只用幾毫秒的計算,也沒有額外的光線,其中的兩種方法都使用了 GPU 的圖像處理能力來實現。一個使用了 NVIDIA GPU 一種新的人工智慧處理能力。
我們對神經網路進行了數天的去噪訓練,現在它可以自動在數十毫秒內進行圖像去噪處理。我們正在增加這種技術的複雜性,並且不斷訓練網路來降低成本。這個方法令人興奮,因為它是我們近期發現的幾種新方法之一——以一種意想不到的方式,利用人工智慧來提高電腦圖形品質,並創作出新的 3D 動畫內容,為VR世界的普及做出貢獻。
我們對神經網路進行了數天的去噪訓練,現在它可以自動在數十毫秒內進行圖像去噪處理。我們正在增加這種技術的複雜性,並且不斷訓練網路來降低成本。這個方法令人興奮,因為它是我們近期發現的幾種新方法之一——以一種意想不到的方式,利用人工智慧來提高電腦圖形品質,並創作出新的 3D 動畫內容,為VR世界的普及做出貢獻。
計算型顯示器
現在的 VR 頭顯中的顯示器,是相對簡單的輸出設備。顯示器本身幾乎不做任何處理工作,只是顯示輸出的數據。儘管這樣的顯示器對電視、監控和智慧手機來說已經夠用了,但在改善 VR 體驗方面,顯示器本身仍然有巨大的提升潛力:顯示器可以更加智慧,不僅顯示內容,同時顯示用戶的狀態,我們正在探索幾種頭顯顯示器的計算處理方法,試圖將VR的極限再向前推進一些。
解決視覺輻輳調節衝突問題(Vergence-Accommodation Disconnect)
VR 顯示面臨的第一個挑戰就是焦點問題,即所謂的視覺輻輳調節衝突。目前市面上所有的 VR 或 AR 設備都將用戶的視覺焦點強制在 1.5 米遠的位置,這會有兩個缺陷:
1、當你在 VR 中注視遠處或者近處的物體時,你兩隻眼睛的視覺輻輳與視覺焦點會產生不匹配的情況。這樣的不匹配會令用戶感到不舒適,這也是現今 VR 產品的一大痛處。
2、當你在使用 AR 時,你會用真實的深度看向現實世界。而虛擬的圖像則需要匹配到你的視覺焦點,否則它們就會變得模糊不清。比如駕駛過程中,正在注視 20 米遠的你並不能看清距離你 1.5 米的 AR 地圖指示。
我們創造了一個計算型光場顯示器原型,通過多角度的光線展示,可以讓你在任何深度進行聚焦。
這個顯示器是對以往技術的一次重要突破,因為計算過程是直接在顯示器中進行的。
我們不是向顯示器中傳輸單純的圖像,我們正在向其中發送複雜的數據,而顯示器則負責將數據,直接轉化為你眼前的圖像。上圖中那些看起來有點像昆蟲眼中的世界的小網格,必須進行專門的渲染,才能傳輸進顯示器,這需要結合了自定義光學,即通過一個微透鏡陣列,才能以正確的方式,呈現出一個自然的世界。
這個顯示器是對以往技術的一次重要突破,因為計算過程是直接在顯示器中進行的。
我們不是向顯示器中傳輸單純的圖像,我們正在向其中發送複雜的數據,而顯示器則負責將數據,直接轉化為你眼前的圖像。上圖中那些看起來有點像昆蟲眼中的世界的小網格,必須進行專門的渲染,才能傳輸進顯示器,這需要結合了自定義光學,即通過一個微透鏡陣列,才能以正確的方式,呈現出一個自然的世界。
第一個光場顯示器的研發是從 2013 年開始的。在 ACM AIGGRAPH Asia 2018 大會上,我們將展示一種新的全像顯示器,它利用雷射和密集的計算,在光的干擾波面上創造光場。本文篇幅有限,很難展示其複雜的工作機制,但它的基本原理是一樣的,可以產出品質更高的圖像。
我們堅信這種顯示器內計算是未來的一種關鍵技術。但光場並不是我們使用計算方法,解決焦點問題的唯一途徑。我們還創造了其他兩種可變焦點(或變焦光學)的形式。
下圖的顯示器原型利用雷射,將圖像投射到一個漫射全像圖上。當你直視全像圖時,它會從一個曲面玻璃上反射過來,這樣看上去就像是在遠處注視它。
我們透過一個小馬達,來移動全像圖或太陽鏡反射器,從而控製圖像的距離。這樣我們就可以將虛擬物體的距離,和用戶現實世界的視距匹配起來,用戶在使用 VR 時就可以自然而完美地聚焦。
這種方法要求在顯示器中進行兩種計算:一是要追蹤用戶的眼動狀態,二是要計算正確的光學變化,來渲染預扭曲的動態圖像。和我們的大多數原型機一樣,這個研究版本比最終產品的體積大得多。因為我們要用大型組件來進行研究建構。但實際使用的優化版顯示器會更像是墨鏡的樣子。
下面是另一個變焦原型機,這是我們與北卡羅來納大學、馬克斯普朗克研究(the Max Planck Institute)所和薩爾蘭大學(Saarland University)的研究者們合作發明的。這是一個靈活的透鏡薄膜。我們根據用戶焦點的變化,使用電腦控制的氣動裝置,來改變透鏡的焦距,使得圖像始終處在正確的位置。
混合雲渲染
我們有多種方法解決 VR 延遲的問題。其中一個是與威廉姆斯學院合作的成果,它充分利用了我們分布廣泛的 GPU 技術。為了在渲染時減少延遲,我們希望將 GPU 移動離顯示器越近越好。
利用 Tegra 移動 GPU,我們甚至可以將 GPU 放置在用戶身上。但是移動 GPU 的處理能力不如桌上型 GPU,而我們又想提升現有遊戲 VR 的圖像品質,所以我們用無線連接為 Tegra 組配一個獨立的 GeForce GPU,甚至如果要求更高的話,可以配一個雲端 Tesla GPU。
利用 Tegra 移動 GPU,我們甚至可以將 GPU 放置在用戶身上。但是移動 GPU 的處理能力不如桌上型 GPU,而我們又想提升現有遊戲 VR 的圖像品質,所以我們用無線連接為 Tegra 組配一個獨立的 GeForce GPU,甚至如果要求更高的話,可以配一個雲端 Tesla GPU。
這樣,一個功能強大的 GPU 就可以計算出光照資訊,接著傳輸給你身上的 Tegra,渲染出最後的圖像。這種方法的好處在於,既減少了延遲,又降低了算力要求,同時還提高了實際圖像的質量。
降低延遲基準
當然,你無法讓延遲低於幀速率。如果顯示器的更新速度是 90 fps,那麼延遲在最差的情況下也不會低於 11ms,因為這正好是顯示器等待兩幀之間的時長。所以我們到底能將顯示器的速度提升到多快呢?
我們和北卡羅來納大學的科學家合作,建構一個每秒運行 1.6 萬個二進制幀的顯示器。下圖是一個數位示波器的圖表,顯示了這種顯示器對於頭部轉動時的情況。當你轉頭時,螢幕更新的延遲會導致暈動症。
在上圖中,橫坐標是時間線;頂部的綠線震動,代表戴著顯示器的用戶正在轉動頭部;黃線表示顯示器的更新,它的起伏代表顯示器中,新圖像僅用 0.08ms 就能完成更新。這大約是現有市面上最差的消費級 VR 速度的 500 倍。
渲染器無法達到 16,000 fps 的速度,所以這種顯示器需要借助時間扭曲(Time Warping)最新圖形的方法來匹配當前頭部的位置。我們讓它直接在頭顯中運行,可以加速時間扭曲的處理過程。下圖展示了我們訂製頭顯中處理器原型:
不同於扭曲 2D 圖像的常規時間扭曲,或是更先進的深度 2D 圖像扭曲的空間扭曲(Space Warp),我們的方法可以應用於全 3D 數據集中。
上圖的最右邊展示了,在一個實際的 3D 場景,進行扭曲的例子,在這個系統中,當你在場景中隨意走動時,顯示器可以自動保持更新,甚至暫時與渲染器斷開連接時,也能持續更新。這使得我們能夠以一個較低的速度運行渲染器,從而節省電力或提高圖像品質,同時,即使在無線連接緩慢的網路時,也能生成低延遲的圖形。
上圖的最右邊展示了,在一個實際的 3D 場景,進行扭曲的例子,在這個系統中,當你在場景中隨意走動時,顯示器可以自動保持更新,甚至暫時與渲染器斷開連接時,也能持續更新。這使得我們能夠以一個較低的速度運行渲染器,從而節省電力或提高圖像品質,同時,即使在無線連接緩慢的網路時,也能生成低延遲的圖形。
總結
在第一部分,我們闡述了現今VR頭顯的渲染管線:
綜合上述所有的技術,我們不僅可以描繪出單個的創新產品,更重要的是可以勾勒出一個 VR 系統的全新圖景。這個圖景幾乎消除了所有的同步障礙,它將計算擴展到雲端,並直接傳到頭戴式顯示器上。
延遲時間縮短了 50-100 倍,同時圖像具有電影級的品質。分辨率提高了 100 倍,當然只是你視覺焦點內的圖形像素。另外,你也可以自然地聚焦在不同深度上。
延遲時間縮短了 50-100 倍,同時圖像具有電影級的品質。分辨率提高了 100 倍,當然只是你視覺焦點內的圖形像素。另外,你也可以自然地聚焦在不同深度上。
我們正在加速將二進製圖像在顯示幕上的顯示,以期讓用戶體驗虛實不分的感受。該系統有著適合的聚焦調節,一個寬闊的視場,輕便的重量和很低的延遲,可以成為一種舒適而時尚的日常產品。
透過在計算型顯示器,變焦光學,焦點渲染,圖形去噪,光場,二進制幀等領域的突破,NVIDIA Research 正在為一個新的虛擬體驗系統進行創新。隨著系統變得更加舒適,便宜,性價比提高,這將成為每個人都可以使用的新的計算介面。
我鼓勵每個人都去體驗如今市場上的現代 VR 系統。我更也鼓勵你加入我們,共同期待未來 AR/VR/MR的普及,期待透過這些技術掀起的 VR 革命。
沒有留言:
張貼留言