应用于移动端虚拟/增强现实的远程扩展渲染系统技术方案

技术编号:23240123 阅读:38 留言:0更新日期:2020-02-04 19:06
本发明专利技术公开了一种应用于移动端虚拟/增强现实的远程扩展渲染系统,移动端的交互模块采集头盔的头部和手柄姿态数据,发送给PC端;渲染模块获取PC端的渲染帧,进行解码,然后渲染到屏幕上;PC端网络模块接收移动端头盔的交互数据,传输给渲染SDK;渲染SDK内嵌在PC应用中,接收头盔发来的交互数据,作用到虚拟相机使其渲染出头盔对应姿态的画面,按照头盔的姿态进行渲染,并将渲染画面传输给编码模块;编码模块选择硬件编码器进行低延迟编码,将结果通过网络模块发送给移动端头盔。本发明专利技术利用PC端的高性能图形渲染能力,通过无线的方式,传输给移动端进行二次时间帧渲染,既摆脱了有线的束缚,又大幅降低渲染延迟,提升体验。

Remote extended rendering system for virtual / augmented reality on Mobile

【技术实现步骤摘要】
应用于移动端虚拟/增强现实的远程扩展渲染系统
本专利技术涉及虚拟/增强现实领域,具体是一种应用于移动端虚拟/增强现实的远程扩展渲染系统。
技术介绍
虚拟现实和增强现实技术综合利用计算机图形学、光电成像技术、传感技术、计算机仿真、人工智能等多种技术,并借助各种交互设备,旨在为用户提供一个逼真的、具有多重感知的虚拟和现实交互的世界。近年来由于资本的介入,让虚拟现实和增强现实发展迅猛,有很多人开始进入从事这一
虚拟现实和增强现实目前主流有两种方案,一种是基于PC为主机眼镜作为配件,一种是基于移动端将眼镜和主控集成到一起。相比之下,移动端虚拟现实技术门槛低,因现在高端智能手机的普及率高,加之移动端的成本和制造难度与电脑端相比微乎其微,给用户带来的体验也是极为方便,用户甚至只需拥有一部智能手机,再简单制作一个VR盒子便能进行VR体验,所以现在移动端的虚拟现实技术普及率远远超于电脑端,并逐年上升。移动端虚拟现实虽然高,但是用户体验却远远不如电脑端。其最主要的原因在于移动端的硬件性能远远弱于电脑端,即使是移动端的骁龙820或者三星Exynos8890也完全无法和电脑端的I54590与GTX970的性能相比拟。因此移动端带来的用户体验往往不尽人意,渲染能力有限。而PC端性能强劲,画面呈现体验很好,但是由于有连接线,真实感大大降低。HTC为了解决有线连接的问题,与intel合作完成了一套无线方案,然而他们技术方向只是为了降低中间连接线换成无线的延迟,仍旧把头盔只是当成一个配件,所有的图形算法计算都在PC上。
技术实现思路
本专利技术为解决
技术介绍
中存在的问题(移动端由于渲染能力有限,用户体验不好;PC端因为有线连接,真实感欠缺,无线连接延迟高),提出了一种应用于移动端虚拟/增强现实的远程扩展渲染系统。技术方案:一种应用于移动端虚拟/增强现实的远程扩展渲染系统,其特征在于它包括移动端和PC端,所述移动端包括IMU、头盔、手柄和显示屏,其特征在于:所述PC端内嵌有渲染SDK,包含硬件编码器和编码模块,PC端接收移动端交互模块发来的交互数据,作用到虚拟相机使其渲染出头盔对应姿态的画面,PC端按照头盔的姿态进行渲染,并将渲染画面传输给编码模块;编码模块选择硬件编码器进行低延迟编码,并将结果通过PC端网络模块发送给移动端头盔;所述移动端内置移动端渲染模块,移动端渲染模块负责接收PC端发来的帧数据,通过包头信息获取到位姿索引,帧类型和帧长度,通过帧类型和帧长度对随后接收的数据包进行组包操作,最后将完整的帧数据送入解码器进行低延迟硬件解码,解码后的画面与位姿索引一起使用动态时间帧补偿算法进行渲染帧补偿并提交屏幕显示。具体的,移动端渲染模块流程:步骤1:开启网络线程接收来自PC端的网络数据包;步骤2:根据网络协议接收图像帧数据,读取包头信息,包括是否为帧头,帧类型,帧长度,索引等;步骤3:根据帧类型和帧长度读取后续的数据包;步骤4:将所有接收到的属于该帧的数据包组合为完整图像帧,进行完整性校验,如果校验通过到步骤5,如果校验没通过,将帧丢弃后回到步骤2;步骤5:将图像帧输入到硬件解码器中进行解码,通过硬件解码低延迟配置,降低解码时间,解码后获取到可渲染的纹理;步骤6:从移动端交互模块根据索引值获取对应的位姿数据,将位姿数据和纹理输入到动态时间帧补偿算法中提交最新的姿态补偿画面到屏幕,完成一帧的渲染更新。优选的,所述移动端还内置交互模块,移动端交互模块负责采集头盔运行时的头部姿态数据和手柄姿态数据,并将数据进行组装,以固定频率通过无线网络发送到PC端,同时维持map建立索引缓存头部姿态数据。具体的,移动端交互模块采集数据流程:步骤1:移动端交互模块开启高优先级线程开始交互数据采集;步骤2:访问IMU或者6DoF算法模块获取最新的旋转四元数和位移数据;步骤3:访问外设交互驱动获取手柄旋转四元数和位移数据,按键状态数据,触摸坐标数据以及其他外设交互数据;步骤4:为这组数据生成交互索引,交互索引保证运行时这组数据的唯一性;步骤5:将索引数据和头部、外设的位姿等交互数据组装到网络包中,通过网络协议发送给PC端;步骤6:发送成功后将索引和位姿数据以KEY-VALUE方式缓存到MAP中;步骤7:判断是否有退出请求,如果是,结束线程,清空MAP,如果否,则进入步骤8;步骤8:判断当前是否可以开始下一轮更新,如果是,则回到步骤2,否则进入步骤9;步骤9:线程等待固定时间,回到步骤8。优选的,PC端网络模块一方面负责接收移动端头盔的交互数据,将头部位姿数据、手柄姿态数据和索引值,一同提交给渲染SDK;另一方面负责将PC端编码模块的编码后数据加入包头和索引信息,发送给移动端头盔。具体的,PC端网络模块接收交互数据流程:步骤1:PC端开启交互数据接收线程;步骤2:根据网络协议接收来自移动端的交互网络数据包,如果接收超时,断开连接,等待移动端重新连接,否则进入步骤3;步骤3:通过网络数据包解析出索引信息,头部位姿数据和手柄/外设位姿,按键/触摸等交互数据;步骤4:将数据更新到渲染SDK,等待接收下一轮交互数据。PC端网络模块发送帧数据流程:步骤1:接收来自硬件编码器的帧数据和索引信息;步骤2:将索引,帧类型,帧长度写入包头;步骤3:判断帧长度是否超过网络协议的最大帧长度,如果超过网络协议的数据包长度上限,进入步骤4,否则进入步骤5;步骤4:根据网络协议的数据包长度上限拆分帧数据包,每个子包包含帧序号信息;步骤5:调用网络接口发送数据包;步骤6:判断当前是否请求退出,如果否则回到步骤1等待下一帧数据,如果是则结束帧发送流程。优选的,PC端编码模块负责将来自渲染SDK的纹理进行编码处理,为了避免编码流程阻塞渲染流程,编码采用异步编码的方式,渲染SDK提交一帧纹理给编码队列,切换目标纹理,进行下一帧渲染,一台PC可以有一个或多个硬件编码器,从队列获取纹理数据进行硬件编码,编码后的数据提交给网络模块发送给移动端。具体的,PC端编码模块流程:步骤1:创建编码队列和编码线程,避免阻塞渲染线程;步骤2:等待渲染SDK将相机目标纹理放入编码队列,将纹理置为待编码状态,渲染SDK将相机切换到其他纹理,避免访问冲突;步骤3:查询当前是否有可用硬编码器,如果有,则进入步骤5,否则进入步骤4;步骤4:如果当前没有空闲的编码器,则等待编码完成;步骤5:将纹理送入硬件编码器编码,编码完成后置为可用状态,并将编码后的帧数据以及对应的索引数据提交给网络模块;步骤6:判断当前是否退出编码流程,如果是,则退出,否则回到步骤2。优选的,PC端渲染SDK从PC端网络模块获取交互数据,其中头部位姿数据作用在渲染引擎的相机上,使其能够与头盔同步转动和移动,手柄位本文档来自技高网
...

