谷歌等角立方投影技术解决带宽限制,高质量VR直播有望了

巫盼 7年前 (2017-03-16)

立体视频的数据流会以几何倍数不断放大对数据的要求,因此让 VR 视频进入商用的最核心关键就是提升带宽。

自古以来测绘师的奋斗目标就是,绘制出能够精准映射现实世界的地图。而这门伟大艺术所面临的核心挑战在于,如何在平面的纸张和屏幕上精准的展现弧形完全的地球。在过去的几个世纪中,人类智慧的花火碰撞出了诸多卓有成效的方法,但至今仍没有出现被大部分人类公认的一个最佳答案,因为每种方法都是权衡预期用途的产物,只能解决某种情境需求而已。

以 Google Maps 为代表的各种新型地图服务以及 VR 视频的丰富应用,依然在寻找如何在 2D 屏幕上提供精准且富有意义的弧形 3D 世界的的方法,即使在现在也是不小的挑战。

传统绘图技术必须要解决如何在 2D 平面上映射现实世界的根本挑战同时,视频流媒体也面临前期制图者不会存在的烦恼————如何更高效的利用带宽。高质量视频流的显示效果极大程度上受到网络带宽的限制,尤其对于移动网络来说。

传统频流让我们通过小窗口去观察世界,而 VR 视频流必须要从球状世界中渲染弧形图像,必然对带宽提出了更严苛的要求。立体视频的数据流会以几何倍数不断放大对数据的要求,因此让 VR 视频进入商用的最核心关键就是提升带宽。

鉴于这些技术带来的各种优势,Google 团队已经考虑应用到 YouTube 的内容上。而且 EACs 还能延伸扩展至其他领域,因此在这里我们非常期盼这项技术的更多应用。

等距柱状投影图(Equirectangular Projection)

对于普通用户来说地球最熟悉的呈现方式,就是用经度和纬度划分而成的矩形空间,而这也被称之为等距柱状投影图(Equirectangular Projection)。

Tissot Indicatrix的等距柱状投影图

其次,这种视频传输必然存在非常高的失真,现有的视频压缩技术很难完全驾驭。综合以上两点问题表明球面视频投影的根本挑战在于,在球状屏幕上均匀分布视频像素。

传统的立方体贴图(Cube Maps):

在游戏行业中还广泛应用一种升级版等距柱状投影图,那就是立方体贴图。这个概念非常的简单:将球形变形成为立方体,然后展开立方体的六个面然后平铺。

游戏行业目前最直观最简单的做法就是放射型投影(Radial Projection),在一个立方体中嵌入球体,然后将球体表面的图像向外投影到立方体表面。

立方体贴图的效果要明显优于等距柱状投影图,但是在像素密度上依然会导致根本性变动。这个问题是由于立方体的中心位置距离球体最近,但是立方体的边角离球体则比较远。

正如上方图片中所展示的横截面,这些射线都以相同的角度从圆中心向外射出,但是投影到立方体上间隔距离则出现了偏差。这样所导致的结果是,相比较中心位置边缘部分会获得更多的视频像素,因为在立方体边缘上蓝色射线要比红色射线具备更多的像素。而且在完整的三维情况下,这个问题会更加明显。

Equi-Angular Cubemap(EAC):

通过更改提取视频像素样本的位置,纠正这种变形。

EAC 解决方案在 2D 空间中不失为精密算法,但是扩展到 3D 空间依然会存在偏差,只能形成接近于等角度像素分布的空间,但少量的失真已经非常接近于完美状态。

均匀性比较

在饱和度图谱上通过增加视频的分辨率能够调整整体颜色表现。但是对于那些饱和度图谱存在巨大差异的投影,提升分辨率固然增加了中心区域的绿色范围,但是同时也增加了被浪费的像素资源。因此,最理想的投影是色彩均匀的饱和度图谱,这样就能通过提升分辨率使其变成均匀的绿色。

饱和度极大程度上取决于图像的尺寸和输出设备的分辨率。选择不同分辨率会导致饱和度图谱偏绿或者偏黄。下面的饱和度图谱来自一个具体的案例研究,能够最大限度的提高饱和度变化。

等距柱状投影图(左);标准立方体贴图(中);Equi-Angular Cubemap (右)

毫不奇怪的是,等距柱状投影图在南北极是蓝色的(浪费像素,太多的视频像素)的,而其他部分则都是桔色的(糟糕的视频质量,太少的视频像素)。

作为比较,标准的立方体贴图将最佳绿色区域从南北极移动到中间位置。南北极的浪费的蓝色区域也已经消失了。另一方面,立方体贴图的边缘部分要比中心区域要更优秀。更为重要的是,色彩的变化主要集中在赤道附近,而且这些圆形表面具备比等距柱状投影图更糟糕的质量。

最后 EAC 投影的保护度明显要比其他两个更加均匀,而且赤道区域明显可以进一步提高。这种均匀性能够最大化的利用带宽,从而能够根据当前设备所使用的网络,来选择传输最佳的像素密度。

实践才是最佳的检验

最可怕的是细节:

在前文的描述中基本上介绍了 EAC 投影的工作原理,但是还需要解决立方体的六个面在视频矩形边界和实际算法中的难题。立方体表面的一个点方程投影到视频像素采样是非常明确的。

类似的操作需要在立方体的每个面上进行。

现在,所有六套【0,1】纹理坐标都需要包裹在一个单独的视频纹理中。如果视频分辨率和尺寸受到硬件或者流媒体传输的限制,那么这些布局是可以不是固定的,而且它们有权利自己进行分析。

目前有很多方法将立方体的六个面整合成为一段视频矩形。此外,在组合过程中可能会导致不相连的面碰在一起,这可能在渲染过程中进行视频编码和像素插值(Pixel Interpolation)操作的时候出现问题。

在游戏领域中所使用的纹理地图集也存在相似的问题,目前常见的解决手段是在不连续面处增加填充物。一旦选择部署 EAC 概念,那么必然意味着需要在这些细节上做出取舍。

对于那些熟悉 OpenGL 的用户来说,完全可以通过立方体映射纹理和片段着色器来计算出最终的纹理外观。如果你对此感兴趣,那么就当作是给读者的一次练习吧。

对于 VR 来说图像质量代表着很多含义,而 EAS 也是当前带宽束缚下平衡精准投影的重要突破。鉴于目前等距柱状投影图和传统立方体贴图方案所面临的挑战,很明显 Equi-Angular Cubemaps 提供了更优秀的结果和更高效的资源利用。

我们坚信通过深入了解 EAC 投影,那么用户在较窄的带宽网络环境中也能访问 YouTube 上的高质量视频直播。未来,我们非常期待能够看到这项投影技术运用到其他方面。

【编者按】:本文转载自雷锋网;作者:蕾娜塔•萨洛

最后,记得关注微信公众号:镁客网(im2maker),更多干货在等你!

镁客网


科技 | 人文 | 行业

微信ID:im2maker
长按识别二维码关注

硬科技产业媒体

关注技术驱动创新

分享到