Oculus 首席技术官 John Carmack 开发了一种新的VR视频播放方法,可以在 Oculus Go 和 Gear VR 等设备上播放5K 3D 360度视频。Henry 最近发布的重置版采用了这一技术 ,结果令人印象深刻。在一篇新的博客文章中,Carmack 分解了播放器的工作方式,并为有兴趣使用该技术的开发者提供了一个样例。
如果你在 Oculus Go 或 Gear VR 上下载最新版本的 Henry ,你会看到一个质量与实时渲染接近一致的场景,但拥有远超移动VR头戴式设备渲染能力的细节。事实上,这要归功于预先渲染的素材。场景的细节不仅令人印象深刻,而且60 FPS的播放速度让画面看起来更流畅,而且它可以启动 3D 模式。
Henry 是现在已经解散的 Oculus Story Studios 的第一部作品。它于2016年在 Oculus Rift 发布时首次与大众见面并实时呈现。这部短片最终作为360视频被移植到到Gear VR 和 Oculus Go 上,并且现在已经基于 Carmack 的新播放技术在这两个平台上重新发布。
这一种播放360视频的新颖技术其目的是以最小的牺牲获取最高的保真度。由 Oculus 首席技术官 John Carmack 开发的这款新播放器避开了像Equirectangular 这样的常见投影,而采用了一种新颖的方案,该方案可同时解码四个视频流:一个基本层和三个高分辨率条带,随着观看者环视场景而移动。Carmack 在Oculus博客的一篇文章中解释道:
作为一个基础层,整个5k视频被重新采样为一个始终可用的2k x 2k版本,所以即使您瞬间旋转180度,也能够看到清晰的画面。如果你看天花板或地板,那么你只能看到清晰度较低的版本。
关键中心区域直接从5k x 5k主控制器中裁剪,像素之间相互对应,无需重新采样。它们被分成10个独立的视频文件,每个眼睛对应一个512 x 1024像素的列,通过堆叠和转置合成出2048 x 512像素的视频条。
总文件大小大致与传统的5k x 5k编码大致相同,因为跳过极点可以平衡额外的gop关键帧和额外的画面中部的低细节副本。
他指出,这种方法有效地为用户提供了围绕用户一圈的高分辨率素材的中心带,但是牺牲了图像的顶部和底部的质量,这将使得该方法不适用于某些视频制作。卡马克解释了为什么他决定做出这种特殊牺牲:
目前方案中的关键折衷办法是在球体的顶部和底部接受较低的分辨率。我通过几种方式证明了这一点:
- 观看360视频时,大多数人并不会看上方或者下方远处的物体。更进一步说,大多数人左右看的幅度也不会太大,你可能对180度的视频有争议,但360仍然是一个增量值。
- 向下的方向通常是黑色的,以隐藏摄像机。
- 对于3D 360视频,强烈建议导演避免人们仰视或俯视,因为立体3D效果会被减弱,然后才能看到极点。
尽管如此,这是一种妥协,有些视频在这种格式下效果不佳。一个明显的例子就是将清晰的文字放在天花板或地板上。作为交换,我们得到了一种情况,即只有垂直得分割视角才能使得系统的数据重复最小,因此它才可以在本地设备上工作,而不是在服务器上工作。
- 极点上的不均匀的等距投影仍然可以给你一些“额外的”分辨率,至少在一个轴上,所以这个bug反而成为了一种特性。
Carmack 总结说:“我很高兴能够释放在过去几年制造的许多高端360产品的潜力,过去这些设备只能体验低质量的视频。是时候抛弃那些陈旧的方法了!”
对于想要尝试新的播放技术的开发者,Oculus 发布了一个样例,他们称之为 VR 5K播放器,它向开发人员展示如何构建视频文件与播放器以及播放器本身是如何工作的。
via roadtovr