基于人工智能的直播方法、装置、设备及存储介质转让专利

申请号 : CN202110184746.2

文献号 : CN112995706B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱绍明

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明提供了一种基于人工智能的直播方法、装置、设备及存储介质;方法包括:接收用于供虚拟主播表演的给定文本;对所述给定文本对应的脸部特征进行特效渲染处理,得到包括所述脸部特征的脸部图像;对所述脸部图像和背景图像进行合成处理,得到对应所述虚拟主播的图像帧;基于所述虚拟主播的图像帧和对应所述给定文本的音频数据,合成对应所述给定文本的推流数据包;向客户端发送所述推流数据包,通过本发明,能够将文本数据自动实时合成为视频推送到客户端,从而有效提高直播的实时性、并降低直播劳动力成本。

权利要求 :

1.一种基于人工智能的直播方法,其特征在于,所述方法包括:接收用于供虚拟主播表演的给定文本;

根据所述给定文本实时获取对应所述虚拟主播的音频数据和脸部特征;

基于所述虚拟主播的音频数据和脸部特征,形成至少一个媒体数据包,并继续处理下一个给定文本,以得到对应下一个给定文本的至少一个媒体数据包;

从对应所述给定文本的至少一个媒体数据包中提取出对应所述给定文本的脸部特征;

对所述给定文本对应的脸部特征进行特效渲染处理,得到包括所述脸部特征的脸部图像,并对所述脸部图像和背景图像进行合成处理,得到对应所述虚拟主播的图像帧;

基于所述虚拟主播的图像帧和对应所述给定文本的音频数据,合成对应所述给定文本的推流数据包,并继续处理对应下一个给定文本的至少一个媒体数据包,以得到对应下一个给定文本的推流数据包;

当形成对应任意一个给定文本的推流数据包时,向客户端发送形成的推流数据包。

2.根据权利要求1所述的方法,其特征在于,所述基于所述虚拟主播的音频数据和脸部特征,形成至少一个媒体数据包,包括:对所述给定文本进行划分处理,得到对应所述给定文本的多个语段;

生成对应任意一个所述语段的媒体数据包,并继续实时处理下一个语段,以生成对应所述下一个语段的媒体数据包;

其中,所述媒体数据包包括对应所述语段的音频数据和脸部特征,且对应所述语段的音频数据和脸部特征与所述虚拟主播对应。

3.根据权利要求1所述的方法,其特征在于,所述根据所述给定文本实时获取对应所述虚拟主播的音频数据,包括:

当接收到所述给定文本时,实时将所述给定文本转化为对应所述给定文本的词向量;

对所述词向量进行编码处理以及解码处理,得到对应所述词向量的音频特征;

对所述音频特征进行合成处理,得到对应所述虚拟主播的音频数据。

4.根据权利要求1所述的方法,其特征在于,所述根据所述给定文本实时获取对应所述虚拟主播的脸部特征,包括:

根据对应所述给定文本的音频数据,预测所述虚拟主播的嘴部关键点,并对所述嘴部关键点进行归一化处理,以使所述嘴部关键点适应于标准面部模板;

对经过归一化处理的嘴部关键点进行降维处理,得到对应所述虚拟主播的口型特征;

对所述给定文本进行语义分析,得到所述给定文本所表征的语义;

根据所述给定文本所表征的语义,确定与所述语义匹配的脸部表情特征,并结合所述口型特征以及所述脸部表情特征形成对应所述虚拟主播的脸部特征。

5.根据权利要求4所述的方法,其特征在于,对所述嘴部关键点进行归一化处理之前,所述方法还包括:

向区块链网络发送查询交易,其中,所述查询交易指示了用于查询所述区块链网络中账本的智能合约,以使

所述区块链网络中的共识节点通过执行所述智能合约的方式来查询所述账本,得到所述账本中存储的所述标准面部模板;或者根据所述标准面部模板的标识,从标准面部模板数据库中查询所述标识对应的所述标准面部模板,并确定所述查询到的标准面部模板的哈希值;

从区块链网络中查询所述标识对应的哈希值,当所查询到的哈希值与所述确定的哈希值一致时,确定所述查询到的标准面部模板未经篡改。

6.根据权利要求1所述的方法,其特征在于,在形成至少一个媒体数据包之前,所述方法还包括:

将所述给定文本发送至区块链网络,以使所述区块链网络中的共识节点通过执行智能合约的方式来对所述给定文本进行合规性检查;

当接收到超过预设数目的共识节点返回的合规性确认时,确定所述给定文本通过所述合规性检查。

7.根据权利要求1所述的方法,其特征在于,所述形成至少一个媒体数据包,包括:将所述给定文本划分为至少两个语段,并基于所述至少两个语段,将所述音频数据划分为与所述至少两个语段分别匹配的音频数据;

基于所述至少两个语段,对所述脸部特征进行分类,得到分别匹配于所述至少两个语段的脸部特征;

将对应于同一语段的脸部特征和音频数据组合,得到对应所述语段的媒体数据包。

8.根据权利要求1所述的方法,其特征在于,所述对所述给定文本对应的脸部特征进行特效渲染处理,得到包括所述脸部特征的脸部图像,包括:将所述脸部特征转化为对应所述脸部特征的特征向量;

从对应所述脸部特征的特征向量中,提取与图像帧数目相同数目的特征向量;

其中,所述图像帧数目为所述音频数据的播放时长以及帧率参数的乘积;

基于所述提取的特征向量进行特效渲染处理,得到与所述图像帧数目相同数目的脸部图像。

9.根据权利要求1所述的方法,其特征在于,所述对所述脸部图像和背景图像进行合成处理,包括:

基于所述给定文本所表征的语义,提取对应所述语义的背景图像;

其中,所述背景图像中包括所述虚拟主播的模型、动作以及所处的直播场景;

将所述脸部图像与所述背景图像进行合成,得到所述虚拟主播的图像帧,其中,所述虚拟主播处于所述直播场景中、且具备所述动作以及所述脸部图像中相应的脸部表情和口型。

10.根据权利要求9所述的方法,其特征在于,所述提取对应所述语义的背景图像,包括:

向区块链网络发送查询交易,其中,所述查询交易指示了用于查询所述区块链网络中账本的智能合约以及对应所述语义的查询参数,以使所述区块链网络中的共识节点通过执行所述智能合约的方式来查询所述账本,得到所述账本中符合所述查询参数的背景图像;或者根据所述语义从背景图像数据库中查询所述语义对应的背景图像,并确定所述查询到的背景图像的哈希值;

从区块链网络中查询所述语义对应的哈希值,当所查询到的哈希值与所述确定的哈希值一致时,确定所述查询到的背景图像未经篡改。

11.根据权利要求9所述的方法,其特征在于,所述方法还包括:确定所述音频数据所表征的音素顺序;

基于所述音素顺序,确定包含所述口型的图像帧的顺序,以使所述图像帧的顺序所表征的口型变化和所述音素顺序相匹配。

12.根据权利要求9所述的方法,其特征在于,所述方法还包括:确定所述音频数据所表征的音素顺序;

基于所述音素顺序,确定包含所述虚拟主播的动作特征的图像帧的顺序,以使所述图像帧的顺序所表征的动作变化和所述音素顺序相匹配。

