全景视频技术的实现
全景视频在VR领域是一个非常热门的领域,它是在720度或者360度全景的技术之上发展延伸而来。它将静态的全景图片转化为动态的视频图像,全景视频可以在拍摄角度左右上下360度的任意观看动态视频,让我们有一种真正意义上身临其境的感觉,而它将不受时间、空间和地域的限制。全景视频它不在是单一的静态全景图片形式,而是具有景深、动态图像、声音等包罗万象,同时具备声画对位、声画同步。全景视频表现出让传统的720度全景望尘莫及的惊讶效果。全景视频比起传统的720全景来可以说是有了质、量、形式和内容的巨大飞跃。全景视频技术的发展也是在为正处在襁褓期的VR电影做了一些基础的技术储备。
根据网上查阅的资料从各个方面了解了一下全景的定义与实现。
1.投影方式
全景拍摄并不是一个多么新潮的概念,甚至在很多年前我们的祖先就已经开始做了类似的东西,中国古代的连环长卷绘画在一定程度上可以称之为‘全景’,如《韩熙载夜宴图》,《百骏图卷》等等,如你将他们围城一个桶状,便可以体验到360的全景观景感受。但是这离真正的沉浸式体验还有很大差距,而其主要的影响原因在于接缝处和头顶与脚底的大片空白。
用专业的术语来说就是,这种图画并没有达到物理全包围,即水平方向(经度)360°和垂直方向(纬度)180°。
1)Equirectangular
首先什么叫投影?能够正确地展开全物理视域的真实场景到一张2D图片上,并且能够还原到VR眼镜中实现沉浸式观看的数学过程,就叫做投影(projection)。对于Equirectangular投影方式最好的例子应该要说是很多家中都有的世界地图。
如果你带上一副VR眼镜进行观看,就可以在一定程度上体验到被世界环抱的感觉。这种投影方式的特点是水平视角的图像尺寸可以得到很好的保持,而垂直视角上,尤其是接近两极的时候会发生无限的尺寸拉伸。
越是靠近顶端和底部图片的扭曲就越严重,VR头盔和应用软件的意义也就在于将这些明显变形的画面还原为全视角的内容,进而让使用者有一种身临其境的包围感。
2)Fisheye
Fisheye投影方式主要是靠两个鱼眼摄像头进行实现,两个个摄像头各自涵盖了180度的水平和垂直视场角,然后将两个输出结果“扣”在一起就是全视域的沉浸式包围体了。
理光Theta s与Insta 360都是采用的这种简单有效的投影策略。这种投影方式生成的2D画面事实上扭曲变形是更加严重的。而通过图像重投影处理的方式将它变换到VR眼镜中显示的时候,受到图像采样频率的限制(或者通俗点说,像素点大小的限制),这样的扭曲被还原时会多少产生一定程度的图像质量损失,因而也可能会造成全景内容本身的质量下降。
投影视频不仅仅要关注是否将所有画面包括,而且还要考虑尽量少的让图像质量损失。
Mercator,Equisolid,Cubemap
对于墨卡托投影(Mercator),它沿着轴线的拉伸变形比Equirectangular更小,对应实际场景的比例更为真实,但是垂直方向只能表达大约140度左右的内容。
Equisolid投影,也有人称之为“小行星”或者“720度”全景,它甚至可以把垂直方向的360度视域都展现出来,但是由于扭曲变形,会产生很大的品质损失。
没有扭曲变形的单一图像投影方式,是不存在的。然而,如果投影的结果画面不是单一图像的话,方法还是有的,那便是使用Cubemap(立方体图像)。
它相当于一个由六幅图像拼合组成的立方体盒子,如果假设观察者位于立方体的中心的话,那么每幅图像都会对应立方体的一个表面,并且在物理空间中相当于水平和垂直都是90度的视域范围。而观察者被这样的六幅画面包围在中心,最终的视域范围同样可以达到水平360度,垂直360度,并且画面是绝对不存在任何扭曲变形的。
这是一种很理想的投影结果了,需要使用一些离线渲染软件或者插件来制作和输出全景内容的话,这一定是最合适的一种选择。然而,在实际拍摄当中我们却几乎不可能用到这种立方图的记录方式,现有的拍摄设备很难达到。
2.拼接与融合
根据上面的立方体图像的概念,可能会想,如果用六台摄像机,它们的视场角被严格限定为水平和竖直都是90度,然后造一个一丝不苟的支架,把这六台摄像机牢固而稳定地安装到支架上,确保它们的中心点严格重合在一起,并且各自朝向一个方向——这样的话,输出的图像也许能够正好符合立方图的标准,并且可以直接使用。
无论摄像机镜头的感光面积,焦距参数(以及因此计算得到的FOV视场角度),还是支架的钢体结构设计与制作,都无法确保精确地达到上面要求的参数,几mm的光学或者机械误差看似无伤大雅,但是对于严丝合缝的立方图图像来说,必然会在最终呈现的沉浸式场景中留下一条或者多条明显的裂缝。况且拍摄过程中产生的振动,相机头的老化等等问题都难以解决。
如果不能如此的严丝合缝,那就想办法拍摄出一些多余的冗余画面,使用拼接和边缘融合技术,就可以较好的解决这个问题。
1)360Heros全景相机支架
360Heros推出了这样一系列解决方案,用一个支架,上面可以安装6个GoPro运动相机。这样就可以捕捉到足够多的画面,保证边缘拼接时会有足够的冗余部分。
在相关软件中读取这些相机中的输入流文件,设置相关摄像机的位置参数信息,导入软件进行处理。现在有很多的全景视频处理软件,如VideoStitch,Kolor。这些软件都具备自动的边缘拼接,但也可以手动处理,选择质量高的画面,手动拼接,但是比较耗时耗力。
如果光是需要一张全景图片,上述这些东西已经绰绰有余了,但是如果要制作动态的全景视频就需要注意一个关键点,同步性,简单来说,就是你手中所有的摄像机如何精确保证同时开始,以及在录制的过程中保持帧率的一致性。要从硬件上根本解决这个问题,可以用到“同步锁相”(genlock)的技术,即通过外部设备传递时间码来控制各台相机的同步运行,GoPro是具备这样的接口的。
同时在2015年,360heros已经推出了自己新的VR媒体管理软件360CamMan v2同时还推出了Plug-N-Play和3D捕获硬件的完整线路,提供一整套的完整解决方案。
3.立体与伪立体
前面讨论的各种投影方式,摄影方案中讨论的只是生成一副全景内容,这种内容如果是放在PC或者网页端观看当然不会产生问题,但要将其放入VR头盔中就需要采用左右眼水平分隔显示的模式将视频赋予立体感。
在VR眼镜结构中将两个画面分开,左右眼分别看不同的画面,当然左右两幅不只是完全的复制,而是计算双眼视角差,进行一定程度上的偏移。
由此,360Heros又推出了新的更好的解决方案,每个方向上放置两台相机,分别模拟左右眼,一共可以安放12台相机的360Heros pro12。
现在全景摄像机的发展已经很好了,国内酷景网就是其中做的较为突出的一家,自主研发多套360全景互动视频采集系统,可用于各种环境和状态下作业,镜头特别设计5到15个高清晰,可以瞬间实现无扫描的环视成像的高分辨率360°全景镜头,可广泛应用于影视传媒,视频监控,机器人视觉,虚拟现实,军事观察等领域,D系列第四代360全景视频系统是目前全球最高级别。同时还提供专业摄影师,提供一整套的完整解决方案。