涨姿势:全景视频是如何实现的?

2017-04-14

VR内容的缺失问题现在已经被越来越多的开发者和商业团体所关注,而全景拍摄的图片和视频,无疑会成为一种很好的内容落地方式。它能够在不需要过多的交互方式和学习成本的同时,带给观看者充分的沉浸式体验和极致的效果。 那么,全景内容是如何构建出来的呢?


全景投影关系


试着打印一张世界地图放到各种VR眼镜里去观看的话,你会宛若陷入了整个世界的环抱当中。这种能够正确地展开全物理视域的真实场景到一张2D图片上,并且能够还原到VR眼镜中实现沉浸式观看的数学过程,就叫做投影(projection)。

下图中对于这种投影方式的拉伸现象体现得更为明显,注意看穹顶上的纹路变化,越是靠近画面的顶端,就越是呈现出剧烈的扭曲变形。

各种VR全景视频视频可能采用不同的投影关系,然而并不存在不产生扭曲变形的单一图像投影方式。幸好,VR头盔和应用软件的意义也就在于将这些明显变形的画面还原为全视角的内容,进而让使用者有一种身临其境的包围感。

拼接融合

全景相机由两个或以上摄像头协作并且旋转着拍摄。克服了镜头的精度、旋转细微震动和焦点偏移等各种“小麻烦”之后,我们就得到了足够覆盖全视域范围的视频内容。

然后就迎来了第二大挑战——如何精确对齐边缘、实现无缝拼接?

事实上,摄像头各自拍摄的视频无法做到精确的对齐,所以我们在每个摄像头的视域角度上提供必要的冗余,因而得到的视频画面互相之间会存在一定的交叠关系,直接输出全景画面的时候,可能会存在明显的叠加区域或者错误的接边。之后再通过全景视频软件进行处理。

时间同步

如果只是要输出全景图片,那做到这些已经绰绰有余。但是,不会动的图片是很难让戴上VR头盔的人哇哇大叫的,能看到身边战火纷飞,或者野鬼出没的动态景象才更加刺激。所以我们还得考虑所有的摄像头如何精确保证同时开始,以及在录制的过程中保持帧率的一致性。

要从硬件上根本解决这个问题,可以用到“同步锁相”(genlock)的技术。当然并不是所有的摄像机都具备专门的Genlock接口,这种情况下,也可以考虑一些传统或者是看起来略微“山寨”的同步方法,例如:路见不平一声吼……

在拍摄开始的时候,演员大吼一声,或者用力拍一下巴掌。然后在进行拼接的过程中,找到每个视频当中吼声对应的时间节点,作为同步开始的位置,然后再进行全景视频的拼接。

立体与伪立体

无论采用何种投影方式,生成的都只是一幅360度的全景内容,要想在到VR设备说显示,还需要为画面赋予立体感——我们的全景视频必须采用左右眼水平分隔显示的模式:

人的双眼是存在一定的视角差的,双眼各自看到的图像有一定的差异,再通过大脑的解算就可以得到立体的感受。景物距离人眼越近,这种视差就越明显,远处的景物则相对没有很强的立体感。

而任何一种现有的VR眼镜,都需要通过结构的设计确保佩带者的左右眼都只能看到实际屏幕的一半,也就是分别看到分隔后的左右眼画面内容,从而模拟了人眼的真实运作机制。

听起来好复杂好麻烦有木有?幸好我们还有捷宇|智汇星全景相机——只需在手机上打开App轻轻点一下,就能开始拍摄录制,直接输出可以用于VR眼镜观看的视频!投影关系、视频拼接、边缘融合、时间同步……所有这些复杂麻烦的事情都不再需要我们考虑,全都交给算法在App内部完成,毕竟咱就想炒个鸡蛋,并没必要掌握生蛋的技能。

在线
客服
联系
方式
回到
顶部