基于网络的虚拟现实的实现-林炯康博士

2021-04-07

一:虚拟现实(VR)和360度视频

虚拟现实(VR)和360度视频正在重塑媒体景观,创造了一个生机勃勃的商业环境。在2016年,新的360度摄像头和虚拟现实头盔进入市场消费市场,分销平台正在建立新的制作工作室,市面上大量虚拟现实工作室正在涌现。虚拟现实正在成为一种在研究和工业上的热门话题,许多新的和令人兴奋的交互式VR内容和体验设施正在兴起。如图1的演示中,展示了目前存在的社交领域的持续努力并通过开发基于web的模块化虚拟现实来共享虚拟现实框架,扩展了当前的视频会议功能虚拟现实和混合现实的新功能。它让两个人连接在一起,通过视频媒介进行视听互动,同时能够参与到互动内容中。这种框架允许运行广泛的技术和基于用户的交互空间。其中多用户交互空间的搭建是为了评估虚拟现实体验并构建沉浸感而进行的试验。

image.png

图1:一个用户的虚拟视图


二:互动式VR社交的研究现状

目前研究表明一个高度的,用户之间的参与度和互动水平是可以实现的,其实现方式可以通过360度VR设置并利用当前的网络技术。他/她可以看到另一个用户,并分享交互式内容和体验直播VR和360度视频。并且已经出现和已经启动了多用户交互空间的搭建。NextVR1和Videostitch2这样的公司已经提供工具来创建新的虚拟体验,使用描绘不同物理空间的360度视频供个人使用。虚拟现实社交网络也出现了。AltspaceVR3和vTime4提供了虚拟的手工建模空间。在这里,用户可以以化身的形式聚集在一起,然后交互。在身临其境和互动的交叉点经验下,促使一些公司如生计5或Facebook旨在使远程个人之间能够分享个人的位置。他们提供的解决方案中,化身代表用户可以在观看的同时进行互动和交流全方位的视频。虽然这是朝着正确方向迈出的一步,但它难道不足以让人产生一种强烈的分享感吗?产生与他人的物理空间缩进的亲切感吗?因为低层次的现实主义作为人类的代表,实时化身的一个增强是使用了非常精细逼真的点云。然而,目前缺乏有效的三维点云视频压缩方法传输方法,这需要重新审视几何压缩。

image.png

图2:演示软件的体系结构


三:系统和演示设置

目前可以使用大量的现成的虚拟现实硬件,利用目前可用的web框架。该工作基于SimpleWebRTC6, AngularJS7,节点。WebVR9和frame10,以及dash.js11。图2显示了演示软件体系结构的设计。的入口点我们的应用程序由TogetherVR服务器提供。这个服务器提供了一个基于AngularJS的模块化web应用程序。应用程序基于两个模块。


(一)在VR中显示内容。

这一步需要设置WebRTC连接,并且在观看交付的视频是通过MPEG-DASH实现的,此过程类似于来玩pong风格的游戏。虚拟现实room使用的是分布式网络框架,连接WebVR以及一个简单的脚本语言中的three.js。这允许使用VR HMD(如Oculus Rift)查看VR内容如使用Firefox web浏览器。此外,还添加了一个绿色屏幕着色器,以alpha-blend人到环境。这意味着可以使用绿色的背景来记录用户在接收浏览器中转换为alpha通道。

image.png

图3:VR中需要的设备


(二)使用SimpleWebRTC库。

SimpleWebRTC库用于支持直接通信用户之间的通过音频和视频完成在720p高清分辨率下的交互。js支持的视频客户端可以播放任何类型的DASH视频并通过协调器在客户机之间同步播放。由此只能允许客户端玩类似乒乓球的游戏,而不是观看视频。所以虚拟现实技术的pong类实现基于此,它满足行业的几个标准:游戏逻辑的分离,投射和控制。实现扩展到支持套接字。IO12,市面上也用它来进行其他的通信。最常用的是通过HTML5 gamepad API13添加对游戏手柄的支持。最后,渲染器被修改,这样它就可以渲染游戏在a框架画布上。在演示设置(图3)中,有两个特定的和相似的设置,需要保证每个地方都有笔记本电脑,Oculus Rift HMD,网络摄像头,绿屏背景和手柄。两者都可以分享一个大绿屏或(更好)分为两种不同的物理空间。重要的是要注意,物理环境用户与虚拟环境是一致的,因此如果用户看着摄像机,他或她会看着对方。


四:实验验证

本次实验举行了两次演示会议,每次大约有15人参加该实验的非正式环境中,实验相关任务是收集非正式的小组面试反馈。主要是因为人们认为视频的质量和间隔时间是“好的”的程度是不同的。然而,VR世界中物体的分辨率仍然是最主要的问题,因为视频中的大多数文本是不可读的。此外,个别内容的分辨率特别是背景图像,在眼镜上的分辨率过小导致其无法很清楚的显示。由此在VR中可以辨别出差别,所以环境看起来很不自然,但是人们会专注于它。此外,我们的浏览器显示了一些性能上的差距,运行我们的应用程序在较低的帧率下能够得到预期的速率,即50-60帧/秒,而不是90帧/秒。几人都经历了晕动病,但他们仍然能够使用这个演示。另一个限制用户沉浸感的因素是他们看不见自己的事实,即当使用控制器玩游戏时可以感知到周围的环境。演示版的所有用户都能很好地理解演示版提供了一个互动和沉浸的工具。这就是WebVR有可能为VR内容提供广泛的可访问性,而WebRTC的高质量和低延迟使我们能够创造更多社交虚拟现实体验。