【Deep Comp】深度合成的艺术

16 三月, 2014
441
1

在今年的奥斯卡科技奖颁奖典礼上有给予深度合成,发明、发展和实施三个独立的奖项。
[box style=”info”] “这绝对是一个巨大的荣誉,奥斯卡评审做了一个了不起的和深入的工作,” Colin Doncaster of Peregrine实验室说到(那些荣幸获得此科技奖项之一),“他承认这个奖项是对每一个参与这个庞大项目人的肯定,从最初的案例带入ODZ和EXR2.0,看到大家努力去拥抱接受与创新的标准是非常好的。这很可能是另一种情况下的一个工作室的专利技术,我们就没有它。这很高兴看到彼得(希尔曼)和威塔参与这个由奥斯卡承认,当然还有来自皮克斯的最初概念。乔恩(Wadelton)等人在Foundry公司还与各方共同努力,使更广泛的受众提供的洞察力。”[/box]

由于这种新的和强大的合成形式,2010年我们第一次报道,fxguide一直跟随发展,目前大规模采用deep comp。今天,它是在高端特效的公司,如Weta Digital,,Animal Logic,MPC,ILM,FUEL VFX等,它的使用是蔓延到中型生产甚至TVCS。如少年派、普罗米修斯、超人:钢铁之躯、饥饿游戏2:星火燎原、复仇者联盟、环太平洋、霍比特人 2:史矛革荒漠都在使用深度数据应用于深度合成的流程中。不仅各大渲染器和项目支持,如Houdini和Nuke现在允许深度数据,像ILM基于GPU模拟系统和体积渲染的 Plume。

什么是深度合成?

深度合成的核心是一种不同的渲染和视觉元素的工作方式。而不是分层的一系列2D渲染层,很多时候渲染出遮罩层提供3D图像之间的遮挡。深度合成的目的是提供一个数据通道的渲染图像定义,不是一个单一的深度Z为一个点在图像(或像素值),而值的数组定义如何说在前面和后面在空间中的点的像素值所代表的雾气密度的变化(我的理解是一个动态的定义在0-1之间的动态值)。

想象一下一团烟雾,一个与实际的不同密度移动的烟在 3D中呈现。云计算可能会在 15 米的 Z 空间在它的前面和后面可能结束在说 20 m,但传统流程中这种云呈现为一个平面 2D 元素与一个 Z 深度位置。也许 Z 深度位置前台 15 米这个数字或中间的云存储在回 17.5 单位,无论哪种方式有一个号码为云在Z空间中的“位置”。

如果云是部分透明清楚一些会显得很不同,如果它通过在前面,后面或实际上在云中。但在合成中,你的选择将是把不同的实景元素加在层前或该渲染云彩的后面。就是这样有没有其他的选择,因为我们有云和Z向深度和任何其他信息。为了使一些拍摄设定看上去像是是在云中穿过 ,会需要渲染一半背面的云,一半前面云,并使用一些支持遮罩(我理解就是传统的设置片的感觉)。
但深度合成不仅仅一个数字,而是是有一个数值范围,表达了云从云面前,通过云中间到云后面强度的数字或数组。对于深度合成,我们可以“在”渲染的3D云中合成实景片段,因为我们可以查看在这个数组数据到底有多少烟会是在前面还是后面,如18.2米或16.1米等。这使得合成不要求遮罩支持,它意味着重新渲染大大减少。不幸的是,这也意味着每个像素的数据需要存储,在复杂的照片一帧可能需要额外存储多达800M的数据。此外,由于深度合成发生在例如NUKE流水线的结束,该数据需要被转入其他的软件,并且不能使用,然后丢弃如流体缓存。

然而,对于一个工作室好处多多,如Weta Digital公司深度数据是“我们所做的一切绝对标准的方式,但我不知道在流程中如何关闭深度数据”彼得希尔曼博士,工作室的一名高级软件开发人员。如此有益和灵活是Weta工作室的深度合成渲染流水线,作为希尔曼博士的扩展:“我不知道我们有一个按钮将其关闭。如果你不想要它你可以扔掉数据,但它就是这么有用”。Weta工作室并不是单独的,早期的开拓者,如Animal Logic和许多其他人重新设计他们的流程,这样,当他们携带大量文件通过他们的过程中,他们已经大大降低了渲染和遮着渲染支持。

一旦深度合成流水线采用,它可用于更具创造性的照明方式。与亚伯拉罕•林肯开始:吸血鬼猎人,Weta Digital公司使用深度合成流水线允许复杂的体积二次照明。如Weta工作室在他们DigiPro2012文件,相机的空间体积阴影,这些文件表示每个像素存储深度排序的样本在一个任意长的列表中。提供到单独深度的图像元素可以精确地组合,以产生对整个场景的一个单一的合成图像,即使图像是交错的纵深。这允许极大的灵活性,因为只有已更改的元素需要重新渲染,场面可分为元素,而不需要考虑如何将被合并。相比之下,在传统的合成与普通图像场景必须分为元素,这样他们可以重组没有边缘人造元素或违反深度顺序的元素。体积深空图像像素代表一个体积一样分段恒定的光密度和颜色深度的函数。体积参与媒体的渲染通常计算密集型,所以要单独计算它们并正确组合成场景的能力是非常有利的。

