画面推流方法、装置、电子设备、存储介质及程序产品与流程

文档序号:37146533发布日期:2024-02-26 16:59阅读:15来源:国知局
画面推流方法、装置、电子设备、存储介质及程序产品与流程

本申请涉及虚拟现实,尤其涉及一种画面推流方法、装置、电子设备、存储介质及程序产品。


背景技术:

1、随着虚拟场景相关的应用的不断发展,越来越多的硬件厂商开始使用openxr的渲染及交互协议来实现虚拟画面的展示与交互。例如已经存在多家硬件厂商在硬件设备中植入基于openxr开发的头戴式显示器(hmd,head mounted display)软件装置,以用来适配他们自身硬件的渲染及手柄交互。

2、相关技术中,很多电脑(pc,personal computer)端的虚拟现实应用是通过推流的方式将画面和声音推送到hmd端。但目前缺乏基于openxr协议将虚拟现实应用的画面推流至头戴式显示器的成熟技术。


技术实现思路

1、本申请实施例提供一种画面推流方法、装置、电子设备、存储介质及程序产品,能够基于实现将pc端虚拟场景画面的推流至头戴式显示设备。

2、本申请实施例的技术方案是这样实现的:

3、本申请实施例提供一种画面推流方法,所述方法包括:响应于针对目标推流方式的选择指令,至少从第一推流方式和第二推流方式中确定所述目标推流方式;在所述目标推流方式为所述第一推流方式的情况下,从目标应用获取虚拟场景画面的纹理数据;所述目标应用用于渲染所述虚拟场景画面;对所述纹理数据进行编码,得到第一纹理编码结果;将所述第一纹理编码结果发送至头戴式显示设备,以使所述头戴式显示设备解码所述第一纹理编码结果得到所述纹理数据,并基于所述纹理数据显示所述虚拟场景画面。

4、本申请实施例提供一种画面推流装置,包括:推流方式确定模块,用于响应于针对目标推流方式的选择指令,至少从第一推流方式和第二推流方式中确定所述目标推流方式;纹理数据获取模块,用于在所述目标推流方式为所述第一推流方式的情况下,从目标应用获取虚拟场景画面的纹理数据;所述目标应用用于渲染所述虚拟场景画面;编码模块,用于对所述纹理数据进行编码,得到第一纹理编码结果;编码结果发送模块,用于将所述第一纹理编码结果发送至头戴式显示设备,以使所述头戴式显示设备解码所述第一纹理编码结果得到所述纹理数据,并基于所述纹理数据显示所述虚拟场景画面。

5、在一些实施例中,所述目标应用加载有所述第一推流方式对应的第一动态链接库;所述纹理数据获取模块,还用于通过所述第一动态链接库确定虚拟场景画面的渲染开始时间;在当前时刻到达所述渲染开始时间时,从所述头戴式显示设备获取位姿信息;通过所述第一动态链接库将所述位姿信息发送至所述目标应用,以使所述目标应用基于所述位姿信息渲染所述虚拟场景画面,得到所述虚拟场景画面的纹理数据;在所述虚拟场景画面渲染结束时,通过所述第一动态链接库从所述目标应用获取所述虚拟场景画面的纹理数据。

6、在一些实施例中,所述头戴式显示设备的位姿信息中包括头部位姿信息以及眼部位姿信息;所述纹理数据获取模块,还用于通过所述第一动态链接库将所述眼部位姿信息发送至所述目标应用;通过所述第一动态链接库将所述头部位姿信息初始化为0,并将初始化为0的头部位姿信息发送至所述目标应用。

7、在一些实施例中,所述画面推流装置还包括纹理创建模块,用于通过所述第一动态链接库创建多个待渲染纹理;所述纹理数据获取模块,还用于通过所述第一动态链接库将所述虚拟场景画面对应的待渲染纹理发送至所述目标应用,以使所述目标应用基于所述位姿信息渲染所述待渲染纹理,得到所述虚拟场景画面的纹理数据。

8、在一些实施例中,所述纹理数据获取模块,还用于通过所述第一动态链接库确定所述目标应用的渲染帧率;通过所述第一动态链接库,基于所述渲染帧率确定虚拟场景画面的渲染开始时间。

9、在一些实施例中,所述纹理数据获取模块,还用于在第i帧虚拟场景画面渲染结束时,通过所述第一动态链接库记录所述第i帧虚拟场景画面的渲染结束时间;i为大于0的整数;针对第i+1帧虚拟场景画面,通过所述第一动态链接库基于所述渲染帧率,以及所述第i帧虚拟场景画面的渲染结束时间,确定所述第i+1帧虚拟场景画面的渲染开始时间。