【技术保护点】
1.一种应用于移动端虚拟/增强现实的远程扩展渲染系统,其特征在于它包括移动端和PC端,所述移动端包括IMU、头盔、手柄和显示屏,其特征在于:/n所述PC端内嵌有渲染SDK,包含硬件编码器和编码模块,PC端接收移动端交互模块发来的交互数据,作用到虚拟相机使其渲染出头盔对应姿态的画面,PC端按照头盔的姿态进行渲染,并将渲染画面传输给编码模块;编码模块选择硬件编码器进行低延迟编码,并将结果通过PC端网络模块发送给移动端头盔;/n所述移动端内置移动端渲染模块,移动端渲染模块负责接收PC端发来的帧数据,通过包头信息获取到位姿索引,帧类型和帧长度,通过帧类型和帧长度对随后接收的数据包进行组包操作,最后将完整的帧数据送入解码器进行低延迟硬件解码,解码后的画面与位姿索引一起使用动态时间帧补偿算法进行渲染帧补偿并提交屏幕显示。/n

【技术特征摘要】
1.一种应用于移动端虚拟/增强现实的远程扩展渲染系统,其特征在于它包括移动端和PC端,所述移动端包括IMU、头盔、手柄和显示屏,其特征在于:
所述PC端内嵌有渲染SDK,包含硬件编码器和编码模块,PC端接收移动端交互模块发来的交互数据,作用到虚拟相机使其渲染出头盔对应姿态的画面,PC端按照头盔的姿态进行渲染,并将渲染画面传输给编码模块;编码模块选择硬件编码器进行低延迟编码,并将结果通过PC端网络模块发送给移动端头盔;
所述移动端内置移动端渲染模块,移动端渲染模块负责接收PC端发来的帧数据,通过包头信息获取到位姿索引,帧类型和帧长度,通过帧类型和帧长度对随后接收的数据包进行组包操作,最后将完整的帧数据送入解码器进行低延迟硬件解码,解码后的画面与位姿索引一起使用动态时间帧补偿算法进行渲染帧补偿并提交屏幕显示。


