3D全景体育直播的HEVC编码优化
2017-12-26
暴风魔镜是中国VR产业的先行者,公司成立于2015年1月,主要专注于移动的虚拟现实。2017年第二季度,产品销售量是350万台,月活跃用户达到200万。公司本身是硬件、软件和VR平台一起开发,是综合性的VR平台。
全景体育直播的核心问题是清晰度和码率,根据我们的经验,2兆码率是普通家用WiFi的经验值上限,3兆码率是CDN加速和P2P传輸的经验值上限。对于180度的3DVR体育比赛,如果我们需要让用户看得很清楚,需要10兆以上的码率。但是家用WiFi码率做不到,如何突破3兆码率的上限,如同把大象塞进冰箱。
首先,对于VR全景图像而言,其实有大量的天空和地面。为了提高效率,我们选择使用Cube映射方式,对于180度包厢而言,相当于把一个立方体切一半。但是对于体育比赛而言,绝大多数用户关心的场景是在中心部分,用户希望能看清运动员,所以,我们还会进一步选取中间图像,按照32∶9的格式取出3840×1080像素的图像。因为人有左眼和右眼,如果按左右格式拼接的话,横向分辨率可以达到7680像素,这个对传输仍然很不利,拼完之后从水平方向压缩一半,最后的传输图像是3840像素,最后大约能降低30%的码率。
在一个赛场上,很多时候大量的背景是观众,对用户而言这不是最重要的东西,球才是大家关注的重点,还有防守的人也需要更高的码率。所以,应该分成观众、球场以及中心区域,三个区域用不同的码率来对待。但是如果真的分成三个部分,整个开发难度比较大,所以可以简化一点,只分成两个部分,这样子也可以达到我们期望的效果。
因此,第一个方案是把球场切出来,第二个方案是,先认识篮球,再认识篮筐,可能还得认识防守和掩护的队员,所以这得经过物体识别和跟踪的过程。第一个方案其实就够用了,第二个则需要识别球场的内容。如果我们只是把它分成两个部分,有深度信息就够了。所以根据上面的想法,做一些物体追踪,获取深度信息,再做一个分层压缩,经过这样的处理以后,简单分层的码率可以把码率再降低15%。
我们使用两个面、超广角的采样,同时在水平方向降低一半的分辨率,左右图像采用左右交错排列,并且把场景做简单的划分,划分成观众和主体,这样一共大概可以使用2.5兆的码率做现场直播。最终的方案就是,利用双目视差的焦点附近的物体,进行预处理,把它进行分层。当然实际上还会存在一些小的问题,比如说近距离的物体视角差会比较大,这时候双目匹配会有点问题,而远距离的物体因为视差很小,小过物体本身尺寸,这时候不太容易区分,有时候会匹配错误。endprint