CN115830203A - 分布式渲染方法、装置、设备、介质和程序产品 - Google Patents

分布式渲染方法、装置、设备、介质和程序产品 Download PDF

Info

Publication number
CN115830203A
CN115830203A CN202211505804.8A CN202211505804A CN115830203A CN 115830203 A CN115830203 A CN 115830203A CN 202211505804 A CN202211505804 A CN 202211505804A CN 115830203 A CN115830203 A CN 115830203A
Authority
CN
China
Prior art keywords
rendering
rendered
depth
view
image
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
CN202211505804.8A
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.)
Beijing Zitiao Network Technology Co Ltd
Original Assignee
Beijing Zitiao Network Technology Co Ltd
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 Beijing Zitiao Network Technology Co Ltd filed Critical Beijing Zitiao Network Technology Co Ltd
Priority to CN202211505804.8A priority Critical patent/CN115830203A/zh
Publication of CN115830203A publication Critical patent/CN115830203A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

本申请实施例提供一种分布式渲染方法、装置、设备、介质和程序产品,XR设备获取传感器数据,将传感器数据发送给服务器,根据传感器数据获取待渲染帧的深度信息,根据深度信息将待渲染帧中的物体划分为近景物体和远景物体,对近景物体进行渲染得到近景渲染图像,远景物体对应的远景渲染图像由服务器根据传感器数据渲染得到,对近景渲染图像和远景渲染图像进行合成并上屏显示。通过分布式渲染,将同一帧图像中的近景物体通过XR设备进行本地渲染,远景物体通过远端服务器进行云渲染,发挥了本地渲染延时低以及云渲染自身算力强大的优势,降低了XR设备的硬件要求,提高了XR设备实时渲染的渲染速度。

Description

