一种无线虚拟现实服务器、***及其数据压缩传输方法
技术领域
本发明涉及虚拟现实技术领域,具体涉及一种无线虚拟现实服务器、***及其数据压缩传输方法。
背景技术
虚拟现实(Virtual Reality,VR)技术是一种可以创建和体验虚拟世界的计算机仿真***,它利用计算机生成一种模拟环境,是一种多源信息融合的交互式的三维动态视景和实体行为的***仿真,使用户沉浸到该模拟环境中。
现有技术中的虚拟现实***,在服务器上渲染图像,然后发送给设置在虚拟现实头盔中的手机进行显示,但由于受手机性能的影响,通过手机解码并显示虚拟现实图像,效率较低,容易造成画面延迟。
手机的扩展性相对微型电脑来说较差,短时间内无法使用最新的数据传输技术。例如:目前手机只能支持802.11AC的传输协议,最高传输速度是866Mbps,如果使用微型电脑,则可以使用目前最新的802.11AD传输协议,最高传输速度可达到3Gbps。同样,微型电脑可以通过更换CPU,显卡的方法提高性能,而同样配置的手机,价格非常昂贵,普通人无法承受。
目前有一种使用背包的解决方案。该方案使用较高配置的游戏笔记本电脑作为虚拟现实游戏的运行平台。游戏的玩家需要背上笔记本电脑,带上虚拟现实头盔进行游玩。该方案主要依赖笔记本的性能。当游戏场景或者计算复杂时,内置电源和一般的外置充电装置无法提供CPU和GPU进行运算所需要的功耗。而使用较高输出的外置电源,需要增加电池重量,导致用户背包游玩时,负重的增加,体验感降低。
另外,在虚拟现实的无线方案中,数据的传输分为压缩传输和非压缩传输两种。非压缩的传输,一般都必须采用超高速的无线方案(毫米波传输)。而这些方案由于受到硬件性能的各种限制,尚未使用在虚拟现实的无线方案中。因而目前阶段,考虑采用压缩传输的方案。
一般的压缩传输方案是先进行图像数据的压缩,然后发送压缩后的数据。按照目前较好的硬件配置(GT860显卡+802.11AC网卡866Mbps)一帧图像的压缩和传输所需要的时间超过10ms,其中压缩4.5ms,传输7ms左右,一帧2K(1920*1080)图像压缩后的数据量在150-200KB左右。也就是说,当图像在服务器产生后到达智能终端的时间需要10ms以上,如果加上智能终端的解码和显示,总延时超过15ms。由于使用UDP(User Datagram Protocol,用户数据报协议传输),所以每一帧图像都必须是关键帧,无法减少传输的数据量。当图形复杂时,压缩后的数据量达到200KB,使用UDP发送会出现丢包现象,服务器端必须在发送一定数量的图像数据后,停顿几百微妙后继续发送。
发明内容
有鉴于此,本发明的目的在于克服现有技术的不足,提供一种无线虚拟现实服务器、***及其数据压缩传输方法,以解决现有技术中数据压缩传输延时大及智能终端图像显示受手机性能影响的问题。
为实现以上目的,本发明采用如下技术方案:
一种无线虚拟现实***的数据压缩传输方法,应用于无线虚拟现实服务器中,包括:
步骤S1、将待传输的当前帧的虚拟现实图像划分为大小相等的左眼图像和右眼图像;
步骤S2、判断所述左眼图像或右眼图像的大小是否大于预设值,若是,将所述左眼图像和右眼图像分别划分为多个一一对应的左眼图像块和右眼图像块;
步骤S3、对所述左眼图像块和右眼图像块进行编号,并根据所述左眼图像块和右眼图像块在当前帧的虚拟现实图像中的位置创建索引列表,并将所述索引列表发送给安装在平板电脑中的智能终端;
步骤S4、采用压缩算法对索引列表中的各左眼图像块和右眼图像块依次进行压缩,并将压缩后的左眼图像块和右眼图像块依次无线发送给安装在平板电脑中的智能终端,以使所述智能终端根据所述索引列表依次对所述左眼图像块和右眼图像块进行解压缩并显示出来。
优选地,所述步骤S4中“采用压缩算法对索引列表中的各左眼图像块和右眼图像块依次进行压缩”具体为:
对索引列表中相邻的左眼图像块和右眼图像块,当前一个左眼图像块或右眼图像块经压缩算法压缩完毕进入发送状态的同时,对后一个右眼图像块或左眼图像块进行压缩。
优选地,所述压缩算法为H.264压缩算法或H.265压缩算法。
优选地,所述步骤S4中“采用压缩算法对索引列表中的各左眼图像块和右眼图像块依次进行压缩”还包括:
对索引列表中一一对应的两个左眼图像块和右眼图像块,当左眼图像块或右眼图像块经H.264压缩算法或H.265压缩算法压缩完毕进入发送状态的同时,通过设置所述H.264压缩算法或H.265压缩算法的图像参数,对与所述左眼图像块一一对应的右眼图像块或与所述右眼图像块一一对应的左眼图像块进行差分压缩。
优选地,所述步骤S2具体为:
判断所述左眼图像或右眼图像的大小是否大于预设值,若是,将所述左眼图像和右眼图像分别划分为多个预设尺寸的左眼图像块和右眼图像块。
一种无线虚拟现实服务器,用于运行上述的无线虚拟现实***的数据压缩传输方法,包括:
划分单元,用于将待传输的当前帧的虚拟现实图像划分为大小相等的左眼图像和右眼图像;
分块单元,用于判断所述左眼图像或右眼图像的大小是否大于预设值,若是,将所述左眼图像和右眼图像分别划分为多个一一对应的左眼图像块和右眼图像块;
编号单元,用于对所述左眼图像块和右眼图像块进行编号,并根据所述左眼图像块和右眼图像块在当前帧的虚拟现实图像中的位置创建索引列表,并将所述索引列表发送给安装在平板电脑中的智能终端;
压缩传输单元,用于采用压缩算法对索引列表中的各左眼图像块和右眼图像块依次进行压缩,并将压缩后的左眼图像块和右眼图像块依次无线发送给安装在平板电脑中的智能终端,以使所述智能终端根据所述索引列表依次对所述左眼图像块和右眼图像块进行解压缩并显示出来。
优选地,所述压缩传输单元具体用于:
对索引列表中相邻的左眼图像块和右眼图像块,当前一个左眼图像块或右眼图像块经压缩算法压缩完毕进入发送状态的同时,对后一个右眼图像块或左眼图像块进行压缩。
优选地,所述压缩传输单元还用于:
对索引列表中一一对应的两个左眼图像块和右眼图像块,当左眼图像块或右眼图像块经H.264压缩算法或H.265压缩算法压缩完毕进入发送状态的同时,通过设置所述H.264压缩算法或H.265压缩算法的图像参数,对与所述左眼图像块一一对应的右眼图像块或与所述右眼图像块一一对应的左眼图像块进行差分压缩。
优选地,所述分块单元具体用于:
判断所述左眼图像或右眼图像的大小是否大于预设值,若是,将所述左眼图像和右眼图像分别划分为多个预设尺寸的左眼图像块和右眼图像块。
一种无线虚拟现实***,包括虚拟现实头戴装置及上述的无线虚拟现实服务器和安装在平板电脑中的智能终端,其中,所述平板电脑的显示屏设置在所述虚拟现实头戴装置的目镜后,所述智能终端和所述无线虚拟现实服务器无线连接。
本发明采用以上技术方案,至少具备以下有益效果:
1、本发明提供的这种无线虚拟现实***的数据压缩传输方法和无线虚拟现实服务器,将待传输的当前帧的虚拟现实图像划分为左眼图像和右眼图像,并将所述左眼图像和右眼图像分别划分为多个一一对应的左眼图像块和右眼图像块,相比现有技术中直接对渲染后的整帧图像进行压缩和传输,能降低GPU和CPU的运算负荷,提高数据的压缩和传输速率,减少数据压缩和传输延时。
2、另外,本发明提供的这种无线虚拟现实***的数据压缩传输方法和无线虚拟现实服务器,对索引列表中相邻的两个左眼图像块和右眼图像块,当前一个左眼图像块或右眼图像块经压缩算法压缩完毕进入发送状态的同时,对后一个右眼图像块或左眼图像块进行压缩,充分利用了无线虚拟现实服务器的GPU和CPU的处理能力。当CPU进行图像块传输时,GPU负责图像块的压缩,CPU的图像块传输和GPU的图像块压缩是同时进行的,相比现有技术中GPU工作时,CPU在等待,本发明提供的这种无线虚拟现实***的数据压缩传输方法和无线虚拟现实服务器更能分发挥GPU和CPU的处理能力,降低无线虚拟现实***数据压缩和传输延时。
3、由于左眼图像和右眼图像非常接近,所以本发明提供的这种无线虚拟现实***的数据压缩传输方法和无线虚拟现实服务器通过设置H.264压缩算法或H.265压缩算法的图像参数,对与左眼图像块一一对应的右眼图像块或与右眼图像块一一对应的左眼图像块进行差分压缩,可以减少无线虚拟现实***的数据传输量,提高数据传输的稳定性。
4、本发明提供的这种无线虚拟现实***,通过设置在虚拟现实头戴装置目镜后的平板电脑中的智能终端进行虚拟现实图像的解压缩和显示,相比现有技术中的背包方案,能减轻玩家的负重;相比手机无线方案,可以应对复杂虚拟现实游戏场景的显示,且无论在传输性能上,还是在显示精度上都有很大地提升。
附图说明
图1为本发明一实施例提供的一种无线虚拟现实***的数据压缩传输方法的流程示意图;
图2为本发明一实施例提供的一种无线虚拟现实***的数据压缩传输方法的数据压缩和传输时延示意图;
图3为本发明一实施例提供的一种无线虚拟现实服务器的示意框图;
图4为本发明一实施例提供的一种无线虚拟现实***的示意框图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
参见图1,本发明一实施例提供的一种无线虚拟现实***的数据压缩传输方法,应用于无线虚拟现实服务器中,包括:
步骤S1、将待传输的当前帧的虚拟现实图像划分为大小相等的左眼图像和右眼图像;
步骤S2、判断所述左眼图像或右眼图像的大小是否大于预设值,若是,将所述左眼图像和右眼图像分别划分为多个一一对应的左眼图像块和右眼图像块;
步骤S3、对所述左眼图像块和右眼图像块进行编号,并根据所述左眼图像块和右眼图像块在当前帧的虚拟现实图像中的位置创建索引列表,并将所述索引列表发送给安装在平板电脑中的智能终端;
步骤S4、采用压缩算法对索引列表中的各左眼图像块和右眼图像块依次进行压缩,并将压缩后的左眼图像块和右眼图像块依次无线发送给安装在平板电脑中的智能终端,以使所述智能终端根据所述索引列表依次对所述左眼图像块和右眼图像块进行解压缩并显示出来。
需要说明的是,所述预设值根据用户需要进行设置。
由上述技术方案可知,本发明提供的这种无线虚拟现实***的数据压缩传输方法,将待传输的当前帧的虚拟现实图像划分为左眼图像和右眼图像,并将所述左眼图像和右眼图像分别划分为多个一一对应的左眼图像块和右眼图像块,相比现有技术中直接对渲染后的整帧图像进行压缩和传输,能降低GPU和CPU的运算负荷,提高数据的压缩和传输速率,减少数据压缩和传输延时。
优选地,所述步骤S4中“采用压缩算法对索引列表中的各左眼图像块和右眼图像块依次进行压缩”具体为:
对索引列表中相邻的左眼图像块和右眼图像块,当前一个左眼图像块或右眼图像块经压缩算法压缩完毕进入发送状态的同时,对后一个右眼图像块或左眼图像块进行压缩。
由上述技术方案可知,本发明提供的这种无线虚拟现实***的数据压缩传输方法,对索引列表中相邻的两个左眼图像块和右眼图像块,当前一个左眼图像块或右眼图像块经压缩算法压缩完毕进入发送状态的同时,对后一个右眼图像块或左眼图像块进行压缩,充分利用了无线虚拟现实服务器的GPU和CPU的处理能力。当CPU进行图像块传输时,GPU负责图像块的压缩,CPU的图像块传输和GPU的图像块压缩是同时进行的,相比现有技术中GPU工作时,CPU在等待,本发明提供的这种无线虚拟现实***的数据压缩传输方法更能分发挥GPU和CPU的处理能力,降低无线虚拟现实***数据压缩和传输延时。
为了便于理解,对本发明提供的这种无线虚拟现实***的数据压缩传输方法举例说明如下:
步骤S1、将待传输的当前帧的虚拟现实图像划分为左眼图像和右眼图像;
步骤S2、假设左眼图像或右眼图像的大小大于预设值,将所述左眼图像划分为三个左眼图像块并编号为:A1、B1、C1,将所述右眼图像块划分为三个右眼图像块并编号为:A2、B2、C2;其中,A1和A2一一对应,B1和B2一一对应,C1和C2一一对应;
步骤S3、创建如下表一所示的索引列表,并将所述索引列表发送给安装在平板电脑中的智能终端;
表一
步骤S4、压缩时A1、A2为一组进行压缩,B1、B2为一组进行压缩,C1、C2为一组进行压缩,一共压缩6次,压缩顺序依次为A1、A2、B1、B2、C1、C2;A1压缩完毕后,发送数据,同时对A2进行压缩。智能终端接收到压缩后的数据,进行解压,并显示在平板电脑显示屏的对应区域。
参见图2,在具体实践中,还对本发明提供的这种无线虚拟现实***的数据压缩传输方法的数据压缩传输延时进行了计算,假设压缩一个图像块的时间为1ms,传输压缩后的图像块的时间为1.5ms,智能终端解压并显示的时间为0.5ms,根据本发明的技术方案,从依次对图像块A1、A2、B1、B2、C1、C2进行压缩到智能终端依次将图像块A1、A2、B1、B2、C1、C2解压并显示出来,无线虚拟现实***一共延时8ms,而若采用现有技术,无线虚拟现实***一共需要延时(1ms+1.5ms+0.5ms)*6=18ms,可见本发明提供的技术方案,相比现有技术可减少延时10ms,可将数据压缩和传输效率提高55.6%。待传输的虚拟现实图像越大,使用本发明提供的技术方案对数据进行压缩和传输,降低数据延时的效果越明显。
优选地,所述压缩算法为H.264压缩算法或H.265压缩算法。
需要说明的是,压缩传输一般是使用H.264或H.265两种视频压缩算法。目前,主流的显卡使用H.264的压缩方案压缩一个2K的图片,最快可以在3~4ms内完成。因此,本实施例选用H.264的压缩方案,但是,随着显卡性能的提升,可以升级到具有更高压缩比的H.265压缩算法。
优选地,所述步骤S4中“采用压缩算法对索引列表中的各左眼图像块和右眼图像块依次进行压缩”还包括:
对索引列表中一一对应的两个左眼图像块和右眼图像块,当左眼图像块或右眼图像块经H.264压缩算法或H.265压缩算法压缩完毕进入发送状态的同时,通过设置所述H.264压缩算法或H.265压缩算法的图像参数,对与所述左眼图像块一一对应的右眼图像块或与所述右眼图像块一一对应的左眼图像块进行差分压缩。
由上述技术方案可知,由于左眼图像和右眼图像非常接近,所以本发明提供的这种无线虚拟现实***的数据压缩传输方法通过设置H.264压缩算法或H.265压缩算法的图像参数,对与左眼图像块一一对应的右眼图像块或与右眼图像块一一对应的左眼图像块进行差分压缩,可以减少无线虚拟现实***的数据传输量,提高数据传输的稳定性。
优选地,所述步骤S2具体为:
判断所述左眼图像或右眼图像的大小是否大于预设值,若是,将所述左眼图像和右眼图像分别划分为多个预设尺寸的左眼图像块和右眼图像块。
需要说明的是,所述预设尺寸根据无线虚拟现实***的硬件设备性能和历史经验值获得,根据目前主流GPU的图像压缩性能,当每块待压缩的左眼图像或右眼图像分辨率保持在1K左右时,GPU的图像压缩性能最佳。
参见图3,本发明还提出了一种无线虚拟现实服务器100,用于运行上述的无线虚拟现实***的数据压缩传输方法,包括:
划分单元101,用于将待传输的当前帧的虚拟现实图像划分为大小相等的左眼图像和右眼图像;
分块单元102,用于判断所述左眼图像或右眼图像块的大小是否大于预设值,若是,将所述左眼图像和右眼图像分别划分为多个一一对应的左眼图像块和右眼图像块;
编号单元103,用于对所述左眼图像块和右眼图像进行编号,并根据所述左眼图像块和右眼图像块在当前帧的虚拟现实图像中的位置创建索引列表,并将所述索引列表发送给安装在平板电脑中的智能终端;
压缩传输单元104,用于采用压缩算法对索引列表中的各左眼图像块和右眼图像块依次进行压缩,并将压缩后的左眼图像块和右眼图像块依次无线发送给安装在平板电脑中的智能终端,以使所述智能终端根据所述索引列表依次对所述左眼图像块和右眼图像块进行解压缩并显示出来。
优选地,所述压缩传输单元104具体用于:
对索引列表中相邻的左眼图像块和右眼图像块,当前一个左眼图像块或右眼图像块经压缩算法压缩完毕进入发送状态的同时,对后一个右眼图像块或左眼图像块进行压缩。
优选地,所述压缩传输单元104还用于:
对索引列表中一一对应的两个左眼图像块和右眼图像块,当左眼图像块或右眼图像块经H.264压缩算法或H.265压缩算法压缩完毕进入发送状态的同时,通过设置所述H.264压缩算法或H.265压缩算法的图像参数,对与所述左眼图像块一一对应的右眼图像块或与所述右眼图像块一一对应的左眼图像块进行差分压缩。
优选地,所述分块单元102具体用于:
判断所述左眼图像或右眼图像的大小是否大于预设值,若是,将所述左眼图像和右眼图像分别划分为多个预设尺寸的左眼图像块和右眼图像块。
参见图4,本发明还提出了一种无线虚拟现实***10,包括虚拟现实头戴装置300及上述的无线虚拟现实服务器100和安装在平板电脑中的智能终端200,其中,所述平板电脑的显示屏设置在所述虚拟现实头戴装置300的目镜后,所述智能终端200和所述无线虚拟现实服务器100无线连接。
由上述技术方案可知,本发明提供的这种无线虚拟现实***,通过设置在虚拟现实头戴装置目镜后的平板电脑中的智能终端进行虚拟现实图像的解压缩和显示,相比现有技术中的背包方案,能减轻玩家的负重;相比手机无线方案,可以应对复杂虚拟现实游戏场景的显示,且无论在传输性能上,还是在显示精度上都有很大地提升。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“多个”指两个或两个以上,除非另有明确的限定。