VR技术及其新闻应用前景研究【2】
4.2.1 基于马尔科夫链的用户轨迹预测
假设在t时刻,用户使用VR移动终端的姿势是P。那么P由当前用户头部和空间直角坐标系内三坐标轴的夹角唯一确定。因此我们有:
其中,α,β,γ 为当前姿势和X,Y,Z三坐标轴的夹角。
其中,表示实际的用户姿势。
基于上述公式,我们只要知道了两个姿势之间转移的概率,就可以推算出任意时间点内,由初始状态转移到下一个姿势的概率。因此,在QuickView系统中,我们会根据VR应用实际使用过程中采集到的用户动作、姿势的记录,统计分析出空间内任意两个姿势之间的转移概率,并用于最后用户行为的推测。
4.2.2 基于网络状态确定预渲染的时机
在预测完用户行为之后,我们还需要确定针对一个未来可能需要的图像帧,云端应该提前多少时间预先渲染,并且推送给移动终端,这个预渲染的时间,和实时的网络状态有关。直观上看,在网络条件好,带宽高,延迟低的时候,可以稍晚进行渲染。反之,在网络条件差,带宽有限,延迟高的时候,应该尽早进行渲染。
假设每一帧图像的平均数据量为S;每一个渲染请求的数据大小为R;当前有效带宽为B;用户期望的延迟为d,那么对于一个将在t时刻使用的图像帧,它应该被预渲染的时间为:
T=t+d-(B+R)/S
综上所述,在实际运行过程中,QuickView首先基于采集的历史数据,估算出未来可能发生的用户姿势。然后根据网络状态计算需要进行预渲染的提前量,预先进行图像渲染,降低用户感知时延。
4.3 高速缓存设计
QuickView的高速缓存将渲染好的图像帧预先存储起来。一旦需要使用时,根据用户当前的动作姿势查询cache,找到合适的结果并返回回显给用户。
QuickView一共采用三层缓存。第一层是GPU中的高速缓存,缓存容量小,但是访问速度极快。第二层是移动终端本身的内存,缓存容量适中,访问速度较快。最后一层是移动终端的闪存(Flash Disk),缓存容量大,但是访问速度最慢。QuickView通过维护一个最近最久未使用(Least Recently Used)策略来更新缓存中的数据。使用频繁的数据会被调度到更高速度的缓存中,而使用不频繁的数据则会被移动到最慢的闪存上。
缓存中的每一个数据实体为某一个角度下的图像帧,如图8所示。每一帧图像对应着某一个动作姿势下用户看到的视场。因此,在QuickView的缓本质上是一个Key-Value缓存。其中的Key为表征某个用户姿势,Value为对应的类似图4的图像帧。
4.4 渲染迁移协议设计
在渲染迁移的过程中,如果直接将高清晰度的渲染结果通过无线网络回传给移动终端,那么将产生较大的网络带宽开销。一方面,现有的移动网络例如3G/LTE可能会因为信号强度波动、拥塞等原因,无法满足较高的带宽需求。另一方面,过大的带宽消耗,同时也给用户有限的数据流量造成了较大的经济负担。
因此,为了降低渲染迁移过程中的带宽消耗,我们设计了一套针对移动渲染迁移的网络传输协议。本协议基于一个图形学中的现象:对于很多图像来说,它们的高清晰度版本和低清晰度版本所使用的模型,轮廓往往一致。高清版本和低清版本的区别仅仅在于模型细节部分的纹路。因此,对于一张图像帧来说,它的高清晰度部分占据的数据量可能很小,但是渲染高清晰度部分需要耗费大量的计算资源;相反,它的低清晰度部分占据的数据量可能很大,但是相对的其渲染所需的计算开销会很低。
在QuickView系统中,我们采用增量编码的方式,将同一个图像帧的高清部分和低清部分分开编码。在移动终端上,渲染数据量大但是计算开销小的低清晰度部分,在云端渲染数据量小,但是计算开销大的部分。在装入高速缓存之前,QuickView将这两种清晰度的编码结果合并,最终保存在高速缓存中。
5 QuickView系统实现
QuickView系统的实现分为其客户端实现和服务端实现两部分。在当前版本的QuickView系统中,移动终端基于Google Daydream实现,硬件平台为Huawei Nexus 6P,运行Android 7.0系统,借助Google Cardboard进行VR显示。服务端基于Unity 3D实现,运行Windows 8操作系统。在对视频图像进行编码时,我们采用H.264视频格式对渲染输出进行编码。具体实现时,采用ffmpeg作为H.264的编码工具。
6 实验
6.1 实验概述
为了验证QuickView对于移动VR设备的性能提升,我们基于QuickView实现了一个移动VR应用:Viking Village。本应用包括基本的VR显示功能,能够自动追踪用户当前的头部位置信息,进而显示在屏幕上,让用户体验虚拟场景。Viking Village原本为Unity 3D平台上一个开源的3D模型,在我们的系统实现中,我们基于其3D模型,将其修改成一个可以运行在Android系统上的VR应用。
为了验证QuickView带来的性能提升,我们主要从以下几个方面考察:1)帧数;2)延迟;3)功耗。我们将基于QuickView的版本和直接在本地进行图像渲染的版本进行对比,以考察QuickView的性能。我们使用VR程序运行在三个不同复杂程度的场景下,测量并分析不同场景下的性能指标。
6.2 实验结果
图9中给出了QuickView相对于传统的本地渲染的VR应用的每秒帧数提升 。如图所示,基于渲染迁移,移动终端获得了云端强大的渲染能力,大幅度提升了每秒有效帧数,大约提升了59%的平均图像帧刷新率,提升了画面的流畅程度。
图10中给出了QuickView相对于传统的本地渲染方式的用户感知时延的提升。QuickView降低了68%的平均用户感知时延。因为QuickView能够预先推测未来可能出现的视频帧,所以QuickView即便在网络状态差延迟高的环境下,也可以通过提前预渲染来获得低用户感知延迟。而对于本地渲染策略来说,因为本地渲染能力有限,用户从发出动作,到最终的图像结果回显在VR设备上,需要经历100~150ms左右的用户感知时延。
图11中给出了QuickView相对于传统的本地渲染方案的功耗节约情况。QuickView大幅降低了90%的移动终端的功耗开销,延长了移动终端的使用时间。QuickView的功耗节约主要源自渲染迁移。对于传统的本地迁移来说,GPU不得不处理计算量很大的渲染工作,耗费了大量的电量。而QuickView则将负责的渲染工作迁移到云端执行,让移动终端减少了渲染工作所造成的能耗开销。
综上所述,QuickView相对于传统的本地渲染方式而言,对整个VR系统的有效帧数,用户感知实验,平均功耗都有非常大的提升。
7 总结
VR技术作在新闻、出版行业中势必会有非常重大的用途。针对现今移动VR设备视频效果不佳的问题,我们提出了QuickView,一套运行于当今智能终端上的渲染迁移框架。QuickView将复杂而高功耗的渲染任务通过网络传递到强大的云端,由云端完成高计算量的图像渲染工作,最终返回终端并回显给用户。为了克服无线网络下高延迟,带宽有限的挑战,QuickView采用了两项新技术:基于网络状态的用户行为预测和低延迟带宽的渲染迁移网络协议。我们实现了QuickView原型系统,并且将QuickView和传统的本地渲染的VR应用进行对比。实验证明,QuickView可以提升大约59%的帧刷新率,降低68%的用户感知时延,降低90%的平均功耗。我们相信,未来QuickView渲染迁移框架将会为更多的新闻、出版类VR应用提升更加便携的使用,更优质的视频服务质量,以及保证更长时间的续航。
8 参考文献
[1] Eduardo Cuervo, Alec Wolman, Landon P Cox, Kiron Lebeck, Ali Razeen, Stefan Saroiu, and Madanlal Musu-vathi. Kahawai: High-quality mobile gaming using gpu offload. In Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services, pages 121-135. ACM, 2015.
[2] Yong Cui, Zeqi Lai, Xin Wang, Ningwei Dai, and Congcong Miao. Quicksync: Improving synchronization e_ciency for mobile cloud storage services. In Proceedings of the 21st Annual International Conference on Mobile Computing and Networking, pages 592-603. ACM, 2015.
[3] Bo Han, Pan Hui, VS Anil Kumar, Madhav V Marathe, Jianhua Shao, and Aravind Srinivasan. Mobile data offloading through opportunistic communications and social participation. Mobile Computing, IEEE Transactions on, 11(5):821-834, 2012.
[4] Zeqi Lai, Yong Cui, Minming Li, Zhenhua Li, Ningwei Dai, and Yuchi Chen. Tailcutter: Wisely cutting tail latency in cloud cdn under cost constraints.
[5] Kyungmin Lee, David Chu, Eduardo Cuervo, Johannes Kopf, Yury Degtyarev, Sergey Grizan, Alec Wolman, and Jason Flinn. Outatime: Using speculation to enable low-latency continuous interaction for mobile cloud gaming. In Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services, pages 151-165. ACM, 2015.
[6] Shu Liu and Aaron D Striegel. Exploring the potential in practice for opportunistic networks amongst smart mobile devices. In Proceedings of the 19th annual international conference on Mobile computing & networking, pages 315-326. ACM, 2013.
[7] Muhammad Zubair Shafiq, Lusheng Ji, Alex X Liu, Je_rey Pang, Shobha Venkataraman, and Jia Wang. A first look at cellular network performance during crowded events. In Proceedings of the ACM SIGMETRICS/international conference on Measurement and modeling of computer systems, pages 17-28. ACM, 2013.
[8] Dejun Yang, Guoliang Xue, Xi Fang, and Jian Tang. Crowdsourcing to smartphones: incentive mechanism design for mobile phone sensing. In Proceedings of the 18th annual international conference on Mobile computing and networking, pages 173-184. ACM, 2012.
分享让更多人看到
推荐阅读
相关新闻
- 评论
- 关注