虚拟礼物特效的处理方法和装置、直播系统转让专利

申请号 : CN201910859930.5

文献号 : CN110493630B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨克敏陈杰欧燕雄

申请人 : 广州华多网络科技有限公司

摘要 :

本申请实施例提供的虚拟礼物特效的处理方法和装置、直播系统、设备和存储介质,涉及直播技术领域,该处理方法通过接收观众客户端发送的虚拟礼物的赠送指令,根据赠送指令获取对应的目标特效礼物并确定目标特效礼物的特征区域;根据特征区域确定目标特效礼物在直播视频上的合成位置信息;将直播视频以及合成位置信息发送至客户端,使得观众客户端根据合成位置信息将目标特效礼物添加到直播视频进行合成并进行展示。本申请利用主播客户端在直播视频外将合成位置信息进行编码封装,独立于直播视频进行传输,在观众客户端解码得到合成位置信息,便于观众客户端对虚拟特效礼物的效果展示进行二次编辑,有利于提高特效展示的效果。

权利要求 :

1.一种虚拟礼物特效的处理方法,其特征在于,包括以下步骤:

接收虚拟礼物的赠送指令,根据所述赠送指令获取对应的目标特效礼物并确定所述目标特效礼物的特征区域;

根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息;

将所述直播视频以及所述合成位置信息发送至观众客户端,使得所述观众客户端根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成,并在预配置的特效展示区域进行展示;包括:将所述直播视频和所述合成位置信息进行编码封装成直播视频流数据,并通过服务器将所述直播视频流数据转发至所述观众客户端,所述观众客户端将所述直播视频分割为前景图像层和背景图像层,并根据所述目标特效礼物生成至少一个虚拟礼物特效层;根据所述合成位置信息将各所述虚拟礼物特效层与所述前景图像层和所述背景图像层按照顺序进行合成,得到特效帧图像;在通过直播视频的播放区域播放所述直播视频的过程中,在所述特效展示区域同步渲染所述特效帧图像;

其中,所述特效展示区域独立于所述直播视频的播放区域,所述特效展示区域的面积大于所述直播视频播放区域。

2.根据权利要求1所述的虚拟礼物特效的处理方法,其特征在于,所述根据所述赠送指令获取对应的目标特效礼物并确定所述目标特效礼物的特征区域的步骤包括:获取目标特效礼物标识;

根据所述目标特效礼物标识查找得到目标特效礼物,确定所述目标特效礼物所对应的特征区域。

3.根据权利要求1所述的虚拟礼物特效的处理方法,其特征在于,所述根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息的步骤包括:获取所述直播视频的当前视频帧图像;

提取所述当前视频帧图像中的人物轮廓关键点;

根据所述人物轮廓关键点确定所述特征区域在所述当前视频帧图像上对应的目标位置,以在所述目标位置对所述目标特效礼物进行合成。

4.根据权利要求1所述的虚拟礼物特效的处理方法,其特征在于,所述将所述直播视频以及所述合成位置信息发送至观众客户端的步骤包括:将所述直播视频和所述合成位置信息进行编码封装成直播视频流数据,并通过服务器将所述直播视频流数据转发至所述观众客户端。

5.根据权利要求1至4任一项所述的虚拟礼物特效的处理方法,其特征在于,所述目标特效礼物为三维显示形式的特效礼物。

6.根据权利要求1至4任一项所述的虚拟礼物特效的处理方法,其特征在于,所述合成位置信息包括:人脸信息、人体轮廓信息、手势信息和人体骨骼信息中的至少一者。

7.一种虚拟礼物特效的处理方法,其特征在于,包括以下步骤:

向主播客户端发送虚拟礼物赠送指令;其中,所述主播客户端根据所述赠送指令获取对应的目标特效礼物并确定所述目标特效礼物的特征区域,根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息;

接收主播客户端发送的直播视频流数据;其中,所述直播视频流数据通过将直播视频和目标特效礼物的合成位置信息进行编码封装得到;

将所述直播视频流数据转发至观众客户端;其中,所述观众客户端根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成并在预配置的特效展示区域进行展示;包括:将所述直播视频分割为前景图像层和背景图像层,并根据所述目标特效礼物生成至少一个虚拟礼物特效层;根据所述合成位置信息将各所述虚拟礼物特效层与所述前景图像层和所述背景图像层按照顺序进行合成,得到特效帧图像;在通过直播视频的播放区域播放所述直播视频的过程中,在所述特效展示区域同步渲染所述特效帧图像;

其中,所述特效展示区域独立于所述直播视频的播放区域,设置于所述直播视频的播放区域之上,所述特效展示区域的面积大于所述直播视频播放区域。

8.根据权利要求7所述的虚拟礼物特效的处理方法,其特征在于,所述根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成并进行展示的步骤包括:获取所述直播视频的当前视频帧图像;

根据所述合成位置信息将所述目标特效礼物添加所述当前视频帧图像,得到特效帧图像;

将所述特效帧图像渲染到特效展示区域进行展示。

9.一种虚拟礼物特效的处理装置,其特征在于,包括:

特征获取模块,用于接收虚拟礼物的赠送指令,根据所述赠送指令获取对应的目标特效礼物并确定所述目标特效礼物的特征区域;

信息确定模块,用于根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息;

信息发送模块,用于将所述直播视频以及所述合成位置信息发送至观众客户端,使得所述观众客户端根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成并在预配置的特效展示区域进行展示;

所述信息发送模块,具体用于将所述直播视频和所述合成位置信息进行编码封装成直播视频流数据,并通过服务器将所述直播视频流数据转发至所述观众客户端,所述观众客户端将所述直播视频分割为前景图像层和背景图像层,并根据所述目标特效礼物生成至少一个虚拟礼物特效层;根据所述合成位置信息将各所述虚拟礼物特效层与所述前景图像层和所述背景图像层按照顺序进行合成,得到特效帧图像;在通过直播视频的播放区域播放所述直播视频的过程中,在所述特效展示区域同步渲染所述特效帧图像;其中,所述特效展示区域独立于所述直播视频的播放区域,设置于所述直播视频的播放区域之上,所述特效展示区域的面积大于所述直播视频播放区域。

10.一种虚拟礼物特效的处理装置,其特征在于,包括:

指令发送模块,用于向主播客户端发送虚拟礼物的赠送指令;其中,所述主播客户端根据所述赠送指令获取对应的目标特效礼物并确定所述目标特效礼物的特征区域,根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息;

数据接收模块,用于接收主播客户端发送的直播视频流数据;其中,所述直播视频流数据通过将直播视频和目标特效礼物的合成位置信息进行编码封装得到;

数据转发模块,用于将所述直播视频流数据转发至观众客户端;其中,所述观众客户端根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成,并在预配置的特效展示区域进行展示;包括:所述观众客户端将所述直播视频分割为前景图像层和背景图像层,并根据所述目标特效礼物生成至少一个虚拟礼物特效层;根据所述合成位置信息将各所述虚拟礼物特效层与所述前景图像层和所述背景图像层按照顺序进行合成,得到特效帧图像;在通过直播视频的播放区域播放所述直播视频的过程中,在所述特效展示区域同步渲染所述特效帧图像;其中,所述特效展示区域独立于所述直播视频的播放区域,设置于所述直播视频的播放区域之上,所述特效展示区域的面积大于所述直播视频播放区域。