13.根据权利要求1‑12任一项所述的方法,其特征在于,所述方法还包括:响应于客户端发送的直播请求,为所述直播请求分配流媒体播放地址,并将所述流媒体播放地址返回至所述客户端;

所述向客户端发送形成的推流数据包,包括:将图像帧集合与音频数据推送至对应所述流媒体播放地址的流媒体接口,以使所述客户端基于所述流媒体播放地址拉取所述图像帧集合与音频数据,通过所述客户端的播放界面实时呈现所述图像帧集合中的图像帧,并同步播放所述音频数据。

14.根据权利要求1‑12任一项所述的方法,其特征在于,所述接收用于供虚拟主播表演的给定文本,包括:

响应于客户端发送的互动文本,执行以下处理至少之一:查询与互动文本匹配的话术资源,作为所述给定文本;

获取直播内容提供商上传的用于回答所述互动文本的给定文本;

根据所述互动文本爬取用于回答所述互动文本的给定文本。

15.一种基于人工智能的直播装置,其特征在于,所述装置包括:文本转语音请求模块,用于接收用于供虚拟主播表演的给定文本;

所述文本转语音请求模块,还用于根据所述给定文本实时获取对应所述虚拟主播的音频数据和脸部特征;基于所述虚拟主播的音频数据和脸部特征,形成至少一个媒体数据包,并继续处理下一个给定文本,以得到对应下一个给定文本的至少一个媒体数据包;从对应所述给定文本的至少一个媒体数据包中提取出对应所述给定文本的脸部特征;

渲染模块,用于对所述给定文本对应的脸部特征进行特效渲染处理,得到包括所述脸部特征的脸部图像,并对所述脸部图像和背景图像进行合成处理,得到对应所述虚拟主播的图像帧;基于所述虚拟主播的图像帧和对应所述给定文本的音频数据,合成对应所述给定文本的推流数据包,并继续处理对应下一个给定文本的至少一个媒体数据包,以得到对应下一个给定文本的推流数据包;

视频推流模块,用于当形成对应任意一个给定文本的推流数据包时,向客户端发送形成的推流数据包。

16.一种基于人工智能的直播设备,其特征在于,所述设备包括:存储器,用于存储可执行指令;

处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至14任一项所述的基于人工智能的直播方法。

17.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至14任一项所述的基于人工智能的直播方法。

说明书 :

基于人工智能的直播方法、装置、设备及存储介质

技术领域

[0001] 本发明涉及人工智能技术,尤其涉及一种基于人工智能的直播方法、装置、设备及存储介质。

背景技术

[0002] 人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理
论、方法和技术及应用系统。
[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] 其中,所述背景图像中包括所述虚拟主播的模型、动作以及所处的直播场景;
[0048] 将所述脸部图像与所述背景图像进行合成,得到所述虚拟主播的图像帧,其中,所述虚拟主播处于所述直播场景中、且具备所述动作以及所述脸部图像中相应的脸部表情和
口型。
[0049] 在上述方案中,所述渲染模块,还用于:
[0050] 向区块链网络发送查询交易,其中,所述查询交易指示了用于查询所述区块链网络中账本的智能合约以及对应所述语义的查询参数,以使
[0051] 所述区块链网络中的共识节点通过执行所述智能合约的方式来查询所述账本,得到所述账本中符合所述查询参数的背景图像;或者
[0052] 根据所述语义从背景图像数据库中查询所述语义对应的背景图像,并确定所述查询到的背景图像的哈希值;
[0053] 从区块链网络中查询所述语义对应的哈希值,当所查询到的哈希值与所述确定的哈希值一致时,确定所述查询到的背景图像未经篡改。
[0054] 在上述方案中,所述渲染模块,还用于:
[0055] 确定所述音频数据所表征的音素顺序;
[0056] 基于所述音素顺序,确定包含所述口型特征的图像帧的顺序,以使所述图像帧的顺序所表征的口型变化和所述音素顺序相匹配。
[0057] 在上述方案中,所述渲染模块,还用于:
[0058] 确定所述音频数据所表征的音素顺序;
[0059] 基于所述音素顺序,确定包含所述虚拟主播的动作特征的图像帧的顺序,以使所述图像帧的顺序所表征的动作变化和所述音素顺序相匹配。
[0060] 在上述方案中,所述装置还包括:
[0061] 流媒体服务模块,用于响应于客户端发送的直播请求,为所述直播请求分配流媒体播放地址,并将所述流媒体播放地址返回至所述客户端;
[0062] 所述视频推流模块,还用于:
[0063] 将所述图像帧集合与音频数据推送至对应所述流媒体播放地址的流媒体接口,以使所述客户端基于所述流媒体播放地址拉取所述图像帧集合与音频数据,通过所述客户端
的播放界面实时呈现所述图像帧集合中的图像帧,并同步播放所述音频数据。
[0064] 在上述方案中,所述文本转语音请求模块,还用于:响应于客户端发送的互动文本,执行以下处理至少之一:查询与互动文本匹配的话术资源,作为所述给定文本;获取直
播内容提供商上传的用于回答所述互动文本的给定文本;根据所述互动文本爬取用于回答
所述互动文本的给定文本。
[0065] 本发明实施例提供一种基于人工智能的直播设备,包括:
[0066] 存储器,用于存储可执行指令;
[0067] 处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的基于人工智能的直播方法。
[0068] 本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的基于人工智能的直播方法。
[0069] 本发明实施例具有以下有益效果:
[0070] 通过本发明实施例提供的基于人工智能的直播方法,能够将文本数据自动实时合成为视频推送到客户端,从而有效提高视频播放的实时性、并降低直播劳动力成本。

附图说明

[0071] 图1是本发明实施例提供的基于人工智能的直播系统架构的一个可选的结构示意图;
[0072] 图2是本发明实施例提供的基于人工智能的直播设备的一个可选的结构示意图;
[0073] 图3A‑3E是本发明实施例提供的基于人工智能的直播方法的一个可选的流程示意图;
[0074] 图4是本发明实施例提供的基于人工智能的直播方法的实现架构图;
[0075] 图5A‑5B是本发明实施例提供的虚拟视频直播服务的整体框架示意图;
[0076] 图6是本发明实施例提供的虚拟视频推流服务的实现框架。

具体实施方式