分布式渲染方法、装置、设备、介质和程序产品
技术领域
本申请实施例涉及服务器技术领域,尤其涉及一种分布式渲染方法、装置、设备、介质和程序产品。
背景技术
扩展现实(Extended Reality,XR),是指通过计算机将真实与虚拟相结合,打造一个可人机交互的虚拟环境,XR也是虚拟现实(Virtual Reality,VR)、增强现实(AugmentedReality,AR)和混合现实(Mixed Reality,MR)等多种技术的统称。通过将三者的视觉交互技术相融合,为体验者带来虚拟世界与现实世界之间无缝转换的“沉浸感”。
XR设备通常采用3D渲染,3D渲染分为实时渲染和离线渲染,离线渲染也称为预渲染。实时渲染是视频游戏或互动图形最常采用的方式,这种方式以非常高的速度处理3D图像,使其看起来像场景一样,其中包含大量的图像,并在玩家与游戏互动时实时发生,互动与速度在实时渲染过程中具有重要作用。目前,实时渲染通常采用云渲染或者本地渲染,云渲染由远端的服务器进行渲染,XR设备将渲染所需的传感器数据发送给服务器,服务器根据传感器数据进行图像渲染后,将渲染后的数据发送给XR设备进行显示。本地渲染是指不使用远端服务器的计算能力,而是在本地搭建了硬件性能满足的渲染环境。
云渲染的网络延时较大、丢包率高,本地渲染虽然网络延时小、丢包率低,但是本地渲染对硬件要求高,所以,现有的渲染方式不能满足实时渲染的需求。
发明内容
本申请实施例提供一种分布式渲染方法、装置、设备、介质和程序产品,发挥了本地渲染延时低以及云渲染自身算力强大的优势,降低了XR设备的硬件要求,提高了XR设备实时渲染的渲染速度。
第一方面,本申请实施例提供一种分布式渲染方法,应用于XR设备,所述方法包括:
获取扩展现实XR设备的传感器数据;
将所述传感器数据发送给服务器;
根据所述传感器数据获取待渲染帧的深度信息;
根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体;
对所述近景物体进行渲染,得到所述近景物体对应的近景渲染图像;
接收所述服务器发送的所述远景物体对应的远景渲染图像,所述远景渲染图像是所述服务器根据所述传感器数据对所述远景物体进行渲染得到的;
对所述近景渲染图像和所述远景渲染图像进行合成,得到所述待渲染帧的渲染图像;
通过显示屏显示所述待渲染帧的渲染图像。
在一些实施例中,所述根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体,包括:
当所述待渲染帧中目标物体的各个像素点的深度值均大于深度阈值时,确定所述目标物体为近景物体;
当所述目标物体的各个像素点的深度值均小于等于所述深度阈值时,确定所述目标物体为远景物体。
在一些实施例中,所述根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体,包括:
确定所述待渲染帧中目标物体的深度值大于深度阈值的像素点的比例;
当所述比例大于或等于比例阈值,则确定所述目标物体为近景物体;
当所述比例小于所述比例阈值时,确定所述目标物体为远景物体。
在一些实施例中,所述根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体,包括:
确定所述待渲染帧中目标物体的平均深度值;
当所述平均深度值大于或等于深度阈值,则确定所述目标物体为近景物体;
当所述平均深度值小于所述深度阈值,则确定所述目标物体为远景物体。
在一些实施例中,所述服务器采用的深度阈值与所述XR设备采用的深度阈值一致;
所述深度阈值是预先配置的初始深度阈值,或者,所述深度阈值是服务器发送的更新后的深度阈值,所述更新后的深度阈值是所述服务器根据初始深度阈值和预设时长内的渲染图像的深度信息确定的。
在一些实施例中,所述对所述近景渲染图像和所述远景渲染图像进行合成,得到所述待渲染帧的渲染图像,包括:
根据所述近景渲染图像的时间戳和所述远景渲染图像的时间戳,确定所述近景渲染图像和所述远景渲染图像是否同属于所述待渲染帧;
当所述近景渲染图像和所述远景渲染图像同属于所述待渲染帧时,通过资源拷贝的方式将所述近景渲染图像和所述远景渲染图像合成一个图像,得到所述待渲染帧的渲染图像。
在一些实施例中,获取扩展现实XR设备的传感器数据之后,还包括:
对所述传感器数据添加时间戳,以使得所述XR设备和所述服务器上的同一帧数据保持同步。
在一些实施例中,所述近景渲染图像、所述远景渲染图像的大小均与所述待渲染帧的大小相同;
所述近景渲染图像中除所述近景物体外的其余部分为透明状态;
所述远景渲染图像为完整图像。
在一些实施例中,所述根据所述传感器数据对所述近景物体进行渲染,得到所述近景物体对应的近景渲染图像,包括:
根据所述传感器数据对所述近景物体进行渲染,并将所述近景物体所在图像的其余部分处理为透明状态。
在一些实施例中,根据所述传感器数据对所述近景物体进行渲染,得到所述近景物体对应的近景渲染图像之后,还包括:
如果在预设时长内没有接收到所述服务器发送的所述远景物体对应的远景渲染图像,则对所述近景渲染图像和前n个图像帧的远景渲染图像进行合成,得到所述待渲染帧的渲染图像,n为大于0且小于6的整数。
第二方面,本申请实施例提供一种分布式渲染方法,应用于服务器,所述方法包括:
接收扩展现实XR设备发送的传感器数据;
根据所述传感器数据获取待渲染帧的深度信息;
根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体;
对所述远景物体进行渲染,得到所述远景物体对应的远景渲染图像;
将所述远景渲染图像发送给所述XR设备。
在一些实施例中,所述根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体,包括:
当所述待渲染帧中的一个目标物体的各个像素点的深度值均大于深度阈值时,确定所述目标物体为近景物体;
当所述目标物体的各个像素点的深度值均小于等于所述深度阈值时,确定所述目标物体为远景物体。
在一些实施例中,所述根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体,包括:
确定所述待渲染帧中目标物体的深度值大于深度阈值的像素点的比例;
当所述比例大于或等于比例阈值,则确定所述目标物体为近景物体;
当所述比例小于所述比例阈值时,确定所述目标物体为远景物体。
在一些实施例中,所述根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体,包括:
确定所述待渲染帧中目标物体的平均深度值;
当所述平均深度值大于或等于深度阈值,则确定所述目标物体为近景物体;
当所述平均深度值小于所述深度阈值,则确定所述目标物体为远景物体。
在一些实施例中,所述服务器采用的深度阈值与所述XR设备采用的深度阈值一致;
所述深度阈值是预先配置的初始深度阈值,或者,所述深度阈值是所述服务器根据初始深度阈值和预设时长内的渲染图像的深度信息确定的。
在一些实施例中,所述方法还包括:
根据连续的M个图像帧的近景物体的深度信息,计算所述M个图像帧的近景物体的平均深度值;
根据所述平均深度值更新所述深度阈值;
向所述XR设备发送更新后的深度阈值。
在一些实施例中,所述根据所述平均深度值更新所述深度阈值,包括:
判断所述平均深度值是否大于深度阈值上限;
如果所述平均深度值不大于所述深度阈值上限,则将所述深度阈值更新为所述平均深度值;
如果所述平均深度值大于所述深度阈值上限,则将所述深度阈值更新为所述深度阈值上限,或者,不对所述深度阈值进行更新。
在一些实施例中,对所述远景物体进行渲染之前,还包括:
判断所述服务器中是否存储有与所述远景物体对应的远景渲染图像相似的目标渲染图像;
如果所述服务器中存储有所述目标渲染图像,则将所述目标渲染图像作为所述远景物体对应的远景渲染图像;
如果所述服务器中没有存储所述目标渲染图像,则对所述远景物体进行渲染,得到所述远景物体对应的远景渲染图像。
在一些实施例中,所述待渲染帧对应的第一用户与所述目标渲染图像对应的第二用户属于同一游戏房间。
在一些实施例中,所述传感器数据具有时间戳,所述时间戳是所述XR设备添加的;
将所述远景渲染图像发送给所述XR设备之前,还包括:
为所述远景渲染图像添加所述时间戳。
第三方面,本申请实施例提供一种分布式渲染装置,包括:
获取模块,用于获取扩展现实XR设备的传感器数据;
发送模块,用于将所述传感器数据发送给服务器;
深度确定模块,用于根据所述传感器数据获取待渲染帧的深度信息;
划分模块,用于根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体;
渲染模块,用于对所述近景物体进行渲染,得到所述近景物体对应的近景渲染图像;
接收模块,用于接收所述服务器发送的所述远景物体对应的远景渲染图像,所述远景渲染图像是所述服务器根据所述传感器数据对所述远景物体进行渲染得到的;
图像合成模块,用于对所述近景渲染图像和所述远景渲染图像进行合成,得到所述待渲染帧的渲染图像;
显示模块,用于通过显示屏显示所述待渲染帧的渲染图像。
第四方面,本申请实施例提供一种分布式渲染装置,包括:
接收模块,用于接收扩展现实XR设备发送的传感器数据;
深度确定模块,用于根据所述传感器数据获取待渲染帧的深度信息;
划分模块,用于根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体;
渲染模块,用于对所述远景物体进行渲染,得到所述远景物体对应的远景渲染图像;
发送模块,用于将所述远景渲染图像发送给所述XR设备。
第五方面,本申请实施例提供一种XR设备,所述XR包括:处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行如上述第一方面任一项所述的方法。
第六方面,本申请实施例提供一种服务器,所述服务器包括:处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行如上述第二方面任一项所述的方法。
第七方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序使得计算机执行如上述第一方面任一项所述的方法。
第八方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序使得计算机执行如上述第二方面任一项所述的方法。
第九方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述第一方面任一项所述的方法。
第十方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述第一方面任一项所述的方法。
本申请实施例提供的分布式渲染方法、装置、设备、介质和程序产品,XR设备获取传感器数据,将传感器数据发送给服务器,根据传感器数据获取待渲染帧的深度信息,根据深度信息将待渲染帧中的物体划分为近景物体和远景物体,对近景物体进行渲染,得到近景物体对应的近景渲染图像,远景物体对应的远景渲染图像由服务器根据传感器数据渲染得到,对近景渲染图像和远景渲染图像进行合成,得到待渲染帧的渲染图像,并上屏显示。通过分布式渲染,将同一帧图像中的近景物体通过XR设备进行本地渲染,远景物体通过远端服务器进行云渲染,发挥了本地渲染延时低以及云渲染自身算力强大的优势,降低了XR设备的硬件要求,提高了XR设备实时渲染的渲染速度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为3D模型的三角形和四边形表示示意图;
图2为3D图像的渲染流程示意图;
图3为云渲染的一种场景示意图;
图4为外接式VR设备的本地渲染的流程示意图;
图5为一体机VR设备的本地渲染流程示意图;
图6为本申请实施例适用的一种系统架构示意图;
图7为游戏引擎与图形接口的关系示意图;
图8是本申请实施例一提供的分布式渲染方法的流程示意图;
图9为近景渲染图像和全景渲染图像的显示效果的对比示意图;
图10是本申请实施例二提供的分布式渲染方法的流程示意图;
图11为远景渲染图像和全景渲染图像的显示效果的对比示意图;
图12为本申请实施例三提供的深度阈值更新方法的流程图;
图13为本申请实施例四提供的分布式渲染方法的流程图;
图14为本申请实施例五提供的分布式渲染装置的结构示意图;
图15为本申请实施例六提供的分布式渲染装置的结构示意图;
图16为本申请实施例八提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于理解本申请实施例,在描述本申请各个实施例之前,首先对本申请所有实施例中所涉及到的一些概念进行适当的解释说明,具体如下:
1)虚拟现实(Virtual Reality,简称为VR),创建和体验虚拟世界的技术,确定生成一种虚拟环境,是一种多源信息(本文中提到的虚拟现实至少包括视觉感知,此外还可以包括听觉感知、触觉感知、运动感知,甚至还包括味觉感知、嗅觉感知等),实现虚拟环境的融合的、交互式的三维动态视景和实体行为的仿真,使用户沉浸到模拟的虚拟现实环境中,实现在诸如地图、游戏、视频、教育、医疗、模拟、协同训练、销售、协助制造、维护和修复等多种虚拟环境的应用。
2)虚拟现实设备(VR设备),实现虚拟现实效果的终端,通常可以提供为眼镜、头盔式显示器(Head Mount Display,简称为HMD)、隐形眼镜的形态,以用于实现视觉感知和其他形式的感知,当然虚拟现实设备实现的形态不限于此,根据实际需要可以进一步小型化或大型化。
可选的,本申请实施例中记载的VR设备可以包括但不限于如下几个类型:
2.1)外接式VR设备,VR设备与外接设备通过有线或者无线方式连接,由外接设备进行虚拟现实功能的相关计算,并输出数据至VR设备,该外接设备可以是智能手机、个人电脑(person computer,PC)等电子设备,当外接设备为PC时,外接式VR设备也称为电脑端虚拟现实(PCVR)设备。
2.2)一体机VR设备,具备用于进行虚拟功能的相关计算的处理器,因而具备独立的虚拟现实输入和输出的功能,不需要与PC端或移动终端连接,使用自由度高。
3)混合现实(Mixed Reality,简称为MR):是指结合真实和虚拟世界创造了新的环境和可视化,物理实体和数字对象共存并能实时相互作用,用以模拟真实物体。混合了现实、增强现实、增强虚拟和虚拟现实技术。MR是一种虚拟现实(VR)加增强现实(AR)的合成品混合现实(MR),是虚拟现实(VR)技术的拓展延伸,通过在现实场景中呈现虚拟场景的方式,可以增加用户体验的真实感。MR领域涉及计算机视觉,计算机视觉是一门研究如何使机器“看”的科学,更进一步的,是指摄像机和计算机代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用计算机处理成为更适合人眼观察或传送给仪器检测的图像。
也即是说,MR是将计算机创建的感官输入(例如,虚拟对象)与来自物理布景的感官输入或其表示集成的模拟布景,一些MR布景中,计算机创建的感官输入可以适应于来自物理布景的感官输入的变化。另外,用于呈现MR布景的一些电子系统可以监测相对于物理布景的取向和/或位置,以使虚拟对象能够与真实对象(即来自物理布景的物理元素或其表示)交互。例如,系统可监测运动,使得虚拟植物相对于物理建筑物看起来是静止的。
VR视频通常采用球面模型,用户相当于站在球心向外观看,由于人眼的视角有限,所以在同一时间,用户只能看到360度球面的一小部分。当用户转动视角时,才能看到球面的其他部分图像。
VR视频是通过3D渲染得到的,3D渲染使用的3D模型通常都是三角形或四边形构成,如图1所示,三角形或者四边形所构成的表面称为Mesh。知道每个三角形/四边形的顶点的xyz坐标后,通过连线就能画出3D模型。
3D渲染是根据存储的三维数据(即3D模型的主体框架的xyz数据)制作图像的过程,通过3D渲染,3D模型也称为3D线框模型,电脑图形将3D线框模型转换成具有3D拟真或接近真实效果的2D图像,一幅图像或一帧图像的渲染从几秒到数天不等。
图2为3D图像的渲染流程示意图,如图2所示,视频应用提供三维数据A(飞龙的灰色主体框架)和纹理数据B(飞龙的皮肤纹理),使用三维数据A和纹理数据B进行渲染得到3D立体图像C。
3D渲染主要有两种:实时渲染和离线渲染(也称为预渲染),二者的主要区别是图像计算和处理的速度。
实时渲染是视频游戏或互动图形最常采用的方式,这种方式以非常高的速度处理3D图像,使其看起来像场景一样,其中包含大量的图像,并在玩家与游戏互动时实时发生。
因此,互动与速度在实时渲染过程中具有重要作用。例如,如果要在场景中移动某个角色,需要确保在绘制下一帧之前更新角色的移动参数,使其显示速度达到人眼可以感知的自然运动的速度。其主要目的是以可接受的最低渲染速度(即24帧/秒)尽可能实现最高的拟真度,该最低渲染速度是人眼产生运动错觉所需的最低速度。
光栅渲染是常用的渲染方法,目前大多数游戏都采用光栅渲染,光栅渲染也称为光栅化,光栅可以理解由显示屏上一个个发光点组成,而在电子设备上创建的三维物体或场景,需要显示在屏幕上,而想办法将三维物体显示在屏幕一个个发光点上的过程,就叫对三维物体进行光栅化。
从计算机图形学原理可知,在渲染管线(也称为渲染流水线)的光栅化阶段,图像处理器(graphics processing unit,GPU)会计算不透明物体的Mesh在对应像素上的深度值(取值范围为0-1的浮点数),用它来判断像素上应该显示哪个Mesh对应的数据。
物体的各个像素对应的深度值组成的深度图(depth texture),深度图的大小和纹理图像的大小相同。其中,每个像素的深度值的范围在0到1之间,且为非线性分布,其精度根据不同的平台可能是16bit或32bit。
由于深度值只是一个浮点数,因此深度图的每个像素就不需要存储rgba四个浮点数了,只需要r通道即可,因此人眼看见的深度图是红黑色的,这样可以减少的深度图所占用的内存空间。
通过深度图可以看出当物体离摄像头越近,深度图上对应的区域越红(深度值接近1),越远则越黑(深度值接近0)。也就是说深度值从0到1代表的是从远到近。
目前,实时渲染通常采用云渲染或者本地渲染,云渲染由远端的服务器进行渲染,VR设备将渲染所需的传感器数据发送给服务器,服务器根据传感器数据进行图像渲染后,将渲染后的数据发送给VR设备进行显示,云渲染可以使用云服务器。本地渲染是指不使用远端服务器的计算能力,而是在本地搭建了硬件性能满足的渲染环境。
(1)云渲染
图3为云渲染的一种场景示意图,如图3所示,有以下几种用户模式:
用户1:使用本地端的PC台式机作为远程桌面使用,本地端PC台式机负责将VR设备和控制器的传感器数据转发到云端的云服务器进行渲染处理等;云服务器将渲染后的图像通过网络传输,回传给用户1的本地端PC台式机,再由本地端PC台式机将接收到的渲染后的图像数据转发给VR设备进行解码显示。
用户2:与用户1类似,智能手机代替了本地端PC台式机的作用,即,用户使用本地端的手机作为交互终端使用,本地端手机负责将VR设备和控制器的传感器数据转发到云服务器进行渲染处理等;云服务器将渲染后的图像通过网络传输,回传给用户2的本地端手机,再由本地端手机将接收到的渲染后的图像数据转发给VR设备进行解码显示。
用户3:与用户1类似,即,用户使用本地端的笔记本电脑作为交互终端使用,本地端笔记本电脑负责将VR设备和控制器的传感器数据转发到云服务器进行渲染处理等;云服务器将渲染后的图像通过网络传输,回传给用户3的本地端笔记本电脑,再由本地端笔记本电脑将接收到的渲染后的图像数据转发给VR设备进行解码显示。
用户4:使用一体机的VR设备直接与云服务器进行交互,即,VR设备和控制器的传感器数据由VR设备打包发送到云服务器进行渲染处理等;云服务器将渲染后的图像通过网络传输,回传给用户4的VR设备,VR设备进行解码显示。
需要说明的是,如果VR设备没有传感器,那么传感器数据仅包括VR设备的传感器数据。如果VR设备具有控制器,那么传感器数据包括VR设备的传感器数据和控制器的传感器数据。传感器数据包括VR设备和控制器的6Dof数据,还可以包括控制器的触控数据。
(2)本地渲染
(2.1)外接式VR设备的本地渲染
图4为外接式VR设备的本地渲染的流程示意图,如图4所示,外接式VR设备由VR设备和本地端的外接设备组成,本地端的外接设备使用其自身的图像渲染能力渲染出3D图像,再发送给VR设备进行解码、图像上屏显示。
如图4所示,外接式VR设备一般包括以下几个模块:
网络通信模块,用于通过有线或无线的方式与本地的外接设备连接,接收外接设备渲染后的图像数据,该渲染后的图像数据由外接设备编码、打包发送给VR设备。
解码单元模块,用于对接收到的编码数据进行解码。
图像显示预处理单元,用于将解码后的图像数据需进行显示预处理,送入显示缓存区。
显示屏幕,用于从现实缓存区中读取数据图像,并显示图像。
(2.2)一体机VR设备的本地渲染
图5为一体机VR设备的本地渲染流程示意图,参照图4和图5,一体机VR设备相对于外接式VR设备,少了解码单元模块,这是因为一体式VR设备使用本机具有的图像处理单元进行图像渲染后,将渲染后的图像数据直接通过显示屏幕进行显示,不需要进行编码和解码处理。
云渲染的计算处理能力相比VR设备来说更具有优势,能够减轻对本地VR设备的GPU性能的压力,降低了本地VR设备的硬件要求。但是云渲染的网络延时较大、丢包率高,网络延时可能会造成VR设备的画面出现“黑边”,丢包可能会导致画面抖动,从而影响用户沉浸式虚拟现实体验。
本地渲染相对于云渲染,虽然网络延时小、丢包率低,但是本地渲染对硬件要求高。
为了解决现有技术的问题,本申请实施例提供一种分布式渲染方法,将同一帧图像中的近景物体进行本地渲染,远景物体进行云渲染,本地端的VR设备仅对近景物体进行渲染,发挥了了本地渲染延时低的优势,远端的服务器对远景物体进行渲染,远景物体通常包括整个背景图像(球面),完成了大部分的渲染工作,发挥了云渲染自身算力强大的优势。
图6为本申请实施例适用的一种系统架构示意图,如图6所示,该系统架构包括VR设备和云服务器,VR设备可以是一体式VR设备,也可以是外接式VR设备。图6所示VR设备为外接式VR设备,外接设备中包括游戏引擎、本地渲染模块和图像合成模块,其中,当采用一体式VR设备时,游戏引擎、本地渲染模块和图像合成模块位于VR设备中。云服务器包括游戏引擎和云渲染模块。
VR设备获取到传感器数据,将传感器数据发送给VR设备的游戏引擎和云服务器。
游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。大部分都支持多种操作平台,如Linux、Mac OS X、微软Windows。
游戏引擎包含以下系统:渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理。
图7为游戏引擎与图形接口的关系示意图,如图7所示,从内到外(即从底层到高层)依次为:硬件设施,如图中所示即图形显卡;软件和硬件的接口,如图中的OpenGL、DriectX图形绘制接口;渲染引擎,如图中的B端三维引擎、C端三维引擎、游戏引擎、计算机辅助设计(Computer Aided Design,CAD)引擎等;三维应用软件,三维应用软件是面向终端用户的,例如,一些游戏、制图软件、图形处理系统等,制图软件包括solidwork制图、交互式CAD(Unigraphics NX,UG)制图等,图形处理系统包括三维可视化系统、建筑信息模块(Building Information Modeling,BIM)运维系统等。
游戏引擎用于通过传感器数据确定用户当前的世界坐标、运动情况、控制信息等,以及根据传感器数据,确定待渲染帧的深度信息。
本地渲染模块,用于根据游戏引擎确定的深度信息,将待渲染帧中物体划分为近景物体和远景物体,对近景物体进行渲染。
云渲染模块,用于根据游戏引擎确定的深度信息,将待渲染帧中物体划分为近景物体和远景物体,对远景物体进行渲染,并将远景物体对应的远景渲染图像发送给VR设备。
图像合成模块,用于对本地渲染模块渲染得到的近景物体对应的近景渲染图像和服务器返回的远景物体对应的远景渲染图像进行合并,得到待渲染帧的渲染图像,将渲染图像发送给VR设备的显示屏幕进行显示。
本申请实施例提供的分布式渲染方法,在不增加本地端的VR设备的硬件要求的基础上,复用了远端的服务器的处理资源,提升了VR设备中实时渲染的时效性和用户体验。
图8是本申请实施例一提供的分布式渲染方法的流程示意图。本实施例从XR设备的角度描述该分布式渲染方法,该XR设备可以为VR设备、AR设备或者MR设备,本实施例以VR设备为例进行说明,VR设备可以是一体式VR设备,也可以是外接式VR设备。如图8所示,本实施例提供的方法包括以下步骤。
S101、获取XR设备的传感器数据。
用户通常通过以下方式中一个或者多个与VR设备交互:手持设备(比如手柄或者手部控制器等)、手势操作、语音方式或者凝视控制,本申请实施例对此不做具体限制。
可以理解,当VR设备不采用手持设备交互时,例如,用户采用手势、语音或者凝视与VR设备进行交互时,则VR设备不会获取手持设备的传感器数据,只获取VR设备的传感器数据。
当VR设备采用手持设备交互时,手持设备可以将采集到的传感器数据发送给VR设备,VR设备将自身采集到的VR设备的传感器数据和手持设备的传感器数据进行数据同步。
示例性的,传感器数据包括3自由度(Degree of freedom,Dof)数据或者6Dof数据,当VR设备采用手持设备控制时,传感器数据还包括手柄按键的触控信息等。
3Dof是指有3个转动角度的自由度,6dof是指除了3个转动角度外,还包括上下、前后、左右等3个位置相关的自由度。即3dof的VR设备可以检测到头部向不同方向的自由转动,但是不能检测到头部的前后左右的空间位移,6Dof的VR设备除了检测头部的转动带来的视野角度变化外,还能够检测到由于身体移动带来的上下前后左右位移的变化。
VR设备和手持设备可以通过惯性测量单元(Inertial Measurement Unit,IMU)测量得到,IMU是测量物体三轴姿态角及加速度的装置。IMU包括6轴IMU和9轴IMU,6轴IMU包括三轴陀螺仪及三轴加速度计,9轴IMU除了三轴陀螺仪和三轴加速度计外,还包括三轴磁力计。
S102、将传感器数据发送给服务器。
本实施例的方法,需要同时使用远端服务器和本地端VR设备的数据渲染能力,所以,需要对同一帧图像进行服务器端和VR设备端的同步处理,使得同一帧数据的时间戳对齐。
示例性的,VR设备对传感器数据添加时间戳,以使得VR设备和服务器上的同一帧数据保持同步,可选的,该时间戳可以是VR设备获取到传感器数据的时间。其中,发送给服务器的传感器数据的时间戳与VR设备本地使用的传感器的时间戳相同。
可选的,VR设备将传感器数据发送给服务器时,还携带待渲染帧的帧信息,以使得服务器根据待渲染帧的帧信息获知对哪一帧图像进行渲染。
S103、根据传感器数据获取待渲染帧的深度信息。
VR设备端部署的游戏引擎,根据VR设备的6Dof数据,确定用户当前的世界坐标系、运动情况和控制信息等,进而根据世界坐标系和运动情况确定待渲染帧的深度信息,该深度信息可以为深度值,该深度信息与待渲染帧的纹理中的像素点一一对应,即每个像素点有一个深度值,该深度值也称为纹理深度。
深度信息的计算可以采用已有的方法,本实施例不对此限制,例如,在DirectX平台中,其计算公式为:
Figure BDA0003968122600000151
在OpenGL平台中,深度值计算公式为:
Figure BDA0003968122600000152
其中,depth表示像素点的深度值,一个像素点的坐标值经过MV变换后的坐标为(xv,yv,zv),M表示模型变换(model),即将模型空间转换到世界空间,V表示观察变换(view),即将世界空间转换到观察空间,zv的值也被称为eye Z value,f表示远端裁剪空间的距离,n表示近端裁剪空间的距离。
本申请实施例中,VR设备和服务器采用同样的计算方法计算像素点的深度值,从而能够保证VR设备和服务器各自计算得到的待渲染帧的深度信息相同。
S104、根据深度信息将待渲染帧中物体划分为近景物体和远景物体。
待渲染帧中的物体为渲染对象,将渲染对象划分为近景物体和远景物体,近景物体在VR设备上渲染,远景物体在服务器上渲染。
像素的深度值取值范围在0到1之间,像素点离摄像头越近,深度值越大,像素点离摄像头越远,深度值越小。所以,根据物体的深度信息,可以判断出物体离摄像头远近。
本实施例中根据深度信息划分得到的近景物体为离摄像头较近的物体,远景物体为离摄像头较远的物体。
在XR视频中,近景物体通常为运动物体,例如,游戏中的各种角色。远景物体通常为相对静止物体,例如,游戏中的背景图像,背景图像可以是天空、陆地、海洋、沙漠和城市等环境元素,环境元素通常是相对静止的。
可选的,近景物体的深度大于远景物体的深度,近景物体的深度大于远景物体的深度,可以理解为近景物体的整体深度大于远景物体的深度,由于深度信息的计算方式或者其他因素导致近景物体中有少部分像素的深度值较小,但是在渲染时该物体仍然会被作为近景物体。
可选的,XR设备和服务器配置有深度阈值,该深度阈值用于划分近景物体和远景物体。
该深度阈值是预先配置的初始深度阈值,或者,该深度阈值是服务器发送的更新后的深度阈值,更新后的深度阈值是服务器根据初始深度阈值和预设时长内的渲染图像的深度信息确定的。无论采用哪种深度阈值,都要保证VR设备和服务器在对同一帧图像渲染时使用的深度阈值是相同的。
示例性的,初始深度阈值为0.4,那么该深度阈值将物体的深度值划分为两个区间:[0,0.4]和(0.4,1],如果一个物体的整体深度值位于[0,0.4]区间,则确定该物体为远景物体,如果一个物体的整体深度值位于(0.4,1]区间内,则确定该物体为近景物体。
需要说明的是,本实施例的方法不会将同一个物体划分到两类物体中,同一个物体只属于近景物体或者远景物体,即不会对同一个物体进行切割,一个物体只在本地渲染或者云端渲染。
示例性的,XR设备可以通过如下几种方式划分为近景物体和远景物体:
方式一,当待渲染帧中目标物体的各个像素点的深度值均大于深度阈值时,确定目标物体为近景物体。当目标物体的各个像素点的深度值均小于等于深度阈值时,确定目标物体为远景物体。
该方式适用于设定的深度阈值正好能够覆盖目标物体的所有像素点的情况,即近景物体的所有像素点的深度值均大于该深度阈值,远景物体的素有像素点的深度值均小于或等于该深度阈值。
方式二,确定待渲染帧中目标物体的深度值大于深度阈值的像素点的比例。当该比例大于或等于比例阈值,则确定目标物体为近景物体,当该比例小于比例阈值时,确定目标物体为远景物体。
在实际情况中,对于同一个目标物体,存在目标物体的部分像素点的深度值小于等于深度阈值,其余部分的像素点的深度值大于深度阈值的情况,即设置的深度阈值并不能正好覆盖目标物体的所有像素点。
方式二通过统计目标物体中深度值大于深度阈值的像素点的比例,如果深度值大于深度阈值的像素点的比例大于或等于比例阈值,则确定目标物体为近景物体,否则,确定该目标物体为远景物体。
示例性的,该比例阈值例如为50%、55%或者60%等,目标物体中深度值大于深度阈值的像素点的比例大于50%,说明目标物体中大部分像素点的深度值都大于深度阈值,属于近景物体对应深度区间内,所以将目标物体确定为近景物体。同样,目标物体中深度值大于深度阈值的像素点的比例小于50%,说明目标物体中大部分像素点的深度值都小于深度阈值,属于近景物体对应深度区间内,所以将目标物体确定为近景物体。
可选的,也可以确定待渲染帧中目标物体的深度值小于等于深度阈值的像素点的第一比例,如果该第一比例大于等于比例阈值,则确定目标物体为远景物体,如果待第一比例小于比例阈值,则确定目标沃土为近景物体。
方式三,确定待渲染帧中目标物体的平均深度值。当平均深度值大于或等于深度阈值,则确定目标物体为近景物体,当平均深度值小于深度阈值,则确定目标物体为远景物体。
目标物体的平均深度值大于或等于深度阈值,说明目标物体中大部分像素点的深度值都大于深度阈值,属于近景物体对应深度区间内,所以将目标物体确定为近景物体。同样,目标物体的平均深度值小于深度阈值,说明目标物体中大部分像素点的深度都小于该深度阈值,属于远景物体对应的深度区间内,所以将目标物体确定为远景物体。
本实施例中,在待渲染帧中确定出近景物体后,剩余物体为远景物体,同样,确定出远景物体后,剩余物体为近景物体。
需要说明的是,在根据深度信息和深度阈值,将待渲染帧中的物体划分为近景物体和远景物体时,可以先对待渲染帧中的物体的深度值进行采样,即对待渲染帧中的物体像素点采样,不需要全部的像素点的深度信息进行划分,只在物体中选取部分像素点,使用部分像素点的深度信息进行划分。该方式可以减少像素点的深度值与深度阈值比较的工作量,减少计算成本,提高根据深度信息和深度阈值,将待渲染帧中的物体划分为近景物体和远景物体的效率。
可选的,在步骤S103中,不需要计算全部像素点的深度信息,对像素点进行下采样,只计算部分像素点的深度信息,相应的,在步骤S104中只使用采样后的像素点的深度信息进行近景物体和远景物体的划分,从而减少了深度信息计算的工作量,以及像素点的深度值与深度阈值比较的工作量,降低了VR设备的计算量,且能够降低整体渲染的时长。
S105、对近景物体进行渲染,得到近景物体对应的近景渲染图像。
图9为近景渲染图像和全景渲染图像的显示效果的对比示意图,如图9所示,VR设备仅渲染了筛选出的近景物体,对近景物体进行渲染。
可选的,VR设备将近景物体所在图像的其余部分处理为透明状态,具体可以由VR设备的游戏引擎进行透明处理。
VR设备的渲染模块在对近景物体渲染后,将发送给图像合成模块进行合成。
渲染模块渲染得到的数据是3D的纹理渲染后的模型,可选的,渲染模块对近景物体渲染后,可以由渲染模块或者游戏引擎将近景物体对应的近景渲染图像转换为一张2D纹理图像(texture2D),将该2D纹理图像发送给图像合成模块。
S106、接收服务器发送的远景物体对应的远景渲染图像,该远景渲染图像是服务器根据传感器数据对远景物体进行渲染得到的。
服务器采用与VR设备同样的方法获取待渲染帧的深度信息,保证服务器和VR设备计算得到的待渲染帧的深度信息相同。并且服务器采用与VR设备同样的划分方法和深度阈值将待渲染帧中的物体划分为近景物体和远景物体,并对远景物体进行渲染。可选的,服务器对渲染得到的远景渲染图像进行编码后发送给VR设备。
其中,步骤S105和S106在执行时并没有先后顺序。
S107、对近景渲染图像和远景渲染图像进行合成,得到待渲染帧的渲染图像。
示例性的,根据近景渲染图像的时间戳和远景渲染图像的时间戳,确定近景渲染图像和远景渲染图像是否同属于待渲染帧。当近景渲染图像和远景渲染图像同属于待渲染帧时,通过资源拷贝的方式将近景渲染图像和远景渲染图像合成一个图像,得到待渲染帧的渲染图像。
近景渲染图像的时间戳和远景渲染图像的时间戳与传感器数据的时间戳相同,VR设备通过在传感器数据中添加时间戳保证VR设备和服务器端数据的同步,VR设备和服务器在进行数据处理过程中,携带该时间戳。
在进行图像合成时,使用的近景渲染图像和远景渲染图像对应的2D纹理图像,如果图像合成模块接收到数据为近景渲染图像对应的2D纹理数据和远景渲染图像对应的2D纹理图像,那么可以直接进行合成。如果图像合成模块接收到的是3D的纹理渲染后的模型,则对近景渲染突出和远景渲染图像进行转换,得到近景渲染图像对应的2D纹理数据和远景渲染图像对应的2D纹理图像,然后进行合成。
可选的,近景渲染图像、远景渲染图像的大小均与待渲染帧的大小相同,近景渲染图像中除近景物体外的其余部分为透明状态,远景渲染图像为完整图像,即远景渲染图像没有空缺部分,这是因为远景图像为背景图像,背景图像渲染时整体渲染,即被近景物体遮挡的远景部分也会渲染。
资源拷贝方式,类似于“抠图”到“贴图”过程,将近景渲染图像贴图到远景渲染图像中,由于近景渲染图像中除了近景物体外的部分均是透明,贴图之后只遮挡了近景物体所在位置的背景图像,其他部分不遮挡。
在实际情况中,远景渲染图像可能由于网络传输的延时问题,导致VR设备和服务器的数据不同步,或者,网络传输过程中远景渲染图像丢失。相应的,如果VR设备在预设时长内没有接收到服务器发送的远景物体对应的远景渲染图像,则对近景渲染图像和前n个图像帧的远景渲染图像进行合成,得到待渲染帧的渲染图像,n为大于0且小于6的整数。
VR设备在预设时长内没有接收到服务器发送的远景物体对应的远景渲染图像,可能是由于数据延时或者丢失导致,该预设时长在下一帧图像渲染之前。
由于作为背景的远景物体,面积大,通常情况下相对静止,对实时性要求不高,并且前后帧之间的变化不大,所需的分辨率或者清晰度可以适当的压缩或者降低,所以,允许在一定时间范围内将实时更新的近景渲染图像和没有及时更新的远景渲染图像进行合成。
本实施例提供的分布式渲染方法可以应用在一些游戏场景中,例如,有些游戏的背景图像为相对静态的场景,仅画面前端的人物实时运动,背景图像相对静止,对时延要求低,所以采用服务器进行云渲染,即使数据丢失或者延时过大,由于背景图像相对静止,可以采用前一帧图像的远端渲染图像进行图像合成,而实时运动的人物对时延要求高,采用本地渲染。
S108、通过显示屏显示待渲染帧的渲染图像。
本实施例中,获取XR设备的传感器数据,将传感器数据发送给服务器,根据传感器数据获取待渲染帧的深度信息,根据深度信息将待渲染帧中的物体划分为近景物体和远景物体,对近景物体进行渲染,得到近景物体对应的近景渲染图像,远景物体对应的远景渲染图像由服务器根据传感器数据渲染得到,对近景渲染图像和远景渲染图像进行合成,得到待渲染帧的渲染图像,并上屏显示。通过分布式渲染,将同一帧图像中的近景物体通过XR设备进行本地渲染,远景物体通过远端服务器进行云渲染,发挥了本地渲染延时低以及云渲染自身算力强大的优势,降低了XR设备的硬件要求,提高了XR设备实时渲染的渲染速度。
图10是本申请实施例二提供的分布式渲染方法的流程示意图。本实施例从服务器的角度描述该分布式渲染方法,如图10所示,本实施例提供的方法包括以下步骤。
S201、接收XR设备发送的传感器数据。
以VR设备为例,VR设备发送的传感器数据中包括VR将自身传感器采集到的数据,如果VR设备采用手持设备控制,则该传感器数据中还包括手持设备的传感器采集到的数据,传感器数据的详细内容参照实施例一中的相关描述,这里不再赘述。
该传感器数据中还包括时间戳,该时间戳是XR设备添加的,用于实现VR设备和XR设备的数据同步。
S202、根据传感器数据获取待渲染帧的深度信息。
S203、根据深度信息将待渲染帧中的物体划分为近景物体和远景物体。
可选的,近景物体的深度大于远景物体的深度,示例性的,服务器可以通过如下几种方式划分为近景物体和远景物体:
方式一,当待渲染帧中目标物体的各个像素点的深度值均大于深度阈值时,确定目标物体为近景物体。当目标物体的各个像素点的深度值均小于等于深度阈值时,确定目标物体为远景物体。
方式二,确定待渲染帧中目标物体的深度值大于深度阈值的像素点的比例。当该比例大于或等于比例阈值,则确定目标物体为近景物体,当该比例小于比例阈值时,确定目标物体为远景物体。
方式三,确定待渲染帧中目标物体的平均深度值。当平均深度值大于或等于深度阈值,则确定目标物体为近景物体,当平均深度值小于深度阈值,则确定目标物体为远景物体。
其中,服务器采用的深度阈值与XR设备采用的深度阈值一致,该深度阈值是预先配置的初始深度阈值,或者,该深度阈值是服务器根据初始深度阈值和预设时长内的渲染图像的深度信息确定的。
本申请实施例中,服务器和XR设备获取待渲染帧的深度信息的方式,以及根据深度信息将待渲染帧中的物体划分为近景物体和远景物体的划分方式均相同,具体实现方式参照实施例一中的相关描述,这里不再赘述。
S204、对远景物体进行渲染,得到远景物体对应的远景渲染图像。
服务器对远景物体的具体渲染过程这里不再赘述,图11为远景渲染图像和全景渲染图像的显示效果的对比示意图,如图11所示,服务器仅渲染了筛选出的远景物体,没有对近景物体进行渲染。
图11所示图像中,远景渲染图像为完整图像,远景渲染图像没有空缺部分,这是因为远景图像为背景图像,背景图像渲染时整体渲染,被近景物体遮挡的远景部分也会渲染。
可选的,对远景物体进行渲染之前,服务器判断自身是否存储有与远景物体对应的远景渲染图像相似的目标渲染图像,如果服务器中存储有目标渲染图像,则将目标渲染图像作为远景物体对应的远景渲染图像。如果服务器中没有存储目标渲染图像,则对远景物体进行渲染,得到远景物体对应的远景渲染图像。
一种实现方式中,待渲染帧对应的第一用户与所述目标渲染图像对应的第二用户属于同一游戏房间。
在网络游戏中,同一个游戏房间内有多个用户(或者称为玩家),同一个游戏房间内的多个用户位于相同的空间内,该多个用户的视角基本相同,即该多个用户看到的游戏画面基本是相同的,在该前提下,不必要对房间内的每个用户的图像都进行渲染,可以只对其中一个用户的图像进行渲染,并保存该用户的图像渲染结果,剩余用户都可以复用该用户的图像渲染结果。
该实现方式中,服务器需要获取待渲染帧对应的第一用户的游戏房间号,并根据第一用户的游戏房间号查询服务器中是否存储有该游戏房间内的其他用户的图像渲染结果,如果服务器中存储有该游戏房间内的其他用户的图像渲染结果,则确定服务器中存储有与远景物体对应的远景渲染图像相似的目标渲染图像。
S205、将远景渲染图像发送给XR设备。
可选的,服务器对渲染得到的远景渲染图像进行编码后发送给XR设备,服务器发送给XR设备的远景渲染图像中包括时间戳,该时间戳为传感器数据携带的时间戳,通过携带该时间戳,保证XR设备能够对同一帧图像的近景渲染图像和远景渲染图像进行合成。
步骤S204中渲染得到的数据是3D的纹理渲染后的模型,可选的,对远景物体渲染后,可以由服务器的渲染模块或者游戏引擎将远景物体对应的远景渲染图像转换为一张2D纹理图像,将该2D纹理图像编码后发送给XR设备。
本实施例中,服务器接收XR设备发送的传感器数据,根据传感器数据获取待渲染帧的深度信息,根据该深度信息将待渲染帧中的物体划分为近景物体和远景物体,近景物体的深度大于远景物体的深度,对远景物体进行渲染,得到远景物体对应的远景渲染图像,将远景渲染图像发送给XR设备。该方法采用分布式渲染方法,将同一帧图像中的近景物体通过XR设备进行本地渲染,远景物体通过远端的服务器进行云渲染,发挥了了本地渲染延时低以及云渲染自身算力强大的优势,降低了XR设备的硬件要求,提高了XR设备实时渲染的渲染速度。
在上述实施例的基础上,本申请实施例三提供一种深度阈值的更新方法,由服务器进行深度阈值更新,图12为本申请实施例三提供的深度阈值更新方法的流程图,如图12所示,本实施例提供的方法包括以下步骤。
S301、根据连续的M个图像帧的近景物体的深度信息,计算M个图像帧的近景物体的平均深度值。
服务器和XR设备在本次图像开始渲染(即第一帧图像开始渲染)时,默认使用初始深度阈值,XR设备和服务器的初始深度阈值相同,示例性的,该初始深度阈值为0.4。
在一些实施例中,服务器和XR设备可以一直使用该初始深度阈值进行近景物体和远景物体的划分。
在另一些实施例中,服务器可以对深度阈值进行动态更新。服务器可以周期性的判断是否需要更新深度阈值,例如,服务器每隔预设时长判断一次,或者,服务器每隔固定数量的图像帧判断一次,或者,服务器在每个图像帧的深度信息计算完成后判断一次。
服务器读取当前时间之前的连续的M个图像帧的近景物体的深度信息,相应的,服务器在计算每个图像帧的深度信息后,保存该图像帧的近景物体的深度信息,保存的图像帧的近景物体的深度信息可以在固定时长之后删除。M为大于0的整数,M的取值要合适,如果M的取值过大可能会导致计算得到的平均深度值不能反映当前时间段内近景物体的深度值分布情况。
服务器可以分别计算每个图像帧的近景物体的平均深度值,然后,对M个图像帧的近景物体的平均深度值再次求取平均值,得到M个图像帧的近景物体的整体的平均深度值。
可选的,服务器还可以对M个图像帧的近景物体的平均深度值进行加权平均运算,得到M个图像帧的近景物体的整体的平均深度值。
该M个图像帧的近景物体的平均深度值能够反应该M个图像帧的近景物体的深度值的整体取值,例如,该平均深度值为0.55,那么说明M个图像帧的近景物体的深度值一直在0.55附近波动,所有可以将深度阈值更新为0.55。
S302、根据该平均深度值更新深度阈值。
一种实现方式中,服务器判断该平均深度阈值是否大于深度阈值上限,如果该平均深度值不大于深度阈值上限,则将该深度阈值更新为该平均深度值。如果该平均深度值大于深度阈值上限,则将深度阈值更新为该深度阈值上限,或者,不对该深度阈值进行更新。
示例性的,该深度阈值上限为0.6,如果该平均深度值小于0.6,则将该深度阈值更新为该平均深度值。如果该平均深度值小于大于0.6,则将该深度阈值更新为0.6,或者不对该深度阈值进行更新。
可选的,如果该平均深度值不大于深度阈值上限,则可以对该平均深度值进行调整,例如,乘以预设系数,该预设系数例如为0.8。或者,对该平均深度值加减一个调整值,例如,增加0.2或者减小0.2。然后,将该深度阈值更新为调整后的平均深度值。
S303、向XR设备发送更新后的深度阈值。
服务器在对深度阈值更新后,将更新后的深度阈值通知给XR设备,以保证服务器和XR设备使用的深度阈值保持一致,从而才能保证服务器和XR划分得到的近景物体和远景物体一致。
本实施例中,服务器周期性的根据连续的M个图像帧的近景物体的深度信息,计算M个图像帧的近景物体的平均深度值,根据该平均深度值确定是否更新深度阈值,从而能够为当前时间或者当前时间之后的一段时间内的图像帧的近景物体选择合适的阈值,使得近景物体和远景物体的划分更加准确。
在上述实施例的基础上,本申请实施例四提供一种分布式渲染方法,用户描述服务器和VR设备的交互过程,相同内容参照前述实施例的描述,本实施例不再赘述。图13为本申请实施例四提供的分布式渲染方法的流程图,如图13所示,本实施例提供的方法包括以下步骤。
S401、VR设备获取自身的传感器数据和手持控制器的传感器数据。
S402、VR设备对传感器数据进行VR设备端和服务器端的同步处理。
S403、VR设备将传感器数据发送给服务器。
S404a、VR设备根据传感器数据获取待渲染帧的深度信息。
S405a、VR设备根据深度信息将待渲染帧中的物体划分为近景物体和远景物体。
S406a、VR设备对近景物体进行渲染得到近景渲染图像。
S404b、服务器根据传感器数据获取待渲染帧的深度信息。
S405b、服务器根据深度信息将待渲染帧中的物体划分为近景物体和远景物体。
S406b、服务器对远景物体进行渲染,得到远景渲染图像。
S407、服务器将远景渲染图像编码后发送给VR设备。
S408、VR设备将近景渲染图像和远景渲染图像进行合并,得到待渲染帧的渲染图像。
S409、VR设备将待渲染帧的渲染图像在显示屏幕显示。
在步骤S409执行完成之后,返回执行步骤S401,开始下一帧图像的渲染。
S410、服务器根据连续的M个图像帧的近景物体的深度信息,进行深度阈值更新。
S411、服务器向VR设备发送更新后的深度阈值。
其中,步骤S410和S411为可选步骤,在一些实施例中,服务器也可以不进行深度阈值的更新,而是一直初始深度阈值进行近景物体和远景物体的划分。
为便于更好的实施本申请实施例的分布式渲染方法,本申请实施例还提供一种分布式渲染装置。图14为本申请实施例五提供的分布式渲染装置的结构示意图,如图14所示,该分布式渲染装置100可以包括:
获取模块11,用于获取扩展现实XR设备的传感器数据;
发送模块12,用于将所述传感器数据发送给服务器;
深度确定模块13,用于根据所述传感器数据获取待渲染帧的深度信息;
划分模块14,用于根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体;
渲染模块15,用于对所述近景物体进行渲染,得到所述近景物体对应的近景渲染图像;
接收模块16,用于接收所述服务器发送的所述远景物体对应的远景渲染图像,所述远景渲染图像是所述服务器根据所述传感器数据对所述远景物体进行渲染得到的;
图像合成模块17,用于对所述近景渲染图像和所述远景渲染图像进行合成,得到所述待渲染帧的渲染图像;
显示模块18,用于通过显示屏显示所述待渲染帧的渲染图像。
在一些实施例中,所述划分模块14具体用于:
当所述待渲染帧中目标物体的各个像素点的深度值均大于深度阈值时,确定所述目标物体为近景物体;
当所述目标物体的各个像素点的深度值均小于等于所述深度阈值时,确定所述目标物体为远景物体。
在一些实施例中,所述划分模块14具体用于:
确定所述待渲染帧中目标物体的深度值大于深度阈值的像素点的比例;
当所述比例大于或等于比例阈值,则确定所述目标物体为近景物体;
当所述比例小于所述比例阈值时,确定所述目标物体为远景物体。
在一些实施例中,所述划分模块14具体用于:
确定所述待渲染帧中目标物体的平均深度值;
当所述平均深度值大于或等于深度阈值,则确定所述目标物体为近景物体;
当所述平均深度值小于所述深度阈值,则确定所述目标物体为远景物体。
在一些实施例中,所述服务器采用的深度阈值与所述XR设备采用的深度阈值一致;
所述深度阈值是预先配置的初始深度阈值,或者,所述深度阈值是服务器发送的更新后的深度阈值,所述更新后的深度阈值是所述服务器根据初始深度阈值和预设时长内的渲染图像的深度信息确定的。
在一些实施例中,所述图像合成模块17具体用于:
根据所述近景渲染图像的时间戳和所述远景渲染图像的时间戳,确定所述近景渲染图像和所述远景渲染图像是否同属于所述待渲染帧;
当所述近景渲染图像和所述远景渲染图像同属于所述待渲染帧时,通过资源拷贝的方式将所述近景渲染图像和所述远景渲染图像合成一个图像,得到所述待渲染帧的渲染图像。
在一些实施例中,还包括同步模块,用于对所述传感器数据添加时间戳,以使得所述XR设备和所述服务器上的同一帧数据保持同步。
在一些实施例中,所述近景渲染图像、所述远景渲染图像的大小均与所述待渲染帧的大小相同;
所述近景渲染图像中除所述近景物体外的其余部分为透明状态;
所述远景渲染图像为完整图像。
在一些实施例中,所述渲染模块15具体用于:
根据所述传感器数据对所述近景物体进行渲染,并将所述近景物体所在图像的其余部分处理为透明状态。
在一些实施例中,所述图像合成模块17还用于:
如果在预设时长内没有接收到所述服务器发送的所述远景物体对应的远景渲染图像,则对所述近景渲染图像和前n个图像帧的远景渲染图像进行合成,得到所述待渲染帧的渲染图像,n为大于0且小于6的整数。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。
图15为本申请实施例六提供的分布式渲染装置的结构示意图,如图15所示,该分布式渲染装置200可以包括:
接收模块21,用于接收扩展现实XR设备发送的传感器数据;
深度确定模块22,用于根据所述传感器数据获取待渲染帧的深度信息;
划分模块23,用于根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体;
渲染模块24,用于对所述远景物体进行渲染,得到所述远景物体对应的远景渲染图像;
发送模块25,用于将所述远景渲染图像发送给所述XR设备。
在一些实施例中,所述划分模块23具体用于:
当所述待渲染帧中的一个目标物体的各个像素点的深度值均大于深度阈值时,确定所述目标物体为近景物体;
当所述目标物体的各个像素点的深度值均小于等于所述深度阈值时,确定所述目标物体为远景物体。
在一些实施例中,所述划分模块23具体用于:
确定所述待渲染帧中目标物体的深度值大于深度阈值的像素点的比例;
当所述比例大于或等于比例阈值,则确定所述目标物体为近景物体;
当所述比例小于所述比例阈值时,确定所述目标物体为远景物体。
在一些实施例中,所述划分模块23具体用于:
确定所述待渲染帧中目标物体的平均深度值;
当所述平均深度值大于或等于深度阈值,则确定所述目标物体为近景物体;
当所述平均深度值小于所述深度阈值,则确定所述目标物体为远景物体。
在一些实施例中,所述服务器采用的深度阈值与所述XR设备采用的深度阈值一致;
所述深度阈值是预先配置的初始深度阈值,或者,所述深度阈值是所述服务器根据初始深度阈值和预设时长内的渲染图像的深度信息确定的。
在一些实施例中,还包括阈值更新模块,用于:
根据连续的M个图像帧的近景物体的深度信息,计算所述M个图像帧的近景物体的平均深度值;
根据所述平均深度值更新所述深度阈值;
向所述XR设备发送更新后的深度阈值。
在一些实施例中,所述阈值更新模块具体用于:
判断所述平均深度值是否大于深度阈值上限;
如果所述平均深度值不大于所述深度阈值上限,则将所述深度阈值更新为所述平均深度值;
如果所述平均深度值大于所述深度阈值上限,则将所述深度阈值更新为所述深度阈值上限,或者,不对所述深度阈值进行更新。
在一些实施例中,所述渲染模块24还用于:
判断所述服务器中是否存储有与所述远景物体对应的远景渲染图像相似的目标渲染图像;
如果所述服务器中存储有所述目标渲染图像,则将所述目标渲染图像作为所述远景物体对应的远景渲染图像;
如果所述服务器中没有存储所述目标渲染图像,则对所述远景物体进行渲染,得到所述远景物体对应的远景渲染图像。
在一些实施例中,所述待渲染帧对应的第一用户与所述目标渲染图像对应的第二用户属于同一游戏房间。
在一些实施例中,所述传感器数据具有时间戳,所述时间戳是所述XR设备添加的;
所述渲染模块24还用于:为所述远景渲染图像添加所述时间戳。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置100和200。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
本申请实施例还提供一种电子设备。图16为本申请实施例八提供的电子设备的一种结构示意图,如图16所示,该电子设备300可以包括:
存储器31和处理器32,该存储器31用于存储计算机程序,并将该程序代码传输给该处理器32。换言之,该处理器32可以从存储器31中调用并运行计算机程序,以实现本申请实施例中的方法。
例如,该处理器32可用于根据该计算机程序中的指令执行上述方法实施例中XR设备或者服务器执行的方法步骤,相应的,该电子设备300为XR设备或者服务器。
在本申请的一些实施例中,该处理器32可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器31包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器31中,并由该处理器32执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在电子设备中的执行过程。
如图16所示,该电子设备还可包括:收发器33,该收发器33可连接至该处理器32或存储器31。
其中,处理器32可以控制该收发器33与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器33可以包括发射机和接收机。收发器33还可以进一步包括天线,天线的数量可以为一个或多个。
可以理解,虽然图16中未示出,该电子设备300还可以包括摄像头模组、无线保真WIFI模块、定位模块、蓝牙模块、显示器、控制器等,在此不再赘述。
应当理解,该电子设备中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例中XR设备或者服务器执行的方法,在此不再赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得电子设备执行上述方法实施例中XR设备或者服务器执行的方法,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上该,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。

