CN115865916A - 基于边缘计算的移动虚拟现实的多用户协同方法及系统 - Google Patents

基于边缘计算的移动虚拟现实的多用户协同方法及系统 Download PDF

Info

Publication number
CN115865916A
CN115865916A CN202211544975.1A CN202211544975A CN115865916A CN 115865916 A CN115865916 A CN 115865916A CN 202211544975 A CN202211544975 A CN 202211544975A CN 115865916 A CN115865916 A CN 115865916A
Authority
CN
China
Prior art keywords
edge
data
module
server
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211544975.1A
Other languages
English (en)
Inventor
李伟民
田卫红
颜政茂
李芹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan University of Humanities Science and Technology
Original Assignee
Hunan University of Humanities Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan University of Humanities Science and Technology filed Critical Hunan University of Humanities Science and Technology
Priority to CN202211544975.1A priority Critical patent/CN115865916A/zh
Publication of CN115865916A publication Critical patent/CN115865916A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于边缘计算的移动虚拟现实的多用户协同方法及系统。用于云服务器、与云服务器连接的多个边缘服务器以及与边缘服务器连接的多个用户终端相互协同的边缘计算系统中,第一边缘服务器接受来自第一用户终端的交互请求,将交互请求对应的交互任务分解为第一实时任务以及第二非实时任务;将第一实时任务在边缘服务器本地完成,将第二非实时任务发送至云服务器完成,并接收云服务器完成的第二非实时任务的第二完成数据,将第一实时任务的第一完成数据与第二完成数据合成后返回至第一用户终端;不同的用户终端之间进行协同处理时,由所属边缘服务器之间互相转发数据并同步至对应的用户终端。本发明减轻了云服务器计算压力,降低了时延。

Description

