首页 / 专利库 / 空中管制 / 许可 / 通过时间延时和稳定化的超延时视频

通过时间延时和稳定化的超延时视频

阅读:439发布:2024-01-25

专利汇可以提供通过时间延时和稳定化的超延时视频专利检索,专利查询,专利分析的服务。并且本文描述的各种技术涉及根据输入视频来生成输出超延时视频。可以基于输入视频来计算经平滑的相机路径。另外,可以针对输出超延时视频的输出 帧 而从经平滑的相机路径选择输出相机姿势。可以针对输出帧而从输入视频挑选一个或多个选择的输入帧。所选择的输入帧可以至少部分基于针对输出帧的输出相机姿势来挑选。此外,可以将所选择的输入帧进行组合以 渲染 输出帧。从输入视频挑选所选择的输入帧并且将所选择的输入帧进行组合可以针对输出超延时视频的输出帧中的每个来执行。,下面是通过时间延时和稳定化的超延时视频专利的具体信息内容。

1.一种计算系统,包括:
处理器;以及
存储器,所述存储器包括由所述处理器可执行的视频生成系统,所述视频生成系统包括:
路径规划组件,所述路径规划组件基于输入视频来计算经平滑的相机路径,所述路径规划组件针对输出超延时视频的输出而从所述经平滑的相机路径选择输出相机姿势;以及
渲染组件,所述渲染组件针对所述输出帧中的每个输出帧:
针对输出帧而从所述输入视频挑选一个或多个选择的输入帧,所述选择的输入帧至少部分基于针对所述输出帧的输出相机姿势来挑选;以及
将所述选择的输入帧进行组合以渲染所述输出帧。
2.根据权利要求1所述的计算系统,所述视频生成系统还包括重构组件,所述重构组件构建场景的模型和针对所述输入视频的输入帧的输入相机姿势,其中所述路径规划组件基于所述场景的所述模型和针对所述输入视频的所述输入帧的所述输入相机姿势来计算所述经平滑的相机路径。
3.根据权利要求1所述的计算系统,所述路径规划组件根据以下来计算所述经平滑的相机路径:
所述经平滑的相机路径的长度;
所述经平滑的相机路径的位置平滑度;
所述经平滑的相机路径的定向平滑度;
所述经平滑的相机路径与针对所述输入视频的输入相机位置的接近度;以及指示沿所述经平滑的相机路径的根据场景的模型的基于图像的渲染质量的视图质量度量。
4.根据权利要求3所述的计算系统,所述经平滑的相机路径包括输出相机位置曲线和输出相机定向曲线,所述路径规划组件还包括:
位置分析组件,所述位置分析组件根据所述经平滑的相机路径的所述长度、所述经平滑的相机路径的所述位置平滑度、以及所述经平滑的相机路径与针对所述输入视频的所述输入相机位置的所述接近度,来计算所述输出相机位置曲线;以及
定向分析组件,所述定向分析组件根据所述经平滑的相机路径的所述定向平滑度和所述视图质量度量来计算所述输出相机定向曲线,所述定向分析组件在所述输出相机位置曲线保持固定为如先前由所述位置分析组件计算的一样的情况下计算所述输出相机定向曲线。
5.根据权利要求1所述的计算系统,所述路径规划组件计算指示沿所述经平滑的相机路径的根据场景的模型的基于图像的渲染质量的视图质量度量,所述经平滑的相机路径基于所述视图质量度量来计算,所述视图质量度量是由将原始图像纹理映射到代理几何结构上引发的透视缩短的量的视图无关的度量。
6.根据权利要求1所述的计算系统,所述渲染组件还包括融合组件,所述融合组件对所述选择的输入帧进行拼接和混合以渲染针对所述输出帧中的每个输出帧的所述输出帧,所述选择的输入帧由所述融合组件使用时间和空间接缝选择算法和泊松混合来拼接和混合。
7.一种根据输入视频来生成输出超延时视频的方法,包括:
构建场景的模型和针对所述输入视频的输入帧的输入相机姿势;
基于所述场景的所述模型和针对所述输入视频的所述输入帧的所述输入相机姿势来计算经平滑的相机路径;
针对所述输出超延时视频的输出帧而从所述经平滑的相机路径选择输出相机姿势;以及
针对所述输出帧中的每个输出帧:
针对输出帧而从所述输入视频挑选选择的输入帧,所述选择的输入帧至少部分基于针对所述输出帧的输出相机姿势来挑选;以及
将所述选择的输入帧进行组合以渲染所述输出帧。
8.根据权利要求7所述的方法,所述经平滑的相机路径包括输出相机位置曲线和输出相机定向曲线,并且计算所述经平滑的相机路径还包括:
根据基于位置的目标来计算所述输出相机位置曲线;以及
在对所述输出相机位置曲线的计算之后,根据基于定向的目标来计算所述输出相机定向曲线,所述输出相机定向曲线在所述输出相机位置曲线固定为如先前所计算的一样的情况下被计算。
9.根据权利要求7所述的方法,针对所述输出帧而从所述输入视频挑选所述选择的输入帧还包括:
针对所述输出帧而识别候选输入帧,所述候选输入帧根据所述输入视频的所述输入帧来识别;
针对所述候选输入帧而生成相应权重图;以及
基于所述权重图使用贪心算法针对所述输出帧而从所述候选输入帧挑选所述选择的输入帧。
10.一种计算机可读存储介质,包括计算机可执行指令,所述计算机可执行指令当由处理器执行时使所述处理器执行包括以下的动作:
根据基于位置的目标来计算输出相机位置曲线;
在对所述输出相机位置曲线的计算之后,根据基于定向的目标来计算输出相机定向曲线,所述输出相机定向曲线在所述输出相机位置曲线固定为如先前所计算的一样的情况下被计算;
针对输出帧而选择输出相机姿势,所述输出相机姿势根据所述输出相机位置曲线和所述输出相机定向曲线来选择;
针对所述输出帧而从输入视频挑选选择的输入帧,所述选择的输入帧至少部分基于针对所述输出帧的所述输出相机姿势来挑选;以及
将所述选择的输入帧进行组合以渲染所述输出帧。

说明书全文

通过时间延时和稳定化的超延时视频

背景技术

[0001] 传统相机常常是昂贵的、笨重的并且难以操作的设备。最近,数字相机已经变得更廉价、更小、更易于使用并且已经变得实际上无处不在。相机现在常常被附接到汽车、计算机以及电话。另外,可穿戴相机日益普遍。可穿戴相机可以被称为第一人称相机,因为动作如同通过相机操作者的眼睛被看见。
[0002] 所捕获的视频可能很长并且单调,并且因此,可能观看起来是枯燥的并且难以导航。各种传统方法采用延时技术来缩短这样的视频。例如,视频的速度可以通过选择该视频的每第n个以用于得到的延时视频来增大。
[0003] 此外,相机在运动中时可以被用于捕获视频。传统延时技术可以被应用到由在空间中移动的相机捕获的视频。得到的延时视频可以被称为超延时视频,强调该视频是通过在空间中移动的相机来获得的并且该视频已经通过时间来加速
[0004] 由移动相机捕获的视频常常遭受不稳定的相机抖动和变化的照明条件。例如,当用户正在散步、跑步、爬山、徒步旅行、搭乘(例如,自行车、车辆、火车、等等)、滑、跳伞或以其他方式在空间中移动时,由与用户合作地持有、佩戴或以其他方式与用户合作地可移动的相机随意捕获的视频可以包括显著抖动和/或扭转和转动。因此,增大这样的视频的帧率的传统延时技术可以放大相机抖动,由此降低得到的视频的可观看性。发明内容
[0005] 本文描述了涉及根据输入视频来生成输出超延时视频的各种技术。可以基于输入视频来计算经平滑的相机路径。另外,可以针对输出超延时视频的输出帧而从经平滑的相机路径选择输出相机姿势。可以针对输出帧而从输入视频挑选一个或多个所选择的输入帧。所选择的输入帧可以至少部分基于针对输出帧的输出相机姿势来挑选。此外,可以将所选择的输入帧进行组合以渲染输出帧。从输入视频挑选所选择的输入帧并且将所选择的输入帧进行组合可以针对输出超延时视频的输出帧中的每个来执行。
[0006] 以上发明内容呈现了简化的发明内容以便提供对本文讨论的系统和/或方法的一些方面的基本理解。本发明内容不是本文讨论的系统和/或方法的详细概述。其不旨在识别重要/关键元件或不旨在描绘这样的系统和/或方法的范围。其唯一目的是以简化的形式呈现一些构思作为对稍后呈现的更详细的描述的前序。附图说明
[0007] 图1图示了根据输入视频来生成输出超延时视频的示例性系统的功能框图
[0008] 图2图示了包括重构和使用场景的模型和针对输入视频的输入相机姿势以生成输出超延时视频的计算系统的示例性系统的功能框图。
[0009] 图3图示了视频生成系统的示例性重构组件的功能框图。
[0010] 图4图示了视频生成系统的示例性路径规划组件的功能框图。
[0011] 图5图示了渲染质量项 的示例性计算。
[0012] 图6图示了渲染质量项 的示例性计算,其是视不变纹理拉伸。
[0013] 图7图示了视频生成系统的示例性渲染组件的功能框图。
[0014] 图8图示了根据输入视频来生成输出超延时视频的示例性系统的功能框图。
[0015] 图9图示了示例性计算系统的功能框图。
[0016] 图10是图示了根据输入视频来生成输出超延时视频的示例性方法的流程图
[0017] 图11是图示了渲染输出帧的示例性方法的流程图。
[0018] 图12图示了示例性计算设备。
[0019] 图13图示了示例性计算系统。