10、在一些实施例中,所述画面推流装置还包括第二推流模块,用于在所述目标推流方式为所述第二推流方式的情况下,通过所述第二推流方式对应的推流进程获取所述目标应用的虚拟场景画面的纹理数据;对所述纹理数据进行编码,得到第二纹理编码结果;将所述第二纹理编码结果发送至所述头戴式显示设备,以使所述头戴式显示设备解码所述第二纹理编码结果得到所述纹理数据,并基于所述纹理数据显示所述虚拟场景画面。

11、在一些实施例中,所述第二推流模块还用于将所述第二推流方式对应的第二动态链接库注册到所述第二推流方式对应的推流进程中;从所述头戴式显示设备获取头部位姿信息;通过所述第二动态链接库将所述头部位姿信息写入所述推流进程;所述推流进程用于基于所述头部位姿信息渲染得到所述虚拟场景画面的纹理数据;通过所述第二动态链接库从所述推流进程获取所述纹理数据。

12、本申请实施例提供一种电子设备,所述电子设备包括:

13、存储器,用于存储计算机可执行指令或者计算机程序;

14、处理器,用于执行所述存储器中存储的计算机可执行指令或者计算机程序时,实现本申请实施例提供的画面推流方法。

15、本申请实施例提供一种计算机可读存储介质,存储有计算机程序或计算机可执行指令,用于被处理器执行时实现本申请实施例提供的画面推流方法。

16、本申请实施例提供一种计算机程序产品,包括计算机程序或计算机可执行指令,所述计算机程序或计算机可执行指令被处理器执行时,实现本申请实施例提供的画面推流方法。

17、本申请实施例具有以下有益效果:

18、在将目标应用的虚拟场景画面推流至头戴式显示设备时,至少从第一推流方式和第二推流方式中确定所述目标推流方式,其中,在使用第一推流方式的情况下,首先从目标应用获取虚拟场景画面的纹理数据,然后,对纹理数据进行编码,得到第一纹理编码结果,再将第一纹理编码结果发送至头戴式显示设备,头戴式显示设备可以解码第一纹理编码结果得到纹理数据,并基于纹理数据显示虚拟场景画面。因此本申请实施例应用于pc端场景中时,可以选择第一推流方式和第二推流方式中任意一种推流方式,以适配不同硬件厂商开发的头戴式显示设备,例如用户使用的是基于openxr开发的头戴式显示设备,则可选用第一推流方式,直接对接目标应用,获取目标应用的虚拟场景画面的纹理数据,将对纹理数据编码得到第一纹理编码结果发送至头戴式显示设备实现画面推流,进而实现了用户在使用任意硬件厂商开发的头戴式显示设备时,都不仅能够体验头戴式显示设备自身携带的应用,还能够体验pc端的目标应用的虚拟场景画面。



技术特征:

1.一种画面推流方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述目标应用加载有所述第一推流方式对应的第一动态链接库;

3.根据权利要求2所述的方法,其特征在于,所述头戴式显示设备的位姿信息中包括头部位姿信息以及眼部位姿信息;

4.根据权利要求2所述的方法,其特征在于,所述方法还包括:

5.根据权利要求2所述的方法,其特征在于,所述通过所述第一动态链接库确定虚拟场景画面的渲染开始时间,包括:

6.根据权利要求5所述的方法,其特征在于,所述通过所述第一动态链接库,基于所述渲染帧率确定虚拟场景画面的渲染开始时间,包括:

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:

8.根据权利要求7所述的方法,其特征在于,所述通过所述第二推流方式对应的推流进程获取所述目标应用的虚拟场景画面的纹理数据,包括:

9.一种画面推流装置,其特征在于,所述装置包括:

10.一种电子设备,其特征在于,所述电子设备包括:

11.一种计算机可读存储介质,存储有计算机可执行指令或者计算机程序,其特征在于,所述计算机可执行指令或者计算机程序被处理器执行时实现权利要求1至8任一项所述的画面推流方法。

12.一种计算机程序产品,包括计算机可执行指令或计算机程序,其特征在于,所述计算机可执行指令或计算机程序被处理器执行时实现权利要求1至8任一项所述的画面推流方法。


技术总结
本申请提供了一种画面推流方法、装置、电子设备、存储介质及程序产品;方法包括:响应于针对目标推流方式的选择指令,至少从第一推流方式和第二推流方式中确定所述目标推流方式;在所述目标推流方式为所述第一推流方式的情况下,从目标应用获取虚拟场景画面的纹理数据;所述目标应用用于渲染所述虚拟场景画面;对所述纹理数据进行编码,得到第一纹理编码结果;将所述第一纹理编码结果发送至头戴式显示设备,以使所述头戴式显示设备解码所述第一纹理编码结果得到所述纹理数据,并基于所述纹理数据显示所述虚拟场景画面。通过本申请,能够实现将PC端虚拟场景画面的推流至头戴式显示设备。

技术研发人员:任明星,郗英坤
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:
技术公布日:2024/2/25
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1