O_Retimer
O_Retimer设计为使用O_VectorGenerator节点生成的上游运动矢量来减慢或加快立体素材。这些运动矢量描述了每个像素如何在帧之间移动。利用准确的运动矢量,可以通过沿运动方向进行插值来在整个序列的任何时间点生成输出图像。
输入和控制
连接类型 |
连接名称 |
功能 |
输入值 |
运动 |
如果在此处提供了立体图像和O_VectorGenerator节点,则将从该序列计算运动矢量并将其应用于输入序列。 例如,如果您的输入序列非常嘈杂,这可能会很有用,因为太多的噪音会干扰运动估计。在这种情况下,您应该在此处提供序列的平滑版本和O_VectorGenerator节点。 |
资源 |
一对立体声图像。 如果运动矢量未嵌入图像中,则应使用O_VectorGenerator节点进行计算。 |
Control (UI) |
Knob (Scripting) |
Default Value |
功能 |
O_Retimer Tab |
|||
Views to Use |
viewPair |
Dependent on Source |
设置要用于重新定时剪辑的两个视图。这些视图将被映射为左眼和右眼。 |
Timing |
timing |
Speed |
设置如何控制剪辑的新定时: • Speed -如果您希望以总体持续时间来描述重定时,请选择此选项:双倍速度将使剪辑的持续时间减半,或者半速将使片段的持续时间加倍。 • Source Frame -如果希望以“在输出剪辑的第100帧,我想查看源剪辑的第50帧”来描述重新定时,请选择此选项。您需要为此至少设置两个关键帧才能对剪辑重新计时。 |
Speed |
speed |
0.5 |
设置何时重新计时值Timing设定为Speed。 小于1的值会使剪辑变慢,而大于1的值会加速移动。例如,要将片段减慢两倍(半速),请将此值设置为0.5。四分之一速度将是0.25。 |
Frame |
frame |
1 |
在以下情况下,通过更改时间轴上当前帧的源帧来设置重定时值: Timing设定为Frame。 例如,要将50帧剪辑减慢一半,请将Source Frame到第1帧的1,然后Source Frame到第100帧的50。默认表达式将导致半速重新计时。 |
Warp Mode |
warpMode |
Normal |
设置用于生成重新定时视图的方法: • Simple -此模式扭曲并融合图像。 • Normal -此模式扭曲并融合图像,使其一致。 • Occlusions -此模式可以改善运动矢量较大的结果。 • Sharp Occlusions -此模式旨在通过边界不同的CG源减少伪影。 |
影片教学