基于边缘计算的移动虚拟现实的多用户协同方法及系统
技术领域
本发明涉及边缘计算技术领域,尤其涉及一种基于边缘计算的移动虚拟现实的多用户协同方法及系统。
背景技术
虚拟现实(virtual reality,VR)和增强现实(augment reality,AR)技术的出现革命性地改变了用户与虚拟世界的交互方式,增强了用户对虚拟世界的沉浸感,并改善用户在游戏、医疗和教育等多种交互式场景的体验。近年来,VR配套硬件设备不断向移动化、高性能和长续航的目标迈进。同时,VR应用场景和用户需要也越来越多样化。
然而,目前的移动VR设备计算能力、续航能力以及无线通信能力相对有限,无法满足高质量VR实际应用的两个要求:响应性(低延迟性)和高质量的视觉效果(通过高帧率来确保无缝播放)。通常采用的解决方案是通过远程的云端渲染VR画面,然后传输到移动的HMD(Head-Mounted Display,头戴式显示器)显示。5G通信技术带来了大带宽能力,使得这种云-端协同的VR服务模式变的可能。随着用户数量的增加,由于用户行为的高交互性以及虚拟现实实现过程中无线网络带宽的限制,虚拟现实服务的实时需求无法得到保障。从而将边缘计算引入原有的终端与云端协同的VR服务系统中。边缘计算旨在将计算、存储和网络等资源从云中心下沉至网络边缘侧以更好地应对终端用户对服务的低时延要求,已成为5G时代最具前景的新型计算模式。因此,将计算成本高的VR画面渲染卸载到附近的边缘端,然后边缘端将渲染的画面数据无线传输回移动的头带式显示器中,可以有效降低平均处理时延;因为边缘端设备计算能力相对于云平台通常要低得多,所以还需要云平台的辅助共同完成VR的计算任务,从而形成了一种基于端-边-云协同的VR服务模式。
随着VR技术的不断发展,其应用场景越来越丰富,很多VR应用场景需要多用户协作,比如,在基于VR的医学、航海、采矿等工程教育教学平台中往往要求用户必须执行需要多方协作训练的任务。此外,近年来的Covid-19大流行对人们的出行带来了很多限制,导致居家工作和生活的现象增多,这加速促进了虚拟现实社交的诞生和发展。目前VR多用户协同系统部署环境大多数是在本地,少部分是在云环境下进行协同,而且当发生数据传输时,通常需要经过边缘服务器和云端服务器多次转发才能实现协同,由于是多用户协作的环境,仅仅依靠云-边协同计算依然会对云端造成大量的同步数据转发,从而通过的数据链路较长,时延较高,非常影响VR多用户协同系统在实际工作生活中的应用,极大地阻碍了VR多用户协同技术的发展。
发明内容
本发明提供了一种基于边缘计算的移动虚拟现实的多用户协同方法及系统,用以解决现有基于端-边-云协同的VR服务模式中VR多用户协同时云端同步数据转发数据多,时延较高的技术问题。
本发明提供了一种基于边缘计算的移动虚拟现实的多用户协同方法,用于云服务器、与云服务器连接的多个边缘服务器以及与边缘服务器连接的多个用户终端相互协同的边缘计算系统中,包括以下步骤:
第一用户终端向自身所属的第一边缘服务器发送交互请求;
第一边缘服务器接受来自第一用户终端的交互请求,将交互请求对应的交互任务分解为第一实时任务以及第二非实时任务;将第一实时任务在边缘服务器本地完成,将第二非实时任务发送至云服务器完成,并接收云服务器完成的第二非实时任务的第二完成数据,将第一实时任务的第一完成数据与第二完成数据合成后返回至第一用户终端;
在第一边缘服务器分解来自第一用户终端的交互请求对应的交互任务时,提取需要从第二用户终端同步的协同数据请求,当第二用户终端与第一用户终端分属于不同的边缘服务器的下属连接时,将所述协同数据请求直接发送至第二用户终端所属的第二边缘服务器,并接收来自第二边缘服务器返回的协同数据;
优选的,当用户终端向边缘服务器发送交互请求时,边缘服务器分解交互任务并执行第一实时任务,同时判断是否需要进行边缘服务器之间的协同处理任务;
若边缘服务器需要执行协同处理任务,则在边缘服务器之间转发协同请求及数据,并接收其他边缘服务器返回的协同数据,最后将协同数据同步至用户终端;
若边缘服务器不需要执行协同处理任务,则判断第二完成数据是否存在于边缘服务器的缓存中;
若边缘服务器缓存中存在第二完成数据,则与边缘服务器渲染的第一完成数据合成并发送给用户终端。
若边缘服务器缓存中不存在第二完成数据,则向云服务器发送第二非实时任务渲染请求;云服务器收到请求后判断第二完成数据是否存在于云服务器的缓存中,若存在,云服务器直接将第二完成数据返回给边缘服务器;若不存在,云服务器执行第二非实时性任务后再将第二完成数据返回边缘服务器,由边缘服务器将第一完成数据与第二完成数据合成并发送给用户终端。
优选的,当所述交互请求为VR渲染请求时,第一实时任务为前景交互渲染任务,第二非实时任务为远景BE渲染任务。
本发明还提供了一种基于边缘计算的移动虚拟现实的多用户协同系统,包括:云服务器、与云服务器连接的多个边缘服务器以及与边缘服务器连接的多个用户终端;多个边缘服务器之间互相连接;
多个用户终端用于感知用户动作并向边缘服务器发送交互请求和将收到的渲染数据进行解码与显示;
多个边缘服务器用于分解用户终端发送的交互请求,根据交互请求执行第一实时任务完成第一完成数据、协同处理任务、向云服务器发送第二非实时任务请求、接收第二完成数据并进行数据合并;
云服务器用于执行第二非实时任务并返回第二完成数据。
优选的,用户终端包括:运动检测器模块、请求编码模块和图形解码模块;
运动检测器模块用于对用户动作的感知;请求编码模块将运动检测器模块感知到的运动更新请求进行编码;
图形解码模块用于将边缘服务器发送的图形编码数据解码为帧数据。
优选的,边缘服务器包括:运动请求接收器模块、帧合并模块、边缘缓存模块、全景发射器模块、边缘解码模块、协同处理模块和近景同步模块;
运动请求接收器模块用于接收并分解用户终端发送的交互请求,分解完成后通过协同处理模块判断是否需要进行协同处理任务;协同处理任务中由近景同步模块负责边缘服务器之间协同数据的交互;边缘缓存模块用于存储边缘服务器中解码及渲染的缓存数据;
全景发射器模块用于向云服务器发送渲染请求,边缘服务器收到的从云服务器返回的第二完成数据由边缘解码模块进行解码;帧合并模块用于渲染第一实时任务、合并第一完成数据和第二完成数据。
优选的,云服务器包括:云端解码模块、远景渲染引擎模块、云端缓存模块和编码模块;
云端解码模块用于对云服务器接收到的渲染请求进行解码,远景渲染引擎模块用于执行第二非实时任务渲染计算;云端缓存模块用于存储云服务器中解码及渲染的缓存数据,渲染完成后的数据由编码模块进行压缩和编码。
优选的,云端解码模块包括用于表示渲染任务三维坐标的解码坐标信息;云端编码模块包括用于提取第二非实时任务渲染数据的全景提取器和用于编码第二非实时任务渲染数据的全景编码器。
本发明具有以下有益效果:
本发明的基于边缘计算的移动虚拟现实的多用户协同方法及系统,将用户VR终端中的任务根据时效性不同卸载到边缘服务器或者云服务器渲染后再进行合成,使得任务完成效率最优化,降低了用户VR终端的计算要求,令VR协同系统更易推广、用户VR终端更轻量化,同时降低了时延,提升了用户体验。在多用户协同的边缘计算场景中,将多用户之间的数据同步请求直接基于边缘服务器之间的通信转发实现,使得用户VR终端之间的协同任务不需要通过云服务器来广播,缩短了数据链路,降低了协同服务的时延,减少了用户VR终端与云服务器之间的回程流量,从而减轻了云服务器的网络通信负载和管理复杂度。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照附图,对本发明作进一步详细的说明。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明优选实施例一中的整体设计示意图;
图2是本发明优选实施例一中的系统框架示意图;
图3是本发明优选实施例一中的协作呈现请求消息的格式的示意图;
图4是本发明优选实施例一中的协作呈现请求返回的数据包格式的示意图;
图5是本发明优选实施例一中的多用户远程协作工作流示意图;
图6是本发明优选实施例一中的对象数据协作请求包示例图;
图7是本发明优选实施例一中的总延迟比较柱状图;
图8是本发明优选实施例一中的帧速率性能结果比较柱状图;
图9是本发明优选实施例一中的平均渲染时间比较柱状图;
图10是本发明优选实施例一中的不同渲染分配情况下CPU和GPU利用率的比较柱状图;
图11是本发明优选实施例一中的协作服务延迟的比较柱状图。
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
实施例一:
本发明优选实施例中,提供了一种基于边缘计算的移动虚拟现实的多用户协同方法,用于云服务器、与云服务器连接的多个边缘服务器以及与边缘服务器连接的多个用户终端相互协同的边缘计算系统中,包括以下步骤:
第一用户终端向自身所属的第一边缘服务器发送交互请求;
第一边缘服务器接受来自第一用户终端的交互请求,将交互请求对应的交互任务分解为第一实时任务以及第二非实时任务;将第一实时任务在边缘服务器本地完成,将第二非实时任务发送至云服务器完成,并接收云服务器完成的第二非实时任务的第二完成数据,将第一实时任务的第一完成数据与第二完成数据合成后返回至第一用户终端;
在第一边缘服务器分解来自第一用户终端的交互请求对应的交互任务时,提取需要从第二用户终端同步的协同数据请求,当第二用户终端与第一用户终端分属于不同的边缘服务器的下属连接时,将所述协同数据请求直接发送至第二用户终端所属的第二边缘服务器,并接收来自第二边缘服务器返回的协同数据。
参见图1,本发明优选实施例中,关于云服务器和边缘服务器协同渲染是指将VR应用程序中的动态的前景交互内容(实时性任务)在边缘端进行渲染,静态的BE(非实时性任务)在云端进行渲染,然后将云端的BE帧数据返回到边缘端和前景交互内容合并。要解决的关键问题是云端如何接受并处理边缘端发送过来的协同渲染指令请求,并将结果正确、完整的返回给边缘端。为此,需要在云端和边缘端之间建立合适的通信与数据传输机制。在边云协同渲染机制中,边缘服务器和云服务器分别作为通信的客户端和服务端。客户端首先需要和服务端建立连接,在服务端利用主线程来负责处理客户端的连接请求。为了保证数据的可靠传输,本发明优选实施例中使用面向连接的TCP(Transmission ControlProtocol,传输控制协议)作为运输层协议。同时,为满足并发需求建立了用户的连接池,维护一个来自客户端所有建立起连接的用户列表。然后,客户端向服务端发送协同渲染请求报文,其数据包格式见图3,其中各个字段的描述如表1所示。服务端会开辟一个子线程专门登记和注册单个用户的协同渲染请求,放入到一个共享的消息队列中。需要指出的是,在将渲染请求放入该队列之前需要将其锁定。由主线程对渲染请求进行解析,然后对请求中的渲染任务进行处理,处理的流程见图2中云端部分所示。这其中关键的一个步骤是如何将渲染出的BE全景图的cube map完整地呈现给客户端。
表1:协作呈现请求消息的字段描述
Figure BDA0003978482530000051
Cube map由六个面组成,采用枚举类型表示。服务端需要有序的将cube map中六个面对应的图片有序完整地发送到客户端,且这些图片很可能数据量较大。但是,在通常的通信协议下,当数据包太大,会自动进行分包处理。这会造成cube map包含的六个面在传输过程中产生数据错乱,从而影响最终的正确发送。为此,本发明优选实施例中约定每次发送给客户端的数据包只包含一个cube map中的面,分六次完成整个cube map的传输。于是,协同渲染请求返回的数据包的格式定义见图4,其中各个字段的描述如表2所示。客户端利用一个子线程异步接收来自服务端的数据。客户端在内存中开辟一个缓冲寄存器存放异步接收到的数据,当数据大于4个字节的时候开始解析包头,得到当次服务端发送过来的数据包的大小。只有当数据包完整地发送到客户端中的缓冲寄存器时,将其转化为一个字节流协议,然后登记到一个消息队列中。由主线程对数据包解析出来,然后在边缘缓存中查找是否存在该点的坐标。若不存在,则说明还未实例化该坐标的相关信息。就需要对该点进行实例化,并存入边缘缓存。若存在,就返回该点对应信息的实例,然后更新该点对应的cube map的信息。当边缘缓存中该坐标的cube map的六个面全部存在时,才执行合并画面操作。
表2:协作呈现请求返回的包的字段描述
Figure BDA0003978482530000061
本发明优选实施例所述的移动虚拟现实多用户协同是指多个不同网络位置的用户在同一VR场景下彼此产生交互行为,同时保证用户间的VR程序状态一致。例如,在一个外科手术训练的VR严肃游戏中,在地理上分布的多个学员在同一个手术场景下根据各自分工一起协同完成手术训练任务。这个过程中用户可能会产生移动物体、操作场景物体、改变姿势等协同行为,而这些改变和更新应当在参与的用户间同步。Unity中可以构建多玩家游戏,通过其中的HLAPI和MLAPI框架,开发者仅需少量的工作就可以搭建多人联网游戏。然而HLAPI和MLAPI采用的是C/S通信架构,在实现VR多用户协同中存在客户端无法将场景物体同步到服务端的问题。在基于云架构的VR应用中,通常通过云服务器将参与协同的用户的交互更新广播给其他用户,从而实现多用户的协同。这种协同方式会给云服务器带来过高的负载,并增加了网络传输延时。为此,本发明优选实施例实现了新型的基于边缘服务器之间协作的VR多用户远程协同机制。
本发明优选实施例中,VR应用程序运行在边缘服务器,多用户协同的内容为动态交互行为,因此用户间协同需要同步的数据只需在边缘和边缘之间传输,而不需要通过云服务器广播转发。协同需要同步的数据分为人物数据和物体数据,人物数据主要包括坐标、旋转、动画控制器变量等;物体数据包括坐标、旋转、事件触发信号量等。图5为本发明优选实施例中多用户远程协同工作流程,其中ACK为Acknowledge character,即确认字符。首先选定一个区域作为多用户协同范围,区域内的边缘节点之间通信距离相对用户与云端会明显更短,这是为了满足边缘计算就近服务的原则,有利于降低服务时延;且区域内的边缘节点形成了一个自治的多用户协同组织,不需要云服务器的介入处理协同。然后采用P2Pwith host server的方式进行数据同步,而不是采用原生的P2P的通信方式,这是由于原生的P2P在协同时需要在所有的节点间同步数据,以保持分布式VR游戏状态的一致性,会增加通信开销。本发明优选实施例中的做法是在协同区域内选择一个边缘节点作为服务节点。图5中,假设边缘S被选为服务节点,那么其他边缘节点则为客户端。边缘S会向其他边缘节点发送Start信号表示已启动协同服务;当某个客户端需要参与多用户协同,首先会向服务节点发起连接请求,服务节点会开启专门线程监听和处理来自客户端的连接请求;连接成功后,如果客户端产生了协同行为,则将该行为中的人物数据和物体数据分别封装打包成协同请求,发送到服务节点。图6为物体数据协同请求包的示例,该数据包的格式与协同渲染请求包的类似,只是消息的主体内容为物体数据相关字段,如坐标、旋转、事件触发信号量等。需要指出的是,服务节点同时也扮演普通协同用户角色。服务节点会根据请求信息同步需要协同的数据,然后将协同数据分发给其他所有参与协同的边缘节点,并使其执行数据同步操作,最终实现多用户远程协同。
本发明的基于边缘计算的移动虚拟现实的多用户协同方法,将用户VR终端中的任务根据时效性不同卸载到边缘服务器或者云服务器渲染后再进行合成,使得任务完成效率最优化,降低了用户VR终端的计算要求,令VR协同系统更易推广、用户VR终端更轻量化,同时降低了时延,提升了用户体验。在多用户协同的边缘计算场景中,将多用户之间的数据同步请求直接基于边缘服务器之间的通信转发实现,使得用户VR终端之间的协同任务不需要通过云服务器来广播,缩短了数据链路,降低了协同服务的时延,减少了用户VR终端与云服务器之间的回程流量,从而减轻了云服务器的网络通信负载和管理复杂度。
本发明优选实施例中,当用户终端向边缘服务器发送交互请求时,边缘服务器分解交互任务并执行第一实时任务,同时判断是否需要进行边缘服务器之间的协同处理任务;
若边缘服务器需要执行协同处理任务,则在边缘服务器之间转发协同请求及数据,并接收其他边缘服务器返回的协同数据,最后将协同数据同步至用户终端;
若边缘服务器不需要执行协同处理任务,则判断第二完成数据是否存在于边缘服务器的缓存中;
若边缘服务器缓存中存在第二完成数据,则与边缘服务器渲染的第一完成数据合成并发送给用户终端。
若边缘服务器缓存中不存在第二完成数据,则向云服务器发送第二非实时任务渲染请求;云服务器收到请求后判断第二完成数据是否存在于云服务器的缓存中,若存在,云服务器直接将第二完成数据返回给边缘服务器;若不存在,云服务器执行第二非实时性任务后再将第二完成数据返回边缘服务器,由边缘服务器将第一完成数据与第二完成数据合成并发送给用户终端。
本发明优选实施例中,用户终端在Android移动VR设备上运行,并执行VR图像显示。主要包括运动检测器模块、请求编码模块以及图形解码模块,运动检测器模块使用VR设备以及相应的传感器对用户的动作进行感知,请求编码模块对接收到的运动更新进行请求进行编码,图形解码模块将边缘端发送的图形编码数据解码为帧数据。
VR设备向边缘服务器发送运动更新请求,当该请求操作的VR对象是非头部运动时,用户终端将其发送给边缘服务器中的运动请求接收器模块执行解析操作,解析完成后中通过协同处理模块判断是否需要进行协同处理任务,当需要进行多用户协同处理时则由近景同步模块在协同用户间同步前景交互数据,若不需要进行协同处理,则将运动更新请求发送到边缘缓存模块判断其所需的BE(Background Environment,背景环境)的全景图帧是否存在于边缘缓存中,若不存在,通过全景发射器模块向云服务器发送BE全景图的协同渲染请求。云端在接收到该渲染请求后,会通过云端解码模块对接收到的渲染指令进行解码操作,然后立即判断所需的全景图是否在云端的缓存中。若存在,则直接编码后返回给边缘服务器。若不存在,则由远景渲染引擎模块执行渲染计算,渲染过程将该全景图绘制为cube map(立方体贴图)。渲染完成后通过编码模块对图片资源进行压缩和编码。将编码后的图形数据发送到边缘服务器的边缘解码模块进行解码,解码完成后传输到边缘缓存模块存储,然后发送到帧合并模块将BE全景图合并到前景交互画面,并编码为二进制文件传输到用户终端。用户终端VR设备解码数据后将图像显示交付给用户。
本发明的基于边缘计算的移动虚拟现实的多用户协同方法,当边缘服务器收到任务请求时,首先会拆解任务请求,判断是否需要进行边缘服务器之间的协同任务,边缘服务器进行协同任务处理时,只需在边缘服务器之间进行数据交换,再同步到对应的用户终端,不需要经过云服务器,大大缩短了数据链路,减缓了数据延迟;当边缘服务器向云服务器发送第二非实时任务渲染请求前,会先判断所需数据是否在边缘缓存中,若存在即直接采用,当云服务器渲染第二非实时任务前,会先判断所需数据是否在云端缓存中,若存在即直接采用,这些判断行为可以大大节约边缘服务器和云服务器的渲染压力,能够减少渲染耗时,进而缩短整体时延,提升用户体验。
本发明优选实施例中,当交互请求为VR渲染请求时,第一实时任务为前景交互渲染任务,第二非实时任务为远景BE渲染任务。
在本发明优选实施例中,设置了两组采用不同方法的实验来实现VR的应用过程:
(1)云服务器和用户终端合作远程渲染版本(简称CERR):将所有渲染工作负载卸载到云服务器。由于运行VR程序需要昂贵的GPU资源,本发明优选实施例中采用一台跟边缘服务器一样配置的PC来模拟云服务器,为了真实地体现云服务器的网络环境,通过虚拟组网工具Zerotier将PC和移动头带式显示器放置在一个组建的互联网仿真环境中。
(2)本发明所提供的基于边缘计算的移动虚拟现实多用户协同方法(简称MUCVR):利用边缘服务器和云服务器协同呈现VR内容,并利用边缘服务器之间的协作构建多用户协同机制。
为了保障MUCVR和CERR的可对比性,在实验测试时应尽可能将两者的网络环境的一致性,因此,将云服务器和边缘服务器也通过Zerotier进行和CERR类似的虚拟组网处理。实验中主要对比MUCVR和CERR的性能表现。为了统计收敛,每个实验都进行了多次。
1、用户体验质量方面
影响移动VR用户体验的关键指标包括服务响应时间和帧率。本发明优选实施例中将VR应用程序的服务响应时间定义从终端设备发送一个用户运动请求或用户操作请求,生成运动更新,传输回终端设备,并显示更新后的帧的延迟或经过的时间。而CERR中的时延主要由终端发送到渲染请求到云端的时延、云端渲染时延和云端传输帧数据到终端的时延组成。本发明优选实施例中对MUCVR和CERR的时延分别进行了测试和对比,测试过程中随机旋转头盔(Viking)和移动位置(Corridor)。两者的总时延平均值(Total latency)对比结果见图7。
结果显示,不管是运行Corridor还是Viking,CERR的总延时明显高于MUCVR。进一步的,随机抽取了10组总延时结果(每组10个)进行了方差分析,发现CERR的总延时波动非常大,而MUCVR的总延时较为平稳。为了验证网络传输对时延的影响,分别测试并计算了MUCVR的网络延迟和CERR的网络延迟,结果MUCVR的网络延迟明显低于CERR,且网络延迟在各自的总延时中占比均较大。终端的帧率(FPS)测试结果见图8,其中MUCVR-serverFPS为MUCVR边缘端的帧率,MUCVR-clientFPS为MUCVR移动终端设备的帧率,CERR-serverFPS为CERR云端的帧率,CERR-clientFPS为CERR移动终端设备的帧率,在随机选取的三个用户测试得到的帧率平均值结果中可以看出,MUCVR在VR移动终端设备上的帧率平均值比CERR要高,边缘端的帧率和云端的非常接近。由于在实际测试过程中,参与实验的用户在CERR下的晕动病感受非常明显,于是进一步分析了帧率的方差,发现在CERR下帧率在组内和组间的波动都非常明显,这跟其网络不稳定造成抖动明显有着非常强的关联;而MUCVR的帧率绝大部分情况都在60FPS以上,因此能较好地保障用户的体验。综上,MUCVR能有效提升用户体验。
2、渲染性能方面
本发明优选实施例中,评估了MUCVR在渲染性能提升方面的有效性。首先对MUCVR的渲染时间(Rendering time)进行了基准测试,并和移动端本地执行(Mobile)的方式进行了对比,比较结果见图9,MUCVR在云端(Cloud)和边缘端(Edge)渲染的时间非常接近,并且需要指出的是,云端和边缘端的渲染计算在大部分情形下是并发执行的,因此系统真实消耗的渲染计算时间一般只会比这两者中时间较大的略大。由于边端服务器和云服务器的图形处理性能一般要优于移动VR设备,因此与移动VR本地执行相比,MUCVR的渲染时间明显减少;其次,MUCVR中边缘端和云端都均有一定容量的缓存能够存储缓存数据,实验抽取了3个用户的实验数据进行了分析,需要说明的是实验记录了这些用户移动的位置信息,在交互过程中会在部分位置间重复移动,这样可以确保可以命中缓存,其结果表示,在缓存命中的情况下,其渲染时间要远远低于正常情况,从而进一步保障了渲染性能的提升。最后,分别测试了在MUCVR和移动VR设备本地执行两种情形下移动VR设备的CPU(中央处理器,centralprocessing unit)和GPU(图形处理器,graphics processing unit)利用率(Utilization),实验结果见图10,其中MUCVR-Viking表示在MUCVR执行Viking,MUCVR-Corridor表示在MUCVR执行Corridor,Mobile-Viking表示在VR设备本地执行Viking,Mobile-Corridor表示在VR设备本地执行Corridor,与本地运行相比,MUCVR中移动VR设备的CPU资源占用率较少,GPU资源消耗则显著变少,这是由于在MUCVR中,终端VR设备不需要进行渲染计算。综上,MUCVR在渲染性能方面较现有技术有显著的有益改进。
3、多用户协作效率方面
本发明优选实施例中,基于边缘服务器之间协作的多用户协同机制主要能减少协同的服务延迟,提升用户体验。为了验证协同服务延迟的减少效果,实验使用了13台云服务器。这些云服务器均未配置独立GPU。选定L为云中心,其余作为边缘节点(包括本文提到的G1、C1、H1、B2、N)。MUCVR中需要在各个节点之间传输协同数据,协同数据主要为坐标数据,占用空间一般较小。通过在节点间发送与其大小基本相当的数据来模拟多用户协同数据的传输,并测试相应的延迟。由于MUCVR多用户协同采用的是P2P with host server(带主机的P2P)的方式,因此可以在边缘节点中根据需求自主地选择边缘节点作为host server(主服务器)。在选择不同host server的情况下测试了相应的服务延迟(Delay),并与基于云中心(Cloud-Based)的协同机制进行了对比,实验结果见图11,其中,G1-Host表示选择边缘节点G1为主服务器;C1-Host表示选择边缘节点C1为主服务器;H1-Hosrt表示选择边缘节点H1为主服务器;B2-Host表示选择边缘节点B2为主服务器;N-Host表示选择边缘节点N为主服务器;系统可以自主在更靠近用户侧的边缘节点聚集区域选择host sever,因此,在大多数情形下,基于边缘服务器之间协作的多用户协同机制的服务延迟都会小于基于云中心的协同机制。当然,也会存在host sever选取不当,造成服务延迟更大的情景,如当选择N为hostserver时,其服务延迟比基于云的协同机制还高,但在实际应用调试的过程中可以进行筛选,从而避免此类情况的发生。
综上,本发明的基于边缘计算的移动虚拟现实的多用户协同方法,在用户体验质量方面、渲染性能方面和多用户协作效率方面都优于现有技术。
实施例二:
本发明优选实施例中,提供了一种基于边缘计算的移动虚拟现实的多用户协同系统,包括:云服务器、与云服务器连接的多个边缘服务器以及与边缘服务器连接的多个用户终端;多个边缘服务器之间互相连接;
多个用户终端用于感知用户动作并向边缘服务器发送交互请求和将收到的渲染数据进行解码与显示;
多个边缘服务器用于分解用户终端发送的交互请求,根据交互请求执行第一实时任务完成第一完成数据、协同处理任务、向云服务器发送第二非实时任务请求、接收第二完成数据并进行数据合并;
云服务器用于执行第二非实时任务并返回第二完成数据。
本发明的基于边缘计算的移动虚拟现实的多用户协同系统,由于采用多个边缘服务器与多个用户终端连接,使得用户终端的协同任务能够不经过云服务器,只在边缘服务器之间进行转发;由于设置了用户终端、边缘服务器和云服务器三者的连接关系,使得用户终端的渲染任务可以分别卸载到边缘服务器和云服务器进行渲染,提高了渲染任务的完成效率。
本发明选用实施例中,用户终端包括:运动检测器模块、请求编码模块和图形解码模块;
运动检测器模块用于对用户动作的感知;请求编码模块将运动检测器模块感知到的运动更新请求进行编码;
图形解码模块用于将边缘服务器发送的图形编码数据解码为帧数据。
本发明的基于边缘计算的移动虚拟现实的多用户协同系统,用户终端设置了运动检测器模块,从而能够检测到用户的运动并形成运动更新请求;由于设置了请求编码模块,所以能够将运动更新请求编码成方便进行传输的数据;由于设置了图形解码模块,所以才能够将来自边缘服务器的图形编码数据解码成用户终端能够使用的帧数据,进而使用户终端能够正常显示内容。
本发明优选实施例中,边缘服务器包括:运动请求接收器模块、帧合并模块、边缘缓存模块、全景发射器模块、边缘解码模块、协同处理模块和近景同步模块;
运动请求接收器模块用于接收并分解用户终端发送的交互请求,分解完成后通过协同处理模块判断是否需要进行协同处理任务;协同处理任务中由近景同步模块负责边缘服务器之间协同数据的交互;边缘缓存模块用于存储边缘服务器中解码及渲染的缓存数据;
全景发射器模块用于向云服务器发送渲染请求,边缘服务器收到的从云服务器返回的第二完成数据由边缘解码模块进行解码;帧合并模块用于渲染第一实时任务、合并第一完成数据和第二完成数据。
本发明的基于边缘计算的移动虚拟现实的多用户协同系统,由于设置了运动请求接收器模块,所以能够接收并分解来自用户终端的交互请求,经过分解的交互请求才能判断用户终端是否需要进行协同处理任务;由于设置了近景同步模块,所以可以进行边缘服务器之间的数据交互,以达到用户终端低延时协同的效果;由于设置了边缘缓存模块,使得边缘服务器能够存储缓存数据,当存储的缓存数据为当前任务所需时,即可有效缩短渲染时间,降低延迟;由于设置了边缘解码模块,所以能够将来自云服务器的数据解码成边缘服务器能够使用的第二完成数据;由于设置了帧同步模块,使得边缘服务器能够渲染第一实时性任务,生成第一完成数据,并能够将第一完成数据和第二完成数据进行合并,使得数据内容变得完整。
本发明优选实施例中,云服务器包括:云端解码模块、远景渲染引擎模块、云端缓存模块和编码模块;
云端解码模块用于对云服务器接收到的渲染请求进行解码,远景渲染引擎模块用于执行第二非实时任务渲染计算;云端缓存模块用于存储云服务器中解码及渲染的缓存数据,渲染完成后的数据由编码模块进行压缩和编码。
本发明的基于边缘计算的移动虚拟现实的多用户协同系统,由于设置了云端解码模块,使得云服务器能够将收到的渲染请求进行解码,明确需要执行的渲染任务具体内容;由于设置了远景渲染引擎模块,使云服务器能够完成第二非实时任务的渲染;由于设置了云端缓存模块,使得云服务器能够存储缓存数据,当存储的缓存数据为当前任务所需时,即可有效缩短渲染时间,降低延迟;由于设置了编码模块,使得云服务器渲染的数据能够编码成方便传输的数据。
本发明优选实施例中,云端解码模块包括用于表示渲染任务三维坐标的解码坐标信息;云端编码模块包括用于提取第二非实时任务渲染数据的全景提取器和用于编码第二非实时任务渲染数据的全景编码器。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于边缘计算的移动虚拟现实的多用户协同方法,用于云服务器、与云服务器连接的多个边缘服务器以及与边缘服务器连接的多个用户终端相互协同的边缘计算系统中,其特征在于,包括以下步骤:
第一用户终端向自身所属的第一边缘服务器发送交互请求;
第一边缘服务器接受来自第一用户终端的交互请求,将交互请求对应的交互任务分解为第一实时任务以及第二非实时任务;将第一实时任务在边缘服务器本地完成,将第二非实时任务发送至云服务器完成,并接收云服务器完成的第二非实时任务的第二完成数据,将第一实时任务的第一完成数据与第二完成数据合成后返回至第一用户终端;
在第一边缘服务器分解来自第一用户终端的交互请求对应的交互任务时,提取需要从第二用户终端同步的协同数据请求,当第二用户终端与第一用户终端分属于不同的边缘服务器的下属连接时,将所述协同数据请求直接发送至第二用户终端所属的第二边缘服务器,并接收来自第二边缘服务器返回的协同数据。
2.根据权利要求1所述的基于边缘计算的移动虚拟现实的多用户协同方法,其特征在于,当用户终端向边缘服务器发送交互请求时,边缘服务器分解交互任务并执行第一实时任务,同时判断是否需要进行边缘服务器之间的协同处理任务;
若边缘服务器需要执行协同处理任务,则在边缘服务器之间转发协同请求及数据,并接收其他边缘服务器返回的协同数据,最后将协同数据同步至用户终端;
若边缘服务器不需要执行协同处理任务,则判断第二完成数据是否存在于边缘服务器的缓存中;
若边缘服务器缓存中存在第二完成数据,则与边缘服务器渲染的第一完成数据合成并发送给用户终端;
若边缘服务器缓存中不存在第二完成数据,则向云服务器发送第二非实时任务渲染请求;云服务器收到请求后判断第二完成数据是否存在于云服务器的缓存中,若存在,云服务器直接将第二完成数据返回给边缘服务器;若不存在,云服务器执行第二非实时性任务后再将第二完成数据返回边缘服务器,由边缘服务器将第一完成数据与第二完成数据合成并发送给用户终端。
3.根据权利要求1所述的基于边缘计算的移动虚拟现实的多用户协同方法,其特征在于,当所述交互请求为VR渲染请求时,所述第一实时任务为前景交互渲染任务,所述第二非实时任务为远景BE渲染任务。
4.一种基于边缘计算的移动虚拟现实的多用户协同系统,其特征在于,包括:云服务器、与云服务器连接的多个边缘服务器以及与边缘服务器连接的多个用户终端;所述多个边缘服务器之间互相连接;
所述多个用户终端用于感知用户动作并向边缘服务器发送交互请求和将收到的渲染数据进行解码与显示;
所述多个边缘服务器用于分解用户终端发送的交互请求,根据交互请求执行第一实时任务完成第一完成数据、协同处理任务、向云服务器发送第二非实时任务请求、接收第二完成数据并进行数据合并;
所述云服务器用于执行第二非实时任务并返回第二完成数据。
5.根据权利要求4所述的基于边缘计算的移动虚拟现实的多用户协同系统,其特征在于,所述用户终端包括:运动检测器模块、请求编码模块和图形解码模块;
所述运动检测器模块用于对用户动作的感知;所述请求编码模块将运动检测器模块感知到的运动更新请求进行编码;
所述图形解码模块用于将边缘服务器发送的图形编码数据解码为帧数据。
6.根据权利要求4所述的基于边缘计算的移动虚拟现实的多用户协同系统,其特征在于,所述边缘服务器包括:运动请求接收器模块、帧合并模块、边缘缓存模块、全景发射器模块、边缘解码模块、协同处理模块和近景同步模块;
所述运动请求接收器模块用于接收并分解用户终端发送的交互请求,分解完成后通过所述协同处理模块判断是否需要进行协同处理任务;协同处理任务中由近景同步模块负责边缘服务器之间协同数据的交互;所述边缘缓存模块用于存储边缘服务器中解码及渲染的缓存数据;
所述全景发射器模块用于向云服务器发送渲染请求,边缘服务器收到的从云服务器返回的第二完成数据由所述边缘解码模块进行解码;所述帧合并模块用于渲染第一实时任务、合并第一完成数据和第二完成数据。
7.根据权利要求4所述的基于边缘计算的移动虚拟现实的多用户协同系统,其特征在于,所述云服务器包括:云端解码模块、远景渲染引擎模块、云端缓存模块和编码模块;
所述云端解码模块用于对云服务器接收到的渲染请求进行解码,所述远景渲染引擎模块用于执行第二非实时任务渲染计算;所述云端缓存模块用于存储云服务器中解码及渲染的缓存数据,渲染完成后的数据由所述编码模块进行压缩和编码。
8.根据权利要求7所述的基于边缘计算的移动虚拟现实的多用户协同系统,其特征在于,所述云端解码模块包括用于表示渲染任务三维坐标的解码坐标信息;所述云端编码模块包括用于提取第二非实时任务渲染数据的全景提取器和用于编码第二非实时任务渲染数据的全景编码器。
CN202211544975.1A 2022-12-02 2022-12-02 基于边缘计算的移动虚拟现实的多用户协同方法及系统 Pending CN115865916A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211544975.1A CN115865916A (zh) 2022-12-02 2022-12-02 基于边缘计算的移动虚拟现实的多用户协同方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211544975.1A CN115865916A (zh) 2022-12-02 2022-12-02 基于边缘计算的移动虚拟现实的多用户协同方法及系统

