返回 登录
0

VR技术疑难解答:为什么虚拟现实视频看上去那么粗糙?

坦白说,目前我们能够看到的虚拟现实视频的画面并不太真实。为什么画质如此之差呢?真实存在的感觉被称为“空间沉浸“,而低画质的视频会大大影响这个这个感觉。大量的虚拟现实视频正努力实现沉浸式体验,但是画质太差会令观众有不真实的感觉。这是为什么呢?

沉浸感来自于叙事沉浸和空间沉浸的组合。叙事沉浸发生时观众会全身心地投入故事中。想象你正在读一本小说或正在看你喜欢的电影,你完全沉浸在故事中,甚至忘记了时间。空间沉浸发生时观众会相信他们身处在一个新的空间里。当我们在一个新的空间里体验风景和声音,并且被这个故事吸引的时候,我们会被触动,我们可以极大地被触动,当画面和声音融合的时候,我们会觉得自己真正处于虚拟现实中。

如今的虚拟现实视频内容都远远低于这一目标。谷歌的YouTube360°和Facebook的360 °等服务已经开始定期提供360度全景视频内容,这些视频可以在标准视频播放器中播放。360度视频通常是通过web浏览器或一个简单的装置,像Google Cardboard上传播。把一部智能手机举到头上好几分钟或许没有什么问题,但谁想这样子看一个两小时的电影呢?很明显,一台能够准确而自然地追踪你动作的头戴式显示器会带来更好的体验。

基于手机的头显设备,如目前流行的三星Gear VR具有良好运动传感器和快速的响应时间,这款头显可以为用户创造身临其境的体验。2016年市场上有了许多新的头显设备。Oculus Rift和HTC Vive都可以连接到PC上,这使得设备可以使用PC的GPU来快速呈现3D数据,同时也可以充分利用附加传感器来跟踪用户的动作。手机头显和PC头显都有高分辨率显示和足够多的像素显示,但当头显用于播放视频的时候,视频质量往往较差。

就算是头显设备有高质量的播放硬件,较低的视频质量也可能打破沉浸感。最棘手的部分是如何在适当的时候向设备提供高质量的图像。Gear VR在今天是广泛使用的设备之一,VR网就以该产品为例,看看它的产品配置和在制作高质量视频中所遇到的挑战。

1、虚拟现实视频内容的限制

虽然所有头显都有目前几乎最高分辨率的显示屏,但缺陷来自低分辨率的内容。

首先,在使用Gear VR的时候,视频都要求在平台上进行初始下载。下载量是很大的,再缓慢地加载到设备上。这是对体验的第一个不足。第二个也是更加重要的问题是视频画质。即使是专业制作的虚拟现实媒介看上去也是粗糙的令人震惊,观看的时候感觉是回到上世纪90年代,在那时计算机只能够播放标准清晰度的视频。而对于虚拟现实的视频,最遭罪似乎是立体格式。

2、虚拟现实头显设备分辨率的限制

Gear VR可以支持超高分辨率(UHD)视频内容的播放。在像素方面,UHD视频每一帧有3840*1920的大小。正常的播放速度为30帧每秒(较低的分辨率也支持高帧率)。Galaxy S6手机显然是能够轻松地播放4k视频的。但这分辨率实在太低,看不到太清的图像。

要明白个中原因,我们需要回答关于分辨率的两个不同的问题。Galaxy S6屏幕的显示分辨率是多少呢?让我们把它叫做屏幕分辨率。第二个问题是,在头显中我们可以看到多大的UHD图像?我们把它叫做视场分辨率。

Galaxy S6的屏幕分辨率为2560*1440。所以每只眼睛可以看到1280*1440像素的图像,通过Gear VR的单个透镜进行查看。

让我们回到视场分辨率上。记得视频的每一帧是3840*1920像素,但是这个视频的每一帧都需要填补360 °的水平视图和180 °的垂直视图。对于Gear VR来说,视场是96°,超过360°视图的四分之一多点。当我们查看图像时,我们只会看到一个小方形截面。我们移动头的方向的时候,视野图像就需要更新,而软件显示的这小部分视图正是我们在某一特定时刻所能看到的图像。这个小方框就被叫做视场。

如图,视场只是完整的360°全景视频的一小部分

简单的数学运算显示,每一度的视图对应10.6667的像素(1920像素/180度=10.6667像素/度)。乘10.6667*96的话,你得到的是1024。

所以我们透过头显看到的图像 1024*1024像素(最多),但显示的大小是1280*1280像素。用软件剪切出来的这一小段视频比显示的分辨率要小。因此软件需要拉伸图像来达到视场所需的分辨率。这还是以较低的标准来衡量的,因为Galaxy手机需要同时解压图像并把图像投射到屏幕上。这样的结果是图像会有一点点的粗糙。但20%的程度不算什么大问题。