11.一种直播系统,其特征在于,包括主播客户端、观众客户端和以及服务器,所述主播客户端经所述服务器与所述观众客户端通过网络进行通信连接;

所述服务器,用于接收所述观众客户端发送的虚拟礼物的赠送指令,并向主播客户端发送所述赠送指令;

所述主播客户端,用于接收所述赠送指令并获取目标特效礼物标识;根据所述目标特效礼物标识查找得到目标特效礼物,确定所述目标特效礼物所对应的特征区域;根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息;将所述合成位置信息和所述直播视频编码成直播视频流数据发送至服务器;

所述服务器,还用于将所述直播视频流数据转发至所述观众客户端;

所述观众客户端,用于接收直播视频流数据和目标特效礼物,从所述直播视频流数据中获取直播视频和所述目标特效礼物的合成位置信息;根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成并在预配置的特效展示区域进行展示;

其中,所述观众客户端具体用于将所述直播视频分割为前景图像层和背景图像层,并根据所述目标特效礼物生成至少一个虚拟礼物特效层;根据所述合成位置信息将各所述虚拟礼物特效层与所述前景图像层和所述背景图像层按照顺序进行合成,得到特效帧图像;

在通过直播视频的播放区域播放所述直播视频的过程中,在所述特效展示区域同步渲染所述特效帧图像;所述特效展示区域独立于所述直播视频的播放区域,设置于所述直播视频的播放区域之上,所述特效展示区域的面积大于所述直播视频播放区域。

12.一种用于直播的计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-8任一项所述的虚拟礼物特效的处理方法的步骤。

13.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-8任一项所述虚拟礼物特效的处理方法的步骤。

说明书 :

虚拟礼物特效的处理方法和装置、直播系统

技术领域

[0001] 本申请实施例涉及直播技术领域,具体而言,涉及一种虚拟礼物特效的处理方法和装置、直播系统,还涉及一种计算机设备和存储介质。

背景技术

[0002] 随着网络技术发展,实时视频交流如网络直播、视频聊天室等成为一种越来越流行的娱乐方式。在实时视频交流过程中,可以通过赠送虚拟礼物展示特效的方式增加用户之间的互动性。
[0003] 例如,在直播场景中,主播用户在直播间进行直播,观众用户在观众客户端观看主播的直播过程。为了增加主播用户和观众用户之间的互动性,观众用户可以选择特定的目标特效礼物赠送给主播,将目标特效礼物按照所对应的娱乐模板添加到主播画面的特定位置,展示相对应的特效。
[0004] 现有的礼物特效的展示方法是通过主播客户端将礼物特效合成到视频帧,将含有礼物特效的视频帧放到视频流传输到其他主播客户端或观众客户端进行特效展示,上述展示方式使得礼物特效固化在视频区域,不利于后续对于礼物特效进行二次调整,影响了整体展示效果。

发明内容

[0005] 本申请的目的旨在至少解决上述技术缺陷之一,特别是不利于虚拟礼物特效进行二次调整,展示效果不佳的问题。
[0006] 第一方面,本申请实施例提供了一种虚拟礼物特效的处理方法,包括以下步骤:
[0007] 接收虚拟礼物的赠送指令,根据所述赠送指令获取对应的目标特效礼物并确定所述目标特效礼物的特征区域;
[0008] 根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息;
[0009] 将所述直播视频以及所述合成位置信息发送至观众客户端,使得所述观众客户端根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成并进行展示。
[0010] 在一实施例中,所述根据所述赠送指令获取对应的目标特效礼物并确定所述目标特效礼物的特征区域的步骤包括:
[0011] 获取目标特效礼物标识;
[0012] 根据所述目标特效礼物标识查找得到目标特效礼物,确定所述目标特效礼物所对应的特征区域。
[0013] 在一实施例中,所述根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息的步骤包括:
[0014] 获取所述直播视频的当前视频帧图像;
[0015] 提取所述当前视频帧图像中的人物轮廓关键点;
[0016] 根据所述人物轮廓关键点确定所述特征区域在所述当前视频帧图像上对应的目标位置,以在所述目标位置对所述目标特效礼物进行合成。
[0017] 在一实施例中,所述将所述直播视频以及所述合成位置信息发送至观众客户端的步骤包括:
[0018] 将所述直播视频和所述合成位置信息进行编码封装成直播视频流数据,并通过服务器将所述直播视频流数据转发至所述观众客户端。
[0019] 在一实施例中,所述目标特效礼物为三维显示形式的特效礼物。
[0020] 在一实施例中,所述合成位置信息包括:人脸信息、人体轮廓信息、手势信息和人体骨骼信息中的至少一者。
[0021] 第二方面,本申请实施例提供了一种虚拟礼物特效的处理方法,包括以下步骤:
[0022] 向主播客户端发送虚拟礼物赠送指令;其中,所述主播客户端根据所述赠送指令获取对应的目标特效礼物并确定所述目标特效礼物的特征区域,根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息;
[0023] 接收主播客户端发送的直播视频流数据;其中,所述直播视频流数据中包括直播视频和目标特效礼物的合成位置信息;
[0024] 将所述直播视频流数据转发至观众客户端;其中,所述观众客户端根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成并进行展示。
[0025] 在一实施例中,所述根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成并进行展示的步骤包括:
[0026] 获取所述直播视频的当前视频帧图像;
[0027] 根据所述合成位置信息将所述目标特效礼物添加所述当前视频帧图像,得到特效帧图像;
[0028] 将所述特效帧图像渲染到特效展示区域进行展示。
[0029] 第三方面,本申请实施例提供了一种虚拟礼物特效的处理装置,包括:
[0030] 特征获取模块,用于接收虚拟礼物的赠送指令,根据所述赠送指令获取对应的目标特效礼物并确定所述目标特效礼物的特征区域;
[0031] 信息确定模块,用于根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息;
[0032] 信息发送模块,用于将所述直播视频以及所述合成位置信息发送至观众客户端,使得所述观众客户端根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成并进行展示。
[0033] 第四方面,本申请实施例提供了一种虚拟礼物特效的处理装置,包括:
[0034] 指令发送模块,用于向主播客户端发送虚拟礼物的赠送指令;其中,所述主播客户端根据所述赠送指令获取对应的目标特效礼物并确定所述目标特效礼物的特征区域,根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息;
[0035] 数据接收模块,用于接收主播客户端发送的直播视频流数据;其中,所述直播视频流数据中包括直播视频和目标特效礼物的合成位置信息;
[0036] 数据转发模块,用于将所述直播视频流数据转发至观众客户端;其中,所述观众客户端根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成并进行展示。
[0037] 第五方面,本申请实施例提供了一种直播系统,包括主播客户端、观众客户端和以及服务器,所述主播客户端经所述服务器与所述观众客户端通过网络进行通信连接;
[0038] 所述服务器,用于接收所述观众客户端发送的虚拟礼物的赠送指令,并向主播客户端发送所述赠送指令;
[0039] 所述主播客户端,用于接收所述赠送指令并获取目标特效礼物标识;根据所述目标特效礼物标识查找得到目标特效礼物,确定所述目标特效礼物所对应的特征区域;根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息;将所述合成位置信息和所述直播视频编码成直播视频流数据发送至服务器;
[0040] 所述服务器,还用于将所述直播视频流数据转发至所述观众客户端;
[0041] 所述观众客户端,用于接收直播视频流数据和目标特效礼物,从所述直播视频流数据中获取直播视频和所述目标特效礼物的合成位置信息;根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成并进行展示。
[0042] 第六方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一实施例所述的虚拟礼物特效的处理方法的步骤。
[0043] 第七方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述任一实施例所述虚拟礼物特效的处理方法的步骤。
[0044] 上述实施例提供的虚拟礼物特效的处理方法和装置、直播系统、设备和存储介质,通过接收观众客户端发送的虚拟礼物的赠送指令,根据赠送指令获取对应的目标特效礼物并确定目标特效礼物的特征区域;根据特征区域确定目标特效礼物在直播视频上的合成位置信息;将直播视频以及合成位置信息发送至客户端,使得观众客户端根据合成位置信息将目标特效礼物添加到直播视频进行合成并进行展示。相对于主播客户端直接将目标特效礼物合成到直播视频,再发送至各观众客户端以在观众客户端的视频区域播放虚拟礼物特效,该方案利用主播客户端在直播视频外将合成位置信息进行编码封装,独立于直播视频进行传输,以使得观众客户端解码得到合成位置信息,便于对虚拟特效礼物的效果展示进行二次编辑,从而有利于观众客户端实现分层特效处理和跨直播视频播放区域的特效展示,提高特效展示的效果。
[0045] 本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

[0046] 本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0047] 图1是一实施例提供的虚拟礼物特效的处理方法的系统框架示意图;
[0048] 图2是一实施例提供的直播系统的结构示意图;
[0049] 图3是一实施例提供的一种虚拟礼物特效的处理方法的流程图;
[0050] 图4是一实施例提供的合成位置信息获取方法的流程图;
[0051] 图5是一实施例提供的一种虚拟礼物特效的合成方法的流程图;
[0052] 图6是一种直播技术中虚拟礼物的合成效果图;
[0053] 图7是一实施例提供的虚拟礼物合成的效果图;
[0054] 图8是一实施例提供的一种虚拟礼物特效的渲染方法的流程图;
[0055] 图9是一种直播技术中虚拟礼物的渲染效果图;
[0056] 图10是一实施例提供的虚拟礼物特效的处理方法的另一流程图;
[0057] 图11是一实施例提供的虚拟礼物赠送过程的时序图;
[0058] 图12是一实施例提供的虚拟礼物特效的处理装置的结构示意图;
[0059] 图13是一实施例提供的虚拟礼物特效的处理装置的另一结构示意图。

具体实施方式

[0060] 下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
[0061] 本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
[0062] 本领域技术人员应当理解,本申请所称的“客户端”、“应用”、“应用程序”以及类似表述的概念,是业内技术人员所公知的相同概念,是指由一系列计算机指令及相关数据资源有机构造的适于电子运行的计算机软件。除非特别指定,这种命名本身不受编程语言种类、级别,也不受其赖以运行的操作系统或平台所限制。理所当然地,此类概念也不受任何形式的终端所限制。
[0063] 本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
[0064] 为了更好地阐释本申请的技术方案,下面示出本方案的虚拟礼物特效的处理方法所可以适用的应用环境。如图1所示,图1是一实施例提供的虚拟礼物特效的处理方法的系统框架示意图,该系统框架可以包括服务端和客户端。位于服务端上的直播平台中可以包括多个虚拟直播间和服务器等,各个虚拟直播间对应播放不同的直播内容。客户端包括观众客户端和主播客户端,通常而言,主播通过主播客户端进行直播,观众通过观众客户端选择进入某一虚拟直播间观看主播进行直播。观众客户端和主播客户端可以通过安装在终端设备上的直播应用程序(Application,APP)进入直播平台。
[0065] 在本实施例中,终端设备可以为智能手机、平板电脑、电子阅读器、台式电脑或笔记本电脑等终端,对此并不做限定。服务器是用于为终端设备提供后台服务的后台服务器,可以用独立服务器或多个服务器组成的服务器集群来实现。
[0066] 本实施例提供的虚拟礼物特效的处理方法适用于在直播过程中赠送虚拟礼物并对虚拟礼物特效进行展示的情况,可以是观众通过观众客户端向目标主播赠送虚拟礼物,以在目标主播所处主播客户端和多个观众客户端展示虚拟礼物的特效,也可以是主播通过主播客户端向另一主播赠送虚拟礼物,以在赠送虚拟礼物的主播和接收虚拟礼物的主播所处的主播客户端以及多个观众客户端展示虚拟礼物的特效等。
[0067] 下面以观众客户端向目标主播赠送虚拟特效礼物为例,对本方案进行示例性说明。
[0068] 图2是一实施例提供的直播系统的结构示意图,如图2所示,该直播系统200包括:主播客户端210、观众客户端230和服务器220。主播客户端210经服务器220与观众客户端
230通过网络进行通信连接。
[0069] 在本实施例中,主播客户端可以是安装于计算机电脑上的主播客户端,也可以是安装于移动终端,如手机或平板电脑上的主播客户端;同理,观众客户端可以是安装于计算机电脑上的观众客户端,也可以是安装于移动终端,如手机或平板电脑上的观众客户端。
[0070] 所述服务器220,用于接收所述观众客户端230发送的虚拟礼物的赠送指令,并向主播客户端210发送所述赠送指令;
[0071] 所述主播客户端210,用于接收所述赠送指令并获取目标特效礼物标识;根据所述目标特效礼物标识查找得到目标特效礼物,确定所述目标特效礼物所对应的特征区域;根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息;将所述合成位置信息和所述直播视频编码成直播视频流数据发送至服务器;
[0072] 所述服务器220,还用于将所述直播视频流数据转发至所述观众客户端230;
[0073] 所述观众客户端230,用于接收直播视频流数据和目标特效礼物,从所述直播视频流数据中获取直播视频和所述目标特效礼物的合成位置信息;根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成,得到特效帧图像;在直播窗口上设置展示特效展示区域,在播放所述直播视频的过程中,在所述特效展示区域同步渲染所述特效帧图像。
[0074] 图3是一实施例提供的一种虚拟礼物特效的处理方法的流程图,该虚拟礼物特效的处理方法执行于客户端,如主播客户端。在一些实施例中,还可以执行于服务端,如服务器。本实施例以主播客户端为例进行说明。
[0075] 具体的,如图3所示,该虚拟礼物特效的处理方法可以包括以下步骤:
[0076] S110、接收虚拟礼物的赠送指令,根据所述赠送指令获取对应的目标特效礼物并确定所述目标特效礼物的特征区域。
[0077] 观众在观看直播视频过程中,向目标主播赠送虚拟礼物,通过在观众客户端触发相关功能按键选择目标特效礼物,向服务器发出虚拟礼物的赠送指令,服务器接收到该赠送指令转发至主播客户端,其中,该虚拟礼物的赠送请求携带有目标特效礼物标识和目标主播标识等信息。
[0078] 主播客户端接收观众客户端发送的虚拟礼物的赠送指令,解析该赠送指令所携带的信息,获取到目标特效礼物标识和目标主播标识。服务器根据目标特效礼物标识查找出相对应的目标特效礼物。可选的,目标特效礼物可以是二维显示形式的特效礼物,也可以是三维显示形式的特效礼物,即三维特效礼物。在本实施例中,该目标特效礼物优选为三维特效礼物,如AI(Artificial Intelligence)特效礼物,通过三维特效礼物营造出立体特效,增强现实感受,提高虚拟礼物特效的处理效果。
[0079] 在实施例中,目标特效礼物根据人物特征来进行效果展示,不同的目标特效礼物对应有各自的特征区域,其中,特征区域是指目标特效礼物在直播视频上所对应设置的区域。示例性的,目标特效礼物可以为天使翅膀、面具和帽子等,天使翅膀可以设置于主播的背部,则天使翅膀对应的特征区域为背部;面具佩戴于主播的眼睛附近,则面具对应的特征区域为脸部;帽子佩戴在主播的头部,则帽子对应的特征区域为头部等。
[0080] S120、根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息。
[0081] 其中,合成位置信息可以包括:人脸信息、人体轮廓信息、手势信息和人体骨骼信息中的至少一者。在实施例中,合成位置信息可以包括基于主播客户端对直播视频进行识别得到的目标特效礼物合成在该直播视频的目标位置。
[0082] 主播客户端接收到观众客户端发送的虚拟礼物的赠送指令时,获取目标主播所在直播间的直播视频,从该直播视频中提取当前视频帧图像,根据目标特效礼物对当前视频帧图像进行处理,以提取出用于对目标特效礼物进行合成的相关信息,如目标特效礼物的特征区域在当前视频帧图像的合成位置信息。根据合成位置信息,可以将目标特效礼物合成到当前视频帧图像的目标位置,其中,目标特效礼物的特征区域与当前视频帧图像的目标位置一一对应。在实施例中,合成位置信息可以由一个或多个人物轮廓关键点来表示,其中,每个人物轮廓关键点在当前视频帧图像中有唯一的坐标值,根据人物轮廓关键点的一个或多个坐标值可以得到目标特效礼物添加在当前视频帧图像的目标位置。
[0083] 为了便于更清晰地阐述本方案,本实施例将结合“面具”为目标特效礼物做示例性说明。
[0084] 在实施例中,观众向目标主播赠送“面具”这一目标特效礼物,“面具”所对应的特征区域为脸部。服务器获取目标主播所在直播间的直播视频,提取出当前视频帧图像,对该当前视频帧图像进行识别,得到一系列的人物轮廓关键点,并从这些人物轮廓关键点中确定某一些目标轮廓点对应的该特征区域,如目标轮廓点A(50,55)、B(45,48)和C(45,60),将目标轮廓点A、B和C按照特定的算法进行连线所得到的区域为目标特效礼物在当前视频帧图像的目标位置。可选的,该“面具”在当前视频帧图像中的合成位置信息包括目标轮廓点A、B和C的坐标值。
[0085] S130、将所述直播视频以及所述合成位置信息发送至所述观众客户端,使得所述观众客户端根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成并进行展示。
[0086] 主播客户端获取到合成位置信息后,将合成位置信息与直播视频进行编码形成数据包,发送至观众客户端。观众客户端接收到数据包后,进行解码提取出直播视频和合成位置信息。在本实施例中,合成位置信息包括目标特效礼物在当前视频帧图像中的目标轮廓点的坐标值。
[0087] 观众客户端获取到合成位置信息后,结合当前观众客户端进行特效展示区域的大小对合成位置信息进行相对应的换算,根据换算后的合成位置信息确定目标特效礼物在当前视频帧图像上的目标位置,将目标特效礼物添加到目标位置上进行合成。
[0088] 例如,主播客户端识别到当前视频帧图像的分辨率大小为400*300,所得到的合成位置信息中目标轮廓点A的坐标值为(50,50),而观众客户端进行展示的同一当前视频帧图像的分辨率大小为800*600,相对应地对合成位置信息进行换算,得到当前目标轮廓点A’的坐标值为(100,100)。将目标特效礼物添加到经换算后的合成位置信息所确定的目标位置上进行合成。需要说明的是,同一当前视频帧图像是指视频帧图像的内容相同,其余特征如分辨率、图像尺寸等可以不同。
[0089] 在本实施例中,可以将直播视频的当前视频帧图像提取出来,在观众客户端将目标特效礼物添加到当前视频帧图像上合成特效帧图像,在预配置的特效展示区域进行效果展示,该特效展示区域可以独立于视频区域,以提高特效的展示效果。
[0090] 本实施例提供的虚拟礼物特效的处理方法,应用于主播客户端,通过接收观众客户端发送的虚拟礼物的赠送指令,根据赠送指令获取对应的目标特效礼物并确定目标特效礼物的特征区域;根据特征区域确定目标特效礼物在直播视频上的合成位置信息;将直播视频以及合成位置信息发送至客户端,使得观众客户端根据合成位置信息将目标特效礼物添加到直播视频进行合成并进行展示。本方案将合成位置信息跟随直播视频一起发送至观众客户端。相对于主播客户端直接将目标特效礼物合成到直播视频,再发送至各观众客户端以在观众客户端的视频区域播放虚拟礼物特效,该实施例利用主播客户端在直播视频外将合成位置信息进行编码封装,使得合成位置信息独立于直播视频,跟随直播视频进行传输,以便于观众客户端根据合成位置信息结合观众客户端对虚拟特效礼物的效果展示进行二次编辑,从而有利于在观众客户端实现分层特效处理和跨直播视频播放区域的特效展示,提高特效展示的效果
[0091] 为了使本技术方案更为清晰,更为便于理解,下面对本技术方案中的各个步骤的具体的实现过程和方式加以详细的描述。
[0092] 在一实施例中,步骤S110的根据所述赠送指令获取对应的目标特效礼物并确定所述目标特效礼物的特征区域,可以包括以下步骤:
[0093] S1101、获取目标特效礼物标识。
[0094] 在实施例中,不同的虚拟礼物具有唯一的标识,不同的虚拟礼物具有不同的展示形式,例如,根据虚拟礼物的类型,可以分为普通虚拟礼物和特殊虚拟礼物。若赠送的是普通虚拟礼物,则按照现有技术的礼物展示方法进行特效展示,若赠送的是特殊虚拟礼物,则按照本方案所提供的虚拟礼物特效的处理方法进行特效展示。
[0095] 在实施例中,获取目标特效礼物标识,根据该目标特效礼物标识判断是否为特殊虚拟礼物,若是,则执行步骤S1102。
[0096] S1102、根据所述目标特效礼物标识查找得到目标特效礼物,确定所述目标特效礼物所对应的特征区域。
[0097] 在实施例中,不同的目标特效礼物所对应的特征区域不同,也即是,不同的目标特效礼物添加到直播视频中的位置不同。例如,“天使翅膀”添加到主播的背部,“帽子”添加到主播的头部等。
[0098] 服务器获取到目标特效礼物标识,从预配置的数据库中查找出与该目标特效礼物标识相对应的目标特效礼物及其特征区域。可选的,特征区域可以用某些设定的字符来标识,比如,有字母A表示头部,字母B表示背部等。
[0099] 在一实施例中,目标特效礼物标识、目标特效礼物以及特征区域可以建立关联关系,例如{0001,天使翅膀,A},其中,0001表示目标特效礼物标识,“天使翅膀”表示目标特效礼物的名称,A表示目标特效礼物的特征区域,如背部。进一步的,可以将关联关系通过数据结构的方式存储起来。
[0100] 图4是一实施例提供的合成位置信息获取方法的流程图,如图4所示,在一实施例中,步骤S120的根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息,可以包括以下步骤:
[0101] S1201、获取所述直播视频的当前视频帧图像。
[0102] 其中,当前视频帧图像可以是一帧,也可以是多帧。
[0103] 当接收观众客户端发送的虚拟礼物的赠送指令,主播客户端获取目标直播所在直播间的直播视频的一帧或多帧当前视频帧图像。在当前视频帧图像为多帧时,该多帧的当前视频帧图像可以为连接帧视频图像,也可以是隔帧视频图像。
[0104] S1202、提取所述当前视频帧图像中的人物轮廓关键点。
[0105] 在实施例中,主播客户端对当前视频帧图像进行预处理,如图像格式转换、滤波去燥、二值化处理等,提取经过预处理后的当前视频帧图像的人物轮廓,再根据轮廓通过算法运算得到人物轮廓关键点。一般而言,需要将当前视频帧图像转换为位图图像。位图是由像素(Pixel)组成的,像素是位图最小的信息单元,存储在图像栅格中,每个像素都具有特定的位置和颜色值,像素的位置可以根据图像的大小用坐标值(x,y)来表示。
[0106] 需要说明的是,当前视频帧图像的人物轮廓关键点的提取方式可以通过现有的工具和算法来实现,如OpenCV、HOG和OTSU算法等,当然还可以通过其他方式提取当前视频帧图像的人物轮廓关键点。
[0107] 不同人物轮廓关键点的集合对应不同的人体信息。例如,识别出当前视频帧图像的人脸部位,提取人脸部位的轮廓关键点,在一实施例中,人脸信息可以包括106个轮廓关键点,每个轮廓关键点对应人脸的某一部位,每个轮廓关键点对应唯一的坐标值,表示该轮廓关键点在当前视频帧图像中的位置。同理,身体轮廓包括59个轮廓关键点,每个轮廓关键点对应人身体各部位的边缘轮廓,人体骨骼包括22个轮廓关键点,每个轮廓关键点对应人体骨骼关节点,每个轮廓关键点的坐标值表示在当前视频帧图像中的位置。
[0108] S1203、根据所述人物轮廓关键点确定所述特征区域在所述当前视频帧图像上对应的目标位置,以在所述目标位置对所述目标特效礼物进行合成。
[0109] 其中,目标特效礼物对应的特征区域与在当前视频帧图像的目标位置相对应。例如,目标特效礼物“天使翅膀”的特征区域为“背部”,从提取出来的人物轮廓关键点识别出属于“背部”特征的轮廓关键点,并确定为目标轮廓点,根据这些目标轮廓点在当前视频帧图像上的坐标值,确定目标特效礼物所在当前视频帧图像上进行合成的目标位置,其中,目标位置可以是目标轮廓点的坐标值的集合,也可以是目标轮廓点连线所形成的区域。
[0110] 在一实施例中,步骤S120的将所述直播视频以及所述合成位置信息发送至所述客户端,可以包括以下步骤:
[0111] 将所述直播视频和所述合成位置信息进行编码封装成直播视频流数据,并通过服务器将所述直播视频流数据转发至所述观众客户端。
[0112] 在本实施例中,主播客户端将直播视频和根据目标特效礼物所识别出来的合成位置信息进行编码封装成数据包,形成直播视频流数据。主播客户端将直播视频流数据发送至服务器,以使得服务器将该直播视频流数据转发至观众客户端。
[0113] 观众客户端对直播视频流数据进行解码后得到合成位置信息,并根据合成位置信息对目标特效礼物进行处理。
[0114] 示例性一:图5是一实施例提供的一种虚拟礼物特效的合成方法的流程图,图5所示,观众客户端根据合成位置信息对目标特效礼物进行分层合成处理,其主要流程可如下:
[0115] S110a、接收直播视频流数据和目标特效礼物,从所述直播视频流数据中获取直播视频和所述目标特效礼物的合成位置信息。
[0116] 其中,所述合成位置信息可以包括基于主播客户端对所述直播视频进行识别得到的目标特效礼物合成在所述直播视频上的目标位置。
[0117] 在实施例中,用户通过观众客户端向服务器发送虚拟礼物的赠送指令。主播客户端接收端服务器转发的赠送指令,获取直播视频和目标特效礼物所对应的特征区域。可选的,特征区域可以是主播客户端根据赠送指令进行识别得到的,也可以是服务器接收到赠送指令进行识别得到再转发给主播客户端。本实施例以主播客户端根据赠送指令识别目标特效礼物所对应的特征区域为例进行说明。
[0118] 观众客户端接收到直播视频流数据后进行解码,得到合成位置信息和直播视频,并从直播视频中获取当前视频帧图像。需要说明的是,主播客户端用于识别合成位置信息所对应的当前视频帧图像和观众客户端从直播视频中获取的当前视频帧图像是同一帧图像,其展示在主播客户端和观众客户端的分辨率、尺寸和颜色等可以不同。
[0119] 其中,目标特效礼物可以是二维显示形式的特效礼物,也可以是三维显示形式的特效礼物,即三维特效礼物。在本实施例中,该目标特效礼物优选为三维特效礼物,通过三维特效礼物营造出立体特效,增强现实感受,提高虚拟礼物特效的展示效果。
[0120] S120a、将所述直播视频分割为前景图像层和背景图像层,并根据目标特效礼物生成至少一个虚拟礼物特效层。
[0121] 具体的,从直播视频中获取当前视频帧图像;将当前视频帧图像分割为前景区域和背景区域;其中,所述前景区域所在图层为前景图像层;所述背景区域所在图层为背景图像层。
[0122] 在实施例中,观众客户端从直播视频中获取当前视频帧图像,其中,当前视频帧图像可以一帧视频帧图像,也可以是多帧视频帧图像。
[0123] 进一步的,对当前视频帧图像进行背景分割处理。可以利用现有算法对当前视频帧图像的各像素值进行对比,将当前视频帧图像分割为前景区域和背景区域,如将像素值大于某一阈值的像素点的集合所对应的区域作为前景区域,将像素值小于某一阈值的像素点的集合所对应的区域作为背景区域。在实施例中,前景区域和背景区域分别位于不同的图像层,其中,前景区域所在的图像层为前景图像层,背景区域所在的图像层为背景图像层。
[0124] 在一实施例中,前景图像层可以包括直播视频中的主播人物区域,背景图像层可以包括直播视频中除主播人物区域外的背景区域。另外,在实施例中,可以对目标特效礼物进行拆分,生成目标特效礼物所对应的一个或多个虚拟礼物特效层,例如,“面具”礼物只有一个虚拟礼物特效层,“雪花”礼物可以包括多个虚拟礼物特效层,如第一片雪花在虚拟礼物特效层A,第二片雪花在虚拟礼物特效层B,第三片和第四片雪花在虚拟礼物特效层C等。
[0125] 观众客户端获取到当前视频帧图像的前景图像层、背景图像层以及目标特效礼物所对应的一个或多个虚拟礼物特效层。可选的,可以将其进行相应的处理并缓存起来。
[0126] S130a、根据所述合成位置信息将各所述虚拟礼物特效层与所述前景图像层和背景图像层按照顺序进行合成并展示。
[0127] 示例性的,合成位置信息包括人物轮廓关键点的位置A(50,50),B(55,60),C(70,100),各图层包括前景图像层a、背景图像层b、虚拟礼物特效层c、虚拟礼物特效层d和虚拟礼物特效层e,各图层的合成顺序为b、c、a、d和e,且c对应A的位置,d对应B的位置,e对应C的位置。
[0128] 首先,将背景图像层b设置于底层,随后根据A位置将虚拟礼物特效层c与前景图像层a进行合成,接着根据B位置将虚拟礼物特效层d进行合成,最后根据C位置将虚拟礼物特效层e进行合成,以使得目标特效礼物中各部分均添加在当前视频帧图像所对应的目标位置上后,对合成目标特效礼物的当前视频帧图像进行展示。
[0129] 如图6所示,图6是一种直播技术中虚拟礼物的合成效果图,在该技术中,尤其是在大特效礼物展示过程中,虚拟礼物直接添加到直播视频上,使得虚拟礼物和直播视频画面重叠,遮挡主播人物,影响用户观看;而采用本申请的技术后,可以避免遮挡主播人物,可以得到更好的特效展示效果。
[0130] 图7是一实施例提供的虚拟礼物合成的效果图,如图7所示,根据主播的人体背部轮廓信息,将主播人物所在前景图像层设置在“天使翅膀”所在特效层的上面,遮挡“天使翅膀”的设定区域,达到将“天使翅膀”添加到主播人物的背部的效果,根据主播的脸部轮廓信息,将“面具”所在特效层设置在主播人物所在前景图像层之上,遮挡主播人物的脸部设定区域,达到将“面具”添加到主播人物眼睛上的效果,使得目标特效礼物能够根据人体轮廓特征合成到直播视频的当前视频帧图像的目标位置,得到更好的特效展示效果。
[0131] 本实施例提供的虚拟礼物特效的合成方法,通过接收直播视频流数据和目标特效礼物,从直播视频流数据中获取直播视频和目标特效礼物的合成位置信息;将直播视频分割为前景图像层和背景图像层,并根据目标特效礼物生成至少一个虚拟礼物特效层;根据合成位置信息将各虚拟礼物特效层与前景图像层和背景图像层按照顺序进行合成并展示。本实施例中观众客户端根据合成位置信息,将目标特效礼物所对应的至少一个虚拟礼物特效层和当前视频帧图像的前景图像层以及背景图像层按照顺序进行合成并展示,实现了根据人物轮廓等所得到的合成位置信息将目标特效礼物合成到当前视频帧图像的既定的目标位置上,避免了目标特效礼物直接显示在视频区域遮挡主播人物而影响直播效果,同时还提高了虚拟礼物特效的展示效果。
[0132] 示例性二:图8是一实施例提供的一种虚拟礼物特效的渲染方法的流程图,图8所示,观众客户端根据合成位置信息对目标特效礼物进行跨直播视频播放区域渲染,其主要流程可如下:
[0133] 具体的,如图8所示,该虚拟礼物特效的渲染方法可以包括以下步骤:
[0134] S110b、接收直播视频流数据和目标特效礼物,从所述直播视频流数据中获取直播视频和所述目标特效礼物的合成位置信息。
[0135] 其中,本实施例中的目标特效礼物可以是三维显示形式的特效礼物,即三维特效礼物(AI(Artificial Intelligence)虚拟特效礼物)。通过三维特效礼物营造出立体特效,增强现实感受,提高虚拟礼物特效的渲染效果。
[0136] 本步骤与步骤S110a相同,在此不再详细叙述。
[0137] S120b、根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成,得到特效帧图像。
[0138] 观众客户端获取到合成位置信息,根据合成位置信息确定目标特效礼物在直播视频的当前视频帧图像的目标位置,将目标特效礼物添加到该目标位置上与当前视频帧图像进行合成,得到特效帧图像。其中,当前视频帧图像可以是一帧视频帧图像,也可以是多帧视频帧图像。
[0139] 在实施例中,当前视频帧图像可以分割为前景图像层和背景图像层,目标特效礼物可以包括一个或多个虚拟礼物特效层,在实施例中,可以对目标特效礼物进行拆分,生成目标特效礼物所对应的一个或多个虚拟礼物特效层,根据合成位置信息确定每个虚拟礼物特效层在前景图像层或背景图像层上的目标位置,将各虚拟礼物特效层、前景图像层和背景图像层进行合成,得到特效帧图像。
[0140] 在一实施例中,根据合成位置信息将各所述虚拟礼物特效层与所述前景图像层和背景图像层按照优先级顺序进行合成并展示。
[0141] S130b、在直播窗口上设置展示特效展示区域,在播放所述直播视频的过程中,在所述特效展示区域同步渲染所述特效帧图像。
[0142] 直播窗口是指直播应用处于开启状态下对应的窗口,处于最大化状态是可以占据整个终端设备屏幕。在本实施例中,在直播窗口上设置特效展示区域,特效展示区域设置于直播视频播放区域之上,特效展示区域大于直播视频播放区域,使得目标特效礼物所对应的特效能够能放大渲染出来,提高特效展示的效果。其中,直播视频播放区域是指用于播放直播视频的区域。
[0143] 观众客户端获取到合成位置信息后,结合当前观众客户端进行特效展示区域的大小对合成位置信息进行相对应的换算,根据换算后的合成位置信息确定目标特效礼物在当前视频帧图像上的目标位置,将目标特效礼物添加到目标位置上进行合成。
[0144] 例如,主播客户端识别到当前视频帧图像的分辨率大小为400*300,所得到的合成位置信息中目标轮廓点A的坐标值为(50,50),而观众客户端进行展示的同一当前视频帧图像的分辨率大小为800*600,相对应地对合成位置信息进行换算,得到当前目标轮廓点A’的坐标值为(100,100)。将目标特效礼物添加到经换算后的合成位置信息所确定的目标位置上进行合成。需要说明的是,同一当前视频帧图像是指视频帧图像的内容相同,其余特征如分辨率、图像尺寸等可以不同。
[0145] 在本实施例中,图像帧图像的特效展示和直播视频播放占用不同的线程,以使得其中一线程在播放直播视频过程中,另一线程能够将特效帧图像同步渲染到特效展示区域,以达到视频播放和特效展示同步进行,提高了特效的展示效果。
[0146] 需要说明的是,将特效礼物所对应的特效层中被主播人物遮挡的区域透明化,以使得跨直播视频播放区域的特效展示而不影响直播视频播放区域正常的视频播放。
[0147] 如图9所示,图9是一种直播技术中虚拟礼物的渲染效果图,在该技术中,尤其是在AR(Augmented Reality,增强现实)虚拟特效礼物展示过程中,AR虚拟礼物只能现实在直播视频播放区域,展示效果不佳;而采用本申请的技术后,可以跨直播视频播放区域展示,可以得到更好的特效展示效果。
[0148] 继续参考图7,如图7所示,在直播视频播放区域设置特效展示区域,在特效展示区域的面积大于直播视频播放区域,虚拟礼物特效渲染到特效展示区域,以使得虚拟礼物特效能够跨直播视频区域进行展示,如图7所示中的虚拟特效礼物中的“天使翅膀”,得到更好的特效展示效果。
[0149] 本实施例提供的虚拟礼物特效的渲染方法,通过接收直播视频流数据和目标特效礼物,从直播视频流数据中获取直播视频和目标特效礼物的合成位置信息;其中,合成位置信息包括基于主播客户端对直播视频进行识别得到的目标特效礼物合成在直播视频上的目标位置;根据合成位置信息将目标特效礼物添加到直播视频进行合成,得到特效帧图像;在直播窗口上设置展示特效展示区域,在播放直播视频的过程中,在特效展示区域同步渲染特效帧图像,以使得虚拟礼物特效并非仅局限于客户端的直播视频播放区域,能够跨视频播放区域进行渲染和展示。
[0150] 图10是一实施例提供的虚拟礼物特效的处理方法的另一流程图,该虚拟礼物特效的处理方法应用于服务端,可以由服务器来执行。
[0151] 具体的,如图10所示,虚拟礼物特效的处理方法包括以下步骤:
[0152] S410、向主播客户端发送虚拟礼物的赠送指令。
[0153] 其中,所述主播客户端根据所述赠送指令获取对应的目标特效礼物并确定所述目标特效礼物的特征区域,根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息。
[0154] 观众在观看直播视频过程中,向目标主播赠送虚拟礼物,通过在观众客户端触发相关功能按键选择目标特效礼物,以使得观众客户端向服务器发出虚拟礼物的赠送指令,服务器接收到该赠送指令转发至主播客户端,其中,该虚拟礼物的赠送请求携带有目标特效礼物标识和目标主播标识等信息。
[0155] 服务器将观众客户端发送的虚拟礼物的赠送指令转发给主播客户端后,根据获取到的目标特效礼物标识确定相对应的目标特效礼物及其对应的特征区域,同时获取直播视频中当前视频帧图像,对当前视频帧图像进行识别,得到该目标特效礼物的特征区域在当前视频帧图像所对应目标轮廓点,得到合成位置信息。
[0156] S420、接收主播客户端发送的直播视频流数据。
[0157] 其中,所述直播视频流数据中包括直播视频和目标特效礼物的合成位置信息。
[0158] 主播客户端将合成位置信息和直播视频进行编码,形成直播视频流数据,以使得合成位置信息独立跟随直播视频进行传输。在实施例中,服务器接收通过主播客户端按照设定的通信协议进行传输得到的直播视频流数据。
[0159] S430、将所述直播视频流数据转发至观众客户端;其中,所述观众客户端根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成并进行展示。
[0160] 服务器接收到主播客户端发送的直播视频流后转发至处于同一直播间的各观众客户端,以使得观众客户端解码直播视频流数据得到合成位置信息,并根据该合成位置信息将目标特效礼物添加到直播视频上目标位置上进行合成,并对合成后的目标特效礼物进行展示。
[0161] 本实施例提供的虚拟礼物特效的处理方法,应用于服务端,通过向主播客户端发送虚拟礼物赠送指令;其中,主播客户端根据赠送指令获取对应的目标特效礼物并确定目标特效礼物的特征区域,根据特征区域确定目标特效礼物在直播视频上的合成位置信息;接收主播客户端发送的直播视频流数据;其中,直播视频流数据中包括直播视频和目标特效礼物的合成位置信息;将直播视频流数据转发至观众客户端;其中,观众客户端根据合成位置信息将目标特效礼物添加到直播视频进行合成并进行展示。本方案通过服务器将合成位置信息跟随直播视频一起发送至观众客户端,使得合成位置信息独立于直播视频,跟随直播视频进行传输,以便于观众客户端根据合成位置信息结合观众客户端对虚拟特效礼物的效果展示进行二次编辑,从而有利于在观众客户端实现分层特效处理和跨直播视频播放区域的特效展示,提高特效展示的效果。
[0162] 为了更清楚地阐释本申请的技术方案,将结合若干场景下的示例,进一步进行说明。
[0163] 场景一:参考图11,图11是一实施例提供的虚拟礼物赠送过程的时序图;该示例中,观众向主播赠送三维特效礼物“天使翅膀”,对应标识为ID1648,则其主要流程可以如下:
[0164] S11、观众客户端发出送礼请求到服务器。
[0165] 观众用户W通过观众客户端发出送礼请求到服务器,其中,虚拟礼物为ID1648。
[0166] S12、服务器进行业务处理。
[0167] 服务器收到送礼请求后,做相应的业务处理(如扣费等)。
[0168] S13、服务器广播送礼信息。
[0169] 将观众用户W向主播赠送ID1648礼物的送礼信息广播到频道内的所有用户,包括主播客户端和观众客户端。
[0170] S14、主播客户端收到送礼信息后,查询该虚拟礼物,识别合成位置信息。
[0171] 主播客户端收到送礼信息的广播后,根据虚拟礼物ID1648,查询礼物配置得到该虚拟礼物为三维特效礼物(如AI(Artificial Intelligence)礼物),需要识别的合成位置信息包括人脸和背部,则主播客户端启动进行人脸识别和背景分割识别。
[0172] S15、主播客户端将合成位置信息打包到直播视频流进行传输。
[0173] 主播客户端将人脸识别和背景分割识别所得到的合成位置信息(可以为AI信息)打包到直播视频流中,通过直播视频流跟随直播视频一起传输到服务器。
[0174] S16、服务器转发该直播视频流。
[0175] 服务器将包含有合成位置信息的直播视频流传输至观众客户端。
[0176] S17、观众客户端获取合成位置信息,进行虚拟礼物合成并展示。
[0177] 观众客户端从直播视频流中解码得到合成位置信息,将合成位置信息与虚拟礼物相结合,播放出天使翅膀特效:主播背后生长书天使翅膀。
[0178] 场景二:观众向主播赠送三维特效礼物“宠物小鸟”,对应标识为ID1649,则其主要流程可以如下:
[0179] S21、观众客户端发出送礼请求到服务器。
[0180] 观众用户Q通过观众客户端发出送礼请求到服务器,其中,虚拟礼物为ID1649。
[0181] S22、服务器进行业务处理;
[0182] 服务器收到送礼请求后,做相应的业务处理(如扣费等)。
[0183] S23、服务器广播送礼信息。
[0184] 将观众用户Q向主播赠送ID1649礼物的送礼信息广播到频道内的所有用户,包括主播客户端和观众客户端。
[0185] S24、主播客户端收到送礼信息后,查询该虚拟礼物,识别合成位置信息。
[0186] 主播客户端收到送礼信息的广播后,根据虚拟礼物ID1649,查询礼物配置得到该虚拟礼物为三维特效礼物(如AI(Artificial Intelligence)礼物),需要识别的合成位置信息包括人脸和人体轮廓,则主播客户端启动进行人脸识别和人体轮廓识别。
[0187] S25、主播客户端将合成位置信息打包到直播视频流进行传输。
[0188] 主播客户端将人脸识别和人体轮廓识别所得到的合成位置信息(可以为AI信息)打包到直播视频流中,通过直播视频流跟随直播视频一起传输到服务器。
[0189] S26、服务器转发该直播视频流。
[0190] 服务器将包含有合成位置信息的直播视频流传输至观众客户端。
[0191] S27、观众客户端获取合成位置信息,进行虚拟礼物合成并展示。
[0192] 观众客户端从直播视频流中解码得到合成位置信息,将合成位置信息与虚拟礼物相结合,播放出“宠物小鸟”特效:小鸟从视频外区域飞到主播肩膀上。
[0193] 以上示例仅用于辅助阐述本申请技术方案,其涉及的图示内容及具体流程不构成对本申请技术方案的使用场景的限定。
[0194] 下面对虚拟礼物特效的处理装置的相关实施例进行详细阐述。
[0195] 图12是一实施例提供的虚拟礼物特效的处理装置的结构示意图,如图12所示,该虚拟礼物特效的处理装置100可以包括:特征获取模块110、信息确定模块120和信息发送模块130。
[0196] 其中,特征获取模块110,用于接收虚拟礼物的赠送指令,根据所述赠送指令获取对应的目标特效礼物并确定所述目标特效礼物的特征区域;
[0197] 信息确定模块120,用于根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息;
[0198] 信息发送模块130,用于将所述直播视频以及所述合成位置信息发送至观众客户端,使得所述观众客户端根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成并进行展示。
[0199] 本实施例提供的虚拟礼物特效的处理装置,应用于主播客户端,通过特征获取模块110接收观众客户端发送的虚拟礼物的赠送指令,根据赠送指令获取对应的目标特效礼物并确定目标特效礼物的特征区域;信息确定模块120根据特征区域确定目标特效礼物在直播视频上的合成位置信息;信息发送模块130将直播视频以及合成位置信息发送至客户端,使得观众客户端根据合成位置信息将目标特效礼物添加到直播视频进行合成并进行展示。本方案将合成位置信息跟随直播视频一起发送至观众客户端。相对于主播客户端直接将目标特效礼物合成到直播视频,再发送至各观众客户端以在观众客户端的视频区域播放虚拟礼物特效,该实施例利用主播客户端在直播视频外将合成位置信息进行编码封装,使得合成位置信息独立于直播视频,跟随直播视频进行传输,以便于观众客户端根据合成位置信息结合观众客户端对虚拟特效礼物的效果展示进行二次编辑,从而有利于在观众客户端实现分层特效处理和跨直播视频播放区域的特效展示,提高特效展示的效果。
[0200] 在一实施例中,特征获取模块110包括:标识获取单元和特征确定单元;
[0201] 其中,标识获取单元,用于获取目标特效礼物标识;特征确定单元,用于根据所述目标特效礼物标识查找得到目标特效礼物,确定所述目标特效礼物所对应的特征区域。
[0202] 在一实施例中,信息确定模块120包括:帧图像获取单元、关键点提取单元以及目标位置确定单元;
[0203] 其中,帧图像获取单元,用于获取所述直播视频的当前视频帧图像;关键点提取单元,用于提取所述当前视频帧图像中的人物轮廓关键点;目标位置确定单元,用于根据所述人物轮廓关键点确定所述特征区域在所述当前视频帧图像上对应的目标位置,以在所述目标位置对所述目标特效礼物进行合成。
[0204] 在一实施例中,信息发送模块120用于将所述直播视频和所述合成位置信息进行编码封装成直播视频流数据,并通过服务器将所述直播视频流数据转发至所述观众客户端。
[0205] 在一实施例中,所述目标特效礼物为三维显示形式的特效礼物。
[0206] 在一实施例中,所述合成位置信息包括:人脸信息、人体轮廓信息、手势信息和人体骨骼信息中的至少一者。
[0207] 图13是一实施例提供的虚拟礼物特效的处理装置的另一结构示意图,本实施例中的虚拟礼物特效的处理装置应用于服务端,如服务器,如图13所示,虚拟礼物特效的处理装置400包括:指令发送模块410、数据接收模块420以及数据转发模块430。
[0208] 其中,指令发送模块410,用于向主播客户端发送虚拟礼物的赠送指令;其中,所述主播客户端根据所述赠送指令获取对应的目标特效礼物并确定所述目标特效礼物的特征区域,根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息;
[0209] 数据接收模块420,用于接收主播客户端发送的直播视频流数据;其中,所述直播视频流数据中包括直播视频和目标特效礼物的合成位置信息;
[0210] 数据转发模块430,用于将所述直播视频流数据转发至观众客户端;其中,所述观众客户端根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成并进行展示。
[0211] 上述提供的虚拟礼物特效的处理装置可用于执行上述任意实施例提供的虚拟礼物特效的处理方法,具备相应的功能和有益效果。
[0212] 本申请实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如上述任一实施例中的虚拟礼物特效的处理方法。
[0213] 可选的,该计算机设备可以为移动终端、平板电脑、计算机电脑或服务器等。上述提供的计算机设备执行上述任一实施例提供的虚拟礼物特效的处理方法时,具有相应的功能和有益效果。
[0214] 本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种虚拟礼物特效的处理方法,包括:
[0215] 接收虚拟礼物的赠送指令,根据所述赠送指令获取对应的目标特效礼物并确定所述目标特效礼物的特征区域;
[0216] 根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息;
[0217] 将所述直播视频以及所述合成位置信息发送至观众客户端,使得所述观众客户端根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成并进行展示。
[0218] 或者,所述计算机可执行指令在由计算机处理器执行时用于执行一种虚拟礼物特效的处理方法,包括:
[0219] 向主播客户端发送虚拟礼物赠送指令;其中,所述主播客户端根据所述赠送指令获取对应的目标特效礼物并确定所述目标特效礼物的特征区域,根据所述特征区域确定所述目标特效礼物在所述直播视频上的合成位置信息;
[0220] 接收主播客户端发送的直播视频流数据;其中,所述直播视频流数据中包括直播视频和目标特效礼物的合成位置信息;
[0221] 将所述直播视频流数据转发至观众客户端;其中,所述观众客户端根据所述合成位置信息将所述目标特效礼物添加到所述直播视频进行合成并进行展示。
[0222] 当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的虚拟礼物特效的处理方法操作,还可以执行本申请任意实施例所提供的虚拟礼物特效的处理方法中的相关操作,且具备相应的功能和有益效果。
[0223] 通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请任意实施例所述的虚拟礼物特效的处理方法。
[0224] 应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0225] 以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。