亚伯拉罕林肯,Weta工作室从体积照明分离的阴影,这增加了在合成过程的灵活性。

例子:下面第一个视频示范渲染显示倒阴影(清晰)在一个静态的体积与动画光源,展示运动下的影子光轴是一致的。

在这第二个视频,深复合材料显示一个动画灯适用于静态体积阴影和相位函数,用FX渲染和使用NUKE内的插件创建。静态环境不亮(黑色),并合成在深度,得到的轮廓。

在这个第三视频,深度合成相结合的阴影和相位函数的静态环境中由相同的光源点亮。该体积是再一次的静态和没有阴影和照明,这是在Nuke深合成应用,由Weta工作室提供。

本文还进一步说明如何一些工作可以直接在NUKE来完成,通过添加具有深度合成与合成软件产生一个低频’雾’。并控制它与两个高度场,甚至对位,大量的基础低频工作全部完成,并在NUKE产生。高频额外的阴影,然后添加到允许更快更多的阴影工作流和用户直接计量以惊人的结果。

如今公司正在向深度流水线转变,但它不是一个简单的过程。虽然大多数程序都支持渲染深数据并非所有的合成软件都支持。此外虽然大部分注意力集中在增加文件大小,真正的问题对与网络I / O带宽相关,没有准备仔细可以放置大量需求的设施中的服务器,造成不可接受的内部延迟。利用深度数据的吸引力之一是减少遮罩层重新渲染。如一些公司还需要通过传统zdepth层和遮罩层分级和立体转换,他们采取局部流水线。尽管一些流程有深度数据,将文件转换为更传统的Z深度图的最实际的照片,知道他们可以访问预转化深数据文件,如果需要的话,还避免了重新呈现但没有磁盘文件大小的问题,对网络要求他们工作的大多数公司。

NUKE中的深度合成

作为电影合成制作的首先软件,NUKE成为Weta Digital工作室进行深度合成自然的选择。此外,Weta Digital公司和Foundry公司有着长期的合作关系横跨MARI和许多其他共同研领域。

深度合成实施初期实际上一直在Shake中。随着苹果公司Shake停止更新,很多公司不得不访问Shake源代码,Weta工作室是其中之一,所以该小组也跟着先在Shake测试它。但Weta工作室的Shake从来就不是一个长期的选择,NUKE才他是最终的选择。

The Foundry公司NUKE产品经理Jon Wadelton,是探索Weta工作室的彼得希尔曼博士早先在2008年给The Foundry公司的产品经理Matt Plec在Shake中演示深度合成Dome的第一人。最初,Plec解释说,深度合成不是The Foundry公司的开发范围,但希尔曼非常渴望The Foundry公司在NUKE中实现深度合成。因此,仅使用API和NUKE本身,希尔曼第一次实现解决方案。“当我们得到更感兴趣,更深入的对发生了什么以及它如何工作,“Wadelton说。“这是一个伙伴关系,”希尔曼补充道,“在共享想法和合作。”

Colin Doncaster 和Joannes Saam 也知道Wadelton的研究,他们分别走近Wadelton研究后,没多久也热衷于探索建立在原有的深度阴影贴图原则的深度合成流水线。虽然希尔曼进度最快速,已经实现了产品和来自Weta工作室和Foundry公司的技术许可,但在The Foundry的开发阶段,Wadelton也征询了Doncaster和Saam的意见。

其实,在2011年中期Foundry公司最先实施了OpenEXR2.0的开发,但在去年2013年之前,很久这只是一出测试版。OpenEXR最早是由ILM开发,现在由VFX关键使用者,比如Weta Digital公司,皮克斯动画工作室和Autodesk维护。OpenEXR2.0具有基于Weta工作室的ODZ深度数据格式深层数据支持。“当我们刚开始的深度合成的东西,”Wadelton说“我们通过Weta工作室和彼得•希尔曼的启发和他定制具有深度合成的NUKE版本,这与我们无关,除了我们帮助他提供NUKE API。他建立了在现有的NUKE的顶层开发,但后来我们决定,有这样的合成系统是一个好主意,所以我们从头开始在NUKE中用C + +的API建立了自己的深度合成系统,并加入适当的深度缓冲器等。这仅仅是个开始。”

Foundry公司实际上最终许可Weta工作室实现,但更多的参考不是直接使用的代码,因为希尔曼的版本有效地存在于NUKE之上。Foundry公司把它内置入NUKE之中,Wadleton承认“这是一个在深度算法中有点皮毛”。“当你想着例如直接色彩校正与普通的2D图像,这是很简单的,你只要通过所有的像素和对待他们都是一样的,然后你把结果在屏幕上。深度合成,我们首先实现它与深度做了所有的数据,但是如果你说搭车或类似的操作,你不能把它以同样的方式。你真的需要做更多的体积。我们不得不学习不少。”