具体实施方式

[0020] 现在参考附图描述涉及根据输入视频来创建输出超延时视频的各种技术,其中类似的附图标记在各处用于指代类似的元件。在下面的描述中,为了解释的目的,阐述了许多具体细节以提供对一个或多个方面的透彻理解。然而,可以显而易见的是,(多个)这样的方面可以在没有这些具体细节的情况下来实践。在其他实例中,周知的结构和设备以框图形式示出以便促进描述一个或多个方面。另外,要理解,被描述为由某些系统组件执行的功能可以由多个组件来执行。类似地,例如,组件可以被配置为执行被描述为由多个组件执行的功能。
[0021] 此外,术语“或者”旨在意指包含性的“或者”而非排他性的“或者”。也就是说,除非另行说明,或者从上下文很清楚,术语“X采用A或B”旨在意指自然包含性排列中的任何。也就是说,术语“X采用A或者B”旨由以下实例中的任何满足:X采用A;X采用B;或者X采用A和B两者。另外,如在本申请和随附权利要求中使用的词语“一”和“一个”应当一般地被理解为意指“一个或多个”,除非另行说明或者从上下文很清楚指向单数形式。
[0022] 如本文所阐述的,描述了用于根据输入视频来生成输出超延时视频的各种技术。输入视频可以由在空间中随时间移动的相机捕获。另外,输入视频可以包括运动噪声。由移动的相机获得的输入视频通过时间来加速以生成输出超延时视频。根据输入视频生成的输出超延时视频相对于包括输入视频的每第n个帧的传统延时视频而被平滑。
[0023] 在高加速速率处,与传统视频稳定化技术耦合的传统帧子采样可能是无效率的,因为存在于输入视频中的不稳定的相机抖动由加速放大。对比之下,作为本文阐述的技术的部分,输入相机路径(例如,针对输入视频的输入帧的输入相机姿势)也可以被重构为致密的每帧的代理几何结构。另外,经平滑的相机路径可以针对输出超延时视频而被优化;经平滑的相机路径可以被计算以传递接近的输入相机位置并且以提供输出相机被定位并被定向在可以根据输入视频很好地渲染的方向上。此外,输出超延时视频可以通过渲染、拼接、以及混合来自针对每个输出帧的输入视频的所选择的源帧来生成。
[0024] (根据其生成输出超延时视频的)一种类型的输入视频的示例是第一人称视频。第一人称视频例如可以由第一人称相机捕获。第一人称相机可以免手持地操作并且可以隐式地捕获第一人称视频,而非通过显式启动停止命令。第一人称相机可以与用户合作地被佩戴或者以其他方式与用户合作地可移动。按照说明,第一人称相机可以是头盔式相机;然而,其他类型的第一人称相机也旨在落入本文随附的权利要求的范围内。第一人称相机可以在用户正在散步、跑步、爬山、徒步旅行、搭乘(例如,自行车、车辆、火车、等等)、滑雪、跳伞或以其他方式在空间中移动时捕获输入视频;然而,输入视频可以包括显著抖动和/或扭转和转动。然而,要理解,要求保护的主题不限于使用第一人称相机;相反,基本上可以被持有或在空间中随时间可移动的任何类型的相机都旨在落入本文随附的权利要求的范围内。另外,由在空间中移动的相机捕获的其他类型的输入视频旨在落入本文随附的权利要求的范围内。
[0025] 现在参考附图,图1图示了根据输入视频104来生成输出超延时视频102的系统100。系统100包括计算系统106。计算系统106包括处理器108和存储器110。处理器108被配置为执行被下载到存储器110中的指令(例如,被下载到存储器110中的一个或多个系统由处理器108可执行,被下载到存储器110中的一个或多个组件由处理器108可执行,等等)。如本文中更详细地描述的,存储器110包括视频生成系统112,视频生成系统112根据输入视频
104来创建输出超延时视频102,其中视频生成系统112由处理器108可执行;因此,存储器
110包括被配置为生成输出超延时视频102的指令。
[0026] 根据各种示例,计算系统106可以为或者可以包括计算设备。按照各种说明,计算设备可以为台式计算设备、移动计算设备(例如,膝上型计算设备、移动电话、平板计算设备、可穿戴计算设备、手持计算设备、便携式游戏设备、个人数字助理、相机、等等)、游戏控制台、或车载通信和信息娱乐系统、等等。根据其他示例,计算系统106可以为或者可以包括一个或多个服务器计算设备。例如,计算系统106可以为或者可以包括一个或多个数据中心,其中数据中心包括多个服务器计算设备。额外地或备选地,计算系统106可以为分布式计算系统。
[0027] 此外,计算系统106可以包括数据存储装置114。数据存储装置114可以保存输入视频104。输入视频104包括输入帧的序列。另外,数据存储装置114可以保存场景的模型116和针对输入视频104的输入帧的输入相机姿势118。场景的模型116可以为输入视频104中描绘的场景的几何(例如,三维(3D))模型。另外,输入相机姿势118包括捕获输入视频104的输入帧的相机的输入相机位置和输入相机定向(例如,针对给定输入帧的输入相机姿势包括针对给定输入帧的输入相机位置和输入相机定向,等等)。输入相机姿势118根据输入视频104来重构。针对输入帧的输入相机姿势118提供对捕获输入视频104的相机的运动的估计。尽管未示出,但是预见到数据存储装置114还可以保存由视频生成系统112创建的输出超延时视频102。
[0028] 根据示例,计算系统106可以基于输入视频104来构建场景的模型116和输入相机姿势118。按照另一示例,不同的计算系统可以基于输入视频104来构建场景的模型116和/或输入相机姿势118(或前述中的一个或两者的(多个)部分);在该示例之后,不同的计算系统可以将场景的模型116和/或输入相机姿势118(或其(多个)部分)提供到计算系统106,其可以在其后被保存在数据存储装置114中。
[0029] 如以上所指出的,计算系统106的存储器110包括视频生成系统112。视频生成系统112包括路径规划组件120,路径规划组件120基于输入视频104来计算经平滑的相机路径。
路径规划组件120可以基于场景的模型116和针对输入视频104的输入帧的输入相机姿势
118来计算经平滑的相机路径。根据示例,由路径规划组件120计算的经平滑的相机路径可以包括输出相机位置曲线和输出相机定向曲线。路径规划组件120还针对输出超延时视频
102的输出帧而从经平滑的相机路径选择输出相机姿势。针对输出帧的输出相机姿势包括输出相机位置和输出相机定向。
[0030] 路径规划组件120可以根据各种因素来计算针对输出超延时视频102的经平滑的相机路径。由路径规划组件120使用的计算经平滑的相机路径的因素可以包括:经平滑的相机路径的长度;经平滑的相机路径的位置平滑度;经平滑的相机路径的定向平滑度;经平滑的相机路径与针对输入视频104的输入相机位置的接近度;以及指示沿经平滑的相机路径的根据场景的模型116的基于图像的渲染质量的视图质量度量。视图质量度量例如可以为由将原始图像纹理映射到代理几何结构上引发的透视缩短的量的视图无关的度量;然而,其他视图质量度量旨在落入本文随附的权利要求的范围内。此外,要理解,路径规划组件120可以根据前述因素的子集来计算经平滑的相机路径。额外地或备选地,除了以上指出的因素之外的(多个)不同的因素也可以由路径规划组件120用于计算经平滑的相机路径。
[0031] 场景的模型116和输入相机姿势118可以由路径规划组件120用于在六维(6D)姿势空间(x、y、z、俯仰偏航滚转)中优化经平滑的相机路径。路径规划组件120可以基于输入相机姿势118和用于根据输入视频104来渲染输出超延时视频102的输出帧的能来计算经平滑的相机路径。通过基于如以上所描述的因素来计算,经平滑的相机路径可以在位置和定向上是平滑的,传递输入视频104中的接近的输入相机位置,并且被定向朝向可以被渲染的方向。另外,路径规划组件120可以针对输出超延时视频102的输出帧而从经平滑的相机路径选择输出相机姿势。与前述相反,一些传统路径平滑技术采用低通时间滤波;然而,由于用于延时视频的平滑的量,这样的传统算法通常不能提供足够的结果。
[0032] 视频生成系统112还包括渲染输出超延时视频102的渲染组件122。针对输出超延时视频102的输出帧,渲染组件122针对输出帧而从输入视频104挑选一个或多个所选择的帧。所选择的输入帧可以至少部分基于针对输出帧的输出相机姿势来挑选。例如,渲染组件122可以基于输出帧的输出相机位置、输出帧的输出相机定向、或者输出帧的输出相机位置和输出相机定向的组合来挑选所选择的输入帧。此外,渲染组件122将所选择的输入帧进行组合以渲染输出帧。所选择的输入帧可以通过对来自所选择的输入帧的数据进行扭曲和混合来组合。渲染组件122可以将所选择的输入帧与每帧的代理几何结构投影、拼接、混合和/或以其他方式融合。渲染组件122类似地挑选并组合针对输出超延时视频102的其他输出帧的所选择的输入帧。
[0033] 为了从输入视频104挑选针对给定输出帧的所选择的输入帧,渲染组件122可以计算针对给定输出帧的候选输入帧的权重图。可以由渲染组件122根据权重图从候选输入帧挑选所选择的输入帧。针对给定候选输入帧的权重图可以基于视图质量度量、像素的相对深度(例如,以缓解对场景的遮挡部分的选择)以及运动模糊的量。因此,渲染组件122可以实施多帧基于图像的渲染算法,其扭曲输入帧、计算权重图、调节可见性以及使用时间和空间接缝选择(例如,图切割)算法和泊松混合来混合得到的图像。
[0034] 恢复的输入相机参数(例如,输入相机姿势118)和本地世界结构(例如,场景的模型116)可以由渲染组件122用作基于图像的渲染技术的部分以重构输出超延时视频102的每个输出帧。输出帧可以使用基于图像的渲染根据多个输入帧来合成。因此,渲染组件122可以将若干输入帧进行组合以形成每个输出帧,其可以缓解过度剪裁。相反,许多传统视频稳定化技术通常在单帧入单帧出的基础上进行操作,从而导致大量剪裁。
[0035] 根据各种示例,输入视频104可以是包括运动噪声的随意捕获的移动的第一人称视频。视频生成系统112可以处理输入视频104中的运动噪声以创建输出超延时视频102。输出超延时视频102可以为来自由视频生成系统112稳定化的移动相机的延时视频。相反,传统延时技术可以在加速输入视频104时放大相机抖动,并且这样的相机抖动可以超过传统视频稳定化技术的能力。例如,增大的相机抖动可以导致跟踪在连续帧之间的运动的困难。此外,在抽取帧之前应用传统视频稳定化技术可能是无效率的,因为这样的技术常常使用相对短的时间窗口,因此平滑的量可能对于实现平滑超延时结果是无效率的。
[0036] 根据示例,视频生成系统112可以在创建输出超延时视频102时以固定因子(例如,10倍、等等)加速输入视频104(例如,固定因子可以由制造商、用户、等等预定)。通过另一示例,预见到视频生成系统112可以以动态控制的因子加速输入视频104(例如,响应于诸如被指定为用户输入的部分的速度值的接收到的输入、等等)。
[0037] 现在转到图2,图示了包括计算系统106的系统200,其重构和使用场景的模型116和针对输入视频104的输入相机姿势118以生成输出超延时视频102。与以上类似,计算系统106包括处理器108、存储器110以及数据存储装置114。存储器110还包括视频生成系统112。
尽管未示出,但是预见到输入视频104和/或输出超延时视频102可以被保存在数据存储装置114中。
[0038] 在图2中阐述的示例中,视频生成系统112包括重构组件202以及路径规划组件120和渲染组件122。重构组件202构建使用场景的模型116和针对输入视频104的输入相机姿势118。重构组件202可以使用来自运动的结构的算法和致密深度图插值来构建场景的模型
116和输入相机姿势118。
[0039] 根据示例,重构组件202可以构建世界的3D模型。此外,重构组件202可以计算每帧的3D代理(例如,针对输入视频104的输入帧的每帧的3D代理),其可以被用作本文描述的基于图像的渲染的部分。
[0040] 为了计算3D相机运动和场景代理,来自运动的结构的技术可以由重构组件202利用。更具体地,重构组件202可以使用将良好估计的相机添加到当前3D重构的增量方法。为了处理大型数据集,重构组件202可以去除冗余输入帧并且之后将输入帧划分成交叠的。为了估计针对每个输入帧的连续的3D代理,重构组件202可以对3D点的致密的版本进行插值。
[0041] 参考图3,图示了视频生成系统112的重构组件202。如以上所指出的,重构组件202可以重构场景的模型116(例如,场景几何结构)和针对输入视频104的每个输入帧的输入相机姿势118(例如,输入相机位置和定向)。
[0042] 重构组件202可以任选地包括对输入视频104进行预处理的预处理组件302。根据示例,用于捕获输入视频104的相机可以在具有对角视场的鱼眼投影中捕获视频(例如,一些相机可以提供大约170°对角视场、等等)。预处理组件302可以校准透镜失真并将输入视频104转换为(经剪裁的)线性透视投影。投影的变化可以简化后续处理的实施方式同时缓解鱼眼图像的失真的角落。然而,预见到重构组件202不需要包括预处理组件302。
[0043] 重构组件202还可以包括评价组件304。一旦已经由预处理组件302(如果包含在重构组件202中并且被采用的话)重新投影了图像,评价组件304可以估计输入视频104的输入帧的外部相机参数以及针对输入图像的深度图。评价组件304可以使用来自运动的结构的算法来对所估计的相机参数和深度图进行求解。评价组件304可以利用来自运动的结构的算法来估计输入相机的位置和定向。另外,评价组件304可以采用来自运动的结构的算法来计算稀疏3D点云,其中每个点具有输入帧的相关联的列表,在其中每个点是可见的。
[0044] 当采用来自运动的结构的算法时,评价组件304可以找到输入视频104的输入帧中的特征点。评价组件304可以进一步识别输入帧的对中的匹配特征点。输入帧的对中的匹配特征点可以被指示在匹配表中。评价组件304可以通过搜索匹配表中的具有显著非对角分量的行和列并从输入视频104的输入帧的原始集合去除这些行和列来去除冗余输入帧。评价组件304可以在其后执行增量的来自运动的结构的流线的剩余部分。
[0045] 注意,可能难以缩放增量的来自运动的结构的算法。根据示例,为了缓解这种困难,数据集(例如,输入视频104)可以被划分成输入帧的交叠的批次(batch)(例如,每个具有400帧交叠的1400帧,等等),其中每个批次可以分别被并行重构(例如,通过不同的计算系统,通过计算系统的不同的计算设备,通过不同的处理器和处理器核心执行,等等)。
[0046] 在对各批次的并行重构之后,评价组件304可以将各批次组合到单个全局坐标系中。评价组件304可以使用霍恩(Horn)的方法来计算在各对之间的刚性(rigid)对齐。因此,在各批次之间的交叠区域内的输入相机可以具有全局坐标系中的两个坐标。这些歧义可以通过将各坐标进行线性地组合来解决,其中混合权重在交叠区域中从0移动到1。另外,评价组件304可以在其后对全局系统上执行光束法平差。根据示例,在已经获得了完全重构之后,评价组件304可以执行缩放使得在两个相继的输入相机之间的平均距离基本上为1。因此,评价组件304可以计算所估计的相机路径和稀疏3D点云。
[0047] 此外,重构组件202可以包括插值组件306,插值组件306执行致密深度图插值来构建场景的模型116和输入相机姿势118。由评价组件304执行的重构可以是稀疏的,因为深度可能在每个输入帧中的几个孤立的点处是已知的。从新颖视角来准确地渲染帧的几何结构可以基于致密深度图或表面模型。因此,插值组件306可以使用插值技术来获得平滑的代理几何结构。
[0048] 插值组件306可以增加每个输入帧内的点的密度。例如,插值组件306可以执行引导的匹配以增加输入帧内的点的密度。由于已经获得了输入相机姿势的估计,特征点匹配可以被再次执行,但是以不那么保守的方式,因为一幅图像中的特征点可以位于沿着相邻图像中的极线。因此,特征点可以与在该线附近的其他特征点相匹配(例如,10个像素的搜索半径可以被用于说明滚动快失真)。前述可以增大找到匹配的可能性。
[0049] 为了根据特征匹配鲁棒地计算3D点,插值组件306可以形成跨多个帧的特征的轨道。根据示例,轨道可以通过将成对的匹配特征点与共同的端点连接并且之后丢弃(例如,包括相同图像中的超过一个特征的)循环回到其本身上的轨道来计算。然而,在前述示例中阐述的方法可以形成并且之后拒绝许多大轨道。通过另一示例,插值组件306可以使用通过连续地合并特征匹配来构建轨道的贪心算法,但是仅仅在合并将不会得到包括相同图像中的两个特征的轨道的情况下。此外,插值组件306可以通过使重新投影误差最小化来对针对每个轨道的3D点进行三角测量。前述可以被表示为非线性最小乘方问题,其可以通过插值组件306使用列文伯格-夸特(Levenberg-Marquardt)算法来求解。
[0050] 已经增加了点的数量,插值组件306可以计算帧的相应的致密网格。视场可以被划分成w x h顶点的规则栅格网格(例如,w可以被设置为41,并且h可以与输入视频104的反纵横比成比例,等等)。另外,网格中的顶点的相应深度可以由插值组件306计算。然而,由于重新投影误差与差异(反深度)相关,所以插值组件306可以代替地对针对每个顶点x的差异d(x)进行求解。对差异进行求解可以实现缓解关于场景的遥远部分(例如,在无限远处的点)的数值问题。因此,目标可以是对其中深度是已知的并且要在其他地方是平滑的稀疏点进行近似。这可以由插值组件306对下面的优化问题进行求解来实现:
[0051]
[0052] 在前述中,V是顶点的集合,并且N(x)是x的4邻域。一元项:
[0053] Edepth(x)=∑iB(x-pi)(d(x)-zi-1)2   (2)
[0054] 测量近似误差。pi和zi是稀疏重构点的图像空间投影和深度,并且B是其宽度是一个网格单元的双线性核。二元项:
[0055] Esmooth(x,y)=λ(d(x)-d(y))2   (3)
[0056] 激励平滑解。λ=1在两个目标之间进行平衡。等式1的解是稀疏线性方程的集合,其可以使用标准求解程序来求解。
[0057] 因此,插值组件306可以输出输入相机姿势118,其可以包括针对如恢复的输入视频104的每个帧的输入相机位置和定向。另外,插值组件306可以输出场景的模型116,其可以包括形式为针对每个帧的点的致密矩形栅格的深度图。
[0058] 作为对以上阐述的技术的备选,预见到重构组件202可以执行全局3D重构。例如,重构组件202可以将3D重构算法应用到输入视频104,3D重构算法例如针对多视图立体的集群视图(CMVS)和/或基于补块的多视图立体(PMVS)。这样的模型可以之后沿如本文描述的输出相机路径而被渲染。然而,要理解,要求保护的主题不受此限制。
[0059] 参考图4,图示了视频生成系统112的路径规划组件120。如以上所指出的,路径规划组件120可以基于场景的模型116和针对输入视频(例如,输入视频104)的输入相机姿势118来计算经平滑的相机路径。另外,路径规划组件120可以针对输出超延时视频(例如,输出超延时视频102)的输出帧而从经平滑的相机路径选择输出相机姿势402。
[0060] 路径规划组件120可以生成经平滑的相机路径同时满足冲突的目标。例如,由路径规划组件120计算的路径可以是平滑的并且可以近似输入相机路径(例如,跟随接近的输入相机姿势118)。另外,路径可以被定向朝向可以使用基于图像的渲染被良好渲染的方向。与由路径规划组件120采用的技术相反,传统路径平滑算法通常不能产生针对抖动的输入相机路径的足够的结果。
[0061] 如以上所阐述的,路径规划组件120可以根据诸如以下的因素来计算针对输出超延时视频102的经平滑的相机路径:经平滑的相机路径的长度、经平滑的相机路径的位置平滑度、经平滑的相机路径的定向平滑度、经平滑的相机路径与针对输入视频的输入相机位置的接近度、以及指示沿经平滑的相机路径的根据场景的模型116的基于图像的渲染质量的视图质量度量。因此,由路径规划组件120执行的路径规划例如可以被公式化为试图同时满足以下目标的优化问题:
[0062] 1.长度:路径应当不比所需要的更长。
[0063] 2.平滑度:路径应当在位置和定向两者上是平滑的。
[0064] 3.逼近:路径应当接近输入相机。
[0065] 4.渲染质量:路径应当具有在针对基于图像的渲染的视图中的良好估计的代理几何结构。
[0066] 前述目标被公式化如下:假设{pkin,Rkin}为输入相机位置和旋转矩阵(例如,输入相机姿势118)的集合,并且假设p(t)和f(t)分别为期望的输出相机连续位置和定向曲线。由路径规划组件120计算的经平滑的相机路径包括p(t)和f(t)。f(t)被表示为单位正面向量(例如,其具有两个自由度)。剩余的右上向量可以通过取与全局世界上向量的叉积来定义。输出相机的视场可以被假设为固定的用户供应的参数(例如,输入相机的视场的80%、等等)。
[0067] 长度和平滑度目标可以在数学上被陈述为惩罚项:
[0068] Elength=∫||p′(t)||2dt   (4)
[0069] Esmooth-p=∫||p″(t)||2dt   (5)
[0070] Esmooth-f=∫||f″(t)||2dt   (6)
[0071] 针对近似目标,输入相机位置到路径上的对应的最接近点的距离可以被最小化如下:
[0072]
[0073] 另外,渲染质量可以取决于场景几何结构以及输入相机位置。视图质量度量可以由路径规划组件120计算,其中视图质量度量估计可以在给定了特定输出相机位置和定向的情况下使用基于图像的渲染实现的渲染质量。假设下面定义的 为在使用输入相机k的代理来渲染在时间t处的像素(x,y)时的惩罚。下面的表达式可以被评价以通过在图像空间上求积分来测量针对在时间t处的特定输出帧的期望的质量:
[0074]
[0075] 前述惩罚可以在曲线的长度上被积分以获得渲染质量惩罚项:
[0076] Equality=∫Φ(t)dt   (9)
[0077] 的各种定义旨在落入本文随附的权利要求的范围内。根据示例,未结构化的流明图(Lumigraph)角度误差可以如下地被用于
[0078]
[0079] 在前述中,
[0080]
[0081] 和 表示在相机中心与代理表面点ck(x,y,t)之间的单位方向向量。代理表面点表示针对像素(x,y,t)的射线与针对输入相机k的代理的几何结构的交叉点。然而,未结构化的流明图角度误差对于到代理上的投影的倾斜度是不变的,并且因此将失真的视图与低惩罚相关联。
[0082] 图5图示了在以上示例中的渲染质量项 的计算。未结构化的流明图角度误差测量在分别从输出相机中心p(t)和输入相机中心 到代理表面点ck(x,y,t)的方向向量 和 之间的角度。仿射变换J可以用于计算在参考像素(x,y)处的纹理拉伸 但是可以取决于输出相机的定向。
[0083] 再次,对图4进行参考。根据示例, 的另一度量可以直接惩罚投影的纹理拉伸的量:
[0084]
[0085] 在前述中,是纹理坐标的雅克比(Jacobian)的本征值:
[0086]
[0087] 雅克比可以在像素着色器中使用dFdx/dFdy指令来评价,并且针对2x2矩阵的本征值可以使用封闭形式的表达式来计算。
[0088] 前述的基于纹理拉伸的度量对于视图定向是不变的,因为在透视投影中,图像的周边比中心被拉伸得更多。然而,可能优选的是具有在视角被旋转时不改变的度量,这可以增强目标的更有效的优化。
[0089] 按照另一示例,由将原始图像纹理映射到代理几何结构引发的透视缩短的量的视图无关的度量可以被用作 这种度量可以在视角被旋转时是不变的。视图无关的度量可以基于方向的拉伸(例如,3D单位向量)而非透视投影的2D纹理坐标。
[0090] 图6图示了示例性视图无关的度量的计算。视图不变的纹理拉伸度量可以被表示为 视图不变的纹理拉伸度量 可以使用在从相机中心指向代理三角形的向量vi的单位法向量 和 之间的3x3映射M的条件数量来计算。
[0091] 假设ν1、v2、v3为代理三角形的顶点。方向可以相对于输入相机位置和输出相机位置被定义为:
[0092]
[0093] 因此,线性映射M=SU-1可以被定义,其中 因此,惩罚函数可以为:
[0094]
[0095] 其中 是M的本征值。
[0096] 再次对图4进行参考。上述目标的加权和可以提供用于由路径规划组件120执行的路径规划的组合的目标:
[0097] E=λ1Elength+λ2Esmooth-p+λ3Esmooth-f+λ4Eapprox+λ5Equality   (16)[0098] 在前述中,λ1、λ2、λ3、λ4和λ5表示平衡系数。根据示例,下面的值可以被用于平衡系数:λ1=100,λ2=100,λ3=1000,λ4=0.1,λ5=0.01(例如,重构场景的尺度可以被标准化);然而,要求保护的主题不限于前述示例。
[0099] 直接优化等式16可能是代价高的,因为视图质量度量(Equality)估计起来可能是代价高的。根据示例,优化的可跟踪性可以通过将优化因子分解成两个阶段来增大。因此,路径规划组件120可以采用两阶段算法来优化全局度量;两阶段算法可以增强优化的效率。此外,根据示例,作为两阶段算法的部分,视图质量度量可以被预先计算并且被保存在一个或多个查找表中(例如,被保存在数据存储装置114中)。
[0100] 更具体地,在第一阶段中,路径规划组件120可以优化经平滑的相机路径的输出相机位置曲线p(t)同时忽略取决于定向f(t)的能量项。尽管该减小的目标是非线性的,但是其可以通过迭代地对稀疏线性子问题进行求解来优化。接下来,在第二阶段中,路径规划组件120可以优化输出相机定向曲线f(t),同时先前计算的输出相机位置曲线p(t)可以保持固定。两阶段算法可以增强效率。此外,为旋转不变的视图质量度量,例如视图不变纹理拉伸度量 可以被使用;因此,等式8中的最小表达式可以针对输出相机的可能定向被预先计算一次。
[0101] 路径规划组件120可以包括位置分析组件404,位置分析组件404在第一阶段中计算经平滑的相机路径的输出相机位置曲线p(t)。位置分析组件404可以根据经平滑的相机路径的长度、经平滑的相机路径的位置平滑度以及经平滑的相机路径与针对输入视频的输入相机位置的接近度来计算输出相机位置曲线p(t)。因此,输出相机位置曲线p(t)可以根据基于位置的目标来计算。位置分析组件404可以通过使可以与定向无关的目标Elength、Esmooth-p以及Eapprox最小化来优化输出相机位置曲线p(t)。根据示例,p(t)可以被表示为立方B样条曲线,其中控制顶点的数量被设置为输入帧的数量的5%。减小的目标可以被表示为如下(为清楚省略平衡系数λ*):
[0102]
[0103] 在前述中, 是到相机k的最接近的曲线点的参数。
[0104] 尽管这可以是非线性目标,但是其可以由位置分析组件404使用迭代算法来有效地求解。注意,等式17中的两个积分项具有针对立方B样条的二次封闭形式表达式。作为迭代算法的部分,位置分析组件404可以在一个迭代期间固定tk,其将等式17转变成可以通过对等式的稀疏线性集合进行求解来优化的二次问题。因此,位置分析组件404可以备选地优化等式17并更新tk。
[0105] 另外,位置分析组件404可以选择沿针对输出超延时视频的输出帧的经平滑的相机路径的输出相机位置曲线p(t)的输出相机位置。已经确定了满足除了定向之外的目标的连续输出相机位置曲线p(t),位置分析组件404可以选择沿这样的曲线的输出相机位置。参数t可以被丢弃并且下标i可以被引入以指代输出帧。曲线样本可以为输出超延时视频的输出相机位置。
[0106] 根据示例,由位置分析组件404选择的输出相机位置可以在弧长度上沿经平滑的相机路径(例如,输出相机位置曲线)被均匀地间隔开。根据该示例,通过在弧长度上沿曲线的均匀间隔开的输出相机位置处将输出相机位置曲线采样成期望数量的输出帧,可以得到沿输出超延时视频中的经平滑的相机路径的常数速度。
[0107] 通过另一示例,由位置分析组件404选择的输出相机位置可以基于来自输入视频的输入相机速度而被间隔开。输入相机速度可以是针对输入视频的输入帧的输入相机姿势118的函数。根据该示例,输入相机速度中的一些(或全部)可以被保留在输出超延时视频中。位置分析组件404可以使用输入帧到对应的tk值(等式17)的映射来计算动态时间扭曲。
另外,位置分析组件404可以以规则的(水平的)间隔对将输入帧数量(例如,在水平轴上)映射到对应的tk值(例如,在垂直轴上)的曲线进行采样;这样的采样可以提供在输入相机被放慢或被停止时更致密的非均匀间隔的t个样本的集合。
[0108] 按照又一示例,位置分析组件404可以在常数速度与自适应速度之间进行混合。
[0109] 路径规划组件120还可以包括定向分析组件406,定向分析组件406在先前计算的输出相机位置曲线p(t)保持固定的情况下优化输出相机定向曲线f(t)作为两阶段算法的第二阶段的部分。定向分析组件406可以根据经平滑的相机路径的曲线平滑度和视图质量度量来计算输出相机定向曲线f(t)。因此,输出相机定向曲线f(t)可以在计算了输出相机位置曲线p(t)之后根据基于定向的目标来计算。定向分析组件406可以通过使Esmooth-f和Equality项最小化来优化输出相机定向曲线f(t)。新的目标可以被表示为如下(同样地,为清楚丢弃质量平衡系数λ*):
[0110] Eorientation=ΣiΦi(fi)+Σi||2fi-fi-1-fi+1||2   (18)
[0111] 定向分析组件406可以预先计算视图质量度量。根据示例,包括预先计算的Φi(f)的查找表(立方图)可以由定向分析组件406针对每个输出相机i来生成。对查找表的预先计算可以增强由定向分析组件406执行的优化的效率。因此,在(针对每个输出相机i的)输出相机位置pi处,定向分析组件406可以使用恰当的着色器来渲染代理几何结构。定向分析组件406还可以设置混合模式来计算帧缓冲器中的最小值。在六个基本方向中的每个上重复该过程可以产生存储以下的立方图:
[0112]
[0113] 接下来,定向选择组件406可以使用预先计算的量来计算针对Φi(f)基于图像的渲染(IBR)适合度项的图像积分:
[0114]
[0115] 在前述中,I(f)指示图像I中的射线f'的集合。同样地,结果可以被存储在立方图中。该操作可以减小等式18中的第一项到立方图纹理提取的评价,并且因此,可以增强使等式18最小化的效率。例如,利用黄金分割线搜索的非线性共轭梯度可以被用于这样的优化;然而,要求保护的主题不受此限制。
[0116] 根据各个示例,预见到备选的路径规划技术可以额外地或备选地由路径规划组件120采用。这样的技术的示例包括输入相机姿势118的低通平滑、托宾(Taubin)的方法或者采用拉回项(例如,以缓解曲线从输入曲线移动太远)的低通滤波的变体。然而,要求保护的主题不限于前述示例。
[0117] 转到图7,图示了视频生成系统106的渲染组件122。渲染组件122渲染输出超延时视频102的输出帧,其中输出帧基于由路径规划组件120确定的输出相机姿势402(例如,输出相机位置和定向)来渲染。渲染组件122可以包括源帧选择组件702,源帧选择组件702至少部分基于针对输出帧的输出相机姿势402从输入视频104挑选针对输出帧的所选择的输入帧的相应集合。源帧选择组件702例如可以使用贪心算法来挑选所选择的输入帧,根据所选择的输入帧汇集输出帧。此外,渲染组件122可以包括融合组件704,融合组件704将相应集合中的所选择的输入帧进行组合以渲染输出超延时视频102的输出帧。融合组件704可以拼接和混合所选择的输入帧以渲染针对输出超延时视频102的输出帧中的每个的输出帧。所选择的输入帧例如可以由融合组件704使用时间和空间接缝选择算法和泊松混合来拼接和混合。
[0118] 对于每个输出帧,源帧选择组件702可以挑选输入帧,其当使用它们的代理几何结构重新投影时覆盖具有可接受质量的输出帧的视场。所选择的输入帧可以由源帧选择组件702挑选以增强渲染输出帧的效率并缓解弹出,这可以在每个像素要从不同的输入帧挑选的情况下进行。
[0119] 源帧选择组件702可以如下面所描述的针对输出帧而挑选所选择的输入帧。要理解,下文可以针对输出超延时视频102的输出帧中的每个被重复。源帧选择组件702可以针对输出帧而识别候选输入帧(例如,候选输入帧根据输入视频104的输入帧来识别)。针对输出帧的候选输入帧可以包括最近的输入帧(例如,具有最接近输出帧的输出相机位置的输入相机位置)和在形成输入视频104的输入帧的序列中的最接近的输入帧之前和之后的预定数量的输入帧。根据示例,候选输入帧可以包括在序列中的最接近的输入帧附近的±500输入帧;然而,要求保护的主题不受此限制。
[0120] 另外,源帧选择组件702可以针对候选输入帧而生成相应权重图,其中:
[0121]
[0122] 表示针对输出帧i使用代理k的权重。τmax是阈值上限,大于其的代理的质量被认为是足够的,并且τmin是阈值下限,低于其的代理的质量被认为是太低而不能用于渲染。这些阈值的示例值可以为τmax=0.7以及τmin=0.3;然而,要求保护的主题不受此限制。针对未被代理覆盖的像素,可以设置wk,i=0。
[0123] 另外,源帧选择组件702可以基于权重图使用贪心算法针对输出帧而从候选输入帧挑选所选择的输入帧。当执行贪心算法时,源帧选择组件702可以初始地从候选输入帧挑选提供最高总体质量的所选择的输入帧:
[0124]
[0125] 在其后,源帧选择组件702可以迭代地从候选输入帧挑选分别提供在先前所选择的子集上的最大改进的所选择的输入帧:
[0126]
[0127] 在前述中,an是包括针对每个像素的先前选择的最大值的累加缓冲器:
[0128]
[0129] 源帧选择组件702可以连续地挑选所选择的输入帧直到等式23中的每像素的平均改进落入阈值以下(例如,阈值可以被设置为0.1,等等)。
[0130] 根据各个示例,预见到源帧选择组件702可以基于每像素的模糊度量和/或像素遮挡来调节针对候选输入帧的权重图。例如,由于相机抖动引发的运动模糊,一些输入帧可能是差的。假设bk(x,y)为每像素的模糊度量,其可以通过对图像k的纹理的梯度幅值进行低通滤波来获得。因此,源帧选择组件702可以利用以下权重来替换(如以上所计算的)权重图中的权重:
[0131]
[0132] 额外地或备选地,像素的相对深度可以被考虑以缓解选择场景的遮挡部分。因此,源帧选择组件702可以渲染深度图连同权重图,并且可以针对像素评价深度样本。被遮挡的像素可以被丢弃;然而,由于说明重构深度中的不准确性,严格的z缓冲器可能不是有用的。相反,高斯混合模型可以被应用到这些样本。高斯的数量可以使用贝叶斯信息准则来确定。
前述可以提供对深度到一个或若干层中的分类。因此,源帧选择组件702可以在权重图中将不在正面层上的像素的权重设置为零。
[0133] 通过示例,当采用以上算法时,源帧选择组件702可以针对每个输出帧平均选择3到5个输入帧。当这是独立于输出帧而被完成时,类似的输入帧可以针对附近的输出帧而被选择,这可以增强在渲染期间的时间上连贯的结果。
[0134] 根据示例,时间连贯性可以进一步通过允许针对输出帧的所选择的输入帧也在渲染期间(例如,由融合组件704)用于围绕帧窗口(例如,形成输出超延时视频102的帧序列中的相对于输出帧的±8帧)中的输出帧来进一步增强。当用于围绕输出帧时,权重图可以乘以在帧窗口(例如,±8帧窗口)的边缘处线性地下降到零的全局衰减系数。衰减可以辅助缓解拼接中的弹出伪影。因此,通过说明的方式,渲染组件122(例如,融合组件704)可以将针对输出帧的所选择的输入帧和帧窗口中的针对围绕输出帧的输出帧挑选的所选择的输入帧进行组合以渲染输出帧。
[0135] 另外,融合组件704将相应集合中的所选择的输入帧进行组合以渲染输出超延时视频102的输出帧。融合组件704可以渲染所选择的源图像,使用马尔科夫随机场(MRF)来将结果拼接在一起,并且重构梯度域中的最终图像。如以上所指出的,融合组件704可以将所选择的输入帧拼接和混合以渲染输出帧。所选择的输入帧例如可以由融合组件704使用时间和空间接缝选择算法和泊松混合来拼接和混合。
[0136] 融合组件704可以优化离散像素标签。融合组件704可以针对输出超延时视频102中的每个(空间时间)像素p从已经针对该特定输出帧选择的经渲染的源代理中的一个挑选标签αp。该目标可以被定义如下:
[0137]
[0138] 在上文中,“数据”项 激励选择下面定义的高质量像素和“平滑度”项Es,激励不可见拼接缝。根据示例,可以使用λs-s=10和λs-t=0.1;然而,要求保护的主题不受此限制。另外,N(p)表示相同输出帧内的4邻域的集合,并且T(p)表示先前帧和下一帧中的两个时间邻域,其一般将不会位于相同像素坐标处,并且其可以通过计算在给定像素处的候选代理的运动向量的中心来获得。
[0139] 平滑度项可以被定义如下:
[0140]
[0141] 在上文中, 表示在像素p处的经渲染的代理的RGB值。等式26可以使用阿尔法扩展算法以由粗到细的方式来求解。
[0142] 优化的标签可以辅助隐藏可见接缝。然而,由于源帧中的曝光和白平衡变化,可能存在颜色差。融合组件704可以同对时空泊松重构问题进行求解来平衡掉这些差以获得最终的像素r。
[0143]
[0144] 如以上所阐述的,Δχ、Δy、Δi分别表示水平、垂直和时间有限前向差算子。λb-d=0.001,λb-s=1,以及λb-t=0.01可以被用作平衡系数;然而,平衡系数的其他值旨在落入本文随附的权利要求的范围内。等式28可以使用标准共轭梯度求解程序来求解。
[0145] 参考图8,图示了根据输入视频来生成输出超延时视频的系统800。系统800包括计算系统106,其进一步包括处理器108和存储器110。如本文中所描述的,存储器110可以包括视频生成系统112(或其部分)。尽管未示出,但是预见到计算系统106还可以包括数据存储装置114。
[0146] 系统800还包括客户端计算设备802,其借助于网络804与计算系统106通信。通过示例,网络804可以为互联网、蜂窝网络、局域网、或其组合、等等。然而,预见到基本上任何网络类型旨在落入本文随附的权利要求的范围内。
[0147] 根据示例,客户端计算设备802可以为包括图像传感器的移动计算设备。因此,客户端计算设备802可以在空间中随时间移动以使用图像传感器来捕获输入视频。这样的移动计算设备的示例可以包括相机(例如,第一人称相机、手持相机、等等)、膝上型计算设备、移动电话、平板计算设备、可穿戴计算设备、手持计算设备、便携式游戏设备、或个人数字助理、等等。
[0148] 按照另一示例,客户端计算设备802可以与不同的计算设备通信,其中不同的计算设备可以在空间中随时间移动以捕获输入视频。根据该示例,客户端计算设备802可以从不同的计算设备接收输入视频。因此,客户端计算设备802可以例如为台式计算设备、移动计算设备、游戏控制台、车载通信和信息娱乐系统、或服务器计算设备(或多个服务器计算设备)、等等。
[0149] 客户端计算设备802例如可以通过网络804将输入视频发送到计算系统106。视频生成系统112还可以包括接口组件806,接口组件806借助于网络804从客户端计算设备802接收输入视频。如本文中所描述的,视频生成系统112可以根据输入视频来创建输出超延时视频。此外,接口组件806可以借助于网络804将输出超延时视频发送到客户端计算设备802(和/或不同的客户端计算设备)。额外地或备选地,由视频生成系统112生成的输出超延时视频可以被保存在计算系统106的数据存储装置(例如,数据存储装置114)中。
[0150] 按照另一示例,预见到客户端计算设备802可以包括视频生成系统112的一部分。因此,视频生成系统112可以跨客户端计算设备802和计算系统106分布。因此,视频生成系统112的部分可以被实施在各个位置中,这可以实现减少在网络804上发送的数据量。通过说明的方式,处理的部分可以在将经处理的数据上传到计算系统106之前在客户端计算设备802上被执行。
[0151] 根据示例,计算系统106可以经由网络804从多个客户端计算设备(客户端计算设备802、与客户端计算设备802类似的其他客户端计算设备)接收输入视频。按照说明,视频生成系统112可以共享在来自不同源的输入视频之间的信息(例如,共享来自在各输入视频之间的对应输入相机位置处的不同的输入视频的数据、等等)。
[0152] 转到图9,图示了计算系统106的示例。同样地,计算系统106可以包括处理器108、存储器110以及数据存储装置114。
[0153] 在图9中阐述的示例中,计算系统106可以为移动计算设备,该移动计算设备可以在空间中随时间移动以捕获输入视频104。更具体地,计算系统106可以包括图像传感器902。另外,计算系统106的存储器110可以包括由处理器108可执行的视频捕获系统904。视频捕获系统904可以将来自图像传感器902的输出数据存储在数据存储装置114中作为输入视频104。
[0154] 计算系统106的存储器110还包括视频生成系统112。如本文中阐述的,视频生成系统112可以根据输入视频104来创建输出超延时视频102。此外,视频生成系统112可以将输出超延时视频102存储在数据存储装置114中。
[0155] 计算系统106的存储器110还可以包括可以播放输出超延时视频102的回放系统906。例如,回放系统906可以在计算系统106的或与计算系统106耦合的显示屏上显示输出超延时视频102。
[0156] 按照说明,回放系统906可以使相机路径的图被显示在显示屏上;在该说明之后,用户输入可以由操纵沿相机路径的指示符的回放系统906接收,由此控制在输出超延时视频102中对输入视频104的加速(例如,输出超延时视频102可以响应于用户输入如加速一样重新播放输入视频104,用户输入可以控制沿输入视频104的时间线向前或向后移动,等等)。
[0157] 下文提供大体涉及视频生成系统112的各种示例。根据各种示例,视频生成系统112可以执行视频稳定化。通过说明的方式,视频稳定化技术可以在朴素延时帧抽取之前和/或之后被应用。根据另一说明,可以采用时间由粗到细稳定化技术,其使输入视频104稳定化,之后在时间上通过小的量对各帧进行子采样,并且之后重复该过程直到达到期望的视频长度。
[0158] 例如,视频生成系统112可以根据随意捕获的第一人称视频(例如,输入视频104)来创建平滑的超延时视频(例如,输出超延时视频102)。来自运动的结构的技术可以由重构组件202用于通过对输入进行集群、对一系列子问题进行求解以及合并结果来在序列上进行操作。此外,重构组件202可以在第二轮中使得到的点云致密并且之后对每输入帧的深度图进行插值。这将输入提供给路径规划组件120。
[0159] 另外,可以使用视图无关的质量度量,其说明由将源图像纹理映射到最终视图上引发的透视缩短。该度量可以被集成到路径规划目标中并且可以得到如下路径,该路径是平滑的以及被放置并被定向为根据输入视频104的可用输入帧可渲染。此外,每个输出帧可以根据能够覆盖如由路径规划定义的帧的所选择的输入帧来渲染。输入帧可以被拼接并被混合以创建输出帧。流水线可以产生平滑的超延时视频同时缓解剪裁。
[0160] 此外,尽管本文描述了针对平滑度和稳定性的各种L2度量,但是预见到可以额外地或备选地使用例如L1度量(例如,作为本文描述的技术中的一个或多个的部分)。另外,在许多传统相机中使用的滚动快门可以引发各种摇晃伪影;因此,预见到,根据示例,说明这样的摇晃伪影的各种技术可以(例如,由预处理组件302)在进一步处理之前被应用到输入视频104。按照又一示例,各种识别算法和/或用户输入可以被用于获得对输入视频104的场景的语义理解,其可以被并入以调节沿经平滑的路径的速度、相机定向、和跳过输入视频104的无信息节段、等等。
[0161] 图10-11图示了与根据输入视频来创建输出视频(例如,输出超延时视频)相关的示例性方法。尽管该方法被示出并被描述为按序列执行的一系列动作,但是要理解并认识到该方法不受序列的顺序限制。例如,一些动作可以以与本文描述的顺序不同的顺序来进行。另外,动作可以与另一动作并发地进行。另外,在一些实例中,实施本文描述的方法不需要所有动作。
[0162] 此外,本文描述的动作可以是可以由一个或多个处理器实施的和/或存储在计算机可读介质或媒介上的计算机可执行指令。计算机可执行指令可以包括例程、子例程、程序、和/或执行的线程、等等。另外还有,方法的动作的结果可以被存储在计算机可读介质中、和/或被显示在显示设备上、等等。
[0163] 图10图示了根据输入视频来生成输出超延时视频的方法1000。在1002处,可以构建场景的模型和针对输入视频的输入帧的输入相机姿势。在1004处,可以基于场景的模型和针对输入视频的输入帧的输入相机姿势来计算经平滑的相机路径。在1006处,可以针对输出超延时视频的输出帧而从经平滑的相机路径选择输出相机姿势。在1008处,可以针对输出帧而从输入视频挑选一个或多个所选择的输入帧。所选择的输入帧可以至少部分基于针对输出帧的输出相机姿势来挑选。在1010处,可以将所选择的输入帧进行组合以渲染输出帧。方法1000可以针对输出超延时视频的输出帧中的每个重复动作1008和动作1010。
[0164] 转到图1,图示了渲染输出帧的方法1100。在1102处,可以根据基于位置的目标来计算输出相机位置曲线。在1104处,可以根据基于定向的目标来计算输出相机定向曲线。输出相机定向曲线可以在计算了输出相机位置曲线之后来计算。另外,输出相机定向曲线可以在输出相机位置曲线固定为如先前所计算的一样的情况下被计算。在1106处,可以针对输出帧而选择输出相机姿势。在1108处,可以针对输出帧而从输入视频挑选一个或多个所选择的输入帧。所选择的输入帧可以至少部分基于针对输出帧的输出相机姿势来挑选。在1110处,可以将所选择的输入帧进行组合以渲染输出帧。
[0165] 现在参考图12,图示了可以根据本文公开的系统和方法使用的示例性计算设备1200的高级图示。例如,计算设备1200可以在根据输入视频来生成输出超延时视频的系统中使用。计算设备1200包括执行存储在存储器1204中的指令的至少一个处理器1202。指令可以例如为用于实施被描述为由以上讨论的一个或多个组件执行的功能的指令或者用于实施以上描述的方法中的一个或多个的指令。处理器1202可以借助于系统总线1206来访问存储器1204。除了存储可执行指令,存储器1204还可以存储输入视频、输出超延时视频、场景的模型、输入相机姿势、输出相机姿势、经平滑的相机路径、和针对预计算的视图质量度量的查找表、等等。
[0166] 计算设备1200额外地包括由处理器1202借助于系统总线1206可访问的数据存储装置1208。数据存储装置1208可以包括可执行指令、输入视频、输出超延时视频、场景的模型、输入相机姿势、输出相机姿势、经平滑的相机路径、针对预计算的视图质量度量的查找表、等等。计算设备1200还包括允许外部设备与计算设备1200通信的输入接口1210。例如,输入接口1210可以用于从外部计算机设备、从用户、等等接收指令。计算设备1200还包括将计算设备1200与一个或多个外部设备接口连接的输出接口1212。例如,计算设备1200可以借助于输出接口1212显示文本、图像、等等。
[0167] 预见到经由输入接口1210和输出接口1212与计算设备1200通信的外部设备可以被包含在基本上提供用户可以与其交互的任何类型的用户接口的环境中。用户接口类型的示例包括图形用户接口、和自然用户接口、等等。例如,图形用户接口从采用诸如键盘鼠标、或远程控制、等等的(多个)输入设备的用户接受输入并且将输出提供在诸如显示器的输出设备上。另外,自然用户接口可以使得用户能够以不受由诸如键盘、鼠标、和远程控制、等等的输入设备施加的约束的方式与计算设备1200交互。相反,自然用户接口可以依赖于语音识别、触摸和触笔识别、在屏幕上的并且邻近屏幕的手势识别、空中手势、头和眼跟踪、声音和语音、视觉、触摸、手势、和机器智能、等等。
[0168] 额外地,尽管被图示为单个系统,但是要理解计算设备1200可以为分布式系统。因此,例如,若干设备可以借助于网络连接通信并且可以共同地执行被描述为由计算设备1200执行的任务。
[0169] 转到图13,图示了可以根据本文公开的系统和方法使用的示例性计算系统1300的高级图示。例如,计算系统1300可以为或者可以包括计算系统106。额外地或备选地,计算系统106可以为或者可以包括计算系统1300。
[0170] 计算系统1300包括多个服务器计算设备,即,服务器计算设备1302、……、以及服务器计算设备1304(统称为服务器计算设备1302-1304)。服务器计算设备1302包括至少一个处理器和存储器;至少一个处理器执行存储在存储器中的指令。指令可以例如为用于实施被描述为由以上讨论的一个或多个组件执行的功能的指令或者用于实施以上描述的方法中的一个或多个的指令。类似于服务器计算设备1302,除了服务器计算设备1302之外的服务器计算设备1302-1304的至少子集每个分别包括至少一个处理器和存储器。此外,服务器计算设备1302-1304的至少子集包括相应的数据存储装置。
[0171] 服务器计算设备1302-1304中的一个或多个的(多个)处理器可以为或者可以包括处理器108。另外,服务器计算设备1302-1304中的一个或多个的(多个)存储器可以为或者可以包括存储器110。此外,服务器计算设备1302-1304中的一个或多个的(多个)数据存储装置可以为或者可以包括数据存储装置114。
[0172] 计算系统1300还包括在服务器计算设备1302-1304之间传输数据的各种网络节点1306。此外,网络节点1302借助于网络1308将数据从服务器计算设备1302-1304传输到(例如,在计算系统1300外部的)外部节点。网络节点1302还借助于网络1308将数据从外部节点传输到服务器计算设备1302-1304。网络1308例如可以为互联网、或蜂窝网络、等等。网络节点1306包括交换机、路由器、和负载平衡器、等等。
[0173] 计算系统1300的结构控制器1310管理服务器计算设备1302-1304的硬件资源(例如,服务器计算设备1302-1304的处理器、存储器、数据存储装置、等等)。结构控制器1310还管理网络节点1306。此外,结构控制器1310管理实例化在服务器计算设备1302-1304上的虚拟机的创建、供应、去供应以及监管。
[0174] 现在阐述各种示例。
[0175] 示例1:一种计算系统,包括:处理器;以及存储器,其包括由该处理器可运行的视频生成系统,该视频生成系统包括:路径规划组件,其基于输入视频来计算经平滑的相机路径,该路径规划组件针对输出超延时视频的输出帧而从该经平滑的相机路径选择输出相机姿势;以及渲染组件,其针对该输出帧中的每个:针对输出帧而从该输入视频挑选一个或多个所选择的输入帧,所选择的输入帧至少部分基于针对该输出帧的输出相机姿势来挑选;以及将所选择的输入帧进行组合以渲染该输出帧。
[0176] 示例2:根据示例1的计算系统,该视频生成系统还包括重构组件,该重构组件构建场景的模型和针对该输入视频的输入帧的输入相机姿势,其中该路径规划组件基于该场景的该模型和针对该输入视频的该输入帧的该输入相机姿势来计算该经平滑的相机路径。
[0177] 示例3:根据示例1-2中的任一项的计算系统,该路径规划组件根据以下来计算该经平滑的相机路径:该经平滑的相机路径的长度;该经平滑的相机路径的位置平滑度;该经平滑的相机路径的定向平滑度;该经平滑的相机路径与针对该输入视频的输入相机位置的接近度;以及指示沿该经平滑的相机路径的根据场景的模型的基于图像的渲染质量的视图质量度量。
[0178] 示例4:根据示例3的计算系统,该经平滑的相机路径包括输出相机位置曲线和输出相机定向曲线,该路径规划组件还包括:位置分析组件,其根据该经平滑的相机路径的该长度、该经平滑的相机路径的该位置平滑度、以及该经平滑的相机路径与针对该输入视频的该输入相机位置的该接近度来计算该输出相机位置曲线;以及定向分析组件,其根据该经平滑的相机路径的该定向平滑度和该视图质量度量来计算该输出相机定向曲线,该定向分析组件在该输出相机位置曲线保持固定为如先前由该位置分析组件计算的一样的情况下计算该输出相机定向曲线。
[0179] 示例5:根据示例4的计算系统,该定向分析组件预先计算该视图质量度量。
[0180] 示例6:根据示例1-5中的任一项的计算系统,该路径规划组件计算指示沿该经平滑的相机路径的根据场景的模型的基于图像的渲染质量的视图质量度量,该经平滑的相机路径基于该视图质量度量来计算,该视图质量度量是由将原始图像纹理映射到代理几何结构上引发的透视缩短的量的视图无关的度量。
[0181] 示例7:根据示例1-6中的任一项的计算系统,该输出相机姿势分别包括输出相机位置,该输出相机位置在弧长度上沿该经平滑的相机路径而被均匀地间隔开。
[0182] 示例8:根据示例1-6中的任一项的计算系统,该输出相机姿势分别包括输出相机位置,该输出相机位置基于来自该输入视频的输入相机速度而被间隔开。
[0183] 示例9:根据示例1-8中的任一项的计算系统,该渲染组件还包括源帧选择组件,该源帧选择组件:针对该输出帧而识别候选输入帧,该候选输入帧根据该输入视频的该输入帧来识别;针对该候选输入帧而生成相应权重图;以及基于该权重图针对该输出帧而从该候选输入帧挑选所选择的输入帧。
[0184] 示例10:根据示例9的计算系统,该源帧选择组件基于每像素模糊度量和像素遮挡来调节针对该候选输入帧的该相应权重图。
[0185] 示例11:根据示例1-10中的任一项的计算系统,该渲染组件将针对该输出帧的所选择的输入帧和针对帧窗口中的包围该输出帧的输出帧挑选的所选择的输入帧进行组合以渲染该输出帧。
[0186] 示例12:根据示例1-11中的任一项的计算系统,该渲染组件还包括融合组件,该融合组件对所选择的输入帧进行拼接和混合以渲染针对该输出帧中的每个的该输出帧,所选择的输入帧由该融合组件使用时间和空间接缝选择算法和泊松混合来拼接和混合。
[0187] 示例13:根据示例1-12中的任一项的计算系统,该视频生成系统还包括接口组件,该接口组件借助于网络从客户端计算设备接收该输入视频。
[0188] 示例14:根据示例1-13中的任一项的计算系统,还包括:数据存储装置;图像传感器;并且该存储器还包括由该处理器可执行的视频捕获系统,该视频捕获系统将来自该图像传感器的输出数据存储在该数据存储装置中作为该输入视频。
[0189] 示例15:一种根据输入视频来生成输出超延时视频的方法,包括:构建场景的模型和针对该输入视频的输入帧的输入相机姿势;基于该场景的该模型和针对该输入视频的该输入帧的该输入相机姿势来计算经平滑的相机路径;针对该输出超延时视频的输出帧而从该经平滑的相机路径选择输出相机姿势;以及针对该输出帧中的每个:针对输出帧而从该输入视频挑选所选择的输入帧,所选择的输入帧至少部分基于针对该输出帧的输出相机姿势来挑选;以及将所选择的输入帧进行组合以渲染该输出帧。
[0190] 示例16:根据示例15的方法,根据以下来计算该经平滑的相机路径:该经平滑的相机路径的长度;该经平滑的相机路径的位置平滑度;该经平滑的相机路径的定向平滑度;该经平滑的相机路径与针对该输入视频的输入相机位置的接近度,该输入相机姿势分别包括该输入相机位置;以及指示沿该经平滑的相机路径的根据该场景的该模型的基于图像的渲染质量的视图质量度量。
[0191] 示例17:根据示例15-16中的任一项的方法,计算该经平滑的相机路径还包括:计算指示沿该经平滑的相机路径的根据该场景的该模型的基于图像的渲染质量的视图质量度量,该视图质量度量是由将原始图像纹理映射到代理几何结构上引发的透视缩短的量的视图无关的度量;以及基于该视图质量度量来计算该经平滑的相机路径。
[0192] 示例18:根据示例15-17中的任一项的方法,该经平滑的相机路径包括输出相机位置曲线和输出相机定向曲线,并且计算该经平滑的相机路径还包括:根据基于位置的目标来计算该输出相机位置曲线;以及在对该输出相机位置曲线的计算之后,根据基于定向的目标来计算该输出相机定向曲线,该输出相机定向曲线在该输出相机位置曲线固定为如先前所计算的一样的情况下被计算。
[0193] 示例19:根据示例15-18中的任一项的方法,针对该输出帧而从该输入视频挑选所选择的输入帧还包括:针对该输出帧而识别候选输入帧,该候选输入帧根据该输入视频的该输入帧来识别;针对该候选输入帧而生成相应权重图;以及基于该权重图使用贪心算法针对该输出帧而从该候选输入帧挑选所选择的输入帧。
[0194] 示例20:一种计算机可读存储介质,其包括计算机可执行指令,该计算机可执行指令当由处理器执行时,使该处理器执行包括以下的动作:根据基于位置的目标来计算输出相机位置曲线;在对该输出相机位置曲线的计算之后,根据基于定向的目标来计算输出相机定向曲线,该输出相机定向曲线在该输出相机位置曲线固定为如先前所计算的一样的情况下被计算;针对输出帧而选择输出相机姿势,该输出相机姿势根据该输出相机位置曲线和该输出相机定向曲线来选择;针对该输出帧而从输入视频挑选所选择的输入帧,所选择的输入帧至少部分基于针对该输出帧的该输出相机姿势来挑选;以及将所选择的输入帧进行组合以渲染该输出帧。
[0195] 示例21:一种根据输入视频来生成输出超延时视频的系统,包括:用于基于该输入视频来计算经平滑的相机路径的装置;用于针对该输出超延时视频的输出帧而从该经平滑的相机路径选择输出相机姿势的装置;用于针对该输出帧中的每个而从该输入视频挑选一个或多个所选择的输入帧的装置,所选择的输入帧至少部分基于针对输出帧的输出相机姿势来挑选;以及用于将所选择的输入帧进行组合以渲染该输出帧中的每个的装置。
[0196] 如本文中所使用的,术语“组件”和“系统”旨在包含被配置具有使特定功能在由处理器执行时被执行的计算机可执行指令的计算机可读数据存储装置。计算机可执行指令可以包括例程、或函数、等等。还要理解,组件或系统可以被本地化在单个设备上或者跨若干设备分布。
[0197] 另外,如本文中所使用的,术语“示例性”旨在意指用作某种事物的说明或示例”。
[0198] 本文描述的各种功能可以被实施在硬件、软件或其任何组合中。如果被实施在软件中,功能可以被存储在计算机可读介质上或者作为计算机可读介质上的一个或多个指令或代码被发送。计算机可读介质包括“计算机可读存储介质”。计算机可读存储介质可以是可以由计算机访问的任何可用存储介质。通过示例而非限制的方式,这样的计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储装置、磁盘存储装置或其他磁性存储设备或者可以用于存储形式为指令或数据结构并且可以由计算机访问的期望程序代码的任何其他介质。如本文中所使用的磁盘和盘包括光盘(CD)、激光盘、光学盘、数字多用盘(DVD)、软盘以及蓝光盘(BD),其中磁盘通常磁性地复制数据并且盘通常利用激光光学地复制数据。另外,传播信号未被包含在计算机可读存储介质的范围内。计算机可读介质还包括通信介质,其包括促进计算机程序从一个地方到另一地方的传输的任何介质。连接例如可以为通信介质。例如,如果软件使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外、无线电和微波的无线技术从网站、服务器或其他远程源被发送,则同轴线缆、光纤线缆、双绞线、DSL或诸如红外、无线电和微波的无线技术被包含在通信介质的定义中。以上的组合还应当被包含在计算机可读介质的范围内。
[0199] 备选地或另外,本文描述的功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以被使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)、等等。
[0200] 以上已经描述的内容包括一个或多个实施例的示例。当然,不可能为了描述前述方面的目的描述以上设备或方法的每个可设想的修改和更改,但是本领域普通技术人员可以意识到可以进行各个方面的许多另外的修改和置换。因此,所描述的方面旨在包含落入随附权利要求的精神和范围内的所有这样的更改、修改和变型。另外,在具体实施方式或权利要求中使用了术语“包括(includes)”的程度上,这样的术语旨在以与术语“包括(comprising)”类似的方式为包含性的,如同“包括(comprising)”在被用作权利要求中的连接词时被理解的一样。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