Claims (28)

1.一种分布式渲染方法,其特征在于,应用于XR设备,所述方法包括:
获取扩展现实XR设备的传感器数据;
将所述传感器数据发送给服务器;
根据所述传感器数据获取待渲染帧的深度信息;
根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体;
对所述近景物体进行渲染,得到所述近景物体对应的近景渲染图像;
接收所述服务器发送的所述远景物体对应的远景渲染图像,所述远景渲染图像是所述服务器根据所述传感器数据对所述远景物体进行渲染得到的;
对所述近景渲染图像和所述远景渲染图像进行合成,得到所述待渲染帧的渲染图像;
通过显示屏显示所述待渲染帧的渲染图像。
2.根据权利要求1所述的方法,其特征在于,所述根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体,包括:
当所述待渲染帧中目标物体的各个像素点的深度值均大于深度阈值时,确定所述目标物体为近景物体;
当所述目标物体的各个像素点的深度值均小于等于所述深度阈值时,确定所述目标物体为远景物体。
3.根据权利要求1所述的方法,其特征在于,所述根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体,包括:
确定所述待渲染帧中目标物体的深度值大于深度阈值的像素点的比例;
当所述比例大于或等于比例阈值,则确定所述目标物体为近景物体;
当所述比例小于所述比例阈值时,确定所述目标物体为远景物体。
4.根据权利要求1所述的方法,其特征在于,所述根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体,包括:
确定所述待渲染帧中目标物体的平均深度值;
当所述平均深度值大于或等于深度阈值,则确定所述目标物体为近景物体;
当所述平均深度值小于所述深度阈值,则确定所述目标物体为远景物体。
5.根据权利要求2-4任一项所述的方法,其特征在于,所述服务器采用的深度阈值与所述XR设备采用的深度阈值一致;
所述深度阈值是预先配置的初始深度阈值,或者,所述深度阈值是服务器发送的更新后的深度阈值,所述更新后的深度阈值是所述服务器根据初始深度阈值和预设时长内的渲染图像的深度信息确定的。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述对所述近景渲染图像和所述远景渲染图像进行合成,得到所述待渲染帧的渲染图像,包括:
根据所述近景渲染图像的时间戳和所述远景渲染图像的时间戳,确定所述近景渲染图像和所述远景渲染图像是否同属于所述待渲染帧;
当所述近景渲染图像和所述远景渲染图像同属于所述待渲染帧时,通过资源拷贝的方式将所述近景渲染图像和所述远景渲染图像合成一个图像,得到所述待渲染帧的渲染图像。
7.根据权利要求1-4任一项所述的方法,其特征在于,获取扩展现实XR设备的传感器数据之后,还包括:
对所述传感器数据添加时间戳,以使得所述XR设备和所述服务器上的同一帧数据保持同步。
8.根据权利要求1-4任一项所述的方法,其特征在于,所述近景渲染图像、所述远景渲染图像的大小均与所述待渲染帧的大小相同;
所述近景渲染图像中除所述近景物体外的其余部分为透明状态;
所述远景渲染图像为完整图像。
9.根据权利要求8所述的方法,其特征在于,所述根据所述传感器数据对所述近景物体进行渲染,得到所述近景物体对应的近景渲染图像,包括:
根据所述传感器数据对所述近景物体进行渲染,并将所述近景物体所在图像的其余部分处理为透明状态。
10.根据权利要求1-4任一项所述的方法,其特征在于,根据所述传感器数据对所述近景物体进行渲染,得到所述近景物体对应的近景渲染图像之后,还包括:
如果在预设时长内没有接收到所述服务器发送的所述远景物体对应的远景渲染图像,则对所述近景渲染图像和前n个图像帧的远景渲染图像进行合成,得到所述待渲染帧的渲染图像,n为大于0且小于6的整数。
11.一种分布式渲染方法,其特征在于,应用于服务器,所述方法包括:
接收扩展现实XR设备发送的传感器数据;
根据所述传感器数据获取待渲染帧的深度信息;
根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体;
对所述远景物体进行渲染,得到所述远景物体对应的远景渲染图像;
将所述远景渲染图像发送给所述XR设备。
12.根据权利要求11所述的方法,其特征在于,所述根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体,包括:
当所述待渲染帧中的一个目标物体的各个像素点的深度值均大于深度阈值时,确定所述目标物体为近景物体;
当所述目标物体的各个像素点的深度值均小于等于所述深度阈值时,确定所述目标物体为远景物体。
13.根据权利要求11所述的方法,其特征在于,所述根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体,包括:
确定所述待渲染帧中目标物体的深度值大于深度阈值的像素点的比例;
当所述比例大于或等于比例阈值,则确定所述目标物体为近景物体;
当所述比例小于所述比例阈值时,确定所述目标物体为远景物体。
14.根据权利要求11所述的方法,其特征在于,所述根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体,包括:
确定所述待渲染帧中目标物体的平均深度值;
当所述平均深度值大于或等于深度阈值,则确定所述目标物体为近景物体;
当所述平均深度值小于所述深度阈值,则确定所述目标物体为远景物体。
15.根据权利要求11所述的方法,其特征在于,所述服务器采用的深度阈值与所述XR设备采用的深度阈值一致;
所述深度阈值是预先配置的初始深度阈值,或者,所述深度阈值是所述服务器根据初始深度阈值和预设时长内的渲染图像的深度信息确定的。
16.根据权利要求15所述的方法,其特征在于,还包括:
根据连续的M个图像帧的近景物体的深度信息,计算所述M个图像帧的近景物体的平均深度值;
根据所述平均深度值更新所述深度阈值;
向所述XR设备发送更新后的深度阈值。
17.根据权利要求16所述的方法,其特征在于,所述根据所述平均深度值更新所述深度阈值,包括:
判断所述平均深度值是否大于深度阈值上限;
如果所述平均深度值不大于所述深度阈值上限,则将所述深度阈值更新为所述平均深度值;
如果所述平均深度值大于所述深度阈值上限,则将所述深度阈值更新为所述深度阈值上限,或者,不对所述深度阈值进行更新。
18.根据权利要求11-17任一项所述的方法,其特征在于,对所述远景物体进行渲染之前,还包括:
判断所述服务器中是否存储有与所述远景物体对应的远景渲染图像相似的目标渲染图像;
如果所述服务器中存储有所述目标渲染图像,则将所述目标渲染图像作为所述远景物体对应的远景渲染图像;
如果所述服务器中没有存储所述目标渲染图像,则对所述远景物体进行渲染,得到所述远景物体对应的远景渲染图像。
19.根据权利要求18所述的方法,其特征在于,所述待渲染帧对应的第一用户与所述目标渲染图像对应的第二用户属于同一游戏房间。
20.根据权利要求11-17任一项所述的方法,其特征在于,所述传感器数据具有时间戳,所述时间戳是所述XR设备添加的;
将所述远景渲染图像发送给所述XR设备之前,还包括:
为所述远景渲染图像添加所述时间戳。
21.一种分布式渲染装置,其特征在于,包括:
获取模块,用于获取扩展现实XR设备的传感器数据;
发送模块,用于将所述传感器数据发送给服务器;
深度确定模块,用于根据所述传感器数据获取待渲染帧的深度信息;
划分模块,用于根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体;
渲染模块,用于对所述近景物体进行渲染,得到所述近景物体对应的近景渲染图像;
接收模块,用于接收所述服务器发送的所述远景物体对应的远景渲染图像,所述远景渲染图像是所述服务器根据所述传感器数据对所述远景物体进行渲染得到的;
图像合成模块,用于对所述近景渲染图像和所述远景渲染图像进行合成,得到所述待渲染帧的渲染图像;
显示模块,用于通过显示屏显示所述待渲染帧的渲染图像。
22.一种分布式渲染装置,其特征在于,包括:
接收模块,用于接收扩展现实XR设备发送的传感器数据;
深度确定模块,用于根据所述传感器数据获取待渲染帧的深度信息;
划分模块,用于根据所述深度信息将所述待渲染帧中的物体划分为近景物体和远景物体;
渲染模块,用于对所述远景物体进行渲染,得到所述远景物体对应的远景渲染图像;
发送模块,用于将所述远景渲染图像发送给所述XR设备。
23.一种XR设备,其特征在于,包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行权利要求1至10中任一项所述的方法。
24.一种服务器,其特征在于,包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行权利要求11至20中任一项所述的方法。
25.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至10中任一项所述的方法。
26.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求11至20中任一项所述的方法。
27.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至10中任一项所述的方法。
28.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求11至20中任一项所述的方法。
CN202211505804.8A 2022-11-28 2022-11-28 分布式渲染方法、装置、设备、介质和程序产品 Pending CN115830203A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211505804.8A CN115830203A (zh) 2022-11-28 2022-11-28 分布式渲染方法、装置、设备、介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211505804.8A CN115830203A (zh) 2022-11-28 2022-11-28 分布式渲染方法、装置、设备、介质和程序产品