因此,Foundry公司的NUKE6.3是第一个实现深度合成的半成品版本,”Wadelton说。该小组重新写完全是为了NUKE的下一个版本NUKE7,后者于2012年年底发布。它们还包括一个适当的支持遮罩。在NUKE7之前的合成师不得不拼合图像做出支持遮罩,现在人们可以作出适当深度支持遮罩,具有“深度量”。

在NUKE8版本的扩展中有从NUKE的扫描线渲染器直接生成原生深度层数据。这种新的扫描线渲染器支持深度作为NUKE一个巨大的进步得到了广泛的赞誉,及多名现任深度数据流水线的TD都称赞。这允许一个插入来自如Nuke的粒子系统元素融入到渲染元素深度的数据例如的RenderMan或Houdini的Mantra渲染的。在NUKE 8之前,虽然可以在NUKE内产生深度数据,但你不能产生一个深度从深数据渲染。即使没有3 d渲染,核武器仍非常有价值,从NUKE6.3中第一个实现三维深度数据,例如,可视化,将它转化为一个点云(DeepToPoints节点)。”很重要,可视化从一开始,你可以将卡片,即使没有我们的3 d渲染在NUKE8中,它仍然是有用的生成卡片或不为所动,只是使用深度层”Wadelton说到。

The Foundry公司在英国,开发工作由Abigail Brady牵头开发的核心NUKE深度合成架构,包括高速缓存,与视图一体化,深度的C + + API和体积alpha合并算法。 “以外的所有DeepHoldout节点是由Abi编码的NUKE6.3” Wadelton指出。 “所以,这包括DeepCrop,DeepReformat,DeepSample,DeepTransform,DeepMerge(合并),DeepToPoints,DeepFromImage,DeepColorCorrect,DeepToImage,DeepFromFrames,DeepRecolor,DeepExpression,dtex DeepRead。和exr2 DeepRead节点”。

Jon Wadelton自己写NUKE6.3版本的DeepHoldout及一些改进的NUKE7工具栏。这些措施包括DeepMerge(合并模式),DeepColorCorrect2(能调节alpha和提示操作算法的正确性),为DeepColorCorrect / DeepRecolor / DeepToImage EXR2 deep reader / dtex Reader and EXR2 deep writer。

DeepRecolor(目标输入Alpha模式)与alpha再平衡算法会同克里斯•霍瓦特在皮克斯完成。深度体积颜色的合并算法(Nuke的6.3没有正确合并色卷)。
他们通过Pierluigi Garaventa公司帮助做的ScanlineRender深度输出和“产品设计”,即哪些节点的Foundry公司势必开发等等,将会在NUKE8中公布。是否是Matt Plec和Jon Wadelton的组合,这不是容易实现这一点。NUKE8引擎实现了多次采样,运动模糊以及其他高级正确功能。

在讨论深度流程时数据大小始终是一个问题,深度数据可以是非常大的。展望未来, Foundry公司正在寻找新的方法来压缩深度数据。其中一个团队正在寻找的东西是有压缩以后的过程中完成的,因此更明智的压缩算法都可以使用。较差压缩将引入人造元素,人们几乎需要利用这些数据来了解如何最有效地压缩了深度数据。NUKE也许会扩展到允许艺术家压缩后的数据会先评估和使用,而不是当渲染完成后,文件将首先被写入。这一问题既是一个认知和现实。一些公司已经远离深度合成由于担心数据的大小。深度数据非常有用当不处理大大复杂的计量,从而避免所有深数据只是一些照片数据,根据Wadelton认为随着越来越多的人理解的好处和正确的实现,深度合成将得到更广泛应用。“我觉得很有意义的渲染了了很多的元素的深度,即使他们并不是容量说明。这样可以节省时间,特别是重新照明和移动元素。

目前NUKE是在The Foundry支持深度数据的唯一产品,公司必须考虑到它的MODO3D渲染。Ocular是The Foundry的立体工具,主要是一个实景工具,可生成一个视差图。它目前不支持深度数据,但它会采用深度数据,以帮助立体声转换另一种可能的区域。 “这不是我们现在正在做的,”Wadleton说。 “这将是一个研究项目,制定出我们如何使用它。”如果深度数据并成为整个行业广泛采用,人们可以想像背后立体转换流水线的人会看,他们可能会使用深度数据的方式。目前深度被广泛采用在高端和蔓延到更多的通用流水线“。

Wadelton评论到奥斯卡科技奖的奖励,“深度合成一直是一个推动者,艺术家创造一些最非凡的视觉效果序列的电影。我们感谢那些有创造力的个人创造和适应现有技术来创建这一技术。没有他们这些序列可能永远不会来到生活。”

深度合成NUKE上的扩展

今天科林唐卡斯特是一家小公司外来的实验室,使专业高端效果的工具。其中之一是Bokeh(焦散)工具,。该工具是用FUEL VFX为普罗米修斯做特效。合成主管山姆•科尔解释其主要用途,当在2012年对他回道:“在我们所有的渲染要来了”深度“,他们出来的锐利,所以我们能够在合成用背景虚化后匹配的焦点。里面的太阳系仪(船舶),我们希望有完全控制背景虚化和轻微的色差灼热,你会得到这些光斑的确切形状。