欢迎从铸造厂来到Ocula。我的名字叫Jon,在本教程中,我们将介绍Ocula 3.0的重定时功能。因此,这是我们要看的Ocula树。在顶部,我有一个求解器,用于计算板的立体几何形状。我正在做一些印版校正,因此要在左视图和右视图之间进行垂直对齐和颜色匹配,然后烘焙视差和运动矢量以供以后使用,这里我们使用它来对印版进行重新计时。因此,在这里我们将进行Ocula 3.0的重定时,并与使用Kronos分别重定时左右视图的效果相比。在底部,我们将研究一种技巧,如果您对结果不满意的话,可以帮助修复重新计时。
首先让我们看一下印版准备工作。在这里,我有了Solver节点。我正在计算视差和遮挡,因此我可以进行局部颜色校正,使用该视差将颜色从左拉到右视图。然后,我使用一组VerticalAligners对齐板,因此让我们依次看一下它们。在规划求解节点上,我在镜头的开始,中间和结尾放下了3个关键点。该摄影机装备实际上并没有改变,但是我想确保我在对准中有任何细微的变化。Solver节点上有一个教程,它将告诉您如何设置和QC(质量检查)这些键,以确保您获得O_Solver传递的最佳对齐数据。因此,一旦有了解决方法,就可以计算出视差,并且已经使用默认值进行了设置。根据视差,我可以再次使用默认值来计算左右视图之间的遮挡。在这张照片中,我不需要担心深度上的大变化。然后,我进行颜色匹配,并进行了设置,以使右视图与左颜色匹配。因此,我们现在来看一下。这是我们的输入画面,这是更正。当我在输入上切换视图时,可以看到反射发生了变化。我要看校正后的盘子。现在可以匹配颜色,但是您可以看到左右视图之间的未对准。然后我在这里有3个VerticalAligners。我设置的第一个规模消除任何焦距差异。然后我有一个回转拿出相机胶卷,最后我将Aligner设置为垂直偏斜取出任何梯形失真。我们可以看一下最终的校正板。现在,当我在左右视图之间切换时,现在可以看到它们是对齐的。
进行印版校正后,可以将其渲染出来。我为对齐的印版绘制了视差,因此以后无需重新计算该视差。请记住,您不能使用输入视差,因为它与图像在垂直对齐方式中经过的移位不匹配。您需要重新计算差异。因此,我将其拉回原处。这是我们存在差异的校正板,并将其放入O_VectorGenerator节点中。这将计算立体运动矢量。视差是在左右视图之间连接像素的矢量,而运动是在帧之间连接像素的矢量。前向运动将像素连接到下一帧,而后向连接到前一帧,但是对于特定视图。在VectorGenerator上,我们有一个忽略面具。这将从运动计算中排除区域。还有一个前景面具。这使您可以剪切并计算特定前景层的运动。您还需要与DisparityGenerator进行相同的参数调整。它将以几乎相同的方式工作。因此,让我们看一下我们正在此处计算的向量。我将转向看向前运动。将其稍微降低一点,这样我们就可以更轻松地看到它,如果我查看一个像素,红色和绿色通道会告诉我到下一帧的x和y偏移量。如果你出现强度,您可以强制运动矢量匹配帧。如果您的重定时中的鬼影没有对齐,请尝试此操作。这里要权衡的是结果可能会有一些伪像,其中有些杂音。您也可以调整清晰度。这有助于匹配帧,并使运动分为不同的层。现在我们可以看到轴开始出现。最后,如果噪音太大,可以使用光滑度参数。现在看起来不错,但是如果各层之间的间隔太大,那么在进行重新计时时,您实际上会看到各层之间的撕裂。因此,我将其切换回默认设置。您可以做的是渲染出各种不同的运动矢量。您可以使用强大的设置(可能是锐利的设置或平滑的设置)进行渲染,然后可以为重定时选择合适的动作,甚至可以将不同设置的结果组合在一起。现在,VectorGenerator的关键是对准这里。它同时计算左视图和右视图的运动矢量。确保它们与为印版计算的对齐数据匹配。您将看到我已将VectorGenerator连接到上游VerticalAligners来拾取求解数据,但要获取对齐的板。如果您放入一个新的求解器节点,您实际上可以再次计算该路线数据。
好的,让我们现在看看重新计时。我有校正后的视差板和刚计算出的运动矢量。我将它们拉入Ocula 3.0 Retimer节点。重定时器很简单。它允许您键入一个速度控制,也可以指定框架。您可以定义提供给帧的变形以产生重新计时结果。因此,让我们看一下左右视图上重新定时的结果。您会注意到此处的手有一些快速运动,这会导致重计时结果出现重影。你可以看看使用更高强度, 或许清晰度,在运动矢量中进行纠正。不过,重要的是,当我在左右之间切换时,重计时结果是相同的。这是因为VectorGenerator同时计算左右运动。
我们可以将该结果与Kronos重定时进行比较,后者将分别处理左视图和右视图。这是Kronos的结果,您可以看到重新计时是不同的。当您以立体3D观看时,这将脱颖而出,因此,为了说明这一点,我将切换到Anaglyph节点。当我们切换到查看Kronos结果时,您会看到错误跳出。因此,生成重计时非常简单。如果有任何错误,您可以尝试使用不同的运动矢量生成多个重发时间并将其组合在一起。您还可以修复一个视图,并使用重新定时的视差将修复推送到另一视图。因此,这里我使用的是NewView节点集,以从左向右重建重新计时的对象。我们可以将重建的视图与原始的重新定时的右视图进行比较,因此您可以使用重新定时的视差来帮助构建完全匹配的重新定时的印版。
到此结束了本教程的Ocula 3.0重定时。我们已经介绍了如何设置和准备板块,渲染以及使用VectorGenerator节点渲染运动矢量,然后将其引入以使用Ocula 3.0中的Retimer节点进行重新定时,以及与单独重新定时视图相比,如何更好地工作,以及有关如何重建完美匹配的印版的技巧,方法是将多次重合在一起,或者使用重定时的视差将定位从一个视图拉到另一个视图。