基于人工智能的直播方法、装置、设备及存储介质转让专利
申请号 : CN202110184746.2
文献号 : CN112995706B
文献日 : 2022-04-19
发明人 : 朱绍明
申请人 : 腾讯科技(深圳)有限公司
摘要 :
权利要求 :
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任一项所述的基于人工智能的直播方法。
说明书 :
基于人工智能的直播方法、装置、设备及存储介质
技术领域
背景技术
论、方法和技术及应用系统。
成为研究热点,视频直播技术与人工智能技术的结合可以在许多地方发挥作用,比如代替
真人进行新闻虚拟播报、代替游戏主播进行游戏虚拟解说等,具有广阔的应用前景,但是,
在虚拟视频直播技术中,音频与图像的生成需要耗费大量的计算时间,难以保证虚拟视频
直播的实时性。
发明内容
播劳动力成本。
播的图像帧;基于所述虚拟主播的图像帧和对应所述给定文本的音频数据,合成对应所述
给定文本的推流数据包;
对应任意一个所述语段的媒体数据包,并继续实时处理下一个语段,以生成对应所述下一
个语段的媒体数据包;其中,所述媒体数据包包括根据所述语段获取的音频数据和脸部特
征,且所述音频数据和所述脸部特征与所述虚拟主播对应。
基于所述虚拟主播的音频数据和脸部特征,形成至少一个媒体数据包,并继续处理下一个
所述给定文本。
口型。
的播放界面实时呈现所述图像帧集合中的图像帧,并同步播放所述音频数据。
播内容提供商上传的用于回答所述互动文本的给定文本;根据所述互动文本爬取用于回答
所述互动文本的给定文本。
附图说明
具体实施方式
做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
的情况下相互结合。
不是旨在限制本发明。
成为了人们的研究热点,发展迅速。视频直播技术与人工智能技术的结合可以在许多地方
发挥作用,比如代替真人进行新闻虚拟播报、代替游戏主播进行游戏虚拟解说等,具有广阔
的应用前景。在虚拟视频直播技术中,音频与图像的生成需要耗费大量的计算时间,为保证
虚拟视频直播的实时性,虚拟视频实时推流的实现成为影响最终直播视频质量的重要因
素,相关技术中的直播方法大都是针对已有稳定的音频、图像数据输入(如本地视频推流),
或者是能够快速获取到音频、图像数据(如摄像头获取数据)等应用场景,无法在虚拟视频
直播中得到很好应用,具体而言,上述相关技术中的技术方案在实际应用中存在以下缺陷:
过分依赖稳定的数据源,且在需要较大计算力的场景下,相关技术中的技术方案无法适用,
基于此,本发明实施例提出了一种基于人工智能的直播方法,通过并行处理的方式,解决在
需要耗费较大计算力用于获取音视频数据的前提下,虚拟视频实时直播的问题,能够有效
增强虚拟视频直播的实时性并提高直播视频流畅性。
说明本发明实施例提供的基于人工智能的直播设备的示例性应用,本发明实施例提供的设
备可以实施为服务器。下面,将说明设备实施为服务器时示例性应用。
网络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中的形象资源,以实现更加丰富的视频直
播呈现,这里,还可以将口型特征替换为脸部特征,脸部特征包括口型特征和脸部表情特
征。
户接口230。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用
于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控
制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统240。
晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理
器等。
括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输
入按钮和控件。
个或多个存储设备。
以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器250旨在
包括任意适合类型的存储器。
Universal Serial Bus)等;
接口);
括以下软件模块:文本转语音请求模块2551、渲染模块2552、视频推流模块2553和流媒体服
务模块2554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步
拆分,将在下文中说明各个模块的功能。
件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于人工智能的直播方
法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,
Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable
Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场
可编程门阵列(FPGA,Field‑Programmable Gate Array)或其他电子元件。
容提供商,这里的给定文本还可以来源于观看直播的用户,虚拟主播可以实时基于观看直
播的用户通过客户端输入的文本进行表演,另外在直播过程中,观看直播的用户可以和虚
拟主播进行互动,在虚拟主播进行直播表演的过程中,用户输入互动文本后,客户端可以根
据互动文本查询对应的话术,生成对应话术的给定文本,或者将互动文本发送至服务器,由
服务器根据互动文本查询对应的话术,生成对应话术的给定文本,使得虚拟主播根据对应
话术的给定文本进行直播表演,实现了观看用户和虚拟主播之间的互动。
文本转语音请求模块请求文本转语音服务来获取媒体数据包,文本转语音服务用于根据给
定文本实时获取对应虚拟主播的音频数据和脸部特征,以形成至少一个媒体数据包并继续
实时处理下一个给定文本,或者也可以由文本转语音模块直接根据给定文本实时获取对应
虚拟主播的音频数据和脸部特征,以形成至少一个媒体数据包并继续实时处理下一个给定
文本,这里实时处理下一个给定文本意味着,文本转语音请求模块不会等待完成整个推流
过程之后才处理下一个给定文本,即只要处理完一个给定文本之后,就开始处理下一个给
定文本,下一个给定文本可以是来自于同一个客户端的,也可以是来自于不同客户端的,给
定文本可以是针对同一场直播的,接收到的不同给定文本也可以是针对不同直播的,对应
形成的媒体数据包中会携带有直播标识,不同直播对应有不同直播标识,进一步的,文本转
语音请求模块基于处理器所配置的处理能力,该模块自身也会具有对应于处理器配置的处
理能的并行处理能力,即同时处理多个给定文本,这多个给定文本可以是来自于不同客户
端或者是针对不同直播的给定文本。在处理过程中,还可以对给定文本进行划分,在划分之
后再生成对应各个语段的媒体数据包,每处理完一个语段以生成一个媒体数据包之后,就
紧接着处理下一个语段以产生下一个媒体数据包,或者基于处理器所配置的并行处理能力
来同时对多个语段产生多个媒体数据包。
步骤1021‑1023实现。
应的音频,服务器中的文本转语音请求模块可以将接收到的给定文本实时转化为对应给定
文本的词向量,对于文本转语音模型而言,需要先把文本转化为对应的词向量,这里的给定
文本可以是一句话,对给定文本进行分词,以确定对应各个词的词向量,可以通过查询字典
的方式确定词向量,使用字典下标作为字典中每一个字对应的标识,然后每一条文本就可
以通过遍历字典转化成其对应的词向量;对词向量进行编码处理得到中间语义表示,再通
过解码处理得到对应词向量的音频特征,基于各音频合成算法,对最终得到的音频特征进
行合成,得到对应虚拟主播的音频数据。
键点,并对嘴部关键点进行归一化处理,以使嘴部关键点适应于标准面部模板;对经过归一
化处理的嘴部关键点进行降维处理,得到对应虚拟主播的口型特征;对给定文本进行语义
分析,得到给定文本所表征的语义;根据给定文本所表征的语义,确定与语义匹配的脸部表
情特征,并结合口型特征以及脸部表情特征形成对应虚拟主播的脸部特征。
受图像大小、面部位置、面部旋转、面部大小的影响,归一化在此过程中非常重要,因为,它
能使生成的嘴部关键点兼容于任何图像,从而归一化处理后的嘴部关键点能够适应于标准
面部模板,这里的标准面部模板是虚拟主播的标准面部模板,不同的虚拟主播角色对应于
不同的标准面部模板,虚拟主播可以为动物,则标准面部模板可以是动物头像,虚拟主播也
可以是卡通人物,则标准面部模板可以是卡通人物头像,对归一化处理过的嘴部关键点进
行降维处理,对嘴部关键点特征去相关,只使用最重要部分作为口型的表征,对于脸部特征
而言,除了口型特征还有脸部表情特征,口型特征是和音频数据相关,而脸部表情特征则是
和给定文本相关,对给定文本进行语义分析,对于给定文本所表征的语义而言,虚拟主播会
呈现适应于语义的脸部表情特征,结合口型特征和脸部表情特征形成虚拟主播的脸部特
征。
络中账本的智能合约,以使区块链网络中的共识节点通过执行智能合约的方式来查询账
本,得到账本中存储的标准面部模板;或者根据标准面部模板的标识,从标准面部模板数据
库中查询标识对应的标准面部模板,并确定查询到的标准面部模板的哈希值;从区块链网
络中查询标识对应的哈希值,当所查询到的哈希值与确定的哈希值一致时,确定查询到的
标准面部模板未经篡改。
方式实现,查询交易通过执行对应查询的智能合约来查询共识节点中的账本,得到账本中
存储的标准面部模板,除此之外,还可以从标准面部模板数据库中查询标准面部模板,查询
依据是标准面部模板的标识,标识和标准面部模板一一对应,根据唯一标识查询到标准面
模板,并确定查询到的标准面部模板的哈希值,以对查询到的标准面部模板进行哈希验证,
当查询到的哈希值和预置的确定的哈希值一致时,则查询到的标准面部模板未经篡改,从
而,基于此标准面部模板对嘴部关键点进行归一化处理。
性检查,智能合约可以采用人工智能模型来进行合规性检查,根据合规来训练人工智能模
型,通过执行智能合约,以使用人工智能模型对输入的标准面部模板进行识别,以识别出不
符合合规的标准面部模板,对于不符合合规的标准面部模板,将不会存储到区块链网络上。
给定文本进行合规性检查;当接收到超过预设数目的共识节点返回的合规性确认时,确定
给定文本通过合规性检查。
通过共识节点对给定文本进行共识验证,该共识验证基于合规来进行,以实现合规性检查,
当接收到超出数目阈值个共识节点返回的共识验证确认通过时,才确定给定位本通过合规
性检查,可以进行后续处理,为了避免合规检查的延迟,可以在接收到一个共识节点的确认
时就进行后续处理,当在后续的等待时间内没有接收到足够数量的共识节点返回的确认,
则终止处理并返回原因,这里终止处理的时机可以出现在形成媒体数据包的时候,也可以
是在进行特效渲染处理的时候,以及进行视频推流的时候,原因可以是对给定文本的合规
性检查不通过,要求客户端重新提交给定文本。
可以具体通过步骤1024‑1026实现。
“大家好”“我是”和“主播小A”,对应于不同的语段,基于语段,将“大家好,我是主播小A”的
音频数据划分为两个部分“大家好”的音频数据和“我是主播小A”的音频数据,同样是基于
划分后得到的语段,对脸部特征进行分类,分别得到对应“大家好”的脸部特征和对应“我是
主播小A”的脸部特征,“大家好”的脸部特征中包括对应“大家好”的口型特征和脸部表情特
征,“我是主播小A”的脸部特征中包括对应“我是主播小A”的口型特征和脸部表情特征,将
对应“大家好”的脸部特征和音频数据组合成对应“大家好”的媒体数据包。
时处理下一个媒体数据包。
数据包,并继续实时处理下一个媒体数据包,通过渲染模块实现,这里的实时处理下一个媒
体数据包意味着,渲染模块不会等待完成整个推流过程之后才处理下一个媒体数据包,即
只要处理完一个媒体数据包之后,就开始处理下一个媒体数据包,媒体数据包可以是针对
同一场直播的,接收到的不同媒体数据包也可以是针对不同直播的,对应形成的推流数据
包中会携带有直播标识,不同直播对应有不同直播标识,进一步的,渲染模块基于处理器所
配置的处理能力,该模块自身也会具有对应于处理器配置的处理能力的并行处理能力,即
同时处理多个媒体数据包,这多个媒体数据包可以是针对不同直播的媒体数据包。
得到对应虚拟主播的图像帧集合,可以具体通过步骤1031‑1033实现。
合中图像帧的数目为图像帧数目。
取媒体数据包中的脸部特征,并对脸部特征进行特效渲染处理,得到包括脸部特征的脸部
图像;对脸部图像和背景图像进行合成处理,得到对应虚拟主播的图像帧,并将合成得到的
多个图像帧组成为对应音频数据的图像帧集合,其中,图像帧集合中图像帧的数目为图像
帧数目。
音频数据的长度相关,例如,音频数据的长度为1秒,帧率是每秒25帧,则对应该音频数据所
在的媒体数据包中的图像帧集合中的图像帧的数目为25帧。图像帧的生成过程主要是对脸
部特征进行特效渲染处理,使得到的脸部图像上能够表征出对应的脸部特征,这里的脸部
特征包括口型特征和脸部表情特征,例如,对于“大家好”这个语段所对应的媒体数据包,其
所得到的脸部图像上的口型是对应于“大家好”的口型,其所得到的脸部图像上的表情是对
应于“大家好”的表情,且这里的口型特征可以是适应于标准面部模板的,标准面部模板包
括真实人物面部模板、卡通人物面部模板、动物面部模板或者图形模板,在虚拟直播中,可
以让一个普通的长方体开口说话进行直播,将脸部图像和背景图像进行合成,则得到了虚
拟主播的图像帧,在对脸部特征进行特效渲染处理的过程中会生成多个脸部图像,从而和
多个背景图像合成形成多个图像帧,多个图像帧组成了图像帧集合,这里的脸部图像的数
目、背景图像的数目以及图像帧的数目一致。
化为对应脸部特征的特征向量;从对应脸部特征的特征向量中,提取与图像帧数目相同数
目的特征向量;基于提取的特征向量进行特效渲染处理,得到与图像帧数目相同数目的脸
部图像。
的图像帧的数目为25帧,即意味着需要合成25帧图像帧,即意味着需要得到25个脸部图像,
这里,通过特征向量来对脸部特征进行数学上的表达,将1秒音频数据所在的媒体数据包中
的脸部特征全部转化为特征向量,不同的特征向量可以表征不同的口型,因为口型变化是
一个动态的过程,即便只是1秒的音频数据,其口型变化也是一个动态的过程,其中,需要25
帧图像来呈现该动态过程,因而,从特征向量中提取与图像帧数目相同数目的特征向量,基
于提取的特征向量进行特效渲染处理,得到与图像帧数目相同数目的脸部图像。
并确定对应音频数据的语段;基于语段所表征的语义,提取对应语义的背景图像;其中,背
景图像中包括虚拟主播的模型、动作以及所处的直播场景;将脸部图像与背景图像进行合
成,得到虚拟主播的图像帧,其中,虚拟主播处于直播场景中、且具备动作以及脸部图像中
相应的脸部表情和口型。
型,不同的虚拟主播模型对应了不同的体态,以及不同的整体形象,背景图像中的动作是虚
拟主播会呈现的动作,例如摆手或者跳舞等动作,直播场景是虚拟主播所处的环境,例如可
以是在野外、森林或者是具有特定环境的房间等等,背景图像的确定也和语义相关,媒体数
据包中的音频数据或者脸部特征是与语段一一对应的,每个语段会有其表征的语义,基于
语义来选择适应于该语义的背景图像,将脸部图像和背景图像合成之后,得到的虚拟主播
的图像帧中可以呈现以下信息,虚拟主播处于直播场景中、且虚拟主播具备动作以及脸部
图像中相应的脸部表情和口型。
能合约以及对应语义的查询参数,以使区块链网络中的共识节点通过执行智能合约的方式
来查询账本,得到账本中符合查询参数的背景图像;或者根据语义从背景图像数据库中查
询语义对应的背景图像,并确定查询到的背景图像的哈希值;从区块链网络中查询语义对
应的哈希值,当所查询到的哈希值与确定的哈希值一致时,确定查询到的背景图像未经篡
改。
播生成的过程中,所合成出的图像帧中出现有违社会工序良俗的内容,或者故意损害直播
发起用户的内容,因而,获取背景图像的过程可以通过向区块链网络发起查询交易来实现,
查询交易中指示了用于查询区块链网络中账本的智能合约以及对应语义的查询参数,查询
参数可以是背景图像的标识,或者是背景图像的上传者信息等,通过执行对应于查询交易
的智能合约可以得到账本中符合查询参数的背景图像,在另一种实施方式中,根据语义从
背景图像数据库中查询背景图像以及背景图像的哈希值,对查询到的哈希值进行哈希验
证,将背景图像的哈希值和区块链网络中存储的语义的哈希值和背景图像的哈希值进行比
对,比对结果一致,则表征查询到的背景图像未被篡改。
含所述口型特征的图像帧的顺序,以使所述图像帧的顺序所表征的口型变化和所述音素顺
序相匹配。
出现口型和音频不一致的情形,因而,确定音频数据中的音素顺序,基于音素顺序确定口型
特征的顺序,由于口型特征与图像帧对应,因而,可以确定包含口型特征的图像帧的顺序,
对每个图像帧进行顺序编号,使图像帧的顺序所表征的口型变化和音素顺序相匹配,于是,
在输出音频时,按照编号的顺序来呈现图像帧。
据包的背景图像可以表征同一组动作,而一组动作的呈现也可以是动态的过程,将一组动
作的背景图像和包含口型特征的脸部图像均按照音素顺序进行排序,使得口型变化和动作
的呈现均符合音频数据的输出,使得图像帧和音频数据匹配且同步。
对脸部特征中的口型特征进行排序,使得口型特征和音素一一对应,口型特征所表征的口
型变化和音素输出顺序匹配。
媒体播放地址,并将流媒体播放地址返回至客户端。
择合适的流媒体服务器地址发送给直播客户端,流媒体服务器地址的选择方式可以是固定
的,也可以是预分配选择范围等方式。
通过以下技术方案实现,将图像帧集合与音频数据推送至对应流媒体播放地址的流媒体接
口,以使客户端基于流媒体播放地址拉取图像帧集合与音频数据,通过客户端的播放界面
实时呈现图像帧集合中的图像帧,并同步播放音频数据。
互动文本的内容可以是询问餐厅的地址或者菜品,这时,客户端或者服务器查询与互动文
本匹配的形象资源和话术资源,这里的话术资源可以是预先配置好的,可以用于回答观看
用户提问的话术,以使得直播观看用户可以获得及时的响应,同时,这里的话术可以设定快
捷回复话术,快捷回复话术可以实时响应互动文本,在通过快捷回复话术响应互动文本的
同时,客户端可以获取直播内容提供商上传的具体用于回答互动文本的具备实质性内容的
给定文本,或者由服务器直接根据互动文本在网上爬取具体用于回答互动文本的具备实质
性内容的给定文本,对话术资源进行语音合成处理,并结合形象资源,确定用于响应互动文
本的音频数据以及脸部特征,后续的处理过程和本发明实施例提供的基于人工智能的直播
方法相同。
以下至少之一:场景资源,模型资源和动作资源;当接收到新虚拟主播的形象资源时,为接
收的形象资源分配新版本标识,并生成对应新版本的配置信息,配置信息包括以下至少之
一:场景资源配置项目,模型资源配置项目,动作资源配置项目和话术资源配置项目;当接
收到虚拟主播的形象资源是已有虚拟主播的更新资源时,更新已有虚拟主播的对应版本的
形象资源和配置信息。
102,在步骤101中,服务器接收来自于客户端的用于供虚拟主播表演的给定文本,在步骤
102中,服务器根据给定文本实时获取对应虚拟主播的音频数据和脸部特征,以形成至少一
个媒体数据包并继续实时处理下一个给定文本),渲染模块对每次获取到的脸部特征通过
三维渲染处理(对应于图4中的步骤103,在步骤103中,服务器实时对媒体数据包中的脸部
特征进行特效渲染处理,得到对应虚拟主播的图像帧集合,并结合音频数据形成对应媒体
数据包的推流数据包,并继续实时处理下一个媒体数据包),获取虚拟角色的脸部图像,视
频推流模块将每次获取到的脸部图像与音频数据实时合成为虚拟视频推送给客户端(对应
于图4中的步骤104和105,在步骤104中,服务器实时提取推流数据包中的图像帧集合与音
频数据,在步骤105中,服务器将图像帧集合与音频数据推送至客户端),从而在步骤106中,
客户端根据接收的图像帧集合实时呈现虚拟主播的图像帧,以及对应的音频数据。文本转
语音请求模块、渲染模块以及视频推流模块相互独立并行协助的方式,能够将文本数据自
动实时合成为视频推送到客户端。这里三个模块是相互独立并行的,相互独立并行表征文
本转语音请求模块对第一个给定文本处理完毕后,将得到的第一个媒体数据包发送至渲染
模块,且继续对第二个给定文本进行处理以得到第二个媒体数据包,渲染模块对接收到的
第一个媒体数据包进行处理生成第一个推流数据包,此时渲染模块会继续对接收到的第二
个媒体数据包进行处理以生成第二个推流数据包,即文本转语音请求模块不会等待第一个
给定文本完成全部推流过程之后再进行下一步处理,而是继续处理接收到的给定文本,渲
染模块也不会受其他模块处理进度的影响,而会继续处理其所接收到的下一个媒体数据
包。
实时直播。
其中虚拟视频推流服务的实现方法为本发明的主要创新所在。图5A中,直播客户端向虚拟
视频推流服务发送直播请求,直播请求中携带有给定文本,虚拟视频推流服务向文本转语
音服务请求获取音频数据和脸部特征,文本转语音服务返回音频数据和脸部特征作为响
应,虚拟视频推流服务根据获取到的响应执行本发明实施例提供的直播方法,将图像帧集
合和音频数据推送至直播客户端。图5B中,直播客户端向虚拟视频推流服务发送直播请求,
直播请求中携带有给定文本,虚拟视频推流服务将流媒体服务地址作为响应返回给客户
端,且向文本转语音服务请求获取音频数据和脸部特征,文本转语音服务返回音频数据和
脸部特征作为响应,虚拟视频推流服务根据获取到的响应执行本发明实施例提供的直播方
法,将图像帧集合和音频数据推送至流媒体服务,直播客户端从对应流媒体服务的流媒体
服务地址拉取视频。
频直播服务端发送文本请求,客户端发送的文本请求中的给定文本是直播视频的虚拟角色
将会说出的文字;文本转语音请求模块向文本转语音服务发起请求,流式获取给定文本相
对应的音频数据与口型特征,文本转语音请求模块每从文本转语音服务获取到一个包含音
频和口型特征的数据包,就将数据包推送给三维渲染模块,直到接收到文本转语音服务的
结束包时,发送结束包给三维渲染模块;三维渲染模块每获取到一个文本转语音数据包,提
取其中的口型特征进行空间上的三维渲染获取一组对应脸部图像,同时将一张脸部图像与
一张背景图像合成为一张完整的图像,得到一组完整的直播视频图像帧,并与音频数据打
包,一起推送给视频推流模块,直到接收到一个结束包时,发送结束包给视频推流模块;视
频推流模块每获取到一个三维渲染模块推送过来的数据包,提取其中的音频数据与图像帧
数据,通过快进动态图像专家组(FFMPEG,Fast Forward Moving Picture Expert Group)
工具将音频、图像帧数据同步推送给客户端,直到接收到结束包后,结束该视频的推送。
语音服务的流式数据前,需要先请求文本转语音服务以获取给定文本最终生成的音频的时
长,从而估算最终生成的直播视频时长,从文本转语音服务流式获取音频与口型特征,能够
快速获取到音频和视频数据,实现实时直播。
播方法根据给定文本确定视频长度,在渲染的过程中,从预先保存的通用背景图像中选择n
组合适的背景图像与脸部表情进行匹配合成,每一组背景图像都是一个完整的动作,n组背
景图像正好能够在视频结束时完成n个动作,这里的视频长度还和帧率相关,如果帧率为25
帧每秒,则10秒中的视频需要250帧图像。
的视频推流。
频的时长,无法实现虚拟视频的直播,因此,文本转语音请求模块、三维渲染模块和视频推
流模块相互独立并行协作,只要各个模块的处理时间小于视频时长,同时客户端仅需要在
发送请求后,等待一个固定延时后就能够实现虚拟视频实时直播,该固定延时等于文本转
语音请求模块获取的第一个数据传递到视频推流模块并推流成功的耗时。
置255中的软件模块可以包括:文本转语音请求模块2551,用于接收用于供虚拟主播表演的
给定文本,根据所述给定文本实时获取对应所述虚拟主播的音频数据和脸部特征,以形成
至少一个媒体数据包;渲染模块2552,用于实时对所述媒体数据包中的脸部特征进行特效
渲染处理,得到对应所述虚拟主播的图像帧集合,并结合所述音频数据形成对应所述媒体
数据包的推流数据包;视频推流模块2553,用于实时提取所述推流数据包中的图像帧集合
与音频数据,并推送至客户端,以使所述客户端根据接收的图像帧集合实时呈现所述虚拟
主播的图像帧,以及对应的音频数据。
以及解码处理,得到对应所述词向量的音频特征;对所述音频特征进行合成处理,得到对应
所述虚拟主播的音频数据。
所述嘴部关键点适应于标准面部模板;对经过归一化处理的嘴部关键点进行降维处理,得
到对应所述虚拟主播的口型特征;对所述给定文本进行语义分析,得到所述给定文本所表
征的语义;根据所述给定文本所表征的语义,确定与所述语义匹配的脸部表情特征,并结合
所述口型特征以及所述脸部表情特征形成对应所述虚拟主播的脸部特征。
块链网络中的共识节点通过执行所述智能合约的方式来查询所述账本,得到所述账本中存
储的所述标准面部模板;或者根据所述标准面部模板的标识,从标准面部模板数据库中查
询所述标识对应的所述标准面部模板,并确定所述查询到的标准面部模板的哈希值;从区
块链网络中查询所述标识对应的哈希值,当所查询到的哈希值与所述确定的哈希值一致
时,确定所述查询到的标准面部模板未经篡改。
本进行合规性检查;当接收到超过预设数目的共识节点返回的合规性确认时,确定所述给
定文本通过所述合规性检查。
别匹配的音频数据;基于所述至少两个语段,对所述脸部特征进行分类,得到分别匹配于所
述至少两个语段的脸部特征;将对应于同一语段的脸部特征和音频数据组合,得到对应所
述语段的媒体数据包。
数据的图像帧数目;提取所述媒体数据包中的脸部特征,并对所述脸部特征进行特效渲染
处理,得到包括所述脸部特征的脸部图像;对所述脸部图像和背景图像进行合成处理,得到
对应所述虚拟主播的图像帧,并将合成得到的多个所述图像帧组成为对应所述音频数据的
图像帧集合;其中,所述图像帧集合中图像帧的数目为所述图像帧数目。
的特征向量;基于所述提取的特征向量进行特效渲染处理,得到与所述图像帧数目相同数
目的脸部图像。
段所表征的语义,提取对应所述语义的背景图像;其中,所述背景图像中包括所述虚拟主播
的模型、动作以及所处的直播场景;将所述脸部图像与所述背景图像进行合成,得到所述虚
拟主播的图像帧,其中,所述虚拟主播处于所述直播场景中、且具备所述动作以及所述脸部
图像中相应的脸部表情和口型。
询参数,以使所述区块链网络中的共识节点通过执行所述智能合约的方式来查询所述账
本,得到所述账本中符合所述查询参数的背景图像;或者根据所述语义从背景图像数据库
中查询所述语义对应的背景图像,并确定所述查询到的背景图像的哈希值;从区块链网络
中查询所述语义对应的哈希值,当所查询到的哈希值与所述确定的哈希值一致时,确定所
述查询到的背景图像未经篡改。
表征的口型变化和所述音素顺序相匹配。
流媒体播放地址返回至所述客户端;所述视频推流模块2553,还用于:将所述图像帧集合与
音频数据推送至对应所述流媒体播放地址的流媒体接口,以使所述客户端基于所述流媒体
播放地址拉取所述图像帧集合与音频数据,通过所述客户端的播放界面实时呈现所述图像
帧集合中的图像帧,并同步播放所述音频数据。
3A‑3E示出的基于人工智能的直播方法。
可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在
计算环境中使用的其它单元。
Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件
中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
上执行。
题,有效增强虚拟视频直播的实时性,提高直播视频流畅性且促进了人工智能在直播服务
中的发展,解放了真人直播,降低了劳动力成本。