2.根据权利要求1所述的系统,其特征在于移动端渲染模块流程:
步骤1:开启网络线程接收来自PC端的网络数据包;
步骤2:根据网络协议接收图像帧数据,读取包头信息,包括是否为帧头,帧类型,帧长度,索引等;
步骤3:根据帧类型和帧长度读取后续的数据包;
步骤4:将所有接收到的属于该帧的数据包组合为完整图像帧,进行完整性校验,如果校验通过到步骤5,如果校验没通过,将帧丢弃后回到步骤2;
步骤5:将图像帧输入到硬件解码器中进行解码,通过硬件解码低延迟配置,降低解码时间,解码后获取到可渲染的纹理;
步骤6:从移动端交互模块根据索引值获取对应的位姿数据,将位姿数据和纹理输入到动态时间帧补偿算法中提交最新的姿态补偿画面到屏幕,完成一帧的渲染更新。


3.根据权利要求1所述的系统,其特征在于所述移动端还内置交互模块,移动端交互模块负责采集头盔运行时的头部姿态数据和手柄姿态数据,并将数据进行组装,以固定频率通过无线网络发送到PC端,同时维持map建立索引缓存头部姿态数据。


4.根据权利要求3所述的系统,其特征在于移动端交互模块采集数据流程:
步骤1:移动端交互模块开启高优先级线程开始交互数据采集;
步骤2:访问IMU或者6DoF算法模块获取最新的旋转四元数和位移数据;
步骤3:访问外设交互驱动获取手柄旋转四元数和位移数据,按键状态数据,触摸坐标数据以及其他外设交互数据;
步骤4:为这组数据生成交互索引,交互索引保证运行时这组数据的唯一性;
步骤5:将索引数据和头部、外设的位姿等交互数据组装到网络包中,通过网络协议发送给PC端;
步骤6:发送成功后将索引和位姿数据以KEY-VALUE方式缓存到MAP中;
步骤7:判断是否有退出请求,如果是,结束线程,清空MAP,如果否,则进入步骤8;
步骤8:判断当前是否可以开始下一轮更新,如果是,则回到步骤2,否则进入步骤9;
步骤9:线程等待固定时间,回到步骤8。


5.根据权利要求1所述的系统,其特征在于PC端网络模块一方面负责接收移动端头盔的交互数据,将头部位姿数据、手柄姿态数据和索引值,一同提交给渲染SDK;另一方面负责将PC端编码模块的编码后数据加入包头和索引信息,发送给移动端头盔。


6.根据权利要求5所述的系统,其特征在于:
PC端网络模块接收交互数据流程:
步骤1:PC端开启交...

【专利技术属性】
技术研发人员:曹俊张琦
申请(专利权)人:南京睿悦信息技术有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1