天极传媒:
天极网
比特网
IT专家网
52PK游戏网
极客修
全国分站

北京上海广州深港南京福建沈阳成都杭州西安长春重庆大庆合肥惠州青岛郑州泰州厦门淄博天津无锡哈尔滨

产品
  • 网页
  • 产品
  • 图片
  • 报价
  • 下载
全高清投影机 净化器 4K电视曲面电视小家电滚筒洗衣机
您现在的位置: 天极网 > 软件 > 网页>技术文档>缩时录像Instagram Hyperlapse技术

缩时录像应用Instagram Hyperlapse背后技术

天极网软件频道2014-09-04 14:20我要吐槽

  日前,Instagram推出了缩时拍摄应用(慢速拍摄快速播放)Hyperlapse,它是一种延时摄影技术或功能,用户们可以利用该应用将长时间拍摄的视频压缩成一段很短的视频,从而创建出“高质量的延时视频”并导入Instagram。Hyperlapse这样一款超炫酷的应用是如何实现的?采用了哪些算法、技术原理? Instagram-engineering近日发表了一篇文章,详细分析了Hyperlapse应用背后的技术。

  8月27日,Instagram正式推出了能让手机进行高质量延时摄影的应用—Hyperlapse,目前推出的是iOS版本并且加入了可缓解轻微抖动的算法。星空轨迹、云海泛波这些以前只能在探索频道才能看到的大片,现在都可以通过自己的手机来“自嗨”一番了。对于一般用户来说,手持安全快门的极限基本是1/30~1/20秒,对于动辄10多分钟乃至几小时的延时摄影来说,如何有效消除抖动,还原最清晰的图像是难点所在。

Instagram推Hyperlapse 方便手机快进录像_天极yesky软件频道

  Hyperlapse应用只有两个圆形按钮,一个用于对焦,一个用于开始录像,但是它真的就这样简单吗?它背后又藏有怎样的奥妙?延时摄影算法作者Alex Karpenko(2013年,Instagram收购了初创公司Luma)接下来将会从算法和技术原理的角度来为大家进行讲解。

  影片稳定(Cinema Stabilization)

  要想来一段流畅顺滑的视频,影片的稳定与否起着决定性作用。比方说电影拍摄,我们所看到的那些完美的第一人称视角运动影片,都是拍摄者戴着高端动作分离器来完成的,把多余的抖动从中分离然后计算,最后进行镜头补偿等专业处理。但是对于手机用户而言,最高端最便捷的设备就是手中的爱机了。因此我们为它开发了Cinema系统,利用的硬件是手机内建的陀螺仪,用来测量和消除抖动。陀螺仪的原理就是:一个旋转物体的旋转轴所指的方向在不受外力影响时,是不会改变的。因此如果T2时间的镜头方向(轴方向)与T1时间有差别,那么T1T2之间的影片就可能是抖动时产生的,我们要做的就是找出这些缺陷影片,进行去粗存精。

  下面是。


图示:Cinema稳定算法的示意图

  输入:

  陀螺仪记录的信息

  影片帧数据

  输出:

  正确的镜头方向(镜头校正)。简单来说,就是排除抖动或外力震动等干扰因素后,得到的正确镜头方向数据(源方向)。

  然后,去粗后的镜头方向数据会作为筛选条件,进入第二个处理环节-影片筛选(StabilizationFilter),该流程如下所示:

  每个输入帧都会根据去粗镜头方向数据进行修正处理,然后输出稳定影片帧数据。

  下面的视频截图说明了Cinema算法是如何进行镜头清抖处理的。在最终输出的影片中,外围白线范围内为可视区域,被拉伸变形的帧永远不会超出既定的白线边缘,因为我们的稳定算法在计算时,除了提供修正处理,还会考虑变形造成的过渡不连贯问题,避免在最终影片中出现诸如白边超界等突兀问题。我们采用的方法是拉伸修剪,简单说我们把一个图片旋转了某个角度,那么边角地方可能会出现留白情况,稳定算法就会计算这个留白位置,给出缓冲范围,然后把图片进行拉伸,把留白填满,从而变得“圆满”。

  镜头方向计算采用离线计算模式,同时稳定筛选器将以30fps帧速率进行高速图像加成。此外,我们还混合使用了FilterKit,它构建于OpenGL之上,在实时图像处理方面也进行了优化处理。

  Hyperlapse回放稳定(Hyperlapse Stabilization)

  在Hyperlapse中,提供了一个进行回放速率调整的滑块按钮。可调(快进)范围是1X到12X倍速。

  在Cinema算法中,我们只会按需进行镜头重算,因此被重算的帧才会被进行拉伸补白处理。经过该有选择性的处理后,在更长延时摄影中,即使输入的不稳定视频帧数量可能会有所增加,最终输出的都是过渡自然、平滑的视频。

  自适应缩放(Adaptive Zoom)

  如前所述,我们会利用图像放大来抵消图像转向的留白问题。一般情况下,这是以牺牲分辨率为代价的。然而,在Cinema中,会根据抖动量来进行智能放大处理。请看下面的示例:

  左边画面只出现了少量的抖动,因为是固定拍摄的。在该情况下,我们只需进行微调放大处理即可。右边的画面是行走状态下拍摄的,抖动比较厉害。因此,放大的缓冲量会有所增加以足够抵消抖动影响。由于放大后,可视范围变小,因此在分辨率和稳定变换之间需要作一个权衡。我们的战略是以分辨率为主。在高回放速率下(例如12x)会考虑每个可提速的因素进行调整。

  综合

  每当你进行滑块调整时,Hyperlapse在背后默默地进行了如下处理:

  来自解码器的视频帧会工作于新的回放速率。

  Cinema稳定器会即刻工作于一后台线程,根据新的回放速率和放大量进行智能放大计算和镜头方向重算。

  在当前速率下,镜头重算数据和球形插值一起工作,输出修正后的帧。

  一旦出现新的镜头方向数据,旧的数据会被替换。


【点击进入“天极网企业频道”认证微博】

作者:Instagram-engineering/CSDN 译责任编辑:杨玲)
请关注天极网天极新媒体 最酷科技资讯
扫码赢大奖
评论
* 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!
热点推荐
微软Windows 10操作系统Win10系统在Win8的基础上对界面、特性以及跨平台方面做了诸多优化。[详细]
Windows 10 新视界 [进入频道][使用技巧][微博互动]
手机整机DIY企业级