Publications (1)

Publication Number Publication Date
CN115865916A true CN115865916A (zh) 2023-03-28

Family

ID=85669703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211544975.1A Pending CN115865916A (zh) 2022-12-02 2022-12-02 基于边缘计算的移动虚拟现实的多用户协同方法及系统

Country Status (1)

Country Link
CN (1) CN115865916A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116843541A (zh) * 2023-09-01 2023-10-03 北京数原数字化城市研究中心 一种多视角下的云渲染方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116843541A (zh) * 2023-09-01 2023-10-03 北京数原数字化城市研究中心 一种多视角下的云渲染方法及系统

Similar Documents

Publication Publication Date Title
CN111767503B (zh) 一种游戏数据处理方法、装置、计算机及可读存储介质
WO2022100522A1 (zh) 一种视频编码方法、视频解码方法、装置、电子设备、存储介质及计算机程序产品
JP5952406B2 (ja) 遠隔描画能力を有するビデオゲーム装置
CN105791977B (zh) 基于云服务的虚拟现实数据处理方法、设备及系统
CN102148818B (zh) 移动设备上实现分布式虚拟现实与可视化的方法及系统
CN113209632B (zh) 一种云游戏的处理方法、装置、设备及存储介质
US20230215076A1 (en) Image frame display method, apparatus, device, storage medium, and program product
US8363051B2 (en) Non-real-time enhanced image snapshot in a virtual world system
CN111654720B (zh) 视频编码方法、装置、设备及可读存储介质
CN112169322B (zh) 远程渲染方法、装置、电子设备及可读存储介质
US20120270652A1 (en) System for servicing game streaming according to game client device and method
CN111951366B (zh) 一种云原生3d场景游戏方法和系统
JP2022554069A (ja) データ処理方法、装置、コンピュータデバイスおよびコンピュータプログラム
CN110083235A (zh) 交互系统及数据处理方法
US8860720B1 (en) System and method for delivering graphics over network
CN115865916A (zh) 基于边缘计算的移动虚拟现实的多用户协同方法及系统
CN112316433A (zh) 游戏画面渲染方法、装置、服务器和存储介质
CN112023402B (zh) 游戏数据处理方法、装置、设备以及介质
JP6379107B2 (ja) 情報処理装置並びにその制御方法、及びプログラム
CN105597314B (zh) 一种2d游戏的渲染系统及方法、终端设备
CN112156475B (zh) 一种业务数据处理方法、装置、电子设备及存储介质
CN110769904B (zh) 输出内容处理方法、输出方法、电子设备及存储介质
KR20230103135A (ko) 메타버스 환경에서 돔 디스플레이 운영 방법
CN115731338A (zh) 一种基于x协议的二三维一体化远程渲染方法和系统
CN116489414A (zh) 直播互动方法、装置、系统、计算设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination