直播方法、装置、系统、计算机设备以及存储介质

文档序号:107626 发布日期:2021-10-15 浏览:10次 >En<

阅读说明:本技术 直播方法、装置、系统、计算机设备以及存储介质 (Live broadcast method, device, system, computer equipment and storage medium ) 是由 王佳梨 王权 苏丽伟 于 2021-07-07 设计创作,主要内容包括:本公开提供了一种直播方法、装置、系统、计算机设备以及存储介质,其中,该方法包括:确定虚拟直播模式;所述虚拟直播模式用于指示对所述真实主播进行肢体捕捉的至少一个目标捕捉部位;采集所述真实主播在直播过程中的视频图像;基于所述虚拟直播模式,对所述视频图像中的目标捕捉部位进行动作识别,得到目标识别结果;基于所述目标识别结果,确定所述真实主播驱动的虚拟主播模型对应的视频流数据;所述视频流数据用于呈现所述虚拟主播模型执行所述识别结果所指示动作的过程。(The present disclosure provides a live broadcast method, apparatus, system, computer device, and storage medium, wherein the method includes: determining a virtual live broadcast mode; the virtual live broadcast mode is used for indicating at least one target capturing position for carrying out limb capturing on the real anchor; collecting a video image of the real anchor in a live broadcast process; based on the virtual live broadcast mode, performing motion recognition on a target capturing part in the video image to obtain a target recognition result; determining video stream data corresponding to the virtual anchor model driven by the real anchor based on the target identification result; the video stream data is used for presenting the process of the virtual anchor model for executing the action indicated by the identification result.)

直播方法、装置、系统、计算机设备以及存储介质

技术领域

本公开涉及计算机的技术领域,具体而言,涉及一种直播方法、装置、系统、计算机设备以及存储介质。

背景技术

在目前的虚拟直播过程中,需要主播穿戴动作捕捉设备,进而通过动作捕捉设备捕捉主播端的动作数据。由于动作捕捉设备的局限性,现有的动作捕捉设备仅能捕捉主播的部分肢体动作,从而导致现有的虚拟直播客户端无法满足主播的动作捕捉需求。同时,动作捕捉设备限制了主播的直播场景,以及限制了直播所能做出的动作,并增加了虚拟直播的复杂程度。

发明内容

本公开实施例至少提供一种直播方法、装置、系统、计算机设备以及存储介质。

第一方面,本公开实施例提供了一种直播方法,应用于主播端设备,包括:确定虚拟直播模式;所述虚拟直播模式用于指示对所述真实主播进行肢体捕捉的至少一个目标捕捉部位;采集所述真实主播在直播过程中的视频图像;基于所述虚拟直播模式,对所述视频图像中的目标捕捉部位进行动作识别,得到目标识别结果;基于所述目标识别结果,确定所述真实主播驱动的虚拟主播模型对应的视频流数据;所述视频流数据用于呈现所述虚拟主播模型执行所述目标识别结果所指示动作的过程。

在本公开实施例中,在确定虚拟直播模式之后,通过该虚拟直播模式确定目标捕捉部位的方式,无需手动设置目标捕捉部位,可以自动过滤掉不需要进行动作捕捉的肢体部位,从而实现自动的捕捉真实主播的待捕捉的肢体部位,进而缩短了动作捕捉的时间,降低虚拟直播的复杂程度,同时,还可以使得该直播方法适应实时性较高的直播场景。

一种可选的实施方式中,所述确定虚拟直播模式,包括:确定所述主播端设备的运行场景;基于预先为所述主播端设备设定的多个运行版本,确定与所述运行场景相匹配的目标运行版本;基于确定出的所述目标运行版本确定所述虚拟直播模式。

在本公开实施例中,通过确定上述运行场景,可以确定主播端设备所对应的安装设备的计算能力,进而为在该安装设备上运行符合其计算能力的运行版本,从而保证主播端设备的正常运行,避免由于计算需求量大,且该安装设备的计算能力不足导致的主播端设备运行异常的问题。

一种可选的实施方式中,所述确定所述主播端设备的运行场景,包括:在检测到针对直播应用程序的首次安装操作的情况下,获取所述主播端设备的设备标识信息,并根据所述设备标识信息确定所述运行场景;和/或,在检测到针对所述直播应用程序的打开操作的情况下,获取当前时刻所述主播端设备的剩余设备计算资源,并根据所述剩余设备计算资源确定所述运行场景。

上述实施方式中,通过检测主播端设备的首次安装操作或者打开操作,可以实现在开启该主播端设备之前,确定出当前时刻该主播端设备的计算能力,从而在该主播端设备开启之前,准确的根据该计算能力确定出主播端设备的运行场景,进而保证主播端设备的正常运行。

一种可选的实施方式中,所述确定虚拟直播模式,包括:响应于所述真实主播的直播模式选择指令,在多个预设直播模式中确定所述虚拟直播模式。

上述实施方式中,通过设置用户在直播模式中选择真实主播的虚拟直播模式的方式,可以为用户提供更加丰富的虚拟直播场景,从而满足用户的需求,提高用户的使用体验。

一种可选的实施方式中,所述方法还包括:在采集所述真实主播在直播过程中的视频图像之前,采集包含所述真实主播的预览图像;判断所述预览图像中包含的目标捕捉部位是否满足动作识别条件;在判断出不满足的情况下,生成目标调整信息,直至确定出所述目标捕捉部位满足所述动作识别条件,其中,所述目标调整信息用于提醒所述真实主播调整所述目标捕捉部位在所述预览图像中的展示状态。

上述实施方式中,在基于预览图像确定出目标捕捉部位不满足动作识别条件的情况下,生成目标调整信息,可以实现在用户直播之前,对摄像装置和/或目标捕捉部位的展示状态进行调整,从而提高直播过程中动作识别精度,进而提高直播效果。

一种可选的实施方式中,所述基于所述虚拟直播模式,对所述视频图像中的目标捕捉部位进行动作识别,得到目标识别结果,包括:在检测到所述目标捕捉部位包含手部部位的情况下,获取所述虚拟直播模式所对应的模式标签,其中,所述模式标签包括是否对手部部位进行手部识别的目标模式标签;在确定出所述模式标签为目标模式标签的情况下,对所述视频图像中的目标捕捉部位进行动作识别,以及对所述目标捕捉部位中的手部部位进行手部检测,得到包含手部检测结果的所述目标识别结果。

一种可选的实施方式中,在确定所述真实主播驱动的虚拟主播模型对应的视频流数据之后,所述方法还包括:根据所述手部检测结果检测到所述真实主播的手部姿势为预设手势,获取与所述预设手势相对应的渲染素材特效;在所述视频流数据中的指定视频帧中渲染所述渲染素材特效。

上述实施方式中,通过上述处理方式,可以实现对目标捕捉部位进行精细化处理,从而满足用户的不同直播需求。

一种可选的实施方式中,所述基于所述目标识别结果,确定所述真实主播驱动的虚拟主播模型对应的视频流数据,包括:获取至少一个观众端设备发送的直播观看请求;基于所述直播观看请求确定每个观众端设备对应的直播观看界面的界面背景图像,其中,所述界面背景图像包含:静态背景图像或者动态背景图像;基于所述目标识别结果确定用于表征所述虚拟主播模型执行所述目标识别结果所指示动作的多个视频图像;将所述多个视频图像中每个视频图像的背景图像替换为所述界面背景图像,并基于修改之后的所述多个视频图像确定所述视频流数据。

一种可选的实施方式中,所述方法还包括:在确定所述真实主播驱动的虚拟主播模型对应的视频流数据之后,向对应相同界面背景图像的观众端设备推送包含该界面背景图像的视频流数据。

上述实施方式中,为请求相同的界面展示背景的观众端设备生成对应的视频流数据,并向请求相同界面背景图像的观众端设备推送包含该界面背景图像的视频流数据的方式,可以节省视频流数据的确定时间,以提高虚拟直播的直播质量。

一种可选的实施方式中,所述方法还包括:在确定虚拟直播模式之后,在所述主播端设备的展示界面中展示第一指示信息和/或第二指示信息;其中,所述第一指示信息用于指示处于有效捕捉状态的目标捕捉部位,所述第二指示信息用于指示处于无效捕捉状态的目标捕捉部位。

上述实施方式中,通过在主播端设备的展示界面上展示第一指示信息和/或第二指示信息的方式,可以指导真实主播做出有效的捕捉动作,从而提高动作捕捉的准确性,以保证主播端设备的稳定运行。

第二方面,本公开实施例提供了一种直播系统,包括:主播端设备和观众端设备;所述主播端设备,被配置为按照上述第一方面中任一项所述的直播方法确定所述真实主播驱动的虚拟主播模型对应的视频流数据,并向所述观众端设备推送所述视频流数据;所述观众端设备,被配置为获取所述视频流数据,并在直播观看界面播放所述视频流数据。

一种可选的实施方式中,所述观众端设备包含:移动终端设备和PC设备;在所述观众端设备为所述移动终端设备的情况下,所述主播端设备通过CDN分发网络向所述观众端设备传输所述视频流数据;在所述观众端设备为所述PC设备的情况下,所述主播端设备通过CDN分发网络和转推流服务器向所述观众端设备传输所述视频流数据。

第三方面,本公开实施例提供了一种直播装置,设置于主播端设备,包括:第一确定单元,用于确定虚拟直播模式;所述虚拟直播模式用于指示对所述真实主播进行肢体捕捉的至少一个目标捕捉部位;采集单元,用于采集所述真实主播在直播过程中的视频图像;动作识别单元,用于基于所述虚拟直播模式,对所述视频图像中的目标捕捉部位进行动作识别,得到目标识别结果;第二确定单元,用于基于所述目标识别结果,确定所述真实主播驱动的虚拟主播模型对应的视频流数据;所述视频流数据用于呈现所述虚拟主播模型执行所述识别结果所指示动作的过程。

第四方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

第五方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开实施例所提供的一种直播方法的流程图;

图2示出了本公开实施例所提供的另一种直播方法的流程图;

图3示出了本公开实施例所提供的一种虚拟直播模式的选择界面的界面示意图;

图4示出了本公开实施例所提供的另一种虚拟直播模式的选择界面的界面示意图;

图5示出了本公开实施例所提供的第三种虚拟直播模式的选择界面的界面示意图;

图6示出了本公开实施例所提供的一种模式标签的设置界面的界面示意图;

图7示出了本公开实施例所提供的一种包含预设手势的手势信息的虚拟直播界面的界面示意图;

图8示出了本公开实施例所提供的一种直播系统的示意图;

图9示出了本公开实施例所提供的一种直播装置的示意图;

图10示出了本公开实施例所提供的一种计算机设备的示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。

经研究发现,在目前的虚拟直播过程中,需要主播穿戴动作捕捉设备,进而通过动作捕捉设备捕捉主播端的动作数据。由于动作捕捉设备的局限性,现有的动作捕捉设备仅能捕捉主播的部分肢体动作,从而导致现有的虚拟直播客户端无法满足主播的动作捕捉需求。同时,动作捕捉设备限制了主播的直播场景,以及限制了直播所能做出的动作,并增加了虚拟直播的复杂程度。

基于上述研究,本公开提供了一种直播方法、装置、系统、计算机设备以及存储介质。本公开所提供的直播方法,可以应用于虚拟直播场景下。虚拟直播场景可以理解为使用预先设定的虚拟主播模型,如小熊猫、小兔子、卡通人物等代替真实主播的实际形象进行直播,此时,在视频直播画面中所展示出的为上述虚拟主播模型。同时,还可以根据该虚拟主播模型进行真实主播与观众的互动。

举例来说,主播端设备的摄像装置可以采集包含真实主播的视频图像,然后,对视频图像中所包含的真实主播的肢体进行捕捉,从而得到真实主播的姿态信息。在确定出该姿态信息之后,就可以生成对应的驱动信号,该驱动信号用于驱动在视频直播画面中展示虚拟主播模型对应的动画特效。

在一个可选的实施方式中,真实主播可以预先设定相应的虚拟主播模型,例如,可以预先设定的虚拟主播模型为“XXX游戏中的YYY角色模型”。真实主播可以预先设定一个或多个虚拟主播模型。在开启当前时刻的虚拟直播时,可以从预先设定的一个或多个虚拟主播模型中选择一个作为当前时刻的虚拟主播模型。其中,虚拟主播模型可以为2D模型,还可以为3D模型。

在另一个可选的实施方式中,除了上述所描述方式为真实主播确定虚拟主播模型之外,还可以在获取到视频图像之后,为该视频图像中的真实主播重塑虚拟主播模型。

举例来说,可以对视频图像中所包含的真实主播进行识别,从而根据识别结果为真实主播重塑虚拟主播模型。该识别结果可以包含以下至少之一:真实主播的性别、真实主播的外貌特征、真实主播的穿戴特征等。

此时,可以从虚拟主播模型库中搜索与该识别结果相匹配的模型作为该真实主播的虚拟主播模型。例如,根据识别结果确定出真实主播在直播过程中戴鸭舌帽、所穿衣服为嘻哈风格的衣服。此时,可以从虚拟主播模型库中搜索与该“鸭舌帽”或者“嘻哈风”相匹配的虚拟主播模型作为该真实主播的虚拟主播模型。

除了在虚拟主播模型库中搜索与识别结果相匹配的模型之外,还可以基于该识别结果,通过模型构建模块,为真实主播实时构建出相应的虚拟主播模型。

这里,在实时构建该虚拟主播模型时,还可以将该真实主播在过去时刻所发起的虚拟直播所使用的虚拟主播模型作为参考,构建当前时刻该真实主播所驱动的虚拟主播模型。

通过上述所描述的确定虚拟主播模型的方式,可以实现为真实主播个性化定制相应的虚拟主播模型,从而避免千篇一律的虚拟主播模型。同时,通过个性化定制虚拟主播模型,还可以为观众留下更深刻的印象。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种直播方法进行详细介绍,本公开实施例所提供的直播方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备可以为支持安装上述主播端设备的设备。在一些可能的实现方式中,该直播方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。

参见图1所示,为本公开实施例提供的一种直播方法的流程图,所述方法包括步骤S101~S107,其中:

S101:确定虚拟直播模式;所述虚拟直播模式用于指示对所述真实主播进行肢体捕捉的目标捕捉部位。

在本公开实施例中,虚拟直播模式可以包括但不限于:头肩直播模式、腰身直播模式、全身直播模式。

这里,头肩直播模式可以理解为对真实主播肩部以上的部位进行动作识别。腰身直播模式理解为对真实主播腰部以上的部位进行动作识别。全身直播模式可以理解为对真实主播的全身肢体部位进行动作识别。

除了上述所描述的虚拟直播模式之外,还可以包含其他的直播模式,此处不再举例说明。

S103:采集所述真实主播在直播过程中的视频图像。

这里,可以通过主播端设备所在主播端设备上安装的摄像机采集该视频图像。

S105:基于所述虚拟直播模式,对所述视频图像中的目标捕捉部位进行动作识别,得到目标识别结果。

这里,目标捕捉部位为真实主播的目标捕捉部位;目标识别结果包含以下至少之一:各个目标捕捉部位的肢体关键点的位置信息、人脸检测框的尺寸信息、人脸检测框的位置信息。

如果目标捕捉部位包含手部,该目标识别结果中还包含以下至少之一:手部检测框的尺寸信息、手部检测框的位置信息、手部检测框所框选手部的手势分类信息,以及该手势分类信息所指示手势的有效性。

这里,有效性用于表征该手势分类信息所指示的手势是否满足特效触发条件。如果满足,则为有效手势;否则为无效手势。

S107:基于所述目标识别结果,确定所述真实主播驱动的虚拟主播模型对应的视频流数据;所述视频流数据用于呈现所述虚拟主播模型执行所述识别结果所指示动作的过程。

在本公开实施例中,在确定虚拟直播模式之后,通过该虚拟直播模式确定目标捕捉部位的方式,无需手动设置目标捕捉部位,可以自动过滤掉不需要进行动作捕捉的肢体部位,从而实现自动的捕捉真实主播的待捕捉的肢体部位,进而缩短了动作捕捉的时间,降低虚拟直播的复杂程度,同时,还可以使得该直播方法适应实时性较高的直播场景。

在一个可选的实施方式中,如图2所示,针对上述步骤S101,确定虚拟直播模式,具体包括如下过程:

步骤S11,确定所述主播端设备的运行场景;其中,该运行场景用于表征主播端设备对应的安装设备的硬件计算资源;

步骤S12,基于预先为所述主播端设备设定的多个运行版本,确定与所述运行场景相匹配的目标运行版本;

步骤S13,基于确定出的所述目标运行版本确定所述虚拟直播模式。

在本公开实施例中,首先,可以确定主播端设备的运行场景,该运行场景可以理解为该主播端设备的安装场景。例如,该主播端设备所对应的安装设备(即,上述计算机设备)的安装场景。在确定出运行场景之后,就可以确定与该运行场景相匹配的虚拟直播模式。

在本公开实施例中,预先为主播端设备设定了多个运行版本,其中,每个运行版本对应相应的运行标签,该运行标签用于指示该运行版本所对应的运行场景。针对不同的运行版本,预先设定了不同的虚拟直播模式。

这里,运行版本可以为直播客户端的运行版本,不同运行版本对应不同的虚拟直播模式。

在一种可选的实施方式中,该运行版本可以理解为该直播客户端的软件开发工具包SDK的版本。

举例来说,在主播端设备上首次安装该直播客户端时,可以选择安装与当前主播端设备的运行场景相匹配的软件开发工具包SDK。

在另一种可选的实施方式中,该运行版本还可以理解为该直播客户端的软件开发工具包SDK中的多个软件运行模式。

举例来说,在主播端设备上首次安装该直播客户端时,可以安装该直播客户端的软件开发工具包SDK。在主播端设备上运行该直播客户端时,可以根据该主播端设备的运行场景(例如,剩余计算资源)自动运行该直播客户端中的对应运行模式。

在确定出运行场景之后,就可以基于预先为该主播端设备设定的多个运行版本所对应的版本标签,确定与该运行场景相匹配的目标运行版本。进而,基于确定出的目标运行版本确定真实主播的虚拟直播模式。

在本公开实施例中,假设,针对上述所描述的多个运行版本包含运行版本1和运行版本2,其中,运行版本1能够支持驱动以下部位:头部表情驱动,躯干驱动,手臂驱动,手指驱动;运行版本2可以支持驱动以下部位:表情驱动和躯干驱动。

在本公开实施例中,通过确定上述运行场景,可以确定主播端设备所对应的安装设备的计算能力,进而在该安装设备上运行符合其计算能力的运行版本,从而保证主播端设备的正常运行,避免由于计算需求量大,且该安装设备的计算能力不足导致的主播端设备运行异常的问题。

在一个可选的实施方式中,上述步骤S11,确定所述主播端设备的运行场景,具体包括如下几种方式:

方式一:

在检测到针对直播应用程序的首次安装操作的情况下,获取所述主播端设备的设备标识信息,并根据所述设备标识信息确定所述运行场景。

在本公开实施例中,在检测到用户首次安装直播应用程序的情况下,可以获取主播端设备的设备标识信息,之后,根据该主播端设备的设备标识信息,确定该主播端设备的计算能力。之后,就可以根据确定出的计算能力,确定运行场景。例如,该运行场景为计算能力较强的主播端设备,或者,该运行场景为计算能力较弱的主播端设备。

方式二:

在检测到针对所述直播应用程序的打开操作的情况下,获取当前时刻所述主播端设备的剩余设备计算资源,并根据所述剩余设备计算资源确定所述运行场景。

在本公开实施例中,在检测到用户打开该直播应用程序的情况下,可以获取主播端设备的剩余设备计算资源,之后,根据该主播端设备的剩余设备计算资源,确定该主播端设备的计算能力。之后,就可以根据确定出的计算能力,确定运行场景。例如,该运行场景为计算能力较强的主播端设备,或者,该运行场景为计算能力较弱的主播端设备。

方式三:

在本公开实施例中,在检测到用户首次安装该直播应用程序,且打开该直播应用程序的情况下,可以获取主播端设备的设备标识信息和主播端设备的剩余设备计算资源,之后,根据该主播端设备的设备标识信息和剩余设备计算资源,确定该主播端设备的计算能力。之后,就可以根据确定出的计算能力,确定主播端设备的运行场景。例如,该主播端设备的运行场景为计算能力较强的主播端设备,或者,该主播端设备的运行场景为计算能力较弱的主播端设备。

上述实施方式中,通过检测首次安装操作或者打开操作,可以实现在开启该直播应用程序之前,确定出当前时刻该主播端设备的计算能力,从而在该主播端设备开启之前,准确的根据该计算能力确定出主播端设备的运行场景,进而保证主播端设备的正常运行。

在一个可选的实施方式中,针对上述步骤S101,确定虚拟直播模式,具体包括如下步骤:

步骤S21,响应于所述真实主播的直播模式的选择指令,在多个预设直播模式中确定所述虚拟直播模式。

在本公开实施例中,可以预先设定多个预设直播模式,例如,如图3所示的“头肩场景”和“腰身场景”。

在用户打开该主播端设备之后,可以如图3所示,在主播端设备的展示界面上展示该多个预设直播模式。用户可以在如图3所示的展示界面中选择相对应的直播模式作为虚拟直播模式,例如,用户可以选择进入“头肩场景”,或者,选择进入“腰身场景”。

当用户选择进入“头肩场景”之后,可以在展示界面上展示出如图4所示的信息;当用户选择进入“腰身场景”之后,可以在展示界面上展示出如图5所示的信息。

上述实施方式中,通过设置用户在多个预设直播模式中选择虚拟直播模式的方式,可以为用户提供更加丰富的虚拟直播场景,从而满足用户的需求,提高用户的使用体验。

在本公开实施例中,该方法还包括如下步骤:

在确定真实主播的虚拟直播模式之后,在所述主播端设备的展示界面中展示第一指示信息和/或第二指示信息;

其中,所述第一指示信息用于指示处于有效捕捉状态的目标捕捉部位,所述第二指示信息用于指示处于无效捕捉状态的目标捕捉部位。

在本公开实施例中,在用户选择进入“头肩场景”之后,可以在展示界面上展示出如图4所示的信息。在用户选择进入“腰身场景”之后,可以在展示界面上展示出如图5所示的信息。此时,在展示界面上可以展示出第一指示信息和/或第二指示信息。

这里,第一指示信息用于指示处于有效捕捉状态的目标捕捉部位。例如,在该“头肩场景”模式下,真实主播的头部完整的出现在视频图像中,或者真实主播的肩部完整的出现在视频图像中。例如,在该“腰身场景”模式下,真实主播的完整上肢部位出现在视频图像中。

这里,第二指示信息的数量可以为多个,还可以为一个。不同的第二指示信息用于指示处于不同无效捕捉状态的目标捕捉部位。例如,如图4所示,展示出两个第二指示信息,该两个第二指示信息分别指示主播处于不同无效捕捉状态下的目标捕捉部位。

上述实施方式中,通过在主播端设备的展示界面上展示第一指示信息和/或第二指示信息的方式,可以指导真实主播做出有效的捕捉动作,从而提高动作捕捉的准确性,以保证主播端设备的稳定运行。

在本公开实施例中,在确定虚拟直播模式之后,且在采集所述真实主播在直播过程中的视频图像之前,该方法还包括如下步骤:

(1)、采集包含所述真实主播的预览图像;

(2)、判断所述预览图像中包含的目标捕捉部位是否满足动作识别条件;

(3)、在判断出不满足的情况下,生成目标调整信息,直至确定出所述目标捕捉部位满足所述动作识别条件,其中,所述目标调整信息用于提醒所述真实主播调整所述目标捕捉部位在所述预览图像中的展示状态。

在本公开实施例中,用户在选择出虚拟直播模式之后,就可以开始采集包含真实主播的预览图像。此时,可以通过预览图像查看当前时刻目标捕捉部位是否满足动作识别条件。

在判断出满足的情况下,可以提示用户进入直播模式,此时,用户可以通过点击预览界面中的“进入”按钮,进入到对应虚拟直播模式下的直播界面。

在判断出不满足的情况下,可以确定出预览图像中目标捕捉部位处于无效捕捉状态,例如,如图4或者图5中第二指示信息所指示的动作。此时,可以在预览图像的展示界面中展示出“目标捕捉部位处于无效状态”的提示信息,同时,还可以生成并展示目标调整信息,该目标调整信息用于提醒真实主播调整目标捕捉部位的装置。例如,该目标调整信息可以为以下调整信息:请向上移动身体,或者,向下移动摄像装置,保证您的上半身处于预览图像内;请您调整坐姿,或者,请您调整摄像装置的朝向,从而保证您的面部处于预览图像内。

上述实施方式中,在基于预览图像确定出目标捕捉部位不满足动作识别条件的情况下,生成目标调整信息,可以实现在用户直播之前,对摄像装置和/或目标捕捉部位的展示状态进行调整,从而提高直播过程中动作识别的精度,进而提高直播效果。

在本公开实施例中,针对上述步骤S105,基于所述虚拟直播模式,对所述视频图像中的目标捕捉部位进行动作识别,得到目标识别结果,具体包括如下步骤:

步骤S1051,在检测到所述目标捕捉部位包含手部部位的情况下,获取所述虚拟直播模式所对应的模式标签,其中,所述模式标签包含是否对手部部位进行手部识别的目标模式标签;