Publications (1)

Publication Number Publication Date
CN115830203A true CN115830203A (zh) 2023-03-21

Family

ID=85532398

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211505804.8A Pending CN115830203A (zh) 2022-11-28 2022-11-28 分布式渲染方法、装置、设备、介质和程序产品

Country Status (1)

Country Link
CN (1) CN115830203A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117036574A (zh) * 2023-08-11 2023-11-10 北京百度网讯科技有限公司 渲染方法、装置、电子设备以及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117036574A (zh) * 2023-08-11 2023-11-10 北京百度网讯科技有限公司 渲染方法、装置、电子设备以及存储介质

Similar Documents

Publication Publication Date Title
CN110889890B (zh) 图像处理方法及装置、处理器、电子设备及存储介质
EP3057066B1 (en) Generation of three-dimensional imagery from a two-dimensional image using a depth map
KR101623288B1 (ko) 렌더링 시스템, 렌더링 서버, 그 제어 방법, 및 기록 매체
CN108227916A (zh) 用于确定沉浸式内容中的兴趣点的方法和设备
CN107274469A (zh) 面向虚拟现实的协同渲染方法
US11120632B2 (en) Image generating apparatus, image generating system, image generating method, and program
EP3128413A1 (en) Sharing mediated reality content
CN114175097A (zh) 用于对象类别建模的生成潜在纹理代理
KR20220137880A (ko) 증강 현실에서 물리적 객체에 의한 가상 객체의 오클루전
CN101477701A (zh) 面向AutoCAD和3DS MAX软件的植入式真三维立体渲染方法
CN114494328B (zh) 图像显示方法、装置、电子设备及存储介质
CN101477702B (zh) 计算机显卡的植入式真三维立体驱动方法
JP2021056679A (ja) 画像処理装置、方法及びプログラム
CN111355944A (zh) 生成并用信号传递全景图像之间的转换
JP2022537817A (ja) 動的オクルージョンのための高速の手のメッシュ化
CN114419226A (zh) 全景渲染方法、装置、计算机设备和存储介质
US11893705B2 (en) Reference image generation apparatus, display image generation apparatus, reference image generation method, and display image generation method
KR102503337B1 (ko) 이미지 디스플레이 방법, 장치 및 시스템
CN115830203A (zh) 分布式渲染方法、装置、设备、介质和程序产品
US20190295324A1 (en) Optimized content sharing interaction using a mixed reality environment
CN108230430B (zh) 云层遮罩图的处理方法及装置
CN101521828B (zh) 面向esri三维gis模块的植入式真三维立体渲染方法
CN101540056B (zh) 面向ERDAS Virtual GIS的植入式真三维立体渲染方法
US20210090322A1 (en) Generating and Modifying Representations of Objects in an Augmented-Reality or Virtual-Reality Scene
CN116958344A (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