CN118101982A - 直播方法、装置、设备及存储介质 - Google Patents
直播方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN118101982A CN118101982A CN202211494322.7A CN202211494322A CN118101982A CN 118101982 A CN118101982 A CN 118101982A CN 202211494322 A CN202211494322 A CN 202211494322A CN 118101982 A CN118101982 A CN 118101982A
- Authority
- CN
- China
- Prior art keywords
- panoramic
- texture
- regular polyhedron
- virtual space
- texture 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000009877 rendering Methods 0.000 claims abstract description 86
- 239000000463 material Substances 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 20
- 230000009466 transformation Effects 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000007654 immersion Methods 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004040 coloring Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Landscapes
- Image Generation (AREA)
Abstract
本申请提供了一种直播方法、装置、设备及存储介质。该方法包括:根据图像渲染引擎内置的场景捕获正多面体,确定第一虚拟空间内的正多面体纹理图像;根据正多面体视角和全景视角间的对应关系,将所述正多面体纹理图像转换为对应的全景纹理图像;将所述全景纹理图像发送给观众端。本申请实施例实现第二虚拟空间内的全景直播,无需观众端对采用图像渲染引擎开发的VR应用内的直播画面进行直接处理,极大降低了观众端对于全景直播的渲染压力,使得观众体验到与主播相同的全景沉浸感,提升观众端在虚拟空间内的观看体验,从而增强观众端在虚拟空间内的沉浸式体验。
Description
技术领域
本申请实施例涉及图像处理技术领域,尤其涉及一种直播方法、装置、设备及存储介质。
背景技术
随着虚拟现实(Virtual Reality,简称为VR)技术的普及,越来越多的用户对在各种VR应用内所提供的虚拟环境内执行各项互动操作的互动画面存在直播需求,例如对VR游戏内玩家的游戏画面进行直播等。
目前,大型VR游戏或VR应用往往使用各种图形引擎进行开发,用户使用VR设备来观看主播分享的VR直播画面时,受限于VR设备自身的硬件配置,可能不支持使用相应图形引擎进行高性能画面渲染,使得VR设备存在极大的渲染压力,降低用户采用VR设备观看VR直播画面时的体验。
发明内容
本申请实施例提供一种直播方法、装置、设备及存储介质,实现在不同虚拟空间内的实时全景直播,降低观众端对于全景直播的渲染压力,使得观众体验到与主播相同的全景沉浸感,提升观众端在虚拟空间内的观看体验。
第一方面,本申请实施例提供了一种直播方法,应用于主播端,该方法包括:
根据图像渲染引擎内置的场景捕获正多面体,确定第一虚拟空间内的正多面体纹理图像;
根据在正多面体视角和全景视角间的对应关系,将所述正多面体纹理图像转换为对应的全景纹理图像;
将所述全景纹理图像发送给观众端。
第二方面,本申请实施例提供了一种直播方法,应用于观众端,该方法包括:
接收主播端发送的第一虚拟空间内的全景纹理图像;
将所述全景纹理图像渲染到第二虚拟空间内基于全景视角预创建的全景模型内,以实现所述第二虚拟空间内的全景直播。
第三方面,本申请实施例提供了一种直播装置,配置于主播端,该装置包括:
初始纹理确定模块,用于根据图像渲染引擎内置的场景捕获正多面体,确定第一虚拟空间内的正多面体纹理图像;
全景纹理转换模块,用于根据正多面体视角和全景视角间的对应关系,将所述正多面体纹理图像转换为对应的全景纹理图像;
全景纹理发送模块,用于将所述全景纹理图像发送给观众端。
第四方面,本申请实施例提供了一种直播装置,配置于观众端,该装置包括:
全景纹理接收模块,用于接收主播端发送的第一虚拟空间内的全景纹理图像;
全景纹理渲染模块,用于将所述全景纹理图像渲染到第二虚拟空间内基于全景视角预创建的全景模型内,以实现所述第二虚拟空间内的全景直播。
第五方面,本申请实施例提供了一种电子设备,该电子设备包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行本申请任一实施例提供的直播方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行如本申请任一实施例提供的直播方法。
第七方面,本申请实施例提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现如本申请任一实施例提供的直播方法。
本申请实施例提供的一种直播方法、装置、设备及存储介质,对于采用任一图像渲染引擎开发的各类VR应用,主播端在进入某一VR应用提供的第一虚拟空间,来对该虚拟场景画面进行直播的过程中,会根据图像渲染引擎内置的场景捕获正多面体,确定第一虚拟空间内的正多面体纹理图像。然后,根据正多面体视角和全景视角间的对应关系,将正多面体纹理图像转换为对应的全景纹理图像,进而将该全景纹理图像发送给观众端,为观众端在其所处的第二虚拟空间内的全景直播提供全景画面支持,实现采用图像渲染引擎开发的各应用内直播画面的实时全景直播。观众端对于接收到的主播端发送的第一虚拟空间内的全景纹理图像,会将该全景纹理图像渲染到第二虚拟空间内基于全景视角预创建的全景模型内,以实现第二虚拟空间内的全景直播,无需观众端对采用图像渲染引擎开发的VR应用内的直播画面进行直接处理,极大降低了观众端对于全景直播的渲染压力,使得观众体验到与主播相同的全景沉浸感,提升观众端在虚拟空间内的观看体验,从而增强观众端在虚拟空间内的沉浸式体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例示出的直播方法所处的场景架构图;
图2为本申请实施例示出的一种直播方法的流程图;
图3为本申请实施例示出的场景捕获立方体的示意图;
图4为本申请实施例示出的正多面体纹理图像为立方体贴图的示意图;
图5为本申请实施例示出的应用于主播端的直播方法的另一流程图;
图6为本申请实施例示出的设定材质的示意图;
图7为本申请实施例示出的确定材质更新纹理的架构示意图;
图8为本申请实施例示出的一种直播方法的流程图;
图9为本申请实施例示出的一种直播装置的原理框图;
图10为本申请实施例示出的一种直播装置的原理框图;
图11为本申请实施例示出的电子设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为本申请实施例示出的直播方法所处的场景架构图。该应用场景可以包括主播端110和至少一个观众端120。
其中,本申请主要针对采用图像渲染引擎开发的各类VR应用内的场景画面进行直播,例如对于采用图像渲染引擎开发的大型VR游戏内某一玩家的游戏画面进行直播等。为了确保VR应用的高性能运行,通常会将此类VR应用运行在个人计算机(PersonalComputer,简称为PC)上,以便主播在PC端登录该VR应用,并进入到该VR应用提供的虚拟空间内。
其中,本申请中的图像渲染引擎可以为虚幻引擎。
所以,本申请中的主播端110可以采用图像渲染引擎开发的各类VR应用所在的PC端。对于主播端在VR应用提供的虚拟空间内的实时直播画面,观众端120可以为任一种VR设备内的头戴显示器,以使观众通过佩戴VR设备内的头戴显示器,来进入相应的虚拟空间内,观看主播端110提供的实时直播画面。
应当理解的是,为了能够为主播端110和观众端120提供同一直播内容下的三维虚拟场景,观众端120上也会安装有采用图像渲染引擎开发的VR应用。
示例性的,主播通过在PC端上运行任一采用图像渲染引擎开发的VR应用,可以进入到对应的虚拟空间内,该虚拟空间内可以展示有该VR应用下所提供的直播内容的三维虚拟场景。然后,主播端110在检测到虚拟空间内直播控件的触发指令后,会为主播生成对应的VR直播间。例如,主播通过PC端运行某一VR游戏应用而进入虚拟空间后,会在该虚拟空间内展示相应的游戏场景。同时,主播通过触发虚拟空间内相应的直播控件后,可以在该VR游戏应用内生成该主播的VR直播间。
然后,观众通过佩戴任一VR设备内的头戴显示器并启动后,会进入相应的虚拟空间。进而,通过登录观众端120所安装的VR应用,即可在虚拟空间内展示与主播端110具备同一直播内容的三维虚拟场景。然后,观众通过触发主播的VR直播间的加入操作,即可作为该主播的观众存在,实时获取主播端110的直播画面。
此时,主播端110对于主播在虚拟空间内每一直播时刻下的直播画面,可以跨进程对该直播画面进行编码后,并转发给各个观众端120,从而实现观众端120对于主播端110在虚拟空间内的准确直播。
接下来分别从主播端和观众端对采用图像渲染引擎开发的VR应用内的直播过程进行详细的解释说明。
图2为本申请实施例示出的一种直播方法的流程图。该方法应用于主播端,可以由本申请提供的配置于主播端的直播装置来执行,其中,该直播装置可以通过任意的软件和/或硬件的方式实现。示例性地,该直播装置可以应用于任一电子设备中,该电子设备包括但不限于为增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备等支持虚拟场景的物联网(the internet of things,IOT)设备,本申请对电子设备的具体类型不作任何限制。
具体的,如图2所示,该方法可以包括如下步骤:
S210,根据图像渲染引擎内置的场景捕获正多面体,确定第一虚拟空间内的正多面体纹理图像。
在本申请中,考虑到观众端为了实现主播所处VR场景的全景直播,首先需要主播端向观众端提供全景直播画面的支持。因此,主播端在直播过程中,需要为每一直播时刻下的直播帧,生成对应的全景纹理图像,以便在观众端快速便捷的进行纹理渲染。
由于受限于观众端佩戴的VR设备自身的硬件配置,使得观众端可能不支持采用图像渲染引擎进行高性能直播画面渲染。而主播端通常会将采用图像渲染引擎开发的VR应用运行在PC端上,以保证VR应用的高性能运行。
所以,为了降低观众端对于VR应用内直播画面的渲染压力,本申请可以在主播端上预先完成对于VR场景下的全景纹理信息的处理。
作为本申请中的一种可选实现方案,主播端所处的VR直播场景为本申请中的第一虚拟空间。此时,在第一虚拟空间内可以通过配置的虚拟相机参数,来表示主播在第一虚拟空间内的VR属性,例如相机视场角可以表示主播在第一虚拟空间内的视场角,而相机位置可以表示主播进入第一虚拟空间内的位置。为了能够获取主播端的全景画面,会预先通过设定第一虚拟空间内的相机角度,来提前为主播的全景直播设定多个相机视角,使得第一虚拟空间内预设的多个相机视角能够组合成全景视角,来摄取主播在第一虚拟空间内的场景全貌。
而且,对于采用图像渲染引擎开发的任一VR应用而言,图像渲染引擎内会内置一个用于捕获VR场景下的画面的控件,也就是本申请中的场景捕获正多面体。其中,该场景捕获正多面体可以为场景捕获立方体(记为Screen Capture Cube)。而且,本申请中的场景捕获正多面体可以用于表示主播端进入的第一虚拟空间,且场景捕获正多面体内的每一面可以与第一虚拟空间内预设的每一相机视角一一对应,以便通过场景捕获正多面体内的每一面来全面捕获第一虚拟空间内每一相机视角下的真实纹理信息。
所以,主播端在进入采用图像渲染引擎开发的某一VR应用提供的第一虚拟空间后,对于第一虚拟空间内在每一直播时刻下的直播帧,本申请可以通过调用采用图像渲染引擎内的场景捕获正多面体,来实时确定第一虚拟空间内各个相机视角下的实际纹理图像。然后,按照场景捕获正多面体内每一面和第一虚拟空间内各个相机视角间的对应关系,可以对第一虚拟空间内各个相机视角下的实际纹理图像进行拼接合并,从而得到每一直播帧对应的正多面体纹理图像。
如图3所示,如果场景捕获正多面体可以为场景捕获立方体(记为Screen CaptureCube),那么如图4所示,本申请中的正多面体纹理图像可以由六个正方形纹理组成的纹理集合,记为立方体贴图CubeMap。其中,将第一虚拟空间内每一相机视角下的实际纹理图像组合起来,映射到一个单一纹理上,得到该立方体贴图CubeMap。而且,立方体贴图CubeMap包含六个二维纹理,每个二维纹理都对应于场景捕获立方体内的一个面。
S220,根据正多面体视角和全景视角间的对应关系,将正多面体纹理图像转换为对应的全景纹理图像。
在得到第一虚拟空间内每一直播帧对应的正多面体纹理图像后,由于各个观众端内用于在观众端提供的第二虚拟空间内对主播端的直播画面进行全景渲染的全景模型可能与主播端表示第一虚拟空间的正多面体不同,例如全景模型可以为球体模型。
所以,为了确保第一虚拟空间内每一直播帧在各个观众端的第二虚拟空间内的准确全景渲染,本申请需要在主播端预先对第一虚拟空间内每一直播帧对应的正多面体纹理图像进行观众端的全景视角下的纹理变换,来降低观众端的全景渲染压力。
在本申请中,通过分析用于表示第一虚拟空间的场景捕获正多面体内每一面的相机视角,确定本申请中的正多面体视角。而且,通过分析用于表示第二虚拟空间的全景模型的视角,确定本申请中观众端设定的全景视角。然后,通过分析表示相同目标的同一像素点在场景捕获正多面体与全景模型内的纹理坐标,即可确定场景捕获正多面体与全景模型之间的对应关系。然后,据此可以在图像渲染引擎内预先定义一个在正多面体视角和全景视角间的对应关系。
在得到第一虚拟空间内的正多面体纹理图像后,本申请可以按照正多面体视角和全景视角间的对应关系,对正多面体纹理图像内每一像素点的纹理坐标进行变换,从而得到适合在全景视角下的全景模型内渲染的全景纹理图像。
S230,将全景纹理图像发送给观众端。
在得到第一虚拟空间内每一直播帧对应的全景纹理图像后,直接将该全景纹理图像发动给各个观众端,以在观众端的第二虚拟空间内对应渲染该全景纹理图像,降低观众端对于全景直播的渲染压力,使得观众体验到与主播相同的全景沉浸感。
本申请实施例提供的技术方案,对于采用任一图像渲染引擎开发的各类VR应用,主播端在进入某一VR应用提供的第一虚拟空间,来对该虚拟场景画面进行直播的过程中,会根据图像渲染引擎内置的场景捕获正多面体,确定第一虚拟空间内的正多面体纹理图像。然后,根据正多面体视角和全景视角间的对应关系,将正多面体纹理图像转换为对应的全景纹理图像,进而将该全景纹理图像发送给观众端,为观众端在其所处的第二虚拟空间内的全景直播提供全景画面支持,实现采用图像渲染引擎开发的各应用内直播画面的实时全景直播。
作为本申请中的一种可选实现方案,为了确保第一虚拟空间内的正多面体纹理图像的准确处理,本申请可以对正多面体纹理图像到全景纹理图像的完成处理过程进行详细的说明。
图5为本申请实施例示出的应用于主播端的直播方法的另一流程图,该方法具体可以包括如下步骤:
S510,根据图像渲染引擎内置的场景捕获正多面体,确定对应的正多面体纹理模板。
为了跟随第一虚拟空间内的主播视角,对全景画面进行准确变换,本申请可以在图像渲染引擎内创建一个空对象类(也就是图像渲染引擎支持的Actor类),来模拟第一虚拟空间内的主播。
而且,该空对象类可以继承自图像渲染引擎内的场景捕获正多面体。在将空对象类放置到世界大纲视图中后,可以支持该空对象类跟随第一虚拟空间内的主播视角,来查看场景捕获正多面体内每一面的实际纹理图像。
应当理解的是,由于该空对象类属于第一虚拟空间内的主视角,所以可以将该空对象类作为图像渲染引擎内本次创建的关卡项目中主相机的子节点。
所以,为了准确生成第一虚拟空间内的正多面体纹理图像,本申请可以预先在该空对象类下新创建一个正多面体纹理模板,该正多面体纹理模板为一个空白纹理的模板。
S520,根据场景捕获正多面体内每一面的目标渲染纹理,配置正多面体纹理模板,得到对应的正多面体纹理图像。
在本申请中的场景捕获正多面体为场景捕获立方体时,该正多面体纹理模板可以为立方体纹理资源(记为Texture Render Target Cube)。
从该空对象类继承的场景捕获正多面体中,直接确定出每一面的实际纹理参数,作为本申请中的目标渲染纹理。进而,按照空对象类下创建的正多面体纹理模板内每一面与场景捕获正多面体内每一面之间的对应关系,将场景捕获正多面体内每一面的目标渲染纹理一一配置到正多面体纹理模板内的每一面内,即可得到第一虚拟空间内的正多面体纹理图像。
S530,根据场景捕获正多面体下预定义的材质信息,确定正多面体视角和全景视角间的对应关系。
对于采用图像渲染引擎开发的VR应用,可以通过在空对象类下设定的材质属性来定义VR应用所处的VR场景中该对象的纹理信息。所以,本申请可以在上述空对象类下创建一个材质(记为Material),以定义第一虚拟空间内的纹理信息。如图6所示,根据第一虚拟空间内的纹理展示特性,本申请可以设定材质的各个属性,例如设定材质域为表面,混合模式为不透明,着色类型为无光照模型等,以使其符合纹理表达的需求。
然后,由于该材质用于表示由正多面体纹理图像转换后的全景纹理图像,所以可以为该材质新建一个纹理坐标(记为TexCoord),表示全景纹理图像内每一像素点的坐标。进而,在该材质的用于设定纹理变换关系的代码区域内,可以按照正多面体视角下的每一像素点的纹理坐标与该像素点在全景视角下创建的全景模型内的纹理坐标之间的转换情况,编译一个用于表示在正多面体视角与全景视角间的纹理变换关系的shader代码,也就是对应的材质表达式,作为本申请中的材质信息。其中,通过该材质信息可以表示正多面体视角和全景视角下的纹理坐标变换。
因此,在得到第一虚拟空间内的正多面体纹理图像后,为了保证正多面体纹理图像到全景纹理图像的准确变换,本申请首先会查找场景捕获正多面体下预定义的材质信息。然后,根据该材质信息表示的材质表达式内编译的具体纹理变换公式,来确定正多面体视角和全景视角间的对应关系。
S540,根据对应关系和正多面体纹理图像,确定对应的材质更新纹理。
通过正多面体视角和全景视角间的对应关系,可以对第一虚拟空间内的正多面体纹理图像内每一像素点的纹理坐标进行变换。然后,将变换后的具体纹理信息赋值给材质,即可得到对应的材质更新纹理。
示例性的,如图7所示,本申请可以为空对象类下创建的材质新建一个纹理样本(记为Texture Sample),用于表示该材质的纹理情况。按照材质表达式中编译的具体纹理变换公式,对该纹理样本每一像素点的纹理坐标TexCoord进行变换,得到变换后的正多面体纹理坐标(记为UVs坐标)。然后,按照正多面体纹理图像内每一像素点的实际纹理值,对所对应的UVs坐标变换前在该纹理样本内的纹理坐标TexCoord进行纹理赋值,即可更新该纹理样本内每一像素点的纹理值。进而,将该纹理样本更新后的纹理值赋值给该材质,即可得到对应的材质更新纹理,用于表示适用于观众端的全景模型内的全景纹理。
S550,输出材质更新纹理,得到全景纹理图像。
为了保证全景纹理图像的跨进程读取,本申请可以新建一个渲染纹理(记为Texture Render Target),并设置该渲染纹理的属性为共享纹理,以支持跨进程读取。
本申请可以采用图像渲染引擎内材质的纹理输出方法(也就是Draw Material toRender Target),将该材质更新纹理输出到该渲染纹理(也就是Texture Render Target)中,即可得到本申请中的全景纹理图像,并支持其他进程的跨进程读取。
S560,对全景纹理图像进行编码,并将编码后的全景纹理图像转发给观众端。
为了确保全景纹理图像的准确读取,本申请可以实时记录第一虚拟空间内每一直播帧对应的全景纹理图像的纹理句柄,也就是Handle句柄。而且,将每一直播帧对应的全景纹理图像的纹理句柄可以缓存在共享内存内,以支持编码进程从共享内存中准确读取第一虚拟空间内的全景纹理图像的纹理句柄。
进而,通过编码进程读取到每一直播帧对应的全景纹理图像的纹理句柄后,可以准确获取该全景纹理图像。然后,在编码进程内可以预先设定一种具备低延时性的实时音视频通信(Real Time Communication,简称为RTC)算法,依托核心音视频编解码、信道传输和网络调度技术,提供高可用、高品质、超低延时的音视频通信服务。因此,通过编码进程可以采用RTC算法对第一虚拟空间内的全景纹理图像进行相应编码,并将编码后的全景纹理图像转发给各个观众端,以提高全景纹理图像的低延时准确传输。
此外,按照上述图像渲染引擎下的整体直播流程,可以将上述核心逻辑打包成图像渲染引擎内的应用软件包(Software Development Kit,简称为SDK)。然后将该SDK作为插件,提供给采用图像渲染引擎开发的任一VR应用使用,以便采用图像渲染引擎开发的任一VR应用内均可以实现相应的全景直播。
本申请实施例提供的技术方案,本申请实施例提供的技术方案,对于采用图像渲染引擎开发的各类VR应用,主播端在进入某一VR应用提供的第一虚拟空间,来对该虚拟场景画面进行直播的过程中,会根据图像渲染引擎内置的场景捕获正多面体,确定第一虚拟空间内的正多面体纹理图像。然后,根据正多面体视角和全景视角间的对应关系,将正多面体纹理图像转换为对应的全景纹理图像,进而将该全景纹理图像发送给观众端,为观众端在其所处的第二虚拟空间内的全景直播提供全景画面支持,实现采用图像渲染引擎开发的各应用内直播画面的实时全景直播。
图8为本申请实施例示出的一种直播方法的流程图。该方法应用于观众端,可以由本申请提供配置于观众端的直播装置来执行,其中,该直播装置可以通过任意的软件和/或硬件的方式实现。示例性地,该直播装置可以应用于任一电子设备中,该电子设备包括但不限于为AR/VR设备等支持虚拟场景的IOT设备,本申请对电子设备的具体类型不作任何限制。
具体的,如图8所示,该方法可以包括如下步骤:
S810,接收主播端发送的第一虚拟空间内的全景纹理图像。
在VR直播过程中,主播端会将第一虚拟空间内的全景纹理图像转发给各个观众端。此时,任一观众端均会接收到主播端在第一虚拟空间内的全景纹理图像,以便在第二虚拟空间内对该全景纹理图像进行相应渲染,来实现观众端的VR全景直播。
S820,将全景纹理图像渲染到第二虚拟空间内基于全景视角预创建的全景模型内,以实现第二虚拟空间内的全景直播。
对于主播端发送的第一虚拟空间内每一直播帧的全景纹理图像,本申请可以在观众端所处的第二虚拟空间内,按照全景视角创建一个全景模型,用于全景展示主播端的直播画面。其中,第二虚拟空间内的全景模型可以为球体模型,以确保观众端对于全景直播的沉浸式体验。
考虑到主播端发送的每一直播帧对应的全景纹理图像能够适应全景视角下创建的全景模型,所以本申请可以将该全景纹理图像直接渲染到第二虚拟空间内的全景模型内,以支持观众在观看与主播相同视角下的全景画面,极大降低了观众端对于全景直播的渲染压力,使得观众体验到与主播相同的全景沉浸感。
此外,考虑到主播端在第一虚拟空间移动时,可近似认为一直处于第一虚拟空间内的中心位置,因此本申请可以将第二虚拟空间内的相机位置设定为该全景模型的中心位置,以表示观众端在全景模型内的位置,从而全面跟随主播端的全景视角。
而且,由于主播端在第一虚拟空间内的全景纹理图像会通过编码进程采用RTC算法进行编码后转发给各个观众端,因此观众端在接收到第一虚拟空间内的全景纹理图像后,首先会对该全景纹理图像进行相应解码,然后在对解码后的全景纹理图像进行相应的渲染处理,以实现第二虚拟空间内的全景直播。
本申请实施例提供的技术方案,观众端对于接收到的主播端发送的第一虚拟空间内的全景纹理图像,会将该全景纹理图像渲染到第二虚拟空间内基于全景视角预创建的全景模型内,以实现第二虚拟空间内的全景直播,无需观众端对采用图像渲染引擎开发的VR应用内的直播画面进行直接处理,极大降低了观众端对于全景直播的渲染压力,使得观众体验到与主播相同的全景沉浸感,提升观众端在虚拟空间内的观看体验,从而增强观众端在虚拟空间内的沉浸式体验。
图9为本申请实施例示出的一种直播装置的原理框图,该装置900配置于主播端。如图9所示,该装置900可以包括:
初始纹理确定模块910,用于根据图像渲染引擎内置的场景捕获正多面体,确定第一虚拟空间内的正多面体纹理图像;
全景纹理转换模块920,用于根据正多面体视角和全景视角间的对应关系,将所述正多面体纹理图像转换为对应的全景纹理图像;
全景纹理发送模块930,用于将所述全景纹理图像发送给观众端。
在一些可实现方式中,所述场景捕获正多面体为场景捕获立方体,用于表示所述第一虚拟空间,且所述场景捕获立方体内的每一面与所述第一虚拟空间内预设的每一相机视角一一对应。
在一些可实现方式中,初始纹理确定模块910,可以具体用于:
根据所述图像渲染引擎内置的场景捕获正多面体,确定对应的正多面体纹理模板;
根据所述场景捕获正多面体内每一面的目标渲染纹理,配置所述正多面体纹理模板,得到对应的正多面体纹理图像。
在一些可实现方式中,全景纹理转换模块920,可以具体用于:
根据所述场景捕获正多面体下预定义的材质信息,确定正多面体视角和全景视角间的对应关系,所述材质信息用于表示正多面体视角和全景视角下的纹理坐标变换;
根据所述对应关系和所述正多面体纹理图像,确定对应的材质更新纹理;
输出所述材质更新纹理,得到所述全景纹理图像。
在一些可实现方式中,全景纹理发送模块930,可以具体用于:
对所述全景纹理图像进行编码,并将编码后的全景纹理图像转发给所述观众端。
本申请实施例中,对于采用图像渲染引擎开发的各类VR应用,主播端在进入某一VR应用提供的第一虚拟空间,来对该虚拟场景画面进行直播的过程中,会根据图像渲染引擎内置的场景捕获正多面体,确定第一虚拟空间内的正多面体纹理图像。然后,根据正多面体视角和全景视角间的对应关系,将正多面体纹理图像转换为对应的全景纹理图像,进而将该全景纹理图像发送给观众端,为观众端在其所处的第二虚拟空间内的全景直播提供全景画面支持,实现采用图像渲染引擎开发的各应用内直播画面的实时全景直播。
图10为本申请实施例示出的一种直播装置的原理框图,该装置1000配置于观众端。如图10所示,该装置1000可以包括:
全景纹理接收模块1010,用于接收主播端发送的第一虚拟空间内的全景纹理图像;
全景纹理渲染模块1020,用于将所述全景纹理图像渲染到第二虚拟空间内基于全景视角预创建的全景模型内,以实现所述第二虚拟空间内的全景直播。
在一些可实现方式中,直播装置1000,还可以包括:
位置设定模块,用于将所述第二虚拟空间内的相机位置设定为所述全景模型的中心位置。
在一些可实现方式中,直播装置1000,还可以包括:
全景解码模块,用于对所述全景纹理图像进行解码,以对解码后的全景纹理图像进行处理。
在一些可实现方式中,所述全景模型为球体模型。
本申请实施例中,观众端对于接收到的主播端发送的第一虚拟空间内的全景纹理图像,会将该全景纹理图像渲染到第二虚拟空间内基于全景视角预创建的全景模型内,以实现第二虚拟空间内的全景直播,无需观众端对采用图像渲染引擎开发的VR应用内的直播画面进行直接处理,极大降低了观众端对于全景直播的渲染压力,使得观众体验到与主播相同的全景沉浸感,提升观众端在虚拟空间内的观看体验,从而增强观众端在虚拟空间内的沉浸式体验。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图9所示的装置900可以执行本申请提供的应用于主播端的任一方法实施例,图10所示的装置1000可以执行本申请提供的应用于观众端的任一方法实施例,并且装置900和装置1000中的各个模块的前述和其它操作和/或功能分别为了实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置900和装置1000。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图11为本申请实施例示出的电子设备的示意性框图。
如图11所示,该电子设备1100可包括:
存储器1110和处理器1120,该存储器1110用于存储计算机程序,并将该程序代码传输给该处理器1120。换言之,该处理器1120可以从存储器1110中调用并运行计算机程序,以实现本申请实施例中的方法。
例如,该处理器1120可用于根据该计算机程序中的指令执行上述方法实施例。
在本申请的一些实施例中,该处理器1120可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器1110包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(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)。
在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器1110中,并由该处理器1120执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该电子设备中的执行过程。
如图11所示,该电子设备还可包括:
收发器1130,该收发器1130可连接至该处理器1120或存储器1110。
其中,处理器1120可以控制该收发器1130与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器1130可以包括发射机和接收机。收发器1130还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上该,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (14)
1.一种直播方法,其特征在于,应用于主播端,包括:
根据图像渲染引擎内置的场景捕获正多面体,确定第一虚拟空间内的正多面体纹理图像;
根据正多面体视角和全景视角间的对应关系,将所述正多面体纹理图像转换为对应的全景纹理图像;
将所述全景纹理图像发送给观众端。
2.根据权利要求1所述的方法,其特征在于,所述场景捕获正多面体为场景捕获立方体,用于表示所述第一虚拟空间,且所述场景捕获立方体内的每一面与所述第一虚拟空间内预设的每一相机视角一一对应。
3.根据权利要求1所述的方法,其特征在于,所述根据图像渲染引擎内置的场景捕获正多面体,确定第一虚拟空间内的正多面体纹理图像,包括:
根据所述图像渲染引擎内置的场景捕获正多面体,确定对应的正多面体纹理模板;
根据所述场景捕获正多面体内每一面的目标渲染纹理,配置所述正多面体纹理模板,得到对应的正多面体纹理图像。
4.根据权利要求3所述的方法,其特征在于,所述根据正多面体视角和全景视角间的对应关系,将所述正多面体纹理图像转换为对应的全景纹理图像,包括:
根据所述场景捕获正多面体下预定义的材质信息,确定正多面体视角和全景视角间的对应关系,所述材质信息用于表示正多面体视角和全景视角下的纹理坐标变换;
根据所述对应关系和所述正多面体纹理图像,确定对应的材质更新纹理;
输出所述材质更新纹理,得到所述全景纹理图像。
5.根据权利要求1所述的方法,其特征在于,所述全景纹理图像的属性为共享纹理,所述将所述全景纹理图像发送给观众端,包括:
对所述全景纹理图像进行编码,并将编码后的全景纹理图像转发给所述观众端。
6.一种直播方法,其特征在于,应用于观众端,包括:
接收主播端发送的第一虚拟空间内的全景纹理图像;
将所述全景纹理图像渲染到第二虚拟空间内基于全景视角预创建的全景模型内,以实现所述第二虚拟空间内的全景直播。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
将所述第二虚拟空间内的相机位置设定为所述全景模型的中心位置。
8.根据权利要求6所述的方法,其特征在于,在接收主播端发送的第一虚拟空间内的全景纹理图像之后,还包括:
对所述全景纹理图像进行解码,以对解码后的全景纹理图像进行处理。
9.根据权利要求6所述的方法,其特征在于,所述全景模型为球体模型。
10.一种直播装置,其特征在于,配置于主播端,包括:
初始纹理确定模块,用于根据图像渲染引擎内置的场景捕获正多面体,确定第一虚拟空间内的正多面体纹理图像;
全景纹理转换模块,用于根据正多面体视角和全景视角间的对应关系,将所述正多面体纹理图像转换为对应的全景纹理图像;
全景纹理发送模块,用于将所述全景纹理图像发送给观众端。
11.一种直播方法,其特征在于,配置于观众端,包括:
全景纹理接收模块,用于接收主播端发送的第一虚拟空间内的全景纹理图像;
全景纹理渲染模块,用于将所述全景纹理图像渲染到第二虚拟空间内基于全景视角预创建的全景模型内,以实现所述第二虚拟空间内的全景直播。
12.一种电子设备,其特征在于,包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行权利要求1-9中任一项所述的直播方法。
13.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1-9中任一项所述的直播方法。
14.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行权利要求1-9任一项所述的直播方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211494322.7A CN118101982A (zh) | 2022-11-25 | 2022-11-25 | 直播方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211494322.7A CN118101982A (zh) | 2022-11-25 | 2022-11-25 | 直播方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118101982A true CN118101982A (zh) | 2024-05-28 |
Family
ID=91144446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211494322.7A Pending CN118101982A (zh) | 2022-11-25 | 2022-11-25 | 直播方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118101982A (zh) |
-
2022
- 2022-11-25 CN CN202211494322.7A patent/CN118101982A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11303881B2 (en) | Method and client for playing back panoramic video | |
US10229651B2 (en) | Variable refresh rate video capture and playback | |
CN113457160B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
KR100889367B1 (ko) | 네트워크를 통한 가상 스튜디오 구현 시스템 및 그 방법 | |
CN106210861A (zh) | 显示弹幕的方法及系统 | |
US20170186243A1 (en) | Video Image Processing Method and Electronic Device Based on the Virtual Reality | |
WO2022257699A1 (zh) | 图像画面显示方法、装置、设备、存储介质及程序产品 | |
CN109309842B (zh) | 直播数据处理方法和装置、计算机设备和存储介质 | |
CN110663067B (zh) | 用于生成现实世界场景的定制视图的虚拟化投影以包括在虚拟现实媒体内容中的方法和系统 | |
CN113891117B (zh) | 沉浸媒体的数据处理方法、装置、设备及可读存储介质 | |
US8860720B1 (en) | System and method for delivering graphics over network | |
US9497487B1 (en) | Techniques for video data encoding | |
CN114245228B (zh) | 页面链接投放方法、装置及电子设备 | |
CN115396645B (zh) | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 | |
WO2024041239A1 (zh) | 一种沉浸媒体的数据处理方法、装置、设备、存储介质及程序产品 | |
CN114116617A (zh) | 点云媒体的数据处理方法、装置、设备及可读存储介质 | |
CN116761009A (zh) | 元宇宙全景直播场景下的视频播放方法、装置及直播系统 | |
CN116939231A (zh) | 基于虚拟现实的直播方法、装置、设备及存储介质 | |
CN118101982A (zh) | 直播方法、装置、设备及存储介质 | |
WO2022116822A1 (zh) | 沉浸式媒体的数据处理方法、装置和计算机可读存储介质 | |
CN115174954A (zh) | 视频直播方法、装置、电子设备以及存储介质 | |
JP2023518676A (ja) | 没入型メディアの設置、及び没入型メディアから異種クライアントエンドポイントへの配信 | |
CN114615528B (zh) | Vr视频的播放方法、系统、设备及介质 | |
CN117596373B (zh) | 基于动态数字人形象进行信息展示的方法及电子设备 | |
JP7419529B2 (ja) | 遠隔端末のための没入型テレカンファレンス及びテレプレゼンスのインタラクティブオーバーレイ処理 |
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 |