步骤S1052,在确定出所述模式标签为目标模式标签的情况下,对所述视频图像中的目标捕捉部位进行动作识别,以及对所述目标捕捉部位中的手部部位进行手部检测,得到包含手部检测结果的所述目标识别结果。

在本公开实施例中,假设,虚拟直播模式所指示的目标捕捉部位包含手部部位,那么在真实主播进入到虚拟直播模式之后,可以在主播端的虚拟直播界面展示出手指驱动信息,例如,该手指驱动信息可以为如图6所示的信息。如图6所示,可以在主播端的虚拟直播界面中展示出“手指驱动”和“手势识别”的开启按钮。当真实主播选择开启“手指驱动”和/或“手势识别”时,则可以对应生成用于对手部部位进行识别的模式标签。

因此,在本公开实施例中,在根据虚拟直播模式确定出目标捕捉部位包含手部部位的情况下,还可以获取虚拟直播模式所对应的模式标签。以根据该模式标签判断真实主播是否开启了“手指驱动”和“手势识别”。在判断出模式标签为目标模式标签的情况下,则确定开启了“手指驱动”和“手势识别”中的至少一个,此时,还可以基于该目标模式标签判断真实主播开启了“手指驱动”,还是开启了“手势识别”。

例如,若目标模式标签为“01”,则确定开启了“手指驱动”;若目标模式标签为“10”,则确定开启了“手势识别”;若目标模式标签为“11”,则确定开启了“手指驱动”和“手势识别”。

在本公开实施例中,在开启了“手指驱动”的情况下,该手部检测结果中包含手部的各个关键点的位置信息。在开启了“手势识别”的情况下,该手部检测结果中包含手势的识别结果,例如,该手势的识别结果可以为手部处于OK的姿势,手部处于比心的姿势等。在开启了“手指驱动”和“手势识别”的情况下,该手部检测结果中包含手势的识别结果和手部的各个关键点的位置信息。

如图7所示,在主播端的展示界面中还可以展示出该主播端设备所能够识别的手势,例如,“OK”,“666”和“hello”。

上述实施方式中,通过上述处理方式,可以实现对目标捕捉部位进行精细化处理,从而满足用户的不同直播需求。

在本公开实施例中,在确定所述真实主播驱动的虚拟主播模型对应的视频流数据之后,该方法还包括如下步骤:

(1)、根据所述手部检测结果检测到所述真实主播的手部姿势为预设手势,获取与所述预设手势相对应的渲染素材特效;

(2)、在所述视频流数据中的指定视频帧中渲染所述渲染素材特效。

在本公开实施例中,在真实主播开启了“手势识别”的情况下,手部检测结果中包含手势的识别结果,此时,可以根据该手势的识别结果判断真实主播的手部姿势是否为预设手势。如果是,则确定与预设手势相对应的渲染素材特效,并在视频流数据中的指定视频帧中渲染渲染素材特效。

在一个可选的实施方式中,在根据手部检测结果确定出所述真实主播的手部姿势为预设手势之前,还可以执行以下步骤:

首先,对视频图像中的真实主播进行姿态检测,得到姿态检测结果,然后,根据姿态检测结果中的肢体检测结果确定视频图像是否满足手势识别条件。

在本公开实施例中,在确定出上述所描述的肢体检测结果之后,根据肢体检测结果确定各个目标捕捉部位之间的相对位置关系;根据该相对位置关系,确定视频图像是否满足手势识别条件。

可以理解的是,上述相对位置关系包含以下至少之一:各个目标捕捉部位之间的相对距离、各个目标捕捉部位中相关联肢体部位之间的角度关系。其中,相关联肢体部位可以理解为相邻的目标捕捉部位,或者,类型相同的目标捕捉部位。

在本公开实施例中,视频图像满足手势识别条件可以理解为:视频图像中真实主播的肢体动作为预先设定的肢体动作。

其次,在确定出满足所述手势识别条件的情况下,根据手部检测结果确定真实主播的手部姿势是否为预设手势;并在检测出所述预设手势的情况下,在所述视频流数据中的指定视频帧中添加所述渲染素材特效。

在本公开实施例中,是通过肢体检测结果和手部检测结果的结合,来确定视频图像所对应的渲染素材特效。在此情况下,在根据姿态检测结果确定出真实主播满足手势识别条件的情况下,再对真实主播的手势进行识别的方式可以提高姿态比对的效率,缩短姿态比对的时间,从而使得本技术方案能够适用于实时性要求较高的直播场景。

在本公开实施例中,上述步骤S107,基于所述目标识别结果,确定所述真实主播驱动的虚拟主播模型对应的视频流数据,具体包括如下步骤:

步骤S1071,获取至少一个观众端设备发送的直播观看请求;

步骤S1072,基于所述直播观看请求确定每个观众端设备对应的直播观看界面的界面背景图像,其中,所述界面背景图像包含:静态背景图像或者动态背景图像;

步骤S1073,确定用于表征所述虚拟主播模型执行所述目标识别结果所指示动作的多个视频图像;

步骤S1074,将所述多个视频图像中每个视频图像的背景图像替换为所述界面背景图像,并基于修改之后的所述多个视频图像确定所述视频流数据。