3、立体化会使画质变得更糟

到目前为止讨论的显示问题都只和单源视频有关(每只眼睛都看到相同的图像)。若要增加沉浸感,立体显示是首选,每只眼睛看到的偏移图像将会欺骗你大脑的深度感知。对于Gear VR,立体显示能真正提高现实感。立体图像看起来更加逼真,这是因为偏移量有助于区分场景中的物体。对Gear VR来说,一些3D游戏可以在立体环境中操作,使玩家觉得更加真实。

每只眼睛在理想情况下应该得到高分辨率的360°视图。这就要求我们在一维空间把分辨率加倍,例如垂直情况,每只眼睛都要单独看到图像。

如果一般的UHD视频是3840*1920,每一帧提高一倍分辨率图像将会变成3840*3840的超大图像,这需要硬件支持。但是我们只能将此超大的视频打包在3840*1920框架上。左眼和右眼共享同一帧的画面,每只眼睛将获取3840*960 像素的图像,想要覆盖完整的视图,就必须垂直拉伸。

如图,立体图像从头到脚打包在3840*1920像素里。视场会被垂直挤压50%

两个图像视图打包成一帧的结果是每只眼睛得到的分辨率要小得多。缩放比例20%不是最好的。但缩放150%(512像素垂直拉伸到1280像素)会导致分辨率感知损失。无论你的格式填充在哪里,你都会失去一半的分辨率。

4、流媒体使情况变得更糟

当我们看着流式视频的时候,情况会变得更糟。YouTube 360°和其他流式视频服务的分辨率会比4k分辨率低,这是因为很少有观众有足够大的宽带来观看UHD视频。因为播放的视频是从互联网上的一个服务器下载观看而不是在本地设备上直接观看,所以他们降低分辨率来保持稳定的流媒体体验。通常,图像会在2048*1024的分辨率上上显示。使用上面的公式计算的话,YouTube每帧540*540像素的视场分辨率就足够了。360 °视频流媒体播放高清分辨率的视频时候,真的像在看一台只有720*480或720*576分辨率的旧电视,而且它必须拉伸230%才能全屏播放,这就是为什么播放立体声VR视频的时候,会看起来会很粗糙。

那么,我们该怎样解决这一问题呢?有两个方案:

方案一:越大越好

对于目前的播放设备例如Galaxy S6(甚至是即将发布的Oculus Rift),略大于显示器分辨率的视场分辨率会有帮助。把稍大的图像缩减一下会使图像看起来更加平滑并将减少失真和噪点。

1536*1536像素分辨率会是一个好的分辨率。这比显示器分辨率大17%左右,在我们的测试中,它的体验有了很大的改善。我们继续使用上面提到的公式,如果我们想要用1536像素来覆盖96°视场的话,我们需要16像素/度的分辨率。乘以360°*180°,你将得到5760*2880的分辨率。结果显示我们需要近6000像素以获得更高覆盖率的图像。

那立体声呢?记住,对于立体图像,理想的情况是每只眼睛都能看到高分辨图像(一个聪明的办法是把左眼和右眼钉在一起)。粗糙的计算,这至少需要5760像素宽5760像素高的视频文件。这相当于3千3百万像素的视频。即使有千兆位网速或5G无线网络和更好的压缩,制作能播放3千3百万像素视频的头显将会成为一个巨大的挑战。

另一个方案:Pixvana系统

在Pixvana,我们认为还有方法来解决这些分辨率和流量问题。制造接近高清分辨率的流体视频是有可能的,这会让观众在理想分辨率下体验虚拟现实视频。而Facebook为自己的平台想出的方法是,最小化带宽和用动态流增加前景画质的方法来提高画面质量。有兴趣的话,你可以去读一下他们的编码博客。

我们现正调查研究如何用更大的分辨率来覆盖视场。其中一个策略是用高分辨率的图像,并且添加额外填充来追踪头部运动。在随着观众移动视线切换不同的画面的时候,这将会为头显提供更好的视场覆盖,例如 Gear VR(或是连结PC的头显如HTC Vive和Oculus Rift)。更好的方法可能是用种方式来打包基于内容的数据编码。封闭的演播室环境与固定的摄像机中的视频镜头可以有很不同的编码,例如在行驶的车辆里所拍摄的虚拟现实视频。

Pixvana打算建立一个开源系统,给内容创作者制作高分辨率VR视频所需的所有工具。这种系统能够对头显位置的变化作出反应,在任何时刻都能提供正确的图像。Pixvana系统能在各种平台上使用,从手机到PC。凭借这个系统,视频传输到Gear VR的状况将会明显好转,虚拟现实视频将会实现我们渴望的沉浸感。

评论