[0077] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本邻域普通技术人员在没有
做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0078] 在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解“, 一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突
的情况下相互结合。
[0079] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术邻域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,
不是旨在限制本发明。
[0080] 对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
[0081] 1)文本转语音(Text To Speech):通过人工智能(例如,神经网络),把文本智能地转化为自然语音流。
[0082] 2)虚拟视频直播:由虚拟角色所合成的视频直播,由虚拟角色担任虚拟主播的角色,在新闻、游戏等场景下进行直播。
[0083] 随着通信技术的发展,网络通信带宽得到很大的提高,视频直播技术也日趋成熟,在各个方面得到应用。同时随着人工智能技术的发展,文本转语音技术与图像合成技术也
成为了人们的研究热点,发展迅速。视频直播技术与人工智能技术的结合可以在许多地方
发挥作用,比如代替真人进行新闻虚拟播报、代替游戏主播进行游戏虚拟解说等,具有广阔
的应用前景。在虚拟视频直播技术中,音频与图像的生成需要耗费大量的计算时间,为保证
虚拟视频直播的实时性,虚拟视频实时推流的实现成为影响最终直播视频质量的重要因
素,相关技术中的直播方法大都是针对已有稳定的音频、图像数据输入(如本地视频推流),
或者是能够快速获取到音频、图像数据(如摄像头获取数据)等应用场景,无法在虚拟视频
直播中得到很好应用,具体而言,上述相关技术中的技术方案在实际应用中存在以下缺陷:
过分依赖稳定的数据源,且在需要较大计算力的场景下,相关技术中的技术方案无法适用,
基于此,本发明实施例提出了一种基于人工智能的直播方法,通过并行处理的方式,解决在
需要耗费较大计算力用于获取音视频数据的前提下,虚拟视频实时直播的问题,能够有效
增强虚拟视频直播的实时性并提高直播视频流畅性。
[0084] 本发明实施例提供一种基于人工智能的直播方法、装置、设备和存储介质,能够解决在需要耗费较大计算力用于获取音视频数据的前提下,虚拟视频实时直播的问题,下面
说明本发明实施例提供的基于人工智能的直播设备的示例性应用,本发明实施例提供的设
备可以实施为服务器。下面,将说明设备实施为服务器时示例性应用。
[0085] 参见图1,图1是本发明实施例提供的基于人工智能的直播系统100的一个可选的架构示意图,终端400(示例性示出了终端400‑1和终端400‑2)通过网络300连接服务器200,
网络300可以是广域网或者局域网,又或者是二者的组合。终端400‑1和终端400‑2上分别设
置有直播客户端410‑1和410‑2,这里的直播客户端具备提供直播内容的功能以及对直播视
频进行呈现的功能,服务器200中包括文本转语音请求模块2551、渲染模块2552和视频推流
模块2553,文本转语音请求模块2551基于终端400‑1和400‑2返回的给定文本,流式获取到
对应的口型特征与音频数据,形成媒体数据包,渲染模块2552对每次获取到的媒体数据包
中的口型特征通过渲染处理,获取虚拟角色的表情图像,形成推流数据包,视频推流模块
2553将每次获取到的表情图像(图像帧集合)与音频数据实时合成为虚拟视频推送给客户
端,文本转语音请求模块2551、渲染模块2552和视频推流模块2553是相互独立并行协助的
方式对所接收到的数据进行处理,能够将文本数据自动实时合成为视频推送到直播客户端
410‑1和410‑2,在渲染模块2552对每次获取到的口型特征通过渲染处理的过程中,还可以
调用基于人工智能的直播系统100中的数据库500中的形象资源,以实现更加丰富的视频直
播呈现,这里,还可以将口型特征替换为脸部特征,脸部特征包括口型特征和脸部表情特
征。
[0086] 参见图2,图2是本发明实施例提供的基于人工智能的直播服务器200的结构示意图,图2所示的服务器200包括:至少一个处理器210、存储器250、至少一个网络接口220和用
户接口230。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用
于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控
制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统240。
[0087] 处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者
晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理
器等。
[0088] 用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包
括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输
入按钮和控件。
[0089] 存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一
个或多个存储设备。
[0090] 存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可
以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器250旨在
包括任意适合类型的存储器。
[0091] 在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
[0092] 操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0093] 网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,
Universal Serial Bus)等;
[0094] 呈现模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户
接口);
[0095] 输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
[0096] 在一些实施例中,本发明实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器250中的基于人工智能的直播装置255,其可以是程序和插件等形式的软件,包
括以下软件模块:文本转语音请求模块2551、渲染模块2552、视频推流模块2553和流媒体服
务模块2554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步
拆分,将在下文中说明各个模块的功能。
[0097] 在另一些实施例中,本发明实施例提供的基于人工智能的直播装置255可以采用硬件方式实现,作为示例,本发明实施例提供的基于人工智能的直播装置255可以是采用硬
件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于人工智能的直播方
法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,
Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable 
Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场
可编程门阵列(FPGA,Field‑Programmable Gate Array)或其他电子元件。
[0098] 下面将结合本发明实施例提供的终端的示例性应用和实施,说明本发明实施例提供的基于人工智能的直播方法。
[0099] 参见图3A,图3A是本发明实施例提供的基于人工智能的直播方法的一个可选的流程示意图。
[0100] 在步骤201中,接收用于供虚拟主播表演的给定文本。
[0101] 在步骤202中,对给定文本对应的脸部特征进行特效渲染处理,得到包括脸部特征的脸部图像。
[0102] 在步骤203中,对脸部图像和背景图像进行合成处理,得到对应虚拟主播的图像帧。
[0103] 在步骤204中,基于虚拟主播的图像帧和对应给定文本的音频数据,合成对应给定文本的推流数据包。
[0104] 在步骤205中,向客户端发送推流数据包。
[0105] 参见图3B,图3B是本发明实施例提供的基于人工智能的直播方法的一个可选的流程示意图,将结合图3B示出的步骤101‑106进行说明。
[0106] 在步骤101中,服务器接收来自于客户端的用于供虚拟主播表演的给定文本。
[0107] 在一些实施例中,客户端将用于供虚拟主播表演的给定文本发送至服务器,这里的给定文本可以是用户输入的,还可以是通过网络爬去的,这里的给定文本来源于直播内
容提供商,这里的给定文本还可以来源于观看直播的用户,虚拟主播可以实时基于观看直
播的用户通过客户端输入的文本进行表演,另外在直播过程中,观看直播的用户可以和虚
拟主播进行互动,在虚拟主播进行直播表演的过程中,用户输入互动文本后,客户端可以根
据互动文本查询对应的话术,生成对应话术的给定文本,或者将互动文本发送至服务器,由
服务器根据互动文本查询对应的话术,生成对应话术的给定文本,使得虚拟主播根据对应
话术的给定文本进行直播表演,实现了观看用户和虚拟主播之间的互动。
[0108] 在步骤102中,服务器根据给定文本实时获取对应虚拟主播的音频数据和脸部特征,以形成至少一个媒体数据包并继续实时处理下一个给定文本。
[0109] 在一些实施例中,在步骤102中,服务器根据给定文本实时获取对应虚拟主播的音频数据和脸部特征,以形成至少一个媒体数据包并继续实时处理下一个给定文本,可以由
文本转语音请求模块请求文本转语音服务来获取媒体数据包,文本转语音服务用于根据给
定文本实时获取对应虚拟主播的音频数据和脸部特征,以形成至少一个媒体数据包并继续
实时处理下一个给定文本,或者也可以由文本转语音模块直接根据给定文本实时获取对应
虚拟主播的音频数据和脸部特征,以形成至少一个媒体数据包并继续实时处理下一个给定
文本,这里实时处理下一个给定文本意味着,文本转语音请求模块不会等待完成整个推流
过程之后才处理下一个给定文本,即只要处理完一个给定文本之后,就开始处理下一个给
定文本,下一个给定文本可以是来自于同一个客户端的,也可以是来自于不同客户端的,给
定文本可以是针对同一场直播的,接收到的不同给定文本也可以是针对不同直播的,对应
形成的媒体数据包中会携带有直播标识,不同直播对应有不同直播标识,进一步的,文本转
语音请求模块基于处理器所配置的处理能力,该模块自身也会具有对应于处理器配置的处
理能的并行处理能力,即同时处理多个给定文本,这多个给定文本可以是来自于不同客户
端或者是针对不同直播的给定文本。在处理过程中,还可以对给定文本进行划分,在划分之
后再生成对应各个语段的媒体数据包,每处理完一个语段以生成一个媒体数据包之后,就
紧接着处理下一个语段以产生下一个媒体数据包,或者基于处理器所配置的并行处理能力
来同时对多个语段产生多个媒体数据包。
[0110] 参见图3C,图3C是本发明实施例提供的基于人工智能的直播方法的一个可选流程示意图,步骤102中服务器根据给定文本实时获取对应虚拟主播的音频数据,可以具体通过
步骤1021‑1023实现。
[0111] 在步骤1021中,当接收到给定文本时,服务器实时将给定文本转化为对应给定文本的词向量。
[0112] 在步骤1022中,服务器对词向量进行编码处理以及解码处理,得到对应词向量的音频特征。
[0113] 在步骤1023中,服务器对音频特征进行合成处理,得到对应虚拟主播的音频数据。
[0114] 在一些实施例中,可以构建一个端到端的深度学习文本转语音模型,直接用深度学习的方法训练出一个文本转语音模型,模型训练完成后,针对给定文本,模型就能生成对
应的音频,服务器中的文本转语音请求模块可以将接收到的给定文本实时转化为对应给定
文本的词向量,对于文本转语音模型而言,需要先把文本转化为对应的词向量,这里的给定
文本可以是一句话,对给定文本进行分词,以确定对应各个词的词向量,可以通过查询字典
的方式确定词向量,使用字典下标作为字典中每一个字对应的标识,然后每一条文本就可
以通过遍历字典转化成其对应的词向量;对词向量进行编码处理得到中间语义表示,再通
过解码处理得到对应词向量的音频特征,基于各音频合成算法,对最终得到的音频特征进
行合成,得到对应虚拟主播的音频数据。
[0115] 在一些实施例中,步骤102中服务器根据给定文本实时获取对应虚拟主播的脸部特征,可以根据以下技术方案实现,根据对应给定文本的音频数据,预测虚拟主播的嘴部关
键点,并对嘴部关键点进行归一化处理,以使嘴部关键点适应于标准面部模板;对经过归一
化处理的嘴部关键点进行降维处理,得到对应虚拟主播的口型特征;对给定文本进行语义
分析,得到给定文本所表征的语义;根据给定文本所表征的语义,确定与语义匹配的脸部表
情特征,并结合口型特征以及脸部表情特征形成对应虚拟主播的脸部特征。
[0116] 在一些实施例中,根据给定文本的对应的音频数据,预测口型的表达,这里使用谱特征来表示音频,为了计算口型表示,需要从面部提取嘴部关键点,并做归一化处理从而不
受图像大小、面部位置、面部旋转、面部大小的影响,归一化在此过程中非常重要,因为,它
能使生成的嘴部关键点兼容于任何图像,从而归一化处理后的嘴部关键点能够适应于标准
面部模板,这里的标准面部模板是虚拟主播的标准面部模板,不同的虚拟主播角色对应于
不同的标准面部模板,虚拟主播可以为动物,则标准面部模板可以是动物头像,虚拟主播也
可以是卡通人物,则标准面部模板可以是卡通人物头像,对归一化处理过的嘴部关键点进
行降维处理,对嘴部关键点特征去相关,只使用最重要部分作为口型的表征,对于脸部特征
而言,除了口型特征还有脸部表情特征,口型特征是和音频数据相关,而脸部表情特征则是
和给定文本相关,对给定文本进行语义分析,对于给定文本所表征的语义而言,虚拟主播会
呈现适应于语义的脸部表情特征,结合口型特征和脸部表情特征形成虚拟主播的脸部特
征。
[0117] 在一些实施例中,在对嘴部关键点进行归一化处理之前,可以通过以下技术方案获取标准面部模板,向区块链网络发送查询交易,其中,查询交易指示了用于查询区块链网
络中账本的智能合约,以使区块链网络中的共识节点通过执行智能合约的方式来查询账
本,得到账本中存储的标准面部模板;或者根据标准面部模板的标识,从标准面部模板数据
库中查询标识对应的标准面部模板,并确定查询到的标准面部模板的哈希值;从区块链网
络中查询标识对应的哈希值,当所查询到的哈希值与确定的哈希值一致时,确定查询到的
标准面部模板未经篡改。
[0118] 在一些实施例中,任意一个用户都可以通过直播客户端向区块链网络或者标准面部模板数据库提交标准面部模板,向区块链网络提交标准面部模板可以是通过查询交易的
方式实现,查询交易通过执行对应查询的智能合约来查询共识节点中的账本,得到账本中
存储的标准面部模板,除此之外,还可以从标准面部模板数据库中查询标准面部模板,查询
依据是标准面部模板的标识,标识和标准面部模板一一对应,根据唯一标识查询到标准面
模板,并确定查询到的标准面部模板的哈希值,以对查询到的标准面部模板进行哈希验证,
当查询到的哈希值和预置的确定的哈希值一致时,则查询到的标准面部模板未经篡改,从
而,基于此标准面部模板对嘴部关键点进行归一化处理。
[0119] 在一些实施例中,用户上传的一些标准面部模板会存在暴力等不符合社会公序良俗的元素,因此,共识节点将调用对应合规性检查的智能合约来对标准面部模板进行合规
性检查,智能合约可以采用人工智能模型来进行合规性检查,根据合规来训练人工智能模
型,通过执行智能合约,以使用人工智能模型对输入的标准面部模板进行识别,以识别出不
符合合规的标准面部模板,对于不符合合规的标准面部模板,将不会存储到区块链网络上。
[0120] 在一些实施例中,在形成至少一个媒体数据包之前,还可以执行以下技术方案,将给定文本发送至区块链网络,以使区块链网络中的共识节点通过执行智能合约的方式来对
给定文本进行合规性检查;当接收到超过预设数目的共识节点返回的合规性确认时,确定
给定文本通过合规性检查。
[0121] 在一些实施例中,除了对标准面部模板进行合规性检查之外,还可以对给定文本进行合规性检查,在形成媒体数据包之前,将给定文本发送到区块链网络进行合规性检查,
通过共识节点对给定文本进行共识验证,该共识验证基于合规来进行,以实现合规性检查,
当接收到超出数目阈值个共识节点返回的共识验证确认通过时,才确定给定位本通过合规
性检查,可以进行后续处理,为了避免合规检查的延迟,可以在接收到一个共识节点的确认
时就进行后续处理,当在后续的等待时间内没有接收到足够数量的共识节点返回的确认,
则终止处理并返回原因,这里终止处理的时机可以出现在形成媒体数据包的时候,也可以
是在进行特效渲染处理的时候,以及进行视频推流的时候,原因可以是对给定文本的合规
性检查不通过,要求客户端重新提交给定文本。
[0122] 参见图3D,基于图3B,图3D是本发明实施例提供的基于人工智能的直播方法的一个可选流程示意图,步骤102中形成至少一个媒体数据包并继续实时处理下一个给定文本,
可以具体通过步骤1024‑1026实现。
[0123] 在步骤1024中,服务器将给定文本划分为至少两个语段,并基于至少两个语段,将音频数据划分为与至少两个语段分别匹配的音频数据。
[0124] 在步骤1025中,基于至少两个语段,服务器对脸部特征进行分类,得到分别匹配于至少两个语段的脸部特征。
[0125] 在步骤1026中,服务器将对应于同一语段的脸部特征和音频数据组合,得到对应语段的媒体数据包。
[0126] 在一些实施例中,将给定文本划分为至少两个语段,例如,针对给定文本“大家好,我是主播小A”而言,可以将其划分为两个语段“大家好”和“我是主播小A”,或者三个语段
“大家好”“我是”和“主播小A”,对应于不同的语段,基于语段,将“大家好,我是主播小A”的
音频数据划分为两个部分“大家好”的音频数据和“我是主播小A”的音频数据,同样是基于
划分后得到的语段,对脸部特征进行分类,分别得到对应“大家好”的脸部特征和对应“我是
主播小A”的脸部特征,“大家好”的脸部特征中包括对应“大家好”的口型特征和脸部表情特
征,“我是主播小A”的脸部特征中包括对应“我是主播小A”的口型特征和脸部表情特征,将
对应“大家好”的脸部特征和音频数据组合成对应“大家好”的媒体数据包。
[0127] 在步骤103中,服务器实时对媒体数据包中的脸部特征进行特效渲染处理,得到对应虚拟主播的图像帧集合,并结合音频数据形成对应媒体数据包的推流数据包,并继续实
时处理下一个媒体数据包。
[0128] 在一些实施例中,在步骤103中,服务器实时对媒体数据包中的脸部特征进行特效渲染处理,得到对应虚拟主播的图像帧集合,并结合音频数据形成对应媒体数据包的推流
数据包,并继续实时处理下一个媒体数据包,通过渲染模块实现,这里的实时处理下一个媒
体数据包意味着,渲染模块不会等待完成整个推流过程之后才处理下一个媒体数据包,即
只要处理完一个媒体数据包之后,就开始处理下一个媒体数据包,媒体数据包可以是针对
同一场直播的,接收到的不同媒体数据包也可以是针对不同直播的,对应形成的推流数据
包中会携带有直播标识,不同直播对应有不同直播标识,进一步的,渲染模块基于处理器所
配置的处理能力,该模块自身也会具有对应于处理器配置的处理能力的并行处理能力,即
同时处理多个媒体数据包,这多个媒体数据包可以是针对不同直播的媒体数据包。
[0129] 参见图3E,基于图3B,图3E是本发明实施例提供的基于人工智能的直播方法的一个可选流程示意图,步骤103中服务器实时对媒体数据包中的脸部特征进行特效渲染处理,
得到对应虚拟主播的图像帧集合,可以具体通过步骤1031‑1033实现。
[0130] 在步骤1031中,服务器提取媒体数据包中的音频数据,将媒体数据包中的音频数据的播放时长以及帧率参数的乘积确定为对应音频数据的图像帧数目。
[0131] 在步骤1032中,服务器提取媒体数据包中的脸部特征,并对脸部特征进行特效渲染处理,得到包括脸部特征的脸部图像。
[0132] 在步骤1033中,服务器对脸部图像和背景图像进行合成处理,得到对应虚拟主播的图像帧,并将合成得到的多个图像帧组成为对应音频数据的图像帧集合,其中,图像帧集
合中图像帧的数目为图像帧数目。
[0133] 在一些实施例中,服务器中的渲染模块提取媒体数据包中的音频数据,将媒体数据包中的音频数据的播放时长以及帧率参数的乘积确定为对应音频数据的图像帧数目;提
取媒体数据包中的脸部特征,并对脸部特征进行特效渲染处理,得到包括脸部特征的脸部
图像;对脸部图像和背景图像进行合成处理,得到对应虚拟主播的图像帧,并将合成得到的
多个图像帧组成为对应音频数据的图像帧集合,其中,图像帧集合中图像帧的数目为图像
帧数目。
[0134] 在一些实施例中,媒体数据包中具有相互匹配的音频数据和脸部特征,渲染模块负责基于脸部特征生成图像帧集合,图像帧集合中的图像帧集合中图像帧的数目和对应的
音频数据的长度相关,例如,音频数据的长度为1秒,帧率是每秒25帧,则对应该音频数据所
在的媒体数据包中的图像帧集合中的图像帧的数目为25帧。图像帧的生成过程主要是对脸
部特征进行特效渲染处理,使得到的脸部图像上能够表征出对应的脸部特征,这里的脸部
特征包括口型特征和脸部表情特征,例如,对于“大家好”这个语段所对应的媒体数据包,其
所得到的脸部图像上的口型是对应于“大家好”的口型,其所得到的脸部图像上的表情是对
应于“大家好”的表情,且这里的口型特征可以是适应于标准面部模板的,标准面部模板包
括真实人物面部模板、卡通人物面部模板、动物面部模板或者图形模板,在虚拟直播中,可
以让一个普通的长方体开口说话进行直播,将脸部图像和背景图像进行合成,则得到了虚
拟主播的图像帧,在对脸部特征进行特效渲染处理的过程中会生成多个脸部图像,从而和
多个背景图像合成形成多个图像帧,多个图像帧组成了图像帧集合,这里的脸部图像的数
目、背景图像的数目以及图像帧的数目一致。
[0135] 在一些实施例中,上述提取媒体数据包中的脸部特征,并对脸部特征进行特效渲染处理,得到对应脸部特征的脸部图像的过程可以通过以下技术方案实现,将脸部特征转
化为对应脸部特征的特征向量;从对应脸部特征的特征向量中,提取与图像帧数目相同数
目的特征向量;基于提取的特征向量进行特效渲染处理,得到与图像帧数目相同数目的脸
部图像。
[0136] 在一些实施例中,图像帧集合中图像帧的数目是根据音频数据所确定的,音频数据的长度为1秒,帧率是每秒25帧,则对应该音频数据所在的媒体数据包中的图像帧集合中
的图像帧的数目为25帧,即意味着需要合成25帧图像帧,即意味着需要得到25个脸部图像,
这里,通过特征向量来对脸部特征进行数学上的表达,将1秒音频数据所在的媒体数据包中
的脸部特征全部转化为特征向量,不同的特征向量可以表征不同的口型,因为口型变化是
一个动态的过程,即便只是1秒的音频数据,其口型变化也是一个动态的过程,其中,需要25
帧图像来呈现该动态过程,因而,从特征向量中提取与图像帧数目相同数目的特征向量,基
于提取的特征向量进行特效渲染处理,得到与图像帧数目相同数目的脸部图像。
[0137] 在一些实施例中,上述步骤中对脸部图像和背景图像进行合成处理的过程可以通过以下技术方案实现,对媒体数据包进行解析处理,得到媒体数据包中所包含的音频数据,
并确定对应音频数据的语段;基于语段所表征的语义,提取对应语义的背景图像;其中,背
景图像中包括虚拟主播的模型、动作以及所处的直播场景;将脸部图像与背景图像进行合
成,得到虚拟主播的图像帧,其中,虚拟主播处于直播场景中、且具备动作以及脸部图像中
相应的脸部表情和口型。
[0138] 在一些实施例中,在进行合成的过程中,需要确定脸部图像所适应的背景图像,背景图像中包括虚拟主播的模型、动作以及所处的直播场景,虚拟主播的模型可以是三维模
型,不同的虚拟主播模型对应了不同的体态,以及不同的整体形象,背景图像中的动作是虚
拟主播会呈现的动作,例如摆手或者跳舞等动作,直播场景是虚拟主播所处的环境,例如可
以是在野外、森林或者是具有特定环境的房间等等,背景图像的确定也和语义相关,媒体数
据包中的音频数据或者脸部特征是与语段一一对应的,每个语段会有其表征的语义,基于
语义来选择适应于该语义的背景图像,将脸部图像和背景图像合成之后,得到的虚拟主播
的图像帧中可以呈现以下信息,虚拟主播处于直播场景中、且虚拟主播具备动作以及脸部
图像中相应的脸部表情和口型。
[0139] 在一些实施例中,上述提取对应语义的背景图像的过程,可以通过以下技术方案实现,向区块链网络发送查询交易,其中,查询交易指示了用于查询区块链网络中账本的智
能合约以及对应语义的查询参数,以使区块链网络中的共识节点通过执行智能合约的方式
来查询账本,得到账本中符合查询参数的背景图像;或者根据语义从背景图像数据库中查
询语义对应的背景图像,并确定查询到的背景图像的哈希值;从区块链网络中查询语义对
应的哈希值,当所查询到的哈希值与确定的哈希值一致时,确定查询到的背景图像未经篡
改。
[0140] 在一些实施例中,背景图像可以由专门的美术内容提供商提供,或者由直播发起用户提供,可以将背景图像上传到区块链网络中,使得背景图像不易被篡改,防止在进行直
播生成的过程中,所合成出的图像帧中出现有违社会工序良俗的内容,或者故意损害直播
发起用户的内容,因而,获取背景图像的过程可以通过向区块链网络发起查询交易来实现,
查询交易中指示了用于查询区块链网络中账本的智能合约以及对应语义的查询参数,查询
参数可以是背景图像的标识,或者是背景图像的上传者信息等,通过执行对应于查询交易
的智能合约可以得到账本中符合查询参数的背景图像,在另一种实施方式中,根据语义从
背景图像数据库中查询背景图像以及背景图像的哈希值,对查询到的哈希值进行哈希验
证,将背景图像的哈希值和区块链网络中存储的语义的哈希值和背景图像的哈希值进行比
对,比对结果一致,则表征查询到的背景图像未被篡改。
[0141] 在一些实施例中,在得到图像帧集合后,可以确定图像帧集合中的图像帧的顺序,通过以下技术方案实现,确定所述音频数据所表征的音素顺序;基于所述音素顺序,确定包
含所述口型特征的图像帧的顺序,以使所述图像帧的顺序所表征的口型变化和所述音素顺
序相匹配。
[0142] 在一些实施例中,图像帧集合中的图像帧本身是不具备顺序属性的,但是图像帧的呈现是具备顺序的,从口型的角度而言,口型变化和音频的输出应该保持一致,否则将会
出现口型和音频不一致的情形,因而,确定音频数据中的音素顺序,基于音素顺序确定口型
特征的顺序,由于口型特征与图像帧对应,因而,可以确定包含口型特征的图像帧的顺序,
对每个图像帧进行顺序编号,使图像帧的顺序所表征的口型变化和音素顺序相匹配,于是,
在输出音频时,按照编号的顺序来呈现图像帧。
[0143] 在一些实施例中,除了将口型变化考虑到图像帧的排序中,还可以将背景图像中的动作也考虑到图像帧的排序中,对于同一个媒体数据包的背景图像而言,同一个媒体数
据包的背景图像可以表征同一组动作,而一组动作的呈现也可以是动态的过程,将一组动
作的背景图像和包含口型特征的脸部图像均按照音素顺序进行排序,使得口型变化和动作
的呈现均符合音频数据的输出,使得图像帧和音频数据匹配且同步。
[0144] 在一些实施例中,排序过程可以还可以发生在其他阶段,这里的排序是针对图像帧进行的,实际上排序过程还可以通过文本转语音请求模块来实现,在获得媒体数据包时,
对脸部特征中的口型特征进行排序,使得口型特征和音素一一对应,口型特征所表征的口
型变化和音素输出顺序匹配。
[0145] 在步骤104中,服务器实时提取推流数据包中的图像帧集合与音频数据。
[0146] 在步骤105中,服务器将图像帧集合与音频数据推送至客户端。
[0147] 在步骤106中,客户端根据接收的图像帧集合实时呈现虚拟主播的图像帧,以及对应的音频数据。
[0148] 在一些实施例中,服务器中的视频推流模块可以直接将提取到的图像帧集合和音频数据推送至客户端进行直播,还可以响应于客户端发送的直播请求,为直播请求分配流
媒体播放地址,并将流媒体播放地址返回至客户端。
[0149] 在一些实施例中,在客户端向服务器发送包括给定文本的直播请求时,可以由服务器为客户端分配流媒体服务器地址,使得客户端不断从该地址拉取直播视频,服务器选
择合适的流媒体服务器地址发送给直播客户端,流媒体服务器地址的选择方式可以是固定
的,也可以是预分配选择范围等方式。
[0150] 在一些实施例中,步骤105和106中服务器将图像帧集合与音频数据推送至客户端,客户端根据接收的图像帧集合实时呈现虚拟主播的图像帧,以及对应的音频数据,可以
通过以下技术方案实现,将图像帧集合与音频数据推送至对应流媒体播放地址的流媒体接
口,以使客户端基于流媒体播放地址拉取图像帧集合与音频数据,通过客户端的播放界面
实时呈现图像帧集合中的图像帧,并同步播放音频数据。
[0151] 在一些实施例中,在直播的过程中,客户端可以接收到来自于直播观看用户的互动文本,这里的互动文本是指在直播过程中和虚拟主播的互动,例如,对于美食直播而言,
互动文本的内容可以是询问餐厅的地址或者菜品,这时,客户端或者服务器查询与互动文
本匹配的形象资源和话术资源,这里的话术资源可以是预先配置好的,可以用于回答观看
用户提问的话术,以使得直播观看用户可以获得及时的响应,同时,这里的话术可以设定快
捷回复话术,快捷回复话术可以实时响应互动文本,在通过快捷回复话术响应互动文本的
同时,客户端可以获取直播内容提供商上传的具体用于回答互动文本的具备实质性内容的
给定文本,或者由服务器直接根据互动文本在网上爬取具体用于回答互动文本的具备实质
性内容的给定文本,对话术资源进行语音合成处理,并结合形象资源,确定用于响应互动文
本的音频数据以及脸部特征,后续的处理过程和本发明实施例提供的基于人工智能的直播
方法相同。
[0152] 在一些实施例中,还可以对虚拟主播的话术资源和形象资源进行配置,接收美术资源提供方上传的虚拟主播的形象资源,并创建虚拟主播的话术资源;其中,形象资源包括
以下至少之一:场景资源,模型资源和动作资源;当接收到新虚拟主播的形象资源时,为接
收的形象资源分配新版本标识,并生成对应新版本的配置信息,配置信息包括以下至少之
一:场景资源配置项目,模型资源配置项目,动作资源配置项目和话术资源配置项目;当接
收到虚拟主播的形象资源是已有虚拟主播的更新资源时,更新已有虚拟主播的对应版本的
形象资源和配置信息。
[0153] 参见图4,图4是本发明实施例提供的基于人工智能的直播方法的实现架构图,文本转语音请求模块基于给定文本获取到脸部特征与音频数据(对应于图4中的步骤101‑
102,在步骤101中,服务器接收来自于客户端的用于供虚拟主播表演的给定文本,在步骤
102中,服务器根据给定文本实时获取对应虚拟主播的音频数据和脸部特征,以形成至少一
个媒体数据包并继续实时处理下一个给定文本),渲染模块对每次获取到的脸部特征通过
三维渲染处理(对应于图4中的步骤103,在步骤103中,服务器实时对媒体数据包中的脸部
特征进行特效渲染处理,得到对应虚拟主播的图像帧集合,并结合音频数据形成对应媒体
数据包的推流数据包,并继续实时处理下一个媒体数据包),获取虚拟角色的脸部图像,视
频推流模块将每次获取到的脸部图像与音频数据实时合成为虚拟视频推送给客户端(对应
于图4中的步骤104和105,在步骤104中,服务器实时提取推流数据包中的图像帧集合与音
频数据,在步骤105中,服务器将图像帧集合与音频数据推送至客户端),从而在步骤106中,
客户端根据接收的图像帧集合实时呈现虚拟主播的图像帧,以及对应的音频数据。文本转
语音请求模块、渲染模块以及视频推流模块相互独立并行协助的方式,能够将文本数据自
动实时合成为视频推送到客户端。这里三个模块是相互独立并行的,相互独立并行表征文
本转语音请求模块对第一个给定文本处理完毕后,将得到的第一个媒体数据包发送至渲染
模块,且继续对第二个给定文本进行处理以得到第二个媒体数据包,渲染模块对接收到的
第一个媒体数据包进行处理生成第一个推流数据包,此时渲染模块会继续对接收到的第二
个媒体数据包进行处理以生成第二个推流数据包,即文本转语音请求模块不会等待第一个
给定文本完成全部推流过程之后再进行下一步处理,而是继续处理接收到的给定文本,渲
染模块也不会受其他模块处理进度的影响,而会继续处理其所接收到的下一个媒体数据
包。
[0154] 下面,将说明本发明实施例提供的基于人工智能的直播方法在一个实际的应用场景中的示例性应用。
[0155] 本发明实施例提供的基于人工智能的直播方法能应用到包括虚拟新闻直播、虚拟游戏解说等多个项目和产品应用中,从而有效提高直播的实时性。
[0156] 在虚拟直播的场景中,通过本发明实施例提供的基于人工智能的直播方法可以根据输入文本(给定文本),并行地获取到音频数据与图像数据,并实时推流给客户端以实现
实时直播。
[0157] 图5A‑5B是本发明实施例提供的虚拟视频直播服务的整体框架示意图,参见图5A‑5B,虚拟视频直播服务的整体框架包括直播客户端、文本转语音服务和虚拟视频推流服务,
其中虚拟视频推流服务的实现方法为本发明的主要创新所在。图5A中,直播客户端向虚拟
视频推流服务发送直播请求,直播请求中携带有给定文本,虚拟视频推流服务向文本转语
音服务请求获取音频数据和脸部特征,文本转语音服务返回音频数据和脸部特征作为响
应,虚拟视频推流服务根据获取到的响应执行本发明实施例提供的直播方法,将图像帧集
合和音频数据推送至直播客户端。图5B中,直播客户端向虚拟视频推流服务发送直播请求,
直播请求中携带有给定文本,虚拟视频推流服务将流媒体服务地址作为响应返回给客户
端,且向文本转语音服务请求获取音频数据和脸部特征,文本转语音服务返回音频数据和
脸部特征作为响应,虚拟视频推流服务根据获取到的响应执行本发明实施例提供的直播方
法,将图像帧集合和音频数据推送至流媒体服务,直播客户端从对应流媒体服务的流媒体
服务地址拉取视频。
[0158] 图6是本发明实施例提供的虚拟视频推流服务的实现框架,参见图6,虚拟视频推流服务中包括文本转语音请求模块、三维渲染模块和视频推流模块。直播客户端向虚拟视
频直播服务端发送文本请求,客户端发送的文本请求中的给定文本是直播视频的虚拟角色
将会说出的文字;文本转语音请求模块向文本转语音服务发起请求,流式获取给定文本相
对应的音频数据与口型特征,文本转语音请求模块每从文本转语音服务获取到一个包含音
频和口型特征的数据包,就将数据包推送给三维渲染模块,直到接收到文本转语音服务的
结束包时,发送结束包给三维渲染模块;三维渲染模块每获取到一个文本转语音数据包,提
取其中的口型特征进行空间上的三维渲染获取一组对应脸部图像,同时将一张脸部图像与
一张背景图像合成为一张完整的图像,得到一组完整的直播视频图像帧,并与音频数据打
包,一起推送给视频推流模块,直到接收到一个结束包时,发送结束包给视频推流模块;视
频推流模块每获取到一个三维渲染模块推送过来的数据包,提取其中的音频数据与图像帧
数据,通过快进动态图像专家组(FFMPEG,Fast Forward Moving Picture Expert Group)
工具将音频、图像帧数据同步推送给客户端,直到接收到结束包后,结束该视频的推送。
[0159] 这里,文本转语音请求模块、三维渲染模块、视频推流模块是独立运行的模块,这种相互独立地数据包并行处理方式,是实现虚拟视频实时推流的关键所在。在获取文本转
语音服务的流式数据前,需要先请求文本转语音服务以获取给定文本最终生成的音频的时
长,从而估算最终生成的直播视频时长,从文本转语音服务流式获取音频与口型特征,能够
快速获取到音频和视频数据,实现实时直播。
[0160] 三维渲染模块进行渲染的过程可以由开放图形库工具与卷积神经网络进行实现,背景图像包括人物的肢体动作以及背景环境信息,本发明实施例提供的基于人工智能的直
播方法根据给定文本确定视频长度,在渲染的过程中,从预先保存的通用背景图像中选择n
组合适的背景图像与脸部表情进行匹配合成,每一组背景图像都是一个完整的动作,n组背
景图像正好能够在视频结束时完成n个动作,这里的视频长度还和帧率相关,如果帧率为25
帧每秒,则10秒中的视频需要250帧图像。
[0161] 视频推流模块主要使用了FFMPEG工具进行视频推流,当收到第一个数据包时,进行推流初始化,并推送音频和视频,当接收到结束包时,结束推流过程,此时完成一个完整
的视频推流。
[0162] 上述文本转语音请求模块、三维渲染模块、视频推流模块所进行的处理都是十分耗时的过程,如果将这些处理用串行的方式进行实现、那么数据处理时长必将大于生成视
频的时长,无法实现虚拟视频的直播,因此,文本转语音请求模块、三维渲染模块和视频推
流模块相互独立并行协作,只要各个模块的处理时间小于视频时长,同时客户端仅需要在
发送请求后,等待一个固定延时后就能够实现虚拟视频实时直播,该固定延时等于文本转
语音请求模块获取的第一个数据传递到视频推流模块并推流成功的耗时。
[0163] 下面继续说明本发明实施例提供的基于人工智能的直播装置255的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器250的基于人工智能的直播装
置255中的软件模块可以包括:文本转语音请求模块2551,用于接收用于供虚拟主播表演的
给定文本,根据所述给定文本实时获取对应所述虚拟主播的音频数据和脸部特征,以形成
至少一个媒体数据包;渲染模块2552,用于实时对所述媒体数据包中的脸部特征进行特效
渲染处理,得到对应所述虚拟主播的图像帧集合,并结合所述音频数据形成对应所述媒体
数据包的推流数据包;视频推流模块2553,用于实时提取所述推流数据包中的图像帧集合
与音频数据,并推送至客户端,以使所述客户端根据接收的图像帧集合实时呈现所述虚拟
主播的图像帧,以及对应的音频数据。
[0164] 在一些实施例中,所述文本转语音请求模块2551,还用于:当接收到所述给定文本时,实时将所述给定文本转化为对应所述给定文本的词向量;对所述词向量进行编码处理
以及解码处理,得到对应所述词向量的音频特征;对所述音频特征进行合成处理,得到对应
所述虚拟主播的音频数据。
[0165] 在一些实施例中,所述文本转语音请求模块2551,还用于:根据对应所述给定文本的音频数据,预测所述虚拟主播的嘴部关键点,并对所述嘴部关键点进行归一化处理,以使
所述嘴部关键点适应于标准面部模板;对经过归一化处理的嘴部关键点进行降维处理,得
到对应所述虚拟主播的口型特征;对所述给定文本进行语义分析,得到所述给定文本所表
征的语义;根据所述给定文本所表征的语义,确定与所述语义匹配的脸部表情特征,并结合
所述口型特征以及所述脸部表情特征形成对应所述虚拟主播的脸部特征。
[0166] 在一些实施例中,所述文本转语音请求模块2551,还用于:向区块链网络发送查询交易,其中,所述查询交易指示了用于查询所述区块链网络中账本的智能合约,以使所述区
块链网络中的共识节点通过执行所述智能合约的方式来查询所述账本,得到所述账本中存
储的所述标准面部模板;或者根据所述标准面部模板的标识,从标准面部模板数据库中查
询所述标识对应的所述标准面部模板,并确定所述查询到的标准面部模板的哈希值;从区
块链网络中查询所述标识对应的哈希值,当所查询到的哈希值与所述确定的哈希值一致
时,确定所述查询到的标准面部模板未经篡改。
[0167] 在一些实施例中,所述文本转语音请求模块2551,还用于:将所述给定文本发送至区块链网络,以使所述区块链网络中的共识节点通过执行智能合约的方式来对所述给定文
本进行合规性检查;当接收到超过预设数目的共识节点返回的合规性确认时,确定所述给
定文本通过所述合规性检查。
[0168] 在一些实施例中,所述文本转语音请求模块2551,还用于:将所述给定文本划分为至少两个语段,并基于所述至少两个语段,将所述音频数据划分为与所述至少两个语段分
别匹配的音频数据;基于所述至少两个语段,对所述脸部特征进行分类,得到分别匹配于所
述至少两个语段的脸部特征;将对应于同一语段的脸部特征和音频数据组合,得到对应所
述语段的媒体数据包。
[0169] 在一些实施例中,所述渲染模块2552,还用于:提取所述媒体数据包中的音频数据,将所述媒体数据包中的音频数据的播放时长以及帧率参数的乘积确定为对应所述音频
数据的图像帧数目;提取所述媒体数据包中的脸部特征,并对所述脸部特征进行特效渲染
处理,得到包括所述脸部特征的脸部图像;对所述脸部图像和背景图像进行合成处理,得到
对应所述虚拟主播的图像帧,并将合成得到的多个所述图像帧组成为对应所述音频数据的
图像帧集合;其中,所述图像帧集合中图像帧的数目为所述图像帧数目。
[0170] 在一些实施例中,所述渲染模块2552,还用于:将所述脸部特征转化为对应所述脸部特征的特征向量;从对应所述脸部特征的特征向量中,提取与所述图像帧数目相同数目
的特征向量;基于所述提取的特征向量进行特效渲染处理,得到与所述图像帧数目相同数
目的脸部图像。
[0171] 在一些实施例中,所述渲染模块2552,还用于:对所述媒体数据包进行解析处理,得到所述媒体数据包中所包含的音频数据,并确定对应所述音频数据的语段;基于所述语
段所表征的语义,提取对应所述语义的背景图像;其中,所述背景图像中包括所述虚拟主播
的模型、动作以及所处的直播场景;将所述脸部图像与所述背景图像进行合成,得到所述虚
拟主播的图像帧,其中,所述虚拟主播处于所述直播场景中、且具备所述动作以及所述脸部
图像中相应的脸部表情和口型。
[0172] 在一些实施例中,所述渲染模块2552,还用于:向区块链网络发送查询交易,其中,所述查询交易指示了用于查询所述区块链网络中账本的智能合约以及对应所述语义的查
询参数,以使所述区块链网络中的共识节点通过执行所述智能合约的方式来查询所述账
本,得到所述账本中符合所述查询参数的背景图像;或者根据所述语义从背景图像数据库
中查询所述语义对应的背景图像,并确定所述查询到的背景图像的哈希值;从区块链网络
中查询所述语义对应的哈希值,当所查询到的哈希值与所述确定的哈希值一致时,确定所
述查询到的背景图像未经篡改。
[0173] 在一些实施例中,所述渲染模块2552,还用于:确定所述音频数据所表征的音素顺序;基于所述音素顺序,确定包含所述口型特征的图像帧的顺序,以使所述图像帧的顺序所
表征的口型变化和所述音素顺序相匹配。
[0174] 在一些实施例中,所述基于人工智能的直播装置255还包括:流媒体服务模块2554,用于响应于客户端发送的直播请求,为所述直播请求分配流媒体播放地址,并将所述
流媒体播放地址返回至所述客户端;所述视频推流模块2553,还用于:将所述图像帧集合与
音频数据推送至对应所述流媒体播放地址的流媒体接口,以使所述客户端基于所述流媒体
播放地址拉取所述图像帧集合与音频数据,通过所述客户端的播放界面实时呈现所述图像
帧集合中的图像帧,并同步播放所述音频数据。
[0175] 本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的方法,例如,如图
3A‑3E示出的基于人工智能的直播方法。
[0176] 在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD‑ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0177] 在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其
可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在
计算环境中使用的其它单元。
[0178] 作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper Text 
Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件
中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0179] 作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备
上执行。
[0180] 综上所述,通过本发明实施例提供的基于人工智能的直播方法,通过并行处理的方式,解决在需要耗费较大计算力用于获取音视频数据的前提下,虚拟视频实时直播的问
题,有效增强虚拟视频直播的实时性,提高直播视频流畅性且促进了人工智能在直播服务
中的发展,解放了真人直播,降低了劳动力成本。
[0181] 以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。