在本公开实施例中,在确定所述真实主播驱动的虚拟主播模型对应的视频流数据之前,还可以获取至少一个观众端设备发送的直播观看请求。该直播观看请求中可以携带每个观众端设备所请求展示的界面背景图像。如果观众端设备未请求界面背景图像,那么该界面背景图像可以设置为透明背景图像。

此时,可以确定用于表征所述虚拟主播模型执行所述目标识别结果所指示动作的多个视频图像,并将多个视频图像中每个视频图像的背景图像替换为所述界面背景图像,并基于修改之后的所述多个视频图像确定所述视频流数据。

在本公开实施例中,可以对多个视频图像中的每个视频图像进行图像分割,分割为前景图像和背景图像,然后,将分割得到的前景图像和界面背景图像进行融合,得到修改之后的多个视频图像。针对每个视频图像,均包含对应的时间标签(例如,时间戳),此时,可以基于该时间标签将修改之后的多个视频图像进行处理,生成该视频数据流。

在确定出待驱动的虚拟主播模型所对应的视频流数据之后,还可以向对应相同界面背景图像的观众端设备推送包含该界面背景图像的视频流数据。

上述实施方式中,为请求相同的界面展示背景的观众端设备生成对应的视频流数据,并向请求相同界面背景图像的观众端设备推送包含该界面背景图像的视频流数据的方式,可以节省视频流数据的确定时间,以提高虚拟直播的直播质量。

在本公开实施例中,上述步骤:对所述视频图像中的目标捕捉部位进行动作识别,得到目标识别结果,具体还包括如下过程:

在检测到视频图像中包含的目标捕捉部位不完整的情况下,还可以对视频图像帧进行扩展处理,得到目标图像;目标图像中包含用于对该缺少的目标捕捉部位进行姿态检测的区域;通过预训练的姿态检测模型对所述目标图像进行姿态检测,得到真实主播的姿态检测结果。

采用上述处理方式,可以实现在视频图像帧中不包含完整的肢体部位的情况下,依然可以对真实主播进行姿态检测,从而保证主播端设备能够正常稳定运行。

在本公开实施例中,基于所述目标识别结果,确定所述真实主播驱动的虚拟主播模型对应的视频流数据,还包含如下步骤:

根据目标识别结果确定目标捕捉部位的位置信息,根据虚拟直播图像中虚拟主播模型相对应部位的驱动信号,以通过该驱动信号,确定该相对应部位的关键点的位置信息。针对每个视频图像均可以对应确定出相应的虚拟直播图像,进而得到视频流数据。在本公开实施例中,虚拟主播模型可以为3D avatar模型。

参见图8所示,为本公开实施例提供的一种直播系统的示意图,所述直播系统包括:主播端设备71和观众端设备72。

所述主播端设备71,被配置按照上述任一项所述的直播方法确定所述真实主播驱动的虚拟主播模型对应的视频流数据,并向所述观众端设备推送所述视频流数据。

所述观众端设备72,被配置成获取所述视频流数据,并在直播观看界面播放所述视频流数据。

这里,观众端设备包含:移动终端设备和PC(personal computer,即个人计算机)设备。

在所述观众端设备为所述移动终端设备的情况下,所述主播端设备通过CDN(Content Delivery Network,即内容分发网络)分发网络向所述观众端设备传输所述视频流数据。

在所述观众端设备为所述PC设备的情况下,所述主播端设备通过CDN分发网络和转推流服务器向所述观众端设备传输所述视频流数据。

从图8中可以看出,主播端设备安装在主播端设备71中。首先,可以确定真实主播的虚拟直播模式;在确定出虚拟直播模式之后,就可以根据该虚拟直播模式确定待驱动部位(或者目标捕捉部位),例如,表情、手臂和躯干等待驱动部位。之后,就可以通过主播端设备71的摄像装置采集真实主播在直播过程中的视频图像,并对基于虚拟直播模式,对视频图像中的目标捕捉部位进行动作识别,得到目标识别结果;从而通过虚拟摄像头基于该目标识别结果进行图像渲染,得到虚拟直播图像,进而根据多个虚拟直播图像确定出视频流数据。

之后,可以通过CDN分发网络向移动终端设备传输该视频流数据,以及通过CDN分发网络和转推流服务器向PC设备传输视频流数据,从而在观众端设备中播放该视频流数据。

在本公开实施例中,通过虚拟直播模式确定目标捕捉部位,并对目标捕捉部位进行动作识别的方式,可以实现更加灵活的确定真实主播的待捕捉的肢体部位,通过该处理方式,可以过滤掉不需要进行动作捕捉的肢体部位,从而缩短了动作捕捉的时间,降低了虚拟直播的复杂程度,同时,还可以使得该直播方法要求实时性较高的直播场景。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

基于同一发明构思,本公开实施例中还提供了与直播方法对应的直播装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述直播方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

参照图9所示,为本公开实施例提供的一种直播装置的示意图,所述装置包括:第一确定单元81、采集单元82、动作识别单元83、第二确定单元84;其中,

第一确定单元81,用于确定虚拟直播模式;所述虚拟直播模式用于指示对所述真实主播进行肢体捕捉的目标捕捉部位;

采集单元82,用于采集所述真实主播在直播过程中的视频图像;

