0
虽然VR行业的许多人对消费级全景相机不屑一顾,认为它们拍摄的不是真正的VR内容,但我们且先按下关于VR内容定义的讨论,回到用户角度来看。
事实上,消费级全景相机生产的内容确实可以用VR头显观看,这类相机也是最亲民的VR拍摄工具。从YouTube、优酷上的360度视频,到各大直播平台推出VR直播产品,再到普通人用360度视频记录自己的生活,都需要用到它们。
在从业者纷纷抱怨VR内容短缺的今天,消费级全景相机是最容易扩充内容库的工具,将其排除在外显然并不明智。
但话又说回来,对低质量VR内容的容忍同样会给VR行业造成伤害,显然,当下UGC全景视频内容的质量仍然有待提高,而更好的创作工具是推动内容质量提高的关键。
于是,本期公开课雷锋网邀请了完美幻境创始人赵博,为大家讲解如何打造出色的消费级全景相机。
赵博,完美幻境创始人,哈尔滨工业大学电子信息专业硕士,曾在华为担任研发工程师,后加入航天信息,参与和编写了国家级大型项目全国外来人口管理系统和全国港澳通行证项目的系统设计方案,并带领团队完成了中国首台电子港澳通行证制证管理系统和中国首套外来人口居住证管理系统的硬件设备和软件,铸就了为数亿级人口研发产品的能力。
完美幻境团队组建于2013年,先后获得英特尔两轮融资和金浦、天善等投资,专注视觉领域的产品研发,目前主攻全景相机软硬件产品和VR全景直播的解决方案。即将上市的两款产品分别是针对企业级的6K相片,4K30fps的直播拍摄一体机和一款超小超薄的消费级全景相机。
以下内容整理自公开课分享。
简单分:消费类全景相机、行业应用的企业级全景相机。
消费类相机分为手机配件试的全景相机和WiFi独立工作的全景相机,这类相机主打性价比,需要在画质、功耗、产品形态上做一些平衡。
行业应用的全景相机分为光场全景相机、3D全景和全景相机,主打高分辨率、高帧率、全面的参数设定和后期处理等功能,价格上相比消费级也更加昂贵。
目前消费级全景相机各个公司全球出货量总和也不到百万,说明这个市场还非常早期,市场没有被完全教育。因此产品定义要综合考虑性价比、受众人群特点和消费能力等因素。
3D需要输出设备观看, 目前只有头盔在市场进行推广,裸眼3D还没形成规模,未来半年到1年,3D不会很快形成主流。
再就是全景长视频佩戴头盔应用场景不是很理想,观看者不停晃动头部看一个2小时的全景视频是不合理的。全景短视频和全景相片市场更容易接受。无论是短视频还是照片都不需要头盔,并且目前3d主要是近景3D 而目前全景以拍摄环境和远景居多,所以厂商综合考虑以上因素暂时不推3D全景。
全景相机的工作流程一般是:
1)图像获取,通过相机取得图像。通常需要根据失真较大的鱼眼镜头和失真较小的窄视角镜头决定算法处理方式。单镜头和多镜头相机在算法处理上也会有一定差别。
2)鱼眼图像矫正。若相机镜头为鱼眼镜头,则图像需要进行特定的畸变展开处理。3图片匹配。根据素材图片中相互重叠的部分估算图片间匹配关系。主要匹配方式分两种:
A.与特征无关的匹配方式。最常见的即为相关性匹配。
B.根据特征进行匹配的方式。最常见的即为根据SIFT、SURF等素材图片中局部特征点,匹配相邻图片中的特征点,估算图像间投影变换矩阵。
4)图片拼接。根据步骤3所得图片相互关系,将相邻图片拼接至一起。
5)图像融合。对拼接得到的全景图进行融合处理。
6)全景图像投射。将合成后的全景图投射至球面、柱面或立方体上并建立合适的视点,实现全方位的视图浏览。
这里面的4和5简单细化一下:拼接不同镜头之间有几何的差异和颜色的差异 几何拼接好的方案是估算一个合理景深 在景深上保证几何误差为零 ,总体在各个景深上平均很好,几何拼接在后处理上会采用更好的算法使得在不同景深上仍然可以做到几何误差全局最小。
颜色误差是靠后端调整去解决光晕和顺光逆光下的颜色差异。如果以上两点同时解决,还需要优化镜头间的拼接缝,优化拼接缝要靠一个混合算法解决。
拼接上没有区别3D全景要解决不同观察方向上景深的真实性问题,大部分的解决方案实际上在景深的估算上都是不真实的,不同的拼接方案,技术方案和理论体系不一样 所以3d全景的拼接方案也是完全不同的,拼接算法是不一样的。
VR视频内容的终极形态应该是全景+3D自带景深的,但是今天各个公司还是理性的选择从全景视频切入市场,一方面受限于VR市场尚在培育期,输出端头盔还没有真正爆发,另一方面受限于商业模式的选择。选择消费类市场和专业好级市场,适配的硬件是完全不同的。目前市场上生产全景视频内容的专业级产品只有Jaunt是120帧,单眼分辨率8K×4K。
GoPro、Odyssey、诺基亚的OZO、等专业级多镜头全景相机普遍都会8K,30fps,双目的消费级全景相机有2K,3K,4K,帧率普遍是30fps,如果脱离VR头盔使用,低于90fps的帧率是可以的,分辨率上面全景4k是一个最低标准,今天我们看到的4K全景相机其实很多是3K分辨率的。
我们以主流VR眼镜搭配主流手机为例,眼镜视野100度,手机分辨率1920×1080,分屏后单目的像素为960x1080,水平像素为960,按照球形投影近似估算,每角度约需要填充10个像素,360度则需要3600个像素。3840×1920分辨率的4K视频即可满足此需求。
硬件方面,随着手机和VR眼镜的性能提升,视频的分辨率要求也将进一步提升。但是目前H.264编码的视频格式最大只能支持4K分辨率视频,同时主流手机对更高分辨率视频解码能力也有限,因而更高级别的视频录制,短期内在普通场景下不具有太大的实用性。
目前市面上的双目全景相机,如果标称单目视频采集分辨率可达4K(3840×2160),则单目一般可输出直径2160像素的内切圆,双目视频合并输出可以到4320×2160,但是这种视频对整帧像素的利用率较低(理想情况下也仅能达到78.5%)且考虑到视频重合率,图像边缘畸变带来的画质损失,实际拼接后的视频的像素只能达到3K级别,仅能满足手机全景预览的需求,并不能满足真正的VR头显观赏需求。所以今天3k-4k的画质对于移动VR场景来说是足够的,如果脱离头盔的话,帧率也不需要120fps这么高。
至于通过头盔现实的全景视频,帧数与刷新率要保持一致。假设帧数是刷新率的1/10,那就是意味着显卡每10次向显示器输出的画面是用一幅画面。
相反,如果帧数是刷新率的10倍,那么画面每改变10次,其中只有1次是被显卡发送并在显示器上显示的。这就意味着,高于刷新率的帧数都是无效帧数,对画面效果没有任何提升,反而可能导致画面异常。
目前能引爆行业的内容并不多见,120帧的出现我们认为还是会率先在优质高清PGC内容里出现,高帧率下捕捉的动作和视觉效果,目前是仁者见仁智者见智,李安的120帧的2d电影也是褒贬不一,但是科技的进步趋势是无法阻挡的,我个人认为未来一年主要是画质 跟分辨率关系最密切 120帧在未来3-5年随着头盔的刷新率增大会有大量应用。目前市场还是在解决0和1的问题,先从画质着手,等到时机成熟在考虑增加帧率。
目前市场上提到的VR直播只要是全景视频直播和180度3D直播,消费级全景相机虽然都支持直播功能,但是真正商业化落地其实很少,并且受目前网络带宽的限制,4Mbps/s几乎已经是上限了。大家肉眼看到的效果与优酷app里面的720p的传统视频效果差不多。目前完美幻境的解决方式是通过高水平的压缩和更好的投影格式来提高直播视频的质量。
如果要基于H.264编码优化的话,以下几点可以供参考:
1)优化H.264的首帧,改写播放器逻辑让播放器拿到第一个关键帧后就给予显示。
GOP 的第一帧通常都是关键帧,由于加载的数据较少,可以达到 “首帧秒开”。如果直播服务器支持 GOP 缓存,意味着播放器在和服务器建立连接后可立即拿到数据,从而省却跨地域和跨运营商的回源传输时间。GOP 体现了关键帧的周期,也就是两个关键帧之间的距离,即一个帧组的最大帧数。
假设一个视频的恒定帧率是 24fps(即1秒24帧图像),关键帧周期为 2s,那么一个 GOP 就是 48 张图像。一般而言,每一秒视频至少需要使用一个关键帧。增加关键帧个数可改善画质(GOP 通常为 FPS 的倍数),但是同时增加了带宽和网络负载。这意味着,客户端播放器下载一个GOP,但是因为GOP存在一定数据体积,因此如果播放端网络环境差,有可能无法快速下载完该GOP,进而影响观感体验。
如果不能更改播放器行为逻辑为首帧秒开,直播服务器也可以做一些取巧处理,比如从缓存 GOP 改成缓存双关键帧(减少图像数量),这样可以极大程度地减少播放器加载 GOP 要传输的内容体积。
2)在 APP 业务逻辑层面方面优化。
比如提前做好 DNS 解析(省却几十毫秒),和提前做好测速选线(择取最优线路)。经过这样的预处理后,在点击播放按钮时,将极大提高下载性能。
一方面,可以围绕传输层面做性能优化;另一方面,可以围绕客户播放行为做业务逻辑优化。两者可以有效的互为补充,作为秒开的优化空间。
上面回答的是秒开的问题,针对直播首次加载的播放体验,如何保障直播持续播放过程中的画面和声音视听流畅呢?因为,一个直播毕竟不是一个 HTTP 一样的一次性请求,而是一个 Socket 层面的长连接维持,直到主播主动终止推流。
卡顿的定义即播放时画面滞帧,触发了人们的视觉感受。在不考虑终端设备性能差异的情况下,针对网络传输层面的原因,我们看看如何保障一个持续的直播不卡顿。
这其实是一个直播过程中传输网络不可靠时的容错问题。例如,播放端临时断网了,但又快速恢复了,针对这种场景,播放端如果不做容错处理,很难不出现黑屏或是重新加载播放的现象。
为了容忍这种网络错误,并达到让终端用户无感知,客户端播放器可以考虑构建一个FIFO(先进先出)的缓冲队列,解码器从播放缓存队列读取数据,缓存队列从直播服务器源源不断的下载数据。通常,缓存队列的容量是以时间为单位(比如3s),在播放端网络不可靠时,客户端缓存区可以起到“断网无感”的过渡作用。
显然,这只是一个“缓兵之计”,如果直播服务器边缘节点出现故障,而此时客户端播放器又是长连接,在无法收到对端的连接断开信号,客户端的缓冲区容量再大也不管用了,这个时候就需要结合客户端业务逻辑来做调度。
重要的是客户端结合服务端,可以做精准调度。在初始化直播推流之前,例如基于 IP 地理位置和运营商的精确调度,分配线路质量最优的边缘接入节点。在直播推流的过程中,可以实时监测帧率反馈等质量数据,基于直播流的质量动态调整线路。
3)优化IBP帧。
视频压缩中,每帧代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。I帧是关键帧,属于帧内压缩。就是和AVI的压缩是一样的。 P是向前搜索帧,B是双向搜索帧,他们都是基于I帧来压缩数据,一般的相机只有I帧或者是P帧,不会有B帧(B帧是一个动画帧,影视设备才有,普通的手机或者是硬件基本不会有),如果推流的时候有音视频不同步,一般是视频里面插了一个B帧,因为多一个帧就多一个网络数据。
4)优化网络结点。
因为推流对网络结点要求很高,做VR直播的时候要提前沟通好网络结点,看终端推流端到终端的延时大概要多久,然后优化网络结点。
以上这4点供大家做参考,但是我们觉得未来h.265编码会逐步取代H.264编码成为主流,H265编码可以压缩一半的码率,但是更好的投影格式可以降低80%的带宽,结合算法的优化综合最高可以降低90%。
完美幻境的VR音频主要合作伙伴是北京时代拓灵,刘恩和他的团队专注做VR音频的软硬件。我跟刘恩聊得也比较多,首先是为何需要全景声?打造沉浸感音频起到非常多的作用,特别是VR/AR下面,体验需要实时互动的情况。
全景声的技术:有ambisonic(Google/Facebook), 人工头,Object Audio (杜比)几类技术。
目前看了以Google主推的开放式Ambisonic,特别是一阶(FOA)是一个比较经济实惠且发展空间大的一种,因此FOA全景声技术未来一段时间会比较流行,目前安卓7.0和YouTube直接就支持了。
因此建议全景相机在考虑经济性、效果、硬件体积、音频兼容性方面应该推荐使用Ambisonic的全景声为首要选择。
目前已有的ambisonic可以是3麦克方案,或者4麦克方案。经过测试可以使用定向麦克或者全向麦克均有不错效果。具体选择方案需要根据自己全景相机需求决定。
在具体实施中有一个很大问题就是降噪技术,即采集时候防止收到本机自带散热风扇干扰,经过测算,采用定向麦克可以在软件和硬件上达到超过20杜比的降噪效果,即至少超过10倍的降噪效果,应该说风扇影响较小了。
全景功能集成到手机中是大趋势,我们也会在积极跟踪产业链这个方向上的突破和进展。
当下最突出的问题是镜头和产品体验。手机很薄,要做到镜头不能凸出太多,双镜头全景所必须的鱼眼镜头做到5mm左右的TTL。这是有相当的设计难度和工艺难度的。
同时手机用sensor像素尺寸都很小,对镜头解析力要求很高。因此我们需要在清晰度和尺寸上做很多权衡,现在还没有一个好的答案。在产品体验上,凸出的鱼眼镜头也会导致镜头更加破碎或磨花,用户实际使用要时刻小心翼翼,也极大损害了用户体验。
手机配件类全景相机产品,在当前阶段,是最符合市场需求的产品形态,定位于存量手机用户市场,用户也容易接受。当市场成熟度进一步提高之后,全景手机会更加水到渠成。
无论是手机配件全景相机还是独立全景相机都会有市场,只是份额大小不同罢了。
简单说是更好的用户体验,包含了:拍摄的画质,后处理的功能,功耗,产品形态,针对特定人群的使用特点的app体验,等等;画质会越来越高,功耗越来越低,帧率也会更高,同时直播功能会更强大。
Q1:目前全景相机的方案芯片主要有哪些?
赵博:国外大厂芯片:高通、安霸、三星、NVIDIA;
国内芯片可以选择:联咏、全志、联发科等。
Q2:360度全景相机如何解决白平衡问题?
赵博:一个参考的做法是采用其中一个相机作为master,其余的相机跟定master进行白平衡调节;另一个参考做法是统计每路相机的色温数据,再平均得出白平衡参数。
Q3:使用3ds MAX + VRay 输出全景图,其相机成像原理是怎样的?
赵博:用3D渲染软件输出的全景图,从本质上讲和拍摄真实场景的全景图理论基础是一致的。
都是以一个空间点为中心,向三维空间发出射线,打在一个单位球体上的射线积分形成的画面。
Q4:全景相机用在安防视频监控和行车监控的市场前景?
赵博:但是这个市场我不认为创业公司适合做,因为深入理解客户需求,针对客户需求开发产品,目前已经有一些巨头公司在开始做。
如果创业团队一定要选择切入的话,需要对市场做进一步细分。
雷峰网原创文章,未经授权禁止转载。详情见转载须知。