畢韋達 羅江林 呂鑫



摘要:深度合成技術是以深度信息為主要合成數據的影視后期合成技術,最初在電影《猩球崛起》(2011)便已經被使用,該技術自正式被提出以來已經9年,但在國內的數字合成流程中并未得到廣泛采用。為了弄清該技術的實際使用情況,進行了此項研究。此項研究采用模擬法,通過模擬3種在影視渲染與合成中常用的場景,分別采用傳統的合成流程與深度合成流程,并對產生的影像結果與資源占用情況進行對比和分析,經過研究,可以確認深度合成流程在合成效果上優于傳統的合成流程,但其數字信息較為龐大,需要占用更多的存儲空間。從而得出結論,深度合成雖然相較于傳統的合成流程有其自身的優勢,但資源占用龐大這一劣勢在一定程度上未能彌補其便利性,加上近些年來三維渲染技術新的發展,導致此項技術未能被廣泛采用。
關鍵詞:深度信息;影視特效;后期合成;三維渲染
中圖分類號:TP393? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)16-0086-03
1簡介
在當今影視動畫制作流程中,圖像合成是流水線后期的重要的環節。在拼合多張圖像之時,圖像之間的運算順序與透明通道(Alpha通道)至關重要。依據圖像疊加的次序和Alpha通道的不同,產生的結果也不同。這種方法為目前主流的圖像合成流程,其特點是簡便易用。然而這種方法也有其缺點,在處理極為細微的對象、半透明對象和運動模糊內容時,邊緣處容易發生不準確的問題。在實際生產中,需要耗費人力來對邊緣進行再修正。為了解決這個問題,基于深度信息的合成流程被提出,這種流程可以拋棄對透明通道的依賴,并且能夠獲得更優質的合成質量。
本文將介紹深度合成的相關工作,闡述深度合成的一般制作流程,分析其優勢和劣勢,并且展示其在實踐中的具體應用方法。
2相關工作
2.1 數字圖像渲染
數字圖像渲染是通過計算機程序從二維或三維模型生成真實或風格化圖像的過程。多個數字對象可以在一個場景文件中被定義,除了被渲染的三維或二維幾何體對象之外,場景文件還描述其紋理、燈光、視角等信息,并將這些信息傳遞到渲染器進行處理,并最終輸出為圖像。在其他語境中,渲染也可以指傳統藝術家對于場景的描述,或在后期視頻軟件中指代視頻的編碼與輸出。除非特指,文中所討論的渲染均指三維對象的渲染。
2.2 OpenEXR圖像格式
并非所有圖像格式都能承載Deep信息,所以在制作中需要選用特定的格式。RAT圖像格式和EXR圖像格式均能承載Deep信息。由于EXR格式的廣泛通用性,因此作為本次研究主要采用的文件格式。
EXR格式即OpenEXR圖像,它是由工業光魔公司于2003年研發出來。維塔數字(Weta Digital)、迪士尼動畫工作室、Sony Pictures Imageworks、皮克斯動畫工作室和夢工廠等影視動畫公司均為其代碼庫做出了貢獻。目前它已經成為影視動畫工作流程中最為通用的圖像格式。
EXR格式具備高動態的范圍和色彩精度[1],支持最高32位浮點像素,兼備無損和有損等多種圖像壓縮算法。最重要的是,它對Deep深度信息的支持較為靈活,可以在每個像素上存儲可變長度的采樣值,這使得在每個像素上存儲不同深層的多個數值成為可能,并可以容納硬表面和體積信息。
2.3 深度信息合成
deep信息即深度信息[2],在2012年被提出[3],其核心技術是在渲染的圖像中提供一個數據通道,該通道定義了一個數值陣列,在陣列中存儲了渲染對象在某個像素值所表示的空間中前后的變化。
在深度合成中,表示對象顯示強度的不僅僅是一個而是一組數字,這組數字貫穿對象前后兩個部分,因此在合成過程中就可以像三維對象一樣準確定位像素的位置。這意味著在合成時不再需要基于遮罩的圖像并使得重新渲染的次數大大減少,但一個劣勢是這些信息所占的磁盤數據量較大。Weta工作室曾在《霍比特人:史矛革之戰》《亞伯拉罕·林肯》《猩球崛起》等影片中使用此技術,皮克斯工作室也做過類似的研究[4]。
2.4 深度(deep)和深層(depth)的區別
深度信息(Deep)經常與深層信息(Depth)信息混淆,一是因為二者的名詞意義接近,二是因為它們都存儲著表示像素深度的信息。Depth信息在像素上存儲了一個與攝像機距離的采樣數值;而deep信息則是在不同層級的深度上進行采樣,每個像素都包含一個可變長度的列表。Depth信息是傳統合成流程中常用的輸出通道,可以用來在合成中作為校色和景深效果的遮罩,這些工作利用深度信息(Deep)也一樣可以完成。文中所提的深度信息指的是Deep信息,而非Depth信息。
3制作流程
3.1 深度圖像渲染
通過數字圖像渲染是獲得深度圖像的主要手段,其雛形概念在2012年被提出。目前的主流渲染器均支持渲染輸出deep圖像,但在默認情況下都不會開啟。下面以Maya to Arnold(簡稱MtoA)和Mantra渲染器為例。
在MtoA中生成含deep信息的exr圖像時,需在Render Settings中令Image Format項設置為deepexr,然后用常規方式渲染OpenEXR圖像即可。在Mantra中生成deep信息時,需要在Mantra節點中將Deep Resolver切換至Deep Camera Map,這會讓mantra在進行采樣過濾之前,先把deep信息寫入指定文件中;接下來需要在DCM Filename中指認輸出的文件路徑,而非使用常規的Output Picture來指認輸出的文件。
在對一個場景的對象進行分層渲染時,對于不參與渲染的對象無須設置遮罩渲染,但也不能直接隱藏(即渲染器中不可見),倘若采用隱藏的方式,會失去該對象參與次級光(如反射、折射等)的運算,為了保證結果匹配,應設置該對象為不對主光源可見,但在次級光中可見。若對應于Houdini的操作,即將geo層級上的Render Visibility設置為“-primary”。
3.2 深度圖像合成
生成的深度圖像可以在后期合成軟件中被處理,其中The Foundry Nuke對深度信息的支持較好,擁有一系列深度信息處理節點。其基本的工作流程為,首先利用deep read讀取包含deep信息的exr圖像。當讀取多個對象之后,可利用deep merge將它們合并到一起,在合并之前,可以使用deep transform對每個對象進行位移,同時deep recolor則可以對對象重新進行著色,但由于這個節點無法識別UV信息,所以無法用來進行重貼圖。當deep信息被處理完成后,再使用deep to image將deep信息轉換為一般圖像,之后便是轉到傳統的數字圖像合成流程。?
4實踐案例
為了討論深度信息合成對于不同場合下的使用情況,如果將對象分為體積和非體積對象,其中非體積又分為不透明和半透明兩種,對于兩個對象之間的合成將總共有9種情況,如表1所示。
為了研究基于深度圖像的流程與基于遮罩流程相比的優劣,將實驗不透明對象與三種不同對象的渲染與合成(表1),它們分別是(a)非體積不透明對象之間的合成;(b)非體積半透明對象與非體積不透明對象之間的合成;(c)體積對象與非體積不透明對象之間的合成。
1)非體積不透明對象之間的合成
場景中包含地面對象,對象A為圓環模型,對象B為兔子模型。AB對象使用相同的不透明材質。
渲染策略:渲染圖像5張,編號分別為img01-05,每個圖像的作用如下:img01-02為遮罩渲染,其中在img01中,A對象正常渲染,B和地面對象設置為在主光源中不可見,但在次級光中可見;在img02中,A對象作為遮罩渲染,B和地面對象正常渲染;img03-04為深度渲染,在img03中,與img01類似,A對象正常渲染,B和地面對象設置為主光源不可見,而次級光可見;在img04中,A對象設置為主光源不可見,而次級光源可見,B和地面對象正常渲染;img05為AB和地面同時渲染,作為理想效果,用于合成結果的對比。
經過合成之后,可以觀察到,在遮罩渲染合成(普通合成)流程中,在對象A和自身遮罩合成之后,出現了黑邊現象,(圖1中)這是由于采樣精度的限制問題;而深度渲染合成流程中,不存在這一黑邊現象,(圖1 右)因此能獲得較好的邊緣控制。
2)非體積半透明對象與非體積不透明對象之間的合成
場景中的對象同上。其中A對象使用40%的透明材質,B對象使用不透明材質。渲染策略同上。
經過合成之后,能觀察到在遮罩渲染合成流程中,除了上述的黑邊效果同樣存在之外,A對象更加整體偏暗,(圖2 中)并且對象A所在區域的Alpha通道在合成之后不為1,這些結果都需要采用其他手段以進一步修復;而在深度渲染合成流程中,不存在這一現象,(圖2 右)合成效果與理想效果一致。
3)體積對象與非體積不透明對象之間的合成
場景中的對象同上。A對象使用霧狀體積材質,B對象使用不透明材質。渲染策略同上。
經過合成之后,可以觀察到在遮罩渲染合成流程下,煙霧不僅黑邊問題明顯,而且煙霧的整體偏暗(圖3 中);而在深度渲染合成流程下,合成結果與理想效果極為接近,雖然煙霧下部仍有略微發亮,但比較微弱,整體效果更為接近理想效果(圖3右)。
4)總結
對于以上三種情況的測試結果進行比較,可以發現,無論哪種情況,基于深度信息渲染合成的效果都要優于基于遮罩渲染合成的效果,這在對象具有半透明(如玻璃、煙霧)類效果時尤為明顯。
雖然基于深度信息的圖像渲染與合成流程在最終效果上更有優勢,但其劣勢也很明顯,即圖像所占用的空間較大。如圖4所示。
在三種情況中,基于深度流程生成的圖像所占空間較大,分別是使用遮罩流程的圖像的664%、1001%和928%,并且這一數據在隨著場景對象變多時還會進一步增加,這是一個顯著的劣勢。考慮到現階段影視工業中的數據量,這個劣勢應是成為推廣此項技術的主要阻礙。如果要在實際生產中采用這個流程,那么應對其空間占用的優化進行研究,目前已經有一些這方面的進展,比如只渲染深層Alpha通道來使得圖像數據最小化等[5]。
5結論
在渲染的對象具備半透明特征(如玻璃或煙霧)時,使用基于深度的圖像渲染與合成流程效果明顯較好,并且簡化了合成的流程。在實際的影視動畫制作中,這也是最被推薦使用此流程的場合。但是,這種流程也將極大消耗系統的存儲資源,在制作龐大鏡頭數量的項目之前,應對要占用的磁盤空間進行測試和預估以及進行數據研發,才能確保項目的順利進行。但當渲染對象不具備半透明特征時,這種新的流程并不具備絕對優勢,在這種情況下,仍然使用傳統的基于遮罩的流程將是更好的選擇。
圖形引擎仍在飛速發展中,所見即所得的基于GPU高速渲染發展迅速,與此同時,皮克斯的通用場景描述(USD)也帶來了渲染效率的巨大提升。面對這種形勢,可以提出合理的預測,基于深度信息的渲染與合成流程的技術也許僅僅是曇花一現,其壽命將較為短暫,在現階段的生產制作中,暫時還不值得投入巨大精力去研究。
參考文獻
[1] 阮威.高動態范圍圖像(HDRI)編碼研究[J].福建電腦,2012,28(12):61-62,127.
[2] 楊德勇.淺談動畫制作中Deep在各軟件對接中的應用與作用[J].現代電影技術,2020(12):41-43,51.
[3] Hanika J,Hillman P,Hill M,et al.Camera space volumetric shadows[C]//Proceedings of the Digital Production Symposium on - DigiPro'12.August 4,2012.Glendale,California.NewYork:ACMPress,2012.
[5]? Lokovic T, Veach E.Deep shadow maps[C] //Proceedings? of the 27th annual conference on Computer graphics and interactive techniques. ACM Press/Addison-Wesley Publishing Co.,2000.
[6] Pieké R, Zhao Y, Arrizabalaga F S.Recolouring deep images[C]//Proceedings of the 8th Annual Digital Production Symposium.Vancouver, British Columbia, Canada:Association for Computing Machinery,2018.
【通聯編輯:代影】