动作识别单元83,用于基于所述虚拟直播模式,对所述视频图像中的目标捕捉部位进行动作识别,得到目标识别结果;

第二确定单元84,用于基于所述目标识别结果,确定所述真实主播驱动的虚拟主播模型对应的视频流数据;所述视频流数据用于呈现所述虚拟主播模型执行所述识别结果所指示动作的过程。

在本公开实施例中,在确定虚拟直播模式之后,通过该虚拟直播模式确定目标捕捉部位的方式,无需手动设置目标捕捉部位,可以自动过滤掉不需要进行动作捕捉的肢体部位,从而实现自动的捕捉真实主播的待捕捉的肢体部位,进而缩短了动作捕捉的时间,降低虚拟直播的复杂程度,同时,还可以使得该直播方法适应实时性较高的直播场景。

一种可能的实施方式中,第一确定单元81,还用于:确定所述主播端设备的运行场景;基于预先为所述主播端设备设定的多个运行版本,确定与所述运行场景相匹配的目标运行版本;基于确定出的所述目标运行版本确定所述虚拟直播模式。

一种可能的实施方式中,第一确定单元81,还用于:在检测到针对直播应用程序的首次安装操作的情况下,获取所述主播端设备的设备标识信息,并根据所述设备标识信息确定所述运行场景;和/或,在检测到针对所述直播应用程序的打开操作的情况下,获取当前时刻所述主播端设备的剩余设备计算资源,并根据所述剩余设备计算资源确定所述运行场景。

一种可能的实施方式中,第一确定单元81,还用于:响应于所述真实主播的直播模式的选择指令,在所述多个预设直播模式中确定所述虚拟直播模式。

一种可能的实施方式中,该装置,还用于:在采集所述真实主播在直播过程中的视频图像之前,采集包含所述真实主播的预览图像;判断所述预览图像中包含的目标捕捉部位是否满足动作识别条件;在判断出不满足的情况下,生成目标调整信息,直至确定出所述目标捕捉部位满足所述动作识别条件,其中,所述目标调整信息用于提醒所述真实主播调整所述目标捕捉部位在所述预览图像中的展示状态。

一种可能的实施方式中,动作识别单元83,还用于:在检测到所述目标捕捉部位包含手部部位的情况下,获取所述虚拟直播模式所对应的模式标签,其中,所述模式标签包含是否对手部部位进行手势识别的目标模式标签;在确定出所述模式标签为目标模式标签的情况下,对所述视频图像中的目标捕捉部位进行动作识别,以及对所述目标捕捉部位中的手部部位进行手势检测,得到包含手势识别结果的所述目标识别结果。

一种可能的实施方式中,动作识别单元83,还用于:根据所述手部检测结果检测到所述真实主播的手部姿势为预设手势,获取与所述预设手势相对应的渲染素材特效;在所述视频流数据中的指定视频帧中渲染所述渲染素材特效。

一种可能的实施方式中,第二确定单元84,还用于:获取至少一个观众端设备发送的直播观看请求;基于所述直播观看请求确定每个观众端设备对应的直播观看界面的界面背景图像,其中,所述界面背景图像包含:静态背景图像或者动态背景图像;确定用于表征所述虚拟主播模型执行所述目标识别结果所指示动作的多个视频图像;将所述多个视频图像中每个视频图像的背景图像替换为所述界面背景图像,并基于修改之后的所述多个视频图像确定所述视频流数据。

一种可能的实施方式中,该装置,还用于:在确定所述真实主播驱动的虚拟主播模型对应的视频流数据之后,向对应相同界面背景图像的观众端设备推送包含该界面背景图像的视频流数据。

一种可能的实施方式中,该装置,还用于:在确定虚拟直播模式之后,在所述主播端设备的展示界面中展示第一指示信息和/或第二指示信息;其中,所述第一指示信息用于指示处于有效捕捉状态的目标捕捉部位,所述第二指示信息用于指示处于无效捕捉状态的目标捕捉部位。

关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。

对应于图1中的直播方法,本公开实施例还提供了一种计算机设备900,如图10所示,为本公开实施例提供的电子设备900结构示意图,包括:

处理器91、存储器92、和总线93;存储器92用于存储执行指令,包括内存921和外部存储器922;这里的内存921也称内存储器,用于暂时存放处理器91中的运算数据,以及与硬盘等外部存储器922交换的数据,处理器91通过内存921与外部存储器922进行数据交换,当所述电子设备900运行时,所述处理器91与所述存储器92之间通过总线93通信,使得所述处理器91执行以下指令:

确定虚拟直播模式;所述虚拟直播模式用于指示对所述真实主播进行肢体捕捉的目标捕捉部位;

采集所述真实主播在直播过程中的视频图像;

基于所述虚拟直播模式,对所述视频图像中的目标捕捉部位进行动作识别,得到目标识别结果;

基于所述目标识别结果,确定所述真实主播驱动的虚拟主播模型对应的视频流数据;所述视频流数据用于呈现所述虚拟主播模型执行所述识别结果所指示动作的过程。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的直播方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。

本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的直播方法的步骤,具体可参见上述方法实施例,在此不再赘述。

其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

27页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:视频互动方法、装置、系统以及直播背包和互动接收器

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类