本发明涉及虚拟现实仿真领域,具体涉及一种远程虚拟现实仿真环境的高效交互方法及系统。
背景技术:
现有的虚拟现实仿真环境技术都是在单一服务器中运行虚拟仿真场景,并使用vr设备与服务器直连方式进行仿真数据的传输与反馈,所需要的全部计算机计算过程都需要在这台服务器上运行。
当前虚拟仿真环境服务器需要与vr眼镜等外部设备直接电缆链接,使得用户体验在物理位置方面有一定的局限性,需要用户处在仿真环境服务器较近距离进行交互操作。
仿真环境服务器一边需要构建渲染虚拟现实环境,一边需要计算驱动vr设备的运行,对服务器性能有很高的要求。
当前vr显示图像为服务器场景渲染后的再根据vr眼镜设备参数再进行透视矩阵变换等二次变化后的图像数据,增加服务器的性能负担,又不利于远距离传输。
在需要使用仿真环境中如图像数据进行其它算法计算时,更加大对仿真环境服务器的性能要求。
鉴于上述,本设计人,积极加以研究创新,以期创设一种远程虚拟现实仿真环境的高效交互方法及系统,使其更具有产业上的利用价值。
技术实现要素:
为解决上述技术问题,本发明的目的是提供一种对仿真环境图像数据的压缩网络传输,使得用户可以与虚拟现实仿真环境进行远程交互操作的远程虚拟现实仿真环境的高效交互方法及系统。
本发明远程虚拟现实仿真环境的高效交互方法,包括,
服务端运行方法:获取虚拟现实仿真环境的图像数据,对图像数据进行编码压缩;根据仿真场景中无人机提供的多种动作,注册对应的rpc远程过程调用功能;建立socket协议服务端接口,等待与客户端建立并维护远程网络连接通信;
客户端运行方法:向服务端socket协议发送连接申请,建立连接后开始循环接收数据;解码vr图像仿真环境数据,实现仿真环境在客户端的重现;驱动vr设备运行,实现虚拟现实效果;从vr眼镜、控制手柄等外设设备获取用户反馈和操作信息数据;通过rpc远程过程调用协议向服务端发送反馈和控制信息数据,达到对仿真环境进行控制的目的。
进一步地,使用开源ue4虚幻引擎搭建无人机虚拟飞行仿真环境。
进一步地,服务端与客户端通过互联网网络进行通信。
本发明远程虚拟现实仿真环境的高效交互系统,包括:
服务端包括:虚拟现实引擎场景单元,用于获取虚拟现实仿真环境的图像数据仿真视角图像获取单元;
编码压缩模块,用于对图像数据进行编码压缩;
网络通信模块,用于建立socket协议服务端接口,等待与客户端建立并维护远程网络连接通信;
远程调用注册模块,用于根据仿真场景中无人机提供的多种动作,注册对应的rpc远程过程调用功能;
客户端包括:网络通信模块,用于向服务端socket协议发送连接申请,建立连接后开始循环接收数据;
vr设备驱动模块,用于解码vr图像仿真环境数据,实现仿真环境在客户端的重现;驱动vr设备运行,实现虚拟现实效果;从vr眼镜、控制手柄等外设设备获取用户反馈和操作信息数据;
远程调用功能模块,用于通过rpc远程过程调用协议向服务端发送反馈和控制信息数据,达到对仿真环境进行控制的目的。
借由上述方案,本发明远程虚拟现实仿真环境的高效交互方法及系统,至少具有以下优点:
通过对仿真环境图像数据的压缩网络传输,使得用户可以与虚拟现实仿真环境进行远程交互操作;
将整个的系统对计算性能的要求分散到服务端和客户端,减小对服务器的性能要求,提高服务器处理相应速度,又可以在客户端对图像等仿真数据做更多的计算操作;
利用网络通信协议,方便实现用户与仿真环境进行高效的交互控制。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
图1为本发明远程虚拟现实仿真环境的高效交互方法及系统的服务端框图;
图2为本发明远程虚拟现实仿真环境的高效交互方法及系统的客户端框图;
图3为本发明远程虚拟现实仿真环境的高效交互方法及系统的服务端与客户端的网络进行通信框图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
实施例1
如图1至3所示,本发明一种远程虚拟现实仿真环境的高效交互方法的一较佳实施例,包括:
服务端运行方法:获取虚拟现实仿真环境的图像数据,对图像数据进行编码压缩;根据仿真场景中无人机提供的多种动作,注册对应的rpc远程过程调用功能;建立socket协议服务端接口,等待与客户端建立并维护远程网络连接通信;
客户端运行方法:向服务端socket协议发送连接申请,建立连接后开始循环接收数据;解码vr图像仿真环境数据,实现仿真环境在客户端的重现;驱动vr设备运行,实现虚拟现实效果;从vr眼镜、控制手柄等外设设备获取用户反馈和操作信息数据;通过rpc远程过程调用协议向服务端发送反馈和控制信息数据,达到对仿真环境进行控制的目的。
本实施例使用开源ue4虚幻引擎搭建无人机虚拟飞行仿真环境;
搭配gtx1070级别显卡主机作为无人机仿真环境场景运行服务器;
启动场景后,远程客户端启动vr设备驱动程序,开启vr眼镜、控制手柄等外部设备;
客户端接收到服务端图像进行解码处理后,通过vr设备驱动发送至vr眼镜;
客户端同时还可以对图像进行双目测距算法计算,可实时得到无人机与周边物体距离信息;
用户在客户端佩戴vr眼镜进入仿真环境,并使用控制手柄与仿真环境中无人机进行飞行控制交互操作。
本实施例,使用的是现有编码技术h264,我们只对内存使用过程中的读取操作做了小幅改进,减少硬盘与内存之间的交互读取,可以提高数据处理速度;优化了部分算法的处理器汇编,可以提高算法的处理速度,进而提高编码速度。数据压缩:针对服务端和客户端使用的数据格式,以及压缩过程中的数据格式,使用了图像编码前图像拼接,解码后再拆分图像的改进,可以减少网络通信量,还可以保证图像的对应关系,因为vr眼镜左右眼每一次需要使用两幅图像,两幅图像有细微差别,一起使用才有立体效果;
网络数据传输:使用的是现有技术socket协议的网络传输,没有进行改进。
实施例2
本发明一种远程虚拟现实仿真环境的高效交互系统的一较佳实施例,为了实现上述实施例1中所述的方法,包括:
服务端包括:虚拟现实引擎场景单元,用于获取虚拟现实仿真环境的图像数据仿真视角图像获取单元;
编码压缩模块,用于对图像数据进行编码压缩;
网络通信模块,用于建立socket协议服务端接口,等待与客户端建立并维护远程网络连接通信;
远程调用注册模块,用于根据仿真场景中无人机提供的多种动作,注册对应的rpc远程过程调用功能;
客户端包括:网络通信模块,用于向服务端socket协议发送连接申请,建立连接后开始循环接收数据;
vr设备驱动模块,用于解码vr图像仿真环境数据,实现仿真环境在客户端的重现;驱动vr设备运行,实现虚拟现实效果;从vr眼镜、控制手柄等外设设备获取用户反馈和操作信息数据;
远程调用功能模块,用于通过rpc远程过程调用协议向服务端发送反馈和控制信息数据,达到对仿真环境进行控制的目的。
以上所述仅是本发明的优选实施方式,并不用于限制本发明,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。